呼叫交易FBV0为同一用户使用不同的屏幕

2020-09-23 19:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在编辑两个功能模块,它们通过...

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

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


我正在编辑两个功能模块,它们通过调用事务FBV0来处理停放的FI文档。 我正在使用完全相同的输入在同一客户端,同一用户中调试它们。 仍然一个使用屏幕SAPMF05A 1001,另一个使用SAPLF0400700。我不知道为什么。

此线程似乎相关,但我看不到 如何设置屏幕变体,为什么我的用户将使用不同的屏幕变体。

这是第一种情况

我将切换到显示模式A以查看所有屏幕,然后继续。

我到达屏幕

这是表BDCDATA中的数据

 SAPMF05V 0100 X
 0000 BDC_CURSOR RF05V-BUKRS
 0000 RF05V-BUKRS 1000
 0000 RF05V-BELNR 5200000001
 0000 RF05V-GJAHR 2018年
 0000 BDC_OKCODE/00
 SAPMF05A 1001 X
 0000 BDC_OKCODE = BS
 SAPMSSY0 0120 X
 0000 BDC_OKCODE = F03
 SAPMF05A 1001 X
 0000 BDC_OKCODE = RW
 SAPLSPO1 0200 X
 0000 BDC_OKCODE = YES 

然后我将调试其他功能

切换到显示模式A并继续(同一文档)

但是屏幕是SAPLF040

这是来自gt_bdcdata的数据-与上一个功能模块中的数据完全相同。

 SAPMF05V 0100 X
 0000 BDC_CURSOR RF05V-BUKRS
 0000 RF05V-BUKRS 1000
 0000 RF05V-BELNR 5200000001
 0000 RF05V-GJAHR 2018年
 0000 BDC_OKCODE/00
 SAPMF05A 1001 X
 0000 BDC_OKCODE = BS
 SAPMSSY00120 X
 0000 BDC_OKCODE = F03
 SAPMF05A1001 X
 0000 BDC_OKCODE = RW
 SAPLSPO10200 X
 0000 BDC_OKCODE = YES 

在这种情况下,为什么SAP使用不同的屏幕?

(17.3 kB)
3条回答
黑丝骑士
2020-09-23 20:26

您的一个功能模块正在更改标准内存ID" F040_TEST"。 这就是为什么可以显示屏幕SAPMF05A 1001代替SAPLF040 0700的原因:

从char_x导出global_test_flag到内存ID'F040_TEST'。

根据内存ID" F040_TEST"和BKPF-TCODE的值,然后事务FBV0的代码将显示屏幕

SAPMF05A 1001改为屏幕SAPLF040 0700。

交易FBV0的相关SAP标准代码在那里(SAPMF05V的例程beleg_anzeigen):

  • 如果bkpf-tcode = FB50且内存ID" F040_TEST"设置为X,则将调用事务FV50,并显示屏幕SAPMF05A 1001。

在您的测试用例中,文档1000/5200000001/2018的bkpf-tcode值是多少?

一周热门 更多>