Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
216 KiB
type, title, description, resource, tags, generated, status, x-package, x-changed-on, x-tables-read, x-tables-write, x-calls, x-code-hash, x-unit-count, x-chunk-count, x-declaration-count
| type | title | description | resource | tags | generated | status | x-package | x-changed-on | x-tables-read | x-tables-write | x-calls | x-code-hash | x-unit-count | x-chunk-count | x-declaration-count | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| abap-program | ZCOC2040 — 품목(중)별 매출원가/장려금/수수료 계획 Upload | 하이마트 CO 사업계획 수립을 위해 품목(중분류, WW220)별 연간 매출원가·장려금·수수료 계획을 엑셀로 업로드하는 프로그램이다. 구분 텍스트 첫 글자('매'/'장'/'수')에 따라 COST_GUBUN '10'/'20'/'30'을 부여하고 천원 단위 금액을 KRW 원 단위로 환산하여 커스텀 테이블 ZCOT0210에 월별(MONTH01~12)로 저장한다. 품목(중) 코드는 T2505로 검증하고 ZCOT0110에서 명칭을 보강하며 관리회계영역 TKA01/TKA02를 참조한다. | abap://ZCOC2040 |
|
|
stable |
|
|
|
e44915efbba83cad5c96dfc6fe02b4491728e47c2a576c2db6573ce667715a77 | 147 | 74 | 229 |
업무 목적
하이마트 CO 사업계획 수립을 위해 품목(중분류, WW220)별 연간 매출원가·장려금·수수료 계획을 엑셀로 업로드하는 프로그램이다. 구분 텍스트 첫 글자('매'/'장'/'수')에 따라 COST_GUBUN '10'/'20'/'30'을 부여하고 천원 단위 금액을 KRW 원 단위로 환산하여 커스텀 테이블 ZCOT0210에 월별(MONTH01~12)로 저장한다. 품목(중) 코드는 T2505로 검증하고 ZCOT0110에서 명칭을 보강하며 관리회계영역 TKA01/TKA02를 참조한다.
주 흐름
- 선택화면에서 관리회계영역(TKA01) 텍스트/통화를 세팅하고 '엑셀 양식 다운로드' 버튼(FC01, Z_CO_OPEN_SMW0)을 활성화한다 (SET_DYNP, FC01_ACTIVE, CONTROL_FCXX)
- 업로드 파일명이 입력되었는지 확인하고 상태 변수·ALV 필드카탈로그를 초기화한다 (CHECK_INPUT, INITIALIZE_DATA)
- 판매조직·품목 마스터(T2500~T2508)와 하이마트 CO 특성 마스터(ZCOT0080/ZCOT0090/ZCOT0110), 회사코드(TKA02)를 내부테이블로 적재한다 (SET_CHARACTER_MASTER)
- 업로드 구조 기반 동적 내부테이블을 생성하고 엑셀 파일(2행부터)을 읽어 적재한다 (READ_DATA, CREATE_UPLOAD_TABLE, UPLOAD_XLS_STRUCT)
- 엑셀 값을 CONVERSION_EXIT/숫자·날짜 변환을 거쳐 GT_DATA로 이전한다 (TRANSFER_GT_DATA)
- 구분값('매'/'장'/'수'), 품목(중) 코드 입력 여부, T2505 존재 여부, 품목+구분 중복을 검증하고 오류 행을 빨간색으로 표시한다 (VALIDATION_CHECK, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE)
- 월별 12개월 합계와 구분별 총합을 계산하고 코드명을 보강해 ALV(화면 100)에 표시한다 (EDIT_DATA)
- 저장 버튼(&SAVE) 시 확인 팝업 후 금액을 천원→원 환산하여 ZCOT0210에 기존 연도 데이터를 삭제하고 MODIFY로 반영한다 (EXECUTE_SAVE, PERFORM_SAVE)
핵심 내부테이블
GT_DATA— 엑셀 업로드 결과 메인 테이블(구조 ZCOS0290 + 품목(중)명, 합계, COST_GUBUN, 상태, 메시지) (채움: TRANSFER_GT_DATA, VALIDATION_CHECK, EDIT_DATA, CONVERT_KRW_DATA / 소비: PERFORM_SAVE, SHOW_ERROR_LOG, DISPLAY_ALV_LIST)<GF_UPLOADT>— ZCOS0290 구조 기반 동적 엑셀 수신 테이블 (채움: CREATE_UPLOAD_TABLE, UPLOAD_XLS_STRUCT / 소비: TRANSFER_GT_DATA)GT_T2505— 품목(중) 마스터 - 존재 여부 검증 (채움: SET_CHARACTER_MASTER / 소비: VALIDATION_CHECK)GT_ZCOT0110— 품목 특성 마스터 - 품목(중) 명칭 (채움: SET_CHARACTER_MASTER / 소비: EDIT_DATA)GT_SUM_10_VV100 / GT_SUM_20_VV100 / GT_SUM_30_VV100— 매출원가/장려금/수수료 구분별 월 합계 (ZCOT0210 구조) (채움: EDIT_DATA / 소비: SET_HTML_TOP_OF_PAGE)LT_ZCOT0210— DB 저장용 원가 계획 테이블 (채움: PERFORM_SAVE / 소비: PERFORM_SAVE)
테이블 / 외부 호출
- read: AENR, DD01L, DD07T, T001, T2500, T2501, T2502, T2503, T2504, T2505, T2506, T2507, T2508, TKA01, TKA02, TKT09, ZCOT0080, ZCOT0090, ZCOT0110
- write: GT_DATA, ZCOT0210
- 외부 호출: ALSM_EXCEL_TO_INTERNAL_TABLE, BAPI_CURRENCY_CONV_TO_INTERNAL, CC01, CLOI_PUT_SIGN_IN_FRONT, CONVERSION_EXIT_ALPHA_INPUT, CONVERSION_EXIT_ALPHA_OUTPUT, CONVERT_OTF, CONVERT_TO_LOCAL_CURRENCY, CURRENCY_AMOUNT_IDOC_TO_SAP, CURRENCY_AMOUNT_SAP_TO_IDOC, DATE_CHECK_PLAUSIBILITY, DYNP_VALUES_READ, DYNP_VALUES_UPDATE, F4IF_INT_TABLE_VALUE_REQUEST, F4_DATE, FI_PERIOD_DETERMINE, GUI_DOWNLOAD, K_HIERARCHY_TABLES_READ, LVC_FIELDCATALOG_MERGE, LVC_FIELDCAT_COMPLETE, LVC_TRANSFER_FROM_SLIS, LV_CONVFUNC, MD_CONVERT_MATERIAL_UNIT, MESSAGE_TEXT_BUILD, NUMBER_GET_NEXT, POPUP_TO_CONFIRM, POPUP_TO_CONFIRM_STEP, POPUP_TO_SELECT_MONTH, POSTING_INTERFACE_END, POSTING_INTERFACE_START
로직 조각 (74건 / unit 62개)
LLM 이 코드에서 골라낸 업무 로직 단위다. 조각마다 소스 원문과 자연어 설명을 함께 싣는다 — 설명이 코드와 맞는지 바로 대조할 수 있어야 하기 때문이다. 테이블·호출은 LLM 이 쓴 값이 아니라 파서가 조각 범위에서 다시 뽑은 사실이다. 순서는 실행 순서다.
FORM SET_KOKRS_BASE — ZCO_COMMON L2094-L2101 (8줄)
TKA01에서 관리회계영역의 명칭·통화·계정과목표를 읽어 전역변수에 설정하는 공통 FORM이다.
이 unit 의 조각 1개가 4/8줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] TKA01에서 관리회계영역(P_KOKRS)의 명칭(BEZEI), 통화(WAERS), 계정과목표(KTOPL)를 조회해 GV_KOKRS_BEZEI/GV_WAERS/GV_KTOPL에 저장해 이후 검증·금액 변환의 기준으로 쓴다.
2096| SELECT SINGLE BEZEI WAERS KTOPL
2097| INTO (GV_KOKRS_BEZEI, GV_WAERS, GV_KTOPL)
2098| FROM TKA01
2099| WHERE KOKRS = P_KOKRS.
- EN: Read controlling area description, currency and chart of accounts from TKA01 into global variables used for validation and amount conversion.
- 테이블(파서): read TKA01 / write -
- SAP 객체: TKA01
- 업무 키워드: 관리회계영역 기본정보, 통화, 계정과목표
- English: Controlling Area, TKA01, Chart of Accounts, Currency
- 정의부(복사 시 함께 필요):
GV_KOKRS_BEZEI,GV_WAERS,GV_KTOPL,P_KOKRS - 위치:
abap://ZCOC2040/ZCO_COMMON#L2096-L2099· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#SET_KOKRS_BASE#C1
FORM CONTROL_FCXX — ZCOC2040F01 L34-L45 (12줄)
선택화면 기능 버튼 FC01(엑셀 양식 다운로드)이 눌리면 Z_CO_OPEN_SMW0로 SMW0에 등록된 업로드 엑셀 양식(GC_SMW0)을 여는 처리다.
이 unit 의 조각 1개가 7/12줄(58%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] SSCRFIELDS-UCOMM이 FC01이면 Z_CO_OPEN_SMW0를 호출해 웹 리포지토리(SMW0) 문서 GC_SMW0(품목(중)별 매출원가/장려금/수수료 계획 업로드 양식)을 다운로드/오픈한다.
37| CASE L_UCOMM.
38| WHEN 'FC01'.
39| CALL FUNCTION 'Z_CO_OPEN_SMW0'
40| EXPORTING
41| P_DOCNAM = GC_SMW0
42| P_TITLE = '품목(중)별 매출원가/장려금/수수료 계획 Upload'(F02).
43| ENDCASE.
- EN: When function code FC01 is pressed, call Z_CO_OPEN_SMW0 to open the Excel upload template stored in the SMW0 web repository under GC_SMW0.
- 호출(파서): Z_CO_OPEN_SMW0
- SAP 객체: Z_CO_OPEN_SMW0, SMW0, SSCRFIELDS
- 업무 키워드: 엑셀 양식 다운로드, SMW0 양식, 선택화면 버튼
- English: Excel Template, SMW0, Selection Screen Function Key
- 정의부(복사 시 함께 필요):
L_UCOMM,GC_SMW0 - 위치:
abap://ZCOC2040/ZCOC2040F01#L37-L43· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#CONTROL_FCXX#C1
EVENT START-OF-SELECTION — ZCOC2040 L48-L55 (8줄)
입력 검증(CHECK_INPUT) → 초기화(INITIALIZE_DATA) → 엑셀 읽기·검증(PROCESS_DATA) 순으로 메인 처리를 호출하는 START-OF-SELECTION 이벤트이다.
이 unit 의 조각 1개가 3/8줄(38%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] 파일 입력 검증, 관리회계영역·필드카탈로그 초기화, 엑셀 업로드 및 검증 처리를 순서대로 수행한다.
49| PERFORM CHECK_INPUT.
50| PERFORM INITIALIZE_DATA.
51| PERFORM PROCESS_DATA.
- EN: Run input check, data initialization and Excel upload/validation processing in sequence.
- 호출(파서): CHECK_INPUT, INITIALIZE_DATA, PROCESS_DATA
- SAP 객체: CHECK_INPUT, INITIALIZE_DATA, PROCESS_DATA
- 업무 키워드: 메인 처리 순서
- English: START-OF-SELECTION, Processing Flow
- 위치:
abap://ZCOC2040/ZCOC2040#L49-L51· confidence 0.8 ·ZCOC2040#ZCOC2040#EVENT#START-OF-SELECTION#C1
FORM CHECK_INPUT — ZCOC2040F01 L54-L61 (8줄)
선택화면의 업로드 파일명(P_FNAME) 입력 여부를 검사해 없으면 오류 메시지로 중단하는 FORM이다.
이 unit 의 조각 1개가 5/8줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 업로드 파일 경로(P_FNAME)가 비어 있으면 '업로드 파일을 선택하여 주시기 바랍니다' 메시지를 오류로 표시하고 LEAVE LIST-PROCESSING으로 중단한다.
56| IF P_FNAME IS INITIAL.
57| MESSAGE S000 DISPLAY LIKE 'E' WITH
58| '업로드 파일을 선택하여 주시기 바랍니다'(F01).
59| LEAVE LIST-PROCESSING.
60| ENDIF.
- EN: Validate that an upload file path was entered on the selection screen and stop with an error message otherwise.
- 업무 키워드: 입력값 검증, 업로드 파일 필수
- English: Input Validation, Selection Screen
- 정의부(복사 시 함께 필요):
P_FNAME - 위치:
abap://ZCOC2040/ZCOC2040F01#L56-L60· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#CHECK_INPUT#C1
FORM INITIALIZE_DATA — ZCOC2040F01 L67-L82 (16줄)
관리회계영역 기준 정보(SET_KOKRS_BASE)와 메인 ALV 필드카탈로그를 취득하고 업로드/저장 상태 변수를 초기화한다.
이 unit 의 조각 1개가 8/16줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] SET_KOKRS_BASE로 관리회계영역 P_KOKRS의 명칭 등 기준 정보를 세팅하고 GET_FCAT_LIKE_ITAB으로 메인 ALV 구조(GC_MAIN_ITAB_NAME)의 필드카탈로그를 취득한다.
68| PERFORM SET_KOKRS_BASE USING P_KOKRS.
69| P_BEZEI = GV_KOKRS_BEZEI.
70|
71| CLEAR : GT_MAIN_FIELDCAT, GT_MAIN_FIELDCAT[].
72| " MAIN ALV용 딕셔너리 구조 취득.
73| PERFORM GET_FCAT_LIKE_ITAB
74| TABLES GT_MAIN_FIELDCAT
75| USING GC_MAIN_ITAB_NAME.
- EN: Set controlling area base info via SET_KOKRS_BASE and fetch the main ALV field catalog with GET_FCAT_LIKE_ITAB.
- 호출(파서): SET_KOKRS_BASE, GET_FCAT_LIKE_ITAB
- 업무 키워드: 관리회계영역 기준정보, 필드카탈로그 취득, 초기화
- English: Controlling Area, Field Catalog, Initialization
- 정의부(복사 시 함께 필요):
P_KOKRS,GV_KOKRS_BEZEI,GT_MAIN_FIELDCAT,GC_MAIN_ITAB_NAME - 선언을 못 찾은 이름: P_BEZEI (수집 안 된 인클루드·함수 인터페이스일 수 있다)
- 위치:
abap://ZCOC2040/ZCOC2040F01#L68-L75· confidence 0.75 ·ZCOC2040#ZCOC2040F01#FORM#INITIALIZE_DATA#C1
FORM GET_FCAT_LIKE_ITAB — ZCO_COMMON L160-L201 (42줄)
프로그램 내부테이블 이름으로 REUSE_ALV_FIELDCATALOG_MERGE→LVC 변환→LVC_FIELDCAT_COMPLETE를 거쳐 LVC 필드카탈로그를 생성하는 공통 FORM이다.
이 unit 의 조각 1개가 26/42줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 내부테이블 정의(SY-REPID 내 P_ITAB_NAME)로 REUSE_ALV_FIELDCATALOG_MERGE를 호출해 SLIS 필드카탈로그를 얻고 LVC_TRANSFER_FROM_SLIS로 LVC 형식으로 바꾼 뒤 LVC_FIELDCAT_COMPLETE로 보완해 반환한다.
173| CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
174| EXPORTING
175| I_PROGRAM_NAME = SY-REPID
176| I_INTERNAL_TABNAME = P_ITAB_NAME
177| I_INCLNAME = SY-REPID
178| I_STRUCTURE_NAME = ''
179| I_BYPASSING_BUFFER = 'X'
180| CHANGING
181| CT_FIELDCAT = LT_FIELDCAT[]
182| EXCEPTIONS
183| INCONSISTENT_INTERFACE = 1
184| PROGRAM_ERROR = 2.
185|
186| CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
187| EXPORTING
188| IT_FIELDCAT_ALV = LT_FIELDCAT
189| IMPORTING
190| ET_FIELDCAT_LVC = LT_ALV_CAT
191| TABLES
192| IT_DATA = LT_TABLE[].
193|
194| CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
195| CHANGING
196| CT_FIELDCAT = LT_ALV_CAT.
197|
198| PT_REF_FCAT[] = LT_ALV_CAT[].
- EN: Generate an LVC field catalog from the program internal table definition via REUSE_ALV_FIELDCATALOG_MERGE, LVC_TRANSFER_FROM_SLIS and LVC_FIELDCAT_COMPLETE.
- 호출(파서): REUSE_ALV_FIELDCATALOG_MERGE, LVC_TRANSFER_FROM_SLIS, LVC_FIELDCAT_COMPLETE
- SAP 객체: REUSE_ALV_FIELDCATALOG_MERGE, LVC_TRANSFER_FROM_SLIS, LVC_FIELDCAT_COMPLETE, LVC_S_FCAT
- 업무 키워드: 필드카탈로그 생성, 내부테이블 구조, ALV 컬럼 정보
- English: Field Catalog, ALV, LVC
- 정의부(복사 시 함께 필요):
LT_FIELDCAT,LT_ALV_CAT,LT_TABLE - 위치:
abap://ZCOC2040/ZCO_COMMON#L173-L198· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#GET_FCAT_LIKE_ITAB#C1
FORM SET_CHARACTER_MASTER — ZCOC2040F01 L673-L729 (57줄)
판매조직·품목 계층 마스터(T2500~T2508), 하이마트 CO 특성 마스터(ZCOT0080/ZCOT0090/ZCOT0110)와 관리회계영역의 회사코드(TKA02)를 내부테이블로 적재해 검증·명칭 보강에 사용한다.
이 unit 의 조각 3개가 38/57줄(67%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 판매조직·품목 계층(대/중/소 등) 마스터 테이블 T2500T2508을 전체 조회해 GT_T2500GT_T2508에 담고 정렬한다(T2505는 품목(중) WW220 검증에 사용).
687| SELECT * FROM T2500 INTO TABLE GT_T2500.
688| SORT GT_T2500.
689| SELECT * FROM T2501 INTO TABLE GT_T2501.
690| SORT GT_T2501.
691| SELECT * FROM T2502 INTO TABLE GT_T2502.
692| SORT GT_T2502.
693| SELECT * FROM T2503 INTO TABLE GT_T2503.
694| SORT GT_T2503.
695| SELECT * FROM T2504 INTO TABLE GT_T2504.
696| SORT GT_T2504.
697| SELECT * FROM T2505 INTO TABLE GT_T2505.
698| SORT GT_T2505.
699| SELECT * FROM T2506 INTO TABLE GT_T2506.
700| SORT GT_T2506.
701| SELECT * FROM T2507 INTO TABLE GT_T2507.
702| SORT GT_T2507.
703| SELECT * FROM T2508 INTO TABLE GT_T2508.
704| SORT GT_T2508.
- EN: Load the full sales organization and product hierarchy master tables T2500 through T2508 into GT_T2500-GT_T2508 and sort them; T2505 is used to validate product group WW220.
- 테이블(파서): read T2500, T2501, T2502, T2503, T2504, T2505, T2506, T2507, T2508 / write -
- SAP 객체: T2500, T2501, T2502, T2503, T2504, T2505, T2506, T2507, T2508
- 업무 키워드: 품목 계층 마스터, 판매조직, 품목 중분류, 마스터 적재
- English: Product Hierarchy, Sales Organization, Master Data, T2505
- 정의부(복사 시 함께 필요):
GT_T2500,GT_T2501,GT_T2502,GT_T2503,GT_T2504,GT_T2505,GT_T2506,GT_T2507,GT_T2508 - 위치:
abap://ZCOC2040/ZCOC2040F01#L687-L704· confidence 0.85 ·ZCOC2040#ZCOC2040F01#FORM#SET_CHARACTER_MASTER#C1
[sql_select] 관리회계영역(P_KOKRS)의 하이마트 CO 특성 마스터 ZCOT0080(WW300), ZCOT0090(WW120), ZCOT0110(품목(중) WW220 명칭)을 조회해 각 특성 키로 정렬한다.
706| SELECT * FROM ZCOT0080
707| INTO TABLE GT_ZCOT0080
708| WHERE KOKRS = P_KOKRS.
709|
710| SORT GT_ZCOT0080 BY WW300.
711|
712| SELECT * FROM ZCOT0090
713| INTO TABLE GT_ZCOT0090
714| WHERE KOKRS = P_KOKRS.
715|
716| SORT GT_ZCOT0090 BY WW120.
717|
718| SELECT * FROM ZCOT0110
719| INTO TABLE GT_ZCOT0110
720| WHERE KOKRS = P_KOKRS.
721|
722| SORT GT_ZCOT0110 BY WW220.
- EN: Read the custom CO characteristic master tables ZCOT0080 (WW300), ZCOT0090 (WW120) and ZCOT0110 (product group WW220 text) for the controlling area and sort by their characteristic keys.
- 테이블(파서): read ZCOT0080, ZCOT0090, ZCOT0110 / write -
- SAP 객체: ZCOT0080, ZCOT0090, ZCOT0110
- 업무 키워드: CO 특성 마스터, 품목 중분류 명칭, 관리회계영역
- English: CO-PA Characteristic, Custom Master, Product Group Text
- 정의부(복사 시 함께 필요):
GT_ZCOT0080,P_KOKRS,GT_ZCOT0090,GT_ZCOT0110 - 위치:
abap://ZCOC2040/ZCOC2040F01#L706-L722· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#SET_CHARACTER_MASTER#C2
[sql_select] 관리회계영역과 회사코드가 1:1인 하이마트 전제로 TKA02에서 관리회계영역(P_KOKRS)에 할당된 회사코드를 GV_BUKRS에 읽는다.
726| SELECT SINGLE BUKRS FROM TKA02
727| INTO GV_BUKRS
728| WHERE KOKRS = P_KOKRS.
- EN: Read the company code assigned to the controlling area from TKA02 into GV_BUKRS, assuming a 1:1 controlling area to company code relationship.
- 테이블(파서): read TKA02 / write -
- SAP 객체: TKA02
- 업무 키워드: 회사코드, 관리회계영역 할당
- English: Company Code, Controlling Area Assignment, TKA02
- 정의부(복사 시 함께 필요):
GV_BUKRS,P_KOKRS - 위치:
abap://ZCOC2040/ZCOC2040F01#L726-L728· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#SET_CHARACTER_MASTER#C3
FORM READ_DATA — ZCOC2040F01 L356-L379 (24줄)
동적 업로드 테이블 생성, 엑셀 읽기, GT_DATA 이전, 검증, 편집·통화 변환까지 업로드 처리 흐름을 순서대로 호출한다.
이 unit 의 조각 1개가 20/24줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] CREATE_UPLOAD_TABLE → UPLOAD_XLS_STRUCT(2행부터) → TRANSFER_GT_DATA → VALIDATION_CHECK → EDIT_DATA/CONVERT_KRW_DATA 순으로 업로드 파이프라인을 실행한다.
359| PERFORM CREATE_UPLOAD_TABLE USING GC_UPLOAD_STRUCT.
360| * 2. 업로드 파일 취득
361| PERFORM UPLOAD_XLS_STRUCT TABLES <GF_UPLOADT>
362| USING P_FNAME " 파일명
363| 1 "S_COL-LOW
364| 2 "S_ROW-LOW
365| 256 "S_COL-HIGH
366| 65536. "S_ROW-HIGH
367| CHECK <GF_UPLOADT>[] IS NOT INITIAL.
368| *3. 인터널 테이블로 이전
369| PERFORM TRANSFER_GT_DATA.
370|
371| CHECK GT_DATA[] IS NOT INITIAL.
372|
373| "4. Validation
374| PERFORM VALIDATION_CHECK.
375|
376| *5. 인터널 테이블 데이터
377| PERFORM EDIT_DATA.
378| PERFORM CONVERT_KRW_DATA.
- EN: Orchestrate the upload pipeline: create dynamic table, read Excel, transfer, validate, edit and convert currency.
- 호출(파서): CREATE_UPLOAD_TABLE, UPLOAD_XLS_STRUCT, TRANSFER_GT_DATA, VALIDATION_CHECK, EDIT_DATA, CONVERT_KRW_DATA
- 업무 키워드: 업로드 처리 흐름, 검증, 엑셀 읽기
- English: Upload pipeline, Validation
- 정의부(복사 시 함께 필요):
GC_UPLOAD_STRUCT,<GF_UPLOADT>,P_FNAME,GT_DATA - 위치:
abap://ZCOC2040/ZCOC2040F01#L359-L378· confidence 0.8 ·ZCOC2040#ZCOC2040F01#FORM#READ_DATA#C1
FORM CREATE_UPLOAD_TABLE — ZCOC2040F01 L618-L664 (47줄)
업로드 구조(ZCOS0180)의 필드카탈로그를 LVC_FIELDCATALOG_MERGE 로 얻어 모든 필드를 CHAR 로 바꾼 뒤 CL_ALV_TABLE_CREATE 로 동적 업로드 테이블을 생성한다.
이 unit 의 조각 1개가 39/47줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] LVC_FIELDCATALOG_MERGE 로 구조 P_STRUCT 의 필드카탈로그를 생성하고 소수점·날짜 길이를 보정한 후 전 필드를 CHAR 로 변환하여 CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE 로 엑셀 업로드용 동적 테이블 <GF_UPLOADT> 와 작업 영역을 만든다.
624| CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
625| EXPORTING
626| I_STRUCTURE_NAME = LV_STRNM
627| I_BYPASSING_BUFFER = 'X'
628| CHANGING
629| CT_FIELDCAT = GT_UPLD_FCAT
630| EXCEPTIONS
631| INCONSISTENT_INTERFACE = 1
632| PROGRAM_ERROR = 2
633| OTHERS = 3.
634|
635| LOOP AT GT_UPLD_FCAT INTO GS_UPLD_FCAT.
636| CLEAR : GS_UPLD_FCAT-REF_TABLE, GS_UPLD_FCAT-REF_FIELD.
637|
638| IF GS_UPLD_FCAT-DECIMALS IS NOT INITIAL.
639| GS_UPLD_FCAT-INTLEN = GS_UPLD_FCAT-INTLEN + 1.
640| ENDIF.
641|
642| IF GS_UPLD_FCAT-DATATYPE EQ 'DATS'.
643| GS_UPLD_FCAT-INTLEN = '10'.
644| ENDIF.
645|
646| " 올린 그대로 받기 위해 CHAR로 변환.
647| GS_UPLD_FCAT-DATATYPE = 'CHAR'.
648| GS_UPLD_FCAT-INTTYPE = 'C'.
649|
650| APPEND GS_UPLD_FCAT TO LT_UPLD_FCAT.
651| ENDLOOP.
652|
653| CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
654| EXPORTING
655| IT_FIELDCATALOG = LT_UPLD_FCAT
656| IMPORTING
657| EP_TABLE = GF_UPLOADT.
658|
659| ASSIGN GF_UPLOADT->* TO <GF_UPLOADT>.
660|
661| CREATE DATA GF_UPLOADS LIKE LINE OF <GF_UPLOADT>.
662| ASSIGN GF_UPLOADS->* TO <GF_UPLOADS>.
- EN: Builds the field catalog of the upload structure via LVC_FIELDCATALOG_MERGE, converts all fields to CHAR and creates the dynamic upload table with CL_ALV_TABLE_CREATE.
- 호출(파서): LVC_FIELDCATALOG_MERGE, CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
- SAP 객체: LVC_FIELDCATALOG_MERGE, CL_ALV_TABLE_CREATE, ZCOS0180
- 업무 키워드: 동적 테이블 생성, 업로드 구조, 필드카탈로그, 문자형 변환
- English: Dynamic Table, Field Catalog, Excel Upload
- 정의부(복사 시 함께 필요):
LV_STRNM,GT_UPLD_FCAT,GS_UPLD_FCAT,LT_UPLD_FCAT,GF_UPLOADT,<GF_UPLOADT>,GF_UPLOADS,<GF_UPLOADS> - 위치:
abap://ZCOC2040/ZCOC2040F01#L624-L662· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#CREATE_UPLOAD_TABLE#C1
FORM UPLOAD_XLS_STRUCT — ZCO_COMMON L2191-L2245 (55줄)
엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 행/열 단위 값을 구조체 컴포넌트에 매핑해 내부테이블로 적재하는 공통 업로드 FORM이다.
이 unit 의 조각 2개가 39/55줄(71%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 지정한 시작/종료 행·열 범위로 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 LT_INTERN에 담고, 업로드 실패나 데이터 없음이면 메시지를 출력하고 종료한다.
2203| CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
2204| EXPORTING
2205| FILENAME = P_FILE
2206| I_BEGIN_COL = P_SCOL
2207| I_BEGIN_ROW = P_SROW
2208| I_END_COL = P_ECOL
2209| I_END_ROW = P_EROW
2210| TABLES
2211| INTERN = LT_INTERN
2212| EXCEPTIONS
2213| INCONSISTENT_PARAMETERS = 1
2214| UPLOAD_OLE = 2
2215| OTHERS = 3.
2216|
2217| IF SY-SUBRC <> 0.
2218| FORMAT COLOR COL_BACKGROUND INTENSIFIED.
2219| WRITE:/ 'Error Uploading file'.
2220| EXIT.
2221| ENDIF.
2222|
2223| IF LT_INTERN[] IS INITIAL.
2224| FORMAT COLOR COL_BACKGROUND INTENSIFIED.
2225| WRITE:/ 'No Data Uploaded'.
2226| EXIT.
- EN: Call ALSM_EXCEL_TO_INTERNAL_TABLE with the given row/column range to read the Excel file into ALSMEX_TABLINE and exit with a message on upload error or empty data.
- 호출(파서): ALSM_EXCEL_TO_INTERNAL_TABLE
- SAP 객체: ALSM_EXCEL_TO_INTERNAL_TABLE, ALSMEX_TABLINE
- 업무 키워드: 엑셀 업로드, 파일 읽기, 업로드 오류 처리
- English: Excel Upload, OLE, File Read
- 정의부(복사 시 함께 필요):
ALSMEX_TABLINE,LT_INTERN - 위치:
abap://ZCOC2040/ZCO_COMMON#L2203-L2226· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#UPLOAD_XLS_STRUCT#C1
[calculation] 행·열 순으로 정렬한 셀 값을 열 번호에 해당하는 구조체 컴포넌트에 ASSIGN COMPONENT로 옮기고(숫자 값은 콤마 제거), 행이 끝날 때마다 P_TABLE에 APPEND한다.
2228| SORT LT_INTERN BY ROW COL.
2229| LOOP AT LT_INTERN.
2230| MOVE LT_INTERN-COL TO LV_INDEX.
2231| ASSIGN COMPONENT LV_INDEX OF STRUCTURE P_TABLE TO <FS_LINE>.
2232|
2233| IF LT_INTERN-VALUE CO '0123456789,.- '.
2234| REPLACE ALL OCCURRENCES OF ',' IN LT_INTERN-VALUE WITH ''.
2235| ENDIF.
2236|
2237| MOVE LT_INTERN-VALUE TO <FS_LINE>.
2238| AT END OF ROW.
2239| APPEND P_TABLE.
2240| CLEAR P_TABLE.
2241| ENDAT.
2242| ENDLOOP.
- EN: Sort cells by row/column, move each cell value into the matching structure component (stripping thousand separators from numeric values) and append one internal table line per Excel row.
- SAP 객체: ALSMEX_TABLINE
- 업무 키워드: 셀 값 매핑, 콤마 제거, 행 단위 적재
- English: Cell Mapping, ASSIGN COMPONENT, Internal Table
- 정의부(복사 시 함께 필요):
ALSMEX_TABLINE,LT_INTERN,LV_INDEX,<FS_LINE> - 위치:
abap://ZCOC2040/ZCO_COMMON#L2228-L2242· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#UPLOAD_XLS_STRUCT#C2
FORM TRANSFER_GT_DATA — ZCOC2040F01 L112-L204 (93줄)
동적 엑셀 수신 테이블 <GF_UPLOADT>의 문자값을 업로드 구조 필드카탈로그(GT_UPLD_FCAT)에 따라 대문자 변환·CONVERSION_EXIT·숫자/날짜 형식 변환을 거쳐 GT_DATA 구조로 이전한다.
이 unit 의 조각 2개가 75/93줄(81%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 업로드 구조 필드들의 도메인(GT_UPLD_FCAT-DOMNAME)에 대해 DD01L에서 소문자 허용 여부(LOWERCASE)를 조회해 대문자 변환 대상을 판단할 LT_LOWERCASE를 만든다.
128| SELECT DOMNAME LOWERCASE
129| INTO TABLE LT_LOWERCASE
130| FROM DD01L
131| FOR ALL ENTRIES IN GT_UPLD_FCAT
132| WHERE DOMNAME = GT_UPLD_FCAT-DOMNAME
133| AND AS4LOCAL = 'A'.
134|
135| SORT LT_LOWERCASE.
136| DELETE ADJACENT DUPLICATES FROM LT_LOWERCASE
137| COMPARING ALL FIELDS.
- EN: Read the lowercase-allowed flag from DD01L for the domains of the upload structure fields to decide which values must be converted to upper case.
- 테이블(파서): read DD01L / write -
- SAP 객체: DD01L, GT_UPLD_FCAT
- 업무 키워드: 도메인 소문자 허용, 대문자 변환 기준
- English: Domain, Lowercase Flag, DD01L
- 정의부(복사 시 함께 필요):
LT_LOWERCASE,GT_UPLD_FCAT - 위치:
abap://ZCOC2040/ZCOC2040F01#L128-L137· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#TRANSFER_GT_DATA#C1
[calculation] 엑셀 수신 행의 각 컬럼을 필드카탈로그 순서로 ASSIGN COMPONENT하여 소문자 비허용 도메인은 대문자로 바꾸고 CONVEXIT가 있으면 CONVERSION_EXIT_xxx_INPUT을 동적 호출하며 숫자형(INT/NUMC/QUAN/DEC/CURR)은 BDC_CURR, 날짜형(DATS)은 BDC_DATE로 변환한 뒤 GS_DATA 필드에 옮기고(형 변환 예외는 메시지 후 종료) 초기 상태로 GT_DATA에 APPEND 한다.
139| LOOP AT <GF_UPLOADT> INTO <GF_UPLOADS>.
140| LOOP AT GT_UPLD_FCAT INTO GS_UPLD_FCAT.
141| ASSIGN COMPONENT GS_UPLD_FCAT-COL_POS OF STRUCTURE <GF_UPLOADS>
142| TO <FS_UPLD_FIELD>.
143|
144| IF SY-SUBRC NE 0.
145| MESSAGE S000 WITH 'Field assign Fail.'.
146| LEAVE LIST-PROCESSING.
147| ENDIF.
148|
149| READ TABLE LT_LOWERCASE WITH KEY DOMNAME = GS_UPLD_FCAT-DOMNAME
150| BINARY SEARCH.
151|
152| IF LT_LOWERCASE-LOWERCASE NE 'X'.
153| TRANSLATE <FS_UPLD_FIELD> TO UPPER CASE.
154| ENDIF.
155|
156| IF GS_UPLD_FCAT-CONVEXIT IS NOT INITIAL.
157| CONCATENATE 'CONVERSION_EXIT_' GS_UPLD_FCAT-CONVEXIT '_INPUT'
158| INTO LV_CONVFUNC.
159|
160| CALL FUNCTION LV_CONVFUNC
161| EXPORTING
162| INPUT = <FS_UPLD_FIELD>
163| IMPORTING
164| OUTPUT = <FS_UPLD_FIELD>
165| EXCEPTIONS
166| OTHERS = 1.
167| ENDIF.
168|
169| CASE GS_UPLD_FCAT-DATATYPE.
170| WHEN 'INT1' OR 'INT2' OR 'INT4' OR 'NUMC' OR 'QUAN' OR
171| 'DEC' OR 'CURR'.
172| PERFORM BDC_CURR USING <FS_UPLD_FIELD>.
173| WHEN 'DATS'.
174| PERFORM BDC_DATE USING <FS_UPLD_FIELD>.
175| ENDCASE.
176|
177| ASSIGN COMPONENT GS_UPLD_FCAT-COL_POS OF STRUCTURE GS_DATA
178| TO <FS_DATA_FIELD>.
179|
180| IF SY-SUBRC NE 0.
181| MESSAGE S000 WITH 'Field assign Fail.'.
182| LEAVE LIST-PROCESSING.
183| ENDIF.
184|
185| TRY .
186| <FS_DATA_FIELD> = <FS_UPLD_FIELD>.
187|
188| CATCH CX_ROOT INTO LF_OREF.
189| LV_TEXT = LF_OREF->GET_TEXT( ).
190| CONCATENATE LV_TEXT GS_UPLD_FCAT-FIELDNAME 'Type conversion error :'
191| INTO LV_TEXT.
192| MESSAGE S000 WITH LV_TEXT.
193| LEAVE LIST-PROCESSING.
194| ENDTRY.
195| ENDLOOP.
196|
197| GS_DATA-STATUS = GC_STATUS_INIT.
198|
199| APPEND GS_DATA TO GT_DATA.
200| CLEAR GS_DATA.
201| CLEAR : LT_LOWERCASE.
202|
203| ENDLOOP.
- EN: For each uploaded Excel row assign every column by field catalog position, upper-case values whose domain disallows lowercase, call CONVERSION_EXIT_xxx_INPUT dynamically when a conversion exit exists, normalize numeric types via BDC_CURR and dates via BDC_DATE, move the value into GS_DATA (abort on type conversion exception) and append the row to GT_DATA with initial status.
- 호출(파서): LV_CONVFUNC, BDC_CURR, BDC_DATE, LF_OREF->GET_TEXT
- SAP 객체: CONVERSION_EXIT_*_INPUT, BDC_CURR, BDC_DATE, GT_DATA, GT_UPLD_FCAT
- 업무 키워드: 엑셀 데이터 이전, 변환 루틴, 숫자 형식 변환, 날짜 형식 변환, 대문자 변환, 형 변환 오류
- English: Excel Transfer, Conversion Exit, Numeric Conversion, Date Conversion, Type Conversion Error
- 정의부(복사 시 함께 필요):
<GF_UPLOADT>,<GF_UPLOADS>,GT_UPLD_FCAT,GS_UPLD_FCAT,<FS_UPLD_FIELD>,LT_LOWERCASE,LV_CONVFUNC,GT_DATA,GS_DATA,<FS_DATA_FIELD>,LF_OREF,LV_TEXT외 1건 - 위치:
abap://ZCOC2040/ZCOC2040F01#L139-L203· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#TRANSFER_GT_DATA#C2
FORM VALIDATION_CHECK — ZCOC2040F01 L214-L322 (109줄)
업로드된 GT_DATA 각 행의 구분값(매출원가/장려금/수수료), 품목(중) 코드 입력 및 T2505 존재 여부, 품목+구분 중복을 검증해 오류 행에 빨간 상태·메시지를 남기고 업로드 오류 플래그를 세운다.
이 unit 의 조각 3개가 89/109줄(82%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 구분(GUBUN) 텍스트 첫 글자가 매/장/수(GC_GUBUN1~3)가 아니면 오류 메시지(F04)와 빨간 상태를 부여하고 GUBUN 셀을 빨갛게 표시하며 GV_UPLOAD_ERROR를 세운다.
224| IF NOT ( GT_DATA-GUBUN(1) = GC_GUBUN1 OR GT_DATA-GUBUN(1) = GC_GUBUN2
225| OR GT_DATA-GUBUN(1) = GC_GUBUN3 ).
226| GT_DATA-MESSAGE = '구분값은 ''매출원가''과 ''장려금'' ''수수료'' 텍스트만 넣어주십시오.'(F04).
227| GT_DATA-STATUS = GC_STATUS_RED.
228| GV_UPLOAD_ERROR = 'X'.
229| PERFORM SET_ERROR_FIELD_RED USING 'GUBUN'.
230| PERFORM ADD_DATA_MESSAGE USING 'E'
231| GT_DATA-GUBUN
232| GT_DATA-MESSAGE.
233| ENDIF.
- EN: Validate that the first character of GUBUN is one of the allowed categories (cost of sales, incentive, commission); otherwise mark the row red with message F04, highlight the GUBUN cell and set the upload error flag.
- 호출(파서): SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE
- SAP 객체: GT_DATA, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE
- 업무 키워드: 구분값 검증, 매출원가, 장려금, 수수료, 업로드 오류
- English: Category Validation, Cost of Sales, Incentive, Commission, Upload Error
- 정의부(복사 시 함께 필요):
GT_DATA,GC_GUBUN1,GC_GUBUN2,GC_GUBUN3,GC_STATUS_RED,GV_UPLOAD_ERROR - 위치:
abap://ZCOC2040/ZCOC2040F01#L224-L233· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#VALIDATION_CHECK#C1
[validation] 품목(중) 코드 WW220가 비어 있거나 품목(중) 마스터 GT_T2505(T2505)에 존재하지 않으면 오류 메시지(F05/F06)와 빨간 상태를 부여하고 WW220 셀을 강조하며 업로드 오류 플래그를 세운다.
235| IF GT_DATA-WW220 IS INITIAL.
236| GT_DATA-MESSAGE = '품목(중) 코드가 입력되지 않았습니다.'(F05).
237| GT_DATA-STATUS = GC_STATUS_RED.
238| GV_UPLOAD_ERROR = 'X'.
239| PERFORM SET_ERROR_FIELD_RED USING 'WW220'.
240| PERFORM ADD_DATA_MESSAGE USING 'E'
241| GT_DATA-WW220
242| GT_DATA-MESSAGE.
243| ENDIF.
244|
245| READ TABLE GT_T2505 WITH KEY WW220 = GT_DATA-WW220
246| BINARY SEARCH.
247|
248| IF SY-SUBRC NE 0.
249| GT_DATA-MESSAGE = '품목(중) 코드가 존재하지 않습니다.'(F06).
250| GT_DATA-STATUS = GC_STATUS_RED.
251| GV_UPLOAD_ERROR = 'X'.
252| PERFORM SET_ERROR_FIELD_RED USING 'WW220'.
253| PERFORM ADD_DATA_MESSAGE USING 'E'
254| GT_DATA-WW220
255| GT_DATA-MESSAGE.
256| ENDIF.
- EN: Check that product group WW220 is entered and exists in the T2505 master (GT_T2505); otherwise mark the row red with message F05/F06, highlight WW220 and set the upload error flag.
- 호출(파서): SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE
- SAP 객체: T2505, GT_T2505, GT_DATA
- 업무 키워드: 품목 중분류 검증, 마스터 존재 확인, 필수 입력
- English: Product Group, Master Data Check, T2505, Required Field
- 정의부(복사 시 함께 필요):
GT_DATA,GC_STATUS_RED,GV_UPLOAD_ERROR,GT_T2505 - 위치:
abap://ZCOC2040/ZCOC2040F01#L235-L256· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#VALIDATION_CHECK#C2
[validation] GT_DATA 복사본 LT_CHECK에서 같은 품목(중) WW220와 같은 구분 첫 글자를 가진 행이 2건 이상이면 중복 품목(중) 데이터 오류(F07)로 빨간 상태·메시지를 부여하고 업로드 오류 플래그를 세운다(동일 검사를 GUBUN(2), GUBUN(3) 오프셋으로 두 번 더 반복).
258| LOOP AT LT_CHECK WHERE WW220 = GT_DATA-WW220
259| AND GUBUN(1) = GT_DATA-GUBUN(1).
260| ADD 1 TO LV_CNT.
261| IF LV_CNT = 2.
262| EXIT.
263| ENDIF.
264| ENDLOOP.
265|
266| IF LV_CNT = 2.
267| GT_DATA-MESSAGE = '중복 품목(중) 데이터가 업로드되었습니다.'(F07).
268| GT_DATA-STATUS = GC_STATUS_RED.
269| GV_UPLOAD_ERROR = 'X'.
270| PERFORM SET_ERROR_FIELD_RED USING 'WW220'.
271| PERFORM ADD_DATA_MESSAGE USING 'E'
272| GT_DATA-WW220
273| GT_DATA-MESSAGE.
274| ENDIF.
275|
276| CLEAR : LV_CNT.
277|
278| LOOP AT LT_CHECK WHERE WW220 = GT_DATA-WW220
279| AND GUBUN(1) = GT_DATA-GUBUN(2).
280| ADD 1 TO LV_CNT.
281| IF LV_CNT = 2.
282| EXIT.
283| ENDIF.
284| ENDLOOP.
285|
286| IF LV_CNT = 2.
287| GT_DATA-MESSAGE = '중복 품목(중) 데이터가 업로드되었습니다.'(F07).
288| GT_DATA-STATUS = GC_STATUS_RED.
289| GV_UPLOAD_ERROR = 'X'.
290| PERFORM SET_ERROR_FIELD_RED USING 'WW220'.
291| PERFORM ADD_DATA_MESSAGE USING 'E'
292| GT_DATA-WW220
293| GT_DATA-MESSAGE.
294| ENDIF.
295|
296| CLEAR : LV_CNT.
297|
298| LOOP AT LT_CHECK WHERE WW220 = GT_DATA-WW220
299| AND GUBUN(1) = GT_DATA-GUBUN(3).
300| ADD 1 TO LV_CNT.
301| IF LV_CNT = 2.
302| EXIT.
303| ENDIF.
304| ENDLOOP.
305|
306| IF LV_CNT = 2.
307| GT_DATA-MESSAGE = '중복 품목(중) 데이터가 업로드되었습니다.'(F07).
308| GT_DATA-STATUS = GC_STATUS_RED.
309| GV_UPLOAD_ERROR = 'X'.
310| PERFORM SET_ERROR_FIELD_RED USING 'WW220'.
311| PERFORM ADD_DATA_MESSAGE USING 'E'
312| GT_DATA-WW220
313| GT_DATA-MESSAGE.
314| ENDIF.
- EN: Detect duplicate rows with the same product group WW220 and category character in LT_CHECK (count reaches 2) and flag them as duplicate upload error F07 with red status; the same check is repeated using GUBUN offsets 2 and 3.
- 호출(파서): SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE
- SAP 객체: GT_DATA, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE
- 업무 키워드: 중복 검사, 품목 중분류, 구분, 업로드 오류
- English: Duplicate Check, Product Group, Category, Upload Error
- 정의부(복사 시 함께 필요):
GT_DATA,LT_CHECK,LV_CNT,GC_STATUS_RED,GV_UPLOAD_ERROR - 위치:
abap://ZCOC2040/ZCOC2040F01#L258-L314· confidence 0.8 ·ZCOC2040#ZCOC2040F01#FORM#VALIDATION_CHECK#C3
FORM ADD_DATA_MESSAGE — ZCOC2040F01 L497-L523 (27줄)
검증 결과 메시지를 값과 함께 조합하고 상태(S/E/W)에 따른 신호등 아이콘을 붙여 현재 GT_DATA 행의 메시지 목록(MSG_LIST)에 추가한다.
이 unit 의 조각 1개가 18/27줄(67%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[other] 값(P_VALUE)이 있으면 값 : 메시지 형태로 조합하고 상태 S/E/W를 초록/빨강/노랑 아이콘으로 변환해 GS_MSG_T_S를 GT_DATA-MSG_LIST에 INSERT 한다.
504| IF P_VALUE IS NOT INITIAL.
505| CONCATENATE P_VALUE ` : ` P_MESSAGE
506| INTO LV_MESSAGE.
507| ELSE.
508| LV_MESSAGE = P_MESSAGE.
509| ENDIF.
510|
511| IF P_STATUS = 'S'.
512| LV_STATUS = GC_STATUS_GREEN.
513| ELSEIF P_STATUS = 'E'.
514| LV_STATUS = GC_STATUS_RED.
515| ELSEIF P_STATUS = 'W'.
516| LV_STATUS = GC_STATUS_YELLOW.
517| ENDIF.
518| GS_MSG_T_S-STATUS = LV_STATUS.
519| GS_MSG_T_S-MESSAGE = LV_MESSAGE.
520|
521| INSERT GS_MSG_T_S INTO TABLE GT_DATA-MSG_LIST.
- EN: Build the message text as value : message when a value is given, map status S/E/W to green/red/yellow icons and insert the entry into GT_DATA-MSG_LIST.
- SAP 객체: GT_DATA, GS_MSG_T_S
- 업무 키워드: 메시지 누적, 상태 아이콘, 오류 로그
- English: Message List, Status Icon, Validation Log
- 정의부(복사 시 함께 필요):
LV_MESSAGE,LV_STATUS,GC_STATUS_GREEN,GC_STATUS_RED,GC_STATUS_YELLOW,GS_MSG_T_S,GT_DATA - 위치:
abap://ZCOC2040/ZCOC2040F01#L504-L521· confidence 0.85 ·ZCOC2040#ZCOC2040F01#FORM#ADD_DATA_MESSAGE#C1
FORM EDIT_DATA — ZCOC2040F01 L532-L610 (79줄)
업로드된 GT_DATA에 구분 텍스트 첫 글자로 원가구분(COST_GUBUN 10/20/30)을 부여하고 구분별 월 합계를 COLLECT하며 품목(중) 명칭을 붙인 뒤, 행별 12개월 합계와 구분별 총합계를 계산한다.
이 unit 의 조각 2개가 64/79줄(81%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[aggregation] 각 행에 통화(GV_WAERS)를 넣고 구분(GUBUN) 첫 글자가 매/장/수(GC_GUBUN1~3)이면 COST_GUBUN을 10(매출원가)/20(장려금)/30(수수료)으로 매핑하며, 구분별로 품목·통화를 제외한 월별 금액을 GT_SUM_10/20/30_VV100에 COLLECT하고 GT_ZCOT0110에서 품목(중) 명칭(WW220_TEXT)을 보강한다.
544| LOOP AT GT_DATA.
545| GT_DATA-REC_WAERS = GV_WAERS.
546|
547| IF GT_DATA-GUBUN(1) = GC_GUBUN1.
548| GT_DATA-COST_GUBUN = '10'.
549| ELSEIF GT_DATA-GUBUN(1) = GC_GUBUN2.
550| GT_DATA-COST_GUBUN = '20'.
551| ELSEIF GT_DATA-GUBUN(1) = GC_GUBUN3.
552| GT_DATA-COST_GUBUN = '30'.
553| ENDIF.
554|
555| IF GT_DATA-GUBUN(1) = GC_GUBUN1.
556| MOVE-CORRESPONDING GT_DATA TO GT_SUM_10_VV100.
557| CLEAR : GT_SUM_10_VV100-WW220.
558| CLEAR : GT_SUM_10_VV100-REC_WAERS.
559| COLLECT GT_SUM_10_VV100.
560| ELSEIF GT_DATA-GUBUN(1) = GC_GUBUN2.
561| MOVE-CORRESPONDING GT_DATA TO GT_SUM_20_VV100.
562| CLEAR : GT_SUM_20_VV100-WW220.
563| CLEAR : GT_SUM_20_VV100-REC_WAERS.
564| COLLECT GT_SUM_20_VV100.
565| ELSEIF GT_DATA-GUBUN(1) = GC_GUBUN3.
566| MOVE-CORRESPONDING GT_DATA TO GT_SUM_30_VV100.
567| CLEAR : GT_SUM_30_VV100-WW220.
568| CLEAR : GT_SUM_30_VV100-REC_WAERS.
569| COLLECT GT_SUM_30_VV100.
570| ENDIF.
571|
572| READ TABLE GT_ZCOT0110 WITH KEY WW220 = GT_DATA-WW220
573| BINARY SEARCH.
574|
575| IF SY-SUBRC EQ 0.
576| GT_DATA-WW220_TEXT = GT_ZCOT0110-WW220_TEXT.
577| ENDIF.
578|
579| MODIFY GT_DATA.
580| CLEAR : GT_DATA, GT_ZCOT0090, GT_SUM_10_VV100.
581| ENDLOOP.
- EN: Set currency, map the first character of GUBUN to cost category COST_GUBUN 10 (cost of sales), 20 (incentive) or 30 (commission), COLLECT monthly amounts per category into GT_SUM_10/20/30_VV100 and add the product group text from GT_ZCOT0110.
- 테이블(파서): read - / write GT_DATA
- SAP 객체: GT_DATA, GT_ZCOT0110, ZCOT0110, GT_SUM_10_VV100, GT_SUM_20_VV100, GT_SUM_30_VV100
- 업무 키워드: 원가구분, 매출원가, 장려금, 수수료, 구분별 합계, 품목 중분류 명칭
- English: Cost Category, Cost of Sales, Incentive, Commission, COLLECT Sum, Product Group Text
- 정의부(복사 시 함께 필요):
GT_DATA,GV_WAERS,GC_GUBUN1,GC_GUBUN2,GC_GUBUN3,GT_SUM_10_VV100,GT_SUM_20_VV100,GT_SUM_30_VV100,GT_ZCOT0110,GT_ZCOT0090 - 위치:
abap://ZCOC2040/ZCOC2040F01#L544-L581· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#EDIT_DATA#C1
[calculation] 각 행의 MONTH01~12를 동적 ASSIGN으로 합산해 연간 합계(SUM)를 구하고 구분별 총합계(GV_VV110_10/20/30_SUM)를 누적한 뒤 품목(중)·원가구분 순으로 정렬한다.
583| LOOP AT GT_DATA.
584| CLEAR : LV_SUM.
585| DO 12 TIMES.
586| LV_NC = SY-INDEX.
587| CONCATENATE 'GT_DATA-MONTH' LV_NC INTO LV_FIELD.
588| ASSIGN (LV_FIELD) TO <FS_VALUE>.
589|
590| IF SY-SUBRC EQ 0.
591| LV_SUM = LV_SUM + <FS_VALUE>.
592| ENDIF.
593| ENDDO.
594|
595| GT_DATA-SUM = LV_SUM.
596|
597| IF GT_DATA-GUBUN(1) = GC_GUBUN1.
598| GV_VV110_10_SUM = GV_VV110_10_SUM + LV_SUM.
599| ELSEIF GT_DATA-GUBUN(1) = GC_GUBUN2.
600| GV_VV110_20_SUM = GV_VV110_20_SUM + LV_SUM.
601| ELSEIF GT_DATA-GUBUN(1) = GC_GUBUN3.
602| GV_VV110_30_SUM = GV_VV110_30_SUM + LV_SUM.
603| ENDIF.
604|
605| MODIFY GT_DATA. CLEAR : GT_DATA.
606| ENDLOOP.
607|
608| SORT GT_DATA BY WW220 COST_GUBUN.
- EN: Sum MONTH01-12 of each row via dynamic ASSIGN into the yearly SUM field, accumulate category totals GV_VV110_10/20/30_SUM, and sort GT_DATA by product group and cost category.
- 테이블(파서): read - / write GT_DATA
- SAP 객체: GT_DATA
- 업무 키워드: 연간 합계, 월별 합산, 구분별 총합계, 정렬
- English: Yearly Total, Monthly Sum, Category Total
- 정의부(복사 시 함께 필요):
GT_DATA,LV_SUM,LV_NC,LV_FIELD,<FS_VALUE>,GC_GUBUN1,GV_VV110_10_SUM,GC_GUBUN2,GV_VV110_20_SUM,GC_GUBUN3,GV_VV110_30_SUM - 위치:
abap://ZCOC2040/ZCOC2040F01#L583-L608· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#EDIT_DATA#C2
FORM CONVERT_KRW_DATA — ZCOC2040F01 L808-L828 (21줄)
필드카탈로그에서 통화(CURR) 타입 필드를 찾아 GT_DATA 각 행의 금액을 CONV_DB_WAERS로 내부 통화형식으로 변환한다.
이 unit 의 조각 1개가 14/21줄(67%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] GT_MAIN_FIELDCAT의 CURR 타입 필드마다 GT_DATA 행에 동적 ASSIGN하여 CONV_DB_WAERS로 통화(GV_WAERS) 기준 내부 금액 형식으로 변환한다.
814| LOOP AT GT_MAIN_FIELDCAT INTO LS_FIELDCAT
815| WHERE DATATYPE = 'CURR'.
816|
817| CONCATENATE '<FS_DATA>-' LS_FIELDCAT-FIELDNAME
818| INTO LV_FIELD.
819|
820| LOOP AT GT_DATA ASSIGNING <FS_DATA>.
821| ASSIGN (LV_FIELD) TO <FS_FIELD>.
822|
823| IF SY-SUBRC EQ 0.
824| PERFORM CONV_DB_WAERS USING <FS_FIELD> GV_WAERS.
825| ENDIF.
826| ENDLOOP.
827| ENDLOOP.
- EN: For every CURR field in the field catalog dynamically assign the GT_DATA amount and convert it to internal currency format via CONV_DB_WAERS.
- 호출(파서): CONV_DB_WAERS
- SAP 객체: LVC_S_FCAT
- 업무 키워드: 통화 변환, 내부 금액 형식, 동적 필드
- English: Currency conversion, Internal format, Field symbol
- 정의부(복사 시 함께 필요):
GT_MAIN_FIELDCAT,LS_FIELDCAT,LV_FIELD,GT_DATA,<FS_DATA>,<FS_FIELD>,GV_WAERS - 위치:
abap://ZCOC2040/ZCOC2040F01#L814-L827· confidence 0.85 ·ZCOC2040#ZCOC2040F01#FORM#CONVERT_KRW_DATA#C1
FORM CONV_DB_WAERS — ZCO_COMMON L2109-L2116 (8줄)
CURRENCY_AMOUNT_IDOC_TO_SAP로 외부(IDoc) 형식 금액을 통화 소수점에 맞는 SAP 내부 금액으로 변환하는 공통 FORM이다.
이 unit 의 조각 1개가 6/8줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 통화(P_WAERS)에 따라 외부 표시 금액을 CURRENCY_AMOUNT_IDOC_TO_SAP로 DB 저장용 내부 금액으로 변환해 P_VALUE에 되돌린다.
2110| CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
2111| EXPORTING
2112| CURRENCY = P_WAERS
2113| IDOC_AMOUNT = P_VALUE
2114| IMPORTING
2115| SAP_AMOUNT = P_VALUE.
- EN: Convert an IDoc/external amount to SAP internal amount format for the currency via CURRENCY_AMOUNT_IDOC_TO_SAP.
- 호출(파서): CURRENCY_AMOUNT_IDOC_TO_SAP
- SAP 객체: CURRENCY_AMOUNT_IDOC_TO_SAP
- 업무 키워드: 금액 내부형식 변환, 통화 소수점
- English: Currency Conversion, Internal Amount
- 위치:
abap://ZCOC2040/ZCO_COMMON#L2110-L2115· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#CONV_DB_WAERS#C1
EVENT END-OF-SELECTION — ZCOC2040 L56-L67 (12줄)
온라인 실행 시 검증된 업로드 데이터(GT_DATA)가 있으면 화면 100(ALV)을 호출하고 없으면 메시지를 내는 END-OF-SELECTION 이벤트이다.
이 unit 의 조각 1개가 11/12줄(92%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] 배치가 아닌 온라인 실행이고 GT_DATA가 있으면 CALL SCREEN 100으로 ALV 검증 결과 화면을 띄우고, 없으면 '조회된 데이터가 없습니다' 메시지를 낸다.
57| IF SY-BATCH NE 'X'.
58| IF GT_DATA[] IS NOT INITIAL.
59| CALL SCREEN 100.
60| ELSE.
61| MESSAGE S000 WITH '조회된 데이터가 없습니다.'.
62| ENDIF.
63| ELSE.
64| IF GT_DATA[] IS NOT INITIAL.
65| * PERFORM DISPLAY_SPOOL_BY_SALV TABLES GT_DATA[].
66| ENDIF.
67| ENDIF...
- EN: In dialog mode call screen 100 to show the ALV when GT_DATA is filled, otherwise issue a no-data message; batch mode does nothing.
- 호출(파서): 100
- SAP 객체: GT_DATA
- 업무 키워드: 결과 화면 호출, 데이터 없음 메시지
- English: CALL SCREEN, ALV, Batch Mode
- 정의부(복사 시 함께 필요):
GT_DATA - 위치:
abap://ZCOC2040/ZCOC2040#L57-L67· confidence 0.85 ·ZCOC2040#ZCOC2040#EVENT#END-OF-SELECTION#C1
FORM SET_COMPANY_BASE — ZCO_COMMON L210-L227 (18줄)
회사코드로 T001을 읽어 통화·계정과목표·언어·회사명·국가 전역변수를 설정하는 공통 FORM이다.
이 unit 의 조각 1개가 13/18줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] T001에서 회사코드(BUKRS)를 조회해 회사 통화(WAERS), 계정과목표(KTOPL), 언어, 회사명(BUTXT), 국가(LAND1)를 전역변수에 저장해 이후 검증·금액 변환의 기준으로 쓴다.
214| SELECT SINGLE *
215| FROM T001
216| INTO L_T001
217| WHERE BUKRS = P_BUKRS.
218|
219| IF SY-SUBRC EQ 0.
220| GV_WAERS = L_T001-WAERS.
221| GV_KTOPL = L_T001-KTOPL.
222| GV_SPRAS = L_T001-SPRAS.
223| GV_WAERS = L_T001-WAERS.
224| GV_BUKRS_TXT = L_T001-BUTXT.
225| GV_LAND1 = L_T001-LAND1.
226| ENDIF.
- EN: Read company code master T001 and store company currency, chart of accounts, language, company name and country in global variables.
- 테이블(파서): read T001 / write -
- SAP 객체: T001
- 업무 키워드: 회사코드 기본정보, 회사 통화, 계정과목표
- English: Company Code, T001, Chart of Accounts, Local Currency
- 정의부(복사 시 함께 필요):
L_T001,GV_WAERS,GV_KTOPL,GV_SPRAS,GV_BUKRS_TXT,GV_LAND1 - 위치:
abap://ZCOC2040/ZCO_COMMON#L214-L226· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#SET_COMPANY_BASE#C1
FORM GET_SETLEAF_VALUES — ZCO_COMMON L233-L297 (65줄)
세트 클래스(코스트센터 그룹/원가요소 그룹 등)와 세트명으로 SETID를 구성해 K_HIERARCHY_TABLES_READ로 세트의 값 목록을 GT_VALUE_SET에 읽어오는 공통 FORM이다.
이 unit 의 조각 1개가 48/65줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 세트 클래스(0101 코스트센터, 0102 원가요소, 0103 오더, 0106 손익센터, 0109 계정과목)에 따라 관리회계영역(GC_KOKRS) 또는 계정과목표(GV_KTOPL)를 붙여 SETID를 만들고 K_HIERARCHY_TABLES_READ로 세트 계층의 값 구간(T_VALUES)을 GT_VALUE_SET에 조회한다.
249| L_CLASS = PV_CLASS.
250|
251| CASE PV_CLASS.
252| WHEN '0101'. " 코스트센터
253| CONCATENATE PV_CLASS GC_KOKRS P_SETNAME INTO L_SETID.
254| WHEN '0102'. " 원가요소
255| CONCATENATE PV_CLASS GV_KTOPL P_SETNAME INTO L_SETID.
256| WHEN '0103'. " 오더
257| * CONCATENATE PV_CLASS GC_KOKRS P_SETNAME INTO L_SETID.
258| CONCATENATE PV_CLASS P_SETNAME INTO L_SETID. " New GL/Segment
259| WHEN '0106'. " 손익센터
260| CONCATENATE PV_CLASS GC_KOKRS P_SETNAME INTO L_SETID.
261| WHEN '0109'. " 계정과목
262| CONCATENATE PV_CLASS GV_KTOPL P_SETNAME INTO L_SETID.
263| ENDCASE.
264|
265| CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
266| EXPORTING
267| E_CLASS = L_CLASS
268| E_SETID = L_SETID
269| E_KOKRS = GC_KOKRS
270| E_MANDT = SY-MANDT
271| TABLES
272| T_NODES = LT_NODE
273| T_VALUES = GT_VALUE_SET
274| CHANGING
275| C_INFO = LT_GRPHINFO
276| C_OVERWRITE = SY-DATAR
277| EXCEPTIONS
278| NO_CONTROLLING_AREA = 1
279| NO_CHART_OF_ACCOUNT = 2
280| DIFFERENT_CONTROLLING_AREAS = 3
281| DIFFERENT_CHART_OF_ACCOUNTS = 4
282| SET_NOT_FOUND = 5
283| ILLEGAL_FIELD_REPLACEMENT = 6
284| ILLEGAL_TABLE_REPLACEMENT = 7
285| FM_RAISE = 8
286| CONVERT_ERROR = 9
287| NO_OVERWRITE_STANDARD_HIER = 10
288| NO_BUKRS_FOR_KOKRS = 11
289| OTHERS = 12.
290|
291| IF SY-SUBRC <> 0.
292| * MESSAGE ID 'GS' TYPE 'E' NUMBER '004'
293| * WITH P_SETNAME INTO L_MESSAGE.
294| * MESSAGE S000(ZCOM1) DISPLAY LIKE 'E' WITH L_MESSAGE.
295| * LEAVE LIST-PROCESSING.
296| ENDIF.
- EN: Compose the SETID by set class with controlling area or chart of accounts, then read the set hierarchy values via K_HIERARCHY_TABLES_READ into GT_VALUE_SET.
- 호출(파서): K_HIERARCHY_TABLES_READ
- SAP 객체: K_HIERARCHY_TABLES_READ, SETHIER, SETLEAF, GT_VALUE_SET
- 업무 키워드: 세트 값 조회, 코스트센터 그룹, 원가요소 그룹, 계정과목 그룹, 관리회계영역
- English: Set Hierarchy, Cost Center Group, Cost Element Group, K_HIERARCHY_TABLES_READ
- 정의부(복사 시 함께 필요):
L_CLASS,GC_KOKRS,L_SETID,GV_KTOPL,LT_NODE,GT_VALUE_SET,LT_GRPHINFO - 위치:
abap://ZCOC2040/ZCO_COMMON#L249-L296· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#GET_SETLEAF_VALUES#C1
FORM DYNPRO — ZCO_COMMON L309-L335 (27줄)
BDCDATA 한 줄(화면 시작 또는 필드/값)을 생성해 BDC 테이블에 추가하되, 예외 등록 필드가 초기값이면 건너뛰는 공통 FORM이다.
이 unit 의 조각 1개가 19/27줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[interface] DYNBEGIN='X'면 프로그램·화면번호로 BDC 화면 시작 레코드를, 아니면 필드명·값 레코드를 BDCDATA에 추가하며, GT_EXCP_INIT_FIELD에 등록된 필드는 값이 없을 때 추가하지 않는다.
315| IF PV_DYNBEGIN = 'X'.
316| WRITE : PV_INPUT TO LS_BDCTAB-PROGRAM LEFT-JUSTIFIED.
317| WRITE : PV_VALUE TO LS_BDCTAB-DYNPRO LEFT-JUSTIFIED.
318| WRITE : 'X' TO LS_BDCTAB-DYNBEGIN LEFT-JUSTIFIED.
319|
320| APPEND LS_BDCTAB TO PT_BDCTAB.
321| ELSE.
322| READ TABLE GT_EXCP_INIT_FIELD TRANSPORTING NO FIELDS
323| WITH KEY FNAME = PV_INPUT BINARY SEARCH.
324|
325| IF SY-SUBRC EQ 0 AND PV_VALUE IS INITIAL.
326| EXIT.
327| ENDIF.
328|
329| WRITE : PV_INPUT TO LS_BDCTAB-FNAM LEFT-JUSTIFIED.
330| WRITE : PV_VALUE TO LS_BDCTAB-FVAL LEFT-JUSTIFIED.
331|
332| APPEND LS_BDCTAB TO PT_BDCTAB.
333| ENDIF.
- EN: Append a BDCDATA screen-start record or a field/value record, skipping fields registered in GT_EXCP_INIT_FIELD when their value is initial.
- SAP 객체: BDCDATA, GT_EXCP_INIT_FIELD
- 업무 키워드: BDC 데이터 생성, 화면 필드 입력, 초기값 예외 필드
- English: BDCDATA, Batch Input, Call Transaction
- 정의부(복사 시 함께 필요):
LS_BDCTAB,GT_EXCP_INIT_FIELD - 위치:
abap://ZCOC2040/ZCO_COMMON#L315-L333· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#DYNPRO#C1
FORM DATE_CHK — ZCO_COMMON L446-L455 (10줄)
DATE_CHECK_PLAUSIBILITY로 날짜의 유효성을 검사해 결과 코드를 돌려주는 공통 FORM이다.
이 unit 의 조각 1개가 8/10줄(80%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 입력 날짜를 DATE_CHECK_PLAUSIBILITY로 검증하고 SY-SUBRC를 P_SUBRC로 반환해 호출자가 잘못된 날짜를 판단하게 한다.
447| CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
448| EXPORTING
449| DATE = P_IN_DATE
450| EXCEPTIONS
451| PLAUSIBILITY_CHECK_FAILED = 1
452| OTHERS = 2.
453|
454| P_SUBRC = SY-SUBRC.
- EN: Validate the date with DATE_CHECK_PLAUSIBILITY and return the result code to the caller.
- 호출(파서): DATE_CHECK_PLAUSIBILITY
- SAP 객체: DATE_CHECK_PLAUSIBILITY
- 업무 키워드: 날짜 유효성 검사
- English: Date Validation, Plausibility Check
- 위치:
abap://ZCOC2040/ZCO_COMMON#L447-L454· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#DATE_CHK#C1
FORM BAR_MSG_PER — ZCO_COMMON L492-L516 (25줄)
처리 건수 비율(%)을 계산해 SAPGUI_PROGRESS_INDICATOR로 진행률 메시지를 표시하는 공통 FORM이다.
이 unit 의 조각 1개가 18/25줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[output] 현재 건수/전체 건수로 진행률(%)을 계산해 텍스트에 붙이고 SAPGUI_PROGRESS_INDICATOR로 상태바에 진행 상황을 표시한다.
498| L_NCNT1 = P_CNT1.
499| L_NCNT2 = P_CNT2.
500|
501| GV_CALC_I = P_CNT1 * 100 / P_CNT2.
502| GV_CALC_C0 = GV_CALC_I.
503|
504| IF L_NCNT1 IS INITIAL AND L_NCNT2 IS INITIAL.
505| GV_PROGRESS_MSG = P_TEXT.
506| ELSE.
507| CONCATENATE P_TEXT '(' GV_CALC_C0 '% )'
508| INTO GV_PROGRESS_MSG SEPARATED BY SPACE.
509| CONDENSE GV_PROGRESS_MSG.
510| ENDIF.
511|
512| CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
513| EXPORTING
514| PERCENTAGE = GV_CALC_I
515| TEXT = GV_PROGRESS_MSG.
- EN: Compute the percentage of processed lines and show it with the text in the status bar via SAPGUI_PROGRESS_INDICATOR.
- 호출(파서): SAPGUI_PROGRESS_INDICATOR
- SAP 객체: SAPGUI_PROGRESS_INDICATOR
- 업무 키워드: 진행률 표시, 처리 건수
- English: Progress Indicator, Status Bar
- 정의부(복사 시 함께 필요):
L_NCNT1,L_NCNT2,GV_CALC_I,GV_CALC_C0,GV_PROGRESS_MSG - 위치:
abap://ZCOC2040/ZCO_COMMON#L498-L515· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#BAR_MSG_PER#C1
FORM DISPLAY_SPOOL_BY_SALV — ZCO_COMMON L525-L535 (11줄)
CL_SALV_TABLE=>FACTORY로 전달받은 내부테이블을 SALV(ALV) 리스트로 표시하는 공통 FORM(배치 스풀 출력용)이다.
이 unit 의 조각 1개가 7/11줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[output] CL_SALV_TABLE=>FACTORY로 SALV 객체를 생성하고 DISPLAY로 내부테이블 내용을 ALV 리스트(스풀)로 출력한다.
528| CL_SALV_TABLE=>FACTORY(
529| IMPORTING
530| R_SALV_TABLE = GR_TABLE
531| CHANGING
532| T_TABLE = PT_TABLE[] ).
533|
534| GR_TABLE->DISPLAY( ).
- EN: Create a SALV table object with CL_SALV_TABLE=>FACTORY and display the internal table as an ALV list for spool output.
- 호출(파서): CL_SALV_TABLE=>FACTORY, GR_TABLE->DISPLAY
- SAP 객체: CL_SALV_TABLE
- 업무 키워드: ALV 리스트 출력, 스풀 출력
- English: SALV, ALV List, Spool
- 정의부(복사 시 함께 필요):
GR_TABLE - 위치:
abap://ZCOC2040/ZCO_COMMON#L528-L534· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#DISPLAY_SPOOL_BY_SALV#C1
FORM UPLOAD_DATA — ZCO_COMMON L595-L652 (58줄)
엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 동적으로 지정된 내부테이블·구조체에 행/열 단위로 적재하는 공통 업로드 FORM이다.
이 unit 의 조각 2개가 43/58줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 대상 테이블·구조체를 동적 ASSIGN한 뒤 지정 행/열 범위로 ALSM_EXCEL_TO_INTERNAL_TABLE을 호출해 엑셀 셀 데이터를 LT_INTERN에 읽고, 실패 시 파일 없음/경로 오류 메시지 또는 시스템 메시지를 낸다.
607| ASSIGN: (PT_EXCEL_TABLE) TO <L_FS02>,
608| (PS_EXCEL_STRUC) TO <L_FS03>.
609|
610| CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
611| EXPORTING
612| FILENAME = PV_EXCEL_FILENAME
613| I_BEGIN_COL = PV_BEGIN_COL
614| I_BEGIN_ROW = PV_BEGIN_ROW
615| I_END_COL = PV_END_COL
616| I_END_ROW = PV_END_ROW
617| TABLES
618| INTERN = LT_INTERN
619| EXCEPTIONS
620| INCONSISTENT_PARAMETERS = 1
621| UPLOAD_OLE = 2
622| OTHERS = 3.
623|
624| IF SY-SUBRC <> 0.
625| IF SY-MSGID IS INITIAL.
626| MESSAGE I000 WITH 'No Selected File Exists or Too Long File path'.
627| LEAVE LIST-PROCESSING.
628| ELSE.
629| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
630| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
631| ENDIF.
632| ENDIF.
- EN: Dynamically assign the target table and structure, read the Excel cell range with ALSM_EXCEL_TO_INTERNAL_TABLE and report file/path errors on failure.
- 호출(파서): ALSM_EXCEL_TO_INTERNAL_TABLE
- SAP 객체: ALSM_EXCEL_TO_INTERNAL_TABLE, ALSMEX_TABLINE
- 업무 키워드: 엑셀 업로드, 파일 읽기, 업로드 오류 메시지
- English: Excel Upload, ALSM_EXCEL_TO_INTERNAL_TABLE, OLE
- 정의부(복사 시 함께 필요):
<L_FS02>,<L_FS03>,ALSMEX_TABLINE,LT_INTERN - 위치:
abap://ZCOC2040/ZCO_COMMON#L607-L632· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#UPLOAD_DATA#C1
[calculation] 셀 데이터를 순회하며 열 번호에 해당하는 구조체 컴포넌트에 값을 넣고(숫자는 콤마 제거) 행이 끝날 때마다 대상 내부테이블(GT_UPLOAD)에 APPEND한다.
634| LOOP AT LT_INTERN.
635| AT NEW ROW.
636| CLEAR : <L_FS03>.
637| ENDAT.
638|
639| ASSIGN COMPONENT LT_INTERN-COL OF STRUCTURE <L_FS03> TO <L_FS01>.
640|
641| IF LT_INTERN-VALUE CO '0123456789,.- '.
642| REPLACE ALL OCCURRENCES OF ',' IN LT_INTERN-VALUE WITH ''.
643| ENDIF.
644|
645| MOVE LT_INTERN-VALUE TO <L_FS01>.
646|
647| AT END OF ROW.
648| APPEND <L_FS03> TO <L_FS02>.
649| ENDAT.
650| ENDLOOP.
- EN: Map each cell value to the structure component by column (removing thousand separators) and append one line per Excel row to the target table.
- SAP 객체: ALSMEX_TABLINE, GT_UPLOAD
- 업무 키워드: 셀 값 매핑, 행 단위 적재, 콤마 제거
- English: Cell Mapping, ASSIGN COMPONENT, Internal Table
- 정의부(복사 시 함께 필요):
ALSMEX_TABLINE,LT_INTERN,<L_FS03>,<L_FS01>,<L_FS02> - 위치:
abap://ZCOC2040/ZCO_COMMON#L634-L650· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#UPLOAD_DATA#C2
FORM BUILD_MESSAGE — ZCO_COMMON L701-L722 (22줄)
BDC 메시지(BDCMSGCOLL)를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다.
이 unit 의 조각 1개가 12/22줄(55%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] BDCMSGCOLL의 MSGID/MSGNR/MSGV1~4를 MESSAGE_TEXT_BUILD에 넘겨 Call Transaction 결과 메시지 텍스트를 만들고 남은 '&'를 제거한다.
706| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
707| EXPORTING
708| MSGID = PS_MESSAGE-MSGID
709| MSGNR = PS_MESSAGE-MSGNR
710| MSGV1 = PS_MESSAGE-MSGV1
711| MSGV2 = PS_MESSAGE-MSGV2
712| MSGV3 = PS_MESSAGE-MSGV3
713| MSGV4 = PS_MESSAGE-MSGV4
714| IMPORTING
715| MESSAGE_TEXT_OUTPUT = PV_TEXT.
716|
717| REPLACE ALL OCCURRENCES OF '&' IN PV_TEXT WITH ''.
- EN: Build the readable message text from a BDCMSGCOLL entry via MESSAGE_TEXT_BUILD and remove leftover ampersand placeholders.
- 호출(파서): MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD, BDCMSGCOLL
- 업무 키워드: BDC 메시지 텍스트, 메시지 조립
- English: BDCMSGCOLL, Message Text, Call Transaction
- 위치:
abap://ZCOC2040/ZCO_COMMON#L706-L717· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#BUILD_MESSAGE#C1
FORM BUILD_MESSAGE_BAPI — ZCO_COMMON L732-L753 (22줄)
BAPIRET2 메시지를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다.
이 unit 의 조각 1개가 12/22줄(55%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] BAPIRET2의 ID/NUMBER/MESSAGE_V1~4를 MESSAGE_TEXT_BUILD에 넘겨 메시지 텍스트를 만들고 남은 '&' 자리표시자를 제거한다.
737| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
738| EXPORTING
739| MSGID = PS_MESSAGE-ID
740| MSGNR = PS_MESSAGE-NUMBER
741| MSGV1 = PS_MESSAGE-MESSAGE_V1
742| MSGV2 = PS_MESSAGE-MESSAGE_V2
743| MSGV3 = PS_MESSAGE-MESSAGE_V3
744| MSGV4 = PS_MESSAGE-MESSAGE_V4
745| IMPORTING
746| MESSAGE_TEXT_OUTPUT = PV_TEXT.
747|
748| REPLACE ALL OCCURRENCES OF '&' IN PV_TEXT WITH ''.
- EN: Build the message text from a BAPIRET2 entry with MESSAGE_TEXT_BUILD and strip remaining placeholder ampersands.
- 호출(파서): MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD, BAPIRET2
- 업무 키워드: BAPI 메시지 텍스트, 메시지 조립
- English: BAPIRET2, Message Text
- 위치:
abap://ZCOC2040/ZCO_COMMON#L737-L748· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#BUILD_MESSAGE_BAPI#C1
FORM EXCEL_FORM_DOWNLOAD — ZCO_COMMON L760-L890 (131줄)
엑셀 컬럼 제목 목록으로 동적 테이블을 만들어 헤더 1행만 담은 업로드 양식(xls)을 저장 대화상자를 통해 PC에 다운로드하는 공통 FORM이다.
이 unit 의 조각 2개가 85/131줄(65%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 전달받은 엑셀 컬럼 제목마다 필드카탈로그(COLnn)를 만들고 CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE로 동적 테이블을 생성한 뒤 컬럼 제목을 값으로 한 헤더 1행을 APPEND해 업로드 양식 데이터를 구성한다.
802| CHECK PT_EXCEL_EXPORT[] IS NOT INITIAL.
803|
804| LOOP AT PT_EXCEL_EXPORT.
805| ADD_EXCEL_COL : PT_EXCEL_EXPORT-EXCEL_COL.
806| ENDLOOP.
807|
808| " 동적 테이블 생성
809| CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
810| EXPORTING
811| IT_FIELDCATALOG = LT_FCAT
812| IMPORTING
813| EP_TABLE = LF_DATA.
814|
815| ASSIGN LF_DATA->* TO <FS_TABLE>.
816|
817| " 테이블 라인 생성
818| CREATE DATA LL_DATA LIKE LINE OF <FS_TABLE>.
819| ASSIGN LL_DATA->* TO <FS_LINE>.
820|
821| " 템플릿 내용 단 한라인만 등록
822| LOOP AT LT_FCAT INTO LS_FCAT.
823| ASSIGN COMPONENT LS_FCAT-COL_POS
824| OF STRUCTURE <FS_LINE> TO <FS_COL>.
825|
826| IF SY-SUBRC EQ 0.
827| <FS_COL> = LS_FCAT-COLTEXT. " COLTEXT 의 내용을 그대로.
828| ENDIF.
829| ENDLOOP.
830|
831| " 테이블에 담기.
832| APPEND <FS_LINE> TO <FS_TABLE>.
- EN: Build a field catalog from the Excel column titles, create a dynamic table with CL_ALV_TABLE_CREATE and append one header row containing the titles as the upload template.
- 호출(파서): CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
- SAP 객체: CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE, LVC_S_FCAT, GT_EXCEL_EXPORT
- 업무 키워드: 업로드 양식 생성, 동적 테이블, 엑셀 헤더
- English: Dynamic Table, Field Catalog, Upload Template
- 정의부(복사 시 함께 필요):
LT_FCAT,LF_DATA,<FS_TABLE>,LL_DATA,<FS_LINE>,LS_FCAT,<FS_COL> - 위치:
abap://ZCOC2040/ZCO_COMMON#L802-L832· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C1
[fm_call] '<프로그램명>_UploadForm.xls' 기본 파일명으로 FILE_SAVE_DIALOG를 열고 사용자가 확인하면 CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD(탭 구분)로 양식 테이블을 저장한 뒤 성공/실패/취소 메시지를 낸다.
836| CONCATENATE SY-REPID '_UploadForm.xls' INTO L_FNAME.
837|
838| CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
839| EXPORTING
840| DEFAULT_EXTENSION = 'XLS'
841| DEFAULT_FILE_NAME = L_FNAME
842| FILE_FILTER = '*.XLS'
843| CHANGING
844| FILENAME = L_EXT_FILENAME
845| PATH = L_PATH
846| FULLPATH = L_FULLPATH
847| USER_ACTION = L_USR_ACT.
848|
849| IF L_USR_ACT = '0'.
850| CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
851| EXPORTING
852| FILENAME = L_FULLPATH
853| WRITE_FIELD_SEPARATOR = 'X'
854| IMPORTING
855| FILELENGTH = L_FILE_LEN
856| CHANGING
857| DATA_TAB = <FS_TABLE>
858| EXCEPTIONS
859| FILE_WRITE_ERROR = 1
860| NO_BATCH = 2
861| GUI_REFUSE_FILETRANSFER = 3
862| INVALID_TYPE = 4
863| NO_AUTHORITY = 5
864| UNKNOWN_ERROR = 6
865| HEADER_NOT_ALLOWED = 7
866| SEPARATOR_NOT_ALLOWED = 8
867| FILESIZE_NOT_ALLOWED = 9
868| HEADER_TOO_LONG = 10
869| DP_ERROR_CREATE = 11
870| DP_ERROR_SEND = 12
871| DP_ERROR_WRITE = 13
872| UNKNOWN_DP_ERROR = 14
873| ACCESS_DENIED = 15
874| DP_OUT_OF_MEMORY = 16
875| DISK_FULL = 17
876| DP_TIMEOUT = 18
877| FILE_NOT_FOUND = 19
878| DATAPROVIDER_EXCEPTION = 20
879| CONTROL_FLUSH_ERROR = 21
880| OTHERS = 22.
881|
882| IF SY-SUBRC = 0.
883| MESSAGE S000 WITH 'Success.'.
884| ELSE.
885| MESSAGE I000 WITH 'Failure'.
886| ENDIF.
887| ELSE.
888| MESSAGE I000 WITH 'Cancled'.
889| ENDIF.
- EN: Open a save dialog with a default template filename and download the template table via CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD, reporting success, failure or cancel.
- 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
- SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
- 업무 키워드: 엑셀 양식 다운로드, 파일 저장, 결과 메시지
- English: GUI_DOWNLOAD, File Save Dialog, Excel Template
- 정의부(복사 시 함께 필요):
L_FNAME,L_EXT_FILENAME,L_PATH,L_FULLPATH,L_USR_ACT,L_FILE_LEN,<FS_TABLE> - 위치:
abap://ZCOC2040/ZCO_COMMON#L836-L889· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C2
FORM CONVERT_CURRENCY — ZCO_COMMON L903-L922 (20줄)
전기일 환율로 외화 금액을 현지통화 금액으로 CONVERT_TO_LOCAL_CURRENCY를 이용해 환산하는 공통 FORM이다.
이 unit 의 조각 1개가 15/20줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 외화와 현지통화가 같으면 금액을 그대로 쓰고, 다르면 전기일 기준 환율로 CONVERT_TO_LOCAL_CURRENCY를 호출해 현지통화 금액(P_LAMT)을 구한다.
906| IF P_FCURR = P_LCURR.
907| P_LAMT = P_FAMT.
908| ELSE.
909| CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
910| EXPORTING
911| CLIENT = SY-MANDT
912| DATE = P_BUDAT
913| FOREIGN_CURRENCY = P_FCURR
914| FOREIGN_AMOUNT = P_FAMT
915| LOCAL_CURRENCY = P_LCURR
916| IMPORTING
917| LOCAL_AMOUNT = P_LAMT
918| EXCEPTIONS
919| NO_RATE_FOUND = 01.
920| ENDIF.
- EN: Convert the foreign amount to local currency at the posting-date exchange rate using CONVERT_TO_LOCAL_CURRENCY unless both currencies are identical.
- 호출(파서): CONVERT_TO_LOCAL_CURRENCY
- SAP 객체: CONVERT_TO_LOCAL_CURRENCY, TCURR
- 업무 키워드: 환율 환산, 현지통화 금액, 외화
- English: Exchange Rate, Local Currency, Foreign Currency
- 위치:
abap://ZCOC2040/ZCO_COMMON#L906-L920· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#CONVERT_CURRENCY#C1
FORM CONVERT_CHAR_TO_AMT — ZCO_COMMON L932-L959 (28줄)
콤마가 포함된 문자형 금액을 콤마 제거 후 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화 내부 금액으로 변환하는 공통 FORM이다.
이 unit 의 조각 1개가 22/28줄(79%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] STRING_REPLACE로 문자 금액의 콤마를 제거한 뒤 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화(P_WAERS)에 맞는 내부 금액으로 변환해 P_AMT에 넣는다(엑셀 업로드 금액 정리용).
936| CALL FUNCTION 'STRING_REPLACE'
937| EXPORTING
938| PATTERN = ','
939| SUBSTITUTE = ''
940| CHANGING
941| TEXT = P_VALUE.
942|
943| IF SY-SUBRC NE 0.
944|
945| ENDIF.
946|
947| LV_EXT = P_VALUE.
948|
949| CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
950| EXPORTING
951| CURRENCY = P_WAERS
952| AMOUNT_EXTERNAL = LV_EXT
953| MAX_NUMBER_OF_DIGITS = '11'
954| IMPORTING
955| AMOUNT_INTERNAL = LV_AMT.
956|
957| P_AMT = LV_AMT.
- EN: Strip thousand separators from the character amount and convert it to internal currency amount via BAPI_CURRENCY_CONV_TO_INTERNAL for uploaded Excel values.
- 호출(파서): STRING_REPLACE, BAPI_CURRENCY_CONV_TO_INTERNAL
- SAP 객체: STRING_REPLACE, BAPI_CURRENCY_CONV_TO_INTERNAL
- 업무 키워드: 문자 금액 변환, 콤마 제거, 통화 내부형식
- English: Currency Conversion, Internal Amount, Excel Upload
- 정의부(복사 시 함께 필요):
LV_EXT,LV_AMT - 위치:
abap://ZCOC2040/ZCO_COMMON#L936-L957· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#CONVERT_CHAR_TO_AMT#C1
FORM POPUP_TO_CONFIRM_02 — ZCO_COMMON L1010-L1023 (14줄)
POPUP_TO_CONFIRM_STEP으로 두 줄 질문의 확인 팝업(J/N/A)을 띄워 응답을 돌려주는 공통 FORM이다.
이 unit 의 조각 1개가 7/14줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 제목과 두 줄 질문으로 POPUP_TO_CONFIRM_STEP을 호출해 예(J)/아니오(N)/취소(A) 응답을 PV_ANSWER로 받는다(예산 전기 전 확인에 사용).
1015| CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
1016| EXPORTING
1017| TEXTLINE1 = PV_QUESTION1
1018| TEXTLINE2 = PV_QUESTION2
1019| TITEL = PV_TITLE
1020| IMPORTING
1021| ANSWER = PV_ANSWER. " J:예 N:아니오 A:취소
- EN: Show a confirmation popup via POPUP_TO_CONFIRM_STEP and return J/N/A answer, used before posting the plan budget.
- 호출(파서): POPUP_TO_CONFIRM_STEP
- SAP 객체: POPUP_TO_CONFIRM_STEP
- 업무 키워드: 확인 팝업, 전기 전 확인
- English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1015-L1021· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#POPUP_TO_CONFIRM_02#C1
FORM POPUP_TO_CONFIRM — ZCO_COMMON L1035-L1060 (26줄)
POPUP_TO_CONFIRM으로 Yes/No 확인 팝업을 띄워 사용자 응답을 돌려주는 공통 FORM이다.
이 unit 의 조각 1개가 18/26줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 제목·질문·기본 버튼·취소 버튼 표시 여부로 POPUP_TO_CONFIRM(Yes/No)을 호출해 응답(P_ANSWER)을 받고 예외 시 시스템 메시지 후 응답을 비운다.
1041| CALL FUNCTION 'POPUP_TO_CONFIRM'
1042| EXPORTING
1043| TITLEBAR = P_TITLE
1044| TEXT_QUESTION = P_TEXT
1045| TEXT_BUTTON_1 = 'Yes'
1046| TEXT_BUTTON_2 = 'No'
1047| DEFAULT_BUTTON = P_DEFAULT
1048| DISPLAY_CANCEL_BUTTON = P_CANC
1049| IMPORTING
1050| ANSWER = P_ANSWER
1051| EXCEPTIONS
1052| TEXT_NOT_FOUND = 1
1053| OTHERS = 2.
1054| IF SY-SUBRC <> 0.
1055| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1056| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1057| CLEAR P_ANSWER.
1058| ENDIF.
- EN: Show a Yes/No confirmation popup with POPUP_TO_CONFIRM and return the user answer, clearing it on exception.
- 호출(파서): POPUP_TO_CONFIRM
- SAP 객체: POPUP_TO_CONFIRM
- 업무 키워드: 확인 팝업, 사용자 확인
- English: Confirmation Popup, POPUP_TO_CONFIRM
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1041-L1058· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#POPUP_TO_CONFIRM#C1
FORM GET_LAST_DAY — ZCO_COMMON L1069-L1078 (10줄)
RP_LAST_DAY_OF_MONTHS로 주어진 날짜가 속한 월의 마지막 날을 구하는 공통 FORM이다.
이 unit 의 조각 1개가 5/10줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 입력 날짜를 RP_LAST_DAY_OF_MONTHS에 넘겨 해당 월의 말일을 P_LAST_DATE로 돌려받는다.
1073| CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
1074| EXPORTING
1075| DAY_IN = P_DATE
1076| IMPORTING
1077| LAST_DAY_OF_MONTH = P_LAST_DATE.
- EN: Determine the last day of the month for the given date via RP_LAST_DAY_OF_MONTHS.
- 호출(파서): RP_LAST_DAY_OF_MONTHS
- SAP 객체: RP_LAST_DAY_OF_MONTHS
- 업무 키워드: 월 말일 계산, 날짜 계산
- English: Last Day of Month, Date
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1073-L1077· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#GET_LAST_DAY#C1
FORM SET_DSMOD — ZCO_COMMON L1086-L1095 (10줄)
BDC 처리 모드 입력값이 A/E/N 중 하나인지 검사하고 아니면 오류 메시지로 중단하는 공통 FORM이다.
이 unit 의 조각 1개가 6/10줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] BDC 표시 모드를 대문자로 바꾼 뒤 'A','E','N'이 아니면 'BDC Mode Fail' 메시지를 내고 LEAVE LIST-PROCESSING으로 종료한다.
1088| TRANSLATE PA_DSMOD TO UPPER CASE.
1089|
1090| IF PA_DSMOD NA 'AEN'.
1091| MESSAGE S000 DISPLAY LIKE 'E' WITH 'BDC Mode Fail'.
1092| LEAVE LIST-PROCESSING.
1093| ENDIF.
- EN: Validate the BDC display mode is one of A/E/N after uppercasing, otherwise show an error and leave processing.
- 업무 키워드: BDC 모드 검증, 입력값 검사
- English: BDC Mode, Validation
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1088-L1093· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#SET_DSMOD#C1
FORM FILE_EXISTS — ZCO_COMMON L1104-L1135 (32줄)
CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 프론트엔드 파일 존재 여부를 확인해 참/거짓을 돌려주는 공통 FORM이다.
이 unit 의 조각 1개가 21/32줄(66%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 파일명이 있을 때 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 로컬 파일 존재 여부를 조회해 P_EXISTS에 반환하고 호출 예외 시 시스템 메시지를 낸다.
1113| CHECK P_FNAME IS NOT INITIAL.
1114|
1115| L_FILENM = P_FNAME.
1116|
1117| CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
1118| EXPORTING
1119| FILE = L_FILENM
1120| RECEIVING
1121| RESULT = L_RESULT
1122| EXCEPTIONS
1123| CNTL_ERROR = 1
1124| ERROR_NO_GUI = 2
1125| WRONG_PARAMETER = 3
1126| NOT_SUPPORTED_BY_GUI = 4
1127| OTHERS = 5.
1128| IF SY-SUBRC <> 0.
1129| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1130| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1131| ENDIF.
1132|
1133| P_EXISTS = L_RESULT.
- EN: Check whether the local file exists via CL_GUI_FRONTEND_SERVICES=>FILE_EXIST and return the boolean result.
- 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
- SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
- 업무 키워드: 파일 존재 확인, 업로드 파일 검증
- English: File Exist Check, Frontend Services
- 정의부(복사 시 함께 필요):
P_FNAME,L_FILENM,L_RESULT - 위치:
abap://ZCOC2040/ZCO_COMMON#L1113-L1133· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#FILE_EXISTS#C1
FORM AMT_CONV_TO_INTERNAL — ZCO_COMMON L1144-L1161 (18줄)
외부 형식 금액을 통화별 소수점에 맞는 SAP 내부 금액으로 BAPI_CURRENCY_CONV_TO_INTERNAL로 변환하는 공통 FORM이다.
이 unit 의 조각 1개가 11/18줄(61%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 통화(P_WAERS)에 따라 외부 표시 금액을 BAPI_CURRENCY_CONV_TO_INTERNAL로 내부 저장 형식 금액으로 변환해 P_AMOUNT에 되돌려준다.
1149| L_INTERNAL = P_AMOUNT.
1150|
1151| CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
1152| EXPORTING
1153| CURRENCY = P_WAERS
1154| AMOUNT_EXTERNAL = L_INTERNAL
1155| MAX_NUMBER_OF_DIGITS = 22
1156| IMPORTING
1157| AMOUNT_INTERNAL = L_INTERNAL.
1158|
1159| P_AMOUNT = L_INTERNAL.
- EN: Convert an externally formatted amount to SAP internal format for the currency using BAPI_CURRENCY_CONV_TO_INTERNAL.
- 호출(파서): BAPI_CURRENCY_CONV_TO_INTERNAL
- SAP 객체: BAPI_CURRENCY_CONV_TO_INTERNAL, BAPICURR
- 업무 키워드: 금액 내부형식 변환, 통화 소수점
- English: Currency Conversion, Internal Amount
- 정의부(복사 시 함께 필요):
L_INTERNAL - 위치:
abap://ZCOC2040/ZCO_COMMON#L1149-L1159· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#AMT_CONV_TO_INTERNAL#C1
FORM GET_NEXT_NUMBER — ZCO_COMMON L1172-L1203 (32줄)
번호범위 객체·구간으로 NUMBER_GET_NEXT를 호출해 다음 채번 번호를 가져오는 공통 FORM이다.
이 unit 의 조각 1개가 23/32줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 번호범위 객체와 구간 번호로 NUMBER_GET_NEXT를 호출해 다음 번호를 채번하고 예외 발생 시 결과를 비운다.
1179| LV_NRRANG = P_NRRANG.
1180| LV_OBJECT = P_OBJECT.
1181|
1182| CALL FUNCTION 'NUMBER_GET_NEXT'
1183| EXPORTING
1184| NR_RANGE_NR = LV_NRRANG
1185| OBJECT = LV_OBJECT
1186| IMPORTING
1187| NUMBER = P_DOCNO
1188| EXCEPTIONS
1189| INTERVAL_NOT_FOUND = 1
1190| NUMBER_RANGE_NOT_INTERN = 2
1191| OBJECT_NOT_FOUND = 3
1192| QUANTITY_IS_0 = 4
1193| QUANTITY_IS_NOT_1 = 5
1194| INTERVAL_OVERFLOW = 6
1195| BUFFER_OVERFLOW = 7
1196| OTHERS = 8.
1197| IF SY-SUBRC <> 0.
1198| * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1199| * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1200| CLEAR P_DOCNO.
1201| ENDIF.
- EN: Draw the next number from the number range object and interval via NUMBER_GET_NEXT and clear it on exception.
- 호출(파서): NUMBER_GET_NEXT
- SAP 객체: NUMBER_GET_NEXT, NRIV
- 업무 키워드: 채번, 번호범위
- English: Number Range, NUMBER_GET_NEXT
- 정의부(복사 시 함께 필요):
LV_NRRANG,LV_OBJECT - 위치:
abap://ZCOC2040/ZCO_COMMON#L1179-L1201· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#GET_NEXT_NUMBER#C1
FORM GET_NEXT_NUMBER_YEAR — ZCO_COMMON L1215-L1254 (40줄)
번호범위 객체·구간·연도로 NUMBER_GET_NEXT를 호출해 연도별 다음 채번 번호를 가져오는 공통 FORM이다.
이 unit 의 조각 1개가 30/40줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 번호범위 객체(NRIV-OBJECT)와 구간 번호, 연도(없으면 '0000')를 지정해 NUMBER_GET_NEXT로 다음 번호를 채번하고 실패 시 번호를 비운다.
1223| LV_NRRANG = P_NRRANG.
1224| LV_OBJECT = P_OBJECT.
1225| IF P_YEAR IS NOT INITIAL.
1226| LV_YEAR = P_YEAR.
1227| ELSE.
1228| LV_YEAR = '0000'.
1229|
1230| ENDIF.
1231|
1232| CALL FUNCTION 'NUMBER_GET_NEXT'
1233| EXPORTING
1234| NR_RANGE_NR = LV_NRRANG
1235| OBJECT = LV_OBJECT
1236| TOYEAR = LV_YEAR
1237| IMPORTING
1238| NUMBER = P_DOCNO
1239| EXCEPTIONS
1240| INTERVAL_NOT_FOUND = 1
1241| NUMBER_RANGE_NOT_INTERN = 2
1242| OBJECT_NOT_FOUND = 3
1243| QUANTITY_IS_0 = 4
1244| QUANTITY_IS_NOT_1 = 5
1245| INTERVAL_OVERFLOW = 6
1246| BUFFER_OVERFLOW = 7
1247| OTHERS = 8.
1248| IF SY-SUBRC <> 0.
1249| * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1250| * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1251| CLEAR P_DOCNO.
1252| ENDIF.
- EN: Draw the next number from the number range object and interval for the given year (or 0000) via NUMBER_GET_NEXT, clearing the result on error.
- 호출(파서): NUMBER_GET_NEXT
- SAP 객체: NUMBER_GET_NEXT, NRIV
- 업무 키워드: 채번, 번호범위, 연도별 번호
- English: Number Range, NUMBER_GET_NEXT, Fiscal Year
- 정의부(복사 시 함께 필요):
LV_NRRANG,LV_OBJECT,LV_YEAR - 위치:
abap://ZCOC2040/ZCO_COMMON#L1223-L1252· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#GET_NEXT_NUMBER_YEAR#C1
FORM GET_VALUE_LIST_DOM — ZCO_COMMON L1263-L1278 (16줄)
도메인 고정값과 텍스트를 DD07T에서 읽어 전달받은 테이블에 채우는 공통 FORM(F4/드롭다운용)이다.
이 unit 의 조각 1개가 11/16줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] DD07T에서 지정 도메인의 활성 고정값(DOMVALUE_L)과 텍스트(DDTEXT)를 로그온 언어로 조회해 P_TAB에 넣고 정렬하며, 없으면 테이블을 비운다.
1266| SELECT DOMVALUE_L DDTEXT
1267| INTO TABLE P_TAB
1268| FROM DD07T
1269| WHERE DOMNAME EQ P_DOMAIN
1270| AND DDLANGUAGE EQ SY-LANGU
1271| AND AS4LOCAL EQ 'A'.
1272| IF SY-SUBRC EQ 0.
1273| SORT P_TAB.
1274| ELSE.
1275| REFRESH P_TAB.
1276| ENDIF.
- EN: Read active domain fixed values and texts from DD07T for the logon language into the given table, sorting it or clearing it when nothing is found.
- 테이블(파서): read DD07T / write -
- SAP 객체: DD07T
- 업무 키워드: 도메인 값 목록, 드롭다운 값, F4 값 목록
- English: Domain Fixed Values, DD07T, Value List
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1266-L1276· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#GET_VALUE_LIST_DOM#C1
FORM GET_DOM_TEXT_LIST — ZCO_COMMON L1287-L1298 (12줄)
도메인 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 누적하는 공통 FORM이다.
이 unit 의 조각 1개가 8/12줄(67%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] DD07T에서 지정 도메인의 활성(AS4LOCAL='A') 고정값과 로그온 언어 텍스트를 조회해 GT_DOMAIN에 추가하고 정렬한다.
1289| SELECT DOMNAME DOMVALUE_L DDTEXT
1290| APPENDING TABLE GT_DOMAIN
1291| FROM DD07T
1292| WHERE DOMNAME = P_DOMNA
1293| AND DDLANGUAGE = SY-LANGU
1294| AND AS4LOCAL = 'A'.
1295|
1296| SORT : GT_DOMAIN.
- EN: Select active domain fixed values and their texts in the logon language from DD07T and append them to GT_DOMAIN.
- 테이블(파서): read DD07T / write -
- SAP 객체: DD07T, GT_DOMAIN
- 업무 키워드: 도메인 고정값, 값 텍스트 조회
- English: Domain Fixed Values, DD07T
- 정의부(복사 시 함께 필요):
GS_DOMAIN,GT_DOMAIN - 위치:
abap://ZCOC2040/ZCO_COMMON#L1289-L1296· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#GET_DOM_TEXT_LIST#C1
FORM MD_CONVER_MAT_UNIT — ZCO_COMMON L1311-L1341 (31줄)
자재의 수량을 입력 단위에서 출력 단위로 MD_CONVERT_MATERIAL_UNIT을 이용해 환산하는 공통 FORM이다.
이 unit 의 조각 1개가 23/31줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 수량이 0이거나 단위가 같으면 그대로 반환하고, 그 외에는 MD_CONVERT_MATERIAL_UNIT으로 자재(MATNR)의 단위 환산 비율에 따라 수량을 변환하며 오류 시 0으로 처리한다.
1317| IF P_MENGE IS INITIAL.
1318| CLEAR PV_MENGE.
1319| EXIT.
1320| ELSEIF P_IN_ME EQ P_OUT_ME.
1321| PV_MENGE = P_MENGE.
1322| EXIT.
1323| ENDIF.
1324|
1325| CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
1326| EXPORTING
1327| I_MATNR = P_MATNR
1328| I_IN_ME = P_IN_ME
1329| I_OUT_ME = P_OUT_ME
1330| I_MENGE = P_MENGE
1331| IMPORTING
1332| E_MENGE = PV_MENGE
1333| EXCEPTIONS
1334| ERROR_IN_APPLICATION = 1
1335| ERROR = 2
1336| OTHERS = 3.
1337| IF SY-SUBRC <> 0.
1338| CLEAR PV_MENGE.
1339| ENDIF.
- EN: Return the quantity unchanged for zero or identical units, otherwise convert it between units of measure for the material via MD_CONVERT_MATERIAL_UNIT.
- 호출(파서): MD_CONVERT_MATERIAL_UNIT
- SAP 객체: MD_CONVERT_MATERIAL_UNIT, EKPO
- 업무 키워드: 자재 단위 환산, 수량 변환, 기본단위
- English: Unit of Measure Conversion, Material, Quantity
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1317-L1339· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#MD_CONVER_MAT_UNIT#C1
FORM SHOW_MESSAGE_LIST — ZCO_COMMON L1349-L1359 (11줄)
누적된 헤더/상세 메시지 테이블(GT_HEAMSG/GT_DETMSG)을 SCPR_SV_SHOW_MESSAGE_LIST로 팝업 표시하는 공통 FORM이다.
이 unit 의 조각 1개가 7/11줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[output] 제목과 함께 GT_HEAMSG(메시지 목록)·GT_DETMSG(상세)를 SCPR_SV_SHOW_MESSAGE_LIST에 넘겨 처리 결과 메시지 목록을 팝업으로 보여준다.
1351| CALL FUNCTION 'SCPR_SV_SHOW_MESSAGE_LIST'
1352| EXPORTING
1353| TITLE_TEXT = P_TITLE
1354| SORT_BY_LEVEL = ' '
1355| SHOW_IDS = 'X'
1356| MESSAGE_LIST = GT_HEAMSG
1357| DETAILS_LIST = GT_DETMSG.
- EN: Display the collected message list and details in a popup via SCPR_SV_SHOW_MESSAGE_LIST.
- 호출(파서): SCPR_SV_SHOW_MESSAGE_LIST
- SAP 객체: SCPR_SV_SHOW_MESSAGE_LIST, GT_HEAMSG, GT_DETMSG
- 업무 키워드: 메시지 목록 팝업, 처리 결과 표시
- English: Message List, Popup
- 정의부(복사 시 함께 필요):
GT_HEAMSG,GT_DETMSG - 위치:
abap://ZCOC2040/ZCO_COMMON#L1351-L1357· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#SHOW_MESSAGE_LIST#C1
FORM GET_FILE_PATH — ZCO_COMMON L1368-L1399 (32줄)
파일 열기 대화상자(FILE_OPEN_DIALOG)로 업로드할 XLS 파일을 선택받아 파일 경로를 반환하는 공통 FORM이다.
이 unit 의 조각 1개가 22/32줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] XLS 필터로 CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG를 열어 사용자가 OK를 누르면 첫 번째 선택 파일 경로를 P_FILENM에 반환한다.
1376| CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
1377| EXPORTING
1378| WINDOW_TITLE = 'Upload'
1379| MULTISELECTION = ' '
1380| DEFAULT_EXTENSION = 'XLS'
1381| DEFAULT_FILENAME = ' '
1382| FILE_FILTER = '*.XLS'
1383| CHANGING
1384| FILE_TABLE = LT_FILETABLE
1385| RC = RTN_CODE
1386| USER_ACTION = USER_ACTION.
1387|
1388| CALL METHOD CL_GUI_CFW=>FLUSH.
1389|
1390| CASE USER_ACTION.
1391| WHEN CL_GUI_FRONTEND_SERVICES=>ACTION_OK.
1392| READ TABLE LT_FILETABLE INTO LS_FILETABLE INDEX 1.
1393| CHECK SY-SUBRC IS INITIAL.
1394| MOVE: LS_FILETABLE-FILENAME TO P_FILENM.
1395|
1396| WHEN CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
1397| ENDCASE.
- EN: Open a file-open dialog filtered to XLS and return the first selected file path when the user confirms.
- 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, CL_GUI_CFW=>FLUSH, CL_GUI_FRONTEND_SERVICES=>ACTION_OK, CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL
- SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, CL_GUI_CFW=>FLUSH
- 업무 키워드: 파일 선택 대화상자, 엑셀 업로드 경로
- English: File Open Dialog, Frontend Services, Excel Upload
- 정의부(복사 시 함께 필요):
LT_FILETABLE,RTN_CODE,USER_ACTION,LS_FILETABLE - 위치:
abap://ZCOC2040/ZCO_COMMON#L1376-L1397· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#GET_FILE_PATH#C1
FORM CHK_FILE_PATH — ZCO_COMMON L1408-L1433 (26줄)
CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 업로드 파일 경로의 존재를 확인하고 없으면 메시지 후 처리를 중단하는 공통 FORM이다.
이 unit 의 조각 1개가 17/26줄(65%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 프론트엔드 파일 존재 여부를 FILE_EXIST로 검사해 호출 오류 시 시스템 메시지를, 파일이 없으면 'Please check your file path' 메시지 후 LEAVE LIST-PROCESSING으로 중단한다.
1415| CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
1416| EXPORTING
1417| FILE = LV_FILE
1418| RECEIVING
1419| RESULT = LV_RESULT.
1420|
1421| IF NOT SY-SUBRC IS INITIAL.
1422|
1423| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1424| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1425|
1426| ELSEIF LV_RESULT IS INITIAL.
1427|
1428| MESSAGE S001(00) WITH 'Please check your file path'.
1429| LEAVE LIST-PROCESSING.
1430|
1431| ENDIF.
- EN: Verify the local file exists with CL_GUI_FRONTEND_SERVICES=>FILE_EXIST and stop processing with a message when it is missing.
- 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
- SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
- 업무 키워드: 파일 존재 확인, 업로드 경로 검증
- English: File Exist Check, Frontend Services
- 정의부(복사 시 함께 필요):
LV_FILE,LV_RESULT - 위치:
abap://ZCOC2040/ZCO_COMMON#L1415-L1431· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#CHK_FILE_PATH#C1
FORM BDC_CREATE_AENNR — ZCO_COMMON L1545-L1612 (68줄)
변경번호(AENNR) 존재 여부를 AENR에서 확인한 뒤 없으면 BDC로 CC01(변경마스터 생성)을 실행하고 결과 메시지를 반환하는 공통 FORM이다.
이 unit 의 조각 2개가 60/68줄(88%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] AENR 테이블에서 변경번호(AENNR)가 이미 존재하는지 조회하여 있으면 성공(S)으로 종료해 중복 생성을 막는다.
1550| SELECT SINGLE AENNR
1551| INTO P_AENNR
1552| FROM AENR
1553| WHERE AENNR EQ P_AENNR.
1554| IF SY-SUBRC EQ 0.
1555| P_MSGTY = 'S'.
1556| EXIT.
1557| ENDIF.
- EN: Check AENR for an existing change number and exit with success if it already exists to avoid duplicate creation.
- 테이블(파서): read AENR / write -
- SAP 객체: AENR
- 업무 키워드: 변경번호 존재 확인, 중복 생성 방지, 설계변경관리
- English: Change Number, AENR, Engineering Change Management
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1550-L1557· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#BDC_CREATE_AENNR#C1
[fm_call] SAPMC29C 화면(0100/0010/0020)에 변경번호·내역·효력시작일·변경사유·상태 등을 채운 BDC 데이터를 구성해 CALL TRANSACTION 'CC01'(N 모드, 동기 업데이트)로 변경마스터를 생성하고, 메시지 CC001 성공 여부로 P_MSGTY를 정하며 실패 시 BUILD_MESSAGE로 오류 텍스트를 만든다.
1559| REFRESH : GT_BDCDATA, GT_MESSTAB.
1560| CLEAR : GS_BDC_OPTION.
1561|
1562| GS_BDC_OPTION-DISMODE = 'N'.
1563| GS_BDC_OPTION-UPDMODE = 'S'.
1564|
1565| PERFORM DYNPRO TABLES PT_TABLES USING:
1566| 'X' 'SAPMC29C' '0100', "설계변경관리: 초기화면
1567| ' ' 'BDC_OKCODE' '/00',
1568| ' ' 'RC29A-AENNR' P_AENNR,
1569|
1570| 'X' 'SAPMC29C' '0010', "ECM: Basic Screen
1571| ' ' 'BDC_OKCODE' '/00',
1572| ' ' 'RC29A-AETXT' P_TEXT, "내역
1573| ' ' 'RC29A-DATUV' P_DATUV, "효력 시작일
1574| ' ' 'RC29A-AEGRU' P_AEGRU, "변경사유
1575| ' ' 'RC29A-AENST' '01', "변경 번호 상태
1576|
1577| 'X' 'SAPMC29C' '0020', "ECM: Basic Screen
1578| ' ' 'BDC_OKCODE' '=ENT1',
1579| ' ' 'RC29A-AEERL(01)' 'X', "Obj. 유형 활성
1580|
1581| 'X' 'SAPMC29C' '0020', "ECM: Basic Screen
1582| ' ' 'BDC_OKCODE' '=ENT1',
1583| ' ' 'RC29A-INDFL(01)' 'X', "오브젝트
1584|
1585| 'X' 'SAPMC29C' '0020', "ECM: Basic Screen
1586| ' ' 'BDC_OKCODE' '=ENT1',
1587| ' ' 'RC29A-OIGEN(01)' 'X', "관리레코드생성
1588|
1589| 'X' 'SAPMC29C' '0020', "ECM: Basic Screen
1590| ' ' 'BDC_OKCODE' '/00',
1591|
1592| 'X' 'SAPMC29C' '0020', "ECM: Basic Screen
1593| ' ' 'BDC_OKCODE' '=FCBU'.
1594|
1595| CALL TRANSACTION 'CC01'
1596| USING GT_BDCDATA[]
1597| OPTIONS FROM GS_BDC_OPTION
1598| MESSAGES INTO GT_MESSTAB[].
1599|
1600| *-- 메시지 처리
1601| READ TABLE GT_MESSTAB WITH KEY MSGTYP = 'S'
1602| MSGID = 'CC'
1603| MSGNR = '001'.
1604| IF SY-SUBRC EQ 0.
1605| P_MSGTY = 'S'.
1606| ELSE.
1607| P_MSGTY = 'E'.
1608| PERFORM BUILD_MESSAGE USING GT_MESSTAB
1609| CHANGING P_MSGTX.
1610| ENDIF.
- EN: Build BDC screens for SAPMC29C with change number, description, valid-from date, reason and status, run CALL TRANSACTION CC01, and derive success/error message from BDC messages (CC 001).
- 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO
- SAP 객체: CC01, SAPMC29C, GT_BDCDATA, GT_MESSTAB, BUILD_MESSAGE, DYNPRO
- 업무 키워드: 변경마스터 생성, BDC 배치입력, CC01, 효력 시작일, 변경사유, 메시지 처리
- English: Change Master, BDC, Call Transaction, CC01, ECM
- 정의부(복사 시 함께 필요):
GT_BDCDATA,BDCMSGCOLL,GT_MESSTAB,GS_BDC_OPTION - 위치:
abap://ZCOC2040/ZCO_COMMON#L1559-L1610· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#BDC_CREATE_AENNR#C2
FORM GET_DYNP_VALUES_READ — ZCO_COMMON L1620-L1669 (50줄)
DYNP_VALUES_READ로 현재 화면의 필드 값을 읽어 같은 이름의 프로그램 변수에 넣는 공통 FORM이다.
이 unit 의 조각 1개가 35/50줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] DYNP_VALUES_READ로 현재 화면(SY-REPID/SY-DYNNR)의 지정 필드 값을 읽고, 성공하면 동적 ASSIGN한 동일 이름의 ABAP 변수에 값을 대입한다(F4/PAI 전 값 취득용).
1632| LS_DYNPFIELDS-FIELDNAME = P_FIELD.
1633| APPEND LS_DYNPFIELDS TO LT_DYNPFIELDS.
1634|
1635| CALL FUNCTION 'DYNP_VALUES_READ'
1636| EXPORTING
1637| DYNAME = LV_DYNAME
1638| DYNUMB = LV_DYNUM
1639| TABLES
1640| DYNPFIELDS = LT_DYNPFIELDS
1641| EXCEPTIONS
1642| INVALID_ABAPWORKAREA = 1
1643| INVALID_DYNPROFIELD = 2
1644| INVALID_DYNPRONAME = 3
1645| INVALID_DYNPRONUMMER = 4
1646| INVALID_REQUEST = 5
1647| NO_FIELDDESCRIPTION = 6
1648| INVALID_PARAMETER = 7
1649| UNDEFIND_ERROR = 8
1650| DOUBLE_CONVERSION = 9
1651| STEPL_NOT_FOUND = 10
1652| OTHERS = 11.
1653|
1654| IF SY-SUBRC <> 0.
1655| EXIT.
1656|
1657| ELSE.
1658| READ TABLE LT_DYNPFIELDS INTO LS_DYNPFIELDS
1659| WITH KEY FIELDNAME = P_FIELD.
1660| IF SY-SUBRC EQ 0.
1661| ASSIGN (P_FIELD) TO <FS_FIELD>.
1662| IF <FS_FIELD> IS ASSIGNED.
1663| <FS_FIELD> = LS_DYNPFIELDS-FIELDVALUE.
1664| ENDIF.
1665| ENDIF.
1666|
- EN: Read the current screen field value with DYNP_VALUES_READ and move it into the ABAP variable of the same name via dynamic assignment.
- 호출(파서): DYNP_VALUES_READ
- SAP 객체: DYNP_VALUES_READ, DYNPREAD
- 업무 키워드: 화면 필드 값 읽기, F4 도움말 전 값 취득
- English: Dynpro, DYNP_VALUES_READ, Screen Field
- 정의부(복사 시 함께 필요):
LS_DYNPFIELDS,LT_DYNPFIELDS,LV_DYNAME,LV_DYNUM,<FS_FIELD> - 위치:
abap://ZCOC2040/ZCO_COMMON#L1632-L1666· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#GET_DYNP_VALUES_READ#C1
FORM SET_DYNP_VALUES — ZCO_COMMON L1678-L1719 (42줄)
프로그램 변수 값을 DYNP_VALUES_UPDATE로 현재 화면 필드에 반영하는 공통 FORM이다.
이 unit 의 조각 1개가 23/42줄(55%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 필드명으로 ABAP 변수를 동적 ASSIGN하여 값을 DYNPREAD에 담고 DYNP_VALUES_UPDATE로 현재 화면(SY-REPID/SY-DYNNR)의 해당 필드 값을 갱신한다.
1690| LS_DYNPFIELDS-FIELDNAME = P_FIELD.
1691|
1692| ASSIGN (P_FIELD) TO <FS_FIELD>.
1693| IF <FS_FIELD> IS ASSIGNED.
1694| LS_DYNPFIELDS-FIELDVALUE = <FS_FIELD>.
1695| ENDIF.
1696| APPEND LS_DYNPFIELDS TO LT_DYNPFIELDS.
1697|
1698| CALL FUNCTION 'DYNP_VALUES_UPDATE'
1699| EXPORTING
1700| DYNAME = LV_DYNAME
1701| DYNUMB = LV_DYNUM
1702| TABLES
1703| DYNPFIELDS = LT_DYNPFIELDS
1704| EXCEPTIONS
1705| INVALID_ABAPWORKAREA = 1
1706| INVALID_DYNPROFIELD = 2
1707| INVALID_DYNPRONAME = 3
1708| INVALID_DYNPRONUMMER = 4
1709| INVALID_REQUEST = 5
1710| NO_FIELDDESCRIPTION = 6
1711| UNDEFIND_ERROR = 7
1712| OTHERS = 8.
- EN: Read the ABAP variable by dynamic assignment and push its value to the current screen field via DYNP_VALUES_UPDATE.
- 호출(파서): DYNP_VALUES_UPDATE
- SAP 객체: DYNP_VALUES_UPDATE, DYNPREAD
- 업무 키워드: 화면 필드 값 갱신, 선택화면 동적 값 설정
- English: Dynpro, DYNP_VALUES_UPDATE, Screen Field
- 정의부(복사 시 함께 필요):
LS_DYNPFIELDS,<FS_FIELD>,LT_DYNPFIELDS,LV_DYNAME,LV_DYNUM - 위치:
abap://ZCOC2040/ZCO_COMMON#L1690-L1712· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#SET_DYNP_VALUES#C1
FORM AUTHORITY_CHECK_TCODE — ZCO_COMMON L1725-L1738 (14줄)
S_TCODE 권한 객체로 현재 T-Code 실행 권한을 검사하고 T-Code 끝자리가 1이면 조회 모드(GV_DIP_MOD)로 설정하는 공통 FORM이다.
이 unit 의 조각 1개가 8/14줄(57%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] AUTHORITY-CHECK OBJECT 'S_TCODE'로 SY-TCODE 실행 권한을 검사해 없으면 E077(S#) 오류로 중단하고, T-Code가 '*1' 패턴이면 조회 전용 모드 플래그를 켠다.
1729| AUTHORITY-CHECK OBJECT 'S_TCODE'
1730| ID 'TCD' FIELD SY-TCODE.
1731|
1732| IF SY-SUBRC NE 0.
1733| MESSAGE E077(S#) WITH SY-TCODE.
1734| ELSEIF SY-TCODE CP '*1'.
1735| GV_DIP_MOD = 'X'.
1736| ENDIF.
- EN: Check transaction authorization via S_TCODE; raise error E077(S#) if missing, and set display-only mode when the T-Code ends with 1.
- SAP 객체: S_TCODE
- 업무 키워드: 트랜잭션 권한 검사, 조회 모드 설정
- English: Authorization Check, S_TCODE, Display Mode
- 정의부(복사 시 함께 필요):
GV_DIP_MOD - 위치:
abap://ZCOC2040/ZCO_COMMON#L1729-L1736· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#AUTHORITY_CHECK_TCODE#C1
FORM F_PDF_DOWNLOAD — ZCO_COMMON L1777-L1842 (66줄)
Smart Forms 출력 결과(OTF)를 PDF로 변환하고 저장 대화상자를 거쳐 PC에 다운로드하는 공통 FORM이다.
이 unit 의 조각 2개가 47/66줄(71%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] Smart Forms 잡 결과(SSFCRESCL-OTFDATA)의 OTF 데이터를 CONVERT_OTF로 PDF 바이너리로 변환하고, OTF 라인을 텍스트 테이블로 만들어 SX_OBJECT_CONVERT_OTF_PDF로 PDF 바이너리 컨텐츠(LT_CONTENT_BIN)와 길이를 얻는다.
1792| LT_OTF[] = P_JOB-OTFDATA.
1793|
1794| CALL FUNCTION 'CONVERT_OTF'
1795| EXPORTING
1796| FORMAT = 'PDF'
1797| IMPORTING
1798| BIN_FILESIZE = LV_BIN_FILESIZE
1799| BIN_FILE = LV_BIN_FILE
1800| TABLES
1801| OTF = LT_OTF
1802| LINES = LT_LINES
1803| EXCEPTIONS
1804| ERR_MAX_LINEWIDTH = 1
1805| ERR_FORMAT = 2
1806| ERR_CONV_NOT_POSSIBLE = 3
1807| ERR_BAD_OTF = 4
1808| OTHERS = 5.
1809|
1810| LOOP AT LT_OTF.
1811| CONCATENATE LT_OTF-TDPRINTCOM LT_OTF-TDPRINTPAR INTO LS_OTF.
1812| APPEND LS_OTF TO LT_CONTENT_TXT.
1813| ENDLOOP.
1814|
1815| CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
1816| EXPORTING
1817| FORMAT_SRC = 'OTF'
1818| FORMAT_DST = 'PDF'
1819| DEVTYPE = 'PRINTER'
1820| CHANGING
1821| TRANSFER_BIN = LV_TRANSFER_BIN
1822| CONTENT_TXT = LT_CONTENT_TXT
1823| CONTENT_BIN = LT_CONTENT_BIN
1824| OBJHEAD = LT_OBJHEAD
1825| LEN = LV_LEN_IN
1826| EXCEPTIONS
1827| ERR_CONV_FAILED = 1
1828| OTHERS = 2.
- EN: Convert Smart Forms OTF output to PDF using CONVERT_OTF and SX_OBJECT_CONVERT_OTF_PDF, producing binary PDF content and its length.
- 호출(파서): CONVERT_OTF, SX_OBJECT_CONVERT_OTF_PDF
- SAP 객체: CONVERT_OTF, SX_OBJECT_CONVERT_OTF_PDF, SSFCRESCL, ITCOO
- 업무 키워드: OTF PDF 변환, Smart Forms 출력, 양식 다운로드
- English: Smart Forms, OTF, PDF Conversion
- 정의부(복사 시 함께 필요):
LT_OTF,LV_BIN_FILESIZE,LV_BIN_FILE,LT_LINES,LS_OTF,LT_CONTENT_TXT,LV_TRANSFER_BIN,LT_CONTENT_BIN,LT_OBJHEAD,LV_LEN_IN - 위치:
abap://ZCOC2040/ZCO_COMMON#L1792-L1828· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#F_PDF_DOWNLOAD#C1
[fm_call] OPEN_SAVE_FILE_SEL로 pdf 저장 경로를 받은 뒤 GUI_DOWNLOAD(FILETYPE='BIN')로 PDF 바이너리를 로컬 PC에 저장한다.
1831| LV_FILESIZE = LV_LEN_IN.
1832| PERFORM OPEN_SAVE_FILE_SEL USING 'pdf' CHANGING LV_FILENAME.
1833|
1834| CALL FUNCTION 'GUI_DOWNLOAD'
1835| EXPORTING
1836| BIN_FILESIZE = LV_FILESIZE
1837| FILENAME = LV_FILENAME
1838| FILETYPE = 'BIN'
1839| TABLES
1840| DATA_TAB = LT_CONTENT_BIN.
- EN: Ask for a PDF save path via OPEN_SAVE_FILE_SEL and download the binary PDF content to the frontend with GUI_DOWNLOAD.
- 호출(파서): OPEN_SAVE_FILE_SEL, GUI_DOWNLOAD
- SAP 객체: GUI_DOWNLOAD, OPEN_SAVE_FILE_SEL
- 업무 키워드: PDF 다운로드, 로컬 저장
- English: GUI_DOWNLOAD, PDF, Frontend Download
- 정의부(복사 시 함께 필요):
LV_FILESIZE,LV_LEN_IN,LV_FILENAME,LT_CONTENT_BIN - 위치:
abap://ZCOC2040/ZCO_COMMON#L1831-L1840· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#F_PDF_DOWNLOAD#C2
FORM OPEN_SAVE_FILE_SEL — ZCO_COMMON L1851-L1907 (57줄)
파일 저장 대화상자(FILE_SAVE_DIALOG)를 열어 사용자가 지정한 저장 파일명을 돌려주는 공통 FORM이다.
이 unit 의 조각 1개가 36/57줄(63%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 확장자·기본 파일명·필터(전체/엑셀)·초기 디렉토리를 설정한 뒤 CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG를 호출하고, 오류 시 메시지, 취소 시 종료, 확인 시 파일명을 P_FILENAME에 반환한다.
1868| LV_DEFAULT_EXTENSION = P_EXT.
1869| CONCATENATE '*.' P_EXT INTO LV_DEFAULT_FILE_NAME.
1870| LV_INITIAL_DIRECTORY = 'C:\'.
1871| CONCATENATE CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL
1872| * CL_GUI_FRONTEND_SERVICES=>FILETYPE_TEXT
1873| CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL
1874| INTO LV_FILE_FILTER.
1875|
1876| CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
1877| EXPORTING
1878| * WINDOW_TITLE
1879| DEFAULT_EXTENSION = LV_DEFAULT_EXTENSION
1880| DEFAULT_FILE_NAME = LV_DEFAULT_FILE_NAME
1881| * WITH_ENCODING = ABAP_TRUE
1882| FILE_FILTER = LV_FILE_FILTER
1883| INITIAL_DIRECTORY = LV_INITIAL_DIRECTORY
1884| CHANGING
1885| FILENAME = LV_FILENAME
1886| PATH = LV_PATH
1887| FULLPATH = LV_FULLPATH
1888| USER_ACTION = LV_USER_ACTION
1889| EXCEPTIONS
1890| CNTL_ERROR = 2
1891| ERROR_NO_GUI = 3
1892| NOT_SUPPORTED_BY_GUI = 4
1893| OTHERS = 5.
1894| IF SY-SUBRC <> 0.
1895| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1896| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1897| EXIT.
1898| ELSE.
1899| IF LV_USER_ACTION NE CL_GUI_FRONTEND_SERVICES=>ACTION_OK.
1900| EXIT.
1901| ENDIF.
1902|
1903| P_FILENAME = LV_FILENAME.
- EN: Prepare extension, default name, file filter and initial directory, call CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG and return the chosen filename when the user confirms.
- 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL, CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL, CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>ACTION_OK
- SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
- 업무 키워드: 파일 저장 대화상자, 다운로드 경로 선택
- English: File Save Dialog, Frontend Services
- 정의부(복사 시 함께 필요):
LV_DEFAULT_EXTENSION,LV_DEFAULT_FILE_NAME,LV_INITIAL_DIRECTORY,LV_FILE_FILTER,LV_FILENAME,LV_PATH,LV_FULLPATH,LV_USER_ACTION - 위치:
abap://ZCOC2040/ZCO_COMMON#L1868-L1903· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#OPEN_SAVE_FILE_SEL#C1
FORM ALSMEX_TAB_TO_ITAB — ZCO_COMMON L1917-L1945 (29줄)
ALSM_EXCEL_TO_INTERNAL_TABLE 결과(ALSMEX_TABLINE)를 동적으로 지정한 내부테이블·구조체에 행/열 매핑하여 적재하는 공통 FORM이다.
이 unit 의 조각 1개가 20/29줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 엑셀 셀 데이터(ROW/COL/VALUE)를 순회하며 열 번호에 해당하는 구조체 컴포넌트에 값을 넣고(숫자는 콤마 제거), 행이 바뀔 때마다 대상 내부테이블에 APPEND한다.
1924| ASSIGN : (PT_EXCEL_TABLE) TO <ITAB>.
1925| ASSIGN : (PS_EXCEL_STRUC) TO <ILINE>.
1926|
1927| LOOP AT PT_INTERN.
1928| AT NEW ROW.
1929| CLEAR : <ILINE>.
1930| ENDAT.
1931|
1932| ASSIGN COMPONENT PT_INTERN-COL OF STRUCTURE <ILINE> TO <FIELD>.
1933|
1934| IF PT_INTERN-VALUE CO '0123456789,.- '.
1935| REPLACE ALL OCCURRENCES OF ',' IN PT_INTERN-VALUE WITH ''.
1936| ENDIF.
1937|
1938| MOVE PT_INTERN-VALUE TO <FIELD>.
1939|
1940| AT END OF ROW.
1941| APPEND <ILINE> TO <ITAB>.
1942| ENDAT.
1943| ENDLOOP.
- EN: Iterate Excel cell lines, move each value into the structure component matching the column (removing thousand separators from numerics) and append one line per row to the dynamically assigned target table.
- SAP 객체: ALSMEX_TABLINE, ALSM_EXCEL_TO_INTERNAL_TABLE
- 업무 키워드: 엑셀 셀 매핑, 동적 내부테이블, 콤마 제거
- English: Excel Upload, ALSMEX_TABLINE, Dynamic Assign
- 정의부(복사 시 함께 필요):
<ITAB>,<ILINE>,<FIELD> - 위치:
abap://ZCOC2040/ZCO_COMMON#L1924-L1943· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#ALSMEX_TAB_TO_ITAB#C1
FORM START_INTERFACE_BDC — ZCO_COMMON L1953-L1973 (21줄)
FTPOST 작업 테이블을 초기화하고 POSTING_INTERFACE_START로 FI Posting Interface(Call Transaction 방식)를 시작하는 공통 FORM이다.
이 unit 의 조각 1개가 13/21줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] POSTING_INTERFACE_START를 I_FUNCTION='C'(Call Transaction), 지정 모드(P_MODE), 동기 업데이트('S')로 호출해 FI 전표 전기 인터페이스를 연다.
1960| CALL FUNCTION 'POSTING_INTERFACE_START'
1961| EXPORTING
1962| I_FUNCTION = 'C' " Using Call Transaction
1963| I_KEEP = 'Y'
1964| I_MODE = P_MODE
1965| I_UPDATE = 'S'
1966| EXCEPTIONS
1967| CLIENT_INCORRECT = 1
1968| FUNCTION_INVALID = 2
1969| GROUP_NAME_MISSING = 3
1970| MODE_INVALID = 4
1971| UPDATE_INVALID = 5
1972| OTHERS = 6.
- EN: Open the FI posting interface with POSTING_INTERFACE_START in call-transaction mode, given display mode and synchronous update.
- 호출(파서): POSTING_INTERFACE_START
- SAP 객체: POSTING_INTERFACE_START
- 업무 키워드: 전기 인터페이스 시작, Call Transaction, 전표 전기
- English: Posting Interface, Call Transaction, FI Document
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1960-L1972· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#START_INTERFACE_BDC#C1
FORM END_INTERFACE_BDC — ZCO_COMMON L1980-L1990 (11줄)
POSTING_INTERFACE_END를 호출해 FI Posting Interface 세션을 종료하고 FTPOST/FTTAX/BLNTAB 작업 테이블을 초기화하는 공통 FORM이다.
이 unit 의 조각 1개가 3/11줄(27%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] FI Posting Interface 처리를 POSTING_INTERFACE_END(I_BDCIMMED='X')로 종료해 BDC 세션을 즉시 처리한다.
1981| CALL FUNCTION 'POSTING_INTERFACE_END'
1982| EXPORTING
1983| I_BDCIMMED = 'X'.
- EN: Close the FI posting interface session via POSTING_INTERFACE_END with immediate BDC processing.
- 호출(파서): POSTING_INTERFACE_END
- SAP 객체: POSTING_INTERFACE_END
- 업무 키워드: 전기 인터페이스 종료, BDC 세션
- English: Posting Interface, BDC Session
- 위치:
abap://ZCOC2040/ZCO_COMMON#L1981-L1983· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#END_INTERFACE_BDC#C1
FORM FILL_FIELD — ZCO_COMMON L2000-L2023 (24줄)
Posting Interface(FTPOST)용 필드명·값을 한 건 채우며 금액 필드는 통화 형식으로 편집하여 FTPOST 테이블에 추가하는 공통 FORM이다.
이 unit 의 조각 1개가 18/24줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[interface] 값이 있는 경우에만 FTPOST에 STYPE/COUNT와 필드명을 설정하고, 금액 필드(FCURR_X='X')는 통화(GV_FTPOST_WAERS) 기준으로 WRITE 편집 후 FTPOST-FVAL에 넣어 Posting Interface 전표 필드로 APPEND한다.
2004| CHECK FVAL NE SPACE.
2005|
2006| FTPOST-FNAM = FNAM.
2007| FTPOST-STYPE = GV_FTPOST_TYPE.
2008| FTPOST-COUNT = GV_FTPOST_CNT.
2009|
2010| " 금액 필드일 경우.
2011| IF FCURR_X = 'X'.
2012| WRITE FVAL TO LV_CURR CURRENCY
2013| GV_FTPOST_WAERS LEFT-JUSTIFIED.
2014| CONDENSE LV_CURR NO-GAPS.
2015| WRITE LV_CURR TO FTPOST-FVAL.
2016| ELSE.
2017| WRITE FVAL TO FTPOST-FVAL.
2018| ENDIF.
2019|
2020| APPEND FTPOST.
2021| CLEAR FTPOST.
- EN: Populate one FTPOST entry for the FI posting interface: set field name, segment type and count, format amount fields with currency and append.
- SAP 객체: FTPOST, POSTING_INTERFACE_DOCUMENT
- 업무 키워드: 전기 인터페이스, FTPOST 필드 구성, 금액 통화 편집
- English: Posting Interface, FTPOST, Currency Format
- 정의부(복사 시 함께 필요):
FTPOST,GV_FTPOST_TYPE,GV_FTPOST_CNT,LV_CURR,GV_FTPOST_WAERS - 위치:
abap://ZCOC2040/ZCO_COMMON#L2004-L2021· confidence 0.85 ·ZCOC2040#ZCO_COMMON#FORM#FILL_FIELD#C1
FORM BUILD_MESSGE_IF — ZCO_COMMON L2032-L2047 (16줄)
인터페이스 메시지 구조(MSGID/MSGNO/MSGV1~4)를 MESSAGE_TEXT_BUILD로 메시지 텍스트로 조립하는 공통 FORM이다.
이 unit 의 조각 1개가 10/16줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 메시지 클래스·번호·변수 1~4를 MESSAGE_TEXT_BUILD에 넘겨 사용자에게 보여줄 메시지 문장을 생성한다.
2037| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
2038| EXPORTING
2039| MSGID = PS_MESSAGE-MSGID
2040| MSGNR = PS_MESSAGE-MSGNO
2041| MSGV1 = PS_MESSAGE-MSGV1
2042| MSGV2 = PS_MESSAGE-MSGV2
2043| MSGV3 = PS_MESSAGE-MSGV3
2044| MSGV4 = PS_MESSAGE-MSGV4
2045| IMPORTING
2046| MESSAGE_TEXT_OUTPUT = PV_TEXT.
- EN: Build the readable message text from message ID, number and variables using MESSAGE_TEXT_BUILD.
- 호출(파서): MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD, GT_IF_MSG
- 업무 키워드: 메시지 텍스트 생성, 인터페이스 메시지
- English: Message Text, Message Class
- 위치:
abap://ZCOC2040/ZCO_COMMON#L2037-L2046· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#BUILD_MESSGE_IF#C1
FORM GET_POST_PERIOD — ZCO_COMMON L2057-L2084 (28줄)
회사코드와 전기일로 FI_PERIOD_DETERMINE을 호출해 회계연도·전기기간을 구하고 실패 시 날짜에서 직접 추출하는 공통 FORM이다.
이 unit 의 조각 1개가 21/28줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 회사코드(BUKRS)와 전기일(BUDAT)로 FI_PERIOD_DETERMINE을 호출해 회계연도(GJAHR)와 전기기간(MONAT)을 구하고, 예외 발생 시 달력 연도·월을 대신 사용한다.
2062| CALL FUNCTION 'FI_PERIOD_DETERMINE'
2063| EXPORTING
2064| I_BUKRS = PV_BUKRS
2065| I_BUDAT = PV_DATE
2066| IMPORTING
2067| E_GJAHR = P_LFGJA
2068| E_MONAT = P_LFMON
2069| EXCEPTIONS
2070| FISCAL_YEAR = 1
2071| PERIOD = 2
2072| PERIOD_VERSION = 3
2073| POSTING_PERIOD = 4
2074| SPECIAL_PERIOD = 5
2075| VERSION = 6
2076| POSTING_DATE = 7
2077| OTHERS = 8.
2078|
2079| IF SY-SUBRC NE 0.
2080| P_LFGJA = PV_DATE(4).
2081| P_LFMON = PV_DATE+4(2).
2082| ENDIF.
- EN: Determine fiscal year and posting period from company code and posting date via FI_PERIOD_DETERMINE, falling back to calendar year/month on exception.
- 호출(파서): FI_PERIOD_DETERMINE
- SAP 객체: FI_PERIOD_DETERMINE
- 업무 키워드: 회계연도 결정, 전기기간, 회사코드, 전기일
- English: Fiscal Year, Posting Period, Company Code, Posting Date
- 위치:
abap://ZCOC2040/ZCO_COMMON#L2062-L2082· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#GET_POST_PERIOD#C1
FORM CONV_VIEW_WAERS — ZCO_COMMON L2126-L2134 (9줄)
CURRENCY_AMOUNT_SAP_TO_IDOC로 SAP 내부 금액을 통화 소수점에 맞는 외부(IDoc) 형식 문자열로 변환하는 공통 FORM이다.
이 unit 의 조각 1개가 6/9줄(67%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 통화 코드(P_WAERS)에 따라 내부 금액을 CURRENCY_AMOUNT_SAP_TO_IDOC로 IDoc/BAPI 외부 금액 형식으로 변환해 BAPI 금액 필드에 넣을 값을 만든다.
2128| CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
2129| EXPORTING
2130| CURRENCY = P_WAERS
2131| SAP_AMOUNT = P_VALUE
2132| IMPORTING
2133| IDOC_AMOUNT = P_DOC_VALUE.
- EN: Convert an SAP internal amount to IDoc/BAPI external amount format for the given currency using CURRENCY_AMOUNT_SAP_TO_IDOC.
- 호출(파서): CURRENCY_AMOUNT_SAP_TO_IDOC
- SAP 객체: CURRENCY_AMOUNT_SAP_TO_IDOC
- 업무 키워드: 통화 금액 변환, 외부 형식, BAPI 금액
- English: Currency Conversion, IDoc Amount, BAPI Amount
- 위치:
abap://ZCOC2040/ZCO_COMMON#L2128-L2133· confidence 0.9 ·ZCOC2040#ZCO_COMMON#FORM#CONV_VIEW_WAERS#C1
FORM GET_VERSN_TEXT — ZCO_COMMON L2168-L2177 (10줄)
TKT09에서 관리회계영역·버전의 계획 버전 텍스트를 로그온 언어로 읽는 공통 FORM이다.
이 unit 의 조각 1개가 6/10줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] TKT09에서 관리회계영역(KOKRS)·버전(VERSN)·언어(SY-LANGU)로 계획 버전 텍스트를 조회해 선택화면 표시용으로 반환한다.
2171| SELECT SINGLE TXT
2172| INTO P_VERSN_TXT
2173| FROM TKT09
2174| WHERE KOKRS = P_KOKRS
2175| AND VERSN = P_VERSN
2176| AND LANGU = SY-LANGU.
- EN: Read the CO plan version description from TKT09 for the controlling area, version and logon language.
- 테이블(파서): read TKT09 / write -
- SAP 객체: TKT09
- 업무 키워드: 계획 버전 텍스트, 관리회계영역
- English: Plan Version, TKT09, Controlling Area
- 정의부(복사 시 함께 필요):
P_KOKRS - 위치:
abap://ZCOC2040/ZCO_COMMON#L2171-L2176· confidence 0.95 ·ZCOC2040#ZCO_COMMON#FORM#GET_VERSN_TEXT#C1
FORM SHOW_ERROR_LOG — ZCOC2040F01 L433-L488 (56줄)
ALV에서 선택한 행의 검증 메시지 목록(MSG_LIST)을 상태·메시지 컬럼의 팝업 ALV Grid(W_POPUP_GRID)로 표시한다.
이 unit 의 조각 1개가 43/56줄(77%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[output] 행 번호로 GT_DATA를 읽고 GT_LOG_POP 필드카탈로그의 컬럼명(상태/메시지)을 설정한 뒤 MSG_LIST를 LT_POPUP으로 옮겨 팝업 ALV(W_POPUP_GRID->SHOW_DATA)로 오류 로그를 표시한다.
445| CHECK P_ROW CO '0123456789 '.
446|
447| READ TABLE GT_DATA INDEX P_ROW.
448|
449| CHECK SY-SUBRC EQ 0.
450|
451| PERFORM GET_FCAT_LIKE_ITAB TABLES POPUP_FIELDCAT
452| USING 'GT_LOG_POP'.
453|
454| LOOP AT POPUP_FIELDCAT INTO LS_FIELDCAT.
455|
456| CASE LS_FIELDCAT-FIELDNAME.
457| WHEN 'STATUS'.
458| LS_FIELDCAT-COLTEXT = '상태'(F10).
459| WHEN 'MESSAGE'.
460| LS_FIELDCAT-COLTEXT = '메시지'(F11).
461| ENDCASE.
462|
463| MODIFY POPUP_FIELDCAT FROM LS_FIELDCAT.
464| ENDLOOP.
465|
466| LOOP AT GT_DATA-MSG_LIST INTO GS_MSG_T_S.
467| LT_POPUP-STATUS = GS_MSG_T_S-STATUS.
468| LT_POPUP-MESSAGE = GS_MSG_T_S-MESSAGE.
469| APPEND LT_POPUP.
470| CLEAR : LT_POPUP.
471| ENDLOOP.
472|
473| PERFORM SET_ALV_LAYOUT_POP CHANGING LS_LAYO.
474|
475| CREATE OBJECT W_POPUP_GRID
476| EXPORTING
477| I_T_FIELDCATALOG = POPUP_FIELDCAT
478| I_S_LAYOUT = LS_LAYO
479| I_CAPTION = ''
480| I_LEFT = 100
481| I_TOP = 150
482| I_HEIGHT = 400
483| I_WIDTH = 900.
484|
485| CALL METHOD W_POPUP_GRID->SHOW_DATA
486| EXPORTING
487| I_T_DATA = LT_POPUP[].
- EN: Read the selected GT_DATA row, build a popup field catalog for GT_LOG_POP and show its MSG_LIST entries in a popup ALV grid via W_POPUP_GRID->SHOW_DATA.
- 호출(파서): GET_FCAT_LIKE_ITAB, SET_ALV_LAYOUT_POP, W_POPUP_GRID->SHOW_DATA
- SAP 객체: LVC_T_FCAT, LVC_S_LAYO
- 업무 키워드: 오류 로그 팝업, 메시지 목록, ALV 팝업
- English: Error Log, Popup ALV, Message List
- 정의부(복사 시 함께 필요):
GT_DATA,POPUP_FIELDCAT,LS_FIELDCAT,GS_MSG_T_S,GT_LOG_POP,LT_POPUP,LS_LAYO,W_POPUP_GRID - 위치:
abap://ZCOC2040/ZCOC2040F01#L445-L487· confidence 0.8 ·ZCOC2040#ZCOC2040F01#FORM#SHOW_ERROR_LOG#C1
FORM UPLOAD_EXCEL_DATA — ZCOC2040F01 L329-L347 (19줄)
업로드 파일 존재를 확인한 뒤 UPLOAD_DATA로 엑셀 2행부터 전체 범위를 GT_UPLOAD에 적재하는 FORM이다.
이 unit 의 조각 1개가 15/19줄(79%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] FILE_EXISTS로 파일이 없으면 'File Not Exists' 오류로 중단하고, 있으면 UPLOAD_DATA를 1열·2행부터 256열·65536행까지로 호출해 GT_UPLOAD/GS_UPLOAD에 엑셀 데이터를 적재한다.
332| PERFORM FILE_EXISTS USING P_NAME L_EXISTS.
333|
334| IF L_EXISTS = ABAP_FALSE.
335| MESSAGE S000 DISPLAY LIKE 'E' WITH 'File Not Exists'.
336| LEAVE LIST-PROCESSING.
337| EXIT.
338| ENDIF.
339|
340| PERFORM UPLOAD_DATA USING 'GT_UPLOAD[]'
341| 'GS_UPLOAD'
342| P_NAME
343| 1 "S_COL-LOW
344| 2 "S_ROW-LOW
345| 256 "S_COL-HIGH
346| 65536. "S_ROW-HIGH.
- EN: Abort with an error if the file is missing, otherwise call UPLOAD_DATA to load the Excel sheet from row 2 (skipping the header) into GT_UPLOAD.
- 호출(파서): FILE_EXISTS, UPLOAD_DATA
- SAP 객체: FILE_EXISTS, UPLOAD_DATA, GT_UPLOAD
- 업무 키워드: 엑셀 업로드, 파일 존재 확인, 헤더 행 제외
- English: Excel Upload, File Check
- 정의부(복사 시 함께 필요):
L_EXISTS - 위치:
abap://ZCOC2040/ZCOC2040F01#L332-L346· confidence 0.85 ·ZCOC2040#ZCOC2040F01#FORM#UPLOAD_EXCEL_DATA#C1
FORM EXECUTE_SAVE — ZCOC2040F01 L401-L425 (25줄)
중복 저장을 막고 '매출원가계획을 입력하시겠습니까?' 확인 팝업 후 PERFORM_SAVE로 ZCOT0200 저장을 실행한다.
이 unit 의 조각 1개가 18/25줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] 이미 저장된 경우 오류 메시지로 중단하고, POPUP_TO_CONFIRM_02 확인(J) 후 저장 플래그를 세우고 PERFORM_SAVE를 호출한다.
406| IF GV_ALREADY_POST = 'X'.
407| MESSAGE S000 DISPLAY LIKE 'E' WITH '이미 저장하였습니다.'(F08).
408| EXIT.
409| ENDIF.
410|
411| IF GV_UPLOAD_ERROR = 'X'.
412| * PERFORM PGM_MSG USING 'F11' 'E'.
413| ENDIF.
414|
415| PERFORM POPUP_TO_CONFIRM_02 USING 'Confirm'
416| '매출원가계획을 입력하시겠습니까?'(F09) ''
417| CHANGING L_ANSWER.
418| IF L_ANSWER <> 'J'.
419| EXIT.
420| ENDIF.
421|
422| GV_ALREADY_POST = 'X'.
423| PERFORM PERFORM_SAVE.
- EN: Block duplicate save, ask for confirmation via POPUP_TO_CONFIRM_02 and then run PERFORM_SAVE.
- 호출(파서): POPUP_TO_CONFIRM_02, PERFORM_SAVE
- SAP 객체: ZCOT0200
- 업무 키워드: 중복 저장 방지, 확인 팝업, 매출원가 계획
- English: Duplicate check, Confirmation popup, Save
- 정의부(복사 시 함께 필요):
GV_ALREADY_POST,GV_UPLOAD_ERROR,L_ANSWER - 위치:
abap://ZCOC2040/ZCOC2040F01#L406-L423· confidence 0.85 ·ZCOC2040#ZCOC2040F01#FORM#EXECUTE_SAVE#C1
FORM PERFORM_SAVE — ZCOC2040F01 L738-L799 (62줄)
검증을 통과한 업로드 데이터(GT_DATA)의 월별 금액을 천원에서 원 단위로 환산해 ZCOT0210 구조로 만든 뒤 해당 관리회계영역·연도의 기존 계획을 삭제하고 새로 저장하며 결과 상태를 표시한다.
이 unit 의 조각 2개가 46/62줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] GT_DATA 각 행의 MONTH01~12 금액을 동적 ASSIGN으로 LT_ZCOT0210의 월 필드에 옮기며 CONVERT_1000_U로 천원 단위를 원 단위로 환산하고, 관리회계영역·통화·품목(중) WW220·회계연도·원가구분(COST_GUBUN)을 채워 저장용 테이블을 만든다.
751| LOOP AT GT_DATA.
752| DO 12 TIMES.
753| LV_NC = SY-INDEX.
754| CONCATENATE 'GT_DATA-MONTH' LV_NC INTO LV_FIELD1.
755| ASSIGN (LV_FIELD1) TO <FS_VALUE1>.
756| IF SY-SUBRC EQ 0.
757| CONCATENATE 'LT_ZCOT0210-MONTH' LV_NC INTO LV_FIELD2.
758|
759| ASSIGN (LV_FIELD2) TO <FS_VALUE2>.
760| IF SY-SUBRC EQ 0.
761| <FS_VALUE2> = <FS_VALUE1>.
762| PERFORM CONVERT_1000_U USING <FS_VALUE2> <FS_VALUE2>.
763| ENDIF.
764| ENDIF.
765| ENDDO.
766|
767| LT_ZCOT0210-KOKRS = P_KOKRS.
768| LT_ZCOT0210-REC_WAERS = GV_WAERS.
769| LT_ZCOT0210-WW220 = GT_DATA-WW220.
770| LT_ZCOT0210-GJAHR = P_GJAHR.
771|
772| LT_ZCOT0210-COST_GUBUN = GT_DATA-COST_GUBUN.
773|
774| APPEND LT_ZCOT0210.
775| CLEAR : LT_ZCOT0210.
776| ENDLOOP.
- EN: For each GT_DATA row copy MONTH01-12 amounts into the ZCOT0210 structure via dynamic ASSIGN, converting from thousand KRW to KRW with CONVERT_1000_U, and fill controlling area, currency, product group WW220, fiscal year and cost category COST_GUBUN.
- 호출(파서): CONVERT_1000_U
- SAP 객체: ZCOT0210, CONVERT_1000_U, GT_DATA
- 업무 키워드: 매출원가 계획, 월별 금액, 천원 단위 환산, 품목 중분류, 원가구분
- English: Cost of Sales Plan, Monthly Amount, Unit Conversion, Product Group, Cost Category
- 정의부(복사 시 함께 필요):
GT_DATA,LV_NC,LV_FIELD1,<FS_VALUE1>,LV_FIELD2,<FS_VALUE2>,LT_ZCOT0210,P_KOKRS,GV_WAERS,P_GJAHR - 위치:
abap://ZCOC2040/ZCOC2040F01#L751-L776· confidence 0.9 ·ZCOC2040#ZCOC2040F01#FORM#PERFORM_SAVE#C1
[db_write] 관리회계영역(P_KOKRS)·회계연도(P_GJAHR)의 기존 ZCOT0210 계획 데이터를 DELETE로 전부 지운 뒤 LT_ZCOT0210을 MODIFY로 저장하고, 성공/실패에 따라 S000 메시지와 GT_DATA의 상태 아이콘(초록/빨강)·메시지를 갱신하며 ALV 리프레시 플래그를 켠다.
778| IF LT_ZCOT0210[] IS NOT INITIAL.
779| DELETE FROM ZCOT0210 WHERE KOKRS = P_KOKRS
780| AND GJAHR = P_GJAHR.
781| MODIFY ZCOT0210 FROM TABLE LT_ZCOT0210.
782|
783| IF SY-SUBRC EQ 0.
784| MESSAGE S000 WITH '정상적으로 반영되었습니다.'(F12).
785| LS_DATA-STATUS = GC_STATUS_GREEN.
786| LS_DATA-MESSAGE = '정상적으로 반영되었습니다'(F12).
787| ELSE.
788| MESSAGE S000 WITH '저장 중 오류가 발생하였습니다.'(F13).
789| LS_DATA-STATUS = GC_STATUS_RED.
790| LS_DATA-MESSAGE = '저장 중 오류가 발생하였습니다'(F13).
791| ENDIF.
792| ENDIF.
793|
794| MODIFY GT_DATA FROM LS_DATA TRANSPORTING STATUS MESSAGE
795| WHERE WW220 IS NOT INITIAL .
796|
797| GV_REFRESH = 'X'.
- EN: Delete existing ZCOT0210 plan rows for the controlling area and fiscal year, MODIFY the new rows from LT_ZCOT0210, issue a success or error message, update status icon and message on all GT_DATA rows and set the ALV refresh flag.
- 테이블(파서): read - / write ZCOT0210, GT_DATA
- SAP 객체: ZCOT0210, GT_DATA
- 업무 키워드: 계획 저장, 전체 삭제 후 재저장, 저장 결과 메시지, 상태 아이콘
- English: Database Update, Delete and Modify, Plan Data Save, Status Message
- 정의부(복사 시 함께 필요):
LT_ZCOT0210,P_KOKRS,P_GJAHR,GT_DATA,LS_DATA,GC_STATUS_GREEN,GC_STATUS_RED,GV_REFRESH - 위치:
abap://ZCOC2040/ZCOC2040F01#L778-L797· confidence 0.95 ·ZCOC2040#ZCOC2040F01#FORM#PERFORM_SAVE#C2
MODULE USER_COMMAND_0100 INPUT — ZCOC2040I01 L6-L30 (25줄)
화면 0100의 사용자 명령(BACK/EXIT 종료, &SAVE 매출 계획 저장)을 받아 해당 FORM으로 분기하는 PAI 모듈이다.
이 unit 의 조각 1개가 20/25줄(80%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] OK 코드가 BACK/CANC/EXIT이면 ALV 컨테이너를 해제하고 화면을 종료하며, &SAVE이면 EXECUTE_SAVE로 지점별 매출 계획을 ZCOT0160/ZCOT0170에 저장한다.
9| CASE GV_T_OK_CODE.
10| WHEN 'BACK' OR 'CANC' OR 'EXIT'.
11| PERFORM CLEAR_CONTAINER_PROC USING
12| GO_ALV1 GO_DOCKING_CONT1 GO_SPLITTER1
13| GO_CONTAINER_TOP1 GO_CONTAINER_ALV1
14| GO_HTML_VIEW1
15| GO_EVENT_RECEIVER1.
16|
17| IF GV_T_OK_CODE = 'EXIT'.
18| LEAVE PROGRAM.
19| ELSE.
20| LEAVE TO SCREEN 0.
21| ENDIF.
22| "Function Code 맵핑
23| WHEN '&SAVE'.
24| PERFORM EXECUTE_SAVE.
25|
26| WHEN OTHERS.
27| * LEAVE PROGRAM.
28| ENDCASE.
- EN: Dispatch screen 0100 function codes: free ALV containers and leave on BACK/EXIT, run EXECUTE_SAVE to store the sales plan on &SAVE.
- 호출(파서): CLEAR_CONTAINER_PROC, EXECUTE_SAVE
- SAP 객체: ZCOT0160, ZCOT0170
- 업무 키워드: 사용자 명령, 매출 계획 저장, 화면 종료
- English: User Command, PAI, Save
- 정의부(복사 시 함께 필요):
GV_T_OK_CODE,LCL_DEF_GRID,GO_ALV1,GO_DOCKING_CONT1,GO_SPLITTER1,GO_CONTAINER_TOP1,GO_CONTAINER_ALV1,GO_HTML_VIEW1,LCL_DEF_RECEIVER,GO_EVENT_RECEIVER1 - 위치:
abap://ZCOC2040/ZCOC2040I01#L9-L28· confidence 0.85 ·ZCOC2040#ZCOC2040I01#MODULE#USER_COMMAND_0100_INPUT#C1
정의부 (345건)
로직 조각을 다른 프로그램으로 옮겨 붙일 때 함께 가야 하는 선언이다. 조각별로 무엇이 필요한지는 위 조각 항목의 정의부 줄에 있고(이름을 누르면 여기로 온다), 붙여넣기용으로 의존까지 묶은 코드는 GET /chunks/<chunk_id> 의 declaration_code 로 받는다.
ZCOC2040C01 (1건)
LCL_DEF_RECEIVER — class · L5-L56
CLASS LCL_DEF_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS: HANDLE_TOP_OF_PAGE
FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID
IMPORTING E_DYNDOC_ID TABLE_INDEX.
METHODS : HANDLE_TOOLBAR
FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
IMPORTING SENDER
E_OBJECT
E_INTERACTIVE.
METHODS : HANDLE_USER_COMMAND
FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
IMPORTING SENDER E_UCOMM.
METHODS : HANDLE_DATA_CHANGED
FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
IMPORTING SENDER ER_DATA_CHANGED.
METHODS : HANDLE_DATA_CHANGED_FINISHED
FOR EVENT DATA_CHANGED_FINISHED OF CL_GUI_ALV_GRID
IMPORTING SENDER E_MODIFIED
ET_GOOD_CELLS.
METHODS : HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING SENDER E_ROW_ID
E_COLUMN_ID.
METHODS : HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING SENDER
E_ROW
E_COLUMN
ES_ROW_NO.
METHODS: HANDLE_ON_F4 FOR EVENT ONF4 OF CL_GUI_ALV_GRID
IMPORTING SENDER
E_FIELDNAME
E_FIELDVALUE
ES_ROW_NO
ER_EVENT_DATA
ET_BAD_CELLS
E_DISPLAY.
METHODS : HANDLE_CONTEXT_MENU_REQ
FOR EVENT CONTEXT_MENU_REQUEST OF CL_GUI_ALV_GRID
IMPORTING E_OBJECT.
ENDCLASS. " LCL_DEF_RECEIVER
ZCOC2040TOP (55건)
IBRTT — type-pool · L1-L1
TYPE-POOLS : IBRTT, VRM, ICON.
ICON — type-pool · L1-L1
TYPE-POOLS : IBRTT, VRM, ICON.
VRM — type-pool · L1-L1
TYPE-POOLS : IBRTT, VRM, ICON.
ICON — tables · L2-L2
TABLES : ICON, SSCRFIELDS.
SSCRFIELDS — tables · L2-L2
TABLES : ICON, SSCRFIELDS.
ISELLIST — tables · L3-L3
TABLES : ISELLIST. " 선택한 달력 조회
DD03L — tables · L4-L4
TABLES : DD03L.
GV_OK_CODE — data · L14-L14
DATA : GV_OK_CODE LIKE SY-UCOMM.
GV_T_OK_CODE — data · L15-L15
DATA : GV_T_OK_CODE LIKE SY-UCOMM.
GT_UCOMM — data · L17-L17
DATA : GT_UCOMM TYPE TABLE OF SY-UCOMM.
GV_LOCK — data · L21-L21
DATA : GV_LOCK(1) TYPE C. " Locking
GV_UPLOAD_ERROR — data · L22-L22
DATA : GV_UPLOAD_ERROR(1) TYPE C. " 업로드 오류
GV_ALREADY_POST — data · L23-L23
DATA : GV_ALREADY_POST(1) TYPE C. " 실행 여부
GV_POST_ERROR — data · L24-L24
DATA : GV_POST_ERROR(1) TYPE C. " 전기 오류
GC_MAIN_ITAB_NAME — constants · L28-L29
CONSTANTS : GC_MAIN_ITAB_NAME TYPE DD03L-TABNAME
VALUE 'GT_DATA'.
GC_UPLOAD_STRUCT — constants · L30-L31
CONSTANTS : GC_UPLOAD_STRUCT TYPE DD03L-TABNAME
VALUE 'ZCOS0290'.
GC_SMW0 — constants · L32-L32
CONSTANTS : GC_SMW0 TYPE W3_QVALUE VALUE 'ZCOC2040'.
GC_GUBUN1 — constants · L35-L35
CONSTANTS : GC_GUBUN1(1) TYPE C VALUE '매'. "매출원가
GC_GUBUN2 — constants · L36-L36
CONSTANTS : GC_GUBUN2(1) TYPE C VALUE '장'. "장려금
GC_GUBUN3 — constants · L37-L37
CONSTANTS : GC_GUBUN3(1) TYPE C VALUE '수'. "수수료
GC_MEINS — constants · L38-L38
CONSTANTS : GC_MEINS TYPE COSP-MEINH VALUE 'EA'.
GT_MAIN_FIELDCAT — data · L44-L44
DATA : GT_MAIN_FIELDCAT TYPE LVC_T_FCAT.
<GF_UPLOADT> — field-symbol · L49-L49
FIELD-SYMBOLS : <GF_UPLOADT> TYPE STANDARD TABLE.
<GF_UPLOADS> — field-symbol · L50-L50
FIELD-SYMBOLS : <GF_UPLOADS> TYPE ANY.
GF_UPLOADT — data · L52-L52
DATA : GF_UPLOADT TYPE REF TO DATA.
GF_UPLOADS — data · L53-L53
DATA : GF_UPLOADS TYPE REF TO DATA.
GT_UPLD_FCAT — data · L55-L55
DATA : GT_UPLD_FCAT TYPE LVC_T_FCAT.
GS_UPLD_FCAT — data · L56-L56
DATA : GS_UPLD_FCAT TYPE LVC_S_FCAT.
GT_DATA — data · L61-L74
DATA : BEGIN OF GT_DATA OCCURS 0.
INCLUDE STRUCTURE ZCOS0290.
DATA :
WW220_TEXT LIKE ZCOT0090-WW120_TEXT,
SUM LIKE ZCOT0200-MONTH12,
COST_GUBUN LIKE ZCOT0200-COST_GUBUN,
STATUS LIKE ICON-ID,
F_COL TYPE LVC_T_SCOL,
CELLTAB TYPE LVC_T_STYL,
MESSAGE LIKE BDCMSGCOLL-MSGV1,
MSG_LIST TYPE ZMSG_T_S,
END OF GT_DATA.
GS_DATA — data · L76-L76
DATA : GS_DATA LIKE GT_DATA.
GT_LOG_POP — data · L78-L81
DATA : BEGIN OF GT_LOG_POP OCCURS 0,
STATUS LIKE ICON-ID,
MESSAGE LIKE BDCMSGCOLL-MSGV1,
END OF GT_LOG_POP.
W_POPUP_GRID — data · L84-L84
DATA : W_POPUP_GRID TYPE REF TO CL_RS_ALV_GRID_POPUP.
GS_MSG_T_S — data · L86-L86
DATA : GS_MSG_T_S TYPE ZMSG_S_S.
GV_BUKRS — data · L88-L88
DATA : GV_BUKRS LIKE T001-BUKRS.
GT_SUM_10_VV100 — data · L89-L89
DATA : GT_SUM_10_VV100 LIKE ZCOT0210 OCCURS 0 WITH HEADER LINE.
GT_SUM_20_VV100 — data · L90-L90
DATA : GT_SUM_20_VV100 LIKE ZCOT0210 OCCURS 0 WITH HEADER LINE.
GT_SUM_30_VV100 — data · L91-L91
DATA : GT_SUM_30_VV100 LIKE ZCOT0210 OCCURS 0 WITH HEADER LINE.
GT_T2508 — data · L94-L94
DATA : GT_T2508 LIKE T2508 OCCURS 0 WITH HEADER LINE.
GT_ZCOT0080 — data · L95-L95
DATA : GT_ZCOT0080 LIKE ZCOT0080 OCCURS 0 WITH HEADER LINE.
GT_T2500 — data · L98-L98
DATA : GT_T2500 LIKE T2500 OCCURS 0 WITH HEADER LINE. " 사업부
GT_T2501 — data · L99-L99
DATA : GT_T2501 LIKE T2501 OCCURS 0 WITH HEADER LINE. " 지사
GT_T2502 — data · L100-L100
DATA : GT_T2502 LIKE T2502 OCCURS 0 WITH HEADER LINE. " 지점
GT_ZCOT0090 — data · L101-L101
DATA : GT_ZCOT0090 LIKE ZCOT0090 OCCURS 0 WITH HEADER LINE.
GT_T2503 — data · L103-L103
DATA : GT_T2503 LIKE T2503 OCCURS 0 WITH HEADER LINE. " 품목
GT_T2504 — data · L104-L104
DATA : GT_T2504 LIKE T2504 OCCURS 0 WITH HEADER LINE. " 품목(대)
GT_T2505 — data · L105-L105
DATA : GT_T2505 LIKE T2505 OCCURS 0 WITH HEADER LINE. " 품목(중)
GT_T2506 — data · L106-L106
DATA : GT_T2506 LIKE T2506 OCCURS 0 WITH HEADER LINE. " 품목(소)
GT_T2507 — data · L107-L107
DATA : GT_T2507 LIKE T2507 OCCURS 0 WITH HEADER LINE. " 품목상세.
GT_ZCOT0110 — data · L108-L108
DATA : GT_ZCOT0110 LIKE ZCOT0110 OCCURS 0 WITH HEADER LINE.
GV_VV110_10_SUM — data · L110-L110
DATA : GV_VV110_10_SUM LIKE ZCOT0200-MONTH12. " 매출원가
GV_VV110_20_SUM — data · L111-L111
DATA : GV_VV110_20_SUM LIKE ZCOT0200-MONTH12. " 장려금
GV_VV110_30_SUM — data · L112-L112
DATA : GV_VV110_30_SUM LIKE ZCOT0200-MONTH12. " 수수료
P_KOKRS — parameter · L121-L122
PARAMETERS : P_KOKRS LIKE TKA01-KOKRS OBLIGATORY DEFAULT 'KR01'
MODIF ID MG1.
P_GJAHR — parameter · L127-L128
PARAMETER : P_GJAHR LIKE COSP-GJAHR DEFAULT SY-DATUM+0(4)
OBLIGATORY.
P_FNAME — parameter · L130-L131
PARAMETER : P_FNAME TYPE RLGRAP-FILENAME
MEMORY ID ZCOC2040_P_FNAME.
ZCO_ALV (123건)
F4TYP — type-pool · L9-L9
TYPE-POOLS : SLIS, F4TYP, SDYDO.
SDYDO — type-pool · L9-L9
TYPE-POOLS : SLIS, F4TYP, SDYDO.
SLIS — type-pool · L9-L9
TYPE-POOLS : SLIS, F4TYP, SDYDO.
T_MSG — types · L11-L19
TYPES : BEGIN OF T_MSG,
MSGID TYPE SYMSGID,
MSGNO TYPE SYMSGNO,
MSGTY,
MSG1(50),
MSG2(50),
MSG3(50),
MSG4(50),
END OF T_MSG.
GS_MSG — data · L20-L20
DATA : GS_MSG TYPE T_MSG.
GT_TOP_OF_PAGE_TXT — data · L22-L26
DATA : BEGIN OF GT_TOP_OF_PAGE_TXT OCCURS 0,
TOP_TEXT TYPE SDYDO_TEXT_ELEMENT,
FONTSIZE TYPE SDYDO_ATTRIBUTE,
COLOR TYPE SDYDO_ATTRIBUTE,
END OF GT_TOP_OF_PAGE_TXT.
GC_STATUS_SET — constants · L28-L28
CONSTANTS : GC_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET'.
GC_USER_COMMAND — constants · L29-L29
CONSTANTS : GC_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
GC_TOP_OF_PAGE — constants · L30-L30
CONSTANTS : GC_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
GC_TOP_OF_LIST — constants · L31-L31
CONSTANTS : GC_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST'.
GC_END_OF_LIST — constants · L32-L32
CONSTANTS : GC_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
GC_DATA_CHANGED — constants · L33-L33
CONSTANTS : GC_DATA_CHANGED TYPE SLIS_FORMNAME VALUE 'DATA_CHANGED'.
GC_HTML_TOP_OF_PAGE — constants · L34-L35
CONSTANTS : GC_HTML_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'HTML_TOP_OF_PAGE'.
GC_PRT_TOP_OF_PAGE — constants · L36-L37
CONSTANTS : GC_PRT_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'PRT_TOP_OF_PAGE'.
GV_SAVE — data · L40-L40
DATA : GV_SAVE.
GV_TABIX — data · L41-L41
DATA : GV_TABIX LIKE SY-TABIX.
GV_FLD_NAME — data · L42-L42
DATA : GV_FLD_NAME(30).
GV_EXGT_CAUSED_BY_CALLER — data · L43-L43
DATA : GV_EXGT_CAUSED_BY_CALLER.
GV_REPID — data · L44-L44
DATA : GV_REPID TYPE SY-REPID.
GV_DYNNR — data · L45-L45
DATA : GV_DYNNR TYPE SY-DYNNR.
GV_PROGRAM_NAME — data · L46-L46
DATA : GV_PROGRAM_NAME LIKE SY-REPID.
GV_INCLNAME — data · L47-L47
DATA : GV_INCLNAME LIKE TRDIR-NAME.
GV_EXTENSION — data · L48-L48
DATA : GV_EXTENSION TYPE I.
GS_LAYOUT — data · L51-L51
DATA : GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
GS_EXGT_CAUSED_BY_USER — data · L52-L52
DATA:
GS_EXGT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER.
GS_FIELDCAT — data · L53-L53
DATA:
GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
GS_SORT — data · L54-L54
DATA:
GS_SORT TYPE SLIS_SORTINFO_ALV.
GS_KEYINFO — data · L55-L55
DATA:
GS_KEYINFO TYPE SLIS_KEYINFO_ALV.
GS_VARIANT — data · L56-L56
DATA:
GS_VARIANT TYPE DISVARIANT.
GS_SCROLL — data · L57-L57
DATA:
GS_SCROLL TYPE SLIS_LIST_SCROLL.
GS_DETAIL_FUNC — data · L58-L58
DATA:
GS_DETAIL_FUNC LIKE DD02L-TABNAME.
GS_LVC_LAYO1 — data · L60-L60
DATA : GS_LVC_LAYO1 TYPE LVC_S_LAYO. " LAYOUT\
GS_LVC_LAYO2 — data · L61-L61
DATA:
GS_LVC_LAYO2 TYPE LVC_S_LAYO.
GS_LVC_LAYO3 — data · L62-L62
DATA:
GS_LVC_LAYO3 TYPE LVC_S_LAYO.
GS_LVC_LAYO4 — data · L63-L63
DATA:
GS_LVC_LAYO4 TYPE LVC_S_LAYO.
GS_LVC_FCAT — data · L65-L65
DATA : GS_LVC_FCAT TYPE LVC_S_FCAT. " FIELDCATALOG
GS_ROW — data · L67-L67
DATA : GS_ROW LIKE LVC_S_ROW.
GS_COL — data · L68-L68
DATA:
GS_COL LIKE LVC_S_COL.
GS_STABLE — data · L69-L69
DATA : GS_STABLE TYPE LVC_S_STBL.
GT_EVENTS — data · L72-L72
DATA : GT_EVENTS TYPE SLIS_T_EVENT.
GT_LISTHEADER — data · L73-L73
DATA:
GT_LISTHEADER TYPE SLIS_T_LISTHEADER.
GT_FIELDCAT — data · L74-L74
DATA:
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
GT_SORT — data · L75-L75
DATA:
GT_SORT TYPE SLIS_T_SORTINFO_ALV.
GT_EXIT — data · L76-L76
DATA:
GT_EXIT TYPE SLIS_EVENT_EXIT OCCURS 0.
GT_PRINT — data · L77-L77
DATA:
GT_PRINT TYPE SLIS_PRINT_ALV.
GT_UI_FUNCTIONS1 — data · L79-L79
DATA : GT_UI_FUNCTIONS1 TYPE UI_FUNCTIONS. " TOOLBAR
GT_UI_FUNCTIONS2 — data · L80-L80
DATA:
GT_UI_FUNCTIONS2 TYPE UI_FUNCTIONS.
GT_UI_FUNCTIONS3 — data · L81-L81
DATA:
GT_UI_FUNCTIONS3 TYPE UI_FUNCTIONS.
GT_UI_FUNCTIONS4 — data · L82-L82
DATA:
GT_UI_FUNCTIONS4 TYPE UI_FUNCTIONS.
GT_LVC_SORT1 — data · L84-L84
DATA : GT_LVC_SORT1 TYPE LVC_T_SORT. " SORT
GT_LVC_SORT2 — data · L85-L85
DATA:
GT_LVC_SORT2 TYPE LVC_T_SORT.
GT_LVC_SORT3 — data · L86-L86
DATA:
GT_LVC_SORT3 TYPE LVC_T_SORT.
GT_LVC_SORT4 — data · L87-L87
DATA:
GT_LVC_SORT4 TYPE LVC_T_SORT.
GT_LVC_FCAT1 — data · L89-L89
DATA : GT_LVC_FCAT1 TYPE LVC_T_FCAT. " FIELDCATALOG
GT_LVC_FCAT2 — data · L90-L90
DATA:
GT_LVC_FCAT2 TYPE LVC_T_FCAT.
GT_LVC_FCAT3 — data · L91-L91
DATA:
GT_LVC_FCAT3 TYPE LVC_T_FCAT.
GT_LVC_FCAT4 — data · L92-L92
DATA:
GT_LVC_FCAT4 TYPE LVC_T_FCAT.
GT_LVC_DROP — data · L95-L95
DATA : GT_LVC_DROP TYPE LVC_T_DROP.
GS_LVC_DROP — data · L96-L96
DATA:
GS_LVC_DROP TYPE LVC_S_DROP.
GT_ALV_COLOR — data · L99-L99
DATA : GT_ALV_COLOR TYPE LVC_T_SCOL WITH HEADER LINE.
GS_ALV_COLOR — data · L100-L100
DATA:
GS_ALV_COLOR TYPE LVC_S_COLO.
GT_ROWS — data · L103-L103
DATA : GT_ROWS TYPE LVC_T_ROW.
GS_ROWS — data · L104-L104
DATA:
GS_ROWS TYPE LVC_S_ROW.
GV_FUN — data · L105-L105
DATA:
GV_FUN(1) VALUE 'D'.
GS_F4_VALUE — data · L109-L109
DATA : GS_F4_VALUE TYPE SEAHLPRES.
GS_F4_FIELD — data · L110-L110
DATA:
GS_F4_FIELD TYPE DFIES.
GS_F4 — data · L111-L111
DATA:
GS_F4 TYPE DDSHRETVAL.
GS_LVC_MODI — data · L112-L112
DATA:
GS_LVC_MODI TYPE LVC_S_MODI.
GS_LVC_F4 — data · L113-L113
DATA:
GS_LVC_F4 TYPE LVC_S_F4.
GT_F4_VALUES — data · L116-L116
DATA : GT_F4_VALUES TYPE TABLE OF SEAHLPRES.
GT_F4_FIELDS — data · L117-L117
DATA:
GT_F4_FIELDS TYPE TABLE OF DFIES.
GT_LVC_F4 — data · L118-L118
DATA:
GT_LVC_F4 TYPE LVC_T_F4.
<FS_F4TAB> — field-symbol · L121-L121
FIELD-SYMBOLS : <FS_F4TAB> TYPE LVC_T_MODI.
GV_CONSISTENCY_CHECK — data · L123-L123
DATA : GV_CONSISTENCY_CHECK(1) TYPE C.
GV_ALV_COLPOS — data · L125-L125
DATA : GV_ALV_COLPOS TYPE I.
GC_STATUS_GREEN — constants · L128-L128
CONSTANTS : GC_STATUS_GREEN LIKE ICON-ID VALUE ICON_GREEN_LIGHT.
GC_STATUS_YELLOW — constants · L129-L129
CONSTANTS : GC_STATUS_YELLOW LIKE ICON-ID VALUE ICON_YELLOW_LIGHT.
GC_STATUS_RED — constants · L130-L130
CONSTANTS : GC_STATUS_RED LIKE ICON-ID VALUE ICON_RED_LIGHT.
GC_STATUS_INIT — constants · L131-L131
CONSTANTS : GC_STATUS_INIT LIKE ICON-ID VALUE ICON_LIGHT_OUT.
GV_TOP_OF_PAGE — data · L133-L133
DATA : GV_TOP_OF_PAGE(255) TYPE C.
GC_ALV1_CONTNAME — constants · L143-L143
CONSTANTS : GC_ALV1_CONTNAME TYPE SCRFNAME VALUE 'ALV1_CONT'.
GC_ALV2_CONTNAME — constants · L144-L144
CONSTANTS : GC_ALV2_CONTNAME TYPE SCRFNAME VALUE 'ALV2_CONT'.
GC_ALV3_CONTNAME — constants · L145-L145
CONSTANTS : GC_ALV3_CONTNAME TYPE SCRFNAME VALUE 'ALV3_CONT'.
GC_ALV4_CONTNAME — constants · L146-L146
CONSTANTS : GC_ALV4_CONTNAME TYPE SCRFNAME VALUE 'ALV4_CONT'.
GO_CONTAINER_TOP1 — data · L149-L149
DATA:
GO_CONTAINER_TOP1 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_ALV1 — data · L150-L150
DATA:
GO_CONTAINER_ALV1 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_TOP2 — data · L152-L152
DATA:
GO_CONTAINER_TOP2 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_ALV2 — data · L153-L153
DATA:
GO_CONTAINER_ALV2 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_TOP3 — data · L155-L155
DATA:
GO_CONTAINER_TOP3 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_ALV3 — data · L156-L156
DATA:
GO_CONTAINER_ALV3 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_TOP4 — data · L158-L158
DATA:
GO_CONTAINER_TOP4 TYPE REF TO CL_GUI_CONTAINER.
GO_CONTAINER_ALV4 — data · L159-L159
DATA:
GO_CONTAINER_ALV4 TYPE REF TO CL_GUI_CONTAINER.
GO_ALV1 — data · L161-L161
DATA:
GO_ALV1 TYPE REF TO LCL_DEF_GRID.
GO_ALV2 — data · L162-L162
DATA:
GO_ALV2 TYPE REF TO LCL_DEF_GRID.
GO_ALV3 — data · L163-L163
DATA:
GO_ALV3 TYPE REF TO LCL_DEF_GRID.
GO_ALV4 — data · L164-L164
DATA:
GO_ALV4 TYPE REF TO LCL_DEF_GRID.
GO_SPLITTER0 — data · L166-L166
DATA:
GO_SPLITTER0 TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER.
GO_SPLITTER1 — data · L167-L167
DATA:
GO_SPLITTER1 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
GO_SPLITTER2 — data · L168-L168
DATA:
GO_SPLITTER2 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
GO_SPLITTER3 — data · L169-L169
DATA:
GO_SPLITTER3 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
GO_SPLITTER4 — data · L170-L170
DATA:
GO_SPLITTER4 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
GO_DOCKING — data · L172-L172
DATA:
GO_DOCKING TYPE REF TO CL_GUI_CONTAINER.
GO_COLUMN_TREE — data · L174-L174
DATA:
GO_COLUMN_TREE TYPE REF TO CL_GUI_COLUMN_TREE.
GO_TREE — data · L175-L175
DATA:
GO_TREE TYPE REF TO CL_GUI_ALV_TREE.
GO_TOOLBAR — data · L176-L176
DATA:
GO_TOOLBAR TYPE REF TO CL_GUI_TOOLBAR.
GO_TEXTEDIT — data · L177-L177
DATA:
GO_TEXTEDIT TYPE REF TO CL_GUI_TEXTEDIT.
GO_EVENT_RECEIVER1 — data · L179-L179
DATA:
GO_EVENT_RECEIVER1 TYPE REF TO LCL_DEF_RECEIVER.
GO_EVENT_RECEIVER2 — data · L180-L180
DATA:
GO_EVENT_RECEIVER2 TYPE REF TO LCL_DEF_RECEIVER.
GO_EVENT_RECEIVER3 — data · L181-L181
DATA:
GO_EVENT_RECEIVER3 TYPE REF TO LCL_DEF_RECEIVER.
GO_DOCKING_CONT1 — data · L183-L183
DATA : GO_DOCKING_CONT1 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
GO_DOCKING_CONT2 — data · L184-L184
DATA : GO_DOCKING_CONT2 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
GO_DOCKING_CONT3 — data · L185-L185
DATA : GO_DOCKING_CONT3 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
GO_DOCKING_CONT4 — data · L186-L186
DATA : GO_DOCKING_CONT4 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
GO_DD_DOCUMENT1 — data · L188-L188
DATA : GO_DD_DOCUMENT1 TYPE REF TO CL_DD_DOCUMENT.
GO_DD_DOCUMENT2 — data · L189-L189
DATA : GO_DD_DOCUMENT2 TYPE REF TO CL_DD_DOCUMENT.
GO_DD_DOCUMENT3 — data · L190-L190
DATA : GO_DD_DOCUMENT3 TYPE REF TO CL_DD_DOCUMENT.
GO_DD_DOCUMENT4 — data · L191-L191
DATA : GO_DD_DOCUMENT4 TYPE REF TO CL_DD_DOCUMENT.
GO_HTML_VIEW1 — data · L193-L193
DATA : GO_HTML_VIEW1 TYPE REF TO CL_GUI_HTML_VIEWER.
GO_HTML_VIEW2 — data · L194-L194
DATA : GO_HTML_VIEW2 TYPE REF TO CL_GUI_HTML_VIEWER.
GO_HTML_VIEW3 — data · L195-L195
DATA : GO_HTML_VIEW3 TYPE REF TO CL_GUI_HTML_VIEWER.
GO_HTML_VIEW4 — data · L196-L196
DATA : GO_HTML_VIEW4 TYPE REF TO CL_GUI_HTML_VIEWER.
GO_DDIC_FCAT — data · L198-L198
DATA : GO_DDIC_FCAT TYPE LVC_T_FCAT.
LCL_DEF_GRID — class · L203-L215
CLASS LCL_DEF_GRID DEFINITION INHERITING FROM CL_GUI_ALV_GRID.
PUBLIC SECTION.
METHODS : U_SET_FIXED_ROWS,
U_SET_RESIZE_COLS,
U_SCROLL_TO_BOTTOM,
U_SET_OPTIMIZE,
U_SET_CURRENT_CELL_BASE
IMPORTING
ROW TYPE I
COL TYPE I.
ENDCLASS. "LCL_DEF_GRID DEFINITION
ZCO_COMMON (132건)
BDCMSGCOLL — tables · L4-L4
TABLES: BDCMSGCOLL. " * Collecting messages in the SAP System
ALSMEX_TABLINE — tables · L5-L5
TABLES:
ALSMEX_TABLINE. " * Rows for Table with Excel Data
TBTCO — tables · L6-L6
TABLES:
TBTCO. " * Job status overview table
RFCDOC — tables · L7-L7
TABLES:
RFCDOC.
RFCDES — tables · L8-L8
TABLES:
RFCDES.
DBCON — tables · L9-L9
TABLES:
DBCON.
STXH — tables · L10-L10
TABLES:
STXH.
GSETH — type-pool · L11-L11
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
ICON — type-pool · L11-L11
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
KCDE — type-pool · L11-L11
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
SCP1 — type-pool · L11-L11
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
SLIS — type-pool · L11-L11
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
VRM — type-pool · L11-L11
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
GV_CALC_I — data · L14-L14
DATA : GV_CALC_I TYPE I. "* %
GV_PROGRESS_MSG — data · L15-L15
DATA : GV_PROGRESS_MSG(100). "* Display
GV_CALC_C0 — data · L16-L16
DATA : GV_CALC_C0(5).
GV_CALC_C1 — data · L17-L17
DATA : GV_CALC_C1(5).
GV_VALUE_SET — data · L20-L20
DATA : GV_VALUE_SET TYPE GSETH_VAL_LINE.
GT_VALUE_SET — data · L21-L21
DATA : GT_VALUE_SET TYPE GSETH_VAL_TAB.
GT_DETMSG — data · L23-L23
DATA : GT_DETMSG TYPE TABLE OF SCP1_GENERAL_ERROR.
GT_HEAMSG — data · L24-L24
DATA : GT_HEAMSG TYPE TABLE OF SCP1_GENERAL_ERROR.
GS_DOMAIN — data · L27-L31
DATA : BEGIN OF GS_DOMAIN,
DOMAIN LIKE DD07T-DOMNAME,
VALUE LIKE DD07T-DOMVALUE_L,
DDTEXT LIKE DD07T-DDTEXT,
END OF GS_DOMAIN.
GT_DOMAIN — data · L32-L32
DATA : GT_DOMAIN LIKE TABLE OF GS_DOMAIN.
T_EXCEL_EXPORT — types · L35-L37
TYPES : BEGIN OF T_EXCEL_EXPORT,
EXCEL_COL TYPE STRING,
END OF T_EXCEL_EXPORT.
GT_EXCEL_EXPORT — data · L39-L39
DATA : GT_EXCEL_EXPORT TYPE T_EXCEL_EXPORT OCCURS 0 WITH HEADER LINE.
GV_DIP_MOD — data · L43-L43
DATA : GV_DIP_MOD TYPE C.
GV_REFRESH — data · L45-L45
DATA : GV_REFRESH TYPE C.
GV_BUKRS_TXT — data · L50-L50
DATA : GV_BUKRS_TXT TYPE T001-BUTXT VALUE ''.
GV_KOKRS_TXT — data · L51-L51
DATA : GV_KOKRS_TXT TYPE TKT09-TXT VALUE ''.
GV_WAERS — data · L52-L52
DATA : GV_WAERS TYPE T001-WAERS VALUE 'KRW'.
GV_KTOPL — data · L53-L53
DATA : GV_KTOPL TYPE T001-KTOPL VALUE '1000'.
GV_SPRAS — data · L54-L54
DATA : GV_SPRAS TYPE T001-SPRAS VALUE '3'. " KO
GV_LAND1 — data · L55-L55
DATA : GV_LAND1 TYPE T001-LAND1 VALUE 'KR'.
GC_BUKRS — constants · L57-L57
CONSTANTS : GC_BUKRS TYPE T001-BUKRS VALUE 'KR01'.
GC_KOKRS — constants · L58-L58
CONSTANTS : GC_KOKRS TYPE TKA02-KOKRS VALUE 'KR01'.
GV_KOKRS_BEZEI — data · L60-L60
DATA : GV_KOKRS_BEZEI LIKE TKA01-BEZEI VALUE ''.
GS_BDC_OPTION — data · L64-L64
DATA: GS_BDC_OPTION TYPE CTU_PARAMS.
GT_BDCDATA — data · L65-L65
DATA: GT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
GT_MESSTAB — data · L66-L66
DATA: GT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
FTPOST — data · L71-L71
DATA: FTPOST LIKE FTPOST OCCURS 0 WITH HEADER LINE.
FTTAX — data · L72-L72
DATA : FTTAX LIKE FTTAX OCCURS 0 WITH HEADER LINE.
BLNTAB — data · L73-L73
DATA : BLNTAB LIKE BLNTAB OCCURS 0 WITH HEADER LINE.
GV_FTPOST_TYPE — data · L74-L74
DATA : GV_FTPOST_TYPE TYPE C.
GV_FTPOST_CNT — data · L75-L75
DATA : GV_FTPOST_CNT TYPE I.
GV_FTPOST_WAERS — data · L76-L76
DATA : GV_FTPOST_WAERS LIKE T001-WAERS.
GT_IF_MSG — data · L78-L88
DATA : BEGIN OF GT_IF_MSG OCCURS 0,
MSGID LIKE SY-MSGID,
MSGNO LIKE SY-MSGNO,
MSGTY LIKE SY-MSGTY,
MSGV1 LIKE SY-MSGV1,
MSGV2 LIKE SY-MSGV2,
MSGV3 LIKE SY-MSGV3,
MSGV4 LIKE SY-MSGV4,
SUBRC LIKE SY-SUBRC,
MESSAGE LIKE BDCMSGCOLL-MSGV1,
END OF GT_IF_MSG.
GT_EXCP_INIT_FIELD — data · L92-L94
DATA : BEGIN OF GT_EXCP_INIT_FIELD OCCURS 0,
FNAME TYPE FNAM_____4,
END OF GT_EXCP_INIT_FIELD.
MACRO_VALUE_TO_RANGE — macro · L103-L121
DEFINE MACRO_VALUE_TO_RANGE.
CLEAR : GV_VALUE_SET.
CLEAR : &1. REFRESH : &1.
LOOP AT &2 INTO GV_VALUE_SET.
&1-LOW = GV_VALUE_SET-VFROM.
&1-SIGN = 'I'.
IF GV_VALUE_SET-VFROM NE GV_VALUE_SET-VTO.
&1-OPTION = 'BT'.
&1-HIGH = GV_VALUE_SET-VTO.
ELSE.
&1-OPTION = 'EQ'.
ENDIF.
APPEND &1.
CLEAR : &1.
ENDLOOP.
CLEAR : &2. REFRESH : &2.
END-OF-DEFINITION.
ADD_RANGE_EQ — macro · L123-L129
DEFINE ADD_RANGE_EQ.
CLEAR &1.
&1-SIGN = 'I'.
&1-OPTION = 'EQ'.
&1-LOW = &2.
APPEND &1.
END-OF-DEFINITION.
ADD_RANGE_FULL — macro · L131-L138
DEFINE ADD_RANGE_FULL.
CLEAR &1.
&1-SIGN = &2.
&1-OPTION = &3.
&1-LOW = &4.
&1-HIGH = &5.
APPEND &1.
END-OF-DEFINITION.
LT_TABLE — data · unit 로컬 · L164-L164
DATA : LT_TABLE LIKE DD02L-TABNAME OCCURS 0 WITH HEADER LINE.
LT_FIELDCAT — data · unit 로컬 · L165-L165
DATA : LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
LT_ALV_CAT — data · unit 로컬 · L166-L166
DATA : LT_ALV_CAT TYPE TABLE OF LVC_S_FCAT.
L_T001 — data · unit 로컬 · L211-L211
DATA : L_T001 LIKE T001.
LT_NODE — data · unit 로컬 · L237-L237
DATA : LT_NODE TYPE GSETH_NODE_TAB.
L_CLASS — data · unit 로컬 · L238-L238
DATA : L_CLASS TYPE SETHIER-SETCLASS.
L_SETID — data · unit 로컬 · L239-L239
DATA : L_SETID TYPE SETHIER-SETID.
LT_GRPHINFO — data · unit 로컬 · L240-L240
DATA : LT_GRPHINFO TYPE GRPHINFO OCCURS 0 WITH HEADER LINE.
LS_BDCTAB — data · unit 로컬 · L311-L311
DATA : LS_BDCTAB TYPE BDCDATA.
L_NCNT1 — data · unit 로컬 · L493-L493
DATA : L_NCNT1(5) TYPE N.
L_NCNT2 — data · unit 로컬 · L494-L494
DATA : L_NCNT2(5) TYPE N.
GR_TABLE — data · unit 로컬 · L526-L526
DATA : GR_TABLE TYPE REF TO CL_SALV_TABLE.
LT_INTERN — data · unit 로컬 · L603-L603
DATA : LT_INTERN LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
<L_FS01> — field-symbol · unit 로컬 · L604-L604
FIELD-SYMBOLS : <L_FS01>.
<L_FS02> — field-symbol · unit 로컬 · L605-L605
FIELD-SYMBOLS:
<L_FS02> TYPE STANDARD TABLE.
<L_FS03> — field-symbol · unit 로컬 · L606-L606
FIELD-SYMBOLS:
<L_FS03>.
LT_FCAT — data · unit 로컬 · L762-L762
DATA : LT_FCAT TYPE TABLE OF LVC_S_FCAT.
LS_FCAT — data · unit 로컬 · L763-L763
DATA : LS_FCAT TYPE LVC_S_FCAT.
LF_DATA — data · unit 로컬 · L767-L767
DATA : LF_DATA TYPE REF TO DATA.
LL_DATA — data · unit 로컬 · L768-L768
DATA : LL_DATA TYPE REF TO DATA.
L_USR_ACT — data · unit 로컬 · L769-L769
DATA : L_USR_ACT TYPE I.
L_FILE_LEN — data · unit 로컬 · L770-L770
DATA : L_FILE_LEN TYPE I.
L_FNAME — data · unit 로컬 · L771-L771
DATA : L_FNAME TYPE STRING.
L_EXT_FILENAME — data · unit 로컬 · L772-L772
DATA : L_EXT_FILENAME TYPE STRING.
L_FULLPATH — data · unit 로컬 · L773-L773
DATA : L_FULLPATH TYPE STRING.
L_PATH — data · unit 로컬 · L774-L774
DATA : L_PATH TYPE STRING.
<FS_TABLE> — field-symbol · unit 로컬 · L776-L776
FIELD-SYMBOLS : <FS_TABLE> TYPE STANDARD TABLE.
<FS_LINE> — field-symbol · unit 로컬 · L777-L777
FIELD-SYMBOLS : <FS_LINE> TYPE ANY.
<FS_COL> — field-symbol · unit 로컬 · L778-L778
FIELD-SYMBOLS : <FS_COL> TYPE ANY.
LV_AMT — data · unit 로컬 · L933-L933
DATA : LV_AMT(20) TYPE C.
LV_EXT — data · unit 로컬 · L934-L934
DATA : LV_EXT TYPE BAPICURR-BAPICURR.
L_RESULT — data · unit 로컬 · L1106-L1106
DATA : L_RESULT TYPE ABAP_BOOL.
L_FILENM — data · unit 로컬 · L1107-L1107
DATA : L_FILENM TYPE STRING.
L_INTERNAL — data · unit 로컬 · L1147-L1147
DATA: L_INTERNAL TYPE BAPICURR-BAPICURR.
LV_NRRANG — data · unit 로컬 · L1176-L1176
DATA:
LV_NRRANG LIKE INRDP-NRRANGENR.
LV_OBJECT — data · unit 로컬 · L1177-L1177
DATA:
LV_OBJECT LIKE NRIV-OBJECT.
LV_NRRANG — data · unit 로컬 · L1219-L1219
DATA:
LV_NRRANG LIKE INRDP-NRRANGENR.
LV_OBJECT — data · unit 로컬 · L1220-L1220
DATA:
LV_OBJECT LIKE NRIV-OBJECT.
LV_YEAR — data · unit 로컬 · L1221-L1221
DATA:
LV_YEAR LIKE INRI-TOYEAR.
USER_ACTION — data · unit 로컬 · L1371-L1371
DATA:
USER_ACTION TYPE I.
RTN_CODE — data · unit 로컬 · L1372-L1372
DATA:
RTN_CODE LIKE SY-SUBRC.
LT_FILETABLE — data · unit 로컬 · L1373-L1373
DATA:
LT_FILETABLE TYPE FILETABLE.
LS_FILETABLE — data · unit 로컬 · L1374-L1374
DATA:
LS_FILETABLE TYPE FILE_TABLE.
LV_RESULT — data · unit 로컬 · L1410-L1410
DATA: LV_RESULT TYPE CHAR1.
LV_FILE — data · unit 로컬 · L1411-L1411
DATA:
LV_FILE TYPE STRING.
LT_DYNPFIELDS — data · unit 로컬 · L1622-L1622
DATA : LT_DYNPFIELDS TYPE TABLE OF DYNPREAD.
LS_DYNPFIELDS — data · unit 로컬 · L1623-L1623
DATA:
LS_DYNPFIELDS TYPE DYNPREAD.
LV_DYNAME — data · unit 로컬 · L1624-L1624
DATA:
LV_DYNAME TYPE SY-REPID.
LV_DYNUM — data · unit 로컬 · L1625-L1625
DATA:
LV_DYNUM TYPE SY-DYNNR.
<FS_FIELD> — field-symbol · unit 로컬 · L1627-L1627
FIELD-SYMBOLS <FS_FIELD> TYPE ANY.
LT_DYNPFIELDS — data · unit 로컬 · L1680-L1680
DATA : LT_DYNPFIELDS TYPE TABLE OF DYNPREAD.
LS_DYNPFIELDS — data · unit 로컬 · L1681-L1681
DATA:
LS_DYNPFIELDS TYPE DYNPREAD.
LV_DYNAME — data · unit 로컬 · L1682-L1682
DATA:
LV_DYNAME TYPE SY-REPID.
LV_DYNUM — data · unit 로컬 · L1683-L1683
DATA:
LV_DYNUM TYPE SY-DYNNR.
<FS_FIELD> — field-symbol · unit 로컬 · L1685-L1685
FIELD-SYMBOLS <FS_FIELD> TYPE ANY.
LV_TRANSFER_BIN — data · unit 로컬 · L1779-L1779
DATA : LV_TRANSFER_BIN TYPE SX_BOOLEAN.
LT_CONTENT_TXT — data · unit 로컬 · L1780-L1780
DATA:
LT_CONTENT_TXT TYPE SOLI_TAB.
LT_CONTENT_BIN — data · unit 로컬 · L1781-L1781
DATA:
LT_CONTENT_BIN TYPE SOLIX_TAB.
LT_OBJHEAD — data · unit 로컬 · L1782-L1782
DATA:
LT_OBJHEAD TYPE SOLI_TAB.
LV_LEN_IN — data · unit 로컬 · L1783-L1783
DATA:
LV_LEN_IN LIKE SOOD-OBJLEN.
LS_OTF — data · unit 로컬 · L1784-L1784
DATA:
LS_OTF TYPE SOLISTI1.
LV_BIN_FILESIZE — data · unit 로컬 · L1785-L1785
DATA:
LV_BIN_FILESIZE TYPE I.
LV_BIN_FILE — data · unit 로컬 · L1786-L1786
DATA:
LV_BIN_FILE TYPE XSTRING.
LT_LINES — data · unit 로컬 · L1787-L1787
DATA:
LT_LINES LIKE TLINE OCCURS 0 WITH HEADER LINE.
LV_FILESIZE — data · unit 로컬 · L1788-L1788
DATA : LV_FILESIZE TYPE I.
LV_FILENAME — data · unit 로컬 · L1789-L1789
DATA:
LV_FILENAME TYPE STRING.
LT_OTF — data · unit 로컬 · L1790-L1790
DATA : LT_OTF TYPE TABLE OF ITCOO WITH HEADER LINE.
LV_FILENAME — data · unit 로컬 · L1855-L1855
DATA:
LV_FILENAME TYPE STRING.
LV_PATH — data · unit 로컬 · L1856-L1856
DATA:
LV_PATH TYPE STRING.
LV_FULLPATH — data · unit 로컬 · L1857-L1857
DATA:
LV_FULLPATH TYPE STRING.
LV_DEFAULT_EXTENSION — data · unit 로컬 · L1858-L1858
DATA:
LV_DEFAULT_EXTENSION TYPE STRING.
LV_FILE_FILTER — data · unit 로컬 · L1859-L1859
DATA:
LV_FILE_FILTER TYPE STRING.
LV_INITIAL_DIRECTORY — data · unit 로컬 · L1860-L1860
DATA:
LV_INITIAL_DIRECTORY TYPE STRING.
LV_DEFAULT_FILE_NAME — data · unit 로컬 · L1861-L1861
DATA:
LV_DEFAULT_FILE_NAME TYPE STRING.
LV_USER_ACTION — data · unit 로컬 · L1864-L1864
DATA:
LV_USER_ACTION TYPE I.
— field-symbol · unit 로컬 · L1920-L1920
FIELD-SYMBOLS : <FIELD> TYPE ANY.
— field-symbol · unit 로컬 · L1921-L1921
FIELD-SYMBOLS : <ITAB> TYPE STANDARD TABLE.
— field-symbol · unit 로컬 · L1922-L1922
FIELD-SYMBOLS : <ILINE> TYPE ANY.
LV_CURR — data · unit 로컬 · L2002-L2002
DATA : LV_CURR(15) TYPE C.
LT_INTERN — data · unit 로컬 · L2198-L2198
DATA : LT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
LV_INDEX — data · unit 로컬 · L2200-L2200
DATA : LV_INDEX TYPE I.
<FS_LINE> — field-symbol · unit 로컬 · L2201-L2201
FIELD-SYMBOLS : <FS_LINE>.
ZCOC2040F01 (34건)
L_UCOMM — data · unit 로컬 · L35-L35
DATA : L_UCOMM LIKE SY-UCOMM.
LT_LOWERCASE — data · unit 로컬 · L113-L116
DATA : BEGIN OF LT_LOWERCASE OCCURS 0,
DOMNAME LIKE DD01L-DOMNAME,
LOWERCASE LIKE DD01L-LOWERCASE,
END OF LT_LOWERCASE.
<FS_UPLD_FIELD> — field-symbol · unit 로컬 · L118-L118
FIELD-SYMBOLS : <FS_UPLD_FIELD> TYPE ANY.
<FS_DATA_FIELD> — field-symbol · unit 로컬 · L119-L119
FIELD-SYMBOLS:
<FS_DATA_FIELD> TYPE ANY.
LV_CONVFUNC — data · unit 로컬 · L120-L120
DATA : LV_CONVFUNC TYPE STRING.
LF_OREF — data · unit 로컬 · L121-L121
DATA : LF_OREF TYPE REF TO CX_ROOT.
LV_TEXT — data · unit 로컬 · L122-L122
DATA : LV_TEXT TYPE STRING.
LT_CHECK — data · unit 로컬 · L215-L215
DATA : LT_CHECK LIKE GT_DATA OCCURS 0 WITH HEADER LINE.
LV_CNT — data · unit 로컬 · L216-L216
DATA : LV_CNT TYPE I.
L_EXISTS — data · unit 로컬 · L330-L330
DATA : L_EXISTS TYPE ABAP_BOOL.
L_ANSWER — data · unit 로컬 · L402-L402
DATA: L_ANSWER.
POPUP_FIELDCAT — data · unit 로컬 · L434-L434
DATA : POPUP_FIELDCAT TYPE LVC_T_FCAT.
LS_LAYO — data · unit 로컬 · L435-L435
DATA : LS_LAYO TYPE LVC_S_LAYO.
LT_POPUP — data · unit 로컬 · L436-L436
DATA : LT_POPUP LIKE GT_LOG_POP OCCURS 0 WITH HEADER LINE.
LS_FIELDCAT — data · unit 로컬 · L437-L437
DATA : LS_FIELDCAT TYPE LVC_S_FCAT.
LV_MESSAGE — data · unit 로컬 · L499-L499
DATA : LV_MESSAGE(255) TYPE C.
LV_STATUS — data · unit 로컬 · L500-L500
DATA : LV_STATUS LIKE ICON-ID.
LV_FIELD — data · unit 로컬 · L533-L533
DATA : LV_FIELD(30) TYPE C.
LV_NC — data · unit 로컬 · L534-L534
DATA : LV_NC(2) TYPE N.
<FS_VALUE> — field-symbol · unit 로컬 · L535-L535
FIELD-SYMBOLS : <FS_VALUE> TYPE ANY.
LV_SUM — data · unit 로컬 · L536-L536
DATA : LV_SUM LIKE ZCOT0160-MONTH01.
LV_STRNM — data · unit 로컬 · L619-L619
DATA : LV_STRNM LIKE DD02L-TABNAME.
LT_UPLD_FCAT — data · unit 로컬 · L620-L620
DATA : LT_UPLD_FCAT LIKE TABLE OF GS_UPLD_FCAT.
LV_FIELD1 — data · unit 로컬 · L739-L739
DATA : LV_FIELD1(30) TYPE C.
LV_FIELD2 — data · unit 로컬 · L740-L740
DATA : LV_FIELD2(30) TYPE C.
LV_NC — data · unit 로컬 · L741-L741
DATA : LV_NC(2) TYPE N.
<FS_VALUE1> — field-symbol · unit 로컬 · L743-L743
FIELD-SYMBOLS : <FS_VALUE1> TYPE ANY.
<FS_VALUE2> — field-symbol · unit 로컬 · L744-L744
FIELD-SYMBOLS : <FS_VALUE2> TYPE ANY.
LT_ZCOT0210 — data · unit 로컬 · L745-L745
DATA : LT_ZCOT0210 LIKE ZCOT0210 OCCURS 0 WITH HEADER LINE.
LS_DATA — data · unit 로컬 · L746-L746
DATA : LS_DATA LIKE GT_DATA.
LS_FIELDCAT — data · unit 로컬 · L809-L809
DATA : LS_FIELDCAT TYPE LVC_S_FCAT.
<FS_FIELD> — field-symbol · unit 로컬 · L810-L810
FIELD-SYMBOLS : <FS_FIELD> TYPE ANY.
<FS_DATA> — field-symbol · unit 로컬 · L811-L811
FIELD-SYMBOLS : <FS_DATA> LIKE GT_DATA.
LV_FIELD — data · unit 로컬 · L812-L812
DATA : LV_FIELD(30) TYPE C.
Unit 목록 (컨테이너)
| unit | 유형 | 위치 | 조각 | 한 줄 요약 |
|---|---|---|---|---|
| INITIALIZATION | EVENT | ZCOC2040 L26-32 | 0 | INITIALIZATION 이벤트에서 선택화면 초기 설정(SET_DYNP)과 엑셀 양식 다운로드 버튼 활성화(FC01_ACTIVE)를 호출한다. |
| AT SELECTION-SCREEN | EVENT | ZCOC2040 L33-35 | 0 | AT SELECTION-SCREEN에서 선택화면 기능 버튼 처리(CONTROL_FCXX)를 호출하는 이벤트다. |
| AT SELECTION-SCREEN OUTPUT | EVENT | ZCOC2040 L36-41 | 0 | AT SELECTION-SCREEN OUTPUT에서 화면 필드 속성 제어(LOOP_AT_SCREEN)를 호출하는 PBO 이벤트다. |
| AT SELECTION-SCREEN ON VALUE-REQUEST | EVENT | ZCOC2040 L42-47 | 0 | 업로드 파일명(P_FNAME)의 F4 검색도움으로 F4_FNAME(파일 선택 다이얼로그)을 호출하는 이벤트다. |
| START-OF-SELECTION | EVENT | ZCOC2040 L48-55 | 1 | 입력 검증(CHECK_INPUT) → 초기화(INITIALIZE_DATA) → 엑셀 읽기·검증(PROCESS_DATA) 순으로 메인 처리를 호출하는 START-OF-SELECTION 이벤트이다. |
| END-OF-SELECTION | EVENT | ZCOC2040 L56-67 | 1 | 온라인 실행 시 검증된 업로드 데이터(GT_DATA)가 있으면 화면 100(ALV)을 호출하고 없으면 메시지를 내는 END-OF-SELECTION 이벤트이다. |
| LCL_DEF_RECEIVER~HANDLE_TOP_OF_PAGE | METHOD | ZCOC2040C01 L63-65 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_TOOLBAR | METHOD | ZCOC2040C01 L67-71 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_USER_COMMAND | METHOD | ZCOC2040C01 L73-77 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED | METHOD | ZCOC2040C01 L79-83 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED_FINISHED | METHOD | ZCOC2040C01 L85-89 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_HOTSPOT_CLICK | METHOD | ZCOC2040C01 L91-95 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_DOUBLE_CLICK | METHOD | ZCOC2040C01 L97-101 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_ON_F4 | METHOD | ZCOC2040C01 L103-111 | 0 | |
| LCL_DEF_RECEIVER~HANDLE_CONTEXT_MENU_REQ | METHOD | ZCOC2040C01 L113-115 | 0 | |
| TOOBAR_PART | FORM | ZCOC2040C01 L123-127 | 0 | |
| USER_COMMAND_PART | FORM | ZCOC2040C01 L135-141 | 0 | |
| DATA_CHANGED | FORM | ZCOC2040C01 L149-151 | 0 | |
| F_OUT_MESSAGE_PROC | FORM | ZCOC2040C01 L160-176 | 0 | |
| DATA_CHANGED_FINISHED | FORM | ZCOC2040C01 L185-188 | 0 | |
| HOTSPOT_CLICK | FORM | ZCOC2040C01 L197-200 | 0 | |
| DOUBLE_CLICK | FORM | ZCOC2040C01 L210-216 | 0 | |
| ON_F4 | FORM | ZCOC2040C01 L230-246 | 0 | |
| ON_F4_100 | FORM | ZCOC2040C01 L260-278 | 0 | |
| DISPLAY_ALV_LIST | FORM | ZCOC2040C01 L288-358 | 0 | |
| SET_FCAT_DDIC_X01 | FORM | ZCOC2040C01 L368-433 | 0 | |
| FILL_FIELD_CATALOGS | FORM | ZCOC2040C01 L445-463 | 0 | |
| FILL_FCAT | FORM | ZCOC2040C01 L477-558 | 0 | |
| GET_LIKEITAB_FACT | FORM | ZCOC2040C01 L569-619 | 0 | |
| SET_TOP_OF_PAGE | FORM | ZCOC2040C01 L631-690 | 0 | |
| SET_TOP_OF_PAGE_TEXT | FORM | ZCOC2040C01 L700-710 | 0 | |
| HANDLE_TOP_OF_PAGE | FORM | ZCOC2040C01 L719-724 | 0 | |
| LOOP_AT_SCREEN | FORM | ZCOC2040F01 L6-15 | 0 | 선택화면에서 MG1 그룹 필드(관리회계영역 명칭 등)를 입력 불가로 만드는 LOOP AT SCREEN 화면 제어 루틴이다. |
| SET_DYNP | FORM | ZCOC2040F01 L22-25 | 0 | INITIALIZATION 시 SET_KOKRS_BASE로 관리회계영역 기본정보를 읽어 선택화면에 관리회계영역 명칭(P_BEZEI)을 표시하는 초기 설정 루틴이다. |
| CONTROL_FCXX | FORM | ZCOC2040F01 L34-45 | 1 | 선택화면 기능 버튼 FC01(엑셀 양식 다운로드)이 눌리면 Z_CO_OPEN_SMW0로 SMW0에 등록된 업로드 엑셀 양식(GC_SMW0)을 여는 처리다. |
| CHECK_INPUT | FORM | ZCOC2040F01 L54-61 | 1 | 선택화면의 업로드 파일명(P_FNAME) 입력 여부를 검사해 없으면 오류 메시지로 중단하는 FORM이다. |
| INITIALIZE_DATA | FORM | ZCOC2040F01 L67-82 | 1 | 관리회계영역 기준 정보(SET_KOKRS_BASE)와 메인 ALV 필드카탈로그를 취득하고 업로드/저장 상태 변수를 초기화한다. |
| PROCESS_DATA | FORM | ZCOC2040F01 L88-91 | 0 | 특성 마스터 적재(SET_CHARACTER_MASTER)와 엑셀 읽기·검증(READ_DATA)을 호출하는 메인 처리 서브루틴이다. |
| FC01_ACTIVE | FORM | ZCOC2040F01 L100-103 | 0 | 선택화면 기능키 01에 엑셀 양식 다운로드 버튼(ICON_XXL)을 SET_BTN_1000으로 활성화하는 화면 설정 루틴이다. |
| TRANSFER_GT_DATA | FORM | ZCOC2040F01 L112-204 | 2 | 동적 엑셀 수신 테이블 <GF_UPLOADT>의 문자값을 업로드 구조 필드카탈로그(GT_UPLD_FCAT)에 따라 대문자 변환·CONVERSION_EXIT·숫자/날짜 형식 변환을 거쳐 GT_DATA 구조로 이전한다. |
| VALIDATION_CHECK | FORM | ZCOC2040F01 L214-322 | 3 | 업로드된 GT_DATA 각 행의 구분값(매출원가/장려금/수수료), 품목(중) 코드 입력 및 T2505 존재 여부, 품목+구분 중복을 검증해 오류 행에 빨간 상태·메시지를 남기고 업로드 오류 플래그를 세운다. |
| UPLOAD_EXCEL_DATA | FORM | ZCOC2040F01 L329-347 | 1 | 업로드 파일 존재를 확인한 뒤 UPLOAD_DATA로 엑셀 2행부터 전체 범위를 GT_UPLOAD에 적재하는 FORM이다. |
| READ_DATA | FORM | ZCOC2040F01 L356-379 | 1 | 동적 업로드 테이블 생성, 엑셀 읽기, GT_DATA 이전, 검증, 편집·통화 변환까지 업로드 처리 흐름을 순서대로 호출한다. |
| SET_ERROR_FIELD_RED | FORM | ZCOC2040F01 L387-395 | 0 | 검증 오류가 난 필드명을 LVC_S_SCOL 색상 6(빨강)으로 GT_DATA-F_COL에 추가해 ALV 셀을 빨간색으로 강조하는 보조 루틴이다. |
| EXECUTE_SAVE | FORM | ZCOC2040F01 L401-425 | 1 | 중복 저장을 막고 '매출원가계획을 입력하시겠습니까?' 확인 팝업 후 PERFORM_SAVE로 ZCOT0200 저장을 실행한다. |
| SHOW_ERROR_LOG | FORM | ZCOC2040F01 L433-488 | 1 | ALV에서 선택한 행의 검증 메시지 목록(MSG_LIST)을 상태·메시지 컬럼의 팝업 ALV Grid(W_POPUP_GRID)로 표시한다. |
| ADD_DATA_MESSAGE | FORM | ZCOC2040F01 L497-523 | 1 | 검증 결과 메시지를 값과 함께 조합하고 상태(S/E/W)에 따른 신호등 아이콘을 붙여 현재 GT_DATA 행의 메시지 목록(MSG_LIST)에 추가한다. |
| EDIT_DATA | FORM | ZCOC2040F01 L532-610 | 2 | 업로드된 GT_DATA에 구분 텍스트 첫 글자로 원가구분(COST_GUBUN 10/20/30)을 부여하고 구분별 월 합계를 COLLECT하며 품목(중) 명칭을 붙인 뒤, 행별 12개월 합계와 구분별 총합계를 계산한다. |
| CREATE_UPLOAD_TABLE | FORM | ZCOC2040F01 L618-664 | 1 | 업로드 구조(ZCOS0180)의 필드카탈로그를 LVC_FIELDCATALOG_MERGE 로 얻어 모든 필드를 CHAR 로 바꾼 뒤 CL_ALV_TABLE_CREATE 로 동적 업로드 테이블을 생성한다. |
| SET_CHARACTER_MASTER | FORM | ZCOC2040F01 L673-729 | 3 | 판매조직·품목 계층 마스터(T2500~T2508), 하이마트 CO 특성 마스터(ZCOT0080/ZCOT0090/ZCOT0110)와 관리회계영역의 회사코드(TKA02)를 내부테이블로 적재해 검증·명칭 보강에 사용한다. |
| PERFORM_SAVE | FORM | ZCOC2040F01 L738-799 | 2 | 검증을 통과한 업로드 데이터(GT_DATA)의 월별 금액을 천원에서 원 단위로 환산해 ZCOT0210 구조로 만든 뒤 해당 관리회계영역·연도의 기존 계획을 삭제하고 새로 저장하며 결과 상태를 표시한다. |
| CONVERT_KRW_DATA | FORM | ZCOC2040F01 L808-828 | 1 | 필드카탈로그에서 통화(CURR) 타입 필드를 찾아 GT_DATA 각 행의 금액을 CONV_DB_WAERS로 내부 통화형식으로 변환한다. |
| USER_COMMAND_0100 INPUT | MODULE | ZCOC2040I01 L6-30 | 1 | 화면 0100의 사용자 명령(BACK/EXIT 종료, &SAVE 매출 계획 저장)을 받아 해당 FORM으로 분기하는 PAI 모듈이다. |
| STATUS_0100 OUTPUT | MODULE | ZCOC2040O01 L6-24 | 0 | |
| CREATE_AND_INIT_CONTROLS_0100 OUTPUT | MODULE | ZCOC2040O01 L30-74 | 0 | |
| CREATE_CUSTOM_OBJECT_0100 | FORM | ZCOC2040O01 L84-128 | 0 | |
| SET_ALV_LAYOUT_0100 | FORM | ZCOC2040O01 L136-148 | 0 | |
| SET_ALV_LAYOUT_POP | FORM | ZCOC2040O01 L156-163 | 0 | |
| SET_ALV_TOOLBAR_0100 | FORM | ZCOC2040O01 L171-184 | 0 | |
| SET_ALV_EVENT_REGISTER_0100 | FORM | ZCOC2040O01 L193-216 | 0 | |
| SET_TOP_OF_PAGE_TEXT_0100 | FORM | ZCOC2040O01 L225-243 | 0 | |
| SET_FCAT_LIKETAB_0100 | FORM | ZCOC2040O01 L253-338 | 0 | |
| SET_ALV_SORT_0100 | FORM | ZCOC2040O01 L346-373 | 0 | |
| SET_HTML_TOP_OF_PAGE | FORM | ZCOC2040O01 L382-629 | 0 | |
| LCL_DEF_GRID~U_SET_FIXED_ROWS | METHOD | ZCO_ALV L222-226 | 0 | |
| LCL_DEF_GRID~U_SET_RESIZE_COLS | METHOD | ZCO_ALV L228-232 | 0 | |
| LCL_DEF_GRID~U_SCROLL_TO_BOTTOM | METHOD | ZCO_ALV L234-236 | 0 | |
| LCL_DEF_GRID~U_SET_CURRENT_CELL_BASE | METHOD | ZCO_ALV L238-243 | 0 | |
| LCL_DEF_GRID~U_SET_OPTIMIZE | METHOD | ZCO_ALV L245-249 | 0 | |
| CLEAR_CONTAINER_PROC | FORM | ZCO_ALV L263-311 | 0 | |
| UCOMM_PROC | FORM | ZCO_ALV L320-343 | 0 | |
| GET_SELECTED_ROW | FORM | ZCO_ALV L352-361 | 0 | |
| GET_SELECTED_ROW2 | FORM | ZCO_ALV L370-398 | 0 | |
| REFRESH_CONTAINER | FORM | ZCO_ALV L407-437 | 0 | |
| APPEND_EXCLUDE_FUNCTIONS | FORM | ZCO_ALV L446-454 | 0 | |
| REGISTER_ALV_EVENT | FORM | ZCO_ALV L463-466 | 0 | |
| CHECK_SORT_PARAMETER | FORM | ZCO_ALV L473-494 | 0 | |
| ADD_EXCP_FIELD_WHEN_INITIAL | FORM | ZCO_COMMON L146-151 | 0 | |
| GET_FCAT_LIKE_ITAB | FORM | ZCO_COMMON L160-201 | 1 | 프로그램 내부테이블 이름으로 REUSE_ALV_FIELDCATALOG_MERGE→LVC 변환→LVC_FIELDCAT_COMPLETE를 거쳐 LVC 필드카탈로그를 생성하는 공통 FORM이다. |
| SET_COMPANY_BASE | FORM | ZCO_COMMON L210-227 | 1 | 회사코드로 T001을 읽어 통화·계정과목표·언어·회사명·국가 전역변수를 설정하는 공통 FORM이다. |
| GET_SETLEAF_VALUES | FORM | ZCO_COMMON L233-297 | 1 | 세트 클래스(코스트센터 그룹/원가요소 그룹 등)와 세트명으로 SETID를 구성해 K_HIERARCHY_TABLES_READ로 세트의 값 목록을 GT_VALUE_SET에 읽어오는 공통 FORM이다. |
| DYNPRO | FORM | ZCO_COMMON L309-335 | 1 | BDCDATA 한 줄(화면 시작 또는 필드/값)을 생성해 BDC 테이블에 추가하되, 예외 등록 필드가 초기값이면 건너뛰는 공통 FORM이다. |
| SET_BDC_OPTION | FORM | ZCO_COMMON L349-366 | 0 | |
| ZERO_O | FORM | ZCO_COMMON L375-381 | 0 | |
| ZERO_I | FORM | ZCO_COMMON L390-396 | 0 | |
| F4_DATE_FORMAT_YYYYMM | FORM | ZCO_COMMON L405-421 | 0 | |
| F4_DATE_FORMAT_YYYYMMDD | FORM | ZCO_COMMON L430-436 | 0 | |
| DATE_CHK | FORM | ZCO_COMMON L446-455 | 1 | DATE_CHECK_PLAUSIBILITY로 날짜의 유효성을 검사해 결과 코드를 돌려주는 공통 FORM이다. |
| BAR_MSG | FORM | ZCO_COMMON L465-470 | 0 | |
| BAR_MSG_PER | FORM | ZCO_COMMON L492-516 | 1 | 처리 건수 비율(%)을 계산해 SAPGUI_PROGRESS_INDICATOR로 진행률 메시지를 표시하는 공통 FORM이다. |
| DISPLAY_SPOOL_BY_SALV | FORM | ZCO_COMMON L525-535 | 1 | CL_SALV_TABLE=>FACTORY로 전달받은 내부테이블을 SALV(ALV) 리스트로 표시하는 공통 FORM(배치 스풀 출력용)이다. |
| SET_MINUS_FRONT | FORM | ZCO_COMMON L544-550 | 0 | |
| F4_FNAME | FORM | ZCO_COMMON L558-581 | 0 | |
| UPLOAD_DATA | FORM | ZCO_COMMON L595-652 | 2 | 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 동적으로 지정된 내부테이블·구조체에 행/열 단위로 적재하는 공통 업로드 FORM이다. |
| BDC_DATE | FORM | ZCO_COMMON L661-667 | 0 | |
| BDC_CURR | FORM | ZCO_COMMON L676-680 | 0 | |
| BDC_CHECKBOX | FORM | ZCO_COMMON L689-691 | 0 | |
| BUILD_MESSAGE | FORM | ZCO_COMMON L701-722 | 1 | BDC 메시지(BDCMSGCOLL)를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다. |
| BUILD_MESSAGE_BAPI | FORM | ZCO_COMMON L732-753 | 1 | BAPIRET2 메시지를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다. |
| EXCEL_FORM_DOWNLOAD | FORM | ZCO_COMMON L760-890 | 2 | 엑셀 컬럼 제목 목록으로 동적 테이블을 만들어 헤더 1행만 담은 업로드 양식(xls)을 저장 대화상자를 통해 PC에 다운로드하는 공통 FORM이다. |
| CONVERT_CURRENCY | FORM | ZCO_COMMON L903-922 | 1 | 전기일 환율로 외화 금액을 현지통화 금액으로 CONVERT_TO_LOCAL_CURRENCY를 이용해 환산하는 공통 FORM이다. |
| CONVERT_CHAR_TO_AMT | FORM | ZCO_COMMON L932-959 | 1 | 콤마가 포함된 문자형 금액을 콤마 제거 후 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화 내부 금액으로 변환하는 공통 FORM이다. |
| F4IF_INT_TABLE_VALUE_REQUEST | FORM | ZCO_COMMON L971-999 | 0 | |
| POPUP_TO_CONFIRM_02 | FORM | ZCO_COMMON L1010-1023 | 1 | POPUP_TO_CONFIRM_STEP으로 두 줄 질문의 확인 팝업(J/N/A)을 띄워 응답을 돌려주는 공통 FORM이다. |
| POPUP_TO_CONFIRM | FORM | ZCO_COMMON L1035-1060 | 1 | POPUP_TO_CONFIRM으로 Yes/No 확인 팝업을 띄워 사용자 응답을 돌려주는 공통 FORM이다. |
| GET_LAST_DAY | FORM | ZCO_COMMON L1069-1078 | 1 | RP_LAST_DAY_OF_MONTHS로 주어진 날짜가 속한 월의 마지막 날을 구하는 공통 FORM이다. |
| SET_DSMOD | FORM | ZCO_COMMON L1086-1095 | 1 | BDC 처리 모드 입력값이 A/E/N 중 하나인지 검사하고 아니면 오류 메시지로 중단하는 공통 FORM이다. |
| FILE_EXISTS | FORM | ZCO_COMMON L1104-1135 | 1 | CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 프론트엔드 파일 존재 여부를 확인해 참/거짓을 돌려주는 공통 FORM이다. |
| AMT_CONV_TO_INTERNAL | FORM | ZCO_COMMON L1144-1161 | 1 | 외부 형식 금액을 통화별 소수점에 맞는 SAP 내부 금액으로 BAPI_CURRENCY_CONV_TO_INTERNAL로 변환하는 공통 FORM이다. |
| GET_NEXT_NUMBER | FORM | ZCO_COMMON L1172-1203 | 1 | 번호범위 객체·구간으로 NUMBER_GET_NEXT를 호출해 다음 채번 번호를 가져오는 공통 FORM이다. |
| GET_NEXT_NUMBER_YEAR | FORM | ZCO_COMMON L1215-1254 | 1 | 번호범위 객체·구간·연도로 NUMBER_GET_NEXT를 호출해 연도별 다음 채번 번호를 가져오는 공통 FORM이다. |
| GET_VALUE_LIST_DOM | FORM | ZCO_COMMON L1263-1278 | 1 | 도메인 고정값과 텍스트를 DD07T에서 읽어 전달받은 테이블에 채우는 공통 FORM(F4/드롭다운용)이다. |
| GET_DOM_TEXT_LIST | FORM | ZCO_COMMON L1287-1298 | 1 | 도메인 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 누적하는 공통 FORM이다. |
| MD_CONVER_MAT_UNIT | FORM | ZCO_COMMON L1311-1341 | 1 | 자재의 수량을 입력 단위에서 출력 단위로 MD_CONVERT_MATERIAL_UNIT을 이용해 환산하는 공통 FORM이다. |
| SHOW_MESSAGE_LIST | FORM | ZCO_COMMON L1349-1359 | 1 | 누적된 헤더/상세 메시지 테이블(GT_HEAMSG/GT_DETMSG)을 SCPR_SV_SHOW_MESSAGE_LIST로 팝업 표시하는 공통 FORM이다. |
| GET_FILE_PATH | FORM | ZCO_COMMON L1368-1399 | 1 | 파일 열기 대화상자(FILE_OPEN_DIALOG)로 업로드할 XLS 파일을 선택받아 파일 경로를 반환하는 공통 FORM이다. |
| CHK_FILE_PATH | FORM | ZCO_COMMON L1408-1433 | 1 | CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 업로드 파일 경로의 존재를 확인하고 없으면 메시지 후 처리를 중단하는 공통 FORM이다. |
| SET_BUTTON_100 | FORM | ZCO_COMMON L1444-1466 | 0 | |
| BDC_CREATE_AENNR | FORM | ZCO_COMMON L1545-1612 | 2 | 변경번호(AENNR) 존재 여부를 AENR에서 확인한 뒤 없으면 BDC로 CC01(변경마스터 생성)을 실행하고 결과 메시지를 반환하는 공통 FORM이다. |
| GET_DYNP_VALUES_READ | FORM | ZCO_COMMON L1620-1669 | 1 | DYNP_VALUES_READ로 현재 화면의 필드 값을 읽어 같은 이름의 프로그램 변수에 넣는 공통 FORM이다. |
| SET_DYNP_VALUES | FORM | ZCO_COMMON L1678-1719 | 1 | 프로그램 변수 값을 DYNP_VALUES_UPDATE로 현재 화면 필드에 반영하는 공통 FORM이다. |
| AUTHORITY_CHECK_TCODE | FORM | ZCO_COMMON L1725-1738 | 1 | S_TCODE 권한 객체로 현재 T-Code 실행 권한을 검사하고 T-Code 끝자리가 1이면 조회 모드(GV_DIP_MOD)로 설정하는 공통 FORM이다. |
| SET_BTN_1000 | FORM | ZCO_COMMON L1748-1768 | 0 | |
| F_PDF_DOWNLOAD | FORM | ZCO_COMMON L1777-1842 | 2 | Smart Forms 출력 결과(OTF)를 PDF로 변환하고 저장 대화상자를 거쳐 PC에 다운로드하는 공통 FORM이다. |
| OPEN_SAVE_FILE_SEL | FORM | ZCO_COMMON L1851-1907 | 1 | 파일 저장 대화상자(FILE_SAVE_DIALOG)를 열어 사용자가 지정한 저장 파일명을 돌려주는 공통 FORM이다. |
| ALSMEX_TAB_TO_ITAB | FORM | ZCO_COMMON L1917-1945 | 1 | ALSM_EXCEL_TO_INTERNAL_TABLE 결과(ALSMEX_TABLINE)를 동적으로 지정한 내부테이블·구조체에 행/열 매핑하여 적재하는 공통 FORM이다. |
| START_INTERFACE_BDC | FORM | ZCO_COMMON L1953-1973 | 1 | FTPOST 작업 테이블을 초기화하고 POSTING_INTERFACE_START로 FI Posting Interface(Call Transaction 방식)를 시작하는 공통 FORM이다. |
| END_INTERFACE_BDC | FORM | ZCO_COMMON L1980-1990 | 1 | POSTING_INTERFACE_END를 호출해 FI Posting Interface 세션을 종료하고 FTPOST/FTTAX/BLNTAB 작업 테이블을 초기화하는 공통 FORM이다. |
| FILL_FIELD | FORM | ZCO_COMMON L2000-2023 | 1 | Posting Interface(FTPOST)용 필드명·값을 한 건 채우며 금액 필드는 통화 형식으로 편집하여 FTPOST 테이블에 추가하는 공통 FORM이다. |
| BUILD_MESSGE_IF | FORM | ZCO_COMMON L2032-2047 | 1 | 인터페이스 메시지 구조(MSGID/MSGNO/MSGV1~4)를 MESSAGE_TEXT_BUILD로 메시지 텍스트로 조립하는 공통 FORM이다. |
| GET_POST_PERIOD | FORM | ZCO_COMMON L2057-2084 | 1 | 회사코드와 전기일로 FI_PERIOD_DETERMINE을 호출해 회계연도·전기기간을 구하고 실패 시 날짜에서 직접 추출하는 공통 FORM이다. |
| SET_KOKRS_BASE | FORM | ZCO_COMMON L2094-2101 | 1 | TKA01에서 관리회계영역의 명칭·통화·계정과목표를 읽어 전역변수에 설정하는 공통 FORM이다. |
| CONV_DB_WAERS | FORM | ZCO_COMMON L2109-2116 | 1 | CURRENCY_AMOUNT_IDOC_TO_SAP로 외부(IDoc) 형식 금액을 통화 소수점에 맞는 SAP 내부 금액으로 변환하는 공통 FORM이다. |
| CONV_VIEW_WAERS | FORM | ZCO_COMMON L2126-2134 | 1 | CURRENCY_AMOUNT_SAP_TO_IDOC로 SAP 내부 금액을 통화 소수점에 맞는 외부(IDoc) 형식 문자열로 변환하는 공통 FORM이다. |
| CONVERT_1000_U | FORM | ZCO_COMMON L2143-2146 | 0 | |
| CONVERT_1000_D | FORM | ZCO_COMMON L2155-2158 | 0 | |
| GET_VERSN_TEXT | FORM | ZCO_COMMON L2168-2177 | 1 | TKT09에서 관리회계영역·버전의 계획 버전 텍스트를 로그온 언어로 읽는 공통 FORM이다. |
| UPLOAD_XLS_STRUCT | FORM | ZCO_COMMON L2191-2245 | 2 | 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 행/열 단위 값을 구조체 컴포넌트에 매핑해 내부테이블로 적재하는 공통 업로드 FORM이다. |