Files

238 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 ZFIR0050 — 임시전표 관리 파킹(임시) 전표를 전자결재 흐름에 태워 관리하는 화면이다. VBSEG* 계열 파킹 전표 테이블과 BKPF/BSEG 를 읽어 헤더/아이템 2단 ALV(스플리터)로 보여주고, 결재상신 → 팀장 승인 → 임원 승인 → (반려/승인취소) 상태 전이를 화면에서 처리한다. 진행 상태는 CBO 테이블 ZFIT0100/0101/0102 와 ZIFT0010 에 기록해 결재 이력을 남긴다. abap://ZFIR0050
전표
임시전표
전자결재
승인관리
미결관리
FI
전표아이템
파킹전표
계정유형
고객
공급업체
자산
통합조회
입력자
전표유형
코스트센터
사업장
전기키
고객명
구매처명
by at
abap-indexing/z-ai/glm-5.2:free 2026-09-20T15:36:20+00:00
stable
ANLA
BKPF
BSEG
CSKT
DD07T
J_1BBRANCH
KNA1
LFA1
LTDX
MAKT
SKAT
T001
T003T
T005
T007S
T052U
TBSLT
TKA02
USR01
VBSEGA
VBSEGD
VBSEGK
VBSEGS
V_USERNAME
ZFIT0100
ZFIT0160
ZIFT0010
GT_HEAD
ZFIT0100
ZFIT0101
ZFIT0102
ZIFT0010
AS03
BAL_DSP_LOG_DISPLAY
BAL_LOG_CREATE
BAL_LOG_MSG_ADD
CALCULATE_TAXES_GROSS
CALL_BROWSER
CLOI_PUT_SIGN_IN_FRONT
CONVERSION_EXIT_ALPHA_INPUT
CONVERSION_EXIT_ALPHA_OUTPUT
CONVERT_TO_FOREIGN_CURRENCY
CONVERT_TO_LOCAL_CURRENCY
CURRENCY_AMOUNT_IDOC_TO_SAP
CURRENCY_AMOUNT_SAP_TO_IDOC
DOMAIN_VALUE_GET
DYNP_VALUES_READ
F4IF_INT_TABLE_VALUE_REQUEST
FB03
FD03
FK03
GUI_UPLOAD
HELP_VALUES_GET_NO_DD_NAME
HRVE_GET_TIME_BETWEEN_DATES
ICON_CREATE
KCD_EXCEL_OLE_TO_INT_CONVERT
LVC_VARIANT_DEFAULT_GET
LVC_VARIANT_EXISTENCE_CHECK
LVC_VARIANT_F4
MESSAGE_TEXT_BUILD
MM03
NUMBER_GET_NEXT
NUMERIC_CHECK
POPUP_TO_CONFIRM_STEP
P_TCODE
REUSE_ALV_EVENTS_GET
REUSE_ALV_FIELDCATALOG_MERGE
REUSE_ALV_GRID_DISPLAY
REUSE_ALV_GRID_DISPLAY_LVC
REUSE_ALV_HIERSEQ_LIST_DISPLAY
RP_CALC_DATE_IN_INTERVAL
RP_LAST_DAY_OF_MONTHS
3af4597a5abe8485047c082175c94247b9398c9a8fd20c2f33f460f13dd9712d 117 79 319

업무 목적

파킹(임시) 전표를 전자결재 흐름에 태워 관리하는 화면이다. VBSEG* 계열 파킹 전표 테이블과 BKPF/BSEG 를 읽어 헤더/아이템 2단 ALV(스플리터)로 보여주고, 결재상신 → 팀장 승인 → 임원 승인 → (반려/승인취소) 상태 전이를 화면에서 처리한다. 진행 상태는 CBO 테이블 ZFIT0100/0101/0102 와 ZIFT0010 에 기록해 결재 이력을 남긴다.

주 흐름

  1. ALV 설정과 도메인 텍스트를 준비하고 화면 속성을 조정한다 (ALV_SETTING → GET_DOMAIN → MODIFY_SCREEN)
  2. 회사코드 권한을 검증한다 (AUTHORITY_BUKRS)
  3. 전표 헤더·아이템 정보와 기존 결재 상태를 읽는다 (GET_BKPF → GET_BSEG → GET_ZFIT0100)
  4. 고객·공급업체·자산·자재 텍스트를 붙여 헤더/아이템 표시 데이터를 만든다 (DISPLAY_DATA)
  5. 스플리터 컨테이너에 헤더 ALV 와 아이템 ALV 를 2단으로 띄운다 (SPLITTER_CONTAINER)
  6. 사용자 액션에 따라 결재상신·팀장승인·임원승인·반려·승인취소·삭제를 처리한다 (PROCESSING_DATA / CONFIRM_DATA / CONFIRM_DATA_2 / REJECT_DATA / CANCEL_CONFIRM_DATA / DELETE_DATA)
  7. 결재상신 중인 문서는 별도 화면 0200 에서 조회한다 (DISPLAY_PROCESSING_DATA)

핵심 내부테이블

  • GT_HEAD — 임시전표 헤더 목록 (채움: GET_BKPF, DISPLAY_DATA / 소비: ALV_GRID_DISPLAY1)
  • GT_ITEM — 선택 전표의 아이템 목록 (채움: GET_BSEG / 소비: ALV_GRID_DISPLAY2)

테이블 / 외부 호출

  • read: ANLA, BKPF, BSEG, CSKT, DD07T, J_1BBRANCH, KNA1, LFA1, LTDX, MAKT, SKAT, T001, T003T, T005, T007S, T052U, TBSLT, TKA02, USR01, VBSEGA, VBSEGD, VBSEGK, VBSEGS, V_USERNAME, ZFIT0100, ZFIT0160, ZIFT0010
  • write: GT_HEAD, ZFIT0100, ZFIT0101, ZFIT0102, ZIFT0010
  • 외부 호출: AS03, BAL_DSP_LOG_DISPLAY, BAL_LOG_CREATE, BAL_LOG_MSG_ADD, CALCULATE_TAXES_GROSS, CALL_BROWSER, CLOI_PUT_SIGN_IN_FRONT, CONVERSION_EXIT_ALPHA_INPUT, CONVERSION_EXIT_ALPHA_OUTPUT, CONVERT_TO_FOREIGN_CURRENCY, CONVERT_TO_LOCAL_CURRENCY, CURRENCY_AMOUNT_IDOC_TO_SAP, CURRENCY_AMOUNT_SAP_TO_IDOC, DOMAIN_VALUE_GET, DYNP_VALUES_READ, F4IF_INT_TABLE_VALUE_REQUEST, FB03, FD03, FK03, GUI_UPLOAD, HELP_VALUES_GET_NO_DD_NAME, HRVE_GET_TIME_BETWEEN_DATES, ICON_CREATE, KCD_EXCEL_OLE_TO_INT_CONVERT, LVC_VARIANT_DEFAULT_GET, LVC_VARIANT_EXISTENCE_CHECK, LVC_VARIANT_F4, MESSAGE_TEXT_BUILD, MM03, NUMBER_GET_NEXT

로직 조각 (79건 / unit 48개)

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

EVENT INITIALIZATION — ZFIR0050 L32-L87 (56줄)

ALV 초기 설정 후 전기일 기본값을 전월로 잡고, 사용자ID로 임원(GV_CON)/회계팀(GV_SUPER)/일반 사용자를 구분해 일반 사용자는 본인 입력 전표만 조회되도록 S_USNAM을 고정하며 도메인 텍스트를 읽는 INITIALIZATION 이벤트이다.

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

[calculation] 당월 1일에서 하루를 빼 전월 말일을 구하고 그 달 1일~말일을 전기일(BUDAT) 선택 범위 기본값으로 설정한다.

    37|   S_BUDAT-SIGN    = C_I.
    38|   S_BUDAT-OPTION  = C_BT.
    39|   CONCATENATE SY-DATUM(6) '01' INTO S_BUDAT-HIGH.
    40|   S_BUDAT-HIGH = S_BUDAT-HIGH - 1.
    41|   CONCATENATE S_BUDAT-HIGH(6) '01' INTO S_BUDAT-LOW.
    42|   APPEND S_BUDAT.
  • EN: Defaults the posting date select-option to the previous month (first to last day) computed from the current date.
  • 업무 키워드: 전기일 기본값, 전월 범위, 선택조건 초기화
  • English: Posting Date, Default Select-Option, Previous Month
  • 정의부(복사 시 함께 필요): S_BUDAT, C_I, C_BT
  • 위치: abap://ZFIR0050/ZFIR0050#L37-L42 · confidence 0.9 · ZFIR0050#ZFIR0050#EVENT#INITIALIZATION#C1

[validation] 로그인 사용자가 임원 상수(C_USNAM_2)면 임원 모드(GV_CON), ID가 'FI'로 시작하면 회계팀 슈퍼 모드(GV_SUPER)로 두고, 그 외는 입력자 선택조건 S_USNAM을 본인 ID로 고정해 자기 전표만 보게 한다.

    58|   CLEAR: GV_SUPER, GV_CON.
    59|   IF SY-UNAME EQ C_USNAM_2.  "임원
    60|     GV_CON = C_X.
    61|   ELSE.
    62|     IF SY-UNAME(2) EQ 'FI'.
    63|       GV_SUPER = C_X.
    64|     ELSE.
    65|       S_USNAM-SIGN    = C_I.
    66|       S_USNAM-OPTION  = C_EQ.
    67|       S_USNAM-LOW     = SY-UNAME.
    68|       APPEND S_USNAM.
    69|     ENDIF.
    70|   ENDIF.
  • EN: Determines the user role from SY-UNAME (executive constant, FI prefix for accounting team, otherwise restricts the user select-option to the current user).
  • 업무 키워드: 사용자 역할 구분, 임원, 회계팀, 본인 전표 제한, 권한
  • English: User Role, Authorization, SY-UNAME, Select-Option Restriction
  • 정의부(복사 시 함께 필요): GV_SUPER, GV_CON, C_USNAM_2, C_X, S_USNAM, C_I, C_EQ
  • 위치: abap://ZFIR0050/ZFIR0050#L58-L70 · confidence 0.85 · ZFIR0050#ZFIR0050#EVENT#INITIALIZATION#C2

FORM GET_DOMAIN — ZFIR0050F01 L9-L32 (24줄)

전표상태(BSTAT)와 결재상태(ZDSTATS) 도메인의 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 담는 FORM이다.

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

[sql_select] DD07T에서 로그인 언어의 활성 도메인 값 텍스트를 BSTAT(전표상태)와 ZDSTATS(결재상태)에 대해 조회해 GT_DOMAIN에 적재하고 ALV 상태명 표시에 사용한다.

    13|   SELECT DOMNAME
    14|          DOMVALUE_L
    15|          DDTEXT
    16|     INTO TABLE GT_DOMAIN
    17|     FROM DD07T
    18|    WHERE DD07T~DOMNAME    EQ 'BSTAT'
    19|      AND DD07T~DDLANGUAGE EQ SY-LANGU
    20|      AND DD07T~AS4LOCAL   EQ C_A.
    21| 
    22| * 결재상태(ZDSTATS)
    23|   SELECT DOMNAME
    24|          DOMVALUE_L
    25|          DDTEXT
    26|     APPENDING TABLE GT_DOMAIN
    27|     FROM DD07T
    28|    WHERE DD07T~DOMNAME    EQ 'ZDSTATS'
    29|      AND DD07T~DDLANGUAGE EQ SY-LANGU
    30|      AND DD07T~AS4LOCAL   EQ C_A.
  • EN: Selects fixed-value texts of domains BSTAT (document status) and ZDSTATS (approval status) from DD07T in the logon language for status descriptions.
  • 테이블(파서): read DD07T / write -
  • SAP 객체: DD07T, BSTAT, ZDSTATS
  • 업무 키워드: 도메인 텍스트, 전표상태명, 결재상태명
  • English: Domain Fixed Values, DD07T, Document Status, Approval Status
  • 정의부(복사 시 함께 필요): GT_DOMAIN, C_A
  • 위치: abap://ZFIR0050/ZFIR0050F01#L13-L30 · confidence 0.95 · ZFIR0050#ZFIR0050F01#FORM#GET_DOMAIN#C1

FORM AUTHORITY_BUKRS — ZFICOM L528-L536 (9줄)

회사코드에 대한 SAP 표준 권한(F_BKPF_BUK)을 검사하고 권한이 없으면 처리를 중단한다.

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

[validation] 전표 권한 오브젝트 F_BKPF_BUK 로 해당 회사코드 접근 권한을 검사하고, 권한이 없으면 메시지를 띄운 뒤 리스트 처리를 즉시 중단한다.

   529|   AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
   530|             ID 'BUKRS' FIELD P_BUKRS.
   531|   IF SY-SUBRC NE 0.
   532|     MESSAGE I240(FZ) WITH P_BUKRS.
   533|     GF_CHECK = C_X.
   534|     LEAVE LIST-PROCESSING.
   535|   ENDIF.
  • EN: Checks company-code authorization via F_BKPF_BUK and aborts list processing when the user lacks it.
  • SAP 객체: F_BKPF_BUK, T001, BUKRS
  • 업무 키워드: 권한체크, 회사코드권한, 권한오브젝트, 접근제어, 처리중단
  • English: authority check, company code authorization, F_BKPF_BUK, access control
  • 정의부(복사 시 함께 필요): P_BUKRS, GF_CHECK, C_X
  • 위치: abap://ZFIR0050/ZFICOM#L529-L535 · confidence 0.93 · ZFIR0050#ZFICOM#FORM#AUTHORITY_BUKRS#C1

FORM GET_DATA — ZFIR0050F01 L51-L64 (14줄)

전표 헤더(GET_BKPF)·아이템(GET_BSEG)·임시전표 결재정보(GET_ZFIT0100)를 차례로 읽고 DISPLAY_DATA로 표시 데이터를 만드는 조회 총괄 FORM이다.

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

[control_flow] BKPF 헤더를 먼저 읽고 결과가 있을 때만 BSEG 아이템·ZFIT0100 결재 정보를 읽어 표시용 GT_HEAD/GT_ITEM을 생성하도록 순서를 제어한다.

    54|   PERFORM GET_BKPF.
    55| 
    56|   CHECK GT_BKPF[] IS NOT INITIAL.
    57| * 전표 아이템
    58|   PERFORM GET_BSEG.
    59| * 임시전표 관리 정보
    60|   PERFORM GET_ZFIT0100.
    61| * Display Data
    62|   PERFORM DISPLAY_DATA.
  • EN: Orchestrates data retrieval: reads BKPF headers, and only if found, BSEG items and ZFIT0100 approval data, then builds display tables.
  • 호출(파서): GET_BKPF, GET_BSEG, GET_ZFIT0100, DISPLAY_DATA
  • SAP 객체: BKPF, BSEG, ZFIT0100
  • 업무 키워드: 조회 흐름, 전표 헤더, 전표 아이템, 결재 정보
  • English: Data Retrieval, Document Header, Line Item
  • 정의부(복사 시 함께 필요): BKPF, GT_BKPF
  • 위치: abap://ZFIR0050/ZFIR0050F01#L54-L62 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#GET_DATA#C1

FORM GET_BKPF — ZFIR0050F01 L70-L108 (39줄)

선택조건(회사코드·전기일·전표번호·전표유형·입력일·입력자)과 일반/결산조정전표 구분(BLART SC~SJ 범위)으로 BKPF 전표 헤더를 조회하고 회사코드(T001)·국가(T005) 정보를 읽는 FORM이다.

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

[sql_select] 라디오버튼(P_RA 일반전표/결산조정전표)에 따라 전표유형 SC~SJ 범위를 제외(E) 또는 포함(I)하는 R_BLART 범위를 만들고, 선택조건과 함께 삭제된 임시전표(BSTAT Z)를 제외해 BKPF에서 전표 헤더를 조회한다.

    74|   R_BLART-OPTION  = C_BT.
    75|   R_BLART-LOW     = 'SC'.
    76|   R_BLART-HIGH    = 'SJ'.
    77|   IF P_RA EQ C_X.  "일반전표
    78|     R_BLART-SIGN  = C_E.
    79|     APPEND R_BLART.
    80|   ELSE.            "결산조정전표
    81|     R_BLART-SIGN  = C_I.
    82|     APPEND R_BLART.
    83|   ENDIF.
    84| 
    85|   SELECT *
    86|     INTO TABLE GT_BKPF
    87|     FROM BKPF
    88|    WHERE BUKRS EQ P_BUKRS
    89|      AND BUDAT IN S_BUDAT
    90|      AND BELNR IN S_BELNR
    91|      AND BLART IN S_BLART
    92|      AND BLART IN R_BLART
    93|      AND CPUDT IN S_CPUDT
    94|      AND ( USNAM IN S_USNAM OR
    95|            PPNAM IN S_USNAM )
    96|      AND BSTAT NE C_Z.        "삭제된 임시전표 제외
  • EN: Builds a document type range (SC-SJ excluded for normal, included for closing adjustment documents) and selects document headers from BKPF by company code, posting date, document number, entry date and user, excluding deleted parked documents (BSTAT Z).
  • 테이블(파서): read BKPF / write -
  • SAP 객체: BKPF
  • 업무 키워드: 전표 헤더 조회, 전표유형 범위, 결산조정전표, 일반전표, 삭제 임시전표 제외
  • English: Document Header, Document Type BLART, Closing Adjustment, Parked Document Status BSTAT, BKPF
  • 정의부(복사 시 함께 필요): R_BLART, C_BT, P_RA, C_X, C_E, C_I, BKPF, GT_BKPF, P_BUKRS, S_BUDAT, S_BELNR, S_BLART 외 3건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L74-L96 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#GET_BKPF#C1

[sql_select] 회사코드 마스터 T001을 읽고 그 국가키(LAND1)로 T005 국가 정보(세금 계산 절차 KALSM 등)를 조회한다.

    99|   SELECT SINGLE *
   100|     FROM T001
   101|    WHERE BUKRS EQ P_BUKRS.
   102| 
   103| * 국가 정보
   104|   SELECT SINGLE *
   105|     FROM T005
   106|    WHERE LAND1 EQ T001-LAND1.
  • EN: Reads the company code master T001 and its country record T005 (used later for the tax calculation procedure).
  • 테이블(파서): read T001, T005 / write -
  • SAP 객체: T001, T005
  • 업무 키워드: 회사코드 정보, 국가 정보, 세금 절차
  • English: Company Code, Country, T001, T005
  • 정의부(복사 시 함께 필요): T001, P_BUKRS, T005
  • 위치: abap://ZFIR0050/ZFIR0050F01#L99-L106 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#GET_BKPF#C2

FORM GET_BSEG — ZFIR0050F01 L114-L264 (151줄)

정식 전표와 임시(파킹) 전표의 아이템을 모두 모아 조직단위·거래처·계정 텍스트를 붙인다.

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

[sql_select] 정식 전표 아이템(BSEG)을 읽고, 그 위에 임시전표 아이템을 유형별로 덧붙인다 — VBSEGS(G/L)·VBSEGD(고객)·VBSEGK(공급업체)·VBSEGA(자산). 파킹 전표는 아이템이 계정유형별 4개 테이블로 나뉘어 있어 네 번 읽어 한 내부테이블로 합친다.

   117|   SELECT *
   118|     INTO TABLE GT_BSEG
   119|     FROM BSEG
   120|      FOR ALL ENTRIES IN GT_BKPF
   121|    WHERE BUKRS EQ P_BUKRS
   122|      AND GJAHR EQ GT_BKPF-GJAHR
   123|      AND BELNR EQ GT_BKPF-BELNR.
   124| 
   125| * 임시전표 아이템 추출
   126|   SELECT *
   127|     APPENDING CORRESPONDING FIELDS OF TABLE GT_BSEG
   128|     FROM VBSEGS
   129|      FOR ALL ENTRIES IN GT_BKPF
   130|    WHERE AUSBK EQ P_BUKRS
   131|      AND BELNR EQ GT_BKPF-BELNR
   132|      AND GJAHR EQ GT_BKPF-GJAHR.
   133| 
   134|   SELECT *
   135|     APPENDING CORRESPONDING FIELDS OF TABLE GT_BSEG
   136|     FROM VBSEGD
   137|      FOR ALL ENTRIES IN GT_BKPF
   138|    WHERE AUSBK EQ P_BUKRS
   139|      AND BELNR EQ GT_BKPF-BELNR
   140|      AND GJAHR EQ GT_BKPF-GJAHR.
   141| 
   142|   SELECT *
   143|     APPENDING CORRESPONDING FIELDS OF TABLE GT_BSEG
   144|     FROM VBSEGK
   145|      FOR ALL ENTRIES IN GT_BKPF
   146|    WHERE AUSBK EQ P_BUKRS
   147|      AND BELNR EQ GT_BKPF-BELNR
   148|      AND GJAHR EQ GT_BKPF-GJAHR.
   149| 
   150|   SELECT *
   151|     APPENDING CORRESPONDING FIELDS OF TABLE GT_BSEG
   152|     FROM VBSEGA
   153|      FOR ALL ENTRIES IN GT_BKPF
   154|    WHERE AUSBK EQ P_BUKRS
   155|      AND BELNR EQ GT_BKPF-BELNR
   156|      AND GJAHR EQ GT_BKPF-GJAHR.
  • EN: Reads posted document items from BSEG and appends parked-document items from the four account-type tables VBSEGS/VBSEGD/VBSEGK/VBSEGA into one internal table.
  • 테이블(파서): read BSEG, VBSEGS, VBSEGD, VBSEGK, VBSEGA / write -
  • SAP 객체: BSEG, VBSEGS, VBSEGD, VBSEGK, VBSEGA, BELNR, GJAHR
  • 업무 키워드: 전표아이템, 임시전표, 파킹전표, 계정유형, 고객, 공급업체, 자산, 통합조회
  • English: document line item, parked document, account type, customer, vendor, asset, BSEG, VBSEG
  • 정의부(복사 시 함께 필요): BSEG, GT_BSEG, BKPF, GT_BKPF, P_BUKRS, VBSEGS, VBSEGD, VBSEGK
  • 위치: abap://ZFIR0050/ZFIR0050F01#L117-L156 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#GET_BSEG#C1

[sql_select] 표시용 텍스트를 한꺼번에 확보한다 — 입력자명(V_USERNAME)·전표유형명(T003T)·코스트센터명(CSKT)·사업장명(J_1BBRANCH)·전기키명(TBSLT)·고객명(KNA1)·구매처명(LFA1)·계정명(SKAT, HKONT 와 SAKNR 양쪽)·지급조건명(T052U)·세금코드명(T007S). 계정명은 두 필드로 두 번 읽은 뒤 중복을 제거한다.

   159|   CLEAR : GT_UNAME[], GT_UNAME.
   160|   SELECT BNAME
   161|          NAME_TEXT AS NAMET
   162|     INTO TABLE GT_UNAME
   163|     FROM V_USERNAME
   164|      FOR ALL ENTRIES IN GT_BKPF
   165|    WHERE BNAME EQ GT_BKPF-USNAM.
   166| 
   167| * 전표유형명
   168|   CLEAR : GT_T003T[], GT_T003T.
   169|   SELECT BLART  LTEXT
   170|     INTO TABLE GT_T003T
   171|     FROM T003T
   172|      FOR ALL ENTRIES IN GT_BKPF
   173|    WHERE SPRAS EQ SY-LANGU
   174|      AND BLART EQ GT_BKPF-BLART.
   175| 
   176| * 코스트센터명
   177|   CLEAR : GT_CSKT[], GT_CSKT, TKA02.
   178|   SELECT SINGLE *
   179|     FROM TKA02
   180|    WHERE BUKRS EQ P_BUKRS.
   181| 
   182|   SELECT KOSTL  KTEXT
   183|     INTO TABLE GT_CSKT
   184|     FROM CSKT
   185|      FOR ALL ENTRIES IN GT_BSEG
   186|    WHERE SPRAS EQ SY-LANGU
   187|      AND KOKRS EQ TKA02-KOKRS
   188|      AND KOSTL EQ GT_BSEG-KOSTL.
   189| 
   190| * 사업장명
   191|   CLEAR : GT_BRANCH[], GT_BRANCH.
   192|   SELECT BRANCH  NAME
   193|     INTO TABLE GT_BRANCH
   194|     FROM J_1BBRANCH
   195|      FOR ALL ENTRIES IN GT_BSEG
   196|    WHERE BUKRS  EQ P_BUKRS
   197|      AND BRANCH EQ GT_BSEG-BUPLA.
   198| 
   199| * 전기키명
   200|   CLEAR : GT_TBSLT[], GT_TBSLT.
   201|   SELECT BSCHL  UMSKZ  LTEXT
   202|     INTO TABLE GT_TBSLT
   203|     FROM TBSLT
   204|      FOR ALL ENTRIES IN GT_BSEG
   205|    WHERE SPRAS EQ SY-LANGU
   206|      AND BSCHL EQ GT_BSEG-BSCHL
   207|      AND UMSKZ EQ GT_BSEG-UMSKZ.
   208| 
   209| * 고객명
   210|   CLEAR : GT_KNA1[], GT_KNA1.
   211|   SELECT KUNNR  NAME1
   212|     INTO TABLE GT_KNA1
   213|     FROM KNA1
   214|      FOR ALL ENTRIES IN GT_BSEG
   215|    WHERE KUNNR EQ GT_BSEG-KUNNR.
   216| 
   217| * 구매처명
   218|   CLEAR : GT_LFA1[], GT_LFA1.
   219|   SELECT LIFNR  NAME1
   220|     INTO TABLE GT_LFA1
   221|     FROM LFA1
   222|      FOR ALL ENTRIES IN GT_BSEG
   223|    WHERE LIFNR EQ GT_BSEG-LIFNR.
   224| 
   225| * G/L 계정명
   226|   CLEAR : GT_SKAT[], GT_SKAT.
   227|   SELECT SAKNR  TXT50
   228|     INTO TABLE GT_SKAT
   229|     FROM SKAT
   230|      FOR ALL ENTRIES IN GT_BSEG
   231|    WHERE KTOPL EQ T001-KTOPL
   232|      AND SPRAS EQ SY-LANGU
   233|      AND SAKNR EQ GT_BSEG-HKONT.
   234| 
   235|   SELECT SAKNR  TXT50
   236|     APPENDING TABLE GT_SKAT
   237|     FROM SKAT
   238|      FOR ALL ENTRIES IN GT_BSEG
   239|    WHERE KTOPL EQ T001-KTOPL
   240|      AND SPRAS EQ SY-LANGU
   241|      AND SAKNR EQ GT_BSEG-SAKNR.
   242|   SORT GT_SKAT BY SAKNR.
   243|   DELETE ADJACENT DUPLICATES FROM GT_SKAT COMPARING SAKNR.
   244| 
   245| * 지급조건명
   246|   CLEAR : GT_T052U[], GT_T052U.
   247|   SELECT ZTERM  TEXT1
   248|     INTO TABLE GT_T052U
   249|     FROM T052U
   250|      FOR ALL ENTRIES IN GT_BSEG
   251|    WHERE SPRAS EQ SY-LANGU
   252|      AND ZTERM EQ GT_BSEG-ZTERM.
   253| 
   254| * 세금코드명
   255|   CLEAR : GT_T007S[], GT_T007S.
   256|   SELECT MWSKZ  TEXT1
   257|     INTO TABLE GT_T007S
   258|     FROM T007S
   259|      FOR ALL ENTRIES IN GT_BSEG
   260|    WHERE SPRAS EQ SY-LANGU
   261|      AND KALSM EQ T005-KALSM
   262|      AND MWSKZ EQ GT_BSEG-MWSKZ.
   263| 
  • EN: Bulk-loads display texts for user, document type, cost center, business place, posting key, customer, vendor, G/L account (both HKONT and SAKNR), payment terms and tax code.
  • 테이블(파서): read V_USERNAME, T003T, TKA02, CSKT, J_1BBRANCH, TBSLT, KNA1, LFA1, SKAT, T052U, T007S / write -
  • SAP 객체: V_USERNAME, T003T, CSKT, TKA02, J_1BBRANCH, TBSLT, KNA1, LFA1, SKAT, T052U, T007S
  • 업무 키워드: 입력자, 전표유형, 코스트센터, 사업장, 전기키, 고객명, 구매처명, 계정명, 지급조건, 세금코드, 텍스트보강
  • English: user name, document type, cost center, business place, posting key, customer, vendor, G/L account text, payment terms, tax code
  • 정의부(복사 시 함께 필요): GT_UNAME, BKPF, GT_BKPF, GT_T003T, GT_CSKT, TKA02, P_BUKRS, BSEG, GT_BSEG, GT_BRANCH, GT_TBSLT, GT_KNA1 외 8건
  • 선언을 못 찾은 이름: V_USERNAME, J_1BBRANCH (수집 안 된 인클루드·함수 인터페이스일 수 있다)
  • 위치: abap://ZFIR0050/ZFIR0050F01#L159-L263 · confidence 0.87 · ZFIR0050#ZFIR0050F01#FORM#GET_BSEG#C2

FORM GET_ZFIT0100 — ZFIR0050F01 L270-L281 (12줄)

조회된 전표 헤더(GT_BKPF)에 대한 임시전표 결재 관리 정보를 CBO 테이블 ZFIT0100에서 읽어 GT_Z0100에 담는 FORM이다.

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

[sql_select] GT_BKPF의 전표번호·연도를 FOR ALL ENTRIES 조건으로 회사코드 P_BUKRS의 결재 이력(상태·반려사유·UNQID 등)을 ZFIT0100에서 조회한다.

   273|   SELECT *
   274|     INTO TABLE GT_Z0100
   275|     FROM ZFIT0100
   276|      FOR ALL ENTRIES IN GT_BKPF
   277|    WHERE BUKRS EQ P_BUKRS
   278|      AND BELNR EQ GT_BKPF-BELNR
   279|      AND GJAHR EQ GT_BKPF-GJAHR.
  • EN: Reads the parked document approval history from CBO table ZFIT0100 for all documents in GT_BKPF by company code, document number and fiscal year.
  • 테이블(파서): read ZFIT0100 / write -
  • SAP 객체: ZFIT0100, BKPF
  • 업무 키워드: 결재 이력 조회, 임시전표 관리, 결재 상태, CBO 테이블
  • English: Approval History, CBO Table, FOR ALL ENTRIES, Parked Document
  • 정의부(복사 시 함께 필요): ZFIT0100, GT_Z0100, BKPF, GT_BKPF, P_BUKRS
  • 위치: abap://ZFIR0050/ZFIR0050F01#L273-L279 · confidence 0.95 · ZFIR0050#ZFIR0050F01#FORM#GET_ZFIT0100#C1

FORM DISPLAY_DATA — ZFIR0050F01 L287-L569 (283줄)

BKPF/BSEG와 ZFIT0100 결재 정보를 합쳐 결재상태별 아이콘·편집가능 여부와 각종 명칭(입력자·전표유형·전표상태·거래처·계정·전기키·지급조건·코스트센터·세금코드)을 붙인 헤더 ALV(GT_HEAD)와 아이템 ALV(GT_ITEM) 데이터를 만드는 FORM이다.

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

[control_flow] 전표 헤더마다 ZFIT0100 결재 이력이 있으면 임원 모드(GV_CON)에서는 팀장승인(A)/임원승인(C) 건만 남기고 결재상태·반려사유·UNQID를 옮긴 뒤 상태(V/I/R/A/C/S/D/E)별 상태 아이콘을 결정한다.

   294|   LOOP AT GT_BKPF.
   295|     CLEAR GT_HEAD.
   296|     READ TABLE GT_Z0100 WITH KEY BELNR = GT_BKPF-BELNR
   297|                                  GJAHR = GT_BKPF-GJAHR.
   298| 
   299|     IF SY-SUBRC EQ 0.
   300| *     임원일 경우 회계팀장 승인된 건만 조회
   301|       IF GV_CON EQ C_X.
   302|         IF  GT_Z0100-STATS EQ C_A OR GT_Z0100-STATS EQ C_C .
   303|         ELSE.
   304|           CONTINUE.
   305|         ENDIF.
   306|       ENDIF.
   307| 
   308|       GT_HEAD-STATS  = GT_Z0100-STATS.
   309|       GT_HEAD-RJTXT  = GT_Z0100-RJTXT.
   310|       GT_HEAD-CFMSTA = GT_Z0100-CFMSTA.
   311|       GT_HEAD-CFMDAT = GT_Z0100-CFMDAT.
   312|       GT_HEAD-LGCYCD = GT_Z0100-LGCYCD.
   313|       GT_HEAD-UNQID  = GT_Z0100-UNQID.
   314| *     결재상태에 따른 아이콘
   315|       CASE GT_HEAD-STATS.
   316|         WHEN C_V.           "임시전표
   317|           GT_HEAD-SICON = ICON_LIGHT_OUT.
   318|         WHEN C_I.           "상신 중
   319|           IF GT_HEAD-CFMSTA EQ SPACE.
   320|             GT_HEAD-STATS = C_V.
   321|             GT_HEAD-SICON = ICON_LIGHT_OUT.
   322|           ELSE.
   323|             GT_HEAD-SICON = ICON_TRANSFER.
   324|           ENDIF.
   325|         WHEN C_R.           "반려
   326|           GT_HEAD-SICON = ICON_SYSTEM_UNDO.
   327|         WHEN C_A.           "팀장승인
   328|           GT_HEAD-SICON = ICON_YELLOW_LIGHT.
   329|         WHEN C_C OR C_S.    "임원승인 / 결재승인
   330|           GT_HEAD-SICON = ICON_GREEN_LIGHT.
   331|         WHEN C_D.           "역분개
   332|           GT_HEAD-SICON = ICON_STATUS_OVERVIEW.
   333|         WHEN C_E.           "에러
   334|           GT_HEAD-SICON = ICON_RED_LIGHT.
   335|       ENDCASE.
  • EN: For each document header with approval history, applies the executive-view filter (only team-leader/executive approved) and derives the status icon from the approval status (parked, in approval, rejected, approved, reversed, error).
  • SAP 객체: ZFIT0100, BKPF
  • 업무 키워드: 결재상태 아이콘, 임원 조회 필터, 결재 이력 병합, 상신중, 반려
  • English: Approval Status, Status Icon, Executive View, Parked Document
  • 정의부(복사 시 함께 필요): BKPF, GT_BKPF, GT_HEAD, ZFIT0100, GT_Z0100, GV_CON, C_X, C_A, C_C, C_V, C_I, C_R 외 3건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L294-L335 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_DATA#C1

