已经可以使用NW 7.50中的IF_SD_DOC_CATEGORY接口查询VBTYP吗?

2020-08-30 04:24发布

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

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


人们好,

我目前正在做一个小的代码更改(在NW 7.50 SP13中),该更改涉及基于VBTYP从表VBFA中选择数据。 同时,我正在阅读一些与SD简化相关的S/4HANA-Cookbook,其中之一是VBTYP从1个字符扩展到4个字符(注释2198647 )。 在该Cookbook中,提到了接口IF_SD_DOC_CATEGORY ,我注意到它已经在我们的系统中可用。 因此,在该接口中,我迅速将代码从文字更改为相应的关联类型,从而获得与运行程序之前相同的结果:

 SELECT DISTINCT vbfa_ls〜vbeln AS vbeln
                      vbfa_ls〜vbtyp_n AS vbtyp_n_rg
                      vbfa_ls〜vbtyp_v AS vbtyp_v_ls
                      vbfa_ls〜vbelv AS vbeln_ls
                      vbfa_tr〜vbtyp_n AS vbtyp_n_tr
                      vbfa_tr〜vbtyp_v AS vbtyp_v_tr
                      vbfa_tr〜vbeln AS vbeln_tr
                 从vbfa AS vbfa_ls
                 左外联接vbfa AS vbfa_tr
                   开启vbfa_tr〜vbelv EQ vbfa_ls〜vbelv
                  AND vbfa_tr〜vbtyp_n EQ IF_SD_DOC_CATEGORY =>运费
 * AND vbfa_tr〜vbtyp_n EQ'8'"运输
                 表gt_vbfa_v的对应字段
                  对于gt_main中的所有条目
                在哪里vbfa_ls〜vbeln EQ gt_main-vbeln
                  AND vbfa_ls〜vbtyp_n EQ IF_SD_DOC_CATEGORY => INVOICE
 * AND vbfa_ls〜vbtyp_n EQ'M'"
                  AND vbfa_ls〜vbtyp_v EQ IF_SD_DOC_CATEGORY =>传送。
 * AND vbfa_ls〜vbtyp_v EQ'J'。  " Lieferung 

我只是在界面上做了一个"用处",发现它已在SAP代码中大量使用,但在我们的自定义代码中还没有提及任何内容。

所以,我想知道是否可以在我们自己的代码中使用它,并且一旦我们实际转换为S/4HANA,是否会使事情变得至少容易一点?

如果这是我们可以/应该已经使用esp的东西。 对于依赖VBTYP的新代码或对现有逻辑的更改,我会告诉开发人员从接口从文字和/或我们自己的常量切换为这些关联的类型。 想到这一点,我也许还可以将其作为附加的ATC检查,因为它现在已经可以修复,并且不依赖于S/4HANA上的系统。

感谢和欢呼

贝尔贝尔

PS:我首先将这个问题放在 Olga Dolinskaja 的评论 关于2017年自定义代码适应过程的一篇很有帮助的博客文章,但随后认为它可能更受关注,因此将其转换为这个问题。

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

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


人们好,

我目前正在做一个小的代码更改(在NW 7.50 SP13中),该更改涉及基于VBTYP从表VBFA中选择数据。 同时,我正在阅读一些与SD简化相关的S/4HANA-Cookbook,其中之一是VBTYP从1个字符扩展到4个字符(注释2198647 )。 在该Cookbook中,提到了接口IF_SD_DOC_CATEGORY ,我注意到它已经在我们的系统中可用。 因此,在该接口中,我迅速将代码从文字更改为相应的关联类型,从而获得与运行程序之前相同的结果:

 SELECT DISTINCT vbfa_ls〜vbeln AS vbeln
                      vbfa_ls〜vbtyp_n AS vbtyp_n_rg
                      vbfa_ls〜vbtyp_v AS vbtyp_v_ls
                      vbfa_ls〜vbelv AS vbeln_ls
                      vbfa_tr〜vbtyp_n AS vbtyp_n_tr
                      vbfa_tr〜vbtyp_v AS vbtyp_v_tr
                      vbfa_tr〜vbeln AS vbeln_tr
                 从vbfa AS vbfa_ls
                 左外联接vbfa AS vbfa_tr
                   开启vbfa_tr〜vbelv EQ vbfa_ls〜vbelv
                  AND vbfa_tr〜vbtyp_n EQ IF_SD_DOC_CATEGORY =>运费
 * AND vbfa_tr〜vbtyp_n EQ'8'"运输
                 表gt_vbfa_v的对应字段
                  对于gt_main中的所有条目
                在哪里vbfa_ls〜vbeln EQ gt_main-vbeln
                  AND vbfa_ls〜vbtyp_n EQ IF_SD_DOC_CATEGORY => INVOICE
 * AND vbfa_ls〜vbtyp_n EQ'M'"
                  AND vbfa_ls〜vbtyp_v EQ IF_SD_DOC_CATEGORY =>传送。
 * AND vbfa_ls〜vbtyp_v EQ'J'。  " Lieferung 

我只是在界面上做了一个"用处",发现它已在SAP代码中大量使用,但在我们的自定义代码中还没有提及任何内容。

所以,我想知道是否可以在我们自己的代码中使用它,并且一旦我们实际转换为S/4HANA,是否会使事情变得至少容易一点?

如果这是我们可以/应该已经使用esp的东西。 对于依赖VBTYP的新代码或对现有逻辑的更改,我会告诉开发人员从接口从文字和/或我们自己的常量切换为这些关联的类型。 想到这一点,我也许还可以将其作为附加的ATC检查,因为它现在已经可以修复,并且不依赖于S/4HANA上的系统。

感谢和欢呼

贝尔贝尔

PS:我首先将这个问题放在 Olga Dolinskaja 的评论 关于2017年自定义代码适应过程的一篇很有帮助的博客文章,但随后认为它可能更受关注,因此将其转换为这个问题。

付费偷看设置
发送
4条回答
shere_lin
1楼 · 2020-08-30 05:08.采纳回答

嗨,

根据注释使用接口常量是一个不错的选择。 在转换活动期间,它将跳过总影响列表,并使自定义代码更简洁明了。

SC_Yao
2楼-- · 2020-08-30 05:24

同意。 不是在这个领域,而是在另一个领域,我不得不做类似的转换。 常量字面量会带来很多痛苦,并且极少使用(如果有的话)。 在其他地方,讨论了有关管理常量的最佳实践。 ABAP清洁代码项目有一些建议。

土豆飞人
3楼-- · 2020-08-30 05:17

尊敬的Winkler女士,

您知道是否只有一个便条可以实现该接口吗?

您提到NW 750 SP13,这是最低的SP级别,您在系统中找到接口了吗?

谢谢!

Michael Kretz

路亽曱_Ryan
4楼-- · 2020-08-30 05:16

嗨,Michael

不幸的是,我没有系统可用来检查此界面首次出现的时间,因此无法真正回答您的问题 问题。

干杯

贝尔贝尔

一周热门 更多>