-
YCHKOBJ — ABAP 너겟 분석 보고서 YCHKOBJ 실행가능 프로그램
📦 ABAP 너겟 분석 보고서 | 파일: YCHKOBJ.nugg (105 KB) | T-Code: YCHKOBJ
1. 프로그램 개요
항목 내용 프로그램명 YCHKOBJ프로그램 유형 실행가능 프로그램 (SUBC = 1) T-Code YCHKOBJ→YCHKOBJ목적 개발 오브젝트 명명규칙 점검 도구 — 패키지(개발클래스) 기준으로 Repository 오브젝트를 조회하고 명명규칙 위반 여부를 검사 Dynpro 화면 수 3개 (0100 메인 / 0110 예외 팝업 / 0200 CTS 요청 목록) 2. Include 구조 (프로그램 구성)
YCHKOBJ메인 프로그램
SUBC = 1 (실행가능)→YCHKOBJTOP전역 선언 (DATA/TYPES/MACRO)YCHKOBJO01PBO — Process Before OutputYCHKOBJI01PAI — Process After InputYCHKOBJF01FORM 루틴 (~30개)Include 역할 주요 내용 YCHKOBJTOPTOP전역 선언 DATA, TYPES, 화면 구조체(GS_0100_SCR, GS_0110_SCR), 커스텀 컨트롤(GR_TREE, GS_0100, GS_0200 등) YCHKOBJO01PBO화면 출력 모듈 STATUS_0100/0110/0200, SET_ALV_TREE_0100, SET_ALV_GRID_0100/0110/0200, SET_TXT_EDIT_0100 YCHKOBJI01PAI사용자 입력 처리 USER_COMMAND_0100/0110/0200 — 버튼/더블클릭/행 선택 처리 YCHKOBJF01FORMFORM 루틴 모음 INITIALIZATION, GET_OBJECT_*, ALV_SET_*, SET_CELL_COLOR, HANDLE_* 등 약 30개 3. 로컬 클래스
클래스명 유형 목적 LCL_EVT_APPLICATION이벤트 핸들러 Simple Tree 이벤트 수신 — NODE_DOUBLE_CLICK, EXPAND_NO_CHILDREN 처리 LCL_DEF_GRIDALV Grid 확장
(INHERITING FROM CL_GUI_ALV_GRID)고정 행 설정(SET_FIXED_ROWS), 컬럼 리사이즈(SET_RESIZE_COLS), 스크롤·최적화·오류셀 처리 LCL_EVT_RECEIVER이벤트 수신기 ALV Grid 이벤트 처리 — TOOLBAR, USER_COMMAND, DOUBLE_CLICK, HOT_SPOT_CLICK 4. CALL FUNCTION 목록
라인 상태 펑션 모듈 용도 L555 활성 EDITOR_PROGRAMSE38 형태의 소스 에디터 팝업 실행 (오브젝트 소스 뷰어) L1626 주석 READ_TEXTSAPscript 텍스트 읽기 (현재 미사용) 5. CALL METHOD 목록 (22개)
① Simple Tree 제어
라인 메소드 호출 L39 GR_TREE->ADD_NODESL43 GR_TREE->EXPAND_NODEL57 GR_TREE->SET_REGISTERED_EVENTS② ALV Grid 제어
라인 메소드 호출 L431 PS_ALV-O_GRID->SET_TABLE_FOR_FIRST_DISPLAYL456 PR_GRID->REFRESH_TABLE_DISPLAYL460 PR_GRID->U_SET_OPTIMIZEL573 GS_0100-O_GRID->GET_SELECTED_ROWSL895 GS_0100-O_GRID->GET_SELECTED_ROWSL1975 GS_0100-O_GRID->GET_SELECTED_ROWSL2223 GS_0200-O_GRID->GET_SELECTED_ROWS③ TextEdit 제어
라인 메소드 호출 L1586 PS_TXT-O_TEXT->SET_TOOLBAR_MODEL1590 PS_TXT-O_TEXT->SET_STATUSBAR_MODEL1599 PS_TXT-O_TEXT->SET_READONLY_MODEL1663 PS_TXT-O_TEXT->SET_TEXT_AS_STREAM④ 스태틱 메소드 / LCL_DEF_GRID / 기타
라인 메소드 호출 비고 L541 CL_OO_CLASSNAME_SERVICE=>GET_CLASSPOOL_NAME클래스풀 이름 조회 L2142 ZCL_FI_UTILITY=>SET_TIMESTAMP커스텀 유틸리티 — 타임스탬프 설정 L2627 ME->SET_FIXED_ROWSLCL_DEF_GRID L2632 ME->SET_RESIZE_COLSLCL_DEF_GRID L2637 ME->SCROLL_TO_BOTTOMLCL_DEF_GRID L2641 ME->SET_CURRENT_CELL_BASELCL_DEF_GRID L2647 ME->OPTIMIZE_ALL_COLSLCL_DEF_GRID L2652 ME->SET_ERROR_CELLSLCL_DEF_GRID 6. SUBMIT 목록
라인 프로그램 패턴 설명 L608 YSCIRB_101 = 'X'(Object 기준)오브젝트명 기준으로 YSCI 명명규칙 검사 보고서 호출 L2247 YSCIRB_102 = 'X'(CTS 번호 기준)CTS Request 번호 기준으로 YSCI 보고서 호출 💡 YSCI는 오브젝트 명명규칙 검사 전용 리포트로, YCHKOBJ에서 파라미터를 세팅하여 SUBMIT으로 구동합니다.RB_101(오브젝트 기준) /RB_102(CTS 기준) 두 가지 진입 모드를 지원합니다.7. 주요 PERFORM 루틴
그룹 FORM 루틴 역할 초기화 INITIALIZATION프로그램 기동 시 화면 초기값 세팅 AT_SELECTION_SCREEN선택화면 입력값 유효성 검사 오브젝트 조회 GET_OBJECT오브젝트 목록 전체 조회 진입점 GET_OBJECT_LIST_1ST1차 오브젝트 목록 수집 (TADIR 기준) GET_OBJECT_LIST_2ND2차 목록 수집 (세부 타입별) GET_OBJECT_LIST_3RD3차 목록 수집 (텍스트·보완) GET_OBJECT_DESCRIP오브젝트 설명(DTEXT) 조회 점검 처리 CHECK_ACTIVEActive 상태 명명규칙 점검 CHECK_OTHERS기타 오브젝트 점검 ALV 설정 ALV_SET_FCATALV Field Catalog 구성 ALV_SET_LAYOUTALV 레이아웃 설정 ALV_SET_DISPLAYALV 화면 표시 ALV_SET_EVENTALV 이벤트 등록 ALV_SET_EXCLUDEALV 기능 버튼 제외 ALV_SET_REFRESHALV 새로고침 화면/이벤트 처리 HANDLE_DOUBLE_CLICK행 더블클릭 처리 HANDLE_TOOLBAR커스텀 툴바 버튼 구성 HANDLE_USER_COMMAND사용자 명령(버튼) 처리 기타 SET_CELL_COLORALV 셀 색상 지정 (오류/경고/정상) GET_OBJECT_EXCEPTION예외 목록(YTEXCEP1) 조회 8. 참조 테이블 목록
테이블 설명 TADIRRepository 오브젝트 디렉토리 — 오브젝트 타입·패키지·소유자 TRDIR/TRDIRT프로그램 디렉토리 / 프로그램 텍스트 TFDIR/TFTIT펑션 모듈 디렉토리 / 펑션 모듈 텍스트 TSTC/TSTCP/TSTCTT-Code / T-Code 파라미터 / T-Code 텍스트 DD01L/T도메인 (Active/Text) DD02L/T테이블 정의 (Active/Text) DD04L/T데이터 요소 (Active/Text) DD25L/T뷰 정의 (Active/Text) DD30T검색 도움말 텍스트 DD40T테이블 유형 텍스트 TDEVCT패키지(개발클래스) 텍스트 SEOCLASSTX클래스/인터페이스 텍스트 E070VCTS Request 뷰 YTEXCEP1⭐커스텀 — 명명규칙 예외 오브젝트 목록 YSCHKOBJ1/YSCHKOBJ2⭐커스텀 — ALV 출력용 구조체 ⚠️ YTEXCEP1은 명명규칙 위반이지만 예외 처리된 오브젝트를 관리하는 커스텀 테이블입니다.GET_OBJECT_EXCEPTIONFORM에서 SELECT하며, 화면 0110(Exception 팝업)에서 등록·수정할 수 있습니다.9. Dynpro 화면 분석
화면번호 제목 주요 컨테이너 PBO 모듈 PAI 모듈 0100 메인 화면 CC_TREE_0100 (Simple Tree)
CC_GRID_0100 (ALV Grid)
CC_TEXT_0100 (TextEdit)STATUS_0100
SET_ALV_TREE_0100
SET_ALV_GRID_0100
SET_TXT_EDIT_0100USER_COMMAND_0100 0110 Exception 팝업 CC_GRID_0110 (ALV Grid)
BTN_EXCEP (버튼)STATUS_0110
SET_ALV_GRID_0110
MODIFY_SCREEN_0110USER_COMMAND_0110 0200 User Request List
(CTS 목록)CC_GRID_0200 (ALV Grid) STATUS_0200
SET_ALV_GRID_0200USER_COMMAND_0200 화면 목업 (SAP GUI 스타일)
0100 메인0110 Exception0200 CTS 목록개발 클래스모듈 오브젝트 유형 건수▶ Simple Tree (오브젝트 유형)📁 PROG — 프로그램📄 YCHKOBJ📁 FUGR — 펑션그룹📁 TABL — 테이블📁 DTEL — 데이터 요소📁 DOMA — 도메인▶ ALV Grid (오브젝트 목록)유형 오브젝트명 설명 상태 PROG YCHKOBJ Check Object 🟢 정상 PROG YCHKOBJ_OLD 구버전 🔴 위반 TABL YTEXCEP1 예외목록 🟢 정상 ▶ TextEdit (소스 뷰어)소스 코드 / 오류 내역 표시 영역CTS Request 목록 (E070V 기준)Request No. 설명 상태 담당자 DEVK900001 YCHKOBJ 초기 개발 Released USER01 DEVK900002 Exception 기능 추가 Released USER02 DEVK900003 ALV 개선 Modifiable USER01 10. 프로그램 실행 흐름 요약
* ① T-Code YCHKOBJ 실행 * → INITIALIZATION PERFORM (초기값 세팅) * → AT SELECTION-SCREEN (입력 검증) * ② 화면 0100 진입 (PBO) * → STATUS_0100 (GUI Status 설정) * → SET_ALV_TREE_0100 (Simple Tree 초기화 / ADD_NODES) * → SET_ALV_GRID_0100 (ALV Grid SET_TABLE_FOR_FIRST_DISPLAY) * → SET_TXT_EDIT_0100 (TextEdit 초기화) * ③ 사용자 인터랙션 (PAI) * USER_COMMAND_0100 → 버튼에 따라 분기: * 'EXEC' → PERFORM GET_OBJECT → GET_OBJECT_LIST_1ST/2ND/3RD * → CHECK_ACTIVE / CHECK_OTHERS * → SET_CELL_COLOR (🟢🟡🔴) * 'EXCEP' → CALL SCREEN 0110 (Exception 팝업) * 'YSCI' → SUBMIT YSCI WITH RB_101 = 'X' "오브젝트 기준 * 'SRC' → CALL FUNCTION 'EDITOR_PROGRAM' * ④ 화면 0110 (Exception 팝업) * → 예외 오브젝트 YTEXCEP1에 INSERT/DELETE * ⑤ 화면 0200 (CTS 목록) * → E070V SELECT → ALV Grid 표시 * → SUBMIT YSCI WITH RB_102 = 'X' "CTS 기준💡 핵심 동작 요약: 개발 패키지(DEVC) 또는 모듈을 선택 → TADIR 기반으로 오브젝트 목록 수집(3단계) → 명명규칙 위반 여부 검사 → ALV Grid에 색상(🟢정상/🔴위반)으로 표시 → 위반 항목에 대해 YTEXCEP1 예외 등록 또는 YSCI 보고서 연동'SAP > 소스' 카테고리의 다른 글
Z_MYBATIS_TO_ABAP — 설계 및 설치 가이드 (0) 2026.05.27 ABAP — HTML/XML 속성값 추출 패턴 (0) 2026.05.27 AMDP SQLScript 날짜·시간 계산 함수 예제 (0) 2026.05.25 ABAP PascalCase 변환 — snake_case ↔ Table Field (0) 2026.05.19 Z_MMZCL_CONV — 메소드별 로직 설명 (1) 2026.05.17