MIGO增强(扩展字段,屏幕增强字段,常规保存增强)

1.MIGO前台增强:

1.SE18找到增强点:MB_GOODSMOVEMENT

 2.找到相应的BADI:右键创建实施

3.找到重写的方法

  METHOD if_ex_mb_document_badi~mb_document_before_update.DATA:lv_stat TYPE c,lv_type TYPE bapi_mtype,lv_msg  TYPE bapi_msg.DATA:lv_message TYPE string.IF sy-tcode = 'MIGO'.LOOP AT xmseg ASSIGNING FIELD-SYMBOL(<lfs_mseg>).CALL FUNCTION 'ZMM_STATEMENT_SRM'EXPORTINGmblnr   = <lfs_mseg>-mblnrgjahr   = <lfs_mseg>-gjahrzeile   = <lfs_mseg>-zeileIMPORTINGev_stat = lv_statev_type = lv_typeev_msg  = lv_msg.IF lv_stat = 1.lv_message = '物料凭证' && <lfs_mseg>-mblnr && '行项目' &&  <lfs_mseg>-zeile &&  '已对账不允许原单退货,请通过采购退货订单退货!' .MESSAGE lv_message TYPE 'E'.ELSE.CONTINUE.ENDIF.ENDLOOP.ENDIF.
ENDMETHOD.

2.MIGO 三代增强(BAPI会走这里,上面的那个增强BAPI不会走):

