SAP BAPI BAPI 您所在的位置:网站首页 编程change SAP BAPI BAPI

SAP BAPI BAPI

2024-03-03 16:52| 来源: 网络整理| 查看: 265

"需求:SRM调用接口进行入库和冲销的时候,需要检查传过来的采购订单号和 "行项目号,将最近收货日期(EKPO-LEWED)调用BAPI清空,打开采购订单,"进行入库和冲销,当入库凭证或者物料凭证产生后将最近收货日期(EKPO-"LEWED)打上关闭标识,即赋值20190101 DATA: LS_POITEM TYPE BAPIMEPOITEM , LS_POITEMX TYPE BAPIMEPOITEMX , LS_RETURN TYPE BAPIRET2 , LT_RETURN TYPE TABLE OF BAPIRET2 , LT_POITEM TYPE TABLE OF BAPIMEPOITEM , LT_POITEMX TYPE TABLE OF BAPIMEPOITEMX . "将最近收货日期(EKPO-LEWED)调用BAPI清空 LOOP AT it_mseg.

LS_POITEM-PO_ITEM = it_mseg-ebelp. LS_POITEM-GR_TO_DATE = '00000000'. "最近收货日期 APPEND LS_POITEM TO LT_POITEM. CLEAR:LS_POITEM. LS_POITEMX-PO_ITEM = it_mseg-ebelp. LS_POITEMX-GR_TO_DATE = 'X'. "允许的未限制的过量交货 APPEND LS_POITEMX TO LT_POITEMX. CLEAR:LS_POITEMX. 修改采购订单号 CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder = it_mseg-ebeln TABLES RETURN = LT_RETURN POITEM = LT_POITEM POITEMX = LT_POITEMX . 报错处理 READ TABLE LT_RETURN INTO LS_RETURN WITH KEY TYPE = 'E'. IF SY-SUBRC = 0. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. 提交 ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING WAIT = 'X'. ENDIF. CLEAR:LT_RETURN[],LT_POITEM[],LT_POITEMX[]. ENDLOOP.

"打上关闭标识 LOOP AT it_mseg.

LS_POITEM-PO_ITEM = it_mseg-ebelp. LS_POITEM-GR_TO_DATE = '20190101'. "最近收货日期 APPEND LS_POITEM TO LT_POITEM. CLEAR:LS_POITEM. LS_POITEMX-PO_ITEM = it_mseg-ebelp. LS_POITEMX-GR_TO_DATE = 'X'. "允许的未限制的过量交货 APPEND LS_POITEMX TO LT_POITEMX. CLEAR:LS_POITEMX. 修改采购订单号 CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder = it_mseg-ebeln TABLES RETURN = LT_RETURN POITEM = LT_POITEM POITEMX = LT_POITEMX . 报错处理 READ TABLE LT_BAPIRET2 INTO LS_RETURN WITH KEY TYPE = 'E'. IF SY-SUBRC = 0. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. 提交 ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING WAIT = 'X'. ENDIF. CLEAR:LT_RETURN[],LT_POITEM[],LT_POITEMX[]. ENDLOOP.


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有