[validation] 결재상태 선택조건(S_STATS)으로 필터링하고, 결산전표이면서 팀장승인 상태일 때만 반려사유(RJTXT) 셀을 편집 가능하게 두며, 이력이 없는 전표는 임원 모드·역분개 전표를 제외하고 임시전표(BSTAT V)에 상신대상 아이콘을 붙인다.

   337| *     조건값 체크
   338|       IF GT_HEAD-STATS NOT IN S_STATS.
   339|         CONTINUE.
   340|       ENDIF.
   341| 
   342| *     결산전표이면서 승인상태인 경우 입력가능
   343|       IF P_RB EQ C_X AND GT_Z0100-STATS EQ C_A.
   344|       ELSE.
   345| *       입력필드 비활성화
   346|         CLEAR : GT_CELLTAB, GT_CELLTAB[].
   347|         GS_CELLTAB-FIELDNAME = 'RJTXT'.
   348|         GS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
   349|         APPEND GS_CELLTAB TO GT_CELLTAB.
   350|       ENDIF.
   351|     ELSE.
   352| *     임원일 경우 회계팀장 승인된 건만 조회
   353|       IF GV_CON EQ C_X .
   354|         CONTINUE.
   355|       ENDIF.
   356| *     역분개전표인 경우 제외
   357|       IF GT_BKPF-STBLG NE SPACE.
   358|         CONTINUE.
   359|       ENDIF.
   360| 
   361| *     상신대상일 경우 아이콘 = 라이트 아웃
   362|       IF GT_BKPF-BSTAT EQ C_V.  "임시전표
   363|         GT_HEAD-SICON = ICON_LIGHT_OUT.
   364|         IF P_RA EQ C_X.
   365|           GT_HEAD-STATS = C_V.
   366|         ENDIF.
   367|       ENDIF.
   368| 
   369| *     조건값 체크
   370|       IF GT_HEAD-STATS NOT IN S_STATS.
   371|         CONTINUE.
   372|       ENDIF.
   373| 
   374| *     일반전표는 입력불가
   375|       IF P_RA EQ C_X.
   376| *       입력필드 비활성화
   377|         CLEAR : GT_CELLTAB, GT_CELLTAB[].
   378|         GS_CELLTAB-FIELDNAME = 'RJTXT'.
   379|         GS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
   380|         APPEND GS_CELLTAB TO GT_CELLTAB.
   381|       ENDIF.
   382|     ENDIF.
  • EN: Filters by approval status selection, sets the RJTXT cell editable only for closing documents in team-leader-approved status, and for documents without history excludes reversed documents and marks parked ones as submittable.
  • 호출(파서): CL_GUI_ALV_GRID=>MC_STYLE_DISABLED
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 결재상태 필터, 반려사유 편집 제어, 역분개 전표 제외, 상신 대상, 셀 스타일
  • English: Selection Filter, Cell Style, Reversal Document, Parked Document, MC_STYLE_DISABLED
  • 정의부(복사 시 함께 필요): BKPF, GT_HEAD, S_STATS, P_RB, C_X, ZFIT0100, GT_Z0100, C_A, GT_CELLTAB, GS_CELLTAB, GV_CON, GT_BKPF 외 2건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L337-L382 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_DATA#C2

[output] 헤더에 입력자명(GT_UNAME), 전표유형명(T003T), 전표상태(BSTAT)·결재상태(ZDSTATS) 도메인 텍스트와 셀 스타일 테이블을 붙여 GT_HEAD에 추가한다.

   384|     MOVE-CORRESPONDING GT_BKPF TO GT_HEAD.
   385| *   입력자명
   386|     READ TABLE GT_UNAME WITH KEY BNAME = GT_HEAD-USNAM.
   387|     IF SY-SUBRC EQ 0.
   388|       GT_HEAD-USNAM_T = GT_UNAME-NAMET.
   389|     ENDIF.
   390| *   전표유형명
   391|     READ TABLE GT_T003T WITH KEY BLART = GT_HEAD-BLART.
   392|     IF SY-SUBRC EQ 0.
   393|       GT_HEAD-BLART_T = GT_T003T-LTEXT.
   394|     ENDIF.
   395| *   전표상태명
   396|     READ TABLE GT_DOMAIN WITH KEY DOMNAME    = 'BSTAT'
   397|                                   DOMVALUE_L = GT_HEAD-BSTAT.
   398|     IF SY-SUBRC EQ 0.
   399|       GT_HEAD-BSTAT_T = GT_DOMAIN-DDTEXT.
   400|     ENDIF.
   401| *   결재상태명
   402|     READ TABLE GT_DOMAIN WITH KEY DOMNAME    = 'ZDSTATS'
   403|                                   DOMVALUE_L = GT_HEAD-STATS.
   404|     IF SY-SUBRC EQ 0.
   405|       GT_HEAD-STATS_T = GT_DOMAIN-DDTEXT.
   406|     ENDIF.
   407| 
   408|     GT_HEAD-CELLTAB = GT_CELLTAB.
   409| 
   410|     APPEND GT_HEAD.
   411|   ENDLOOP.
  • EN: Enriches the header row with user name, document type text (T003T) and domain texts for BSTAT/ZDSTATS, attaches the cell style table and appends it to GT_HEAD.
  • SAP 객체: T003T, ZDSTATS
  • 업무 키워드: 헤더 표시 데이터, 전표유형명, 도메인 텍스트, 입력자명
  • English: Document Type Text, Domain Text, Header Display
  • 정의부(복사 시 함께 필요): BKPF, GT_BKPF, GT_HEAD, GT_UNAME, GT_T003T, GT_DOMAIN, GT_CELLTAB
  • 위치: abap://ZFIR0050/ZFIR0050F01#L384-L411 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_DATA#C3

[output] 전표 아이템마다 사업장명을 붙이고 마이너스 전기(XNEGP)면 금액 부호와 차대(SHKZG)를 뒤집으며, 계정유형(D 고객/K 구매처/A 자산/M 자재/S G/L)에 따라 보조부 계정번호와 명칭(KNA1·LFA1 버퍼, ANLA·MAKT SELECT)을 채운다.

   416|   LOOP AT GT_BSEG.
   417|     MOVE-CORRESPONDING  GT_BSEG  TO  GT_ITEM.
   418| *   사업장명
   419|     READ TABLE GT_BRANCH WITH KEY BRANCH = GT_BSEG-BUPLA.
   420|     IF SY-SUBRC EQ 0.
   421|       GT_ITEM-BUPLA_T = GT_BRANCH-NAME.
   422|     ENDIF.
   423| 
   424| *   차대지시자
   425|     IF GT_BSEG-XNEGP = C_X.  "마이너스
   426|       GT_ITEM-WRBTR = 0 - GT_ITEM-WRBTR.
   427|       GT_ITEM-DMBTR = 0 - GT_ITEM-DMBTR.
   428|       CASE GT_BSEG-SHKZG.
   429|         WHEN C_S.
   430|           GT_ITEM-SHKZG  = C_H.
   431|         WHEN C_H.
   432|           GT_ITEM-SHKZG = C_S.
   433|       ENDCASE.
   434|     ENDIF.
   435| 
   436| *   계정유형
   437|     CASE GT_BSEG-KOART.
   438|       WHEN C_D.
   439|         GT_ITEM-KOART_T = '고객'.
   440|         IF NOT GT_BSEG-KUNNR IS INITIAL.
   441|           GT_ITEM-SUBAC = GT_BSEG-KUNNR.
   442| *       고객명
   443|           READ TABLE GT_KNA1 WITH KEY KUNNR = GT_BSEG-KUNNR.
   444|           IF SY-SUBRC EQ 0.
   445|             GT_ITEM-SUBNM = GT_KNA1-NAME1.
   446|           ENDIF.
   447|         ENDIF.
   448|       WHEN C_K.
   449|         GT_ITEM-KOART_T = '구매처'.
   450| *     보조부계정
   451|         IF NOT GT_BSEG-LIFNR IS INITIAL.
   452|           GT_ITEM-SUBAC = GT_BSEG-LIFNR.
   453| *       구매처명
   454|           READ TABLE GT_LFA1 WITH KEY LIFNR = GT_BSEG-LIFNR.
   455|           IF SY-SUBRC EQ 0.
   456|             GT_ITEM-SUBNM = GT_LFA1-NAME1.
   457|           ENDIF.
   458|         ENDIF.
   459|       WHEN C_A.
   460|         GT_ITEM-KOART_T = '자산'.
   461|         IF NOT GT_BSEG-ANLN1 IS INITIAL.
   462|           GT_ITEM-SUBAC = GT_BSEG-ANLN1+2(10).
   463| *       자산코드명
   464|           SELECT SINGLE TXT50
   465|             INTO GT_ITEM-SUBNM
   466|             FROM ANLA
   467|            WHERE ANLA~BUKRS EQ P_BUKRS
   468|              AND ANLA~ANLN1 EQ GT_BSEG-ANLN1.    "자산
   469|         ENDIF.
   470|       WHEN C_M.
   471|         GT_ITEM-KOART_T = '자재'.
   472|         IF NOT GT_BSEG-MATNR IS INITIAL.
   473|           GT_ITEM-SUBAC = GT_BSEG-MATNR+8(10).
   474| *       자재코드명
   475|           SELECT SINGLE MAKTX
   476|             INTO GT_ITEM-SUBNM
   477|             FROM MAKT
   478|            WHERE MAKT~SPRAS EQ SY-LANGU
   479|              AND MAKT~MATNR EQ GT_BSEG-MATNR.
   480|         ENDIF.
   481|       WHEN C_S.
   482|         GT_ITEM-KOART_T = 'G/L 계정'.
   483|     ENDCASE.
  • EN: Builds each line item: business place text, sign/debit-credit flip for negative postings, and account-type dependent subledger account and name from customer/vendor buffers or ANLA/MAKT lookups.
  • 테이블(파서): read ANLA, MAKT / write -
  • SAP 객체: BSEG, ANLA, MAKT, KNA1, LFA1
  • 업무 키워드: 계정유형, 보조부 계정, 마이너스 전기, 고객명, 구매처명, 자산명, 자재명
  • English: Account Type KOART, Subledger Account, Negative Posting XNEGP, Asset Master, Material Description
  • 정의부(복사 시 함께 필요): BSEG, GT_BSEG, GT_ITEM, GT_BRANCH, C_X, C_S, C_H, C_D, GT_KNA1, C_K, GT_LFA1, C_A 외 2건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L416-L483 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_DATA#C4

[output] 임시전표는 계정유형이 비어 있으므로 LIFNR/KUNNR/ANLN1 존재 여부로 계정유형과 거래처·자산 명칭을 다시 결정하고, HKONT 또는 SAKNR로 G/L 계정명(GT_SKAT)을 붙인다.

   487|     IF NOT GT_BSEG-LIFNR IS INITIAL.
   488|       GT_ITEM-KOART = C_K.
   489|       GT_ITEM-SUBAC = GT_BSEG-LIFNR.
   490| *     구매처명
   491|       READ TABLE GT_LFA1 WITH KEY LIFNR = GT_BSEG-LIFNR.
   492|       IF SY-SUBRC EQ 0.
   493|         GT_ITEM-SUBNM = GT_LFA1-NAME1.
   494|       ENDIF.
   495|     ENDIF.
   496|     IF NOT GT_BSEG-KUNNR IS INITIAL.
   497|       GT_ITEM-KOART = C_D.
   498|       GT_ITEM-SUBAC = GT_BSEG-KUNNR.
   499| *     고객명
   500|       READ TABLE GT_KNA1 WITH KEY KUNNR = GT_BSEG-KUNNR.
   501|       IF SY-SUBRC EQ 0.
   502|         GT_ITEM-SUBNM = GT_KNA1-NAME1.
   503|       ENDIF.
   504|     ENDIF.
   505|     IF NOT GT_BSEG-ANLN1 IS INITIAL.
   506|       GT_ITEM-SUBAC = GT_BSEG-ANLN1+2(10).
   507| *     자산코드명
   508|       SELECT SINGLE TXT50
   509|         INTO GT_ITEM-SUBNM
   510|         FROM ANLA
   511|        WHERE ANLA~BUKRS EQ P_BUKRS
   512|          AND ANLA~ANLN1 EQ GT_BSEG-ANLN1.    "자산
   513|     ENDIF.
   514| 
   515| *   G/L 계정명
   516|     IF NOT GT_BSEG-HKONT IS INITIAL.
   517|       READ TABLE GT_SKAT WITH KEY SAKNR = GT_BSEG-HKONT.
   518|       IF SY-SUBRC EQ 0.
   519|         GT_ITEM-TXT50 = GT_SKAT-TXT50.
   520|       ENDIF.
   521|     ELSE.
   522|       IF NOT GT_BSEG-SAKNR IS INITIAL.
   523|         GT_ITEM-HKONT = GT_BSEG-SAKNR.
   524|         READ TABLE GT_SKAT WITH KEY SAKNR = GT_BSEG-SAKNR.
   525|         IF SY-SUBRC EQ 0.
   526|           GT_ITEM-TXT50 = GT_SKAT-TXT50.
   527|         ENDIF.
   528|       ENDIF.
   529|     ENDIF.
  • EN: For parked documents lacking account type, re-derives account type and partner/asset name from vendor, customer or asset fields, and assigns the G/L account text from SKAT via HKONT or SAKNR.
  • 테이블(파서): read ANLA / write -
  • SAP 객체: SKAT, ANLA, LFA1, KNA1
  • 업무 키워드: 임시전표 계정유형 보정, G/L 계정명, 거래처 명칭, 자산 명칭
  • English: Parked Document, G/L Account Text, Vendor, Customer, Asset
  • 정의부(복사 시 함께 필요): BSEG, GT_BSEG, GT_ITEM, C_K, GT_LFA1, C_D, GT_KNA1, P_BUKRS, GT_SKAT
  • 위치: abap://ZFIR0050/ZFIR0050F01#L487-L529 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_DATA#C5

[output] 전기키명(TBSLT)·지급조건명(T052U)·코스트센터명(CSKT)·세금코드명(T007S)을 버퍼 테이블에서 붙이고 헤더의 전표통화(WAERS)를 아이템에 넣어 GT_ITEM에 추가한다.

   532|     IF NOT GT_BSEG-BSCHL IS INITIAL.
   533|       READ TABLE GT_TBSLT WITH KEY BSCHL = GT_BSEG-BSCHL
   534|                                    UMSKZ = GT_BSEG-UMSKZ.
   535|       IF SY-SUBRC EQ 0.
   536|         GT_ITEM-BSCHL_T = GT_TBSLT-LTEXT.
   537|       ENDIF.
   538|     ENDIF.
   539| 
   540| *   지급조건명
   541|     IF NOT GT_BSEG-ZTERM IS INITIAL.
   542|       READ TABLE GT_T052U WITH KEY ZTERM = GT_BSEG-ZTERM.
   543|       IF SY-SUBRC EQ 0.
   544|         GT_ITEM-ZTERM_T = GT_T052U-TEXT1.
   545|       ENDIF.
   546|     ENDIF.
   547| 
   548| *   코스트센터명
   549|     READ TABLE GT_CSKT WITH KEY KOSTL = GT_BSEG-KOSTL.
   550|     IF SY-SUBRC EQ 0.
   551|       GT_ITEM-KOSTL_T = GT_CSKT-KTEXT.
   552|     ENDIF.
   553| 
   554| *   세금코드명
   555|     READ TABLE GT_T007S WITH KEY MWSKZ = GT_BSEG-MWSKZ.
   556|     IF SY-SUBRC EQ 0.
   557|       GT_ITEM-MWSKZ_T = GT_T007S-TEXT1.
   558|     ENDIF.
   559| 
   560|     READ TABLE GT_BKPF WITH KEY BELNR = GT_ITEM-BELNR
   561|                                 GJAHR = GT_ITEM-GJAHR.
   562|     IF SY-SUBRC EQ 0.
   563|       GT_ITEM-WAERS = GT_BKPF-WAERS.
   564|     ENDIF.
   565|     APPEND GT_ITEM. CLEAR GT_ITEM.
   566| 
   567|   ENDLOOP.
  • EN: Adds posting key, payment term, cost center and tax code descriptions from buffered tables, copies the document currency from the header and appends the item to GT_ITEM.
  • SAP 객체: TBSLT, T052U, CSKT, T007S
  • 업무 키워드: 전기키명, 지급조건명, 코스트센터명, 세금코드명, 전표통화
  • English: Posting Key Text, Payment Terms, Cost Center Text, Tax Code Text, Document Currency
  • 정의부(복사 시 함께 필요): BSEG, GT_BSEG, GT_TBSLT, GT_ITEM, GT_T052U, GT_CSKT, GT_T007S, BKPF, GT_BKPF
  • 위치: abap://ZFIR0050/ZFIR0050F01#L532-L567 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_DATA#C6

FORM NAME_SELECT — ZFICOM L378-L387 (10줄)

사용자 ID 로 V_USERNAME 뷰에서 사용자 이름을 조회하는 공통 FORM 이다.

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

[sql_select] V_USERNAME 뷰에서 사용자 ID 의 이름(NAME_TEXT)을 조회하고 이름이 비어 있으면 사용자 ID 를 그대로 돌려준다.

   380|   SELECT SINGLE V_USERNAME~NAME_TEXT
   381|     INTO P_NAMET
   382|     FROM V_USERNAME
   383|    WHERE V_USERNAME~BNAME EQ P_UNAME.
   384|   IF SY-DBCNT GT 0 AND P_NAMET IS INITIAL.
   385|     P_NAMET = P_UNAME.
   386|   ENDIF.
  • EN: Reads the user's full name from view V_USERNAME by user ID, falling back to the user ID when the name is empty.
  • 테이블(파서): read V_USERNAME / write -
  • SAP 객체: V_USERNAME, USR21, ADRP
  • 업무 키워드: 사용자 이름, 사용자 ID, 담당자명
  • English: User Name, V_USERNAME, User Master
  • 선언을 못 찾은 이름: V_USERNAME (수집 안 된 인클루드·함수 인터페이스일 수 있다)
  • 위치: abap://ZFIR0050/ZFICOM#L380-L386 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#NAME_SELECT#C1

FORM SELECT_CSKT — ZFICOM L397-L408 (12줄)

관리회계영역·코스트센터로 CSKT 에서 유효한 코스트센터명을 조회하는 공통 FORM 이다.

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

[sql_select] CSKT 에서 영어 언어 기준 관리회계영역(KOKRS)·코스트센터(KOSTL)의 현재 유효(DATBI ≥ 오늘)한 명칭 KTEXT 를 단건 조회한다.

   401|   SELECT SINGLE CSKT~KTEXT
   402|     INTO P_KTEXT
   403|     FROM CSKT
   404|    WHERE CSKT~SPRAS EQ 'E'   "SY-LANGU
   405|      AND CSKT~KOKRS EQ P_KOKRS
   406|      AND CSKT~KOSTL EQ P_KOSTL
   407|      AND CSKT~DATBI GE SY-DATLO.
  • EN: Reads the currently valid cost center name KTEXT from CSKT for the controlling area and cost center (language 'E', DATBI >= today).
  • 테이블(파서): read CSKT / write -
  • SAP 객체: CSKT
  • 업무 키워드: 코스트센터, 코스트센터명, 관리회계영역, 유효기간
  • English: Cost Center, Controlling Area, CSKT
  • 위치: abap://ZFIR0050/ZFICOM#L401-L407 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#SELECT_CSKT#C1

FORM SELECT_J_1BBRANCH — ZFICOM L419-L428 (10줄)

회사코드·사업장(Business Place)으로 J_1BBRANCH 사업장명을 조회하는 공통 FORM 이다.

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

[sql_select] 회사코드와 사업장 코드로 J_1BBRANCH 에서 사업장명(NAME)을 단건 조회한다.

   423|   SELECT SINGLE J_1BBRANCH~NAME
   424|     INTO P_NAME
   425|     FROM J_1BBRANCH
   426|    WHERE J_1BBRANCH~BUKRS  EQ P_BUKRS
   427|      AND J_1BBRANCH~BRANCH EQ P_BRANCH.
  • EN: Reads the business place name from J_1BBRANCH for the company code and branch.
  • 테이블(파서): read J_1BBRANCH / write -
  • SAP 객체: J_1BBRANCH
  • 업무 키워드: 사업장, 사업장명, 회사코드, 세금계산서
  • English: Business Place, Branch, Company Code
  • 정의부(복사 시 함께 필요): P_BUKRS
  • 선언을 못 찾은 이름: J_1BBRANCH (수집 안 된 인클루드·함수 인터페이스일 수 있다)
  • 위치: abap://ZFIR0050/ZFICOM#L423-L427 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#SELECT_J_1BBRANCH#C1

FORM SELECT_SKAT — ZFICOM L438-L464 (27줄)

G/L 계정번호로 SKAT 계정과목 텍스트(장문 50/단문 20)를 언어별로 조회하는 공통 FORM 이다.

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

[sql_select] 파라미터 ID ZSP 또는 로그온 언어로 언어를 정한 뒤 텍스트 유형(L/S)에 따라 SKAT 에서 계정과목 장문(TXT50) 또는 단문(TXT20)을 계정표(C_KTOPL) 기준으로 단건 조회한다.

   443|   GET PARAMETER ID 'ZSP' FIELD L_LANG.
   444|   IF L_LANG IS INITIAL.
   445|     L_LANG = SY-LANGU.
   446|   ENDIF.
   447| * Long text
   448|   IF P_TYPE EQ C_L.
   449|     SELECT SINGLE SKAT~TXT50
   450|       INTO P_TXT20
   451|       FROM SKAT
   452|      WHERE SKAT~SPRAS EQ L_LANG
   453|        AND SKAT~KTOPL EQ C_KTOPL
   454|        AND SKAT~SAKNR EQ P_SAKNR.
   455| * Short text
   456|   ELSE.
   457|     SELECT SINGLE SKAT~TXT20
   458|       INTO P_TXT20
   459|       FROM SKAT
   460|      WHERE SKAT~SPRAS EQ L_LANG
   461|        AND SKAT~KTOPL EQ C_KTOPL
   462|        AND SKAT~SAKNR EQ P_SAKNR.
   463|   ENDIF.
  • EN: Determines the language (parameter ZSP or SY-LANGU) and reads the G/L account long text TXT50 or short text TXT20 from SKAT for the chart of accounts.
  • 테이블(파서): read SKAT / write -
  • SAP 객체: SKAT
  • 업무 키워드: 계정과목 텍스트, G/L 계정, 계정표, 언어
  • English: G/L Account, Chart of Accounts, Account Text, SKAT
  • 정의부(복사 시 함께 필요): L_LANG, C_L, C_KTOPL
  • 위치: abap://ZFIR0050/ZFICOM#L443-L463 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#SELECT_SKAT#C1

FORM CHECK_CONFIRM_STEP — ZFICOM L476-L491 (16줄)

제목·메시지 1줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.

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

[fm_call] POPUP_TO_CONFIRM_STEP 으로 제목·메시지·취소버튼 여부·기본버튼을 지정한 확인 팝업을 띄우고 사용자의 응답을 GF_ANSWER 에 받는다.

   482|   CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
   483|     EXPORTING
   484|       DEFAULTOPTION  = P_BUTTON
   485|       TEXTLINE1      = P_MESS1
   486|       TITEL          = P_TITLE
   487|       CANCEL_DISPLAY = P_CANCEL
   488|     IMPORTING
   489|       ANSWER         = GF_ANSWER.
  • EN: Shows a confirmation popup via POPUP_TO_CONFIRM_STEP and returns the user's answer in GF_ANSWER.
  • 호출(파서): POPUP_TO_CONFIRM_STEP
  • SAP 객체: POPUP_TO_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 사용자 확인, 실행 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
  • 정의부(복사 시 함께 필요): GF_ANSWER
  • 위치: abap://ZFIR0050/ZFICOM#L482-L489 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#CHECK_CONFIRM_STEP#C1

FORM CHECK_CONFIRM_STEP_2 — ZFICOM L503-L520 (18줄)

제목·메시지 2줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.

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

[fm_call] POPUP_TO_CONFIRM_STEP 으로 제목·메시지 2줄·취소버튼 여부·기본버튼을 지정한 확인 팝업을 띄우고 사용자의 응답을 GF_ANSWER 에 받는다.

   510|   CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
   511|     EXPORTING
   512|       DEFAULTOPTION  = P_BUTTON
   513|       TEXTLINE1      = P_MESS1
   514|       TEXTLINE2      = P_MESS2
   515|       TITEL          = P_TITLE
   516|       CANCEL_DISPLAY = P_CANCEL
   517|     IMPORTING
   518|       ANSWER         = GF_ANSWER.
  • EN: Shows a confirmation popup via POPUP_TO_CONFIRM_STEP with two text lines and returns the user's answer in GF_ANSWER.
  • 호출(파서): POPUP_TO_CONFIRM_STEP
  • SAP 객체: POPUP_TO_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 사용자 확인, 실행 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
  • 정의부(복사 시 함께 필요): GF_ANSWER
  • 위치: abap://ZFIR0050/ZFICOM#L510-L518 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#CHECK_CONFIRM_STEP_2#C1

FORM AUTHORITY_PG — ZFICOM L545-L563 (19줄)

사용자 ID 로 커스텀 권한테이블 ZFIT0160 을 조회해 프로그램(T-Code)별 실행 권한을 검증하는 공통 FORM 이다.

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

[validation] ZFIT0160 에서 사용자 ID 의 프로그램 권한 행을 조회하고, 미등록이거나 ZFIR0090 권한 플래그가 비어 있으면 '프로그램 권한이 없습니다' 메시지 후 GF_CHECK 를 세우고 처리를 중단한다.

   547|   SELECT SINGLE  *   FROM ZFIT0160
   548|               WHERE USERID = P_UNAME.
   549| 
   550|   IF  SY-SUBRC = 0.
   551|     IF P_TCODE = 'ZFIR0090'.
   552|       IF  ZFIT0160-ZFIR0090 = ''.
   553|         MESSAGE I000 WITH '프로그램 권한이 없습니다  (ZFIR0160) 미등록'.
   554|         GF_CHECK = C_X.
   555|         LEAVE LIST-PROCESSING.
   556|       ENDIF.
   557|     ENDIF.
   558|   ELSE.
   559|     MESSAGE I000 WITH '프로그램 권한이 없습니다  (ZFIR0160) 미등록'.
   560|     GF_CHECK = C_X.
   561|     LEAVE LIST-PROCESSING.
   562|   ENDIF.
  • EN: Reads the custom program authorization table ZFIT0160 by user ID and stops with an 'no program authorization' message (GF_CHECK = X) when the user is not registered or the ZFIR0090 flag is empty.
  • 테이블(파서): read ZFIT0160 / write -
  • SAP 객체: ZFIT0160, ZFIR0090
  • 업무 키워드: 프로그램 권한, 권한 체크, 사용자 ID, 권한 테이블
  • English: Authorization Check, Custom Authorization Table, User ID
  • 정의부(복사 시 함께 필요): ZFIT0160, GF_CHECK, C_X
  • 위치: abap://ZFIR0050/ZFICOM#L547-L562 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#AUTHORITY_PG#C1

FORM GET_DOMAIN_VALUE — ZFICOM L574-L593 (20줄)

DOMAIN_VALUE_GET 으로 도메인 고정값의 텍스트를 조회하는 공통 헬퍼다.

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

[fm_call] 도메인명·값으로 DOMAIN_VALUE_GET 을 호출해 고정값 텍스트(DDTEXT)를 얻고 미존재 시 시스템 메시지를 표시한다.

   578|   CALL FUNCTION 'DOMAIN_VALUE_GET'
   579|     EXPORTING
   580|       I_DOMNAME  = P_DOMNAME
   581|       I_DOMVALUE = P_DOMVALUE
   582|     IMPORTING
   583|       E_DDTEXT   = P_DDTEXT
   584|     EXCEPTIONS
   585|       NOT_EXIST  = 1
   586|       OTHERS     = 2.
   587| 
   588|   IF SY-SUBRC NE 0.
   589|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
   590|             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   591|   ENDIF.
  • EN: Calls DOMAIN_VALUE_GET to get the fixed-value text of a domain value and raises the system message if not found.
  • 호출(파서): DOMAIN_VALUE_GET
  • SAP 객체: DOMAIN_VALUE_GET
  • 업무 키워드: 도메인, 고정값 텍스트, 코드 설명
  • English: Domain, Fixed Value, DDTEXT
  • 위치: abap://ZFIR0050/ZFICOM#L578-L591 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#GET_DOMAIN_VALUE#C1

FORM CALC_DATE_IN_INTERVAL — ZFICOM L606-L623 (18줄)

기준일에 일·월·년을 가감한 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산하는 공통 헬퍼다.

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

[fm_call] 기준일에 일·월·년 값을 부호(SIGNUM)에 따라 더하거나 빼서 결과 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산한다.

   613|   CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
   614|     EXPORTING
   615|       DATE      = P_DATE
   616|       DAYS      = P_DAYS
   617|       MONTHS    = P_MONTHS
   618|       SIGNUM    = P_SIGNUM
   619|       YEARS     = P_YEARS
   620|     IMPORTING
   621|       CALC_DATE = P_CALC_DATE.
  • EN: Adds or subtracts days/months/years to a base date with RP_CALC_DATE_IN_INTERVAL according to SIGNUM.
  • 호출(파서): RP_CALC_DATE_IN_INTERVAL
  • SAP 객체: RP_CALC_DATE_IN_INTERVAL
  • 업무 키워드: 날짜 계산, 기준일, 일자 가감
  • English: Date Calculation, RP_CALC_DATE_IN_INTERVAL
  • 위치: abap://ZFIR0050/ZFICOM#L613-L621 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#CALC_DATE_IN_INTERVAL#C1

FORM CALC_BETWEEN_DATES — ZFICOM L635-L651 (17줄)

두 날짜 사이의 일·월·년 차이를 HRVE_GET_TIME_BETWEEN_DATES 로 계산하는 공통 헬퍼다.

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

[fm_call] 시작일·종료일을 넘겨 HRVE_GET_TIME_BETWEEN_DATES 로 경과 일수·개월·연수를 계산한다.

   642|   CALL FUNCTION 'HRVE_GET_TIME_BETWEEN_DATES'
   643|     EXPORTING
   644|       BEG_DATE = P_BDATE
   645|       END_DATE = P_EDATE
   646|     IMPORTING
   647|       DAYS     = P_DAYS
   648|       MONTHS   = P_MONTHS
   649|       YEARS    = P_YEARS.
  • EN: Calculates days, months and years between two dates via HRVE_GET_TIME_BETWEEN_DATES.
  • 호출(파서): HRVE_GET_TIME_BETWEEN_DATES
  • SAP 객체: HRVE_GET_TIME_BETWEEN_DATES
  • 업무 키워드: 기간 계산, 일수, 개월수, 경과기간
  • English: Date Difference, Period Calculation
  • 위치: abap://ZFIR0050/ZFICOM#L642-L649 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#CALC_BETWEEN_DATES#C1

FORM DYNP_VALUES_READ — ZFICOM L674-L703 (30줄)

DYNP_VALUES_READ 로 현재 화면 필드의 입력값을 PAI 전에 읽어오는 공통 헬퍼다.

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