1.SE19:创建BADI实施:

  METHOD if_ex_mb_migo_badi~post_document.DATA:lv_message TYPE string.FIELD-SYMBOLS: <lfs_objnr_all> TYPE ANY TABLE.DATA lt_ripw0_t TYPE STANDARD TABLE OF ripw0 WITH NON-UNIQUE SORTED KEY uii COMPONENTS uii.ASSIGN ('(SAPLIPW1)XOBJK_ALL[]') TO <lfs_objnr_all>.IF <lfs_objnr_all> IS ASSIGNED.lt_ripw0_t[] = <lfs_objnr_all>.ENDIF.IF lt_ripw0_t[] IS NOT INITIAL.SELECTe~equnr,e~matnr,e~lbbsaFROM v_equi_eqbs_sml AS eFOR ALL ENTRIES IN @lt_ripw0_tWHERE e~equnr = @lt_ripw0_t-equnrINTO TABLE @DATA(lt_ser).LOOP AT it_mseg INTO DATA(is_mseg) WHERE bwart = '344'.READ TABLE lt_ser INTO DATA(ls_ser) WITH KEY matnr = is_mseg-matnr lbbsa = '07'.IF sy-subrc = 0.lv_message = '行项目' && is_mseg-zeile&& '物料' &&  ls_ser-matnr&& '序列号'  &&  ls_ser-equnr && '不能重复冻结库存' .MESSAGE lv_message TYPE 'E'.ENDIF.ENDLOOP.ENDIF.DATA: wa_zzsmseg TYPE ztmseg,lt_zzsmseg TYPE TABLE OF ztmseg,wa_item    TYPE zzsmseg_s,wa_mseg    TYPE mseg.IF it_item[] IS NOT INITIAL.LOOP AT it_item INTO wa_item.READ TABLE it_mseg INTO wa_msegWITH KEY line_id = wa_item-line_id.IF sy-subrc EQ 0.wa_zzsmseg-mblnr = wa_mseg-mblnr.wa_zzsmseg-mjahr = wa_mseg-mjahr.wa_zzsmseg-zeile = wa_mseg-zeile.wa_zzsmseg-zshdh = wa_item-zshdh.wa_zzsmseg-zshdh_item = wa_item-zshdh_item.APPEND wa_zzsmseg TO lt_zzsmseg.ENDIF.ENDLOOP.CALL FUNCTION 'ZFMMM_UPDATE_DATA' IN UPDATE TASKTABLESit_item = lt_zzsmseg.ENDIF.ENDMETHOD.

 3.ITEM检查增强:这里增强没有前台页面行项目数据 需要在自定义类中手动添加,初始化,行更新删除时都需要更新此全局表

  METHOD if_ex_mb_migo_badi~init.APPEND gf_class_id TO ct_init.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~line_modify.DATA: wa_item_new TYPE zzsmseg_s,wa_item_old TYPE zzsmseg_s,wa_zzsmseg  TYPE ztmseg,l_subrc     TYPE sy-subrc.READ TABLE it_item INTO wa_item_old WITH KEY line_id = i_line_id.l_subrc = sy-subrc.IF sy-subrc <> 0.IF cs_goitem-mblnr IS NOT INITIALAND cs_goitem-mjahr IS NOT INITIALAND cs_goitem-zeile IS NOT INITIAL.SELECT SINGLE * FROM ztmsegINTO wa_zzsmsegWHERE mblnr = cs_goitem-mblnrAND mjahr = cs_goitem-mjahrAND zeile = cs_goitem-zeile.IF wa_zzsmseg IS NOT INITIAL.MOVE-CORRESPONDING wa_zzsmseg TO wa_item_new.ENDIF.ENDIF.wa_item_new-line_id = i_line_id.INSERT wa_item_new INTO TABLE it_item.ELSE.CHECK g_line_id = i_line_id.CALL FUNCTION 'ZFMMM_GET_ITEM_DATA'IMPORTINGe_output = wa_item_new.MODIFY it_item FROM wa_item_new TRANSPORTING zshdh zshdh_item WHERE line_id = i_line_id.ENDIF.DELETE gt_item WHERE ebeln = cs_goitem-ebeln AND ebelp = cs_goitem-ebelp .APPEND cs_goitem TO gt_item .ENDMETHOD.

  METHOD if_ex_mb_migo_badi~line_delete.DELETE it_item WHERE line_id = i_line_id.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~pbo_detail.IF gf_class_id = i_class_id.DATA: wa_item TYPE zzsmseg_s.CHECK i_line_id IS NOT INITIAL.e_cprog = 'SAPLZFGMM_08'(001).   "'SAPL + 'FG Name'e_dynnr = '9010'.e_heading = 'SRM客制化页签'.g_line_id = i_line_id.READ TABLE it_item INTO wa_item WITH KEY line_id = i_line_id.CALL FUNCTION 'ZFMMM_SET_ITEM_DATA'EXPORTINGi_input = wa_item.ENDIF.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~pai_detail.DATA: wa_item_new TYPE zzsmseg_s,wa_item_old TYPE zzsmseg_s.CHECK i_line_id <> 0.CALL FUNCTION 'ZFMMM_GET_ITEM_DATA'IMPORTINGe_output = wa_item_new.READ TABLE it_item INTO wa_item_old WITH  KEY line_id = i_line_id.IF wa_item_new <> wa_item_old.e_force_change = 'X'.ENDIF.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~reset.CLEAR:it_item,g_no_input,g_cancel,g_line_id.CLEAR gt_item .CLEAR gs_gohead .ENDMETHOD.

  METHOD if_ex_mb_migo_badi~post_document.DATA:lv_message TYPE string.FIELD-SYMBOLS: <lfs_objnr_all> TYPE ANY TABLE.DATA lt_ripw0_t TYPE STANDARD TABLE OF ripw0 WITH NON-UNIQUE SORTED KEY uii COMPONENTS uii.ASSIGN ('(SAPLIPW1)XOBJK_ALL[]') TO <lfs_objnr_all>.IF <lfs_objnr_all> IS ASSIGNED.lt_ripw0_t[] = <lfs_objnr_all>.ENDIF.IF lt_ripw0_t[] IS NOT INITIAL.SELECTe~equnr,e~matnr,e~lbbsaFROM v_equi_eqbs_sml AS eFOR ALL ENTRIES IN @lt_ripw0_tWHERE e~equnr = @lt_ripw0_t-equnrINTO TABLE @DATA(lt_ser).LOOP AT it_mseg INTO DATA(is_mseg) WHERE bwart = '344'.READ TABLE lt_ser INTO DATA(ls_ser) WITH KEY matnr = is_mseg-matnr lbbsa = '07'.IF sy-subrc = 0.lv_message = '行项目' && is_mseg-zeile&& '物料' &&  ls_ser-matnr&& '序列号'  &&  ls_ser-equnr && '不能重复冻结库存' .MESSAGE lv_message TYPE 'E'.ENDIF.ENDLOOP.ENDIF.DATA: wa_zzsmseg TYPE ztmseg,lt_zzsmseg TYPE TABLE OF ztmseg,wa_item    TYPE zzsmseg_s,wa_mseg    TYPE mseg.IF it_item[] IS NOT INITIAL.LOOP AT it_item INTO wa_item.READ TABLE it_mseg INTO wa_msegWITH KEY line_id = wa_item-line_id.IF sy-subrc EQ 0.wa_zzsmseg-mblnr = wa_mseg-mblnr.wa_zzsmseg-mjahr = wa_mseg-mjahr.wa_zzsmseg-zeile = wa_mseg-zeile.wa_zzsmseg-zshdh = wa_item-zshdh.wa_zzsmseg-zshdh_item = wa_item-zshdh_item.APPEND wa_zzsmseg TO lt_zzsmseg.ENDIF.ENDLOOP.CALL FUNCTION 'ZFMMM_UPDATE_DATA' IN UPDATE TASKTABLESit_item = lt_zzsmseg.ENDIF.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~check_item.DATA: gs_item_old TYPE goitem,wa_item_old TYPE zzsmseg_s.FIELD-SYMBOLS: <fs_kernel_class> TYPE any.DATA: lv_ref_kernel TYPE REF TO object.FIELD-SYMBOLS:<l_action> TYPE goaction,<l_refdoc> TYPE refdoc.ASSIGN:('(SAPLMIGO)GODYNPRO-REFDOC') TO <l_refdoc>,
