디버깅 돌리다가 찾아낸 펑션인데~
클라이언트가 다른 두개의 운영서버의 각각의 이관 상태가 알고 싶다 하셔서 짜던중에
SE09 에서 보는 디테일 화면처럼 자세하게 하려면 좀더 많은 펑션을 이용해야 하기때문에
간단하게 O, X 정도로 구분하는 펑션이다.
*********************************************************************************
TYPE 선언부
*********************************************************************************
TYPES: BEGIN OF CTSLG_SETTINGS,
ERROR_LEVEL TYPE I,
POINT_TO_MISSING_STEPS TYPE C,
DETAILED_DEPICTION TYPE C,
SYSTEMS TYPE SYSNAMES,
END OF CTSLG_SETTINGS.
TYPES : BEGIN OF CTSLG_ACTION,
DATE LIKE TSTRFCOFIL-TRDATE,
TIME LIKE TSTRFCOFIL-TRTIME,
RC LIKE TSTRFCOFIL-RETCODE,
END OF CTSLG_ACTION,
CTSLG_ACTIONS TYPE SORTED TABLE OF CTSLG_ACTION
WITH UNIQUE KEY DATE TIME
INITIAL SIZE 2,
BEGIN OF CTSLG_STEP,
CLIENTID LIKE TSTRFCOFIL-TARCLIENT,
STEPID LIKE TSTRFCOFIL-FUNCTION,
RC LIKE TSTRFCOFIL-RETCODE,
ACTIONS TYPE CTSLG_ACTIONS,
END OF CTSLG_STEP,
CTSLG_STEPS TYPE CTSLG_STEP OCCURS 10,
BEGIN OF CTSLG_MERGELINE,
TRKORR TYPE TRKORR,
RC LIKE TSTRFCOFIL-RETCODE,
END OF CTSLG_MERGELINE,
CTSLG_MERGELINES TYPE CTSLG_MERGELINE OCCURS 0,
BEGIN OF CTSLG_SYSTEM,
SYSTEMID LIKE TSTRFCOFIL-TARSYSTEM,
RC LIKE TSTRFCOFIL-RETCODE,
STEPS TYPE CTSLG_STEPS,
END OF CTSLG_SYSTEM,
CTSLG_SYSTEMS TYPE CTSLG_SYSTEM OCCURS 10,
BEGIN OF CTSLG_COFILE,
EXISTS TYPE C,
IMPORTED TYPE C,
DEL_LINES_ONLY TYPE C,
SYSTEMS TYPE CTSLG_SYSTEMS,
MERGES TYPE CTSLG_MERGELINES,
RC TYPE I,
END OF CTSLG_COFILE.
************************ DATA DEFINE
DATA : LT_SETTING TYPE CTSLG_SETTINGS .
DATA : LT_COFILE TYPE CTSLG_COFILE.
DATA : L_TRKORR TYPE E070-TRKORR.
DATA : BEGIN OF LT_SYSTEMS OCCURS 0,
SYSTEMID LIKE TSTRFCOFIL-TARSYSTEM,
RC LIKE TSTRFCOFIL-RETCODE,
STEPS TYPE CTSLG_STEPS,
END OF LT_SYSTEMS.
DATA : L_CHK.
********** 펑션 INPUT 값 셋팅
L_TRKORR = 'WMDK925108'.
위 값에 CTS 코드를 넣어주면 됨~~
LT_SETTING-ERROR_LEVEL = 0.
LT_SETTING-POINT_TO_MISSING_STEPS = 'X'.
LT_SETTING-DETAILED_DEPICTION = 'X'.
CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST'
EXPORTING
IV_TRKORR = L_TRKORR
IV_DIR_TYPE = 'T'
IS_SETTINGS = LT_SETTING
IMPORTING
ES_COFILE = LT_COFILE.
위 함수는 SE09 에서 릴리즈된 CTS의 상세 화면에서 뿌려주는 중간 펑션 정도인데
EXPORT 되는 LT_COFILE 안에 SYTEM 이라는 구조체 안에
각 서버 별로 숫자들이 나온다
1개이면 이면 이관이 안된 것이고
4개 이상이면 이관이 된것이다.
그 안에 들어가 보면 에러가 났는지 안났는지도 알수 있다
RC 가 8이면 에러이다
위그림처럼 RC가 지금은 중간 이지만 맨 아래 있을 경우에는 그 CTS는 그 해당 서버에서 에러로 처리 된것이다
중간에 있다면 다시 처리해서 올린것이다.
또 그 안에 들어가면 날짜와 시간 정보가 나온다.
간단하게 여부 정도만 알고 싶다면
아래처럼 SYSTEM 만 받아서 테이블 숫자만 확인해도 답이 나올것이다
LT_SYSTEMS[] = LT_COFILE-SYSTEMS.
'SAP > T-Code' 카테고리의 다른 글
Maintenance View Event (0) | 2014.06.09 |
---|---|
BATCH JOB 만들기 (0) | 2012.03.16 |
CTS 이관 시키기 (0) | 2012.03.14 |
댓글