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条回答
Aaron 3364
1楼-- · 2020-09-09 03:54

嗨杰伊,

我已经打开了LVBAK001和82行,从下面的66行代码开始。

如您所见,它仍在扩展结构中工作。

BAPE_VBAK是我们添加到VBAK(销售标题表)的扩展字段的结构。

您说您没有将任何数据传递给扩展名,
是否有可能仍在将更新标志传递给扩展名参数表(可能是EXTENSIONEX参数)
所以BAPI仍在尝试设置扩展名,但是 找不到吗? this一下

 *填充标题bapi的扩展结构
   如果da_extension_needed = charx。
     将对应的da_vbak移动到da_bape_vbak。
     CATCH SYSTEM-EXCEPTIONS conversion_errors = 1。
 * Belegnummerübernehmen
       将da_vbak-vbeln移动到da_bape_vbak-vbeln。
 * Strukturnamen setzen
       将" BAPE_VBAK"移动到ch_parex结构。
 *确定使用的bape_vbak的长度
       描述字段da_bape_vbak
                长度l_len_value
                在字节模式下。
       da_length_bape_vbak =
          l_len_value DIV cl_abap_char_utilities =>字符大小+
          符号(l_len_value MOD cl_abap_char_utilities => charsize)。
 * Datenübertragen* CHECKMAN/UNICODE
       调用方法cl_abap_container_utilities => fill_container_c" <<< LINE 82 !!!
         出口
           im_value = da_bape_vbak
         输入
           ex_container = ch_parex + lenstruc(da_length_bape_vbak)
         例外情况
           invalid_parameter_type = 1
           其他= 2。
     结束。
 * Erweiterungsstruktur aufbauen
     附录ch_parex。
   ENDIF。
jovirus
2楼-- · 2020-09-09 03:47

谢谢

此注释中的代码是最新的。

致谢

Jay

SC_Yao
3楼-- · 2020-09-09 03:59

您的版本是什么,系统中是否存在诸如BAPE_VBAK之类的结构,您是否使用了最新的支持包(2012年有此错误的注释 ?)

一周热门 更多>