BAPI_SALESORDER_CREATEFROMDAT2,异常-发生CX_SY_RANGE_OUT_OF_BOUNDS。

2020-09-09 02:53发布

         点击此处--->   EasySAP.com群内免费提供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。

         点击此处--->   EasySAP.com群内免费提供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。

付费偷看设置
发送
9条回答
当学会了学习
1楼-- · 2020-09-09 03:56

嗨Jayant,

要了解到底发生了什么,
转到事务ST22,找到有关该异常的转储详细信息。

也许您编码的扩展在后台,子函数或子函数中的工作方式有所不同 BAPI下需要您设置其他内容。

使用菜单项:系统>列表>保存>本地文件> RTF,以下载转储详细信息并在此处共享。

然后我们可以检查它。

huskylover
2楼-- · 2020-09-09 03:37

嗨,请在下面找到转储详细信息。

无效的子字段访问:偏移量和长度太大

发生异常,下面将对其进行详细说明。 分配给类'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

风早神人
3楼-- · 2020-09-09 03:42

嗨,请在下面找到转储详细信息。

无效的子字段访问:偏移量和长度太大

发生异常,下面将对其进行详细说明。 分配给类'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

大简至美
4楼-- · 2020-09-09 03:47

嗨,

TQ进行响应。

实际上,我没有在BAPI中传递任何要扩展的数据。 但是它仍然给错误。

我的要求是

>使用不带扩展名的BAPI创建销售订单。

>使用带有扩展名的BAPI进行贷记和借记(自定义字段仅在此处适用)。

因此Bapi应该与/不与扩展数据一起使用。

此致

Jay。

粗暴的香蕉
5楼-- · 2020-09-09 03:42

我记得这个问题,

BAPI扩展表有4个部分(4个字段),并且您正在生成一个字符串,我认为仅使用valuepart1字段。 是吗?

如果扩展字符串的长度超过1000个字符,则应首先用字符串的前1000个字符填充valuepart1,然后用其余部分填充valuepart2。

(1000表示valuepart1字段的长度,我不确定)

我希望对您有帮助

Balent Balci

lukcy2020
6楼-- · 2020-09-09 03:45

感谢TQ,

在调用BAPI时,我没有通过扩展标签,实际上它已被注释。

此致

Jayant

一周热门 更多>