Chinaunix首页 | 论坛 | 博客
  • 博客访问: 392404
  • 博文数量: 66
  • 博客积分: 1235
  • 博客等级: 少尉
  • 技术积分: 694
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-05 12:24
文章分类

全部博文(66)

文章存档

2010年(66)

分类:

2010-06-21 08:42:49

REPORT  Z_UPDATE_DELIVERY.

TABLES LIKP.
PARAMETERS P_DEL LIKE LIKP-VBELN DEFAULT ''.

DATA:
STR_HEADER_DATA LIKE BAPIOBDLVHDRCHG,
STR_HEADER_CONTROL LIKE BAPIOBDLVHDRCTRLCHG.

DATA IT_RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.
DATA IT_HEADER_DEADLINES TYPE STANDARD TABLE OF BAPIDLVDEADLN WITH HEADER LINE.

DATA :ITEM_DATA LIKE BAPIOBDLVITEMCHG OCCURS WITH HEADER LINE,
      ITEM_CONTROL LIKE BAPIOBDLVITEMCTRLCHG OCCURS WITH HEADER LINE,
      WA_LIPS LIKE LIPS OCCURS WITH HEADER LINE.

START-OF-SELECTION.
  PERFORM MODIFY1.
  PERFORM MODIFY2 .

*&---------------------------------------------------------------------*
*&      Form  MODIFY1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM MODIFY1 .
  DATAV_16(16TYPE C.
  DATA V_DEL LIKE BAPIOBDLVHDRCHG-DELIV_NUMB.
  SELECT SINGLE FROM LIKP WHERE VBELN P_DEL.
  CONCATENATE SY-DATUM SY-UZEIT INTO V_16.

  STR_HEADER_DATA-UNLOAD_PT LIKP-ABLAD.
  STR_HEADER_DATA-UNIT_OF_WT LIKP-GEWEI.
  STR_HEADER_DATA-INCOTERMS1 LIKP-INCO1.
  STR_HEADER_DATA-INCOTERMS2 LIKP-INCO2.
  STR_HEADER_DATA-DOOR LIKP-LGTOR.
  STR_HEADER_DATA-DLV_BLOCK LIKP-LIFSK.
  STR_HEADER_DATA-DLV_PRIO LIKP-LPRIO.
  STR_HEADER_DATA-NET_WEIGHT LIKP-NTGEW.
  STR_HEADER_DATA-ROUTE LIKP-ROUTE.
  STR_HEADER_DATA-DELIV_NUMB LIKP-VBELN.
  STR_HEADER_DATA-VOLUMEUNIT LIKP-VOLEH.
  STR_HEADER_DATA-VOLUME LIKP-VOLUM.
  STR_HEADER_DATA-SHIP_COND LIKP-VSBED.

  V_DEL LIKP-VBELN.
  STR_HEADER_DATA-DELIV_NUMB LIKP-VBELN.
  STR_HEADER_CONTROL-GDSI_DATE_FLG 'X'.
  IT_HEADER_DEADLINES-TIMETYPE 'WSHDRWADTI'.
  IT_HEADER_DEADLINES-TIMESTAMP_UTC V_16.
  APPEND IT_HEADER_DEADLINES.

  SELECT  INTO WA_LIPS FROM LIPS WHERE VBELN P_DEL.
    ITEM_DATA-DELIV_NUMB WA_LIPS-VBELN.
    ITEM_DATA-DELIV_ITEM WA_LIPS-POSNR.
    ITEM_DATA-MATERIAL WA_LIPS-MATNR.
    ITEM_DATA-BATCH WA_LIPS-CHARG.
    ITEM_DATA-DLV_QTY 1.
    ITEM_DATA-DLV_QTY_IMUNIT 1.
    ITEM_DATA-FACT_UNIT_NOM WA_LIPS-UMVKZ.
    ITEM_DATA-FACT_UNIT_DENOM WA_LIPS-UMVKN.
    ITEM_DATA-CONV_FACT WA_LIPS-UMREF.
    ITEM_DATA-GROSS_WT WA_LIPS-BRGEW.
    ITEM_DATA-NET_WEIGHT WA_LIPS-NTGEW.
    ITEM_DATA-UNIT_OF_WT WA_LIPS-GEWEI.
    ITEM_DATA-VOLUMEUNIT WA_LIPS-VOLEH.
    ITEM_DATA-SALES_UNIT WA_LIPS-VRKME.
    ITEM_DATA-BASE_UOM WA_LIPS-MEINS.
    ITEM_DATA-STOCK_TYPE WA_LIPS-INSMK.
    ITEM_DATA-VAL_TYPE WA_LIPS-BWTAR.
    ITEM_DATA-INSPLOT WA_LIPS-QPLOS.
    ITEM_DATA-VOLUME WA_LIPS-VOLUM.
    APPEND ITEM_DATA.
    CLEAR ITEM_DATA.

    ITEM_CONTROL-DELIV_NUMB WA_LIPS-VBELN.
    ITEM_CONTROL-DELIV_ITEM WA_LIPS-POSNR.
    ITEM_CONTROL-CHG_DELQTY 'X'.
    APPEND ITEM_CONTROL.
  ENDSELECT.


  CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
    EXPORTING
      HEADER_DATA      STR_HEADER_DATA
      HEADER_CONTROL   STR_HEADER_CONTROL
      DELIVERY         V_DEL
    TABLES
      HEADER_DEADLINES IT_HEADER_DEADLINES
      ITEM_DATA        ITEM_DATA
      ITEM_CONTROL     ITEM_CONTROL
      RETURN           IT_RETURN.
  IF IT_RETURN[] IS INITIAL.
    COMMIT WORK.
  ELSE.
    LOOP AT IT_RETURN.
      MESSAGE ID IT_RETURN-ID TYPE IT_RETURN-TYPE  NUMBER IT_RETURN-NUMBER.
    ENDLOOP.
  ENDIF.
ENDFORM.                                                    " MODIFY1
*&---------------------------------------------------------------------*
*&      Form  MODIFY2
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM MODIFY2  .
*& 更改拣配数量
  DATA:VBKOK_WA TYPE VBKOK,
       VBPOK_TAB TYPE VBPOK OCCURS WITH HEADER LINE,
       XLIPS TYPE LIPS OCCURS WITH HEADER LINE .
  CLEARVBKOK_WAVBPOK_TABXLIPS.
  REFRESHVBPOK_TABXLIPS.

  VBKOK_WA-VBELN_VL P_DEL.


  SELECT FROM LIPS INTO TABLE XLIPS
  WHERE VBELN VBKOK_WA-VBELN_VL.

  LOOP AT XLIPS.
    CLEARVBPOK_TAB.
    VBPOK_TAB-VBELN_VL XLIPS-VBELN.
    VBPOK_TAB-POSNR_VL XLIPS-POSNR.
    VBPOK_TAB-VBELN XLIPS-VBELN.
    VBPOK_TAB-POSNN XLIPS-POSNR.

    VBPOK_TAB-PIKMG XLIPS-LFIMG.
    VBPOK_TAB-MEINS XLIPS-MEINS.
    VBPOK_TAB-NDIFM 0.
    VBPOK_TAB-TAQUI ' '.
    VBPOK_TAB-CHARG XLIPS-CHARG.
    VBPOK_TAB-MATNR XLIPS-MATNR.
    VBPOK_TAB-ORPOS 0.
    APPEND VBPOK_TAB.
  ENDLOOP.

  CALL FUNCTION 'SD_DELIVERY_UPDATE_PICKING'
    EXPORTING
      VBKOK_WA  VBKOK_WA
      SYNCHRON  'X'
    TABLES
      VBPOK_TAB VBPOK_TAB.

  COMMIT WORK AND WAIT.
ENDFORM.                                                    " MODIFY2



阅读(13582) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~