点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在屏幕1中,要求将采购订单号留为...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在屏幕1中,要求将采购订单号留为...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在屏幕1中,要求将采购订单号留为空白–按创建
会自动从ZKKO_nn获取下一个采购订单号。
到目前为止,我已经从zekko数据库表中为PO创建了3条记录,分别为PO,45000000、45000003和45000004。
从逻辑上讲,它将自动从45000001、45000002、45000005等创建PO。
另一个要求是在屏幕2中,使用相同的按钮"保存编辑"(功能代码-SVE),我也将其用于更新语句以保存创建的条目。
PO数据由我自己创建。 完整代码如下所示:
表格:ZEKKO_03, ZEKPO_03。 控件:使用屏幕9002的TC_ZEKPO类型表。 数据:OK_CODE TYPE SY-UCOMM, ZEKKO_03的GT_ZEKKO类型表, GWA_ZEKKO TYPE ZEKKO_03, ZEKPO_03的GT_ZEKPO类型表, GWA_ZEKPO之类的GT_ZEKPO, F1 CHAR1型 GV_LINES TYPE I, GV_TABIX TYPE SY-TABIX, gv_edit TYPE C LENGTH 1, gv_create TYPE C长度1。 *&------------------------------------------------ --------------------- * *&包括MZDLGPROG_03_REPORTO01 *&------------------------------------------------ --------------------- * *&------------------------------------------------ --------------------- * *&模块STATUS_9001输出 *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * 模组STATUS_9001输出。 设置PF-STATUS'ZSTATUS'。 设置标题栏" ZTITLE"。 ENDMODULE。 *&------------------------------------------------ --------------------- * *&模块FETCH_DATA OUTPUT *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * 模块FETCH_DATA输出。 *设置PF-STATUS'xxxxxxxx'。 * SET TITLEBAR'xxx'。 从ZEKKO_03中选择EBELN LIFNR EKORG EKGRP BUKRS WAERS ZTERM ZDESC 表GT_ZEKKO的对应字段 EBELN在哪里= GWA_ZEKKO-EBELN。 从ZEKKO_03中选择单个埃伯恩·莱弗特·埃科格·埃格普·布克尔·华兹·泽特斯 GWA_ZEKKO的对应字段 EBELN在哪里= GWA_ZEKKO-EBELN。 将表GT_ZEKKO读入GWA_ZEKKO INDEX SY-TABIX。 选择EBELP MATNR WERKS LGORT MENGE MEINS ZEKPO_03中表GT_ZEKPO的对应字段 EBELN在哪里= GWA_ZEKKO-EBELN。 ENDMODULE。 *&------------------------------------------------ --------------------- * *&模块操作输出 *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * 模块操作输出。 情况为OK_CODE。 当"编辑"。 gv_edit ='X'。 环视屏幕。 ""标题 如果SCREEN-NAME ='GWA_ZEKKO-EBELN'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-EKGRP'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-EKORG'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-BUKRS'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-LIFNR'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-WAERS'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-ZTERM'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-ZDESC'。 屏幕输入= 1。 修改屏幕。 万一。 结局。 环视屏幕。 """订单项 IF(SCREEN-GROUP1 ='GRP')。 屏幕输入= 1。 万一。 修改屏幕。 结局。 当"创建"时。 gv_create ='X'。 环视屏幕。 ""标题 如果SCREEN-NAME ='GWA_ZEKKO-EKGRP'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-EKORG'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-BUKRS'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-LIFNR'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-WAERS'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-ZTERM'。 屏幕输入= 1。 修改屏幕。 万一。 如果SCREEN-NAME ='GWA_ZEKKO-ZDESC'。 屏幕输入= 1。 修改屏幕。 万一。 结局。 环视屏幕。 """订单项 IF(SCREEN-GROUP1 ='GRP')。 屏幕输入= 1。 万一。 修改屏幕。 结局。 结束。 ENDMODULE。 *&------------------------------------------------ --------------------- * *&模块STATUS_9002 OUTPUT *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * MODULE STATUS_9002 OUTPUT。 设置PF-STATUS'ZSTATUS'。 设置标题栏" ZTITLE1"。 ENDMODULE。 *&------------------------------------------------ --------------------- * *&包括MZDLGPROG_03_REPORTI01 *&------------------------------------------------ --------------------- * *&------------------------------------------------ --------------------- * *&模块USER_COMMAND_9002 INPUT *&------------------------------------------------ --------------------- * *文字 * ------------------------------------------------- --------------------- * 模组USER_COMMAND_9002输入。 设置PF-STATUS'ZSTATUS'。 设置标题栏" ZTITLE1"。 情况为OK_CODE。 当"返回"时。 设置屏幕0。 离开屏幕0。 当" DEL"。 获取光标行GV_TABIX。 F1 = 1。 执行FETCH_DATA。 如果F1 = 1。 从表GT_ZEKKO中删除ZEKKO_03。 从ZEKPO_03 WHERE EBELN = GWA_ZEKKO-EBELN中删除。 提交工作。 万一。 当" SVE"。 通话功能" CONVERSION_EXIT_ALPHA_INPUT" 出口 输入= GWA_ZEKKO-EBELN 输入 输出= GWA_ZEKKO-EBELN。 如果GV_EDIT EQ'X'。 更新ZEKKO_03 SET EKGRP = GWA_ZEKKO-EKGRP EKORG = GWA_ZEKKO-EKORG BUKRS = GWA_ZEKKO-BUKRS LIFNR = GWA_ZEKKO-LIFNR WAERS = GWA_ZEKKO-WAERS ZTERM = GWA_ZEKKO-ZTERM ZDESC = GWA_ZEKKO-ZDESC EBELN在哪里= GWA_ZEKKO-EBELN。 提交工作。 更新ZEKPO_03设置 玉宝= GWA_ZEKPO-玉宝 MATNR = GWA_ZEKPO-MATNR WERKS = GWA_ZEKPO-WERKS LGORT = GWA_ZEKPO-LGORT MENGE = GWA_ZEKPO-MENGE MEINS = GWA_ZEKPO-MEINS EBELN在哪里= GWA_ZEKKO-EBELN。 提交工作。 万一。 结束。 清除GT_ZEKKO。 清除GT_ZEKPO。 ENDMODULE。 *&------------------------------------------------ --------------------- * *&模块USER_COMMAND_9001 INPUT *&------------------------------------------------ --------------------- * *文字 * ------------------------------------------------- --------------------- * 模组USER_COMMAND_9001输入。 情况为OK_CODE。 当"返回"或"退出"或"取消"时。 离开程序。 当"删除"或"显示"时。 如果GWA_ZEKKO-EBELN是INITIAL。 信息"请输入文件编号" TYPE" E"。 其他。 执行FETCH_DATA。 致电屏幕9002。 万一。 在"编辑"时。 致电屏幕9002。 当"创建"时。 致电屏幕9002。 结束。 ENDMODULE。 *&------------------------------------------------ --------------------- * *&表格FETCH_DATA *&------------------------------------------------ --------------------- * *和文字 *&------------------------------------------------ --------------------- * *&-> p1文字 *&<-p2文字 *&------------------------------------------------ --------------------- * 表格FETCH_DATA。 IF F1 NE 1。 从ZEKKO_03中选择EBELN LIFNR EKORG EKGRP BUKRS WAERS ZTERM ZDESC 表GT_ZEKKO的对应字段 EBELN在哪里= GWA_ZEKKO-EBELN。 从ZEKKO_03中选择单个埃伯恩·莱弗特·埃科格·埃格普·布克尔·华兹·泽特斯 GWA_ZEKKO的对应字段 EBELN在哪里= GWA_ZEKKO-EBELN。 将表GT_ZEKKO读入GWA_ZEKKO INDEX SY-TABIX。 选择EBELP MATNR WERKS LGORT MENGE MEINS ZEKPO_03中表GT_ZEKPO的对应字段 EBELN在哪里= GWA_ZEKKO-EBELN。 万一。 ENDFORM。
(4.6 kB)
AS ,
似乎您已尝试说明要求,请说明问题或问题所在。
致谢!
一周热门 更多>