[fm_call] 읽을 화면 필드명·STEPL 을 GT_DYNFIELDS 에 담고 DYNP_VALUES_READ 로 현재 프로그램·화면의 필드 값을 읽어 P_VALUE 로 돌려준다.

   682|   CLEAR : GT_DYNFIELDS, GT_DYNFIELDS[].
   683|   GT_DYNFIELDS-FIELDNAME = P_FNAME.
   684|   GT_DYNFIELDS-STEPL     = P_STEPL.
   685|   APPEND GT_DYNFIELDS.
   686| 
   687|   LV_PROG = SY-CPROG.
   688|   LV_DNUM = SY-DYNNR.
   689| * To read Field Value on screen
   690|   CALL FUNCTION 'DYNP_VALUES_READ'
   691|     EXPORTING
   692|       DYNAME               = LV_PROG
   693|       DYNUMB               = LV_DNUM
   694|       DETERMINE_LOOP_INDEX = C_X
   695|     TABLES
   696|       DYNPFIELDS           = GT_DYNFIELDS
   697|     EXCEPTIONS
   698|       OTHERS               = 01.
   699|   IF SY-SUBRC EQ 0.
   700|     READ TABLE GT_DYNFIELDS INDEX 1.
   701|     P_VALUE = GT_DYNFIELDS-FIELDVALUE.
   702|   ENDIF.
  • EN: Fills GT_DYNFIELDS with the screen field name/STEPL and reads its current value from the active dynpro with DYNP_VALUES_READ.
  • 호출(파서): DYNP_VALUES_READ
  • SAP 객체: DYNP_VALUES_READ
  • 업무 키워드: 화면 필드값 읽기, 다이나프로, 입력값
  • English: DYNP_VALUES_READ, Dynpro Field, Screen Value
  • 정의부(복사 시 함께 필요): GT_DYNFIELDS, LV_PROG, LV_DNUM, C_X
  • 위치: abap://ZFIR0050/ZFICOM#L682-L702 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#DYNP_VALUES_READ#C1

FORM SELECT_T007S — ZFICOM L758-L770 (13줄)

세금코드(MWSKZ)의 부가세 텍스트를 T007S 에서 조회하는 공통 FORM 이다.

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

[sql_select] 세금계산절차(KALSM) 기본값을 세팅하고 T007S 에서 영어 언어 기준 세금코드(MWSKZ)의 설명 TEXT1 을 단건 조회한다.

   761|   IF GV_KALSM IS INITIAL.
   762|     GV_KALSM = C_KALSM.
   763|   ENDIF.
   764|   SELECT SINGLE T007S~TEXT1
   765|     INTO P_TEXT1
   766|     FROM T007S
   767|    WHERE T007S~SPRAS EQ 'E'  " SY-LANGU
   768|      AND T007S~KALSM EQ GV_KALSM
   769|      AND T007S~MWSKZ EQ P_MWSKZ.
  • EN: Defaults the tax procedure KALSM and reads the tax code description TEXT1 from T007S (language 'E').
  • 테이블(파서): read T007S / write -
  • SAP 객체: T007S
  • 업무 키워드: 세금코드, 부가세, 세금계산절차, 텍스트 조회
  • English: Tax Code, Tax Procedure, Sales Tax
  • 정의부(복사 시 함께 필요): GV_KALSM, C_KALSM
  • 위치: abap://ZFIR0050/ZFICOM#L761-L769 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#SELECT_T007S#C1

FORM GET_NEXT_NUMBER — ZFICOM L781-L819 (39줄)

번호범위 오브젝트에서 다음 일련번호를 받아온다 (CBO 테이블의 키 생성용).

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

[fm_call] 표준 FM NUMBER_GET_NEXT 로 지정한 번호범위·오브젝트·서브오브젝트의 다음 일련번호를 채번하고, 구간 미존재·오버플로 등 예외는 시스템 메시지로 그대로 올린다.

   787|   CALL FUNCTION 'NUMBER_GET_NEXT'
   788|     EXPORTING
   789|       NR_RANGE_NR             = P_NRRNG
   790|       OBJECT                  = P_OBJCT
   791|       SUBOBJECT               = P_SBJCT
   792|     IMPORTING
   793|       NUMBER                  = P_NUMBR
   794|     EXCEPTIONS
   795|       INTERVAL_NOT_FOUND      = 1
   796|       NUMBER_RANGE_NOT_INTERN = 2
   797|       OBJECT_NOT_FOUND        = 3
   798|       QUANTITY_IS_0           = 4
   799|       QUANTITY_IS_NOT_1       = 5
   800|       INTERVAL_OVERFLOW       = 6
   801|       BUFFER_OVERFLOW         = 7
   802|       OTHERS                  = 8.
   803|   IF SY-SUBRC <> 0.
   804|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
   805|             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   806|   ENDIF.
  • EN: Draws the next sequence number from a number-range object via NUMBER_GET_NEXT, surfacing interval/overflow exceptions as system messages.
  • 호출(파서): NUMBER_GET_NEXT
  • SAP 객체: NUMBER_GET_NEXT, INRI, NROBJ
  • 업무 키워드: 번호범위, 채번, 일련번호, 키생성, 번호오브젝트
  • English: number range, number assignment, sequence number, NUMBER_GET_NEXT, NROBJ
  • 위치: abap://ZFIR0050/ZFICOM#L787-L806 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#GET_NEXT_NUMBER#C1

FORM DATA_UPLOAD — ZFICOM L853-L908 (56줄)

파일 확장자(TXT/XLS)에 따라 GUI_UPLOAD 또는 TEXT_CONVERT_XLS_TO_SAP 으로 로컬 파일을 내부테이블로 업로드하는 공통 FORM 이다.

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

[validation] 파일명의 마지막 3자리로 확장자(TXT/XLS)를 판별해 업로드 방식을 결정한다.

   864|   LV_LEN  = STRLEN( P_FNAME ).
   865|   LV_POS  = LV_LEN - 3.
   866|   LV_TYPE = P_FNAME+LV_POS(3).
   867|   TRANSLATE LV_TYPE TO UPPER CASE.
  • EN: Extracts the file extension (last 3 characters) to decide the upload method.
  • 업무 키워드: 파일 확장자, 업로드 방식, 파일명
  • English: File Extension, File Upload
  • 정의부(복사 시 함께 필요): LV_LEN, LV_POS, LV_TYPE
  • 위치: abap://ZFIR0050/ZFICOM#L864-L867 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#DATA_UPLOAD#C1

[fm_call] TXT 파일이면 GUI_UPLOAD(탭 구분자)로 로컬 파일을 T_LOAD 내부테이블로 읽고 실패 시 메시지 I106 후 종료한다.

   869|   IF LV_TYPE EQ 'TXT'.
   870|     CLEAR : T_LOAD[], T_LOAD.
   871|     LV_FILENAME = P_FNAME.
   872|     CALL FUNCTION 'GUI_UPLOAD'
   873|       EXPORTING
   874|         FILENAME                      = LV_FILENAME
   875| *       FILETYPE                      = 'ASC'
   876| *       tab
   877|         HAS_FIELD_SEPARATOR           = C_X
   878| *        CODEPAGE                      = '8000'
   879|       TABLES
   880|         DATA_TAB                      = T_LOAD.
   881| 
   882|     IF SY-SUBRC NE 0.
   883|       MESSAGE I106.
   884|       LEAVE LIST-PROCESSING.
   885|     ENDIF.
  • EN: For TXT files uploads the tab-separated local file into T_LOAD with GUI_UPLOAD and stops with message I106 on failure.
  • 호출(파서): GUI_UPLOAD
  • SAP 객체: GUI_UPLOAD
  • 업무 키워드: 텍스트 파일 업로드, 탭 구분, 로컬 파일
  • English: GUI_UPLOAD, Text File, Local File
  • 정의부(복사 시 함께 필요): LV_TYPE, LV_FILENAME, C_X
  • 위치: abap://ZFIR0050/ZFICOM#L869-L885 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#DATA_UPLOAD#C2

[fm_call] XLS 파일이면 TEXT_CONVERT_XLS_TO_SAP 으로 엑셀을 T_LOAD 로 변환(헤더행 옵션)하고, 실패·미지원 확장자면 메시지 I006/I007 로 종료한다.

   887|   ELSEIF LV_TYPE EQ 'XLS'.
   888|     CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
   889|       EXPORTING
   890| *       I_FIELD_SEPERATOR    =
   891|         I_LINE_HEADER        = P_HLINE
   892|         I_TAB_RAW_DATA       = LV_RAW_DATA
   893|         I_FILENAME           = P_FNAME
   894|       TABLES
   895|         I_TAB_CONVERTED_DATA = T_LOAD
   896|       EXCEPTIONS
   897|         CONVERSION_FAILED    = 1
   898|         OTHERS               = 2.
   899| 
   900|     IF SY-SUBRC NE 0.
   901|       MESSAGE I006.  "업로드 실패!! 담당자에게 문의하세요.
   902|       LEAVE LIST-PROCESSING.
   903|     ENDIF.
   904|   ELSE.
   905|     MESSAGE I007.  "지원하지 않는 확장자입니다. 파일형식을 확인하세요.
   906|     LEAVE LIST-PROCESSING.
   907|   ENDIF.
  • EN: For XLS files converts the Excel sheet into T_LOAD with TEXT_CONVERT_XLS_TO_SAP (header line option); unsupported extensions or failures stop with messages I006/I007.
  • 호출(파서): TEXT_CONVERT_XLS_TO_SAP
  • SAP 객체: TEXT_CONVERT_XLS_TO_SAP
  • 업무 키워드: 엑셀 업로드, 헤더행, 파일 변환, 미지원 확장자
  • English: Excel Upload, TEXT_CONVERT_XLS_TO_SAP, Conversion
  • 정의부(복사 시 함께 필요): LV_TYPE, LV_RAW_DATA
  • 위치: abap://ZFIR0050/ZFICOM#L887-L907 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#DATA_UPLOAD#C3

FORM DATA_UPLOAD_2 — ZFICOM L917-L950 (34줄)

엑셀 파일을 KCD_EXCEL_OLE_TO_INT_CONVERT 로 셀 단위로 읽어 행별로 T_LOAD 내부테이블 구조에 매핑하는 공통 업로드 FORM 이다.

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

[fm_call] KCD_EXCEL_OLE_TO_INT_CONVERT 로 엑셀 파일을 2행부터(헤더 제외) 셀 단위 내부테이블 GT_XLS 로 읽고 실패 시 '업로드 실패' 메시지 후 종료한다.

   922|   CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
   923|     EXPORTING
   924|       FILENAME                = P_FNAME
   925|       I_BEGIN_COL             = 1
   926|       I_BEGIN_ROW             = 2
   927|       I_END_COL               = 256
   928|       I_END_ROW               = 65536
   929|     TABLES
   930|       INTERN                  = GT_XLS
   931|     EXCEPTIONS
   932|       INCONSISTENT_PARAMETERS = 1
   933|       UPLOAD_OLE              = 2
   934|       OTHERS                  = 3.
   935| 
   936|   IF SY-SUBRC <> 0.
   937|     MESSAGE I000 WITH '업로드 실패!! 담당자에게 문의하세요.'.
   938|     LEAVE LIST-PROCESSING.
   939|   ENDIF.
  • EN: Reads the Excel file cell by cell (from row 2, skipping the header) into GT_XLS with KCD_EXCEL_OLE_TO_INT_CONVERT and stops with an upload-failed message on error.
  • 호출(파서): KCD_EXCEL_OLE_TO_INT_CONVERT
  • SAP 객체: KCD_EXCEL_OLE_TO_INT_CONVERT, KCDE_INTERN_STRUC
  • 업무 키워드: 엑셀 업로드, OLE, 헤더 제외, 셀 데이터
  • English: Excel Upload, KCD_EXCEL_OLE_TO_INT_CONVERT, OLE
  • 정의부(복사 시 함께 필요): GT_XLS
  • 위치: abap://ZFIR0050/ZFICOM#L922-L939 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#DATA_UPLOAD_2#C1

[calculation] 셀 데이터를 행·열 순으로 정렬한 뒤 열 번호를 T_LOAD 구조의 컴포넌트에 ASSIGN 해 값을 채우고 행이 끝날 때마다 T_LOAD 에 한 줄씩 추가한다.

   941|   SORT GT_XLS BY ROW COL.
   942|   LOOP AT GT_XLS.
   943|     ASSIGN COMPONENT GT_XLS-COL OF STRUCTURE T_LOAD TO <FS>.
   944|     <FS> = GT_XLS-VALUE.
   945|     AT END OF ROW.
   946|       APPEND T_LOAD.  CLEAR: T_LOAD.
   947|     ENDAT.
   948|   ENDLOOP.
  • EN: Sorts cells by row/column, assigns each cell value to the corresponding component of T_LOAD by column index and appends a line at the end of each row.
  • 업무 키워드: 행 변환, 컬럼 매핑, 업로드 내역, 필드심볼
  • English: Row Mapping, Field Symbol, Internal Table
  • 정의부(복사 시 함께 필요): GT_XLS, <FS>
  • 위치: abap://ZFIR0050/ZFICOM#L941-L948 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#DATA_UPLOAD_2#C2

FORM CONVERT_TO_FOREIGN_CURRENCY — ZFICOM L962-L999 (38줄)

현지통화 금액을 환율·기준일로 외화 금액으로 환산하는 공통 FORM 이다.

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

[fm_call] 현지통화 기본값을 설정한 뒤 CONVERT_TO_FOREIGN_CURRENCY 로 현지통화금액(DMBTR)을 환율(KURSF)·기준일 기준 외화금액(WRBTR)으로 환산하고 오류 시 시스템 메시지를 표시한다.

   967|   IF T001-WAERS IS INITIAL.
   968|     T001-WAERS = C_WAERS.
   969|   ENDIF.
   970|   CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY'
   971|     EXPORTING
   972| *     CLIENT            = SY-MANDT
   973|       DATE              = P_DATUM
   974|       FOREIGN_CURRENCY  = P_WAERS
   975|       LOCAL_AMOUNT      = P_DMBTR
   976|       LOCAL_CURRENCY    = T001-WAERS
   977|       RATE              = P_KURSF
   978| *     TYPE_OF_RATE      = 'M'
   979| *     READ_TCURR        = 'X'
   980|     IMPORTING
   981| *     EXCHANGE_RATE     =
   982|       FOREIGN_AMOUNT    = P_WRBTR
   983| *     FOREIGN_FACTOR    =
   984| *     LOCAL_FACTOR      =
   985| *     EXCHANGE_RATEX    =
   986| *     DERIVED_RATE_TYPE =
   987| *     FIXED_RATE        =
   988|     EXCEPTIONS
   989|       NO_RATE_FOUND     = 1
   990|       OVERFLOW          = 2
   991|       NO_FACTORS_FOUND  = 3
   992|       NO_SPREAD_FOUND   = 4
   993|       DERIVED_2_TIMES   = 5
   994|       OTHERS            = 6.
   995|   IF SY-SUBRC NE 0.
   996|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
   997|           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   998|   ENDIF.
  • EN: Converts the local currency amount (DMBTR) to the foreign currency amount (WRBTR) via CONVERT_TO_FOREIGN_CURRENCY using rate and date, raising the system message on error.
  • 호출(파서): CONVERT_TO_FOREIGN_CURRENCY
  • SAP 객체: CONVERT_TO_FOREIGN_CURRENCY, T001, TCURR
  • 업무 키워드: 환율, 외화 환산, 현지통화, 전표금액
  • English: Foreign Currency, Exchange Rate, Currency Conversion
  • 정의부(복사 시 함께 필요): T001, C_WAERS
  • 위치: abap://ZFIR0050/ZFICOM#L967-L998 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#CONVERT_TO_FOREIGN_CURRENCY#C1

FORM CONVERT_TO_LOCAL_CURRENCY — ZFICOM L1011-L1039 (29줄)

외화 금액을 환율·기준일로 회사코드 현지통화(T001-WAERS) 금액으로 환산하는 공통 FORM 이다.

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

[fm_call] 현지통화가 없으면 기본통화(C_WAERS)를 쓰고 CONVERT_TO_LOCAL_CURRENCY 로 외화금액(WRBTR)·환율(KURSF)·기준일로 현지통화금액(DMBTR)을 계산하며 환율 미존재 등 오류 시 메시지를 띄운다.

  1016|   IF T001-WAERS IS INITIAL.
  1017|     T001-WAERS = C_WAERS.
  1018|   ENDIF.
  1019|   CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
  1020|     EXPORTING
  1021|       DATE             = P_DATUM
  1022|       FOREIGN_AMOUNT   = P_WRBTR
  1023|       FOREIGN_CURRENCY = P_WAERS
  1024|       LOCAL_CURRENCY   = T001-WAERS
  1025|       RATE             = P_KURSF
  1026|     IMPORTING
  1027|       LOCAL_AMOUNT     = P_DMBTR
  1028|     EXCEPTIONS
  1029|       NO_RATE_FOUND    = 1
  1030|       OVERFLOW         = 2
  1031|       NO_FACTORS_FOUND = 3
  1032|       NO_SPREAD_FOUND  = 4
  1033|       DERIVED_2_TIMES  = 5
  1034|       OTHERS           = 6.
  1035|   IF SY-SUBRC NE 0.
  1036|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1037|           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1038|   ENDIF.
  • EN: Converts the foreign amount to local currency amount (DMBTR) with CONVERT_TO_LOCAL_CURRENCY using the rate and date, defaulting the local currency, and raises the system message on error.
  • 호출(파서): CONVERT_TO_LOCAL_CURRENCY
  • SAP 객체: CONVERT_TO_LOCAL_CURRENCY, T001, TCURR
  • 업무 키워드: 환율, 외화 환산, 현지통화, 전표금액
  • English: Local Currency, Exchange Rate, Currency Conversion
  • 정의부(복사 시 함께 필요): T001, C_WAERS
  • 위치: abap://ZFIR0050/ZFICOM#L1016-L1038 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#CONVERT_TO_LOCAL_CURRENCY#C1

FORM SELECT_USR01 — ZFICOM L1084-L1088 (5줄)

사용자명으로 USR01(사용자 마스터 기본값)을 단건 조회하는 공통 FORM 이다.

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

[sql_select] 사용자 ID(P_UNAME)로 USR01 을 단건 조회해 사용자 기본 설정(날짜/숫자 형식 등)을 읽는다.

  1085|   SELECT SINGLE *
  1086|      FROM USR01
  1087|     WHERE USR01~BNAME EQ P_UNAME.
  • EN: Reads the user master defaults from USR01 for the given user name.
  • 테이블(파서): read USR01 / write -
  • SAP 객체: USR01
  • 업무 키워드: 사용자 마스터, 사용자 기본값, 사용자 ID
  • English: User Master, USR01
  • 정의부(복사 시 함께 필요): USR01
  • 위치: abap://ZFIR0050/ZFICOM#L1085-L1087 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#SELECT_USR01#C1

FORM SMARTFORM_CONTROL — ZFICOM L1101-L1138 (38줄)

Smartform 이름으로 생성 FM 이름을 구하고 미리보기·다이얼로그·프린터 등 출력 옵션(GS_DEVICE/GS_OPTIONS)을 설정한다.

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

[fm_call] SSF_FUNCTION_MODULE_NAME 으로 Smartform 의 실행 FM 이름(GV_FNAME)을 구한 뒤 미리보기·NO_DIALOG·OTF·프린터(TDDEST)·즉시출력 등 출력 옵션을 GS_DEVICE/GS_OPTIONS 에 설정한다.

  1108|   CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  1109|     EXPORTING
  1110|       FORMNAME           = P_FORMNAME
  1111|     IMPORTING
  1112|       FM_NAME            = GV_FNAME
  1113|     EXCEPTIONS
  1114|       NO_FORM            = 1
  1115|       NO_FUNCTION_MODULE = 2
  1116|       OTHERS             = 3.
  1117| 
  1118|   IF SY-SUBRC EQ 0.
  1119| *   Output option appointment (preview screen exception)
  1120|     GS_DEVICE-PREVIEW    = P_PREVIEW.
  1121|     GS_DEVICE-NO_DIALOG  = P_DIALOG.
  1122|     GS_DEVICE-GETOTF     = P_GETOTF.
  1123|     GS_DEVICE-LANGU      = SY-LANGU.
  1124|     GS_DEVICE-DEVICE     = 'PRINTER'.
  1125|     GS_DEVICE-NO_OPEN    = C_X.
  1126|     GS_DEVICE-NO_CLOSE   = C_X.
  1127|     GS_OPTIONS-TDDEST    = P_TDDEST.
  1128|     GS_OPTIONS-TDIMMED   = C_X.
  1129|     GS_OPTIONS-TDDELETE  = C_X.
  1130|     GS_OPTIONS-TDNEWID   = C_X.
  1131| *   미리보기버튼
  1132|     GS_OPTIONS-TDNOPREV  = SPACE.
  1133|     GS_OPTIONS-TDCOVER   = SPACE. "C_S.
  1134|     GS_OPTIONS-TDNOPRINT = P_TDNOPRINT.
  1135| *    GS_OPTIONS-TDRECEIVER  = SY-UNAME.
  1136|   ENDIF.
  • EN: Gets the generated function module name of the Smart Form via SSF_FUNCTION_MODULE_NAME and fills control parameters (preview, no dialog, OTF) and output options (TDDEST, immediate print).
  • 호출(파서): SSF_FUNCTION_MODULE_NAME
  • SAP 객체: SSF_FUNCTION_MODULE_NAME, SSFCTRLOP, SSFCOMPOP
  • 업무 키워드: 스마트폼, 출력 옵션, 미리보기, 프린터
  • English: Smart Forms, Output Options, Control Parameters, Print Preview
  • 정의부(복사 시 함께 필요): GV_FNAME, GS_DEVICE, C_X, GS_OPTIONS
  • 위치: abap://ZFIR0050/ZFICOM#L1108-L1136 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#SMARTFORM_CONTROL#C1

FORM SMARTFORM_OPEN — ZFICOM L1144-L1156 (13줄)

Smartform 출력 작업을 SSF_OPEN 으로 시작하는 공통 FORM 이다.

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

[fm_call] GS_DEVICE/GS_OPTIONS 의 출력 옵션으로 SSF_OPEN 을 호출해 Smartform 출력 job 을 연다.

  1145|   CALL FUNCTION 'SSF_OPEN'
  1146|     EXPORTING
  1147|       CONTROL_PARAMETERS = GS_DEVICE
  1148|       OUTPUT_OPTIONS     = GS_OPTIONS
  1149|       USER_SETTINGS      = SPACE
  1150|     EXCEPTIONS
  1151|       FORMATTING_ERROR   = 1
  1152|       INTERNAL_ERROR     = 2
  1153|       SEND_ERROR         = 3
  1154|       USER_CANCELED      = 4
  1155|       OTHERS             = 5.
  • EN: Opens a Smart Form print job with SSF_OPEN using the control parameters GS_DEVICE and output options GS_OPTIONS.
  • 호출(파서): SSF_OPEN
  • SAP 객체: SSF_OPEN
  • 업무 키워드: 스마트폼, 출력 시작, 양식 출력
  • English: Smart Forms, SSF_OPEN, Output Options
  • 정의부(복사 시 함께 필요): GS_DEVICE, GS_OPTIONS
  • 위치: abap://ZFIR0050/ZFICOM#L1145-L1155 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#SMARTFORM_OPEN#C1

FORM SMARTFORM_CLOSE — ZFICOM L1162-L1175 (14줄)

Smartform 출력 작업을 SSF_CLOSE 로 종료하고 JOB_OUTPUT_INFO 를 받아오는 공통 FORM 이다.

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

[fm_call] SSF_CLOSE 로 Smartform 출력 job 을 닫고 출력 결과(GS_JOB_OUTPUT_INFO)를 받으며 오류 시 시스템 메시지를 표시한다.

  1163|   CALL FUNCTION 'SSF_CLOSE'
  1164|     IMPORTING
  1165|       JOB_OUTPUT_INFO  = GS_JOB_OUTPUT_INFO
  1166|     EXCEPTIONS
  1167|       FORMATTING_ERROR = 1
  1168|       INTERNAL_ERROR   = 2
  1169|       SEND_ERROR       = 3
  1170|       OTHERS           = 4.
  1171|   IF SY-SUBRC NE 0.
  1172|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1173|           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1174|   ENDIF.
  • EN: Closes the Smart Form print job with SSF_CLOSE, retrieves JOB_OUTPUT_INFO and raises the system message on error.
  • 호출(파서): SSF_CLOSE
  • SAP 객체: SSF_CLOSE
  • 업무 키워드: 스마트폼, 출력 종료, 양식 출력
  • English: Smart Forms, SSF_CLOSE, Print Job
  • 정의부(복사 시 함께 필요): GS_JOB_OUTPUT_INFO
  • 위치: abap://ZFIR0050/ZFICOM#L1163-L1174 · confidence 0.85 · ZFIR0050#ZFICOM#FORM#SMARTFORM_CLOSE#C1

FORM DYNPRO — ZFICOM L1240-L1251 (12줄)

BDC 화면 시작 또는 필드값 한 줄을 GT_BDC(BDCDATA) 에 추가하는 공통 BDC 빌더 헬퍼다.

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

[interface] P_DYN 이 X 면 모듈풀·화면번호로 BDC 화면 시작 행을, 아니면 필드명·값 행을 GT_BDC(BDCDATA)에 추가한다.

  1242|   IF P_DYN EQ C_X.
  1243|     MOVE : P_NAME  TO GT_BDC-PROGRAM,         "BDC module pool
  1244|            P_VALUE TO GT_BDC-DYNPRO,          "Screen Number
  1245|            P_DYN   TO GT_BDC-DYNBEGIN.        "BDC screen start
  1246|   ELSE.
  1247|     MOVE : P_NAME  TO GT_BDC-FNAM,            "Field Name
  1248|            P_VALUE TO GT_BDC-FVAL.            "BDC field value
  1249|   ENDIF.
  1250|   APPEND GT_BDC.
  • EN: Appends either a screen-start row (program, dynpro, DYNBEGIN) or a field/value row to GT_BDC (BDCDATA).
  • SAP 객체: BDCDATA
  • 업무 키워드: BDC 데이터, 화면 번호, 필드값, 배치인풋
  • English: BDCDATA, Batch Input, Dynpro
  • 정의부(복사 시 함께 필요): C_X, GT_BDC
  • 위치: abap://ZFIR0050/ZFICOM#L1242-L1250 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#DYNPRO#C1

FORM BDC_TRANSACTION — ZFICOM L1259-L1266 (8줄)

GT_BDC 데이터로 지정 T-Code 를 CALL TRANSACTION 하고 결과 메시지를 GT_MESS 에 받는 공통 BDC 실행 FORM 이다.

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

[interface] BDC 실행 옵션(표시모드 GV_MODE, 갱신모드 A)을 CTU_PARAMS 에 설정하고 GT_BDC 로 P_TCODE 트랜잭션을 CALL TRANSACTION 해 결과 메시지를 GT_MESS 에 수집한다.

  1260|   CTU_PARAMS-DISMODE  = GV_MODE.
  1261|   CTU_PARAMS-UPDMODE  = C_A.
  1262| *  CTU_PARAMS-NOBINPT  = C_X.
  1263| *  CTU_PARAMS-RACOMMIT = C_X.
  1264|   CALL TRANSACTION P_TCODE USING GT_BDC OPTIONS FROM CTU_PARAMS
  1265|                                         MESSAGES INTO GT_MESS.
  • EN: Sets CTU_PARAMS (display mode GV_MODE, sync update) and runs CALL TRANSACTION for P_TCODE with GT_BDC, collecting messages into GT_MESS.
  • 호출(파서): P_TCODE
  • SAP 객체: BDCDATA, BDCMSGCOLL, CTU_PARAMS
  • 업무 키워드: BDC 실행, 트랜잭션 호출, 처리 메시지, 표시모드
  • English: Call Transaction, BDC, CTU_PARAMS
  • 정의부(복사 시 함께 필요): CTU_PARAMS, GV_MODE, C_A, GT_BDC, GT_MESS
  • 위치: abap://ZFIR0050/ZFICOM#L1260-L1265 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#BDC_TRANSACTION#C1

FORM MESSAGE_SELECT — ZFICOM L1274-L1285 (12줄)

BDC 메시지(GT_MESS)의 ID·번호·변수를 MESSAGE_TEXT_BUILD 로 메시지 텍스트로 조립하는 공통 헬퍼다.

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

[fm_call] BDC 결과 메시지(GT_MESS)의 MSGID·MSGNR·MSGV1~4 를 MESSAGE_TEXT_BUILD 로 읽을 수 있는 메시지 텍스트로 만들어 로그 필드에 돌려준다.

  1275|   CALL FUNCTION 'MESSAGE_TEXT_BUILD'
  1276|     EXPORTING
  1277|       MSGID               = GT_MESS-MSGID
  1278|       MSGNR               = GT_MESS-MSGNR
  1279|       MSGV1               = GT_MESS-MSGV1
  1280|       MSGV2               = GT_MESS-MSGV2
  1281|       MSGV3               = GT_MESS-MSGV3
  1282|       MSGV4               = GT_MESS-MSGV4
  1283|     IMPORTING
  1284|       MESSAGE_TEXT_OUTPUT = P_NATXT.
  • EN: Builds the readable message text from the BDC message fields (MSGID, MSGNR, MSGV1-4) in GT_MESS using MESSAGE_TEXT_BUILD.
  • 호출(파서): MESSAGE_TEXT_BUILD
  • SAP 객체: MESSAGE_TEXT_BUILD, BDCMSGCOLL
  • 업무 키워드: BDC 메시지, 메시지 텍스트, 처리 로그
  • English: BDC Message, MESSAGE_TEXT_BUILD, Message Log
  • 정의부(복사 시 함께 필요): GT_MESS
  • 위치: abap://ZFIR0050/ZFICOM#L1275-L1284 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#MESSAGE_SELECT#C1

FORM BDC_FK03 — ZFICOM L1294-L1318 (25줄)

구매처코드와 회사코드로 FK03 구매처 마스터 조회 화면을 BDC 로 호출한다.

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

[interface] SAPMF02K 0106 화면에 구매처·회사코드와 조회 뷰 플래그를 BDC 로 채우고 CALL TRANSACTION FK03 으로 구매처 마스터를 표시한다.

  1299|   PERFORM DYNPRO USING :
  1300|              'X' 'SAPMF02K'          '0106',
  1301|              ' ' 'BDC_OKCODE'        '/00',
  1302|              ' ' 'RF02K-LIFNR'       P_LIFNR,
  1303|              ' ' 'RF02K-BUKRS'       P_BUKRS,
  1304|              ' ' 'RF02K-D0110'       C_X,
  1305|              ' ' 'RF02K-D0120'       C_X,
  1306|              ' ' 'RF02K-D0130'       C_X,
  1307|              ' ' 'RF02K-D0210'       C_X,
  1308|              ' ' 'RF02K-D0215'       C_X,
  1309|              ' ' 'RF02K-D0215'       C_X,
  1310|              ' ' 'RF02K-D0610'       C_X.
  1311| 
  1312|   CTU_PARAMS-DISMODE  = C_E.
  1313|   CTU_PARAMS-UPDMODE  = C_A.
  1314|   CTU_PARAMS-NOBINPT  = C_X.
  1315|   CTU_PARAMS-RACOMMIT = C_X.
  1316|   CALL TRANSACTION 'FK03' USING GT_BDC OPTIONS FROM CTU_PARAMS.
  • EN: Builds BDC data for screen SAPMF02K 0106 (vendor, company code, view flags) and calls transaction FK03 to display the vendor master.
  • 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, FK03
  • SAP 객체: FK03, SAPMF02K, LFA1
  • 업무 키워드: 구매처 조회, 구매처 마스터, BDC, 회사코드
  • English: Vendor Master, BDC, Call Transaction
  • 정의부(복사 시 함께 필요): P_BUKRS, C_X, CTU_PARAMS, C_E, C_A, GT_BDC
  • 위치: abap://ZFIR0050/ZFICOM#L1299-L1316 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#BDC_FK03#C1

FORM CALL_TRANSACTION_FB03 — ZFICOM L1328-L1336 (9줄)

회사코드·전표번호·회계연도를 파라미터 ID 로 넘겨 FB03 회계전표 조회 화면을 호출한다.

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

[control_flow] 전표번호가 있으면 SET PARAMETER ID(BLN/BUK/GJR) 로 키를 넘기고 FB03 트랜잭션을 첫 화면 건너뛰기로 호출해 회계전표를 조회한다.

  1331|   CHECK P_BELNR IS NOT INITIAL.
  1332|   SET PARAMETER ID 'BLN' FIELD P_BELNR.
  1333|   SET PARAMETER ID 'BUK' FIELD P_BUKRS.
  1334|   SET PARAMETER ID 'GJR' FIELD P_GJAHR.
  1335|   CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
  • EN: Sets parameter IDs BLN/BUK/GJR and calls transaction FB03 with SKIP FIRST SCREEN to display the accounting document.
  • 호출(파서): FB03
  • SAP 객체: FB03, BKPF
  • 업무 키워드: 회계전표 조회, 전표번호, 회사코드, 회계연도
  • English: Accounting Document, Display Document, FB03
  • 정의부(복사 시 함께 필요): P_BUKRS
  • 위치: abap://ZFIR0050/ZFICOM#L1331-L1335 · confidence 0.95 · ZFIR0050#ZFICOM#FORM#CALL_TRANSACTION_FB03#C1