('(SAPLMIGO)GODYNPRO-ACTION') TO <l_action>.ASSIGN ('(SAPLMIGO)LCL_MIGO_GLOBALS=>KERNEL') TO <fs_kernel_class>.lv_ref_kernel ?= <fs_kernel_class>.IF <l_action> IS ASSIGNED AND <l_refdoc> IS ASSIGNED.IF <l_action> EQ 'A01' AND <l_refdoc> EQ 'R01'.LOOP AT gt_item INTO gs_item_old WHERE take_it = 'X' AND zeile = i_line_id.SELECT COUNT(*) FROM ekpo WHERE ebeln = gs_item_old-ebeln AND zyxt = 'SRM'.IF sy-subrc = 0.READ TABLE it_item  INTO wa_item_old WITH KEY line_id = gs_item_old-zeile.IF wa_item_old-zshdh IS INITIAL OR wa_item_old-zshdh_item IS INITIAL.MESSAGE i_line_id && 'SRM送货单号,SRM送货单号和行项目不能为空' TYPE 'E'.ENDIF.ENDIF.ENDLOOP.ENDIF .ENDIF .ENDMETHOD.

  METHOD if_ex_mb_migo_badi~mode_set.
*------------------------------------------------*" i_action:" A01 = Goods receipt" A02 = Return delivery" A03 = Cancellation" A04 = Display" A05 = Release GR bl.st." A06 = Subsequent deliv." A07 = Goods issue"" i_refdoc:" R01 = Purchase order" R02 = Material document" R03 = Delivery note" R04 = Inbound delivery" R05 = Outbound delivery" R06 = Transport" R07 = Transport ID code" R08 = Order" R09 = Reservation" R10 = Other GR
*------------------------------------------------*IF i_action = 'A03' OR i_action = 'A04' .g_no_input = abap_true.ENDIF.IF i_action = 'A03'.g_cancel = abap_true.ENDIF.CALL FUNCTION 'ZFMMM_SET_GOACTION'EXPORTINGi_goaction = i_action.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~pai_header.gs_gohead = is_gohead.ENDMETHOD.

  METHOD if_ex_mb_migo_badi~check_header.DATA : lv_answer TYPE  c.DATA :lv_name(50) TYPE c.DATA :lv_mblnr TYPE mblnr.FIELD-SYMBOLS: <fs_kernel_class> TYPE any.DATA: lv_ref_kernel TYPE REF TO object.FIELD-SYMBOLS:<l_action> TYPE goaction,<l_refdoc> TYPE refdoc.DATA:lv_count TYPE i.DATA:ls_bapiret TYPE bapiret2.DATA: gs_item_old TYPE goitem.ASSIGN:('(SAPLMIGO)GODYNPRO-REFDOC') TO <l_refdoc>,('(SAPLMIGO)GODYNPRO-ACTION') TO <l_action>.ASSIGN ('(SAPLMIGO)LCL_MIGO_GLOBALS=>KERNEL') TO <fs_kernel_class>.lv_ref_kernel ?= <fs_kernel_class>.IF <l_action> IS ASSIGNED AND <l_refdoc> IS ASSIGNED.IF <l_action> EQ 'A01' AND <l_refdoc> EQ 'R01'.LOOP AT gt_item INTO gs_item_old WHERE take_it = 'X'.SELECT COUNT(*) FROM ekpo WHERE ebeln = gs_item_old-ebeln AND zyxt = 'SRM'.IF sy-subrc = 0.IF gs_gohead-bktxt IS  INITIAL.MESSAGE '抬头文本不能为空' TYPE 'E'.ELSE.SELECT SINGLE mblnr INTO lv_mblnr  FROM mkpf WHERE bktxt = gs_gohead-bktxt .IF lv_mblnr IS NOT INITIAL.lv_name = '抬头文本重复凭证号:' && lv_mblnr && '可能存在收货,请确认是否过账!'.CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'EXPORTING
