SAP-QM-UD自动完成

REPORT ZQMRP0050.

DATA NUMBER         TYPE BAPI2045UD-INSPLOT.
DATA UD_DATA        TYPE BAPI2045UD.
DATA RETURN         LIKE BAPIRETURN1 .

TYPES:BEGIN OF WA_TAB,
        PRUEFLOS TYPE QALS-PRUEFLOS, "检验批
        WERK     TYPE QALS-WERK,  "工厂
        AUFNR    TYPE AFKO-AUFNR, "订单号
        OBJNR    TYPE QALS-OBJNR, "对象号
        STAT     TYPE JEST-STAT, "对象号
      END OF WA_TAB.

TYPES:BEGIN OF LS_JEST,
        STAT     TYPE JEST-STAT,
        PRUEFLOS TYPE QALS-PRUEFLOS,
      END OF LS_JEST.
DATA:IS_JEST TYPE TABLE OF LS_JEST WITH HEADER LINE .
DATA:IT_TAB TYPE TABLE OF WA_TAB WITH HEADER LINE.
DATA:IT_DATA_TMP TYPE TABLE OF WA_TAB WITH HEADER LINE.

SELECT
   C~PRUEFLOS
   C~WERK
*   C~OBJNR
   B~STAT
   A~AUFNR
INTO CORRESPONDING FIELDS OF TABLE IT_TAB
FROM AUFK AS A INNER JOIN
     JEST AS B ON A~OBJNR = B~OBJNR INNER JOIN
     QALS AS C ON A~AUFNR = C~AUFNR
WHERE HERKUNFT = '03' AND
      INACT    = ''   AND
      B~STAT = 'I0012'.

IT_DATA_TMP[] = IT_TAB[].
SORT IT_DATA_TMP BY PRUEFLOS.
DELETE ADJACENT DUPLICATES FROM  IT_DATA_TMP COMPARING PRUEFLOS.
SELECT STAT PRUEFLOS INTO CORRESPONDING FIELDS OF TABLE IS_JEST
FROM JEST AS A INNER JOIN
     QALS AS B ON A~OBJNR = B~OBJNR
FOR ALL ENTRIES IN IT_DATA_TMP
WHERE PRUEFLOS = IT_DATA_TMP-PRUEFLOS AND
      INACT = '' AND
      STAT  = 'I0218'.

LOOP AT IT_TAB.
  READ TABLE IS_JEST WITH KEY PRUEFLOS = IT_TAB-PRUEFLOS.
  IF SY-SUBRC = 0.
    DELETE IT_TAB.
  ENDIF.
ENDLOOP.

IF SY-SUBRC EQ 0.

  LOOP AT IT_TAB.

    CLEAR: UD_DATA,NUMBER.

    NUMBER                     = IT_TAB-PRUEFLOS.
    UD_DATA-INSPLOT	           = IT_TAB-PRUEFLOS.     "检验批编号
    UD_DATA-UD_SELECTED_SET    = 'UP'.     "使用决定的选择集
    UD_DATA-UD_PLANT           = IT_TAB-WERK.     "工厂
    UD_DATA-UD_CODE_GROUP      = 'UP'.     " 使用决定的代码组
    UD_DATA-UD_CODE            = 'A01'.     " 使用决策代码
    UD_DATA-UD_RECORDED_BY_USER = 'SYSTEM'.     "作出使用决定的人
    UD_DATA-UD_RECORDED_ON_DATE = SY-DATUM.     "使用决定使用的代码日期
    UD_DATA-UD_RECORDED_AT_TIME = SY-UZEIT.     "使用决定的记录时间
    UD_DATA-UD_TEXT_LINE        = '程序自动判断决策'.   "使用决定确认短文本
    UD_DATA-UD_FORCE_COMPLETION = 'X'.     "  允许检验完成
    UD_DATA-UD_STOCK_POSTING    = 'X'.     " 与后台控制无关的盘点过帐

    CALL FUNCTION 'BAPI_INSPLOT_SETUSAGEDECISION'
      EXPORTING
        NUMBER  = NUMBER
        UD_DATA = UD_DATA
      IMPORTING
        RETURN  = RETURN.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. "提交

  ENDLOOP.

ENDIF.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小啊曼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值