FORM STATUS_BAR — ZFICOM L1345-L1366 (22줄)

처리 진행률을 계산해 SAPGUI 상태바에 진행 상황 텍스트를 표시하는 공통 유틸리티다.

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

[fm_call] 텍스트가 없으면 GV_INDEX/GV_TABIN 으로 진행률(%)을 계산해 SAPGUI_PROGRESS_INDICATOR 로 상태바에 처리 진행 상황을 표시한다.

  1350|   IF P_TXT EQ SPACE.
  1351|     GV_INDEX = GV_INDEX + 1.
  1352|     GV_KBETR = GV_INDEX / GV_TABIN * 100.
  1353|     CONCATENATE GV_INDEX '/' GV_TABIN '=====>' GV_KBETR '% Processing...'
  1354|            INTO LV_TEXT SEPARATED BY SPACE.
  1355|     CONDENSE GV_KBETR.
  1356|     LV_PCEN = GV_KBETR.
  1357|   ELSE.
  1358|     LV_TEXT = P_TXT.
  1359|     LV_PCEN = P_PCT.
  1360|   ENDIF.
  1361| 
  1362|   CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
  1363|     EXPORTING
  1364|       PERCENTAGE = LV_PCEN
  1365|       TEXT       = LV_TEXT.
  • EN: Calculates the processing percentage from GV_INDEX/GV_TABIN and shows a progress indicator via SAPGUI_PROGRESS_INDICATOR.
  • 호출(파서): SAPGUI_PROGRESS_INDICATOR
  • SAP 객체: SAPGUI_PROGRESS_INDICATOR
  • 업무 키워드: 진행률, 상태바, 처리건수, 진행표시
  • English: Progress Indicator, Status Bar
  • 정의부(복사 시 함께 필요): GV_INDEX, GV_KBETR, GV_TABIN, LV_TEXT, LV_PCEN
  • 위치: abap://ZFIR0050/ZFICOM#L1350-L1365 · confidence 0.9 · ZFIR0050#ZFICOM#FORM#STATUS_BAR#C1

FORM HOTSPOT_CLICK — ZFIR0050F01 L974-L1006 (33줄)

헤더 ALV 핫스팟 클릭 시 전표번호는 해당 아이템을 GT_ITEM2에 추려 하단 ALV를 갱신하고, 역분개전표번호(STBLG)는 FB03으로 조회하는 FORM이다.

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

[aggregation] 클릭한 헤더 전표의 회사코드·연도·전표번호에 해당하는 아이템을 GT_ITEM에서 GT_ITEM2로 추려 정렬한 뒤 OK코드 ZUSER로 PAI를 트리거해 아이템 ALV를 갱신한다.

   982|     WHEN 'BELNR'.
   983|       CLEAR : GT_ITEM2[], GT_ITEM2.
   984| 
   985|       LOOP AT GT_ITEM WHERE BUKRS EQ GT_HEAD-BUKRS
   986|                         AND GJAHR EQ GT_HEAD-GJAHR
   987|                         AND BELNR EQ GT_HEAD-BELNR.
   988|         MOVE-CORRESPONDING GT_ITEM TO GT_ITEM2.
   989|         APPEND GT_ITEM2. CLEAR GT_ITEM2.
   990|       ENDLOOP.
   991|       SORT GT_ITEM2 BY BELNR BUZEI.
   992| *     PAI로 호출
   993|       CALL METHOD CL_GUI_CFW=>SET_NEW_OK_CODE
   994|         EXPORTING
   995|           NEW_CODE = 'ZUSER'.
  • EN: Filters the clicked document's line items into GT_ITEM2 and triggers PAI with OK-code ZUSER to refresh the item grid.
  • 호출(파서): CL_GUI_CFW=>SET_NEW_OK_CODE
  • SAP 객체: CL_GUI_CFW
  • 업무 키워드: 전표번호 핫스팟, 아이템 필터, 하단 ALV 갱신
  • English: Hotspot Click, Line Item, SET_NEW_OK_CODE
  • 정의부(복사 시 함께 필요): GT_ITEM, GT_ITEM2, BKPF, GT_HEAD
  • 위치: abap://ZFIR0050/ZFIR0050F01#L982-L995 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#HOTSPOT_CLICK#C1

[control_flow] 역분개 전표번호가 있으면 SET PARAMETER(BLN/BUK/GJR) 후 FB03을 SKIP FIRST SCREEN으로 호출해 역분개 전표를 조회한다.

   998|     WHEN 'STBLG'.
   999|       CHECK GT_HEAD-STBLG IS NOT INITIAL.
  1000|       SET PARAMETER ID 'BLN' FIELD GT_HEAD-STBLG.
  1001|       SET PARAMETER ID 'BUK' FIELD P_BUKRS.
  1002|       SET PARAMETER ID 'GJR' FIELD GT_HEAD-STJAH.
  1003|       CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
  • EN: Navigates to FB03 to display the reversal document (STBLG/STJAH) via SET PARAMETER and CALL TRANSACTION.
  • 호출(파서): FB03
  • SAP 객체: FB03
  • 업무 키워드: 역분개 전표 조회, 전표 조회 이동
  • English: Reversal Document, FB03, CALL TRANSACTION
  • 정의부(복사 시 함께 필요): BKPF, GT_HEAD, P_BUKRS
  • 위치: abap://ZFIR0050/ZFIR0050F01#L998-L1003 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#HOTSPOT_CLICK#C2

FORM HOTSPOT_CLICK2 — ZFIR0050F01 L1015-L1053 (39줄)

아이템 ALV 핫스팟 클릭 시 전표번호는 FB03, 거래처는 계정유형(고객/공급업체/자산/자재)에 따라 FD03/FK03/AS03/MM03 조회 화면으로 이동하는 FORM이다.

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

[control_flow] 클릭한 컬럼이 BELNR이면 SET PARAMETER(BLN/BUK/GJR) 후 FB03 전표조회를, SUBAC이면 계정유형(KOART D/K/A/M)에 따라 FD03 고객·FK03 공급업체·AS03 자산·MM03 자재 조회 트랜잭션을 SKIP FIRST SCREEN으로 호출한다.

  1018|   READ TABLE GT_ITEM2 INDEX P_ROW_ID-INDEX.
  1019|   CHECK SY-SUBRC EQ 0.
  1020| 
  1021|   CASE P_COLUMN_ID.
  1022| *   전표번호
  1023|     WHEN 'BELNR'.
  1024|       CHECK GT_ITEM2-BELNR IS NOT INITIAL.
  1025|       SET PARAMETER ID 'BLN' FIELD GT_ITEM2-BELNR.
  1026|       SET PARAMETER ID 'BUK' FIELD P_BUKRS.
  1027|       SET PARAMETER ID 'GJR' FIELD GT_ITEM2-GJAHR.
  1028|       CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
  1029|     WHEN 'SUBAC'.
  1030|       CHECK GT_ITEM2-SUBAC IS NOT INITIAL.
  1031| *     고객
  1032|       IF GT_ITEM2-KOART EQ C_D.
  1033|         SET PARAMETER ID 'KUN' FIELD GT_ITEM2-SUBAC.
  1034|         SET PARAMETER ID 'BUK' FIELD P_BUKRS.
  1035|         CALL TRANSACTION 'FD03' AND SKIP FIRST SCREEN.
  1036| *     구매처
  1037|       ELSEIF GT_ITEM2-KOART EQ C_K.
  1038|         SET PARAMETER ID 'LIF' FIELD GT_ITEM2-SUBAC.
  1039|         SET PARAMETER ID 'BUK' FIELD P_BUKRS.
  1040|         CALL TRANSACTION 'FK03' AND SKIP FIRST SCREEN.
  1041| *     자산
  1042|       ELSEIF GT_ITEM2-KOART EQ C_A.
  1043|         SET PARAMETER ID 'AN1' FIELD GT_ITEM2-ANLN1.
  1044|         SET PARAMETER ID 'BUK' FIELD P_BUKRS.
  1045|         CALL TRANSACTION 'AS03' AND SKIP FIRST SCREEN.
  1046| *     자재
  1047|       ELSEIF GT_ITEM2-KOART EQ C_M.
  1048|         SET PARAMETER ID 'MAT' FIELD GT_ITEM2-MATNR.
  1049|         CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
  1050|       ENDIF.
  1051|   ENDCASE.
  • EN: Navigates from the item hotspot to FB03 (document display) or, by account type, to FD03 customer / FK03 vendor / AS03 asset / MM03 material display via SET PARAMETER and CALL TRANSACTION.
  • 호출(파서): FB03, FD03, FK03, AS03, MM03
  • SAP 객체: FB03, FD03, FK03, AS03, MM03
  • 업무 키워드: 핫스팟 이동, 전표조회, 고객 조회, 공급업체 조회, 자산 조회, 자재 조회
  • English: Hotspot Navigation, Document Display, Account Type KOART, CALL TRANSACTION
  • 정의부(복사 시 함께 필요): GT_ITEM, GT_ITEM2, P_BUKRS, C_D, C_K, C_A, C_M
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1018-L1051 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#HOTSPOT_CLICK2#C1

FORM DOUBLE_CLICK — ZFIR0050F01 L1062-L1083 (22줄)

헤더 ALV 더블클릭 시 해당 전표(BUKRS/GJAHR/BELNR)의 아이템을 GT_ITEM에서 골라 GT_ITEM2를 채우고 OK코드 ZUSER로 PAI를 트리거해 하단 ALV를 갱신하는 FORM이다.

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

[aggregation] 더블클릭한 헤더 행의 회사코드·연도·전표번호와 일치하는 아이템을 GT_ITEM에서 추려 GT_ITEM2에 담고 전표번호·항목 순으로 정렬한 뒤 CL_GUI_CFW=>SET_NEW_OK_CODE로 화면 재표시를 유도한다.

  1067|   READ TABLE GT_HEAD INDEX P_ROW-INDEX.
  1068|   CHECK SY-SUBRC EQ 0.
  1069| 
  1070|   LOOP AT GT_ITEM WHERE BUKRS EQ GT_HEAD-BUKRS
  1071|                     AND GJAHR EQ GT_HEAD-GJAHR
  1072|                     AND BELNR EQ GT_HEAD-BELNR.
  1073|     MOVE-CORRESPONDING GT_ITEM TO GT_ITEM2.
  1074|     APPEND GT_ITEM2. CLEAR GT_ITEM2.
  1075|   ENDLOOP.
  1076| 
  1077|   SORT GT_ITEM2 BY BELNR BUZEI.
  1078| * PAI로 호출
  1079|   CALL METHOD CL_GUI_CFW=>SET_NEW_OK_CODE
  1080|     EXPORTING
  1081|       NEW_CODE = 'ZUSER'.
  • EN: Filters the line items of the double-clicked document header into GT_ITEM2, sorts by document and line number, and triggers PAI with OK-code ZUSER to refresh the item grid.
  • 호출(파서): CL_GUI_CFW=>SET_NEW_OK_CODE
  • SAP 객체: CL_GUI_CFW
  • 업무 키워드: 더블클릭, 전표 아이템 필터, 헤더 아이템 연동, 화면 갱신
  • English: Double Click, Line Item, Header-Item Link, SET_NEW_OK_CODE
  • 정의부(복사 시 함께 필요): BKPF, GT_HEAD, GT_ITEM, GT_ITEM2
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1067-L1081 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#DOUBLE_CLICK#C1

FORM ALV_GRID_DISPLAY1 — ZFIR0050F01 L698-L713 (16줄)

헤더 필드카탈로그를 만든 뒤 GV_ALV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY로 임시전표 헤더 목록(GT_HEAD)을 상단 ALV에 표시하는 FORM이다.

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

[output] 레이아웃·변형·툴바 제외 목록과 함께 GV_ALV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY를 호출해 임시전표 헤더 내부테이블 GT_HEAD를 상단 ALV 그리드에 출력한다.

   701|   GV_VARI1-REPORT = SY-REPID.
   702|   CALL METHOD GV_ALV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
   703|     EXPORTING
   704|       I_STRUCTURE_NAME     = 'GT_HEAD'
   705|       IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
   706|       IS_LAYOUT            = GV_LAYO1
   707|       IS_VARIANT           = GV_VARI1
   708|       I_BUFFER_ACTIVE      = C_X
   709|       I_SAVE               = C_A
   710|     CHANGING
   711|       IT_OUTTAB            = GT_HEAD[]
   712|       IT_FIELDCATALOG      = GT_FCAT_HEAD[].
  • EN: Displays the parked document header list (GT_HEAD) in the upper ALV grid via SET_TABLE_FOR_FIRST_DISPLAY with layout, variant and toolbar exclusions.
  • 호출(파서): GV_ALV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 헤더 ALV 출력, 임시전표 목록, 그리드 표시
  • English: ALV Grid, SET_TABLE_FOR_FIRST_DISPLAY, Parked Document
  • 정의부(복사 시 함께 필요): GV_VARI1, GV_ALV_GRID1, GT_EXCLUDE, GV_LAYO1, C_X, C_A, BKPF, GT_HEAD, GT_FCAT_HEAD
  • 위치: abap://ZFIR0050/ZFIR0050F01#L701-L712 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#ALV_GRID_DISPLAY1#C1

FORM ALV_GRID_DISPLAY2 — ZFIR0050F01 L823-L838 (16줄)

아이템 필드카탈로그를 만든 뒤 GV_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY로 선택 전표의 아이템 목록(GT_ITEM2)을 하단 ALV에 표시하는 FORM이다.

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

[output] 레이아웃·변형·툴바 제외 목록과 함께 GV_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY를 호출해 전표 아이템 내부테이블 GT_ITEM2를 하단 ALV 그리드에 출력한다.

   826|   GV_VARI2-REPORT = SY-REPID.
   827|   CALL METHOD GV_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
   828|     EXPORTING
   829|       I_STRUCTURE_NAME     = 'GT_ITEM'
   830|       IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
   831|       IS_LAYOUT            = GV_LAYO2
   832|       IS_VARIANT           = GV_VARI2
   833|       I_BUFFER_ACTIVE      = C_X
   834|       I_SAVE               = C_A
   835|     CHANGING
   836|       IT_OUTTAB            = GT_ITEM2[]
   837|       IT_FIELDCATALOG      = GT_FCAT_ITEM[].
  • EN: Displays the document line items (GT_ITEM2) in the lower ALV grid via SET_TABLE_FOR_FIRST_DISPLAY with layout, variant and toolbar exclusions.
  • 호출(파서): GV_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 아이템 ALV 출력, 전표 아이템, 그리드 표시
  • English: ALV Grid, SET_TABLE_FOR_FIRST_DISPLAY, Line Item
  • 정의부(복사 시 함께 필요): GV_VARI2, GV_ALV_GRID2, GT_EXCLUDE, GV_LAYO2, C_X, C_A, GT_ITEM, GT_ITEM2, GT_FCAT_ITEM
  • 위치: abap://ZFIR0050/ZFIR0050F01#L826-L837 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#ALV_GRID_DISPLAY2#C1

FORM DELETE_DATA — ZFIR0050F01 L1089-L1177 (89줄)

선택한 임시전표를 검증·확인 팝업 후 Z_FI_PARKED_DOCUMENT_DELETE로 삭제하고, 반려 상태였던 건은 ZFIT0100 이력의 전표상태를 갱신하는 FORM이다.

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

[validation] ALV 선택행이 없으면 중단하고, 선택 건이 모두 임시전표(BSTAT V/W)인지 확인해 아니면 오류 메시지 후 처리를 막으며 삭제 대상 건수를 센다.

  1097|   CALL METHOD GV_ALV_GRID1->GET_SELECTED_ROWS
  1098|     IMPORTING
  1099|       ET_INDEX_ROWS = GT_ROWS[].
  1100| 
  1101|   IF GT_ROWS[] IS INITIAL.
  1102|     MESSAGE S004.  "선택된 데이터가 없습니다.
  1103|     EXIT.
  1104|   ELSE.
  1105| *   선택된 데이터의 상태가 임시전표인지 확인
  1106|     CLEAR: LV_CNT, LV_CHK, GF_CHECK, GV_TEXT.
  1107|     LOOP AT GT_ROWS INTO GS_ROWS.
  1108|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1109|       CHECK SY-SUBRC EQ 0.
  1110|       IF GT_HEAD-BSTAT EQ C_V OR GT_HEAD-BSTAT EQ C_W.
  1111|         LV_CNT = LV_CNT + 1.
  1112|       ELSE.
  1113|         MESSAGE I000 WITH  TEXT-001.
  1114|         "선택한 데이터 중 임시전표가 아닌 건이 포함되어 있습니다.
  1115|         GF_CHECK = C_X.
  1116|         EXIT.
  1117|       ENDIF.
  1118|     ENDLOOP.
  • EN: Validates that rows are selected and every selected document is a parked document (BSTAT V/W), counting deletable documents.
  • 호출(파서): GV_ALV_GRID1->GET_SELECTED_ROWS
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 임시전표 삭제, 삭제 대상 검증, 선택행
  • English: Parked Document, Validation, ALV Selected Rows
  • 정의부(복사 시 함께 필요): GV_ALV_GRID1, GT_ROWS, LV_CNT, LV_CHK, GF_CHECK, GV_TEXT, GS_ROWS, BKPF, GT_HEAD, C_V, C_W, C_X
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1097-L1118 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#DELETE_DATA#C1

[control_flow] '임시전표 N건 삭제' 확인 문구를 만들어 CHECK_CONFIRM_STEP 팝업으로 삭제 여부를 묻고 '예'가 아니면 중단한다.

  1120|     CHECK GF_CHECK IS INITIAL.
  1121|     CONCATENATE TEXT-002  LV_CNT TEXT-003 INTO GV_TEXT
  1122|                                     SEPARATED BY SPACE.
  1123|     "선택하신 N건의 임시전표를 삭제하시겠습니까?
  1124|     PERFORM CHECK_CONFIRM_STEP USING TEXT-004 GV_TEXT SPACE C_N.
  1125|     CHECK GF_ANSWER EQ C_J.
  • EN: Asks the user to confirm deletion of N parked documents via CHECK_CONFIRM_STEP popup.
  • 호출(파서): CHECK_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 삭제 확인
  • English: Confirmation Popup
  • 정의부(복사 시 함께 필요): GF_CHECK, LV_CNT, GV_TEXT, C_N, GF_ANSWER, C_J
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1120-L1125 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#DELETE_DATA#C2

[fm_call] 선택 임시전표마다 Z_FI_PARKED_DOCUMENT_DELETE를 호출해 삭제하고 성공 시 BSTAT를 Z(삭제)로 바꿔 도메인 텍스트를 붙이며, 반려(C_R) 상태였던 건은 GT_Z0100의 BSTAT·변경자·시각을 갱신해 ZFIT0100에 MODIFY한다.

  1126|     LOOP AT GT_ROWS INTO GS_ROWS.
  1127|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1128|       CHECK SY-SUBRC EQ 0.
  1129|       CLEAR: LV_STATS.
  1130|       CALL FUNCTION 'Z_FI_PARKED_DOCUMENT_DELETE'
  1131|         EXPORTING
  1132|           I_BUKRS = P_BUKRS
  1133|           I_GJAHR = GT_HEAD-GJAHR
  1134|           I_BELNR = GT_HEAD-BELNR
  1135|         IMPORTING
  1136|           E_STATS = LV_STATS
  1137|           E_MESSG = GT_HEAD-ERMSG.
  1138| 
  1139| *     삭제성공
  1140|       IF LV_STATS EQ C_S.
  1141|         GT_HEAD-SICON = ICON_DELETE.
  1142|         GT_HEAD-BSTAT = C_Z.
  1143| *       전표상태명
  1144|         READ TABLE GT_DOMAIN WITH KEY DOMNAME    = 'BSTAT'
  1145|                                       DOMVALUE_L = GT_HEAD-BSTAT.
  1146|         IF SY-SUBRC EQ 0.
  1147|           GT_HEAD-BSTAT_T = GT_DOMAIN-DDTEXT.
  1148|         ENDIF.
  1149|       ELSE.
  1150| 
  1151|       ENDIF.
  1152| 
  1153| *     반려인 경우 삭제일  CBO 저장
  1154|       IF GT_HEAD-STATS EQ C_R.
  1155|         READ TABLE GT_Z0100 WITH KEY BELNR = GT_HEAD-BELNR
  1156|                                      GJAHR = GT_HEAD-GJAHR.
  1157|         IF SY-SUBRC EQ 0.
  1158|           LV_CHK = C_X.
  1159|           GT_Z0100-BSTAT = GT_HEAD-BSTAT.
  1160|           GT_Z0100-UNAME = SY-UNAME.
  1161|           GT_Z0100-UTIME = SY-UZEIT.
  1162|           GT_Z0100-UDATE = SY-DATUM.
  1163|           MODIFY GT_Z0100 TRANSPORTING BSTAT UNAME UTIME UDATE
  1164|                                  WHERE BELNR EQ GT_HEAD-BELNR
  1165|                                    AND GJAHR EQ GT_HEAD-GJAHR.
  1166|         ENDIF.
  1167| 
  1168|       ENDIF.
  1169|       MODIFY GT_HEAD INDEX GS_ROWS-INDEX.
  1170|     ENDLOOP.
  1171| 
  1172|     IF LV_CHK EQ C_X.
  1173|       MODIFY ZFIT0100 FROM TABLE GT_Z0100.
  1174|     ENDIF.
  • EN: Deletes each selected parked document via Z_FI_PARKED_DOCUMENT_DELETE, sets document status Z with domain text on success, and for previously rejected documents updates the status history in ZFIT0100.
  • 테이블(파서): read - / write GT_HEAD, ZFIT0100
  • 호출(파서): Z_FI_PARKED_DOCUMENT_DELETE
  • SAP 객체: Z_FI_PARKED_DOCUMENT_DELETE, ZFIT0100
  • 업무 키워드: 임시전표 삭제, 전표상태 Z, 반려 이력 갱신, 도메인 텍스트
  • English: Delete Parked Document, Document Status BSTAT, CBO Table, Domain Text
  • 정의부(복사 시 함께 필요): GT_ROWS, GS_ROWS, BKPF, GT_HEAD, LV_STATS, P_BUKRS, C_S, C_Z, GT_DOMAIN, C_R, ZFIT0100, GT_Z0100 외 2건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1126-L1174 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#DELETE_DATA#C3

FORM PROCESSING_DATA — ZFIR0050F01 L1183-L1568 (386줄)

결재상신 FORM의 1번째 창으로, 세금·금액·전송 구조(ZFIS0090/91/92/93, ZFIT0101/0102) 로컬 변수를 선언하고 ALV 선택행을 GET_SELECTED_ROWS로 읽어오는 준비 구간이다.

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

[validation] 선택행이 없거나 2건 이상이면 중단하고, 선택 전표가 임시전표(BSTAT V/W)인지 확인하며 반려(R) 재상신 시 사번·결재상태·반려사유·UNQID를 초기화하고 이미 상신중(I)이면 오류로 종료한다.

  1220|   IF GT_ROWS[] IS INITIAL.
  1221|     MESSAGE S004.  "선택된 데이터가 없습니다.
  1222|     EXIT.
  1223|   ELSE.
  1224|     CLEAR: LV_CNT.
  1225| *   문서조회는 한건씩
  1226|     DESCRIBE TABLE GT_ROWS LINES LV_CNT.
  1227| 
  1228|     IF LV_CNT GT 1.
  1229|       MESSAGE S000 WITH '결재상신은 한건씩 가능합니다'
  1230|       DISPLAY LIKE C_E.
  1231|       EXIT.
  1232|     ENDIF.
  1233| 
  1234|     LOOP AT GT_ROWS INTO GS_ROWS.
  1235|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1236|       CHECK SY-SUBRC EQ 0.
  1237| *     임시전표만 상신가능
  1238|       IF GT_HEAD-BSTAT EQ C_V OR GT_HEAD-BSTAT EQ C_W.
  1239| *       재상신시 관련필드 CLEAR
  1240|         IF GT_HEAD-STATS EQ C_R.
  1241|           CLEAR: GT_HEAD-SABUN,  GT_HEAD-LGCYCD, GT_HEAD-CFMSTA,
  1242|                  GT_HEAD-CFMDAT, GT_HEAD-RJTXT,  GT_HEAD-UNQID.
  1243|         ELSEIF GT_HEAD-STATS EQ C_I.
  1244|           MESSAGE S000 WITH '선택하신 데이터는 이미 상신중입니다.'
  1245|           DISPLAY LIKE C_E.
  1246|           EXIT.
  1247|         ENDIF.
  1248|       ELSE.
  1249|         MESSAGE S000 WITH '임시전표만 결재상신 가능합니다.'
  1250|         DISPLAY LIKE C_E.
  1251|         EXIT.
  1252|       ENDIF.
  • EN: Validates that exactly one parked document (BSTAT V/W) is selected, clears approval fields for re-submission after rejection, and blocks documents already in approval.
  • 업무 키워드: 결재상신 검증, 단건 상신, 임시전표, 재상신, 상신중
  • English: Parked Document, Approval Request, Validation, Re-submission
  • 정의부(복사 시 함께 필요): GT_ROWS, LV_CNT, C_E, GS_ROWS, BKPF, GT_HEAD, C_V, C_W, C_R, C_I
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1220-L1252 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C1

[fm_call] Z_IF_GET_UNQKEY로 인터페이스 공통로그 고유키(UNQID)와 로그 구조(ZIFS0010)를 발급받고 오류 메시지가 있으면 처리를 중단한다.

  1269|       CALL FUNCTION 'Z_IF_GET_UNQKEY'
  1270|         EXPORTING
  1271|           I_PGMID  = SY-REPID
  1272|           I_MODUL  = 'FI'
  1273|         IMPORTING
  1274|           E_MESSG  = LV_MESSG
  1275|           ES_CMLOG = LS_CMLOG.
  1276| 
  1277|       IF LV_MESSG NE SPACE.
  1278|         MESSAGE S000 WITH LV_MESSG DISPLAY LIKE C_E.
  1279|         LEAVE LIST-PROCESSING.
  1280|       ELSE.
  1281|         APPEND LS_CMLOG TO LT_CMLOG.
  1282|       ENDIF.
  • EN: Obtains the interface unique key (UNQID) and common log record via Z_IF_GET_UNQKEY for module FI; aborts on error message.
  • 호출(파서): Z_IF_GET_UNQKEY
  • SAP 객체: Z_IF_GET_UNQKEY, ZIFS0010
  • 업무 키워드: 인터페이스 고유키, 공통로그, UNQID 발급
  • English: Interface Unique Key, Common Log, Function Module
  • 정의부(복사 시 함께 필요): LV_MESSG, LS_CMLOG, C_E, LT_CMLOG
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1269-L1282 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C2

[interface] 전표 헤더(GT_HEAD)를 전송 헤더 구조 ZFIS0090에 옮기고 LEGACYTYPE='SAP', 사번, 결재양식 'REGACCFORM'을 채운 뒤 CBO 이력 ZFIT0101용 레코드(UNQID·생성일시·생성자)를 만든다.

  1285|       CLEAR: LT_BKPF[], LT_BKPF, LT_BSEG[], LT_BSEG, LT_INFO[], LT_INFO,
  1286|              LT_Z0101[], LT_Z0101, LT_Z0102[], LT_Z0102.
  1287|       MOVE-CORRESPONDING GT_HEAD TO LT_BKPF.
  1288|       LT_BKPF-LEGACYTYPE = 'SAP'.
  1289|       LT_BKPF-SABUN      = GV_SABUN.          "XCLICK
  1290|       LT_BKPF-FORMALIAS  = 'REGACCFORM'.
  1291|       APPEND LT_BKPF.
  1292|       MOVE-CORRESPONDING LT_BKPF TO LT_INFO.
  1293| 
  1294|       MOVE-CORRESPONDING LT_BKPF TO LT_Z0101.
  1295|       LT_Z0101-UNQID = LS_CMLOG-UNQID.
  1296|       LT_Z0101-CDATE = SY-DATUM.
  1297|       LT_Z0101-CTIME = SY-UZEIT.
  1298|       LT_Z0101-CNAME = SY-UNAME.
  1299|       APPEND LT_Z0101.
  1300|       CLEAR: LT_BKPF, LT_Z0101.
  • EN: Builds the e-approval header record (ZFIS0090 with legacy type SAP and form alias REGACCFORM) and the corresponding ZFIT0101 history record from the parked document header.
  • SAP 객체: ZFIS0090, ZFIT0101
  • 업무 키워드: 전송 헤더 생성, 결재 양식, 전표 헤더, 이력 레코드
  • English: Interface Header, Document Header, E-Approval Form
  • 정의부(복사 시 함께 필요): LT_BKPF, LT_BSEG, LT_INFO, LT_Z0101, LT_Z0102, BKPF, GT_HEAD, GV_SABUN, LS_CMLOG
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1285-L1300 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C3

[calculation] 전표 아이템별로 세금 자동계산(XMWST) 시 G/L 라인의 세금코드로 CALCULATE_TAXES_GROSS를 호출해 원화/전표통화 부가세액·공급가액을 누적하고, 수동 세액인 경우 공급업체(K)/고객(D) 라인의 MWSTS·DMBTR를 누적하며 부가세 계정(0011490101/0021350101)을 정한다.

  1305|       LOOP AT GT_ITEM WHERE BUKRS EQ GT_HEAD-BUKRS
  1306|                         AND BELNR EQ GT_HEAD-BELNR
  1307|                         AND GJAHR EQ GT_HEAD-GJAHR.
  1308|         LT_BSEG-HKONT  = GT_ITEM-HKONT.
  1309|         LT_BSEG-TXT50  = GT_ITEM-TXT50.
  1310| 
  1311| *       부가세 라인
  1312|         CLEAR: LT_TAXIN[], LT_TAXIN, LT_TAXOUT[], LT_TAXOUT,
  1313|                LT_ERROR[], LT_ERROR, LV_DMBTR, LV_WRBTR.
  1314|         IF GT_HEAD-XMWST EQ C_X.  "세금 자동 계산
  1315|           IF GT_ITEM-MWSKZ IS NOT INITIAL AND GT_ITEM-KOART EQ C_S.
  1316|             LT_TAXIN-BUKRS = GT_HEAD-BUKRS.
  1317|             LT_TAXIN-MWSKZ = GT_ITEM-MWSKZ.
  1318|             LT_TAXIN-WRBTR = GT_ITEM-DMBTR.
  1319|             APPEND LT_TAXIN.
  1320|             LT_TAXIN-BUKRS = GT_HEAD-BUKRS.
  1321|             LT_TAXIN-WAERS = GT_HEAD-WAERS.
  1322|             LT_TAXIN-MWSKZ = GT_ITEM-MWSKZ.
  1323|             LT_TAXIN-WRBTR = GT_ITEM-DMBTR.
  1324|             APPEND LT_TAXIN.
  1325| *           세금계산 펑션
  1326|             CALL FUNCTION 'CALCULATE_TAXES_GROSS'
  1327|               TABLES
  1328|                 TAX_ITEM_IN   = LT_TAXIN
  1329|                 TAX_ITEM_OUT  = LT_TAXOUT
  1330|                ERROR_RETURN   = LT_ERROR.
  1331|             LOOP AT LT_TAXOUT.
  1332|               LS_BSEG_TX-HKONT = LT_TAXOUT-HKONT.
  1333|               LV_SHKZG = GT_ITEM-SHKZG.
  1334|               LV_MWSKZ = GT_ITEM-MWSKZ.
  1335|               IF LT_TAXOUT-WAERS EQ SPACE.  "원화
  1336|                 LV_MWSTS = LV_MWSTS + LT_TAXOUT-FWSTE.  "부가세액
  1337|                 LV_HWBAS = LV_HWBAS + LT_TAXOUT-FWBAS.  "부가세 공급가액
  1338|                 LV_DMBTR = LT_TAXOUT-FWBAS.  "공급가액
  1339|               ELSE.                         "전표통화
  1340|                 LV_WMWST = LV_WMWST + LT_TAXOUT-FWSTE.  "부가세액
  1341|                 LV_FWBAS = LV_FWBAS + LT_TAXOUT-FWBAS.  "부가세 공급가액
  1342|                 LV_WRBTR = LT_TAXOUT-FWBAS.  "공급가액
  1343|               ENDIF.
  1344|             ENDLOOP.
  1345|           ELSE.
  1346|             LV_DMBTR = GT_ITEM-DMBTR.
  1347|             LV_WRBTR = GT_ITEM-WRBTR.
  1348|           ENDIF.
  1349|         ELSE.  "고객이나 구매처의 세액 입력 부분
  1350|           IF GT_ITEM-MWSKZ IS NOT INITIAL AND
  1351|              ( GT_ITEM-KOART EQ C_K OR  GT_ITEM-KOART EQ C_D ).
  1352|             LV_SHKZG = GT_ITEM-SHKZG.
  1353|             LV_MWSKZ = GT_ITEM-MWSKZ.
  1354|             LV_MWSTS = LV_MWSTS + GT_ITEM-MWSTS.  "부가세액
  1355|             LV_HWBAS = LV_HWBAS + GT_ITEM-DMBTR.  "공급가액
  1356|             LV_WMWST = LV_WMWST + GT_ITEM-WMWST.  "부가세액(전표통화)
  1357|             LV_FWBAS = LV_FWBAS + GT_ITEM-WRBTR.  "공급가액(전표통화)
  1358|             IF GT_ITEM-KOART EQ C_K.
  1359|               LS_BSEG_TX-HKONT = '0011490101'.
  1360|             ELSE.
  1361|               LS_BSEG_TX-HKONT = '0021350101'.
  1362|             ENDIF.
  1363|           ENDIF.
  1364|           LV_DMBTR = GT_ITEM-DMBTR.
  1365|           LV_WRBTR = GT_ITEM-WRBTR.
  1366|         ENDIF.
  • EN: Per document line item, calculates VAT with CALCULATE_TAXES_GROSS when tax is auto-calculated, otherwise accumulates manually entered tax on vendor/customer lines, deriving the tax G/L account and base amounts in local and document currency.
  • 호출(파서): CALCULATE_TAXES_GROSS
  • SAP 객체: CALCULATE_TAXES_GROSS, RTAX1U38, BSEG
  • 업무 키워드: 부가세 계산, 세금코드, 공급가액, 세액 누적, 자동 세금계산
  • English: Tax Calculation, Tax Code MWSKZ, Tax Base Amount, Input/Output Tax, CALCULATE_TAXES_GROSS
  • 정의부(복사 시 함께 필요): GT_ITEM, BKPF, GT_HEAD, LT_BSEG, LT_TAXIN, LT_TAXOUT, LT_ERROR, LV_DMBTR, LV_WRBTR, C_X, C_S, LS_BSEG_TX 외 8건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1305-L1366 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C4

