点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,古鲁,
在使用BAPI BAPI_SALESORDER_CREATEFROMDAT2进行销售订单创建时,我面临以下异常。
发生了类型为CX_SY_RANGE_OUT_OF_BOUNDS的异常,但既未在本地处理,也未在RAISING子句中声明。
从入站PI代理,我们触发自定义FM,该FM调用此BAPI进行SO创建。 在bapi调用的此过程中,我们面临异常。 到今天为止,此PI调用运行良好。 从过去四个月开始。
这有什么影响吗?
最近(三天前),我对SO Header和Item做为自定义标签进行了扩展。 对于贷项和借项凭单(根据实现的条件),它绝对可以正常工作。 手动,一切正常,包括表更新和基于tcode va01/va02/va03禁用选项卡。
下面是用于创建标签栏的博客。
https ://itsabaper.blogspot.com/2018/10/badi-add-header-tab-custom-fields-in.html
http ://vaigundaraja65.blogspot.com/2016/04/badi-add-item-tab-custom-fields-in_13.html
我应该为PI流程更新一些内容,否则上述步骤对于SO选项卡的创建是正确的。 ??建议很受欢迎。
此致
Jayant。
嗨Jayant,
要了解到底发生了什么,
转到事务ST22,找到有关该异常的转储详细信息。
也许您编码的扩展在后台,子函数或子函数中的工作方式有所不同 BAPI下需要您设置其他内容。
使用菜单项:系统>列表>保存>本地文件> RTF,以下载转储详细信息并在此处共享。
然后我们可以检查它。
嗨,请在下面找到转储详细信息。
无效的子字段访问:偏移量和长度太大
发生异常,下面将对其进行详细说明。 分配给类'CX_SY_RANGE_OUT_OF_BOUNDS'的异常未在过程" MAP_VBAK_TO_BAPISDHD""(FORM)"中捕获,也没有通过RAISING子句传播。 由于过程的调用者无法预期会发生异常,因此当前程序将终止。 出现异常的原因是:在运行的程序" SAPLVBAK"中,将使用偏移量30和长度962来访问类型为" u"且长度为990的字段" CH_PAREX"。但是,将访问子字段 其中,偏移量和长度规格之和大于字段长度是不允许的。
如果该错误发生在未经修改的SAP程序中,则可以在SAP Note中找到临时解决方案。 如果您有权访问SAP Notes,请使用以下关键字进行搜索:" DATA_OFFSET_LENGTH_TOO_LARGE"" CX_SY_RANGE_OUT_OF_BOUNDS"" SAPLVBAK"或" LVBAK001"" MAP_VBAK_TO_BAPISDHD"
终止在ABAP程序" SAPLVBAK"中-在" MAP_VBAK_TO_BAPISDHD"中。 主程序是" RS_TESTFRAME_CALL"。 在源代码中,(包含)程序" LVBAK001"的第82行具有终止点。 终止是由于在过程" MAP_VBAK_TO_BAPISDHD""(FORM)"中发生了异常" CX_SY_RANGE_OUT_OF_BOUNDS",但未在本地处理它,也未在其签名的RAISING子句中声明它。 该程序在程序" SAPLVBAK"中; 其源代码始于(包括程序" LVBAK001"的第27行。
谢谢:)
角色,
Jayant
嗨,请在下面找到转储详细信息。
无效的子字段访问:偏移量和长度太大
发生异常,下面将对其进行详细说明。 分配给类'CX_SY_RANGE_OUT_OF_BOUNDS'的异常未在过程" MAP_VBAK_TO_BAPISDHD""(FORM)"中捕获,也没有通过RAISING子句传播。 由于过程的调用者无法预期会发生异常,因此当前程序将终止。 出现异常的原因是:在运行的程序" SAPLVBAK"中,将使用偏移量30和长度962来访问类型为" u"且长度为990的字段" CH_PAREX"。但是,将访问子字段 其中,偏移量和长度规格之和大于字段长度是不允许的。
如果该错误发生在未经修改的SAP程序中,则可以在SAP Note中找到临时解决方案。 如果您有权访问SAP Notes,请使用以下关键字进行搜索:" DATA_OFFSET_LENGTH_TOO_LARGE"" CX_SY_RANGE_OUT_OF_BOUNDS"" SAPLVBAK"或" LVBAK001"" MAP_VBAK_TO_BAPISDHD"
终止在ABAP程序" SAPLVBAK"中-在" MAP_VBAK_TO_BAPISDHD"中。 主程序是" RS_TESTFRAME_CALL"。 在源代码中,(包含)程序" LVBAK001"的第82行具有终止点。 终止是由于在过程" MAP_VBAK_TO_BAPISDHD""(FORM)"中发生了异常" CX_SY_RANGE_OUT_OF_BOUNDS",但未在本地处理它,也未在其签名的RAISING子句中声明它。 该程序在程序" SAPLVBAK"中; 其源代码始于(包括程序" LVBAK001"的第27行。
谢谢:)
角色,
Jayant
嗨,
TQ进行响应。
实际上,我没有在BAPI中传递任何要扩展的数据。 但是它仍然给错误。
我的要求是
>使用不带扩展名的BAPI创建销售订单。
>使用带有扩展名的BAPI进行贷记和借记(自定义字段仅在此处适用)。
因此Bapi应该与/不与扩展数据一起使用。
此致
Jay。
我记得这个问题,
BAPI扩展表有4个部分(4个字段),并且您正在生成一个字符串,我认为仅使用valuepart1字段。 是吗?
如果扩展字符串的长度超过1000个字符,则应首先用字符串的前1000个字符填充valuepart1,然后用其余部分填充valuepart2。
(1000表示valuepart1字段的长度,我不确定)
我希望对您有帮助
Balent Balci
感谢TQ,
在调用BAPI时,我没有通过扩展标签,实际上它已被注释。
此致
Jayant
一周热门 更多>