ABAP 调用SAP标准程序报错问题分析

1、报错信息

自开发程序调用MB5B标准程序,当选择后台执行时,通过SM37查看运行情况显示:

源码程序参看文章《ABAP-Submit调用SAP标准程序MB5B》

ABAP 调用SAP标准程序报错问题分析_第1张图片

2、原因分析

双击查看Job日志(提示通过ST22查看DUMP信息):

ABAP 调用SAP标准程序报错问题分析_第2张图片

ST22查看到:

Runtime Errors         DYNP_TOO_MANY_RADIOBUTTONS_ON

Short text                 More than one radio button active

 

发生了什么?

    The current screen processing action was terminated since a situation

    occurred where the application could not continue.

    This is probably due to an error in the ABAP program or in the current

    screen.

 

    While preparing the screen

    "RM07MLBD" 1000 for screen display, it was detected that in a group of radio

    buttons, there is more than one field set.

ABAP 调用SAP标准程序报错问题分析_第3张图片

通过以上信息:由于标准程序RM07MLBD(MB5B)前台界面中有 “检测到一组单选按钮中有多个字段集”即单选按钮未设置值(不能用默认值)

ABAP 调用SAP标准程序报错问题分析_第4张图片

即必须对以上字段进行赋值(不能省略)

 

3、解决方法:

将MB5B中的“组单选按钮”在程序中赋值(不能省略),如下指定单选按钮的值:

ABAP 调用SAP标准程序报错问题分析_第5张图片

 

4、其他问题

以上问题解决后,再次运行,SM37里仍然报错运行失败,显示:

ABAP 调用SAP标准程序报错问题分析_第6张图片

该错误原因: The error means that all of your parameters: pa_wdzer, pa_wdzew, pa_wdwiz, pa_wdwuw, pa_wdwew, pa_ndzer, pa_ndsto are blank.

查看我的调用程序:

ABAP 调用SAP标准程序报错问题分析_第7张图片

果然缺少清单范围的参数(F1可以参看具体参数字段):pa_wdzer, pa_wdzew, pa_wdwiz, pa_wdwuw, pa_wdwew, pa_ndzer, pa_ndsto

MB5B参数值“清单范围”不能全为空:

ABAP 调用SAP标准程序报错问题分析_第8张图片

 

修改程序:

ABAP 调用SAP标准程序报错问题分析_第9张图片

再次后台运行程序,SM37查看,成功!!

 

你可能感兴趣的:(ABAP,MM模块,SAP)