*zglmap_ihbs 테이블에서 회사코드및 사업자등록번호에 매칭되는 계정 가져옴
LOOP AT t_work.
CLEAR lt_glmap.
SELECT SINGLE zstcd saknr bukrs zbank
INTO CORRESPONDING FIELDS OF lt_glmap
FROM zglmap_ihbs
WHERE zstcd = t_work-zstcd
AND zbankl = t_work-zbankl
AND zbankn = t_work-zbankn
AND waers = t_work-waers.
IF sy-subrc = 0. "매칭되는 계정 존재시
lt_glmap-zcheckdat = t_work-zcheckdat.
ELSE. "매칭되는 계정 미 존재시
MOVE-CORRESPONDING t_work TO lt_glmap.
lt_glmap-zsubrc = 'N'.
lt_glmap-zmessage = '매칭되는 계정이 없습니다.'.
ENDIF.
APPEND lt_glmap.
ENDLOOP.
IF NOT lt_glmap[] IS INITIAL.
*조회날짜가 몇기인지 구함(GET_CURRENT_YEAR 이용)
CLEAR : t_work, t_work[].
LOOP AT lt_glmap.
CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
bukrs = 'DW01'
date = lt_glmap-zcheckdat
IMPORTING
currm = lt_glmap-gi
curry = lt_glmap-year.
IF lt_glmap-gi = '01'. "1기인경우 전년도 12기로 되야함
lt_glmap-gi = '12'.
lt_glmap-year = lt_glmap-year - 1.
ELSE.
lt_glmap-gi = lt_glmap-gi - 1.
ENDIF.
RFC함수중간의 문제부분을 발췌하여올렸습니다
디버깅을해보면 콜펑션하는순간 바로 RFC펑션이 종료되어버립니다
'GET_CURRENT_YEAR' 안으로 들어가지도않고 바로 종료되어버립니다
이런경우 어떻게 해결해야 하는지요 도움을 요청해봅니다
'lt_glmap-zcheckdat' 정상 일자 인지 확인이 필요한데요..
다른 변수들도 function 에서 요구하는 것인지 확인하구요.
아마 두가지 문제가 없으면 정상으로 처리될듯