[interface] 차/대(SHKZG)에 따라 금액을 차변·대변 컬럼으로 통화 변환해 넣고 코스트센터·거래처명·오더·적요를 채우며 LFA1/KNA1에서 사업자번호(STCD2)를 조회해 전송 아이템(ZFIS0091)·정보(ZFIS0093)·합계·CBO ZFIT0102 레코드를 만든다.

  1368|         IF GT_ITEM-SHKZG EQ C_S.
  1369|           CHANGE_CURRENCY LV_DMBTR LT_BSEG-SDMBTR C_WAERS.
  1370|           CHANGE_CURRENCY LV_WRBTR LT_BSEG-SWRBTR GT_HEAD-WAERS.
  1371| *          CHANGE_CURRENCY GT_ITEM-DMBTR LT_BSEG-SDMBTR C_WAERS.
  1372| *          CHANGE_CURRENCY GT_ITEM-MWSTS LT_BSEG-SMWSTS C_WAERS.
  1373|         ELSE.
  1374|           CHANGE_CURRENCY LV_DMBTR LT_BSEG-HDMBTR C_WAERS.
  1375|           CHANGE_CURRENCY LV_WRBTR LT_BSEG-HWRBTR GT_HEAD-WAERS.
  1376| *          CHANGE_CURRENCY GT_ITEM-DMBTR LT_BSEG-HDMBTR C_WAERS.
  1377| *          CHANGE_CURRENCY GT_ITEM-MWSTS LT_BSEG-HMWSTS C_WAERS.
  1378|         ENDIF.
  1379| *        LT_BSEG-MWSKZ = GT_ITEM-MWSKZ.
  1380| *        LT_BSEG-TEXT1 = GT_ITEM-MWSKZ_T.
  1381|         LT_BSEG-KOSTL = GT_ITEM-KOSTL.
  1382|         LT_BSEG-TEXT2 = GT_ITEM-KOSTL_T.
  1383| *       거래처
  1384|         IF GT_ITEM-KOART EQ C_K.
  1385| *          LT_BSEG-LIFNR = GT_ITEM-SUBAC.
  1386|           LT_BSEG-TXT30 = GT_ITEM-SUBNM.
  1387| *         구매처
  1388|           SELECT SINGLE STCD2
  1389|             INTO LT_BSEG-STCD2
  1390|             FROM LFA1
  1391|            WHERE LIFNR EQ GT_ITEM-SUBAC.
  1392|         ELSEIF GT_ITEM-KOART EQ C_D.
  1393| *          LT_BSEG-LIFNR = GT_ITEM-SUBAC.
  1394|           LT_BSEG-TXT30 = GT_ITEM-SUBNM.
  1395| *         고객
  1396|           SELECT SINGLE STCD2
  1397|             INTO LT_BSEG-STCD2
  1398|             FROM KNA1
  1399|            WHERE KUNNR EQ GT_ITEM-SUBAC.
  1400|         ENDIF.
  1401| 
  1402|         LT_BSEG-AUFNR = GT_ITEM-AUFNR.
  1403|         LT_BSEG-SGTXT = GT_ITEM-SGTXT.
  1404|         APPEND LT_BSEG.
  1405|         MOVE-CORRESPONDING LT_BSEG TO LT_INFO.
  1406|         APPEND LT_INFO.
  1407| 
  1408| *       합계금액
  1409|         LT_TOTAL-SDMBTR_TOT = LT_TOTAL-SDMBTR_TOT + LT_BSEG-SDMBTR.
  1410|         LT_TOTAL-SWRBTR_TOT = LT_TOTAL-SWRBTR_TOT + LT_BSEG-SWRBTR.
  1411|         LT_TOTAL-HDMBTR_TOT = LT_TOTAL-HDMBTR_TOT + LT_BSEG-HDMBTR.
  1412|         LT_TOTAL-HWRBTR_TOT = LT_TOTAL-HWRBTR_TOT + LT_BSEG-HWRBTR.
  1413| 
  1414| *       CBO TABLE
  1415|         MOVE-CORRESPONDING LT_BSEG TO LT_Z0102.
  1416|         LT_Z0102-BUKRS = GT_HEAD-BUKRS.
  1417|         LT_Z0102-GJAHR = GT_HEAD-GJAHR.
  1418|         LT_Z0102-BELNR = GT_HEAD-BELNR.
  1419|         LT_Z0102-BUZEI = '000'.
  1420|         LT_Z0102-UNQID = LS_CMLOG-UNQID.
  1421|         APPEND LT_Z0102.
  1422|         CLEAR: LT_BSEG, LT_Z0102.
  1423|       ENDLOOP.
  • EN: Formats debit/credit amounts by posting key indicator, reads vendor/customer tax number STCD2 from LFA1/KNA1, and appends the line to interface item, info, total and ZFIT0102 history tables.
  • 테이블(파서): read LFA1, KNA1 / write -
  • SAP 객체: LFA1, KNA1, ZFIS0091, ZFIS0093, ZFIT0102
  • 업무 키워드: 차변 대변 금액, 사업자번호, 거래처, 코스트센터, 합계 누적, 전송 아이템
  • English: Debit/Credit Indicator, Tax Number STCD2, Vendor Master, Customer Master, Interface Item
  • 정의부(복사 시 함께 필요): GT_ITEM, C_S, CHANGE_CURRENCY, LV_DMBTR, LT_BSEG, C_WAERS, LV_WRBTR, BKPF, GT_HEAD, C_K, LFA1, C_D 외 5건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1368-L1423 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C5

[calculation] 누적 부가세액이 있으면 세금 계정의 SKAT 계정명과 T007S 세금코드명을 조회해 '세금코드-세금명, 공급가액:금액' 적요를 가진 부가세 라인을 전송 아이템·ZFIT0102에 추가하고 합계 금액에 반영한다.

  1426|       IF LV_MWSTS IS NOT INITIAL.
  1427|         CLEAR: LT_BSEG, LV_TEXT1.
  1428|         LT_BSEG-HKONT = LS_BSEG_TX-HKONT.
  1429|         SELECT SINGLE TXT50
  1430|           INTO LT_BSEG-TXT50
  1431|           FROM SKAT
  1432|          WHERE SAKNR EQ LT_BSEG-HKONT
  1433|            AND SPRAS EQ SY-LANGU.
  1434| 
  1435|         IF LV_SHKZG EQ C_S.
  1436|           CHANGE_CURRENCY LV_MWSTS LT_BSEG-SDMBTR C_WAERS.
  1437|           CHANGE_CURRENCY LV_WMWST LT_BSEG-SWRBTR GT_HEAD-WAERS.
  1438|         ELSE.
  1439|           CHANGE_CURRENCY LV_MWSTS LT_BSEG-HDMBTR C_WAERS.
  1440|           CHANGE_CURRENCY LV_WMWST LT_BSEG-HWRBTR GT_HEAD-WAERS.
  1441|         ENDIF.
  1442| 
  1443|         CHANGE_CURRENCY LV_HWBAS LT_BSEG-SGTXT C_WAERS.
  1444|         CONDENSE LT_BSEG-SGTXT.
  1445| 
  1446|         SELECT SINGLE TEXT1
  1447|           INTO LV_TEXT1
  1448|           FROM T007S
  1449|          WHERE SPRAS EQ SY-LANGU
  1450|            AND KALSM EQ T005-KALSM
  1451|            AND MWSKZ EQ LV_MWSKZ.
  1452| *       지정 - 세금 + 세금코드명 + 공급가액
  1453|         CONCATENATE LV_MWSKZ '-' LV_TEXT1 ', 공급가액:' LT_BSEG-SGTXT
  1454|               INTO LT_BSEG-SGTXT.
  1455| 
  1456|         APPEND LT_BSEG.
  1457|         MOVE-CORRESPONDING LT_BSEG TO LT_INFO.
  1458|         APPEND LT_INFO.
  1459| 
  1460| *       CBO TABLE
  1461|         MOVE-CORRESPONDING LT_BSEG TO LT_Z0102.
  1462|         LT_Z0102-BUKRS = GT_HEAD-BUKRS.
  1463|         LT_Z0102-GJAHR = GT_HEAD-GJAHR.
  1464|         LT_Z0102-BELNR = GT_HEAD-BELNR.
  1465|         LT_Z0102-BUZEI = GT_ITEM-BUZEI.
  1466|         LT_Z0102-UNQID = LS_CMLOG-UNQID.
  1467|         APPEND LT_Z0102.
  1468| 
  1469| *       합계금액
  1470|         LT_TOTAL-SDMBTR_TOT = LT_TOTAL-SDMBTR_TOT + LT_BSEG-SDMBTR.
  1471|         LT_TOTAL-SWRBTR_TOT = LT_TOTAL-SWRBTR_TOT + LT_BSEG-SWRBTR.
  1472|         LT_TOTAL-HDMBTR_TOT = LT_TOTAL-HDMBTR_TOT + LT_BSEG-HDMBTR.
  1473|         LT_TOTAL-HWRBTR_TOT = LT_TOTAL-HWRBTR_TOT + LT_BSEG-HWRBTR.
  1474| 
  1475|         CLEAR: LT_BSEG, LT_Z0102.
  1476| 
  1477|       ENDIF.
  1478| 
  1479|       APPEND LT_TOTAL.
  • EN: Creates a separate VAT line with G/L account text from SKAT and tax code description from T007S, appends it to interface items and ZFIT0102, and adds it to the totals.
  • 테이블(파서): read SKAT, T007S / write -
  • SAP 객체: SKAT, T007S, ZFIT0102, ZFIS0091
  • 업무 키워드: 부가세 라인 생성, 세금 계정명, 세금코드명, 공급가액 적요, 합계
  • English: Tax Line, G/L Account Text, Tax Code Description, SKAT, T007S
  • 정의부(복사 시 함께 필요): LV_MWSTS, LT_BSEG, LV_TEXT1, LS_BSEG_TX, LV_SHKZG, C_S, CHANGE_CURRENCY, C_WAERS, LV_WMWST, BKPF, GT_HEAD, LV_HWBAS 외 7건
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1426-L1479 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C6

[fm_call] RFC 목적지 ZFI01의 Z_FI_CONFIRM_REQUEST에 정보·헤더·아이템·합계·공통로그 테이블을 넘겨 전자결재 상신을 요청하고 상태·메시지·결재 URL을 받는다.

  1483|       CALL FUNCTION 'Z_FI_CONFIRM_REQUEST'
  1484|         DESTINATION 'ZFI01'
  1485|         IMPORTING
  1486|           E_STATS               = LV_STATS
  1487|           E_MESSG               = LV_MESSG
  1488|           E_URL                 = LV_URL
  1489|         TABLES
  1490|           IT_INFO               = LT_INFO
  1491|           IT_HEADER             = LT_BKPF
  1492|           IT_ITEM               = LT_BSEG
  1493|           IT_TOTAL              = LT_TOTAL
  1494|           IT_CMLOG              = LT_CMLOG
  1495|         EXCEPTIONS
  1496|           SYSTEM_FAILURE        = 1
  1497|           COMMUNICATION_FAILURE = 2
  1498|           OTHERS                = 3.
  • EN: Calls RFC Z_FI_CONFIRM_REQUEST (destination ZFI01) with header, item, total and log tables to submit the parked document for e-approval and receives status and approval URL.
  • 호출(파서): Z_FI_CONFIRM_REQUEST
  • SAP 객체: Z_FI_CONFIRM_REQUEST, ZFI01
  • 업무 키워드: 결재상신, RFC 호출, 전자결재 인터페이스, 결재 URL
  • English: E-Approval Request, RFC Destination, Interface
  • 정의부(복사 시 함께 필요): LV_STATS, LV_MESSG, LV_URL, LT_INFO, LT_BKPF, LT_BSEG, LT_TOTAL, LT_CMLOG
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1483-L1498 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C7

[db_write] URL이 없으면 오류(E) 상태로 표시하고, 있으면 상신중(I)·UNQID를 GT_HEAD에 반영한 뒤 ZFIT0100/ZFIT0101/ZFIT0102에 상신 이력을 MODIFY·COMMIT하고 CALL_BROWSER로 결재 화면을 연다.

  1500|       IF LV_URL EQ SPACE.
  1501|         GT_HEAD-STATS   = C_E.
  1502|         GT_HEAD-STATS_T = '오류'.
  1503|         GT_HEAD-SICON   = ICON_RED_LIGHT.
  1504|         GT_HEAD-ERMSG   = '결재상신 Interface 중 에러가 발생하였습니다.'.
  1505|       ELSE.
  1506|         GT_HEAD-STATS   = C_I.
  1507|         GT_HEAD-STATS_T = '상신중'.
  1508|         GT_HEAD-SICON   = ICON_TRANSFER.
  1509|         GT_HEAD-UNQID   = LS_CMLOG-UNQID.
  1510| *       CBO TABLE UPDATE
  1511|         MOVE-CORRESPONDING GT_HEAD TO LT_Z0100_S.
  1512|         LT_Z0100_S-CDATE = SY-DATUM.
  1513|         LT_Z0100_S-CTIME = SY-UZEIT.
  1514|         LT_Z0100_S-CNAME = SY-UNAME.
  1515|         APPEND LT_Z0100_S. CLEAR LT_Z0100_S.
  1516| *       CBO 테이블 저장
  1517|         IF LT_Z0100_S[] IS NOT INITIAL.
  1518|           MODIFY ZFIT0100 FROM TABLE LT_Z0100_S.
  1519|           MODIFY ZFIT0101 FROM TABLE LT_Z0101.
  1520|           MODIFY ZFIT0102 FROM TABLE LT_Z0102.
  1521| 
  1522|           COMMIT WORK AND WAIT.
  1523|         ENDIF.
  1524| 
  1525| *       브라우져 호출
  1526|         CALL FUNCTION 'CALL_BROWSER'
  1527|           EXPORTING
  1528|             URL                    = LV_URL
  1529|           EXCEPTIONS
  1530|             FRONTEND_NOT_SUPPORTED = 1
  1531|             FRONTEND_ERROR         = 2
  1532|             PROG_NOT_FOUND         = 3
  1533|             NO_BATCH               = 4
  1534|             UNSPECIFIED_ERROR      = 5
  1535|             OTHERS                 = 6.
  1536|       ENDIF.
  1537| 
  1538|       MODIFY GT_HEAD INDEX GS_ROWS-INDEX.
  • EN: On success sets in-approval status, persists header/item history into ZFIT0100/0101/0102 with COMMIT WORK, and opens the approval URL via CALL_BROWSER; on failure marks the row as error.
  • 테이블(파서): read - / write ZFIT0100, ZFIT0101, ZFIT0102, GT_HEAD
  • 호출(파서): CALL_BROWSER
  • SAP 객체: ZFIT0100, ZFIT0101, ZFIT0102, CALL_BROWSER
  • 업무 키워드: 상신 결과 처리, 상신중 상태, 결재 이력 저장, 브라우저 호출, COMMIT
  • English: Status Update, CBO Table, COMMIT WORK, CALL_BROWSER
  • 정의부(복사 시 함께 필요): LV_URL, BKPF, GT_HEAD, C_E, C_I, LS_CMLOG, ZFIT0100, LT_Z0100_S, LT_Z0101, LT_Z0102, GS_ROWS
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1500-L1538 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#PROCESSING_DATA#C8

FORM CONFIRM_DATA — ZFIR0050F01 L1574-L1775 (202줄)

선택한 임시전표를 검증·확인 팝업 후 BDC로 FBV0(임시전표 전기)를 실행해 정규전표로 전기하고 성공 건을 팀장승인 상태(A)로 ZFIT0100에 저장하는 FORM이다(이전 Z_FI_PARKED_DOCUMENT_POSTING 방식은 주석 처리됨).

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

[validation] ALV 선택행이 없으면 중단하고, 선택 건이 모두 임시전표(BSTAT V/W)인지 확인해 아니면 오류 메시지 후 처리를 막으며 승인 대상 건수를 센다.

  1682|   CALL METHOD GV_ALV_GRID1->GET_SELECTED_ROWS
  1683|     IMPORTING
  1684|       ET_INDEX_ROWS = GT_ROWS[].
  1685| 
  1686|   IF GT_ROWS[] IS INITIAL.
  1687|     MESSAGE S004.  "선택된 데이터가 없습니다.
  1688|     EXIT.
  1689|   ELSE.
  1690| *   선택된 데이터의 상태가 임시전표인지 확인
  1691|     CLEAR: LV_CNT, LV_CHK, GF_CHECK, GV_TEXT.
  1692|     LOOP AT GT_ROWS INTO GS_ROWS.
  1693|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1694|       CHECK SY-SUBRC EQ 0.
  1695|       IF GT_HEAD-BSTAT EQ C_V OR GT_HEAD-BSTAT EQ C_W.
  1696|         LV_CNT = LV_CNT + 1.
  1697|       ELSE.
  1698|         MESSAGE I000 WITH TEXT-001.
  1699|         "선택한 데이터 중 임시전표가 아닌 건이 포함되어 있습니다.
  1700|         GF_CHECK = C_X.
  1701|         EXIT.
  1702|       ENDIF.
  1703|     ENDLOOP.
  • EN: Validates that rows are selected and that every selected document is a parked document (BSTAT V/W), counting the approvable documents.
  • 호출(파서): GV_ALV_GRID1->GET_SELECTED_ROWS
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 팀장승인, 임시전표 검증, 선택행, 건수
  • English: Parked Document, Validation, ALV Selected Rows
  • 정의부(복사 시 함께 필요): GV_ALV_GRID1, GT_ROWS, LV_CNT, LV_CHK, GF_CHECK, GV_TEXT, GS_ROWS, BKPF, GT_HEAD, C_V, C_W, C_X
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1682-L1703 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#CONFIRM_DATA#C1

[control_flow] '임시전표 N건 승인' 확인 문구를 만들어 CHECK_CONFIRM_STEP 팝업으로 승인 여부를 묻고 '예'가 아니면 중단한다.

  1705|     CHECK GF_CHECK IS INITIAL.
  1706|     CONCATENATE TEXT-002 LV_CNT TEXT-007 INTO GV_TEXT
  1707|                                     SEPARATED BY SPACE.
  1708|     "선택하신 N건의 임시전표를 승인하시겠습니까?
  1709|     PERFORM CHECK_CONFIRM_STEP USING TEXT-008 GV_TEXT SPACE C_N.
  1710|     CHECK GF_ANSWER EQ C_J.
  • EN: Asks the user to confirm approval of N parked documents via CHECK_CONFIRM_STEP popup.
  • 호출(파서): CHECK_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 승인 확인
  • English: Confirmation Popup
  • 정의부(복사 시 함께 필요): GF_CHECK, LV_CNT, GV_TEXT, C_N, GF_ANSWER, C_J
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1705-L1710 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#CONFIRM_DATA#C2

[interface] 선택 임시전표마다 SAPMF05V 0100에 회사코드·전표번호·연도를 입력하고 원래 T-Code(FB*/FV*)에 따라 SAPLF040 0700 또는 SAPMF05A 1100 화면에서 전기(=BU) OK코드를 넣는 BDC 화면 흐름을 만들어 FBV0 트랜잭션을 BDC로 실행한다.

  1712|     LOOP AT GT_ROWS INTO GS_ROWS.
  1713|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1714|       CHECK SY-SUBRC EQ 0.
  1715| *     임시전표 전기
  1716|       PERFORM DYNPRO USING :
  1717|                 'X' 'SAPMF05V'          '0100',
  1718|                 ' ' 'BDC_OKCODE'        '/00',
  1719|                 ' ' 'RF05V-BUKRS'       P_BUKRS,
  1720|                 ' ' 'RF05V-BELNR'       GT_HEAD-BELNR,
  1721|                 ' ' 'RF05V-GJAHR'       GT_HEAD-GJAHR.
  1722| 
  1723|       IF GT_HEAD-TCODE(2) EQ 'FB'.
  1724|         PERFORM DYNPRO USING :
  1725|                   'X' 'SAPLF040'          '0700',
  1726|                   ' ' 'BDC_OKCODE'        '/00'.
  1727| 
  1728|         PERFORM DYNPRO USING :
  1729|                   'X' 'SAPLF040'          '0700',
  1730|                   ' ' 'BDC_OKCODE'        '=BU'.
  1731| 
  1732|       ELSEIF GT_HEAD-TCODE(2) EQ 'FV'.
  1733|         PERFORM DYNPRO USING :
  1734|                   'X' 'SAPMF05A'          '1100',
  1735|                   ' ' 'BDC_OKCODE'        '/00'.
  1736| 
  1737|         PERFORM DYNPRO USING :
  1738|                   'X' 'SAPMF05A'          '1100',
  1739|                   ' ' 'BDC_OKCODE'        '=BU'.
  1740|       ENDIF.
  1741| 
  1742|       PERFORM BDC_TRANSACTION USING 'FBV0'.
  • EN: Builds the BDC screen sequence for FBV0 (post parked document) per selected document, choosing the follow-up screen by original transaction prefix FB/FV, and calls BDC_TRANSACTION.
  • 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, BDC_TRANSACTION
  • SAP 객체: FBV0, SAPMF05V, SAPLF040, SAPMF05A
  • 업무 키워드: 임시전표 전기, BDC, 화면 흐름, 전기 OK코드
  • English: Post Parked Document, Batch Input, BDC, FBV0
  • 정의부(복사 시 함께 필요): GT_ROWS, GS_ROWS, BKPF, GT_HEAD, P_BUKRS
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1712-L1742 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#CONFIRM_DATA#C3

[db_write] BDC 메시지에서 F5 312(전표 전기 성공)를 찾아 성공 건은 정규전표·팀장승인(C_A) 상태로 GT_HEAD를 갱신하고 승인자·시각을 채워 ZFIT0100에 MODIFY하며, 실패 건은 첫 메시지를 오류 텍스트로 붙여 빨간 아이콘을 표시한다.

  1745|       READ TABLE GT_MESS WITH KEY MSGID = 'F5'
  1746|                                   MSGNR = '312'.
  1747| *     성공
  1748|       IF SY-SUBRC EQ 0.
  1749|         GT_HEAD-BSTAT   = SPACE.
  1750|         GT_HEAD-BSTAT_T = '정규전표'.
  1751|         GT_HEAD-SICON   = ICON_YELLOW_LIGHT.
  1752|         GT_HEAD-STATS   = C_A.
  1753|         GT_HEAD-STATS_T = '팀장승인'.
  1754| *       승인 성공  저장
  1755|         MOVE-CORRESPONDING GT_HEAD TO LT_Z0100_S.
  1756|         LT_Z0100_S-CNAME = SY-UNAME.
  1757|         LT_Z0100_S-CTIME = SY-UZEIT.
  1758|         LT_Z0100_S-CDATE = SY-DATUM.
  1759|         APPEND LT_Z0100_S. CLEAR LT_Z0100_S.
  1760| *     실패
  1761|       ELSE.
  1762|         READ TABLE GT_MESS INDEX 1.
  1763|         PERFORM message_select CHANGING gt_HEAD-ERMSG.
  1764|         GT_HEAD-SICON = ICON_RED_LIGHT.
  1765|       ENDIF.
  1766| 
  1767|       MODIFY GT_HEAD INDEX GS_ROWS-INDEX.
  1768|     ENDLOOP.
  1769| 
  1770|     IF LT_Z0100_S[] IS NOT INITIAL.
  1771|       MODIFY ZFIT0100 FROM TABLE LT_Z0100_S.
  1772|     ENDIF.
  • EN: Evaluates the BDC messages (F5 312 = posted), marks successful documents as posted/team-leader approved and saves them into ZFIT0100; failed ones get the BDC error message and a red icon.
  • 테이블(파서): read - / write GT_HEAD, ZFIT0100
  • 호출(파서): MESSAGE_SELECT
  • SAP 객체: ZFIT0100, F5 312
  • 업무 키워드: BDC 결과 판정, 전기 성공, 팀장승인 저장, 오류 메시지
  • English: BDC Message, Posting Result, Status Update, CBO Table
  • 정의부(복사 시 함께 필요): GT_MESS, BKPF, GT_HEAD, C_A, ZFIT0100, LT_Z0100_S, GS_ROWS
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1745-L1772 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#CONFIRM_DATA#C4

FORM CONFIRM_DATA_2 — ZFIR0050F01 L1782-L1843 (62줄)

팀장승인된 정규전표를 선택해 확인 팝업 후 임원승인 상태(C)로 갱신하고 ZFIT0100에 승인자·시각을 저장하는 FORM이다.

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

[validation] ALV 선택행이 없으면 중단하고, 선택 건수를 세어 '정규전표 N건 승인' 확인 팝업(CHECK_CONFIRM_STEP)을 띄워 '예'가 아니면 종료한다.

  1792|   CALL METHOD GV_ALV_GRID1->GET_SELECTED_ROWS
  1793|     IMPORTING
  1794|       ET_INDEX_ROWS = GT_ROWS[].
  1795| 
  1796|   IF GT_ROWS[] IS INITIAL.
  1797|     MESSAGE S004.  "선택된 데이터가 없습니다.
  1798|     EXIT.
  1799|   ELSE.
  1800| *   선택된 데이터의 상태 업데이트
  1801|     CLEAR: LV_CNT, LV_CHK, GF_CHECK, GV_TEXT.
  1802|     LOOP AT GT_ROWS INTO GS_ROWS.
  1803|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1804|       CHECK SY-SUBRC EQ 0.
  1805|       LV_CNT = LV_CNT + 1.
  1806|     ENDLOOP.
  1807| 
  1808|     CHECK GF_CHECK IS INITIAL.
  1809|     CONCATENATE TEXT-002 LV_CNT TEXT-015 INTO GV_TEXT
  1810|                                     SEPARATED BY SPACE.
  1811|     "선택하신 N건의 정규전표를 승인하시겠습니까?
  1812|     PERFORM CHECK_CONFIRM_STEP USING TEXT-016 GV_TEXT SPACE C_N.
  1813|     CHECK GF_ANSWER EQ C_J.
  • EN: Reads selected ALV rows, counts them and asks the user to confirm the executive approval of N posted documents via CHECK_CONFIRM_STEP.
  • 호출(파서): GV_ALV_GRID1->GET_SELECTED_ROWS, CHECK_CONFIRM_STEP
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 임원승인, 선택행 확인, 확인 팝업, 건수
  • English: Executive Approval, ALV Selected Rows, Confirmation Popup
  • 정의부(복사 시 함께 필요): GV_ALV_GRID1, GT_ROWS, LV_CNT, LV_CHK, GF_CHECK, GV_TEXT, GS_ROWS, BKPF, GT_HEAD, C_N, GF_ANSWER, C_J
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1792-L1813 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#CONFIRM_DATA_2#C1

[db_write] 선택 전표의 상태를 임원승인(C_C, ICON_GREEN_LIGHT)으로 바꿔 GT_HEAD를 갱신하고, 기존 GT_Z0100 이력이 있으면 STATS만 갱신하며 승인자·시각(UNAME/UTIME/UDATE)을 채워 ZFIT0100에 MODIFY한다.

  1815|     LOOP AT GT_ROWS INTO GS_ROWS.
  1816|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1817|       CHECK SY-SUBRC EQ 0.
  1818|       GT_HEAD-SICON   = ICON_GREEN_LIGHT.
  1819|       GT_HEAD-STATS   = C_C.
  1820|       GT_HEAD-STATS_T = '임원승인'.
  1821| 
  1822|       READ TABLE GT_Z0100 WITH KEY BELNR = GT_HEAD-BELNR
  1823|                                    GJAHR = GT_HEAD-GJAHR.
  1824|       IF SY-SUBRC EQ 0.
  1825|         MOVE GT_Z0100 TO LT_Z0100_S.
  1826|         LT_Z0100_S-STATS = GT_HEAD-STATS.
  1827|       ELSE.
  1828|         MOVE-CORRESPONDING GT_HEAD TO LT_Z0100_S.
  1829|       ENDIF.
  1830|       LT_Z0100_S-UNAME = SY-UNAME.
  1831|       LT_Z0100_S-UTIME = SY-UZEIT.
  1832|       LT_Z0100_S-UDATE = SY-DATUM.
  1833|       APPEND LT_Z0100_S. CLEAR LT_Z0100_S.
  1834| 
  1835|       MODIFY GT_HEAD INDEX GS_ROWS-INDEX.
  1836|     ENDLOOP.
  1837| 
  1838|     IF LT_Z0100_S[] IS NOT INITIAL.
  1839|       MODIFY ZFIT0100 FROM TABLE LT_Z0100_S.
  1840|     ENDIF.
  • EN: Sets executive-approved status on the selected documents in the ALV and persists status plus approver/timestamp into CBO table ZFIT0100.
  • 테이블(파서): read - / write GT_HEAD, ZFIT0100
  • SAP 객체: ZFIT0100
  • 업무 키워드: 임원승인 처리, 상태 갱신, 결재 이력 저장, 승인자
  • English: Executive Approval, Status Update, CBO Table, Approval History
  • 정의부(복사 시 함께 필요): GT_ROWS, GS_ROWS, BKPF, GT_HEAD, C_C, ZFIT0100, GT_Z0100, LT_Z0100_S
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1815-L1840 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#CONFIRM_DATA_2#C2

FORM REJECT_DATA — ZFIR0050F01 L1849-L1917 (69줄)

선택한 임시전표를 검증·확인 팝업 후 반려 상태(R)로 바꾸고 반려자·시각을 ZFIT0100에 저장하는 FORM이다.

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

[validation] ALV 선택행을 읽어 선택 건이 모두 임시전표(BSTAT V/W)인지 확인하고 아니면 오류 메시지 후 중단하며, 반려사유(RJTXT) 필수 체크 코드가 있으나 EXIT 뒤에 있어 실행되지 않는다.

  1860|   CALL METHOD GV_ALV_GRID1->GET_SELECTED_ROWS
  1861|     IMPORTING
  1862|       ET_INDEX_ROWS = GT_ROWS[].
  1863| 
  1864|   IF GT_ROWS[] IS INITIAL.
  1865|     MESSAGE S004.  "선택된 데이터가 없습니다.
  1866|     EXIT.
  1867|   ELSE.
  1868| *   선택된 데이터의 상태가 임시전표인지 확인
  1869|     CLEAR: LV_CNT, LV_CHK, GF_CHECK, GV_TEXT.
  1870|     LOOP AT GT_ROWS INTO GS_ROWS.
  1871|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1872|       CHECK SY-SUBRC EQ 0.
  1873|       IF GT_HEAD-BSTAT EQ C_V OR GT_HEAD-BSTAT EQ C_W.
  1874|         LV_CNT = LV_CNT + 1.
  1875|       ELSE.
  1876|         MESSAGE I000 WITH TEXT-001.
  1877|         "선택한 데이터 중 임시전표가 아닌 건이 포함되어 있습니다.
  1878|         GF_CHECK = C_X.
  1879|         EXIT.
  1880| *       반려사유 기입 체크
  1881|         IF GT_HEAD-RJTXT IS INITIAL.
  1882|           MESSAGE I000 WITH TEXT-011.
  1883|           "반려시 반려사유(결재내역)는 필수입력입니다.
  1884|           GF_CHECK = C_X.
  1885|           EXIT.
  1886|         ENDIF.
  1887|       ENDIF.
  1888|     ENDLOOP.
  • EN: Validates that all selected rows are parked documents (BSTAT V/W); the rejection-reason (RJTXT) mandatory check is placed after EXIT and is effectively dead code.
  • 호출(파서): GV_ALV_GRID1->GET_SELECTED_ROWS
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 반려 대상 검증, 임시전표, 반려사유 필수, 선택행
  • English: Parked Document, Rejection Reason, Validation
  • 정의부(복사 시 함께 필요): GV_ALV_GRID1, GT_ROWS, LV_CNT, LV_CHK, GF_CHECK, GV_TEXT, GS_ROWS, BKPF, GT_HEAD, C_V, C_W, C_X
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1860-L1888 · confidence 0.85 · ZFIR0050#ZFIR0050F01#FORM#REJECT_DATA#C1

