Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
5126 lines
209 KiB
Markdown
5126 lines
209 KiB
Markdown
---
|
|
type: abap-program
|
|
title: "ZCOC0050 — 예산 조정(추경)"
|
|
description: "코스트센터(부서)·원가요소별 추경 금액(천원 단위, 양수만)과 헤더 텍스트를 엑셀로 업로드하여 관리회계영역 KR01의 추경 버전 B11에 해당 월(P_PERBL)의 1차 원가 계획으로 추가 전기하는 예산 조정(추경) 프로그램이다. CSKS/CSKT·CSKB/CSKU로 코스트센터·원가요소 존재 여부와 금액(0 또는 음수 불가)을 검증해 ALV로 보여주고, 추경 확인 시 라인별로 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')를 호출하며 성공 건은 예산조정 이력 테이블 ZCOT0020(BGTYPE '10' 추경)에 기록한다. ZCOC0040 예산조정 메뉴에서 호출된다."
|
|
resource: "abap://ZCOC0050"
|
|
tags: ["예산관리", "예산 조정", "추경", "코스트센터 계획", "예산조정 이력", "엑셀 업로드", "CO-OM-CCA", "기능코드 분기", "추경 전기", "예산 리포트 호출", "예산조정 로그", "잠금 해제", "예산조정 이력 조회", "트랜잭션 호출", "예산 리포트 조회", "순번 채번", "추경 로그", "코스트센터", "원가요소", "추경 금액"]
|
|
generated: { by: "abap-indexing/z-ai/glm-5.2:free", at: "2026-09-20T15:36:11+00:00" }
|
|
status: stable
|
|
x-package:
|
|
x-changed-on:
|
|
x-tables-read: ["AENR", "CSKB", "CSKS", "CSKT", "CSKU", "DD01L", "DD07T", "T001", "TKA01", "TKT09"]
|
|
x-tables-write: ["GT_DATA", "ZCOT0020"]
|
|
x-calls: ["ALSM_EXCEL_TO_INTERNAL_TABLE", "BAPI_COSTACTPLN_POSTPRIMCOST", "BAPI_CURRENCY_CONV_TO_INTERNAL", "BAPI_TRANSACTION_COMMIT", "BAPI_TRANSACTION_ROLLBACK", "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", "DEQUEUE_EZ_ZCOT0020", "DYNP_VALUES_READ", "DYNP_VALUES_UPDATE", "ENQUEUE_EZ_ZCOT0020", "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", "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", "REUSE_ALV_FIELDCATALOG_MERGE", "REUSE_ALV_GRID_COMMENTARY_SET", "RP_LAST_DAY_OF_MONTHS", "SAPGUI_PROGRESS_INDICATOR", "SCPR_SV_SHOW_MESSAGE_LIST", "STRING_REPLACE"]
|
|
x-code-hash: "fa23ad6bcec98a7c3893ca7578ef5758b9a46ac53da6b08943c6bdba2a357874"
|
|
x-unit-count: 149
|
|
x-chunk-count: 75
|
|
x-declaration-count: 207
|
|
---
|
|
|
|
## 업무 목적
|
|
|
|
코스트센터(부서)·원가요소별 추경 금액(천원 단위, 양수만)과 헤더 텍스트를 엑셀로 업로드하여 관리회계영역 KR01의 추경 버전 B11에 해당 월(P_PERBL)의 1차 원가 계획으로 추가 전기하는 예산 조정(추경) 프로그램이다. CSKS/CSKT·CSKB/CSKU로 코스트센터·원가요소 존재 여부와 금액(0 또는 음수 불가)을 검증해 ALV로 보여주고, 추경 확인 시 라인별로 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')를 호출하며 성공 건은 예산조정 이력 테이블 ZCOT0020(BGTYPE '10' 추경)에 기록한다. ZCOC0040 예산조정 메뉴에서 호출된다.
|
|
|
|
## 주 흐름
|
|
|
|
1. 관리회계영역 텍스트를 조회하고 엑셀 양식 다운로드 버튼(FC01)을 설정한다 (SET_DYNP, FC01_ACTIVE)
|
|
2. 양식 다운로드 버튼 클릭 시 SMW0 문서 ZCOC0050을 열어 업로드 양식을 제공한다 (CONTROL_FCXX)
|
|
3. 업로드 파일 입력 여부를 확인하고 필드카탈로그·상태 변수를 초기화한 뒤 ZCOT0020 잠금을 설정한다 (CHECK_INPUT, INITIALIZE_DATA, ENQUEUE_ZCOT0020)
|
|
4. 엑셀 파일을 읽어 GT_UPLOAD에 적재하고 숫자 형식 정리·대문자 변환 후 GT_DATA로 이전하며 금액을 1000배·내부형식으로 변환한다 (PROCESS_DATA, READ_DATA, UPLOAD_EXCEL_DATA, SET_BDC_FORM, TRANSFER_GT_DATA, CONVERT_KRW_DATA)
|
|
5. CSKS/CSKT, CSKB/CSKU에서 코스트센터·원가요소 존재를 확인하고 금액 0 또는 음수 라인을 오류 표시한다 (VALIDATION_CHECK, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE)
|
|
6. 코스트센터명·원가요소명을 보완하여 화면 100 ALV Grid로 표시한다 (EDIT_DATA, DISPLAY_ALV_LIST)
|
|
7. 추경(&POST) 확인 후 라인별로 BAPI_COSTACTPLN_POSTPRIMCOST를 호출하여 버전 B11에 전기하고 COMMIT/ROLLBACK 결과를 상태로 기록한다 (EXECUTE_BAPI, BAPI_POST_SENDER, FILL_TABLES)
|
|
8. 성공 라인을 ZCOT0020 예산조정 이력에 저장하고, 툴바에서 예산 현황(ZCOR0030)·조정 이력(ZCOR0040) 조회 트랜잭션을 호출할 수 있다 (INSERT_LOG, CALL_BG_REPORT, CALL_BG_ADJ_LOG)
|
|
|
|
## 핵심 내부테이블
|
|
|
|
- `GT_UPLOAD` — 엑셀 원본 행 (KOSTL, KSTAR, WKG001 추경금액, BLTXT 헤더텍스트) (채움: UPLOAD_EXCEL_DATA, UPLOAD_DATA / 소비: SET_BDC_FORM, TRANSFER_GT_DATA)
|
|
- `GT_DATA` — 추경 대상 메인 ALV 테이블 (KOSTL/명, KSTAR/명, WKG001, BLTXT, TWAER, BAPI_RESULT, STATUS, MESSAGE) (채움: TRANSFER_GT_DATA, VALIDATION_CHECK, EDIT_DATA, BAPI_POST_SENDER / 소비: DISPLAY_ALV_LIST, FILL_TABLES, INSERT_LOG, SHOW_LOG_POP)
|
|
- `GT_KOSTL` — 유효 코스트센터·명칭 (CSKS JOIN CSKT) (채움: VALIDATION_CHECK / 소비: VALIDATION_CHECK, EDIT_DATA)
|
|
- `GT_KSTAR` — 유효 원가요소·명칭 (CSKB JOIN CSKU) (채움: VALIDATION_CHECK / 소비: VALIDATION_CHECK, EDIT_DATA)
|
|
|
|
## 테이블 / 외부 호출
|
|
|
|
- read: AENR, CSKB, CSKS, CSKT, CSKU, DD01L, DD07T, T001, TKA01, TKT09
|
|
- write: GT_DATA, ZCOT0020
|
|
- 외부 호출: ALSM_EXCEL_TO_INTERNAL_TABLE, BAPI_COSTACTPLN_POSTPRIMCOST, BAPI_CURRENCY_CONV_TO_INTERNAL, BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, 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, DEQUEUE_EZ_ZCOT0020, DYNP_VALUES_READ, DYNP_VALUES_UPDATE, ENQUEUE_EZ_ZCOT0020, 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, MD_CONVERT_MATERIAL_UNIT, MESSAGE_TEXT_BUILD, NUMBER_GET_NEXT, POPUP_TO_CONFIRM
|
|
|
|
## 로직 조각 (75건 / unit 65개)
|
|
|
|
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에 저장해 이후 검증·금액 변환의 기준으로 쓴다.
|
|
|
|
```abap
|
|
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](/tables/TKA01.md) / write -
|
|
- SAP 객체: TKA01
|
|
- 업무 키워드: 관리회계영역 기본정보, 통화, 계정과목표
|
|
- English: Controlling Area, TKA01, Chart of Accounts, Currency
|
|
- 정의부(복사 시 함께 필요): [`GV_KOKRS_BEZEI`](#decl-zco_common-60-gv_kokrs_bezei), [`GV_WAERS`](#decl-zco_common-52-gv_waers), [`GV_KTOPL`](#decl-zco_common-53-gv_ktopl), [`P_KOKRS`](#decl-zcoc0050top-104-p_kokrs)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L2096-L2099` · confidence 0.95 · `ZCOC0050#ZCO_COMMON#FORM#SET_KOKRS_BASE#C1`
|
|
|
|
### FORM CONTROL_FCXX — `ZCOC0050F01` L111-L123 (13줄)
|
|
|
|
*선택화면 버튼 FC01 클릭 시 Z_CO_OPEN_SMW0으로 SMW0 문서(추경 업로드 엑셀 양식)를 연다.*
|
|
|
|
> 이 unit 의 조각 1개가 7/13줄(54%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [fm_call] 선택화면 기능코드 FC01(엑셀 양식 다운로드)이면 Z_CO_OPEN_SMW0으로 SMW0에 등록된 문서 GC_SMW0을 '예산 조정 - 추경 Upload 양식' 제목으로 열어 업로드 양식을 제공한다.
|
|
|
|
```abap
|
|
115| CASE L_UCOMM.
|
|
116| WHEN 'FC01'.
|
|
117| CALL FUNCTION 'Z_CO_OPEN_SMW0'
|
|
118| EXPORTING
|
|
119| P_DOCNAM = GC_SMW0
|
|
120| P_TITLE = '예산 조정 - 추경 Upload 양식'(F03).
|
|
121| ENDCASE.
|
|
```
|
|
|
|
- **EN**: On selection-screen function code FC01 call Z_CO_OPEN_SMW0 to open the SMW0 web repository document with the supplementary budget upload template.
|
|
- 호출(파서): Z_CO_OPEN_SMW0
|
|
- SAP 객체: Z_CO_OPEN_SMW0, SMW0
|
|
- 업무 키워드: 엑셀 양식 다운로드, 업로드 양식, SMW0 문서
|
|
- English: Excel Template, Web Repository, SMW0
|
|
- 정의부(복사 시 함께 필요): [`L_UCOMM`](#decl-zcoc0050f01-112-l_ucomm), [`GC_SMW0`](#decl-zcoc0050top-31-gc_smw0)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L115-L121` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#CONTROL_FCXX#C1`
|
|
|
|
### EVENT START-OF-SELECTION — `ZCOC0050` L47-L58 (12줄)
|
|
|
|
*입력 검증, 초기화, ZCOT0020 잠금 설정, 엑셀 업로드 처리(PROCESS_DATA)를 순서대로 수행하는 메인 이벤트이다.*
|
|
|
|
> 이 unit 의 조각 1개가 6/12줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [control_flow] CHECK_INPUT으로 파일 입력을 검증하고 INITIALIZE_DATA 후 ENQUEUE_ZCOT0020으로 잠금을 건 뒤 PROCESS_DATA로 엑셀 추경 데이터를 읽어 검증한다.
|
|
|
|
```abap
|
|
49| PERFORM CHECK_INPUT.
|
|
50| PERFORM INITIALIZE_DATA.
|
|
51|
|
|
52| PERFORM ENQUEUE_ZCOT0020 USING GV_LOCK.
|
|
53|
|
|
54| PERFORM PROCESS_DATA.
|
|
```
|
|
|
|
- **EN**: Main flow: validate input, initialize, lock ZCOT0020, then read and validate the uploaded supplementary budget data.
|
|
- 호출(파서): CHECK_INPUT, INITIALIZE_DATA, ENQUEUE_ZCOT0020, PROCESS_DATA
|
|
- SAP 객체: ZCOT0020
|
|
- 업무 키워드: 메인 흐름, 입력 검증, 잠금, 엑셀 업로드
|
|
- English: Main Processing, Enqueue, Excel Upload
|
|
- 정의부(복사 시 함께 필요): [`GV_LOCK`](#decl-zcoc0050top-21-gv_lock)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050#L49-L54` · confidence 0.85 · `ZCOC0050#ZCOC0050#EVENT#START-OF-SELECTION#C1`
|
|
|
|
### FORM CHECK_INPUT — `ZCOC0050F01` L38-L45 (8줄)
|
|
|
|
*선택화면의 업로드 파일명(P_FNAME) 입력 여부를 검사해 없으면 오류 메시지로 중단하는 FORM이다.*
|
|
|
|
> 이 unit 의 조각 1개가 5/8줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [validation] 업로드 파일 경로(P_FNAME)가 비어 있으면 '업로드 파일을 선택하여 주시기 바랍니다' 메시지를 오류로 표시하고 LEAVE LIST-PROCESSING으로 중단한다.
|
|
|
|
```abap
|
|
40| IF P_FNAME IS INITIAL.
|
|
41| MESSAGE S000 DISPLAY LIKE 'E' WITH
|
|
42| '업로드 파일을 선택하여 주시기 바랍니다'(F01).
|
|
43| LEAVE LIST-PROCESSING.
|
|
44| 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`](#decl-zcoc0050top-119-p_fname)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L40-L44` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#CHECK_INPUT#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로 보완해 반환한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-165-lt_fieldcat), [`LT_ALV_CAT`](#decl-zco_common-166-lt_alv_cat), [`LT_TABLE`](#decl-zco_common-164-lt_table)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L173-L198` · confidence 0.9 · `ZCOC0050#ZCO_COMMON#FORM#GET_FCAT_LIKE_ITAB#C1`
|
|
|
|
### FORM ENQUEUE_ZCOT0020 — `ZCOC0050F01` L710-L729 (20줄)
|
|
|
|
*예산조정 이력 테이블 ZCOT0020에 ENQUEUE_EZ_ZCOT0020으로 잠금을 걸고 실패 시 잠금 메시지를 표시하며 오류 플래그를 반환한다.*
|
|
|
|
> 이 unit 의 조각 1개가 18/20줄(90%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [fm_call] ENQUEUE_EZ_ZCOT0020으로 ZCOT0020 테이블 전체 잠금을 요청하고, 타 사용자 잠금(FOREIGN_LOCK) 등 실패 시 시스템 메시지를 I 타입으로 보여주고 P_ERR='X'를 반환한다.
|
|
|
|
```abap
|
|
711| CALL FUNCTION 'ENQUEUE_EZ_ZCOT0020'
|
|
712| EXPORTING
|
|
713| MODE_ZCOT0020 = 'X'
|
|
714| MANDT = SY-MANDT
|
|
715| EXCEPTIONS
|
|
716| FOREIGN_LOCK = 1
|
|
717| SYSTEM_FAILURE = 2
|
|
718| OTHERS = 3.
|
|
719|
|
|
720| IF SY-SUBRC <> 0.
|
|
721| * Retrieve message displayed within Function Module
|
|
722| MESSAGE ID SY-MSGID
|
|
723| TYPE 'I'
|
|
724| NUMBER SY-MSGNO
|
|
725| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
|
|
726| P_ERR = 'X'.
|
|
727| EXIT.
|
|
728| ENDIF.
|
|
```
|
|
|
|
- **EN**: Request an exclusive lock on ZCOT0020 via ENQUEUE_EZ_ZCOT0020; on FOREIGN_LOCK or failure show the system message and return error flag P_ERR.
|
|
- 호출(파서): ENQUEUE_EZ_ZCOT0020
|
|
- SAP 객체: ENQUEUE_EZ_ZCOT0020, ZCOT0020
|
|
- 업무 키워드: 잠금 설정, 예산조정 이력, 동시 실행 방지, 잠금 오류
|
|
- English: Enqueue, Lock Object, Foreign Lock, Budget Adjustment Log
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L711-L728` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#ENQUEUE_ZCOT0020#C1`
|
|
|
|
### FORM READ_DATA — `ZCOC0050F01` L132-L148 (17줄)
|
|
|
|
*엑셀 업로드 → 형식 정리(SET_BDC_FORM) → GT_DATA 이전·통화 변환 → 검증 → 명칭 보완 순으로 추경 데이터를 읽는 흐름을 제어한다.*
|
|
|
|
> 이 unit 의 조각 1개가 15/17줄(88%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [control_flow] UPLOAD_EXCEL_DATA로 파일을 읽고 GT_UPLOAD가 있으면 SET_BDC_FORM으로 형식을 정리한 뒤 TRANSFER_GT_DATA·CONVERT_KRW_DATA로 GT_DATA를 만들고 VALIDATION_CHECK·EDIT_DATA로 검증과 명칭 보완을 수행한다.
|
|
|
|
```abap
|
|
133| PERFORM UPLOAD_EXCEL_DATA USING P_FNAME.
|
|
134|
|
|
135| CHECK GT_UPLOAD[] IS NOT INITIAL.
|
|
136|
|
|
137| "2. 업로드가 제대로 되었다면.
|
|
138| PERFORM SET_BDC_FORM USING 'GT_DATA'.
|
|
139|
|
|
140| "3. 엑셀 데이터를 인터널 테이블로 이전
|
|
141| PERFORM TRANSFER_GT_DATA.
|
|
142| PERFORM CONVERT_KRW_DATA.
|
|
143|
|
|
144| "4. Validation
|
|
145| PERFORM VALIDATION_CHECK.
|
|
146|
|
|
147| PERFORM EDIT_DATA.
|
|
```
|
|
|
|
- **EN**: Orchestrate reading the Excel file, normalizing formats, transferring to GT_DATA with currency conversion, validating and enriching texts.
|
|
- 호출(파서): UPLOAD_EXCEL_DATA, SET_BDC_FORM, TRANSFER_GT_DATA, CONVERT_KRW_DATA, VALIDATION_CHECK, EDIT_DATA
|
|
- 업무 키워드: 엑셀 읽기 흐름, 형식 정리, 검증, 명칭 보완
|
|
- English: Excel Upload, Validation, Processing Flow
|
|
- 정의부(복사 시 함께 필요): [`P_FNAME`](#decl-zcoc0050top-119-p_fname), [`GT_UPLOAD`](#decl-zcoc0050top-44-gt_upload)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L133-L147` · confidence 0.8 · `ZCOC0050#ZCOC0050F01#FORM#READ_DATA#C1`
|
|
|
|
### FORM UPLOAD_EXCEL_DATA — `ZCOC0050F01` L315-L333 (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에 엑셀 데이터를 적재한다.
|
|
|
|
```abap
|
|
318| PERFORM FILE_EXISTS USING P_NAME L_EXISTS.
|
|
319|
|
|
320| IF L_EXISTS = ABAP_FALSE.
|
|
321| MESSAGE S000 DISPLAY LIKE 'E' WITH 'File Not Exists'.
|
|
322| LEAVE LIST-PROCESSING.
|
|
323| EXIT.
|
|
324| ENDIF.
|
|
325|
|
|
326| PERFORM UPLOAD_DATA USING 'GT_UPLOAD[]'
|
|
327| 'GS_UPLOAD'
|
|
328| P_NAME
|
|
329| 1 "S_COL-LOW
|
|
330| 2 "S_ROW-LOW
|
|
331| 256 "S_COL-HIGH
|
|
332| 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`](#decl-zcoc0050f01-316-l_exists)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L318-L332` · confidence 0.85 · `ZCOC0050#ZCOC0050F01#FORM#UPLOAD_EXCEL_DATA#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에 반환하고 호출 예외 시 시스템 메시지를 낸다.
|
|
|
|
```abap
|
|
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`](#decl-zcoc0050top-119-p_fname), [`L_FILENM`](#decl-zco_common-1107-l_filenm), [`L_RESULT`](#decl-zco_common-1106-l_result)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1113-L1133` · confidence 0.9 · `ZCOC0050#ZCO_COMMON#FORM#FILE_EXISTS#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에 읽고, 실패 시 파일 없음/경로 오류 메시지 또는 시스템 메시지를 낸다.
|
|
|
|
```abap
|
|
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>`](#decl-zco_common-605--l_fs02-), [`<L_FS03>`](#decl-zco_common-606--l_fs03-), [`ALSMEX_TABLINE`](#decl-zco_common-5-alsmex_tabline), [`LT_INTERN`](#decl-zco_common-603-lt_intern)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L607-L632` · confidence 0.95 · `ZCOC0050#ZCO_COMMON#FORM#UPLOAD_DATA#C1`
|
|
|
|
#### [calculation] 셀 데이터를 순회하며 열 번호에 해당하는 구조체 컴포넌트에 값을 넣고(숫자는 콤마 제거) 행이 끝날 때마다 대상 내부테이블(GT_UPLOAD)에 APPEND한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-5-alsmex_tabline), [`LT_INTERN`](#decl-zco_common-603-lt_intern), [`<L_FS03>`](#decl-zco_common-606--l_fs03-), [`<L_FS01>`](#decl-zco_common-604--l_fs01-), [`<L_FS02>`](#decl-zco_common-605--l_fs02-)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L634-L650` · confidence 0.9 · `ZCOC0050#ZCO_COMMON#FORM#UPLOAD_DATA#C2`
|
|
|
|
### FORM SET_BDC_FORM — `ZCOC0050F01` L185-L275 (91줄)
|
|
|
|
*대상 구조의 필드카탈로그와 도메인 소문자 허용 여부(DD01L)를 참고해 GT_UPLOAD의 숫자·날짜·체크박스·변환루틴 필드를 정리하고 대문자 변환하는 FORM이다.*
|
|
|
|
> 이 unit 의 조각 2개가 70/91줄(77%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [sql_select] 구조명(GT_DATA)으로 GET_FCAT_LIKE_ITAB을 통해 필드카탈로그를 얻고, 각 필드 도메인의 소문자 허용 여부(LOWERCASE)를 DD01L에서 FOR ALL ENTRIES로 조회해 정렬한다.
|
|
|
|
```abap
|
|
204| L_TABNAME = P_STRUCT_NM.
|
|
205|
|
|
206| PERFORM GET_FCAT_LIKE_ITAB TABLES LT_FCAT
|
|
207| USING L_TABNAME.
|
|
208|
|
|
209| SELECT DOMNAME LOWERCASE
|
|
210| INTO TABLE LT_LOWERCASE
|
|
211| FROM DD01L
|
|
212| FOR ALL ENTRIES IN LT_FCAT
|
|
213| WHERE DOMNAME = LT_FCAT-DOMNAME
|
|
214| AND AS4LOCAL = 'A'.
|
|
215|
|
|
216| SORT LT_LOWERCASE.
|
|
```
|
|
|
|
- **EN**: Obtain the field catalog for the target structure and read the lowercase flag of each field domain from DD01L to decide whether uppercase conversion is allowed.
|
|
- 테이블(파서): read [DD01L](/tables/DD01L.md) / write -
|
|
- 호출(파서): GET_FCAT_LIKE_ITAB
|
|
- SAP 객체: DD01L, GET_FCAT_LIKE_ITAB, LVC_S_FCAT
|
|
- 업무 키워드: 필드카탈로그 취득, 도메인 소문자 허용, 업로드 필드 속성
|
|
- English: Field Catalog, DD01L, Domain, Lowercase
|
|
- 정의부(복사 시 함께 필요): [`L_TABNAME`](#decl-zcoc0050f01-187-l_tabname), [`LT_FCAT`](#decl-zcoc0050f01-186-lt_fcat), [`LT_LOWERCASE`](#decl-zcoc0050f01-195-lt_lowercase)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L204-L216` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#SET_BDC_FORM#C1`
|
|
|
|
#### [calculation] 필드 데이터타입에 따라 숫자(INT/NUMC/QUAN/DEC/CURR)는 콤마 제거(BDC_CURR), 날짜(DATS)는 구분자 제거(BDC_DATE), 1자리 체크박스는 대문자(BDC_CHECKBOX), 변환루틴 있는 필드는 선행 0 채움(ZERO_I)을 GT_UPLOAD 전 행에 적용하고 소문자 미허용 도메인은 대문자로 바꾼다.
|
|
|
|
```abap
|
|
218| LOOP AT LT_FCAT ASSIGNING <FS_FCAT>.
|
|
219| CASE <FS_FCAT>-DATATYPE.
|
|
220| " 숫자 타입
|
|
221| WHEN 'INT1' OR 'INT2' OR 'INT4' OR 'NUMC' OR 'QUAN' OR
|
|
222| 'DEC' OR 'CURR'. "숫자타입은 ',''을 삭제
|
|
223| L_TYPE = 'NUMB'.
|
|
224| " 날짜
|
|
225| WHEN 'DATS'. " 날짜타입은 '/', '.', '-' 제거
|
|
226| L_TYPE = 'DATS'.
|
|
227| WHEN 'CHAR'. " 체크 박스는 대문자로 변경
|
|
228| "CHECK BOX
|
|
229| IF <FS_FCAT>-VALEXI = 'X' AND <FS_FCAT>-INTLEN = '000001'.
|
|
230| L_TYPE = 'CHCK'.
|
|
231| ENDIF.
|
|
232| WHEN OTHERS.
|
|
233| ENDCASE.
|
|
234|
|
|
235| IF <FS_FCAT>-CONVEXIT IS NOT INITIAL.
|
|
236| L_CONV_ALPHA = 'X'.
|
|
237| ENDIF.
|
|
238|
|
|
239| IF L_TYPE IS INITIAL AND L_CONV_ALPHA IS INITIAL.
|
|
240| CONTINUE.
|
|
241| ENDIF.
|
|
242|
|
|
243| LOOP AT GT_UPLOAD ASSIGNING <FS_UPLOAD>.
|
|
244| CONCATENATE '<FS_UPLOAD>-' <FS_FCAT>-FIELDNAME
|
|
245| INTO L_FSNAME.
|
|
246| ASSIGN (L_FSNAME) TO <FS>.
|
|
247|
|
|
248| IF SY-SUBRC EQ 0.
|
|
249| CASE L_TYPE.
|
|
250| WHEN 'NUMB'.
|
|
251| PERFORM BDC_CURR USING <FS>.
|
|
252| WHEN 'DATS'.
|
|
253| PERFORM BDC_DATE USING <FS>.
|
|
254| WHEN 'CHCK'.
|
|
255| PERFORM BDC_CHECKBOX USING <FS>.
|
|
256| WHEN OTHERS.
|
|
257| ENDCASE.
|
|
258|
|
|
259| IF L_CONV_ALPHA = 'X'.
|
|
260| PERFORM ZERO_I USING <FS> <FS>.
|
|
261| ENDIF.
|
|
262|
|
|
263| READ TABLE LT_LOWERCASE WITH KEY DOMNAME = <FS_FCAT>-DOMNAME
|
|
264| BINARY SEARCH.
|
|
265|
|
|
266| IF LT_LOWERCASE-LOWERCASE NE 'X'.
|
|
267| TRANSLATE <FS> TO UPPER CASE.
|
|
268| ENDIF.
|
|
269| ENDIF.
|
|
270| ENDLOOP.
|
|
271|
|
|
272| CLEAR : L_TYPE.
|
|
273| CLEAR : L_CONV_ALPHA.
|
|
274| ENDLOOP.
|
|
```
|
|
|
|
- **EN**: Per field type, clean every GT_UPLOAD row: strip commas from numeric fields, separators from dates, uppercase checkboxes, apply ALPHA conversion for fields with conversion exits, and uppercase values whose domain does not allow lowercase.
|
|
- 호출(파서): BDC_CURR, BDC_DATE, BDC_CHECKBOX, ZERO_I
|
|
- SAP 객체: GT_UPLOAD, BDC_CURR, BDC_DATE, BDC_CHECKBOX, ZERO_I, CONVERSION_EXIT_ALPHA_INPUT
|
|
- 업무 키워드: 업로드 데이터 정제, 숫자 콤마 제거, 날짜 형식 정리, 선행 0 채움, 대문자 변환
|
|
- English: Data Cleansing, Conversion Exit, ALPHA, Excel Upload
|
|
- 정의부(복사 시 함께 필요): [`LT_FCAT`](#decl-zcoc0050f01-186-lt_fcat), [`<FS_FCAT>`](#decl-zcoc0050f01-193--fs_fcat-), [`L_TYPE`](#decl-zcoc0050f01-189-l_type), [`L_CONV_ALPHA`](#decl-zcoc0050f01-190-l_conv_alpha), [`GT_UPLOAD`](#decl-zcoc0050top-44-gt_upload), [`<FS_UPLOAD>`](#decl-zcoc0050f01-191--fs_upload-), [`L_FSNAME`](#decl-zcoc0050f01-188-l_fsname), [`<FS>`](#decl-zcoc0050f01-192--fs-), [`LT_LOWERCASE`](#decl-zcoc0050f01-195-lt_lowercase)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L218-L274` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#SET_BDC_FORM#C2`
|
|
|
|
### FORM TRANSFER_GT_DATA — `ZCOC0050F01` L284-L307 (24줄)
|
|
|
|
*엑셀 원본 GT_UPLOAD를 GT_DATA로 옮기며 코스트센터 대문자화, 추경금액 1000배 환산(CONVERT_1000_U), 통화 설정을 하고 숫자 변환 오류 시 중단한다.*
|
|
|
|
> 이 unit 의 조각 1개가 22/24줄(92%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [calculation] GT_UPLOAD 각 행을 GT_DATA로 복사하며 KOSTL을 대문자로 바꾸고 천원 단위 입력금액 WKG001을 CONVERT_1000_U로 원 단위로 환산·통화 P_TWAER를 설정하며, 숫자 필드에 문자가 있으면 CX_SY_CONVERSION_NO_NUMBER를 잡아 오류 메시지로 중단한 뒤 KOSTL·KSTAR로 정렬한다.
|
|
|
|
```abap
|
|
285| TRY.
|
|
286| LOOP AT GT_UPLOAD.
|
|
287| MOVE-CORRESPONDING GT_UPLOAD TO GT_DATA.
|
|
288| TRANSLATE GT_DATA-KOSTL TO UPPER CASE.
|
|
289| GT_DATA-STATUS = GC_STATUS_INIT.
|
|
290| GT_DATA-WKG001_VIEW = GT_DATA-WKG001.
|
|
291|
|
|
292| PERFORM CONVERT_1000_U USING GT_DATA-WKG001
|
|
293| CHANGING GT_DATA-WKG001.
|
|
294|
|
|
295| GT_DATA-TWAER = P_TWAER.
|
|
296|
|
|
297| APPEND GT_DATA.
|
|
298| CLEAR : GT_DATA.
|
|
299| ENDLOOP.
|
|
300| CATCH : CX_SY_CONVERSION_NO_NUMBER.
|
|
301| MESSAGE S000 WITH '숫자필드에 문자캐릭터가 업로드 되었습니다.'(F04)
|
|
302| DISPLAY LIKE 'E'.
|
|
303| LEAVE LIST-PROCESSING.
|
|
304| ENDTRY.
|
|
305|
|
|
306| SORT GT_DATA BY KOSTL KSTAR.
|
|
```
|
|
|
|
- **EN**: Copy each uploaded row to GT_DATA, upper-case the cost center, convert the thousand-won amount to won via CONVERT_1000_U, set currency, abort with an error on CX_SY_CONVERSION_NO_NUMBER, then sort by cost center and cost element.
|
|
- 호출(파서): CONVERT_1000_U
|
|
- SAP 객체: CX_SY_CONVERSION_NO_NUMBER
|
|
- 업무 키워드: 엑셀 데이터 이전, 천원 단위 환산, 숫자 변환 오류, 대문자 변환, 추경 금액
|
|
- English: Excel Upload, Amount Conversion, Conversion Error, Cost Center
|
|
- 정의부(복사 시 함께 필요): [`GT_UPLOAD`](#decl-zcoc0050top-44-gt_upload), [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`GC_STATUS_INIT`](#decl-zco_alv-131-gc_status_init), [`P_TWAER`](#decl-zcoc0050top-110-p_twaer)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L285-L306` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#TRANSFER_GT_DATA#C1`
|
|
|
|
### FORM CONVERT_KRW_DATA — `ZCOC0050F01` L155-L176 (22줄)
|
|
|
|
*ALV 필드카탈로그의 CURR 타입 필드(월별 금액)를 대상으로 GT_DATA 전 라인의 금액을 회사 통화(GV_WAERS) 내부형식으로 변환하는 FORM이다.*
|
|
|
|
> 이 unit 의 조각 1개가 14/22줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [calculation] GT_MAIN_FIELDCAT에서 DATATYPE='CURR'인 필드마다 GT_DATA 각 라인의 금액 필드를 동적 ASSIGN해 CONV_DB_WAERS(CURRENCY_AMOUNT_IDOC_TO_SAP)로 회사 통화 내부형식 금액으로 변환한다.
|
|
|
|
```abap
|
|
161| LOOP AT GT_MAIN_FIELDCAT INTO LS_FIELDCAT
|
|
162| WHERE DATATYPE = 'CURR'.
|
|
163|
|
|
164| CONCATENATE '<FS_DATA>-' LS_FIELDCAT-FIELDNAME
|
|
165| INTO LV_FIELD.
|
|
166|
|
|
167| LOOP AT GT_DATA ASSIGNING <FS_DATA>.
|
|
168| ASSIGN (LV_FIELD) TO <FS_FIELD>.
|
|
169|
|
|
170| IF SY-SUBRC EQ 0.
|
|
171| PERFORM CONV_DB_WAERS USING <FS_FIELD> GV_WAERS.
|
|
172| ENDIF.
|
|
173| ENDLOOP.
|
|
174| ENDLOOP.
|
|
```
|
|
|
|
- **EN**: For every CURR-type ALV field, dynamically assign the amount in each GT_DATA row and convert it to internal currency format via CONV_DB_WAERS.
|
|
- 호출(파서): CONV_DB_WAERS
|
|
- SAP 객체: GT_MAIN_FIELDCAT, GT_DATA, CONV_DB_WAERS, CURRENCY_AMOUNT_IDOC_TO_SAP
|
|
- 업무 키워드: 금액 내부형식 변환, 월별 계획금액, 회사 통화
|
|
- English: Currency Conversion, Field Catalog, Dynamic Assign
|
|
- 정의부(복사 시 함께 필요): [`GT_MAIN_FIELDCAT`](#decl-zcoc0050top-39-gt_main_fieldcat), [`LS_FIELDCAT`](#decl-zcoc0050f01-156-ls_fieldcat), [`LV_FIELD`](#decl-zcoc0050f01-159-lv_field), [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`<FS_DATA>`](#decl-zcoc0050f01-158--fs_data-), [`<FS_FIELD>`](#decl-zcoc0050f01-157--fs_field-), [`GV_WAERS`](#decl-zco_common-52-gv_waers)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L161-L174` · confidence 0.85 · `ZCOC0050#ZCOC0050F01#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에 되돌린다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L2110-L2115` · confidence 0.9 · `ZCOC0050#ZCO_COMMON#FORM#CONV_DB_WAERS#C1`
|
|
|
|
### FORM VALIDATION_CHECK — `ZCOC0050F01` L342-L423 (82줄)
|
|
|
|
*업로드된 추경 라인의 코스트센터·원가요소 존재 여부(CSKS/CSKT, CSKB/CSKU)와 금액(0·음수 불가)을 검증해 오류 라인을 표시한다.*
|
|
|
|
> 이 unit 의 조각 3개가 75/82줄(92%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [sql_select] GT_DATA의 코스트센터에 대해 CSKS와 CSKT를 조인하여 관리회계영역 P_KOKRS에서 현재 유효한 코스트센터와 명칭을 GT_KOSTL에 조회한다.
|
|
|
|
```abap
|
|
345| SELECT A~KOSTL B~KTEXT AS KOSTL_T
|
|
346| FROM CSKS AS A INNER JOIN CSKT AS B
|
|
347| ON A~KOKRS = B~KOKRS
|
|
348| AND A~KOSTL = B~KOSTL
|
|
349| AND A~DATBI = B~DATBI
|
|
350| INTO CORRESPONDING FIELDS OF TABLE GT_KOSTL
|
|
351| FOR ALL ENTRIES IN GT_DATA
|
|
352| WHERE A~KOKRS = P_KOKRS
|
|
353| AND A~KOSTL = GT_DATA-KOSTL
|
|
354| AND A~DATBI >= SY-DATUM
|
|
355| AND A~DATAB <= SY-DATUM
|
|
356| AND B~SPRAS = SY-LANGU.
|
|
357|
|
|
358| SORT GT_KOSTL BY KOSTL.
|
|
```
|
|
|
|
- **EN**: Select currently valid cost centers with texts from CSKS joined CSKT for the uploaded cost centers into GT_KOSTL (FOR ALL ENTRIES).
|
|
- 테이블(파서): read [CSKS](/tables/CSKS.md), [CSKT](/tables/CSKT.md) / write -
|
|
- SAP 객체: CSKS, CSKT
|
|
- 업무 키워드: 코스트센터 존재 확인, 코스트센터 명칭, 유효기간
|
|
- English: Cost Center, Cost Center Text, Validity, Controlling Area
|
|
- 정의부(복사 시 함께 필요): [`GT_KOSTL`](#decl-zcoc0050top-85-gt_kostl), [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`P_KOKRS`](#decl-zcoc0050top-104-p_kokrs)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L345-L358` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#VALIDATION_CHECK#C1`
|
|
|
|
#### [sql_select] GT_DATA의 원가요소에 대해 CSKB와 CSKU를 조인하여 관리회계영역·계정과목표 GV_KTOPL 기준 현재 유효한 원가요소와 명칭을 GT_KSTAR에 조회한다.
|
|
|
|
```abap
|
|
360| SELECT A~KSTAR B~KTEXT AS KSTAR_T
|
|
361| FROM CSKB AS A INNER JOIN CSKU AS B
|
|
362| ON A~KSTAR = B~KSTAR
|
|
363| INTO CORRESPONDING FIELDS OF TABLE GT_KSTAR
|
|
364| FOR ALL ENTRIES IN GT_DATA
|
|
365| WHERE A~KOKRS = P_KOKRS
|
|
366| AND A~KSTAR = GT_DATA-KSTAR
|
|
367| AND B~KTOPL = GV_KTOPL
|
|
368| AND SPRAS = SY-LANGU
|
|
369| AND A~DATBI >= SY-DATUM
|
|
370| AND A~DATAB <= SY-DATUM.
|
|
371|
|
|
372| SORT GT_KSTAR BY KSTAR.
|
|
```
|
|
|
|
- **EN**: Select currently valid cost elements with texts from CSKB joined CSKU for the uploaded cost elements and chart of accounts into GT_KSTAR.
|
|
- 테이블(파서): read [CSKB](/tables/CSKB.md), [CSKU](/tables/CSKU.md) / write -
|
|
- SAP 객체: CSKB, CSKU
|
|
- 업무 키워드: 원가요소 존재 확인, 원가요소 명칭, 계정과목표
|
|
- English: Cost Element, Cost Element Text, Chart of Accounts, Validity
|
|
- 정의부(복사 시 함께 필요): [`GT_KSTAR`](#decl-zcoc0050top-90-gt_kstar), [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`P_KOKRS`](#decl-zcoc0050top-104-p_kokrs), [`GV_KTOPL`](#decl-zco_common-53-gv_ktopl)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L360-L372` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#VALIDATION_CHECK#C2`
|
|
|
|
#### [validation] GT_DATA 라인마다 추경금액 WKG001이 0이거나 음수이면, 코스트센터가 GT_KOSTL에 없거나 원가요소가 GT_KSTAR에 없으면 상태 RED·오류메시지·필드 빨간색 표시(SET_ERROR_FIELD_RED)·메시지 목록 추가 후 GV_UPLOAD_ERROR를 세운다.
|
|
|
|
```abap
|
|
374| LOOP AT GT_DATA.
|
|
375|
|
|
376| IF GT_DATA-WKG001 = 0.
|
|
377| GT_DATA-MESSAGE = '금액이 입력되지 않았습니다.'(F10).
|
|
378| GT_DATA-STATUS = GC_STATUS_RED.
|
|
379| GV_UPLOAD_ERROR = 'X'.
|
|
380| PERFORM SET_ERROR_FIELD_RED USING 'WKG001'.
|
|
381| PERFORM ADD_DATA_MESSAGE USING 'WKG001'
|
|
382| GT_DATA-MESSAGE.
|
|
383| ENDIF.
|
|
384|
|
|
385| IF GT_DATA-WKG001 < 0.
|
|
386| GT_DATA-MESSAGE = '양수(+) 금액만 입력하여 주십시오'(F11).
|
|
387| GT_DATA-STATUS = GC_STATUS_RED.
|
|
388| GV_UPLOAD_ERROR = 'X'.
|
|
389| PERFORM SET_ERROR_FIELD_RED USING 'WKG001'.
|
|
390| PERFORM ADD_DATA_MESSAGE USING 'WKG001'
|
|
391| GT_DATA-MESSAGE.
|
|
392| ENDIF.
|
|
393|
|
|
394| READ TABLE GT_KOSTL WITH KEY KOSTL = GT_DATA-KOSTL
|
|
395| BINARY SEARCH.
|
|
396|
|
|
397| IF SY-SUBRC NE 0.
|
|
398| GT_DATA-MESSAGE = '존재하지 않는 코스트센터입니다'(F05).
|
|
399| GT_DATA-STATUS = GC_STATUS_RED.
|
|
400| GV_UPLOAD_ERROR = 'X'.
|
|
401| PERFORM SET_ERROR_FIELD_RED USING 'KOSTL'.
|
|
402| PERFORM ADD_DATA_MESSAGE USING 'KOSTL'
|
|
403| GT_DATA-MESSAGE.
|
|
404| ENDIF.
|
|
405|
|
|
406| READ TABLE GT_KSTAR WITH KEY KSTAR = GT_DATA-KSTAR
|
|
407| BINARY SEARCH.
|
|
408|
|
|
409| IF SY-SUBRC NE 0.
|
|
410| GT_DATA-MESSAGE = '존재하지 않는 원가요소입니다'(F06).
|
|
411| GT_DATA-STATUS = GC_STATUS_RED.
|
|
412| GV_UPLOAD_ERROR = 'X'.
|
|
413| PERFORM SET_ERROR_FIELD_RED USING 'KSTAR'.
|
|
414| PERFORM ADD_DATA_MESSAGE USING 'KSTAR'
|
|
415| GT_DATA-MESSAGE.
|
|
416| ENDIF.
|
|
417|
|
|
418| MODIFY GT_DATA. CLEAR : GT_DATA.
|
|
419| CLEAR : GT_KOSTL, GT_KSTAR.
|
|
420|
|
|
421| ENDLOOP.
|
|
```
|
|
|
|
- **EN**: Validate each line: amount must be non-zero and positive, cost center must exist in GT_KOSTL and cost element in GT_KSTAR; mark failures RED with message, highlight the field and set GV_UPLOAD_ERROR.
|
|
- 테이블(파서): read - / write [GT_DATA](/tables/GT_DATA.md)
|
|
- 호출(파서): SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE, SET_ERROR_FIELD_RED, ADD_DATA_MESSAGE
|
|
- 업무 키워드: 금액 검증, 양수 금액, 코스트센터 존재 검증, 원가요소 존재 검증, 업로드 오류 표시
|
|
- English: Validation, Amount Check, Cost Center, Cost Element, Upload Error
|
|
- 정의부(복사 시 함께 필요): [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`GC_STATUS_RED`](#decl-zco_alv-130-gc_status_red), [`GV_UPLOAD_ERROR`](#decl-zcoc0050top-22-gv_upload_error), [`GT_KOSTL`](#decl-zcoc0050top-85-gt_kostl), [`GT_KSTAR`](#decl-zcoc0050top-90-gt_kstar)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L374-L421` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#VALIDATION_CHECK#C3`
|
|
|
|
### FORM ADD_DATA_MESSAGE — `ZCOC0050F01` L433-L445 (13줄)
|
|
|
|
*오류 필드의 ALV 컬럼 텍스트와 메시지를 합쳐 현재 GT_DATA 라인의 메시지 목록(MSG_LIST)에 추가하는 FORM이다.*
|
|
|
|
> 이 unit 의 조각 1개가 7/13줄(54%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [output] GT_MAIN_FIELDCAT에서 필드의 긴 텍스트(SCRTEXT_L)를 찾아 '필드명 : 메시지' 형태로 만들어 GT_DATA-MSG_LIST에 삽입해 오류 팝업에 보여줄 메시지를 누적한다.
|
|
|
|
```abap
|
|
438| READ TABLE GT_MAIN_FIELDCAT INTO LS_FIELDCAT
|
|
439| WITH KEY FIELDNAME = P_FIELD.
|
|
440|
|
|
441| CONCATENATE LS_FIELDCAT-SCRTEXT_L ` : ` P_MESSAGE
|
|
442| INTO LV_MESSAGE.
|
|
443|
|
|
444| INSERT LV_MESSAGE INTO TABLE GT_DATA-MSG_LIST.
|
|
```
|
|
|
|
- **EN**: Look up the field label in the ALV field catalog and insert a 'label : message' line into GT_DATA-MSG_LIST for the error log popup.
|
|
- SAP 객체: GT_MAIN_FIELDCAT, GT_DATA
|
|
- 업무 키워드: 오류 메시지 누적, 필드 텍스트
|
|
- English: Error Message, Field Catalog
|
|
- 정의부(복사 시 함께 필요): [`GT_MAIN_FIELDCAT`](#decl-zcoc0050top-39-gt_main_fieldcat), [`LS_FIELDCAT`](#decl-zcoc0050f01-436-ls_fieldcat), [`LV_MESSAGE`](#decl-zcoc0050f01-435-lv_message), [`GT_DATA`](#decl-zcoc0050top-54-gt_data)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L438-L444` · confidence 0.8 · `ZCOC0050#ZCOC0050F01#FORM#ADD_DATA_MESSAGE#C1`
|
|
|
|
### FORM EDIT_DATA — `ZCOC0050F01` L471-L499 (29줄)
|
|
|
|
*GT_DATA 각 라인에 GT_KOSTL·GT_KSTAR에서 찾은 코스트센터명·원가요소명을 보완한다.*
|
|
|
|
> 이 unit 의 조각 1개가 25/29줄(86%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [other] GT_DATA 라인마다 GT_KOSTL(CSKS/CSKT)에서 코스트센터명, GT_KSTAR(CSKB/CSKU)에서 원가요소명을 BINARY SEARCH로 읽어 KOSTL_T·KSTAR_T를 채운다.
|
|
|
|
```abap
|
|
473| LOOP AT GT_DATA.
|
|
474|
|
|
475| READ TABLE GT_KOSTL WITH KEY KOSTL = GT_DATA-KOSTL
|
|
476| BINARY SEARCH.
|
|
477|
|
|
478| IF SY-SUBRC EQ 0.
|
|
479| GT_DATA-KOSTL_T = GT_KOSTL-KOSTL_T.
|
|
480| ENDIF.
|
|
481|
|
|
482| READ TABLE GT_KSTAR WITH KEY KSTAR = GT_DATA-KSTAR
|
|
483| BINARY SEARCH.
|
|
484|
|
|
485| IF SY-SUBRC EQ 0.
|
|
486| GT_DATA-KSTAR_T = GT_KSTAR-KSTAR_T.
|
|
487| ENDIF.
|
|
488|
|
|
489| * " 1000원 단위로 보이기 위해 화면상에만 표시할 금액
|
|
490| * PERFORM CONVERT_1000_D USING GT_DATA-WKG001_VIEW
|
|
491| * CHANGING GT_DATA-WKG001_VIEW.
|
|
492|
|
|
493| CLEAR : GT_KOSTL, GT_KSTAR.
|
|
494|
|
|
495| MODIFY GT_DATA. CLEAR : GT_DATA.
|
|
496|
|
|
497| ENDLOOP.
|
|
```
|
|
|
|
- **EN**: For each GT_DATA line look up the cost center text from GT_KOSTL and cost element text from GT_KSTAR and fill KOSTL_T / KSTAR_T.
|
|
- 테이블(파서): read - / write [GT_DATA](/tables/GT_DATA.md)
|
|
- SAP 객체: CSKT, CSKU
|
|
- 업무 키워드: 코스트센터명 보완, 원가요소명 보완, 텍스트 매핑
|
|
- English: Cost Center Text, Cost Element Text, Data Enrichment
|
|
- 정의부(복사 시 함께 필요): [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`GT_KOSTL`](#decl-zcoc0050top-85-gt_kostl), [`GT_KSTAR`](#decl-zcoc0050top-90-gt_kstar)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L473-L497` · confidence 0.85 · `ZCOC0050#ZCOC0050F01#FORM#EDIT_DATA#C1`
|
|
|
|
### EVENT END-OF-SELECTION — `ZCOC0050` L59-L70 (12줄)
|
|
|
|
*온라인 실행 시 검증된 업로드 데이터(GT_DATA)가 있으면 화면 100(ALV)을 호출하고 없으면 메시지를 내는 END-OF-SELECTION 이벤트이다.*
|
|
|
|
> 이 unit 의 조각 1개가 11/12줄(92%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [control_flow] 배치가 아닌 온라인 실행이고 GT_DATA가 있으면 CALL SCREEN 100으로 ALV 검증 결과 화면을 띄우고, 없으면 '조회된 데이터가 없습니다' 메시지를 낸다.
|
|
|
|
```abap
|
|
60| IF SY-BATCH NE 'X'.
|
|
61| IF GT_DATA[] IS NOT INITIAL.
|
|
62| CALL SCREEN 100.
|
|
63| ELSE.
|
|
64| MESSAGE S000 WITH '조회된 데이터가 없습니다.'.
|
|
65| ENDIF.
|
|
66| ELSE.
|
|
67| IF GT_DATA[] IS NOT INITIAL.
|
|
68| * PERFORM DISPLAY_SPOOL_BY_SALV TABLES GT_DATA[].
|
|
69| ENDIF.
|
|
70| 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`](#decl-zcoc0050top-54-gt_data)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050#L60-L70` · confidence 0.85 · `ZCOC0050#ZCOC0050#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)를 전역변수에 저장해 이후 검증·금액 변환의 기준으로 쓴다.
|
|
|
|
```abap
|
|
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](/tables/T001.md) / write -
|
|
- SAP 객체: T001
|
|
- 업무 키워드: 회사코드 기본정보, 회사 통화, 계정과목표
|
|
- English: Company Code, T001, Chart of Accounts, Local Currency
|
|
- 정의부(복사 시 함께 필요): [`L_T001`](#decl-zco_common-211-l_t001), [`GV_WAERS`](#decl-zco_common-52-gv_waers), [`GV_KTOPL`](#decl-zco_common-53-gv_ktopl), [`GV_SPRAS`](#decl-zco_common-54-gv_spras), [`GV_BUKRS_TXT`](#decl-zco_common-50-gv_bukrs_txt), [`GV_LAND1`](#decl-zco_common-55-gv_land1)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L214-L226` · confidence 0.95 · `ZCOC0050#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에 조회한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-238-l_class), [`GC_KOKRS`](#decl-zco_common-58-gc_kokrs), [`L_SETID`](#decl-zco_common-239-l_setid), [`GV_KTOPL`](#decl-zco_common-53-gv_ktopl), [`LT_NODE`](#decl-zco_common-237-lt_node), [`GT_VALUE_SET`](#decl-zco_common-21-gt_value_set), [`LT_GRPHINFO`](#decl-zco_common-240-lt_grphinfo)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L249-L296` · confidence 0.9 · `ZCOC0050#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에 등록된 필드는 값이 없을 때 추가하지 않는다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-311-ls_bdctab), [`GT_EXCP_INIT_FIELD`](#decl-zco_common-92-gt_excp_init_field)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L315-L333` · confidence 0.9 · `ZCOC0050#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로 반환해 호출자가 잘못된 날짜를 판단하게 한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L447-L454` · confidence 0.9 · `ZCOC0050#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로 상태바에 진행 상황을 표시한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-493-l_ncnt1), [`L_NCNT2`](#decl-zco_common-494-l_ncnt2), [`GV_CALC_I`](#decl-zco_common-14-gv_calc_i), [`GV_CALC_C0`](#decl-zco_common-16-gv_calc_c0), [`GV_PROGRESS_MSG`](#decl-zco_common-15-gv_progress_msg)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L498-L515` · confidence 0.85 · `ZCOC0050#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 리스트(스풀)로 출력한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-526-gr_table)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L528-L534` · confidence 0.85 · `ZCOC0050#ZCO_COMMON#FORM#DISPLAY_SPOOL_BY_SALV#C1`
|
|
|
|
### 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 결과 메시지 텍스트를 만들고 남은 '&'를 제거한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L706-L717` · confidence 0.9 · `ZCOC0050#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에 넘겨 메시지 텍스트를 만들고 남은 '&' 자리표시자를 제거한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L737-L748` · confidence 0.9 · `ZCOC0050#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해 업로드 양식 데이터를 구성한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-762-lt_fcat), [`LF_DATA`](#decl-zco_common-767-lf_data), [`<FS_TABLE>`](#decl-zco_common-776--fs_table-), [`LL_DATA`](#decl-zco_common-768-ll_data), [`<FS_LINE>`](#decl-zco_common-777--fs_line-), [`LS_FCAT`](#decl-zco_common-763-ls_fcat), [`<FS_COL>`](#decl-zco_common-778--fs_col-)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L802-L832` · confidence 0.85 · `ZCOC0050#ZCO_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C1`
|
|
|
|
#### [fm_call] '<프로그램명>_UploadForm.xls' 기본 파일명으로 FILE_SAVE_DIALOG를 열고 사용자가 확인하면 CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD(탭 구분)로 양식 테이블을 저장한 뒤 성공/실패/취소 메시지를 낸다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-771-l_fname), [`L_EXT_FILENAME`](#decl-zco_common-772-l_ext_filename), [`L_PATH`](#decl-zco_common-774-l_path), [`L_FULLPATH`](#decl-zco_common-773-l_fullpath), [`L_USR_ACT`](#decl-zco_common-769-l_usr_act), [`L_FILE_LEN`](#decl-zco_common-770-l_file_len), [`<FS_TABLE>`](#decl-zco_common-776--fs_table-)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L836-L889` · confidence 0.9 · `ZCOC0050#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)을 구한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L906-L920` · confidence 0.9 · `ZCOC0050#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에 넣는다(엑셀 업로드 금액 정리용).
|
|
|
|
```abap
|
|
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`](#decl-zco_common-934-lv_ext), [`LV_AMT`](#decl-zco_common-933-lv_amt)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L936-L957` · confidence 0.9 · `ZCOC0050#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로 받는다(예산 전기 전 확인에 사용).
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1015-L1021` · confidence 0.9 · `ZCOC0050#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)을 받고 예외 시 시스템 메시지 후 응답을 비운다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1041-L1058` · confidence 0.9 · `ZCOC0050#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로 돌려받는다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1073-L1077` · confidence 0.9 · `ZCOC0050#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으로 종료한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1088-L1093` · confidence 0.85 · `ZCOC0050#ZCO_COMMON#FORM#SET_DSMOD#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에 되돌려준다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1147-l_internal)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1149-L1159` · confidence 0.9 · `ZCOC0050#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를 호출해 다음 번호를 채번하고 예외 발생 시 결과를 비운다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1176-lv_nrrang), [`LV_OBJECT`](#decl-zco_common-1177-lv_object)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1179-L1201` · confidence 0.95 · `ZCOC0050#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로 다음 번호를 채번하고 실패 시 번호를 비운다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1219-lv_nrrang), [`LV_OBJECT`](#decl-zco_common-1220-lv_object), [`LV_YEAR`](#decl-zco_common-1221-lv_year)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1223-L1252` · confidence 0.95 · `ZCOC0050#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에 넣고 정렬하며, 없으면 테이블을 비운다.
|
|
|
|
```abap
|
|
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](/tables/DD07T.md) / write -
|
|
- SAP 객체: DD07T
|
|
- 업무 키워드: 도메인 값 목록, 드롭다운 값, F4 값 목록
|
|
- English: Domain Fixed Values, DD07T, Value List
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1266-L1276` · confidence 0.95 · `ZCOC0050#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에 추가하고 정렬한다.
|
|
|
|
```abap
|
|
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](/tables/DD07T.md) / write -
|
|
- SAP 객체: DD07T, GT_DOMAIN
|
|
- 업무 키워드: 도메인 고정값, 값 텍스트 조회
|
|
- English: Domain Fixed Values, DD07T
|
|
- 정의부(복사 시 함께 필요): [`GS_DOMAIN`](#decl-zco_common-27-gs_domain), [`GT_DOMAIN`](#decl-zco_common-32-gt_domain)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1289-L1296` · confidence 0.95 · `ZCOC0050#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으로 처리한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1317-L1339` · confidence 0.9 · `ZCOC0050#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에 넘겨 처리 결과 메시지 목록을 팝업으로 보여준다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-24-gt_heamsg), [`GT_DETMSG`](#decl-zco_common-23-gt_detmsg)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1351-L1357` · confidence 0.85 · `ZCOC0050#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에 반환한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1373-lt_filetable), [`RTN_CODE`](#decl-zco_common-1372-rtn_code), [`USER_ACTION`](#decl-zco_common-1371-user_action), [`LS_FILETABLE`](#decl-zco_common-1374-ls_filetable)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1376-L1397` · confidence 0.9 · `ZCOC0050#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으로 중단한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1411-lv_file), [`LV_RESULT`](#decl-zco_common-1410-lv_result)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1415-L1431` · confidence 0.9 · `ZCOC0050#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)으로 종료해 중복 생성을 막는다.
|
|
|
|
```abap
|
|
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](/tables/AENR.md) / write -
|
|
- SAP 객체: AENR
|
|
- 업무 키워드: 변경번호 존재 확인, 중복 생성 방지, 설계변경관리
|
|
- English: Change Number, AENR, Engineering Change Management
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1550-L1557` · confidence 0.95 · `ZCOC0050#ZCO_COMMON#FORM#BDC_CREATE_AENNR#C1`
|
|
|
|
#### [fm_call] SAPMC29C 화면(0100/0010/0020)에 변경번호·내역·효력시작일·변경사유·상태 등을 채운 BDC 데이터를 구성해 CALL TRANSACTION 'CC01'(N 모드, 동기 업데이트)로 변경마스터를 생성하고, 메시지 CC001 성공 여부로 P_MSGTY를 정하며 실패 시 BUILD_MESSAGE로 오류 텍스트를 만든다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-65-gt_bdcdata), [`BDCMSGCOLL`](#decl-zco_common-4-bdcmsgcoll), [`GT_MESSTAB`](#decl-zco_common-66-gt_messtab), [`GS_BDC_OPTION`](#decl-zco_common-64-gs_bdc_option)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1559-L1610` · confidence 0.9 · `ZCOC0050#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 전 값 취득용).
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1623-ls_dynpfields), [`LT_DYNPFIELDS`](#decl-zco_common-1622-lt_dynpfields), [`LV_DYNAME`](#decl-zco_common-1624-lv_dyname), [`LV_DYNUM`](#decl-zco_common-1625-lv_dynum), [`<FS_FIELD>`](#decl-zco_common-1627--fs_field-)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1632-L1666` · confidence 0.85 · `ZCOC0050#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)의 해당 필드 값을 갱신한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1681-ls_dynpfields), [`<FS_FIELD>`](#decl-zco_common-1685--fs_field-), [`LT_DYNPFIELDS`](#decl-zco_common-1680-lt_dynpfields), [`LV_DYNAME`](#decl-zco_common-1682-lv_dyname), [`LV_DYNUM`](#decl-zco_common-1683-lv_dynum)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1690-L1712` · confidence 0.85 · `ZCOC0050#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' 패턴이면 조회 전용 모드 플래그를 켠다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-43-gv_dip_mod)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1729-L1736` · confidence 0.95 · `ZCOC0050#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)와 길이를 얻는다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1790-lt_otf), [`LV_BIN_FILESIZE`](#decl-zco_common-1785-lv_bin_filesize), [`LV_BIN_FILE`](#decl-zco_common-1786-lv_bin_file), [`LT_LINES`](#decl-zco_common-1787-lt_lines), [`LS_OTF`](#decl-zco_common-1784-ls_otf), [`LT_CONTENT_TXT`](#decl-zco_common-1780-lt_content_txt), [`LV_TRANSFER_BIN`](#decl-zco_common-1779-lv_transfer_bin), [`LT_CONTENT_BIN`](#decl-zco_common-1781-lt_content_bin), [`LT_OBJHEAD`](#decl-zco_common-1782-lt_objhead), [`LV_LEN_IN`](#decl-zco_common-1783-lv_len_in)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1792-L1828` · confidence 0.9 · `ZCOC0050#ZCO_COMMON#FORM#F_PDF_DOWNLOAD#C1`
|
|
|
|
#### [fm_call] OPEN_SAVE_FILE_SEL로 pdf 저장 경로를 받은 뒤 GUI_DOWNLOAD(FILETYPE='BIN')로 PDF 바이너리를 로컬 PC에 저장한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1788-lv_filesize), [`LV_LEN_IN`](#decl-zco_common-1783-lv_len_in), [`LV_FILENAME`](#decl-zco_common-1789-lv_filename), [`LT_CONTENT_BIN`](#decl-zco_common-1781-lt_content_bin)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1831-L1840` · confidence 0.9 · `ZCOC0050#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에 반환한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-1858-lv_default_extension), [`LV_DEFAULT_FILE_NAME`](#decl-zco_common-1861-lv_default_file_name), [`LV_INITIAL_DIRECTORY`](#decl-zco_common-1860-lv_initial_directory), [`LV_FILE_FILTER`](#decl-zco_common-1859-lv_file_filter), [`LV_FILENAME`](#decl-zco_common-1855-lv_filename), [`LV_PATH`](#decl-zco_common-1856-lv_path), [`LV_FULLPATH`](#decl-zco_common-1857-lv_fullpath), [`LV_USER_ACTION`](#decl-zco_common-1864-lv_user_action)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1868-L1903` · confidence 0.9 · `ZCOC0050#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한다.
|
|
|
|
```abap
|
|
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>`](#decl-zco_common-1921--itab-), [`<ILINE>`](#decl-zco_common-1922--iline-), [`<FIELD>`](#decl-zco_common-1920--field-)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L1924-L1943` · confidence 0.9 · `ZCOC0050#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 전표 전기 인터페이스를 연다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1960-L1972` · confidence 0.9 · `ZCOC0050#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 세션을 즉시 처리한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L1981-L1983` · confidence 0.9 · `ZCOC0050#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한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-71-ftpost), [`GV_FTPOST_TYPE`](#decl-zco_common-74-gv_ftpost_type), [`GV_FTPOST_CNT`](#decl-zco_common-75-gv_ftpost_cnt), [`LV_CURR`](#decl-zco_common-2002-lv_curr), [`GV_FTPOST_WAERS`](#decl-zco_common-76-gv_ftpost_waers)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L2004-L2021` · confidence 0.85 · `ZCOC0050#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에 넘겨 사용자에게 보여줄 메시지 문장을 생성한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L2037-L2046` · confidence 0.9 · `ZCOC0050#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)을 구하고, 예외 발생 시 달력 연도·월을 대신 사용한다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L2062-L2082` · confidence 0.95 · `ZCOC0050#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 금액 필드에 넣을 값을 만든다.
|
|
|
|
```abap
|
|
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://ZCOC0050/ZCO_COMMON#L2128-L2133` · confidence 0.9 · `ZCOC0050#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)로 계획 버전 텍스트를 조회해 선택화면 표시용으로 반환한다.
|
|
|
|
```abap
|
|
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](/tables/TKT09.md) / write -
|
|
- SAP 객체: TKT09
|
|
- 업무 키워드: 계획 버전 텍스트, 관리회계영역
|
|
- English: Plan Version, TKT09, Controlling Area
|
|
- 정의부(복사 시 함께 필요): [`P_KOKRS`](#decl-zcoc0050top-104-p_kokrs)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L2171-L2176` · confidence 0.95 · `ZCOC0050#ZCO_COMMON#FORM#GET_VERSN_TEXT#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에 담고, 업로드 실패나 데이터 없음이면 메시지를 출력하고 종료한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-5-alsmex_tabline), [`LT_INTERN`](#decl-zco_common-2198-lt_intern)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L2203-L2226` · confidence 0.95 · `ZCOC0050#ZCO_COMMON#FORM#UPLOAD_XLS_STRUCT#C1`
|
|
|
|
#### [calculation] 행·열 순으로 정렬한 셀 값을 열 번호에 해당하는 구조체 컴포넌트에 ASSIGN COMPONENT로 옮기고(숫자 값은 콤마 제거), 행이 끝날 때마다 P_TABLE에 APPEND한다.
|
|
|
|
```abap
|
|
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`](#decl-zco_common-5-alsmex_tabline), [`LT_INTERN`](#decl-zco_common-2198-lt_intern), [`LV_INDEX`](#decl-zco_common-2200-lv_index), [`<FS_LINE>`](#decl-zco_common-2201--fs_line-)
|
|
- 위치: `abap://ZCOC0050/ZCO_COMMON#L2228-L2242` · confidence 0.9 · `ZCOC0050#ZCO_COMMON#FORM#UPLOAD_XLS_STRUCT#C2`
|
|
|
|
### FORM EXECUTE_BAPI — `ZCOC0050F01` L508-L535 (28줄)
|
|
|
|
*중복 전기를 막고 '예산을 추경하시겠습니까?' 확인 후 BAPI_POST_SENDER로 추경을 전기하고 INSERT_LOG로 ZCOT0020 이력을 남긴다.*
|
|
|
|
> 이 unit 의 조각 1개가 18/28줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [control_flow] 이미 처리한 경우 오류로 중단하고, POPUP_TO_CONFIRM_02로 추경 실행을 확인받아 'J'이면 GV_ALREADY_POST를 세운 뒤 BAPI_POST_SENDER(추경 전기)와 INSERT_LOG(ZCOT0020 로그)를 실행한다.
|
|
|
|
```abap
|
|
517| IF GV_ALREADY_POST = 'X'.
|
|
518| MESSAGE S000 DISPLAY LIKE 'E' WITH
|
|
519| '이미 처리하였습니다'(F07).
|
|
520| EXIT.
|
|
521| ENDIF.
|
|
522|
|
|
523|
|
|
524| PERFORM POPUP_TO_CONFIRM_02 USING 'Confirm'
|
|
525| '예산을 추경하시겠습니까?'(F08) ' '
|
|
526| CHANGING L_ANSWER.
|
|
527| IF L_ANSWER <> 'J'.
|
|
528| EXIT.
|
|
529| ENDIF.
|
|
530|
|
|
531| GV_ALREADY_POST = 'X'.
|
|
532|
|
|
533| PERFORM BAPI_POST_SENDER.
|
|
534| PERFORM INSERT_LOG.
|
|
```
|
|
|
|
- **EN**: Block duplicate posting, ask confirmation via POPUP_TO_CONFIRM_02, then run BAPI_POST_SENDER to post the supplementary budget and INSERT_LOG to write the ZCOT0020 log.
|
|
- 호출(파서): POPUP_TO_CONFIRM_02, BAPI_POST_SENDER, INSERT_LOG
|
|
- SAP 객체: POPUP_TO_CONFIRM_02, ZCOT0020
|
|
- 업무 키워드: 중복 전기 방지, 확인 팝업, 추경 전기, 이력 저장
|
|
- English: Duplicate Posting Check, Confirmation Popup, Supplementary Budget, Budget Adjustment Log
|
|
- 정의부(복사 시 함께 필요): [`GV_ALREADY_POST`](#decl-zcoc0050top-23-gv_already_post), [`L_ANSWER`](#decl-zcoc0050f01-510-l_answer)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L517-L534` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#EXECUTE_BAPI#C1`
|
|
|
|
### FORM BAPI_POST_SENDER — `ZCOC0050F01` L544-L622 (79줄)
|
|
|
|
*GT_DATA 라인별로 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')를 호출해 추경 금액을 원가 계획으로 전기하고 커밋/롤백 결과를 상태·메시지에 반영한다.*
|
|
|
|
> 이 unit 의 조각 1개가 50/79줄(63%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [fm_call] GT_DATA 각 라인마다 FILL_TABLES로 헤더·항목을 만든 뒤 BAPI_COSTACTPLN_POSTPRIMCOST를 DELTA='X'로 호출하고, RETURN이 비면 BAPI_TRANSACTION_COMMIT 후 상태 GREEN·성공메시지(GP 510)·BAPI_RESULT 'S', 오류면 ROLLBACK 후 마지막 RETURN 메시지와 상태 RED·BAPI_RESULT 'E'를 기록한다.
|
|
|
|
```abap
|
|
567| LOOP AT GT_DATA.
|
|
568| CLEAR : GT_DATA-MSG_LIST, GT_DATA-MSG_LIST[].
|
|
569|
|
|
570| PERFORM FILL_TABLES
|
|
571| TABLES LT_INDEXSTRUCTURE
|
|
572| LT_COOBJECT
|
|
573| LT_TOTVALUE
|
|
574| USING LV_PERIOD
|
|
575| CHANGING LS_HEADERINFO.
|
|
576|
|
|
577| CALL FUNCTION 'BAPI_COSTACTPLN_POSTPRIMCOST'
|
|
578| EXPORTING
|
|
579| HEADERINFO = LS_HEADERINFO
|
|
580| DELTA = 'X'
|
|
581| TABLES
|
|
582| INDEXSTRUCTURE = LT_INDEXSTRUCTURE
|
|
583| COOBJECT = LT_COOBJECT
|
|
584| PERVALUE = LT_PERVALUE
|
|
585| TOTVALUE = LT_TOTVALUE
|
|
586| CONTRL = LT_CONTRL
|
|
587| RETURN = LT_RETURN.
|
|
588|
|
|
589| IF LT_RETURN[] IS INITIAL.
|
|
590| CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
|
|
591| EXPORTING
|
|
592| WAIT = 'X'.
|
|
593|
|
|
594| GT_DATA-STATUS = GC_STATUS_GREEN.
|
|
595| MESSAGE ID 'GP' TYPE 'S' NUMBER '510'
|
|
596| INTO GT_DATA-MESSAGE
|
|
597| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
|
|
598|
|
|
599| GT_DATA-BAPI_RESULT = 'S'.
|
|
600|
|
|
601| * PERFORM INSERT_LOG.
|
|
602|
|
|
603| ELSE.
|
|
604| CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
|
|
605|
|
|
606| LOOP AT LT_RETURN INTO LS_RETURN.
|
|
607| ENDLOOP.
|
|
608|
|
|
609| GT_DATA-BAPI_RESULT = 'E'.
|
|
610|
|
|
611| GT_DATA-MESSAGE = LS_RETURN-MESSAGE.
|
|
612| GT_DATA-STATUS = GC_STATUS_RED.
|
|
613| ENDIF.
|
|
614|
|
|
615| MODIFY GT_DATA. CLEAR : GT_DATA.
|
|
616| ENDLOOP.
|
|
```
|
|
|
|
- **EN**: For each GT_DATA line build BAPI tables and call BAPI_COSTACTPLN_POSTPRIMCOST with DELTA='X'; commit and mark GREEN/'S' with message GP 510 on empty RETURN, otherwise rollback and mark RED/'E' with the last RETURN message.
|
|
- 테이블(파서): read - / write [GT_DATA](/tables/GT_DATA.md)
|
|
- 호출(파서): FILL_TABLES, BAPI_COSTACTPLN_POSTPRIMCOST, BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK
|
|
- SAP 객체: BAPI_COSTACTPLN_POSTPRIMCOST, BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, BAPIRET2
|
|
- 업무 키워드: 추경 전기, 계획값 델타 전기, 라인별 커밋, 롤백, 오류 메시지, 원가요소 계획
|
|
- English: Supplementary Budget, Primary Cost Planning, Delta Posting, BAPI Commit, Rollback
|
|
- 정의부(복사 시 함께 필요): [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`LT_INDEXSTRUCTURE`](#decl-zcoc0050f01-546-lt_indexstructure), [`LT_COOBJECT`](#decl-zcoc0050f01-547-lt_coobject), [`LT_TOTVALUE`](#decl-zcoc0050f01-549-lt_totvalue), [`LV_PERIOD`](#decl-zcoc0050f01-554-lv_period), [`LS_HEADERINFO`](#decl-zcoc0050f01-545-ls_headerinfo), [`LT_PERVALUE`](#decl-zcoc0050f01-548-lt_pervalue), [`LT_CONTRL`](#decl-zcoc0050f01-550-lt_contrl), [`LT_RETURN`](#decl-zcoc0050f01-551-lt_return), [`GC_STATUS_GREEN`](#decl-zco_alv-128-gc_status_green), [`LS_RETURN`](#decl-zcoc0050f01-552-ls_return), [`GC_STATUS_RED`](#decl-zco_alv-130-gc_status_red)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L567-L616` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#BAPI_POST_SENDER#C1`
|
|
|
|
### FORM FILL_TABLES — `ZCOC0050F01` L634-L701 (68줄)
|
|
|
|
*현재 GT_DATA 한 라인에 대해 BAPI_COSTACTPLN_POSTPRIMCOST용 헤더(추경 버전 B11, 월 P_PERBL, 헤더텍스트 BLTXT)와 코스트센터/원가요소/금액 테이블을 구성한다.*
|
|
|
|
> 이 unit 의 조각 2개가 41/68줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [interface] BAPI 헤더(BAPIPLNHDR)에 관리회계영역, 회계연도, 추경 월(P_PERIOD), 추경 계획버전 GC_VERSN, 라인의 헤더텍스트 BLTXT, 계획통화유형을 설정한다.
|
|
|
|
```abap
|
|
657| ES_HEADERINFO-CO_AREA = P_KOKRS.
|
|
658| ES_HEADERINFO-FISC_YEAR = P_GJAHR.
|
|
659| ES_HEADERINFO-PERIOD_FROM = P_PERIOD.
|
|
660| ES_HEADERINFO-PERIOD_TO = P_PERIOD.
|
|
661| ES_HEADERINFO-VERSION = GC_VERSN.
|
|
662| ES_HEADERINFO-DOC_HDR_TX = GT_DATA-BLTXT.
|
|
663| ES_HEADERINFO-PLAN_CURRTYPE = GC_PLAN_CURR.
|
|
```
|
|
|
|
- **EN**: Fill BAPIPLNHDR with controlling area, fiscal year, period, supplementary plan version, line header text BLTXT and plan currency type.
|
|
- SAP 객체: BAPIPLNHDR, BAPI_COSTACTPLN_POSTPRIMCOST
|
|
- 업무 키워드: BAPI 헤더, 계획버전, 추경 월, 헤더 텍스트
|
|
- English: Plan Version, Controlling Area, Period, Document Header Text
|
|
- 정의부(복사 시 함께 필요): [`P_KOKRS`](#decl-zcoc0050top-104-p_kokrs), [`P_GJAHR`](#decl-zcoc0050top-113-p_gjahr), [`GC_VERSN`](#decl-zcoc0050top-32-gc_versn), [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`GC_PLAN_CURR`](#decl-zcoc0050top-33-gc_plan_curr)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L657-L663` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#FILL_TABLES#C1`
|
|
|
|
#### [interface] GT_DATA-WKG001을 동적으로 참조해 0이 아니면 인덱스·코스트센터(BAPIPCPOBJ)·원가요소/고정값(BAPIPCPTOT)을 채우고 CONV_VIEW_WAERS로 통화 형식 변환한 추경금액과 거래통화 P_TWAER를 설정한다.
|
|
|
|
```abap
|
|
667| ASSIGN (LV_FIELD) TO <FS_VALUE>.
|
|
668|
|
|
669| CHECK SY-SUBRC EQ 0.
|
|
670|
|
|
671| CLEAR : LV_INDEX.
|
|
672|
|
|
673| CHECK <FS_VALUE> NE 0.
|
|
674|
|
|
675| ADD 1 TO LV_INDEX.
|
|
676|
|
|
677| ET_INDEXSTRUCTURE-OBJECT_INDEX = LV_INDEX.
|
|
678| ET_INDEXSTRUCTURE-VALUE_INDEX = LV_INDEX.
|
|
679| APPEND ET_INDEXSTRUCTURE TO ET_INDEXSTRUCTURE.
|
|
680|
|
|
681| ET_COOBJECT-OBJECT_INDEX = LV_INDEX.
|
|
682| ET_COOBJECT-COSTCENTER = GT_DATA-KOSTL.
|
|
683| APPEND ET_COOBJECT TO ET_COOBJECT.
|
|
684|
|
|
685| ET_TOTVALUE-VALUE_INDEX = LV_INDEX.
|
|
686| ET_TOTVALUE-COST_ELEM = GT_DATA-KSTAR.
|
|
687|
|
|
688| LV_VALUE = <FS_VALUE>.
|
|
689|
|
|
690| * IF P_GUBUN = 'P'. " C와 R일 경우에는 해당 금액 그대로.
|
|
691| * LV_VALUE = LV_VALUE * -1.
|
|
692| * ENDIF.
|
|
693|
|
|
694| PERFORM CONV_VIEW_WAERS USING LV_VALUE GV_WAERS
|
|
695| CHANGING LV_C_VALUE.
|
|
696|
|
|
697| ET_TOTVALUE-FIX_VALUE = LV_C_VALUE.
|
|
698| ET_TOTVALUE-TRANS_CURR = P_TWAER.
|
|
699| ET_TOTVALUE-TRANS_CURRENCY_ISO = P_TWAER.
|
|
700| APPEND ET_TOTVALUE TO ET_TOTVALUE.
|
|
```
|
|
|
|
- **EN**: Dynamically read GT_DATA-WKG001 and, if non-zero, append index structure, cost center object and cost element total value with the currency-converted amount and transaction currency for the BAPI.
|
|
- 호출(파서): CONV_VIEW_WAERS
|
|
- SAP 객체: BAPIACPSTRU, BAPIPCPOBJ, BAPIPCPTOT
|
|
- 업무 키워드: BAPI 테이블 구성, 코스트센터, 원가요소, 추경 금액, 거래통화
|
|
- English: Cost Center, Cost Element, Primary Cost Planning, Transaction Currency
|
|
- 정의부(복사 시 함께 필요): [`LV_FIELD`](#decl-zcoc0050f01-641-lv_field), [`<FS_VALUE>`](#decl-zcoc0050f01-644--fs_value-), [`LV_INDEX`](#decl-zcoc0050f01-642-lv_index), [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`LV_VALUE`](#decl-zcoc0050f01-646-lv_value), [`GV_WAERS`](#decl-zco_common-52-gv_waers), [`LV_C_VALUE`](#decl-zcoc0050f01-647-lv_c_value), [`P_TWAER`](#decl-zcoc0050top-110-p_twaer)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L667-L700` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#FILL_TABLES#C2`
|
|
|
|
### FORM INSERT_LOG — `ZCOC0050F01` L751-L797 (47줄)
|
|
|
|
*BAPI 전기에 성공한 추경 라인을 예산조정 이력 테이블 ZCOT0020(BGTYPE '10' 추경)에 로그로 저장한다.*
|
|
|
|
> 이 unit 의 조각 2개가 35/47줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [fm_call] Z_CO_GET_BGSEQ로 오늘 날짜 기준 예산조정 이력 시작 순번(SEQ)을 채번한다.
|
|
|
|
```abap
|
|
760| CALL FUNCTION 'Z_CO_GET_BGSEQ'
|
|
761| EXPORTING
|
|
762| I_ADJUST_DATE = SY-DATUM
|
|
763| IMPORTING
|
|
764| E_RESULTMSG = LV_RESULTMSG
|
|
765| E_RESULTCODE = LV_RESULTCODE
|
|
766| E_SEQ = LV_SEQ.
|
|
```
|
|
|
|
- **EN**: Call Z_CO_GET_BGSEQ to obtain the next sequence number for today's budget adjustment log.
|
|
- 호출(파서): Z_CO_GET_BGSEQ
|
|
- SAP 객체: Z_CO_GET_BGSEQ, ZCOT0020
|
|
- 업무 키워드: 순번 채번, 예산조정 이력
|
|
- English: Sequence Number, Budget Adjustment Log
|
|
- 정의부(복사 시 함께 필요): [`LV_RESULTMSG`](#decl-zcoc0050f01-753-lv_resultmsg), [`LV_RESULTCODE`](#decl-zcoc0050f01-754-lv_resultcode), [`LV_SEQ`](#decl-zcoc0050f01-752-lv_seq)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L760-L766` · confidence 0.9 · `ZCOC0050#ZCOC0050F01#FORM#INSERT_LOG#C1`
|
|
|
|
#### [db_write] BAPI 성공(BAPI_RESULT='S') 라인마다 코스트센터·원가요소·월·추경금액(WKG001)·헤더텍스트를 담아 BGTYPE '10'(추경), BGSRC '01'로 ZCOT0020에 MODIFY 저장한다.
|
|
|
|
```abap
|
|
768| LOOP AT GT_DATA WHERE BAPI_RESULT = 'S'.
|
|
769| LT_ZCOT0020-ADJUST_DATE = SY-DATUM.
|
|
770| LT_ZCOT0020-KOKRS = P_KOKRS.
|
|
771| LT_ZCOT0020-BGTYPE = '10'. " 추경
|
|
772| LT_ZCOT0020-SEQ = LV_SEQ.
|
|
773| LT_ZCOT0020-GJAHR = P_GJAHR.
|
|
774| LT_ZCOT0020-SEND_KOSTL = GT_DATA-KOSTL.
|
|
775| LT_ZCOT0020-SEND_PERBL = P_PERBL.
|
|
776| LT_ZCOT0020-SEND_KSTAR = GT_DATA-KSTAR.
|
|
777| LT_ZCOT0020-RECV_KOSTL = GT_DATA-KOSTL.
|
|
778| LT_ZCOT0020-RECV_PERBL = P_PERBL.
|
|
779| LT_ZCOT0020-RECV_KSTAR = GT_DATA-KSTAR.
|
|
780| LT_ZCOT0020-TRANS_WKG = GT_DATA-WKG001.
|
|
781| LT_ZCOT0020-TWAER = P_TWAER.
|
|
782| LT_ZCOT0020-BLTXT = GT_DATA-BLTXT.
|
|
783| LT_ZCOT0020-ERNAM = SY-UNAME.
|
|
784| LT_ZCOT0020-ERZEIT = SY-UZEIT.
|
|
785| LT_ZCOT0020-BGSRC = '01'. " SAP에서 입력
|
|
786| * LT_ZCOT0020-ERDAT = SY-DATUM.
|
|
787| APPEND LT_ZCOT0020.
|
|
788| CLEAR : LT_ZCOT0020.
|
|
789|
|
|
790| LV_SEQ = LV_SEQ + 1.
|
|
791| ENDLOOP.
|
|
792|
|
|
793| IF LT_ZCOT0020[] IS NOT INITIAL.
|
|
794| MODIFY ZCOT0020 FROM TABLE LT_ZCOT0020.
|
|
795| ENDIF.
|
|
```
|
|
|
|
- **EN**: For each successfully posted line build a ZCOT0020 record (cost center, cost element, period, supplementary amount WKG001, header text, BGTYPE '10' supplementary, BGSRC '01') and MODIFY the budget adjustment log.
|
|
- 테이블(파서): read - / write [ZCOT0020](/tables/ZCOT0020.md)
|
|
- SAP 객체: ZCOT0020
|
|
- 업무 키워드: 추경 로그, 예산조정 이력, 코스트센터, 원가요소, 추경 금액, 로그 저장
|
|
- English: Budget Adjustment Log, Supplementary Budget, Cost Center, Cost Element, Database Update
|
|
- 정의부(복사 시 함께 필요): [`GT_DATA`](#decl-zcoc0050top-54-gt_data), [`LT_ZCOT0020`](#decl-zcoc0050f01-756-lt_zcot0020), [`P_KOKRS`](#decl-zcoc0050top-104-p_kokrs), [`LV_SEQ`](#decl-zcoc0050f01-752-lv_seq), [`P_GJAHR`](#decl-zcoc0050top-113-p_gjahr), [`P_PERBL`](#decl-zcoc0050top-114-p_perbl), [`P_TWAER`](#decl-zcoc0050top-110-p_twaer)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L768-L795` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#INSERT_LOG#C2`
|
|
|
|
### FORM DEQUEUE_ZCOT0020 — `ZCOC0050F01` L735-L742 (8줄)
|
|
|
|
*예산조정 이력 테이블 ZCOT0020에 걸어둔 잠금을 DEQUEUE_EZ_ZCOT0020으로 해제한다.*
|
|
|
|
> 이 unit 의 조각 1개가 4/8줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [fm_call] 프로그램 종료 시 예산조정 이력 테이블 ZCOT0020의 잠금을 DEQUEUE_EZ_ZCOT0020으로 해제하여 다른 사용자가 처리할 수 있게 한다.
|
|
|
|
```abap
|
|
737| CALL FUNCTION 'DEQUEUE_EZ_ZCOT0020'
|
|
738| EXPORTING
|
|
739| MODE_ZCOT0020 = 'X'
|
|
740| MANDT = SY-MANDT.
|
|
```
|
|
|
|
- **EN**: Release the lock on budget adjustment log table ZCOT0020 via DEQUEUE_EZ_ZCOT0020 when leaving the program.
|
|
- 호출(파서): DEQUEUE_EZ_ZCOT0020
|
|
- SAP 객체: DEQUEUE_EZ_ZCOT0020, ZCOT0020
|
|
- 업무 키워드: 잠금 해제, 예산조정 이력, 동시성 제어
|
|
- English: Dequeue, Lock Object, Budget Adjustment Log
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L737-L740` · confidence 0.95 · `ZCOC0050#ZCOC0050F01#FORM#DEQUEUE_ZCOT0020#C1`
|
|
|
|
### FORM CALL_BG_REPORT — `ZCOC0050F01` L806-L810 (5줄)
|
|
|
|
*부서 예산 리포트 트랜잭션 ZCOR0030을 호출한다.*
|
|
|
|
> 이 unit 의 조각 1개가 1/5줄(20%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [interface] ALV 화면의 조회 버튼(&DIP)에서 부서 예산 현황 리포트 트랜잭션 ZCOR0030을 호출한다.
|
|
|
|
```abap
|
|
808| CALL TRANSACTION 'ZCOR0030'.
|
|
```
|
|
|
|
- **EN**: Call transaction ZCOR0030 to display the department budget report.
|
|
- 호출(파서): ZCOR0030
|
|
- SAP 객체: ZCOR0030
|
|
- 업무 키워드: 예산 리포트 조회, 트랜잭션 호출
|
|
- English: Call Transaction, Budget Report
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L808-L808` · confidence 0.85 · `ZCOC0050#ZCOC0050F01#FORM#CALL_BG_REPORT#C1`
|
|
|
|
### FORM CALL_BG_ADJ_LOG — `ZCOC0050F01` L819-L823 (5줄)
|
|
|
|
*예산조정 이력 조회 트랜잭션 ZCOR0040을 호출한다.*
|
|
|
|
> 이 unit 의 조각 1개가 1/5줄(20%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [interface] ALV 화면의 로그 버튼(&LOG)에서 예산조정 이력(ZCOT0020) 조회 트랜잭션 ZCOR0040을 호출한다.
|
|
|
|
```abap
|
|
821| CALL TRANSACTION 'ZCOR0040'.
|
|
```
|
|
|
|
- **EN**: Call transaction ZCOR0040 to display the budget adjustment log.
|
|
- 호출(파서): ZCOR0040
|
|
- SAP 객체: ZCOR0040
|
|
- 업무 키워드: 예산조정 이력 조회, 트랜잭션 호출
|
|
- English: Call Transaction, Budget Adjustment Log
|
|
- 위치: `abap://ZCOC0050/ZCOC0050F01#L821-L821` · confidence 0.85 · `ZCOC0050#ZCOC0050F01#FORM#CALL_BG_ADJ_LOG#C1`
|
|
|
|
### MODULE USER_COMMAND_0100 INPUT — `ZCOC0050I01` L6-L36 (31줄)
|
|
|
|
*화면 100의 기능코드에 따라 종료(컨테이너 정리·잠금 해제), 추경 전기(&POST), 예산 리포트(&DIP, ZCOR0030), 예산조정 로그(&LOG, ZCOR0040) 호출을 분기하는 PAI 모듈이다.*
|
|
|
|
> 이 unit 의 조각 1개가 26/31줄(84%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
|
|
|
|
#### [control_flow] BACK/CANC/EXIT 시 ALV 컨테이너 해제와 ZCOT0020 잠금 해제 후 화면을 나가고, &POST 시 추경 BAPI 전기(EXECUTE_BAPI), &DIP 시 예산 리포트 ZCOR0030, &LOG 시 예산조정 이력 ZCOR0040 트랜잭션을 호출한다.
|
|
|
|
```abap
|
|
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| PERFORM DEQUEUE_ZCOT0020 .
|
|
18|
|
|
19| IF GV_T_OK_CODE = 'EXIT'.
|
|
20| LEAVE PROGRAM.
|
|
21| ELSE.
|
|
22| LEAVE TO SCREEN 0.
|
|
23| ENDIF.
|
|
24| "Function Code 맵핑
|
|
25| WHEN '&POST'.
|
|
26| PERFORM EXECUTE_BAPI.
|
|
27| WHEN '&DIP'.
|
|
28| PERFORM CALL_BG_REPORT.
|
|
29| WHEN '&LOG'.
|
|
30| PERFORM CALL_BG_ADJ_LOG.
|
|
31|
|
|
32| WHEN OTHERS.
|
|
33| * LEAVE PROGRAM.
|
|
34| ENDCASE.
|
|
```
|
|
|
|
- **EN**: Dispatch screen 100 OK codes: leave with container cleanup and dequeue on BACK/CANC/EXIT, run supplementary budget BAPI posting on &POST, call budget report ZCOR0030 on &DIP and adjustment log ZCOR0040 on &LOG.
|
|
- 호출(파서): CLEAR_CONTAINER_PROC, DEQUEUE_ZCOT0020, EXECUTE_BAPI, CALL_BG_REPORT, CALL_BG_ADJ_LOG
|
|
- SAP 객체: ZCOR0030, ZCOR0040, ZCOT0020
|
|
- 업무 키워드: 기능코드 분기, 추경 전기, 예산 리포트 호출, 예산조정 로그, 잠금 해제
|
|
- English: User Command, Supplementary Budget, Posting, Call Transaction, Dequeue
|
|
- 정의부(복사 시 함께 필요): [`GV_T_OK_CODE`](#decl-zcoc0050top-15-gv_t_ok_code), [`LCL_DEF_GRID`](#decl-zco_alv-203-lcl_def_grid), [`GO_ALV1`](#decl-zco_alv-161-go_alv1), [`GO_DOCKING_CONT1`](#decl-zco_alv-183-go_docking_cont1), [`GO_SPLITTER1`](#decl-zco_alv-167-go_splitter1), [`GO_CONTAINER_TOP1`](#decl-zco_alv-149-go_container_top1), [`GO_CONTAINER_ALV1`](#decl-zco_alv-150-go_container_alv1), [`GO_HTML_VIEW1`](#decl-zco_alv-193-go_html_view1), [`LCL_DEF_RECEIVER`](#decl-zcoc0050c01-5-lcl_def_receiver), [`GO_EVENT_RECEIVER1`](#decl-zco_alv-179-go_event_receiver1)
|
|
- 위치: `abap://ZCOC0050/ZCOC0050I01#L9-L34` · confidence 0.9 · `ZCOC0050#ZCOC0050I01#MODULE#USER_COMMAND_0100_INPUT#C1`
|
|
|
|
## 정의부 (325건)
|
|
|
|
로직 조각을 다른 프로그램으로 옮겨 붙일 때 **함께 가야 하는 선언**이다. 조각별로 무엇이 필요한지는 위 조각 항목의 `정의부` 줄에 있고(이름을 누르면 여기로 온다), 붙여넣기용으로 의존까지 묶은 코드는 `GET /chunks/<chunk_id>` 의 `declaration_code` 로 받는다.
|
|
|
|
### `ZCOC0050C01` (1건)
|
|
|
|
#### LCL_DEF_RECEIVER — class · L5-L56 {#decl-zcoc0050c01-5-lcl_def_receiver}
|
|
|
|
```abap
|
|
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
|
|
```
|
|
|
|
### `ZCOC0050TOP` (33건)
|
|
|
|
#### IBRTT — type-pool · L1-L1 {#decl-zcoc0050top-1-ibrtt}
|
|
|
|
```abap
|
|
TYPE-POOLS : IBRTT, VRM, ICON.
|
|
```
|
|
|
|
#### ICON — type-pool · L1-L1 {#decl-zcoc0050top-1-icon}
|
|
|
|
```abap
|
|
TYPE-POOLS : IBRTT, VRM, ICON.
|
|
```
|
|
|
|
#### VRM — type-pool · L1-L1 {#decl-zcoc0050top-1-vrm}
|
|
|
|
```abap
|
|
TYPE-POOLS : IBRTT, VRM, ICON.
|
|
```
|
|
|
|
#### ICON — tables · L2-L2 {#decl-zcoc0050top-2-icon}
|
|
|
|
```abap
|
|
TABLES : ICON, SSCRFIELDS.
|
|
```
|
|
|
|
#### SSCRFIELDS — tables · L2-L2 {#decl-zcoc0050top-2-sscrfields}
|
|
|
|
```abap
|
|
TABLES : ICON, SSCRFIELDS.
|
|
```
|
|
|
|
#### ISELLIST — tables · L3-L3 {#decl-zcoc0050top-3-isellist}
|
|
|
|
```abap
|
|
TABLES : ISELLIST. " 선택한 달력 조회
|
|
```
|
|
|
|
#### DD03L — tables · L4-L4 {#decl-zcoc0050top-4-dd03l}
|
|
|
|
```abap
|
|
TABLES : DD03L.
|
|
```
|
|
|
|
#### GV_OK_CODE — data · L14-L14 {#decl-zcoc0050top-14-gv_ok_code}
|
|
|
|
```abap
|
|
DATA : GV_OK_CODE LIKE SY-UCOMM.
|
|
```
|
|
|
|
#### GV_T_OK_CODE — data · L15-L15 {#decl-zcoc0050top-15-gv_t_ok_code}
|
|
|
|
```abap
|
|
DATA : GV_T_OK_CODE LIKE SY-UCOMM.
|
|
```
|
|
|
|
#### GT_UCOMM — data · L17-L17 {#decl-zcoc0050top-17-gt_ucomm}
|
|
|
|
```abap
|
|
DATA : GT_UCOMM TYPE TABLE OF SY-UCOMM.
|
|
```
|
|
|
|
#### GV_LOCK — data · L21-L21 {#decl-zcoc0050top-21-gv_lock}
|
|
|
|
```abap
|
|
DATA : GV_LOCK(1) TYPE C. " Locking
|
|
```
|
|
|
|
#### GV_UPLOAD_ERROR — data · L22-L22 {#decl-zcoc0050top-22-gv_upload_error}
|
|
|
|
```abap
|
|
DATA : GV_UPLOAD_ERROR(1) TYPE C. " 업로드 오류
|
|
```
|
|
|
|
#### GV_ALREADY_POST — data · L23-L23 {#decl-zcoc0050top-23-gv_already_post}
|
|
|
|
```abap
|
|
DATA : GV_ALREADY_POST(1) TYPE C. " 실행 여부
|
|
```
|
|
|
|
#### GV_POST_ERROR — data · L24-L24 {#decl-zcoc0050top-24-gv_post_error}
|
|
|
|
```abap
|
|
DATA : GV_POST_ERROR(1) TYPE C. " 전기 오류
|
|
```
|
|
|
|
#### GC_MAIN_ITAB_NAME — constants · L29-L30 {#decl-zcoc0050top-29-gc_main_itab_name}
|
|
|
|
```abap
|
|
CONSTANTS : GC_MAIN_ITAB_NAME TYPE DD03L-TABNAME
|
|
VALUE 'GT_DATA'.
|
|
```
|
|
|
|
#### GC_SMW0 — constants · L31-L31 {#decl-zcoc0050top-31-gc_smw0}
|
|
|
|
```abap
|
|
CONSTANTS : GC_SMW0 TYPE W3_QVALUE VALUE 'ZCOC0050'.
|
|
```
|
|
|
|
#### GC_VERSN — constants · L32-L32 {#decl-zcoc0050top-32-gc_versn}
|
|
|
|
```abap
|
|
CONSTANTS : GC_VERSN LIKE COSP-VERSN VALUE 'B11'. " 추경
|
|
```
|
|
|
|
#### GC_PLAN_CURR — constants · L33-L33 {#decl-zcoc0050top-33-gc_plan_curr}
|
|
|
|
```abap
|
|
CONSTANTS : GC_PLAN_CURR TYPE COPLN_CURR VALUE 'C'.
|
|
```
|
|
|
|
#### GT_MAIN_FIELDCAT — data · L39-L39 {#decl-zcoc0050top-39-gt_main_fieldcat}
|
|
|
|
```abap
|
|
DATA : GT_MAIN_FIELDCAT TYPE LVC_T_FCAT.
|
|
```
|
|
|
|
#### GT_UPLOAD — data · L44-L49 {#decl-zcoc0050top-44-gt_upload}
|
|
|
|
```abap
|
|
DATA : BEGIN OF GT_UPLOAD OCCURS 0,
|
|
KOSTL(10) TYPE C,
|
|
KSTAR(10) TYPE C,
|
|
WKG001(20) TYPE C,
|
|
BLTXT(50) TYPE C,
|
|
END OF GT_UPLOAD.
|
|
```
|
|
|
|
#### GS_UPLOAD — data · L52-L52 {#decl-zcoc0050top-52-gs_upload}
|
|
|
|
```abap
|
|
DATA : GS_UPLOAD LIKE GT_UPLOAD.
|
|
```
|
|
|
|
#### GT_DATA — data · L54-L72 {#decl-zcoc0050top-54-gt_data}
|
|
|
|
```abap
|
|
DATA : BEGIN OF GT_DATA OCCURS 0,
|
|
KOSTL LIKE CSKS-KOSTL,
|
|
KOSTL_T LIKE CSKT-KTEXT,
|
|
KSTAR LIKE CSKA-KSTAR,
|
|
KSTAR_T LIKE CSKU-KTEXT,
|
|
WKG001 LIKE COSP-WKG001,
|
|
BLTXT LIKE COVJ-BLTXT,
|
|
WKG001_VIEW LIKE COSP-WKG001,
|
|
TWAER LIKE COSP-TWAER,
|
|
|
|
BAPI_RESULT TYPE C,
|
|
|
|
EXCEL_LINE TYPE I,
|
|
MARK TYPE C ,
|
|
STATUS LIKE ICON-ID,
|
|
F_COL TYPE LVC_T_SCOL,
|
|
MESSAGE LIKE BDCMSGCOLL-MSGV1,
|
|
MSG_LIST TYPE ZMSG_T_LIST,
|
|
END OF GT_DATA.
|
|
```
|
|
|
|
#### GS_DATA — data · L74-L74 {#decl-zcoc0050top-74-gs_data}
|
|
|
|
```abap
|
|
DATA : GS_DATA LIKE GT_DATA.
|
|
```
|
|
|
|
#### GT_LOG_POP — data · L76-L80 {#decl-zcoc0050top-76-gt_log_pop}
|
|
|
|
```abap
|
|
DATA : BEGIN OF GT_LOG_POP OCCURS 0,
|
|
STATUS LIKE ICON-ID,
|
|
KOSTL LIKE CSKS-KOSTL,
|
|
MESSAGE LIKE BDCMSGCOLL-MSGV1,
|
|
END OF GT_LOG_POP.
|
|
```
|
|
|
|
#### W_POPUP_GRID — data · L83-L83 {#decl-zcoc0050top-83-w_popup_grid}
|
|
|
|
```abap
|
|
DATA : W_POPUP_GRID TYPE REF TO CL_RS_ALV_GRID_POPUP.
|
|
```
|
|
|
|
#### GT_KOSTL — data · L85-L88 {#decl-zcoc0050top-85-gt_kostl}
|
|
|
|
```abap
|
|
DATA : BEGIN OF GT_KOSTL OCCURS 0,
|
|
KOSTL LIKE CSKS-KOSTL,
|
|
KOSTL_T LIKE CSKT-KTEXT,
|
|
END OF GT_KOSTL.
|
|
```
|
|
|
|
#### GT_KSTAR — data · L90-L93 {#decl-zcoc0050top-90-gt_kstar}
|
|
|
|
```abap
|
|
DATA : BEGIN OF GT_KSTAR OCCURS 0,
|
|
KSTAR LIKE CSKB-KSTAR,
|
|
KSTAR_T LIKE CSKU-KTEXT,
|
|
END OF GT_KSTAR.
|
|
```
|
|
|
|
#### GV_ERROR_MSG — data · L95-L95 {#decl-zcoc0050top-95-gv_error_msg}
|
|
|
|
```abap
|
|
DATA : GV_ERROR_MSG LIKE BAPIRET2-MESSAGE.
|
|
```
|
|
|
|
#### P_KOKRS — parameter · L104-L105 {#decl-zcoc0050top-104-p_kokrs}
|
|
|
|
```abap
|
|
PARAMETERS : P_KOKRS LIKE TKA01-KOKRS OBLIGATORY DEFAULT 'KR01'
|
|
MODIF ID MG1.
|
|
```
|
|
|
|
#### P_TWAER — parameter · L110-L111 {#decl-zcoc0050top-110-p_twaer}
|
|
|
|
```abap
|
|
PARAMETER : P_TWAER LIKE COSP-TWAER DEFAULT 'KRW'
|
|
MODIF ID MG1.
|
|
```
|
|
|
|
#### P_GJAHR — parameter · L113-L113 {#decl-zcoc0050top-113-p_gjahr}
|
|
|
|
```abap
|
|
PARAMETER : P_GJAHR LIKE COSP-GJAHR OBLIGATORY DEFAULT SY-DATUM+0(4).
|
|
```
|
|
|
|
#### P_PERBL — parameter · L114-L114 {#decl-zcoc0050top-114-p_perbl}
|
|
|
|
```abap
|
|
PARAMETER : P_PERBL LIKE COSP-PERBL OBLIGATORY DEFAULT SY-DATUM+4(2).
|
|
```
|
|
|
|
#### P_FNAME — parameter · L119-L120 {#decl-zcoc0050top-119-p_fname}
|
|
|
|
```abap
|
|
PARAMETER : P_FNAME TYPE RLGRAP-FILENAME
|
|
MEMORY ID ZCOC0050_P_FNAME.
|
|
```
|
|
|
|
### `ZCO_ALV` (123건)
|
|
|
|
#### F4TYP — type-pool · L9-L9 {#decl-zco_alv-9-f4typ}
|
|
|
|
```abap
|
|
TYPE-POOLS : SLIS, F4TYP, SDYDO.
|
|
```
|
|
|
|
#### SDYDO — type-pool · L9-L9 {#decl-zco_alv-9-sdydo}
|
|
|
|
```abap
|
|
TYPE-POOLS : SLIS, F4TYP, SDYDO.
|
|
```
|
|
|
|
#### SLIS — type-pool · L9-L9 {#decl-zco_alv-9-slis}
|
|
|
|
```abap
|
|
TYPE-POOLS : SLIS, F4TYP, SDYDO.
|
|
```
|
|
|
|
#### T_MSG — types · L11-L19 {#decl-zco_alv-11-t_msg}
|
|
|
|
```abap
|
|
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 {#decl-zco_alv-20-gs_msg}
|
|
|
|
```abap
|
|
DATA : GS_MSG TYPE T_MSG.
|
|
```
|
|
|
|
#### GT_TOP_OF_PAGE_TXT — data · L22-L26 {#decl-zco_alv-22-gt_top_of_page_txt}
|
|
|
|
```abap
|
|
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 {#decl-zco_alv-28-gc_status_set}
|
|
|
|
```abap
|
|
CONSTANTS : GC_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET'.
|
|
```
|
|
|
|
#### GC_USER_COMMAND — constants · L29-L29 {#decl-zco_alv-29-gc_user_command}
|
|
|
|
```abap
|
|
CONSTANTS : GC_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
|
|
```
|
|
|
|
#### GC_TOP_OF_PAGE — constants · L30-L30 {#decl-zco_alv-30-gc_top_of_page}
|
|
|
|
```abap
|
|
CONSTANTS : GC_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
|
|
```
|
|
|
|
#### GC_TOP_OF_LIST — constants · L31-L31 {#decl-zco_alv-31-gc_top_of_list}
|
|
|
|
```abap
|
|
CONSTANTS : GC_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST'.
|
|
```
|
|
|
|
#### GC_END_OF_LIST — constants · L32-L32 {#decl-zco_alv-32-gc_end_of_list}
|
|
|
|
```abap
|
|
CONSTANTS : GC_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
|
|
```
|
|
|
|
#### GC_DATA_CHANGED — constants · L33-L33 {#decl-zco_alv-33-gc_data_changed}
|
|
|
|
```abap
|
|
CONSTANTS : GC_DATA_CHANGED TYPE SLIS_FORMNAME VALUE 'DATA_CHANGED'.
|
|
```
|
|
|
|
#### GC_HTML_TOP_OF_PAGE — constants · L34-L35 {#decl-zco_alv-34-gc_html_top_of_page}
|
|
|
|
```abap
|
|
CONSTANTS : GC_HTML_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
|
|
'HTML_TOP_OF_PAGE'.
|
|
```
|
|
|
|
#### GC_PRT_TOP_OF_PAGE — constants · L36-L37 {#decl-zco_alv-36-gc_prt_top_of_page}
|
|
|
|
```abap
|
|
CONSTANTS : GC_PRT_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
|
|
'PRT_TOP_OF_PAGE'.
|
|
```
|
|
|
|
#### GV_SAVE — data · L40-L40 {#decl-zco_alv-40-gv_save}
|
|
|
|
```abap
|
|
DATA : GV_SAVE.
|
|
```
|
|
|
|
#### GV_TABIX — data · L41-L41 {#decl-zco_alv-41-gv_tabix}
|
|
|
|
```abap
|
|
DATA : GV_TABIX LIKE SY-TABIX.
|
|
```
|
|
|
|
#### GV_FLD_NAME — data · L42-L42 {#decl-zco_alv-42-gv_fld_name}
|
|
|
|
```abap
|
|
DATA : GV_FLD_NAME(30).
|
|
```
|
|
|
|
#### GV_EXGT_CAUSED_BY_CALLER — data · L43-L43 {#decl-zco_alv-43-gv_exgt_caused_by_caller}
|
|
|
|
```abap
|
|
DATA : GV_EXGT_CAUSED_BY_CALLER.
|
|
```
|
|
|
|
#### GV_REPID — data · L44-L44 {#decl-zco_alv-44-gv_repid}
|
|
|
|
```abap
|
|
DATA : GV_REPID TYPE SY-REPID.
|
|
```
|
|
|
|
#### GV_DYNNR — data · L45-L45 {#decl-zco_alv-45-gv_dynnr}
|
|
|
|
```abap
|
|
DATA : GV_DYNNR TYPE SY-DYNNR.
|
|
```
|
|
|
|
#### GV_PROGRAM_NAME — data · L46-L46 {#decl-zco_alv-46-gv_program_name}
|
|
|
|
```abap
|
|
DATA : GV_PROGRAM_NAME LIKE SY-REPID.
|
|
```
|
|
|
|
#### GV_INCLNAME — data · L47-L47 {#decl-zco_alv-47-gv_inclname}
|
|
|
|
```abap
|
|
DATA : GV_INCLNAME LIKE TRDIR-NAME.
|
|
```
|
|
|
|
#### GV_EXTENSION — data · L48-L48 {#decl-zco_alv-48-gv_extension}
|
|
|
|
```abap
|
|
DATA : GV_EXTENSION TYPE I.
|
|
```
|
|
|
|
#### GS_LAYOUT — data · L51-L51 {#decl-zco_alv-51-gs_layout}
|
|
|
|
```abap
|
|
DATA : GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
|
|
```
|
|
|
|
#### GS_EXGT_CAUSED_BY_USER — data · L52-L52 {#decl-zco_alv-52-gs_exgt_caused_by_user}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_EXGT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER.
|
|
```
|
|
|
|
#### GS_FIELDCAT — data · L53-L53 {#decl-zco_alv-53-gs_fieldcat}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
|
|
```
|
|
|
|
#### GS_SORT — data · L54-L54 {#decl-zco_alv-54-gs_sort}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_SORT TYPE SLIS_SORTINFO_ALV.
|
|
```
|
|
|
|
#### GS_KEYINFO — data · L55-L55 {#decl-zco_alv-55-gs_keyinfo}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_KEYINFO TYPE SLIS_KEYINFO_ALV.
|
|
```
|
|
|
|
#### GS_VARIANT — data · L56-L56 {#decl-zco_alv-56-gs_variant}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_VARIANT TYPE DISVARIANT.
|
|
```
|
|
|
|
#### GS_SCROLL — data · L57-L57 {#decl-zco_alv-57-gs_scroll}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_SCROLL TYPE SLIS_LIST_SCROLL.
|
|
```
|
|
|
|
#### GS_DETAIL_FUNC — data · L58-L58 {#decl-zco_alv-58-gs_detail_func}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_DETAIL_FUNC LIKE DD02L-TABNAME.
|
|
```
|
|
|
|
#### GS_LVC_LAYO1 — data · L60-L60 {#decl-zco_alv-60-gs_lvc_layo1}
|
|
|
|
```abap
|
|
DATA : GS_LVC_LAYO1 TYPE LVC_S_LAYO. " LAYOUT\
|
|
```
|
|
|
|
#### GS_LVC_LAYO2 — data · L61-L61 {#decl-zco_alv-61-gs_lvc_layo2}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_LVC_LAYO2 TYPE LVC_S_LAYO.
|
|
```
|
|
|
|
#### GS_LVC_LAYO3 — data · L62-L62 {#decl-zco_alv-62-gs_lvc_layo3}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_LVC_LAYO3 TYPE LVC_S_LAYO.
|
|
```
|
|
|
|
#### GS_LVC_LAYO4 — data · L63-L63 {#decl-zco_alv-63-gs_lvc_layo4}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_LVC_LAYO4 TYPE LVC_S_LAYO.
|
|
```
|
|
|
|
#### GS_LVC_FCAT — data · L65-L65 {#decl-zco_alv-65-gs_lvc_fcat}
|
|
|
|
```abap
|
|
DATA : GS_LVC_FCAT TYPE LVC_S_FCAT. " FIELDCATALOG
|
|
```
|
|
|
|
#### GS_ROW — data · L67-L67 {#decl-zco_alv-67-gs_row}
|
|
|
|
```abap
|
|
DATA : GS_ROW LIKE LVC_S_ROW.
|
|
```
|
|
|
|
#### GS_COL — data · L68-L68 {#decl-zco_alv-68-gs_col}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_COL LIKE LVC_S_COL.
|
|
```
|
|
|
|
#### GS_STABLE — data · L69-L69 {#decl-zco_alv-69-gs_stable}
|
|
|
|
```abap
|
|
DATA : GS_STABLE TYPE LVC_S_STBL.
|
|
```
|
|
|
|
#### GT_EVENTS — data · L72-L72 {#decl-zco_alv-72-gt_events}
|
|
|
|
```abap
|
|
DATA : GT_EVENTS TYPE SLIS_T_EVENT.
|
|
```
|
|
|
|
#### GT_LISTHEADER — data · L73-L73 {#decl-zco_alv-73-gt_listheader}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LISTHEADER TYPE SLIS_T_LISTHEADER.
|
|
```
|
|
|
|
#### GT_FIELDCAT — data · L74-L74 {#decl-zco_alv-74-gt_fieldcat}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
|
|
```
|
|
|
|
#### GT_SORT — data · L75-L75 {#decl-zco_alv-75-gt_sort}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_SORT TYPE SLIS_T_SORTINFO_ALV.
|
|
```
|
|
|
|
#### GT_EXIT — data · L76-L76 {#decl-zco_alv-76-gt_exit}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_EXIT TYPE SLIS_EVENT_EXIT OCCURS 0.
|
|
```
|
|
|
|
#### GT_PRINT — data · L77-L77 {#decl-zco_alv-77-gt_print}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_PRINT TYPE SLIS_PRINT_ALV.
|
|
```
|
|
|
|
#### GT_UI_FUNCTIONS1 — data · L79-L79 {#decl-zco_alv-79-gt_ui_functions1}
|
|
|
|
```abap
|
|
DATA : GT_UI_FUNCTIONS1 TYPE UI_FUNCTIONS. " TOOLBAR
|
|
```
|
|
|
|
#### GT_UI_FUNCTIONS2 — data · L80-L80 {#decl-zco_alv-80-gt_ui_functions2}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_UI_FUNCTIONS2 TYPE UI_FUNCTIONS.
|
|
```
|
|
|
|
#### GT_UI_FUNCTIONS3 — data · L81-L81 {#decl-zco_alv-81-gt_ui_functions3}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_UI_FUNCTIONS3 TYPE UI_FUNCTIONS.
|
|
```
|
|
|
|
#### GT_UI_FUNCTIONS4 — data · L82-L82 {#decl-zco_alv-82-gt_ui_functions4}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_UI_FUNCTIONS4 TYPE UI_FUNCTIONS.
|
|
```
|
|
|
|
#### GT_LVC_SORT1 — data · L84-L84 {#decl-zco_alv-84-gt_lvc_sort1}
|
|
|
|
```abap
|
|
DATA : GT_LVC_SORT1 TYPE LVC_T_SORT. " SORT
|
|
```
|
|
|
|
#### GT_LVC_SORT2 — data · L85-L85 {#decl-zco_alv-85-gt_lvc_sort2}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_SORT2 TYPE LVC_T_SORT.
|
|
```
|
|
|
|
#### GT_LVC_SORT3 — data · L86-L86 {#decl-zco_alv-86-gt_lvc_sort3}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_SORT3 TYPE LVC_T_SORT.
|
|
```
|
|
|
|
#### GT_LVC_SORT4 — data · L87-L87 {#decl-zco_alv-87-gt_lvc_sort4}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_SORT4 TYPE LVC_T_SORT.
|
|
```
|
|
|
|
#### GT_LVC_FCAT1 — data · L89-L89 {#decl-zco_alv-89-gt_lvc_fcat1}
|
|
|
|
```abap
|
|
DATA : GT_LVC_FCAT1 TYPE LVC_T_FCAT. " FIELDCATALOG
|
|
```
|
|
|
|
#### GT_LVC_FCAT2 — data · L90-L90 {#decl-zco_alv-90-gt_lvc_fcat2}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_FCAT2 TYPE LVC_T_FCAT.
|
|
```
|
|
|
|
#### GT_LVC_FCAT3 — data · L91-L91 {#decl-zco_alv-91-gt_lvc_fcat3}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_FCAT3 TYPE LVC_T_FCAT.
|
|
```
|
|
|
|
#### GT_LVC_FCAT4 — data · L92-L92 {#decl-zco_alv-92-gt_lvc_fcat4}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_FCAT4 TYPE LVC_T_FCAT.
|
|
```
|
|
|
|
#### GT_LVC_DROP — data · L95-L95 {#decl-zco_alv-95-gt_lvc_drop}
|
|
|
|
```abap
|
|
DATA : GT_LVC_DROP TYPE LVC_T_DROP.
|
|
```
|
|
|
|
#### GS_LVC_DROP — data · L96-L96 {#decl-zco_alv-96-gs_lvc_drop}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_LVC_DROP TYPE LVC_S_DROP.
|
|
```
|
|
|
|
#### GT_ALV_COLOR — data · L99-L99 {#decl-zco_alv-99-gt_alv_color}
|
|
|
|
```abap
|
|
DATA : GT_ALV_COLOR TYPE LVC_T_SCOL WITH HEADER LINE.
|
|
```
|
|
|
|
#### GS_ALV_COLOR — data · L100-L100 {#decl-zco_alv-100-gs_alv_color}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_ALV_COLOR TYPE LVC_S_COLO.
|
|
```
|
|
|
|
#### GT_ROWS — data · L103-L103 {#decl-zco_alv-103-gt_rows}
|
|
|
|
```abap
|
|
DATA : GT_ROWS TYPE LVC_T_ROW.
|
|
```
|
|
|
|
#### GS_ROWS — data · L104-L104 {#decl-zco_alv-104-gs_rows}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_ROWS TYPE LVC_S_ROW.
|
|
```
|
|
|
|
#### GV_FUN — data · L105-L105 {#decl-zco_alv-105-gv_fun}
|
|
|
|
```abap
|
|
DATA:
|
|
GV_FUN(1) VALUE 'D'.
|
|
```
|
|
|
|
#### GS_F4_VALUE — data · L109-L109 {#decl-zco_alv-109-gs_f4_value}
|
|
|
|
```abap
|
|
DATA : GS_F4_VALUE TYPE SEAHLPRES.
|
|
```
|
|
|
|
#### GS_F4_FIELD — data · L110-L110 {#decl-zco_alv-110-gs_f4_field}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_F4_FIELD TYPE DFIES.
|
|
```
|
|
|
|
#### GS_F4 — data · L111-L111 {#decl-zco_alv-111-gs_f4}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_F4 TYPE DDSHRETVAL.
|
|
```
|
|
|
|
#### GS_LVC_MODI — data · L112-L112 {#decl-zco_alv-112-gs_lvc_modi}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_LVC_MODI TYPE LVC_S_MODI.
|
|
```
|
|
|
|
#### GS_LVC_F4 — data · L113-L113 {#decl-zco_alv-113-gs_lvc_f4}
|
|
|
|
```abap
|
|
DATA:
|
|
GS_LVC_F4 TYPE LVC_S_F4.
|
|
```
|
|
|
|
#### GT_F4_VALUES — data · L116-L116 {#decl-zco_alv-116-gt_f4_values}
|
|
|
|
```abap
|
|
DATA : GT_F4_VALUES TYPE TABLE OF SEAHLPRES.
|
|
```
|
|
|
|
#### GT_F4_FIELDS — data · L117-L117 {#decl-zco_alv-117-gt_f4_fields}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_F4_FIELDS TYPE TABLE OF DFIES.
|
|
```
|
|
|
|
#### GT_LVC_F4 — data · L118-L118 {#decl-zco_alv-118-gt_lvc_f4}
|
|
|
|
```abap
|
|
DATA:
|
|
GT_LVC_F4 TYPE LVC_T_F4.
|
|
```
|
|
|
|
#### <FS_F4TAB> — field-symbol · L121-L121 {#decl-zco_alv-121--fs_f4tab-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_F4TAB> TYPE LVC_T_MODI.
|
|
```
|
|
|
|
#### GV_CONSISTENCY_CHECK — data · L123-L123 {#decl-zco_alv-123-gv_consistency_check}
|
|
|
|
```abap
|
|
DATA : GV_CONSISTENCY_CHECK(1) TYPE C.
|
|
```
|
|
|
|
#### GV_ALV_COLPOS — data · L125-L125 {#decl-zco_alv-125-gv_alv_colpos}
|
|
|
|
```abap
|
|
DATA : GV_ALV_COLPOS TYPE I.
|
|
```
|
|
|
|
#### GC_STATUS_GREEN — constants · L128-L128 {#decl-zco_alv-128-gc_status_green}
|
|
|
|
```abap
|
|
CONSTANTS : GC_STATUS_GREEN LIKE ICON-ID VALUE ICON_GREEN_LIGHT.
|
|
```
|
|
|
|
#### GC_STATUS_YELLOW — constants · L129-L129 {#decl-zco_alv-129-gc_status_yellow}
|
|
|
|
```abap
|
|
CONSTANTS : GC_STATUS_YELLOW LIKE ICON-ID VALUE ICON_YELLOW_LIGHT.
|
|
```
|
|
|
|
#### GC_STATUS_RED — constants · L130-L130 {#decl-zco_alv-130-gc_status_red}
|
|
|
|
```abap
|
|
CONSTANTS : GC_STATUS_RED LIKE ICON-ID VALUE ICON_RED_LIGHT.
|
|
```
|
|
|
|
#### GC_STATUS_INIT — constants · L131-L131 {#decl-zco_alv-131-gc_status_init}
|
|
|
|
```abap
|
|
CONSTANTS : GC_STATUS_INIT LIKE ICON-ID VALUE ICON_LIGHT_OUT.
|
|
```
|
|
|
|
#### GV_TOP_OF_PAGE — data · L133-L133 {#decl-zco_alv-133-gv_top_of_page}
|
|
|
|
```abap
|
|
DATA : GV_TOP_OF_PAGE(255) TYPE C.
|
|
```
|
|
|
|
#### GC_ALV1_CONTNAME — constants · L143-L143 {#decl-zco_alv-143-gc_alv1_contname}
|
|
|
|
```abap
|
|
CONSTANTS : GC_ALV1_CONTNAME TYPE SCRFNAME VALUE 'ALV1_CONT'.
|
|
```
|
|
|
|
#### GC_ALV2_CONTNAME — constants · L144-L144 {#decl-zco_alv-144-gc_alv2_contname}
|
|
|
|
```abap
|
|
CONSTANTS : GC_ALV2_CONTNAME TYPE SCRFNAME VALUE 'ALV2_CONT'.
|
|
```
|
|
|
|
#### GC_ALV3_CONTNAME — constants · L145-L145 {#decl-zco_alv-145-gc_alv3_contname}
|
|
|
|
```abap
|
|
CONSTANTS : GC_ALV3_CONTNAME TYPE SCRFNAME VALUE 'ALV3_CONT'.
|
|
```
|
|
|
|
#### GC_ALV4_CONTNAME — constants · L146-L146 {#decl-zco_alv-146-gc_alv4_contname}
|
|
|
|
```abap
|
|
CONSTANTS : GC_ALV4_CONTNAME TYPE SCRFNAME VALUE 'ALV4_CONT'.
|
|
```
|
|
|
|
#### GO_CONTAINER_TOP1 — data · L149-L149 {#decl-zco_alv-149-go_container_top1}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_TOP1 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_ALV1 — data · L150-L150 {#decl-zco_alv-150-go_container_alv1}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_ALV1 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_TOP2 — data · L152-L152 {#decl-zco_alv-152-go_container_top2}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_TOP2 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_ALV2 — data · L153-L153 {#decl-zco_alv-153-go_container_alv2}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_ALV2 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_TOP3 — data · L155-L155 {#decl-zco_alv-155-go_container_top3}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_TOP3 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_ALV3 — data · L156-L156 {#decl-zco_alv-156-go_container_alv3}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_ALV3 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_TOP4 — data · L158-L158 {#decl-zco_alv-158-go_container_top4}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_TOP4 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_CONTAINER_ALV4 — data · L159-L159 {#decl-zco_alv-159-go_container_alv4}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_CONTAINER_ALV4 TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_ALV1 — data · L161-L161 {#decl-zco_alv-161-go_alv1}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_ALV1 TYPE REF TO LCL_DEF_GRID.
|
|
```
|
|
|
|
#### GO_ALV2 — data · L162-L162 {#decl-zco_alv-162-go_alv2}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_ALV2 TYPE REF TO LCL_DEF_GRID.
|
|
```
|
|
|
|
#### GO_ALV3 — data · L163-L163 {#decl-zco_alv-163-go_alv3}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_ALV3 TYPE REF TO LCL_DEF_GRID.
|
|
```
|
|
|
|
#### GO_ALV4 — data · L164-L164 {#decl-zco_alv-164-go_alv4}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_ALV4 TYPE REF TO LCL_DEF_GRID.
|
|
```
|
|
|
|
#### GO_SPLITTER0 — data · L166-L166 {#decl-zco_alv-166-go_splitter0}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_SPLITTER0 TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER.
|
|
```
|
|
|
|
#### GO_SPLITTER1 — data · L167-L167 {#decl-zco_alv-167-go_splitter1}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_SPLITTER1 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
|
|
```
|
|
|
|
#### GO_SPLITTER2 — data · L168-L168 {#decl-zco_alv-168-go_splitter2}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_SPLITTER2 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
|
|
```
|
|
|
|
#### GO_SPLITTER3 — data · L169-L169 {#decl-zco_alv-169-go_splitter3}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_SPLITTER3 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
|
|
```
|
|
|
|
#### GO_SPLITTER4 — data · L170-L170 {#decl-zco_alv-170-go_splitter4}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_SPLITTER4 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
|
|
```
|
|
|
|
#### GO_DOCKING — data · L172-L172 {#decl-zco_alv-172-go_docking}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_DOCKING TYPE REF TO CL_GUI_CONTAINER.
|
|
```
|
|
|
|
#### GO_COLUMN_TREE — data · L174-L174 {#decl-zco_alv-174-go_column_tree}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_COLUMN_TREE TYPE REF TO CL_GUI_COLUMN_TREE.
|
|
```
|
|
|
|
#### GO_TREE — data · L175-L175 {#decl-zco_alv-175-go_tree}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_TREE TYPE REF TO CL_GUI_ALV_TREE.
|
|
```
|
|
|
|
#### GO_TOOLBAR — data · L176-L176 {#decl-zco_alv-176-go_toolbar}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_TOOLBAR TYPE REF TO CL_GUI_TOOLBAR.
|
|
```
|
|
|
|
#### GO_TEXTEDIT — data · L177-L177 {#decl-zco_alv-177-go_textedit}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_TEXTEDIT TYPE REF TO CL_GUI_TEXTEDIT.
|
|
```
|
|
|
|
#### GO_EVENT_RECEIVER1 — data · L179-L179 {#decl-zco_alv-179-go_event_receiver1}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_EVENT_RECEIVER1 TYPE REF TO LCL_DEF_RECEIVER.
|
|
```
|
|
|
|
#### GO_EVENT_RECEIVER2 — data · L180-L180 {#decl-zco_alv-180-go_event_receiver2}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_EVENT_RECEIVER2 TYPE REF TO LCL_DEF_RECEIVER.
|
|
```
|
|
|
|
#### GO_EVENT_RECEIVER3 — data · L181-L181 {#decl-zco_alv-181-go_event_receiver3}
|
|
|
|
```abap
|
|
DATA:
|
|
GO_EVENT_RECEIVER3 TYPE REF TO LCL_DEF_RECEIVER.
|
|
```
|
|
|
|
#### GO_DOCKING_CONT1 — data · L183-L183 {#decl-zco_alv-183-go_docking_cont1}
|
|
|
|
```abap
|
|
DATA : GO_DOCKING_CONT1 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
|
|
```
|
|
|
|
#### GO_DOCKING_CONT2 — data · L184-L184 {#decl-zco_alv-184-go_docking_cont2}
|
|
|
|
```abap
|
|
DATA : GO_DOCKING_CONT2 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
|
|
```
|
|
|
|
#### GO_DOCKING_CONT3 — data · L185-L185 {#decl-zco_alv-185-go_docking_cont3}
|
|
|
|
```abap
|
|
DATA : GO_DOCKING_CONT3 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
|
|
```
|
|
|
|
#### GO_DOCKING_CONT4 — data · L186-L186 {#decl-zco_alv-186-go_docking_cont4}
|
|
|
|
```abap
|
|
DATA : GO_DOCKING_CONT4 TYPE REF TO CL_GUI_DOCKING_CONTAINER.
|
|
```
|
|
|
|
#### GO_DD_DOCUMENT1 — data · L188-L188 {#decl-zco_alv-188-go_dd_document1}
|
|
|
|
```abap
|
|
DATA : GO_DD_DOCUMENT1 TYPE REF TO CL_DD_DOCUMENT.
|
|
```
|
|
|
|
#### GO_DD_DOCUMENT2 — data · L189-L189 {#decl-zco_alv-189-go_dd_document2}
|
|
|
|
```abap
|
|
DATA : GO_DD_DOCUMENT2 TYPE REF TO CL_DD_DOCUMENT.
|
|
```
|
|
|
|
#### GO_DD_DOCUMENT3 — data · L190-L190 {#decl-zco_alv-190-go_dd_document3}
|
|
|
|
```abap
|
|
DATA : GO_DD_DOCUMENT3 TYPE REF TO CL_DD_DOCUMENT.
|
|
```
|
|
|
|
#### GO_DD_DOCUMENT4 — data · L191-L191 {#decl-zco_alv-191-go_dd_document4}
|
|
|
|
```abap
|
|
DATA : GO_DD_DOCUMENT4 TYPE REF TO CL_DD_DOCUMENT.
|
|
```
|
|
|
|
#### GO_HTML_VIEW1 — data · L193-L193 {#decl-zco_alv-193-go_html_view1}
|
|
|
|
```abap
|
|
DATA : GO_HTML_VIEW1 TYPE REF TO CL_GUI_HTML_VIEWER.
|
|
```
|
|
|
|
#### GO_HTML_VIEW2 — data · L194-L194 {#decl-zco_alv-194-go_html_view2}
|
|
|
|
```abap
|
|
DATA : GO_HTML_VIEW2 TYPE REF TO CL_GUI_HTML_VIEWER.
|
|
```
|
|
|
|
#### GO_HTML_VIEW3 — data · L195-L195 {#decl-zco_alv-195-go_html_view3}
|
|
|
|
```abap
|
|
DATA : GO_HTML_VIEW3 TYPE REF TO CL_GUI_HTML_VIEWER.
|
|
```
|
|
|
|
#### GO_HTML_VIEW4 — data · L196-L196 {#decl-zco_alv-196-go_html_view4}
|
|
|
|
```abap
|
|
DATA : GO_HTML_VIEW4 TYPE REF TO CL_GUI_HTML_VIEWER.
|
|
```
|
|
|
|
#### GO_DDIC_FCAT — data · L198-L198 {#decl-zco_alv-198-go_ddic_fcat}
|
|
|
|
```abap
|
|
DATA : GO_DDIC_FCAT TYPE LVC_T_FCAT.
|
|
```
|
|
|
|
#### LCL_DEF_GRID — class · L203-L215 {#decl-zco_alv-203-lcl_def_grid}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-4-bdcmsgcoll}
|
|
|
|
```abap
|
|
TABLES: BDCMSGCOLL. " * Collecting messages in the SAP System
|
|
```
|
|
|
|
#### ALSMEX_TABLINE — tables · L5-L5 {#decl-zco_common-5-alsmex_tabline}
|
|
|
|
```abap
|
|
TABLES:
|
|
ALSMEX_TABLINE. " * Rows for Table with Excel Data
|
|
```
|
|
|
|
#### TBTCO — tables · L6-L6 {#decl-zco_common-6-tbtco}
|
|
|
|
```abap
|
|
TABLES:
|
|
TBTCO. " * Job status overview table
|
|
```
|
|
|
|
#### RFCDOC — tables · L7-L7 {#decl-zco_common-7-rfcdoc}
|
|
|
|
```abap
|
|
TABLES:
|
|
RFCDOC.
|
|
```
|
|
|
|
#### RFCDES — tables · L8-L8 {#decl-zco_common-8-rfcdes}
|
|
|
|
```abap
|
|
TABLES:
|
|
RFCDES.
|
|
```
|
|
|
|
#### DBCON — tables · L9-L9 {#decl-zco_common-9-dbcon}
|
|
|
|
```abap
|
|
TABLES:
|
|
DBCON.
|
|
```
|
|
|
|
#### STXH — tables · L10-L10 {#decl-zco_common-10-stxh}
|
|
|
|
```abap
|
|
TABLES:
|
|
STXH.
|
|
```
|
|
|
|
#### GSETH — type-pool · L11-L11 {#decl-zco_common-11-gseth}
|
|
|
|
```abap
|
|
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
|
|
```
|
|
|
|
#### ICON — type-pool · L11-L11 {#decl-zco_common-11-icon}
|
|
|
|
```abap
|
|
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
|
|
```
|
|
|
|
#### KCDE — type-pool · L11-L11 {#decl-zco_common-11-kcde}
|
|
|
|
```abap
|
|
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
|
|
```
|
|
|
|
#### SCP1 — type-pool · L11-L11 {#decl-zco_common-11-scp1}
|
|
|
|
```abap
|
|
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
|
|
```
|
|
|
|
#### SLIS — type-pool · L11-L11 {#decl-zco_common-11-slis}
|
|
|
|
```abap
|
|
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
|
|
```
|
|
|
|
#### VRM — type-pool · L11-L11 {#decl-zco_common-11-vrm}
|
|
|
|
```abap
|
|
TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.
|
|
```
|
|
|
|
#### GV_CALC_I — data · L14-L14 {#decl-zco_common-14-gv_calc_i}
|
|
|
|
```abap
|
|
DATA : GV_CALC_I TYPE I. "* %
|
|
```
|
|
|
|
#### GV_PROGRESS_MSG — data · L15-L15 {#decl-zco_common-15-gv_progress_msg}
|
|
|
|
```abap
|
|
DATA : GV_PROGRESS_MSG(100). "* Display
|
|
```
|
|
|
|
#### GV_CALC_C0 — data · L16-L16 {#decl-zco_common-16-gv_calc_c0}
|
|
|
|
```abap
|
|
DATA : GV_CALC_C0(5).
|
|
```
|
|
|
|
#### GV_CALC_C1 — data · L17-L17 {#decl-zco_common-17-gv_calc_c1}
|
|
|
|
```abap
|
|
DATA : GV_CALC_C1(5).
|
|
```
|
|
|
|
#### GV_VALUE_SET — data · L20-L20 {#decl-zco_common-20-gv_value_set}
|
|
|
|
```abap
|
|
DATA : GV_VALUE_SET TYPE GSETH_VAL_LINE.
|
|
```
|
|
|
|
#### GT_VALUE_SET — data · L21-L21 {#decl-zco_common-21-gt_value_set}
|
|
|
|
```abap
|
|
DATA : GT_VALUE_SET TYPE GSETH_VAL_TAB.
|
|
```
|
|
|
|
#### GT_DETMSG — data · L23-L23 {#decl-zco_common-23-gt_detmsg}
|
|
|
|
```abap
|
|
DATA : GT_DETMSG TYPE TABLE OF SCP1_GENERAL_ERROR.
|
|
```
|
|
|
|
#### GT_HEAMSG — data · L24-L24 {#decl-zco_common-24-gt_heamsg}
|
|
|
|
```abap
|
|
DATA : GT_HEAMSG TYPE TABLE OF SCP1_GENERAL_ERROR.
|
|
```
|
|
|
|
#### GS_DOMAIN — data · L27-L31 {#decl-zco_common-27-gs_domain}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-32-gt_domain}
|
|
|
|
```abap
|
|
DATA : GT_DOMAIN LIKE TABLE OF GS_DOMAIN.
|
|
```
|
|
|
|
#### T_EXCEL_EXPORT — types · L35-L37 {#decl-zco_common-35-t_excel_export}
|
|
|
|
```abap
|
|
TYPES : BEGIN OF T_EXCEL_EXPORT,
|
|
EXCEL_COL TYPE STRING,
|
|
END OF T_EXCEL_EXPORT.
|
|
```
|
|
|
|
#### GT_EXCEL_EXPORT — data · L39-L39 {#decl-zco_common-39-gt_excel_export}
|
|
|
|
```abap
|
|
DATA : GT_EXCEL_EXPORT TYPE T_EXCEL_EXPORT OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### GV_DIP_MOD — data · L43-L43 {#decl-zco_common-43-gv_dip_mod}
|
|
|
|
```abap
|
|
DATA : GV_DIP_MOD TYPE C.
|
|
```
|
|
|
|
#### GV_REFRESH — data · L45-L45 {#decl-zco_common-45-gv_refresh}
|
|
|
|
```abap
|
|
DATA : GV_REFRESH TYPE C.
|
|
```
|
|
|
|
#### GV_BUKRS_TXT — data · L50-L50 {#decl-zco_common-50-gv_bukrs_txt}
|
|
|
|
```abap
|
|
DATA : GV_BUKRS_TXT TYPE T001-BUTXT VALUE ''.
|
|
```
|
|
|
|
#### GV_KOKRS_TXT — data · L51-L51 {#decl-zco_common-51-gv_kokrs_txt}
|
|
|
|
```abap
|
|
DATA : GV_KOKRS_TXT TYPE TKT09-TXT VALUE ''.
|
|
```
|
|
|
|
#### GV_WAERS — data · L52-L52 {#decl-zco_common-52-gv_waers}
|
|
|
|
```abap
|
|
DATA : GV_WAERS TYPE T001-WAERS VALUE 'KRW'.
|
|
```
|
|
|
|
#### GV_KTOPL — data · L53-L53 {#decl-zco_common-53-gv_ktopl}
|
|
|
|
```abap
|
|
DATA : GV_KTOPL TYPE T001-KTOPL VALUE '1000'.
|
|
```
|
|
|
|
#### GV_SPRAS — data · L54-L54 {#decl-zco_common-54-gv_spras}
|
|
|
|
```abap
|
|
DATA : GV_SPRAS TYPE T001-SPRAS VALUE '3'. " KO
|
|
```
|
|
|
|
#### GV_LAND1 — data · L55-L55 {#decl-zco_common-55-gv_land1}
|
|
|
|
```abap
|
|
DATA : GV_LAND1 TYPE T001-LAND1 VALUE 'KR'.
|
|
```
|
|
|
|
#### GC_BUKRS — constants · L57-L57 {#decl-zco_common-57-gc_bukrs}
|
|
|
|
```abap
|
|
CONSTANTS : GC_BUKRS TYPE T001-BUKRS VALUE 'KR01'.
|
|
```
|
|
|
|
#### GC_KOKRS — constants · L58-L58 {#decl-zco_common-58-gc_kokrs}
|
|
|
|
```abap
|
|
CONSTANTS : GC_KOKRS TYPE TKA02-KOKRS VALUE 'KR01'.
|
|
```
|
|
|
|
#### GV_KOKRS_BEZEI — data · L60-L60 {#decl-zco_common-60-gv_kokrs_bezei}
|
|
|
|
```abap
|
|
DATA : GV_KOKRS_BEZEI LIKE TKA01-BEZEI VALUE ''.
|
|
```
|
|
|
|
#### GS_BDC_OPTION — data · L64-L64 {#decl-zco_common-64-gs_bdc_option}
|
|
|
|
```abap
|
|
DATA: GS_BDC_OPTION TYPE CTU_PARAMS.
|
|
```
|
|
|
|
#### GT_BDCDATA — data · L65-L65 {#decl-zco_common-65-gt_bdcdata}
|
|
|
|
```abap
|
|
DATA: GT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### GT_MESSTAB — data · L66-L66 {#decl-zco_common-66-gt_messtab}
|
|
|
|
```abap
|
|
DATA: GT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### FTPOST — data · L71-L71 {#decl-zco_common-71-ftpost}
|
|
|
|
```abap
|
|
DATA: FTPOST LIKE FTPOST OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### FTTAX — data · L72-L72 {#decl-zco_common-72-fttax}
|
|
|
|
```abap
|
|
DATA : FTTAX LIKE FTTAX OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### BLNTAB — data · L73-L73 {#decl-zco_common-73-blntab}
|
|
|
|
```abap
|
|
DATA : BLNTAB LIKE BLNTAB OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### GV_FTPOST_TYPE — data · L74-L74 {#decl-zco_common-74-gv_ftpost_type}
|
|
|
|
```abap
|
|
DATA : GV_FTPOST_TYPE TYPE C.
|
|
```
|
|
|
|
#### GV_FTPOST_CNT — data · L75-L75 {#decl-zco_common-75-gv_ftpost_cnt}
|
|
|
|
```abap
|
|
DATA : GV_FTPOST_CNT TYPE I.
|
|
```
|
|
|
|
#### GV_FTPOST_WAERS — data · L76-L76 {#decl-zco_common-76-gv_ftpost_waers}
|
|
|
|
```abap
|
|
DATA : GV_FTPOST_WAERS LIKE T001-WAERS.
|
|
```
|
|
|
|
#### GT_IF_MSG — data · L78-L88 {#decl-zco_common-78-gt_if_msg}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-92-gt_excp_init_field}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-103-macro_value_to_range}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-123-add_range_eq}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-131-add_range_full}
|
|
|
|
```abap
|
|
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 {#decl-zco_common-164-lt_table}
|
|
|
|
```abap
|
|
DATA : LT_TABLE LIKE DD02L-TABNAME OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### LT_FIELDCAT — data · unit 로컬 · L165-L165 {#decl-zco_common-165-lt_fieldcat}
|
|
|
|
```abap
|
|
DATA : LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
|
|
```
|
|
|
|
#### LT_ALV_CAT — data · unit 로컬 · L166-L166 {#decl-zco_common-166-lt_alv_cat}
|
|
|
|
```abap
|
|
DATA : LT_ALV_CAT TYPE TABLE OF LVC_S_FCAT.
|
|
```
|
|
|
|
#### L_T001 — data · unit 로컬 · L211-L211 {#decl-zco_common-211-l_t001}
|
|
|
|
```abap
|
|
DATA : L_T001 LIKE T001.
|
|
```
|
|
|
|
#### LT_NODE — data · unit 로컬 · L237-L237 {#decl-zco_common-237-lt_node}
|
|
|
|
```abap
|
|
DATA : LT_NODE TYPE GSETH_NODE_TAB.
|
|
```
|
|
|
|
#### L_CLASS — data · unit 로컬 · L238-L238 {#decl-zco_common-238-l_class}
|
|
|
|
```abap
|
|
DATA : L_CLASS TYPE SETHIER-SETCLASS.
|
|
```
|
|
|
|
#### L_SETID — data · unit 로컬 · L239-L239 {#decl-zco_common-239-l_setid}
|
|
|
|
```abap
|
|
DATA : L_SETID TYPE SETHIER-SETID.
|
|
```
|
|
|
|
#### LT_GRPHINFO — data · unit 로컬 · L240-L240 {#decl-zco_common-240-lt_grphinfo}
|
|
|
|
```abap
|
|
DATA : LT_GRPHINFO TYPE GRPHINFO OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### LS_BDCTAB — data · unit 로컬 · L311-L311 {#decl-zco_common-311-ls_bdctab}
|
|
|
|
```abap
|
|
DATA : LS_BDCTAB TYPE BDCDATA.
|
|
```
|
|
|
|
#### L_NCNT1 — data · unit 로컬 · L493-L493 {#decl-zco_common-493-l_ncnt1}
|
|
|
|
```abap
|
|
DATA : L_NCNT1(5) TYPE N.
|
|
```
|
|
|
|
#### L_NCNT2 — data · unit 로컬 · L494-L494 {#decl-zco_common-494-l_ncnt2}
|
|
|
|
```abap
|
|
DATA : L_NCNT2(5) TYPE N.
|
|
```
|
|
|
|
#### GR_TABLE — data · unit 로컬 · L526-L526 {#decl-zco_common-526-gr_table}
|
|
|
|
```abap
|
|
DATA : GR_TABLE TYPE REF TO CL_SALV_TABLE.
|
|
```
|
|
|
|
#### LT_INTERN — data · unit 로컬 · L603-L603 {#decl-zco_common-603-lt_intern}
|
|
|
|
```abap
|
|
DATA : LT_INTERN LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### <L_FS01> — field-symbol · unit 로컬 · L604-L604 {#decl-zco_common-604--l_fs01-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <L_FS01>.
|
|
```
|
|
|
|
#### <L_FS02> — field-symbol · unit 로컬 · L605-L605 {#decl-zco_common-605--l_fs02-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS:
|
|
<L_FS02> TYPE STANDARD TABLE.
|
|
```
|
|
|
|
#### <L_FS03> — field-symbol · unit 로컬 · L606-L606 {#decl-zco_common-606--l_fs03-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS:
|
|
<L_FS03>.
|
|
```
|
|
|
|
#### LT_FCAT — data · unit 로컬 · L762-L762 {#decl-zco_common-762-lt_fcat}
|
|
|
|
```abap
|
|
DATA : LT_FCAT TYPE TABLE OF LVC_S_FCAT.
|
|
```
|
|
|
|
#### LS_FCAT — data · unit 로컬 · L763-L763 {#decl-zco_common-763-ls_fcat}
|
|
|
|
```abap
|
|
DATA : LS_FCAT TYPE LVC_S_FCAT.
|
|
```
|
|
|
|
#### LF_DATA — data · unit 로컬 · L767-L767 {#decl-zco_common-767-lf_data}
|
|
|
|
```abap
|
|
DATA : LF_DATA TYPE REF TO DATA.
|
|
```
|
|
|
|
#### LL_DATA — data · unit 로컬 · L768-L768 {#decl-zco_common-768-ll_data}
|
|
|
|
```abap
|
|
DATA : LL_DATA TYPE REF TO DATA.
|
|
```
|
|
|
|
#### L_USR_ACT — data · unit 로컬 · L769-L769 {#decl-zco_common-769-l_usr_act}
|
|
|
|
```abap
|
|
DATA : L_USR_ACT TYPE I.
|
|
```
|
|
|
|
#### L_FILE_LEN — data · unit 로컬 · L770-L770 {#decl-zco_common-770-l_file_len}
|
|
|
|
```abap
|
|
DATA : L_FILE_LEN TYPE I.
|
|
```
|
|
|
|
#### L_FNAME — data · unit 로컬 · L771-L771 {#decl-zco_common-771-l_fname}
|
|
|
|
```abap
|
|
DATA : L_FNAME TYPE STRING.
|
|
```
|
|
|
|
#### L_EXT_FILENAME — data · unit 로컬 · L772-L772 {#decl-zco_common-772-l_ext_filename}
|
|
|
|
```abap
|
|
DATA : L_EXT_FILENAME TYPE STRING.
|
|
```
|
|
|
|
#### L_FULLPATH — data · unit 로컬 · L773-L773 {#decl-zco_common-773-l_fullpath}
|
|
|
|
```abap
|
|
DATA : L_FULLPATH TYPE STRING.
|
|
```
|
|
|
|
#### L_PATH — data · unit 로컬 · L774-L774 {#decl-zco_common-774-l_path}
|
|
|
|
```abap
|
|
DATA : L_PATH TYPE STRING.
|
|
```
|
|
|
|
#### <FS_TABLE> — field-symbol · unit 로컬 · L776-L776 {#decl-zco_common-776--fs_table-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_TABLE> TYPE STANDARD TABLE.
|
|
```
|
|
|
|
#### <FS_LINE> — field-symbol · unit 로컬 · L777-L777 {#decl-zco_common-777--fs_line-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_LINE> TYPE ANY.
|
|
```
|
|
|
|
#### <FS_COL> — field-symbol · unit 로컬 · L778-L778 {#decl-zco_common-778--fs_col-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_COL> TYPE ANY.
|
|
```
|
|
|
|
#### LV_AMT — data · unit 로컬 · L933-L933 {#decl-zco_common-933-lv_amt}
|
|
|
|
```abap
|
|
DATA : LV_AMT(20) TYPE C.
|
|
```
|
|
|
|
#### LV_EXT — data · unit 로컬 · L934-L934 {#decl-zco_common-934-lv_ext}
|
|
|
|
```abap
|
|
DATA : LV_EXT TYPE BAPICURR-BAPICURR.
|
|
```
|
|
|
|
#### L_RESULT — data · unit 로컬 · L1106-L1106 {#decl-zco_common-1106-l_result}
|
|
|
|
```abap
|
|
DATA : L_RESULT TYPE ABAP_BOOL.
|
|
```
|
|
|
|
#### L_FILENM — data · unit 로컬 · L1107-L1107 {#decl-zco_common-1107-l_filenm}
|
|
|
|
```abap
|
|
DATA : L_FILENM TYPE STRING.
|
|
```
|
|
|
|
#### L_INTERNAL — data · unit 로컬 · L1147-L1147 {#decl-zco_common-1147-l_internal}
|
|
|
|
```abap
|
|
DATA: L_INTERNAL TYPE BAPICURR-BAPICURR.
|
|
```
|
|
|
|
#### LV_NRRANG — data · unit 로컬 · L1176-L1176 {#decl-zco_common-1176-lv_nrrang}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_NRRANG LIKE INRDP-NRRANGENR.
|
|
```
|
|
|
|
#### LV_OBJECT — data · unit 로컬 · L1177-L1177 {#decl-zco_common-1177-lv_object}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_OBJECT LIKE NRIV-OBJECT.
|
|
```
|
|
|
|
#### LV_NRRANG — data · unit 로컬 · L1219-L1219 {#decl-zco_common-1219-lv_nrrang}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_NRRANG LIKE INRDP-NRRANGENR.
|
|
```
|
|
|
|
#### LV_OBJECT — data · unit 로컬 · L1220-L1220 {#decl-zco_common-1220-lv_object}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_OBJECT LIKE NRIV-OBJECT.
|
|
```
|
|
|
|
#### LV_YEAR — data · unit 로컬 · L1221-L1221 {#decl-zco_common-1221-lv_year}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_YEAR LIKE INRI-TOYEAR.
|
|
```
|
|
|
|
#### USER_ACTION — data · unit 로컬 · L1371-L1371 {#decl-zco_common-1371-user_action}
|
|
|
|
```abap
|
|
DATA:
|
|
USER_ACTION TYPE I.
|
|
```
|
|
|
|
#### RTN_CODE — data · unit 로컬 · L1372-L1372 {#decl-zco_common-1372-rtn_code}
|
|
|
|
```abap
|
|
DATA:
|
|
RTN_CODE LIKE SY-SUBRC.
|
|
```
|
|
|
|
#### LT_FILETABLE — data · unit 로컬 · L1373-L1373 {#decl-zco_common-1373-lt_filetable}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_FILETABLE TYPE FILETABLE.
|
|
```
|
|
|
|
#### LS_FILETABLE — data · unit 로컬 · L1374-L1374 {#decl-zco_common-1374-ls_filetable}
|
|
|
|
```abap
|
|
DATA:
|
|
LS_FILETABLE TYPE FILE_TABLE.
|
|
```
|
|
|
|
#### LV_RESULT — data · unit 로컬 · L1410-L1410 {#decl-zco_common-1410-lv_result}
|
|
|
|
```abap
|
|
DATA: LV_RESULT TYPE CHAR1.
|
|
```
|
|
|
|
#### LV_FILE — data · unit 로컬 · L1411-L1411 {#decl-zco_common-1411-lv_file}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_FILE TYPE STRING.
|
|
```
|
|
|
|
#### LT_DYNPFIELDS — data · unit 로컬 · L1622-L1622 {#decl-zco_common-1622-lt_dynpfields}
|
|
|
|
```abap
|
|
DATA : LT_DYNPFIELDS TYPE TABLE OF DYNPREAD.
|
|
```
|
|
|
|
#### LS_DYNPFIELDS — data · unit 로컬 · L1623-L1623 {#decl-zco_common-1623-ls_dynpfields}
|
|
|
|
```abap
|
|
DATA:
|
|
LS_DYNPFIELDS TYPE DYNPREAD.
|
|
```
|
|
|
|
#### LV_DYNAME — data · unit 로컬 · L1624-L1624 {#decl-zco_common-1624-lv_dyname}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_DYNAME TYPE SY-REPID.
|
|
```
|
|
|
|
#### LV_DYNUM — data · unit 로컬 · L1625-L1625 {#decl-zco_common-1625-lv_dynum}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_DYNUM TYPE SY-DYNNR.
|
|
```
|
|
|
|
#### <FS_FIELD> — field-symbol · unit 로컬 · L1627-L1627 {#decl-zco_common-1627--fs_field-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS <FS_FIELD> TYPE ANY.
|
|
```
|
|
|
|
#### LT_DYNPFIELDS — data · unit 로컬 · L1680-L1680 {#decl-zco_common-1680-lt_dynpfields}
|
|
|
|
```abap
|
|
DATA : LT_DYNPFIELDS TYPE TABLE OF DYNPREAD.
|
|
```
|
|
|
|
#### LS_DYNPFIELDS — data · unit 로컬 · L1681-L1681 {#decl-zco_common-1681-ls_dynpfields}
|
|
|
|
```abap
|
|
DATA:
|
|
LS_DYNPFIELDS TYPE DYNPREAD.
|
|
```
|
|
|
|
#### LV_DYNAME — data · unit 로컬 · L1682-L1682 {#decl-zco_common-1682-lv_dyname}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_DYNAME TYPE SY-REPID.
|
|
```
|
|
|
|
#### LV_DYNUM — data · unit 로컬 · L1683-L1683 {#decl-zco_common-1683-lv_dynum}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_DYNUM TYPE SY-DYNNR.
|
|
```
|
|
|
|
#### <FS_FIELD> — field-symbol · unit 로컬 · L1685-L1685 {#decl-zco_common-1685--fs_field-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS <FS_FIELD> TYPE ANY.
|
|
```
|
|
|
|
#### LV_TRANSFER_BIN — data · unit 로컬 · L1779-L1779 {#decl-zco_common-1779-lv_transfer_bin}
|
|
|
|
```abap
|
|
DATA : LV_TRANSFER_BIN TYPE SX_BOOLEAN.
|
|
```
|
|
|
|
#### LT_CONTENT_TXT — data · unit 로컬 · L1780-L1780 {#decl-zco_common-1780-lt_content_txt}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_CONTENT_TXT TYPE SOLI_TAB.
|
|
```
|
|
|
|
#### LT_CONTENT_BIN — data · unit 로컬 · L1781-L1781 {#decl-zco_common-1781-lt_content_bin}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_CONTENT_BIN TYPE SOLIX_TAB.
|
|
```
|
|
|
|
#### LT_OBJHEAD — data · unit 로컬 · L1782-L1782 {#decl-zco_common-1782-lt_objhead}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_OBJHEAD TYPE SOLI_TAB.
|
|
```
|
|
|
|
#### LV_LEN_IN — data · unit 로컬 · L1783-L1783 {#decl-zco_common-1783-lv_len_in}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_LEN_IN LIKE SOOD-OBJLEN.
|
|
```
|
|
|
|
#### LS_OTF — data · unit 로컬 · L1784-L1784 {#decl-zco_common-1784-ls_otf}
|
|
|
|
```abap
|
|
DATA:
|
|
LS_OTF TYPE SOLISTI1.
|
|
```
|
|
|
|
#### LV_BIN_FILESIZE — data · unit 로컬 · L1785-L1785 {#decl-zco_common-1785-lv_bin_filesize}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_BIN_FILESIZE TYPE I.
|
|
```
|
|
|
|
#### LV_BIN_FILE — data · unit 로컬 · L1786-L1786 {#decl-zco_common-1786-lv_bin_file}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_BIN_FILE TYPE XSTRING.
|
|
```
|
|
|
|
#### LT_LINES — data · unit 로컬 · L1787-L1787 {#decl-zco_common-1787-lt_lines}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_LINES LIKE TLINE OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### LV_FILESIZE — data · unit 로컬 · L1788-L1788 {#decl-zco_common-1788-lv_filesize}
|
|
|
|
```abap
|
|
DATA : LV_FILESIZE TYPE I.
|
|
```
|
|
|
|
#### LV_FILENAME — data · unit 로컬 · L1789-L1789 {#decl-zco_common-1789-lv_filename}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_FILENAME TYPE STRING.
|
|
```
|
|
|
|
#### LT_OTF — data · unit 로컬 · L1790-L1790 {#decl-zco_common-1790-lt_otf}
|
|
|
|
```abap
|
|
DATA : LT_OTF TYPE TABLE OF ITCOO WITH HEADER LINE.
|
|
```
|
|
|
|
#### LV_FILENAME — data · unit 로컬 · L1855-L1855 {#decl-zco_common-1855-lv_filename}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_FILENAME TYPE STRING.
|
|
```
|
|
|
|
#### LV_PATH — data · unit 로컬 · L1856-L1856 {#decl-zco_common-1856-lv_path}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_PATH TYPE STRING.
|
|
```
|
|
|
|
#### LV_FULLPATH — data · unit 로컬 · L1857-L1857 {#decl-zco_common-1857-lv_fullpath}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_FULLPATH TYPE STRING.
|
|
```
|
|
|
|
#### LV_DEFAULT_EXTENSION — data · unit 로컬 · L1858-L1858 {#decl-zco_common-1858-lv_default_extension}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_DEFAULT_EXTENSION TYPE STRING.
|
|
```
|
|
|
|
#### LV_FILE_FILTER — data · unit 로컬 · L1859-L1859 {#decl-zco_common-1859-lv_file_filter}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_FILE_FILTER TYPE STRING.
|
|
```
|
|
|
|
#### LV_INITIAL_DIRECTORY — data · unit 로컬 · L1860-L1860 {#decl-zco_common-1860-lv_initial_directory}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_INITIAL_DIRECTORY TYPE STRING.
|
|
```
|
|
|
|
#### LV_DEFAULT_FILE_NAME — data · unit 로컬 · L1861-L1861 {#decl-zco_common-1861-lv_default_file_name}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_DEFAULT_FILE_NAME TYPE STRING.
|
|
```
|
|
|
|
#### LV_USER_ACTION — data · unit 로컬 · L1864-L1864 {#decl-zco_common-1864-lv_user_action}
|
|
|
|
```abap
|
|
DATA:
|
|
LV_USER_ACTION TYPE I.
|
|
```
|
|
|
|
#### <FIELD> — field-symbol · unit 로컬 · L1920-L1920 {#decl-zco_common-1920--field-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FIELD> TYPE ANY.
|
|
```
|
|
|
|
#### <ITAB> — field-symbol · unit 로컬 · L1921-L1921 {#decl-zco_common-1921--itab-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <ITAB> TYPE STANDARD TABLE.
|
|
```
|
|
|
|
#### <ILINE> — field-symbol · unit 로컬 · L1922-L1922 {#decl-zco_common-1922--iline-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <ILINE> TYPE ANY.
|
|
```
|
|
|
|
#### LV_CURR — data · unit 로컬 · L2002-L2002 {#decl-zco_common-2002-lv_curr}
|
|
|
|
```abap
|
|
DATA : LV_CURR(15) TYPE C.
|
|
```
|
|
|
|
#### LT_INTERN — data · unit 로컬 · L2198-L2198 {#decl-zco_common-2198-lt_intern}
|
|
|
|
```abap
|
|
DATA : LT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
#### LV_INDEX — data · unit 로컬 · L2200-L2200 {#decl-zco_common-2200-lv_index}
|
|
|
|
```abap
|
|
DATA : LV_INDEX TYPE I.
|
|
```
|
|
|
|
#### <FS_LINE> — field-symbol · unit 로컬 · L2201-L2201 {#decl-zco_common-2201--fs_line-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_LINE>.
|
|
```
|
|
|
|
### `ZCOC0050F01` (36건)
|
|
|
|
#### L_UCOMM — data · unit 로컬 · L112-L112 {#decl-zcoc0050f01-112-l_ucomm}
|
|
|
|
```abap
|
|
DATA : L_UCOMM LIKE SY-UCOMM.
|
|
```
|
|
|
|
#### LS_FIELDCAT — data · unit 로컬 · L156-L156 {#decl-zcoc0050f01-156-ls_fieldcat}
|
|
|
|
```abap
|
|
DATA : LS_FIELDCAT TYPE LVC_S_FCAT.
|
|
```
|
|
|
|
#### <FS_FIELD> — field-symbol · unit 로컬 · L157-L157 {#decl-zcoc0050f01-157--fs_field-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_FIELD> TYPE ANY.
|
|
```
|
|
|
|
#### <FS_DATA> — field-symbol · unit 로컬 · L158-L158 {#decl-zcoc0050f01-158--fs_data-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_DATA> LIKE GT_DATA.
|
|
```
|
|
|
|
#### LV_FIELD — data · unit 로컬 · L159-L159 {#decl-zcoc0050f01-159-lv_field}
|
|
|
|
```abap
|
|
DATA : LV_FIELD(30) TYPE C.
|
|
```
|
|
|
|
#### LT_FCAT — data · unit 로컬 · L186-L186 {#decl-zcoc0050f01-186-lt_fcat}
|
|
|
|
```abap
|
|
DATA : LT_FCAT LIKE TABLE OF LVC_S_FCAT.
|
|
```
|
|
|
|
#### L_TABNAME — data · unit 로컬 · L187-L187 {#decl-zcoc0050f01-187-l_tabname}
|
|
|
|
```abap
|
|
DATA : L_TABNAME LIKE DD02L-TABNAME.
|
|
```
|
|
|
|
#### L_FSNAME — data · unit 로컬 · L188-L188 {#decl-zcoc0050f01-188-l_fsname}
|
|
|
|
```abap
|
|
DATA : L_FSNAME(30) TYPE C.
|
|
```
|
|
|
|
#### L_TYPE — data · unit 로컬 · L189-L189 {#decl-zcoc0050f01-189-l_type}
|
|
|
|
```abap
|
|
DATA : L_TYPE(4) TYPE C.
|
|
```
|
|
|
|
#### L_CONV_ALPHA — data · unit 로컬 · L190-L190 {#decl-zcoc0050f01-190-l_conv_alpha}
|
|
|
|
```abap
|
|
DATA : L_CONV_ALPHA(1) TYPE C.
|
|
```
|
|
|
|
#### <FS_UPLOAD> — field-symbol · unit 로컬 · L191-L191 {#decl-zcoc0050f01-191--fs_upload-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_UPLOAD> LIKE LINE OF GT_UPLOAD.
|
|
```
|
|
|
|
#### <FS> — field-symbol · unit 로컬 · L192-L192 {#decl-zcoc0050f01-192--fs-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS> TYPE ANY.
|
|
```
|
|
|
|
#### <FS_FCAT> — field-symbol · unit 로컬 · L193-L193 {#decl-zcoc0050f01-193--fs_fcat-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_FCAT> LIKE LVC_S_FCAT.
|
|
```
|
|
|
|
#### LT_LOWERCASE — data · unit 로컬 · L195-L198 {#decl-zcoc0050f01-195-lt_lowercase}
|
|
|
|
```abap
|
|
DATA : BEGIN OF LT_LOWERCASE OCCURS 0,
|
|
DOMNAME LIKE DD01L-DOMNAME,
|
|
LOWERCASE LIKE DD01L-LOWERCASE,
|
|
END OF LT_LOWERCASE.
|
|
```
|
|
|
|
#### L_EXISTS — data · unit 로컬 · L316-L316 {#decl-zcoc0050f01-316-l_exists}
|
|
|
|
```abap
|
|
DATA : L_EXISTS TYPE ABAP_BOOL.
|
|
```
|
|
|
|
#### LV_MESSAGE — data · unit 로컬 · L435-L435 {#decl-zcoc0050f01-435-lv_message}
|
|
|
|
```abap
|
|
DATA : LV_MESSAGE(255) TYPE C.
|
|
```
|
|
|
|
#### LS_FIELDCAT — data · unit 로컬 · L436-L436 {#decl-zcoc0050f01-436-ls_fieldcat}
|
|
|
|
```abap
|
|
DATA : LS_FIELDCAT TYPE LVC_S_FCAT.
|
|
```
|
|
|
|
#### L_ANSWER — data · unit 로컬 · L510-L510 {#decl-zcoc0050f01-510-l_answer}
|
|
|
|
```abap
|
|
DATA: L_ANSWER.
|
|
```
|
|
|
|
#### LS_HEADERINFO — data · unit 로컬 · L545-L545 {#decl-zcoc0050f01-545-ls_headerinfo}
|
|
|
|
```abap
|
|
DATA: LS_HEADERINFO LIKE BAPIPLNHDR.
|
|
```
|
|
|
|
#### LT_INDEXSTRUCTURE — data · unit 로컬 · L546-L546 {#decl-zcoc0050f01-546-lt_indexstructure}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_INDEXSTRUCTURE LIKE BAPIACPSTRU OCCURS 0.
|
|
```
|
|
|
|
#### LT_COOBJECT — data · unit 로컬 · L547-L547 {#decl-zcoc0050f01-547-lt_coobject}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_COOBJECT LIKE BAPIPCPOBJ OCCURS 0.
|
|
```
|
|
|
|
#### LT_PERVALUE — data · unit 로컬 · L548-L548 {#decl-zcoc0050f01-548-lt_pervalue}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_PERVALUE LIKE BAPIPCPVAL OCCURS 0.
|
|
```
|
|
|
|
#### LT_TOTVALUE — data · unit 로컬 · L549-L549 {#decl-zcoc0050f01-549-lt_totvalue}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_TOTVALUE LIKE BAPIPCPTOT OCCURS 0.
|
|
```
|
|
|
|
#### LT_CONTRL — data · unit 로컬 · L550-L550 {#decl-zcoc0050f01-550-lt_contrl}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_CONTRL LIKE BAPIPCPCTRL OCCURS 0.
|
|
```
|
|
|
|
#### LT_RETURN — data · unit 로컬 · L551-L551 {#decl-zcoc0050f01-551-lt_return}
|
|
|
|
```abap
|
|
DATA:
|
|
LT_RETURN LIKE BAPIRET2 OCCURS 0.
|
|
```
|
|
|
|
#### LS_RETURN — data · unit 로컬 · L552-L552 {#decl-zcoc0050f01-552-ls_return}
|
|
|
|
```abap
|
|
DATA:
|
|
LS_RETURN LIKE LINE OF LT_RETURN.
|
|
```
|
|
|
|
#### LV_PERIOD — data · unit 로컬 · L554-L554 {#decl-zcoc0050f01-554-lv_period}
|
|
|
|
```abap
|
|
DATA : LV_PERIOD TYPE CO_PERAB.
|
|
```
|
|
|
|
#### LV_FIELD — data · unit 로컬 · L641-L641 {#decl-zcoc0050f01-641-lv_field}
|
|
|
|
```abap
|
|
DATA : LV_FIELD(30) TYPE C.
|
|
```
|
|
|
|
#### LV_INDEX — data · unit 로컬 · L642-L642 {#decl-zcoc0050f01-642-lv_index}
|
|
|
|
```abap
|
|
DATA : LV_INDEX TYPE BAPIACPSTRU-OBJECT_INDEX.
|
|
```
|
|
|
|
#### <FS_VALUE> — field-symbol · unit 로컬 · L644-L644 {#decl-zcoc0050f01-644--fs_value-}
|
|
|
|
```abap
|
|
FIELD-SYMBOLS : <FS_VALUE> TYPE ANY.
|
|
```
|
|
|
|
#### LV_VALUE — data · unit 로컬 · L646-L646 {#decl-zcoc0050f01-646-lv_value}
|
|
|
|
```abap
|
|
DATA : LV_VALUE TYPE COSP-WOG001.
|
|
```
|
|
|
|
#### LV_C_VALUE — data · unit 로컬 · L647-L647 {#decl-zcoc0050f01-647-lv_c_value}
|
|
|
|
```abap
|
|
DATA : LV_C_VALUE(20) TYPE C.
|
|
```
|
|
|
|
#### LV_SEQ — data · unit 로컬 · L752-L752 {#decl-zcoc0050f01-752-lv_seq}
|
|
|
|
```abap
|
|
DATA : LV_SEQ TYPE ZCOT0020-SEQ.
|
|
```
|
|
|
|
#### LV_RESULTMSG — data · unit 로컬 · L753-L753 {#decl-zcoc0050f01-753-lv_resultmsg}
|
|
|
|
```abap
|
|
DATA : LV_RESULTMSG(100) TYPE C.
|
|
```
|
|
|
|
#### LV_RESULTCODE — data · unit 로컬 · L754-L754 {#decl-zcoc0050f01-754-lv_resultcode}
|
|
|
|
```abap
|
|
DATA : LV_RESULTCODE(1) TYPE C.
|
|
```
|
|
|
|
#### LT_ZCOT0020 — data · unit 로컬 · L756-L756 {#decl-zcoc0050f01-756-lt_zcot0020}
|
|
|
|
```abap
|
|
DATA : LT_ZCOT0020 LIKE ZCOT0020 OCCURS 0 WITH HEADER LINE.
|
|
```
|
|
|
|
## Unit 목록 (컨테이너)
|
|
|
|
| unit | 유형 | 위치 | 조각 | 한 줄 요약 |
|
|
|---|---|---|---|---|
|
|
| INITIALIZATION | EVENT | ZCOC0050 L26-32 | 0 | INITIALIZATION 이벤트에서 SET_DYNP(관리회계영역 기본값)와 FC01_ACTIVE(양식 다운로드 버튼)를 호출한다. |
|
|
| AT SELECTION-SCREEN | EVENT | ZCOC0050 L33-35 | 0 | 선택화면 PAI에서 CONTROL_FCXX를 호출해 기능코드를 처리하는 이벤트이다. |
|
|
| AT SELECTION-SCREEN OUTPUT | EVENT | ZCOC0050 L36-41 | 0 | 선택화면 출력 시 LOOP_AT_SCREEN으로 화면 필드 속성을 제어하는 PBO 이벤트이다. |
|
|
| AT SELECTION-SCREEN ON VALUE-REQUEST | EVENT | ZCOC0050 L42-46 | 0 | 업로드 파일 P_FNAME의 F4 파일 선택 도움(F4_FNAME)을 호출한다. |
|
|
| START-OF-SELECTION | EVENT | ZCOC0050 L47-58 | 1 | 입력 검증, 초기화, ZCOT0020 잠금 설정, 엑셀 업로드 처리(PROCESS_DATA)를 순서대로 수행하는 메인 이벤트이다. |
|
|
| END-OF-SELECTION | EVENT | ZCOC0050 L59-70 | 1 | 온라인 실행 시 검증된 업로드 데이터(GT_DATA)가 있으면 화면 100(ALV)을 호출하고 없으면 메시지를 내는 END-OF-SELECTION 이벤트이다. |
|
|
| LCL_DEF_RECEIVER~HANDLE_TOP_OF_PAGE | METHOD | ZCOC0050C01 L63-65 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_TOOLBAR | METHOD | ZCOC0050C01 L67-71 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_USER_COMMAND | METHOD | ZCOC0050C01 L73-77 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED | METHOD | ZCOC0050C01 L79-83 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED_FINISHED | METHOD | ZCOC0050C01 L85-89 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_HOTSPOT_CLICK | METHOD | ZCOC0050C01 L91-95 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_DOUBLE_CLICK | METHOD | ZCOC0050C01 L97-101 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_ON_F4 | METHOD | ZCOC0050C01 L103-111 | 0 | |
|
|
| LCL_DEF_RECEIVER~HANDLE_CONTEXT_MENU_REQ | METHOD | ZCOC0050C01 L113-115 | 0 | |
|
|
| TOOBAR_PART | FORM | ZCOC0050C01 L123-127 | 0 | |
|
|
| USER_COMMAND_PART | FORM | ZCOC0050C01 L135-141 | 0 | |
|
|
| DATA_CHANGED | FORM | ZCOC0050C01 L149-151 | 0 | |
|
|
| F_OUT_MESSAGE_PROC | FORM | ZCOC0050C01 L160-176 | 0 | |
|
|
| DATA_CHANGED_FINISHED | FORM | ZCOC0050C01 L185-188 | 0 | |
|
|
| HOTSPOT_CLICK | FORM | ZCOC0050C01 L197-200 | 0 | |
|
|
| DOUBLE_CLICK | FORM | ZCOC0050C01 L210-214 | 0 | |
|
|
| ON_F4 | FORM | ZCOC0050C01 L228-244 | 0 | |
|
|
| ON_F4_100 | FORM | ZCOC0050C01 L258-276 | 0 | |
|
|
| DISPLAY_ALV_LIST | FORM | ZCOC0050C01 L286-356 | 0 | |
|
|
| SET_FCAT_DDIC_X01 | FORM | ZCOC0050C01 L366-431 | 0 | |
|
|
| FILL_FIELD_CATALOGS | FORM | ZCOC0050C01 L443-461 | 0 | |
|
|
| FILL_FCAT | FORM | ZCOC0050C01 L475-556 | 0 | |
|
|
| GET_LIKEITAB_FACT | FORM | ZCOC0050C01 L567-617 | 0 | |
|
|
| SET_TOP_OF_PAGE | FORM | ZCOC0050C01 L629-687 | 0 | |
|
|
| SET_TOP_OF_PAGE_TEXT | FORM | ZCOC0050C01 L697-707 | 0 | |
|
|
| LOOP_AT_SCREEN | FORM | ZCOC0050F01 L6-15 | 0 | 선택화면에서 그룹 MG1 필드를 입력 불가로 설정하는 LOOP AT SCREEN 화면 제어이다. |
|
|
| SET_DYNP | FORM | ZCOC0050F01 L22-29 | 0 | 초기화 시 SET_KOKRS_BASE로 관리회계영역 기본정보를 읽어 텍스트 P_BEZEI를 설정한다. |
|
|
| CHECK_INPUT | FORM | ZCOC0050F01 L38-45 | 1 | 선택화면의 업로드 파일명(P_FNAME) 입력 여부를 검사해 없으면 오류 메시지로 중단하는 FORM이다. |
|
|
| INITIALIZE_DATA | FORM | ZCOC0050F01 L51-73 | 0 | 관리회계영역 기본정보(SET_KOKRS_BASE)와 메인 ALV 필드카탈로그를 설정하고 업로드·전기 상태 플래그를 초기화한다. |
|
|
| PROCESS_DATA | FORM | ZCOC0050F01 L87-90 | 0 | 진행률 메시지를 표시하고 READ_DATA를 호출하는 디스패치 FORM이다. |
|
|
| FC01_ACTIVE | FORM | ZCOC0050F01 L99-102 | 0 | 선택화면에 '엑셀 양식 다운로드' 버튼(FC01)을 아이콘과 함께 활성화한다. |
|
|
| CONTROL_FCXX | FORM | ZCOC0050F01 L111-123 | 1 | 선택화면 버튼 FC01 클릭 시 Z_CO_OPEN_SMW0으로 SMW0 문서(추경 업로드 엑셀 양식)를 연다. |
|
|
| READ_DATA | FORM | ZCOC0050F01 L132-148 | 1 | 엑셀 업로드 → 형식 정리(SET_BDC_FORM) → GT_DATA 이전·통화 변환 → 검증 → 명칭 보완 순으로 추경 데이터를 읽는 흐름을 제어한다. |
|
|
| CONVERT_KRW_DATA | FORM | ZCOC0050F01 L155-176 | 1 | ALV 필드카탈로그의 CURR 타입 필드(월별 금액)를 대상으로 GT_DATA 전 라인의 금액을 회사 통화(GV_WAERS) 내부형식으로 변환하는 FORM이다. |
|
|
| SET_BDC_FORM | FORM | ZCOC0050F01 L185-275 | 2 | 대상 구조의 필드카탈로그와 도메인 소문자 허용 여부(DD01L)를 참고해 GT_UPLOAD의 숫자·날짜·체크박스·변환루틴 필드를 정리하고 대문자 변환하는 FORM이다. |
|
|
| TRANSFER_GT_DATA | FORM | ZCOC0050F01 L284-307 | 1 | 엑셀 원본 GT_UPLOAD를 GT_DATA로 옮기며 코스트센터 대문자화, 추경금액 1000배 환산(CONVERT_1000_U), 통화 설정을 하고 숫자 변환 오류 시 중단한다. |
|
|
| UPLOAD_EXCEL_DATA | FORM | ZCOC0050F01 L315-333 | 1 | 업로드 파일 존재를 확인한 뒤 UPLOAD_DATA로 엑셀 2행부터 전체 범위를 GT_UPLOAD에 적재하는 FORM이다. |
|
|
| VALIDATION_CHECK | FORM | ZCOC0050F01 L342-423 | 3 | 업로드된 추경 라인의 코스트센터·원가요소 존재 여부(CSKS/CSKT, CSKB/CSKU)와 금액(0·음수 불가)을 검증해 오류 라인을 표시한다. |
|
|
| ADD_DATA_MESSAGE | FORM | ZCOC0050F01 L433-445 | 1 | 오류 필드의 ALV 컬럼 텍스트와 메시지를 합쳐 현재 GT_DATA 라인의 메시지 목록(MSG_LIST)에 추가하는 FORM이다. |
|
|
| SET_ERROR_FIELD_RED | FORM | ZCOC0050F01 L454-462 | 0 | 오류 필드를 ALV 셀 색상(빨강, COL=6)으로 강조하기 위해 GT_DATA-F_COL에 색상 정보를 추가하는 표시용 헬퍼이다. |
|
|
| EDIT_DATA | FORM | ZCOC0050F01 L471-499 | 1 | GT_DATA 각 라인에 GT_KOSTL·GT_KSTAR에서 찾은 코스트센터명·원가요소명을 보완한다. |
|
|
| EXECUTE_BAPI | FORM | ZCOC0050F01 L508-535 | 1 | 중복 전기를 막고 '예산을 추경하시겠습니까?' 확인 후 BAPI_POST_SENDER로 추경을 전기하고 INSERT_LOG로 ZCOT0020 이력을 남긴다. |
|
|
| BAPI_POST_SENDER | FORM | ZCOC0050F01 L544-622 | 1 | GT_DATA 라인별로 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')를 호출해 추경 금액을 원가 계획으로 전기하고 커밋/롤백 결과를 상태·메시지에 반영한다. |
|
|
| FILL_TABLES | FORM | ZCOC0050F01 L634-701 | 2 | 현재 GT_DATA 한 라인에 대해 BAPI_COSTACTPLN_POSTPRIMCOST용 헤더(추경 버전 B11, 월 P_PERBL, 헤더텍스트 BLTXT)와 코스트센터/원가요소/금액 테이블을 구성한다. |
|
|
| ENQUEUE_ZCOT0020 | FORM | ZCOC0050F01 L710-729 | 1 | 예산조정 이력 테이블 ZCOT0020에 ENQUEUE_EZ_ZCOT0020으로 잠금을 걸고 실패 시 잠금 메시지를 표시하며 오류 플래그를 반환한다. |
|
|
| DEQUEUE_ZCOT0020 | FORM | ZCOC0050F01 L735-742 | 1 | 예산조정 이력 테이블 ZCOT0020에 걸어둔 잠금을 DEQUEUE_EZ_ZCOT0020으로 해제한다. |
|
|
| INSERT_LOG | FORM | ZCOC0050F01 L751-797 | 2 | BAPI 전기에 성공한 추경 라인을 예산조정 이력 테이블 ZCOT0020(BGTYPE '10' 추경)에 로그로 저장한다. |
|
|
| CALL_BG_REPORT | FORM | ZCOC0050F01 L806-810 | 1 | 부서 예산 리포트 트랜잭션 ZCOR0030을 호출한다. |
|
|
| CALL_BG_ADJ_LOG | FORM | ZCOC0050F01 L819-823 | 1 | 예산조정 이력 조회 트랜잭션 ZCOR0040을 호출한다. |
|
|
| USER_COMMAND_0100 INPUT | MODULE | ZCOC0050I01 L6-36 | 1 | 화면 100의 기능코드에 따라 종료(컨테이너 정리·잠금 해제), 추경 전기(&POST), 예산 리포트(&DIP, ZCOR0030), 예산조정 로그(&LOG, ZCOR0040) 호출을 분기하는 PAI 모듈이다. |
|
|
| STATUS_0100 OUTPUT | MODULE | ZCOC0050O01 L6-20 | 0 | |
|
|
| CREATE_AND_INIT_CONTROLS_0100 OUTPUT | MODULE | ZCOC0050O01 L26-71 | 0 | |
|
|
| CREATE_CUSTOM_OBJECT_0100 | FORM | ZCOC0050O01 L81-125 | 0 | |
|
|
| SET_ALV_LAYOUT_0100 | FORM | ZCOC0050O01 L133-153 | 0 | |
|
|
| SET_ALV_LAYOUT_POP | FORM | ZCOC0050O01 L161-170 | 0 | |
|
|
| SET_ALV_TOOLBAR_0100 | FORM | ZCOC0050O01 L178-200 | 0 | |
|
|
| SET_ALV_EVENT_REGISTER_0100 | FORM | ZCOC0050O01 L209-237 | 0 | |
|
|
| SET_TOP_OF_PAGE_TEXT_0100 | FORM | ZCOC0050O01 L310-339 | 0 | |
|
|
| SET_FCAT_LIKETAB_0100 | FORM | ZCOC0050O01 L349-421 | 0 | |
|
|
| SET_ALV_SORT_0100 | FORM | ZCOC0050O01 L429-456 | 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이다. |
|