*                   DEFAULTOPTION        = 'Y'textline1 = lv_name
*                   TEXTLINE2 = '否'titel     = '是否继续'
*                   START_COLUMN         = 25
*                   START_ROW = 6
*                   CANCEL_DISPLAY       = 'X'IMPORTINGanswer    = lv_answer.IF sy-subrc = 0.IF lv_answer = 'N'.MESSAGE '操作被终止' TYPE 'E'.ELSEIF lv_answer = 'A'..MESSAGE '操作取消' TYPE 'E'.ENDIF.ENDIF.ENDIF.ENDIF.ENDIF.ENDLOOP.ENDIF.ENDIF.ENDMETHOD.

********函数组:

FUNCTION zfmmm_get_item_data.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  EXPORTING
*"     REFERENCE(E_OUTPUT) TYPE  ZZSMSEG_S
*"----------------------------------------------------------------------MOVE-CORRESPONDING gs_zzsmseg TO e_output.ENDFUNCTION.FUNCTION zfmmm_set_goaction.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(I_GOACTION) TYPE  GOACTION
*"----------------------------------------------------------------------g_goaction = i_goaction.ENDFUNCTION.FUNCTION zfmmm_set_item_data.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(I_INPUT) TYPE  ZZSMSEG_S
*"----------------------------------------------------------------------MOVE-CORRESPONDING i_input TO gs_zzsmseg.ENDFUNCTION.FUNCTION zfmmm_update_data.
*"----------------------------------------------------------------------
*"*"更新函数模块:
*"
*"*"本地接口:
*"  TABLES
*"      IT_ITEM STRUCTURE  ZTMSEG
*"----------------------------------------------------------------------IF it_item[] IS NOT INITIAL.MODIFY ztmseg FROM TABLE it_item[].ENDIF.ENDFUNCTION.

LZFGMM_08TOP

* INCLUDE LZFGMM_08D...                      " Local class definitionDATA:gs_zzsmseg TYPE zzsmseg_s.
DATA:g_goaction TYPE goaction.

LINE_ID	类型	MIGO_GLOBAL_COUNTER	NUMC	6	0	0	一行的唯一编号
.INCLUDE	类型	ZTMSEG		0	0	0	MIGO行项目增强字段 
MANDT	类型	MANDT	CLNT	3	0	0	客户端 
MBLNR	类型	MBLNR	CHAR	10	0	0	物料凭证编号
MJAHR	类型	MJAHR	NUMC	4	0	0	物料凭证的年份 
ZEILE	类型	MBLPO	NUMC	4	0	0	物料凭证中的项目
.INCLUDE	类型	ZSMSEG		0	0	0	MIGO增强字段
ZSHDH	类型	ZDEZSHDH	CHAR	50	0	0	SRM送货单号
ZSHDH_ITEM	类型	ZDEZSHDH_ITEM	NUMC	10	0	0	SRM送货单号行项目 
EBELN	类型	EBELN	CHAR	10	0	0	采购凭证编号
*----------------------------------------------------------------------*
***INCLUDE LZFGMM_08O01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_9010 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_9010 OUTPUT.LOOP AT SCREEN.IF screen-group1 = 'G1' AND g_goaction = 'A04'.screen-input = 0.MODIFY SCREEN.ENDIF.ENDLOOP.
ENDMODULE.

拓展预留字段:

se18->MB_GOODSMOVEMENT

