오더에 일련번호(SERNR) 매핑 펑션

니언·2021년 6월 18일
0

SERNR_ADD_TO_AU

오더를 생성한뒤 해당 오더에 자재 일련번호를 매핑해주는 작업을 수행한다.

FORM ADD_SERIAL_NUMBER TABLES ORDER_SERNR_IN STRUCTURE ZSSD00170
                        USING SALESDOCUMENT.

  DATA: LV_KWMENG TYPE RISA0-ANZAHL.

  SELECT AK~VBELN,
         AP~POSNR,
         AP~SERAIL,
         AK~KUNNR,
         AK~VBTYP,
         AK~AUART,
         AP~PSTYV,
         AP~KWMENG
  FROM VBAK AS AK INNER JOIN VBAP AS AP
  ON AK~VBELN EQ AP~VBELN
  WHERE AK~VBELN EQ @SALESDOCUMENT
  INTO TABLE @DATA(LT_SER02).

  IF ORDER_SERNR_IN[] IS NOT INITIAL.
    LOOP AT ORDER_SERNR_IN.
      READ TABLE LT_SER02 INTO DATA(LS_SER02) WITH KEY POSNR = ORDER_SERNR_IN-ITM_NUMBER.
      LV_KWMENG = LS_SER02-KWMENG.

      CALL FUNCTION 'SERNR_ADD_TO_AU'
        EXPORTING
          SERNR     = ORDER_SERNR_IN-SERNR
          PROFILE   = LS_SER02-SERAIL
          MATERIAL  = ORDER_SERNR_IN-MATERIAL
          QUANTITY  = LV_KWMENG
          DOCUMENT  = SALESDOCUMENT
          ITEM      = LS_SER02-POSNR
          DEBITOR   = LS_SER02-KUNNR
          VBTYP     = LS_SER02-VBTYP
          SD_AUART  = LS_SER02-AUART
          SD_POSTYP = LS_SER02-PSTYV.


      CALL FUNCTION 'SERIAL_LISTE_POST_AU'.
      COMMIT WORK AND WAIT.

      CLEAR: LV_KWMENG.
    ENDLOOP.
  ENDIF.

ENDFORM.
profile
쭈니어 개발자

0개의 댓글