创建生产订单BAPI(BAPI_PRODORD_CREATE)的例子

*&---------------------------------------------------------------------*
*& Form FRM_CREATE_PRODORD
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FRM_CREATE_PRODORD CHANGING P_FW_OUTPUT STRUCTURE GS_OUTPUT.
  DATA:LS_ORDERDATA TYPE BAPI_PP_ORDER_CREATE.
  DATA:LS_RETURN       TYPE BAPIRET2,
       LV_ORDER_NUMBER TYPE BAPI_ORDER_KEY-ORDER_NUMBER.
  CLEAR:LS_ORDERDATA.

  LS_ORDERDATA-MATERIAL_LONG = P_FW_OUTPUT-MATNR.
  LS_ORDERDATA-PLANT = P_FW_OUTPUT-DWERK.
  LS_ORDERDATA-ORDER_TYPE = 'ZP02'.
  LS_ORDERDATA-QUANTITY = P_FW_OUTPUT-ZXDSL.
*  LS_ORDERDATA-BASIC_START_DATE = '20160101' ."SY-DATUM. "
  LS_ORDERDATA-BASIC_START_DATE = SY-DATUM ."SY-DATUM. "
  LS_ORDERDATA-BASIC_END_DATE = P_FW_OUTPUT-ZDDJQ.
  LS_ORDERDATA-STORAGE_LOCATION = P_FW_OUTPUT-LGORT.
*  LS_ORDERDATA-UNLOADING_POINT = P_FW_OUTPUT-ZHTBM.

  CALL FUNCTION 'BAPI_PRODORD_CREATE'
    EXPORTING
      ORDERDATA    = LS_ORDERDATA
*     FSH_PRODORD_SEASON       =
    IMPORTING
      RETURN       = LS_RETURN
      ORDER_NUMBER = LV_ORDER_NUMBER
*     ORDER_TYPE   =
    .
  IF LS_RETURN-TYPE = 'E'.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    ROLLBACK WORK.
    CONCATENATE '创建生产订单报错:' LS_RETURN-MESSAGE INTO P_FW_OUTPUT-MESSAGE.
    MOVE GC_LIGHT_R TO P_FW_OUTPUT-STATUS.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
    P_FW_OUTPUT-AUFNR = LV_ORDER_NUMBER.

    P_FW_OUTPUT-WENGE = P_FW_OUTPUT-WENGE + P_FW_OUTPUT-ZDDJQ."已下单数量
    P_FW_OUTPUT-MENGE = P_FW_OUTPUT-MENGE - P_FW_OUTPUT-ZDDJQ."未下单数量
    IF P_FW_OUTPUT-MENGE < 0.
      P_FW_OUTPUT-MENGE = 0.
    ENDIF.
    MOVE GC_LIGHT_G TO P_FW_OUTPUT-STATUS.
    MOVE  '生产订单创建成功' TO P_FW_OUTPUT-MESSAGE.
  ENDIF.



ENDFORM.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joker-Full-stack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值