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

2020-08-17 21:11发布

         点击此处--->   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)

         点击此处--->   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条回答
软件心理学工程师
1楼 · 2020-08-17 22:04.采纳回答

亲爱的A.S.

您的代码似乎令人困惑,而且顺序不正确。.我相信您正在尝试按以下方式操作:

创建时,您正在创建全新的条目并将其推入 您的z表

  • 标题
  • 详细信息

请遵循以下顺序。

何时 " SVE"。
       IF GV_CREATE EQ'X'。
          "页眉插入在这里................。
          "第一步-生成数字
           通话功能" NUMBER_GET_NEXT"
           出口
             NR_RANGE_NR = GV_RANGE
             OBJECT ='ZEBELN_03'
           输入
             NUMBER = GWA_ZEKKO-EBELN。

         "第2步-添加前导零
         通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= GWA_ZEKKO-EBELN
         输入
           输出= GWA_ZEKKO-EBELN。

         "步骤3-插入表格
         从GWA_ZEKKO插入ZEKKO_03。

         "详细信息表插入到这里..............
          "步骤4使用生成的编号更新明细表
          环聊GT_ZEKPO进入GWA_ZEKPO
              GWA_ZEKPO-EBELN = GWA_ZEKKO-EBELN。
              从GWA_ZEKPO索引SY-TABIX修改GT_ZEKPO。
         结局。
        
         "步骤5-插入详细信息表
         从表GT_ZEKPO插入ZEKPO_03。
      
       万一。

       如果SY-SUBRC = 0。
         提交工作。
         消息"条目已创建" TYPE" S"。
       其他。
         消息"创建条目失败",类型为" E"。
       万一。
 
CPLASF-自律
2楼-- · 2020-08-17 22:10

尝试将所有关键字段传递到更新语句所在的位置

wang628962
3楼-- · 2020-08-17 21:49

尊敬的AS

我相信当您说插入表示您要创建新的 EBELN。

在" SVE"时检查此代码

。
       IF GV_CREATE EQ'X'。
          "页眉插入在这里................。
          "第一步-生成数字
           通话功能" NUMBER_GET_NEXT"
           出口
             NR_RANGE_NR = GV_RANGE
             OBJECT ='ZEBELN_03'
           输入
             NUMBER = GWA_ZEKKO-EBELN。

         "第2步-添加前导零
         通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= GWA_ZEKKO-EBELN
         输入
           输出= GWA_ZEKKO-EBELN。

         "步骤3-插入表格
         从GWA_ZEKKO插入ZEKKO_03。


         "详细信息表插入到这里..............
          "步骤4使用生成的编号更新明细表
          环聊GT_ZEKPO进入GWA_ZEKPO
              GWA_ZEKPO-EBELN = GWA_ZEKKO-EBELN。
              从GWA_ZEKPO索引SY-TABIX修改GT_ZEKPO。
         结局。
        
         "步骤5-插入详细信息表
         从表GT_ZEKPO插入ZEKPO_03。
      
       万一。


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


       万一。


 
悻福寶寶
4楼-- · 2020-08-17 21:56

您好,Venkatramesh

您是说以下方式吗? 通过将更新订单项(zekpo)添加到创建中。

添加了一些与上面不同的代码,但是问题仍然相同,表控件无法创建条目。

" SVE"时。

       IF GV_CREATE EQ'X'。

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

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

         从GWA_ZEKKO插入ZEKKO_03。

         将GT_ZEKPO循环到GWA_ZEKPO中。

           GWA_ZEKPO-EBELN = GWA_ZEKPO-EBELN。

           从GWA_ZEKPO INDEX sy-tabix修改GT_ZEKPO。

         结局。

       
        更新ZEKPO_03 SET <<<<<<<<<<<<<<
        玉宝= 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_zekpo插入zekpo_03接受重复的键。
      

       万一。

       如果SY-SUBRC = 0。
         提交工作。
         消息"条目已创建" TYPE" S"。

       ENDIF。

如果我错了,请纠正我。

打一壶酱油
5楼-- · 2020-08-17 22:01

您好,AS

我不理解您的要求,当它是创建对象时-为什么您再次从表中选择它 填充内部表? 因为您的GWA_ZEKPO-EBELN将具有可能在表中不存在的新生成的数字...

根据您的屏幕,您已经在内部表中输入或填充了条目。

所以我相信您的代码应该是这样的

用新生成的数字填充内部标签并按如下所示插入到表中

将LOOP AT GT_ZEKpO插入GWA_ZEKpO。
            GWA_ZEKPO-EBELN = GWA_ZEKKO-EBELN。
            从GWA_ZEKPO INDEX sy-tabix修改GT_ZEKPO。
        结局。
        从表GT_ZEKPO修改ZEKPO_03。

致谢,

Venkat

愤怒的猪头君
6楼-- · 2020-08-17 21:50

我在更新语句中还通过了如下所示的键字段,结果 还是一样

 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-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。
         提交工作。

       ENDIF。
绿领巾童鞋
7楼-- · 2020-08-17 22:10

您好,先生,我们通过遵循您的代码来解决此问题,同时添加了以下内容,以便将数据从tc_zekpo-current_line传递到gt_zekpo模块池

 *&---------------------------------------------  ------------------------ *
 *&模块修改输入
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 模块修改输入。

   描述表GT_ZEKPO行GV_LINES。

   从ZEKPO_03 INDEX TC_ZEKPO-CURRENT_LINE修改GT_ZEKPO。

 ENDMODULE。

 *&------------------------------------------------  --------------------- *
 *&模块INSERT INPUT
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 模块插入输入。

   GWA_ZEKPO-EBELP = TC_ZEKPO-CURRENT_LINE。

   将GWA_ZEKPO附加到GT_ZEKPO。

 ENDMODULE。

 *&------------------------------------------------  --------------------- *
 *&模块PASS_DATA OUTPUT
 *&------------------------------------------------  --------------------- *
 *&
 *&------------------------------------------------  --------------------- *
 模组PASS_DATA输出。

   读取表GT_ZEKPO索引TC_ZEKPO-CURRENT_LINE。

 ENDMODULE。

一周热门 更多>

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