Files

4088 lines
146 KiB
Markdown

---
type: abap-program
title: "ZFIR0061 — 카드채권 반제내역 I/F 이력 조회"
description: "ZFIR0060 이 처리한 카드채권 반제 인터페이스 이력을 거래일자·처리상태(전체/오류)로 조회하는 화면이며, 오류 건을 화면에서 직접 재전기할 수 있다. ZFIT0110 을 읽어 고객·오더·손익센터 텍스트를 붙여 ALV 로 보여주고, ZFIR0060 과 동일한 전표 생성·결과송신 로직을 내장한다."
resource: "abap://ZFIR0061"
tags: ["인터페이스", "반제", "채권관리", "리포트", "오류재처리", "FI", "카드채권", "처리상태", "거래일", "지급일", "반제일", "손익센터", "고객", "코스트센터", "오더", "사업장", "고객명", "텍스트보강", "조직단위", "번호범위"]
generated: { by: "abap-indexing/z-ai/glm-5.2:free", at: "2026-09-20T15:36:20+00:00" }
status: stable
x-package:
x-changed-on:
x-tables-read: ["AUFK", "CEPCT", "CSKT", "DD07T", "J_1BBRANCH", "KNA1", "LTDX", "SKAT", "T007S", "TKA02", "USR01", "V_USERNAME", "ZFIT0110", "ZFIT0160"]
x-tables-write: ["ZFIT0110"]
x-calls: ["BAL_DSP_LOG_DISPLAY", "BAL_LOG_CREATE", "BAL_LOG_MSG_ADD", "CLOI_PUT_SIGN_IN_FRONT", "CONVERSION_EXIT_ALPHA_INPUT", "CONVERSION_EXIT_ALPHA_OUTPUT", "CONVERT_TO_FOREIGN_CURRENCY", "CONVERT_TO_LOCAL_CURRENCY", "CURRENCY_AMOUNT_IDOC_TO_SAP", "CURRENCY_AMOUNT_SAP_TO_IDOC", "DOMAIN_VALUE_GET", "DYNP_VALUES_READ", "F4IF_INT_TABLE_VALUE_REQUEST", "FB03", "FD03", "FK03", "GUI_UPLOAD", "HELP_VALUES_GET_NO_DD_NAME", "HRVE_GET_TIME_BETWEEN_DATES", "ICON_CREATE", "KCD_EXCEL_OLE_TO_INT_CONVERT", "LVC_VARIANT_DEFAULT_GET", "LVC_VARIANT_EXISTENCE_CHECK", "LVC_VARIANT_F4", "MESSAGE_TEXT_BUILD", "NUMBER_GET_NEXT", "NUMERIC_CHECK", "POPUP_TO_CONFIRM_STEP", "P_TCODE", "REUSE_ALV_EVENTS_GET", "REUSE_ALV_FIELDCATALOG_MERGE", "REUSE_ALV_GRID_DISPLAY", "REUSE_ALV_GRID_DISPLAY_LVC", "REUSE_ALV_HIERSEQ_LIST_DISPLAY", "RP_CALC_DATE_IN_INTERVAL", "RP_LAST_DAY_OF_MONTHS", "SAPGUI_PROGRESS_INDICATOR", "SSF_CLOSE", "SSF_FUNCTION_MODULE_NAME", "SSF_OPEN"]
x-code-hash: "b7deedcf87d85e469d5717bf61b8e6a826d6d0e7080ab78bd5bf20613609f307"
x-unit-count: 102
x-chunk-count: 49
x-declaration-count: 297
---
## 업무 목적
ZFIR0060 이 처리한 카드채권 반제 인터페이스 이력을 거래일자·처리상태(전체/오류)로 조회하는 화면이며, 오류 건을 화면에서 직접 재전기할 수 있다. ZFIT0110 을 읽어 고객·오더·손익센터 텍스트를 붙여 ALV 로 보여주고, ZFIR0060 과 동일한 전표 생성·결과송신 로직을 내장한다.
## 주 흐름
1. ALV 설정과 도메인 텍스트를 준비한다 (ALV_SETTING → GET_DOMAIN)
2. 회사코드 권한을 검증한다 (AUTHORITY_BUKRS)
3. 거래일자·처리상태 조건으로 ZFIT0110 인터페이스 이력을 추출한다 (GET_ZFIT0110)
4. 고객(KNA1)·오더(AUFK)·손익센터(CEPCT) 텍스트를 붙여 표시 데이터를 만든다 (DISPLAY_DATA)
5. 화면 0100 에 ALV 로 출력한다
6. 재전기 지시 시 전표를 다시 만들어 FB01 BDC 로 전기하고 결과를 송신한다 (POSTING_DOCUMET → MAKE_BKPF/MAKE_BSEG → BDC_TRANSACTION_FB01 → SEND_CLEARING_INFO)
## 핵심 내부테이블
- `GT_DATA` — 카드채권 반제 I/F 이력 및 재전기 대상 (채움: GET_ZFIT0110 / 소비: DISPLAY_DATA, POSTING_DOCUMET)
## 테이블 / 외부 호출
- read: AUFK, CEPCT, CSKT, DD07T, J_1BBRANCH, KNA1, LTDX, SKAT, T007S, TKA02, USR01, V_USERNAME, ZFIT0110, ZFIT0160
- write: ZFIT0110
- 외부 호출: BAL_DSP_LOG_DISPLAY, BAL_LOG_CREATE, BAL_LOG_MSG_ADD, CLOI_PUT_SIGN_IN_FRONT, CONVERSION_EXIT_ALPHA_INPUT, CONVERSION_EXIT_ALPHA_OUTPUT, CONVERT_TO_FOREIGN_CURRENCY, CONVERT_TO_LOCAL_CURRENCY, CURRENCY_AMOUNT_IDOC_TO_SAP, CURRENCY_AMOUNT_SAP_TO_IDOC, DOMAIN_VALUE_GET, DYNP_VALUES_READ, F4IF_INT_TABLE_VALUE_REQUEST, FB03, FD03, FK03, GUI_UPLOAD, HELP_VALUES_GET_NO_DD_NAME, HRVE_GET_TIME_BETWEEN_DATES, ICON_CREATE, KCD_EXCEL_OLE_TO_INT_CONVERT, LVC_VARIANT_DEFAULT_GET, LVC_VARIANT_EXISTENCE_CHECK, LVC_VARIANT_F4, MESSAGE_TEXT_BUILD, NUMBER_GET_NEXT, NUMERIC_CHECK, POPUP_TO_CONFIRM_STEP, P_TCODE, REUSE_ALV_EVENTS_GET
## 로직 조각 (49건 / unit 38개)
LLM 이 코드에서 골라낸 업무 로직 단위다. **조각마다 소스 원문과 자연어 설명을 함께 싣는다** — 설명이 코드와 맞는지 바로 대조할 수 있어야 하기 때문이다.
테이블·호출은 LLM 이 쓴 값이 아니라 파서가 조각 범위에서 다시 뽑은 사실이다. 순서는 실행 순서다.
### FORM GET_DOMAIN — `ZFIR0061F01` L9-L22 (14줄)
*DD07T 에서 발생/취소 구분 도메인 ZDGUBUN 의 고정값 텍스트를 GT_DOMAIN 에 읽는 FORM 이다.*
> 이 unit 의 조각 1개가 8/14줄(57%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] DD07T 에서 로그온 언어의 도메인 ZDGUBUN(발생/취소 구분) 고정값과 텍스트를 GT_DOMAIN 에 읽어 화면 표시에 사용한다.
```abap
13| SELECT DOMNAME
14| DOMVALUE_L
15| DDTEXT
16| INTO TABLE GT_DOMAIN
17| FROM DD07T
18| WHERE DD07T~DOMNAME EQ 'ZDGUBUN'
19| AND DD07T~DDLANGUAGE EQ SY-LANGU
20| AND DD07T~AS4LOCAL EQ C_A.
```
- **EN**: Reads fixed values and texts of domain ZDGUBUN (posting/reversal flag) from DD07T into GT_DOMAIN for display.
- 테이블(파서): read [DD07T](/tables/DD07T.md) / write -
- SAP 객체: DD07T, ZDGUBUN
- 업무 키워드: 도메인 텍스트, 발생/취소 구분
- English: Domain Fixed Values, Text Lookup
- 정의부(복사 시 함께 필요): [`GT_DOMAIN`](#decl-zfir0061top-62-gt_domain), [`C_A`](#decl-zficom-208-c_a)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L13-L20` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#GET_DOMAIN#C1`
### FORM AUTHORITY_BUKRS — `ZFICOM` L528-L536 (9줄)
*회사코드에 대한 SAP 표준 권한(F_BKPF_BUK)을 검사하고 권한이 없으면 처리를 중단한다.*
> 이 unit 의 조각 1개가 7/9줄(78%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [validation] 전표 권한 오브젝트 F_BKPF_BUK 로 해당 회사코드 접근 권한을 검사하고, 권한이 없으면 메시지를 띄운 뒤 리스트 처리를 즉시 중단한다.
```abap
529| AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
530| ID 'BUKRS' FIELD P_BUKRS.
531| IF SY-SUBRC NE 0.
532| MESSAGE I240(FZ) WITH P_BUKRS.
533| GF_CHECK = C_X.
534| LEAVE LIST-PROCESSING.
535| ENDIF.
```
- **EN**: Checks company-code authorization via F_BKPF_BUK and aborts list processing when the user lacks it.
- SAP 객체: F_BKPF_BUK, T001, BUKRS
- 업무 키워드: 권한체크, 회사코드권한, 권한오브젝트, 접근제어, 처리중단
- English: authority check, company code authorization, F_BKPF_BUK, access control
- 정의부(복사 시 함께 필요): [`P_BUKRS`](#decl-zfir0061top-88-p_bukrs), [`GF_CHECK`](#decl-zficom-87-gf_check), [`C_X`](#decl-zficom-231-c_x)
- 위치: `abap://ZFIR0061/ZFICOM#L529-L535` · confidence 0.93 · `ZFIR0061#ZFICOM#FORM#AUTHORITY_BUKRS#C1`
### FORM GET_ZFIT0110 — `ZFIR0061F01` L42-L128 (87줄)
*카드채권 반제 인터페이스 이력을 처리상태·일자 조건으로 읽고 조직단위·고객 텍스트를 붙인다.*
> 이 unit 의 조각 2개가 70/87줄(80%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] 처리상태(전체/성공 S/오류 E+F)를 레인지로 만들고, 거래일·손익센터·지급일·반제일·고객 조건으로 카드채권 반제 테이블 ZFIT0110 을 조회한다.
```abap
48| R_STATS-SIGN = C_I.
49| R_STATS-OPTION = C_EQ.
50| CASE C_X.
51| WHEN P_RA.
52| WHEN P_RS.
53| R_STATS-LOW = C_S.
54| APPEND R_STATS.
55| WHEN P_RE.
56| R_STATS-LOW = C_E.
57| APPEND R_STATS.
58| R_STATS-LOW = C_F.
59| APPEND R_STATS.
60| ENDCASE.
61|
62| SELECT *
63| INTO TABLE GT_Z0110
64| FROM ZFIT0110
65| WHERE BUKRS EQ P_BUKRS
66| AND TRDAT IN S_TRDAT
67| AND PRCTR IN S_PRCTR
68| AND PYDAT IN S_PYDAT
69| AND ARDAT IN S_ARDAT
70| AND KUNNR IN S_KUNNR
71| AND STATS IN R_STATS.
72|
73| CHECK GT_Z0110[] IS NOT INITIAL.
```
- **EN**: Builds a status range (success S, errors E/F) and reads card-receivable clearing records from ZFIT0110 by transaction, payment and clearing dates.
- 테이블(파서): read [ZFIT0110](/tables/ZFIT0110.md) / write -
- SAP 객체: ZFIT0110, TRDAT, PYDAT, ARDAT, PRCTR, KUNNR, STATS
- 업무 키워드: 카드채권, 반제, 처리상태, 거래일, 지급일, 반제일, 손익센터, 고객
- English: card receivable, clearing, processing status, transaction date, payment date, clearing date
- 정의부(복사 시 함께 필요): [`R_STATS`](#decl-zfir0061top-68-r_stats), [`C_I`](#decl-zficom-216-c_i), [`C_EQ`](#decl-zficom-244-c_eq), [`C_X`](#decl-zficom-231-c_x), [`P_RA`](#decl-zfir0061top-99-p_ra), [`P_RS`](#decl-zfir0061top-101-p_rs), [`C_S`](#decl-zficom-226-c_s), [`P_RE`](#decl-zfir0061top-103-p_re), [`C_E`](#decl-zficom-212-c_e), [`C_F`](#decl-zficom-213-c_f), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110`](#decl-zfir0061top-27-gt_z0110) 외 6건
- 위치: `abap://ZFIR0061/ZFIR0061F01#L48-L73` · confidence 0.89 · `ZFIR0061#ZFIR0061F01#FORM#GET_ZFIT0110#C1`
#### [sql_select] 관리회계영역(TKA02)을 읽고 코스트센터명·손익센터명·오더명(AUFK)·사업장명·고객명·지점고객명을 FOR ALL ENTRIES 로 붙여 표시용 텍스트를 확보한다.
```abap
83| SELECT SINGLE *
84| FROM TKA02
85| WHERE BUKRS EQ P_BUKRS.
86| * 코스트센터명
87| SELECT KOSTL LTEXT
88| INTO TABLE GT_CSKT
89| FROM CSKT
90| FOR ALL ENTRIES IN GT_Z0110
91| WHERE SPRAS EQ SY-LANGU
92| AND KOKRS EQ TKA02-KOKRS
93| AND KOSTL EQ GT_Z0110-KOSTL.
94| * 손익센터명
95| SELECT PRCTR KTEXT
96| INTO TABLE GT_CEPCT
97| FROM CEPCT
98| FOR ALL ENTRIES IN GT_Z0110
99| WHERE SPRAS EQ SY-LANGU
100| AND KOKRS EQ TKA02-KOKRS
101| AND PRCTR EQ GT_Z0110-PRCTR.
102| * 오더명
103| SELECT AUFNR KTEXT
104| INTO TABLE GT_AUFK
105| FROM AUFK
106| FOR ALL ENTRIES IN GT_Z0110
107| WHERE AUFNR EQ GT_Z0110-AUFNR.
108| * 사업장명
109| SELECT BRANCH NAME
110| INTO TABLE GT_BRANCH
111| FROM J_1BBRANCH
112| FOR ALL ENTRIES IN GT_Z0110
113| WHERE BUKRS EQ P_BUKRS
114| AND BRANCH EQ GT_Z0110-BUPLA.
115| * 고객명
116| SELECT KUNNR NAME1
117| INTO TABLE GT_KNA1
118| FROM KNA1
119| FOR ALL ENTRIES IN GT_Z0110
120| WHERE KUNNR EQ GT_Z0110-KUNNR.
121| * 지점고객명
122| SELECT KUNNR NAME1
123| APPENDING TABLE GT_KNA1
124| FROM KNA1
125| FOR ALL ENTRIES IN GT_Z0110
126| WHERE KUNNR EQ GT_Z0110-KUNNR2.
```
- **EN**: Enriches the rows with controlling area, cost center, profit center, order, business place and customer texts.
- 테이블(파서): read [TKA02](/tables/TKA02.md), [CSKT](/tables/CSKT.md), [CEPCT](/tables/CEPCT.md), [AUFK](/tables/AUFK.md), [J_1BBRANCH](/tables/J_1BBRANCH.md), [KNA1](/tables/KNA1.md) / write -
- SAP 객체: TKA02, CSKT, CEPCT, AUFK, J_1BBRANCH, KNA1
- 업무 키워드: 코스트센터, 손익센터, 오더, 사업장, 고객명, 텍스트보강, 조직단위
- English: cost center, profit center, internal order, business place, customer name, text enrichment
- 정의부(복사 시 함께 필요): [`TKA02`](#decl-zfir0061top-8-tka02), [`P_BUKRS`](#decl-zfir0061top-88-p_bukrs), [`GT_CSKT`](#decl-zfir0061top-47-gt_cskt), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110`](#decl-zfir0061top-27-gt_z0110), [`GT_CEPCT`](#decl-zfir0061top-37-gt_cepct), [`GT_AUFK`](#decl-zfir0061top-42-gt_aufk), [`GT_BRANCH`](#decl-zfir0061top-52-gt_branch), [`GT_KNA1`](#decl-zfir0061top-57-gt_kna1), [`KNA1`](#decl-zficom-38-kna1)
- 선언을 못 찾은 이름: J_1BBRANCH (수집 안 된 인클루드·함수 인터페이스일 수 있다)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L83-L126` · confidence 0.88 · `ZFIR0061#ZFIR0061F01#FORM#GET_ZFIT0110#C2`
### FORM DISPLAY_DATA — `ZFIR0061F01` L134-L196 (63줄)
*ZFIT0110 이력 각 건에 상태 아이콘과 발생취소·코스트센터·손익센터·오더·사업장·고객 텍스트를 붙여 ALV 표시용 GT_DATA 를 만들고 거래일자·순번으로 정렬하는 FORM 이다.*
> 이 unit 의 조각 1개가 58/63줄(92%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [other] 카드채권 반제 I/F 이력(GT_Z0110)마다 처리상태(S 성공/F 실패/기타)에 따라 신호등 아이콘을 넣고 도메인 ZDGUBUN 텍스트, CSKT 코스트센터명, CEPCT 손익센터명, AUFK 오더명, 사업장명, KNA1 고객명·지점고객명을 붙여 GT_DATA 에 적재한 뒤 거래일자·순번으로 정렬한다.
```abap
137| LOOP AT GT_Z0110.
138| MOVE-CORRESPONDING GT_Z0110 TO GT_DATA.
139| * 상태 아이콘
140| IF GT_Z0110-STATS EQ C_S.
141| GT_DATA-CICON = ICON_GREEN_LIGHT.
142| ELSEIF GT_Z0110-STATS EQ C_F.
143| GT_DATA-CICON = ICON_RED_LIGHT.
144| ELSE.
145| GT_DATA-CICON = ICON_YELLOW_LIGHT.
146| ENDIF.
147| * 발생/취소구분
148| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDGUBUN'
149| DOMVALUE_L = GT_Z0110-GUBUN.
150| IF SY-SUBRC EQ 0.
151| GT_DATA-GUBUN_T = GT_DOMAIN-DDTEXT.
152| ENDIF.
153| ** 사업영역명
154| * READ TABLE GT_TGSBT WITH KEY GSBER = GT_Z0110-GSBER.
155| * IF SY-SUBRC EQ 0.
156| * GT_DATA-GSBER_T = GT_TGSBT-GTEXT.
157| * ENDIF.
158| * 코스트센터명
159| READ TABLE GT_CSKT WITH KEY KOSTL = GT_Z0110-KOSTL.
160| IF SY-SUBRC EQ 0.
161| GT_DATA-KOSTL_T = GT_CSKT-LTEXT.
162| ENDIF.
163| * 손익센터명
164| READ TABLE GT_CEPCT WITH KEY PRCTR = GT_Z0110-PRCTR.
165| IF SY-SUBRC EQ 0.
166| GT_DATA-PRCTR_T = GT_CEPCT-KTEXT.
167| ENDIF.
168| * 오더명
169| READ TABLE GT_AUFK WITH KEY AUFNR = GT_Z0110-AUFNR.
170| IF SY-SUBRC EQ 0.
171| GT_DATA-AUFNR_T = GT_AUFK-KTEXT.
172| ENDIF.
173| * 사업장명
174| READ TABLE GT_BRANCH WITH KEY BRANCH = GT_Z0110-BUPLA.
175| IF SY-SUBRC EQ 0.
176| GT_DATA-BUPLA_T = GT_BRANCH-NAME.
177| ENDIF.
178| * 고객명
179| READ TABLE GT_KNA1 WITH KEY KUNNR = GT_Z0110-KUNNR.
180| IF SY-SUBRC EQ 0.
181| GT_DATA-KUNNR_T = GT_KNA1-NAME1.
182| ENDIF.
183| * 지점고객명
184| READ TABLE GT_KNA1 WITH KEY KUNNR = GT_Z0110-KUNNR2.
185| IF SY-SUBRC EQ 0.
186| GT_DATA-KUNNR2_T = GT_KNA1-NAME1.
187| ENDIF.
188|
189| APPEND GT_DATA. CLEAR GT_DATA.
190| ENDLOOP.
191|
192| SORT GT_DATA BY TRDAT SEQ.
193|
194| DESCRIBE TABLE GT_DATA LINES GV_DBCNT.
```
- **EN**: Enriches each clearing-history row with a status icon and texts for reversal flag, cost center (CSKT), profit center (CEPCT), order (AUFK), business place and customer names (KNA1), then sorts by transaction date and sequence.
- SAP 객체: ZFIT0110, CSKT, CEPCT, AUFK, KNA1, GT_DATA
- 업무 키워드: 상태 아이콘, 코스트센터명, 손익센터명, 고객명, 표시 데이터 구성
- English: Status Icon, Master Data Text, Cost Center, Profit Center, Customer Name
- 정의부(복사 시 함께 필요): [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110`](#decl-zfir0061top-27-gt_z0110), [`GT_DATA`](#decl-zfir0061top-14-gt_data), [`C_S`](#decl-zficom-226-c_s), [`C_F`](#decl-zficom-213-c_f), [`GT_DOMAIN`](#decl-zfir0061top-62-gt_domain), [`GT_CSKT`](#decl-zfir0061top-47-gt_cskt), [`GT_CEPCT`](#decl-zfir0061top-37-gt_cepct), [`GT_AUFK`](#decl-zfir0061top-42-gt_aufk), [`GT_BRANCH`](#decl-zfir0061top-52-gt_branch), [`GT_KNA1`](#decl-zfir0061top-57-gt_kna1), [`GV_DBCNT`](#decl-zficom-68-gv_dbcnt)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L137-L194` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#DISPLAY_DATA#C1`
### FORM NAME_SELECT — `ZFICOM` L378-L387 (10줄)
*사용자 ID 로 V_USERNAME 뷰에서 사용자 이름을 조회하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 7/10줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] V_USERNAME 뷰에서 사용자 ID 의 이름(NAME_TEXT)을 조회하고 이름이 비어 있으면 사용자 ID 를 그대로 돌려준다.
```abap
380| SELECT SINGLE V_USERNAME~NAME_TEXT
381| INTO P_NAMET
382| FROM V_USERNAME
383| WHERE V_USERNAME~BNAME EQ P_UNAME.
384| IF SY-DBCNT GT 0 AND P_NAMET IS INITIAL.
385| P_NAMET = P_UNAME.
386| ENDIF.
```
- **EN**: Reads the user's full name from view V_USERNAME by user ID, falling back to the user ID when the name is empty.
- 테이블(파서): read [V_USERNAME](/tables/V_USERNAME.md) / write -
- SAP 객체: V_USERNAME, USR21, ADRP
- 업무 키워드: 사용자 이름, 사용자 ID, 담당자명
- English: User Name, V_USERNAME, User Master
- 선언을 못 찾은 이름: V_USERNAME (수집 안 된 인클루드·함수 인터페이스일 수 있다)
- 위치: `abap://ZFIR0061/ZFICOM#L380-L386` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#NAME_SELECT#C1`
### FORM SELECT_CSKT — `ZFICOM` L397-L408 (12줄)
*관리회계영역·코스트센터로 CSKT 에서 유효한 코스트센터명을 조회하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 7/12줄(58%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] CSKT 에서 영어 언어 기준 관리회계영역(KOKRS)·코스트센터(KOSTL)의 현재 유효(DATBI ≥ 오늘)한 명칭 KTEXT 를 단건 조회한다.
```abap
401| SELECT SINGLE CSKT~KTEXT
402| INTO P_KTEXT
403| FROM CSKT
404| WHERE CSKT~SPRAS EQ 'E' "SY-LANGU
405| AND CSKT~KOKRS EQ P_KOKRS
406| AND CSKT~KOSTL EQ P_KOSTL
407| AND CSKT~DATBI GE SY-DATLO.
```
- **EN**: Reads the currently valid cost center name KTEXT from CSKT for the controlling area and cost center (language 'E', DATBI >= today).
- 테이블(파서): read [CSKT](/tables/CSKT.md) / write -
- SAP 객체: CSKT
- 업무 키워드: 코스트센터, 코스트센터명, 관리회계영역, 유효기간
- English: Cost Center, Controlling Area, CSKT
- 위치: `abap://ZFIR0061/ZFICOM#L401-L407` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#SELECT_CSKT#C1`
### FORM SELECT_J_1BBRANCH — `ZFICOM` L419-L428 (10줄)
*회사코드·사업장(Business Place)으로 J_1BBRANCH 사업장명을 조회하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 5/10줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] 회사코드와 사업장 코드로 J_1BBRANCH 에서 사업장명(NAME)을 단건 조회한다.
```abap
423| SELECT SINGLE J_1BBRANCH~NAME
424| INTO P_NAME
425| FROM J_1BBRANCH
426| WHERE J_1BBRANCH~BUKRS EQ P_BUKRS
427| AND J_1BBRANCH~BRANCH EQ P_BRANCH.
```
- **EN**: Reads the business place name from J_1BBRANCH for the company code and branch.
- 테이블(파서): read [J_1BBRANCH](/tables/J_1BBRANCH.md) / write -
- SAP 객체: J_1BBRANCH
- 업무 키워드: 사업장, 사업장명, 회사코드, 세금계산서
- English: Business Place, Branch, Company Code
- 정의부(복사 시 함께 필요): [`P_BUKRS`](#decl-zfir0061top-88-p_bukrs)
- 선언을 못 찾은 이름: J_1BBRANCH (수집 안 된 인클루드·함수 인터페이스일 수 있다)
- 위치: `abap://ZFIR0061/ZFICOM#L423-L427` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#SELECT_J_1BBRANCH#C1`
### FORM SELECT_SKAT — `ZFICOM` L438-L464 (27줄)
*G/L 계정번호로 SKAT 계정과목 텍스트(장문 50/단문 20)를 언어별로 조회하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 21/27줄(78%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] 파라미터 ID ZSP 또는 로그온 언어로 언어를 정한 뒤 텍스트 유형(L/S)에 따라 SKAT 에서 계정과목 장문(TXT50) 또는 단문(TXT20)을 계정표(C_KTOPL) 기준으로 단건 조회한다.
```abap
443| GET PARAMETER ID 'ZSP' FIELD L_LANG.
444| IF L_LANG IS INITIAL.
445| L_LANG = SY-LANGU.
446| ENDIF.
447| * Long text
448| IF P_TYPE EQ C_L.
449| SELECT SINGLE SKAT~TXT50
450| INTO P_TXT20
451| FROM SKAT
452| WHERE SKAT~SPRAS EQ L_LANG
453| AND SKAT~KTOPL EQ C_KTOPL
454| AND SKAT~SAKNR EQ P_SAKNR.
455| * Short text
456| ELSE.
457| SELECT SINGLE SKAT~TXT20
458| INTO P_TXT20
459| FROM SKAT
460| WHERE SKAT~SPRAS EQ L_LANG
461| AND SKAT~KTOPL EQ C_KTOPL
462| AND SKAT~SAKNR EQ P_SAKNR.
463| ENDIF.
```
- **EN**: Determines the language (parameter ZSP or SY-LANGU) and reads the G/L account long text TXT50 or short text TXT20 from SKAT for the chart of accounts.
- 테이블(파서): read [SKAT](/tables/SKAT.md) / write -
- SAP 객체: SKAT
- 업무 키워드: 계정과목 텍스트, G/L 계정, 계정표, 언어
- English: G/L Account, Chart of Accounts, Account Text, SKAT
- 정의부(복사 시 함께 필요): [`L_LANG`](#decl-zficom-441-l_lang), [`C_L`](#decl-zficom-219-c_l), [`C_KTOPL`](#decl-zficom-202-c_ktopl)
- 위치: `abap://ZFIR0061/ZFICOM#L443-L463` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#SELECT_SKAT#C1`
### FORM CHECK_CONFIRM_STEP — `ZFICOM` L476-L491 (16줄)
*제목·메시지 1줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 8/16줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] POPUP_TO_CONFIRM_STEP 으로 제목·메시지·취소버튼 여부·기본버튼을 지정한 확인 팝업을 띄우고 사용자의 응답을 GF_ANSWER 에 받는다.
```abap
482| CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
483| EXPORTING
484| DEFAULTOPTION = P_BUTTON
485| TEXTLINE1 = P_MESS1
486| TITEL = P_TITLE
487| CANCEL_DISPLAY = P_CANCEL
488| IMPORTING
489| ANSWER = GF_ANSWER.
```
- **EN**: Shows a confirmation popup via POPUP_TO_CONFIRM_STEP and returns the user's answer in GF_ANSWER.
- 호출(파서): POPUP_TO_CONFIRM_STEP
- SAP 객체: POPUP_TO_CONFIRM_STEP
- 업무 키워드: 확인 팝업, 사용자 확인, 실행 확인
- English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
- 정의부(복사 시 함께 필요): [`GF_ANSWER`](#decl-zficom-90-gf_answer)
- 위치: `abap://ZFIR0061/ZFICOM#L482-L489` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#CHECK_CONFIRM_STEP#C1`
### FORM CHECK_CONFIRM_STEP_2 — `ZFICOM` L503-L520 (18줄)
*제목·메시지 2줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 9/18줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] POPUP_TO_CONFIRM_STEP 으로 제목·메시지 2줄·취소버튼 여부·기본버튼을 지정한 확인 팝업을 띄우고 사용자의 응답을 GF_ANSWER 에 받는다.
```abap
510| CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
511| EXPORTING
512| DEFAULTOPTION = P_BUTTON
513| TEXTLINE1 = P_MESS1
514| TEXTLINE2 = P_MESS2
515| TITEL = P_TITLE
516| CANCEL_DISPLAY = P_CANCEL
517| IMPORTING
518| ANSWER = GF_ANSWER.
```
- **EN**: Shows a confirmation popup via POPUP_TO_CONFIRM_STEP with two text lines and returns the user's answer in GF_ANSWER.
- 호출(파서): POPUP_TO_CONFIRM_STEP
- SAP 객체: POPUP_TO_CONFIRM_STEP
- 업무 키워드: 확인 팝업, 사용자 확인, 실행 확인
- English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
- 정의부(복사 시 함께 필요): [`GF_ANSWER`](#decl-zficom-90-gf_answer)
- 위치: `abap://ZFIR0061/ZFICOM#L510-L518` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#CHECK_CONFIRM_STEP_2#C1`
### FORM AUTHORITY_PG — `ZFICOM` L545-L563 (19줄)
*사용자 ID 로 커스텀 권한테이블 ZFIT0160 을 조회해 프로그램(T-Code)별 실행 권한을 검증하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 16/19줄(84%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [validation] ZFIT0160 에서 사용자 ID 의 프로그램 권한 행을 조회하고, 미등록이거나 ZFIR0090 권한 플래그가 비어 있으면 '프로그램 권한이 없습니다' 메시지 후 GF_CHECK 를 세우고 처리를 중단한다.
```abap
547| SELECT SINGLE * FROM ZFIT0160
548| WHERE USERID = P_UNAME.
549|
550| IF SY-SUBRC = 0.
551| IF P_TCODE = 'ZFIR0090'.
552| IF ZFIT0160-ZFIR0090 = ''.
553| MESSAGE I000 WITH '프로그램 권한이 없습니다 (ZFIR0160) 미등록'.
554| GF_CHECK = C_X.
555| LEAVE LIST-PROCESSING.
556| ENDIF.
557| ENDIF.
558| ELSE.
559| MESSAGE I000 WITH '프로그램 권한이 없습니다 (ZFIR0160) 미등록'.
560| GF_CHECK = C_X.
561| LEAVE LIST-PROCESSING.
562| ENDIF.
```
- **EN**: Reads the custom program authorization table ZFIT0160 by user ID and stops with an 'no program authorization' message (GF_CHECK = X) when the user is not registered or the ZFIR0090 flag is empty.
- 테이블(파서): read [ZFIT0160](/tables/ZFIT0160.md) / write -
- SAP 객체: ZFIT0160, ZFIR0090
- 업무 키워드: 프로그램 권한, 권한 체크, 사용자 ID, 권한 테이블
- English: Authorization Check, Custom Authorization Table, User ID
- 정의부(복사 시 함께 필요): [`ZFIT0160`](#decl-zficom-45-zfit0160), [`GF_CHECK`](#decl-zficom-87-gf_check), [`C_X`](#decl-zficom-231-c_x)
- 위치: `abap://ZFIR0061/ZFICOM#L547-L562` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#AUTHORITY_PG#C1`
### FORM GET_DOMAIN_VALUE — `ZFICOM` L574-L593 (20줄)
*DOMAIN_VALUE_GET 으로 도메인 고정값의 텍스트를 조회하는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 14/20줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 도메인명·값으로 DOMAIN_VALUE_GET 을 호출해 고정값 텍스트(DDTEXT)를 얻고 미존재 시 시스템 메시지를 표시한다.
```abap
578| CALL FUNCTION 'DOMAIN_VALUE_GET'
579| EXPORTING
580| I_DOMNAME = P_DOMNAME
581| I_DOMVALUE = P_DOMVALUE
582| IMPORTING
583| E_DDTEXT = P_DDTEXT
584| EXCEPTIONS
585| NOT_EXIST = 1
586| OTHERS = 2.
587|
588| IF SY-SUBRC NE 0.
589| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
590| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
591| ENDIF.
```
- **EN**: Calls DOMAIN_VALUE_GET to get the fixed-value text of a domain value and raises the system message if not found.
- 호출(파서): DOMAIN_VALUE_GET
- SAP 객체: DOMAIN_VALUE_GET
- 업무 키워드: 도메인, 고정값 텍스트, 코드 설명
- English: Domain, Fixed Value, DDTEXT
- 위치: `abap://ZFIR0061/ZFICOM#L578-L591` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#GET_DOMAIN_VALUE#C1`
### FORM CALC_DATE_IN_INTERVAL — `ZFICOM` L606-L623 (18줄)
*기준일에 일·월·년을 가감한 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산하는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 9/18줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 기준일에 일·월·년 값을 부호(SIGNUM)에 따라 더하거나 빼서 결과 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산한다.
```abap
613| CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
614| EXPORTING
615| DATE = P_DATE
616| DAYS = P_DAYS
617| MONTHS = P_MONTHS
618| SIGNUM = P_SIGNUM
619| YEARS = P_YEARS
620| IMPORTING
621| CALC_DATE = P_CALC_DATE.
```
- **EN**: Adds or subtracts days/months/years to a base date with RP_CALC_DATE_IN_INTERVAL according to SIGNUM.
- 호출(파서): RP_CALC_DATE_IN_INTERVAL
- SAP 객체: RP_CALC_DATE_IN_INTERVAL
- 업무 키워드: 날짜 계산, 기준일, 일자 가감
- English: Date Calculation, RP_CALC_DATE_IN_INTERVAL
- 위치: `abap://ZFIR0061/ZFICOM#L613-L621` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#CALC_DATE_IN_INTERVAL#C1`
### FORM CALC_BETWEEN_DATES — `ZFICOM` L635-L651 (17줄)
*두 날짜 사이의 일·월·년 차이를 HRVE_GET_TIME_BETWEEN_DATES 로 계산하는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 8/17줄(47%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 시작일·종료일을 넘겨 HRVE_GET_TIME_BETWEEN_DATES 로 경과 일수·개월·연수를 계산한다.
```abap
642| CALL FUNCTION 'HRVE_GET_TIME_BETWEEN_DATES'
643| EXPORTING
644| BEG_DATE = P_BDATE
645| END_DATE = P_EDATE
646| IMPORTING
647| DAYS = P_DAYS
648| MONTHS = P_MONTHS
649| YEARS = P_YEARS.
```
- **EN**: Calculates days, months and years between two dates via HRVE_GET_TIME_BETWEEN_DATES.
- 호출(파서): HRVE_GET_TIME_BETWEEN_DATES
- SAP 객체: HRVE_GET_TIME_BETWEEN_DATES
- 업무 키워드: 기간 계산, 일수, 개월수, 경과기간
- English: Date Difference, Period Calculation
- 위치: `abap://ZFIR0061/ZFICOM#L642-L649` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#CALC_BETWEEN_DATES#C1`
### FORM DYNP_VALUES_READ — `ZFICOM` L674-L703 (30줄)
*DYNP_VALUES_READ 로 현재 화면 필드의 입력값을 PAI 전에 읽어오는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 21/30줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 읽을 화면 필드명·STEPL 을 GT_DYNFIELDS 에 담고 DYNP_VALUES_READ 로 현재 프로그램·화면의 필드 값을 읽어 P_VALUE 로 돌려준다.
```abap
682| CLEAR : GT_DYNFIELDS, GT_DYNFIELDS[].
683| GT_DYNFIELDS-FIELDNAME = P_FNAME.
684| GT_DYNFIELDS-STEPL = P_STEPL.
685| APPEND GT_DYNFIELDS.
686|
687| LV_PROG = SY-CPROG.
688| LV_DNUM = SY-DYNNR.
689| * To read Field Value on screen
690| CALL FUNCTION 'DYNP_VALUES_READ'
691| EXPORTING
692| DYNAME = LV_PROG
693| DYNUMB = LV_DNUM
694| DETERMINE_LOOP_INDEX = C_X
695| TABLES
696| DYNPFIELDS = GT_DYNFIELDS
697| EXCEPTIONS
698| OTHERS = 01.
699| IF SY-SUBRC EQ 0.
700| READ TABLE GT_DYNFIELDS INDEX 1.
701| P_VALUE = GT_DYNFIELDS-FIELDVALUE.
702| ENDIF.
```
- **EN**: Fills GT_DYNFIELDS with the screen field name/STEPL and reads its current value from the active dynpro with DYNP_VALUES_READ.
- 호출(파서): DYNP_VALUES_READ
- SAP 객체: DYNP_VALUES_READ
- 업무 키워드: 화면 필드값 읽기, 다이나프로, 입력값
- English: DYNP_VALUES_READ, Dynpro Field, Screen Value
- 정의부(복사 시 함께 필요): [`GT_DYNFIELDS`](#decl-zficom-63-gt_dynfields), [`LV_PROG`](#decl-zficom-678-lv_prog), [`LV_DNUM`](#decl-zficom-679-lv_dnum), [`C_X`](#decl-zficom-231-c_x)
- 위치: `abap://ZFIR0061/ZFICOM#L682-L702` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#DYNP_VALUES_READ#C1`
### FORM SELECT_T007S — `ZFICOM` L758-L770 (13줄)
*세금코드(MWSKZ)의 부가세 텍스트를 T007S 에서 조회하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 9/13줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] 세금계산절차(KALSM) 기본값을 세팅하고 T007S 에서 영어 언어 기준 세금코드(MWSKZ)의 설명 TEXT1 을 단건 조회한다.
```abap
761| IF GV_KALSM IS INITIAL.
762| GV_KALSM = C_KALSM.
763| ENDIF.
764| SELECT SINGLE T007S~TEXT1
765| INTO P_TEXT1
766| FROM T007S
767| WHERE T007S~SPRAS EQ 'E' " SY-LANGU
768| AND T007S~KALSM EQ GV_KALSM
769| AND T007S~MWSKZ EQ P_MWSKZ.
```
- **EN**: Defaults the tax procedure KALSM and reads the tax code description TEXT1 from T007S (language 'E').
- 테이블(파서): read [T007S](/tables/T007S.md) / write -
- SAP 객체: T007S
- 업무 키워드: 세금코드, 부가세, 세금계산절차, 텍스트 조회
- English: Tax Code, Tax Procedure, Sales Tax
- 정의부(복사 시 함께 필요): [`GV_KALSM`](#decl-zficom-146-gv_kalsm), [`C_KALSM`](#decl-zficom-204-c_kalsm)
- 위치: `abap://ZFIR0061/ZFICOM#L761-L769` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#SELECT_T007S#C1`
### FORM GET_NEXT_NUMBER — `ZFICOM` L781-L819 (39줄)
*번호범위 오브젝트에서 다음 일련번호를 받아온다 (CBO 테이블의 키 생성용).*
> 이 unit 의 조각 1개가 20/39줄(51%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 표준 FM NUMBER_GET_NEXT 로 지정한 번호범위·오브젝트·서브오브젝트의 다음 일련번호를 채번하고, 구간 미존재·오버플로 등 예외는 시스템 메시지로 그대로 올린다.
```abap
787| CALL FUNCTION 'NUMBER_GET_NEXT'
788| EXPORTING
789| NR_RANGE_NR = P_NRRNG
790| OBJECT = P_OBJCT
791| SUBOBJECT = P_SBJCT
792| IMPORTING
793| NUMBER = P_NUMBR
794| EXCEPTIONS
795| INTERVAL_NOT_FOUND = 1
796| NUMBER_RANGE_NOT_INTERN = 2
797| OBJECT_NOT_FOUND = 3
798| QUANTITY_IS_0 = 4
799| QUANTITY_IS_NOT_1 = 5
800| INTERVAL_OVERFLOW = 6
801| BUFFER_OVERFLOW = 7
802| OTHERS = 8.
803| IF SY-SUBRC <> 0.
804| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
805| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
806| ENDIF.
```
- **EN**: Draws the next sequence number from a number-range object via NUMBER_GET_NEXT, surfacing interval/overflow exceptions as system messages.
- 호출(파서): NUMBER_GET_NEXT
- SAP 객체: NUMBER_GET_NEXT, INRI, NROBJ
- 업무 키워드: 번호범위, 채번, 일련번호, 키생성, 번호오브젝트
- English: number range, number assignment, sequence number, NUMBER_GET_NEXT, NROBJ
- 위치: `abap://ZFIR0061/ZFICOM#L787-L806` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#GET_NEXT_NUMBER#C1`
### FORM DATA_UPLOAD — `ZFICOM` L853-L908 (56줄)
*파일 확장자(TXT/XLS)에 따라 GUI_UPLOAD 또는 TEXT_CONVERT_XLS_TO_SAP 으로 로컬 파일을 내부테이블로 업로드하는 공통 FORM 이다.*
> 이 unit 의 조각 3개가 42/56줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [validation] 파일명의 마지막 3자리로 확장자(TXT/XLS)를 판별해 업로드 방식을 결정한다.
```abap
864| LV_LEN = STRLEN( P_FNAME ).
865| LV_POS = LV_LEN - 3.
866| LV_TYPE = P_FNAME+LV_POS(3).
867| TRANSLATE LV_TYPE TO UPPER CASE.
```
- **EN**: Extracts the file extension (last 3 characters) to decide the upload method.
- 업무 키워드: 파일 확장자, 업로드 방식, 파일명
- English: File Extension, File Upload
- 정의부(복사 시 함께 필요): [`LV_LEN`](#decl-zficom-858-lv_len), [`LV_POS`](#decl-zficom-859-lv_pos), [`LV_TYPE`](#decl-zficom-860-lv_type)
- 위치: `abap://ZFIR0061/ZFICOM#L864-L867` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#DATA_UPLOAD#C1`
#### [fm_call] TXT 파일이면 GUI_UPLOAD(탭 구분자)로 로컬 파일을 T_LOAD 내부테이블로 읽고 실패 시 메시지 I106 후 종료한다.
```abap
869| IF LV_TYPE EQ 'TXT'.
870| CLEAR : T_LOAD[], T_LOAD.
871| LV_FILENAME = P_FNAME.
872| CALL FUNCTION 'GUI_UPLOAD'
873| EXPORTING
874| FILENAME = LV_FILENAME
875| * FILETYPE = 'ASC'
876| * tab
877| HAS_FIELD_SEPARATOR = C_X
878| * CODEPAGE = '8000'
879| TABLES
880| DATA_TAB = T_LOAD.
881|
882| IF SY-SUBRC NE 0.
883| MESSAGE I106.
884| LEAVE LIST-PROCESSING.
885| ENDIF.
```
- **EN**: For TXT files uploads the tab-separated local file into T_LOAD with GUI_UPLOAD and stops with message I106 on failure.
- 호출(파서): GUI_UPLOAD
- SAP 객체: GUI_UPLOAD
- 업무 키워드: 텍스트 파일 업로드, 탭 구분, 로컬 파일
- English: GUI_UPLOAD, Text File, Local File
- 정의부(복사 시 함께 필요): [`LV_TYPE`](#decl-zficom-860-lv_type), [`LV_FILENAME`](#decl-zficom-861-lv_filename), [`C_X`](#decl-zficom-231-c_x)
- 위치: `abap://ZFIR0061/ZFICOM#L869-L885` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#DATA_UPLOAD#C2`
#### [fm_call] XLS 파일이면 TEXT_CONVERT_XLS_TO_SAP 으로 엑셀을 T_LOAD 로 변환(헤더행 옵션)하고, 실패·미지원 확장자면 메시지 I006/I007 로 종료한다.
```abap
887| ELSEIF LV_TYPE EQ 'XLS'.
888| CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
889| EXPORTING
890| * I_FIELD_SEPERATOR =
891| I_LINE_HEADER = P_HLINE
892| I_TAB_RAW_DATA = LV_RAW_DATA
893| I_FILENAME = P_FNAME
894| TABLES
895| I_TAB_CONVERTED_DATA = T_LOAD
896| EXCEPTIONS
897| CONVERSION_FAILED = 1
898| OTHERS = 2.
899|
900| IF SY-SUBRC NE 0.
901| MESSAGE I006. "업로드 실패!! 담당자에게 문의하세요.
902| LEAVE LIST-PROCESSING.
903| ENDIF.
904| ELSE.
905| MESSAGE I007. "지원하지 않는 확장자입니다. 파일형식을 확인하세요.
906| LEAVE LIST-PROCESSING.
907| ENDIF.
```
- **EN**: For XLS files converts the Excel sheet into T_LOAD with TEXT_CONVERT_XLS_TO_SAP (header line option); unsupported extensions or failures stop with messages I006/I007.
- 호출(파서): TEXT_CONVERT_XLS_TO_SAP
- SAP 객체: TEXT_CONVERT_XLS_TO_SAP
- 업무 키워드: 엑셀 업로드, 헤더행, 파일 변환, 미지원 확장자
- English: Excel Upload, TEXT_CONVERT_XLS_TO_SAP, Conversion
- 정의부(복사 시 함께 필요): [`LV_TYPE`](#decl-zficom-860-lv_type), [`LV_RAW_DATA`](#decl-zficom-862-lv_raw_data)
- 위치: `abap://ZFIR0061/ZFICOM#L887-L907` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#DATA_UPLOAD#C3`
### FORM DATA_UPLOAD_2 — `ZFICOM` L917-L950 (34줄)
*엑셀 파일을 KCD_EXCEL_OLE_TO_INT_CONVERT 로 셀 단위로 읽어 행별로 T_LOAD 내부테이블 구조에 매핑하는 공통 업로드 FORM 이다.*
> 이 unit 의 조각 2개가 26/34줄(76%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] KCD_EXCEL_OLE_TO_INT_CONVERT 로 엑셀 파일을 2행부터(헤더 제외) 셀 단위 내부테이블 GT_XLS 로 읽고 실패 시 '업로드 실패' 메시지 후 종료한다.
```abap
922| CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
923| EXPORTING
924| FILENAME = P_FNAME
925| I_BEGIN_COL = 1
926| I_BEGIN_ROW = 2
927| I_END_COL = 256
928| I_END_ROW = 65536
929| TABLES
930| INTERN = GT_XLS
931| EXCEPTIONS
932| INCONSISTENT_PARAMETERS = 1
933| UPLOAD_OLE = 2
934| OTHERS = 3.
935|
936| IF SY-SUBRC <> 0.
937| MESSAGE I000 WITH '업로드 실패!! 담당자에게 문의하세요.'.
938| LEAVE LIST-PROCESSING.
939| ENDIF.
```
- **EN**: Reads the Excel file cell by cell (from row 2, skipping the header) into GT_XLS with KCD_EXCEL_OLE_TO_INT_CONVERT and stops with an upload-failed message on error.
- 호출(파서): KCD_EXCEL_OLE_TO_INT_CONVERT
- SAP 객체: KCD_EXCEL_OLE_TO_INT_CONVERT, KCDE_INTERN_STRUC
- 업무 키워드: 엑셀 업로드, OLE, 헤더 제외, 셀 데이터
- English: Excel Upload, KCD_EXCEL_OLE_TO_INT_CONVERT, OLE
- 정의부(복사 시 함께 필요): [`GT_XLS`](#decl-zficom-919-gt_xls)
- 위치: `abap://ZFIR0061/ZFICOM#L922-L939` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#DATA_UPLOAD_2#C1`
#### [calculation] 셀 데이터를 행·열 순으로 정렬한 뒤 열 번호를 T_LOAD 구조의 컴포넌트에 ASSIGN 해 값을 채우고 행이 끝날 때마다 T_LOAD 에 한 줄씩 추가한다.
```abap
941| SORT GT_XLS BY ROW COL.
942| LOOP AT GT_XLS.
943| ASSIGN COMPONENT GT_XLS-COL OF STRUCTURE T_LOAD TO <FS>.
944| <FS> = GT_XLS-VALUE.
945| AT END OF ROW.
946| APPEND T_LOAD. CLEAR: T_LOAD.
947| ENDAT.
948| ENDLOOP.
```
- **EN**: Sorts cells by row/column, assigns each cell value to the corresponding component of T_LOAD by column index and appends a line at the end of each row.
- 업무 키워드: 행 변환, 컬럼 매핑, 업로드 내역, 필드심볼
- English: Row Mapping, Field Symbol, Internal Table
- 정의부(복사 시 함께 필요): [`GT_XLS`](#decl-zficom-919-gt_xls), [`<FS>`](#decl-zficom-920--fs-)
- 위치: `abap://ZFIR0061/ZFICOM#L941-L948` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#DATA_UPLOAD_2#C2`
### FORM CONVERT_TO_FOREIGN_CURRENCY — `ZFICOM` L962-L999 (38줄)
*현지통화 금액을 환율·기준일로 외화 금액으로 환산하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 32/38줄(84%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 현지통화 기본값을 설정한 뒤 CONVERT_TO_FOREIGN_CURRENCY 로 현지통화금액(DMBTR)을 환율(KURSF)·기준일 기준 외화금액(WRBTR)으로 환산하고 오류 시 시스템 메시지를 표시한다.
```abap
967| IF T001-WAERS IS INITIAL.
968| T001-WAERS = C_WAERS.
969| ENDIF.
970| CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY'
971| EXPORTING
972| * CLIENT = SY-MANDT
973| DATE = P_DATUM
974| FOREIGN_CURRENCY = P_WAERS
975| LOCAL_AMOUNT = P_DMBTR
976| LOCAL_CURRENCY = T001-WAERS
977| RATE = P_KURSF
978| * TYPE_OF_RATE = 'M'
979| * READ_TCURR = 'X'
980| IMPORTING
981| * EXCHANGE_RATE =
982| FOREIGN_AMOUNT = P_WRBTR
983| * FOREIGN_FACTOR =
984| * LOCAL_FACTOR =
985| * EXCHANGE_RATEX =
986| * DERIVED_RATE_TYPE =
987| * FIXED_RATE =
988| EXCEPTIONS
989| NO_RATE_FOUND = 1
990| OVERFLOW = 2
991| NO_FACTORS_FOUND = 3
992| NO_SPREAD_FOUND = 4
993| DERIVED_2_TIMES = 5
994| OTHERS = 6.
995| IF SY-SUBRC NE 0.
996| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
997| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
998| ENDIF.
```
- **EN**: Converts the local currency amount (DMBTR) to the foreign currency amount (WRBTR) via CONVERT_TO_FOREIGN_CURRENCY using rate and date, raising the system message on error.
- 호출(파서): CONVERT_TO_FOREIGN_CURRENCY
- SAP 객체: CONVERT_TO_FOREIGN_CURRENCY, T001, TCURR
- 업무 키워드: 환율, 외화 환산, 현지통화, 전표금액
- English: Foreign Currency, Exchange Rate, Currency Conversion
- 정의부(복사 시 함께 필요): [`T001`](#decl-zficom-11-t001), [`C_WAERS`](#decl-zficom-199-c_waers)
- 위치: `abap://ZFIR0061/ZFICOM#L967-L998` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#CONVERT_TO_FOREIGN_CURRENCY#C1`
### FORM CONVERT_TO_LOCAL_CURRENCY — `ZFICOM` L1011-L1039 (29줄)
*외화 금액을 환율·기준일로 회사코드 현지통화(T001-WAERS) 금액으로 환산하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 23/29줄(79%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 현지통화가 없으면 기본통화(C_WAERS)를 쓰고 CONVERT_TO_LOCAL_CURRENCY 로 외화금액(WRBTR)·환율(KURSF)·기준일로 현지통화금액(DMBTR)을 계산하며 환율 미존재 등 오류 시 메시지를 띄운다.
```abap
1016| IF T001-WAERS IS INITIAL.
1017| T001-WAERS = C_WAERS.
1018| ENDIF.
1019| CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
1020| EXPORTING
1021| DATE = P_DATUM
1022| FOREIGN_AMOUNT = P_WRBTR
1023| FOREIGN_CURRENCY = P_WAERS
1024| LOCAL_CURRENCY = T001-WAERS
1025| RATE = P_KURSF
1026| IMPORTING
1027| LOCAL_AMOUNT = P_DMBTR
1028| EXCEPTIONS
1029| NO_RATE_FOUND = 1
1030| OVERFLOW = 2
1031| NO_FACTORS_FOUND = 3
1032| NO_SPREAD_FOUND = 4
1033| DERIVED_2_TIMES = 5
1034| OTHERS = 6.
1035| IF SY-SUBRC NE 0.
1036| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1037| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1038| ENDIF.
```
- **EN**: Converts the foreign amount to local currency amount (DMBTR) with CONVERT_TO_LOCAL_CURRENCY using the rate and date, defaulting the local currency, and raises the system message on error.
- 호출(파서): CONVERT_TO_LOCAL_CURRENCY
- SAP 객체: CONVERT_TO_LOCAL_CURRENCY, T001, TCURR
- 업무 키워드: 환율, 외화 환산, 현지통화, 전표금액
- English: Local Currency, Exchange Rate, Currency Conversion
- 정의부(복사 시 함께 필요): [`T001`](#decl-zficom-11-t001), [`C_WAERS`](#decl-zficom-199-c_waers)
- 위치: `abap://ZFIR0061/ZFICOM#L1016-L1038` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#CONVERT_TO_LOCAL_CURRENCY#C1`
### FORM SELECT_USR01 — `ZFICOM` L1084-L1088 (5줄)
*사용자명으로 USR01(사용자 마스터 기본값)을 단건 조회하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 3/5줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [sql_select] 사용자 ID(P_UNAME)로 USR01 을 단건 조회해 사용자 기본 설정(날짜/숫자 형식 등)을 읽는다.
```abap
1085| SELECT SINGLE *
1086| FROM USR01
1087| WHERE USR01~BNAME EQ P_UNAME.
```
- **EN**: Reads the user master defaults from USR01 for the given user name.
- 테이블(파서): read [USR01](/tables/USR01.md) / write -
- SAP 객체: USR01
- 업무 키워드: 사용자 마스터, 사용자 기본값, 사용자 ID
- English: User Master, USR01
- 정의부(복사 시 함께 필요): [`USR01`](#decl-zficom-41-usr01)
- 위치: `abap://ZFIR0061/ZFICOM#L1085-L1087` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#SELECT_USR01#C1`
### FORM SMARTFORM_CONTROL — `ZFICOM` L1101-L1138 (38줄)
*Smartform 이름으로 생성 FM 이름을 구하고 미리보기·다이얼로그·프린터 등 출력 옵션(GS_DEVICE/GS_OPTIONS)을 설정한다.*
> 이 unit 의 조각 1개가 29/38줄(76%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] SSF_FUNCTION_MODULE_NAME 으로 Smartform 의 실행 FM 이름(GV_FNAME)을 구한 뒤 미리보기·NO_DIALOG·OTF·프린터(TDDEST)·즉시출력 등 출력 옵션을 GS_DEVICE/GS_OPTIONS 에 설정한다.
```abap
1108| CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
1109| EXPORTING
1110| FORMNAME = P_FORMNAME
1111| IMPORTING
1112| FM_NAME = GV_FNAME
1113| EXCEPTIONS
1114| NO_FORM = 1
1115| NO_FUNCTION_MODULE = 2
1116| OTHERS = 3.
1117|
1118| IF SY-SUBRC EQ 0.
1119| * Output option appointment (preview screen exception)
1120| GS_DEVICE-PREVIEW = P_PREVIEW.
1121| GS_DEVICE-NO_DIALOG = P_DIALOG.
1122| GS_DEVICE-GETOTF = P_GETOTF.
1123| GS_DEVICE-LANGU = SY-LANGU.
1124| GS_DEVICE-DEVICE = 'PRINTER'.
1125| GS_DEVICE-NO_OPEN = C_X.
1126| GS_DEVICE-NO_CLOSE = C_X.
1127| GS_OPTIONS-TDDEST = P_TDDEST.
1128| GS_OPTIONS-TDIMMED = C_X.
1129| GS_OPTIONS-TDDELETE = C_X.
1130| GS_OPTIONS-TDNEWID = C_X.
1131| * 미리보기버튼
1132| GS_OPTIONS-TDNOPREV = SPACE.
1133| GS_OPTIONS-TDCOVER = SPACE. "C_S.
1134| GS_OPTIONS-TDNOPRINT = P_TDNOPRINT.
1135| * GS_OPTIONS-TDRECEIVER = SY-UNAME.
1136| ENDIF.
```
- **EN**: Gets the generated function module name of the Smart Form via SSF_FUNCTION_MODULE_NAME and fills control parameters (preview, no dialog, OTF) and output options (TDDEST, immediate print).
- 호출(파서): SSF_FUNCTION_MODULE_NAME
- SAP 객체: SSF_FUNCTION_MODULE_NAME, SSFCTRLOP, SSFCOMPOP
- 업무 키워드: 스마트폼, 출력 옵션, 미리보기, 프린터
- English: Smart Forms, Output Options, Control Parameters, Print Preview
- 정의부(복사 시 함께 필요): [`GV_FNAME`](#decl-zficom-98-gv_fname), [`GS_DEVICE`](#decl-zficom-100-gs_device), [`C_X`](#decl-zficom-231-c_x), [`GS_OPTIONS`](#decl-zficom-99-gs_options)
- 위치: `abap://ZFIR0061/ZFICOM#L1108-L1136` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#SMARTFORM_CONTROL#C1`
### FORM SMARTFORM_OPEN — `ZFICOM` L1144-L1156 (13줄)
*Smartform 출력 작업을 SSF_OPEN 으로 시작하는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 11/13줄(85%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] GS_DEVICE/GS_OPTIONS 의 출력 옵션으로 SSF_OPEN 을 호출해 Smartform 출력 job 을 연다.
```abap
1145| CALL FUNCTION 'SSF_OPEN'
1146| EXPORTING
1147| CONTROL_PARAMETERS = GS_DEVICE
1148| OUTPUT_OPTIONS = GS_OPTIONS
1149| USER_SETTINGS = SPACE
1150| EXCEPTIONS
1151| FORMATTING_ERROR = 1
1152| INTERNAL_ERROR = 2
1153| SEND_ERROR = 3
1154| USER_CANCELED = 4
1155| OTHERS = 5.
```
- **EN**: Opens a Smart Form print job with SSF_OPEN using the control parameters GS_DEVICE and output options GS_OPTIONS.
- 호출(파서): SSF_OPEN
- SAP 객체: SSF_OPEN
- 업무 키워드: 스마트폼, 출력 시작, 양식 출력
- English: Smart Forms, SSF_OPEN, Output Options
- 정의부(복사 시 함께 필요): [`GS_DEVICE`](#decl-zficom-100-gs_device), [`GS_OPTIONS`](#decl-zficom-99-gs_options)
- 위치: `abap://ZFIR0061/ZFICOM#L1145-L1155` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#SMARTFORM_OPEN#C1`
### FORM SMARTFORM_CLOSE — `ZFICOM` L1162-L1175 (14줄)
*Smartform 출력 작업을 SSF_CLOSE 로 종료하고 JOB_OUTPUT_INFO 를 받아오는 공통 FORM 이다.*
> 이 unit 의 조각 1개가 12/14줄(86%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] SSF_CLOSE 로 Smartform 출력 job 을 닫고 출력 결과(GS_JOB_OUTPUT_INFO)를 받으며 오류 시 시스템 메시지를 표시한다.
```abap
1163| CALL FUNCTION 'SSF_CLOSE'
1164| IMPORTING
1165| JOB_OUTPUT_INFO = GS_JOB_OUTPUT_INFO
1166| EXCEPTIONS
1167| FORMATTING_ERROR = 1
1168| INTERNAL_ERROR = 2
1169| SEND_ERROR = 3
1170| OTHERS = 4.
1171| IF SY-SUBRC NE 0.
1172| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1173| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1174| ENDIF.
```
- **EN**: Closes the Smart Form print job with SSF_CLOSE, retrieves JOB_OUTPUT_INFO and raises the system message on error.
- 호출(파서): SSF_CLOSE
- SAP 객체: SSF_CLOSE
- 업무 키워드: 스마트폼, 출력 종료, 양식 출력
- English: Smart Forms, SSF_CLOSE, Print Job
- 정의부(복사 시 함께 필요): [`GS_JOB_OUTPUT_INFO`](#decl-zficom-102-gs_job_output_info)
- 위치: `abap://ZFIR0061/ZFICOM#L1163-L1174` · confidence 0.85 · `ZFIR0061#ZFICOM#FORM#SMARTFORM_CLOSE#C1`
### FORM DYNPRO — `ZFICOM` L1240-L1251 (12줄)
*BDC 화면 시작 또는 필드값 한 줄을 GT_BDC(BDCDATA) 에 추가하는 공통 BDC 빌더 헬퍼다.*
> 이 unit 의 조각 1개가 9/12줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [interface] P_DYN 이 X 면 모듈풀·화면번호로 BDC 화면 시작 행을, 아니면 필드명·값 행을 GT_BDC(BDCDATA)에 추가한다.
```abap
1242| IF P_DYN EQ C_X.
1243| MOVE : P_NAME TO GT_BDC-PROGRAM, "BDC module pool
1244| P_VALUE TO GT_BDC-DYNPRO, "Screen Number
1245| P_DYN TO GT_BDC-DYNBEGIN. "BDC screen start
1246| ELSE.
1247| MOVE : P_NAME TO GT_BDC-FNAM, "Field Name
1248| P_VALUE TO GT_BDC-FVAL. "BDC field value
1249| ENDIF.
1250| APPEND GT_BDC.
```
- **EN**: Appends either a screen-start row (program, dynpro, DYNBEGIN) or a field/value row to GT_BDC (BDCDATA).
- SAP 객체: BDCDATA
- 업무 키워드: BDC 데이터, 화면 번호, 필드값, 배치인풋
- English: BDCDATA, Batch Input, Dynpro
- 정의부(복사 시 함께 필요): [`C_X`](#decl-zficom-231-c_x), [`GT_BDC`](#decl-zficom-168-gt_bdc)
- 위치: `abap://ZFIR0061/ZFICOM#L1242-L1250` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#DYNPRO#C1`
### FORM BDC_TRANSACTION — `ZFICOM` L1259-L1266 (8줄)
*GT_BDC 데이터로 지정 T-Code 를 CALL TRANSACTION 하고 결과 메시지를 GT_MESS 에 받는 공통 BDC 실행 FORM 이다.*
> 이 unit 의 조각 1개가 6/8줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [interface] BDC 실행 옵션(표시모드 GV_MODE, 갱신모드 A)을 CTU_PARAMS 에 설정하고 GT_BDC 로 P_TCODE 트랜잭션을 CALL TRANSACTION 해 결과 메시지를 GT_MESS 에 수집한다.
```abap
1260| CTU_PARAMS-DISMODE = GV_MODE.
1261| CTU_PARAMS-UPDMODE = C_A.
1262| * CTU_PARAMS-NOBINPT = C_X.
1263| * CTU_PARAMS-RACOMMIT = C_X.
1264| CALL TRANSACTION P_TCODE USING GT_BDC OPTIONS FROM CTU_PARAMS
1265| MESSAGES INTO GT_MESS.
```
- **EN**: Sets CTU_PARAMS (display mode GV_MODE, sync update) and runs CALL TRANSACTION for P_TCODE with GT_BDC, collecting messages into GT_MESS.
- 호출(파서): P_TCODE
- SAP 객체: BDCDATA, BDCMSGCOLL, CTU_PARAMS
- 업무 키워드: BDC 실행, 트랜잭션 호출, 처리 메시지, 표시모드
- English: Call Transaction, BDC, CTU_PARAMS
- 정의부(복사 시 함께 필요): [`CTU_PARAMS`](#decl-zficom-48-ctu_params), [`GV_MODE`](#decl-zficom-174-gv_mode), [`C_A`](#decl-zficom-208-c_a), [`GT_BDC`](#decl-zficom-168-gt_bdc), [`GT_MESS`](#decl-zficom-172-gt_mess)
- 위치: `abap://ZFIR0061/ZFICOM#L1260-L1265` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#BDC_TRANSACTION#C1`
### FORM MESSAGE_SELECT — `ZFICOM` L1274-L1285 (12줄)
*BDC 메시지(GT_MESS)의 ID·번호·변수를 MESSAGE_TEXT_BUILD 로 메시지 텍스트로 조립하는 공통 헬퍼다.*
> 이 unit 의 조각 1개가 10/12줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] BDC 결과 메시지(GT_MESS)의 MSGID·MSGNR·MSGV1~4 를 MESSAGE_TEXT_BUILD 로 읽을 수 있는 메시지 텍스트로 만들어 로그 필드에 돌려준다.
```abap
1275| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
1276| EXPORTING
1277| MSGID = GT_MESS-MSGID
1278| MSGNR = GT_MESS-MSGNR
1279| MSGV1 = GT_MESS-MSGV1
1280| MSGV2 = GT_MESS-MSGV2
1281| MSGV3 = GT_MESS-MSGV3
1282| MSGV4 = GT_MESS-MSGV4
1283| IMPORTING
1284| MESSAGE_TEXT_OUTPUT = P_NATXT.
```
- **EN**: Builds the readable message text from the BDC message fields (MSGID, MSGNR, MSGV1-4) in GT_MESS using MESSAGE_TEXT_BUILD.
- 호출(파서): MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD, BDCMSGCOLL
- 업무 키워드: BDC 메시지, 메시지 텍스트, 처리 로그
- English: BDC Message, MESSAGE_TEXT_BUILD, Message Log
- 정의부(복사 시 함께 필요): [`GT_MESS`](#decl-zficom-172-gt_mess)
- 위치: `abap://ZFIR0061/ZFICOM#L1275-L1284` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#MESSAGE_SELECT#C1`
### FORM BDC_FK03 — `ZFICOM` L1294-L1318 (25줄)
*구매처코드와 회사코드로 FK03 구매처 마스터 조회 화면을 BDC 로 호출한다.*
> 이 unit 의 조각 1개가 18/25줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [interface] SAPMF02K 0106 화면에 구매처·회사코드와 조회 뷰 플래그를 BDC 로 채우고 CALL TRANSACTION FK03 으로 구매처 마스터를 표시한다.
```abap
1299| PERFORM DYNPRO USING :
1300| 'X' 'SAPMF02K' '0106',
1301| ' ' 'BDC_OKCODE' '/00',
1302| ' ' 'RF02K-LIFNR' P_LIFNR,
1303| ' ' 'RF02K-BUKRS' P_BUKRS,
1304| ' ' 'RF02K-D0110' C_X,
1305| ' ' 'RF02K-D0120' C_X,
1306| ' ' 'RF02K-D0130' C_X,
1307| ' ' 'RF02K-D0210' C_X,
1308| ' ' 'RF02K-D0215' C_X,
1309| ' ' 'RF02K-D0215' C_X,
1310| ' ' 'RF02K-D0610' C_X.
1311|
1312| CTU_PARAMS-DISMODE = C_E.
1313| CTU_PARAMS-UPDMODE = C_A.
1314| CTU_PARAMS-NOBINPT = C_X.
1315| CTU_PARAMS-RACOMMIT = C_X.
1316| CALL TRANSACTION 'FK03' USING GT_BDC OPTIONS FROM CTU_PARAMS.
```
- **EN**: Builds BDC data for screen SAPMF02K 0106 (vendor, company code, view flags) and calls transaction FK03 to display the vendor master.
- 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, FK03
- SAP 객체: FK03, SAPMF02K, LFA1
- 업무 키워드: 구매처 조회, 구매처 마스터, BDC, 회사코드
- English: Vendor Master, BDC, Call Transaction
- 정의부(복사 시 함께 필요): [`P_BUKRS`](#decl-zfir0061top-88-p_bukrs), [`C_X`](#decl-zficom-231-c_x), [`CTU_PARAMS`](#decl-zficom-48-ctu_params), [`C_E`](#decl-zficom-212-c_e), [`C_A`](#decl-zficom-208-c_a), [`GT_BDC`](#decl-zficom-168-gt_bdc)
- 위치: `abap://ZFIR0061/ZFICOM#L1299-L1316` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#BDC_FK03#C1`
### FORM CALL_TRANSACTION_FB03 — `ZFICOM` L1328-L1336 (9줄)
*회사코드·전표번호·회계연도를 파라미터 ID 로 넘겨 FB03 회계전표 조회 화면을 호출한다.*
> 이 unit 의 조각 1개가 5/9줄(56%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [control_flow] 전표번호가 있으면 SET PARAMETER ID(BLN/BUK/GJR) 로 키를 넘기고 FB03 트랜잭션을 첫 화면 건너뛰기로 호출해 회계전표를 조회한다.
```abap
1331| CHECK P_BELNR IS NOT INITIAL.
1332| SET PARAMETER ID 'BLN' FIELD P_BELNR.
1333| SET PARAMETER ID 'BUK' FIELD P_BUKRS.
1334| SET PARAMETER ID 'GJR' FIELD P_GJAHR.
1335| CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
```
- **EN**: Sets parameter IDs BLN/BUK/GJR and calls transaction FB03 with SKIP FIRST SCREEN to display the accounting document.
- 호출(파서): FB03
- SAP 객체: FB03, BKPF
- 업무 키워드: 회계전표 조회, 전표번호, 회사코드, 회계연도
- English: Accounting Document, Display Document, FB03
- 정의부(복사 시 함께 필요): [`P_BUKRS`](#decl-zfir0061top-88-p_bukrs)
- 위치: `abap://ZFIR0061/ZFICOM#L1331-L1335` · confidence 0.95 · `ZFIR0061#ZFICOM#FORM#CALL_TRANSACTION_FB03#C1`
### FORM STATUS_BAR — `ZFICOM` L1345-L1366 (22줄)
*처리 진행률을 계산해 SAPGUI 상태바에 진행 상황 텍스트를 표시하는 공통 유틸리티다.*
> 이 unit 의 조각 1개가 16/22줄(73%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 텍스트가 없으면 GV_INDEX/GV_TABIN 으로 진행률(%)을 계산해 SAPGUI_PROGRESS_INDICATOR 로 상태바에 처리 진행 상황을 표시한다.
```abap
1350| IF P_TXT EQ SPACE.
1351| GV_INDEX = GV_INDEX + 1.
1352| GV_KBETR = GV_INDEX / GV_TABIN * 100.
1353| CONCATENATE GV_INDEX '/' GV_TABIN '=====>' GV_KBETR '% Processing...'
1354| INTO LV_TEXT SEPARATED BY SPACE.
1355| CONDENSE GV_KBETR.
1356| LV_PCEN = GV_KBETR.
1357| ELSE.
1358| LV_TEXT = P_TXT.
1359| LV_PCEN = P_PCT.
1360| ENDIF.
1361|
1362| CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
1363| EXPORTING
1364| PERCENTAGE = LV_PCEN
1365| TEXT = LV_TEXT.
```
- **EN**: Calculates the processing percentage from GV_INDEX/GV_TABIN and shows a progress indicator via SAPGUI_PROGRESS_INDICATOR.
- 호출(파서): SAPGUI_PROGRESS_INDICATOR
- SAP 객체: SAPGUI_PROGRESS_INDICATOR
- 업무 키워드: 진행률, 상태바, 처리건수, 진행표시
- English: Progress Indicator, Status Bar
- 정의부(복사 시 함께 필요): [`GV_INDEX`](#decl-zficom-82-gv_index), [`GV_KBETR`](#decl-zficom-83-gv_kbetr), [`GV_TABIN`](#decl-zficom-81-gv_tabin), [`LV_TEXT`](#decl-zficom-1347-lv_text), [`LV_PCEN`](#decl-zficom-1348-lv_pcen)
- 위치: `abap://ZFIR0061/ZFICOM#L1350-L1365` · confidence 0.9 · `ZFIR0061#ZFICOM#FORM#STATUS_BAR#C1`
### FORM HOTSPOT_CLICK — `ZFIR0061F01` L432-L460 (29줄)
*ALV 핫스팟 클릭 시 고객/지점고객 코드는 FD03 고객 조회로, 전표번호는 FB03 전표 조회로 이동하는 FORM이다.*
> 이 unit 의 조각 1개가 24/29줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [control_flow] 클릭 컬럼이 KUNNR/KUNNR2이면 SET PARAMETER KUN·BUK 후 FD03을, BELNR이면 BLN·BUK·GJR 후 FB03을 SKIP FIRST SCREEN으로 호출한다.
```abap
435| READ TABLE GT_DATA INDEX P_ROW_ID-INDEX.
436| CHECK SY-SUBRC EQ 0.
437|
438| CASE P_COLUMN_ID.
439| * 고객코드
440| WHEN 'KUNNR'.
441| CHECK GT_DATA-KUNNR IS NOT INITIAL.
442| SET PARAMETER ID 'KUN' FIELD GT_DATA-KUNNR.
443| SET PARAMETER ID 'BUK' FIELD P_BUKRS.
444| CALL TRANSACTION 'FD03' AND SKIP FIRST SCREEN.
445| * 지점고객코드
446| WHEN 'KUNNR2'.
447| CHECK GT_DATA-KUNNR2 IS NOT INITIAL.
448| SET PARAMETER ID 'KUN' FIELD GT_DATA-KUNNR2.
449| SET PARAMETER ID 'BUK' FIELD P_BUKRS.
450| CALL TRANSACTION 'FD03' AND SKIP FIRST SCREEN.
451| * 전표번호
452| WHEN 'BELNR'.
453| CHECK GT_DATA-BELNR IS NOT INITIAL.
454| SET PARAMETER ID 'BLN' FIELD GT_DATA-BELNR.
455| SET PARAMETER ID 'BUK' FIELD P_BUKRS.
456| SET PARAMETER ID 'GJR' FIELD GT_DATA-GJAHR.
457| CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
458| ENDCASE.
```
- **EN**: Navigates from hotspot columns to FD03 (customer display) or FB03 (document display) via SET PARAMETER and CALL TRANSACTION.
- 호출(파서): FD03, FD03, FB03
- SAP 객체: FD03, FB03
- 업무 키워드: 핫스팟 이동, 고객 조회, 전표 조회
- English: Hotspot Navigation, Customer Display, Document Display, CALL TRANSACTION
- 정의부(복사 시 함께 필요): [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_DATA`](#decl-zfir0061top-14-gt_data), [`P_BUKRS`](#decl-zfir0061top-88-p_bukrs)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L435-L458` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#HOTSPOT_CLICK#C1`
### FORM ALV_GRID_DISPLAY — `ZFIR0061F01` L256-L271 (16줄)
*필드카탈로그를 만들고 GT_DATA(업로드된 계정과목 목록)를 CL_GUI_ALV_GRID 로 화면 0100 에 출력한다.*
> 이 unit 의 조각 1개가 14/16줄(88%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [output] 필드카탈로그 생성 후 SET_TABLE_FOR_FIRST_DISPLAY 로 업로드된 계정과목 목록 GT_DATA 를 레이아웃·변형·툴바 제외 설정과 함께 ALV 그리드에 표시한다.
```abap
257| PERFORM SET_FIELD_CATALOGS.
258| * Report Display.
259| GV_VARI-REPORT = SY-REPID.
260| CALL METHOD GV_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
261| EXPORTING
262| I_STRUCTURE_NAME = 'GT_DATA'
263| IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
264| IS_LAYOUT = GV_LAYO
265| IS_VARIANT = GV_VARI
266| I_BUFFER_ACTIVE = C_X
267| I_SAVE = C_A
268| CHANGING
269| IT_OUTTAB = GT_DATA[]
270| IT_FIELDCATALOG = GT_FCAT_HEAD[].
```
- **EN**: Builds the field catalog and displays the uploaded G/L account list GT_DATA in the ALV grid via SET_TABLE_FOR_FIRST_DISPLAY with layout, variant and toolbar exclusions.
- 호출(파서): SET_FIELD_CATALOGS, GV_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
- SAP 객체: CL_GUI_ALV_GRID
- 업무 키워드: ALV 출력, 계정과목 목록, 업로드 내역 확인
- English: ALV Grid, SET_TABLE_FOR_FIRST_DISPLAY, G/L Account
- 정의부(복사 시 함께 필요): [`GV_VARI`](#decl-zfir0061top-76-gv_vari), [`GV_ALV_GRID`](#decl-zfir0061top-74-gv_alv_grid), [`GT_EXCLUDE`](#decl-zfialv-102-gt_exclude), [`GV_LAYO`](#decl-zfir0061top-75-gv_layo), [`C_X`](#decl-zficom-231-c_x), [`C_A`](#decl-zficom-208-c_a), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_DATA`](#decl-zfir0061top-14-gt_data), [`GT_FCAT_HEAD`](#decl-zfialv-81-gt_fcat_head)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L257-L270` · confidence 0.85 · `ZFIR0061#ZFIR0061F01#FORM#ALV_GRID_DISPLAY#C1`
### FORM POSTING_DOCUMET — `ZFIR0061F01` L466-L537 (72줄)
*ALV 에서 선택한 미전기 카드채권 반제 건을 검증·확인 팝업 후 전표 헤더·아이템을 만들어 FB01 BDC 로 재전기하고 결과를 송신한 뒤 재조회하는 FORM 이다.*
> 이 unit 의 조각 3개가 60/72줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [validation] GET_SELECTED_ROWS 로 선택 행을 얻고 선택이 없거나, 수신오류(STATS F) 건 또는 이미 전표(BELNR)가 생성된 건이 포함되면 메시지를 띄우고 재전기를 중단하며 대상 건수를 센다.
```abap
473| CALL METHOD GV_ALV_GRID->GET_SELECTED_ROWS
474| IMPORTING
475| ET_INDEX_ROWS = GT_ROWS[].
476|
477| IF GT_ROWS[] IS INITIAL.
478| MESSAGE S004. "선택된 데이터가 없습니다.
479| EXIT.
480| ELSE.
481| * 선택된 데이터의 전표 생성여부 확인
482| LOOP AT GT_ROWS INTO GS_ROWS.
483| READ TABLE GT_DATA INDEX GS_ROWS-INDEX.
484| CHECK SY-SUBRC EQ 0.
485| IF GT_DATA-BELNR EQ SPACE.
486| IF GT_DATA-STATS EQ C_F. "전송받은 값 에러
487| MESSAGE I000 WITH TEXT-004.
488| "선택한 데이터 중 오류가 있는 건이 존재합니다.
489| GF_CHECK = C_X. EXIT.
490| ENDIF.
491| LV_CNT = LV_CNT + 1.
492| ELSE.
493| MESSAGE I000 WITH TEXT-001.
494| "선택한 데이터 중 이미 전표가 생성된 건이 있습니다.
495| GF_CHECK = C_X. EXIT.
496| ENDIF.
497| ENDLOOP.
498|
499| CHECK GF_CHECK IS INITIAL.
```
- **EN**: Reads the selected ALV rows and rejects the request if none are selected, if any row has a receive error status, or if a document already exists; counts eligible rows.
- 호출(파서): GV_ALV_GRID->GET_SELECTED_ROWS
- SAP 객체: CL_GUI_ALV_GRID, GET_SELECTED_ROWS, GT_DATA
- 업무 키워드: 선택 행 검증, 재전기 대상, 전표 생성 여부, 오류 건 제외
- English: Selected Rows, Validation, Repost Eligibility
- 정의부(복사 시 함께 필요): [`GV_ALV_GRID`](#decl-zfir0061top-74-gv_alv_grid), [`GT_ROWS`](#decl-zficom-121-gt_rows), [`GS_ROWS`](#decl-zficom-122-gs_rows), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_DATA`](#decl-zfir0061top-14-gt_data), [`C_F`](#decl-zficom-213-c_f), [`GF_CHECK`](#decl-zficom-87-gf_check), [`C_X`](#decl-zficom-231-c_x), [`LV_CNT`](#decl-zfir0061f01-468-lv_cnt)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L473-L499` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#POSTING_DOCUMET#C1`
#### [validation] '선택하신 N건의 전표를 생성하시겠습니까' 문구로 CHECK_CONFIRM_STEP 확인 팝업을 띄워 사용자가 예(J)를 선택한 경우에만 진행한다.
```abap
500| CONCATENATE TEXT-002 LV_CNT TEXT-003 INTO GV_TEXT
501| SEPARATED BY SPACE.
502| "선택하신 N건의 데이터의 전표를 생성하시겠습니까?
503| PERFORM CHECK_CONFIRM_STEP USING TEXT-005 GV_TEXT SPACE C_N.
504| CHECK GF_ANSWER EQ C_J.
```
- **EN**: Shows a confirmation popup for the N selected rows via CHECK_CONFIRM_STEP and continues only on Yes.
- 호출(파서): CHECK_CONFIRM_STEP
- SAP 객체: POPUP_TO_CONFIRM_STEP
- 업무 키워드: 확인 팝업, 전표 생성 확인
- English: Confirmation Popup
- 정의부(복사 시 함께 필요): [`LV_CNT`](#decl-zfir0061f01-468-lv_cnt), [`GV_TEXT`](#decl-zficom-85-gv_text), [`C_N`](#decl-zficom-221-c_n), [`GF_ANSWER`](#decl-zficom-90-gf_answer), [`C_J`](#decl-zficom-217-c_j)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L500-L504` · confidence 0.8 · `ZFIR0061#ZFIR0061F01#FORM#POSTING_DOCUMET#C2`
#### [control_flow] 선택 건마다 GT_Z0110_S 로 옮겨 상태를 초기화하고 MAKE_BKPF 로 헤더, 취소(C_R) 건은 XNEGP 마이너스 전기 지시자를 세워 MAKE_BSEG 로 아이템을 만든 뒤 BDC_TRANSACTION_FB01 로 전기하고, 루프 후 SEND_CLEARING_INFO 로 결과를 송신하고 GET_DATA 로 재조회한다.
```abap
506| LOOP AT GT_ROWS INTO GS_ROWS.
507| CLEAR: GT_Z0110_S, GV_XNEGP.
508| READ TABLE GT_DATA INDEX GS_ROWS-INDEX.
509| CHECK SY-SUBRC EQ 0.
510| MOVE-CORRESPONDING: GT_DATA TO GT_Z0110_S.
511| CLEAR: GT_Z0110_S-STATS, GT_Z0110_S-MESSG.
512|
513| MOVE-CORRESPONDING: GT_Z0110_S TO GT_RESULT.
514|
515| * 전표 헤더
516| PERFORM MAKE_BKPF.
517| * 발생/취소 구분에 따라
518| IF GT_DATA-GUBUN EQ C_R.
519| GV_XNEGP = C_X.
520| ENDIF.
521| * 전표 아이템
522| PERFORM MAKE_BSEG USING GV_XNEGP.
523| * 전표생성 Function Call
524| PERFORM BDC_TRANSACTION_FB01.
525| CLEAR GT_Z0110_S-PRCHK.
526| APPEND GT_Z0110_S. CLEAR GT_Z0110_S.
527| APPEND GT_RESULT. CLEAR GT_RESULT.
528| ENDLOOP.
529|
530| * 처리결과 전송(상태 및 메시지 업데이트)
531| PERFORM SEND_CLEARING_INFO.
532|
533| PERFORM GET_DATA.
```
- **EN**: For each selected row builds header and line items (negative posting for reversals), posts via FB01 BDC, then sends the results back and refreshes the list.
- 호출(파서): MAKE_BKPF, MAKE_BSEG, BDC_TRANSACTION_FB01, SEND_CLEARING_INFO, GET_DATA
- SAP 객체: FB01, ZFIT0110, GT_RESULT
- 업무 키워드: 재전기, 전표 생성, 마이너스 전기, 결과 송신, 카드채권 반제
- English: Repost, Document Creation, Negative Posting, FB01
- 정의부(복사 시 함께 필요): [`GT_ROWS`](#decl-zficom-121-gt_rows), [`GS_ROWS`](#decl-zficom-122-gs_rows), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s), [`GV_XNEGP`](#decl-zfir0061top-70-gv_xnegp), [`GT_DATA`](#decl-zfir0061top-14-gt_data), [`GT_RESULT`](#decl-zfir0061top-29-gt_result), [`C_R`](#decl-zficom-225-c_r), [`C_X`](#decl-zficom-231-c_x)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L506-L533` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#POSTING_DOCUMET#C3`
### FORM MAKE_BKPF — `ZFIR0061F01` L543-L556 (14줄)
*카드채권 반제 전표 헤더(FB01, 증빙일·전기일=입금일, 전표유형 C_BLART, 회사코드, 통화, 헤더텍스트)를 GT_BBKPF 에 생성하는 FORM 이다.*
> 이 unit 의 조각 1개가 9/14줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [calculation] 입금일(PYDAT)을 증빙일·전기일로, 카드채권 반제 전표유형(C_BLART)·회사코드·통화·거래내역 헤더텍스트를 세팅해 FB01 BDC 용 전표 헤더 GT_BBKPF 를 만든다.
```abap
546| GT_BBKPF-TCODE = 'FB01'.
547| GT_BBKPF-BLDAT = GT_Z0110_S-PYDAT. "입금일
548| GT_BBKPF-BUDAT = GT_Z0110_S-PYDAT. "입금일
549| GT_BBKPF-BLART = C_BLART. "카드채권 반제
550| GT_BBKPF-BUKRS = GT_Z0110_S-BUKRS.
551| GT_BBKPF-WAERS = GT_Z0110_S-WAERS.
552| GT_BBKPF-BKTXT = GT_Z0110_S-SGTXT(25). "거래내역
553|
554| APPEND GT_BBKPF.
```
- **EN**: Fills the FB01 document header (document/posting date = payment date, document type, company code, currency, header text) into GT_BBKPF.
- SAP 객체: BBKPF, FB01, GT_Z0110_S
- 업무 키워드: 전표 헤더, 전기일, 전표유형, 카드채권 반제
- English: Document Header, Posting Date, Document Type
- 정의부(복사 시 함께 필요): [`GT_BBKPF`](#decl-zficom-108-gt_bbkpf), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s), [`C_BLART`](#decl-zfir0061top-81-c_blart)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L546-L554` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#MAKE_BKPF#C1`
### FORM MAKE_BSEG — `ZFIR0061F01` L564-L665 (102줄)
*카드채권 반제 전표의 라인아이템(예수금 입금액, 카드사 채권 반제, 카드수수료, 무이자수수료, 잡손실, 잡이익)을 마이너스 전기 지시자에 따라 전기키를 바꿔 GT_BBSEG 에 생성하는 FORM 이다.*
> 이 unit 의 조각 2개가 96/102줄(94%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [calculation] 입금액(AMT1)을 예수금_기타 계정 0021337901 에 전기키 40(취소 50)으로, 채권반제금액(AMT2)을 카드사 고객(KUNNR) 전기키 15(취소 05)·기타매출채권 GL 0011217901 로 세팅해 손익센터·지정·적요와 함께 GT_BBSEG 에 추가한다.
```abap
567| * 라인아이템 1 - 입금액
568| IF P_XNEGP EQ C_X.
569| GT_BBSEG-NEWBS = '50'. "전기키
570| ELSE.
571| GT_BBSEG-NEWBS = '40'. "전기키
572| ENDIF.
573| GT_BBSEG-NEWKO = '0021337901'. "계정-예수금_기타
574| GT_BBSEG-WRBTR = GT_Z0110_S-AMT1. "금액
575| GT_BBSEG-ZUONR = GT_Z0110_S-PYDAT. "지정 - 입금일
576| GT_BBSEG-PRCTR = GT_Z0110_S-PRCTR. "손익센터
577| GT_BBSEG-SGTXT = GT_Z0110_S-SGTXT. "적요
578| GT_BBSEG-XNEGP = P_XNEGP. "마이너스전기지시자
579|
580| APPEND GT_BBSEG. CLEAR GT_BBSEG.
581|
582| * 라인아이템 2 - 채권반제금액
583| IF P_XNEGP EQ C_X.
584| GT_BBSEG-NEWBS = '05'. "전기키
585| ELSE.
586| GT_BBSEG-NEWBS = '15'. "전기키
587| ENDIF.
588| GT_BBSEG-NEWKO = GT_Z0110_S-KUNNR. "카드사 고객코드
589| GT_BBSEG-HKONT = '0011217901'. "GL계정 - 기타매출채권_CREDIT_카드사
590| GT_BBSEG-WRBTR = GT_Z0110_S-AMT2. "채권반제금액
591| GT_BBSEG-ZUONR = GT_Z0110_S-ARDAT. "지정 - 채권발생일
592| GT_BBSEG-SGTXT = GT_Z0110_S-SGTXT. "적요
593| GT_BBSEG-XNEGP = P_XNEGP. "마이너스전기지시자
594|
595| APPEND GT_BBSEG. CLEAR GT_BBSEG.
```
- **EN**: Builds the deposit-received line (AMT1 on G/L 0021337901, key 40/50) and the card-company customer clearing line (AMT2, key 15/05 with special G/L 0011217901) with assignment, profit center and text.
- SAP 객체: BBSEG, GT_Z0110_S
- 업무 키워드: 카드채권 반제, 입금액, 예수금, 카드사 고객, 전기키
- English: Card Receivable Clearing, Incoming Payment, Customer Line, Posting Key
- 정의부(복사 시 함께 필요): [`C_X`](#decl-zficom-231-c_x), [`GT_BBSEG`](#decl-zficom-109-gt_bbseg), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L567-L595` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#MAKE_BSEG#C1`
#### [calculation] 금액이 있을 때만 카드수수료(AMT3, 0053310301)·무이자수수료(AMT4, 0053310307)·잡손실(AMT5, 0057797905)은 전기키 40(취소 50), 잡이익(AMT6, 0055797901)은 전기키 50(취소 40)으로 코스트센터·입금일 지정·적요를 붙여 GT_BBSEG 에 추가한다.
```abap
597| * 라인아이템 3 - 수수료
598| IF GT_Z0110-AMT3 IS NOT INITIAL.
599| IF P_XNEGP EQ C_X.
600| GT_BBSEG-NEWBS = '50'. "전기키
601| ELSE.
602| GT_BBSEG-NEWBS = '40'. "전기키
603| ENDIF.
604| GT_BBSEG-NEWKO = '0053310301'. "지급수수료_카드수수료_신용카드
605| GT_BBSEG-WRBTR = GT_Z0110_S-AMT3. "수수료
606| GT_BBSEG-ZUONR = GT_Z0110_S-PYDAT. "지정 - 입금일
607| GT_BBSEG-KOSTL = GT_Z0110_S-KOSTL. "코스트센터
608| GT_BBSEG-SGTXT = GT_Z0110_S-SGTXT. "적요
609| GT_BBSEG-XNEGP = P_XNEGP. "마이너스전기지시자
610|
611| APPEND GT_BBSEG. CLEAR GT_BBSEG.
612| ENDIF.
613|
614| * 라인아이템 4 - 무이자 수수료
615| IF GT_Z0110-AMT4 IS NOT INITIAL.
616| IF P_XNEGP EQ C_X.
617| GT_BBSEG-NEWBS = '50'. "전기키
618| ELSE.
619| GT_BBSEG-NEWBS = '40'. "전기키
620| ENDIF.
621| GT_BBSEG-NEWKO = '0053310307'. "지급수수료_카드수수료_무이자
622| GT_BBSEG-WRBTR = GT_Z0110_S-AMT4. "무이자 수수료
623| GT_BBSEG-ZUONR = GT_Z0110_S-PYDAT. "지정 - 입금일
624| GT_BBSEG-KOSTL = GT_Z0110_S-KOSTL. "코스트센터
625| GT_BBSEG-SGTXT = GT_Z0110_S-SGTXT. "적요
626| GT_BBSEG-XNEGP = P_XNEGP. "마이너스전기지시자
627|
628| APPEND GT_BBSEG. CLEAR GT_BBSEG.
629| ENDIF.
630|
631| * 라인아이템 5 - 잡손실
632| IF GT_Z0110-AMT5 IS NOT INITIAL.
633| IF P_XNEGP EQ C_X.
634| GT_BBSEG-NEWBS = '50'. "전기키
635| ELSE.
636| GT_BBSEG-NEWBS = '40'. "전기키
637| ENDIF.
638| GT_BBSEG-NEWKO = '0057797905'. "잡손실_기타
639| GT_BBSEG-WRBTR = GT_Z0110_S-AMT5. "잡손실
640| GT_BBSEG-ZUONR = GT_Z0110_S-PYDAT. "지정 - 입금일
641| GT_BBSEG-KOSTL = GT_Z0110_S-KOSTL. "코스트센터
642| GT_BBSEG-SGTXT = GT_Z0110_S-SGTXT. "적요
643| GT_BBSEG-XNEGP = P_XNEGP. "마이너스전기지시자
644|
645| APPEND GT_BBSEG. CLEAR GT_BBSEG.
646| ENDIF.
647|
648| * 라인아이템 6 - 잡이익
649| IF GT_Z0110-AMT6 IS NOT INITIAL.
650| IF P_XNEGP EQ C_X.
651| GT_BBSEG-NEWBS = '40'. "전기키
652| ELSE.
653| GT_BBSEG-NEWBS = '50'. "전기키
654| ENDIF.
655| GT_BBSEG-NEWKO = '0055797901'. "잡이익_기타
656| GT_BBSEG-WRBTR = GT_Z0110_S-AMT6. "잡이익
657| GT_BBSEG-ZUONR = GT_Z0110_S-PYDAT. "지정 - 입금일
658| GT_BBSEG-KOSTL = GT_Z0110_S-KOSTL. "코스트센터
659| GT_BBSEG-SGTXT = GT_Z0110_S-SGTXT. "적요
660| GT_BBSEG-XNEGP = P_XNEGP. "마이너스전기지시자
661|
662| APPEND GT_BBSEG. CLEAR GT_BBSEG.
663| ENDIF.
```
- **EN**: Adds optional lines for card fee, interest-free fee, miscellaneous loss (key 40/50) and miscellaneous gain (key 50/40) on their fixed G/L accounts with cost center and assignment.
- SAP 객체: BBSEG, GT_Z0110_S
- 업무 키워드: 카드수수료, 무이자수수료, 잡손실, 잡이익, 코스트센터
- English: Card Fee, Miscellaneous Loss, Miscellaneous Gain, Cost Center
- 정의부(복사 시 함께 필요): [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110`](#decl-zfir0061top-27-gt_z0110), [`C_X`](#decl-zficom-231-c_x), [`GT_BBSEG`](#decl-zficom-109-gt_bbseg), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L597-L663` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#MAKE_BSEG#C2`
### FORM BDC_TRANSACTION_FB01 — `ZFIR0061F01` L671-L738 (68줄)
*Z_FI_DOCUMENT_POSTING 으로 FB01 BDC 전기를 수행하고 성공 시 전표번호·연도, 실패 시 오류 메시지를 GT_Z0110_S 와 재전송용 GT_RESULT 에 기록하는 FORM 이다.*
> 이 unit 의 조각 3개가 59/68줄(87%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] 전표 헤더(GT_BBKPF)·아이템(GT_BBSEG)을 넘겨 Z_FI_DOCUMENT_POSTING 으로 FB01 BDC 전기를 실행하고 전표번호·회계연도·회사코드와 메시지 테이블을 받는다.
```abap
675| CALL FUNCTION 'Z_FI_DOCUMENT_POSTING'
676| EXPORTING
677| I_BDC_MODE = GV_MODE
678| I_MESSAGE = SPACE
679| IMPORTING
680| E_BELNR = GV_BELNR
681| E_GJAHR = GV_GJAHR
682| E_BUKRS = GV_BUKRS
683| TABLES
684| T_BBKPF = GT_BBKPF
685| T_BBSEG = GT_BBSEG
686| T_MESSTAB = GT_FIMSG.
```
- **EN**: Posts the FI document via Z_FI_DOCUMENT_POSTING (FB01 BDC) with header and line-item tables, returning document number, fiscal year and messages.
- 호출(파서): Z_FI_DOCUMENT_POSTING
- SAP 객체: Z_FI_DOCUMENT_POSTING, FB01, BBKPF, BBSEG
- 업무 키워드: 전표 전기, BDC, FB01, 카드채권 반제
- English: Document Posting, BDC, FB01
- 정의부(복사 시 함께 필요): [`GV_MODE`](#decl-zficom-174-gv_mode), [`GV_BELNR`](#decl-zficom-104-gv_belnr), [`GV_GJAHR`](#decl-zficom-106-gv_gjahr), [`GV_BUKRS`](#decl-zficom-105-gv_bukrs), [`GT_BBKPF`](#decl-zficom-108-gt_bbkpf), [`GT_BBSEG`](#decl-zficom-109-gt_bbseg), [`GT_FIMSG`](#decl-zficom-115-gt_fimsg)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L675-L686` · confidence 0.95 · `ZFIR0061#ZFIR0061F01#FORM#BDC_TRANSACTION_FB01#C1`
#### [validation] 전표번호가 생성되면 상태 S 와 전표번호·연도를 기록하고, 실패면 상태 E 로 두고 E/A 타입 메시지를 찾아 MESSAGE_TEXT_BUILD 로 오류 텍스트를 만들어 MESSG 에 저장한다.
```abap
688| IF GV_BELNR NE SPACE.
689| GT_Z0110_S-GJAHR = GV_GJAHR.
690| GT_Z0110_S-BELNR = GV_BELNR.
691| GT_Z0110_S-STATS = C_S.
692| ELSE.
693| GT_Z0110_S-STATS = C_E.
694| READ TABLE GT_FIMSG WITH KEY MSGTY = C_E. "에러
695| IF SY-SUBRC <> 0.
696| READ TABLE GT_FIMSG WITH KEY MSGTY = C_A. "AVEND
697| ENDIF.
698| IF GT_FIMSG IS INITIAL.
699| * 메시지 타입이 정상이면서 에러인 건이 있는지 확인
700| DESCRIBE TABLE GT_MESS LINES GV_INDEX.
701| READ TABLE GT_MESS INDEX GV_INDEX.
702| IF SY-SUBRC EQ 0.
703| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
704| EXPORTING
705| MSGID = GT_FIMSG-MSGID
706| MSGNR = GT_FIMSG-MSGNO
707| MSGV1 = GT_FIMSG-MSGV1
708| MSGV2 = GT_FIMSG-MSGV2
709| MSGV3 = GT_FIMSG-MSGV3
710| MSGV4 = GT_FIMSG-MSGV4
711| IMPORTING
712| MESSAGE_TEXT_OUTPUT = GT_Z0110_S-MESSG.
713| ENDIF.
714| ELSE.
715| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
716| EXPORTING
717| MSGID = GT_FIMSG-MSGID
718| MSGNR = GT_FIMSG-MSGNO
719| MSGV1 = GT_FIMSG-MSGV1
720| MSGV2 = GT_FIMSG-MSGV2
721| MSGV3 = GT_FIMSG-MSGV3
722| MSGV4 = GT_FIMSG-MSGV4
723| IMPORTING
724| MESSAGE_TEXT_OUTPUT = GT_Z0110_S-MESSG.
725| ENDIF.
726| ENDIF.
```
- **EN**: Sets status S with document number on success, otherwise status E and builds the error text from the E/A message via MESSAGE_TEXT_BUILD.
- 호출(파서): MESSAGE_TEXT_BUILD, MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD
- 업무 키워드: 전기 결과 판정, 오류 메시지, 상태 코드
- English: Posting Result, Error Message, Status
- 정의부(복사 시 함께 필요): [`GV_BELNR`](#decl-zficom-104-gv_belnr), [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s), [`GV_GJAHR`](#decl-zficom-106-gv_gjahr), [`C_S`](#decl-zficom-226-c_s), [`C_E`](#decl-zficom-212-c_e), [`GT_FIMSG`](#decl-zficom-115-gt_fimsg), [`C_A`](#decl-zficom-208-c_a), [`GT_MESS`](#decl-zficom-172-gt_mess), [`GV_INDEX`](#decl-zficom-82-gv_index)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L688-L726` · confidence 0.85 · `ZFIR0061#ZFIR0061F01#FORM#BDC_TRANSACTION_FB01#C2`
#### [other] 변경 일시·사용자를 기록하고 전표번호·연도·상태·메시지를 재전송용 GT_RESULT 에 복사한다.
```abap
729| GT_Z0110_S-UDATE = SY-DATUM.
730| GT_Z0110_S-UTIME = SY-UZEIT.
731| GT_Z0110_S-UNAME = SY-UNAME.
732| * 재전송
733| GT_RESULT-BELNR = GT_Z0110_S-BELNR.
734| GT_RESULT-GJAHR = GT_Z0110_S-GJAHR.
735| GT_RESULT-STATS = GT_Z0110_S-STATS.
736| GT_RESULT-MESSG = GT_Z0110_S-MESSG.
```
- **EN**: Stamps change log fields and copies document number, year, status and message into the result table for re-sending.
- SAP 객체: GT_RESULT
- 업무 키워드: 변경 로그, 재전송 결과
- English: Change Log, Result Table
- 정의부(복사 시 함께 필요): [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s), [`GT_RESULT`](#decl-zfir0061top-29-gt_result)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L729-L736` · confidence 0.8 · `ZFIR0061#ZFIR0061F01#FORM#BDC_TRANSACTION_FB01#C3`
### FORM SEND_CLEARING_INFO — `ZFIR0061F01` L744-L798 (55줄)
*재전기 결과를 인터페이스 로그 키와 함께 ZFIT0110 에 저장하고 RFC Z_FI_SAVE_CLEARING_RETURN 으로 카드채권 반제 처리결과를 원천 시스템에 송신하는 FORM 이다.*
> 이 unit 의 조각 3개가 39/55줄(71%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
#### [fm_call] Z_IF_GET_UNQKEY 로 FI 모듈 인터페이스 공통 로그 고유키(ZIFS0010)를 발급받고 오류 메시지가 있으면 처리를 중단한다.
```abap
754| CALL FUNCTION 'Z_IF_GET_UNQKEY'
755| EXPORTING
756| I_PGMID = SY-REPID
757| I_MODUL = 'FI'
758| IMPORTING
759| E_MESSG = LV_MESSG
760| ES_CMLOG = LS_CMLOG.
761|
762| IF LV_MESSG NE SPACE.
763| MESSAGE S000 WITH LV_MESSG DISPLAY LIKE C_E.
764| LEAVE LIST-PROCESSING.
765| ELSE.
766| APPEND LS_CMLOG TO LT_CMLOG.
767| ENDIF.
```
- **EN**: Obtains the interface common-log unique key via Z_IF_GET_UNQKEY and aborts on error.
- 호출(파서): Z_IF_GET_UNQKEY
- SAP 객체: Z_IF_GET_UNQKEY, ZIFS0010
- 업무 키워드: 인터페이스 로그, 고유키 발급
- English: Interface Log, Unique Key
- 정의부(복사 시 함께 필요): [`LV_MESSG`](#decl-zfir0061f01-748-lv_messg), [`LS_CMLOG`](#decl-zfir0061f01-747-ls_cmlog), [`C_E`](#decl-zficom-212-c_e), [`LT_CMLOG`](#decl-zfir0061f01-746-lt_cmlog)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L754-L767` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#SEND_CLEARING_INFO#C1`
#### [db_write] 재전기 대상 건(GT_Z0110_S)에 로그 고유키 UNQID 를 채운 뒤 MODIFY ZFIT0110 으로 카드채권 반제 I/F 이력 CBO 테이블을 갱신한다.
```abap
770| IF GT_Z0110_S[] IS NOT INITIAL.
771| GT_Z0110_S-UNQID = LS_CMLOG-UNQID.
772| MODIFY GT_Z0110_S TRANSPORTING UNQID
773| WHERE UNQID EQ SPACE.
774|
775| MODIFY ZFIT0110 FROM TABLE GT_Z0110_S.
776| ENDIF.
```
- **EN**: Stamps the log unique ID on the reposted rows and updates the card-receivable clearing history table ZFIT0110.
- 테이블(파서): read - / write [ZFIT0110](/tables/ZFIT0110.md)
- SAP 객체: ZFIT0110
- 업무 키워드: I/F 이력 갱신, CBO 테이블, 고유키
- English: CBO Table Update, Interface History
- 정의부(복사 시 함께 필요): [`ZFIT0110`](#decl-zfir0061top-8-zfit0110), [`GT_Z0110_S`](#decl-zfir0061top-28-gt_z0110_s), [`LS_CMLOG`](#decl-zfir0061f01-747-ls_cmlog)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L770-L776` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#SEND_CLEARING_INFO#C2`
#### [interface] RFC 목적지 ZFI01 로 Z_FI_SAVE_CLEARING_RETURN 을 호출해 전표번호·상태·메시지(GT_RESULT)를 원천 시스템에 송신하고 성공/실패 메시지를 표시한다.
```abap
779| CALL FUNCTION 'Z_FI_SAVE_CLEARING_RETURN'
780| DESTINATION 'ZFI01'
781| TABLES
782| IT_RESULT = GT_RESULT
783| IT_CMLOG = LT_CMLOG
784| EXCEPTIONS
785| SYSTEM_FAILURE = 1
786| COMMUNICATION_FAILURE = 2
787| OTHERS = 3.
788| IF SY-SUBRC EQ 0.
789| ** CBO테이블 업데이트
790| * MODIFY ZFIT0110 FROM TABLE GT_Z0110.
791|
792| MESSAGE S000 WITH '성공적으로 저장하였습니다.'.
793| ELSE.
794| MESSAGE S000 WITH '데이터 전송 중 오류가 발생했습니다.'
795| DISPLAY LIKE C_E.
796| ENDIF.
```
- **EN**: Sends the clearing result (document number, status, message) to the source system via RFC Z_FI_SAVE_CLEARING_RETURN on destination ZFI01.
- 호출(파서): Z_FI_SAVE_CLEARING_RETURN
- SAP 객체: Z_FI_SAVE_CLEARING_RETURN, ZFI01
- 업무 키워드: 처리결과 송신, 카드채권 반제, RFC, 상태 전송
- English: RFC Outbound, Clearing Result, Interface
- 정의부(복사 시 함께 필요): [`GT_RESULT`](#decl-zfir0061top-29-gt_result), [`LT_CMLOG`](#decl-zfir0061f01-746-lt_cmlog), [`C_E`](#decl-zficom-212-c_e)
- 위치: `abap://ZFIR0061/ZFIR0061F01#L779-L796` · confidence 0.9 · `ZFIR0061#ZFIR0061F01#FORM#SEND_CLEARING_INFO#C3`
## 정의부 (313건)
로직 조각을 다른 프로그램으로 옮겨 붙일 때 **함께 가야 하는 선언**이다. 조각별로 무엇이 필요한지는 위 조각 항목의 `정의부` 줄에 있고(이름을 누르면 여기로 온다), 붙여넣기용으로 의존까지 묶은 코드는 `GET /chunks/<chunk_id>``declaration_code` 로 받는다.
### `ZFIALV` (76건)
#### SLIS — type-pool · L7-L7 {#decl-zfialv-7-slis}
```abap
TYPE-POOLS : SLIS.
```
#### LCL_EVENT_RECEIVER — class · L10-L20 {#decl-zfialv-10-lcl_event_receiver}
```abap
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS :
HANDLE_CLOSE
FOR EVENT CLOSE OF CL_GUI_DIALOGBOX_CONTAINER
IMPORTING SENDER.
PRIVATE SECTION.
* 'X': does exist, SPACE: does not ex.
DATA : DIALOGBOX_STATUS TYPE C.
ENDCLASS. "lcl_event_receiver DEFINITION
```
#### GT_FIELDCAT — data · L37-L37 {#decl-zfialv-37-gt_fieldcat}
```abap
DATA : GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV. " WA
```
#### GT_FIELDCAT_HEAD — data · L38-L38 {#decl-zfialv-38-gt_fieldcat_head}
```abap
DATA:
GT_FIELDCAT_HEAD TYPE SLIS_T_FIELDCAT_ALV. " HEAD
```
#### GT_FIELDCAT_ITEM — data · L39-L39 {#decl-zfialv-39-gt_fieldcat_item}
```abap
DATA:
GT_FIELDCAT_ITEM TYPE SLIS_T_FIELDCAT_ALV. " ITEM
```
#### GT_FIELDCAT_FIELD — data · L40-L40 {#decl-zfialv-40-gt_fieldcat_field}
```abap
DATA:
GT_FIELDCAT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
```
#### GT_DROP — data · L41-L41 {#decl-zfialv-41-gt_drop}
```abap
DATA:
GT_DROP TYPE LVC_T_DROP. " Drop-down
```
#### GT_DRAL — data · L42-L42 {#decl-zfialv-42-gt_dral}
```abap
DATA:
GT_DRAL TYPE LVC_T_DRAL.
```
#### GT_SORTINFO — data · L43-L43 {#decl-zfialv-43-gt_sortinfo}
```abap
DATA:
GT_SORTINFO TYPE SLIS_T_SORTINFO_ALV. " SORT
```
#### GT_EVENT — data · L44-L44 {#decl-zfialv-44-gt_event}
```abap
DATA:
GT_EVENT TYPE SLIS_T_EVENT. " EVENT
```
#### GT_PRINT — data · L45-L45 {#decl-zfialv-45-gt_print}
```abap
DATA:
GT_PRINT TYPE SLIS_PRINT_ALV. " PRINT
```
#### GT_LISTHEADER — data · L46-L46 {#decl-zfialv-46-gt_listheader}
```abap
DATA:
GT_LISTHEADER TYPE SLIS_T_LISTHEADER. " TITLE
```
#### GT_CELLTAB — data · L47-L47 {#decl-zfialv-47-gt_celltab}
```abap
DATA:
GT_CELLTAB TYPE LVC_T_STYL.
```
#### GT_COLOR — data · L48-L48 {#decl-zfialv-48-gt_color}
```abap
DATA:
GT_COLOR TYPE LVC_T_SCOL.
```
#### GT_COLINFO — data · L49-L49 {#decl-zfialv-49-gt_colinfo}
```abap
DATA:
GT_COLINFO TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.
```
#### GS_FIELDCAT_HEAD — data · L51-L51 {#decl-zfialv-51-gs_fieldcat_head}
```abap
DATA : GS_FIELDCAT_HEAD TYPE SLIS_FIELDCAT_ALV. " HEAD
```
#### GS_FIELDCAT_ITEM — data · L52-L52 {#decl-zfialv-52-gs_fieldcat_item}
```abap
DATA:
GS_FIELDCAT_ITEM TYPE SLIS_FIELDCAT_ALV. " ITEM
```
#### GS_DROP — data · L53-L53 {#decl-zfialv-53-gs_drop}
```abap
DATA:
GS_DROP TYPE LVC_S_DROP. " Drop-down
```
#### GS_DRAL — data · L54-L54 {#decl-zfialv-54-gs_dral}
```abap
DATA:
GS_DRAL TYPE LVC_S_DRAL.
```
#### GS_SORTINFO — data · L55-L55 {#decl-zfialv-55-gs_sortinfo}
```abap
DATA:
GS_SORTINFO TYPE SLIS_SORTINFO_ALV. " SORT
```
#### GS_EVENT — data · L56-L56 {#decl-zfialv-56-gs_event}
```abap
DATA:
GS_EVENT LIKE LINE OF GT_EVENT. " EVENT
```
#### GS_VARIANT — data · L57-L57 {#decl-zfialv-57-gs_variant}
```abap
DATA:
GS_VARIANT LIKE DISVARIANT. " Layout
```
#### GS_DEF_VARIANT — data · L58-L58 {#decl-zfialv-58-gs_def_variant}
```abap
DATA:
GS_DEF_VARIANT LIKE DISVARIANT. " Default Layout
```
#### GS_LAYOUT — data · L59-L59 {#decl-zfialv-59-gs_layout}
```abap
DATA:
GS_LAYOUT TYPE SLIS_LAYOUT_ALV. " Layout
```
#### GS_EXIT_BY_USER — data · L60-L60 {#decl-zfialv-60-gs_exit_by_user}
```abap
DATA:
GS_EXIT_BY_USER TYPE SLIS_EXIT_BY_USER.
```
#### GS_LISTHEADER — data · L61-L61 {#decl-zfialv-61-gs_listheader}
```abap
DATA:
GS_LISTHEADER TYPE SLIS_LISTHEADER. " TITLE
```
#### GS_KEYINFO — data · L62-L62 {#decl-zfialv-62-gs_keyinfo}
```abap
DATA:
GS_KEYINFO TYPE SLIS_KEYINFO_ALV.
```
#### GS_CELLTAB — data · L63-L63 {#decl-zfialv-63-gs_celltab}
```abap
DATA:
GS_CELLTAB TYPE LVC_S_STYL.
```
#### GS_COLOR — data · L64-L64 {#decl-zfialv-64-gs_color}
```abap
DATA:
GS_COLOR TYPE LVC_S_SCOL.
```
#### GS_GRIDSET — data · L65-L65 {#decl-zfialv-65-gs_gridset}
```abap
DATA:
GS_GRIDSET TYPE LVC_S_GLAY. " GRID SETTING
```
#### GV_REPID — data · L67-L67 {#decl-zfialv-67-gv_repid}
```abap
DATA : GV_REPID TYPE SY-REPID. " Program-ID.
```
#### GV_PROGRAM — data · L68-L68 {#decl-zfialv-68-gv_program}
```abap
DATA:
GV_PROGRAM LIKE SY-REPID. " Program-ID
```
#### GV_INCLNAME — data · L69-L69 {#decl-zfialv-69-gv_inclname}
```abap
DATA:
GV_INCLNAME LIKE SY-REPID.
```
#### GV_GRID_TITLE — data · L70-L70 {#decl-zfialv-70-gv_grid_title}
```abap
DATA:
GV_GRID_TITLE TYPE LVC_TITLE. " GRID TITLE
```
#### GV_VARIANT_EXIT — data · L71-L71 {#decl-zfialv-71-gv_variant_exit}
```abap
DATA:
GV_VARIANT_EXIT(1) TYPE C.
```
#### GV_SAVE — data · L72-L72 {#decl-zfialv-72-gv_save}
```abap
DATA:
GV_SAVE(1) TYPE C.
```
#### GV_TABNAME_HEAD — data · L73-L73 {#decl-zfialv-73-gv_tabname_head}
```abap
DATA:
GV_TABNAME_HEAD TYPE SLIS_TABNAME.
```
#### GV_TABNAME_ITEM — data · L74-L74 {#decl-zfialv-74-gv_tabname_item}
```abap
DATA:
GV_TABNAME_ITEM TYPE SLIS_TABNAME.
```
#### GV_PF_STATUS — data · L75-L75 {#decl-zfialv-75-gv_pf_status}
```abap
DATA:
GV_PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_STATUS'.
```
#### GV_USER_COMMAND — data · L76-L76 {#decl-zfialv-76-gv_user_command}
```abap
DATA:
GV_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
```
#### GV_DATA_CHANGED — data · L77-L77 {#decl-zfialv-77-gv_data_changed}
```abap
DATA:
GV_DATA_CHANGED TYPE SLIS_FORMNAME VALUE 'ALV_DATA_CHANGED'.
```
#### GV_TOP_OF_PAGE — data · L78-L78 {#decl-zfialv-78-gv_top_of_page}
```abap
DATA:
GV_TOP_OF_PAGE TYPE SLIS_FORMNAME.
```
#### GV_F2CODE — data · L79-L79 {#decl-zfialv-79-gv_f2code}
```abap
DATA:
GV_F2CODE LIKE SY-UCOMM VALUE 'PICK'.
```
#### GT_FCAT_HEAD — data · L81-L81 {#decl-zfialv-81-gt_fcat_head}
```abap
DATA : GT_FCAT_HEAD TYPE LVC_T_FCAT.
```
#### GT_FCAT_ITEM — data · L82-L82 {#decl-zfialv-82-gt_fcat_item}
```abap
DATA:
GT_FCAT_ITEM TYPE LVC_T_FCAT.
```
#### GS_FCAT_HEAD — data · L83-L83 {#decl-zfialv-83-gs_fcat_head}
```abap
DATA:
GS_FCAT_HEAD TYPE LVC_S_FCAT.
```
#### GS_FCAT_ITEM — data · L84-L84 {#decl-zfialv-84-gs_fcat_item}
```abap
DATA:
GS_FCAT_ITEM TYPE LVC_S_FCAT.
```
#### GS_LAYOUT_ON — data · L85-L85 {#decl-zfialv-85-gs_layout_on}
```abap
DATA:
GS_LAYOUT_ON TYPE LVC_S_LAYO. " ALV_LAYOUT
```
#### GT_SORT — data · L86-L86 {#decl-zfialv-86-gt_sort}
```abap
DATA:
GT_SORT TYPE LVC_T_SORT. " Sort
```
#### GS_SORT — data · L87-L87 {#decl-zfialv-87-gs_sort}
```abap
DATA:
GS_SORT TYPE LVC_S_SORT. " Sort
```
#### GT_F4 — data · L88-L88 {#decl-zfialv-88-gt_f4}
```abap
DATA:
GT_F4 TYPE LVC_T_F4.
```
#### GS_F4 — data · L89-L89 {#decl-zfialv-89-gs_f4}
```abap
DATA:
GS_F4 TYPE LVC_S_F4. " F4
```
#### GS_ROW_ID — data · L90-L90 {#decl-zfialv-90-gs_row_id}
```abap
DATA:
GS_ROW_ID TYPE LVC_S_ROW. " Cursor
```
#### GS_COLUMN_ID — data · L91-L91 {#decl-zfialv-91-gs_column_id}
```abap
DATA:
GS_COLUMN_ID TYPE LVC_S_COL.
```
#### GT_EXCLUDING — data · L93-L93 {#decl-zfialv-93-gt_excluding}
```abap
DATA : GT_EXCLUDING TYPE SLIS_T_EXTAB.
```
#### GT_EVENT_EXIT — data · L94-L94 {#decl-zfialv-94-gt_event_exit}
```abap
DATA:
GT_EVENT_EXIT TYPE SLIS_T_EVENT_EXIT.
```
#### GV_TOOLBAR — data · L96-L96 {#decl-zfialv-96-gv_toolbar}
```abap
DATA : GV_TOOLBAR TYPE REF TO CL_GUI_TOOLBAR.
```
#### GV_TOP_NODE — data · L97-L97 {#decl-zfialv-97-gv_top_node}
```abap
DATA:
GV_TOP_NODE TYPE LVC_NKEY.
```
#### GV_ALV_TREE — data · L98-L98 {#decl-zfialv-98-gv_alv_tree}
```abap
DATA:
GV_ALV_TREE TYPE REF TO CL_GUI_ALV_TREE.
```
#### GV_ALV_ITEM — data · L99-L99 {#decl-zfialv-99-gv_alv_item}
```abap
DATA:
GV_ALV_ITEM TYPE REF TO CL_GUI_ALV_GRID.
```
#### GT_ROW — data · L100-L100 {#decl-zfialv-100-gt_row}
```abap
DATA:
GT_ROW TYPE LVC_T_ROW. " SELLECTION INDEX
```
#### GT_ROID — data · L101-L101 {#decl-zfialv-101-gt_roid}
```abap
DATA:
GT_ROID TYPE LVC_T_ROID.
```
#### GT_EXCLUDE — data · L102-L102 {#decl-zfialv-102-gt_exclude}
```abap
DATA:
GT_EXCLUDE TYPE UI_FUNCTIONS.
```
#### GS_EXCLUDE — data · L103-L103 {#decl-zfialv-103-gs_exclude}
```abap
DATA:
GS_EXCLUDE TYPE UI_FUNC.
```
#### DC_GRID — data · L105-L105 {#decl-zfialv-105-dc_grid}
```abap
DATA : DC_GRID TYPE REF TO CL_GUI_DOCKING_CONTAINER.
```
#### CC_GRID — data · L106-L106 {#decl-zfialv-106-cc_grid}
```abap
DATA:
CC_GRID TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
```
#### CC_GRID2 — data · L107-L107 {#decl-zfialv-107-cc_grid2}
```abap
DATA:
CC_GRID2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
```
#### CC_DIALOG — data · L108-L108 {#decl-zfialv-108-cc_dialog}
```abap
DATA:
CC_DIALOG TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER.
```
#### GV_EVENT_RECEIVER — data · L109-L109 {#decl-zfialv-109-gv_event_receiver}
```abap
DATA:
GV_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
```
#### GT_UCOMM — data · L111-L111 {#decl-zfialv-111-gt_ucomm}
```abap
DATA : GT_UCOMM TYPE TABLE OF SY-UCOMM. "버튼제어
```
#### C_BDC01 — constants · L115-L115 {#decl-zfialv-115-c_bdc01}
```abap
CONSTANTS : C_BDC01(9) TYPE C VALUE 'Sequence'.
```
#### C_BDC02 — constants · L116-L116 {#decl-zfialv-116-c_bdc02}
```abap
CONSTANTS:
C_BDC02(9) TYPE C VALUE 'Field'.
```
#### C_BDC03 — constants · L117-L117 {#decl-zfialv-117-c_bdc03}
```abap
CONSTANTS:
C_BDC03(9) TYPE C VALUE 'Type'.
```
#### C_BDC04 — constants · L118-L118 {#decl-zfialv-118-c_bdc04}
```abap
CONSTANTS:
C_BDC04(9) TYPE C VALUE 'Length'.
```
#### C_BDC05 — constants · L119-L119 {#decl-zfialv-119-c_bdc05}
```abap
CONSTANTS:
C_BDC05(9) TYPE C VALUE 'Required'.
```
#### C_BDC06 — constants · L120-L120 {#decl-zfialv-120-c_bdc06}
```abap
CONSTANTS:
C_BDC06(9) TYPE C VALUE 'Example'.
```
### `ZFICOM` (201건)
#### ICON — type-pool · L7-L7 {#decl-zficom-7-icon}
```abap
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
```
#### KCDE — type-pool · L7-L7 {#decl-zficom-7-kcde}
```abap
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
```
#### SHLP — type-pool · L7-L7 {#decl-zficom-7-shlp}
```abap
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
```
#### TPIT — type-pool · L7-L7 {#decl-zficom-7-tpit}
```abap
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
```
#### VRM — type-pool · L7-L7 {#decl-zficom-7-vrm}
```abap
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
```
#### T001 — tables · L11-L11 {#decl-zficom-11-t001}
```abap
TABLES : T001. " Company Codes
```
#### T005 — tables · L12-L12 {#decl-zficom-12-t005}
```abap
TABLES:
T005. " Land
```
#### BKPF — tables · L13-L13 {#decl-zficom-13-bkpf}
```abap
TABLES:
BKPF. " Accounting Document Heade
```
#### BSEG — tables · L14-L14 {#decl-zficom-14-bseg}
```abap
TABLES:
BSEG. " Accounting Document Segment
```
#### BSID — tables · L15-L15 {#decl-zficom-15-bsid}
```abap
TABLES:
BSID. " Accounting: Secondary Index for Customers
```
#### BSAD — tables · L16-L16 {#decl-zficom-16-bsad}
```abap
TABLES:
BSAD. " Accounting: Secondary Index for Customers
```
#### BSIK — tables · L18-L18 {#decl-zficom-18-bsik}
```abap
TABLES:
BSIK. " Accounting: Secondary Index for Vendors
```
#### BSAK — tables · L19-L19 {#decl-zficom-19-bsak}
```abap
TABLES:
BSAK. " Accounting: Secondary Index for Vendors
```
#### BSIS — tables · L21-L21 {#decl-zficom-21-bsis}
```abap
TABLES:
BSIS. " Accounting: Secondary Index for G/L Accounts
```
#### BSAS — tables · L22-L22 {#decl-zficom-22-bsas}
```abap
TABLES:
BSAS. " Accounting: Secondary Index for G/L Accounts
```
#### BSEC — tables · L24-L24 {#decl-zficom-24-bsec}
```abap
TABLES:
BSEC. " One-Time Account Data Document Segment
```
#### BSET — tables · L25-L25 {#decl-zficom-25-bset}
```abap
TABLES:
BSET. " Tax Data Document Segment
```
#### BSED — tables · L26-L26 {#decl-zficom-26-bsed}
```abap
TABLES:
BSED. " n Bill of Exchange Fields Docume
```
#### VBKPF — tables · L27-L27 {#decl-zficom-27-vbkpf}
```abap
TABLES:
VBKPF. " Document Header for Document Parking
```
#### VBSEGS — tables · L28-L28 {#decl-zficom-28-vbsegs}
```abap
TABLES:
VBSEGS. " Document Segment for Document Parking
```
#### VBSEGD — tables · L30-L30 {#decl-zficom-30-vbsegd}
```abap
TABLES:
VBSEGD. " Document Segment for Customer Document Parking
```
#### VBSEGK — tables · L31-L31 {#decl-zficom-31-vbsegk}
```abap
TABLES:
VBSEGK. " Document Segment for Vendor Document Parking
```
#### VBSET — tables · L32-L32 {#decl-zficom-32-vbset}
```abap
TABLES:
VBSET. " Document Segment for Taxes Document Parking
```
#### VBSEC — tables · L33-L33 {#decl-zficom-33-vbsec}
```abap
TABLES:
VBSEC. " Document Parking One-Time Data Document Segment
```
#### SKA1 — tables · L34-L34 {#decl-zficom-34-ska1}
```abap
TABLES:
SKA1. " G/L Account Master (Chart of Accounts)
```
#### SKB1 — tables · L35-L35 {#decl-zficom-35-skb1}
```abap
TABLES:
SKB1. " G/L account master (company code)
```
#### LFA1 — tables · L36-L36 {#decl-zficom-36-lfa1}
```abap
TABLES:
LFA1. " Vendor Master (General Section)
```
#### LFB1 — tables · L37-L37 {#decl-zficom-37-lfb1}
```abap
TABLES:
LFB1. " Vendor Master (Company Code)
```
#### KNA1 — tables · L38-L38 {#decl-zficom-38-kna1}
```abap
TABLES:
KNA1. " General Data in Customer Master
```
#### KNB1 — tables · L39-L39 {#decl-zficom-39-knb1}
```abap
TABLES:
KNB1. " Customer Master (Company Code)
```
#### ADRC — tables · L40-L40 {#decl-zficom-40-adrc}
```abap
TABLES:
ADRC. " Addresses (Business Address Services)
```
#### USR01 — tables · L41-L41 {#decl-zficom-41-usr01}
```abap
TABLES:
USR01. " User master record (runtime data)
```
#### USR05 — tables · L42-L42 {#decl-zficom-42-usr05}
```abap
TABLES:
USR05. " User Master Parameter ID
```
#### USR21 — tables · L43-L43 {#decl-zficom-43-usr21}
```abap
TABLES:
USR21. " Assign user name address key
```
#### ZFIT0160 — tables · L45-L45 {#decl-zficom-45-zfit0160}
```abap
TABLES:
ZFIT0160. " FI 권한 관리 테이블
```
#### CTU_PARAMS — tables · L48-L48 {#decl-zficom-48-ctu_params}
```abap
TABLES : CTU_PARAMS. "CALL TRANSACTION USING...
```
#### GT_SQL — data · L54-L54 {#decl-zficom-54-gt_sql}
```abap
DATA : GT_SQL(72) OCCURS 0 WITH HEADER LINE.
```
#### GT_FIELD — data · L56-L56 {#decl-zficom-56-gt_field}
```abap
DATA : GT_FIELD LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.
```
#### GV_FIELD — data · L57-L57 {#decl-zficom-57-gv_field}
```abap
DATA:
GV_FIELD LIKE HELP_INFO-FIELDNAME.
```
#### GV_VALUE — data · L58-L58 {#decl-zficom-58-gv_value}
```abap
DATA:
GV_VALUE LIKE HELP_INFO-FLDVALUE.
```
#### GV_TABIX — data · L59-L59 {#decl-zficom-59-gv_tabix}
```abap
DATA:
GV_TABIX LIKE SY-TABIX.
```
#### GT_SHLP — data · L61-L61 {#decl-zficom-61-gt_shlp}
```abap
DATA : GT_SHLP TYPE SHLP_DESCR_T.
```
#### GT_DYNFIELDS — data · L63-L63 {#decl-zficom-63-gt_dynfields}
```abap
DATA : GT_DYNFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
```
#### GT_RETVALUES — data · L64-L64 {#decl-zficom-64-gt_retvalues}
```abap
DATA:
GT_RETVALUES LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
```
#### GT_RECEIVE — data · L65-L65 {#decl-zficom-65-gt_receive}
```abap
DATA:
GT_RECEIVE LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
```
#### GT_EXCODE — data · L66-L66 {#decl-zficom-66-gt_excode}
```abap
DATA:
GT_EXCODE TYPE TABLE OF SY-UCOMM. " Button Control
```
#### GV_DBCNT — data · L68-L68 {#decl-zficom-68-gv_dbcnt}
```abap
DATA : GV_DBCNT LIKE SY-DBCNT. " Inquiry count
```
#### GV_TFILL — data · L69-L69 {#decl-zficom-69-gv_tfill}
```abap
DATA:
GV_TFILL LIKE SY-TFILL. " Current number of lines
```
#### GV_SUBRC — data · L70-L70 {#decl-zficom-70-gv_subrc}
```abap
DATA:
GV_SUBRC LIKE SY-SUBRC. " Return Value
```
#### GV_UCOMM — data · L71-L71 {#decl-zficom-71-gv_ucomm}
```abap
DATA:
GV_UCOMM LIKE SY-UCOMM. " Function Code
```
#### GV_TITLE — data · L72-L72 {#decl-zficom-72-gv_title}
```abap
DATA:
GV_TITLE LIKE SY-TITLE. " Title
```
#### GV_DATUM — data · L73-L73 {#decl-zficom-73-gv_datum}
```abap
DATA:
GV_DATUM LIKE SY-DATUM. " Date
```
#### GV_TYPE — data · L74-L74 {#decl-zficom-74-gv_type}
```abap
DATA:
GV_TYPE LIKE DD01V-DATATYPE. " Num/Char Flag
```
#### GV_SEQNO — data · L75-L75 {#decl-zficom-75-gv_seqno}
```abap
DATA:
GV_SEQNO(3) TYPE N. " Seqence No
```
#### GV_CURSOR_FIELD — data · L76-L76 {#decl-zficom-76-gv_cursor_field}
```abap
DATA:
GV_CURSOR_FIELD(30). " CURSOR FIELD
```
#### GV_CURSOR_LINE — data · L77-L77 {#decl-zficom-77-gv_cursor_line}
```abap
DATA:
GV_CURSOR_LINE LIKE SY-LILLI. " CURSOR LINE
```
#### GV_10_D — data · L79-L79 {#decl-zficom-79-gv_10_d}
```abap
DATA : GV_10_D(16) TYPE P DECIMALS 0.
```
#### GV_TABIN — data · L81-L81 {#decl-zficom-81-gv_tabin}
```abap
DATA : GV_TABIN(06). " total count
```
#### GV_INDEX — data · L82-L82 {#decl-zficom-82-gv_index}
```abap
DATA:
GV_INDEX(06). " progress count
```
#### GV_KBETR — data · L83-L83 {#decl-zficom-83-gv_kbetr}
```abap
DATA:
GV_KBETR(05). " progress percent
```
#### GV_INDIC — data · L84-L84 {#decl-zficom-84-gv_indic}
```abap
DATA:
GV_INDIC(80). " progress status
```
#### GV_TEXT — data · L85-L85 {#decl-zficom-85-gv_text}
```abap
DATA:
GV_TEXT(100).
```
#### GF_CHECK — data · L87-L87 {#decl-zficom-87-gf_check}
```abap
DATA : GF_CHECK(1). " Input Check
```
#### GF_MARK — data · L88-L88 {#decl-zficom-88-gf_mark}
```abap
DATA:
GF_MARK(1). " Select Flag
```
#### GF_LOCK — data · L89-L89 {#decl-zficom-89-gf_lock}
```abap
DATA:
GF_LOCK(1). " Lock Flag
```
#### GF_ANSWER — data · L90-L90 {#decl-zficom-90-gf_answer}
```abap
DATA:
GF_ANSWER(1). " MessageBox Return Value
```
#### GF_COLOR — data · L91-L91 {#decl-zficom-91-gf_color}
```abap
DATA:
GF_COLOR(1). " LINE COLOR
```
#### GV_NAME — data · L94-L94 {#decl-zficom-94-gv_name}
```abap
DATA : GV_NAME TYPE VRM_ID.
```
#### GT_LIST — data · L95-L95 {#decl-zficom-95-gt_list}
```abap
DATA:
GT_LIST TYPE VRM_VALUES.
```
#### GS_VALUE — data · L96-L96 {#decl-zficom-96-gs_value}
```abap
DATA:
GS_VALUE LIKE LINE OF GT_LIST.
```
#### GV_FNAME — data · L98-L98 {#decl-zficom-98-gv_fname}
```abap
DATA : GV_FNAME TYPE RS38L_FNAM.
```
#### GS_OPTIONS — data · L99-L99 {#decl-zficom-99-gs_options}
```abap
DATA:
GS_OPTIONS TYPE SSFCOMPOP.
```
#### GS_DEVICE — data · L100-L100 {#decl-zficom-100-gs_device}
```abap
DATA:
GS_DEVICE TYPE SSFCTRLOP.
```
#### GV_TDDEST — data · L101-L101 {#decl-zficom-101-gv_tddest}
```abap
DATA:
GV_TDDEST LIKE GS_OPTIONS-TDDEST VALUE 'LOCL'.
```
#### GS_JOB_OUTPUT_INFO — data · L102-L102 {#decl-zficom-102-gs_job_output_info}
```abap
DATA:
GS_JOB_OUTPUT_INFO TYPE SSFCRESCL.
```
#### GV_BELNR — data · L104-L104 {#decl-zficom-104-gv_belnr}
```abap
DATA : GV_BELNR LIKE BKPF-BELNR.
```
#### GV_BUKRS — data · L105-L105 {#decl-zficom-105-gv_bukrs}
```abap
DATA:
GV_BUKRS LIKE BKPF-BUKRS.
```
#### GV_GJAHR — data · L106-L106 {#decl-zficom-106-gv_gjahr}
```abap
DATA:
GV_GJAHR LIKE BKPF-GJAHR.
```
#### GV_BUZEI — data · L107-L107 {#decl-zficom-107-gv_buzei}
```abap
DATA:
GV_BUZEI LIKE BSEG-BUZEI.
```
#### GT_BBKPF — data · L108-L108 {#decl-zficom-108-gt_bbkpf}
```abap
DATA : GT_BBKPF LIKE BBKPF OCCURS 0 WITH HEADER LINE.
```
#### GT_BBSEG — data · L109-L109 {#decl-zficom-109-gt_bbseg}
```abap
DATA:
GT_BBSEG LIKE BBSEG OCCURS 0 WITH HEADER LINE.
```
#### GT_BBTAX — data · L110-L110 {#decl-zficom-110-gt_bbtax}
```abap
DATA:
GT_BBTAX LIKE BBTAX OCCURS 0 WITH HEADER LINE.
```
#### GT_BWITH — data · L111-L111 {#decl-zficom-111-gt_bwith}
```abap
DATA:
GT_BWITH LIKE BWITH OCCURS 0 WITH HEADER LINE.
```
#### GT_BSELK — data · L112-L112 {#decl-zficom-112-gt_bselk}
```abap
DATA:
GT_BSELK LIKE BSELK OCCURS 0 WITH HEADER LINE.
```
#### GT_BSELP — data · L113-L113 {#decl-zficom-113-gt_bselp}
```abap
DATA:
GT_BSELP LIKE BSELP OCCURS 0 WITH HEADER LINE.
```
#### GT_FIMSG — data · L115-L115 {#decl-zficom-115-gt_fimsg}
```abap
DATA:
GT_FIMSG LIKE FIMSG OCCURS 0 WITH HEADER LINE.
```
#### GT_ACCCHG — data · L117-L117 {#decl-zficom-117-gt_accchg}
```abap
DATA : GT_ACCCHG LIKE ACCCHG OCCURS 0 WITH HEADER LINE.
```
#### GS_ACCPMBLK — data · L119-L119 {#decl-zficom-119-gs_accpmblk}
```abap
DATA : GS_ACCPMBLK LIKE ACCPMBLK.
```
#### GT_ROWS — data · L121-L121 {#decl-zficom-121-gt_rows}
```abap
DATA : GT_ROWS TYPE LVC_T_ROW. " ALV control: Table rows
```
#### GS_ROWS — data · L122-L122 {#decl-zficom-122-gs_rows}
```abap
DATA:
GS_ROWS TYPE LVC_S_ROW. " ALV control: Line description
```
#### GV_ROW_POS — data · L123-L123 {#decl-zficom-123-gv_row_pos}
```abap
DATA:
GV_ROW_POS TYPE I.
```
#### GT_EXTAB — data · L125-L125 {#decl-zficom-125-gt_extab}
```abap
DATA : GT_EXTAB LIKE SY-UCOMM OCCURS 0 WITH HEADER LINE.
```
#### GS_EMAIL_DATA — data · L127-L129 {#decl-zficom-127-gs_email_data}
```abap
DATA : BEGIN OF GS_EMAIL_DATA.
INCLUDE STRUCTURE SODOCCHGI1.
DATA : END OF GS_EMAIL_DATA.
```
#### GT_EMAIL — data · L131-L131 {#decl-zficom-131-gt_email}
```abap
DATA : GT_EMAIL LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.
```
#### GT_ETEXT — data · L132-L132 {#decl-zficom-132-gt_etext}
```abap
DATA:
GT_ETEXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
```
#### GT_RSPAR — data · L134-L134 {#decl-zficom-134-gt_rspar}
```abap
DATA : GT_RSPAR LIKE RSPARAMS OCCURS 10 WITH HEADER LINE.
```
#### GV_SMTP_ADDR — data · L136-L136 {#decl-zficom-136-gv_smtp_addr}
```abap
DATA : GV_SMTP_ADDR LIKE ADR6-SMTP_ADDR.
```
#### GF_FIRST — data · L138-L138 {#decl-zficom-138-gf_first}
```abap
DATA : GF_FIRST(1) TYPE C.
```
#### GF_NEW — data · L139-L139 {#decl-zficom-139-gf_new}
```abap
DATA:
GF_NEW(1) TYPE C.
```
#### GF_END — data · L140-L140 {#decl-zficom-140-gf_end}
```abap
DATA:
GF_END(1) TYPE C.
```
#### GF_LAST — data · L141-L141 {#decl-zficom-141-gf_last}
```abap
DATA:
GF_LAST(1) TYPE C.
```
#### GV_BUK — data · L144-L144 {#decl-zficom-144-gv_buk}
```abap
DATA : GV_BUK LIKE BKPF-BUKRS. " Company Code
```
#### GV_KURST — data · L145-L145 {#decl-zficom-145-gv_kurst}
```abap
DATA:
GV_KURST LIKE TCURR-KURST. " Exchange rate type
```
#### GV_KALSM — data · L146-L146 {#decl-zficom-146-gv_kalsm}
```abap
DATA:
GV_KALSM LIKE T005-KALSM. " Procedure
```
#### GV_KOKRS — data · L147-L147 {#decl-zficom-147-gv_kokrs}
```abap
DATA:
GV_KOKRS LIKE CSKT-KOKRS. " Controlling Area
```
#### GT_BSE — data · L149-L165 {#decl-zficom-149-gt_bse}
```abap
DATA : BEGIN OF GT_BSE OCCURS 0,
BUKRS_CLR LIKE BSE_CLR-BUKRS_CLR, "반제전표-회사코드
BELNR_CLR LIKE BSE_CLR-BELNR_CLR, "반제전표-전표번호
GJAHR_CLR LIKE BSE_CLR-GJAHR_CLR, "반제전표-회계연도
INDEX_CLR LIKE BSE_CLR-INDEX_CLR, "반제정보에 대한 일련번호
WAERS LIKE BSE_CLR-WAERS, "통화 키
CLRIN LIKE BSE_CLR-CLRIN, "반제유형
BUKRS LIKE BSE_CLR-BUKRS, "원전표-회사코드
BELNR LIKE BSE_CLR-BELNR, "원전표-전표번호
GJAHR LIKE BSE_CLR-GJAHR, "원전표-회계연도
BUZEI LIKE BSE_CLR-BUZEI, "원전표-개별항목번호
SHKZG LIKE BSE_CLR-SHKZG, "차대변지시자
DMBTR LIKE BSE_CLR-DMBTR, "금액(현지통화)
DIFHW LIKE BSE_CLR-DIFHW, "차액(현지통화)
WRBTR LIKE BSE_CLR-WRBTR, "금액(전표통화)
DIFFW LIKE BSE_CLR-DIFFW, "차약(전표통화)
END OF GT_BSE.
```
#### GT_BDC — data · L168-L170 {#decl-zficom-168-gt_bdc}
```abap
DATA : BEGIN OF GT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA : END OF GT_BDC.
```
#### GT_MESS — data · L172-L172 {#decl-zficom-172-gt_mess}
```abap
DATA : GT_MESS LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
```
#### GV_MODE — data · L174-L174 {#decl-zficom-174-gv_mode}
```abap
DATA : GV_MODE(1) VALUE 'N'. "BDC MODE
```
#### GS_LOG — data · L176-L176 {#decl-zficom-176-gs_log}
```abap
DATA : GS_LOG TYPE BAL_S_LOG.
```
#### GS_LOG_HANDLE — data · L177-L177 {#decl-zficom-177-gs_log_handle}
```abap
DATA:
GS_LOG_HANDLE TYPE BALLOGHNDL.
```
#### GS_DISPLAY_PROFILE — data · L178-L178 {#decl-zficom-178-gs_display_profile}
```abap
DATA:
GS_DISPLAY_PROFILE TYPE BAL_S_PROF.
```
#### GT_LOG_HANDLE — data · L179-L179 {#decl-zficom-179-gt_log_handle}
```abap
DATA:
GT_LOG_HANDLE TYPE BAL_T_LOGH.
```
#### GS_MSG — data · L180-L180 {#decl-zficom-180-gs_msg}
```abap
DATA:
GS_MSG TYPE BAL_S_MSG.
```
#### GS_BAL_FCAT — data · L181-L181 {#decl-zficom-181-gs_bal_fcat}
```abap
DATA:
GS_BAL_FCAT TYPE BAL_S_FCAT.
```
#### GV_COL_POS — data · L182-L182 {#decl-zficom-182-gv_col_pos}
```abap
DATA:
GV_COL_POS TYPE I.
```
#### GT_STRUCT — data · L185-L193 {#decl-zficom-185-gt_struct}
```abap
DATA : BEGIN OF GT_STRUCT OCCURS 0,
SEQNO(03), "Sequence no
FNAME(60), "Field name
FTYPE(04), "Type
FLENG(03), "Length
FFLAG(50), "Required
FEXAM(80), "Example
* FNOTE(80), "Note
END OF GT_STRUCT.
```
#### C_BUKRS — constants · L198-L198 {#decl-zficom-198-c_bukrs}
```abap
CONSTANTS:
C_BUKRS LIKE BKPF-BUKRS VALUE 'KR01'. " Company Code
```
#### C_WAERS — constants · L199-L199 {#decl-zficom-199-c_waers}
```abap
CONSTANTS:
C_WAERS LIKE BKPF-WAERS VALUE 'KRW'. " Currency Key
```
#### C_LANGU — constants · L200-L200 {#decl-zficom-200-c_langu}
```abap
CONSTANTS:
C_LANGU LIKE SKAT-SPRAS VALUE '3'. " Country Key
```
#### C_LAND1 — constants · L201-L201 {#decl-zficom-201-c_land1}
```abap
CONSTANTS:
C_LAND1 LIKE T001-LAND1 VALUE 'KR'. " Country Key
```
#### C_KTOPL — constants · L202-L202 {#decl-zficom-202-c_ktopl}
```abap
CONSTANTS:
C_KTOPL LIKE SKAT-KTOPL VALUE '1000'. " Chart of Accounts
```
#### C_KOKRS — constants · L203-L203 {#decl-zficom-203-c_kokrs}
```abap
CONSTANTS:
C_KOKRS LIKE CSKT-KOKRS VALUE 'KR01'. " Controlling Area
```
#### C_KALSM — constants · L204-L204 {#decl-zficom-204-c_kalsm}
```abap
CONSTANTS:
C_KALSM LIKE T007S-KALSM VALUE 'TAXKR'. " Procedure
```
#### C_KURST — constants · L205-L205 {#decl-zficom-205-c_kurst}
```abap
CONSTANTS:
C_KURST LIKE TCURR-KURST VALUE 'M'. " Exchange Rate Type
```
#### C_SPRAS — constants · L206-L206 {#decl-zficom-206-c_spras}
```abap
CONSTANTS:
C_SPRAS LIKE T001-SPRAS VALUE '3'. " Language Key
```
#### C_PARID — constants · L207-L207 {#decl-zficom-207-c_parid}
```abap
CONSTANTS:
C_PARID LIKE USR05-PARID VALUE 'ZSP'. " 사용자종속언어
```
#### C_A — constants · L208-L208 {#decl-zficom-208-c_a}
```abap
CONSTANTS:
C_A(1) TYPE C VALUE 'A'.
```
#### C_B — constants · L209-L209 {#decl-zficom-209-c_b}
```abap
CONSTANTS:
C_B(1) TYPE C VALUE 'B'.
```
#### C_C — constants · L210-L210 {#decl-zficom-210-c_c}
```abap
CONSTANTS:
C_C(1) TYPE C VALUE 'C'.
```
#### C_D — constants · L211-L211 {#decl-zficom-211-c_d}
```abap
CONSTANTS:
C_D(1) TYPE C VALUE 'D'.
```
#### C_E — constants · L212-L212 {#decl-zficom-212-c_e}
```abap
CONSTANTS:
C_E(1) TYPE C VALUE 'E'.
```
#### C_F — constants · L213-L213 {#decl-zficom-213-c_f}
```abap
CONSTANTS:
C_F(1) TYPE C VALUE 'F'.
```
#### C_G — constants · L214-L214 {#decl-zficom-214-c_g}
```abap
CONSTANTS:
C_G(1) TYPE C VALUE 'G'.
```
#### C_H — constants · L215-L215 {#decl-zficom-215-c_h}
```abap
CONSTANTS:
C_H(1) TYPE C VALUE 'H'.
```
#### C_I — constants · L216-L216 {#decl-zficom-216-c_i}
```abap
CONSTANTS:
C_I(1) TYPE C VALUE 'I'.
```
#### C_J — constants · L217-L217 {#decl-zficom-217-c_j}
```abap
CONSTANTS:
C_J(1) TYPE C VALUE 'J'.
```
#### C_K — constants · L218-L218 {#decl-zficom-218-c_k}
```abap
CONSTANTS:
C_K(1) TYPE C VALUE 'K'.
```
#### C_L — constants · L219-L219 {#decl-zficom-219-c_l}
```abap
CONSTANTS:
C_L(1) TYPE C VALUE 'L'.
```
#### C_M — constants · L220-L220 {#decl-zficom-220-c_m}
```abap
CONSTANTS:
C_M(1) TYPE C VALUE 'M'.
```
#### C_N — constants · L221-L221 {#decl-zficom-221-c_n}
```abap
CONSTANTS:
C_N(1) TYPE C VALUE 'N'.
```
#### C_O — constants · L222-L222 {#decl-zficom-222-c_o}
```abap
CONSTANTS:
C_O(1) TYPE C VALUE 'O'.
```
#### C_P — constants · L223-L223 {#decl-zficom-223-c_p}
```abap
CONSTANTS:
C_P(1) TYPE C VALUE 'P'.
```
#### C_Q — constants · L224-L224 {#decl-zficom-224-c_q}
```abap
CONSTANTS:
C_Q(1) TYPE C VALUE 'Q'.
```
#### C_R — constants · L225-L225 {#decl-zficom-225-c_r}
```abap
CONSTANTS:
C_R(1) TYPE C VALUE 'R'.
```
#### C_S — constants · L226-L226 {#decl-zficom-226-c_s}
```abap
CONSTANTS:
C_S(1) TYPE C VALUE 'S'.
```
#### C_T — constants · L227-L227 {#decl-zficom-227-c_t}
```abap
CONSTANTS:
C_T(1) TYPE C VALUE 'T'.
```
#### C_U — constants · L228-L228 {#decl-zficom-228-c_u}
```abap
CONSTANTS:
C_U(1) TYPE C VALUE 'U'.
```
#### C_V — constants · L229-L229 {#decl-zficom-229-c_v}
```abap
CONSTANTS:
C_V(1) TYPE C VALUE 'V'.
```
#### C_W — constants · L230-L230 {#decl-zficom-230-c_w}
```abap
CONSTANTS:
C_W(1) TYPE C VALUE 'W'.
```
#### C_X — constants · L231-L231 {#decl-zficom-231-c_x}
```abap
CONSTANTS:
C_X(1) TYPE C VALUE 'X'.
```
#### C_Y — constants · L232-L232 {#decl-zficom-232-c_y}
```abap
CONSTANTS:
C_Y(1) TYPE C VALUE 'Y'.
```
#### C_Z — constants · L233-L233 {#decl-zficom-233-c_z}
```abap
CONSTANTS:
C_Z(1) TYPE C VALUE 'Z'.
```
#### C_0 — constants · L234-L234 {#decl-zficom-234-c_0}
```abap
CONSTANTS:
C_0(1) TYPE C VALUE '0'.
```
#### C_1 — constants · L235-L235 {#decl-zficom-235-c_1}
```abap
CONSTANTS:
C_1(1) TYPE C VALUE '1'.
```
#### C_2 — constants · L236-L236 {#decl-zficom-236-c_2}
```abap
CONSTANTS:
C_2(1) TYPE C VALUE '2'.
```
#### C_3 — constants · L237-L237 {#decl-zficom-237-c_3}
```abap
CONSTANTS:
C_3(1) TYPE C VALUE '3'.
```
#### C_4 — constants · L238-L238 {#decl-zficom-238-c_4}
```abap
CONSTANTS:
C_4(1) TYPE C VALUE '4'.
```
#### C_5 — constants · L239-L239 {#decl-zficom-239-c_5}
```abap
CONSTANTS:
C_5(1) TYPE C VALUE '5'.
```
#### C_6 — constants · L240-L240 {#decl-zficom-240-c_6}
```abap
CONSTANTS:
C_6(1) TYPE C VALUE '6'.
```
#### C_7 — constants · L241-L241 {#decl-zficom-241-c_7}
```abap
CONSTANTS:
C_7(1) TYPE C VALUE '7'.
```
#### C_8 — constants · L242-L242 {#decl-zficom-242-c_8}
```abap
CONSTANTS:
C_8(1) TYPE C VALUE '8'.
```
#### C_9 — constants · L243-L243 {#decl-zficom-243-c_9}
```abap
CONSTANTS:
C_9(1) TYPE C VALUE '9'.
```
#### C_EQ — constants · L244-L244 {#decl-zficom-244-c_eq}
```abap
CONSTANTS:
C_EQ(2) TYPE C VALUE 'EQ'.
```
#### C_NE — constants · L245-L245 {#decl-zficom-245-c_ne}
```abap
CONSTANTS:
C_NE(2) TYPE C VALUE 'NE'.
```
#### C_BT — constants · L246-L246 {#decl-zficom-246-c_bt}
```abap
CONSTANTS:
C_BT(2) TYPE C VALUE 'BT'.
```
#### C_CP — constants · L247-L247 {#decl-zficom-247-c_cp}
```abap
CONSTANTS:
C_CP(2) TYPE C VALUE 'CP'.
```
#### C_NP — constants · L248-L248 {#decl-zficom-248-c_np}
```abap
CONSTANTS:
C_NP(2) TYPE C VALUE 'NP'.
```
#### C_LE — constants · L249-L249 {#decl-zficom-249-c_le}
```abap
CONSTANTS:
C_LE(2) TYPE C VALUE 'LE'.
```
#### C_LT — constants · L250-L250 {#decl-zficom-250-c_lt}
```abap
CONSTANTS:
C_LT(2) TYPE C VALUE 'LT'.
```
#### C_GE — constants · L251-L251 {#decl-zficom-251-c_ge}
```abap
CONSTANTS:
C_GE(2) TYPE C VALUE 'GE'.
```
#### C_GT — constants · L252-L252 {#decl-zficom-252-c_gt}
```abap
CONSTANTS:
C_GT(2) TYPE C VALUE 'GT'.
```
#### C_FBV0 — constants · L253-L253 {#decl-zficom-253-c_fbv0}
```abap
CONSTANTS:
C_FBV0 LIKE BKPF-TCODE VALUE 'FBV0'. " 임시전표전기 T-Code
```
#### C_FBV1 — constants · L254-L254 {#decl-zficom-254-c_fbv1}
```abap
CONSTANTS:
C_FBV1 LIKE BKPF-TCODE VALUE 'FBV1'. " 임시전표생성 T-Code
```
#### C_FB01 — constants · L255-L255 {#decl-zficom-255-c_fb01}
```abap
CONSTANTS:
C_FB01 LIKE BKPF-TCODE VALUE 'FB01'. " 전표생성 T-Code
```
#### C_FB05 — constants · L256-L256 {#decl-zficom-256-c_fb05}
```abap
CONSTANTS:
C_FB05 LIKE BKPF-TCODE VALUE 'FB05'. " 전표반제 T-Code
```
#### C_FB08 — constants · L257-L257 {#decl-zficom-257-c_fb08}
```abap
CONSTANTS:
C_FB08 LIKE BKPF-TCODE VALUE 'FB08'. " 전표역분개-Code
```
#### ALPHA_INPUT — macro · L267-L273 {#decl-zficom-267-alpha_input}
```abap
DEFINE ALPHA_INPUT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = &1
IMPORTING
OUTPUT = &2.
END-OF-DEFINITION.
```
#### ALPHA_OUTPUT — macro · L282-L288 {#decl-zficom-282-alpha_output}
```abap
DEFINE ALPHA_OUTPUT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = &1
IMPORTING
OUTPUT = &2.
END-OF-DEFINITION.
```
#### SET_RANGES — macro · L294-L301 {#decl-zficom-294-set_ranges}
```abap
DEFINE SET_RANGES.
CLEAR &1.
&1-SIGN = &2.
&1-OPTION = &3.
&1-LOW = &4.
&1-HIGH = &5.
COLLECT &1.
END-OF-DEFINITION.
```
#### LAST_DAY — macro · L310-L316 {#decl-zficom-310-last_day}
```abap
DEFINE LAST_DAY.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = &1
IMPORTING
LAST_DAY_OF_MONTH = &2.
END-OF-DEFINITION.
```
#### CHANGE_UNIT — macro · L322-L327 {#decl-zficom-322-change_unit}
```abap
DEFINE CHANGE_UNIT.
WRITE &1 TO &2 CURRENCY &3.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
VALUE = &2.
END-OF-DEFINITION.
```
#### CHANGE_CURRENCY — macro · L333-L340 {#decl-zficom-333-change_currency}
```abap
DEFINE CHANGE_CURRENCY.
CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
EXPORTING
CURRENCY = &3
SAP_AMOUNT = &1
IMPORTING
IDOC_AMOUNT = &2.
END-OF-DEFINITION.
```
#### CHANGE_CURRENCY_SAP — macro · L346-L353 {#decl-zficom-346-change_currency_sap}
```abap
DEFINE CHANGE_CURRENCY_SAP.
CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
EXPORTING
CURRENCY = &3
IDOC_AMOUNT = &1
IMPORTING
SAP_AMOUNT = &2.
END-OF-DEFINITION.
```
#### WRITE_STCD2 — macro · L359-L361 {#decl-zficom-359-write_stcd2}
```abap
DEFINE WRITE_STCD2.
WRITE &1 TO &2 USING EDIT MASK '___-__-_____'.
END-OF-DEFINITION.
```
#### WRITE_STCD1 — macro · L367-L369 {#decl-zficom-367-write_stcd1}
```abap
DEFINE WRITE_STCD1.
WRITE &1 TO &2 USING EDIT MASK '______-_______'.
END-OF-DEFINITION.
```
#### L_LANG — data · unit 로컬 · L441-L441 {#decl-zficom-441-l_lang}
```abap
DATA : L_LANG LIKE SY-LANGU.
```
#### LV_PROG — data · unit 로컬 · L678-L678 {#decl-zficom-678-lv_prog}
```abap
DATA : LV_PROG LIKE D020S-PROG.
```
#### LV_DNUM — data · unit 로컬 · L679-L679 {#decl-zficom-679-lv_dnum}
```abap
DATA:
LV_DNUM LIKE D020S-DNUM.
```
#### LV_LEN — data · unit 로컬 · L858-L858 {#decl-zficom-858-lv_len}
```abap
DATA : LV_LEN TYPE I.
```
#### LV_POS — data · unit 로컬 · L859-L859 {#decl-zficom-859-lv_pos}
```abap
DATA:
LV_POS TYPE I.
```
#### LV_TYPE — data · unit 로컬 · L860-L860 {#decl-zficom-860-lv_type}
```abap
DATA:
LV_TYPE(3) TYPE C.
```
#### LV_FILENAME — data · unit 로컬 · L861-L861 {#decl-zficom-861-lv_filename}
```abap
DATA:
LV_FILENAME TYPE STRING.
```
#### LV_RAW_DATA — data · unit 로컬 · L862-L862 {#decl-zficom-862-lv_raw_data}
```abap
DATA:
LV_RAW_DATA TYPE TRUXS_T_TEXT_DATA.
```
#### GT_XLS — data · unit 로컬 · L919-L919 {#decl-zficom-919-gt_xls}
```abap
DATA: GT_XLS TYPE STANDARD TABLE OF KCDE_INTERN_STRUC WITH HEADER LINE.
```
#### <FS> — field-symbol · unit 로컬 · L920-L920 {#decl-zficom-920--fs-}
```abap
FIELD-SYMBOLS <FS> TYPE ANY.
```
#### CHANGE_UNIT — macro · L1045-L1050 {#decl-zficom-1045-change_unit}
```abap
DEFINE CHANGE_UNIT.
WRITE &1 TO &2 CURRENCY &3.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
VALUE = &2.
END-OF-DEFINITION.
```
#### CHANGE_CURRENCY — macro · L1056-L1063 {#decl-zficom-1056-change_currency}
```abap
DEFINE CHANGE_CURRENCY.
CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
EXPORTING
CURRENCY = &3
SAP_AMOUNT = &1
IMPORTING
IDOC_AMOUNT = &2.
END-OF-DEFINITION.
```
#### CHANGE_CURRENCY_SAP — macro · L1069-L1076 {#decl-zficom-1069-change_currency_sap}
```abap
DEFINE CHANGE_CURRENCY_SAP.
CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
EXPORTING
CURRENCY = &3
IDOC_AMOUNT = &1
IMPORTING
SAP_AMOUNT = &2.
END-OF-DEFINITION.
```
#### LV_TEXT — data · unit 로컬 · L1347-L1347 {#decl-zficom-1347-lv_text}
```abap
DATA : LV_TEXT(100).
```
#### LV_PCEN — data · unit 로컬 · L1348-L1348 {#decl-zficom-1348-lv_pcen}
```abap
DATA:
LV_PCEN(3).
```
### `ZFIR0061CLS` (2건)
#### LCL_EVENT_RECEIVER_GRID — class · L7-L17 {#decl-zfir0061cls-7-lcl_event_receiver_grid}
```abap
CLASS LCL_EVENT_RECEIVER_GRID DEFINITION.
PUBLIC SECTION.
METHODS :
HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO.
ENDCLASS. "LCL_EVENT_RECEIVER_GRID DEFINITION
```
#### GV_EVENT — data · L29-L29 {#decl-zfir0061cls-29-gv_event}
```abap
DATA : GV_EVENT TYPE REF TO LCL_EVENT_RECEIVER_GRID.
```
### `ZFIR0061TOP` (30건)
#### TKA02 — tables · L8-L8 {#decl-zfir0061top-8-tka02}
```abap
TABLES: ZFIT0040, ZFIT0110, TKA02.
```
#### ZFIT0040 — tables · L8-L8 {#decl-zfir0061top-8-zfit0040}
```abap
TABLES: ZFIT0040, ZFIT0110, TKA02.
```
#### ZFIT0110 — tables · L8-L8 {#decl-zfir0061top-8-zfit0110}
```abap
TABLES: ZFIT0040, ZFIT0110, TKA02.
```
#### GT_DATA — data · L14-L25 {#decl-zfir0061top-14-gt_data}
```abap
DATA: BEGIN OF GT_DATA OCCURS 0.
INCLUDE STRUCTURE ZFIT0110.
DATA: CICON LIKE ICON-ID, "상태아이콘
GUBUN_T LIKE DD07T-DDTEXT, "발생/취소
GSBER_T LIKE TGSBT-GTEXT, "사업영역명
PRCTR_T LIKE CEPCT-LTEXT, "손익센터명
AUFNR_T LIKE AUFK-KTEXT , "오더명
KOSTL_T LIKE CSKT-LTEXT, "코스트센터명
BUPLA_T LIKE J_1BBRANCH-NAME, "사업장명
KUNNR_T LIKE KNA1-NAME1, "고객명
KUNNR2_T LIKE KNA1-NAME1, "지점고객명
END OF GT_DATA.
```
#### GT_Z0110 — data · L27-L27 {#decl-zfir0061top-27-gt_z0110}
```abap
DATA: GT_Z0110 LIKE ZFIT0110 OCCURS 0 WITH HEADER LINE.
```
#### GT_Z0110_S — data · L28-L28 {#decl-zfir0061top-28-gt_z0110_s}
```abap
DATA:
GT_Z0110_S LIKE ZFIT0110 OCCURS 0 WITH HEADER LINE.
```
#### GT_RESULT — data · L29-L29 {#decl-zfir0061top-29-gt_result}
```abap
DATA:
GT_RESULT LIKE ZFIS0101 OCCURS 0 WITH HEADER LINE.
```
#### GT_TGSBT — data · L32-L35 {#decl-zfir0061top-32-gt_tgsbt}
```abap
DATA: BEGIN OF GT_TGSBT OCCURS 0,
GSBER LIKE TGSBT-GSBER,
GTEXT LIKE TGSBT-GTEXT,
END OF GT_TGSBT.
```
#### GT_CEPCT — data · L37-L40 {#decl-zfir0061top-37-gt_cepct}
```abap
DATA: BEGIN OF GT_CEPCT OCCURS 0,
PRCTR LIKE CEPCT-PRCTR,
KTEXT LIKE CEPCT-KTEXT,
END OF GT_CEPCT.
```
#### GT_AUFK — data · L42-L45 {#decl-zfir0061top-42-gt_aufk}
```abap
DATA: BEGIN OF GT_AUFK OCCURS 0,
AUFNR LIKE AUFK-AUFNR,
KTEXT LIKE AUFK-KTEXT,
END OF GT_AUFK.
```
#### GT_CSKT — data · L47-L50 {#decl-zfir0061top-47-gt_cskt}
```abap
DATA: BEGIN OF GT_CSKT OCCURS 0,
KOSTL LIKE CSKT-KOSTL,
LTEXT LIKE CSKT-LTEXT,
END OF GT_CSKT.
```
#### GT_BRANCH — data · L52-L55 {#decl-zfir0061top-52-gt_branch}
```abap
DATA: BEGIN OF GT_BRANCH OCCURS 0,
BRANCH LIKE J_1BBRANCH-BRANCH,
NAME LIKE J_1BBRANCH-NAME,
END OF GT_BRANCH.
```
#### GT_KNA1 — data · L57-L60 {#decl-zfir0061top-57-gt_kna1}
```abap
DATA: BEGIN OF GT_KNA1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF GT_KNA1.
```
#### GT_DOMAIN — data · L62-L66 {#decl-zfir0061top-62-gt_domain}
```abap
DATA: BEGIN OF GT_DOMAIN OCCURS 0,
DOMNAME LIKE DD07T-DOMNAME,
DOMVALUE_L LIKE DD07T-DOMVALUE_L,
DDTEXT LIKE DD07T-DDTEXT,
END OF GT_DOMAIN.
```
#### R_STATS — ranges · L68-L68 {#decl-zfir0061top-68-r_stats}
```abap
RANGES: R_STATS FOR ZFIT0110-STATS.
```
#### GV_XNEGP — data · L70-L70 {#decl-zfir0061top-70-gv_xnegp}
```abap
DATA: GV_XNEGP LIKE BSEG-XNEGP.
```
#### GS_STABLE — data · L73-L73 {#decl-zfir0061top-73-gs_stable}
```abap
DATA : GS_STABLE TYPE LVC_S_STBL.
```
#### GV_ALV_GRID — data · L74-L74 {#decl-zfir0061top-74-gv_alv_grid}
```abap
DATA:
GV_ALV_GRID TYPE REF TO CL_GUI_ALV_GRID.
```
#### GV_LAYO — data · L75-L75 {#decl-zfir0061top-75-gv_layo}
```abap
DATA:
GV_LAYO TYPE LVC_S_LAYO.
```
#### GV_VARI — data · L76-L76 {#decl-zfir0061top-76-gv_vari}
```abap
DATA:
GV_VARI TYPE DISVARIANT.
```
#### C_BLART — constants · L81-L81 {#decl-zfir0061top-81-c_blart}
```abap
CONSTANTS: C_BLART LIKE BKPF-BLART VALUE '18'. "카드채권 반제
```
#### P_BUKRS — parameter · L88-L88 {#decl-zfir0061top-88-p_bukrs}
```abap
PARAMETERS: P_BUKRS LIKE T001-BUKRS MEMORY ID BUK OBLIGATORY.
```
#### S_TRDAT — select-option · L89-L89 {#decl-zfir0061top-89-s_trdat}
```abap
SELECT-OPTIONS: S_TRDAT FOR ZFIT0110-TRDAT OBLIGATORY.
```
#### S_PRCTR — select-option · L90-L90 {#decl-zfir0061top-90-s_prctr}
```abap
SELECT-OPTIONS:
S_PRCTR FOR ZFIT0110-PRCTR OBLIGATORY.
```
#### S_PYDAT — select-option · L91-L91 {#decl-zfir0061top-91-s_pydat}
```abap
SELECT-OPTIONS:
S_PYDAT FOR ZFIT0110-PYDAT.
```
#### S_ARDAT — select-option · L92-L92 {#decl-zfir0061top-92-s_ardat}
```abap
SELECT-OPTIONS:
S_ARDAT FOR ZFIT0110-ARDAT.
```
#### S_KUNNR — select-option · L93-L93 {#decl-zfir0061top-93-s_kunnr}
```abap
SELECT-OPTIONS:
S_KUNNR FOR ZFIT0110-KUNNR.
```
#### P_RA — parameter · L99-L99 {#decl-zfir0061top-99-p_ra}
```abap
PARAMETERS: P_RA RADIOBUTTON GROUP G1 . "전체
```
#### P_RS — parameter · L101-L101 {#decl-zfir0061top-101-p_rs}
```abap
PARAMETERS: P_RS RADIOBUTTON GROUP G1. "완료
```
#### P_RE — parameter · L103-L103 {#decl-zfir0061top-103-p_re}
```abap
PARAMETERS: P_RE RADIOBUTTON GROUP G1. "오류
```
### `ZFIR0061F01` (4건)
#### LV_CNT — data · unit 로컬 · L468-L468 {#decl-zfir0061f01-468-lv_cnt}
```abap
DATA: LV_CNT(3) TYPE N.
```
#### LT_CMLOG — data · unit 로컬 · L746-L746 {#decl-zfir0061f01-746-lt_cmlog}
```abap
DATA: LT_CMLOG LIKE ZIFS0010 OCCURS 0 WITH HEADER LINE.
```
#### LS_CMLOG — data · unit 로컬 · L747-L747 {#decl-zfir0061f01-747-ls_cmlog}
```abap
DATA: LS_CMLOG LIKE ZIFS0010.
```
#### LV_MESSG — data · unit 로컬 · L748-L748 {#decl-zfir0061f01-748-lv_messg}
```abap
DATA:
LV_MESSG TYPE CHAR100.
```
## Unit 목록 (컨테이너)
| unit | 유형 | 위치 | 조각 | 한 줄 요약 |
|---|---|---|---|---|
| LCL_EVENT_RECEIVER~HANDLE_CLOSE | METHOD | ZFIALV L27-31 | 0 | |
| ALV_SETTING | FORM | ZFIALV L126-129 | 0 | |
| VARIANT_DEFAULT | FORM | ZFIALV L137-168 | 0 | |
| VARIANT_HELP | FORM | ZFIALV L176-199 | 0 | |
| VARIANT_FILL | FORM | ZFIALV L207-233 | 0 | |
| FIELDCATALOG_CALL | FORM | ZFIALV L241-256 | 0 | |
| EVENT_BUILD | FORM | ZFIALV L269-282 | 0 | |
| ALV_LAYOUT_BUILD | FORM | ZFIALV L291-308 | 0 | |
| ALV_DISPLAY | FORM | ZFIALV L317-354 | 0 | |
| COLOR_SETTING | FORM | ZFIALV L360-367 | 0 | |
| FIELD_SORTING | FORM | ZFIALV L380-393 | 0 | |
| COLINFO_SETTING | FORM | ZFIALV L403-410 | 0 | |
| ALV_HIERSEQ_DISPLAY | FORM | ZFIALV L419-460 | 0 | |
| BUILD_LAYOUT | FORM | ZFIALV L475-492 | 0 | |
| ALV_EVENTS_GET | FORM | ZFIALV L501-532 | 0 | |
| USE_FORM | FORM | ZFIALV L538-550 | 0 | |
| ALV_CELL_CONTROL | FORM | ZFIALV L560-570 | 0 | |
| CREATE_DIALOG | FORM | ZFIALV L582-603 | 0 | |
| ALV_CELL_COLOR | FORM | ZFIALV L612-620 | 0 | |
| EVENT_BUILD_LVC | FORM | ZFIALV L633-704 | 0 | |
| ALV_DISPLAY_LVC | FORM | ZFIALV L713-752 | 0 | |
| SET_GRID_EXCLUDE | FORM | ZFIALV L761-782 | 0 | |
| DATA_WRITE | FORM | ZFIALV L795-806 | 0 | |
| FIELDCATALOG_MERGE_STRUCTURE | FORM | ZFIALV L812-845 | 0 | |
| LOG_ALV_DISPLAY | FORM | ZFIALV L851-874 | 0 | |
| LOG_CREATE | FORM | ZFIALV L885-942 | 0 | |
| LOG_FIELDCATALOG | FORM | ZFIALV L952-962 | 0 | |
| NAME_SELECT | FORM | ZFICOM L378-387 | 1 | 사용자 ID 로 V_USERNAME 뷰에서 사용자 이름을 조회하는 공통 FORM 이다. |
| SELECT_CSKT | FORM | ZFICOM L397-408 | 1 | 관리회계영역·코스트센터로 CSKT 에서 유효한 코스트센터명을 조회하는 공통 FORM 이다. |
| SELECT_J_1BBRANCH | FORM | ZFICOM L419-428 | 1 | 회사코드·사업장(Business Place)으로 J_1BBRANCH 사업장명을 조회하는 공통 FORM 이다. |
| SELECT_SKAT | FORM | ZFICOM L438-464 | 1 | G/L 계정번호로 SKAT 계정과목 텍스트(장문 50/단문 20)를 언어별로 조회하는 공통 FORM 이다. |
| CHECK_CONFIRM_STEP | FORM | ZFICOM L476-491 | 1 | 제목·메시지 1줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다. |
| CHECK_CONFIRM_STEP_2 | FORM | ZFICOM L503-520 | 1 | 제목·메시지 2줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다. |
| AUTHORITY_BUKRS | FORM | ZFICOM L528-536 | 1 | 회사코드에 대한 SAP 표준 권한(F_BKPF_BUK)을 검사하고 권한이 없으면 처리를 중단한다. |
| AUTHORITY_PG | FORM | ZFICOM L545-563 | 1 | 사용자 ID 로 커스텀 권한테이블 ZFIT0160 을 조회해 프로그램(T-Code)별 실행 권한을 검증하는 공통 FORM 이다. |
| GET_DOMAIN_VALUE | FORM | ZFICOM L574-593 | 1 | DOMAIN_VALUE_GET 으로 도메인 고정값의 텍스트를 조회하는 공통 헬퍼다. |
| CALC_DATE_IN_INTERVAL | FORM | ZFICOM L606-623 | 1 | 기준일에 일·월·년을 가감한 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산하는 공통 헬퍼다. |
| CALC_BETWEEN_DATES | FORM | ZFICOM L635-651 | 1 | 두 날짜 사이의 일·월·년 차이를 HRVE_GET_TIME_BETWEEN_DATES 로 계산하는 공통 헬퍼다. |
| NUMERIC_CHECK | FORM | ZFICOM L659-665 | 0 | |
| DYNP_VALUES_READ | FORM | ZFICOM L674-703 | 1 | DYNP_VALUES_READ 로 현재 화면 필드의 입력값을 PAI 전에 읽어오는 공통 헬퍼다. |
| FIELD_SETTING | FORM | ZFICOM L713-720 | 0 | |
| HELP_DISPLAY | FORM | ZFICOM L729-749 | 0 | |
| SELECT_T007S | FORM | ZFICOM L758-770 | 1 | 세금코드(MWSKZ)의 부가세 텍스트를 T007S 에서 조회하는 공통 FORM 이다. |
| GET_NEXT_NUMBER | FORM | ZFICOM L781-819 | 1 | 번호범위 오브젝트에서 다음 일련번호를 받아온다 (CBO 테이블의 키 생성용). |
| CREATE_ICON | FORM | ZFICOM L829-844 | 0 | |
| DATA_UPLOAD | FORM | ZFICOM L853-908 | 3 | 파일 확장자(TXT/XLS)에 따라 GUI_UPLOAD 또는 TEXT_CONVERT_XLS_TO_SAP 으로 로컬 파일을 내부테이블로 업로드하는 공통 FORM 이다. |
| DATA_UPLOAD_2 | FORM | ZFICOM L917-950 | 2 | 엑셀 파일을 KCD_EXCEL_OLE_TO_INT_CONVERT 로 셀 단위로 읽어 행별로 T_LOAD 내부테이블 구조에 매핑하는 공통 업로드 FORM 이다. |
| CONVERT_TO_FOREIGN_CURRENCY | FORM | ZFICOM L962-999 | 1 | 현지통화 금액을 환율·기준일로 외화 금액으로 환산하는 공통 FORM 이다. |
| CONVERT_TO_LOCAL_CURRENCY | FORM | ZFICOM L1011-1039 | 1 | 외화 금액을 환율·기준일로 회사코드 현지통화(T001-WAERS) 금액으로 환산하는 공통 FORM 이다. |
| SELECT_USR01 | FORM | ZFICOM L1084-1088 | 1 | 사용자명으로 USR01(사용자 마스터 기본값)을 단건 조회하는 공통 FORM 이다. |
| SMARTFORM_CONTROL | FORM | ZFICOM L1101-1138 | 1 | Smartform 이름으로 생성 FM 이름을 구하고 미리보기·다이얼로그·프린터 등 출력 옵션(GS_DEVICE/GS_OPTIONS)을 설정한다. |
| SMARTFORM_OPEN | FORM | ZFICOM L1144-1156 | 1 | Smartform 출력 작업을 SSF_OPEN 으로 시작하는 공통 FORM 이다. |
| SMARTFORM_CLOSE | FORM | ZFICOM L1162-1175 | 1 | Smartform 출력 작업을 SSF_CLOSE 로 종료하고 JOB_OUTPUT_INFO 를 받아오는 공통 FORM 이다. |
| F4IF_INT_TABLE_VALUE_REQUEST | FORM | ZFICOM L1186-1214 | 0 | |
| EXIT INPUT | MODULE | ZFICOM L1220-1230 | 0 | |
| DYNPRO | FORM | ZFICOM L1240-1251 | 1 | BDC 화면 시작 또는 필드값 한 줄을 GT_BDC(BDCDATA) 에 추가하는 공통 BDC 빌더 헬퍼다. |
| BDC_TRANSACTION | FORM | ZFICOM L1259-1266 | 1 | GT_BDC 데이터로 지정 T-Code 를 CALL TRANSACTION 하고 결과 메시지를 GT_MESS 에 받는 공통 BDC 실행 FORM 이다. |
| MESSAGE_SELECT | FORM | ZFICOM L1274-1285 | 1 | BDC 메시지(GT_MESS)의 ID·번호·변수를 MESSAGE_TEXT_BUILD 로 메시지 텍스트로 조립하는 공통 헬퍼다. |
| BDC_FK03 | FORM | ZFICOM L1294-1318 | 1 | 구매처코드와 회사코드로 FK03 구매처 마스터 조회 화면을 BDC 로 호출한다. |
| CALL_TRANSACTION_FB03 | FORM | ZFICOM L1328-1336 | 1 | 회사코드·전표번호·회계연도를 파라미터 ID 로 넘겨 FB03 회계전표 조회 화면을 호출한다. |
| STATUS_BAR | FORM | ZFICOM L1345-1366 | 1 | 처리 진행률을 계산해 SAPGUI 상태바에 진행 상황 텍스트를 표시하는 공통 유틸리티다. |
| INITIALIZATION | EVENT | ZFIR0061 L32-51 | 0 | ALV 초기 설정과 도메인 텍스트를 준비하고 거래일자 선택조건 기본값을 오늘로 세팅하는 INITIALIZATION 이벤트 블록이다. |
| START-OF-SELECTION | EVENT | ZFIR0061 L52-60 | 0 | 회사코드 권한 체크(AUTHORITY_BUKRS) 후 GET_DATA 로 이력을 조회하는 START-OF-SELECTION 이벤트 블록이다. |
| END-OF-SELECTION | EVENT | ZFIR0061 L61-67 | 0 | 조회 결과가 없으면 메시지 후 종료하고 있으면 ALV 화면 0100 을 호출하는 END-OF-SELECTION 이벤트 블록이다. |
| LCL_EVENT_RECEIVER_GRID~HANDLE_HOTSPOT_CLICK | METHOD | ZFIR0061CLS L23-25 | 0 | ALV 그리드 핫스팟 클릭 이벤트를 받아 HOTSPOT_CLICK 서브루틴으로 위임하는 이벤트 핸들러다. |
| GET_DOMAIN | FORM | ZFIR0061F01 L9-22 | 1 | DD07T 에서 발생/취소 구분 도메인 ZDGUBUN 의 고정값 텍스트를 GT_DOMAIN 에 읽는 FORM 이다. |
| GET_DATA | FORM | ZFIR0061F01 L28-36 | 0 | GET_ZFIT0110 으로 카드채권 반제 I/F 이력을 추출하고 DISPLAY_DATA 로 표시 데이터를 만드는 디스패치 FORM 이다. |
| GET_ZFIT0110 | FORM | ZFIR0061F01 L42-128 | 2 | 카드채권 반제 인터페이스 이력을 처리상태·일자 조건으로 읽고 조직단위·고객 텍스트를 붙인다. |
| DISPLAY_DATA | FORM | ZFIR0061F01 L134-196 | 1 | ZFIT0110 이력 각 건에 상태 아이콘과 발생취소·코스트센터·손익센터·오더·사업장·고객 텍스트를 붙여 ALV 표시용 GT_DATA 를 만들고 거래일자·순번으로 정렬하는 FORM 이다. |
| CREATE_AND_INIT_CONTROLS | FORM | ZFIR0061F01 L202-234 | 0 | 컨테이너 C_0100 과 ALV 그리드를 생성하고 핫스팟 이벤트 핸들러를 등록한 뒤 레이아웃·툴바제외·표시 FORM 을 호출하는 플러밍 FORM 이다. |
| SET_GRID_LAYOUT | FORM | ZFIR0061F01 L240-250 | 0 | ALV 레이아웃(열너비 최적화·선택모드·줄무늬)을 설정하는 플러밍 FORM 이다. |
| ALV_GRID_DISPLAY | FORM | ZFIR0061F01 L256-271 | 1 | 필드카탈로그를 만들고 GT_DATA(업로드된 계정과목 목록)를 CL_GUI_ALV_GRID 로 화면 0100 에 출력한다. |
| SET_FIELD_CATALOGS | FORM | ZFIR0061F01 L277-423 | 0 | GT_DATA 구조의 필드카탈로그를 FIELDCATALOG_CALL 로 생성한 뒤 컬럼 텍스트·정렬·핫스팟(고객·전표번호)·통화참조·컬럼 위치를 지정하는 ALV 필드카탈로그 설정 FORM 이다. |
| HOTSPOT_CLICK | FORM | ZFIR0061F01 L432-460 | 1 | ALV 핫스팟 클릭 시 고객/지점고객 코드는 FD03 고객 조회로, 전표번호는 FB03 전표 조회로 이동하는 FORM이다. |
| POSTING_DOCUMET | FORM | ZFIR0061F01 L466-537 | 3 | ALV 에서 선택한 미전기 카드채권 반제 건을 검증·확인 팝업 후 전표 헤더·아이템을 만들어 FB01 BDC 로 재전기하고 결과를 송신한 뒤 재조회하는 FORM 이다. |
| MAKE_BKPF | FORM | ZFIR0061F01 L543-556 | 1 | 카드채권 반제 전표 헤더(FB01, 증빙일·전기일=입금일, 전표유형 C_BLART, 회사코드, 통화, 헤더텍스트)를 GT_BBKPF 에 생성하는 FORM 이다. |
| MAKE_BSEG | FORM | ZFIR0061F01 L564-665 | 2 | 카드채권 반제 전표의 라인아이템(예수금 입금액, 카드사 채권 반제, 카드수수료, 무이자수수료, 잡손실, 잡이익)을 마이너스 전기 지시자에 따라 전기키를 바꿔 GT_BBSEG 에 생성하는 FORM 이다. |
| BDC_TRANSACTION_FB01 | FORM | ZFIR0061F01 L671-738 | 3 | Z_FI_DOCUMENT_POSTING 으로 FB01 BDC 전기를 수행하고 성공 시 전표번호·연도, 실패 시 오류 메시지를 GT_Z0110_S 와 재전송용 GT_RESULT 에 기록하는 FORM 이다. |
| SEND_CLEARING_INFO | FORM | ZFIR0061F01 L744-798 | 3 | 재전기 결과를 인터페이스 로그 키와 함께 ZFIT0110 에 저장하고 RFC Z_FI_SAVE_CLEARING_RETURN 으로 카드채권 반제 처리결과를 원천 시스템에 송신하는 FORM 이다. |
| USER_COMMAND_0100 INPUT | MODULE | ZFIR0061I01 L9-17 | 0 | 화면 0100 에서 EXEC(전표 재생성) 명령 시 POSTING_DOCUMET 을 호출하는 PAI 모듈이다. |
| STATUS_0100 OUTPUT | MODULE | ZFIR0061O01 L10-15 | 0 | |
| CREATE_INSTANCE_CONTROLS OUTPUT | MODULE | ZFIR0061O01 L21-35 | 0 | |