[control_flow] 선택 건수를 담은 반려 확인 문구를 만들어 CHECK_CONFIRM_STEP 팝업으로 반려 여부를 묻고 '예'가 아니면 중단한다.

  1890|     CHECK GF_CHECK IS INITIAL.
  1891|     CONCATENATE TEXT-002 LV_CNT TEXT-009 INTO GV_TEXT
  1892|                                     SEPARATED BY SPACE.
  1893|     "선택하신 N건의 임시전표를 반려하시겠습니까?
  1894|     PERFORM CHECK_CONFIRM_STEP USING TEXT-010 GV_TEXT SPACE C_N.
  1895|     CHECK GF_ANSWER EQ C_J.
  • EN: Asks the user to confirm rejection of N parked documents via CHECK_CONFIRM_STEP popup.
  • 호출(파서): CHECK_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 반려 확인
  • English: Confirmation Popup
  • 정의부(복사 시 함께 필요): GF_CHECK, LV_CNT, GV_TEXT, C_N, GF_ANSWER, C_J
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1890-L1895 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#REJECT_DATA#C2

[db_write] 선택 전표의 상태를 반려(C_R, ICON_SYSTEM_UNDO)로 바꿔 GT_HEAD를 갱신하고 반려자·반려시각(CNAME/CTIME/CDATE)을 채워 ZFIT0100에 MODIFY로 결재 이력을 저장한다.

  1897|     LOOP AT GT_ROWS INTO GS_ROWS.
  1898|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1899|       CHECK SY-SUBRC EQ 0.
  1900|       GT_HEAD-SICON   = ICON_SYSTEM_UNDO.
  1901|       GT_HEAD-STATS   = C_R.
  1902|       GT_HEAD-STATS_T = '반려'.
  1903|       MOVE-CORRESPONDING GT_HEAD TO LT_Z0100_S.
  1904|       LT_Z0100_S-CNAME = SY-UNAME.
  1905|       LT_Z0100_S-CTIME = SY-UZEIT.
  1906|       LT_Z0100_S-CDATE = SY-DATUM.
  1907|       APPEND LT_Z0100_S. CLEAR LT_Z0100_S.
  1908| 
  1909|       MODIFY GT_HEAD INDEX GS_ROWS-INDEX.
  1910|     ENDLOOP.
  1911| 
  1912|     IF LT_Z0100_S[] IS NOT INITIAL.
  1913|       MODIFY ZFIT0100 FROM TABLE LT_Z0100_S.
  1914|     ENDIF.
  • EN: Sets the selected parked documents to rejected status in the ALV and persists the rejection with approver name/time into CBO table ZFIT0100.
  • 테이블(파서): read - / write GT_HEAD, ZFIT0100
  • SAP 객체: ZFIT0100
  • 업무 키워드: 반려 처리, 상태 갱신, 결재 이력 저장, 반려자
  • English: Rejection, Status Update, CBO Table, Approval History
  • 정의부(복사 시 함께 필요): GT_ROWS, GS_ROWS, BKPF, GT_HEAD, C_R, ZFIT0100, LT_Z0100_S
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1897-L1914 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#REJECT_DATA#C3

FORM CANCEL_CONFIRM_DATA — ZFIR0050F01 L1923-L2026 (104줄)

승인된 정규전표를 선택해 확인 팝업 후 Z_FI_DOCUMENT_REVERSE로 역분개(승인취소)하고 결과 상태를 GT_HEAD와 ZFIT0100에 반영하는 FORM이다.

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

[validation] ALV 선택행을 읽어 임시전표(BSTAT V/W)가 포함되었거나 이미 역분개(STBLG 존재)된 전표가 있으면 오류 메시지를 띄우고 처리를 중단하며, 정상 건수를 센다.

  1934|   CALL METHOD GV_ALV_GRID1->GET_SELECTED_ROWS
  1935|     IMPORTING
  1936|       ET_INDEX_ROWS = GT_ROWS[].
  1937| 
  1938|   IF GT_ROWS[] IS INITIAL.
  1939|     MESSAGE S004.  "선택된 데이터가 없습니다.
  1940|     EXIT.
  1941|   ELSE.
  1942| *   선택된 데이터의 상태가 임시전표인지 확인
  1943|     CLEAR: LV_CNT, LV_CHK, GF_CHECK, GV_TEXT.
  1944|     LOOP AT GT_ROWS INTO GS_ROWS.
  1945|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1946|       CHECK SY-SUBRC EQ 0.
  1947|       IF GT_HEAD-BSTAT EQ C_V OR GT_HEAD-BSTAT EQ C_W.
  1948|         MESSAGE I000 WITH TEXT-012.
  1949|         "임시전표가 포함되어있습니다.(정규전표만 취소 가능)
  1950|         GF_CHECK = C_X.
  1951|         EXIT.
  1952|       ELSE.
  1953| *       이미 역분개 되었는지 확인
  1954|         IF GT_HEAD-STBLG IS INITIAL.
  1955|           LV_CNT = LV_CNT + 1.
  1956|         ELSE.
  1957|           MESSAGE I000 WITH TEXT-013.
  1958|           "이미 승인취소된 전표가 포함되어 있습니다.
  1959|           GF_CHECK = C_X.
  1960|           EXIT.
  1961|         ENDIF.
  1962|       ENDIF.
  1963|     ENDLOOP.
  • EN: Validates the selected rows: rejects parked documents (BSTAT V/W) and already reversed documents (STBLG filled), counting eligible posted documents for reversal.
  • 호출(파서): GV_ALV_GRID1->GET_SELECTED_ROWS
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 승인취소, 역분개 대상 검증, 임시전표 제외, 이미 역분개
  • English: Reversal, Parked Document, Reversal Document STBLG, Validation
  • 정의부(복사 시 함께 필요): GV_ALV_GRID1, GT_ROWS, LV_CNT, LV_CHK, GF_CHECK, GV_TEXT, GS_ROWS, BKPF, GT_HEAD, C_V, C_W, C_X
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1934-L1963 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#CANCEL_CONFIRM_DATA#C1

[control_flow] 선택 건수를 담은 확인 문구를 만들어 CHECK_CONFIRM_STEP 팝업으로 승인취소(역분개) 실행 여부를 묻고 '예'가 아니면 중단한다.

  1965|     CHECK GF_CHECK IS INITIAL.
  1966|     CONCATENATE TEXT-002 LV_CNT TEXT-014 INTO GV_TEXT
  1967|                                     SEPARATED BY SPACE.
  1968|     "선택하신 N건의 승인취소(역분개)를 실행하시겠습니까?
  1969|     PERFORM CHECK_CONFIRM_STEP USING TEXT-010 GV_TEXT SPACE C_N.
  1970|     CHECK GF_ANSWER EQ C_J.
  • EN: Builds a confirmation text with the count and asks the user via CHECK_CONFIRM_STEP popup whether to execute the reversal.
  • 호출(파서): CHECK_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 승인취소 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM
  • 정의부(복사 시 함께 필요): GF_CHECK, LV_CNT, GV_TEXT, C_N, GF_ANSWER, C_J
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1965-L1970 · confidence 0.8 · ZFIR0050#ZFIR0050F01#FORM#CANCEL_CONFIRM_DATA#C2

[fm_call] 선택 전표마다 Z_FI_DOCUMENT_REVERSE(역분개 사유 03)를 호출해 역분개 전표번호(STBLG/STJAH)를 받고, 성공/오류에 따라 상태 아이콘·STATS(D 승인취소/E 오류)를 GT_HEAD에 갱신한 뒤 ZFIT0100에 상태·역분개 정보·변경자를 MODIFY한다.

  1972|     LOOP AT GT_ROWS INTO GS_ROWS.
  1973|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  1974|       CHECK SY-SUBRC EQ 0.
  1975| *     역분개
  1976|       CALL FUNCTION 'Z_FI_DOCUMENT_REVERSE'
  1977|         EXPORTING
  1978|           I_BUKRS   = P_BUKRS
  1979|           I_BELNR   = GT_HEAD-BELNR
  1980|           I_GJAHR   = GT_HEAD-GJAHR
  1981|           I_STGRD   = '03'
  1982|           I_MESSAGE = SPACE
  1983|         IMPORTING
  1984|           E_STBLG   = GT_HEAD-STBLG
  1985|           E_STJAH   = GT_HEAD-STJAH
  1986|           E_NATXT   = LV_NATXT
  1987|         TABLES
  1988|           T_MSG     = LT_MSG.
  1989| 
  1990|       IF GT_HEAD-STBLG EQ SPACE.
  1991|         GT_HEAD-SICON   = ICON_RED_LIGHT.
  1992|         GT_HEAD-ERMSG   = LV_NATXT.
  1993|         GT_HEAD-STATS   = C_E.
  1994|         GT_HEAD-STATS_T = '오류'.
  1995|       ELSE.
  1996|         GT_HEAD-SICON   = ICON_STATUS_OVERVIEW.
  1997|         GT_HEAD-STATS   = C_D.
  1998|         GT_HEAD-STATS_T = '승인취소'.
  1999|       ENDIF.
  2000|       MODIFY GT_HEAD INDEX GS_ROWS-INDEX.
  2001| 
  2002|       READ TABLE GT_Z0100 WITH KEY BELNR = GT_HEAD-BELNR
  2003|                                    GJAHR = GT_HEAD-GJAHR.
  2004|       IF SY-SUBRC EQ 0.
  2005|         MOVE GT_Z0100 TO LT_Z0100_S.
  2006|         LT_Z0100_S-STATS = GT_HEAD-STATS.
  2007|         LT_Z0100_S-STBLG = GT_HEAD-STBLG.
  2008|         LT_Z0100_S-STJAH = GT_HEAD-STJAH.
  2009|         LT_Z0100_S-RJTXT = GT_HEAD-RJTXT.
  2010|       ELSE.
  2011|         MOVE-CORRESPONDING GT_HEAD TO LT_Z0100_S.
  2012|       ENDIF.
  2013| 
  2014|       LT_Z0100_S-UNAME = SY-UNAME.
  2015|       LT_Z0100_S-UTIME = SY-UZEIT.
  2016|       LT_Z0100_S-UDATE = SY-DATUM.
  2017|       APPEND LT_Z0100_S. CLEAR LT_Z0100_S.
  2018| 
  2019|     ENDLOOP.
  2020| 
  2021|     IF LT_Z0100_S[] IS NOT INITIAL.
  2022|       MODIFY ZFIT0100 FROM TABLE LT_Z0100_S.
  2023|     ENDIF.
  • EN: Reverses each selected FI document via Z_FI_DOCUMENT_REVERSE (reversal reason 03), updates the ALV status (approval cancelled or error) and persists reversal document number and status into ZFIT0100.
  • 테이블(파서): read - / write GT_HEAD, ZFIT0100
  • 호출(파서): Z_FI_DOCUMENT_REVERSE
  • SAP 객체: Z_FI_DOCUMENT_REVERSE, ZFIT0100, ZFIS0030
  • 업무 키워드: 역분개, 승인취소, 역분개 사유, 상태 갱신, 결재 이력 저장
  • English: Document Reversal, Reversal Reason, Status Update, CBO Table
  • 정의부(복사 시 함께 필요): GT_ROWS, GS_ROWS, BKPF, GT_HEAD, P_BUKRS, LV_NATXT, LT_MSG, C_E, C_D, ZFIT0100, GT_Z0100, LT_Z0100_S
  • 위치: abap://ZFIR0050/ZFIR0050F01#L1972-L2023 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#CANCEL_CONFIRM_DATA#C3

FORM DISPLAY_PROCESSING_DATA — ZFIR0050F01 L2032-L2138 (107줄)

ALV에서 선택한 결재중/승인 상태의 임시전표 1건에 대해 인터페이스 로그(ZIFT0010)를 남기고 RFC Z_FI_CONFIRM_DISPLAY로 전자결재 문서 URL을 받아 브라우저로 여는 FORM이다.

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

[validation] ALV 선택행을 가져와 미선택·복수선택을 막고, 선택 전표의 상태가 결재중(C_I) 또는 승인(C_A)이며 전자결재 고유ID(UNQID)가 있는지 검증한다.

  2043|   CALL METHOD GV_ALV_GRID1->GET_SELECTED_ROWS
  2044|     IMPORTING
  2045|       ET_INDEX_ROWS = GT_ROWS[].
  2046| 
  2047|   IF GT_ROWS[] IS INITIAL.
  2048|     MESSAGE S004.  "선택된 데이터가 없습니다.
  2049|     EXIT.
  2050|   ELSE.
  2051|     CLEAR: LV_CNT.
  2052| *   문서조회는 한건씩
  2053|     DESCRIBE TABLE GT_ROWS LINES LV_CNT.
  2054| 
  2055|     IF LV_CNT GT 1.
  2056|       MESSAGE S000 WITH '문서조회는 한건씩 조회 가능합니다'
  2057|       DISPLAY LIKE C_E.
  2058|       EXIT.
  2059|     ENDIF.
  2060| 
  2061|     LOOP AT GT_ROWS INTO GS_ROWS.
  2062|       READ TABLE GT_HEAD INDEX GS_ROWS-INDEX.
  2063|       CHECK SY-SUBRC EQ 0.
  2064| *     문서조회는 결제중/승인  것만 가능
  2065|       IF GT_HEAD-STATS EQ C_I OR GT_HEAD-STATS EQ C_A.
  2066|       ELSE.
  2067|         MESSAGE S000 WITH '결재중 또는 승인데이터만 조회가능합니다.'
  2068|         DISPLAY LIKE C_E.
  2069|         EXIT.
  2070|       ENDIF.
  2071| 
  2072|       IF GT_HEAD-UNQID IS INITIAL.
  2073|         MESSAGE S000 WITH '해당 데이터의 문서조회를 할 수 없습니다.'
  2074|         DISPLAY LIKE C_E.
  2075|         EXIT.
  2076|       ENDIF.
  • EN: Reads selected ALV rows and validates that exactly one parked document with status in-approval/approved and a non-empty approval unique ID (UNQID) is chosen.
  • 호출(파서): GV_ALV_GRID1->GET_SELECTED_ROWS
  • SAP 객체: CL_GUI_ALV_GRID
  • 업무 키워드: 선택행 검증, 결재중, 승인, 문서조회, 단건 조회
  • English: ALV Selected Rows, Validation, Approval Status
  • 정의부(복사 시 함께 필요): GV_ALV_GRID1, GT_ROWS, LV_CNT, C_E, GS_ROWS, BKPF, GT_HEAD, C_I, C_A
  • 위치: abap://ZFIR0050/ZFIR0050F01#L2043-L2076 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_PROCESSING_DATA#C1

[db_write] ZIFT0010에서 해당 UNQID의 최대 SEQ를 조회해 +1한 순번으로 호스트·프로그램·요청자·시간을 담은 인터페이스 공통로그를 MODIFY하고 LT_CMLOG에도 적재한다.

  2078|       SELECT MAX( SEQ )
  2079|         INTO LV_MAX
  2080|         FROM ZIFT0010
  2081|        WHERE UNQID EQ GT_HEAD-UNQID.
  2082| 
  2083|       CLEAR ZIFT0010.
  2084|       ZIFT0010-UNQID = GT_HEAD-UNQID.
  2085|       ZIFT0010-SEQ   = LV_MAX + 1.
  2086|       ZIFT0010-HOST  = SY-HOST.
  2087|       ZIFT0010-PGMID = SY-REPID.
  2088|       ZIFT0010-REQID = GV_SABUN.
  2089|       ZIFT0010-REQTM = SY-UZEIT.
  2090| *     CBO TABLE 저장
  2091|       ZIFT0010-MODUL = 'FI'.
  2092|       MODIFY ZIFT0010.
  2093|       MOVE-CORRESPONDING ZIFT0010 TO LT_CMLOG.
  2094|       APPEND LT_CMLOG.
  • EN: Determines the next sequence for the approval unique ID in ZIFT0010 and writes an interface common log record (host, program, requester, time, module FI).
  • 테이블(파서): read ZIFT0010 / write ZIFT0010
  • SAP 객체: ZIFT0010, ZIFS0010
  • 업무 키워드: 인터페이스 로그, 공통로그, 순번 채번, 전자결재
  • English: Interface Log, Sequence Number, CBO Table
  • 정의부(복사 시 함께 필요): LV_MAX, ZIFT0010, BKPF, GT_HEAD, GV_SABUN, LT_CMLOG
  • 위치: abap://ZFIR0050/ZFIR0050F01#L2078-L2094 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_PROCESSING_DATA#C2

[fm_call] RFC 목적지 ZFI01의 Z_FI_CONFIRM_DISPLAY를 호출해 전자결재 문서 URL을 받고, URL이 있으면 CALL_BROWSER로 웹 브라우저를 띄우며 실패 시 오류 메시지를 표시한다.

  2098|       CALL FUNCTION 'Z_FI_CONFIRM_DISPLAY'
  2099|         DESTINATION 'ZFI01'
  2100|         EXPORTING
  2101|           I_UNQID                     = GT_HEAD-UNQID
  2102|         IMPORTING
  2103|           E_STATS                     = LV_STATS
  2104|           E_MESSG                     = LV_MESSG
  2105|           E_URL                       = LV_URL
  2106|         TABLES
  2107|           IT_CMLOG                    = LT_CMLOG
  2108|         EXCEPTIONS
  2109|           SYSTEM_FAILURE              = 1
  2110|           COMMUNICATION_FAILURE       = 2
  2111|           OTHERS                      = 3.
  2112| 
  2113|       IF LV_URL EQ SPACE.
  2114|         MESSAGE S000 WITH '문서조회할 URL 주소가 없습니다.'
  2115|         DISPLAY LIKE C_E.
  2116|         EXIT.
  2117|       ELSE.
  2118| *       브라우져 호출
  2119|         CALL FUNCTION 'CALL_BROWSER'
  2120|           EXPORTING
  2121|             URL                    = LV_URL
  2122|           EXCEPTIONS
  2123|             FRONTEND_NOT_SUPPORTED = 1
  2124|             FRONTEND_ERROR         = 2
  2125|             PROG_NOT_FOUND         = 3
  2126|             NO_BATCH               = 4
  2127|             UNSPECIFIED_ERROR      = 5
  2128|             OTHERS                 = 6.
  2129|         IF SY-SUBRC NE 0.
  2130|           MESSAGE S000 WITH '웹 브라우저 호출 시 에러가 발생하였습니다.'
  2131|           DISPLAY LIKE C_E.
  2132|           EXIT.
  2133|         ENDIF.
  2134|       ENDIF.
  • EN: Calls RFC Z_FI_CONFIRM_DISPLAY (destination ZFI01) to obtain the e-approval document URL and opens it with CALL_BROWSER, reporting errors when no URL or browser failure.
  • 호출(파서): Z_FI_CONFIRM_DISPLAY, CALL_BROWSER
  • SAP 객체: Z_FI_CONFIRM_DISPLAY, CALL_BROWSER, ZFI01
  • 업무 키워드: 전자결재, 문서조회, RFC 호출, 브라우저 호출, URL
  • English: RFC Destination, E-Approval, CALL_BROWSER, Interface
  • 정의부(복사 시 함께 필요): BKPF, GT_HEAD, LV_STATS, LV_MESSG, LV_URL, LT_CMLOG, C_E
  • 위치: abap://ZFIR0050/ZFIR0050F01#L2098-L2134 · confidence 0.9 · ZFIR0050#ZFIR0050F01#FORM#DISPLAY_PROCESSING_DATA#C3

MODULE USER_COMMAND_0100 INPUT — ZFIR0050I01 L9-L38 (30줄)

화면 0100 PAI에서 사용자 명령(삭제·결재상신·문서조회·팀장승인·임원승인·반려·승인취소·새로고침)에 따라 해당 처리 FORM으로 분기하는 디스패처 모듈이다.

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

[control_flow] SY-UCOMM 값에 따라 임시전표 삭제(DEL)·결재상신(PRC)·문서조회(DIS)·팀장승인(CON)·임원승인(CON2)·반려(REJ)·승인취소(RVS)·새로고침(RFSH) 처리 FORM을 PERFORM으로 분기 호출한다.

    11|   GV_UCOMM = SY-UCOMM.
    12|   CASE GV_UCOMM.
    13| *   임시전표 삭제
    14|     WHEN 'DEL'.
    15|       PERFORM DELETE_DATA.
    16| *   결재상신
    17|     WHEN 'PRC'.
    18|       PERFORM PROCESSING_DATA.
    19| *   문서조회
    20|     WHEN 'DIS'.
    21|       PERFORM DISPLAY_PROCESSING_DATA.
    22| *   팀장승인
    23|     WHEN 'CON'.
    24|       PERFORM CONFIRM_DATA.
    25| *   임원승인
    26|     WHEN 'CON2'.
    27|       PERFORM CONFIRM_DATA_2.
    28| *   반려
    29|     WHEN 'REJ'.
    30|       PERFORM REJECT_DATA.
    31| *   승인취소
    32|     WHEN 'RVS'.
    33|       PERFORM CANCEL_CONFIRM_DATA.
    34| *   새로고침
    35|     WHEN 'RFSH'.
    36|       PERFORM GET_DATA.
    37|   ENDCASE.
  • EN: Dispatches the OK-code of screen 0100 to the parked document workflow actions (delete, submit for approval, display, team-leader approve, executive approve, reject, cancel approval, refresh).
  • 호출(파서): DELETE_DATA, PROCESSING_DATA, DISPLAY_PROCESSING_DATA, CONFIRM_DATA, CONFIRM_DATA_2, REJECT_DATA, CANCEL_CONFIRM_DATA, GET_DATA
  • SAP 객체: ZFIT0100
  • 업무 키워드: 임시전표, 결재상신, 팀장승인, 임원승인, 반려, 승인취소, 사용자명령
  • English: Parked Document, Approval Workflow, User Command, PAI
  • 정의부(복사 시 함께 필요): GV_UCOMM
  • 위치: abap://ZFIR0050/ZFIR0050I01#L11-L37 · confidence 0.9 · ZFIR0050#ZFIR0050I01#MODULE#USER_COMMAND_0100_INPUT#C1

정의부 (380건)

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

ZFIALV (76건)

SLIS — type-pool · L7-L7

TYPE-POOLS : SLIS.

LCL_EVENT_RECEIVER — class · L10-L20

CLASS LCL_EVENT_RECEIVER DEFINITION.

  PUBLIC SECTION.
    METHODS :
    HANDLE_CLOSE
        FOR EVENT CLOSE OF CL_GUI_DIALOGBOX_CONTAINER
            IMPORTING SENDER.
  PRIVATE SECTION.
*   'X': does exist, SPACE: does not ex.
    DATA : DIALOGBOX_STATUS TYPE C.
ENDCLASS.                    "lcl_event_receiver DEFINITION

GT_FIELDCAT — data · L37-L37

DATA : GT_FIELDCAT         TYPE SLIS_T_FIELDCAT_ALV.  " WA

GT_FIELDCAT_HEAD — data · L38-L38

DATA:
       GT_FIELDCAT_HEAD    TYPE SLIS_T_FIELDCAT_ALV.  " HEAD

GT_FIELDCAT_ITEM — data · L39-L39

DATA:
       GT_FIELDCAT_ITEM    TYPE SLIS_T_FIELDCAT_ALV.  " ITEM

GT_FIELDCAT_FIELD — data · L40-L40

DATA:
       GT_FIELDCAT_FIELD   TYPE SLIS_T_FIELDCAT_ALV.

GT_DROP — data · L41-L41

DATA:
       GT_DROP             TYPE LVC_T_DROP.  " Drop-down

GT_DRAL — data · L42-L42

DATA:
       GT_DRAL             TYPE LVC_T_DRAL.

GT_SORTINFO — data · L43-L43

DATA:
       GT_SORTINFO         TYPE SLIS_T_SORTINFO_ALV.  " SORT

GT_EVENT — data · L44-L44

DATA:
       GT_EVENT            TYPE SLIS_T_EVENT.  " EVENT

GT_PRINT — data · L45-L45

DATA:
       GT_PRINT            TYPE SLIS_PRINT_ALV.  " PRINT

GT_LISTHEADER — data · L46-L46

DATA:
       GT_LISTHEADER       TYPE SLIS_T_LISTHEADER.  " TITLE

GT_CELLTAB — data · L47-L47

DATA:
       GT_CELLTAB          TYPE LVC_T_STYL.

GT_COLOR — data · L48-L48

DATA:
       GT_COLOR            TYPE LVC_T_SCOL.

GT_COLINFO — data · L49-L49

DATA:
       GT_COLINFO          TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.

GS_FIELDCAT_HEAD — data · L51-L51

DATA : GS_FIELDCAT_HEAD    TYPE SLIS_FIELDCAT_ALV.  " HEAD

GS_FIELDCAT_ITEM — data · L52-L52

DATA:
       GS_FIELDCAT_ITEM    TYPE SLIS_FIELDCAT_ALV.  " ITEM

GS_DROP — data · L53-L53

DATA:
       GS_DROP             TYPE LVC_S_DROP.  " Drop-down

GS_DRAL — data · L54-L54

DATA:
       GS_DRAL             TYPE LVC_S_DRAL.

GS_SORTINFO — data · L55-L55

DATA:
       GS_SORTINFO         TYPE SLIS_SORTINFO_ALV.  " SORT

GS_EVENT — data · L56-L56

DATA:
       GS_EVENT            LIKE LINE OF GT_EVENT.  " EVENT

GS_VARIANT — data · L57-L57

DATA:
       GS_VARIANT          LIKE DISVARIANT.  " Layout

GS_DEF_VARIANT — data · L58-L58

DATA:
       GS_DEF_VARIANT      LIKE DISVARIANT.  " Default Layout

GS_LAYOUT — data · L59-L59

DATA:
       GS_LAYOUT           TYPE SLIS_LAYOUT_ALV.  " Layout

GS_EXIT_BY_USER — data · L60-L60

DATA:
       GS_EXIT_BY_USER     TYPE SLIS_EXIT_BY_USER.

GS_LISTHEADER — data · L61-L61

DATA:
       GS_LISTHEADER       TYPE SLIS_LISTHEADER.  " TITLE

GS_KEYINFO — data · L62-L62

DATA:
       GS_KEYINFO          TYPE SLIS_KEYINFO_ALV.

GS_CELLTAB — data · L63-L63

DATA:
       GS_CELLTAB          TYPE LVC_S_STYL.

GS_COLOR — data · L64-L64

DATA:
       GS_COLOR            TYPE LVC_S_SCOL.

GS_GRIDSET — data · L65-L65

DATA:
       GS_GRIDSET          TYPE LVC_S_GLAY.  " GRID SETTING

GV_REPID — data · L67-L67

DATA : GV_REPID            TYPE SY-REPID.  " Program-ID.

GV_PROGRAM — data · L68-L68

DATA:
       GV_PROGRAM          LIKE SY-REPID.  " Program-ID

GV_INCLNAME — data · L69-L69

DATA:
       GV_INCLNAME         LIKE SY-REPID.

GV_GRID_TITLE — data · L70-L70

DATA:
       GV_GRID_TITLE       TYPE LVC_TITLE.  " GRID TITLE

GV_VARIANT_EXIT — data · L71-L71

DATA:
       GV_VARIANT_EXIT(1)  TYPE C.

GV_SAVE — data · L72-L72

DATA:
       GV_SAVE(1)          TYPE C.

GV_TABNAME_HEAD — data · L73-L73

DATA:
       GV_TABNAME_HEAD     TYPE SLIS_TABNAME.

GV_TABNAME_ITEM — data · L74-L74

DATA:
       GV_TABNAME_ITEM     TYPE SLIS_TABNAME.

GV_PF_STATUS — data · L75-L75

DATA:
       GV_PF_STATUS        TYPE SLIS_FORMNAME VALUE 'SET_STATUS'.

GV_USER_COMMAND — data · L76-L76

DATA:
       GV_USER_COMMAND     TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

GV_DATA_CHANGED — data · L77-L77

DATA:
       GV_DATA_CHANGED     TYPE SLIS_FORMNAME VALUE 'ALV_DATA_CHANGED'.

GV_TOP_OF_PAGE — data · L78-L78

DATA:
       GV_TOP_OF_PAGE      TYPE SLIS_FORMNAME.

GV_F2CODE — data · L79-L79

DATA:
       GV_F2CODE           LIKE SY-UCOMM VALUE 'PICK'.

GT_FCAT_HEAD — data · L81-L81

DATA : GT_FCAT_HEAD        TYPE LVC_T_FCAT.

GT_FCAT_ITEM — data · L82-L82

DATA:
       GT_FCAT_ITEM        TYPE LVC_T_FCAT.

GS_FCAT_HEAD — data · L83-L83

DATA:
       GS_FCAT_HEAD        TYPE LVC_S_FCAT.

GS_FCAT_ITEM — data · L84-L84

DATA:
       GS_FCAT_ITEM        TYPE LVC_S_FCAT.

GS_LAYOUT_ON — data · L85-L85

DATA:
       GS_LAYOUT_ON        TYPE LVC_S_LAYO.  " ALV_LAYOUT

GT_SORT — data · L86-L86

DATA:
       GT_SORT             TYPE LVC_T_SORT.  " Sort

GS_SORT — data · L87-L87

DATA:
       GS_SORT             TYPE LVC_S_SORT.  " Sort

GT_F4 — data · L88-L88

DATA:
       GT_F4               TYPE LVC_T_F4.

GS_F4 — data · L89-L89

DATA:
       GS_F4               TYPE LVC_S_F4.  " F4

GS_ROW_ID — data · L90-L90

DATA:
       GS_ROW_ID           TYPE LVC_S_ROW.  " Cursor

GS_COLUMN_ID — data · L91-L91

DATA:
       GS_COLUMN_ID        TYPE LVC_S_COL.

GT_EXCLUDING — data · L93-L93

DATA : GT_EXCLUDING    TYPE SLIS_T_EXTAB.

GT_EVENT_EXIT — data · L94-L94

DATA:
       GT_EVENT_EXIT   TYPE SLIS_T_EVENT_EXIT.

GV_TOOLBAR — data · L96-L96

DATA : GV_TOOLBAR           TYPE REF TO CL_GUI_TOOLBAR.

GV_TOP_NODE — data · L97-L97

DATA:
       GV_TOP_NODE          TYPE LVC_NKEY.

GV_ALV_TREE — data · L98-L98

DATA:
       GV_ALV_TREE          TYPE REF TO CL_GUI_ALV_TREE.

GV_ALV_ITEM — data · L99-L99

DATA:
       GV_ALV_ITEM          TYPE REF TO CL_GUI_ALV_GRID.

GT_ROW — data · L100-L100

DATA:
       GT_ROW               TYPE LVC_T_ROW.  " SELLECTION INDEX

GT_ROID — data · L101-L101

DATA:
       GT_ROID              TYPE LVC_T_ROID.

GT_EXCLUDE — data · L102-L102

DATA:
       GT_EXCLUDE           TYPE UI_FUNCTIONS.

GS_EXCLUDE — data · L103-L103

DATA:
       GS_EXCLUDE           TYPE UI_FUNC.

DC_GRID — data · L105-L105

DATA : DC_GRID              TYPE REF TO CL_GUI_DOCKING_CONTAINER.

CC_GRID — data · L106-L106

DATA:
       CC_GRID              TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

CC_GRID2 — data · L107-L107

DATA:
       CC_GRID2             TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

CC_DIALOG — data · L108-L108

DATA:
       CC_DIALOG            TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER.

GV_EVENT_RECEIVER — data · L109-L109

DATA:
       GV_EVENT_RECEIVER    TYPE REF TO LCL_EVENT_RECEIVER.

GT_UCOMM — data · L111-L111

DATA : GT_UCOMM             TYPE TABLE OF SY-UCOMM. "버튼제어

C_BDC01 — constants · L115-L115

CONSTANTS : C_BDC01(9) TYPE C       VALUE 'Sequence'.

C_BDC02 — constants · L116-L116

