ABAP
마감 체크 로직
아밥하는빠네
2022. 8. 3. 10:46
역분개 시 대상 전표의 전기일이 물류마감 , 회계마감 시 현재 월의 1일로 진행 ( 대부분 현재월은 마감이 안됨 )
역분개 사유 '01'은 전표의 전기일과 역분개일이 동일한 경우만 가능.
전기일이 이미 마감된 경우 다른일자로 역분개를 진행 하여야 함 .
SAP GUI 상태에서는 메세지를 확인하고 진행 할 수 있지만 I/F 나 Background 로 진행하는 경우 해당 부분이
진행이 안되어 실제 마감시 다음 절차 진행 할때 현업에서 당황할 수 있음 .
해당 부분에 대해 업무적으로 의사결정이 우선 필요로 함 .( 전기일이 마감이 지난 경우 역분개를 허용할 수 있는가 하는.)
FORM CHECK_MARV.
SELECT SINGLE MANDT INTO MANDT
FROM MARV
WHERE BUKRS = C_BUKRS .
CHECK MARV-VMGJA = SY-DATUM-0(4) AND MARV-VMMON = SY-DATUM+4(2) AND MARV-XRUEM = 'X'.
ENDFORM .
FORM GET_POST_DATE
USING PV_DATUM
CHANGINGE PV_STBLG PV_BUDAT .
PERFORM CHECK_MARV .
IF SY-SUBRC <> 0 . " 마감이라면
PV_BUDAT = SY-DATUM+0(6) && '01'.
ELSE. " 마감이 아니라면
PV_BUDAT = PV_DATUM.
ENDIF.
IF PV_BUDAT NE PV_DATUM .
PV_STBLG = '02'.
ELSE .
PV_STBLG = '01'.
ENDIF.
ENDFORM.
위 소스는 블로그상 작성한 것으로 문법이 정확하지 않고, 오타가 존재함 .