PARAMETERS : S_MNUM type BAPI2017_GM_HEAD_02-MAT_DOC.
PARAMETERS : S_YEARS TYPE BAPI2017_GM_HEAD_02-DOC_YEAR.
DATA: Z_BAPI TYPE BAPI2017_GM_HEAD_RET.
data: return0 like table of BAPIRET2 WITH HEADER LINE.
CALL FUNCTION 'BAPI_GOODSMVT_CANCEL'
EXPORTING
MATERIALDOCUMENT = s_mnum
MATDOCUMENTYEAR = s_years
* GOODSMVT_PSTNG_DATE =
* GOODSMVT_PR_UNAME =
IMPORTING
GOODSMVT_HEADRET = z_bapi
TABLES
RETURN = return0.
* GOODSMVT_MATDOCITEM =
WRITE:Z_BAPI.
여기서 날짜와 자재 전표만 입력하면 취소된 문서의 자재전표가 write문으로 나오게 로직을 짜봤습니다.,
그런데 어떤 조건이 없어서 커밋(?)과정을 거치지 못해 꼽히질 않네요. 그래서 write문에는 취소된 문서번호는 나오고
진행이 되지만 공중에 떠있는 상태처럼 붕뜬 데이터가 되네요.
근데 제가 바피에 대해서 이번에 처음이기도 하지만 인터넷에 자료가 많이 없어서 공부하기가 어려워서
자문을 구합니다.
커밋이란것이 어떤건가요? ㅠ 그래서 커밋 과정을 통해 꼽히게 한다는 것에서 어떤 테이블을 사용하나요?
ps. bapi 와 bdc의 차이는 어떤 것일 까요 ?
Write 구문 전에,
If Sy-subrc eq 0.
Commit Work.
Else.
Rollback Work.
Endif.
라고 넣으시면 될 것 같습니다.
커밋을 하게되면, 테이블에 반영이 되고요.
커밋을 하지 않으면, 프로그램 다 돌고나서 자동 커밋처리가 되어 반영이 됩니다.
얕은 지식이라..도움이 되셨으면 좋겠네용.