ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • YCHKOBJ
    SAP/소스 2026. 5. 17. 10:19

    YCHKOBJ.nugg
    0.10MB

     

     

     

     

     

     

     

    YCHKOBJ — ABAP 너겟 분석 보고서

    YCHKOBJ 실행가능 프로그램

    📦 ABAP 너겟 분석 보고서  |  파일: YCHKOBJ.nugg (105 KB)  |  T-Code: YCHKOBJ

    1. 프로그램 개요

    항목내용
    프로그램명YCHKOBJ
    프로그램 유형실행가능 프로그램 (SUBC = 1)
    T-CodeYCHKOBJYCHKOBJ
    목적개발 오브젝트 명명규칙 점검 도구 — 패키지(개발클래스) 기준으로 Repository 오브젝트를 조회하고 명명규칙 위반 여부를 검사
    Dynpro 화면 수3개 (0100 메인 / 0110 예외 팝업 / 0200 CTS 요청 목록)

    2. Include 구조 (프로그램 구성)

    YCHKOBJ
    메인 프로그램
    SUBC = 1 (실행가능)
    YCHKOBJTOP
    전역 선언 (DATA/TYPES/MACRO)
    YCHKOBJO01
    PBO — Process Before Output
    YCHKOBJI01
    PAI — Process After Input
    YCHKOBJF01
    FORM 루틴 (~30개)
    Include역할주요 내용
    YCHKOBJTOP TOP 전역 선언 DATA, TYPES, 화면 구조체(GS_0100_SCR, GS_0110_SCR), 커스텀 컨트롤(GR_TREE, GS_0100, GS_0200 등)
    YCHKOBJO01 PBO 화면 출력 모듈 STATUS_0100/0110/0200, SET_ALV_TREE_0100, SET_ALV_GRID_0100/0110/0200, SET_TXT_EDIT_0100
    YCHKOBJI01 PAI 사용자 입력 처리 USER_COMMAND_0100/0110/0200 — 버튼/더블클릭/행 선택 처리
    YCHKOBJF01 FORM FORM 루틴 모음 INITIALIZATION, GET_OBJECT_*, ALV_SET_*, SET_CELL_COLOR, HANDLE_* 등 약 30개

    3. 로컬 클래스

    클래스명유형목적
    LCL_EVT_APPLICATION 이벤트 핸들러 Simple Tree 이벤트 수신 — NODE_DOUBLE_CLICK, EXPAND_NO_CHILDREN 처리
    LCL_DEF_GRID ALV 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_PROGRAM SE38 형태의 소스 에디터 팝업 실행 (오브젝트 소스 뷰어)
    L1626 주석 READ_TEXT SAPscript 텍스트 읽기 (현재 미사용)

    5. CALL METHOD 목록 (22개)

    ① Simple Tree 제어

    라인메소드 호출
    L39GR_TREE->ADD_NODES
    L43GR_TREE->EXPAND_NODE
    L57GR_TREE->SET_REGISTERED_EVENTS

    ② ALV Grid 제어

    라인메소드 호출
    L431PS_ALV-O_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    L456PR_GRID->REFRESH_TABLE_DISPLAY
    L460PR_GRID->U_SET_OPTIMIZE
    L573GS_0100-O_GRID->GET_SELECTED_ROWS
    L895GS_0100-O_GRID->GET_SELECTED_ROWS
    L1975GS_0100-O_GRID->GET_SELECTED_ROWS
    L2223GS_0200-O_GRID->GET_SELECTED_ROWS

    ③ TextEdit 제어

    라인메소드 호출
    L1586PS_TXT-O_TEXT->SET_TOOLBAR_MODE
    L1590PS_TXT-O_TEXT->SET_STATUSBAR_MODE
    L1599PS_TXT-O_TEXT->SET_READONLY_MODE
    L1663PS_TXT-O_TEXT->SET_TEXT_AS_STREAM

    ④ 스태틱 메소드 / LCL_DEF_GRID / 기타

    라인메소드 호출비고
    L541CL_OO_CLASSNAME_SERVICE=>GET_CLASSPOOL_NAME클래스풀 이름 조회
    L2142ZCL_FI_UTILITY=>SET_TIMESTAMP커스텀 유틸리티 — 타임스탬프 설정
    L2627ME->SET_FIXED_ROWSLCL_DEF_GRID
    L2632ME->SET_RESIZE_COLSLCL_DEF_GRID
    L2637ME->SCROLL_TO_BOTTOMLCL_DEF_GRID
    L2641ME->SET_CURRENT_CELL_BASELCL_DEF_GRID
    L2647ME->OPTIMIZE_ALL_COLSLCL_DEF_GRID
    L2652ME->SET_ERROR_CELLSLCL_DEF_GRID

    6. SUBMIT 목록

    라인프로그램패턴설명
    L608 YSCI RB_101 = 'X' (Object 기준) 오브젝트명 기준으로 YSCI 명명규칙 검사 보고서 호출
    L2247 YSCI RB_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_ACTIVE Active 상태 명명규칙 점검
    CHECK_OTHERS기타 오브젝트 점검
    ALV 설정 ALV_SET_FCAT ALV 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_COLOR ALV 셀 색상 지정 (오류/경고/정상)
    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_EXCEPTION FORM에서 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_0100
    USER_COMMAND_0100
    0110 Exception 팝업 CC_GRID_0110 (ALV Grid)
    BTN_EXCEP (버튼)
    STATUS_0110
    SET_ALV_GRID_0110
    MODIFY_SCREEN_0110
    USER_COMMAND_0110
    0200 User Request List
    (CTS 목록)
    CC_GRID_0200 (ALV Grid) STATUS_0200
    SET_ALV_GRID_0200
    USER_COMMAND_0200

    화면 목업 (SAP GUI 스타일)

    0100 메인
    0110 Exception
    0200 CTS 목록
    YCHKOBJ — [DEV] Check Object   |   화면 0100
    개발 클래스
    모듈 오브젝트 유형 건수
    ▶ Simple Tree (오브젝트 유형)
    📁 PROG — 프로그램
    📄 YCHKOBJ
    📁 FUGR — 펑션그룹
    📁 TABL — 테이블
    📁 DTEL — 데이터 요소
    📁 DOMA — 도메인
    ▶ ALV Grid (오브젝트 목록)
    유형오브젝트명설명상태
    PROGYCHKOBJCheck Object🟢 정상
    PROGYCHKOBJ_OLD구버전🔴 위반
    TABLYTEXCEP1예외목록🟢 정상
    ▶ TextEdit (소스 뷰어)
    소스 코드 / 오류 내역 표시 영역
    화면 0110 — Exception 등록
    Exception 유형 1
    Exception 유형 2
    담당자
    사유
    예외 목록 (YTEXCEP1)
    오브젝트유형담당자사유
    ZPROG_OLDPROGUSER01레거시 유지
    ZTABL_OLDTABLUSER02이관 전 임시
    YCHKOBJ — 화면 0200 : User Request List (CTS 목록)
    CTS Request 목록 (E070V 기준)
    Request No.설명상태담당자
    DEVK900001YCHKOBJ 초기 개발ReleasedUSER01
    DEVK900002Exception 기능 추가ReleasedUSER02
    DEVK900003ALV 개선ModifiableUSER01

    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 보고서 연동
    #YCHKOBJ #ABAP #너겟분석 #명명규칙점검 #ALV_Grid #Simple_Tree #Dynpro #YTEXCEP1 #SUBMIT_YSCI #SAP_ABAP
Designed by Tistory.