CONSTANTS:
            C_BDC02(9) TYPE C       VALUE 'Field'.

C_BDC03 — constants · L117-L117

CONSTANTS:
            C_BDC03(9) TYPE C       VALUE 'Type'.

C_BDC04 — constants · L118-L118

CONSTANTS:
            C_BDC04(9) TYPE C       VALUE 'Length'.

C_BDC05 — constants · L119-L119

CONSTANTS:
            C_BDC05(9) TYPE C       VALUE 'Required'.

C_BDC06 — constants · L120-L120

CONSTANTS:
            C_BDC06(9) TYPE C       VALUE 'Example'.

ZFICOM (201건)

ICON — type-pool · L7-L7

TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.

KCDE — type-pool · L7-L7

TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.

SHLP — type-pool · L7-L7

TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.

TPIT — type-pool · L7-L7

TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.

VRM — type-pool · L7-L7

TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.

T001 — tables · L11-L11

TABLES : T001.  " Company Codes

T005 — tables · L12-L12

TABLES:
         T005.  " Land

BKPF — tables · L13-L13

TABLES:
         BKPF.  " Accounting Document Heade

BSEG — tables · L14-L14

TABLES:
         BSEG.  " Accounting Document Segment

BSID — tables · L15-L15

TABLES:
         BSID.  " Accounting: Secondary Index for Customers

BSAD — tables · L16-L16

TABLES:
         BSAD.  " Accounting: Secondary Index for Customers

BSIK — tables · L18-L18

TABLES:
         BSIK.  " Accounting: Secondary Index for Vendors

BSAK — tables · L19-L19

TABLES:
         BSAK.  " Accounting: Secondary Index for Vendors

BSIS — tables · L21-L21

TABLES:
         BSIS.  " Accounting: Secondary Index for G/L Accounts

BSAS — tables · L22-L22

TABLES:
         BSAS.  " Accounting: Secondary Index for G/L Accounts

BSEC — tables · L24-L24

TABLES:
         BSEC.  " One-Time Account Data Document Segment

BSET — tables · L25-L25

TABLES:
         BSET.  " Tax Data Document Segment

BSED — tables · L26-L26

TABLES:
         BSED.  " n  Bill of Exchange Fields Docume

VBKPF — tables · L27-L27

TABLES:
         VBKPF.  " Document Header for Document Parking

VBSEGS — tables · L28-L28

TABLES:
         VBSEGS.  " Document Segment for Document Parking

VBSEGD — tables · L30-L30

TABLES:
         VBSEGD.  " Document Segment for Customer Document Parking

VBSEGK — tables · L31-L31

TABLES:
         VBSEGK.  " Document Segment for Vendor Document Parking

VBSET — tables · L32-L32

TABLES:
         VBSET.  " Document Segment for Taxes Document Parking

VBSEC — tables · L33-L33

TABLES:
         VBSEC.  " Document Parking One-Time Data Document Segment

SKA1 — tables · L34-L34

TABLES:
         SKA1.  " G/L Account Master (Chart of Accounts)

SKB1 — tables · L35-L35

TABLES:
         SKB1.  " G/L account master (company code)

LFA1 — tables · L36-L36

TABLES:
         LFA1.  " Vendor Master (General Section)

LFB1 — tables · L37-L37

TABLES:
         LFB1.  " Vendor Master (Company Code)

KNA1 — tables · L38-L38

TABLES:
         KNA1.  " General Data in Customer Master

KNB1 — tables · L39-L39

TABLES:
         KNB1.  " Customer Master (Company Code)

ADRC — tables · L40-L40

TABLES:
         ADRC.  " Addresses (Business Address Services)

USR01 — tables · L41-L41

TABLES:
         USR01.  " User master record (runtime data)

USR05 — tables · L42-L42

TABLES:
         USR05.  " User Master Parameter ID

USR21 — tables · L43-L43

TABLES:
         USR21.  " Assign user name address key

ZFIT0160 — tables · L45-L45

TABLES:
         ZFIT0160.  " FI 권한 관리 테이블

CTU_PARAMS — tables · L48-L48

TABLES : CTU_PARAMS.  "CALL TRANSACTION USING...

GT_SQL — data · L54-L54

DATA : GT_SQL(72) OCCURS 0 WITH HEADER LINE.

GT_FIELD — data · L56-L56

DATA : GT_FIELD LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.

GV_FIELD — data · L57-L57

DATA:
       GV_FIELD LIKE HELP_INFO-FIELDNAME.

GV_VALUE — data · L58-L58

DATA:
       GV_VALUE LIKE HELP_INFO-FLDVALUE.

GV_TABIX — data · L59-L59

DATA:
       GV_TABIX LIKE SY-TABIX.

GT_SHLP — data · L61-L61

DATA : GT_SHLP      TYPE SHLP_DESCR_T.

GT_DYNFIELDS — data · L63-L63

DATA : GT_DYNFIELDS LIKE DYNPREAD   OCCURS 0 WITH HEADER LINE.

GT_RETVALUES — data · L64-L64

DATA:
       GT_RETVALUES LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.

GT_RECEIVE — data · L65-L65

DATA:
       GT_RECEIVE   LIKE DYNPREAD   OCCURS 0 WITH HEADER LINE.

GT_EXCODE — data · L66-L66

DATA:
       GT_EXCODE    TYPE TABLE OF SY-UCOMM.  " Button Control

GV_DBCNT — data · L68-L68

DATA : GV_DBCNT LIKE SY-DBCNT.  " Inquiry count

GV_TFILL — data · L69-L69

DATA:
       GV_TFILL LIKE SY-TFILL.  " Current number of lines

GV_SUBRC — data · L70-L70

DATA:
       GV_SUBRC LIKE SY-SUBRC.  " Return Value

GV_UCOMM — data · L71-L71

DATA:
       GV_UCOMM LIKE SY-UCOMM.  " Function Code

GV_TITLE — data · L72-L72

DATA:
       GV_TITLE LIKE SY-TITLE.  " Title

GV_DATUM — data · L73-L73

DATA:
       GV_DATUM LIKE SY-DATUM.  " Date

GV_TYPE — data · L74-L74

DATA:
       GV_TYPE  LIKE DD01V-DATATYPE.  " Num/Char Flag

GV_SEQNO — data · L75-L75

DATA:
       GV_SEQNO(3) TYPE N.  " Seqence No

GV_CURSOR_FIELD — data · L76-L76

DATA:
       GV_CURSOR_FIELD(30).  " CURSOR FIELD

GV_CURSOR_LINE — data · L77-L77

DATA:
       GV_CURSOR_LINE LIKE SY-LILLI.  " CURSOR LINE

GV_10_D — data · L79-L79

DATA : GV_10_D(16) TYPE P DECIMALS 0.

GV_TABIN — data · L81-L81

DATA : GV_TABIN(06).  " total count

GV_INDEX — data · L82-L82

DATA:
       GV_INDEX(06).  " progress count

GV_KBETR — data · L83-L83

DATA:
       GV_KBETR(05).  " progress percent

GV_INDIC — data · L84-L84

DATA:
       GV_INDIC(80).  " progress status

GV_TEXT — data · L85-L85

DATA:
       GV_TEXT(100).

GF_CHECK — data · L87-L87

DATA : GF_CHECK(1).  " Input Check

GF_MARK — data · L88-L88

DATA:
       GF_MARK(1).  " Select Flag

GF_LOCK — data · L89-L89

DATA:
       GF_LOCK(1).  " Lock Flag

GF_ANSWER — data · L90-L90

DATA:
       GF_ANSWER(1).  " MessageBox Return Value

GF_COLOR — data · L91-L91

DATA:
       GF_COLOR(1).  " LINE COLOR

GV_NAME — data · L94-L94

DATA : GV_NAME  TYPE VRM_ID.

GT_LIST — data · L95-L95

DATA:
       GT_LIST  TYPE VRM_VALUES.

GS_VALUE — data · L96-L96

DATA:
       GS_VALUE LIKE LINE OF GT_LIST.

GV_FNAME — data · L98-L98

DATA : GV_FNAME   TYPE RS38L_FNAM.

GS_OPTIONS — data · L99-L99

DATA:
       GS_OPTIONS TYPE SSFCOMPOP.

GS_DEVICE — data · L100-L100

DATA:
       GS_DEVICE  TYPE SSFCTRLOP.

GV_TDDEST — data · L101-L101

DATA:
       GV_TDDEST  LIKE GS_OPTIONS-TDDEST VALUE 'LOCL'.

GS_JOB_OUTPUT_INFO — data · L102-L102

DATA:
       GS_JOB_OUTPUT_INFO TYPE SSFCRESCL.

GV_BELNR — data · L104-L104

DATA : GV_BELNR  LIKE BKPF-BELNR.

GV_BUKRS — data · L105-L105

DATA:
       GV_BUKRS  LIKE BKPF-BUKRS.

GV_GJAHR — data · L106-L106

DATA:
       GV_GJAHR  LIKE BKPF-GJAHR.

GV_BUZEI — data · L107-L107

DATA:
       GV_BUZEI  LIKE BSEG-BUZEI.

GT_BBKPF — data · L108-L108

DATA : GT_BBKPF  LIKE BBKPF OCCURS 0 WITH HEADER LINE.

GT_BBSEG — data · L109-L109

DATA:
       GT_BBSEG  LIKE BBSEG OCCURS 0 WITH HEADER LINE.

GT_BBTAX — data · L110-L110

DATA:
       GT_BBTAX  LIKE BBTAX OCCURS 0 WITH HEADER LINE.

GT_BWITH — data · L111-L111

DATA:
       GT_BWITH  LIKE BWITH OCCURS 0 WITH HEADER LINE.

GT_BSELK — data · L112-L112

DATA:
       GT_BSELK  LIKE BSELK OCCURS 0 WITH HEADER LINE.

GT_BSELP — data · L113-L113

DATA:
       GT_BSELP  LIKE BSELP OCCURS 0 WITH HEADER LINE.

GT_FIMSG — data · L115-L115

DATA:
       GT_FIMSG  LIKE FIMSG OCCURS 0 WITH HEADER LINE.

GT_ACCCHG — data · L117-L117

DATA : GT_ACCCHG LIKE ACCCHG OCCURS 0 WITH HEADER LINE.

GS_ACCPMBLK — data · L119-L119

DATA : GS_ACCPMBLK LIKE ACCPMBLK.

GT_ROWS — data · L121-L121

DATA : GT_ROWS TYPE LVC_T_ROW.  " ALV control: Table rows

GS_ROWS — data · L122-L122

DATA:
       GS_ROWS TYPE LVC_S_ROW.  " ALV control: Line description

GV_ROW_POS — data · L123-L123

DATA:
       GV_ROW_POS TYPE I.

GT_EXTAB — data · L125-L125

DATA : GT_EXTAB LIKE SY-UCOMM OCCURS 0 WITH HEADER LINE.

GS_EMAIL_DATA — data · L127-L129

DATA : BEGIN OF GS_EMAIL_DATA.
        INCLUDE STRUCTURE SODOCCHGI1.
DATA : END OF GS_EMAIL_DATA.

GT_EMAIL — data · L131-L131

DATA : GT_EMAIL LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.

GT_ETEXT — data · L132-L132

DATA:
       GT_ETEXT LIKE SOLISTI1  OCCURS 0 WITH HEADER LINE.

GT_RSPAR — data · L134-L134

DATA : GT_RSPAR LIKE RSPARAMS OCCURS 10 WITH HEADER LINE.

GV_SMTP_ADDR — data · L136-L136

DATA : GV_SMTP_ADDR LIKE ADR6-SMTP_ADDR.

GF_FIRST — data · L138-L138

DATA : GF_FIRST(1) TYPE C.

GF_NEW — data · L139-L139

DATA:
       GF_NEW(1)   TYPE C.

GF_END — data · L140-L140

DATA:
       GF_END(1)   TYPE C.

GF_LAST — data · L141-L141

DATA:
       GF_LAST(1)  TYPE C.

GV_BUK — data · L144-L144

DATA : GV_BUK   LIKE BKPF-BUKRS.  " Company Code

GV_KURST — data · L145-L145

DATA:
       GV_KURST LIKE TCURR-KURST.  " Exchange rate type

GV_KALSM — data · L146-L146

DATA:
       GV_KALSM LIKE T005-KALSM.  " Procedure

GV_KOKRS — data · L147-L147

DATA:
       GV_KOKRS LIKE CSKT-KOKRS.  " Controlling Area

GT_BSE — data · L149-L165

DATA : BEGIN OF GT_BSE OCCURS 0,
         BUKRS_CLR LIKE BSE_CLR-BUKRS_CLR,  "반제전표-회사코드
         BELNR_CLR LIKE BSE_CLR-BELNR_CLR,  "반제전표-전표번호
         GJAHR_CLR LIKE BSE_CLR-GJAHR_CLR,  "반제전표-회계연도
         INDEX_CLR LIKE BSE_CLR-INDEX_CLR,  "반제정보에 대한 일련번호
         WAERS     LIKE BSE_CLR-WAERS,      "통화 키
         CLRIN     LIKE BSE_CLR-CLRIN,      "반제유형
         BUKRS     LIKE BSE_CLR-BUKRS,      "원전표-회사코드
         BELNR     LIKE BSE_CLR-BELNR,      "원전표-전표번호
         GJAHR     LIKE BSE_CLR-GJAHR,      "원전표-회계연도
         BUZEI     LIKE BSE_CLR-BUZEI,      "원전표-개별항목번호
         SHKZG     LIKE BSE_CLR-SHKZG,      "차대변지시자
         DMBTR     LIKE BSE_CLR-DMBTR,      "금액(현지통화)
         DIFHW     LIKE BSE_CLR-DIFHW,      "차액(현지통화)
         WRBTR     LIKE BSE_CLR-WRBTR,      "금액(전표통화)
         DIFFW     LIKE BSE_CLR-DIFFW,      "차약(전표통화)
       END OF GT_BSE.

GT_BDC — data · L168-L170

DATA : BEGIN OF GT_BDC OCCURS 0.
        INCLUDE STRUCTURE BDCDATA.
DATA : END OF GT_BDC.

GT_MESS — data · L172-L172

DATA : GT_MESS LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

GV_MODE — data · L174-L174

DATA : GV_MODE(1) VALUE 'N'.  "BDC MODE

GS_LOG — data · L176-L176

DATA : GS_LOG             TYPE BAL_S_LOG.

GS_LOG_HANDLE — data · L177-L177

DATA:
       GS_LOG_HANDLE      TYPE BALLOGHNDL.

GS_DISPLAY_PROFILE — data · L178-L178

DATA:
       GS_DISPLAY_PROFILE TYPE BAL_S_PROF.

GT_LOG_HANDLE — data · L179-L179

DATA:
       GT_LOG_HANDLE      TYPE BAL_T_LOGH.

GS_MSG — data · L180-L180

DATA:
       GS_MSG             TYPE BAL_S_MSG.

GS_BAL_FCAT — data · L181-L181

DATA:
       GS_BAL_FCAT        TYPE BAL_S_FCAT.

GV_COL_POS — data · L182-L182

DATA:
       GV_COL_POS         TYPE I.

GT_STRUCT — data · L185-L193

DATA : BEGIN OF GT_STRUCT OCCURS 0,
         SEQNO(03),                      "Sequence no
         FNAME(60),                      "Field name
         FTYPE(04),                      "Type
         FLENG(03),                      "Length
         FFLAG(50),                      "Required
         FEXAM(80),                      "Example
*         FNOTE(80),                      "Note
       END OF GT_STRUCT.

C_BUKRS — constants · L198-L198

CONSTANTS:
          C_BUKRS LIKE BKPF-BUKRS   VALUE 'KR01'.  " Company Code

C_WAERS — constants · L199-L199

CONSTANTS:
          C_WAERS LIKE BKPF-WAERS   VALUE 'KRW'.  " Currency Key

C_LANGU — constants · L200-L200

CONSTANTS:
          C_LANGU LIKE SKAT-SPRAS   VALUE '3'.  " Country Key

C_LAND1 — constants · L201-L201

CONSTANTS:
          C_LAND1 LIKE T001-LAND1   VALUE 'KR'.  " Country Key

C_KTOPL — constants · L202-L202

CONSTANTS:
          C_KTOPL LIKE SKAT-KTOPL   VALUE '1000'.  " Chart of Accounts

C_KOKRS — constants · L203-L203

CONSTANTS:
          C_KOKRS LIKE CSKT-KOKRS   VALUE 'KR01'.  " Controlling Area

C_KALSM — constants · L204-L204

CONSTANTS:
          C_KALSM LIKE T007S-KALSM  VALUE 'TAXKR'.  " Procedure

C_KURST — constants · L205-L205

CONSTANTS:
          C_KURST LIKE TCURR-KURST  VALUE 'M'.  " Exchange Rate Type

C_SPRAS — constants · L206-L206

CONSTANTS:
          C_SPRAS LIKE T001-SPRAS   VALUE '3'.  " Language Key

C_PARID — constants · L207-L207

CONSTANTS:
          C_PARID LIKE USR05-PARID  VALUE 'ZSP'.  " 사용자종속언어

C_A — constants · L208-L208

CONSTANTS:
          C_A(1)  TYPE C            VALUE 'A'.

C_B — constants · L209-L209

CONSTANTS:
          C_B(1)  TYPE C            VALUE 'B'.

C_C — constants · L210-L210

CONSTANTS:
          C_C(1)  TYPE C            VALUE 'C'.

C_D — constants · L211-L211

CONSTANTS:
          C_D(1)  TYPE C            VALUE 'D'.

C_E — constants · L212-L212

CONSTANTS:
          C_E(1)  TYPE C            VALUE 'E'.

C_F — constants · L213-L213

CONSTANTS:
          C_F(1)  TYPE C            VALUE 'F'.

C_G — constants · L214-L214

CONSTANTS:
          C_G(1)  TYPE C            VALUE 'G'.

C_H — constants · L215-L215

CONSTANTS:
          C_H(1)  TYPE C            VALUE 'H'.

C_I — constants · L216-L216

CONSTANTS:
          C_I(1)  TYPE C            VALUE 'I'.

C_J — constants · L217-L217

CONSTANTS:
          C_J(1)  TYPE C            VALUE 'J'.

C_K — constants · L218-L218

CONSTANTS:
          C_K(1)  TYPE C            VALUE 'K'.

C_L — constants · L219-L219

CONSTANTS:
          C_L(1)  TYPE C            VALUE 'L'.

C_M — constants · L220-L220

CONSTANTS:
          C_M(1)  TYPE C            VALUE 'M'.

C_N — constants · L221-L221

CONSTANTS:
          C_N(1)  TYPE C            VALUE 'N'.

C_O — constants · L222-L222

CONSTANTS:
          C_O(1)  TYPE C            VALUE 'O'.

C_P — constants · L223-L223

CONSTANTS:
          C_P(1)  TYPE C            VALUE 'P'.

C_Q — constants · L224-L224

CONSTANTS:
          C_Q(1)  TYPE C            VALUE 'Q'.

C_R — constants · L225-L225

CONSTANTS:
          C_R(1)  TYPE C            VALUE 'R'.

C_S — constants · L226-L226

CONSTANTS:
          C_S(1)  TYPE C            VALUE 'S'.

C_T — constants · L227-L227

CONSTANTS:
          C_T(1)  TYPE C            VALUE 'T'.

C_U — constants · L228-L228

CONSTANTS:
          C_U(1)  TYPE C            VALUE 'U'.

C_V — constants · L229-L229

CONSTANTS:
          C_V(1)  TYPE C            VALUE 'V'.

C_W — constants · L230-L230

CONSTANTS:
          C_W(1)  TYPE C            VALUE 'W'.

C_X — constants · L231-L231

CONSTANTS:
          C_X(1)  TYPE C            VALUE 'X'.

C_Y — constants · L232-L232

CONSTANTS:
          C_Y(1)  TYPE C            VALUE 'Y'.

C_Z — constants · L233-L233

CONSTANTS:
          C_Z(1)  TYPE C            VALUE 'Z'.

C_0 — constants · L234-L234

CONSTANTS:
          C_0(1)  TYPE C            VALUE '0'.

C_1 — constants · L235-L235

CONSTANTS:
          C_1(1)  TYPE C            VALUE '1'.

C_2 — constants · L236-L236

CONSTANTS:
          C_2(1)  TYPE C            VALUE '2'.

C_3 — constants · L237-L237

CONSTANTS:
          C_3(1)  TYPE C            VALUE '3'.

C_4 — constants · L238-L238

CONSTANTS:
          C_4(1)  TYPE C            VALUE '4'.

C_5 — constants · L239-L239

CONSTANTS:
          C_5(1)  TYPE C            VALUE '5'.

C_6 — constants · L240-L240

CONSTANTS:
          C_6(1)  TYPE C            VALUE '6'.

C_7 — constants · L241-L241

CONSTANTS:
          C_7(1)  TYPE C            VALUE '7'.

C_8 — constants · L242-L242

CONSTANTS:
          C_8(1)  TYPE C            VALUE '8'.

C_9 — constants · L243-L243

CONSTANTS:
          C_9(1)  TYPE C            VALUE '9'.

C_EQ — constants · L244-L244

CONSTANTS:
          C_EQ(2) TYPE C            VALUE 'EQ'.

C_NE — constants · L245-L245

CONSTANTS:
          C_NE(2) TYPE C            VALUE 'NE'.

C_BT — constants · L246-L246

CONSTANTS:
          C_BT(2) TYPE C            VALUE 'BT'.

C_CP — constants · L247-L247

CONSTANTS:
          C_CP(2) TYPE C            VALUE 'CP'.

C_NP — constants · L248-L248

CONSTANTS:
          C_NP(2) TYPE C            VALUE 'NP'.

C_LE — constants · L249-L249

CONSTANTS:
          C_LE(2) TYPE C            VALUE 'LE'.

C_LT — constants · L250-L250

CONSTANTS:
          C_LT(2) TYPE C            VALUE 'LT'.

C_GE — constants · L251-L251

CONSTANTS:
          C_GE(2) TYPE C            VALUE 'GE'.

C_GT — constants · L252-L252

CONSTANTS:
          C_GT(2) TYPE C            VALUE 'GT'.

C_FBV0 — constants · L253-L253

CONSTANTS:
          C_FBV0  LIKE BKPF-TCODE VALUE 'FBV0'.  " 임시전표전기 T-Code

C_FBV1 — constants · L254-L254

CONSTANTS:
          C_FBV1  LIKE BKPF-TCODE VALUE 'FBV1'.  " 임시전표생성 T-Code

C_FB01 — constants · L255-L255

CONSTANTS:
          C_FB01  LIKE BKPF-TCODE VALUE 'FB01'.  " 전표생성 T-Code

C_FB05 — constants · L256-L256

CONSTANTS:
          C_FB05  LIKE BKPF-TCODE VALUE 'FB05'.  " 전표반제 T-Code

C_FB08 — constants · L257-L257

CONSTANTS:
          C_FB08  LIKE BKPF-TCODE VALUE 'FB08'.  " 전표역분개-Code

ALPHA_INPUT — macro · L267-L273

DEFINE ALPHA_INPUT.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = &1
    IMPORTING
      OUTPUT = &2.
END-OF-DEFINITION.

ALPHA_OUTPUT — macro · L282-L288

DEFINE ALPHA_OUTPUT.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
      INPUT  = &1
    IMPORTING
      OUTPUT = &2.
END-OF-DEFINITION.

SET_RANGES — macro · L294-L301

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

LAST_DAY — macro · L310-L316

DEFINE LAST_DAY.
  CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
    EXPORTING
      DAY_IN            = &1
    IMPORTING
      LAST_DAY_OF_MONTH = &2.
END-OF-DEFINITION.

CHANGE_UNIT — macro · L322-L327

DEFINE CHANGE_UNIT.
  WRITE  &1 TO &2 CURRENCY &3.
  CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
    CHANGING
      VALUE = &2.
END-OF-DEFINITION.

CHANGE_CURRENCY — macro · L333-L340

DEFINE CHANGE_CURRENCY.
  CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
    EXPORTING
      CURRENCY    = &3
      SAP_AMOUNT  = &1
    IMPORTING
      IDOC_AMOUNT = &2.
END-OF-DEFINITION.

CHANGE_CURRENCY_SAP — macro · L346-L353

DEFINE CHANGE_CURRENCY_SAP.
  CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
    EXPORTING
      CURRENCY    = &3
      IDOC_AMOUNT = &1
    IMPORTING
      SAP_AMOUNT  = &2.
END-OF-DEFINITION.

WRITE_STCD2 — macro · L359-L361

DEFINE WRITE_STCD2.
  WRITE &1 TO &2 USING EDIT MASK '___-__-_____'.
END-OF-DEFINITION.

WRITE_STCD1 — macro · L367-L369

DEFINE WRITE_STCD1.
  WRITE &1 TO &2 USING EDIT MASK '______-_______'.
END-OF-DEFINITION.

L_LANG — data · unit 로컬 · L441-L441

  DATA : L_LANG LIKE SY-LANGU.

LV_PROG — data · unit 로컬 · L678-L678

  DATA : LV_PROG LIKE D020S-PROG.

LV_DNUM — data · unit 로컬 · L679-L679

DATA:
         LV_DNUM LIKE D020S-DNUM.

LV_LEN — data · unit 로컬 · L858-L858

  DATA : LV_LEN      TYPE I.

LV_POS — data · unit 로컬 · L859-L859

DATA:
         LV_POS      TYPE I.

LV_TYPE — data · unit 로컬 · L860-L860

DATA:
         LV_TYPE(3)  TYPE C.

LV_FILENAME — data · unit 로컬 · L861-L861

DATA:
         LV_FILENAME TYPE STRING.

LV_RAW_DATA — data · unit 로컬 · L862-L862

DATA:
         LV_RAW_DATA TYPE TRUXS_T_TEXT_DATA.

GT_XLS — data · unit 로컬 · L919-L919

  DATA: GT_XLS TYPE STANDARD TABLE OF KCDE_INTERN_STRUC WITH HEADER LINE.

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

  FIELD-SYMBOLS <FS> TYPE ANY.

CHANGE_UNIT — macro · L1045-L1050

DEFINE CHANGE_UNIT.
  WRITE  &1 TO &2 CURRENCY &3.
  CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
    CHANGING
      VALUE = &2.
END-OF-DEFINITION.

CHANGE_CURRENCY — macro · L1056-L1063

DEFINE CHANGE_CURRENCY.
  CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
    EXPORTING
      CURRENCY    = &3
      SAP_AMOUNT  = &1
    IMPORTING
      IDOC_AMOUNT = &2.
END-OF-DEFINITION.

CHANGE_CURRENCY_SAP — macro · L1069-L1076

DEFINE CHANGE_CURRENCY_SAP.
  CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
    EXPORTING
      CURRENCY    = &3
      IDOC_AMOUNT = &1
    IMPORTING
      SAP_AMOUNT  = &2.
END-OF-DEFINITION.

LV_TEXT — data · unit 로컬 · L1347-L1347

  DATA : LV_TEXT(100).

LV_PCEN — data · unit 로컬 · L1348-L1348

DATA:
         LV_PCEN(3).

ZFIR0050CLS (3건)

LCL_EVENT_RECEIVER_GRID — class · L7-L27

CLASS LCL_EVENT_RECEIVER_GRID DEFINITION.

  PUBLIC SECTION.

    METHODS :

      HANDLE_HOTSPOT_CLICK
          FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
              IMPORTING  E_ROW_ID E_COLUMN_ID ES_ROW_NO,

      HANDLE_HOTSPOT_CLICK2
          FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
              IMPORTING  E_ROW_ID E_COLUMN_ID ES_ROW_NO,

      HANDLE_DOUBLE_CLICK
          FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
          IMPORTING E_ROW E_COLUMN ES_ROW_NO           .



ENDCLASS.                    "LCL_EVENT_RECEIVER_GRID DEFINITION

GV_EVENT1 — data · L48-L48

DATA : GV_EVENT1 TYPE REF TO LCL_EVENT_RECEIVER_GRID.

GV_EVENT2 — data · L49-L49

DATA:
       GV_EVENT2 TYPE REF TO LCL_EVENT_RECEIVER_GRID.

ZFIR0050TOP (51건)

ZFIT0100 — tables · L7-L7

TABLES: ZFIT0100.  " 임시전표 상신 관리

ZIFT0010 — tables · L8-L8

TABLES:
        ZIFT0010.  " IF 공통 Log

TKA02 — tables · L9-L9

TABLES:
        TKA02.  " 관리회계 영역 지정

GT_HEAD — data · L16-L32

DATA: BEGIN OF GT_HEAD  OCCURS 0.
        INCLUDE STRUCTURE BKPF.
DATA:   SICON   LIKE ICON-ID,              "아이콘
        STATS   LIKE ZFIT0100-STATS,       "결재상태
        RJTXT   LIKE ZFIT0100-RJTXT,       "반려사유
        USNAM_T LIKE V_USERNAME-NAME_TEXT, "입력자명
        BSTAT_T LIKE DD07T-DDTEXT,         "전표상태명
        BLART_T LIKE T003T-LTEXT,          "전표유형명
        STATS_T LIKE DD07T-DDTEXT,         "결재상태명
        ERMSG   LIKE ZFIT0100-ERMSG,       "에러메시지
        UNQID   LIKE ZFIT0100-UNQID,       "유효ID
        SABUN   LIKE ZFIT0100-SABUN,       "사번
        LGCYCD  LIKE ZFIT0100-LGCYCD,
        CFMSTA  LIKE ZFIT0100-CFMSTA,
        CFMDAT  LIKE ZFIT0100-CFMDAT,
        CELLTAB TYPE LVC_T_STYL,
      END OF GT_HEAD.

GT_ITEM — data · L35-L86

DATA: BEGIN OF GT_ITEM  OCCURS 0,
        BUKRS       LIKE BSEG-BUKRS,
        GJAHR       LIKE BSEG-GJAHR,       "회계년도
        BELNR       LIKE BSEG-BELNR,       "전표번호
        BUZEI       LIKE BSEG-BUZEI,       "개별항목id
        SHKZG       LIKE BSEG-SHKZG,       "차대(S,H)
        BSCHL       LIKE BSEG-BSCHL,       "전기키
        UMSKZ       LIKE BSEG-UMSKZ,       "SpGl
        BSCHL_T     LIKE TBSLT-LTEXT,      "전기키이름
        HKONT       LIKE BSEG-HKONT,       "G/L 계정
        TXT50       LIKE SKAT-TXT50,       "G/L 계정명
        MWSKZ       LIKE BSEG-MWSKZ,       "세금코드(Tx)
        MWSKZ_T     LIKE T007S-TEXT1,      "세금코드명
        DMBTR       LIKE BSEG-DMBTR,       "원화금액
        WRBTR       LIKE BSEG-WRBTR,       "전표통화금액
        MWSTS       LIKE BSEG-MWSTS,       "세액(현지 통화)
        WMWST       LIKE BSEG-WMWST,       "세액(전표 통화)
        GSBER       LIKE BSEG-GSBER,       "BA(사업영역)
        SGTXT       LIKE BSEG-SGTXT,       "적요
        KOART       LIKE BSEG-KOART,       "계정유형
        KOART_T(8)  TYPE C,                "계정유형명
        SUBAC       LIKE BSEG-LIFNR,       "보조부계정(구매처,고객)
        SUBNM       LIKE LFA1-NAME1,       "보조부계정명
        ZLSPR       LIKE BSEG-ZLSPR,       "지급보류
        ZLSPR_T     LIKE T008T-TEXTL,      "지급보류명
        ZTERM       LIKE /DSD/HH_RACOLPAY-ZTERM, "지급조건
        ZTERM_T     LIKE T052U-TEXT1,       "지급조건명
        FDTAG       LIKE BSEG-FDTAG,       "계획일(지급만기일)
        ZLSCH       LIKE BSEG-ZLSCH,       "지급방법
        ZLSCH_T     LIKE T042Z-TEXT1,      "지급방법명
        KOSTL       LIKE BSEG-KOSTL,       "코스트센터
        KOSTL_T     LIKE CSKT-LTEXT,       "코스트센터명
        AUFNR       LIKE BSEG-AUFNR,       "오더
        FISTL       LIKE BSEG-FISTL,       "FUND CENTER
        FISTL_T     LIKE FMFCTRT-BESCHR,   "FUND CENTER Description
        PICON       LIKE ICON-ID,          "PA 아이콘
        PRCTR       LIKE BSEG-PRCTR,       "손익센터
        ANBWA       LIKE BSEG-ANBWA,       "자산거래유형
        WAERS       LIKE BKPF-WAERS,       "통화
        FKBER       LIKE BSEG-FKBER,       "기능영역
        XREF1       LIKE BSEG-XREF1,       "신고사업자
        XNEGP       LIKE BSEG-XNEGP,       "마이너스
        EBELN       LIKE BSEG-EBELN,       "구매문서
        ZUONR       LIKE BSEG-ZUONR,       "지정
        BUPLA       LIKE BSEG-BUPLA,       "사업장
        BUPLA_T     LIKE J_1BBRANCH-NAME,  "사업장명
        MATNR       LIKE BSEG-MATNR,       "자재번호
        ANLN1       LIKE BSEG-ANLN1,       "자산번호
        AUGBL       LIKE BSEG-AUGBL,
        AUGDT       LIKE BSEG-AUGDT,
        KIDNO       LIKE BSEG-KIDNO,
      END OF GT_ITEM.

