SD-销售订单抬头和行项目屏幕增强

摘要:
本文转载至:https://blog.csdn.net/weixin_43929815/article/details/113928655有两种方法可以增强销售订单标题和行项目屏幕的开发:1使用BADI:BASIC_SLS_HEAD_SCR_CUS下的BADI_SD_sales_BADI和BADI_SLS_item_SCR_CUS实现屏幕增强1。创建一个增强的结构并将其附加到VBAK或VBAP表

此文转载至:https://blog.csdn.net/weixin_43929815/article/details/113928655

在对销售订单抬头和行项目的屏幕做增强开发有两种方法可选:
一.使用BADI:BADI_SD_SALES_BASIC下的BADI_SLS_HEAD_SCR_CUSBADI_SLS_ITEM_SCR_CUS来实现屏幕增强
1.创建增强结构,附加到VBAK或者VBAP表中,这里以表头为例
2.SE18查看BADI:BADI_SLS_HEAD_SCR_CUS,创建BADI实施ZSD_BADI_SLS_HEAD_SCR_CUS
SD-销售订单抬头和行项目屏幕增强第1张

SD-销售订单抬头和行项目屏幕增强第2张

SD-销售订单抬头和行项目屏幕增强第3张

创建之后可以看到接口下有四个方法,其中1.用来把屏幕挂在销售订单2.将数据读取到子屏幕3.从子屏幕读取数据
3.创建子屏幕
首先创建函数组ZSD_HEAD

SD-销售订单抬头和行项目屏幕增强第4张

新建子屏幕,屏幕内容即为新增的附加结构
新建两个函数模块,用来传递子屏幕的值

SD-销售订单抬头和行项目屏幕增强第5张

以下为这两个函数模块的代码

FUNCTION ZSD_HEAD_INPUT.
*"----------------------------------------------------------------------
"“本地接口:
*” IMPORTING
*" REFERENCE(IS_VBAK) TYPE VBAK
*" REFERENCE(IS_T180) TYPE T180
*"----------------------------------------------------------------------

  gs_vbak = is_vbak.
  gs_t180 = is_t180. "这个用来判断是显示还是修改 A代表显示
  MOVE-CORRESPONDING is_vbak to zsd_VBAK_1.
ENDFUNCTION.

FUNCTION ZSD_HEAD_OUTPUT.
*"----------------------------------------------------------------------
"“本地接口:
*” EXPORTING
*" REFERENCE(ES_VBAK) TYPE VBAK
*"----------------------------------------------------------------------

  MOVE-CORRESPONDING zsd_vbak_1 to gs_vbak.
  es_vbak = gs_vbak.
ENDFUNCTION.

4.在增强实施中的方法调用这个函数组

方法1.
method IF_EX_SLS_HEAD_SCR_CUS~ACTIVATE_TAB_PAGE.
  DATA ls_tab like LINE OF CT_CUS_HEAD_TAB.
  IF sy-tcode CP ‘VA++’.
  ls_tab-HEAD_CAPTION = ‘项目信息’.
  ls_tab-HEAD_PROGRAM = ‘SAPLZSD_HEAD’."函数组主程序名称
  ls_tab-HEAD_DYNPRO = ‘9001’.
  APPEND ls_tab to CT_CUS_HEAD_TAB.
  ENDIF.
endmethod.

方法2. method IF_EX_SLS_HEAD_SCR_CUS~TRANSFER_DATA_TO_SUBSCREEN.
CALL FUNCTION ‘ZSD_HEAD_INPUT’ EXPORTING is_vbak = is_vbak is_t180 = is_t180 endmethod.
方法3. method IF_EX_SLS_HEAD_SCR_CUS~TRANSFER_DATA_FROM_SUBSCREEN.
CALL FUNCTION ‘ZSD_HEAD_OUTPUT’ IMPORTING ES_VBAK = CS_VBAK endmethod.

二.使用销售订单程序SAPMV45A中预留的屏幕8309,8459实现增强
此种方法实现较简单
1.找到销售订单主程序SAPMV45A,再找到这两个子屏幕

SD-销售订单抬头和行项目屏幕增强第6张

直接根据新增的结构编辑子屏幕
同时增加字段控制代码

MODULE SO_ADD_8309 OUTPUT.

  LOOP AT SCREEN.
    IF SY-TCODE = 'VA03' OR SY-TCODE = 'VA23'.
      SCREEN-INPUT = '0'.
    ELSE.
      IF SCREEN-GROUP1 EQ 'Z1'.
        SCREEN-INPUT = '0'.
      ELSE.
        SCREEN-INPUT = '1'.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
ENDLOOP. ENDMODULE.

免责声明:文章转载自《SD-销售订单抬头和行项目屏幕增强》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇css图片+文字浮动(文字包围效果)Erp中的ATP和CTP是什么?两者有什么区别?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

前端chrome浏览器调试总结

以下选项允许您选择要捕获的项目。...

学习Python3 天眼查 爬虫

在开始学习Python时,我不想看基础知识,而且我的记忆力很差。我记不住那些语法,所以我直接去了这个项目。这是相当深刻的。刚好公司有情况需要检查企业的信息,所以我想成为一名爬虫。那些有验证码的人不愿意这样做。这是个大问题。我选择了天眼查,跳过检查过程,直接写下结果。总结的步骤如下:首先,天眼查最大的障碍是字体问题。本网站上有介绍,大致意思是网页上显示的一些字...

Django如何安装指定版本

Django的最新版本默认安装为:pipinstalldjangoDjango,然后是版本号:pipinstalldjango==1.11.7如果使用pipinstall库的安装速度较慢,您可以使用豆瓣的图片:pipinstalldjango==1.11.7-ihttp://pypi.douban.com/simple--trusted-hostpypi.d...

安装qmake与环境变量解析

如果你已经有了qmake,可以跳过这里,请看10分钟学会使用qmake。手动安装qmake在手工连编Qt之前,下面这些环境变量必须被设置:QMAKESPEC这个必须设置为你所使用的系统的平台和编译器的组合。当编译完成时,qmake已经可以使用了。这里对添加环境变量时,是在path里头添加,还是new一个变量有点疑惑。而如果是new的话,当我们在为程序添加路径...

微信小程序通过background-image设置背景图片

微信小程序通过背景图像设置背景:仅支持在线图像和base64图像,不支持本地图像;设置base64图像的步骤如下:1.在网站上http://imgbase64.duoshitong.com/将图片转换为base64格式2的文本。在WXSS中使用上述文本:background image:url(“data:image/png;base64,iVBORw0KG...

笔试题多线程

多线程是实现异步的主要方式之一,异步不等于多线程。NET有很多异步编程支持。例如,Begin***和End***方法在许多地方都可用,这是一种异步编程支持。它的一些内部程序是使用多线程的异步编程,而其他程序是使用硬件功能的异步编程。因为多线程访问不使用锁定机制,所以更新将丢失。...