Files
ABAP-Indexing/wiki/programs/ZFIR0040.md
T

157 KiB

type, title, description, resource, tags, generated, status, x-package, x-changed-on, x-tables-read, x-tables-write, x-calls, x-code-hash, x-unit-count, x-chunk-count, x-declaration-count
type title description resource tags generated status x-package x-changed-on x-tables-read x-tables-write x-calls x-code-hash x-unit-count x-chunk-count x-declaration-count
abap-program ZFIR0040 — 비용 전표 Interface 이력 조회 외부 시스템에서 넘어온 비용 전표 연계 내역(CBO 테이블 ZFIT0090)을 전표일자·공급업체 조건으로 조회하는 리포트다. 편집 가능한 ALV 그리드로 내역을 보여주고 전표번호 클릭 시 FB03 으로 연결하며, POSTING_INTERFACE 계열로 전표 처리까지 이어갈 수 있다. ZFIR0020(매입채무)과 같은 프레임워크를 복사해 만든 자매 프로그램이다. abap://ZFIR0040
인터페이스
경비처리
전표
리포트
FI
비용전표
경비
인터페이스내역
증빙일자
거래일자
공급업체
취소플래그
도메인텍스트
공급업체명
계정명
계정과목표
처리결과
신호등
기능코드
화면 종료
by at
abap-indexing/z-ai/glm-5.2:free 2026-09-20T15:36:20+00:00
stable
AENR
DD07T
LFA1
SKAT
T001
ZFIT0090
ALSM_EXCEL_TO_INTERNAL_TABLE
BAPI_CURRENCY_CONV_TO_INTERNAL
CC01
CLOI_PUT_SIGN_IN_FRONT
CONVERSION_EXIT_ALPHA_INPUT
CONVERSION_EXIT_ALPHA_OUTPUT
CONVERT_OTF
CONVERT_TO_LOCAL_CURRENCY
DATE_CHECK_PLAUSIBILITY
DYNP_VALUES_READ
DYNP_VALUES_UPDATE
F4IF_INT_TABLE_VALUE_REQUEST
F4_DATE
FB03
FI_PERIOD_DETERMINE
GUI_DOWNLOAD
K_HIERARCHY_TABLES_READ
LVC_FIELDCATALOG_MERGE
LVC_FIELDCAT_COMPLETE
LVC_TRANSFER_FROM_SLIS
MD_CONVERT_MATERIAL_UNIT
MESSAGE_TEXT_BUILD
NUMBER_GET_NEXT
POPUP_TO_CONFIRM
POPUP_TO_CONFIRM_STEP
POPUP_TO_SELECT_MONTH
POSTING_INTERFACE_END
POSTING_INTERFACE_START
REUSE_ALV_FIELDCATALOG_MERGE
REUSE_ALV_GRID_COMMENTARY_SET
RP_LAST_DAY_OF_MONTHS
SAPGUI_PROGRESS_INDICATOR
SCPR_SV_SHOW_MESSAGE_LIST
STRING_REPLACE
SX_OBJECT_CONVERT_OTF_PDF
4431e680210deb61118b80556b24324f9222ea3883881106223f9910b28d87e2 121 50 201

업무 목적

외부 시스템에서 넘어온 비용 전표 연계 내역(CBO 테이블 ZFIT0090)을 전표일자·공급업체 조건으로 조회하는 리포트다. 편집 가능한 ALV 그리드로 내역을 보여주고 전표번호 클릭 시 FB03 으로 연결하며, POSTING_INTERFACE 계열로 전표 처리까지 이어갈 수 있다. ZFIR0020(매입채무)과 같은 프레임워크를 복사해 만든 자매 프로그램이다.

주 흐름

  1. 선택화면 기본값 세팅과 화면 속성 조정 (SET_DYNP → LOOP_AT_SCREEN)
  2. 내부 데이터 초기화 (INITIALIZE_DATA)
  3. 전표일자·공급업체 조건으로 비용전표 연계 내역을 조회·가공한다 (PROCESS_DATA → SELECT_DATA)
  4. 필드카탈로그를 구성해 편집 가능한 ALV 그리드로 화면 0100 에 출력한다
  5. 셀 변경·F4·더블클릭 이벤트를 처리한다
  6. 전표번호로 FB03 표준 조회를 호출한다 (CALL_FB03)

핵심 내부테이블

  • GT_DATA — 비용전표 연계 내역 (채움: SELECT_DATA / 소비: DISPLAY_ALV_LIST)

테이블 / 외부 호출

  • read: AENR, DD07T, LFA1, SKAT, T001, ZFIT0090
  • write: -
  • 외부 호출: ALSM_EXCEL_TO_INTERNAL_TABLE, BAPI_CURRENCY_CONV_TO_INTERNAL, CC01, CLOI_PUT_SIGN_IN_FRONT, CONVERSION_EXIT_ALPHA_INPUT, CONVERSION_EXIT_ALPHA_OUTPUT, CONVERT_OTF, CONVERT_TO_LOCAL_CURRENCY, DATE_CHECK_PLAUSIBILITY, DYNP_VALUES_READ, DYNP_VALUES_UPDATE, F4IF_INT_TABLE_VALUE_REQUEST, F4_DATE, FB03, FI_PERIOD_DETERMINE, GUI_DOWNLOAD, K_HIERARCHY_TABLES_READ, LVC_FIELDCATALOG_MERGE, LVC_FIELDCAT_COMPLETE, LVC_TRANSFER_FROM_SLIS, MD_CONVERT_MATERIAL_UNIT, MESSAGE_TEXT_BUILD, NUMBER_GET_NEXT, POPUP_TO_CONFIRM, POPUP_TO_CONFIRM_STEP, POPUP_TO_SELECT_MONTH, POSTING_INTERFACE_END, POSTING_INTERFACE_START, REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_GRID_COMMENTARY_SET

로직 조각 (50건 / unit 45개)

LLM 이 코드에서 골라낸 업무 로직 단위다. 조각마다 소스 원문과 자연어 설명을 함께 싣는다 — 설명이 코드와 맞는지 바로 대조할 수 있어야 하기 때문이다. 테이블·호출은 LLM 이 쓴 값이 아니라 파서가 조각 범위에서 다시 뽑은 사실이다. 순서는 실행 순서다.

FORM SET_DYNP — ZFIR0040F01 L24-L41 (18줄)

선택화면 초기화 시 회사코드 기본정보·회사명을 세팅하고 전표일자·전송일자 선택조건 기본값을 당일로 설정하는 FORM이다.