GT_ITEM2 — data · L88-L88

DATA: GT_ITEM2 LIKE GT_ITEM OCCURS 0 WITH HEADER LINE.

GT_Z0100 — data · L90-L90

DATA: GT_Z0100 LIKE ZFIT0100 OCCURS 0 WITH HEADER LINE.

GT_VBKPF — data · L91-L91

DATA:
      GT_VBKPF LIKE VBKPF    OCCURS 0 WITH HEADER LINE.

GT_BKPF — data · L92-L92

DATA:
      GT_BKPF  LIKE BKPF     OCCURS 0 WITH HEADER LINE.

GT_BSEG — data · L93-L93

DATA:
      GT_BSEG  LIKE BSEG     OCCURS 0 WITH HEADER LINE.

GT_UNAME — data · L96-L99

DATA: BEGIN OF GT_UNAME OCCURS 0,
        BNAME  LIKE V_USERNAME-BNAME,
        NAMET  LIKE V_USERNAME-NAME_TEXT,
      END OF GT_UNAME.

GT_T003T — data · L101-L104

DATA: BEGIN OF GT_T003T OCCURS 0,
        BLART LIKE T003T-BLART,
        LTEXT LIKE T003T-LTEXT,
      END OF GT_T003T.

GT_CSKT — data · L106-L109

DATA: BEGIN OF GT_CSKT OCCURS 0,
        KOSTL LIKE CSKT-KOSTL,
        KTEXT LIKE CSKT-KTEXT,
      END OF GT_CSKT.

GT_BRANCH — data · L111-L114

DATA: BEGIN OF GT_BRANCH OCCURS 0,
        BRANCH LIKE J_1BBRANCH-BRANCH,
        NAME   LIKE J_1BBRANCH-NAME,
      END OF GT_BRANCH.

GT_TBSLT — data · L116-L120

DATA: BEGIN OF GT_TBSLT OCCURS 0,
        BSCHL LIKE TBSLT-BSCHL,
        UMSKZ LIKE TBSLT-UMSKZ,
        LTEXT LIKE TBSLT-LTEXT,
      END OF GT_TBSLT.

GT_KNA1 — data · L122-L125

DATA: BEGIN OF GT_KNA1 OCCURS 0,
        KUNNR LIKE KNA1-KUNNR,
        NAME1 LIKE KNA1-NAME1,
      END OF GT_KNA1.

GT_LFA1 — data · L127-L130

DATA: BEGIN OF GT_LFA1 OCCURS 0,
        LIFNR LIKE LFA1-LIFNR,
        NAME1 LIKE LFA1-NAME1,
      END OF GT_LFA1.

GT_SKAT — data · L132-L135

DATA: BEGIN OF GT_SKAT OCCURS 0,
        SAKNR LIKE SKAT-SAKNR,
        TXT50 LIKE SKAT-TXT50 ,
      END OF GT_SKAT.

GT_T052U — data · L137-L140

DATA: BEGIN OF GT_T052U OCCURS 0,
        ZTERM LIKE T052U-ZTERM,
        TEXT1 LIKE T052U-TEXT1,
      END OF GT_T052U.

GT_T007S — data · L142-L145

DATA: BEGIN OF GT_T007S OCCURS 0,
        MWSKZ LIKE T007S-MWSKZ,
        TEXT1 LIKE T007S-TEXT1,
      END OF GT_T007S.

GT_DOMAIN — data · L147-L151

DATA: BEGIN OF GT_DOMAIN OCCURS 0,
        DOMNAME    LIKE DD07T-DOMNAME,
        DOMVALUE_L LIKE DD07T-DOMVALUE_L,
        DDTEXT     LIKE DD07T-DDTEXT,
      END OF GT_DOMAIN.

R_STATS — ranges · L153-L153

RANGES: R_STATS FOR ZFIT0100-STATS.

R_BLART — ranges · L154-L154

RANGES:
        R_BLART FOR BKPF-BLART.

GV_SUPER — data · L156-L156

DATA: GV_SUPER TYPE C.  " 회계팀장권한

GV_CON — data · L157-L157

DATA:
      GV_CON   TYPE C.  " 임원권한

GV_SABUN — data · L158-L158

DATA:
      GV_SABUN LIKE ZFIT0100-SABUN VALUE 'xclick'.  " 사번(입력)

GT_FCAT_ITEM2 — data · L161-L161

DATA : GT_FCAT_ITEM2 TYPE LVC_T_FCAT.

GS_STABLE — data · L163-L163

DATA : GS_STABLE     TYPE LVC_S_STBL.

GC_SPLITTER — data · L164-L164

DATA:
       GC_SPLITTER   TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GC_CONTAINER1 — data · L165-L165

DATA:
       GC_CONTAINER1 TYPE REF TO CL_GUI_CONTAINER.

GC_CONTAINER2 — data · L166-L166

DATA:
       GC_CONTAINER2 TYPE REF TO CL_GUI_CONTAINER.

GV_ALV_GRID — data · L167-L167

DATA:
       GV_ALV_GRID   TYPE REF TO CL_GUI_ALV_GRID.

GV_ALV_GRID1 — data · L168-L168

DATA:
       GV_ALV_GRID1  TYPE REF TO CL_GUI_ALV_GRID.

GV_ALV_GRID2 — data · L169-L169

DATA:
       GV_ALV_GRID2  TYPE REF TO CL_GUI_ALV_GRID.

GV_LAYO — data · L170-L170

DATA:
       GV_LAYO       TYPE LVC_S_LAYO.

GV_LAYO1 — data · L171-L171

DATA:
       GV_LAYO1      TYPE LVC_S_LAYO.

GV_LAYO2 — data · L172-L172

DATA:
       GV_LAYO2      TYPE LVC_S_LAYO.

GV_VARI — data · L173-L173

DATA:
       GV_VARI       TYPE DISVARIANT.

GV_VARI1 — data · L174-L174

DATA:
       GV_VARI1      TYPE DISVARIANT.

GV_VARI2 — data · L175-L175

DATA:
       GV_VARI2      TYPE DISVARIANT.

C_USNAM — constants · L180-L180

CONSTANTS: C_USNAM   TYPE SY-UNAME VALUE 'FI07'.  " 회계팀장ID

C_USNAM_2 — constants · L181-L181

CONSTANTS:
           C_USNAM_2 TYPE SY-UNAME VALUE 'FI03'.  " 임원ID

P_BUKRS — parameter · L188-L188

PARAMETERS: P_BUKRS LIKE T001-BUKRS MEMORY ID BUK OBLIGATORY.

S_BUDAT — select-option · L189-L189

SELECT-OPTIONS: S_BUDAT FOR BKPF-BUDAT OBLIGATORY.

S_BELNR — select-option · L190-L190

SELECT-OPTIONS:
                S_BELNR FOR BKPF-BELNR.

S_BLART — select-option · L191-L191

SELECT-OPTIONS:
                S_BLART FOR BKPF-BLART.

S_CPUDT — select-option · L192-L192

SELECT-OPTIONS:
                S_CPUDT FOR BKPF-CPUDT.

S_USNAM — select-option · L193-L193

SELECT-OPTIONS:
                S_USNAM FOR BKPF-USNAM MODIF ID A.

S_STATS — select-option · L194-L194

SELECT-OPTIONS:
                S_STATS FOR ZFIT0100-STATS.

P_RA — parameter · L200-L200

PARAMETERS: P_RA RADIOBUTTON GROUP G1 .   "일반임시전표

P_RB — parameter · L202-L202

PARAMETERS: P_RB RADIOBUTTON GROUP G1.    "결산조정전표

ZFIR0050F01 (49건)

LV_CNT — data · unit 로컬 · L1090-L1090

  DATA: LV_CNT TYPE N.

LV_CHK — data · unit 로컬 · L1091-L1091

DATA:
        LV_CHK(1).

LV_STATS — data · unit 로컬 · L1092-L1092

DATA:
        LV_STATS(1).

LV_CNT — data · unit 로컬 · L1184-L1184

  DATA: LV_CNT    TYPE N.

LV_STATS — data · unit 로컬 · L1185-L1185

DATA:
        LV_STATS  TYPE CHAR1.

LV_MESSG — data · unit 로컬 · L1186-L1186

DATA:
        LV_MESSG  TYPE CHAR100.

LV_URL — data · unit 로컬 · L1187-L1187

DATA:
        LV_URL    TYPE CHAR1024.

LV_SHKZG — data · unit 로컬 · L1189-L1189

DATA:
        LV_SHKZG  LIKE BSEG-SHKZG.

LV_MWSKZ — data · unit 로컬 · L1190-L1190

DATA:
        LV_MWSKZ  LIKE BSEG-MWSKZ.

LV_TEXT1 — data · unit 로컬 · L1191-L1191

DATA:
        LV_TEXT1  LIKE T007S-TEXT1.

LV_DMBTR — data · unit 로컬 · L1192-L1192

DATA:
        LV_DMBTR  LIKE BSEG-DMBTR.

LV_WRBTR — data · unit 로컬 · L1193-L1193

DATA:
        LV_WRBTR  LIKE BSEG-WRBTR.

LV_MWSTS — data · unit 로컬 · L1194-L1194

DATA:
        LV_MWSTS  LIKE BSEG-MWSTS.

LV_HWBAS — data · unit 로컬 · L1195-L1195

DATA:
        LV_HWBAS  LIKE BSEG-HWBAS.

LV_WMWST — data · unit 로컬 · L1196-L1196

DATA:
        LV_WMWST  LIKE BSEG-WMWST.

LV_FWBAS — data · unit 로컬 · L1197-L1197

DATA:
        LV_FWBAS  LIKE BSEG-FWBAS.

LT_CMLOG — data · unit 로컬 · L1199-L1199

  DATA: LT_CMLOG   LIKE ZIFS0010 OCCURS 0 WITH HEADER LINE.

LT_BKPF — data · unit 로컬 · L1200-L1200

DATA:
        LT_BKPF    LIKE ZFIS0090 OCCURS 0 WITH HEADER LINE.

LT_BSEG — data · unit 로컬 · L1201-L1201

DATA:
        LT_BSEG    LIKE ZFIS0091 OCCURS 0 WITH HEADER LINE.

LT_INFO — data · unit 로컬 · L1202-L1202

DATA:
        LT_INFO    LIKE ZFIS0093 OCCURS 0 WITH HEADER LINE.

LT_TOTAL — data · unit 로컬 · L1203-L1203

DATA:
        LT_TOTAL   LIKE ZFIS0092 OCCURS 0 WITH HEADER LINE.

LT_Z0101 — data · unit 로컬 · L1204-L1204

DATA:
        LT_Z0101   LIKE ZFIT0101 OCCURS 0 WITH HEADER LINE.

LT_Z0102 — data · unit 로컬 · L1205-L1205

DATA:
        LT_Z0102   LIKE ZFIT0102 OCCURS 0 WITH HEADER LINE.

LT_Z0100_S — data · unit 로컬 · L1206-L1206

DATA:
        LT_Z0100_S LIKE ZFIT0100 OCCURS 0 WITH HEADER LINE.

LT_TAXIN — data · unit 로컬 · L1207-L1207

DATA:
        LT_TAXIN   LIKE RTAX1U38 OCCURS 0 WITH HEADER LINE.

LT_TAXOUT — data · unit 로컬 · L1208-L1208

DATA:
        LT_TAXOUT  LIKE RTAX1U38 OCCURS 0 WITH HEADER LINE.

LT_ERROR — data · unit 로컬 · L1209-L1209

DATA:
        LT_ERROR   LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.

LS_BSEG_TX — data · unit 로컬 · L1211-L1211

  DATA: LS_BSEG_TX LIKE ZFIS0091.

LS_CMLOG — data · unit 로컬 · L1265-L1265

      DATA: LS_CMLOG LIKE ZIFS0010.

LT_Z0100_S — data · unit 로컬 · L1674-L1674

DATA:
        LT_Z0100_S LIKE ZFIT0100 OCCURS 0 WITH HEADER LINE.

LV_CNT — data · unit 로컬 · L1675-L1675

  DATA: LV_CNT TYPE N.

LV_CHK — data · unit 로컬 · L1676-L1676

DATA:
        LV_CHK(1).

LT_Z0100_S — data · unit 로컬 · L1784-L1784

DATA:
        LT_Z0100_S LIKE ZFIT0100 OCCURS 0 WITH HEADER LINE.

LV_CNT — data · unit 로컬 · L1785-L1785

  DATA: LV_CNT TYPE N.

LV_CHK — data · unit 로컬 · L1786-L1786

DATA:
        LV_CHK(1).

LT_Z0100_S — data · unit 로컬 · L1852-L1852

DATA:
        LT_Z0100_S LIKE ZFIT0100 OCCURS 0 WITH HEADER LINE.

LV_CNT — data · unit 로컬 · L1853-L1853

  DATA: LV_CNT TYPE N.

LV_CHK — data · unit 로컬 · L1854-L1854

DATA:
        LV_CHK(1).

LT_MSG — data · unit 로컬 · L1924-L1924

  DATA: LT_MSG     LIKE ZFIS0030 OCCURS 0 WITH HEADER LINE.

LT_Z0100_S — data · unit 로컬 · L1925-L1925

DATA:
        LT_Z0100_S LIKE ZFIT0100 OCCURS 0 WITH HEADER LINE.

LV_NATXT — data · unit 로컬 · L1926-L1926

  DATA: LV_NATXT TYPE NATXT.

LV_CNT — data · unit 로컬 · L1927-L1927

DATA:
        LV_CNT   TYPE N.

LV_CHK — data · unit 로컬 · L1928-L1928

DATA:
        LV_CHK(1).

LV_CNT — data · unit 로컬 · L2033-L2033

  DATA: LV_CNT   TYPE N.

LV_STATS — data · unit 로컬 · L2034-L2034

DATA:
        LV_STATS TYPE CHAR1.

LV_MESSG — data · unit 로컬 · L2035-L2035

DATA:
        LV_MESSG TYPE CHAR100.

LV_URL — data · unit 로컬 · L2036-L2036

DATA:
        LV_URL   TYPE CHAR1024.

LV_MAX — data · unit 로컬 · L2037-L2037

DATA:
        LV_MAX   LIKE ZIFT0010-SEQ.

LT_CMLOG — data · unit 로컬 · L2038-L2038

  DATA: LT_CMLOG LIKE ZIFS0010 OCCURS 0 WITH HEADER LINE.

Unit 목록 (컨테이너)

unit 유형 위치 조각 한 줄 요약
LCL_EVENT_RECEIVER~HANDLE_CLOSE METHOD ZFIALV L27-31 0
ALV_SETTING FORM ZFIALV L126-129 0
VARIANT_DEFAULT FORM ZFIALV L137-168 0
VARIANT_HELP FORM ZFIALV L176-199 0
VARIANT_FILL FORM ZFIALV L207-233 0
FIELDCATALOG_CALL FORM ZFIALV L241-256 0
EVENT_BUILD FORM ZFIALV L269-282 0
ALV_LAYOUT_BUILD FORM ZFIALV L291-308 0
ALV_DISPLAY FORM ZFIALV L317-354 0
COLOR_SETTING FORM ZFIALV L360-367 0
FIELD_SORTING FORM ZFIALV L380-393 0
COLINFO_SETTING FORM ZFIALV L403-410 0
ALV_HIERSEQ_DISPLAY FORM ZFIALV L419-460 0
BUILD_LAYOUT FORM ZFIALV L475-492 0
ALV_EVENTS_GET FORM ZFIALV L501-532 0
USE_FORM FORM ZFIALV L538-550 0
ALV_CELL_CONTROL FORM ZFIALV L560-570 0
CREATE_DIALOG FORM ZFIALV L582-603 0
ALV_CELL_COLOR FORM ZFIALV L612-620 0
EVENT_BUILD_LVC FORM ZFIALV L633-704 0
ALV_DISPLAY_LVC FORM ZFIALV L713-752 0
SET_GRID_EXCLUDE FORM ZFIALV L761-782 0
DATA_WRITE FORM ZFIALV L795-806 0
FIELDCATALOG_MERGE_STRUCTURE FORM ZFIALV L812-845 0
LOG_ALV_DISPLAY FORM ZFIALV L851-874 0
LOG_CREATE FORM ZFIALV L885-942 0
LOG_FIELDCATALOG FORM ZFIALV L952-962 0
NAME_SELECT FORM ZFICOM L378-387 1 사용자 ID 로 V_USERNAME 뷰에서 사용자 이름을 조회하는 공통 FORM 이다.
SELECT_CSKT FORM ZFICOM L397-408 1 관리회계영역·코스트센터로 CSKT 에서 유효한 코스트센터명을 조회하는 공통 FORM 이다.
SELECT_J_1BBRANCH FORM ZFICOM L419-428 1 회사코드·사업장(Business Place)으로 J_1BBRANCH 사업장명을 조회하는 공통 FORM 이다.
SELECT_SKAT FORM ZFICOM L438-464 1 G/L 계정번호로 SKAT 계정과목 텍스트(장문 50/단문 20)를 언어별로 조회하는 공통 FORM 이다.
CHECK_CONFIRM_STEP FORM ZFICOM L476-491 1 제목·메시지 1줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.
CHECK_CONFIRM_STEP_2 FORM ZFICOM L503-520 1 제목·메시지 2줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.
AUTHORITY_BUKRS FORM ZFICOM L528-536 1 회사코드에 대한 SAP 표준 권한(F_BKPF_BUK)을 검사하고 권한이 없으면 처리를 중단한다.
AUTHORITY_PG FORM ZFICOM L545-563 1 사용자 ID 로 커스텀 권한테이블 ZFIT0160 을 조회해 프로그램(T-Code)별 실행 권한을 검증하는 공통 FORM 이다.
GET_DOMAIN_VALUE FORM ZFICOM L574-593 1 DOMAIN_VALUE_GET 으로 도메인 고정값의 텍스트를 조회하는 공통 헬퍼다.
CALC_DATE_IN_INTERVAL FORM ZFICOM L606-623 1 기준일에 일·월·년을 가감한 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산하는 공통 헬퍼다.
CALC_BETWEEN_DATES FORM ZFICOM L635-651 1 두 날짜 사이의 일·월·년 차이를 HRVE_GET_TIME_BETWEEN_DATES 로 계산하는 공통 헬퍼다.
NUMERIC_CHECK FORM ZFICOM L659-665 0
DYNP_VALUES_READ FORM ZFICOM L674-703 1 DYNP_VALUES_READ 로 현재 화면 필드의 입력값을 PAI 전에 읽어오는 공통 헬퍼다.
FIELD_SETTING FORM ZFICOM L713-720 0
HELP_DISPLAY FORM ZFICOM L729-749 0
SELECT_T007S FORM ZFICOM L758-770 1 세금코드(MWSKZ)의 부가세 텍스트를 T007S 에서 조회하는 공통 FORM 이다.
GET_NEXT_NUMBER FORM ZFICOM L781-819 1 번호범위 오브젝트에서 다음 일련번호를 받아온다 (CBO 테이블의 키 생성용).
CREATE_ICON FORM ZFICOM L829-844 0
DATA_UPLOAD FORM ZFICOM L853-908 3 파일 확장자(TXT/XLS)에 따라 GUI_UPLOAD 또는 TEXT_CONVERT_XLS_TO_SAP 으로 로컬 파일을 내부테이블로 업로드하는 공통 FORM 이다.
DATA_UPLOAD_2 FORM ZFICOM L917-950 2 엑셀 파일을 KCD_EXCEL_OLE_TO_INT_CONVERT 로 셀 단위로 읽어 행별로 T_LOAD 내부테이블 구조에 매핑하는 공통 업로드 FORM 이다.
CONVERT_TO_FOREIGN_CURRENCY FORM ZFICOM L962-999 1 현지통화 금액을 환율·기준일로 외화 금액으로 환산하는 공통 FORM 이다.
CONVERT_TO_LOCAL_CURRENCY FORM ZFICOM L1011-1039 1 외화 금액을 환율·기준일로 회사코드 현지통화(T001-WAERS) 금액으로 환산하는 공통 FORM 이다.
SELECT_USR01 FORM ZFICOM L1084-1088 1 사용자명으로 USR01(사용자 마스터 기본값)을 단건 조회하는 공통 FORM 이다.
SMARTFORM_CONTROL FORM ZFICOM L1101-1138 1 Smartform 이름으로 생성 FM 이름을 구하고 미리보기·다이얼로그·프린터 등 출력 옵션(GS_DEVICE/GS_OPTIONS)을 설정한다.
SMARTFORM_OPEN FORM ZFICOM L1144-1156 1 Smartform 출력 작업을 SSF_OPEN 으로 시작하는 공통 FORM 이다.
SMARTFORM_CLOSE FORM ZFICOM L1162-1175 1 Smartform 출력 작업을 SSF_CLOSE 로 종료하고 JOB_OUTPUT_INFO 를 받아오는 공통 FORM 이다.
F4IF_INT_TABLE_VALUE_REQUEST FORM ZFICOM L1186-1214 0
EXIT INPUT MODULE ZFICOM L1220-1230 0
DYNPRO FORM ZFICOM L1240-1251 1 BDC 화면 시작 또는 필드값 한 줄을 GT_BDC(BDCDATA) 에 추가하는 공통 BDC 빌더 헬퍼다.
BDC_TRANSACTION FORM ZFICOM L1259-1266 1 GT_BDC 데이터로 지정 T-Code 를 CALL TRANSACTION 하고 결과 메시지를 GT_MESS 에 받는 공통 BDC 실행 FORM 이다.
MESSAGE_SELECT FORM ZFICOM L1274-1285 1 BDC 메시지(GT_MESS)의 ID·번호·변수를 MESSAGE_TEXT_BUILD 로 메시지 텍스트로 조립하는 공통 헬퍼다.
BDC_FK03 FORM ZFICOM L1294-1318 1 구매처코드와 회사코드로 FK03 구매처 마스터 조회 화면을 BDC 로 호출한다.
CALL_TRANSACTION_FB03 FORM ZFICOM L1328-1336 1 회사코드·전표번호·회계연도를 파라미터 ID 로 넘겨 FB03 회계전표 조회 화면을 호출한다.
STATUS_BAR FORM ZFICOM L1345-1366 1 처리 진행률을 계산해 SAPGUI 상태바에 진행 상황 텍스트를 표시하는 공통 유틸리티다.
INITIALIZATION EVENT ZFIR0050 L32-87 2 ALV 초기 설정 후 전기일 기본값을 전월로 잡고, 사용자ID로 임원(GV_CON)/회계팀(GV_SUPER)/일반 사용자를 구분해 일반 사용자는 본인 입력 전표만 조회되도록 S_USNAM을 고정하며 도메인 텍스트를 읽는 INITIALIZATION 이벤트이다.
AT SELECTION-SCREEN OUTPUT EVENT ZFIR0050 L88-94 0 선택화면 출력 시 MODIFY_SCREEN을 호출해 사용자 역할에 따라 입력 필드를 조정하는 AT SELECTION-SCREEN OUTPUT 이벤트이다.
START-OF-SELECTION EVENT ZFIR0050 L95-103 0 회사코드 권한을 검증(AUTHORITY_BUKRS)한 뒤 GET_DATA로 전표 데이터를 조회하는 START-OF-SELECTION 이벤트이다.
END-OF-SELECTION EVENT ZFIR0050 L104-110 0 조회 결과 GT_HEAD가 비어 있으면 '데이터 없음' 메시지로 종료하고, 있으면 화면 0100(ALV 화면)을 호출하는 END-OF-SELECTION 이벤트이다.
LCL_EVENT_RECEIVER_GRID~HANDLE_HOTSPOT_CLICK METHOD ZFIR0050CLS L33-35 0 ALV 그리드 핫스팟 클릭 이벤트를 받아 HOTSPOT_CLICK 서브루틴으로 위임하는 이벤트 핸들러다.
LCL_EVENT_RECEIVER_GRID~HANDLE_HOTSPOT_CLICK2 METHOD ZFIR0050CLS L37-39 0 두 번째 ALV 그리드의 핫스팟 클릭 이벤트를 HOTSPOT_CLICK2 서브루틴으로 위임하는 이벤트 핸들러다.
LCL_EVENT_RECEIVER_GRID~HANDLE_DOUBLE_CLICK METHOD ZFIR0050CLS L41-43 0 ALV 더블클릭 이벤트를 받아 DOUBLE_CLICK 서브루틴으로 위임하는 이벤트 핸들러다.
GET_DOMAIN FORM ZFIR0050F01 L9-32 1 전표상태(BSTAT)와 결재상태(ZDSTATS) 도메인의 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 담는 FORM이다.
MODIFY_SCREEN FORM ZFIR0050F01 L38-45 0 회계팀(GV_SUPER)이나 임원(GV_CON)이 아닌 일반 사용자에게는 그룹 A 선택화면 필드를 입력 불가로 바꾸는 화면 속성 조정 FORM이다.
GET_DATA FORM ZFIR0050F01 L51-64 1 전표 헤더(GET_BKPF)·아이템(GET_BSEG)·임시전표 결재정보(GET_ZFIT0100)를 차례로 읽고 DISPLAY_DATA로 표시 데이터를 만드는 조회 총괄 FORM이다.
GET_BKPF FORM ZFIR0050F01 L70-108 2 선택조건(회사코드·전기일·전표번호·전표유형·입력일·입력자)과 일반/결산조정전표 구분(BLART SC~SJ 범위)으로 BKPF 전표 헤더를 조회하고 회사코드(T001)·국가(T005) 정보를 읽는 FORM이다.
GET_BSEG FORM ZFIR0050F01 L114-264 2 정식 전표와 임시(파킹) 전표의 아이템을 모두 모아 조직단위·거래처·계정 텍스트를 붙인다.
GET_ZFIT0100 FORM ZFIR0050F01 L270-281 1 조회된 전표 헤더(GT_BKPF)에 대한 임시전표 결재 관리 정보를 CBO 테이블 ZFIT0100에서 읽어 GT_Z0100에 담는 FORM이다.
DISPLAY_DATA FORM ZFIR0050F01 L287-569 6 BKPF/BSEG와 ZFIT0100 결재 정보를 합쳐 결재상태별 아이콘·편집가능 여부와 각종 명칭(입력자·전표유형·전표상태·거래처·계정·전기키·지급조건·코스트센터·세금코드)을 붙인 헤더 ALV(GT_HEAD)와 아이템 ALV(GT_ITEM) 데이터를 만드는 FORM이다.
SPLITTER_CONTAINER FORM ZFIR0050F01 L575-627 0 화면 0100의 커스텀 컨테이너에 2행 1열 스플리터를 만들고 상단(헤더)·하단(아이템) 컨테이너에 ALV 그리드 객체 두 개를 생성하는 FORM이다.
CREATE_AND_INIT_CONTROLS_CON FORM ZFIR0050F01 L636-663 0 헤더/아이템 ALV 그리드에 핫스팟·더블클릭 이벤트 핸들러를 등록하고 레이아웃·툴바 제외·필드카탈로그 설정 후 두 ALV를 표시하도록 초기화하는 FORM이다.
SET_GRID_LAYOUT1 FORM ZFIR0050F01 L672-689 0 헤더/아이템 ALV의 레이아웃(제목, 열 최적화, 행 선택모드, 줄무늬, 셀 스타일 필드명)을 설정하는 FORM이다.
ALV_GRID_DISPLAY1 FORM ZFIR0050F01 L698-713 1 헤더 필드카탈로그를 만든 뒤 GV_ALV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY로 임시전표 헤더 목록(GT_HEAD)을 상단 ALV에 표시하는 FORM이다.
SET_FIELD_CATALOGS1 FORM ZFIR0050F01 L722-814 0 헤더 ALV(GT_HEAD)의 필드카탈로그를 생성해 상태아이콘·전표번호·전표상태·결재상태·전표유형·전기일·반려사유(편집)·역분개전표·오류메시지 컬럼의 속성을 설정하는 FORM이다.
ALV_GRID_DISPLAY2 FORM ZFIR0050F01 L823-838 1 아이템 필드카탈로그를 만든 뒤 GV_ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY로 선택 전표의 아이템 목록(GT_ITEM2)을 하단 ALV에 표시하는 FORM이다.
SET_FIELD_CATALOGS2 FORM ZFIR0050F01 L847-964 0 아이템 ALV(GT_ITEM)의 필드카탈로그를 생성해 전표번호·항목·전기키·계정·거래처·금액·세금코드·코스트센터 등 컬럼의 제목·위치·통화·핫스팟 속성을 설정하는 FORM이다.
HOTSPOT_CLICK FORM ZFIR0050F01 L974-1006 2 헤더 ALV 핫스팟 클릭 시 전표번호는 해당 아이템을 GT_ITEM2에 추려 하단 ALV를 갱신하고, 역분개전표번호(STBLG)는 FB03으로 조회하는 FORM이다.
HOTSPOT_CLICK2 FORM ZFIR0050F01 L1015-1053 1 아이템 ALV 핫스팟 클릭 시 전표번호는 FB03, 거래처는 계정유형(고객/공급업체/자산/자재)에 따라 FD03/FK03/AS03/MM03 조회 화면으로 이동하는 FORM이다.
DOUBLE_CLICK FORM ZFIR0050F01 L1062-1083 1 헤더 ALV 더블클릭 시 해당 전표(BUKRS/GJAHR/BELNR)의 아이템을 GT_ITEM에서 골라 GT_ITEM2를 채우고 OK코드 ZUSER로 PAI를 트리거해 하단 ALV를 갱신하는 FORM이다.
DELETE_DATA FORM ZFIR0050F01 L1089-1177 3 선택한 임시전표를 검증·확인 팝업 후 Z_FI_PARKED_DOCUMENT_DELETE로 삭제하고, 반려 상태였던 건은 ZFIT0100 이력의 전표상태를 갱신하는 FORM이다.
PROCESSING_DATA FORM ZFIR0050F01 L1183-1568 8 결재상신 FORM의 1번째 창으로, 세금·금액·전송 구조(ZFIS0090/91/92/93, ZFIT0101/0102) 로컬 변수를 선언하고 ALV 선택행을 GET_SELECTED_ROWS로 읽어오는 준비 구간이다.
CONFIRM_DATA FORM ZFIR0050F01 L1574-1775 4 선택한 임시전표를 검증·확인 팝업 후 BDC로 FBV0(임시전표 전기)를 실행해 정규전표로 전기하고 성공 건을 팀장승인 상태(A)로 ZFIT0100에 저장하는 FORM이다(이전 Z_FI_PARKED_DOCUMENT_POSTING 방식은 주석 처리됨).
CONFIRM_DATA_2 FORM ZFIR0050F01 L1782-1843 2 팀장승인된 정규전표를 선택해 확인 팝업 후 임원승인 상태(C)로 갱신하고 ZFIT0100에 승인자·시각을 저장하는 FORM이다.
REJECT_DATA FORM ZFIR0050F01 L1849-1917 3 선택한 임시전표를 검증·확인 팝업 후 반려 상태(R)로 바꾸고 반려자·시각을 ZFIT0100에 저장하는 FORM이다.
CANCEL_CONFIRM_DATA FORM ZFIR0050F01 L1923-2026 3 승인된 정규전표를 선택해 확인 팝업 후 Z_FI_DOCUMENT_REVERSE로 역분개(승인취소)하고 결과 상태를 GT_HEAD와 ZFIT0100에 반영하는 FORM이다.
DISPLAY_PROCESSING_DATA FORM ZFIR0050F01 L2032-2138 3 ALV에서 선택한 결재중/승인 상태의 임시전표 1건에 대해 인터페이스 로그(ZIFT0010)를 남기고 RFC Z_FI_CONFIRM_DISPLAY로 전자결재 문서 URL을 받아 브라우저로 여는 FORM이다.
USER_COMMAND_0100 INPUT MODULE ZFIR0050I01 L9-38 1 화면 0100 PAI에서 사용자 명령(삭제·결재상신·문서조회·팀장승인·임원승인·반려·승인취소·새로고침)에 따라 해당 처리 FORM으로 분기하는 디스패처 모듈이다.
USER_COMMAND_0200 INPUT MODULE ZFIR0050I01 L44-52 0 화면 0200(결재상신 문서 조회 팝업)의 PAI에서 ENTR 입력 시 화면을 닫는 단순 사용자 명령 처리 모듈이다.
STATUS_0100 OUTPUT MODULE ZFIR0050O01 L9-44 0
CREATE_INSTANCE_CONTROLS OUTPUT MODULE ZFIR0050O01 L50-73 0
STATUS_0200 OUTPUT MODULE ZFIR0050O01 L79-84 0