METHOD if_ex_mb_bapi_goodsmvt_create~extensionin_to_matdoc.DATA:c_lenstruc          TYPE i VALUE 30,wa_bapi_mb_header   TYPE bapi_te_xmkpf,wa_bapi_mb_item     TYPE bapi_te_xmseg,wa_extension_in     TYPE bapiparex.FIELD-SYMBOLS:<fs_imseg>          TYPE imseg.CHECK NOT extension_in[] IS INITIAL.* Analyze IMSEG for document structure and assign LINE_IDs if necessaryCALL METHOD cl_mmim_line_id_manager=>analyze_mb_createCHANGINGct_imseg          = ct_imseg[]EXCEPTIONSduplicate_line_id = 1OTHERS            = 2.LOOP AT extension_in INTO wa_extension_in.CASE wa_extension_in-structure.
* extension of MKPFWHEN 'BAPI_TE_XMKPF'.MOVE wa_extension_in+c_lenstruc TO wa_bapi_mb_header.MOVE-CORRESPONDING wa_bapi_mb_header TO cs_imkpf.
* extension of MSEGWHEN 'BAPI_TE_XMSEG'.MOVE wa_extension_in+c_lenstruc TO wa_bapi_mb_item.READ TABLE ct_imsegWITH KEY line_id = wa_bapi_mb_item-matdoc_itmASSIGNING <fs_imseg>.IF sy-subrc EQ 0.MOVE-CORRESPONDING wa_bapi_mb_item TO <fs_imseg>.ENDIF.ENDCASE.ENDLOOP.ENDMETHOD.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vncsever ,window 远程ubuntu远程界面安装方式,VNC Viewer安装教程+ linux配置server 操作

linux 端安装 # 安装VNC 服务器软件 sudo apt install autocutsel # 剪切黏贴操作支持的包 sudo apt-get install tightvncserver # 安装的是 VNC 服务器软件&#xff0c;用于远程桌面访问 # 安装Xfce桌面环境 sudo apt-get install xfce4 xfce4-goodies #安装的是 XFCE 桌…

前端 JS 经典:通用性函数封装思路

前言&#xff1a;设计通用性函数&#xff0c;我们需要考虑两个方面&#xff0c;一个是函数传参的可能性&#xff0c;如果可能性很多&#xff0c;我们可以将处理参数的方法暴露出去&#xff0c;让使用者去设计。为了调用的方便性&#xff0c;我们还可以做参数的归一化。 举个例…

web自动化(一)selenium安装环境搭建、DrissionPage安装

selenium 简介 selenium是企业广泛应用的web自动化框架 selenium 三大组件 selenium IDE 浏览器插件 实现脚本录制 webDriver 实现对浏览器进行各种操作 Grid 分布式执行 用例同时在多个浏览器执行&#xff0c;提高测试效率 问题&#xff1a;环境搭建复杂&#xff0c;浏览器版…

YOLOv8+SwanHub+作物检测:从可视化训练到Demo演示

1. 项目介绍 本项目旨在利用先进的YOLOv8深度学习模型对麦穗进行高效、准确的检测。我们采用了GlobalWheat数据集&#xff0c;该数据集包含丰富的麦穗图像&#xff0c;为模型的训练提供了有力的数据支持。通过该实验&#xff0c;实现高准确率的麦穗识别&#xff0c;为农业生产提…

Webpack: 如何借助预处理器、PostCSS 等构建现代 CSS 工程环境

概述 在开发 Web 应用时&#xff0c;我们通常需要编写大量 JavaScript 代码 —— 用于控制页面逻辑&#xff1b;编写大量 CSS 代码 —— 用于调整页面呈现形式。问题在于&#xff0c;CSS 语言在过去若干年中一直在追求样式表现力方面的提升&#xff0c;工程化能力薄弱&#xff…

Studio One 6.6.2中文破解版安装图文激活教程

Studio One 6.6.2中文破解版做为新生代音乐工作站&#xff0c;凭借更低的价格和完备的功能&#xff0c;获得了音乐人和直播行业工作者的青睐&#xff0c;尤其是对硬件声卡的适配支持更好&#xff0c;特别适合用来配合线上教学和电商带货。 最近网上出现不少关于StudioOne不能用…

html侧导航栏客服栏

ico 替换 ICO <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>返回顶部</title><script src"js/jquery-2.0.3.min.js"…

基于 ESP8266 和 MQ 气体传感器的微信告警系统设计与实现

接线: ESP8266MQ3vVCCGND GND A0 A0微信通知截图: 摘要:本文主要探讨了一种利用 ESP8266 微控制器与 MQ 气体传感器构建的气体检测微信告警系统。详细阐述了系统的硬件组成、软件设计以及与微信平台的交互机制。通过该系统,能够实时监测环境中的气…

VPS搭建论坛和社区网站有哪些优势?

