订单项出现问题(表格控件)

2020-08-17 21:11发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我目前停留在订单项插入中。...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我目前停留在订单项插入中。 保存后,不会保存订单项

我使用以下select语句获取订单项。 从数据库表创建标题和订单项时没有问题。 当我尝试为插入保存更改(功能代码:sve)时,发生了问题。 如果我的选择语句有问题,请纠正我

模块FETCH_DATA输出。

   从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。

     将gwa_zekpo移动到zekpo_03。
 

这是我使用的插入物。 我试图用where子句或索引

-current_line寻找insert ,似乎没有这样的语句(如果存在,请纠正我)。

" SVE"时。

       通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= GWA_ZEKKO-EBELN
         输入
           输出= GWA_ZEKKO-EBELN。

       IF GV_CREATE EQ'X'。

         从GWA_ZEKKO插入ZEKKO_03。


         读取表gt_zekpo索引tc_zekpo-current_line INTO gwa_zekpo。
         插入INTO zekpo_03值gwa_zekpo。

         通话功能" NUMBER_GET_NEXT"
           出口
             NR_RANGE_NR = GV_RANGE
             OBJECT ='ZEBELN_03'
           输入
             NUMBER = GWA_ZEKKO-EBELN。

       万一。

       如果SY-SUBRC = 0。
         提交工作。
         消息"条目已创建" TYPE" S"。
       其他。
         消息"创建条目失败",类型为" E"。

       万一。

       IF 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。

(18.5 kB)
9条回答
黑丝骑士
2020-08-17 22:10

Venket,谢谢您的回复。

是的,插入新的ebeln,我已经尝试过您的方法,内部表中没有值,因此当插入gt_zekpo时sy-subrc = 4(如调试屏幕快照所示)

我将INSERT ZEKKO_03从GWA_ZEKKO放在NUMBER_GET_NEXT之前的原因是为了防止数字范围跳过。否则,它将从45000000跳过到45000002,记录从45000000保存到45000002,然后继续。

" SVE"时。
 IF GV_CREATE EQ'X'。

         通话功能" CONVERSION_EXIT_ALPHA_INPUT"
           出口
             输入= GWA_ZEKKO-EBELN
           输入
             输出= GWA_ZEKKO-EBELN。

         从GWA_ZEKKO插入ZEKKO_03。

         通话功能" NUMBER_GET_NEXT"
           出口
             NR_RANGE_NR = GV_RANGE
             OBJECT ='ZEBELN_03'
           输入
             NUMBER = GWA_ZEKKO-EBELN。

         将GT_ZEKpO循环到GWA_ZEKpO中。
                    GWA_ZEKPO-EBELN = GWA_ZEKKO-EBELN。

           从GWA_ZEKPO INDEX sy-tabix修改GT_ZEKPO。

         结局。

     
         从表GT_ZEKPO中插入ZEKPO_03。

       万一。

       如果SY-SUBRC = 0。
         提交工作。
         消息"条目已创建" TYPE" S"。
       其他。
         消息"创建条目失败",类型为" E"。

       万一。



       IF 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。

         从gwa_zekpo修改zekpo_03。  <<<此处所做的更改

         提交工作。

       万一。

   结束。

   清除GT_ZEKKO。
   清除GT_ZEKPO。
 

因此,我在以下内容中进行了更改,结果仍然相同,下面的操作是我要从zekpo表中检索数据,因此选择语句并使用表控件的当前行进行修改

通话功能'CONVERSION_EXIT_ALPHA_INPUT'
           出口
             输入= GWA_ZEKKO-EBELN
           输入
             输出= GWA_ZEKKO-EBELN。

         从GWA_ZEKKO插入ZEKKO_03。

         通话功能" NUMBER_GET_NEXT"
           出口
             NR_RANGE_NR = GV_RANGE
             OBJECT ='ZEBELN_03'
           输入
             NUMBER = GWA_ZEKKO-EBELN

         将GT_ZEKpO循环到GWA_ZEKpO中。
                    GWA_ZEKPO-EBELN = GWA_ZEKKO-EBELN。
                   
               SELECT EBELP MATNR WERKS LGORT MENGE MEINS <<<添加了此
       ZEKPO_03中表GT_ZEKPO的对应字段
        EBELN在哪里= GWA_ZEKpO-EBELN。
 
           从GWA_ZEKPO索引tc_zekpo-current_line修改GT_ZEKPO。  <<<更改了此

         结局。

     
         从表GT_ZEKPO插入ZEKPO_03。

一周热门 更多>

向帮助了您的知道网友说句感谢的话吧!