이 unit 의 조각 1개가 14/18줄(78%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[other] SET_COMPANY_BASE로 회사코드 기본정보와 회사명(P_BUTXT)을 채우고 전표일자(S_BLDAT)와 전송일자(S_TRDAT) 범위를 당일~당일로 기본 설정한다.

    26|   PERFORM SET_COMPANY_BASE USING P_BUKRS.
    27|   P_BUTXT = GV_BUKRS_TXT.
    28| 
    29|   S_BLDAT-LOW = SY-DATUM.
    30|   S_BLDAT-HIGH = SY-DATUM.
    31|   S_BLDAT-OPTION = 'BT'.
    32|   S_BLDAT-SIGN = 'I'.
    33|   APPEND S_BLDAT. CLEAR : S_BLDAT.
    34| 
    35|   S_TRDAT-LOW = SY-DATUM.
    36|   S_TRDAT-HIGH = SY-DATUM.
    37|   S_TRDAT-OPTION = 'BT'.
    38|   S_TRDAT-SIGN = 'I'.
    39|   APPEND S_TRDAT. CLEAR : S_TRDAT.
  • EN: Initializes company code base data and name, and defaults the document date and transfer date select-options to today.
  • 호출(파서): SET_COMPANY_BASE
  • SAP 객체: T001
  • 업무 키워드: 선택화면 기본값, 회사코드 정보, 전표일자, 전송일자
  • English: Selection Screen Default, Company Code, Document Date, Select-Option
  • 정의부(복사 시 함께 필요): P_BUKRS, GV_BUKRS_TXT, S_BLDAT, S_TRDAT
  • 선언을 못 찾은 이름: P_BUTXT (수집 안 된 인클루드·함수 인터페이스일 수 있다)
  • 위치: abap://ZFIR0040/ZFIR0040F01#L26-L39 · confidence 0.8 · ZFIR0040#ZFIR0040F01#FORM#SET_DYNP#C1

FORM SET_COMPANY_BASE — ZFI_COMMON L209-L226 (18줄)

회사코드로 T001을 읽어 통화·계정과목표·언어·회사명·국가 전역변수를 설정하는 공통 FORM이다.

이 unit 의 조각 1개가 13/18줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[sql_select] T001에서 회사코드(BUKRS)를 조회해 회사 통화(WAERS), 계정과목표(KTOPL), 언어, 회사명(BUTXT), 국가(LAND1)를 전역변수에 저장해 이후 검증·금액 변환의 기준으로 쓴다.

   213|   SELECT SINGLE *
   214|     FROM T001
   215|     INTO L_T001
   216|     WHERE BUKRS = P_BUKRS.
   217| 
   218|   IF SY-SUBRC EQ 0.
   219|     GV_WAERS = L_T001-WAERS.
   220|     GV_KTOPL = L_T001-KTOPL.
   221|     GV_SPRAS = L_T001-SPRAS.
   222|     GV_WAERS = L_T001-WAERS.
   223|     GV_BUKRS_TXT = L_T001-BUTXT.
   224|     GV_LAND1 = L_T001-LAND1.
   225|   ENDIF.
  • EN: Read company code master T001 and store company currency, chart of accounts, language, company name and country in global variables.
  • 테이블(파서): read T001 / write -
  • SAP 객체: T001
  • 업무 키워드: 회사코드 기본정보, 회사 통화, 계정과목표
  • English: Company Code, T001, Chart of Accounts, Local Currency
  • 정의부(복사 시 함께 필요): L_T001, P_BUKRS, GV_WAERS, GV_KTOPL, GV_SPRAS, GV_BUKRS_TXT, GV_LAND1
  • 위치: abap://ZFIR0040/ZFI_COMMON#L213-L225 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#SET_COMPANY_BASE#C1

FORM INITIALIZE_DATA — ZFIR0040F01 L47-L78 (32줄)

처리 전 회사코드 기본정보를 세팅하고 메인 ALV용 딕셔너리 필드카탈로그를 취득하며 오류로그·잠금·상태 플래그를 초기화하고 ZDBTYPE·ZDCANCELFLAG 도메인 텍스트를 읽어 두는 초기화 FORM이다.

이 unit 의 조각 1개가 23/32줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[other] SET_COMPANY_BASE로 회사코드 정보·회사명을 채우고 GET_FCAT_LIKE_ITAB로 메인 내부테이블 구조의 필드카탈로그를 얻은 뒤 오류로그·잠금·업로드/전기 상태 플래그를 초기화하고 GET_DOM_TEXT_LIST로 거래유형(ZDBTYPE)·취소구분(ZDCANCELFLAG) 도메인 텍스트를 적재한다.

    54|   LV_BUKRS = P_BUKRS.
    55|   PERFORM SET_COMPANY_BASE USING LV_BUKRS.
    56|   P_BUTXT = GV_BUKRS_TXT.
    57| 
    58|   CLEAR : GT_MAIN_FIELDCAT, GT_MAIN_FIELDCAT[].
    59|   " MAIN ALV용 딕셔너리 구조 취득.
    60|   PERFORM GET_FCAT_LIKE_ITAB
    61|      TABLES GT_MAIN_FIELDCAT
    62|      USING GC_MAIN_ITAB_NAME.
    63| 
    64|   CLEAR : GT_ERROR_LOG_POPUP, GT_ERROR_LOG_POPUP[].
    65| 
    66| *  PERFORM SET_DSMOD USING P_DSMOD.
    67| 
    68|   CLEAR : GV_LOCK, GT_EXCP_INIT_FIELD, GT_EXCP_INIT_FIELD[].
    69|   " 프로그램 LOCK 정의
    70| 
    71|   CLEAR : GV_UPLOAD_ERROR.
    72|   CLEAR : GV_ALREADY_POST.
    73|   CLEAR : GV_POST_ERROR.
    74| 
    75|   PERFORM GET_DOM_TEXT_LIST USING 'ZDBTYPE'.
    76|   PERFORM GET_DOM_TEXT_LIST USING 'ZDCANCELFLAG'.
  • EN: Initializes company code data, derives the main ALV field catalog from the internal table structure, resets error log, lock and status flags, and loads domain texts for ZDBTYPE and ZDCANCELFLAG.
  • 호출(파서): SET_COMPANY_BASE, GET_FCAT_LIKE_ITAB, GET_DOM_TEXT_LIST, GET_DOM_TEXT_LIST
  • SAP 객체: ZDBTYPE, ZDCANCELFLAG
  • 업무 키워드: 초기화, 회사코드 정보, 필드카탈로그 취득, 도메인 텍스트, 상태 플래그
  • English: Initialization, Company Code, Field Catalog, Domain Text
  • 정의부(복사 시 함께 필요): LV_BUKRS, P_BUKRS, GV_BUKRS_TXT, GT_MAIN_FIELDCAT, GC_MAIN_ITAB_NAME, GT_ERROR_LOG_POPUP, GV_LOCK, GT_EXCP_INIT_FIELD, GV_UPLOAD_ERROR, GV_ALREADY_POST, GV_POST_ERROR
  • 선언을 못 찾은 이름: P_BUTXT (수집 안 된 인클루드·함수 인터페이스일 수 있다)
  • 위치: abap://ZFIR0040/ZFIR0040F01#L54-L76 · confidence 0.75 · ZFIR0040#ZFIR0040F01#FORM#INITIALIZE_DATA#C1

FORM GET_FCAT_LIKE_ITAB — ZFI_COMMON L159-L200 (42줄)

프로그램 내부테이블 이름으로 REUSE_ALV_FIELDCATALOG_MERGE→LVC 변환→LVC_FIELDCAT_COMPLETE를 거쳐 LVC 필드카탈로그를 생성하는 공통 FORM이다.

이 unit 의 조각 1개가 26/42줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 내부테이블 정의(SY-REPID 내 P_ITAB_NAME)로 REUSE_ALV_FIELDCATALOG_MERGE를 호출해 SLIS 필드카탈로그를 얻고 LVC_TRANSFER_FROM_SLIS로 LVC 형식으로 바꾼 뒤 LVC_FIELDCAT_COMPLETE로 보완해 반환한다.

   172|   CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   173|     EXPORTING
   174|       I_PROGRAM_NAME         = SY-REPID
   175|       I_INTERNAL_TABNAME     = P_ITAB_NAME
   176|       I_INCLNAME             = SY-REPID
   177|       I_STRUCTURE_NAME       = ''
   178|       I_BYPASSING_BUFFER     = 'X'
   179|     CHANGING
   180|       CT_FIELDCAT            = LT_FIELDCAT[]
   181|     EXCEPTIONS
   182|       INCONSISTENT_INTERFACE = 1
   183|       PROGRAM_ERROR          = 2.
   184| 
   185|   CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
   186|     EXPORTING
   187|       IT_FIELDCAT_ALV = LT_FIELDCAT
   188|     IMPORTING
   189|       ET_FIELDCAT_LVC = LT_ALV_CAT
   190|     TABLES
   191|       IT_DATA         = LT_TABLE[].
   192| 
   193|   CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
   194|     CHANGING
   195|       CT_FIELDCAT = LT_ALV_CAT.
   196| 
   197|   PT_REF_FCAT[] = LT_ALV_CAT[].
  • EN: Generate an LVC field catalog from the program internal table definition via REUSE_ALV_FIELDCATALOG_MERGE, LVC_TRANSFER_FROM_SLIS and LVC_FIELDCAT_COMPLETE.
  • 호출(파서): REUSE_ALV_FIELDCATALOG_MERGE, LVC_TRANSFER_FROM_SLIS, LVC_FIELDCAT_COMPLETE
  • SAP 객체: REUSE_ALV_FIELDCATALOG_MERGE, LVC_TRANSFER_FROM_SLIS, LVC_FIELDCAT_COMPLETE, LVC_S_FCAT
  • 업무 키워드: 필드카탈로그 생성, 내부테이블 구조, ALV 컬럼 정보
  • English: Field Catalog, ALV, LVC
  • 정의부(복사 시 함께 필요): LT_FIELDCAT, LT_ALV_CAT, LT_TABLE
  • 위치: abap://ZFIR0040/ZFI_COMMON#L172-L197 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#GET_FCAT_LIKE_ITAB#C1

FORM GET_DOM_TEXT_LIST — ZFI_COMMON L1244-L1255 (12줄)

도메인 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 누적하는 공통 FORM이다.

이 unit 의 조각 1개가 8/12줄(67%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[sql_select] DD07T에서 지정 도메인의 활성(AS4LOCAL='A') 고정값과 로그온 언어 텍스트를 조회해 GT_DOMAIN에 추가하고 정렬한다.

  1246|   SELECT DOMNAME DOMVALUE_L DDTEXT
  1247|     APPENDING TABLE GT_DOMAIN
  1248|     FROM DD07T
  1249|    WHERE DOMNAME    = P_DOMNA
  1250|      AND DDLANGUAGE = SY-LANGU
  1251|      AND AS4LOCAL   = 'A'.
  1252| 
  1253|   SORT : GT_DOMAIN.
  • EN: Select active domain fixed values and their texts in the logon language from DD07T and append them to GT_DOMAIN.
  • 테이블(파서): read DD07T / write -
  • SAP 객체: DD07T, GT_DOMAIN
  • 업무 키워드: 도메인 고정값, 값 텍스트 조회
  • English: Domain Fixed Values, DD07T
  • 정의부(복사 시 함께 필요): GS_DOMAIN, GT_DOMAIN
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1246-L1253 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#GET_DOM_TEXT_LIST#C1

FORM SELECT_DATA — ZFIR0040F01 L95-L146 (52줄)

비용전표 연계 내역을 조건에 맞게 읽어 취소플래그 텍스트·공급업체명·계정명·처리상태 아이콘을 붙인다.

이 unit 의 조각 2개가 45/52줄(86%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[sql_select] 회사코드·증빙일자·거래일자·공급업체 조건으로 비용전표 인터페이스 테이블 ZFIT0090 을 읽고, 건이 없으면 종료한다.

    99|   SELECT * FROM ZFIT0090
   100|     INTO CORRESPONDING FIELDS OF TABLE LT_ZFI0090
   101|     WHERE BUKRS = P_BUKRS
   102|     AND BLDAT IN S_BLDAT
   103|     AND TRSDATE IN S_TRDAT
   104| *    AND GSBER IN S_GSBER
   105|     AND LIFNR IN S_LIFNR.
   106| 
   107|   CHECK LT_ZFI0090[] IS NOT INITIAL.
  • EN: Reads expense-document interface records from ZFIT0090 by company code, document date, transaction date and vendor.
  • 테이블(파서): read ZFIT0090 / write -
  • SAP 객체: ZFIT0090, BUKRS, BLDAT, TRSDATE, LIFNR
  • 업무 키워드: 비용전표, 경비, 인터페이스내역, 증빙일자, 거래일자, 공급업체
  • English: expense document, cost posting, interface record, document date, vendor
  • 정의부(복사 시 함께 필요): LT_ZFI0090, P_BUKRS, S_BLDAT, S_TRDAT, S_LIFNR
  • 위치: abap://ZFIR0040/ZFIR0040F01#L99-L107 · confidence 0.9 · ZFIR0040#ZFIR0040F01#FORM#SELECT_DATA#C1

[aggregation] 건별로 취소플래그 도메인 텍스트를 붙이고, 공급업체명(LFA1)과 계정명(SKAT, 계정과목표 기준)을 건마다 조회해 채우고, 처리결과 코드(S/E)로 녹색·적색 신호등을 세운다.

   109|   LOOP AT LT_ZFI0090.
   110|     MOVE-CORRESPONDING LT_ZFI0090 TO GT_DATA.
   111| 
   112| *    READ TABLE GT_DOMAIN INTO GS_DOMAIN WITH KEY DOMAIN = 'ZDBTYPE'
   113| *      VALUE = GT_DATA-BTYPE BINARY SEARCH.
   114| *
   115| *    IF SY-SUBRC EQ 0.
   116| *      GT_DATA-BTYPE_T = GS_DOMAIN-DDTEXT.
   117| *    ENDIF.
   118| 
   119|     READ TABLE GT_DOMAIN INTO GS_DOMAIN WITH KEY DOMAIN = 'ZDCANCELFLAG'
   120|       VALUE = GT_DATA-CANCELFLAG BINARY SEARCH.
   121| 
   122|     IF SY-SUBRC EQ 0.
   123|       GT_DATA-CANCELFLAG_T = GS_DOMAIN-DDTEXT.
   124|     ENDIF.
   125| 
   126|     SELECT SINGLE NAME1 FROM LFA1
   127|       INTO GT_DATA-LIFNR_T
   128|       WHERE LIFNR = GT_DATA-LIFNR.
   129| 
   130|     SELECT SINGLE TXT20 FROM SKAT
   131|       INTO GT_DATA-SAKNR_T
   132|       WHERE KTOPL = GV_KTOPL
   133|       AND SAKNR = GT_DATA-SAKNR
   134|       AND SPRAS = SY-LANGU.
   135| 
   136|     IF GT_DATA-RESULTCODE = 'S'.
   137|       GT_DATA-STATUS = GC_STATUS_GREEN.
   138|     ELSEIF GT_DATA-RESULTCODE = 'E'..
   139|       GT_DATA-STATUS = GC_STATUS_RED.
   140|     ENDIF.
   141| 
   142|     APPEND GT_DATA.
   143|     CLEAR : GT_DATA.
   144|   ENDLOOP.
  • EN: Per record: resolves the cancel-flag domain text, looks up vendor and G/L account names, and sets a green/red status icon from the result code.
  • 테이블(파서): read LFA1, SKAT / write -
  • SAP 객체: LFA1, SKAT, KTOPL, ZDCANCELFLAG
  • 업무 키워드: 취소플래그, 도메인텍스트, 공급업체명, 계정명, 계정과목표, 처리결과, 신호등
  • English: cancel flag, domain text, vendor name, G/L account text, chart of accounts, result code, status icon
  • 정의부(복사 시 함께 필요): LT_ZFI0090, GT_DATA, GS_DOMAIN, GT_DOMAIN, LFA1, GV_KTOPL, GC_STATUS_GREEN, GC_STATUS_RED
  • 위치: abap://ZFIR0040/ZFIR0040F01#L109-L144 · confidence 0.88 · ZFIR0040#ZFIR0040F01#FORM#SELECT_DATA#C2

FORM GET_SELECTED_ROW2 — ZFI_ALV L369-L397 (29줄)

ALV 그리드에서 선택된 행 인덱스를 GT_ROWS 로 가져오고 미선택/복수 선택 시 오류 메시지를 표시하는 유틸리티다.

이 unit 의 조각 1개가 16/29줄(55%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] GET_SELECTED_ROWS 로 선택 행을 GT_ROWS 에 받아 소계행을 제거하고, 선택이 없거나 단일 선택 모드에서 2건 이상이면 오류성 메시지를 띄운다.

   381|   CALL METHOD PV_GRID->GET_SELECTED_ROWS
   382|     IMPORTING
   383|       ET_INDEX_ROWS = GT_ROWS.
   384| 
   385|   DELETE GT_ROWS WHERE ROWTYPE IS NOT INITIAL.
   386| 
   387| *-- 선택된 LINE이 없고 에러출력 설정 시..
   388|   IF LINES( GT_ROWS ) EQ 0.
   389|     MESSAGE '선택된 라인이 없습니다.'
   390|       TYPE 'S' DISPLAY LIKE 'E'.
   391| 
   392|   ELSEIF LINES( GT_ROWS ) GT 1 AND LV_ONE_SEL EQ 'X'.
   393|     MESSAGE '하나의 라인만 선택하셔야 합니다.'
   394|       TYPE 'S' DISPLAY LIKE 'E'.
   395| 
   396|   ENDIF.
  • EN: Retrieve selected ALV rows via GET_SELECTED_ROWS, drop subtotal rows, and issue an error-style message when no row or more than one row (in single-select mode) is selected.
  • 호출(파서): PV_GRID->GET_SELECTED_ROWS
  • SAP 객체: CL_GUI_ALV_GRID, LVC_T_ROW
  • 업무 키워드: 선택 행 조회, 행 선택 검증, 단일 선택, ALV 그리드
  • English: Selected Rows, ALV Grid, Row Selection Validation
  • 정의부(복사 시 함께 필요): GT_ROWS, LV_ONE_SEL
  • 위치: abap://ZFIR0040/ZFI_ALV#L381-L396 · confidence 0.85 · ZFIR0040#ZFI_ALV#FORM#GET_SELECTED_ROW2#C1

FORM CHECK_SORT_PARAMETER — ZFI_ALV L472-L493 (22줄)

ALV 정렬 설정(LVC_T_SORT)의 필드가 필드카탈로그에 존재하는지 검사해 누락 필드명을 돌려주는 검증 루틴이다.

이 unit 의 조각 1개가 10/22줄(46%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] ALV 정렬 테이블의 각 필드명을 필드카탈로그(LVC_T_FCAT)에서 READ 해 없는 필드가 있으면 SUBRC 와 필드명을 반환하고 종료한다.

   483|   LOOP AT PT_SORT ASSIGNING <FS_SORT>.
   484|     READ TABLE PT_FIELDCAT ASSIGNING <FS_FCAT>
   485|       WITH KEY FIELDNAME = <FS_SORT>-FIELDNAME.
   486| 
   487|     IF SY-SUBRC NE 0.
   488|       P_SUBRC = SY-SUBRC.
   489|       P_FIELDNAME = <FS_SORT>-FIELDNAME.
   490|       EXIT.
   491|     ENDIF.
   492|   ENDLOOP.
  • EN: Verify that every sort field in LVC_T_SORT exists in the ALV field catalog and return the first missing field name.
  • SAP 객체: LVC_T_SORT, LVC_T_FCAT
  • 업무 키워드: ALV 정렬 검증, 필드카탈로그, 정렬 필드
  • English: ALV Sort, Field Catalog, LVC_T_SORT
  • 정의부(복사 시 함께 필요): <FS_SORT>, <FS_FCAT>
  • 위치: abap://ZFIR0040/ZFI_ALV#L483-L492 · confidence 0.85 · ZFIR0040#ZFI_ALV#FORM#CHECK_SORT_PARAMETER#C1

FORM GET_SETLEAF_VALUES — ZFI_COMMON L232-L295 (64줄)

세트 클래스(코스트센터/원가요소/오더/손익센터/계정과목 그룹)와 세트명으로 K_HIERARCHY_TABLES_READ 를 호출해 세트 값 목록(GT_VALUE_SET)을 읽는 공통 루틴이다.

이 unit 의 조각 1개가 45/64줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 세트 클래스(0101 코스트센터, 0102 원가요소, 0103 오더, 0106 손익센터, 0109 계정과목)에 따라 관리회계영역(GC_KOKRS) 또는 계정과목표(GV_KTOPL)를 붙여 SETID 를 만들고 K_HIERARCHY_TABLES_READ 로 세트 값 범위를 GT_VALUE_SET 에 읽으며, 세트를 못 찾으면 GS004 오류로 중단한다.

   250|   CASE PV_CLASS.
   251|     WHEN '0101'. " 코스트센터
   252|       CONCATENATE PV_CLASS GC_KOKRS P_SETNAME INTO L_SETID.
   253|     WHEN '0102'. " 원가요소
   254|       CONCATENATE PV_CLASS GV_KTOPL P_SETNAME INTO L_SETID.
   255|     WHEN '0103'. " 오더
   256|       CONCATENATE PV_CLASS GC_KOKRS P_SETNAME INTO L_SETID.
   257|     WHEN '0106'. " 손익센터
   258|       CONCATENATE PV_CLASS GC_KOKRS P_SETNAME INTO L_SETID.
   259|     WHEN '0109'. " 계정과목
   260|       CONCATENATE PV_CLASS GV_KTOPL P_SETNAME INTO L_SETID.
   261|   ENDCASE.
   262| 
   263|   CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
   264|     EXPORTING
   265|       E_CLASS                     = L_CLASS
   266|       E_SETID                     = L_SETID
   267|       E_KOKRS                     = GC_KOKRS
   268|       E_MANDT                     = SY-MANDT
   269|     TABLES
   270|       T_NODES                     = LT_NODE
   271|       T_VALUES                    = GT_VALUE_SET
   272|     CHANGING
   273|       C_INFO                      = LT_GRPHINFO
   274|       C_OVERWRITE                 = SY-DATAR
   275|     EXCEPTIONS
   276|       NO_CONTROLLING_AREA         = 1
   277|       NO_CHART_OF_ACCOUNT         = 2
   278|       DIFFERENT_CONTROLLING_AREAS = 3
   279|       DIFFERENT_CHART_OF_ACCOUNTS = 4
   280|       SET_NOT_FOUND               = 5
   281|       ILLEGAL_FIELD_REPLACEMENT   = 6
   282|       ILLEGAL_TABLE_REPLACEMENT   = 7
   283|       FM_RAISE                    = 8
   284|       CONVERT_ERROR               = 9
   285|       NO_OVERWRITE_STANDARD_HIER  = 10
   286|       NO_BUKRS_FOR_KOKRS          = 11
   287|       OTHERS                      = 12.
   288| 
   289|   IF SY-SUBRC <> 0.
   290|     MESSAGE ID 'GS' TYPE 'E' NUMBER '004'
   291|          WITH P_SETNAME INTO L_MESSAGE.
   292|     MESSAGE S000(ZCOM) DISPLAY LIKE 'E' WITH L_MESSAGE.
   293|     LEAVE LIST-PROCESSING.
   294|   ENDIF.
  • EN: Compose the set ID from set class plus controlling area or chart of accounts and read the set value ranges via K_HIERARCHY_TABLES_READ into GT_VALUE_SET, aborting with error GS004 when the set is not found.
  • 호출(파서): K_HIERARCHY_TABLES_READ
  • SAP 객체: K_HIERARCHY_TABLES_READ, SETHEADER, SETLEAF, SETHIER
  • 업무 키워드: 세트 값 조회, 코스트센터 그룹, 계정과목 그룹, 원가요소 그룹, 관리회계영역, 계정과목표
  • English: Set Hierarchy, Cost Center Group, G/L Account Group, K_HIERARCHY_TABLES_READ, Controlling Area
  • 정의부(복사 시 함께 필요): GC_KOKRS, L_SETID, GV_KTOPL, L_CLASS, LT_NODE, GT_VALUE_SET, LT_GRPHINFO, L_MESSAGE
  • 위치: abap://ZFIR0040/ZFI_COMMON#L250-L294 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#GET_SETLEAF_VALUES#C1

FORM DYNPRO — ZFI_COMMON L307-L333 (27줄)

BDCDATA 한 줄(화면 시작 또는 필드/값)을 생성해 BDC 테이블에 추가하되, 예외 등록 필드가 초기값이면 건너뛰는 공통 FORM이다.

이 unit 의 조각 1개가 19/27줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[interface] DYNBEGIN='X'면 프로그램·화면번호로 BDC 화면 시작 레코드를, 아니면 필드명·값 레코드를 BDCDATA에 추가하며, GT_EXCP_INIT_FIELD에 등록된 필드는 값이 없을 때 추가하지 않는다.

   313|   IF PV_DYNBEGIN = 'X'.
   314|     WRITE : PV_INPUT TO LS_BDCTAB-PROGRAM LEFT-JUSTIFIED.
   315|     WRITE : PV_VALUE TO LS_BDCTAB-DYNPRO LEFT-JUSTIFIED.
   316|     WRITE : 'X' TO LS_BDCTAB-DYNBEGIN LEFT-JUSTIFIED.
   317| 
   318|     APPEND LS_BDCTAB TO PT_BDCTAB.
   319|   ELSE.
   320|     READ TABLE GT_EXCP_INIT_FIELD TRANSPORTING NO FIELDS
   321|       WITH KEY FNAME = PV_INPUT BINARY SEARCH.
   322| 
   323|     IF SY-SUBRC EQ 0 AND PV_VALUE IS INITIAL.
   324|       EXIT.
   325|     ENDIF.
   326| 
   327|     WRITE : PV_INPUT TO LS_BDCTAB-FNAM LEFT-JUSTIFIED.
   328|     WRITE : PV_VALUE TO LS_BDCTAB-FVAL LEFT-JUSTIFIED.
   329| 
   330|     APPEND LS_BDCTAB TO PT_BDCTAB.
   331|   ENDIF.
  • EN: Append a BDCDATA screen-start record or a field/value record, skipping fields registered in GT_EXCP_INIT_FIELD when their value is initial.
  • SAP 객체: BDCDATA, GT_EXCP_INIT_FIELD
  • 업무 키워드: BDC 데이터 생성, 화면 필드 입력, 초기값 예외 필드
  • English: BDCDATA, Batch Input, Call Transaction
  • 정의부(복사 시 함께 필요): LS_BDCTAB, GT_EXCP_INIT_FIELD
  • 위치: abap://ZFIR0040/ZFI_COMMON#L313-L331 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#DYNPRO#C1

FORM DATE_CHK — ZFI_COMMON L444-L453 (10줄)

DATE_CHECK_PLAUSIBILITY로 날짜의 유효성을 검사해 결과 코드를 돌려주는 공통 FORM이다.

이 unit 의 조각 1개가 8/10줄(80%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] 입력 날짜를 DATE_CHECK_PLAUSIBILITY로 검증하고 SY-SUBRC를 P_SUBRC로 반환해 호출자가 잘못된 날짜를 판단하게 한다.

   445|   CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
   446|     EXPORTING
   447|       DATE                      = P_IN_DATE
   448|     EXCEPTIONS
   449|       PLAUSIBILITY_CHECK_FAILED = 1
   450|       OTHERS                    = 2.
   451| 
   452|   P_SUBRC = SY-SUBRC.
  • EN: Validate the date with DATE_CHECK_PLAUSIBILITY and return the result code to the caller.
  • 호출(파서): DATE_CHECK_PLAUSIBILITY
  • SAP 객체: DATE_CHECK_PLAUSIBILITY
  • 업무 키워드: 날짜 유효성 검사
  • English: Date Validation, Plausibility Check
  • 위치: abap://ZFIR0040/ZFI_COMMON#L445-L452 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#DATE_CHK#C1

FORM BAR_MSG_PER — ZFI_COMMON L479-L503 (25줄)

처리 건수 비율(%)을 계산해 SAPGUI_PROGRESS_INDICATOR로 진행률 메시지를 표시하는 공통 FORM이다.

이 unit 의 조각 1개가 18/25줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[output] 현재 건수/전체 건수로 진행률(%)을 계산해 텍스트에 붙이고 SAPGUI_PROGRESS_INDICATOR로 상태바에 진행 상황을 표시한다.

   485|   L_NCNT1 = P_CNT1.
   486|   L_NCNT2 = P_CNT2.
   487| 
   488|   GV_CALC_I   = P_CNT1 * 100 / P_CNT2.
   489|   GV_CALC_C0  = GV_CALC_I.
   490| 
   491|   IF L_NCNT1 IS INITIAL AND L_NCNT2 IS INITIAL.
   492|     GV_PROGRESS_MSG = P_TEXT.
   493|   ELSE.
   494|     CONCATENATE P_TEXT '(' GV_CALC_C0 '% )'
   495|            INTO GV_PROGRESS_MSG SEPARATED BY SPACE.
   496|     CONDENSE GV_PROGRESS_MSG.
   497|   ENDIF.
   498| 
   499|   CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
   500|     EXPORTING
   501|       PERCENTAGE = GV_CALC_I
   502|       TEXT       = GV_PROGRESS_MSG.
  • EN: Compute the percentage of processed lines and show it with the text in the status bar via SAPGUI_PROGRESS_INDICATOR.
  • 호출(파서): SAPGUI_PROGRESS_INDICATOR
  • SAP 객체: SAPGUI_PROGRESS_INDICATOR
  • 업무 키워드: 진행률 표시, 처리 건수
  • English: Progress Indicator, Status Bar
  • 정의부(복사 시 함께 필요): L_NCNT1, L_NCNT2, GV_CALC_I, GV_CALC_C0, GV_PROGRESS_MSG
  • 위치: abap://ZFIR0040/ZFI_COMMON#L485-L502 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#BAR_MSG_PER#C1

FORM DISPLAY_SPOOL_BY_SALV — ZFI_COMMON L512-L522 (11줄)

CL_SALV_TABLE=>FACTORY로 전달받은 내부테이블을 SALV(ALV) 리스트로 표시하는 공통 FORM(배치 스풀 출력용)이다.

이 unit 의 조각 1개가 7/11줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[output] CL_SALV_TABLE=>FACTORY로 SALV 객체를 생성하고 DISPLAY로 내부테이블 내용을 ALV 리스트(스풀)로 출력한다.

   515|   CL_SALV_TABLE=>FACTORY(
   516|     IMPORTING
   517|     R_SALV_TABLE = GR_TABLE
   518|   CHANGING
   519|     T_TABLE = PT_TABLE[] ).
   520| 
   521|   GR_TABLE->DISPLAY( ).
  • EN: Create a SALV table object with CL_SALV_TABLE=>FACTORY and display the internal table as an ALV list for spool output.
  • 호출(파서): CL_SALV_TABLE=>FACTORY, GR_TABLE->DISPLAY
  • SAP 객체: CL_SALV_TABLE
  • 업무 키워드: ALV 리스트 출력, 스풀 출력
  • English: SALV, ALV List, Spool
  • 정의부(복사 시 함께 필요): GR_TABLE
  • 위치: abap://ZFIR0040/ZFI_COMMON#L515-L521 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#DISPLAY_SPOOL_BY_SALV#C1

FORM UPLOAD_DATA — ZFI_COMMON L582-L639 (58줄)

엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 동적으로 지정된 내부테이블·구조체에 행/열 단위로 적재하는 공통 업로드 FORM이다.

이 unit 의 조각 2개가 43/58줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 대상 테이블·구조체를 동적 ASSIGN한 뒤 지정 행/열 범위로 ALSM_EXCEL_TO_INTERNAL_TABLE을 호출해 엑셀 셀 데이터를 LT_INTERN에 읽고, 실패 시 파일 없음/경로 오류 메시지 또는 시스템 메시지를 낸다.

   594|   ASSIGN: (PT_EXCEL_TABLE) TO <L_FS02>,
   595|           (PS_EXCEL_STRUC) TO <L_FS03>.
   596| 
   597|   CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
   598|     EXPORTING
   599|       FILENAME                = PV_EXCEL_FILENAME
   600|       I_BEGIN_COL             = PV_BEGIN_COL
   601|       I_BEGIN_ROW             = PV_BEGIN_ROW
   602|       I_END_COL               = PV_END_COL
   603|       I_END_ROW               = PV_END_ROW
   604|     TABLES
   605|       INTERN                  = LT_INTERN
   606|     EXCEPTIONS
   607|       INCONSISTENT_PARAMETERS = 1
   608|       UPLOAD_OLE              = 2
   609|       OTHERS                  = 3.
   610| 
   611|   IF SY-SUBRC <> 0.
   612|     IF SY-MSGID IS INITIAL.
   613|       MESSAGE I000 WITH 'No Selected File Exists or Too Long File path'.
   614|       LEAVE LIST-PROCESSING.
   615|     ELSE.
   616|       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
   617|               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   618|     ENDIF.
   619|   ENDIF.
  • EN: Dynamically assign the target table and structure, read the Excel cell range with ALSM_EXCEL_TO_INTERNAL_TABLE and report file/path errors on failure.
  • 호출(파서): ALSM_EXCEL_TO_INTERNAL_TABLE
  • SAP 객체: ALSM_EXCEL_TO_INTERNAL_TABLE, ALSMEX_TABLINE
  • 업무 키워드: 엑셀 업로드, 파일 읽기, 업로드 오류 메시지
  • English: Excel Upload, ALSM_EXCEL_TO_INTERNAL_TABLE, OLE
  • 정의부(복사 시 함께 필요): <L_FS02>, <L_FS03>, ALSMEX_TABLINE, LT_INTERN
  • 위치: abap://ZFIR0040/ZFI_COMMON#L594-L619 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#UPLOAD_DATA#C1

[calculation] 셀 데이터를 순회하며 열 번호에 해당하는 구조체 컴포넌트에 값을 넣고(숫자는 콤마 제거) 행이 끝날 때마다 대상 내부테이블(GT_UPLOAD)에 APPEND한다.

   621|   LOOP AT LT_INTERN.
   622|     AT NEW ROW.
   623|       CLEAR : <L_FS03>.
   624|     ENDAT.
   625| 
   626|     ASSIGN COMPONENT LT_INTERN-COL OF STRUCTURE <L_FS03> TO <L_FS01>.
   627| 
   628|     IF LT_INTERN-VALUE CO '0123456789,.- '.
   629|       REPLACE ALL OCCURRENCES OF ',' IN LT_INTERN-VALUE WITH ''.
   630|     ENDIF.
   631| 
   632|     MOVE LT_INTERN-VALUE TO <L_FS01>.
   633| 
   634|     AT END OF ROW.
   635|       APPEND <L_FS03> TO <L_FS02>.
   636|     ENDAT.
   637|   ENDLOOP.
  • EN: Map each cell value to the structure component by column (removing thousand separators) and append one line per Excel row to the target table.
  • SAP 객체: ALSMEX_TABLINE, GT_UPLOAD
  • 업무 키워드: 셀 값 매핑, 행 단위 적재, 콤마 제거
  • English: Cell Mapping, ASSIGN COMPONENT, Internal Table
  • 정의부(복사 시 함께 필요): ALSMEX_TABLINE, LT_INTERN, <L_FS03>, <L_FS01>, <L_FS02>
  • 위치: abap://ZFIR0040/ZFI_COMMON#L621-L637 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#UPLOAD_DATA#C2

FORM BUILD_MESSAGE — ZFI_COMMON L688-L709 (22줄)

BDC 메시지(BDCMSGCOLL)를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다.

이 unit 의 조각 1개가 12/22줄(55%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] BDCMSGCOLL의 MSGID/MSGNR/MSGV1~4를 MESSAGE_TEXT_BUILD에 넘겨 Call Transaction 결과 메시지 텍스트를 만들고 남은 '&'를 제거한다.

   693|   CALL FUNCTION 'MESSAGE_TEXT_BUILD'
   694|     EXPORTING
   695|       MSGID               = PS_MESSAGE-MSGID
   696|       MSGNR               = PS_MESSAGE-MSGNR
   697|       MSGV1               = PS_MESSAGE-MSGV1
   698|       MSGV2               = PS_MESSAGE-MSGV2
   699|       MSGV3               = PS_MESSAGE-MSGV3
   700|       MSGV4               = PS_MESSAGE-MSGV4
   701|     IMPORTING
   702|       MESSAGE_TEXT_OUTPUT = PV_TEXT.
   703| 
   704|   REPLACE ALL OCCURRENCES OF '&' IN PV_TEXT WITH ''.
  • EN: Build the readable message text from a BDCMSGCOLL entry via MESSAGE_TEXT_BUILD and remove leftover ampersand placeholders.
  • 호출(파서): MESSAGE_TEXT_BUILD
  • SAP 객체: MESSAGE_TEXT_BUILD, BDCMSGCOLL
  • 업무 키워드: BDC 메시지 텍스트, 메시지 조립
  • English: BDCMSGCOLL, Message Text, Call Transaction
  • 위치: abap://ZFIR0040/ZFI_COMMON#L693-L704 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#BUILD_MESSAGE#C1

FORM EXCEL_FORM_DOWNLOAD — ZFI_COMMON L716-L846 (131줄)

엑셀 컬럼 제목 목록으로 동적 테이블을 만들어 헤더 1행만 담은 업로드 양식(xls)을 저장 대화상자를 통해 PC에 다운로드하는 공통 FORM이다.

이 unit 의 조각 2개가 85/131줄(65%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[calculation] 전달받은 엑셀 컬럼 제목마다 필드카탈로그(COLnn)를 만들고 CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE로 동적 테이블을 생성한 뒤 컬럼 제목을 값으로 한 헤더 1행을 APPEND해 업로드 양식 데이터를 구성한다.

   758|   CHECK PT_EXCEL_EXPORT[] IS NOT INITIAL.
   759| 
   760|   LOOP AT PT_EXCEL_EXPORT.
   761|     ADD_EXCEL_COL :   PT_EXCEL_EXPORT-EXCEL_COL.
   762|   ENDLOOP.
   763| 
   764|   " 동적 테이블 생성
   765|   CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
   766|     EXPORTING
   767|       IT_FIELDCATALOG = LT_FCAT
   768|     IMPORTING
   769|       EP_TABLE        = LF_DATA.
   770| 
   771|   ASSIGN LF_DATA->* TO <FS_TABLE>.
   772| 
   773|   " 테이블 라인 생성
   774|   CREATE DATA LL_DATA LIKE LINE OF <FS_TABLE>.
   775|   ASSIGN LL_DATA->* TO <FS_LINE>.
   776| 
   777|   " 템플릿 내용 단 한라인만 등록
   778|   LOOP AT LT_FCAT INTO LS_FCAT.
   779|     ASSIGN COMPONENT LS_FCAT-COL_POS
   780|        OF STRUCTURE <FS_LINE> TO <FS_COL>.
   781| 
   782|     IF SY-SUBRC EQ 0.
   783|       <FS_COL> = LS_FCAT-COLTEXT. " COLTEXT 의 내용을 그대로.
   784|     ENDIF.
   785|   ENDLOOP.
   786| 
   787|   " 테이블에 담기.
   788|   APPEND <FS_LINE> TO <FS_TABLE>.
  • EN: Build a field catalog from the Excel column titles, create a dynamic table with CL_ALV_TABLE_CREATE and append one header row containing the titles as the upload template.
  • 호출(파서): CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
  • SAP 객체: CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE, LVC_S_FCAT, GT_EXCEL_EXPORT
  • 업무 키워드: 업로드 양식 생성, 동적 테이블, 엑셀 헤더
  • English: Dynamic Table, Field Catalog, Upload Template
  • 정의부(복사 시 함께 필요): LT_FCAT, LF_DATA, <FS_TABLE>, LL_DATA, <FS_LINE>, LS_FCAT, <FS_COL>
  • 위치: abap://ZFIR0040/ZFI_COMMON#L758-L788 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C1

[fm_call] '<프로그램명>_UploadForm.xls' 기본 파일명으로 FILE_SAVE_DIALOG를 열고 사용자가 확인하면 CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD(탭 구분)로 양식 테이블을 저장한 뒤 성공/실패/취소 메시지를 낸다.

   792|   CONCATENATE SY-REPID '_UploadForm.xls' INTO L_FNAME.
   793| 
   794|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
   795|     EXPORTING
   796|       DEFAULT_EXTENSION = 'XLS'
   797|       DEFAULT_FILE_NAME = L_FNAME
   798|       FILE_FILTER       = '*.XLS'
   799|     CHANGING
   800|       FILENAME          = L_EXT_FILENAME
   801|       PATH              = L_PATH
   802|       FULLPATH          = L_FULLPATH
   803|       USER_ACTION       = L_USR_ACT.
   804| 
   805|   IF L_USR_ACT = '0'.
   806|     CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
   807|       EXPORTING
   808|         FILENAME                = L_FULLPATH
   809|         WRITE_FIELD_SEPARATOR   = 'X'
   810|       IMPORTING
   811|         FILELENGTH              = L_FILE_LEN
   812|       CHANGING
   813|         DATA_TAB                = <FS_TABLE>
   814|       EXCEPTIONS
   815|         FILE_WRITE_ERROR        = 1
   816|         NO_BATCH                = 2
   817|         GUI_REFUSE_FILETRANSFER = 3
   818|         INVALID_TYPE            = 4
   819|         NO_AUTHORITY            = 5
   820|         UNKNOWN_ERROR           = 6
   821|         HEADER_NOT_ALLOWED      = 7
   822|         SEPARATOR_NOT_ALLOWED   = 8
   823|         FILESIZE_NOT_ALLOWED    = 9
   824|         HEADER_TOO_LONG         = 10
   825|         DP_ERROR_CREATE         = 11
   826|         DP_ERROR_SEND           = 12
   827|         DP_ERROR_WRITE          = 13
   828|         UNKNOWN_DP_ERROR        = 14
   829|         ACCESS_DENIED           = 15
   830|         DP_OUT_OF_MEMORY        = 16
   831|         DISK_FULL               = 17
   832|         DP_TIMEOUT              = 18
   833|         FILE_NOT_FOUND          = 19
   834|         DATAPROVIDER_EXCEPTION  = 20
   835|         CONTROL_FLUSH_ERROR     = 21
   836|         OTHERS                  = 22.
   837| 
   838|     IF SY-SUBRC = 0.
   839|       MESSAGE S000 WITH 'Success.'.
   840|     ELSE.
   841|       MESSAGE I000 WITH 'Failure'.
   842|     ENDIF.
   843|   ELSE.
   844|     MESSAGE I000 WITH 'Cancled'.
   845|   ENDIF.
  • EN: Open a save dialog with a default template filename and download the template table via CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD, reporting success, failure or cancel.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
  • 업무 키워드: 엑셀 양식 다운로드, 파일 저장, 결과 메시지
  • English: GUI_DOWNLOAD, File Save Dialog, Excel Template
  • 정의부(복사 시 함께 필요): L_FNAME, L_EXT_FILENAME, L_PATH, L_FULLPATH, L_USR_ACT, L_FILE_LEN, <FS_TABLE>
  • 위치: abap://ZFIR0040/ZFI_COMMON#L792-L845 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C2

FORM CONVERT_CURRENCY — ZFI_COMMON L859-L878 (20줄)

전기일 환율로 외화 금액을 현지통화 금액으로 CONVERT_TO_LOCAL_CURRENCY를 이용해 환산하는 공통 FORM이다.

이 unit 의 조각 1개가 15/20줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 외화와 현지통화가 같으면 금액을 그대로 쓰고, 다르면 전기일 기준 환율로 CONVERT_TO_LOCAL_CURRENCY를 호출해 현지통화 금액(P_LAMT)을 구한다.

   862|   IF P_FCURR = P_LCURR.
   863|     P_LAMT = P_FAMT.
   864|   ELSE.
   865|     CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
   866|       EXPORTING
   867|         CLIENT           = SY-MANDT
   868|         DATE             = P_BUDAT
   869|         FOREIGN_CURRENCY = P_FCURR
   870|         FOREIGN_AMOUNT   = P_FAMT
   871|         LOCAL_CURRENCY   = P_LCURR
   872|       IMPORTING
   873|         LOCAL_AMOUNT     = P_LAMT
   874|       EXCEPTIONS
   875|         NO_RATE_FOUND    = 01.
   876|   ENDIF.
  • EN: Convert the foreign amount to local currency at the posting-date exchange rate using CONVERT_TO_LOCAL_CURRENCY unless both currencies are identical.
  • 호출(파서): CONVERT_TO_LOCAL_CURRENCY
  • SAP 객체: CONVERT_TO_LOCAL_CURRENCY, TCURR
  • 업무 키워드: 환율 환산, 현지통화 금액, 외화
  • English: Exchange Rate, Local Currency, Foreign Currency
  • 위치: abap://ZFIR0040/ZFI_COMMON#L862-L876 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#CONVERT_CURRENCY#C1

FORM CONVERT_CHAR_TO_AMT — ZFI_COMMON L888-L915 (28줄)

콤마가 포함된 문자형 금액을 콤마 제거 후 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화 내부 금액으로 변환하는 공통 FORM이다.

이 unit 의 조각 1개가 22/28줄(79%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[calculation] STRING_REPLACE로 문자 금액의 콤마를 제거한 뒤 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화(P_WAERS)에 맞는 내부 금액으로 변환해 P_AMT에 넣는다(엑셀 업로드 금액 정리용).

   892|   CALL FUNCTION 'STRING_REPLACE'
   893|     EXPORTING
   894|       PATTERN    = ','
   895|       SUBSTITUTE = ''
   896|     CHANGING
   897|       TEXT       = P_VALUE.
   898| 
   899|   IF SY-SUBRC NE 0.
   900| 
   901|   ENDIF.
   902| 
   903|   LV_EXT = P_VALUE.
   904| 
   905|   CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
   906|     EXPORTING
   907|       CURRENCY             = P_WAERS
   908|       AMOUNT_EXTERNAL      = LV_EXT
   909|       MAX_NUMBER_OF_DIGITS = '11'
   910|     IMPORTING
   911|       AMOUNT_INTERNAL      = LV_AMT.
   912| 
   913|   P_AMT = LV_AMT.
  • EN: Strip thousand separators from the character amount and convert it to internal currency amount via BAPI_CURRENCY_CONV_TO_INTERNAL for uploaded Excel values.
  • 호출(파서): STRING_REPLACE, BAPI_CURRENCY_CONV_TO_INTERNAL
  • SAP 객체: STRING_REPLACE, BAPI_CURRENCY_CONV_TO_INTERNAL
  • 업무 키워드: 문자 금액 변환, 콤마 제거, 통화 내부형식
  • English: Currency Conversion, Internal Amount, Excel Upload
  • 정의부(복사 시 함께 필요): LV_EXT, LV_AMT
  • 위치: abap://ZFIR0040/ZFI_COMMON#L892-L913 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#CONVERT_CHAR_TO_AMT#C1

FORM POPUP_TO_CONFIRM_02 — ZFI_COMMON L966-L979 (14줄)

POPUP_TO_CONFIRM_STEP으로 두 줄 질문의 확인 팝업(J/N/A)을 띄워 응답을 돌려주는 공통 FORM이다.

이 unit 의 조각 1개가 7/14줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 제목과 두 줄 질문으로 POPUP_TO_CONFIRM_STEP을 호출해 예(J)/아니오(N)/취소(A) 응답을 PV_ANSWER로 받는다(예산 전기 전 확인에 사용).

   971|   CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
   972|     EXPORTING
   973|       TEXTLINE1 = PV_QUESTION1
   974|       TEXTLINE2 = PV_QUESTION2
   975|       TITEL     = PV_TITLE
   976|     IMPORTING
   977|       ANSWER    = PV_ANSWER. " J:예 N:아니오 A:취소
  • EN: Show a confirmation popup via POPUP_TO_CONFIRM_STEP and return J/N/A answer, used before posting the plan budget.
  • 호출(파서): POPUP_TO_CONFIRM_STEP
  • SAP 객체: POPUP_TO_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 전기 전 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
  • 위치: abap://ZFIR0040/ZFI_COMMON#L971-L977 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#POPUP_TO_CONFIRM_02#C1

FORM POPUP_TO_CONFIRM — ZFI_COMMON L991-L1016 (26줄)

POPUP_TO_CONFIRM으로 Yes/No 확인 팝업을 띄워 사용자 응답을 돌려주는 공통 FORM이다.

이 unit 의 조각 1개가 18/26줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 제목·질문·기본 버튼·취소 버튼 표시 여부로 POPUP_TO_CONFIRM(Yes/No)을 호출해 응답(P_ANSWER)을 받고 예외 시 시스템 메시지 후 응답을 비운다.

   997|   CALL FUNCTION 'POPUP_TO_CONFIRM'
   998|     EXPORTING
   999|       TITLEBAR              = P_TITLE
  1000|       TEXT_QUESTION         = P_TEXT
  1001|       TEXT_BUTTON_1         = 'Yes'
  1002|       TEXT_BUTTON_2         = 'No'
  1003|       DEFAULT_BUTTON        = P_DEFAULT
  1004|       DISPLAY_CANCEL_BUTTON = P_CANC
  1005|     IMPORTING
  1006|       ANSWER                = P_ANSWER
  1007|     EXCEPTIONS
  1008|       TEXT_NOT_FOUND        = 1
  1009|       OTHERS                = 2.
  1010|   IF SY-SUBRC <> 0.
  1011|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1012|             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1013|     CLEAR P_ANSWER.
  1014|   ENDIF.
  • EN: Show a Yes/No confirmation popup with POPUP_TO_CONFIRM and return the user answer, clearing it on exception.
  • 호출(파서): POPUP_TO_CONFIRM
  • SAP 객체: POPUP_TO_CONFIRM
  • 업무 키워드: 확인 팝업, 사용자 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM
  • 위치: abap://ZFIR0040/ZFI_COMMON#L997-L1014 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#POPUP_TO_CONFIRM#C1

FORM GET_LAST_DAY — ZFI_COMMON L1025-L1035 (11줄)

입력 날짜가 속한 월의 마지막 날짜를 RP_LAST_DAY_OF_MONTHS 로 구하는 날짜 유틸리티다.

이 unit 의 조각 1개가 5/11줄(46%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] RP_LAST_DAY_OF_MONTHS FM 으로 기준일이 속한 월의 말일을 계산해 반환한다(기간 종료일·결산일 계산용).

  1030|   CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
  1031|     EXPORTING
  1032|       DAY_IN            = P_DATE
  1033|     IMPORTING
  1034|       LAST_DAY_OF_MONTH = P_LAST_DATE.
  • EN: Compute the last day of the month for the given date using RP_LAST_DAY_OF_MONTHS.
  • 호출(파서): RP_LAST_DAY_OF_MONTHS
  • SAP 객체: RP_LAST_DAY_OF_MONTHS
  • 업무 키워드: 월말일, 말일 계산, 기간 종료일
  • English: Last Day of Month, Period End Date
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1030-L1034 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#GET_LAST_DAY#C1

FORM SET_DSMOD — ZFI_COMMON L1043-L1052 (10줄)

BDC 처리 모드 입력값이 A/E/N 중 하나인지 검사하고 아니면 오류 메시지로 중단하는 공통 FORM이다.

이 unit 의 조각 1개가 6/10줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] BDC 표시 모드를 대문자로 바꾼 뒤 'A','E','N'이 아니면 'BDC Mode Fail' 메시지를 내고 LEAVE LIST-PROCESSING으로 종료한다.

  1045|   TRANSLATE PA_DSMOD TO UPPER CASE.
  1046| 
  1047|   IF PA_DSMOD NA 'AEN'.
  1048|     MESSAGE S000 DISPLAY LIKE 'E' WITH 'BDC Mode Fail'.
  1049|     LEAVE LIST-PROCESSING.
  1050|   ENDIF.
  • EN: Validate the BDC display mode is one of A/E/N after uppercasing, otherwise show an error and leave processing.
  • 업무 키워드: BDC 모드 검증, 입력값 검사
  • English: BDC Mode, Validation
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1045-L1050 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#SET_DSMOD#C1

FORM FILE_EXISTS — ZFI_COMMON L1061-L1092 (32줄)

CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 프론트엔드 파일 존재 여부를 확인해 참/거짓을 돌려주는 공통 FORM이다.

이 unit 의 조각 1개가 21/32줄(66%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] 파일명이 있을 때 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 로컬 파일 존재 여부를 조회해 P_EXISTS에 반환하고 호출 예외 시 시스템 메시지를 낸다.

  1070|   CHECK P_FNAME IS NOT INITIAL.
  1071| 
  1072|   L_FILENM = P_FNAME.
  1073| 
  1074|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  1075|     EXPORTING
  1076|       FILE                 = L_FILENM
  1077|     RECEIVING
  1078|       RESULT               = L_RESULT
  1079|     EXCEPTIONS
  1080|       CNTL_ERROR           = 1
  1081|       ERROR_NO_GUI         = 2
  1082|       WRONG_PARAMETER      = 3
  1083|       NOT_SUPPORTED_BY_GUI = 4
  1084|       OTHERS               = 5.
  1085|   IF SY-SUBRC <> 0.
  1086|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1087|                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1088|   ENDIF.
  1089| 
  1090|   P_EXISTS = L_RESULT.
  • EN: Check whether the local file exists via CL_GUI_FRONTEND_SERVICES=>FILE_EXIST and return the boolean result.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • 업무 키워드: 파일 존재 확인, 업로드 파일 검증
  • English: File Exist Check, Frontend Services
  • 정의부(복사 시 함께 필요): L_FILENM, L_RESULT
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1070-L1090 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#FILE_EXISTS#C1

FORM AMT_CONV_TO_INTERNAL — ZFI_COMMON L1101-L1118 (18줄)

외부 형식 금액을 통화별 소수점에 맞는 SAP 내부 금액으로 BAPI_CURRENCY_CONV_TO_INTERNAL로 변환하는 공통 FORM이다.

이 unit 의 조각 1개가 11/18줄(61%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 통화(P_WAERS)에 따라 외부 표시 금액을 BAPI_CURRENCY_CONV_TO_INTERNAL로 내부 저장 형식 금액으로 변환해 P_AMOUNT에 되돌려준다.

  1106|   L_INTERNAL = P_AMOUNT.
  1107| 
  1108|   CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
  1109|     EXPORTING
  1110|       CURRENCY             = P_WAERS
  1111|       AMOUNT_EXTERNAL      = L_INTERNAL
  1112|       MAX_NUMBER_OF_DIGITS = 22
  1113|     IMPORTING
  1114|       AMOUNT_INTERNAL      = L_INTERNAL.
  1115| 
  1116|   P_AMOUNT = L_INTERNAL.
  • EN: Convert an externally formatted amount to SAP internal format for the currency using BAPI_CURRENCY_CONV_TO_INTERNAL.
  • 호출(파서): BAPI_CURRENCY_CONV_TO_INTERNAL
  • SAP 객체: BAPI_CURRENCY_CONV_TO_INTERNAL, BAPICURR
  • 업무 키워드: 금액 내부형식 변환, 통화 소수점
  • English: Currency Conversion, Internal Amount
  • 정의부(복사 시 함께 필요): L_INTERNAL
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1106-L1116 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#AMT_CONV_TO_INTERNAL#C1

FORM GET_NEXT_NUMBER — ZFI_COMMON L1129-L1160 (32줄)

번호범위 객체·구간으로 NUMBER_GET_NEXT를 호출해 다음 채번 번호를 가져오는 공통 FORM이다.

이 unit 의 조각 1개가 23/32줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 번호범위 객체와 구간 번호로 NUMBER_GET_NEXT를 호출해 다음 번호를 채번하고 예외 발생 시 결과를 비운다.

  1136|   LV_NRRANG = P_NRRANG.
  1137|   LV_OBJECT = P_OBJECT.
  1138| 
  1139|   CALL FUNCTION 'NUMBER_GET_NEXT'
  1140|     EXPORTING
  1141|       NR_RANGE_NR             = LV_NRRANG
  1142|       OBJECT                  = LV_OBJECT
  1143|     IMPORTING
  1144|       NUMBER                  = P_DOCNO
  1145|     EXCEPTIONS
  1146|       INTERVAL_NOT_FOUND      = 1
  1147|       NUMBER_RANGE_NOT_INTERN = 2
  1148|       OBJECT_NOT_FOUND        = 3
  1149|       QUANTITY_IS_0           = 4
  1150|       QUANTITY_IS_NOT_1       = 5
  1151|       INTERVAL_OVERFLOW       = 6
  1152|       BUFFER_OVERFLOW         = 7
  1153|       OTHERS                  = 8.
  1154|   IF SY-SUBRC <> 0.
  1155| *    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1156| *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1157|     CLEAR P_DOCNO.
  1158|   ENDIF.
  • EN: Draw the next number from the number range object and interval via NUMBER_GET_NEXT and clear it on exception.
  • 호출(파서): NUMBER_GET_NEXT
  • SAP 객체: NUMBER_GET_NEXT, NRIV
  • 업무 키워드: 채번, 번호범위
  • English: Number Range, NUMBER_GET_NEXT
  • 정의부(복사 시 함께 필요): LV_NRRANG, LV_OBJECT
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1136-L1158 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#GET_NEXT_NUMBER#C1

FORM GET_NEXT_NUMBER_YEAR — ZFI_COMMON L1172-L1211 (40줄)

번호범위 객체·구간·연도로 NUMBER_GET_NEXT를 호출해 연도별 다음 채번 번호를 가져오는 공통 FORM이다.

이 unit 의 조각 1개가 30/40줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 번호범위 객체(NRIV-OBJECT)와 구간 번호, 연도(없으면 '0000')를 지정해 NUMBER_GET_NEXT로 다음 번호를 채번하고 실패 시 번호를 비운다.

  1180|   LV_NRRANG = P_NRRANG.
  1181|   LV_OBJECT = P_OBJECT.
  1182|   IF P_YEAR IS NOT INITIAL.
  1183|     LV_YEAR = P_YEAR.
  1184|   ELSE.
  1185|     LV_YEAR = '0000'.
  1186| 
  1187|   ENDIF.
  1188| 
  1189|   CALL FUNCTION 'NUMBER_GET_NEXT'
  1190|     EXPORTING
  1191|       NR_RANGE_NR             = LV_NRRANG
  1192|       OBJECT                  = LV_OBJECT
  1193|       TOYEAR                  = LV_YEAR
  1194|     IMPORTING
  1195|       NUMBER                  = P_DOCNO
  1196|     EXCEPTIONS
  1197|       INTERVAL_NOT_FOUND      = 1
  1198|       NUMBER_RANGE_NOT_INTERN = 2
  1199|       OBJECT_NOT_FOUND        = 3
  1200|       QUANTITY_IS_0           = 4
  1201|       QUANTITY_IS_NOT_1       = 5
  1202|       INTERVAL_OVERFLOW       = 6
  1203|       BUFFER_OVERFLOW         = 7
  1204|       OTHERS                  = 8.
  1205|   IF SY-SUBRC <> 0.
  1206| *    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1207| *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1208|     CLEAR P_DOCNO.
  1209|   ENDIF.
  • EN: Draw the next number from the number range object and interval for the given year (or 0000) via NUMBER_GET_NEXT, clearing the result on error.
  • 호출(파서): NUMBER_GET_NEXT
  • SAP 객체: NUMBER_GET_NEXT, NRIV
  • 업무 키워드: 채번, 번호범위, 연도별 번호
  • English: Number Range, NUMBER_GET_NEXT, Fiscal Year
  • 정의부(복사 시 함께 필요): LV_NRRANG, LV_OBJECT, LV_YEAR
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1180-L1209 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#GET_NEXT_NUMBER_YEAR#C1

FORM GET_VALUE_LIST_DOM — ZFI_COMMON L1220-L1235 (16줄)

도메인 고정값과 텍스트를 DD07T에서 읽어 전달받은 테이블에 채우는 공통 FORM(F4/드롭다운용)이다.

이 unit 의 조각 1개가 11/16줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[sql_select] DD07T에서 지정 도메인의 활성 고정값(DOMVALUE_L)과 텍스트(DDTEXT)를 로그온 언어로 조회해 P_TAB에 넣고 정렬하며, 없으면 테이블을 비운다.

  1223|   SELECT DOMVALUE_L DDTEXT
  1224|     INTO TABLE P_TAB
  1225|     FROM DD07T
  1226|    WHERE DOMNAME    EQ P_DOMAIN
  1227|      AND DDLANGUAGE EQ SY-LANGU
  1228|      AND AS4LOCAL   EQ 'A'.
  1229|   IF SY-SUBRC EQ 0.
  1230|     SORT P_TAB.
  1231|   ELSE.
  1232|     REFRESH P_TAB.
  1233|   ENDIF.
  • EN: Read active domain fixed values and texts from DD07T for the logon language into the given table, sorting it or clearing it when nothing is found.
  • 테이블(파서): read DD07T / write -
  • SAP 객체: DD07T
  • 업무 키워드: 도메인 값 목록, 드롭다운 값, F4 값 목록
  • English: Domain Fixed Values, DD07T, Value List
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1223-L1233 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#GET_VALUE_LIST_DOM#C1

FORM MD_CONVER_MAT_UNIT — ZFI_COMMON L1268-L1298 (31줄)

자재의 수량을 입력 단위에서 출력 단위로 MD_CONVERT_MATERIAL_UNIT을 이용해 환산하는 공통 FORM이다.

이 unit 의 조각 1개가 23/31줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 수량이 0이거나 단위가 같으면 그대로 반환하고, 그 외에는 MD_CONVERT_MATERIAL_UNIT으로 자재(MATNR)의 단위 환산 비율에 따라 수량을 변환하며 오류 시 0으로 처리한다.

  1274|   IF P_MENGE IS INITIAL.
  1275|     CLEAR PV_MENGE.
  1276|     EXIT.
  1277|   ELSEIF P_IN_ME EQ P_OUT_ME.
  1278|     PV_MENGE = P_MENGE.
  1279|     EXIT.
  1280|   ENDIF.
  1281| 
  1282|   CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
  1283|     EXPORTING
  1284|       I_MATNR              = P_MATNR
  1285|       I_IN_ME              = P_IN_ME
  1286|       I_OUT_ME             = P_OUT_ME
  1287|       I_MENGE              = P_MENGE
  1288|     IMPORTING
  1289|       E_MENGE              = PV_MENGE
  1290|     EXCEPTIONS
  1291|       ERROR_IN_APPLICATION = 1
  1292|       ERROR                = 2
  1293|       OTHERS               = 3.
  1294|   IF SY-SUBRC <> 0.
  1295|     CLEAR PV_MENGE.
  1296|   ENDIF.
  • EN: Return the quantity unchanged for zero or identical units, otherwise convert it between units of measure for the material via MD_CONVERT_MATERIAL_UNIT.
  • 호출(파서): MD_CONVERT_MATERIAL_UNIT
  • SAP 객체: MD_CONVERT_MATERIAL_UNIT, EKPO
  • 업무 키워드: 자재 단위 환산, 수량 변환, 기본단위
  • English: Unit of Measure Conversion, Material, Quantity
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1274-L1296 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#MD_CONVER_MAT_UNIT#C1

FORM SHOW_MESSAGE_LIST — ZFI_COMMON L1306-L1316 (11줄)

누적된 헤더/상세 메시지 테이블(GT_HEAMSG/GT_DETMSG)을 SCPR_SV_SHOW_MESSAGE_LIST로 팝업 표시하는 공통 FORM이다.

이 unit 의 조각 1개가 7/11줄(64%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[output] 제목과 함께 GT_HEAMSG(메시지 목록)·GT_DETMSG(상세)를 SCPR_SV_SHOW_MESSAGE_LIST에 넘겨 처리 결과 메시지 목록을 팝업으로 보여준다.

  1308|   CALL FUNCTION 'SCPR_SV_SHOW_MESSAGE_LIST'
  1309|     EXPORTING
  1310|       TITLE_TEXT    = P_TITLE
  1311|       SORT_BY_LEVEL = ' '
  1312|       SHOW_IDS      = 'X'
  1313|       MESSAGE_LIST  = GT_HEAMSG
  1314|       DETAILS_LIST  = GT_DETMSG.
  • EN: Display the collected message list and details in a popup via SCPR_SV_SHOW_MESSAGE_LIST.
  • 호출(파서): SCPR_SV_SHOW_MESSAGE_LIST
  • SAP 객체: SCPR_SV_SHOW_MESSAGE_LIST, GT_HEAMSG, GT_DETMSG
  • 업무 키워드: 메시지 목록 팝업, 처리 결과 표시
  • English: Message List, Popup
  • 정의부(복사 시 함께 필요): GT_HEAMSG, GT_DETMSG
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1308-L1314 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#SHOW_MESSAGE_LIST#C1

FORM GET_FILE_PATH — ZFI_COMMON L1325-L1356 (32줄)

파일 열기 대화상자(FILE_OPEN_DIALOG)로 업로드할 XLS 파일을 선택받아 파일 경로를 반환하는 공통 FORM이다.

이 unit 의 조각 1개가 22/32줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] XLS 필터로 CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG를 열어 사용자가 OK를 누르면 첫 번째 선택 파일 경로를 P_FILENM에 반환한다.

  1333|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
  1334|     EXPORTING
  1335|       WINDOW_TITLE      = 'Upload'
  1336|       MULTISELECTION    = ' '
  1337|       DEFAULT_EXTENSION = 'XLS'
  1338|       DEFAULT_FILENAME  = ' '
  1339|       FILE_FILTER       = '*.XLS'
  1340|     CHANGING
  1341|       FILE_TABLE        = LT_FILETABLE
  1342|       RC                = RTN_CODE
  1343|       USER_ACTION       = USER_ACTION.
  1344| 
  1345|   CALL METHOD CL_GUI_CFW=>FLUSH.
  1346| 
  1347|   CASE  USER_ACTION.
  1348|     WHEN  CL_GUI_FRONTEND_SERVICES=>ACTION_OK.
  1349|       READ   TABLE LT_FILETABLE INTO LS_FILETABLE INDEX 1.
  1350|       CHECK  SY-SUBRC IS INITIAL.
  1351|       MOVE:  LS_FILETABLE-FILENAME      TO      P_FILENM.
  1352| 
  1353|     WHEN  CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
  1354|   ENDCASE.
  • EN: Open a file-open dialog filtered to XLS and return the first selected file path when the user confirms.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, CL_GUI_CFW=>FLUSH, CL_GUI_FRONTEND_SERVICES=>ACTION_OK, CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, CL_GUI_CFW=>FLUSH
  • 업무 키워드: 파일 선택 대화상자, 엑셀 업로드 경로
  • English: File Open Dialog, Frontend Services, Excel Upload
  • 정의부(복사 시 함께 필요): LT_FILETABLE, RTN_CODE, USER_ACTION, LS_FILETABLE
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1333-L1354 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#GET_FILE_PATH#C1

FORM CHK_FILE_PATH — ZFI_COMMON L1365-L1390 (26줄)

CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 업로드 파일 경로의 존재를 확인하고 없으면 메시지 후 처리를 중단하는 공통 FORM이다.

이 unit 의 조각 1개가 17/26줄(65%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] 프론트엔드 파일 존재 여부를 FILE_EXIST로 검사해 호출 오류 시 시스템 메시지를, 파일이 없으면 'Please check your file path' 메시지 후 LEAVE LIST-PROCESSING으로 중단한다.

  1372|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  1373|     EXPORTING
  1374|       FILE   = LV_FILE
  1375|     RECEIVING
  1376|       RESULT = LV_RESULT.
  1377| 
  1378|   IF NOT SY-SUBRC IS INITIAL.
  1379| 
  1380|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1381|             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1382| 
  1383|   ELSEIF LV_RESULT IS INITIAL.
  1384| 
  1385|     MESSAGE S001(00) WITH 'Please check your file path'.
  1386|     LEAVE LIST-PROCESSING.
  1387| 
  1388|   ENDIF.
  • EN: Verify the local file exists with CL_GUI_FRONTEND_SERVICES=>FILE_EXIST and stop processing with a message when it is missing.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • 업무 키워드: 파일 존재 확인, 업로드 경로 검증
  • English: File Exist Check, Frontend Services
  • 정의부(복사 시 함께 필요): LV_FILE, LV_RESULT
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1372-L1388 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#CHK_FILE_PATH#C1

FORM BDC_CREATE_AENNR — ZFI_COMMON L1502-L1569 (68줄)

변경번호(AENNR) 존재 여부를 AENR에서 확인한 뒤 없으면 BDC로 CC01(변경마스터 생성)을 실행하고 결과 메시지를 반환하는 공통 FORM이다.

이 unit 의 조각 2개가 60/68줄(88%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[sql_select] AENR 테이블에서 변경번호(AENNR)가 이미 존재하는지 조회하여 있으면 성공(S)으로 종료해 중복 생성을 막는다.

  1507|   SELECT SINGLE AENNR
  1508|     INTO P_AENNR
  1509|     FROM AENR
  1510|    WHERE AENNR EQ P_AENNR.
  1511|   IF SY-SUBRC EQ 0.
  1512|     P_MSGTY = 'S'.
  1513|     EXIT.
  1514|   ENDIF.
  • EN: Check AENR for an existing change number and exit with success if it already exists to avoid duplicate creation.
  • 테이블(파서): read AENR / write -
  • SAP 객체: AENR
  • 업무 키워드: 변경번호 존재 확인, 중복 생성 방지, 설계변경관리
  • English: Change Number, AENR, Engineering Change Management
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1507-L1514 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#BDC_CREATE_AENNR#C1

[fm_call] SAPMC29C 화면(0100/0010/0020)에 변경번호·내역·효력시작일·변경사유·상태 등을 채운 BDC 데이터를 구성해 CALL TRANSACTION 'CC01'(N 모드, 동기 업데이트)로 변경마스터를 생성하고, 메시지 CC001 성공 여부로 P_MSGTY를 정하며 실패 시 BUILD_MESSAGE로 오류 텍스트를 만든다.

  1516|   REFRESH : GT_BDCDATA, GT_MESSTAB.
  1517|   CLEAR : GS_BDC_OPTION.
  1518| 
  1519|   GS_BDC_OPTION-DISMODE = 'N'.
  1520|   GS_BDC_OPTION-UPDMODE = 'S'.
  1521| 
  1522|   PERFORM DYNPRO TABLES PT_TABLES USING:
  1523|       'X' 'SAPMC29C'                      '0100',   "설계변경관리: 초기화면
  1524|       ' ' 'BDC_OKCODE'                    '/00',
  1525|       ' ' 'RC29A-AENNR'                   P_AENNR,
  1526| 
  1527|       'X' 'SAPMC29C'                      '0010',   "ECM: Basic Screen
  1528|       ' ' 'BDC_OKCODE'                    '/00',
  1529|       ' ' 'RC29A-AETXT'                   P_TEXT,   "내역
  1530|       ' ' 'RC29A-DATUV'                   P_DATUV,   "효력 시작일
  1531|       ' ' 'RC29A-AEGRU'                   P_AEGRU,  "변경사유
  1532|       ' ' 'RC29A-AENST'                   '01',   "변경 번호 상태
  1533| 
  1534|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1535|       ' ' 'BDC_OKCODE'                    '=ENT1',
  1536|       ' ' 'RC29A-AEERL(01)'               'X',   "Obj. 유형 활성
  1537| 
  1538|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1539|       ' ' 'BDC_OKCODE'                    '=ENT1',
  1540|       ' ' 'RC29A-INDFL(01)'               'X',   "오브젝트
  1541| 
  1542|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1543|       ' ' 'BDC_OKCODE'                    '=ENT1',
  1544|       ' ' 'RC29A-OIGEN(01)'               'X',   "관리레코드생성
  1545| 
  1546|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1547|       ' ' 'BDC_OKCODE'                    '/00',
  1548| 
  1549|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1550|       ' ' 'BDC_OKCODE'                    '=FCBU'.
  1551| 
  1552|   CALL TRANSACTION 'CC01'
  1553|              USING GT_BDCDATA[]
  1554|       OPTIONS FROM GS_BDC_OPTION
  1555|      MESSAGES INTO GT_MESSTAB[].
  1556| 
  1557| *-- 메시지 처리
  1558|   READ TABLE GT_MESSTAB WITH KEY MSGTYP = 'S'
  1559|                                 MSGID = 'CC'
  1560|                                 MSGNR = '001'.
  1561|   IF SY-SUBRC EQ 0.
  1562|     P_MSGTY = 'S'.
  1563|   ELSE.
  1564|     P_MSGTY = 'E'.
  1565|     PERFORM BUILD_MESSAGE  USING GT_MESSTAB
  1566|                            CHANGING P_MSGTX.
  1567|   ENDIF.
  • EN: Build BDC screens for SAPMC29C with change number, description, valid-from date, reason and status, run CALL TRANSACTION CC01, and derive success/error message from BDC messages (CC 001).
  • 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO
  • SAP 객체: CC01, SAPMC29C, GT_BDCDATA, GT_MESSTAB, BUILD_MESSAGE, DYNPRO
  • 업무 키워드: 변경마스터 생성, BDC 배치입력, CC01, 효력 시작일, 변경사유, 메시지 처리
  • English: Change Master, BDC, Call Transaction, CC01, ECM
  • 정의부(복사 시 함께 필요): GT_BDCDATA, BDCMSGCOLL, GT_MESSTAB, GS_BDC_OPTION
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1516-L1567 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#BDC_CREATE_AENNR#C2

FORM GET_DYNP_VALUES_READ — ZFI_COMMON L1577-L1626 (50줄)

DYNP_VALUES_READ로 현재 화면의 필드 값을 읽어 같은 이름의 프로그램 변수에 넣는 공통 FORM이다.

이 unit 의 조각 1개가 35/50줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] DYNP_VALUES_READ로 현재 화면(SY-REPID/SY-DYNNR)의 지정 필드 값을 읽고, 성공하면 동적 ASSIGN한 동일 이름의 ABAP 변수에 값을 대입한다(F4/PAI 전 값 취득용).

  1589|   LS_DYNPFIELDS-FIELDNAME = P_FIELD.
  1590|   APPEND LS_DYNPFIELDS TO LT_DYNPFIELDS.
  1591| 
  1592|   CALL FUNCTION 'DYNP_VALUES_READ'
  1593|     EXPORTING
  1594|       DYNAME               = LV_DYNAME
  1595|       DYNUMB               = LV_DYNUM
  1596|     TABLES
  1597|       DYNPFIELDS           = LT_DYNPFIELDS
  1598|     EXCEPTIONS
  1599|       INVALID_ABAPWORKAREA = 1
  1600|       INVALID_DYNPROFIELD  = 2
  1601|       INVALID_DYNPRONAME   = 3
  1602|       INVALID_DYNPRONUMMER = 4
  1603|       INVALID_REQUEST      = 5
  1604|       NO_FIELDDESCRIPTION  = 6
  1605|       INVALID_PARAMETER    = 7
  1606|       UNDEFIND_ERROR       = 8
  1607|       DOUBLE_CONVERSION    = 9
  1608|       STEPL_NOT_FOUND      = 10
  1609|       OTHERS               = 11.
  1610| 
  1611|   IF SY-SUBRC <> 0.
  1612|     EXIT.
  1613| 
  1614|   ELSE.
  1615|     READ TABLE LT_DYNPFIELDS INTO LS_DYNPFIELDS
  1616|                            WITH KEY FIELDNAME = P_FIELD.
  1617|     IF SY-SUBRC EQ 0.
  1618|       ASSIGN (P_FIELD) TO <FS_FIELD>.
  1619|       IF <FS_FIELD> IS ASSIGNED.
  1620|         <FS_FIELD> = LS_DYNPFIELDS-FIELDVALUE.
  1621|       ENDIF.
  1622|     ENDIF.
  1623| 
  • EN: Read the current screen field value with DYNP_VALUES_READ and move it into the ABAP variable of the same name via dynamic assignment.
  • 호출(파서): DYNP_VALUES_READ
  • SAP 객체: DYNP_VALUES_READ, DYNPREAD
  • 업무 키워드: 화면 필드 값 읽기, F4 도움말 전 값 취득
  • English: Dynpro, DYNP_VALUES_READ, Screen Field
  • 정의부(복사 시 함께 필요): LS_DYNPFIELDS, LT_DYNPFIELDS, LV_DYNAME, LV_DYNUM, <FS_FIELD>
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1589-L1623 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#GET_DYNP_VALUES_READ#C1

FORM SET_DYNP_VALUES — ZFI_COMMON L1635-L1676 (42줄)

프로그램 변수 값을 DYNP_VALUES_UPDATE로 현재 화면 필드에 반영하는 공통 FORM이다.

이 unit 의 조각 1개가 23/42줄(55%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 필드명으로 ABAP 변수를 동적 ASSIGN하여 값을 DYNPREAD에 담고 DYNP_VALUES_UPDATE로 현재 화면(SY-REPID/SY-DYNNR)의 해당 필드 값을 갱신한다.

  1647|   LS_DYNPFIELDS-FIELDNAME = P_FIELD.
  1648| 
  1649|   ASSIGN (P_FIELD) TO <FS_FIELD>.
  1650|   IF <FS_FIELD> IS ASSIGNED.
  1651|     LS_DYNPFIELDS-FIELDVALUE = <FS_FIELD>.
  1652|   ENDIF.
  1653|   APPEND LS_DYNPFIELDS TO LT_DYNPFIELDS.
  1654| 
  1655|   CALL FUNCTION 'DYNP_VALUES_UPDATE'
  1656|     EXPORTING
  1657|       DYNAME               = LV_DYNAME
  1658|       DYNUMB               = LV_DYNUM
  1659|     TABLES
  1660|       DYNPFIELDS           = LT_DYNPFIELDS
  1661|     EXCEPTIONS
  1662|       INVALID_ABAPWORKAREA = 1
  1663|       INVALID_DYNPROFIELD  = 2
  1664|       INVALID_DYNPRONAME   = 3
  1665|       INVALID_DYNPRONUMMER = 4
  1666|       INVALID_REQUEST      = 5
  1667|       NO_FIELDDESCRIPTION  = 6
  1668|       UNDEFIND_ERROR       = 7
  1669|       OTHERS               = 8.
  • EN: Read the ABAP variable by dynamic assignment and push its value to the current screen field via DYNP_VALUES_UPDATE.
  • 호출(파서): DYNP_VALUES_UPDATE
  • SAP 객체: DYNP_VALUES_UPDATE, DYNPREAD
  • 업무 키워드: 화면 필드 값 갱신, 선택화면 동적 값 설정
  • English: Dynpro, DYNP_VALUES_UPDATE, Screen Field
  • 정의부(복사 시 함께 필요): LS_DYNPFIELDS, <FS_FIELD>, LT_DYNPFIELDS, LV_DYNAME, LV_DYNUM
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1647-L1669 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#SET_DYNP_VALUES#C1

FORM AUTHORITY_CHECK_TCODE — ZFI_COMMON L1682-L1695 (14줄)

S_TCODE 권한 객체로 현재 T-Code 실행 권한을 검사하고 T-Code 끝자리가 1이면 조회 모드(GV_DIP_MOD)로 설정하는 공통 FORM이다.

이 unit 의 조각 1개가 8/14줄(57%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[validation] AUTHORITY-CHECK OBJECT 'S_TCODE'로 SY-TCODE 실행 권한을 검사해 없으면 E077(S#) 오류로 중단하고, T-Code가 '*1' 패턴이면 조회 전용 모드 플래그를 켠다.

  1686|   AUTHORITY-CHECK OBJECT 'S_TCODE'
  1687|             ID 'TCD' FIELD SY-TCODE.
  1688| 
  1689|   IF SY-SUBRC NE 0.
  1690|     MESSAGE E077(S#) WITH SY-TCODE.
  1691|   ELSEIF SY-TCODE CP '*1'.
  1692|     GV_DIP_MOD = 'X'.
  1693|   ENDIF.
  • EN: Check transaction authorization via S_TCODE; raise error E077(S#) if missing, and set display-only mode when the T-Code ends with 1.
  • SAP 객체: S_TCODE
  • 업무 키워드: 트랜잭션 권한 검사, 조회 모드 설정
  • English: Authorization Check, S_TCODE, Display Mode
  • 정의부(복사 시 함께 필요): GV_DIP_MOD
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1686-L1693 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#AUTHORITY_CHECK_TCODE#C1

FORM F_PDF_DOWNLOAD — ZFI_COMMON L1734-L1799 (66줄)

Smart Forms 출력 결과(OTF)를 PDF로 변환하고 저장 대화상자를 거쳐 PC에 다운로드하는 공통 FORM이다.

이 unit 의 조각 2개가 47/66줄(71%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] Smart Forms 잡 결과(SSFCRESCL-OTFDATA)의 OTF 데이터를 CONVERT_OTF로 PDF 바이너리로 변환하고, OTF 라인을 텍스트 테이블로 만들어 SX_OBJECT_CONVERT_OTF_PDF로 PDF 바이너리 컨텐츠(LT_CONTENT_BIN)와 길이를 얻는다.

  1749|   LT_OTF[] = P_JOB-OTFDATA.
  1750| 
  1751|   CALL FUNCTION 'CONVERT_OTF'
  1752|     EXPORTING
  1753|       FORMAT                = 'PDF'
  1754|     IMPORTING
  1755|       BIN_FILESIZE          = LV_BIN_FILESIZE
  1756|       BIN_FILE              = LV_BIN_FILE
  1757|     TABLES
  1758|       OTF                   = LT_OTF
  1759|       LINES                 = LT_LINES
  1760|     EXCEPTIONS
  1761|       ERR_MAX_LINEWIDTH     = 1
  1762|       ERR_FORMAT            = 2
  1763|       ERR_CONV_NOT_POSSIBLE = 3
  1764|       ERR_BAD_OTF           = 4
  1765|       OTHERS                = 5.
  1766| 
  1767|   LOOP AT LT_OTF.
  1768|     CONCATENATE LT_OTF-TDPRINTCOM LT_OTF-TDPRINTPAR INTO LS_OTF.
  1769|     APPEND LS_OTF TO LT_CONTENT_TXT.
  1770|   ENDLOOP.
  1771| 
  1772|   CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
  1773|     EXPORTING
  1774|       FORMAT_SRC      = 'OTF'
  1775|       FORMAT_DST      = 'PDF'
  1776|       DEVTYPE         = 'PRINTER'
  1777|     CHANGING
  1778|       TRANSFER_BIN    = LV_TRANSFER_BIN
  1779|       CONTENT_TXT     = LT_CONTENT_TXT
  1780|       CONTENT_BIN     = LT_CONTENT_BIN
  1781|       OBJHEAD         = LT_OBJHEAD
  1782|       LEN             = LV_LEN_IN
  1783|     EXCEPTIONS
  1784|       ERR_CONV_FAILED = 1
  1785|       OTHERS          = 2.
  • EN: Convert Smart Forms OTF output to PDF using CONVERT_OTF and SX_OBJECT_CONVERT_OTF_PDF, producing binary PDF content and its length.
  • 호출(파서): CONVERT_OTF, SX_OBJECT_CONVERT_OTF_PDF
  • SAP 객체: CONVERT_OTF, SX_OBJECT_CONVERT_OTF_PDF, SSFCRESCL, ITCOO
  • 업무 키워드: OTF PDF 변환, Smart Forms 출력, 양식 다운로드
  • English: Smart Forms, OTF, PDF Conversion
  • 정의부(복사 시 함께 필요): LT_OTF, LV_BIN_FILESIZE, LV_BIN_FILE, LT_LINES, LS_OTF, LT_CONTENT_TXT, LV_TRANSFER_BIN, LT_CONTENT_BIN, LT_OBJHEAD, LV_LEN_IN
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1749-L1785 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#F_PDF_DOWNLOAD#C1

[fm_call] OPEN_SAVE_FILE_SEL로 pdf 저장 경로를 받은 뒤 GUI_DOWNLOAD(FILETYPE='BIN')로 PDF 바이너리를 로컬 PC에 저장한다.

  1788|   LV_FILESIZE = LV_LEN_IN.
  1789|   PERFORM OPEN_SAVE_FILE_SEL USING 'pdf' CHANGING LV_FILENAME.
  1790| 
  1791|   CALL FUNCTION 'GUI_DOWNLOAD'
  1792|     EXPORTING
  1793|       BIN_FILESIZE = LV_FILESIZE
  1794|       FILENAME     = LV_FILENAME
  1795|       FILETYPE     = 'BIN'
  1796|     TABLES
  1797|       DATA_TAB     = LT_CONTENT_BIN.
  • EN: Ask for a PDF save path via OPEN_SAVE_FILE_SEL and download the binary PDF content to the frontend with GUI_DOWNLOAD.
  • 호출(파서): OPEN_SAVE_FILE_SEL, GUI_DOWNLOAD
  • SAP 객체: GUI_DOWNLOAD, OPEN_SAVE_FILE_SEL
  • 업무 키워드: PDF 다운로드, 로컬 저장
  • English: GUI_DOWNLOAD, PDF, Frontend Download
  • 정의부(복사 시 함께 필요): LV_FILESIZE, LV_LEN_IN, LV_FILENAME, LT_CONTENT_BIN
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1788-L1797 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#F_PDF_DOWNLOAD#C2

FORM OPEN_SAVE_FILE_SEL — ZFI_COMMON L1808-L1864 (57줄)

파일 저장 대화상자(FILE_SAVE_DIALOG)를 열어 사용자가 지정한 저장 파일명을 돌려주는 공통 FORM이다.

이 unit 의 조각 1개가 36/57줄(63%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 확장자·기본 파일명·필터(전체/엑셀)·초기 디렉토리를 설정한 뒤 CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG를 호출하고, 오류 시 메시지, 취소 시 종료, 확인 시 파일명을 P_FILENAME에 반환한다.

  1825|   LV_DEFAULT_EXTENSION  = P_EXT.
  1826|   CONCATENATE '*.' P_EXT INTO LV_DEFAULT_FILE_NAME.
  1827|   LV_INITIAL_DIRECTORY  = 'C:\'.
  1828|   CONCATENATE CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL
  1829| *            CL_GUI_FRONTEND_SERVICES=>FILETYPE_TEXT
  1830|               CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL
  1831|          INTO LV_FILE_FILTER.
  1832| 
  1833|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
  1834|     EXPORTING
  1835| *    WINDOW_TITLE
  1836|       DEFAULT_EXTENSION       = LV_DEFAULT_EXTENSION
  1837|       DEFAULT_FILE_NAME       = LV_DEFAULT_FILE_NAME
  1838| *    WITH_ENCODING           = ABAP_TRUE
  1839|       FILE_FILTER             = LV_FILE_FILTER
  1840|       INITIAL_DIRECTORY       = LV_INITIAL_DIRECTORY
  1841|     CHANGING
  1842|       FILENAME                = LV_FILENAME
  1843|       PATH                    = LV_PATH
  1844|       FULLPATH                = LV_FULLPATH
  1845|       USER_ACTION             = LV_USER_ACTION
  1846|     EXCEPTIONS
  1847|       CNTL_ERROR              = 2
  1848|       ERROR_NO_GUI            = 3
  1849|       NOT_SUPPORTED_BY_GUI    = 4
  1850|       OTHERS                  = 5.
  1851|   IF SY-SUBRC <> 0.
  1852|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1853|                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1854|     EXIT.
  1855|   ELSE.
  1856|     IF LV_USER_ACTION NE CL_GUI_FRONTEND_SERVICES=>ACTION_OK.
  1857|       EXIT.
  1858|     ENDIF.
  1859| 
  1860|     P_FILENAME = LV_FILENAME.
  • EN: Prepare extension, default name, file filter and initial directory, call CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG and return the chosen filename when the user confirms.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL, CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL, CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>ACTION_OK
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
  • 업무 키워드: 파일 저장 대화상자, 다운로드 경로 선택
  • English: File Save Dialog, Frontend Services
  • 정의부(복사 시 함께 필요): LV_DEFAULT_EXTENSION, LV_DEFAULT_FILE_NAME, LV_INITIAL_DIRECTORY, LV_FILE_FILTER, LV_FILENAME, LV_PATH, LV_FULLPATH, LV_USER_ACTION
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1825-L1860 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#OPEN_SAVE_FILE_SEL#C1

FORM ALSMEX_TAB_TO_ITAB — ZFI_COMMON L1874-L1902 (29줄)

ALSM_EXCEL_TO_INTERNAL_TABLE 결과(ALSMEX_TABLINE)를 동적으로 지정한 내부테이블·구조체에 행/열 매핑하여 적재하는 공통 FORM이다.

이 unit 의 조각 1개가 20/29줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[calculation] 엑셀 셀 데이터(ROW/COL/VALUE)를 순회하며 열 번호에 해당하는 구조체 컴포넌트에 값을 넣고(숫자는 콤마 제거), 행이 바뀔 때마다 대상 내부테이블에 APPEND한다.

  1881|   ASSIGN : (PT_EXCEL_TABLE) TO <ITAB>.
  1882|   ASSIGN : (PS_EXCEL_STRUC) TO <ILINE>.
  1883| 
  1884|   LOOP AT PT_INTERN.
  1885|     AT NEW ROW.
  1886|       CLEAR : <ILINE>.
  1887|     ENDAT.
  1888| 
  1889|     ASSIGN COMPONENT PT_INTERN-COL OF STRUCTURE <ILINE> TO <FIELD>.
  1890| 
  1891|     IF PT_INTERN-VALUE CO '0123456789,.- '.
  1892|       REPLACE ALL OCCURRENCES OF ',' IN PT_INTERN-VALUE WITH ''.
  1893|     ENDIF.
  1894| 
  1895|     MOVE PT_INTERN-VALUE TO <FIELD>.
  1896| 
  1897|     AT END OF ROW.
  1898|       APPEND <ILINE> TO <ITAB>.
  1899|     ENDAT.
  1900|   ENDLOOP.
  • EN: Iterate Excel cell lines, move each value into the structure component matching the column (removing thousand separators from numerics) and append one line per row to the dynamically assigned target table.
  • SAP 객체: ALSMEX_TABLINE, ALSM_EXCEL_TO_INTERNAL_TABLE
  • 업무 키워드: 엑셀 셀 매핑, 동적 내부테이블, 콤마 제거
  • English: Excel Upload, ALSMEX_TABLINE, Dynamic Assign
  • 정의부(복사 시 함께 필요): <ITAB>, <ILINE>, <FIELD>
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1881-L1900 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#ALSMEX_TAB_TO_ITAB#C1

FORM START_INTERFACE_BDC — ZFI_COMMON L1910-L1930 (21줄)

FTPOST 작업 테이블을 초기화하고 POSTING_INTERFACE_START로 FI Posting Interface(Call Transaction 방식)를 시작하는 공통 FORM이다.

이 unit 의 조각 1개가 13/21줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] POSTING_INTERFACE_START를 I_FUNCTION='C'(Call Transaction), 지정 모드(P_MODE), 동기 업데이트('S')로 호출해 FI 전표 전기 인터페이스를 연다.

  1917|   CALL FUNCTION 'POSTING_INTERFACE_START'
  1918|     EXPORTING
  1919|       I_FUNCTION         = 'C' " Using Call Transaction
  1920|       I_KEEP             = 'Y'
  1921|       I_MODE             = P_MODE
  1922|       I_UPDATE           = 'S'
  1923|     EXCEPTIONS
  1924|       CLIENT_INCORRECT   = 1
  1925|       FUNCTION_INVALID   = 2
  1926|       GROUP_NAME_MISSING = 3
  1927|       MODE_INVALID       = 4
  1928|       UPDATE_INVALID     = 5
  1929|       OTHERS             = 6.
  • EN: Open the FI posting interface with POSTING_INTERFACE_START in call-transaction mode, given display mode and synchronous update.
  • 호출(파서): POSTING_INTERFACE_START
  • SAP 객체: POSTING_INTERFACE_START
  • 업무 키워드: 전기 인터페이스 시작, Call Transaction, 전표 전기
  • English: Posting Interface, Call Transaction, FI Document
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1917-L1929 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#START_INTERFACE_BDC#C1

FORM END_INTERFACE_BDC — ZFI_COMMON L1937-L1947 (11줄)

POSTING_INTERFACE_END를 호출해 FI Posting Interface 세션을 종료하고 FTPOST/FTTAX/BLNTAB 작업 테이블을 초기화하는 공통 FORM이다.

이 unit 의 조각 1개가 3/11줄(27%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] FI Posting Interface 처리를 POSTING_INTERFACE_END(I_BDCIMMED='X')로 종료해 BDC 세션을 즉시 처리한다.

  1938|   CALL FUNCTION 'POSTING_INTERFACE_END'
  1939|     EXPORTING
  1940|       I_BDCIMMED = 'X'.
  • EN: Close the FI posting interface session via POSTING_INTERFACE_END with immediate BDC processing.
  • 호출(파서): POSTING_INTERFACE_END
  • SAP 객체: POSTING_INTERFACE_END
  • 업무 키워드: 전기 인터페이스 종료, BDC 세션
  • English: Posting Interface, BDC Session
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1938-L1940 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#END_INTERFACE_BDC#C1

FORM FILL_FIELD — ZFI_COMMON L1957-L1980 (24줄)

Posting Interface(FTPOST)용 필드명·값을 한 건 채우며 금액 필드는 통화 형식으로 편집하여 FTPOST 테이블에 추가하는 공통 FORM이다.

이 unit 의 조각 1개가 18/24줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[interface] 값이 있는 경우에만 FTPOST에 STYPE/COUNT와 필드명을 설정하고, 금액 필드(FCURR_X='X')는 통화(GV_FTPOST_WAERS) 기준으로 WRITE 편집 후 FTPOST-FVAL에 넣어 Posting Interface 전표 필드로 APPEND한다.

  1961|   CHECK FVAL NE SPACE.
  1962| 
  1963|   FTPOST-FNAM = FNAM.
  1964|   FTPOST-STYPE = GV_FTPOST_TYPE.
  1965|   FTPOST-COUNT = GV_FTPOST_CNT.
  1966| 
  1967|   " 금액 필드일 경우.
  1968|   IF FCURR_X = 'X'.
  1969|     WRITE FVAL TO LV_CURR CURRENCY
  1970|        GV_FTPOST_WAERS LEFT-JUSTIFIED.
  1971|     CONDENSE LV_CURR NO-GAPS.
  1972|     WRITE LV_CURR TO FTPOST-FVAL.
  1973|   ELSE.
  1974|     WRITE FVAL TO FTPOST-FVAL.
  1975|   ENDIF.
  1976| 
  1977|   APPEND FTPOST.
  1978|   CLEAR FTPOST.
  • EN: Populate one FTPOST entry for the FI posting interface: set field name, segment type and count, format amount fields with currency and append.
  • SAP 객체: FTPOST, POSTING_INTERFACE_DOCUMENT
  • 업무 키워드: 전기 인터페이스, FTPOST 필드 구성, 금액 통화 편집
  • English: Posting Interface, FTPOST, Currency Format
  • 정의부(복사 시 함께 필요): FTPOST, GV_FTPOST_TYPE, GV_FTPOST_CNT, LV_CURR, GV_FTPOST_WAERS
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1961-L1978 · confidence 0.85 · ZFIR0040#ZFI_COMMON#FORM#FILL_FIELD#C1

FORM BUILD_MESSGE_IF — ZFI_COMMON L1989-L2004 (16줄)

인터페이스 메시지 구조(MSGID/MSGNO/MSGV1~4)를 MESSAGE_TEXT_BUILD로 메시지 텍스트로 조립하는 공통 FORM이다.

이 unit 의 조각 1개가 10/16줄(62%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 메시지 클래스·번호·변수 1~4를 MESSAGE_TEXT_BUILD에 넘겨 사용자에게 보여줄 메시지 문장을 생성한다.

  1994|   CALL FUNCTION 'MESSAGE_TEXT_BUILD'
  1995|     EXPORTING
  1996|       MSGID               = PS_MESSAGE-MSGID
  1997|       MSGNR               = PS_MESSAGE-MSGNO
  1998|       MSGV1               = PS_MESSAGE-MSGV1
  1999|       MSGV2               = PS_MESSAGE-MSGV2
  2000|       MSGV3               = PS_MESSAGE-MSGV3
  2001|       MSGV4               = PS_MESSAGE-MSGV4
  2002|     IMPORTING
  2003|       MESSAGE_TEXT_OUTPUT = PV_TEXT.
  • EN: Build the readable message text from message ID, number and variables using MESSAGE_TEXT_BUILD.
  • 호출(파서): MESSAGE_TEXT_BUILD
  • SAP 객체: MESSAGE_TEXT_BUILD, GT_IF_MSG
  • 업무 키워드: 메시지 텍스트 생성, 인터페이스 메시지
  • English: Message Text, Message Class
  • 위치: abap://ZFIR0040/ZFI_COMMON#L1994-L2003 · confidence 0.9 · ZFIR0040#ZFI_COMMON#FORM#BUILD_MESSGE_IF#C1

FORM GET_POST_PERIOD — ZFI_COMMON L2014-L2041 (28줄)

회사코드와 전기일로 FI_PERIOD_DETERMINE을 호출해 회계연도·전기기간을 구하고 실패 시 날짜에서 직접 추출하는 공통 FORM이다.

이 unit 의 조각 1개가 21/28줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[fm_call] 회사코드(BUKRS)와 전기일(BUDAT)로 FI_PERIOD_DETERMINE을 호출해 회계연도(GJAHR)와 전기기간(MONAT)을 구하고, 예외 발생 시 달력 연도·월을 대신 사용한다.

  2019|   CALL FUNCTION 'FI_PERIOD_DETERMINE'
  2020|     EXPORTING
  2021|       I_BUKRS        = PV_BUKRS
  2022|       I_BUDAT        = PV_DATE
  2023|     IMPORTING
  2024|       E_GJAHR        = P_LFGJA
  2025|       E_MONAT        = P_LFMON
  2026|     EXCEPTIONS
  2027|       FISCAL_YEAR    = 1
  2028|       PERIOD         = 2
  2029|       PERIOD_VERSION = 3
  2030|       POSTING_PERIOD = 4
  2031|       SPECIAL_PERIOD = 5
  2032|       VERSION        = 6
  2033|       POSTING_DATE   = 7
  2034|       OTHERS         = 8.
  2035| 
  2036|   IF SY-SUBRC NE 0.
  2037|     P_LFGJA = PV_DATE(4).
  2038|     P_LFMON = PV_DATE+4(2).
  2039|   ENDIF.
  • EN: Determine fiscal year and posting period from company code and posting date via FI_PERIOD_DETERMINE, falling back to calendar year/month on exception.
  • 호출(파서): FI_PERIOD_DETERMINE
  • SAP 객체: FI_PERIOD_DETERMINE
  • 업무 키워드: 회계연도 결정, 전기기간, 회사코드, 전기일
  • English: Fiscal Year, Posting Period, Company Code, Posting Date
  • 위치: abap://ZFIR0040/ZFI_COMMON#L2019-L2039 · confidence 0.95 · ZFIR0040#ZFI_COMMON#FORM#GET_POST_PERIOD#C1

FORM CALL_FB03 — ZFIR0040F01 L155-L185 (31줄)

ALV 행 번호로 비용전표 연계 내역을 읽어 전표번호가 있으면 FB03 전표 조회를 호출하는 FORM이다.

이 unit 의 조각 1개가 18/31줄(58%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[control_flow] 행 번호가 숫자인지 확인해 GT_DATA를 읽고 전표번호(BELNR)가 있으면 SET PARAMETER(BLN/BUK/GJR) 후 FB03을 SKIP FIRST SCREEN으로 호출해 전표를 조회한다(BKPF 상태 확인 분기는 주석 처리됨).

   158|   CHECK P_ROW CO '0123456789 '.
   159|   READ TABLE GT_DATA INDEX P_ROW.
   160|   CHECK SY-SUBRC EQ 0.
   161| 
   162|   CHECK GT_DATA-BELNR IS NOT INITIAL.
   163| *
   164| *  SELECT SINGLE *
   165| *    FROM BKPF
   166| *    INTO LS_BKPF
   167| *    WHERE BUKRS = P_BUKRS
   168| *    AND GJAHR = GT_DATA-GJAHR
   169| *  AND BELNR = GT_DATA-BELNR.
   170| 
   171| *  IF LS_BKPF-BSTAT = ' '.
   172|     SET PARAMETER ID 'BLN' FIELD GT_DATA-BELNR.
   173|     SET PARAMETER ID 'BUK' FIELD P_BUKRS.
   174|     SET PARAMETER ID 'GJR' FIELD GT_DATA-GJAHR.
   175|     CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
  • EN: Validates the row index, reads the interface record and, if a document number exists, navigates to FB03 document display via SET PARAMETER and CALL TRANSACTION.
  • 호출(파서): FB03
  • SAP 객체: FB03, BKPF
  • 업무 키워드: 전표 조회 이동, 전표번호, 행 검증
  • English: Document Display, FB03, CALL TRANSACTION, SET PARAMETER
  • 정의부(복사 시 함께 필요): GT_DATA, P_BUKRS
  • 위치: abap://ZFIR0040/ZFIR0040F01#L158-L175 · confidence 0.9 · ZFIR0040#ZFIR0040F01#FORM#CALL_FB03#C1

MODULE USER_COMMAND_0100 INPUT — ZFIR0040I01 L6-L28 (23줄)

화면 100의 PAI에서 BACK/CANC/EXIT 기능코드를 받아 ALV 컨테이너를 정리하고 화면을 빠져나가는 USER_COMMAND 모듈이다.

이 unit 의 조각 1개가 18/23줄(78%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.

[control_flow] BACK/CANC/EXIT 기능코드 시 CLEAR_CONTAINER_PROC로 ALV·도킹 컨테이너를 해제하고 EXIT면 LEAVE PROGRAM, 아니면 LEAVE TO SCREEN 0으로 복귀한다.

     9|   CASE GV_T_OK_CODE.
    10|     WHEN 'BACK' OR 'CANC' OR 'EXIT'.
    11|       PERFORM CLEAR_CONTAINER_PROC USING
    12|           GO_ALV1 GO_DOCKING_CONT1 GO_SPLITTER1
    13|                           GO_CONTAINER_TOP1 GO_CONTAINER_ALV1
    14|                           GO_HTML_VIEW1
    15|                           GO_EVENT_RECEIVER1.
    16| 
    17|       IF GV_T_OK_CODE = 'EXIT'.
    18|         LEAVE PROGRAM.
    19|       ELSE.
    20|         LEAVE TO SCREEN 0.
    21|       ENDIF.
    22|       "Function Code 맵핑
    23| 
    24|     WHEN OTHERS.
    25| *      LEAVE PROGRAM.
    26|   ENDCASE.

정의부 (286건)

로직 조각을 다른 프로그램으로 옮겨 붙일 때 함께 가야 하는 선언이다. 조각별로 무엇이 필요한지는 위 조각 항목의 정의부 줄에 있고(이름을 누르면 여기로 온다), 붙여넣기용으로 의존까지 묶은 코드는 GET /chunks/<chunk_id>declaration_code 로 받는다.

ZFIR0040C01 (1건)

LCL_DEF_RECEIVER — class · L5-L56

CLASS LCL_DEF_RECEIVER DEFINITION.

  PUBLIC SECTION.

    METHODS: HANDLE_TOP_OF_PAGE
               FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID
               IMPORTING E_DYNDOC_ID TABLE_INDEX.

    METHODS : HANDLE_TOOLBAR
                 FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
                 IMPORTING SENDER
                           E_OBJECT
                           E_INTERACTIVE.
    METHODS : HANDLE_USER_COMMAND
                 FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
                 IMPORTING SENDER E_UCOMM.

    METHODS : HANDLE_DATA_CHANGED
                 FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
                 IMPORTING SENDER ER_DATA_CHANGED.

    METHODS : HANDLE_DATA_CHANGED_FINISHED
                 FOR EVENT DATA_CHANGED_FINISHED OF CL_GUI_ALV_GRID
                 IMPORTING SENDER E_MODIFIED
                           ET_GOOD_CELLS.

    METHODS : HANDLE_HOTSPOT_CLICK
                 FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
                 IMPORTING SENDER E_ROW_ID
                           E_COLUMN_ID.

    METHODS : HANDLE_DOUBLE_CLICK
                 FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
                 IMPORTING SENDER
                           E_ROW
                           E_COLUMN
                           ES_ROW_NO.

    METHODS: HANDLE_ON_F4 FOR EVENT ONF4 OF CL_GUI_ALV_GRID
       IMPORTING SENDER
                 E_FIELDNAME
                 E_FIELDVALUE
                 ES_ROW_NO
                 ER_EVENT_DATA
                 ET_BAD_CELLS
                 E_DISPLAY.

    METHODS : HANDLE_CONTEXT_MENU_REQ
        FOR EVENT CONTEXT_MENU_REQUEST OF CL_GUI_ALV_GRID
        IMPORTING E_OBJECT.

ENDCLASS.  " LCL_DEF_RECEIVER

ZFIR0040TOP (29건)

IBRTT — type-pool · L1-L1

TYPE-POOLS : IBRTT, VRM, ICON.

ICON — type-pool · L1-L1

TYPE-POOLS : IBRTT, VRM, ICON.

VRM — type-pool · L1-L1

TYPE-POOLS : IBRTT, VRM, ICON.

ICON — tables · L2-L2

TABLES : ICON, SSCRFIELDS.

SSCRFIELDS — tables · L2-L2

TABLES : ICON, SSCRFIELDS.

ISELLIST — tables · L3-L3

TABLES : ISELLIST. " 선택한 달력 조회

BKPF — tables · L4-L4

TABLES : DD03L, BKPF, LFA1, BSEG.

BSEG — tables · L4-L4

TABLES : DD03L, BKPF, LFA1, BSEG.

DD03L — tables · L4-L4

TABLES : DD03L, BKPF, LFA1, BSEG.

LFA1 — tables · L4-L4

TABLES : DD03L, BKPF, LFA1, BSEG.

GV_OK_CODE — data · L14-L14

DATA : GV_OK_CODE LIKE SY-UCOMM.

GV_T_OK_CODE — data · L15-L15

DATA : GV_T_OK_CODE LIKE SY-UCOMM.

GT_UCOMM — data · L17-L17

DATA : GT_UCOMM TYPE TABLE OF SY-UCOMM.

GV_LOCK — data · L21-L21

DATA : GV_LOCK(1) TYPE C. " Locking

GV_UPLOAD_ERROR — data · L22-L22

DATA : GV_UPLOAD_ERROR(1) TYPE C. " 업로드 오류

GV_ALREADY_POST — data · L23-L23

DATA : GV_ALREADY_POST(1) TYPE C. " 실행 여부

GV_POST_ERROR — data · L24-L24

DATA : GV_POST_ERROR(1) TYPE C. " 전기 오류

GV_BUKRS_O — data · L26-L26

DATA : GV_BUKRS_O(1) TYPE C.

GC_MAIN_ITAB_NAME — constants · L31-L32

CONSTANTS : GC_MAIN_ITAB_NAME TYPE DD03L-TABNAME
   VALUE 'GT_DATA'.

GT_MAIN_FIELDCAT — data · L38-L38

DATA : GT_MAIN_FIELDCAT TYPE LVC_T_FCAT.

GT_DATA — data · L43-L57

DATA : BEGIN OF GT_DATA OCCURS 0.
        INCLUDE STRUCTURE ZFIT0090.

DATA :
*  BTYPE_T LIKE DD07T-DDTEXT,
  CANCELFLAG_T LIKE DD07T-DDTEXT,
  LIFNR_T LIKE LFA1-NAME1,
  SAKNR_T LIKE SKAT-TXT20,

  EXCEL_LINE TYPE I,
  MARK         TYPE C         ,
  STATUS LIKE ICON-ID,
  F_COL TYPE LVC_T_SCOL,
  MESSAGE LIKE BDCMSGCOLL-MSGV1,
END OF GT_DATA.

GS_DATA — data · L59-L59

DATA : GS_DATA LIKE GT_DATA.

GT_ERROR_LOG_POPUP — data · L61-L67

DATA : BEGIN OF GT_ERROR_LOG_POPUP OCCURS 0,
  EXCEL_LINE TYPE I,
  SCRTEXT_L LIKE DD03VT-SCRTEXT_L,
  STATUS LIKE ICON-ID,
  F_COL TYPE LVC_T_SCOL,
  MESSAGE LIKE BDCMSGCOLL-MSGV1,
END OF GT_ERROR_LOG_POPUP.

GS_POPUP — data · L70-L70

DATA : GS_POPUP LIKE GT_ERROR_LOG_POPUP.

W_POPUP_GRID — data · L71-L71

DATA : W_POPUP_GRID TYPE REF TO CL_RS_ALV_GRID_POPUP.

P_BUKRS — parameter · L80-L81

PARAMETERS : P_BUKRS LIKE T001-BUKRS OBLIGATORY DEFAULT 'KR01'
  MODIF ID MG1.

S_TRDAT — select-option · L86-L86

SELECT-OPTIONS : S_TRDAT FOR BKPF-BLDAT OBLIGATORY.

S_BLDAT — select-option · L87-L87

SELECT-OPTIONS : S_BLDAT FOR BKPF-BLDAT OBLIGATORY.

S_LIFNR — select-option · L90-L90

SELECT-OPTIONS : S_LIFNR FOR LFA1-LIFNR.

ZFI_ALV (125건)

F4TYP — type-pool · L9-L9

TYPE-POOLS : SLIS, F4TYP, SDYDO.

SDYDO — type-pool · L9-L9

TYPE-POOLS : SLIS, F4TYP, SDYDO.

SLIS — type-pool · L9-L9

TYPE-POOLS : SLIS, F4TYP, SDYDO.

T_MSG — types · L11-L19

TYPES : BEGIN OF T_MSG,
          MSGID TYPE SYMSGID,
          MSGNO TYPE SYMSGNO,
          MSGTY,
          MSG1(50),
          MSG2(50),
          MSG3(50),
          MSG4(50),
        END OF T_MSG.

GS_MSG — data · L20-L20

DATA : GS_MSG TYPE T_MSG.

GT_TOP_OF_PAGE_TXT — data · L22-L26

DATA : BEGIN OF GT_TOP_OF_PAGE_TXT OCCURS 0,
  TOP_TEXT TYPE SDYDO_TEXT_ELEMENT,
  FONTSIZE TYPE SDYDO_ATTRIBUTE,
  COLOR TYPE SDYDO_ATTRIBUTE,
END OF GT_TOP_OF_PAGE_TXT.

GC_STATUS_SET — constants · L28-L28

CONSTANTS : GC_STATUS_SET    TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET'.

GC_USER_COMMAND — constants · L29-L29

CONSTANTS : GC_USER_COMMAND  TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

GC_TOP_OF_PAGE — constants · L30-L30

CONSTANTS : GC_TOP_OF_PAGE   TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

GC_TOP_OF_LIST — constants · L31-L31

CONSTANTS : GC_TOP_OF_LIST   TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST'.

GC_END_OF_LIST — constants · L32-L32

CONSTANTS : GC_END_OF_LIST   TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.

GC_DATA_CHANGED — constants · L33-L33

CONSTANTS : GC_DATA_CHANGED  TYPE SLIS_FORMNAME VALUE 'DATA_CHANGED'.

GC_HTML_TOP_OF_PAGE — constants · L34-L35

CONSTANTS : GC_HTML_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'HTML_TOP_OF_PAGE'.

GC_PRT_TOP_OF_PAGE — constants · L36-L37

CONSTANTS : GC_PRT_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'PRT_TOP_OF_PAGE'.

GV_SAVE — data · L40-L40

DATA : GV_SAVE.

GV_TABIX — data · L41-L41

DATA : GV_TABIX LIKE SY-TABIX.

GV_FLD_NAME — data · L42-L42

DATA : GV_FLD_NAME(30).

GV_EXGT_CAUSED_BY_CALLER — data · L43-L43

DATA : GV_EXGT_CAUSED_BY_CALLER.

GV_REPID — data · L44-L44

DATA : GV_REPID TYPE SY-REPID.

GV_DYNNR — data · L45-L45

DATA : GV_DYNNR TYPE SY-DYNNR.

GV_PROGRAM_NAME — data · L46-L46

DATA : GV_PROGRAM_NAME LIKE SY-REPID.

GV_INCLNAME — data · L47-L47

DATA : GV_INCLNAME LIKE TRDIR-NAME.

GV_EXTENSION — data · L48-L48

DATA : GV_EXTENSION TYPE I.

GS_LAYOUT — data · L51-L51

DATA : GS_LAYOUT              TYPE SLIS_LAYOUT_ALV.

GS_EXGT_CAUSED_BY_USER — data · L52-L52

DATA:
       GS_EXGT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER.

GS_FIELDCAT — data · L53-L53

DATA:
       GS_FIELDCAT            TYPE SLIS_FIELDCAT_ALV.

GS_SORT — data · L54-L54

DATA:
       GS_SORT                TYPE SLIS_SORTINFO_ALV.

GS_KEYINFO — data · L55-L55

DATA:
       GS_KEYINFO             TYPE SLIS_KEYINFO_ALV.

GS_VARIANT — data · L56-L56

DATA:
       GS_VARIANT             TYPE DISVARIANT.

GS_SCROLL — data · L57-L57

DATA:
       GS_SCROLL              TYPE SLIS_LIST_SCROLL.

GS_DETAIL_FUNC — data · L58-L58

DATA:
       GS_DETAIL_FUNC         LIKE DD02L-TABNAME.

GS_LVC_LAYO1 — data · L60-L60

DATA : GS_LVC_LAYO1       TYPE LVC_S_LAYO.  " LAYOUT\

GS_LVC_LAYO2 — data · L61-L61

DATA:
       GS_LVC_LAYO2       TYPE LVC_S_LAYO.

GS_LVC_LAYO3 — data · L62-L62

DATA:
       GS_LVC_LAYO3       TYPE LVC_S_LAYO.

GS_LVC_LAYO4 — data · L63-L63

DATA:
       GS_LVC_LAYO4       TYPE LVC_S_LAYO.

GS_LVC_FCAT — data · L65-L65

DATA : GS_LVC_FCAT        TYPE LVC_S_FCAT.             " FIELDCATALOG

GS_ROW — data · L67-L67

DATA : GS_ROW  LIKE LVC_S_ROW.

GS_COL — data · L68-L68

DATA:
       GS_COL  LIKE LVC_S_COL.

GS_STABLE — data · L69-L69

DATA : GS_STABLE      TYPE LVC_S_STBL.

GT_EVENTS — data · L72-L72

DATA : GT_EVENTS          TYPE SLIS_T_EVENT.

GT_LISTHEADER — data · L73-L73

DATA:
       GT_LISTHEADER      TYPE SLIS_T_LISTHEADER.

GT_FIELDCAT — data · L74-L74

DATA:
       GT_FIELDCAT        TYPE SLIS_T_FIELDCAT_ALV.

GT_SORT — data · L75-L75

DATA:
       GT_SORT            TYPE SLIS_T_SORTINFO_ALV.

GT_EXIT — data · L76-L76

DATA:
       GT_EXIT            TYPE SLIS_EVENT_EXIT OCCURS 0.

GT_PRINT — data · L77-L77

DATA:
       GT_PRINT           TYPE SLIS_PRINT_ALV.

GT_UI_FUNCTIONS1 — data · L79-L79

DATA : GT_UI_FUNCTIONS1    TYPE UI_FUNCTIONS.  " TOOLBAR

GT_UI_FUNCTIONS2 — data · L80-L80

DATA:
       GT_UI_FUNCTIONS2   TYPE UI_FUNCTIONS.

GT_UI_FUNCTIONS3 — data · L81-L81

DATA:
       GT_UI_FUNCTIONS3   TYPE UI_FUNCTIONS.

GT_UI_FUNCTIONS4 — data · L82-L82

DATA:
       GT_UI_FUNCTIONS4   TYPE UI_FUNCTIONS.

GT_LVC_SORT1 — data · L84-L84

DATA : GT_LVC_SORT1        TYPE LVC_T_SORT.  " SORT

GT_LVC_SORT2 — data · L85-L85

DATA:
       GT_LVC_SORT2       TYPE LVC_T_SORT.

GT_LVC_SORT3 — data · L86-L86

DATA:
       GT_LVC_SORT3       TYPE LVC_T_SORT.

GT_LVC_SORT4 — data · L87-L87

DATA:
       GT_LVC_SORT4       TYPE LVC_T_SORT.

GT_LVC_FCAT1 — data · L89-L89

DATA : GT_LVC_FCAT1        TYPE LVC_T_FCAT.  " FIELDCATALOG

GT_LVC_FCAT2 — data · L90-L90

DATA:
       GT_LVC_FCAT2       TYPE LVC_T_FCAT.

GT_LVC_FCAT3 — data · L91-L91

DATA:
       GT_LVC_FCAT3       TYPE LVC_T_FCAT.

GT_LVC_FCAT4 — data · L92-L92

DATA:
       GT_LVC_FCAT4       TYPE LVC_T_FCAT.

GT_LVC_DROP — data · L95-L95

DATA : GT_LVC_DROP     TYPE LVC_T_DROP.

GS_LVC_DROP — data · L96-L96

DATA:
       GS_LVC_DROP     TYPE LVC_S_DROP.

GT_ALV_COLOR — data · L99-L99

DATA : GT_ALV_COLOR        TYPE LVC_T_SCOL WITH HEADER LINE.

GS_ALV_COLOR — data · L100-L100

DATA:
       GS_ALV_COLOR        TYPE LVC_S_COLO.

GT_ROWS — data · L103-L103

DATA : GT_ROWS         TYPE LVC_T_ROW.

GS_ROWS — data · L104-L104

DATA:
       GS_ROWS         TYPE LVC_S_ROW.

GV_FUN — data · L105-L105

DATA:
       GV_FUN(1) VALUE 'D'.

GS_F4_VALUE — data · L109-L109

DATA : GS_F4_VALUE      TYPE SEAHLPRES.

GS_F4_FIELD — data · L110-L110

DATA:
       GS_F4_FIELD      TYPE DFIES.

GS_F4 — data · L111-L111

DATA:
       GS_F4            TYPE DDSHRETVAL.

GS_LVC_MODI — data · L112-L112

DATA:
       GS_LVC_MODI      TYPE LVC_S_MODI.

GS_LVC_F4 — data · L113-L113

DATA:
       GS_LVC_F4        TYPE LVC_S_F4.

GT_F4_VALUES — data · L116-L116

DATA : GT_F4_VALUES     TYPE TABLE OF SEAHLPRES.

GT_F4_FIELDS — data · L117-L117

DATA:
       GT_F4_FIELDS     TYPE TABLE OF DFIES.

GT_LVC_F4 — data · L118-L118

DATA:
       GT_LVC_F4        TYPE LVC_T_F4.

<FS_F4TAB> — field-symbol · L121-L121

FIELD-SYMBOLS : <FS_F4TAB> TYPE LVC_T_MODI.

GV_CONSISTENCY_CHECK — data · L123-L123

DATA : GV_CONSISTENCY_CHECK(1) TYPE C.

GV_ALV_COLPOS — data · L125-L125

DATA : GV_ALV_COLPOS TYPE I.

GC_STATUS_GREEN — constants · L128-L128

CONSTANTS : GC_STATUS_GREEN LIKE ICON-ID VALUE ICON_GREEN_LIGHT.

GC_STATUS_YELLOW — constants · L129-L129

CONSTANTS : GC_STATUS_YELLOW LIKE ICON-ID VALUE ICON_YELLOW_LIGHT.

GC_STATUS_RED — constants · L130-L130

CONSTANTS : GC_STATUS_RED LIKE ICON-ID VALUE ICON_RED_LIGHT.

GV_TOP_OF_PAGE — data · L132-L132

DATA : GV_TOP_OF_PAGE(255) TYPE C.

GC_ALV1_CONTNAME — constants · L142-L142

CONSTANTS : GC_ALV1_CONTNAME TYPE SCRFNAME VALUE 'ALV1_CONT'.

GC_ALV2_CONTNAME — constants · L143-L143

CONSTANTS : GC_ALV2_CONTNAME TYPE SCRFNAME VALUE 'ALV2_CONT'.

GC_ALV3_CONTNAME — constants · L144-L144

CONSTANTS : GC_ALV3_CONTNAME TYPE SCRFNAME VALUE 'ALV3_CONT'.

GC_ALV4_CONTNAME — constants · L145-L145

CONSTANTS : GC_ALV4_CONTNAME TYPE SCRFNAME VALUE 'ALV4_CONT'.

GO_CONTAINER_TOP1 — data · L148-L148

DATA:
GO_CONTAINER_TOP1         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV1 — data · L149-L149

DATA:
GO_CONTAINER_ALV1         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_TOP2 — data · L151-L151

DATA:
GO_CONTAINER_TOP2         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV2 — data · L152-L152

DATA:
GO_CONTAINER_ALV2         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_TOP3 — data · L154-L154

DATA:
GO_CONTAINER_TOP3         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV3 — data · L155-L155

DATA:
GO_CONTAINER_ALV3         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_TOP4 — data · L157-L157

DATA:
GO_CONTAINER_TOP4         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV4 — data · L158-L158

DATA:
GO_CONTAINER_ALV4         TYPE REF TO CL_GUI_CONTAINER.

GO_ALV1 — data · L160-L160

DATA:
GO_ALV1              TYPE REF TO LCL_DEF_GRID.

GO_ALV2 — data · L161-L161

DATA:
GO_ALV2             TYPE REF TO LCL_DEF_GRID.

GO_ALV3 — data · L162-L162

DATA:
GO_ALV3             TYPE REF TO LCL_DEF_GRID.

GO_ALV4 — data · L163-L163

DATA:
GO_ALV4             TYPE REF TO LCL_DEF_GRID.

GO_SPLITTER0 — data · L165-L165

DATA:
GO_SPLITTER0         TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER.

GO_SPLITTER1 — data · L166-L166

DATA:
GO_SPLITTER1          TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_SPLITTER2 — data · L167-L167

DATA:
GO_SPLITTER2         TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_SPLITTER3 — data · L168-L168

DATA:
GO_SPLITTER3         TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_SPLITTER4 — data · L169-L169

DATA:
GO_SPLITTER4         TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_DOCKING — data · L171-L171

DATA:
GO_DOCKING           TYPE REF TO CL_GUI_CONTAINER.

GO_COLUMN_TREE — data · L173-L173

DATA:
GO_COLUMN_TREE       TYPE REF TO CL_GUI_COLUMN_TREE.

GO_TREE — data · L174-L174

DATA:
GO_TREE              TYPE REF TO CL_GUI_ALV_TREE.

GO_TOOLBAR — data · L175-L175

DATA:
GO_TOOLBAR           TYPE REF TO CL_GUI_TOOLBAR.

GO_TEXTEDIT — data · L176-L176

DATA:
GO_TEXTEDIT          TYPE REF TO CL_GUI_TEXTEDIT.

GO_EVENT_RECEIVER1 — data · L178-L178

DATA:
GO_EVENT_RECEIVER1    TYPE REF TO LCL_DEF_RECEIVER.

GO_EVENT_RECEIVER2 — data · L179-L179

DATA:
GO_EVENT_RECEIVER2   TYPE REF TO LCL_DEF_RECEIVER.

GO_EVENT_RECEIVER3 — data · L180-L180

DATA:
GO_EVENT_RECEIVER3   TYPE REF TO LCL_DEF_RECEIVER.

GO_DOCKING_CONT1 — data · L182-L182

DATA : GO_DOCKING_CONT1 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DOCKING_CONT2 — data · L183-L183

DATA : GO_DOCKING_CONT2 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DOCKING_CONT3 — data · L184-L184

DATA : GO_DOCKING_CONT3 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DOCKING_CONT4 — data · L185-L185

DATA : GO_DOCKING_CONT4 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DD_DOCUMENT1 — data · L187-L187

DATA : GO_DD_DOCUMENT1 TYPE REF TO CL_DD_DOCUMENT.

GO_DD_DOCUMENT2 — data · L188-L188

DATA : GO_DD_DOCUMENT2 TYPE REF TO CL_DD_DOCUMENT.

GO_DD_DOCUMENT3 — data · L189-L189

DATA : GO_DD_DOCUMENT3 TYPE REF TO CL_DD_DOCUMENT.

GO_DD_DOCUMENT4 — data · L190-L190

DATA : GO_DD_DOCUMENT4 TYPE REF TO CL_DD_DOCUMENT.

GO_HTML_VIEW1 — data · L192-L192

DATA : GO_HTML_VIEW1 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_HTML_VIEW2 — data · L193-L193

DATA : GO_HTML_VIEW2 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_HTML_VIEW3 — data · L194-L194

DATA : GO_HTML_VIEW3 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_HTML_VIEW4 — data · L195-L195

DATA : GO_HTML_VIEW4 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_DDIC_FCAT — data · L197-L197

DATA : GO_DDIC_FCAT TYPE LVC_T_FCAT.

LCL_DEF_GRID — class · L202-L214

CLASS LCL_DEF_GRID DEFINITION INHERITING FROM CL_GUI_ALV_GRID.

  PUBLIC SECTION.
    METHODS : U_SET_FIXED_ROWS,
              U_SET_RESIZE_COLS,
              U_SCROLL_TO_BOTTOM,
              U_SET_OPTIMIZE,
              U_SET_CURRENT_CELL_BASE
                  IMPORTING
                      ROW TYPE I
                      COL TYPE I.

ENDCLASS.                    "LCL_DEF_GRID DEFINITION

LV_ONE_SEL — data · unit 로컬 · L374-L374

  DATA : LV_ONE_SEL TYPE C.

<FS_SORT> — field-symbol · unit 로컬 · L478-L478

  FIELD-SYMBOLS : <FS_SORT> TYPE LVC_S_SORT.

<FS_FCAT> — field-symbol · unit 로컬 · L479-L479

  FIELD-SYMBOLS : <FS_FCAT> TYPE LVC_S_FCAT.

ZFI_COMMON (129건)

BDCMSGCOLL — tables · L4-L4

TABLES: BDCMSGCOLL.  " * Collecting messages in the SAP System

ALSMEX_TABLINE — tables · L5-L5

TABLES:
        ALSMEX_TABLINE.  " * Rows for Table with Excel Data

TBTCO — tables · L6-L6

TABLES:
        TBTCO.  " * Job status overview table

RFCDOC — tables · L7-L7

TABLES:
        RFCDOC.

RFCDES — tables · L8-L8

TABLES:
        RFCDES.

DBCON — tables · L9-L9

TABLES:
        DBCON.

STXH — tables · L10-L10

TABLES:
        STXH.

GSETH — type-pool · L11-L11

TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.

ICON — type-pool · L11-L11

TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.

KCDE — type-pool · L11-L11

TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.

SCP1 — type-pool · L11-L11

TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.

SLIS — type-pool · L11-L11

TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.

VRM — type-pool · L11-L11

TYPE-POOLS: KCDE, VRM, ICON, SCP1, GSETH, SLIS.

GV_CALC_I — data · L14-L14

DATA : GV_CALC_I TYPE I. "* %

GV_PROGRESS_MSG — data · L15-L15

DATA : GV_PROGRESS_MSG(100).           "* Display

GV_CALC_C0 — data · L16-L16

DATA : GV_CALC_C0(5).

GV_CALC_C1 — data · L17-L17

DATA : GV_CALC_C1(5).

GV_VALUE_SET — data · L20-L20

DATA : GV_VALUE_SET TYPE GSETH_VAL_LINE.

GT_VALUE_SET — data · L21-L21

DATA : GT_VALUE_SET TYPE GSETH_VAL_TAB.

GT_DETMSG — data · L23-L23

DATA : GT_DETMSG TYPE TABLE OF SCP1_GENERAL_ERROR.

GT_HEAMSG — data · L24-L24

DATA : GT_HEAMSG TYPE TABLE OF SCP1_GENERAL_ERROR.

GS_DOMAIN — data · L27-L31

DATA : BEGIN OF GS_DOMAIN,
         DOMAIN       LIKE DD07T-DOMNAME,
         VALUE        LIKE DD07T-DOMVALUE_L,
         DDTEXT       LIKE DD07T-DDTEXT,
       END OF GS_DOMAIN.

GT_DOMAIN — data · L32-L32

DATA : GT_DOMAIN LIKE TABLE OF GS_DOMAIN.

T_EXCEL_EXPORT — types · L35-L37

TYPES : BEGIN OF T_EXCEL_EXPORT,
  EXCEL_COL TYPE STRING,
END OF   T_EXCEL_EXPORT.

GT_EXCEL_EXPORT — data · L39-L39

DATA : GT_EXCEL_EXPORT TYPE T_EXCEL_EXPORT OCCURS 0 WITH HEADER LINE.

GV_DIP_MOD — data · L43-L43

DATA : GV_DIP_MOD     TYPE C.

GV_REFRESH — data · L45-L45

DATA : GV_REFRESH TYPE C.

GV_BUKRS_TXT — data · L50-L50

DATA : GV_BUKRS_TXT TYPE T001-BUTXT VALUE ''.

GV_KOKRS_TXT — data · L51-L51

DATA : GV_KOKRS_TXT TYPE TKT09-TXT VALUE ''.

GV_WAERS — data · L52-L52

DATA : GV_WAERS TYPE T001-WAERS VALUE 'KRW'.

GV_KTOPL — data · L53-L53

DATA : GV_KTOPL TYPE T001-KTOPL VALUE '1000'.

GV_SPRAS — data · L54-L54

DATA : GV_SPRAS TYPE T001-SPRAS VALUE '3'. " KO

GV_LAND1 — data · L55-L55

DATA : GV_LAND1 TYPE T001-LAND1 VALUE 'KR'.

GC_BUKRS — constants · L57-L57

CONSTANTS : GC_BUKRS TYPE T001-BUKRS VALUE '1000'.

GC_KOKRS — constants · L58-L58

CONSTANTS : GC_KOKRS TYPE TKA02-KOKRS VALUE '1000'.

GS_BDC_OPTION — data · L62-L62

DATA: GS_BDC_OPTION TYPE CTU_PARAMS.

GT_BDCDATA — data · L63-L63

DATA: GT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

GT_MESSTAB — data · L64-L64

DATA: GT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

FTPOST — data · L70-L70

DATA: FTPOST LIKE FTPOST  OCCURS 0  WITH HEADER LINE.

FTTAX — data · L71-L71

DATA : FTTAX  LIKE FTTAX   OCCURS 0  WITH HEADER LINE.

BLNTAB — data · L72-L72

DATA :  BLNTAB LIKE BLNTAB  OCCURS 0  WITH HEADER LINE.

GV_FTPOST_TYPE — data · L73-L73

DATA : GV_FTPOST_TYPE TYPE C.

GV_FTPOST_CNT — data · L74-L74

DATA : GV_FTPOST_CNT TYPE I.

GV_FTPOST_WAERS — data · L75-L75

DATA : GV_FTPOST_WAERS LIKE T001-WAERS.

GT_IF_MSG — data · L77-L87

DATA : BEGIN OF GT_IF_MSG OCCURS 0,
  MSGID LIKE SY-MSGID,
  MSGNO LIKE SY-MSGNO,
  MSGTY LIKE SY-MSGTY,
  MSGV1 LIKE SY-MSGV1,
  MSGV2 LIKE SY-MSGV2,
  MSGV3 LIKE SY-MSGV3,
  MSGV4 LIKE SY-MSGV4,
  SUBRC LIKE SY-SUBRC,
  MESSAGE LIKE BDCMSGCOLL-MSGV1,
END OF GT_IF_MSG.

GT_EXCP_INIT_FIELD — data · L91-L93

DATA : BEGIN OF GT_EXCP_INIT_FIELD OCCURS 0,
  FNAME TYPE FNAM_____4,
END OF GT_EXCP_INIT_FIELD.

MACRO_VALUE_TO_RANGE — macro · L102-L120

DEFINE MACRO_VALUE_TO_RANGE.
  CLEAR : GV_VALUE_SET.
  CLEAR : &1. REFRESH : &1.

  LOOP AT &2 INTO GV_VALUE_SET.
    &1-LOW = GV_VALUE_SET-VFROM.
    &1-SIGN = 'I'.
    IF GV_VALUE_SET-VFROM NE GV_VALUE_SET-VTO.
      &1-OPTION = 'BT'.
      &1-HIGH = GV_VALUE_SET-VTO.
    ELSE.
      &1-OPTION = 'EQ'.
    ENDIF.
    APPEND &1.
    CLEAR : &1.
  ENDLOOP.

  CLEAR : &2. REFRESH : &2.
END-OF-DEFINITION.

ADD_RANGE_EQ — macro · L122-L128

DEFINE ADD_RANGE_EQ.
  CLEAR &1.
  &1-SIGN = 'I'.
  &1-OPTION = 'EQ'.
  &1-LOW = &2.
  APPEND &1.
END-OF-DEFINITION.

ADD_RANGE_FULL — macro · L130-L137

DEFINE ADD_RANGE_FULL.
  CLEAR &1.
  &1-SIGN = &2.
  &1-OPTION = &3.
  &1-LOW = &4.
  &1-HIGH = &5.
  APPEND &1.
END-OF-DEFINITION.

LT_TABLE — data · unit 로컬 · L163-L163

  DATA : LT_TABLE LIKE DD02L-TABNAME OCCURS 0 WITH HEADER LINE.

LT_FIELDCAT — data · unit 로컬 · L164-L164

  DATA : LT_FIELDCAT   TYPE SLIS_T_FIELDCAT_ALV.

LT_ALV_CAT — data · unit 로컬 · L165-L165

  DATA : LT_ALV_CAT   TYPE TABLE OF LVC_S_FCAT.

L_T001 — data · unit 로컬 · L210-L210

  DATA : L_T001 LIKE T001.

LT_NODE — data · unit 로컬 · L236-L236

  DATA : LT_NODE TYPE GSETH_NODE_TAB.

L_CLASS — data · unit 로컬 · L237-L237

  DATA : L_CLASS TYPE SETHIER-SETCLASS.

L_SETID — data · unit 로컬 · L238-L238

  DATA : L_SETID TYPE SETHIER-SETID.

LT_GRPHINFO — data · unit 로컬 · L239-L239

  DATA : LT_GRPHINFO TYPE GRPHINFO OCCURS 0 WITH HEADER LINE.

L_MESSAGE — data · unit 로컬 · L240-L240

  DATA : L_MESSAGE TYPE STRING.

LS_BDCTAB — data · unit 로컬 · L309-L309

  DATA : LS_BDCTAB TYPE BDCDATA.

L_NCNT1 — data · unit 로컬 · L480-L480

  DATA : L_NCNT1(5) TYPE N.

L_NCNT2 — data · unit 로컬 · L481-L481

  DATA : L_NCNT2(5) TYPE N.

GR_TABLE — data · unit 로컬 · L513-L513

  DATA : GR_TABLE TYPE REF TO CL_SALV_TABLE.

LT_INTERN — data · unit 로컬 · L590-L590

  DATA : LT_INTERN LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

<L_FS01> — field-symbol · unit 로컬 · L591-L591

  FIELD-SYMBOLS : <L_FS01>.

<L_FS02> — field-symbol · unit 로컬 · L592-L592

FIELD-SYMBOLS:
                  <L_FS02> TYPE STANDARD TABLE.

<L_FS03> — field-symbol · unit 로컬 · L593-L593

FIELD-SYMBOLS:
                  <L_FS03>.

LT_FCAT — data · unit 로컬 · L718-L718

  DATA : LT_FCAT TYPE TABLE OF LVC_S_FCAT.

LS_FCAT — data · unit 로컬 · L719-L719

  DATA : LS_FCAT TYPE LVC_S_FCAT.

LF_DATA — data · unit 로컬 · L723-L723

  DATA : LF_DATA TYPE REF TO DATA.

LL_DATA — data · unit 로컬 · L724-L724

  DATA : LL_DATA TYPE REF TO DATA.

L_USR_ACT — data · unit 로컬 · L725-L725

  DATA : L_USR_ACT TYPE I.

L_FILE_LEN — data · unit 로컬 · L726-L726

  DATA : L_FILE_LEN TYPE I.

L_FNAME — data · unit 로컬 · L727-L727

  DATA : L_FNAME TYPE STRING.

L_EXT_FILENAME — data · unit 로컬 · L728-L728

  DATA : L_EXT_FILENAME TYPE STRING.

L_FULLPATH — data · unit 로컬 · L729-L729

  DATA : L_FULLPATH TYPE STRING.

L_PATH — data · unit 로컬 · L730-L730

  DATA : L_PATH TYPE STRING.

<FS_TABLE> — field-symbol · unit 로컬 · L732-L732

  FIELD-SYMBOLS : <FS_TABLE> TYPE STANDARD TABLE.

<FS_LINE> — field-symbol · unit 로컬 · L733-L733

  FIELD-SYMBOLS : <FS_LINE> TYPE ANY.

<FS_COL> — field-symbol · unit 로컬 · L734-L734

  FIELD-SYMBOLS : <FS_COL> TYPE ANY.

LV_AMT — data · unit 로컬 · L889-L889

  DATA : LV_AMT(20) TYPE C.

LV_EXT — data · unit 로컬 · L890-L890

  DATA : LV_EXT TYPE BAPICURR-BAPICURR.

L_RESULT — data · unit 로컬 · L1063-L1063

  DATA : L_RESULT TYPE ABAP_BOOL.

L_FILENM — data · unit 로컬 · L1064-L1064

  DATA : L_FILENM TYPE STRING.

L_INTERNAL — data · unit 로컬 · L1104-L1104

  DATA: L_INTERNAL TYPE BAPICURR-BAPICURR.

LV_NRRANG — data · unit 로컬 · L1133-L1133

DATA:
         LV_NRRANG            LIKE INRDP-NRRANGENR.

LV_OBJECT — data · unit 로컬 · L1134-L1134

DATA:
         LV_OBJECT            LIKE NRIV-OBJECT.

LV_NRRANG — data · unit 로컬 · L1176-L1176

DATA:
         LV_NRRANG            LIKE INRDP-NRRANGENR.

LV_OBJECT — data · unit 로컬 · L1177-L1177

DATA:
         LV_OBJECT            LIKE NRIV-OBJECT.

LV_YEAR — data · unit 로컬 · L1178-L1178

DATA:
         LV_YEAR              LIKE INRI-TOYEAR.

USER_ACTION — data · unit 로컬 · L1328-L1328

DATA:
        USER_ACTION     TYPE   I.

RTN_CODE — data · unit 로컬 · L1329-L1329

DATA:
        RTN_CODE        LIKE   SY-SUBRC.

LT_FILETABLE — data · unit 로컬 · L1330-L1330

DATA:
        LT_FILETABLE    TYPE   FILETABLE.

LS_FILETABLE — data · unit 로컬 · L1331-L1331

DATA:
        LS_FILETABLE    TYPE   FILE_TABLE.

LV_RESULT — data · unit 로컬 · L1367-L1367

  DATA: LV_RESULT  TYPE  CHAR1.

LV_FILE — data · unit 로컬 · L1368-L1368

DATA:
        LV_FILE    TYPE  STRING.

LT_DYNPFIELDS — data · unit 로컬 · L1579-L1579

  DATA : LT_DYNPFIELDS    TYPE TABLE OF DYNPREAD.

LS_DYNPFIELDS — data · unit 로컬 · L1580-L1580

DATA:
         LS_DYNPFIELDS    TYPE DYNPREAD.

LV_DYNAME — data · unit 로컬 · L1581-L1581

DATA:
         LV_DYNAME        TYPE SY-REPID.

LV_DYNUM — data · unit 로컬 · L1582-L1582

DATA:
         LV_DYNUM         TYPE SY-DYNNR.

<FS_FIELD> — field-symbol · unit 로컬 · L1584-L1584

  FIELD-SYMBOLS <FS_FIELD> TYPE ANY.

LT_DYNPFIELDS — data · unit 로컬 · L1637-L1637

  DATA : LT_DYNPFIELDS    TYPE TABLE OF DYNPREAD.

LS_DYNPFIELDS — data · unit 로컬 · L1638-L1638

DATA:
         LS_DYNPFIELDS    TYPE DYNPREAD.

LV_DYNAME — data · unit 로컬 · L1639-L1639

DATA:
         LV_DYNAME        TYPE SY-REPID.

LV_DYNUM — data · unit 로컬 · L1640-L1640

DATA:
         LV_DYNUM         TYPE SY-DYNNR.

<FS_FIELD> — field-symbol · unit 로컬 · L1642-L1642

  FIELD-SYMBOLS <FS_FIELD> TYPE ANY.

LV_TRANSFER_BIN — data · unit 로컬 · L1736-L1736

  DATA : LV_TRANSFER_BIN TYPE SX_BOOLEAN.

LT_CONTENT_TXT — data · unit 로컬 · L1737-L1737

DATA:
         LT_CONTENT_TXT  TYPE SOLI_TAB.

LT_CONTENT_BIN — data · unit 로컬 · L1738-L1738

DATA:
         LT_CONTENT_BIN  TYPE SOLIX_TAB.

LT_OBJHEAD — data · unit 로컬 · L1739-L1739

DATA:
         LT_OBJHEAD      TYPE SOLI_TAB.

LV_LEN_IN — data · unit 로컬 · L1740-L1740

DATA:
         LV_LEN_IN       LIKE SOOD-OBJLEN.

LS_OTF — data · unit 로컬 · L1741-L1741

DATA:
         LS_OTF          TYPE SOLISTI1.

LV_BIN_FILESIZE — data · unit 로컬 · L1742-L1742

DATA:
         LV_BIN_FILESIZE TYPE I.

LV_BIN_FILE — data · unit 로컬 · L1743-L1743

DATA:
         LV_BIN_FILE     TYPE XSTRING.

LT_LINES — data · unit 로컬 · L1744-L1744

DATA:
         LT_LINES        LIKE TLINE OCCURS 0 WITH HEADER LINE.

LV_FILESIZE — data · unit 로컬 · L1745-L1745

  DATA : LV_FILESIZE     TYPE I.

LV_FILENAME — data · unit 로컬 · L1746-L1746

DATA:
         LV_FILENAME     TYPE STRING.

LT_OTF — data · unit 로컬 · L1747-L1747

  DATA : LT_OTF          TYPE TABLE OF ITCOO WITH HEADER LINE.

LV_FILENAME — data · unit 로컬 · L1812-L1812

DATA:
        LV_FILENAME             TYPE STRING.

LV_PATH — data · unit 로컬 · L1813-L1813

DATA:
        LV_PATH                 TYPE STRING.

LV_FULLPATH — data · unit 로컬 · L1814-L1814

DATA:
        LV_FULLPATH             TYPE STRING.

LV_DEFAULT_EXTENSION — data · unit 로컬 · L1815-L1815

DATA:
        LV_DEFAULT_EXTENSION    TYPE STRING.

LV_FILE_FILTER — data · unit 로컬 · L1816-L1816

DATA:
        LV_FILE_FILTER          TYPE STRING.

LV_INITIAL_DIRECTORY — data · unit 로컬 · L1817-L1817

DATA:
        LV_INITIAL_DIRECTORY    TYPE STRING.

LV_DEFAULT_FILE_NAME — data · unit 로컬 · L1818-L1818

DATA:
        LV_DEFAULT_FILE_NAME    TYPE STRING.

LV_USER_ACTION — data · unit 로컬 · L1821-L1821

DATA:
        LV_USER_ACTION          TYPE I.

— field-symbol · unit 로컬 · L1877-L1877

  FIELD-SYMBOLS : <FIELD> TYPE ANY.

— field-symbol · unit 로컬 · L1878-L1878

  FIELD-SYMBOLS : <ITAB> TYPE STANDARD TABLE.

— field-symbol · unit 로컬 · L1879-L1879

  FIELD-SYMBOLS : <ILINE> TYPE ANY.

LV_CURR — data · unit 로컬 · L1959-L1959

  DATA : LV_CURR(15) TYPE C.

ZFIR0040F01 (2건)

LV_BUKRS — data · unit 로컬 · L48-L48

  DATA : LV_BUKRS LIKE T001-BUKRS.

LT_ZFI0090 — data · unit 로컬 · L96-L96

  DATA : LT_ZFI0090 LIKE ZFIT0090 OCCURS 0 WITH HEADER LINE.

Unit 목록 (컨테이너)

unit 유형 위치 조각 한 줄 요약
INITIALIZATION EVENT ZFIR0040 L27-32 0 SET_DYNP를 호출해 선택화면 기본값을 세팅하는 INITIALIZATION 이벤트이다.
AT SELECTION-SCREEN OUTPUT EVENT ZFIR0040 L33-42 0 선택화면 출력 시 LOOP_AT_SCREEN을 호출해 화면 필드 속성을 조정하는 AT SELECTION-SCREEN OUTPUT 이벤트이다.
START-OF-SELECTION EVENT ZFIR0040 L43-49 0 INITIALIZE_DATA로 초기화한 뒤 PROCESS_DATA로 비용전표 연계 내역을 조회하는 START-OF-SELECTION 이벤트이다.
END-OF-SELECTION EVENT ZFIR0040 L50-61 0 온라인 실행이면 조회 결과가 있을 때 화면 100을 호출하고 없으면 'No Data Found' 메시지를 내며, 배치 실행 시 스풀 출력은 주석 처리된 END-OF-SELECTION 이벤트이다.
LCL_DEF_RECEIVER~HANDLE_TOP_OF_PAGE METHOD ZFIR0040C01 L63-65 0
LCL_DEF_RECEIVER~HANDLE_TOOLBAR METHOD ZFIR0040C01 L67-71 0
LCL_DEF_RECEIVER~HANDLE_USER_COMMAND METHOD ZFIR0040C01 L73-77 0
LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED METHOD ZFIR0040C01 L79-83 0
LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED_FINISHED METHOD ZFIR0040C01 L85-89 0
LCL_DEF_RECEIVER~HANDLE_HOTSPOT_CLICK METHOD ZFIR0040C01 L91-95 0
LCL_DEF_RECEIVER~HANDLE_DOUBLE_CLICK METHOD ZFIR0040C01 L97-101 0
LCL_DEF_RECEIVER~HANDLE_ON_F4 METHOD ZFIR0040C01 L103-111 0
LCL_DEF_RECEIVER~HANDLE_CONTEXT_MENU_REQ METHOD ZFIR0040C01 L113-115 0
TOOBAR_PART FORM ZFIR0040C01 L123-127 0
USER_COMMAND_PART FORM ZFIR0040C01 L135-141 0
DATA_CHANGED FORM ZFIR0040C01 L149-151 0
F_OUT_MESSAGE_PROC FORM ZFIR0040C01 L160-176 0
DATA_CHANGED_FINISHED FORM ZFIR0040C01 L185-188 0
HOTSPOT_CLICK FORM ZFIR0040C01 L197-200 0
DOUBLE_CLICK FORM ZFIR0040C01 L210-216 0
ON_F4 FORM ZFIR0040C01 L230-246 0
ON_F4_100 FORM ZFIR0040C01 L260-278 0
DISPLAY_ALV_LIST FORM ZFIR0040C01 L288-358 0
SET_FCAT_DDIC_X01 FORM ZFIR0040C01 L368-433 0
FILL_FIELD_CATALOGS FORM ZFIR0040C01 L445-463 0
FILL_FCAT FORM ZFIR0040C01 L477-558 0
GET_LIKEITAB_FACT FORM ZFIR0040C01 L569-619 0
SET_TOP_OF_PAGE FORM ZFIR0040C01 L631-689 0
SET_TOP_OF_PAGE_TEXT FORM ZFIR0040C01 L699-709 0
LOOP_AT_SCREEN FORM ZFIR0040F01 L6-17 0 회사코드 입력 권한(GV_BUKRS_O)이 없으면 그룹 MG1 선택화면 필드를 입력 불가로 바꾸는 화면 속성 조정 FORM이다.
SET_DYNP FORM ZFIR0040F01 L24-41 1 선택화면 초기화 시 회사코드 기본정보·회사명을 세팅하고 전표일자·전송일자 선택조건 기본값을 당일로 설정하는 FORM이다.
INITIALIZE_DATA FORM ZFIR0040F01 L47-78 1 처리 전 회사코드 기본정보를 세팅하고 메인 ALV용 딕셔너리 필드카탈로그를 취득하며 오류로그·잠금·상태 플래그를 초기화하고 ZDBTYPE·ZDCANCELFLAG 도메인 텍스트를 읽어 두는 초기화 FORM이다.
PROCESS_DATA FORM ZFIR0040F01 L84-86 0 SELECT_DATA를 호출해 비용전표 연계 내역을 조회하는 단순 위임 FORM이다.
SELECT_DATA FORM ZFIR0040F01 L95-146 2 비용전표 연계 내역을 조건에 맞게 읽어 취소플래그 텍스트·공급업체명·계정명·처리상태 아이콘을 붙인다.
CALL_FB03 FORM ZFIR0040F01 L155-185 1 ALV 행 번호로 비용전표 연계 내역을 읽어 전표번호가 있으면 FB03 전표 조회를 호출하는 FORM이다.
USER_COMMAND_0100 INPUT MODULE ZFIR0040I01 L6-28 1 화면 100의 PAI에서 BACK/CANC/EXIT 기능코드를 받아 ALV 컨테이너를 정리하고 화면을 빠져나가는 USER_COMMAND 모듈이다.
STATUS_0100 OUTPUT MODULE ZFIR0040O01 L6-20 0
CREATE_AND_INIT_CONTROLS_0100 OUTPUT MODULE ZFIR0040O01 L26-65 0
CREATE_CUSTOM_OBJECT_0100 FORM ZFIR0040O01 L75-119 0
SET_ALV_LAYOUT_0100 FORM ZFIR0040O01 L127-147 0
SET_ALV_LAYOUT_POP FORM ZFIR0040O01 L155-164 0
SET_ALV_TOOLBAR_0100 FORM ZFIR0040O01 L172-194 0
SET_ALV_EVENT_REGISTER_0100 FORM ZFIR0040O01 L203-231 0
SET_TOP_OF_PAGE_TEXT_0100 FORM ZFIR0040O01 L304-319 0
SET_FCAT_LIKETAB_0100 FORM ZFIR0040O01 L329-481 0
SET_ALV_SORT_0100 FORM ZFIR0040O01 L489-519 0
LCL_DEF_GRID~U_SET_FIXED_ROWS METHOD ZFI_ALV L221-225 0 ALV 그리드 첫 행을 고정하는 SET_FIXED_ROWS 래퍼 메서드다.
LCL_DEF_GRID~U_SET_RESIZE_COLS METHOD ZFI_ALV L227-231 0 ALV 컬럼 폭 조정 가능 여부를 설정하는 SET_RESIZE_COLS 래퍼 메서드다.
LCL_DEF_GRID~U_SCROLL_TO_BOTTOM METHOD ZFI_ALV L233-235 0 ALV 그리드를 맨 아래로 스크롤하는 SCROLL_TO_BOTTOM 래퍼 메서드다.
LCL_DEF_GRID~U_SET_CURRENT_CELL_BASE METHOD ZFI_ALV L237-242 0 ALV 그리드의 현재 셀 위치를 지정하는 SET_CURRENT_CELL_BASE 래퍼 메서드다.
LCL_DEF_GRID~U_SET_OPTIMIZE METHOD ZFI_ALV L244-248 0 ALV 모든 컬럼 폭을 헤더 포함 최적화하는 OPTIMIZE_ALL_COLS 래퍼 메서드다.
CLEAR_CONTAINER_PROC FORM ZFI_ALV L262-310 0 HTML 뷰어·ALV 그리드·컨테이너·스플리터 객체를 순서대로 FREE 하고 CFW FLUSH 하는 화면 정리 루틴이다.
UCOMM_PROC FORM ZFI_ALV L319-342 0 화면 PAI 에서 ALV 변경 데이터를 확정(CHECK_CHANGED_DATA)하고 CL_GUI_CFW=>DISPATCH 로 컨트롤 이벤트를 분배한 뒤 OK 코드를 정리하는 ALV PAI 공통 처리다.
GET_SELECTED_ROW FORM ZFI_ALV L351-360 0 ALV 그리드의 선택 행 인덱스를 GET_SELECTED_ROWS 로 GT_ROWS 에 가져오는 유틸리티다.
GET_SELECTED_ROW2 FORM ZFI_ALV L369-397 1 ALV 그리드에서 선택된 행 인덱스를 GT_ROWS 로 가져오고 미선택/복수 선택 시 오류 메시지를 표시하는 유틸리티다.
REFRESH_CONTAINER FORM ZFI_ALV L406-436 0 ALV 그리드의 프런트엔드 레이아웃을 재설정하고 REFRESH_TABLE_DISPLAY(안정 스크롤/소프트 리프레시)로 화면을 갱신하는 ALV 유틸리티다.
APPEND_EXCLUDE_FUNCTIONS FORM ZFI_ALV L445-453 0 ALV 툴바 제외 기능 코드(UI_FUNC)를 제외 목록 테이블에 추가하는 유틸리티다.
REGISTER_ALV_EVENT FORM ZFI_ALV L462-465 0 ALV 이벤트 등록용 빈 FORM(구현 없음)이다.
CHECK_SORT_PARAMETER FORM ZFI_ALV L472-493 1 ALV 정렬 설정(LVC_T_SORT)의 필드가 필드카탈로그에 존재하는지 검사해 누락 필드명을 돌려주는 검증 루틴이다.
ADD_EXCP_FIELD_WHEN_INITIAL FORM ZFI_COMMON L145-150 0 BDC 생성 시 값이 비어 있으면 제외할 필드명을 GT_EXCP_INIT_FIELD 목록에 등록하는 유틸리티다.
GET_FCAT_LIKE_ITAB FORM ZFI_COMMON L159-200 1 프로그램 내부테이블 이름으로 REUSE_ALV_FIELDCATALOG_MERGE→LVC 변환→LVC_FIELDCAT_COMPLETE를 거쳐 LVC 필드카탈로그를 생성하는 공통 FORM이다.
SET_COMPANY_BASE FORM ZFI_COMMON L209-226 1 회사코드로 T001을 읽어 통화·계정과목표·언어·회사명·국가 전역변수를 설정하는 공통 FORM이다.
GET_SETLEAF_VALUES FORM ZFI_COMMON L232-295 1 세트 클래스(코스트센터/원가요소/오더/손익센터/계정과목 그룹)와 세트명으로 K_HIERARCHY_TABLES_READ 를 호출해 세트 값 목록(GT_VALUE_SET)을 읽는 공통 루틴이다.
DYNPRO FORM ZFI_COMMON L307-333 1 BDCDATA 한 줄(화면 시작 또는 필드/값)을 생성해 BDC 테이블에 추가하되, 예외 등록 필드가 초기값이면 건너뛰는 공통 FORM이다.
SET_BDC_OPTION FORM ZFI_COMMON L347-364 0 CALL TRANSACTION 옵션 구조(CTU_PARAMS)에 표시모드·업데이트모드·커밋 등 BDC 실행 옵션을 채우는 유틸리티다.
ZERO_O FORM ZFI_COMMON L373-379 0 CONVERSION_EXIT_ALPHA_OUTPUT 로 선행 0을 제거해 출력 형식으로 바꾸는 유틸리티다.
ZERO_I FORM ZFI_COMMON L388-394 0 CONVERSION_EXIT_ALPHA_INPUT 로 선행 0을 채워 내부 형식으로 바꾸는 유틸리티다.
F4_DATE_FORMAT_YYYYMM FORM ZFI_COMMON L403-419 0 POPUP_TO_SELECT_MONTH 로 YYYYMM 월을 선택받는 F4 유틸리티(기본값은 현재 월)다.
F4_DATE_FORMAT_YYYYMMDD FORM ZFI_COMMON L428-434 0 F4_DATE 달력 팝업으로 YYYYMMDD 날짜를 선택받는 F4 유틸리티다.
DATE_CHK FORM ZFI_COMMON L444-453 1 DATE_CHECK_PLAUSIBILITY로 날짜의 유효성을 검사해 결과 코드를 돌려주는 공통 FORM이다.
BAR_MSG FORM ZFI_COMMON L463-468 0 백분율과 텍스트로 SAPGUI_PROGRESS_INDICATOR 진행 표시줄을 갱신하는 한 줄 유틸리티다.
BAR_MSG_PER FORM ZFI_COMMON L479-503 1 처리 건수 비율(%)을 계산해 SAPGUI_PROGRESS_INDICATOR로 진행률 메시지를 표시하는 공통 FORM이다.
DISPLAY_SPOOL_BY_SALV FORM ZFI_COMMON L512-522 1 CL_SALV_TABLE=>FACTORY로 전달받은 내부테이블을 SALV(ALV) 리스트로 표시하는 공통 FORM(배치 스풀 출력용)이다.
SET_MINUS_FRONT FORM ZFI_COMMON L531-537 0 CLOI_PUT_SIGN_IN_FRONT 로 숫자 문자열의 음수 부호를 앞으로 옮기는 표시 유틸리티다.
F4_FNAME FORM ZFI_COMMON L545-568 0 파일 열기 대화상자로 업로드 파일명을 선택받는 F4 유틸리티다.
UPLOAD_DATA FORM ZFI_COMMON L582-639 2 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 동적으로 지정된 내부테이블·구조체에 행/열 단위로 적재하는 공통 업로드 FORM이다.
BDC_DATE FORM ZFI_COMMON L648-654 0 BDC 전송용 날짜 문자열에서 '.', '-', '/' 구분자를 제거해 YYYYMMDD 형식으로 만드는 유틸리티다.
BDC_CURR FORM ZFI_COMMON L663-667 0 BDC 전송용 금액 문자열에서 천단위 콤마를 제거하는 한 줄 유틸리티다.
BDC_CHECKBOX FORM ZFI_COMMON L676-678 0 BDC 체크박스 입력값을 대문자로 변환하는 한 줄 유틸리티다.
BUILD_MESSAGE FORM ZFI_COMMON L688-709 1 BDC 메시지(BDCMSGCOLL)를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다.
EXCEL_FORM_DOWNLOAD FORM ZFI_COMMON L716-846 2 엑셀 컬럼 제목 목록으로 동적 테이블을 만들어 헤더 1행만 담은 업로드 양식(xls)을 저장 대화상자를 통해 PC에 다운로드하는 공통 FORM이다.
CONVERT_CURRENCY FORM ZFI_COMMON L859-878 1 전기일 환율로 외화 금액을 현지통화 금액으로 CONVERT_TO_LOCAL_CURRENCY를 이용해 환산하는 공통 FORM이다.
CONVERT_CHAR_TO_AMT FORM ZFI_COMMON L888-915 1 콤마가 포함된 문자형 금액을 콤마 제거 후 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화 내부 금액으로 변환하는 공통 FORM이다.
F4IF_INT_TABLE_VALUE_REQUEST FORM ZFI_COMMON L927-955 0 내부테이블 값 목록으로 F4 검색도움(F4IF_INT_TABLE_VALUE_REQUEST)을 띄워 선택값을 화면 필드에 돌려주는 F4 공통 루틴이다.
POPUP_TO_CONFIRM_02 FORM ZFI_COMMON L966-979 1 POPUP_TO_CONFIRM_STEP으로 두 줄 질문의 확인 팝업(J/N/A)을 띄워 응답을 돌려주는 공통 FORM이다.
POPUP_TO_CONFIRM FORM ZFI_COMMON L991-1016 1 POPUP_TO_CONFIRM으로 Yes/No 확인 팝업을 띄워 사용자 응답을 돌려주는 공통 FORM이다.
GET_LAST_DAY FORM ZFI_COMMON L1025-1035 1 입력 날짜가 속한 월의 마지막 날짜를 RP_LAST_DAY_OF_MONTHS 로 구하는 날짜 유틸리티다.
SET_DSMOD FORM ZFI_COMMON L1043-1052 1 BDC 처리 모드 입력값이 A/E/N 중 하나인지 검사하고 아니면 오류 메시지로 중단하는 공통 FORM이다.
FILE_EXISTS FORM ZFI_COMMON L1061-1092 1 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 프론트엔드 파일 존재 여부를 확인해 참/거짓을 돌려주는 공통 FORM이다.
AMT_CONV_TO_INTERNAL FORM ZFI_COMMON L1101-1118 1 외부 형식 금액을 통화별 소수점에 맞는 SAP 내부 금액으로 BAPI_CURRENCY_CONV_TO_INTERNAL로 변환하는 공통 FORM이다.
GET_NEXT_NUMBER FORM ZFI_COMMON L1129-1160 1 번호범위 객체·구간으로 NUMBER_GET_NEXT를 호출해 다음 채번 번호를 가져오는 공통 FORM이다.
GET_NEXT_NUMBER_YEAR FORM ZFI_COMMON L1172-1211 1 번호범위 객체·구간·연도로 NUMBER_GET_NEXT를 호출해 연도별 다음 채번 번호를 가져오는 공통 FORM이다.
GET_VALUE_LIST_DOM FORM ZFI_COMMON L1220-1235 1 도메인 고정값과 텍스트를 DD07T에서 읽어 전달받은 테이블에 채우는 공통 FORM(F4/드롭다운용)이다.
GET_DOM_TEXT_LIST FORM ZFI_COMMON L1244-1255 1 도메인 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 누적하는 공통 FORM이다.
MD_CONVER_MAT_UNIT FORM ZFI_COMMON L1268-1298 1 자재의 수량을 입력 단위에서 출력 단위로 MD_CONVERT_MATERIAL_UNIT을 이용해 환산하는 공통 FORM이다.
SHOW_MESSAGE_LIST FORM ZFI_COMMON L1306-1316 1 누적된 헤더/상세 메시지 테이블(GT_HEAMSG/GT_DETMSG)을 SCPR_SV_SHOW_MESSAGE_LIST로 팝업 표시하는 공통 FORM이다.
GET_FILE_PATH FORM ZFI_COMMON L1325-1356 1 파일 열기 대화상자(FILE_OPEN_DIALOG)로 업로드할 XLS 파일을 선택받아 파일 경로를 반환하는 공통 FORM이다.
CHK_FILE_PATH FORM ZFI_COMMON L1365-1390 1 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 업로드 파일 경로의 존재를 확인하고 없으면 메시지 후 처리를 중단하는 공통 FORM이다.
SET_BUTTON_100 FORM ZFI_COMMON L1401-1423 0 선택화면 기능 버튼(SSCRFIELDS-FUNCTXT_nn)에 아이콘과 텍스트를 동적으로 설정하는 UI 유틸리티다.
BDC_CREATE_AENNR FORM ZFI_COMMON L1502-1569 2 변경번호(AENNR) 존재 여부를 AENR에서 확인한 뒤 없으면 BDC로 CC01(변경마스터 생성)을 실행하고 결과 메시지를 반환하는 공통 FORM이다.
GET_DYNP_VALUES_READ FORM ZFI_COMMON L1577-1626 1 DYNP_VALUES_READ로 현재 화면의 필드 값을 읽어 같은 이름의 프로그램 변수에 넣는 공통 FORM이다.
SET_DYNP_VALUES FORM ZFI_COMMON L1635-1676 1 프로그램 변수 값을 DYNP_VALUES_UPDATE로 현재 화면 필드에 반영하는 공통 FORM이다.
AUTHORITY_CHECK_TCODE FORM ZFI_COMMON L1682-1695 1 S_TCODE 권한 객체로 현재 T-Code 실행 권한을 검사하고 T-Code 끝자리가 1이면 조회 모드(GV_DIP_MOD)로 설정하는 공통 FORM이다.
SET_BTN_1000 FORM ZFI_COMMON L1705-1725 0 선택화면(1000)의 기능 버튼(SSCRFIELDS-FUNCTXT_nn)에 아이콘과 텍스트를 동적으로 설정하는 UI 유틸리티다.
F_PDF_DOWNLOAD FORM ZFI_COMMON L1734-1799 2 Smart Forms 출력 결과(OTF)를 PDF로 변환하고 저장 대화상자를 거쳐 PC에 다운로드하는 공통 FORM이다.
OPEN_SAVE_FILE_SEL FORM ZFI_COMMON L1808-1864 1 파일 저장 대화상자(FILE_SAVE_DIALOG)를 열어 사용자가 지정한 저장 파일명을 돌려주는 공통 FORM이다.
ALSMEX_TAB_TO_ITAB FORM ZFI_COMMON L1874-1902 1 ALSM_EXCEL_TO_INTERNAL_TABLE 결과(ALSMEX_TABLINE)를 동적으로 지정한 내부테이블·구조체에 행/열 매핑하여 적재하는 공통 FORM이다.
START_INTERFACE_BDC FORM ZFI_COMMON L1910-1930 1 FTPOST 작업 테이블을 초기화하고 POSTING_INTERFACE_START로 FI Posting Interface(Call Transaction 방식)를 시작하는 공통 FORM이다.
END_INTERFACE_BDC FORM ZFI_COMMON L1937-1947 1 POSTING_INTERFACE_END를 호출해 FI Posting Interface 세션을 종료하고 FTPOST/FTTAX/BLNTAB 작업 테이블을 초기화하는 공통 FORM이다.
FILL_FIELD FORM ZFI_COMMON L1957-1980 1 Posting Interface(FTPOST)용 필드명·값을 한 건 채우며 금액 필드는 통화 형식으로 편집하여 FTPOST 테이블에 추가하는 공통 FORM이다.
BUILD_MESSGE_IF FORM ZFI_COMMON L1989-2004 1 인터페이스 메시지 구조(MSGID/MSGNO/MSGV1~4)를 MESSAGE_TEXT_BUILD로 메시지 텍스트로 조립하는 공통 FORM이다.
GET_POST_PERIOD FORM ZFI_COMMON L2014-2041 1 회사코드와 전기일로 FI_PERIOD_DETERMINE을 호출해 회계연도·전기기간을 구하고 실패 시 날짜에서 직접 추출하는 공통 FORM이다.