ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BAPI_GOODSMVT_CREATE 工单发料 261 实例

2021-11-09 15:01:11  阅读:347  来源: 互联网

标签:BAPI RETURN CREATE ITEM 261 LS TAB MSG TYPE


DATA LS_HEADER         TYPE BAPI2017_GM_HEAD_01.
DATA LS_CODE           TYPE BAPI2017_GM_CODE.
DATA LV_REDOC          TYPE BAPI2017_GM_HEAD_RET-MAT_DOC.     "返回的凭证号码
DATA LT_ITEM           TYPE STANDARD TABLE OF BAPI2017_GM_ITEM_CREATE.
DATA LS_ITEM           TYPE BAPI2017_GM_ITEM_CREATE.
DATA LT_RETURN         TYPE STANDARD TABLE OF BAPIRET2.
DATA LS_RETURN         TYPE BAPIRET2.


"抬头数据
LS_HEADER-PSTNG_DATE = SY-DATUM.
LS_HEADER-DOC_DATE = SY-DATUM.

"分配事务代码--过账码
LS_CODE-GM_CODE = '03'.

"ITEM
CLEAR GS_ALV.
LOOP AT GT_ALV INTO GS_ALV WHERE SEL = 'X'.
  LS_ITEM-MATERIAL = GS_ALV-MATNR1.             "料号
  LS_ITEM-PLANT = GS_ALV-WERKS.                 "工厂
  LS_ITEM-STGE_LOC = GS_ALV-LGORT.              "库存地点
  LS_ITEM-MOVE_TYPE = '261'.                    "移动类型(库存管理)
  LS_ITEM-ORDERID =   GS_ALV-AUFNR.             "工单
  LS_ITEM-RESERV_NO = GS_ALV-RSNUM.             "预留/相关需求的编号 RESB~RSNUM
  LS_ITEM-RES_ITEM = GS_ALV-RSPOS.              "预留/相关需求的项目编号 RESB~RSPOS
  LS_ITEM-ENTRY_QNT = GS_ALV-ZCMNG.           "发料数量
  LS_ITEM-ENTRY_UOM = GS_ALV-MEINS.             "计量单位

  APPEND LS_ITEM TO LT_ITEM.
ENDLOOP.

"BAPI
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
  GOODSMVT_HEADER  = LS_HEADER
  GOODSMVT_CODE    = LS_CODE
IMPORTING
  MATERIALDOCUMENT = LV_REDOC
TABLES
  GOODSMVT_ITEM    = LT_ITEM
  RETURN           = LT_RETURN.

IF ( LINE_EXISTS( LT_RETURN[ TYPE = 'A' ] ) ) OR ( LINE_EXISTS( LT_RETURN[ TYPE = 'E' ] ) ).
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

  DATA: LT_MSG_TAB TYPE ESP1_MESSAGE_TAB_TYPE,
        WA_MSG_TAB LIKE LINE OF LT_MSG_TAB.

  LOOP AT LT_RETURN INTO LS_RETURN WHERE TYPE = 'A' OR TYPE = 'E'.
    WA_MSG_TAB-MSGID  = LS_RETURN-ID.
    WA_MSG_TAB-MSGTY  = LS_RETURN-TYPE.
    WA_MSG_TAB-MSGNO  = LS_RETURN-NUMBER.
    WA_MSG_TAB-MSGV1  = LS_RETURN-MESSAGE_V1.
    WA_MSG_TAB-MSGV2  = LS_RETURN-MESSAGE_V2.
    WA_MSG_TAB-MSGV3  = LS_RETURN-MESSAGE_V3.
    WA_MSG_TAB-MSGV4  = LS_RETURN-MESSAGE_V4.
    WA_MSG_TAB-LINENO = LS_RETURN-ROW.
    APPEND WA_MSG_TAB TO LT_MSG_TAB.
  ENDLOOP.

  CALL FUNCTION 'C14Z_MESSAGES_SHOW_AS_POPUP'
  TABLES
    I_MESSAGE_TAB = LT_MSG_TAB.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    WAIT = 'X'.
ENDIF.

标签:BAPI,RETURN,CREATE,ITEM,261,LS,TAB,MSG,TYPE
来源: https://blog.csdn.net/qq_30797051/article/details/121228115

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有