在类中执行源代码时不显示条目

2020-08-19 01:53发布

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

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


您给我分配了使用类来创建采购订单分录的任务(基于MVC设计原则将数据封装在类方法中,在这种情况下为创建操作)。 表格类型实际上存储了我的zekko和zekpo。

参数声明在屏幕截图中。

这是源代码

 如果LV_ZEKKO03_COUNTS> 0并且LV_ZEKPO03_COUNTS> 0。
     es_bapiret2-type ='S'。
     es_bapiret2-id ='成功'。
     es_bapiret2-number ='003'。
     es_bapiret2-message ='已插入行'。
        选择曼特·埃伯恩·贝达特bsart lifnr waers knumv
   从ekko到表it_zheader的对应字段。
          从表it_zitems插入zekko03。
          lv_zekpo03_counts = LINES(it_zitems)。


   SELECT曼特·埃伯恩·埃贝尔普·布克尔werks matnr menge meins netpr
   从ekpo到表it_zitems的对应字段。

 从表it_zitems中插入zekpo03。
 lv_zekpo03_counts =行数(it_zitems)。

 其他。
       es_bapiret2-type ='E'。
     es_bapiret2-id ='错误'。
     es_bapiret2-number ='004'。
     es_bapiret2-message ='未添加任何行'。

 endif。

如果您有这方面的经验,您是否愿意分享一种更好的方法?

(13.8 kB)

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

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


您给我分配了使用类来创建采购订单分录的任务(基于MVC设计原则将数据封装在类方法中,在这种情况下为创建操作)。 表格类型实际上存储了我的zekko和zekpo。

参数声明在屏幕截图中。

这是源代码

 如果LV_ZEKKO03_COUNTS> 0并且LV_ZEKPO03_COUNTS> 0。
     es_bapiret2-type ='S'。
     es_bapiret2-id ='成功'。
     es_bapiret2-number ='003'。
     es_bapiret2-message ='已插入行'。
        选择曼特·埃伯恩·贝达特bsart lifnr waers knumv
   从ekko到表it_zheader的对应字段。
          从表it_zitems插入zekko03。
          lv_zekpo03_counts = LINES(it_zitems)。


   SELECT曼特·埃伯恩·埃贝尔普·布克尔werks matnr menge meins netpr
   从ekpo到表it_zitems的对应字段。

 从表it_zitems中插入zekpo03。
 lv_zekpo03_counts =行数(it_zitems)。

 其他。
       es_bapiret2-type ='E'。
     es_bapiret2-id ='错误'。
     es_bapiret2-number ='004'。
     es_bapiret2-message ='未添加任何行'。

 endif。

如果您有这方面的经验,您是否愿意分享一种更好的方法?

(13.8 kB)
付费偷看设置
发送
3条回答
渐行渐远_HoldOn
1楼-- · 2020-08-19 02:38

>>您好,我被分配了使用类创建采购订单的任务(基于MVC设计原理将数据封装在类方法中,在这种情况下为创建操作)。 该表类型实际上存储了我的zekko和zekpo。

我无法理解您所提供的编码完全满足您的"分配"情况。

< em >>>如果您有这方面的经验,您是否愿意分享一种更好的方法?

这是一个非常开放的问题。 您的实际问题是什么,或者您要改进什么或者不确定什么?

关于您的编码,我可以对您所介绍的每一行代码发表评论。

  • IT_xxx:基于匈牙利表示法,IT_xxx代表"导入表"(导入到函数/表单/方法中),而不是内部(=本地)表(在函数/表单/方法中处理) ),即LT_xxx,并且根据您的混合编码,我什至不确定它应该是一个还是另一个,甚至两者都应。 然后还有CT_xxx(更改表)和ET_xxx(导出表)。 如果您真的想继续使用匈牙利表示法(已经过时),至少要保持一致。
  • IT_ZHEADER:您将EKKO的所有内容都转储到内部表IT_ZHEADER中,但是您什么都不做 相反,您尝试将IT_ZITEMS中的数据插入ZEKKO03中(也许您想将IT_ZHEADER加载到ZEKKO03中?)
  • IT_ZITEMS:首先,您尝试将IT_ZITEMS中的数据(导入表或内部表?)插入 ZEKKO03,然后将EKPO中的所有内容加载到IT_ZITEMS中,然后尝试将其插入ZEKPO03中。 我怀疑已经应该引起语法检查错误,因为我认为表类型ZEKKO03和ZEKPO03不相同,并且IT_ZITEMS只能是其中之一
  • LV_ZEKKO03_COUNTS/LV_ZEKPO03_COUNTS:您只能基于 在IF子句中,这些值必须大于零,但是您稍后再将这些值重新分配给选定的记录数。 它们的初始值和后来的值之间是什么关系?
  • ES_BAPIRET2:您在插入数据之前过早设置了成功消息,甚至不知道是否已插入任何数据。 我假设您只能这样做,因为您了解LVxxxCOUNT值的依赖性与将从ZEKKOx表中加载的内容之间的关系。
    您设置的错误消息不是基于实际的ERROR,而是基于 值为零。 通常,这仅需要信息,可能是警告,但是会出现错误?
    您滥用返回结构的字段,ID是代表ABAP存储库中MESSAGE CLASS的技术代码。 ID"成功"和"错误"不存在,因此也没有与该不存在的消息类别相关的任何消息号。 如果要基于不存在的消息类别创建消息,只需将ID和NUMBER留空,否则请参考有关BAPIRET2的其他问题: /img/questions/13028306/bapiret2-message-not-showing.html
Haoba3210
2楼-- · 2020-08-19 02:51

我建议您在发布更多具有相同错误的问题之前,先解决此处给出的答案:

/img/questions/13028306/bapiret2-message-not-showing.html

Haoba3210
3楼-- · 2020-08-19 02:41

AS ,请继续关注您提出的问题。

  • 评论答案或您的问题是否还有未解决的问题。
  • 否则将答案标记为接受,如果它可以帮助您解决问题
  • 或发布您自己的答案并接受 如果您自己找到了另一个有用的解决方案
  • ,或者将您的问题重定向到另一个相关且对解决您的问题有用的问题
  • 最后,请关闭您的问题

一周热门 更多>