[ABAP] MM-QM 변경이력 생성

SAPWISE·2023년 12월 14일
  CALL FUNCTION 'SWE_REQUESTER_TO_UPDATE'.
  DATA objectid                  TYPE cdobjectv   .
  DATA tcode                   TYPE tcode       .
  DATA utime                   TYPE utime       .
  DATA udate                   TYPE udate       .
  DATA username                TYPE username    .
*DATA object_change_indicator TYPE planned_change_number.
*DATA planned_or_real_changes TYPE cdoc_planned_or_real.
*DATA upd_dqmat               TYPE upd_dqmat VALUE 'U'.
  DATA xdqmat                  TYPE STANDARD TABLE OF xdqmat.
  DATA ydqmat                  TYPE STANDARD TABLE OF xdqmat.
  DATA wa_dqmat                TYPE xdqmat.
  DATA: BEGIN OF icdtxt_material        OCCURS 20.
          INCLUDE STRUCTURE cdtxt.
  DATA: END OF icdtxt_material       .

*DATA ICDTXT_MATERIAL         TYPE STANDARD TABLE OF CDTXT.
*  DATA xdgesv                  TYPE STANDARD TABLE OF xdgesv.
*  DATA ydgesv                  TYPE STANDARD TABLE OF xdgesv.
*  DATA xdmaex                  TYPE STANDARD TABLE OF xdmaex.
*  DATA ydmaex                  TYPE STANDARD TABLE OF xdmaex.
*  DATA xdmakt                  TYPE STANDARD TABLE OF xdmakt.
*  DATA ydmakt                  TYPE STANDARD TABLE OF xdmakt.
*  DATA xdmape                  TYPE STANDARD TABLE OF xdmape.
*  DATA ydmape                  TYPE STANDARD TABLE OF xdmape.
*  DATA xdmarm                  TYPE STANDARD TABLE OF xdmarm.
*  DATA ydmarm                  TYPE STANDARD TABLE OF xdmarm.
*  DATA xdmean                  TYPE STANDARD TABLE OF xdmean.
*  DATA ydmean                  TYPE STANDARD TABLE OF xdmean.
*  DATA xdmkal                  TYPE STANDARD TABLE OF xdmkal.
*  DATA ydmkal                  TYPE STANDARD TABLE OF xdmkal.
*  DATA xdmlan                  TYPE STANDARD TABLE OF xdmlan.
*  DATA ydmlan                  TYPE STANDARD TABLE OF xdmlan.
*  DATA xdprow                  TYPE STANDARD TABLE OF xdprow.
*  DATA ydprow                  TYPE STANDARD TABLE OF xdprow.
*  DATA xdungv                  TYPE STANDARD TABLE OF xdungv.
*  DATA ydungv                  TYPE STANDARD TABLE OF xdungv.

  SORT inspttable BY plant material insptype.
  LOOP AT inspttable.
    CLEAR : wa_dqmat.
    wa_dqmat-werks = inspttable-plant.
    wa_dqmat-art = inspttable-insptype.
    APPEND wa_dqmat TO ydqmat.
    wa_dqmat-aktiv = 'X'.
    APPEND wa_dqmat TO xdqmat.
  ENDLOOP.

  "자재코드 별로 커밋
  LOOP AT inspttable.
    AT NEW material.
      MOVE inspttable-material TO objectid.
      CALL FUNCTION 'CHANGEDOCUMENT_OPEN'
        EXPORTING
          objectclass             = 'MATERIAL       '
          objectid                = objectid
          planned_change_number   = space
          planned_or_real_changes = 'R'
        EXCEPTIONS
          sequence_invalid        = 1
          OTHERS                  = 2.

      CALL FUNCTION 'CHANGEDOCUMENT_MULTIPLE_CASE'
        EXPORTING
          tablename              = 'DQMAT                         '
          change_indicator       = 'U'
          docu_delete            = 'X'
        TABLES
          table_old              = ydqmat
          table_new              = xdqmat
        EXCEPTIONS
          nametab_error          = 1
          open_missing           = 2
          position_insert_failed = 3
          OTHERS                 = 4.

      CALL FUNCTION 'CHANGEDOCUMENT_CLOSE'
        EXPORTING
          objectclass             = 'MATERIAL       '
          objectid                = objectid
          date_of_change          = sy-datum
          time_of_change          = sy-uzeit
          tcode                   = sy-tcode
          username                = sy-uname
          object_change_indicator = 'U'
          no_change_pointers      = space
        EXCEPTIONS
          header_insert_failed    = 1
          object_invalid          = 2
          open_missing            = 3
          no_position_inserted    = 4
          OTHERS                  = 5.

      CHECK sy-subrc EQ 0.
      COMMIT WORK.
    ENDAT.
  ENDLOOP.


ENDFUNCTION.

ydqmat : 변경 전
xdqmat : 변경 후
두 테이블 비교 후 변경사항 Document 생성

profile
SAP, ERP, ABAP

0개의 댓글