创建供应商时,通过BDC进行CSAPSAPMSSY0事务处理/屏幕0120

2020-08-20 10:10发布

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

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


您好,亲爱的ABAP'ers

我被分配了一个任务来修复无法正常运行的程序

程序从外部.txt文件创建供应商

供应商是使用BDC命令通过 XK01 事务创建的。

   呼叫交易c_tran
     使用t_bdcdata
     MODE v_mode
     更新v_s
     邮件到t_bdcmsgcoll。
 

t_bdcdata表包含通过XK01事务填充的后续屏幕(程序: SAPMF02K )。

但是在此t_bdcdata表中间,添加了三行:

 程序屏幕Dynbegin Fnam Fval
 --------------------------------------------------  -----------
 SAPMSSY0 0120 X
 0000 BDC_CURSOR 04/03
 0000 BDC_OKCODE =选择
 

SAPMSSY0 是一个子例程池(系统退出),屏幕120看起来是空的,也许它是通过某种方式动态生成的。

问题是在我们的Z程序供应商中未创建。 当我在CALL TRANSACTION语句中将MODE更改为" A"(显示所有屏幕)时,它看起来程序正确地用数据填充了后续的XK01屏幕,但是当正在处理t_bdcdata表中包含SAPMSSY0相关记录的行时,随后的XK01屏幕将变为 清除,其余BDC供应商创建过程已损坏。 而且我收到一条消息

屏幕SAPMF02K 0120没有批输入数据

为什么在我之前的某个人(我无法再与该人联系)在创建供应商期间调用了此SAPMSSY0/120屏幕? 当我注释这三行代码时-供应商创建过程就成功了。

我应该怎么做才能解决这个问题?

我将感谢一些提示。

问候。

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

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


您好,亲爱的ABAP'ers

我被分配了一个任务来修复无法正常运行的程序

程序从外部.txt文件创建供应商

供应商是使用BDC命令通过 XK01 事务创建的。

   呼叫交易c_tran
     使用t_bdcdata
     MODE v_mode
     更新v_s
     邮件到t_bdcmsgcoll。
 

t_bdcdata表包含通过XK01事务填充的后续屏幕(程序: SAPMF02K )。

但是在此t_bdcdata表中间,添加了三行:

 程序屏幕Dynbegin Fnam Fval
 --------------------------------------------------  -----------
 SAPMSSY0 0120 X
 0000 BDC_CURSOR 04/03
 0000 BDC_OKCODE =选择
 

SAPMSSY0 是一个子例程池(系统退出),屏幕120看起来是空的,也许它是通过某种方式动态生成的。

问题是在我们的Z程序供应商中未创建。 当我在CALL TRANSACTION语句中将MODE更改为" A"(显示所有屏幕)时,它看起来程序正确地用数据填充了后续的XK01屏幕,但是当正在处理t_bdcdata表中包含SAPMSSY0相关记录的行时,随后的XK01屏幕将变为 清除,其余BDC供应商创建过程已损坏。 而且我收到一条消息

屏幕SAPMF02K 0120没有批输入数据

为什么在我之前的某个人(我无法再与该人联系)在创建供应商期间调用了此SAPMSSY0/120屏幕? 当我注释这三行代码时-供应商创建过程就成功了。

我应该怎么做才能解决这个问题?

我将感谢一些提示。

问候。

付费偷看设置
发送
2条回答
软件心理学工程师
1楼 · 2020-08-20 10:52.采纳回答

我认为SAPMSSY0屏幕0120是经典列表输出(WRITE语句)的"容器"。 该代码将光标置于第4行第3列(反之亦然)上并"双击",因此显然选择了一些列表条目。

这响了吗? 好吧,如果没有此代码也可以正常工作,请尝试将其注释掉,并确保它仍然适用于每个用例。 ????

Thomas

SKY徐
2楼-- · 2020-08-20 10:35

我们有一个类似的问题,但是有一个自己的事务:如果不通过后台进程启动,则批量输入成功,但是相应的作业失败了……我们进行了非常搜索 出于这个原因很久。

最后,答案很简单,但也许对其他人有帮助

原因是容器中ALV列表的调用(作为我们交易的一部分)。 当然,在后台调用时,此ALV列表("自定义容器"中的" ALV网格控件")的行为也很奇怪。 在我们的情况下,在后台处理过程中不需要此ALV列表...因此,在SY-BATCH = X的情况下,我们将其跳过。

一周热门 更多>