프로그래밍/SAP ABAP

[SAP/ABAP] BDC 로직 다음에 UPDATE 문이 안먹힐 때..

2021. 8. 20. 14:09

BDC 로직 다음에 UPDATE 문이 안먹힐 때..

디버깅할때는 UPDATE문이 먹히는데..

그냥 프로그램 실행시키면 UPDATE문이 안먹힌다.

 

그 이유는

아직 해당 앞단의 BDC문의 COMMIT이 안끝난 상태이기 때문에

그 다음 UPDATE 문이 먹히지 않을 수 있다.

 

따라서

시간차를 조금 두는 방법을 사용한다.

 

 

<Sample>

CALL TRANSACTION 'FB02' USING bdcdata MODE bdc_mode

MESSAGES INTO mssgtab.

 

WAIT UP TO 1 SECONDS.

 

IF sy-subrc = 0.

 

UPDATE bkpf SET budat = itab-budat

WHERE bukrs = itab-bukrs

AND belnr = itab-belnr

AND gjahr = itab-gjahr.

 

IF sy-subrc = 0 .

COMMIT WORK.

ELSE.

ROLLBACK WORK.

ENDIF.

 

ENDIF.