想象一下&#xff1a;您已经建立了一个论坛。这是您的骄傲和喜悦——一个熙熙攘攘的在线多人广场&#xff0c;人们聚集在这里不仅可以聊天&#xff0c;还可以交流、分享和辩论。不过突然出现下面这些情况&#xff0c; 页面加载需要很长时间&#xff1b;光标不停旋转。会员流失…

【ai】tx2 nx: trition client安装nvidia-pyindex 一直失败

系统版本的pip和python虚拟环境的pipyolov4-triton-tensorrt的master分支 官方client jetson:pip3 install --user nvidia-pyindex 不成功啊 这个是让nvidia-pyindex 拉取nvidia@tx2-nx:~$ pip3 install --user nvidia-pyindex Collecting nvidia-pyindexDownloading https://…

STL——常用算法(二)

一、常用拷贝和替换算法 1.copy #include <iostream> #include <vector> #include <algorithm> using namespace std; void printVector(int val) {cout << val << " "; } void test01() {vector<int>v1;for (int i 0; i <…

【仿真】UR机器人相机标定、立体标定、手眼标定、视觉追踪(双目)

实现在CoppeliaSim环境中进行手眼标定和目标追踪的一个例子。它主要涉及到机器人、机器视觉和控制算法的编程&#xff0c;使用了Python语言。接下来对该代码的主要类和方法进行解析&#xff1a; 1. 导入相关库 用于与CoppeliaSim模拟器通过ZeroMQ接口通信。包含Rotation类&…

SF-YOLOv5——基于改进的特征融合模式的轻量级小目标检测算法

概述 提出了一种改进的YOLOv5模型&#xff0c;名为Small-Fast-YOLOv5 (SF-YOLOv5)&#xff0c;专门用于小目标检测。通过合理裁剪大目标检测层的特征图输出&#xff0c;显著减少了模型所需的计算资源&#xff0c;使模型变得更加轻量级。 还提出了一种改进的特征融合方法&#…

CV每日论文--2024.6.24

1、Whiteboard-of-Thought: Thinking Step-by-Step Across Modalities 中文标题&#xff1a;思维白板&#xff1a;跨模式逐步思考 简介&#xff1a;这段话描述了一种利用思维白板提示来增强大型语言模型在视觉推理任务中的性能的方法。 人类在解决需要视觉思考的问题时,通常会…

英语口语练习评测的开发实现

英语口语评测是一个复杂的系统&#xff0c;需要综合考虑语音识别、语音评测、自然语言处理等多种技术。以下是一些常见的英语口语评测开发框架。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 基于语音识别的口语评测框架这种框架主要…

第28课 绘制原理图——绘制导线

概述 放置完元器件之后&#xff0c;接着就要用导线将元器件的管脚一个一个连起来了。 绘制导线的方法 点击快速工具条上的“线”命令&#xff0c;进入绘制导线的过程。 点击选择某个管脚或电源端口&#xff0c;作为导线的起始端。 再点击选择另一个管脚或电源端口&#xff0c…

React@16.x(40)路由v5.x(5)常见应用场景(2)- 实现类似 vue 的路由模式

目录 1&#xff0c;vue-router2&#xff0c;React 模拟实现 1&#xff0c;vue-router vue 的路由配置文件&#xff0c; // src/router/index.ts const routes [{path: "/news",children: [{ path: "", component: NewsView },{ path: "detail"…

瞄准Windows的新兴僵尸网络:Kraken

2021 年 10 月&#xff0c;ZeroFox Intelligence 披露了名为 Kraken 的僵尸网络。Kraken 通过 SmokeLoader 进行传播&#xff0c;每次更新攻击基础设施时都会扩大规模。尽管与 2008 年发现的 Kraken 僵尸网络同名&#xff0c;但二者并没有其他共同点。 功能 自从 2021 年 10 …

养殖自动化通风系统:未来畜牧业的智能守护者

在现代畜牧业中&#xff0c;养殖环境的控制对于动物的健康成长和养殖业者的成功至关重要。养殖自动化通风系统凭借其先进技术和精密设备&#xff0c;实现了对养殖场内环境条件的精准调控&#xff0c;显著提升了养殖效率和动物福利。本文将深入探讨养殖自动化通风系统的必要性、…

Talking Web

1. curl 1.1 http curl http://127.0.0.1:80 向目标主机端口发送http请求 1.2 httphead curl -H “Host: 18ed3df584cd48328b5839443aa7b42b” http://127.0.0.1:80 1.3 httppath curl http://127.0.0.1:80/853c64cd218f80d0a59665666fb2ab80 1.4 URL编码路径 &#xff0…