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 생성