ABAP销售订单BOM创建函数CSAP_ORD_BOM_CREATE几点注意事项

项目上做销售订单BOM创建的接口,开发测试过程中遇到了以下几个问题,做了笔记

1.CSAP_ORD_BOM_CREATE 参数问题

函数CSAP_ORD_BOM_CREATE中有一个时间字段参数VALID_FROM,关联类型为CSAP_KBOM-DATUV,CSAP_KBOM-DATUV组件类型为DATUV_BI,其实是CHAR10的字符串类型,但是我们ABAP中普通的时间DATEFROM 其数据类型为8位的DATS类型,这就需要我们通过函数进行转化,使用的函数为CONVERT_DATE_TO_EXTERNAL

CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
  EXPORTING
    DATE_INTERNAL            = IS_HEAD-DATUV
  IMPORTING
    DATE_EXTERNAL            = LV_VALID_FROM     "根据用户日期格式参数输出:YYYY.MM.DD
  EXCEPTIONS
    DATE_INTERNAL_IS_INVALID = 1
    OTHERS                   = 2.
  IF SY-SUBRC NE 0 .
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

2.数量及组件数量问题

这个问题其实很坑,最终的原因找到都要笑死

问题描述:接口开发测试过程中,开发环境上测试,数据没问题,但是到了生产环境,数据量莫名的被扩大了1000倍,最终通过DABUG发现函数CSAP_ORD_BOM_CREATE在底层代码里扩大了1000倍,于是呼,修改传入的数量/1000。以为问题解决了,后来测试部分数据又变为缩小10倍,部分数据又准确,于是乎,再次DABUG,发现该函数跟用户的基本缺省配置有关系,见下图

SU01用户设置

 若我选择X,数据不会扩大1000倍,但是选择Y就会默认扩大1000倍,其原因为函数底层代码中会根据用户缺省配置,通过 , 及 . 去处理数据,有兴趣的可以自己研究下

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CSAP_MAT_BOM_DELETE是一个函数模块,用于删除BOM(Bill of Materials)中的物料。它的调用方式是通过CALL FUNCTION语句来调用,同时需要提供一些参数,如物料号(material)、工厂(plant)、BOM用途(bom_usage)等。在调用过程中,如果出现错误,可以通过EXCEPTIONS子句来处理异常情况。\[3\] #### 引用[.reference_title] - *1* [SAP ABAP BOM 更新函数 CSAP_MAT_BOM_MAINTAIN使用](https://blog.csdn.net/m0_38069169/article/details/130881562)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SAPBOM删除和维护](https://blog.csdn.net/Mr_Von/article/details/2872497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [BOM 修改与删除](https://blog.csdn.net/wren2004/article/details/5834811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值