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

216 KiB

type, title, description, resource, tags, generated, status, x-package, x-changed-on, x-tables-read, x-tables-write, x-calls, x-code-hash, x-unit-count, x-chunk-count, x-declaration-count
type title description resource tags generated status x-package x-changed-on x-tables-read x-tables-write x-calls x-code-hash x-unit-count x-chunk-count x-declaration-count
abap-program ZCOC0030 — 부서 예산 이월 코스트센터(부서)별·원가요소별로 특정 월(P_FROM)의 가용예산(예산-실적 잔액)을 이월 대상 월(P_TO)로 옮기는 예산 이월 프로그램이다. 코스트센터 그룹/원가요소 그룹(K_GROUP_SELECT, SETLEAF) 또는 개별 범위로 대상을 결정하고 Z_CO_SEL_KOSTL_BUDGET_ACTUAL로 가용예산(ZCOS0030)을 조회한 뒤, 이월 버전 B20에 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')로 From 월에는 음수(-), To 월에는 양수(+) 계획값을 전기하고 To 월 전기 실패 시 From 월을 원복한다. 처리 결과는 예산조정 이력 테이블 ZCOT0020(BGTYPE '50' 이월)에 로그로 남기며, 실행 중 ENQUEUE_EZ_ZCOT0020으로 잠금을 건다. abap://ZCOC0030
예산관리
예산 이월
가용예산
코스트센터 계획
예산조정 이력
CO-OM-CCA
기능코드 분기
화면 종료
잠금 해제
예산 이월 전기
동시성 제어
순번 채번
조정일자
예산 이월 로그
송신 코스트센터
수신 코스트센터
이월 금액
로그 저장
처리 결과 반영
상태 아이콘
by at
abap-indexing/z-ai/glm-5.2:free 2026-09-20T15:36:10+00:00
stable
AENR
CSKB
CSKT
CSKU
DD07T
ONRKS
T001
TKA01
TKT09
GT_DATA
ZCOT0020
ALSM_EXCEL_TO_INTERNAL_TABLE
BAPI_COSTACTPLN_POSTPRIMCOST
BAPI_CURRENCY_CONV_TO_INTERNAL
BAPI_TRANSACTION_COMMIT
BAPI_TRANSACTION_ROLLBACK
CC01
CLOI_PUT_SIGN_IN_FRONT
CONVERSION_EXIT_ALPHA_INPUT
CONVERSION_EXIT_ALPHA_OUTPUT
CONVERT_OTF
CONVERT_TO_LOCAL_CURRENCY
CURRENCY_AMOUNT_IDOC_TO_SAP
CURRENCY_AMOUNT_SAP_TO_IDOC
DATE_CHECK_PLAUSIBILITY
DEQUEUE_EZ_ZCOT0020
DYNP_VALUES_READ
DYNP_VALUES_UPDATE
ENQUEUE_EZ_ZCOT0020
F4IF_INT_TABLE_VALUE_REQUEST
F4_DATE
FI_PERIOD_DETERMINE
GUI_DOWNLOAD
K_GROUP_SELECT
K_HIERARCHY_TABLES_READ
LVC_FIELDCATALOG_MERGE
LVC_FIELDCAT_COMPLETE
LVC_TRANSFER_FROM_SLIS
MD_CONVERT_MATERIAL_UNIT
MESSAGE_TEXT_BUILD
NUMBER_GET_NEXT
POPUP_TO_CONFIRM
POPUP_TO_CONFIRM_STEP
POPUP_TO_SELECT_MONTH
POSTING_INTERFACE_END
POSTING_INTERFACE_START
REUSE_ALV_FIELDCATALOG_MERGE
REUSE_ALV_GRID_COMMENTARY_SET
RP_LAST_DAY_OF_MONTHS
SAPGUI_PROGRESS_INDICATOR
SCPR_SV_SHOW_MESSAGE_LIST
0c1caec7102bc5c8b6327cea02b2d429e101d4079da8ffa36967dda5ea6beea5 150 77 218

업무 목적

코스트센터(부서)별·원가요소별로 특정 월(P_FROM)의 가용예산(예산-실적 잔액)을 이월 대상 월(P_TO)로 옮기는 예산 이월 프로그램이다. 코스트센터 그룹/원가요소 그룹(K_GROUP_SELECT, SETLEAF) 또는 개별 범위로 대상을 결정하고 Z_CO_SEL_KOSTL_BUDGET_ACTUAL로 가용예산(ZCOS0030)을 조회한 뒤, 이월 버전 B20에 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')로 From 월에는 음수(-), To 월에는 양수(+) 계획값을 전기하고 To 월 전기 실패 시 From 월을 원복한다. 처리 결과는 예산조정 이력 테이블 ZCOT0020(BGTYPE '50' 이월)에 로그로 남기며, 실행 중 ENQUEUE_EZ_ZCOT0020으로 잠금을 건다.

주 흐름

  1. 관리회계영역 텍스트를 조회하고 회계연도·From 월(전월)·To 월(당월) 기본값을 설정한다 (SET_DYNP)
  2. 코스트센터/원가요소 그룹 F4(K_GROUP_SELECT)와 원가요소 F4(CSKB/CSKU 50000000~69999999)를 제공한다 (F4_GRP, F4_KSTAR)
  3. 예산조정 이력 테이블 ZCOT0020에 잠금을 설정한다 (ENQUEUE_ZCOT0020)
  4. 그룹과 개별값 중 하나만 입력되었는지, To 월이 From 월보다 큰지 검증한다 (CHECK_INPUT)
  5. 코스트센터 그룹(SETLEAF 0101)/범위로 ONRKS·CSKT에서 대상 코스트센터 OBJNR을, 원가요소 그룹(0102)/범위로 CSKB·CSKU에서 대상 원가요소를 결정하고 BAPI 헤더 텍스트를 만든다 (INITIALIZE_DATA, DETERMINE_KOSTL, DETERMINE_KSTAR)
  6. Z_CO_SEL_KOSTL_BUDGET_ACTUAL로 From 월의 예산/실적/가용예산(ZCOS0030)을 조회하고 GT_DATA로 옮기며 가용액 0인 라인은 노란색(비대상)으로 표시한다 (PROCESS_DATA, GET_AVAILABLE_BG_DATA, TRANSFER_GT_DATA)
  7. 화면 100 ALV Grid에 이월 대상 목록을 표시하고 이월(&POST) 확인 팝업을 띄운다 (DISPLAY_ALV_LIST, EXECUTE_BAPI)
  8. From 월에 음수(P), To 월에 양수(C)로 BAPI_COSTACTPLN_POSTPRIMCOST를 전기하고 C 실패 시 From 월을 원복(R)한 뒤 결과 상태를 반영하고 ZCOT0020에 이력을 저장한다 (BAPI_CARRY_FWD_POST, FILL_TABLES, SET_RESULT, INSERT_LOG)

핵심 내부테이블

  • GT_KOSTL_OBJNR — 대상 코스트센터·OBJNR·명칭 (ONRKS, CSKT) (채움: DETERMINE_KOSTL / 소비: GET_AVAILABLE_BG_DATA)
  • GT_KSTAR — 대상 원가요소·명칭 (CSKB, CSKU) (채움: DETERMINE_KSTAR / 소비: GET_AVAILABLE_BG_DATA)
  • GT_ZCOS0030 — Z_CO_SEL_KOSTL_BUDGET_ACTUAL 결과: 코스트센터/원가요소별 예산·실적·가용예산 (채움: GET_AVAILABLE_BG_DATA / 소비: TRANSFER_GT_DATA)
  • GT_DATA — 이월 대상 메인 ALV 테이블 (ZCOS0030 + FROM_BG, TO_BG, BAPI_TARGET, STATUS, MESSAGE) (채움: TRANSFER_GT_DATA, SET_RESULT / 소비: DISPLAY_ALV_LIST, FILL_TABLES, SET_RESULT, INSERT_LOG)

테이블 / 외부 호출

  • read: AENR, CSKB, CSKT, CSKU, DD07T, ONRKS, T001, TKA01, TKT09
  • write: GT_DATA, ZCOT0020
  • 외부 호출: ALSM_EXCEL_TO_INTERNAL_TABLE, BAPI_COSTACTPLN_POSTPRIMCOST, BAPI_CURRENCY_CONV_TO_INTERNAL, BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, CC01, CLOI_PUT_SIGN_IN_FRONT, CONVERSION_EXIT_ALPHA_INPUT, CONVERSION_EXIT_ALPHA_OUTPUT, CONVERT_OTF, CONVERT_TO_LOCAL_CURRENCY, CURRENCY_AMOUNT_IDOC_TO_SAP, CURRENCY_AMOUNT_SAP_TO_IDOC, DATE_CHECK_PLAUSIBILITY, DEQUEUE_EZ_ZCOT0020, DYNP_VALUES_READ, DYNP_VALUES_UPDATE, ENQUEUE_EZ_ZCOT0020, F4IF_INT_TABLE_VALUE_REQUEST, F4_DATE, FI_PERIOD_DETERMINE, GUI_DOWNLOAD, K_GROUP_SELECT, K_HIERARCHY_TABLES_READ, LVC_FIELDCATALOG_MERGE, LVC_FIELDCAT_COMPLETE, LVC_TRANSFER_FROM_SLIS, MD_CONVERT_MATERIAL_UNIT, MESSAGE_TEXT_BUILD, NUMBER_GET_NEXT

로직 조각 (77건 / unit 65개)

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

FORM SET_DYNP — ZCOC0030F01 L22-L55 (34줄)

초기화 시 관리회계영역 텍스트를 설정하고 회계연도·From 월(전월)·To 월(당월) 기본값을 계산하며 DEV 시스템에서는 테스트용 범위를 채운다.

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

[calculation] 현재 일자로 회계연도 P_GJAHR를 설정하고 From 월 P_FROM은 전월(1월이면 12월), To 월 P_TO는 당월로 기본값을 계산한다.

    30|   P_GJAHR = SY-DATUM+0(4).
    31|   IF SY-DATUM+4(2) NE '01'.
    32|     P_FROM = SY-DATUM+4(2) - 1.
    33|   ELSE.
    34|     P_FROM = '12'.
    35|   ENDIF.
    36| 
    37|   CLEAR : GV_LOCK.
    38| 
    39|   P_TO = SY-DATUM+4(2).
  • EN: Derive default fiscal year from the system date, set source period P_FROM to previous month (12 if January) and target period P_TO to current month.
  • 업무 키워드: 기본값 설정, 회계연도, 이월 기준월, 이월 대상월
  • English: Fiscal Year, Period, Default Value, Carry Forward
  • 정의부(복사 시 함께 필요): P_GJAHR, P_FROM, GV_LOCK, P_TO
  • 위치: abap://ZCOC0030/ZCOC0030F01#L30-L39 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#SET_DYNP#C1

FORM SET_KOKRS_BASE — ZCO_COMMON L2094-L2101 (8줄)

TKA01에서 관리회계영역의 명칭·통화·계정과목표를 읽어 전역변수에 설정하는 공통 FORM이다.

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

[sql_select] TKA01에서 관리회계영역(P_KOKRS)의 명칭(BEZEI), 통화(WAERS), 계정과목표(KTOPL)를 조회해 GV_KOKRS_BEZEI/GV_WAERS/GV_KTOPL에 저장해 이후 검증·금액 변환의 기준으로 쓴다.

  2096|   SELECT SINGLE BEZEI WAERS KTOPL
  2097|     INTO (GV_KOKRS_BEZEI, GV_WAERS, GV_KTOPL)
  2098|     FROM TKA01
  2099|     WHERE KOKRS = P_KOKRS.
  • EN: Read controlling area description, currency and chart of accounts from TKA01 into global variables used for validation and amount conversion.
  • 테이블(파서): read TKA01 / write -
  • SAP 객체: TKA01
  • 업무 키워드: 관리회계영역 기본정보, 통화, 계정과목표
  • English: Controlling Area, TKA01, Chart of Accounts, Currency
  • 정의부(복사 시 함께 필요): GV_KOKRS_BEZEI, GV_WAERS, GV_KTOPL, P_KOKRS
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2096-L2099 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#SET_KOKRS_BASE#C1

FORM F4_GRP — ZCOC0030F01 L491-L513 (23줄)

K_GROUP_SELECT를 호출해 코스트센터 그룹(0101) 또는 원가요소 그룹(0102) 세트를 선택하는 F4 검색도움을 제공한다.

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

[fm_call] 세트 클래스(0101 코스트센터 그룹/0102 원가요소 그룹)·필드명·관리회계영역·계정과목표 GV_KTOPL을 넘겨 K_GROUP_SELECT로 그룹 선택 대화상자를 띄우고 선택된 세트명을 선택화면 파라미터에 반환한다.

   500|   CALL FUNCTION 'K_GROUP_SELECT'
   501|     EXPORTING
   502|       CLASS         = LV_CLASS
   503|       FIELD_NAME    = LV_FIELDNAME
   504|       KOKRS         = P_KOKRS
   505|       KTOPL         = GV_KTOPL
   506|     IMPORTING
   507|       SET_NAME      = P_DYN_FIELD
   508|       SET_TITLE     = KMAS_D-SETTXT_KST
   509|     EXCEPTIONS
   510|       NO_SET_PICKED = 1
   511|       OTHERS        = 2.
  • EN: Call K_GROUP_SELECT with set class (0101 cost center group / 0102 cost element group), field name, controlling area and chart of accounts to let the user pick a group and return the set name.
  • 호출(파서): K_GROUP_SELECT
  • SAP 객체: K_GROUP_SELECT, RGSBS
  • 업무 키워드: 그룹 선택, 코스트센터 그룹, 원가요소 그룹, 검색도움
  • English: Cost Center Group, Cost Element Group, Set, F4 Help, Chart of Accounts
  • 정의부(복사 시 함께 필요): LV_CLASS, LV_FIELDNAME, P_KOKRS, GV_KTOPL, KMAS_D
  • 위치: abap://ZCOC0030/ZCOC0030F01#L500-L511 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#F4_GRP#C1

FORM F4_KSTAR — ZCOC0030F01 L521-L544 (24줄)

관리회계영역의 유효한 원가요소(50000000~69999999)를 CSKB/CSKU에서 조회해 F4 검색도움 목록으로 제공한다.

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

[sql_select] CSKB와 CSKU를 조인해 P_KOKRS의 원가요소 50000000~69999999 중 현재 유효한 원가요소와 명칭을 조회하고 F4IF_INT_TABLE_VALUE_REQUEST로 선택화면 필드에 F4 목록을 띄운다.

   530|   SELECT  A~KSTAR  B~KTEXT
   531|     FROM CSKB AS A INNER JOIN CSKU AS B
   532|     ON A~KSTAR = B~KSTAR
   533|     INTO CORRESPONDING FIELDS OF TABLE LT_CSKA
   534|     WHERE A~KOKRS = P_KOKRS
   535|     AND A~KSTAR BETWEEN '0050000000' AND '0069999999'
   536|     AND SPRAS = SY-LANGU
   537|     AND A~DATBI >= SY-DATUM
   538|     AND A~DATAB <= SY-DATUM.
   539| 
   540|   PERFORM F4IF_INT_TABLE_VALUE_REQUEST
   541|     TABLES LT_CSKA LT_FIELDTAB LT_RETURN
   542|       USING 'KSTAR' P_FIELD.
  • EN: Select valid cost elements in range 50000000-69999999 with texts from CSKB joined CSKU for the controlling area and present them as an F4 value list via F4IF_INT_TABLE_VALUE_REQUEST.
  • 테이블(파서): read CSKB, CSKU / write -
  • 호출(파서): F4IF_INT_TABLE_VALUE_REQUEST
  • SAP 객체: CSKB, CSKU, F4IF_INT_TABLE_VALUE_REQUEST
  • 업무 키워드: 원가요소 검색도움, 원가요소 명칭, 유효기간, F4
  • English: Cost Element, Search Help, F4 Help, Controlling Area
  • 정의부(복사 시 함께 필요): LT_CSKA, P_KOKRS, LT_FIELDTAB, LT_RETURN
  • 위치: abap://ZCOC0030/ZCOC0030F01#L530-L542 · confidence 0.85 · ZCOC0030#ZCOC0030F01#FORM#F4_KSTAR#C1

EVENT START-OF-SELECTION — ZCOC0030 L56-L66 (11줄)

ZCOT0020 잠금 설정, 입력 검증, 초기화(대상 코스트센터·원가요소 결정), 가용예산 조회를 순서대로 수행하는 메인 이벤트이다.

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

[control_flow] ENQUEUE_ZCOT0020으로 잠금을 걸고 CHECK_INPUT으로 입력을 검증한 뒤 INITIALIZE_DATA(대상 결정)와 PROCESS_DATA(가용예산 조회·GT_DATA 구성)를 순차 실행한다.

    58|   PERFORM ENQUEUE_ZCOT0020 CHANGING GV_LOCK.
    59| 
    60|   PERFORM CHECK_INPUT.
    61|   PERFORM INITIALIZE_DATA.
    62|   PERFORM PROCESS_DATA.
  • EN: Main flow: lock ZCOT0020, validate selection input, initialize target cost centers/cost elements, then read available budget data into GT_DATA.
  • 호출(파서): ENQUEUE_ZCOT0020, CHECK_INPUT, INITIALIZE_DATA, PROCESS_DATA
  • SAP 객체: ZCOT0020
  • 업무 키워드: 메인 흐름, 잠금, 입력 검증, 가용예산 조회
  • English: Main Processing, Enqueue, Validation, Available Budget
  • 정의부(복사 시 함께 필요): GV_LOCK
  • 위치: abap://ZCOC0030/ZCOC0030#L58-L62 · confidence 0.85 · ZCOC0030#ZCOC0030#EVENT#START-OF-SELECTION#C1

FORM ENQUEUE_ZCOT0020 — ZCOC0030F01 L787-L806 (20줄)

예산조정 이력 테이블 ZCOT0020에 ENQUEUE_EZ_ZCOT0020으로 잠금을 걸고 실패 시 잠금 메시지를 표시하며 오류 플래그를 반환한다.

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

[fm_call] ENQUEUE_EZ_ZCOT0020으로 ZCOT0020 테이블 전체 잠금을 요청하고, 타 사용자 잠금(FOREIGN_LOCK) 등 실패 시 시스템 메시지를 I 타입으로 보여주고 P_ERR='X'를 반환한다.

   788|   CALL FUNCTION 'ENQUEUE_EZ_ZCOT0020'
   789|     EXPORTING
   790|       MODE_ZCOT0020  = 'X'
   791|       MANDT          = SY-MANDT
   792|     EXCEPTIONS
   793|       FOREIGN_LOCK   = 1
   794|       SYSTEM_FAILURE = 2
   795|       OTHERS         = 3.
   796| 
   797|   IF SY-SUBRC <> 0.
   798| *   Retrieve message displayed within Function Module
   799|     MESSAGE ID     SY-MSGID
   800|               TYPE   'I'
   801|               NUMBER SY-MSGNO
   802|               WITH   SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   803|     P_ERR = 'X'.
   804|     EXIT.
   805|   ENDIF.
  • EN: Request an exclusive lock on ZCOT0020 via ENQUEUE_EZ_ZCOT0020; on FOREIGN_LOCK or failure show the system message and return error flag P_ERR.
  • 호출(파서): ENQUEUE_EZ_ZCOT0020
  • SAP 객체: ENQUEUE_EZ_ZCOT0020, ZCOT0020
  • 업무 키워드: 잠금 설정, 예산조정 이력, 동시 실행 방지, 잠금 오류
  • English: Enqueue, Lock Object, Foreign Lock, Budget Adjustment Log
  • 위치: abap://ZCOC0030/ZCOC0030F01#L788-L805 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#ENQUEUE_ZCOT0020#C1

FORM CHECK_INPUT — ZCOC0030F01 L78-L111 (34줄)

코스트센터/원가요소는 그룹과 개별 범위 중 하나만 입력되었는지, 이월 대상월(To)이 From 월보다 큰지 선택화면 입력을 검증한다.

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

[validation] 코스트센터 그룹(P_KSSET)과 코스트센터 범위(S_KOSTL), 원가요소 그룹(P_KASET)과 원가요소 범위(S_KSTAR)가 각각 둘 다 입력되거나 둘 다 비어 있으면 오류 메시지로 처리를 중단한다.

    80|   IF P_KSSET IS NOT INITIAL AND S_KOSTL[] IS NOT INITIAL.
    81|     MESSAGE S000 DISPLAY LIKE 'E'
    82|       WITH '코스트센터 그룹 혹은 코스트센터 필드 하나만 입력하여 주십시오.'(F01).
    83|     LEAVE LIST-PROCESSING.
    84|   ENDIF.
    85| 
    86|   IF P_KSSET IS INITIAL AND S_KOSTL[] IS INITIAL.
    87|     MESSAGE S000 DISPLAY LIKE 'E'
    88|       WITH '코스트센터 그룹 혹은 코스트센터 필드를 입력하여 주십시오.'(F02).
    89|     LEAVE LIST-PROCESSING.
    90|   ENDIF.
    91| 
    92|   IF P_KASET IS NOT INITIAL AND S_KSTAR[] IS NOT INITIAL.
    93|     MESSAGE S000 DISPLAY LIKE 'E'
    94|       WITH '원가요소 그룹 혹은 원가요소 필드 하나만 입력하여 주십시오.'(F03).
    95|     LEAVE LIST-PROCESSING.
    96|   ENDIF.
    97| 
    98|   IF P_KASET IS  INITIAL AND S_KSTAR[] IS INITIAL.
    99|     MESSAGE S000 DISPLAY LIKE 'E'
   100|       WITH '원가요소 그룹 혹은 원가요소 필드를 입력하여 주십시오.'(F04).
   101|     LEAVE LIST-PROCESSING.
   102|   ENDIF.
  • EN: Validate that exactly one of cost center group / cost center range and exactly one of cost element group / cost element range is entered, otherwise abort with an error message.
  • 업무 키워드: 입력 검증, 코스트센터 그룹, 원가요소 그룹, 상호 배타 입력
  • English: Input Validation, Cost Center Group, Cost Element Group, Selection Screen
  • 정의부(복사 시 함께 필요): P_KSSET, S_KOSTL, P_KASET, S_KSTAR
  • 위치: abap://ZCOC0030/ZCOC0030F01#L80-L102 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#CHECK_INPUT#C1

[validation] 이월 대상월 P_TO가 From 월 P_FROM보다 크지 않으면 오류 메시지로 처리를 중단해 과거 월로의 역이월을 막는다.

   105|   IF P_TO <= P_FROM.
   106|     MESSAGE S000 DISPLAY LIKE 'E'
   107|           WITH '입력월(From)보다 큰 이월 대상월(To)을 입력하여 주십시오.'(F04).
   108|     LEAVE LIST-PROCESSING.
   109|   ENDIF.
  • EN: Ensure the target period P_TO is greater than the source period P_FROM, otherwise abort with an error.
  • 업무 키워드: 이월 대상월 검증, 기간 순서, 입력 검증
  • English: Period Validation, Carry Forward
  • 정의부(복사 시 함께 필요): P_TO, P_FROM
  • 위치: abap://ZCOC0030/ZCOC0030F01#L105-L109 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#CHECK_INPUT#C2

FORM INITIALIZE_DATA — ZCOC0030F01 L118-L157 (40줄)

관리회계영역 기본정보 설정, 메인 ALV 필드카탈로그 취득, 전역 플래그 초기화 후 대상 코스트센터·원가요소를 결정하고 BAPI 헤더 텍스트('예산 이월 연도: From월 -> To월')를 만든다.

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

[control_flow] DETERMINE_KOSTL·DETERMINE_KSTAR로 대상 코스트센터와 원가요소를 확정한 뒤 회계연도와 From/To 월을 조합해 BAPI 전표 헤더 텍스트 GV_HEADER_MSG('예산 이월 YYYY년 : M월 -> N월')를 생성한다.

   145|   PERFORM DETERMINE_KOSTL.
   146|   PERFORM DETERMINE_KSTAR.
   147| 
   148|   CLEAR : GV_HEADER_MSG.
   149| 
   150|   WRITE P_FROM TO LV_FROM NO-ZERO.
   151|   WRITE P_TO TO LV_TO NO-ZERO.
   152| 
   153|   CONCATENATE '예산 이월'(F05) ` `
   154|       P_GJAHR `년 : ` LV_FROM `월 -> ` LV_TO `월 `
   155|     INTO GV_HEADER_MSG.
  • EN: Determine target cost centers and cost elements, then compose the BAPI document header text GV_HEADER_MSG from fiscal year and from/to periods.
  • 호출(파서): DETERMINE_KOSTL, DETERMINE_KSTAR
  • 업무 키워드: 대상 코스트센터 결정, 대상 원가요소 결정, 헤더 텍스트, 예산 이월
  • English: Cost Center, Cost Element, Document Header Text, Carry Forward
  • 정의부(복사 시 함께 필요): GV_HEADER_MSG, P_FROM, LV_FROM, P_TO, LV_TO, P_GJAHR
  • 위치: abap://ZCOC0030/ZCOC0030F01#L145-L155 · confidence 0.85 · ZCOC0030#ZCOC0030F01#FORM#INITIALIZE_DATA#C1

FORM GET_FCAT_LIKE_ITAB — ZCO_COMMON L160-L201 (42줄)

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

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

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

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

FORM DETERMINE_KOSTL — ZCOC0030F01 L553-L593 (41줄)

코스트센터 범위(S_KOSTL) 또는 코스트센터 그룹(P_KSSET, SETLEAF 클래스 0101)으로 대상 코스트센터를 결정하고 ONRKS/CSKT에서 OBJNR·명칭을 GT_KOSTL_OBJNR·GR_SELECT_OBJ에 담는다.

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

[validation] 코스트센터 범위가 입력되면 그대로 쓰고, 아니면 코스트센터 그룹 P_KSSET을 GET_SETLEAF_VALUES(클래스 0101)로 풀어 범위 LR_KOSTL을 만들며 그룹에 값이 없으면 오류로 중단한다.

   559|   IF S_KOSTL[] IS NOT INITIAL.
   560|     LR_KOSTL[] = S_KOSTL[].
   561|   ELSEIF P_KSSET IS NOT INITIAL.
   562|     PERFORM GET_SETLEAF_VALUES USING
   563|           P_KSSET '0101'.
   564|     MACRO_VALUE_TO_RANGE : LR_KOSTL GT_VALUE_SET.
   565| 
   566|     IF LR_KOSTL[] IS INITIAL.
   567|       MESSAGE S000 DISPLAY LIKE 'E'
   568|           WITH '코스트센터 그룹에 데이터가 없습니다.'(F09).
   569|       LEAVE LIST-PROCESSING.
   570|     ENDIF.
   571|   ENDIF.
  • EN: Use the entered cost center range, or resolve cost center group P_KSSET via GET_SETLEAF_VALUES (set class 0101) into range LR_KOSTL; abort with error if the group is empty.
  • 호출(파서): GET_SETLEAF_VALUES
  • SAP 객체: SETLEAF, GET_SETLEAF_VALUES
  • 업무 키워드: 코스트센터 그룹, 그룹 값 전개, 범위 생성, 입력 검증
  • English: Cost Center Group, Set Leaf, Range, Validation
  • 정의부(복사 시 함께 필요): S_KOSTL, LR_KOSTL, P_KSSET, MACRO_VALUE_TO_RANGE, GT_VALUE_SET
  • 위치: abap://ZCOC0030/ZCOC0030F01#L559-L571 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#DETERMINE_KOSTL#C1

[sql_select] ONRKS(코스트센터 오브젝트번호)와 CSKT(명칭)를 조인해 관리회계영역·범위 LR_KOSTL·현재 유효한 코스트센터의 OBJNR과 명칭을 GT_KOSTL_OBJNR에 조회하고, OBJNR 범위 GR_SELECT_OBJ를 만들되 대상이 없으면 오류로 중단한다.

   573|   SELECT A~OBJNR A~KOSTL B~KTEXT AS KOSTL_T
   574|     FROM ONRKS AS A INNER JOIN CSKT AS B
   575|       ON A~KOSTL = B~KOSTL
   576|     INTO CORRESPONDING FIELDS OF TABLE GT_KOSTL_OBJNR
   577|     WHERE A~KOKRS = P_KOKRS
   578|     AND A~KOSTL IN LR_KOSTL
   579|     AND B~DATBI >= SY-DATUM
   580|     AND SPRAS = SY-LANGU.
   581| 
   582|   SORT GT_KOSTL_OBJNR BY OBJNR.
   583| 
   584|   " 실제조회 대상 코스트센터
   585|   LOOP AT GT_KOSTL_OBJNR.
   586|     ADD_RANGE_EQ : GR_SELECT_OBJ GT_KOSTL_OBJNR-OBJNR.
   587|   ENDLOOP.
   588| 
   589|   IF GR_SELECT_OBJ[] IS INITIAL.
   590|     MESSAGE S000 DISPLAY LIKE 'E' WITH '대상 코스트센터가 없습니다.'(F13).
   591|     LEAVE LIST-PROCESSING.
   592|   ENDIF.
  • EN: Select cost center object numbers and texts from ONRKS joined CSKT for the controlling area and range into GT_KOSTL_OBJNR, build OBJNR range GR_SELECT_OBJ and abort with error when no target cost center exists.
  • 테이블(파서): read ONRKS, CSKT / write -
  • SAP 객체: ONRKS, CSKT, CSKS
  • 업무 키워드: 코스트센터 조회, 오브젝트 번호, 코스트센터 명칭, 대상 없음 검증
  • English: Cost Center, Object Number, Cost Center Text, Controlling Area
  • 정의부(복사 시 함께 필요): GT_KOSTL_OBJNR, P_KOKRS, LR_KOSTL, ADD_RANGE_EQ, GR_SELECT_OBJ
  • 위치: abap://ZCOC0030/ZCOC0030F01#L573-L592 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#DETERMINE_KOSTL#C2

FORM GET_SETLEAF_VALUES — ZCO_COMMON L233-L297 (65줄)

세트 클래스(코스트센터 그룹/원가요소 그룹 등)와 세트명으로 SETID를 구성해 K_HIERARCHY_TABLES_READ로 세트의 값 목록을 GT_VALUE_SET에 읽어오는 공통 FORM이다.

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

[fm_call] 세트 클래스(0101 코스트센터, 0102 원가요소, 0103 오더, 0106 손익센터, 0109 계정과목)에 따라 관리회계영역(GC_KOKRS) 또는 계정과목표(GV_KTOPL)를 붙여 SETID를 만들고 K_HIERARCHY_TABLES_READ로 세트 계층의 값 구간(T_VALUES)을 GT_VALUE_SET에 조회한다.

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

FORM DETERMINE_KSTAR — ZCOC0030F01 L602-L643 (42줄)

원가요소 범위(S_KSTAR) 또는 원가요소 그룹(P_KASET, SETLEAF 클래스 0102)으로 대상 원가요소를 결정하고 CSKB/CSKU에서 유효한 원가요소(50000000~69999999)와 명칭을 GT_KSTAR·GR_KSTAR에 담는다.

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

[validation] 원가요소 범위가 입력되면 그대로 쓰고, 아니면 원가요소 그룹 P_KASET을 GET_SETLEAF_VALUES(클래스 0102)로 SETLEAF 값을 풀어 범위 LR_KSTAR로 만들며 그룹에 값이 없으면 오류로 중단한다.

   611|   IF S_KSTAR[] IS NOT INITIAL.
   612|     LR_KSTAR[] = S_KSTAR[].
   613|   ELSEIF P_KASET IS NOT INITIAL.
   614|     PERFORM GET_SETLEAF_VALUES USING
   615|               P_KASET '0102'.
   616|     MACRO_VALUE_TO_RANGE : LR_KSTAR GT_VALUE_SET.
   617| 
   618|     IF LR_KSTAR[] IS INITIAL.
   619|       MESSAGE S000 DISPLAY LIKE 'E'
   620|           WITH '원가요소 그룹에 데이터가 없습니다.'(F10).
   621|       LEAVE LIST-PROCESSING.
   622|     ENDIF.
   623|   ENDIF.
  • EN: Use the entered cost element range, or resolve cost element group P_KASET via GET_SETLEAF_VALUES (set class 0102) into range LR_KSTAR; abort with error if the group is empty.
  • 호출(파서): GET_SETLEAF_VALUES
  • SAP 객체: SETLEAF, GET_SETLEAF_VALUES
  • 업무 키워드: 원가요소 그룹, 그룹 값 전개, 범위 생성, 입력 검증
  • English: Cost Element Group, Set Leaf, Range, Validation
  • 정의부(복사 시 함께 필요): S_KSTAR, LR_KSTAR, P_KASET, MACRO_VALUE_TO_RANGE, GT_VALUE_SET
  • 위치: abap://ZCOC0030/ZCOC0030F01#L611-L623 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#DETERMINE_KSTAR#C1

[sql_select] CSKB(원가요소 마스터)와 CSKU(명칭)를 조인하여 관리회계영역 P_KOKRS, 원가요소 50000000~69999999, 현재 유효기간 내, LR_KSTAR 범위에 해당하는 원가요소와 명칭을 GT_KSTAR에 조회하고 실조회용 범위 GR_KSTAR를 구성한다.

   626|   SELECT  A~KSTAR  B~KTEXT AS KSTAR_T
   627|   FROM CSKB AS A INNER JOIN CSKU AS B
   628|   ON A~KSTAR = B~KSTAR
   629|   INTO CORRESPONDING FIELDS OF TABLE GT_KSTAR
   630|   WHERE A~KOKRS = P_KOKRS
   631|   AND A~KSTAR BETWEEN '0050000000' AND '0069999999'
   632|   AND SPRAS = SY-LANGU
   633|   AND A~DATBI >= SY-DATUM
   634|   AND A~DATAB <= SY-DATUM
   635|   AND A~KSTAR IN LR_KSTAR.
   636| 
   637|   SORT GT_KSTAR BY KSTAR.
   638| 
   639|   " 실 제조회 대상 원가요소
   640|   LOOP AT GT_KSTAR.
   641|     ADD_RANGE_EQ : GR_KSTAR GT_KSTAR-KSTAR.
   642|   ENDLOOP.
  • EN: Select valid cost elements (50000000-69999999, current validity) with texts from CSKB joined CSKU for the controlling area and range into GT_KSTAR, then build range GR_KSTAR for the actual selection.
  • 테이블(파서): read CSKB, CSKU / write -
  • SAP 객체: CSKB, CSKU, CSKA
  • 업무 키워드: 원가요소 조회, 원가요소 명칭, 유효기간, 대상 원가요소 범위
  • English: Cost Element, Cost Element Text, Validity Period, Controlling Area
  • 정의부(복사 시 함께 필요): GT_KSTAR, P_KOKRS, LR_KSTAR, ADD_RANGE_EQ, GR_KSTAR
  • 위치: abap://ZCOC0030/ZCOC0030F01#L626-L642 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#DETERMINE_KSTAR#C2

FORM GET_AVAILABLE_BG_DATA — ZCOC0030F01 L652-L685 (34줄)

대상 코스트센터·원가요소 목록을 넘겨 Z_CO_SEL_KOSTL_BUDGET_ACTUAL로 From 월의 예산·실적·가용예산(ZCOS0030)을 조회한다.

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

[fm_call] GT_KOSTL_OBJNR·GT_KSTAR를 ZCOS0010/ZCOS0020 입력 테이블로 변환한 뒤 Z_CO_SEL_KOSTL_BUDGET_ACTUAL을 관리회계영역·연도·From 월(P_FROM) 기준으로 호출해 코스트센터/원가요소별 예산·실적·가용예산 GT_ZCOS0030을 받아 OBJNR로 정렬한다.

   659|   LOOP AT GT_KOSTL_OBJNR.
   660|     LT_ZCOS0010-KOSTL = GT_KOSTL_OBJNR-KOSTL.
   661|     APPEND LT_ZCOS0010. CLEAR : LT_ZCOS0010.
   662|   ENDLOOP.
   663| 
   664|   LOOP AT GT_KSTAR.
   665|     LT_ZCOS0020-KSTAR = GT_KSTAR-KSTAR.
   666|     APPEND LT_ZCOS0020. CLEAR : LT_ZCOS0020.
   667|   ENDLOOP.
   668| 
   669|   CALL FUNCTION 'Z_CO_SEL_KOSTL_BUDGET_ACTUAL'
   670|     EXPORTING
   671|       I_KOKRS      = P_KOKRS
   672|       I_GJAHR      = P_GJAHR
   673|       I_S_PERBL    = P_FROM
   674|       I_E_PERBL    = P_FROM
   675|     IMPORTING
   676|       E_RESULTCODE = RESULTCODE
   677|       E_RESULTMSG  = RESULTMSG
   678|     TABLES
   679|       IT_KOSTL     = LT_ZCOS0010
   680|       IT_KSTAR     = LT_ZCOS0020
   681|       ET_ZCOS0030  = GT_ZCOS0030[].
   682| 
   683|   SORT GT_ZCOS0030 BY OBJNR.
  • EN: Build cost center (ZCOS0010) and cost element (ZCOS0020) input tables and call Z_CO_SEL_KOSTL_BUDGET_ACTUAL for the source period to get budget/actual/available budget per cost center and cost element into GT_ZCOS0030, sorted by OBJNR.
  • 호출(파서): Z_CO_SEL_KOSTL_BUDGET_ACTUAL
  • SAP 객체: Z_CO_SEL_KOSTL_BUDGET_ACTUAL, ZCOS0010, ZCOS0020, ZCOS0030
  • 업무 키워드: 가용예산 조회, 예산 실적 잔액, 코스트센터, 원가요소, 이월 기준월
  • English: Available Budget, Budget vs Actual, Cost Center, Cost Element, Period
  • 정의부(복사 시 함께 필요): GT_KOSTL_OBJNR, LT_ZCOS0010, GT_KSTAR, LT_ZCOS0020, P_KOKRS, P_GJAHR, P_FROM, RESULTCODE, RESULTMSG, GT_ZCOS0030
  • 위치: abap://ZCOC0030/ZCOC0030F01#L659-L683 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#GET_AVAILABLE_BG_DATA#C1

FORM TRANSFER_GT_DATA — ZCOC0030F01 L175-L201 (27줄)

Z_CO_SEL_KOSTL_BUDGET_ACTUAL 결과 GT_ZCOS0030를 메인 테이블 GT_DATA로 옮기고 가용예산(BG_SUM)이 0인 라인은 노란색·비대상, 그 외는 BAPI 대상으로 표시한다.

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

[other] GT_ZCOS0030 각 라인을 GT_DATA로 복사하며 가용예산 BG_SUM을 FROM_BG(이월금액)로 두고 천원 단위 표시금액을 계산한 뒤, FROM_BG가 0이면 상태 YELLOW·BAPI 비대상, 아니면 INIT·BAPI_TARGET='X'로 설정한다.

   178|   LOOP AT GT_ZCOS0030.
   179|     MOVE-CORRESPONDING GT_ZCOS0030 TO GT_DATA.
   180|     GT_DATA-FROM_BG = GT_DATA-BG_SUM.
   181| 
   182|     " 1000원 단위로 보이기 위해 화면상에만 표시할 금액
   183|     " 1000원 단위로 보이기 위해 화면상에만 표시할 금액
   184|     PERFORM CONVERT_1000_D USING GT_DATA-FROM_BG
   185|        CHANGING GT_DATA-FROM_BG_VIEW.
   186| 
   187|     PERFORM CONVERT_1000_D USING GT_DATA-TO_BG
   188|        CHANGING GT_DATA-TO_BG_VIEW.
   189|     IF GT_DATA-FROM_BG = 0.
   190|       GT_DATA-STATUS = GC_STATUS_YELLOW.
   191|       CLEAR : GT_DATA-BAPI_TARGET.
   192|     ELSE.
   193|       GT_DATA-STATUS = GC_STATUS_INIT.
   194|       GT_DATA-BAPI_TARGET = 'X'.
   195|     ENDIF.
   196| 
   197|     APPEND GT_DATA.
   198|     CLEAR : GT_DATA.
   199|   ENDLOOP.
  • EN: Move each GT_ZCOS0030 row to GT_DATA, set FROM_BG from available budget BG_SUM, derive 1000-unit view amounts, and flag rows with zero available budget as YELLOW/non-target, others as BAPI targets.
  • 호출(파서): CONVERT_1000_D, CONVERT_1000_D
  • SAP 객체: ZCOS0030
  • 업무 키워드: 가용예산, 이월 대상 판정, 이월 금액, 천원 단위 표시, 상태 아이콘
  • English: Available Budget, Carry Forward Target, Status Icon, Cost Center
  • 정의부(복사 시 함께 필요): GT_ZCOS0030, GT_DATA, GC_STATUS_YELLOW, GC_STATUS_INIT
  • 위치: abap://ZCOC0030/ZCOC0030F01#L178-L199 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#TRANSFER_GT_DATA#C1

EVENT END-OF-SELECTION — ZCOC0030 L67-L78 (12줄)

온라인 실행 시 검증된 업로드 데이터(GT_DATA)가 있으면 화면 100(ALV)을 호출하고 없으면 메시지를 내는 END-OF-SELECTION 이벤트이다.

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

[control_flow] 배치가 아닌 온라인 실행이고 GT_DATA가 있으면 CALL SCREEN 100으로 ALV 검증 결과 화면을 띄우고, 없으면 '조회된 데이터가 없습니다' 메시지를 낸다.

    68|   IF SY-BATCH NE 'X'.
    69|     IF GT_DATA[] IS NOT INITIAL.
    70|       CALL SCREEN 100.
    71|     ELSE.
    72|       MESSAGE S000 WITH '조회된 데이터가 없습니다.'.
    73|     ENDIF.
    74|   ELSE.
    75|     IF GT_DATA[] IS NOT INITIAL.
    76| *      PERFORM DISPLAY_SPOOL_BY_SALV TABLES GT_DATA[].
    77|     ENDIF.
    78|   ENDIF...
  • EN: In dialog mode call screen 100 to show the ALV when GT_DATA is filled, otherwise issue a no-data message; batch mode does nothing.
  • 호출(파서): 100
  • SAP 객체: GT_DATA
  • 업무 키워드: 결과 화면 호출, 데이터 없음 메시지
  • English: CALL SCREEN, ALV, Batch Mode
  • 정의부(복사 시 함께 필요): GT_DATA
  • 위치: abap://ZCOC0030/ZCOC0030#L68-L78 · confidence 0.85 · ZCOC0030#ZCOC0030#EVENT#END-OF-SELECTION#C1

FORM SET_COMPANY_BASE — ZCO_COMMON L210-L227 (18줄)

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

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

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

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

FORM DYNPRO — ZCO_COMMON L309-L335 (27줄)

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

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

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

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

FORM DATE_CHK — ZCO_COMMON L446-L455 (10줄)

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

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

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

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

FORM BAR_MSG_PER — ZCO_COMMON L492-L516 (25줄)

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

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

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

   498|   L_NCNT1 = P_CNT1.
   499|   L_NCNT2 = P_CNT2.
   500| 
   501|   GV_CALC_I   = P_CNT1 * 100 / P_CNT2.
   502|   GV_CALC_C0  = GV_CALC_I.
   503| 
   504|   IF L_NCNT1 IS INITIAL AND L_NCNT2 IS INITIAL.
   505|     GV_PROGRESS_MSG = P_TEXT.
   506|   ELSE.
   507|     CONCATENATE P_TEXT '(' GV_CALC_C0 '% )'
   508|            INTO GV_PROGRESS_MSG SEPARATED BY SPACE.
   509|     CONDENSE GV_PROGRESS_MSG.
   510|   ENDIF.
   511| 
   512|   CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
   513|     EXPORTING
   514|       PERCENTAGE = GV_CALC_I
   515|       TEXT       = GV_PROGRESS_MSG.
  • EN: Compute the percentage of processed lines and show it with the text in the status bar via SAPGUI_PROGRESS_INDICATOR.
  • 호출(파서): SAPGUI_PROGRESS_INDICATOR
  • SAP 객체: SAPGUI_PROGRESS_INDICATOR
  • 업무 키워드: 진행률 표시, 처리 건수
  • English: Progress Indicator, Status Bar
  • 정의부(복사 시 함께 필요): L_NCNT1, L_NCNT2, GV_CALC_I, GV_CALC_C0, GV_PROGRESS_MSG
  • 위치: abap://ZCOC0030/ZCO_COMMON#L498-L515 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#BAR_MSG_PER#C1

FORM DISPLAY_SPOOL_BY_SALV — ZCO_COMMON L525-L535 (11줄)

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

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

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

   528|   CL_SALV_TABLE=>FACTORY(
   529|     IMPORTING
   530|     R_SALV_TABLE = GR_TABLE
   531|   CHANGING
   532|     T_TABLE = PT_TABLE[] ).
   533| 
   534|   GR_TABLE->DISPLAY( ).
  • EN: Create a SALV table object with CL_SALV_TABLE=>FACTORY and display the internal table as an ALV list for spool output.
  • 호출(파서): CL_SALV_TABLE=>FACTORY, GR_TABLE->DISPLAY
  • SAP 객체: CL_SALV_TABLE
  • 업무 키워드: ALV 리스트 출력, 스풀 출력
  • English: SALV, ALV List, Spool
  • 정의부(복사 시 함께 필요): GR_TABLE
  • 위치: abap://ZCOC0030/ZCO_COMMON#L528-L534 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#DISPLAY_SPOOL_BY_SALV#C1

FORM UPLOAD_DATA — ZCO_COMMON L595-L652 (58줄)

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

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

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

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

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

   634|   LOOP AT LT_INTERN.
   635|     AT NEW ROW.
   636|       CLEAR : <L_FS03>.
   637|     ENDAT.
   638| 
   639|     ASSIGN COMPONENT LT_INTERN-COL OF STRUCTURE <L_FS03> TO <L_FS01>.
   640| 
   641|     IF LT_INTERN-VALUE CO '0123456789,.- '.
   642|       REPLACE ALL OCCURRENCES OF ',' IN LT_INTERN-VALUE WITH ''.
   643|     ENDIF.
   644| 
   645|     MOVE LT_INTERN-VALUE TO <L_FS01>.
   646| 
   647|     AT END OF ROW.
   648|       APPEND <L_FS03> TO <L_FS02>.
   649|     ENDAT.
   650|   ENDLOOP.
  • EN: Map each cell value to the structure component by column (removing thousand separators) and append one line per Excel row to the target table.
  • SAP 객체: ALSMEX_TABLINE, GT_UPLOAD
  • 업무 키워드: 셀 값 매핑, 행 단위 적재, 콤마 제거
  • English: Cell Mapping, ASSIGN COMPONENT, Internal Table
  • 정의부(복사 시 함께 필요): ALSMEX_TABLINE, LT_INTERN, <L_FS03>, <L_FS01>, <L_FS02>
  • 위치: abap://ZCOC0030/ZCO_COMMON#L634-L650 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#UPLOAD_DATA#C2

FORM BUILD_MESSAGE — ZCO_COMMON L701-L722 (22줄)

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

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

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

   706|   CALL FUNCTION 'MESSAGE_TEXT_BUILD'
   707|     EXPORTING
   708|       MSGID               = PS_MESSAGE-MSGID
   709|       MSGNR               = PS_MESSAGE-MSGNR
   710|       MSGV1               = PS_MESSAGE-MSGV1
   711|       MSGV2               = PS_MESSAGE-MSGV2
   712|       MSGV3               = PS_MESSAGE-MSGV3
   713|       MSGV4               = PS_MESSAGE-MSGV4
   714|     IMPORTING
   715|       MESSAGE_TEXT_OUTPUT = PV_TEXT.
   716| 
   717|   REPLACE ALL OCCURRENCES OF '&' IN PV_TEXT WITH ''.
  • EN: Build the readable message text from a BDCMSGCOLL entry via MESSAGE_TEXT_BUILD and remove leftover ampersand placeholders.
  • 호출(파서): MESSAGE_TEXT_BUILD
  • SAP 객체: MESSAGE_TEXT_BUILD, BDCMSGCOLL
  • 업무 키워드: BDC 메시지 텍스트, 메시지 조립
  • English: BDCMSGCOLL, Message Text, Call Transaction
  • 위치: abap://ZCOC0030/ZCO_COMMON#L706-L717 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#BUILD_MESSAGE#C1

FORM BUILD_MESSAGE_BAPI — ZCO_COMMON L732-L753 (22줄)

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

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

[fm_call] BAPIRET2의 ID/NUMBER/MESSAGE_V1~4를 MESSAGE_TEXT_BUILD에 넘겨 메시지 텍스트를 만들고 남은 '&' 자리표시자를 제거한다.

   737|   CALL FUNCTION 'MESSAGE_TEXT_BUILD'
   738|     EXPORTING
   739|       MSGID               = PS_MESSAGE-ID
   740|       MSGNR               = PS_MESSAGE-NUMBER
   741|       MSGV1               = PS_MESSAGE-MESSAGE_V1
   742|       MSGV2               = PS_MESSAGE-MESSAGE_V2
   743|       MSGV3               = PS_MESSAGE-MESSAGE_V3
   744|       MSGV4               = PS_MESSAGE-MESSAGE_V4
   745|     IMPORTING
   746|       MESSAGE_TEXT_OUTPUT = PV_TEXT.
   747| 
   748|   REPLACE ALL OCCURRENCES OF '&' IN PV_TEXT WITH ''.
  • EN: Build the message text from a BAPIRET2 entry with MESSAGE_TEXT_BUILD and strip remaining placeholder ampersands.
  • 호출(파서): MESSAGE_TEXT_BUILD
  • SAP 객체: MESSAGE_TEXT_BUILD, BAPIRET2
  • 업무 키워드: BAPI 메시지 텍스트, 메시지 조립
  • English: BAPIRET2, Message Text
  • 위치: abap://ZCOC0030/ZCO_COMMON#L737-L748 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#BUILD_MESSAGE_BAPI#C1

FORM EXCEL_FORM_DOWNLOAD — ZCO_COMMON L760-L890 (131줄)

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

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

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

   802|   CHECK PT_EXCEL_EXPORT[] IS NOT INITIAL.
   803| 
   804|   LOOP AT PT_EXCEL_EXPORT.
   805|     ADD_EXCEL_COL :   PT_EXCEL_EXPORT-EXCEL_COL.
   806|   ENDLOOP.
   807| 
   808|   " 동적 테이블 생성
   809|   CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
   810|     EXPORTING
   811|       IT_FIELDCATALOG = LT_FCAT
   812|     IMPORTING
   813|       EP_TABLE        = LF_DATA.
   814| 
   815|   ASSIGN LF_DATA->* TO <FS_TABLE>.
   816| 
   817|   " 테이블 라인 생성
   818|   CREATE DATA LL_DATA LIKE LINE OF <FS_TABLE>.
   819|   ASSIGN LL_DATA->* TO <FS_LINE>.
   820| 
   821|   " 템플릿 내용 단 한라인만 등록
   822|   LOOP AT LT_FCAT INTO LS_FCAT.
   823|     ASSIGN COMPONENT LS_FCAT-COL_POS
   824|        OF STRUCTURE <FS_LINE> TO <FS_COL>.
   825| 
   826|     IF SY-SUBRC EQ 0.
   827|       <FS_COL> = LS_FCAT-COLTEXT. " COLTEXT 의 내용을 그대로.
   828|     ENDIF.
   829|   ENDLOOP.
   830| 
   831|   " 테이블에 담기.
   832|   APPEND <FS_LINE> TO <FS_TABLE>.
  • EN: Build a field catalog from the Excel column titles, create a dynamic table with CL_ALV_TABLE_CREATE and append one header row containing the titles as the upload template.
  • 호출(파서): CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
  • SAP 객체: CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE, LVC_S_FCAT, GT_EXCEL_EXPORT
  • 업무 키워드: 업로드 양식 생성, 동적 테이블, 엑셀 헤더
  • English: Dynamic Table, Field Catalog, Upload Template
  • 정의부(복사 시 함께 필요): LT_FCAT, LF_DATA, <FS_TABLE>, LL_DATA, <FS_LINE>, LS_FCAT, <FS_COL>
  • 위치: abap://ZCOC0030/ZCO_COMMON#L802-L832 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C1

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

   836|   CONCATENATE SY-REPID '_UploadForm.xls' INTO L_FNAME.
   837| 
   838|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
   839|     EXPORTING
   840|       DEFAULT_EXTENSION = 'XLS'
   841|       DEFAULT_FILE_NAME = L_FNAME
   842|       FILE_FILTER       = '*.XLS'
   843|     CHANGING
   844|       FILENAME          = L_EXT_FILENAME
   845|       PATH              = L_PATH
   846|       FULLPATH          = L_FULLPATH
   847|       USER_ACTION       = L_USR_ACT.
   848| 
   849|   IF L_USR_ACT = '0'.
   850|     CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
   851|       EXPORTING
   852|         FILENAME                = L_FULLPATH
   853|         WRITE_FIELD_SEPARATOR   = 'X'
   854|       IMPORTING
   855|         FILELENGTH              = L_FILE_LEN
   856|       CHANGING
   857|         DATA_TAB                = <FS_TABLE>
   858|       EXCEPTIONS
   859|         FILE_WRITE_ERROR        = 1
   860|         NO_BATCH                = 2
   861|         GUI_REFUSE_FILETRANSFER = 3
   862|         INVALID_TYPE            = 4
   863|         NO_AUTHORITY            = 5
   864|         UNKNOWN_ERROR           = 6
   865|         HEADER_NOT_ALLOWED      = 7
   866|         SEPARATOR_NOT_ALLOWED   = 8
   867|         FILESIZE_NOT_ALLOWED    = 9
   868|         HEADER_TOO_LONG         = 10
   869|         DP_ERROR_CREATE         = 11
   870|         DP_ERROR_SEND           = 12
   871|         DP_ERROR_WRITE          = 13
   872|         UNKNOWN_DP_ERROR        = 14
   873|         ACCESS_DENIED           = 15
   874|         DP_OUT_OF_MEMORY        = 16
   875|         DISK_FULL               = 17
   876|         DP_TIMEOUT              = 18
   877|         FILE_NOT_FOUND          = 19
   878|         DATAPROVIDER_EXCEPTION  = 20
   879|         CONTROL_FLUSH_ERROR     = 21
   880|         OTHERS                  = 22.
   881| 
   882|     IF SY-SUBRC = 0.
   883|       MESSAGE S000 WITH 'Success.'.
   884|     ELSE.
   885|       MESSAGE I000 WITH 'Failure'.
   886|     ENDIF.
   887|   ELSE.
   888|     MESSAGE I000 WITH 'Cancled'.
   889|   ENDIF.
  • EN: Open a save dialog with a default template filename and download the template table via CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD, reporting success, failure or cancel.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
  • 업무 키워드: 엑셀 양식 다운로드, 파일 저장, 결과 메시지
  • English: GUI_DOWNLOAD, File Save Dialog, Excel Template
  • 정의부(복사 시 함께 필요): L_FNAME, L_EXT_FILENAME, L_PATH, L_FULLPATH, L_USR_ACT, L_FILE_LEN, <FS_TABLE>
  • 위치: abap://ZCOC0030/ZCO_COMMON#L836-L889 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#EXCEL_FORM_DOWNLOAD#C2

FORM CONVERT_CURRENCY — ZCO_COMMON L903-L922 (20줄)

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

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

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

   906|   IF P_FCURR = P_LCURR.
   907|     P_LAMT = P_FAMT.
   908|   ELSE.
   909|     CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
   910|       EXPORTING
   911|         CLIENT           = SY-MANDT
   912|         DATE             = P_BUDAT
   913|         FOREIGN_CURRENCY = P_FCURR
   914|         FOREIGN_AMOUNT   = P_FAMT
   915|         LOCAL_CURRENCY   = P_LCURR
   916|       IMPORTING
   917|         LOCAL_AMOUNT     = P_LAMT
   918|       EXCEPTIONS
   919|         NO_RATE_FOUND    = 01.
   920|   ENDIF.
  • EN: Convert the foreign amount to local currency at the posting-date exchange rate using CONVERT_TO_LOCAL_CURRENCY unless both currencies are identical.
  • 호출(파서): CONVERT_TO_LOCAL_CURRENCY
  • SAP 객체: CONVERT_TO_LOCAL_CURRENCY, TCURR
  • 업무 키워드: 환율 환산, 현지통화 금액, 외화
  • English: Exchange Rate, Local Currency, Foreign Currency
  • 위치: abap://ZCOC0030/ZCO_COMMON#L906-L920 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#CONVERT_CURRENCY#C1

FORM CONVERT_CHAR_TO_AMT — ZCO_COMMON L932-L959 (28줄)

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

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

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

   936|   CALL FUNCTION 'STRING_REPLACE'
   937|     EXPORTING
   938|       PATTERN    = ','
   939|       SUBSTITUTE = ''
   940|     CHANGING
   941|       TEXT       = P_VALUE.
   942| 
   943|   IF SY-SUBRC NE 0.
   944| 
   945|   ENDIF.
   946| 
   947|   LV_EXT = P_VALUE.
   948| 
   949|   CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
   950|     EXPORTING
   951|       CURRENCY             = P_WAERS
   952|       AMOUNT_EXTERNAL      = LV_EXT
   953|       MAX_NUMBER_OF_DIGITS = '11'
   954|     IMPORTING
   955|       AMOUNT_INTERNAL      = LV_AMT.
   956| 
   957|   P_AMT = LV_AMT.
  • EN: Strip thousand separators from the character amount and convert it to internal currency amount via BAPI_CURRENCY_CONV_TO_INTERNAL for uploaded Excel values.
  • 호출(파서): STRING_REPLACE, BAPI_CURRENCY_CONV_TO_INTERNAL
  • SAP 객체: STRING_REPLACE, BAPI_CURRENCY_CONV_TO_INTERNAL
  • 업무 키워드: 문자 금액 변환, 콤마 제거, 통화 내부형식
  • English: Currency Conversion, Internal Amount, Excel Upload
  • 정의부(복사 시 함께 필요): LV_EXT, LV_AMT
  • 위치: abap://ZCOC0030/ZCO_COMMON#L936-L957 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#CONVERT_CHAR_TO_AMT#C1

FORM POPUP_TO_CONFIRM_02 — ZCO_COMMON L1010-L1023 (14줄)

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

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

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

  1015|   CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
  1016|     EXPORTING
  1017|       TEXTLINE1 = PV_QUESTION1
  1018|       TEXTLINE2 = PV_QUESTION2
  1019|       TITEL     = PV_TITLE
  1020|     IMPORTING
  1021|       ANSWER    = PV_ANSWER. " J:예 N:아니오 A:취소
  • EN: Show a confirmation popup via POPUP_TO_CONFIRM_STEP and return J/N/A answer, used before posting the plan budget.
  • 호출(파서): POPUP_TO_CONFIRM_STEP
  • SAP 객체: POPUP_TO_CONFIRM_STEP
  • 업무 키워드: 확인 팝업, 전기 전 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1015-L1021 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#POPUP_TO_CONFIRM_02#C1

FORM POPUP_TO_CONFIRM — ZCO_COMMON L1035-L1060 (26줄)

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

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

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

  1041|   CALL FUNCTION 'POPUP_TO_CONFIRM'
  1042|     EXPORTING
  1043|       TITLEBAR              = P_TITLE
  1044|       TEXT_QUESTION         = P_TEXT
  1045|       TEXT_BUTTON_1         = 'Yes'
  1046|       TEXT_BUTTON_2         = 'No'
  1047|       DEFAULT_BUTTON        = P_DEFAULT
  1048|       DISPLAY_CANCEL_BUTTON = P_CANC
  1049|     IMPORTING
  1050|       ANSWER                = P_ANSWER
  1051|     EXCEPTIONS
  1052|       TEXT_NOT_FOUND        = 1
  1053|       OTHERS                = 2.
  1054|   IF SY-SUBRC <> 0.
  1055|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1056|             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1057|     CLEAR P_ANSWER.
  1058|   ENDIF.
  • EN: Show a Yes/No confirmation popup with POPUP_TO_CONFIRM and return the user answer, clearing it on exception.
  • 호출(파서): POPUP_TO_CONFIRM
  • SAP 객체: POPUP_TO_CONFIRM
  • 업무 키워드: 확인 팝업, 사용자 확인
  • English: Confirmation Popup, POPUP_TO_CONFIRM
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1041-L1058 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#POPUP_TO_CONFIRM#C1

FORM GET_LAST_DAY — ZCO_COMMON L1069-L1078 (10줄)

RP_LAST_DAY_OF_MONTHS로 주어진 날짜가 속한 월의 마지막 날을 구하는 공통 FORM이다.

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

[fm_call] 입력 날짜를 RP_LAST_DAY_OF_MONTHS에 넘겨 해당 월의 말일을 P_LAST_DATE로 돌려받는다.

  1073|   CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
  1074|     EXPORTING
  1075|       DAY_IN            = P_DATE
  1076|     IMPORTING
  1077|       LAST_DAY_OF_MONTH = P_LAST_DATE.
  • EN: Determine the last day of the month for the given date via RP_LAST_DAY_OF_MONTHS.
  • 호출(파서): RP_LAST_DAY_OF_MONTHS
  • SAP 객체: RP_LAST_DAY_OF_MONTHS
  • 업무 키워드: 월 말일 계산, 날짜 계산
  • English: Last Day of Month, Date
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1073-L1077 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#GET_LAST_DAY#C1

FORM SET_DSMOD — ZCO_COMMON L1086-L1095 (10줄)

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

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

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

  1088|   TRANSLATE PA_DSMOD TO UPPER CASE.
  1089| 
  1090|   IF PA_DSMOD NA 'AEN'.
  1091|     MESSAGE S000 DISPLAY LIKE 'E' WITH 'BDC Mode Fail'.
  1092|     LEAVE LIST-PROCESSING.
  1093|   ENDIF.
  • EN: Validate the BDC display mode is one of A/E/N after uppercasing, otherwise show an error and leave processing.
  • 업무 키워드: BDC 모드 검증, 입력값 검사
  • English: BDC Mode, Validation
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1088-L1093 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#SET_DSMOD#C1

FORM FILE_EXISTS — ZCO_COMMON L1104-L1135 (32줄)

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

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

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

  1113|   CHECK P_FNAME IS NOT INITIAL.
  1114| 
  1115|   L_FILENM = P_FNAME.
  1116| 
  1117|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  1118|     EXPORTING
  1119|       FILE                 = L_FILENM
  1120|     RECEIVING
  1121|       RESULT               = L_RESULT
  1122|     EXCEPTIONS
  1123|       CNTL_ERROR           = 1
  1124|       ERROR_NO_GUI         = 2
  1125|       WRONG_PARAMETER      = 3
  1126|       NOT_SUPPORTED_BY_GUI = 4
  1127|       OTHERS               = 5.
  1128|   IF SY-SUBRC <> 0.
  1129|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1130|                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1131|   ENDIF.
  1132| 
  1133|   P_EXISTS = L_RESULT.
  • EN: Check whether the local file exists via CL_GUI_FRONTEND_SERVICES=>FILE_EXIST and return the boolean result.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • 업무 키워드: 파일 존재 확인, 업로드 파일 검증
  • English: File Exist Check, Frontend Services
  • 정의부(복사 시 함께 필요): L_FILENM, L_RESULT
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1113-L1133 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#FILE_EXISTS#C1

FORM AMT_CONV_TO_INTERNAL — ZCO_COMMON L1144-L1161 (18줄)

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

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

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

  1149|   L_INTERNAL = P_AMOUNT.
  1150| 
  1151|   CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
  1152|     EXPORTING
  1153|       CURRENCY             = P_WAERS
  1154|       AMOUNT_EXTERNAL      = L_INTERNAL
  1155|       MAX_NUMBER_OF_DIGITS = 22
  1156|     IMPORTING
  1157|       AMOUNT_INTERNAL      = L_INTERNAL.
  1158| 
  1159|   P_AMOUNT = L_INTERNAL.
  • EN: Convert an externally formatted amount to SAP internal format for the currency using BAPI_CURRENCY_CONV_TO_INTERNAL.
  • 호출(파서): BAPI_CURRENCY_CONV_TO_INTERNAL
  • SAP 객체: BAPI_CURRENCY_CONV_TO_INTERNAL, BAPICURR
  • 업무 키워드: 금액 내부형식 변환, 통화 소수점
  • English: Currency Conversion, Internal Amount
  • 정의부(복사 시 함께 필요): L_INTERNAL
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1149-L1159 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#AMT_CONV_TO_INTERNAL#C1

FORM GET_NEXT_NUMBER — ZCO_COMMON L1172-L1203 (32줄)

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

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

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

  1179|   LV_NRRANG = P_NRRANG.
  1180|   LV_OBJECT = P_OBJECT.
  1181| 
  1182|   CALL FUNCTION 'NUMBER_GET_NEXT'
  1183|     EXPORTING
  1184|       NR_RANGE_NR             = LV_NRRANG
  1185|       OBJECT                  = LV_OBJECT
  1186|     IMPORTING
  1187|       NUMBER                  = P_DOCNO
  1188|     EXCEPTIONS
  1189|       INTERVAL_NOT_FOUND      = 1
  1190|       NUMBER_RANGE_NOT_INTERN = 2
  1191|       OBJECT_NOT_FOUND        = 3
  1192|       QUANTITY_IS_0           = 4
  1193|       QUANTITY_IS_NOT_1       = 5
  1194|       INTERVAL_OVERFLOW       = 6
  1195|       BUFFER_OVERFLOW         = 7
  1196|       OTHERS                  = 8.
  1197|   IF SY-SUBRC <> 0.
  1198| *    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1199| *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1200|     CLEAR P_DOCNO.
  1201|   ENDIF.
  • EN: Draw the next number from the number range object and interval via NUMBER_GET_NEXT and clear it on exception.
  • 호출(파서): NUMBER_GET_NEXT
  • SAP 객체: NUMBER_GET_NEXT, NRIV
  • 업무 키워드: 채번, 번호범위
  • English: Number Range, NUMBER_GET_NEXT
  • 정의부(복사 시 함께 필요): LV_NRRANG, LV_OBJECT
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1179-L1201 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#GET_NEXT_NUMBER#C1

FORM GET_NEXT_NUMBER_YEAR — ZCO_COMMON L1215-L1254 (40줄)

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

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

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

  1223|   LV_NRRANG = P_NRRANG.
  1224|   LV_OBJECT = P_OBJECT.
  1225|   IF P_YEAR IS NOT INITIAL.
  1226|     LV_YEAR = P_YEAR.
  1227|   ELSE.
  1228|     LV_YEAR = '0000'.
  1229| 
  1230|   ENDIF.
  1231| 
  1232|   CALL FUNCTION 'NUMBER_GET_NEXT'
  1233|     EXPORTING
  1234|       NR_RANGE_NR             = LV_NRRANG
  1235|       OBJECT                  = LV_OBJECT
  1236|       TOYEAR                  = LV_YEAR
  1237|     IMPORTING
  1238|       NUMBER                  = P_DOCNO
  1239|     EXCEPTIONS
  1240|       INTERVAL_NOT_FOUND      = 1
  1241|       NUMBER_RANGE_NOT_INTERN = 2
  1242|       OBJECT_NOT_FOUND        = 3
  1243|       QUANTITY_IS_0           = 4
  1244|       QUANTITY_IS_NOT_1       = 5
  1245|       INTERVAL_OVERFLOW       = 6
  1246|       BUFFER_OVERFLOW         = 7
  1247|       OTHERS                  = 8.
  1248|   IF SY-SUBRC <> 0.
  1249| *    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1250| *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1251|     CLEAR P_DOCNO.
  1252|   ENDIF.
  • EN: Draw the next number from the number range object and interval for the given year (or 0000) via NUMBER_GET_NEXT, clearing the result on error.
  • 호출(파서): NUMBER_GET_NEXT
  • SAP 객체: NUMBER_GET_NEXT, NRIV
  • 업무 키워드: 채번, 번호범위, 연도별 번호
  • English: Number Range, NUMBER_GET_NEXT, Fiscal Year
  • 정의부(복사 시 함께 필요): LV_NRRANG, LV_OBJECT, LV_YEAR
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1223-L1252 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#GET_NEXT_NUMBER_YEAR#C1

FORM GET_VALUE_LIST_DOM — ZCO_COMMON L1263-L1278 (16줄)

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

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

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

  1266|   SELECT DOMVALUE_L DDTEXT
  1267|     INTO TABLE P_TAB
  1268|     FROM DD07T
  1269|    WHERE DOMNAME    EQ P_DOMAIN
  1270|      AND DDLANGUAGE EQ SY-LANGU
  1271|      AND AS4LOCAL   EQ 'A'.
  1272|   IF SY-SUBRC EQ 0.
  1273|     SORT P_TAB.
  1274|   ELSE.
  1275|     REFRESH P_TAB.
  1276|   ENDIF.
  • EN: Read active domain fixed values and texts from DD07T for the logon language into the given table, sorting it or clearing it when nothing is found.
  • 테이블(파서): read DD07T / write -
  • SAP 객체: DD07T
  • 업무 키워드: 도메인 값 목록, 드롭다운 값, F4 값 목록
  • English: Domain Fixed Values, DD07T, Value List
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1266-L1276 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#GET_VALUE_LIST_DOM#C1

FORM GET_DOM_TEXT_LIST — ZCO_COMMON L1287-L1298 (12줄)

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

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

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

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

FORM MD_CONVER_MAT_UNIT — ZCO_COMMON L1311-L1341 (31줄)

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

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

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

  1317|   IF P_MENGE IS INITIAL.
  1318|     CLEAR PV_MENGE.
  1319|     EXIT.
  1320|   ELSEIF P_IN_ME EQ P_OUT_ME.
  1321|     PV_MENGE = P_MENGE.
  1322|     EXIT.
  1323|   ENDIF.
  1324| 
  1325|   CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
  1326|     EXPORTING
  1327|       I_MATNR              = P_MATNR
  1328|       I_IN_ME              = P_IN_ME
  1329|       I_OUT_ME             = P_OUT_ME
  1330|       I_MENGE              = P_MENGE
  1331|     IMPORTING
  1332|       E_MENGE              = PV_MENGE
  1333|     EXCEPTIONS
  1334|       ERROR_IN_APPLICATION = 1
  1335|       ERROR                = 2
  1336|       OTHERS               = 3.
  1337|   IF SY-SUBRC <> 0.
  1338|     CLEAR PV_MENGE.
  1339|   ENDIF.
  • EN: Return the quantity unchanged for zero or identical units, otherwise convert it between units of measure for the material via MD_CONVERT_MATERIAL_UNIT.
  • 호출(파서): MD_CONVERT_MATERIAL_UNIT
  • SAP 객체: MD_CONVERT_MATERIAL_UNIT, EKPO
  • 업무 키워드: 자재 단위 환산, 수량 변환, 기본단위
  • English: Unit of Measure Conversion, Material, Quantity
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1317-L1339 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#MD_CONVER_MAT_UNIT#C1

FORM SHOW_MESSAGE_LIST — ZCO_COMMON L1349-L1359 (11줄)

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

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

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

  1351|   CALL FUNCTION 'SCPR_SV_SHOW_MESSAGE_LIST'
  1352|     EXPORTING
  1353|       TITLE_TEXT    = P_TITLE
  1354|       SORT_BY_LEVEL = ' '
  1355|       SHOW_IDS      = 'X'
  1356|       MESSAGE_LIST  = GT_HEAMSG
  1357|       DETAILS_LIST  = GT_DETMSG.
  • EN: Display the collected message list and details in a popup via SCPR_SV_SHOW_MESSAGE_LIST.
  • 호출(파서): SCPR_SV_SHOW_MESSAGE_LIST
  • SAP 객체: SCPR_SV_SHOW_MESSAGE_LIST, GT_HEAMSG, GT_DETMSG
  • 업무 키워드: 메시지 목록 팝업, 처리 결과 표시
  • English: Message List, Popup
  • 정의부(복사 시 함께 필요): GT_HEAMSG, GT_DETMSG
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1351-L1357 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#SHOW_MESSAGE_LIST#C1

FORM GET_FILE_PATH — ZCO_COMMON L1368-L1399 (32줄)

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

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

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

  1376|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
  1377|     EXPORTING
  1378|       WINDOW_TITLE      = 'Upload'
  1379|       MULTISELECTION    = ' '
  1380|       DEFAULT_EXTENSION = 'XLS'
  1381|       DEFAULT_FILENAME  = ' '
  1382|       FILE_FILTER       = '*.XLS'
  1383|     CHANGING
  1384|       FILE_TABLE        = LT_FILETABLE
  1385|       RC                = RTN_CODE
  1386|       USER_ACTION       = USER_ACTION.
  1387| 
  1388|   CALL METHOD CL_GUI_CFW=>FLUSH.
  1389| 
  1390|   CASE  USER_ACTION.
  1391|     WHEN  CL_GUI_FRONTEND_SERVICES=>ACTION_OK.
  1392|       READ   TABLE LT_FILETABLE INTO LS_FILETABLE INDEX 1.
  1393|       CHECK  SY-SUBRC IS INITIAL.
  1394|       MOVE:  LS_FILETABLE-FILENAME      TO      P_FILENM.
  1395| 
  1396|     WHEN  CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
  1397|   ENDCASE.
  • EN: Open a file-open dialog filtered to XLS and return the first selected file path when the user confirms.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, CL_GUI_CFW=>FLUSH, CL_GUI_FRONTEND_SERVICES=>ACTION_OK, CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, CL_GUI_CFW=>FLUSH
  • 업무 키워드: 파일 선택 대화상자, 엑셀 업로드 경로
  • English: File Open Dialog, Frontend Services, Excel Upload
  • 정의부(복사 시 함께 필요): LT_FILETABLE, RTN_CODE, USER_ACTION, LS_FILETABLE
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1376-L1397 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#GET_FILE_PATH#C1

FORM CHK_FILE_PATH — ZCO_COMMON L1408-L1433 (26줄)

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

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

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

  1415|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  1416|     EXPORTING
  1417|       FILE   = LV_FILE
  1418|     RECEIVING
  1419|       RESULT = LV_RESULT.
  1420| 
  1421|   IF NOT SY-SUBRC IS INITIAL.
  1422| 
  1423|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1424|             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1425| 
  1426|   ELSEIF LV_RESULT IS INITIAL.
  1427| 
  1428|     MESSAGE S001(00) WITH 'Please check your file path'.
  1429|     LEAVE LIST-PROCESSING.
  1430| 
  1431|   ENDIF.
  • EN: Verify the local file exists with CL_GUI_FRONTEND_SERVICES=>FILE_EXIST and stop processing with a message when it is missing.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
  • 업무 키워드: 파일 존재 확인, 업로드 경로 검증
  • English: File Exist Check, Frontend Services
  • 정의부(복사 시 함께 필요): LV_FILE, LV_RESULT
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1415-L1431 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#CHK_FILE_PATH#C1

FORM BDC_CREATE_AENNR — ZCO_COMMON L1545-L1612 (68줄)

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

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

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

  1550|   SELECT SINGLE AENNR
  1551|     INTO P_AENNR
  1552|     FROM AENR
  1553|    WHERE AENNR EQ P_AENNR.
  1554|   IF SY-SUBRC EQ 0.
  1555|     P_MSGTY = 'S'.
  1556|     EXIT.
  1557|   ENDIF.
  • EN: Check AENR for an existing change number and exit with success if it already exists to avoid duplicate creation.
  • 테이블(파서): read AENR / write -
  • SAP 객체: AENR
  • 업무 키워드: 변경번호 존재 확인, 중복 생성 방지, 설계변경관리
  • English: Change Number, AENR, Engineering Change Management
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1550-L1557 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#BDC_CREATE_AENNR#C1

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

  1559|   REFRESH : GT_BDCDATA, GT_MESSTAB.
  1560|   CLEAR : GS_BDC_OPTION.
  1561| 
  1562|   GS_BDC_OPTION-DISMODE = 'N'.
  1563|   GS_BDC_OPTION-UPDMODE = 'S'.
  1564| 
  1565|   PERFORM DYNPRO TABLES PT_TABLES USING:
  1566|       'X' 'SAPMC29C'                      '0100',   "설계변경관리: 초기화면
  1567|       ' ' 'BDC_OKCODE'                    '/00',
  1568|       ' ' 'RC29A-AENNR'                   P_AENNR,
  1569| 
  1570|       'X' 'SAPMC29C'                      '0010',   "ECM: Basic Screen
  1571|       ' ' 'BDC_OKCODE'                    '/00',
  1572|       ' ' 'RC29A-AETXT'                   P_TEXT,   "내역
  1573|       ' ' 'RC29A-DATUV'                   P_DATUV,   "효력 시작일
  1574|       ' ' 'RC29A-AEGRU'                   P_AEGRU,  "변경사유
  1575|       ' ' 'RC29A-AENST'                   '01',   "변경 번호 상태
  1576| 
  1577|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1578|       ' ' 'BDC_OKCODE'                    '=ENT1',
  1579|       ' ' 'RC29A-AEERL(01)'               'X',   "Obj. 유형 활성
  1580| 
  1581|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1582|       ' ' 'BDC_OKCODE'                    '=ENT1',
  1583|       ' ' 'RC29A-INDFL(01)'               'X',   "오브젝트
  1584| 
  1585|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1586|       ' ' 'BDC_OKCODE'                    '=ENT1',
  1587|       ' ' 'RC29A-OIGEN(01)'               'X',   "관리레코드생성
  1588| 
  1589|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1590|       ' ' 'BDC_OKCODE'                    '/00',
  1591| 
  1592|       'X' 'SAPMC29C'                      '0020',   "ECM: Basic Screen
  1593|       ' ' 'BDC_OKCODE'                    '=FCBU'.
  1594| 
  1595|   CALL TRANSACTION 'CC01'
  1596|              USING GT_BDCDATA[]
  1597|       OPTIONS FROM GS_BDC_OPTION
  1598|      MESSAGES INTO GT_MESSTAB[].
  1599| 
  1600| *-- 메시지 처리
  1601|   READ TABLE GT_MESSTAB WITH KEY MSGTYP = 'S'
  1602|                                 MSGID = 'CC'
  1603|                                 MSGNR = '001'.
  1604|   IF SY-SUBRC EQ 0.
  1605|     P_MSGTY = 'S'.
  1606|   ELSE.
  1607|     P_MSGTY = 'E'.
  1608|     PERFORM BUILD_MESSAGE  USING GT_MESSTAB
  1609|                            CHANGING P_MSGTX.
  1610|   ENDIF.
  • EN: Build BDC screens for SAPMC29C with change number, description, valid-from date, reason and status, run CALL TRANSACTION CC01, and derive success/error message from BDC messages (CC 001).
  • 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO
  • SAP 객체: CC01, SAPMC29C, GT_BDCDATA, GT_MESSTAB, BUILD_MESSAGE, DYNPRO
  • 업무 키워드: 변경마스터 생성, BDC 배치입력, CC01, 효력 시작일, 변경사유, 메시지 처리
  • English: Change Master, BDC, Call Transaction, CC01, ECM
  • 정의부(복사 시 함께 필요): GT_BDCDATA, BDCMSGCOLL, GT_MESSTAB, GS_BDC_OPTION
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1559-L1610 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#BDC_CREATE_AENNR#C2

FORM GET_DYNP_VALUES_READ — ZCO_COMMON L1620-L1669 (50줄)

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

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

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

  1632|   LS_DYNPFIELDS-FIELDNAME = P_FIELD.
  1633|   APPEND LS_DYNPFIELDS TO LT_DYNPFIELDS.
  1634| 
  1635|   CALL FUNCTION 'DYNP_VALUES_READ'
  1636|     EXPORTING
  1637|       DYNAME               = LV_DYNAME
  1638|       DYNUMB               = LV_DYNUM
  1639|     TABLES
  1640|       DYNPFIELDS           = LT_DYNPFIELDS
  1641|     EXCEPTIONS
  1642|       INVALID_ABAPWORKAREA = 1
  1643|       INVALID_DYNPROFIELD  = 2
  1644|       INVALID_DYNPRONAME   = 3
  1645|       INVALID_DYNPRONUMMER = 4
  1646|       INVALID_REQUEST      = 5
  1647|       NO_FIELDDESCRIPTION  = 6
  1648|       INVALID_PARAMETER    = 7
  1649|       UNDEFIND_ERROR       = 8
  1650|       DOUBLE_CONVERSION    = 9
  1651|       STEPL_NOT_FOUND      = 10
  1652|       OTHERS               = 11.
  1653| 
  1654|   IF SY-SUBRC <> 0.
  1655|     EXIT.
  1656| 
  1657|   ELSE.
  1658|     READ TABLE LT_DYNPFIELDS INTO LS_DYNPFIELDS
  1659|                            WITH KEY FIELDNAME = P_FIELD.
  1660|     IF SY-SUBRC EQ 0.
  1661|       ASSIGN (P_FIELD) TO <FS_FIELD>.
  1662|       IF <FS_FIELD> IS ASSIGNED.
  1663|         <FS_FIELD> = LS_DYNPFIELDS-FIELDVALUE.
  1664|       ENDIF.
  1665|     ENDIF.
  1666| 
  • EN: Read the current screen field value with DYNP_VALUES_READ and move it into the ABAP variable of the same name via dynamic assignment.
  • 호출(파서): DYNP_VALUES_READ
  • SAP 객체: DYNP_VALUES_READ, DYNPREAD
  • 업무 키워드: 화면 필드 값 읽기, F4 도움말 전 값 취득
  • English: Dynpro, DYNP_VALUES_READ, Screen Field
  • 정의부(복사 시 함께 필요): LS_DYNPFIELDS, LT_DYNPFIELDS, LV_DYNAME, LV_DYNUM, <FS_FIELD>
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1632-L1666 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#GET_DYNP_VALUES_READ#C1

FORM SET_DYNP_VALUES — ZCO_COMMON L1678-L1719 (42줄)

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

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

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

  1690|   LS_DYNPFIELDS-FIELDNAME = P_FIELD.
  1691| 
  1692|   ASSIGN (P_FIELD) TO <FS_FIELD>.
  1693|   IF <FS_FIELD> IS ASSIGNED.
  1694|     LS_DYNPFIELDS-FIELDVALUE = <FS_FIELD>.
  1695|   ENDIF.
  1696|   APPEND LS_DYNPFIELDS TO LT_DYNPFIELDS.
  1697| 
  1698|   CALL FUNCTION 'DYNP_VALUES_UPDATE'
  1699|     EXPORTING
  1700|       DYNAME               = LV_DYNAME
  1701|       DYNUMB               = LV_DYNUM
  1702|     TABLES
  1703|       DYNPFIELDS           = LT_DYNPFIELDS
  1704|     EXCEPTIONS
  1705|       INVALID_ABAPWORKAREA = 1
  1706|       INVALID_DYNPROFIELD  = 2
  1707|       INVALID_DYNPRONAME   = 3
  1708|       INVALID_DYNPRONUMMER = 4
  1709|       INVALID_REQUEST      = 5
  1710|       NO_FIELDDESCRIPTION  = 6
  1711|       UNDEFIND_ERROR       = 7
  1712|       OTHERS               = 8.
  • EN: Read the ABAP variable by dynamic assignment and push its value to the current screen field via DYNP_VALUES_UPDATE.
  • 호출(파서): DYNP_VALUES_UPDATE
  • SAP 객체: DYNP_VALUES_UPDATE, DYNPREAD
  • 업무 키워드: 화면 필드 값 갱신, 선택화면 동적 값 설정
  • English: Dynpro, DYNP_VALUES_UPDATE, Screen Field
  • 정의부(복사 시 함께 필요): LS_DYNPFIELDS, <FS_FIELD>, LT_DYNPFIELDS, LV_DYNAME, LV_DYNUM
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1690-L1712 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#SET_DYNP_VALUES#C1

FORM AUTHORITY_CHECK_TCODE — ZCO_COMMON L1725-L1738 (14줄)

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

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

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

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

FORM F_PDF_DOWNLOAD — ZCO_COMMON L1777-L1842 (66줄)

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

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

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

  1792|   LT_OTF[] = P_JOB-OTFDATA.
  1793| 
  1794|   CALL FUNCTION 'CONVERT_OTF'
  1795|     EXPORTING
  1796|       FORMAT                = 'PDF'
  1797|     IMPORTING
  1798|       BIN_FILESIZE          = LV_BIN_FILESIZE
  1799|       BIN_FILE              = LV_BIN_FILE
  1800|     TABLES
  1801|       OTF                   = LT_OTF
  1802|       LINES                 = LT_LINES
  1803|     EXCEPTIONS
  1804|       ERR_MAX_LINEWIDTH     = 1
  1805|       ERR_FORMAT            = 2
  1806|       ERR_CONV_NOT_POSSIBLE = 3
  1807|       ERR_BAD_OTF           = 4
  1808|       OTHERS                = 5.
  1809| 
  1810|   LOOP AT LT_OTF.
  1811|     CONCATENATE LT_OTF-TDPRINTCOM LT_OTF-TDPRINTPAR INTO LS_OTF.
  1812|     APPEND LS_OTF TO LT_CONTENT_TXT.
  1813|   ENDLOOP.
  1814| 
  1815|   CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
  1816|     EXPORTING
  1817|       FORMAT_SRC      = 'OTF'
  1818|       FORMAT_DST      = 'PDF'
  1819|       DEVTYPE         = 'PRINTER'
  1820|     CHANGING
  1821|       TRANSFER_BIN    = LV_TRANSFER_BIN
  1822|       CONTENT_TXT     = LT_CONTENT_TXT
  1823|       CONTENT_BIN     = LT_CONTENT_BIN
  1824|       OBJHEAD         = LT_OBJHEAD
  1825|       LEN             = LV_LEN_IN
  1826|     EXCEPTIONS
  1827|       ERR_CONV_FAILED = 1
  1828|       OTHERS          = 2.
  • EN: Convert Smart Forms OTF output to PDF using CONVERT_OTF and SX_OBJECT_CONVERT_OTF_PDF, producing binary PDF content and its length.
  • 호출(파서): CONVERT_OTF, SX_OBJECT_CONVERT_OTF_PDF
  • SAP 객체: CONVERT_OTF, SX_OBJECT_CONVERT_OTF_PDF, SSFCRESCL, ITCOO
  • 업무 키워드: OTF PDF 변환, Smart Forms 출력, 양식 다운로드
  • English: Smart Forms, OTF, PDF Conversion
  • 정의부(복사 시 함께 필요): LT_OTF, LV_BIN_FILESIZE, LV_BIN_FILE, LT_LINES, LS_OTF, LT_CONTENT_TXT, LV_TRANSFER_BIN, LT_CONTENT_BIN, LT_OBJHEAD, LV_LEN_IN
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1792-L1828 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#F_PDF_DOWNLOAD#C1

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

  1831|   LV_FILESIZE = LV_LEN_IN.
  1832|   PERFORM OPEN_SAVE_FILE_SEL USING 'pdf' CHANGING LV_FILENAME.
  1833| 
  1834|   CALL FUNCTION 'GUI_DOWNLOAD'
  1835|     EXPORTING
  1836|       BIN_FILESIZE = LV_FILESIZE
  1837|       FILENAME     = LV_FILENAME
  1838|       FILETYPE     = 'BIN'
  1839|     TABLES
  1840|       DATA_TAB     = LT_CONTENT_BIN.
  • EN: Ask for a PDF save path via OPEN_SAVE_FILE_SEL and download the binary PDF content to the frontend with GUI_DOWNLOAD.
  • 호출(파서): OPEN_SAVE_FILE_SEL, GUI_DOWNLOAD
  • SAP 객체: GUI_DOWNLOAD, OPEN_SAVE_FILE_SEL
  • 업무 키워드: PDF 다운로드, 로컬 저장
  • English: GUI_DOWNLOAD, PDF, Frontend Download
  • 정의부(복사 시 함께 필요): LV_FILESIZE, LV_LEN_IN, LV_FILENAME, LT_CONTENT_BIN
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1831-L1840 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#F_PDF_DOWNLOAD#C2

FORM OPEN_SAVE_FILE_SEL — ZCO_COMMON L1851-L1907 (57줄)

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

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

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

  1868|   LV_DEFAULT_EXTENSION  = P_EXT.
  1869|   CONCATENATE '*.' P_EXT INTO LV_DEFAULT_FILE_NAME.
  1870|   LV_INITIAL_DIRECTORY  = 'C:\'.
  1871|   CONCATENATE CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL
  1872| *            CL_GUI_FRONTEND_SERVICES=>FILETYPE_TEXT
  1873|               CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL
  1874|          INTO LV_FILE_FILTER.
  1875| 
  1876|   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
  1877|     EXPORTING
  1878| *    WINDOW_TITLE
  1879|       DEFAULT_EXTENSION       = LV_DEFAULT_EXTENSION
  1880|       DEFAULT_FILE_NAME       = LV_DEFAULT_FILE_NAME
  1881| *    WITH_ENCODING           = ABAP_TRUE
  1882|       FILE_FILTER             = LV_FILE_FILTER
  1883|       INITIAL_DIRECTORY       = LV_INITIAL_DIRECTORY
  1884|     CHANGING
  1885|       FILENAME                = LV_FILENAME
  1886|       PATH                    = LV_PATH
  1887|       FULLPATH                = LV_FULLPATH
  1888|       USER_ACTION             = LV_USER_ACTION
  1889|     EXCEPTIONS
  1890|       CNTL_ERROR              = 2
  1891|       ERROR_NO_GUI            = 3
  1892|       NOT_SUPPORTED_BY_GUI    = 4
  1893|       OTHERS                  = 5.
  1894|   IF SY-SUBRC <> 0.
  1895|     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  1896|                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  1897|     EXIT.
  1898|   ELSE.
  1899|     IF LV_USER_ACTION NE CL_GUI_FRONTEND_SERVICES=>ACTION_OK.
  1900|       EXIT.
  1901|     ENDIF.
  1902| 
  1903|     P_FILENAME = LV_FILENAME.
  • EN: Prepare extension, default name, file filter and initial directory, call CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG and return the chosen filename when the user confirms.
  • 호출(파서): CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL, CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL, CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG, CL_GUI_FRONTEND_SERVICES=>ACTION_OK
  • SAP 객체: CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
  • 업무 키워드: 파일 저장 대화상자, 다운로드 경로 선택
  • English: File Save Dialog, Frontend Services
  • 정의부(복사 시 함께 필요): LV_DEFAULT_EXTENSION, LV_DEFAULT_FILE_NAME, LV_INITIAL_DIRECTORY, LV_FILE_FILTER, LV_FILENAME, LV_PATH, LV_FULLPATH, LV_USER_ACTION
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1868-L1903 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#OPEN_SAVE_FILE_SEL#C1

FORM ALSMEX_TAB_TO_ITAB — ZCO_COMMON L1917-L1945 (29줄)

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

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

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

  1924|   ASSIGN : (PT_EXCEL_TABLE) TO <ITAB>.
  1925|   ASSIGN : (PS_EXCEL_STRUC) TO <ILINE>.
  1926| 
  1927|   LOOP AT PT_INTERN.
  1928|     AT NEW ROW.
  1929|       CLEAR : <ILINE>.
  1930|     ENDAT.
  1931| 
  1932|     ASSIGN COMPONENT PT_INTERN-COL OF STRUCTURE <ILINE> TO <FIELD>.
  1933| 
  1934|     IF PT_INTERN-VALUE CO '0123456789,.- '.
  1935|       REPLACE ALL OCCURRENCES OF ',' IN PT_INTERN-VALUE WITH ''.
  1936|     ENDIF.
  1937| 
  1938|     MOVE PT_INTERN-VALUE TO <FIELD>.
  1939| 
  1940|     AT END OF ROW.
  1941|       APPEND <ILINE> TO <ITAB>.
  1942|     ENDAT.
  1943|   ENDLOOP.
  • EN: Iterate Excel cell lines, move each value into the structure component matching the column (removing thousand separators from numerics) and append one line per row to the dynamically assigned target table.
  • SAP 객체: ALSMEX_TABLINE, ALSM_EXCEL_TO_INTERNAL_TABLE
  • 업무 키워드: 엑셀 셀 매핑, 동적 내부테이블, 콤마 제거
  • English: Excel Upload, ALSMEX_TABLINE, Dynamic Assign
  • 정의부(복사 시 함께 필요): <ITAB>, <ILINE>, <FIELD>
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1924-L1943 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#ALSMEX_TAB_TO_ITAB#C1

FORM START_INTERFACE_BDC — ZCO_COMMON L1953-L1973 (21줄)

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

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

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

  1960|   CALL FUNCTION 'POSTING_INTERFACE_START'
  1961|     EXPORTING
  1962|       I_FUNCTION         = 'C' " Using Call Transaction
  1963|       I_KEEP             = 'Y'
  1964|       I_MODE             = P_MODE
  1965|       I_UPDATE           = 'S'
  1966|     EXCEPTIONS
  1967|       CLIENT_INCORRECT   = 1
  1968|       FUNCTION_INVALID   = 2
  1969|       GROUP_NAME_MISSING = 3
  1970|       MODE_INVALID       = 4
  1971|       UPDATE_INVALID     = 5
  1972|       OTHERS             = 6.
  • EN: Open the FI posting interface with POSTING_INTERFACE_START in call-transaction mode, given display mode and synchronous update.
  • 호출(파서): POSTING_INTERFACE_START
  • SAP 객체: POSTING_INTERFACE_START
  • 업무 키워드: 전기 인터페이스 시작, Call Transaction, 전표 전기
  • English: Posting Interface, Call Transaction, FI Document
  • 위치: abap://ZCOC0030/ZCO_COMMON#L1960-L1972 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#START_INTERFACE_BDC#C1

FORM END_INTERFACE_BDC — ZCO_COMMON L1980-L1990 (11줄)

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

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

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

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

FORM FILL_FIELD — ZCO_COMMON L2000-L2023 (24줄)

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

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

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

  2004|   CHECK FVAL NE SPACE.
  2005| 
  2006|   FTPOST-FNAM = FNAM.
  2007|   FTPOST-STYPE = GV_FTPOST_TYPE.
  2008|   FTPOST-COUNT = GV_FTPOST_CNT.
  2009| 
  2010|   " 금액 필드일 경우.
  2011|   IF FCURR_X = 'X'.
  2012|     WRITE FVAL TO LV_CURR CURRENCY
  2013|        GV_FTPOST_WAERS LEFT-JUSTIFIED.
  2014|     CONDENSE LV_CURR NO-GAPS.
  2015|     WRITE LV_CURR TO FTPOST-FVAL.
  2016|   ELSE.
  2017|     WRITE FVAL TO FTPOST-FVAL.
  2018|   ENDIF.
  2019| 
  2020|   APPEND FTPOST.
  2021|   CLEAR FTPOST.
  • EN: Populate one FTPOST entry for the FI posting interface: set field name, segment type and count, format amount fields with currency and append.
  • SAP 객체: FTPOST, POSTING_INTERFACE_DOCUMENT
  • 업무 키워드: 전기 인터페이스, FTPOST 필드 구성, 금액 통화 편집
  • English: Posting Interface, FTPOST, Currency Format
  • 정의부(복사 시 함께 필요): FTPOST, GV_FTPOST_TYPE, GV_FTPOST_CNT, LV_CURR, GV_FTPOST_WAERS
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2004-L2021 · confidence 0.85 · ZCOC0030#ZCO_COMMON#FORM#FILL_FIELD#C1

FORM BUILD_MESSGE_IF — ZCO_COMMON L2032-L2047 (16줄)

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

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

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

  2037|   CALL FUNCTION 'MESSAGE_TEXT_BUILD'
  2038|     EXPORTING
  2039|       MSGID               = PS_MESSAGE-MSGID
  2040|       MSGNR               = PS_MESSAGE-MSGNO
  2041|       MSGV1               = PS_MESSAGE-MSGV1
  2042|       MSGV2               = PS_MESSAGE-MSGV2
  2043|       MSGV3               = PS_MESSAGE-MSGV3
  2044|       MSGV4               = PS_MESSAGE-MSGV4
  2045|     IMPORTING
  2046|       MESSAGE_TEXT_OUTPUT = PV_TEXT.
  • EN: Build the readable message text from message ID, number and variables using MESSAGE_TEXT_BUILD.
  • 호출(파서): MESSAGE_TEXT_BUILD
  • SAP 객체: MESSAGE_TEXT_BUILD, GT_IF_MSG
  • 업무 키워드: 메시지 텍스트 생성, 인터페이스 메시지
  • English: Message Text, Message Class
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2037-L2046 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#BUILD_MESSGE_IF#C1

FORM GET_POST_PERIOD — ZCO_COMMON L2057-L2084 (28줄)

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

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

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

  2062|   CALL FUNCTION 'FI_PERIOD_DETERMINE'
  2063|     EXPORTING
  2064|       I_BUKRS        = PV_BUKRS
  2065|       I_BUDAT        = PV_DATE
  2066|     IMPORTING
  2067|       E_GJAHR        = P_LFGJA
  2068|       E_MONAT        = P_LFMON
  2069|     EXCEPTIONS
  2070|       FISCAL_YEAR    = 1
  2071|       PERIOD         = 2
  2072|       PERIOD_VERSION = 3
  2073|       POSTING_PERIOD = 4
  2074|       SPECIAL_PERIOD = 5
  2075|       VERSION        = 6
  2076|       POSTING_DATE   = 7
  2077|       OTHERS         = 8.
  2078| 
  2079|   IF SY-SUBRC NE 0.
  2080|     P_LFGJA = PV_DATE(4).
  2081|     P_LFMON = PV_DATE+4(2).
  2082|   ENDIF.
  • EN: Determine fiscal year and posting period from company code and posting date via FI_PERIOD_DETERMINE, falling back to calendar year/month on exception.
  • 호출(파서): FI_PERIOD_DETERMINE
  • SAP 객체: FI_PERIOD_DETERMINE
  • 업무 키워드: 회계연도 결정, 전기기간, 회사코드, 전기일
  • English: Fiscal Year, Posting Period, Company Code, Posting Date
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2062-L2082 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#GET_POST_PERIOD#C1

FORM CONV_DB_WAERS — ZCO_COMMON L2109-L2116 (8줄)

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

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

[fm_call] 통화(P_WAERS)에 따라 외부 표시 금액을 CURRENCY_AMOUNT_IDOC_TO_SAP로 DB 저장용 내부 금액으로 변환해 P_VALUE에 되돌린다.

  2110|   CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
  2111|     EXPORTING
  2112|       CURRENCY    = P_WAERS
  2113|       IDOC_AMOUNT = P_VALUE
  2114|     IMPORTING
  2115|       SAP_AMOUNT  = P_VALUE.
  • EN: Convert an IDoc/external amount to SAP internal amount format for the currency via CURRENCY_AMOUNT_IDOC_TO_SAP.
  • 호출(파서): CURRENCY_AMOUNT_IDOC_TO_SAP
  • SAP 객체: CURRENCY_AMOUNT_IDOC_TO_SAP
  • 업무 키워드: 금액 내부형식 변환, 통화 소수점
  • English: Currency Conversion, Internal Amount
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2110-L2115 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#CONV_DB_WAERS#C1

FORM CONV_VIEW_WAERS — ZCO_COMMON L2126-L2134 (9줄)

CURRENCY_AMOUNT_SAP_TO_IDOC로 SAP 내부 금액을 통화 소수점에 맞는 외부(IDoc) 형식 문자열로 변환하는 공통 FORM이다.

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

[fm_call] 통화 코드(P_WAERS)에 따라 내부 금액을 CURRENCY_AMOUNT_SAP_TO_IDOC로 IDoc/BAPI 외부 금액 형식으로 변환해 BAPI 금액 필드에 넣을 값을 만든다.

  2128|   CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
  2129|     EXPORTING
  2130|       CURRENCY    = P_WAERS
  2131|       SAP_AMOUNT  = P_VALUE
  2132|     IMPORTING
  2133|       IDOC_AMOUNT = P_DOC_VALUE.
  • EN: Convert an SAP internal amount to IDoc/BAPI external amount format for the given currency using CURRENCY_AMOUNT_SAP_TO_IDOC.
  • 호출(파서): CURRENCY_AMOUNT_SAP_TO_IDOC
  • SAP 객체: CURRENCY_AMOUNT_SAP_TO_IDOC
  • 업무 키워드: 통화 금액 변환, 외부 형식, BAPI 금액
  • English: Currency Conversion, IDoc Amount, BAPI Amount
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2128-L2133 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#CONV_VIEW_WAERS#C1

FORM GET_VERSN_TEXT — ZCO_COMMON L2168-L2177 (10줄)

TKT09에서 관리회계영역·버전의 계획 버전 텍스트를 로그온 언어로 읽는 공통 FORM이다.

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

[sql_select] TKT09에서 관리회계영역(KOKRS)·버전(VERSN)·언어(SY-LANGU)로 계획 버전 텍스트를 조회해 선택화면 표시용으로 반환한다.

  2171|   SELECT SINGLE TXT
  2172|     INTO P_VERSN_TXT
  2173|     FROM TKT09
  2174|     WHERE KOKRS = P_KOKRS
  2175|     AND VERSN = P_VERSN
  2176|     AND LANGU = SY-LANGU.
  • EN: Read the CO plan version description from TKT09 for the controlling area, version and logon language.
  • 테이블(파서): read TKT09 / write -
  • SAP 객체: TKT09
  • 업무 키워드: 계획 버전 텍스트, 관리회계영역
  • English: Plan Version, TKT09, Controlling Area
  • 정의부(복사 시 함께 필요): P_KOKRS
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2171-L2176 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#GET_VERSN_TEXT#C1

FORM UPLOAD_XLS_STRUCT — ZCO_COMMON L2191-L2245 (55줄)

엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 행/열 단위 값을 구조체 컴포넌트에 매핑해 내부테이블로 적재하는 공통 업로드 FORM이다.

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

[fm_call] 지정한 시작/종료 행·열 범위로 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 LT_INTERN에 담고, 업로드 실패나 데이터 없음이면 메시지를 출력하고 종료한다.

  2203|   CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
  2204|     EXPORTING
  2205|       FILENAME                = P_FILE
  2206|       I_BEGIN_COL             = P_SCOL
  2207|       I_BEGIN_ROW             = P_SROW
  2208|       I_END_COL               = P_ECOL
  2209|       I_END_ROW               = P_EROW
  2210|     TABLES
  2211|       INTERN                  = LT_INTERN
  2212|     EXCEPTIONS
  2213|       INCONSISTENT_PARAMETERS = 1
  2214|       UPLOAD_OLE              = 2
  2215|       OTHERS                  = 3.
  2216| 
  2217|   IF SY-SUBRC <> 0.
  2218|     FORMAT COLOR COL_BACKGROUND INTENSIFIED.
  2219|     WRITE:/ 'Error Uploading file'.
  2220|     EXIT.
  2221|   ENDIF.
  2222| 
  2223|   IF LT_INTERN[] IS INITIAL.
  2224|     FORMAT COLOR COL_BACKGROUND INTENSIFIED.
  2225|     WRITE:/ 'No Data Uploaded'.
  2226|     EXIT.
  • EN: Call ALSM_EXCEL_TO_INTERNAL_TABLE with the given row/column range to read the Excel file into ALSMEX_TABLINE and exit with a message on upload error or empty data.
  • 호출(파서): ALSM_EXCEL_TO_INTERNAL_TABLE
  • SAP 객체: ALSM_EXCEL_TO_INTERNAL_TABLE, ALSMEX_TABLINE
  • 업무 키워드: 엑셀 업로드, 파일 읽기, 업로드 오류 처리
  • English: Excel Upload, OLE, File Read
  • 정의부(복사 시 함께 필요): ALSMEX_TABLINE, LT_INTERN
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2203-L2226 · confidence 0.95 · ZCOC0030#ZCO_COMMON#FORM#UPLOAD_XLS_STRUCT#C1

[calculation] 행·열 순으로 정렬한 셀 값을 열 번호에 해당하는 구조체 컴포넌트에 ASSIGN COMPONENT로 옮기고(숫자 값은 콤마 제거), 행이 끝날 때마다 P_TABLE에 APPEND한다.

  2228|     SORT LT_INTERN BY ROW COL.
  2229|     LOOP AT LT_INTERN.
  2230|       MOVE LT_INTERN-COL TO LV_INDEX.
  2231|       ASSIGN COMPONENT LV_INDEX OF STRUCTURE P_TABLE TO <FS_LINE>.
  2232| 
  2233|       IF LT_INTERN-VALUE CO '0123456789,.- '.
  2234|         REPLACE ALL OCCURRENCES OF ',' IN LT_INTERN-VALUE WITH ''.
  2235|       ENDIF.
  2236| 
  2237|       MOVE LT_INTERN-VALUE TO <FS_LINE>.
  2238|       AT END OF ROW.
  2239|         APPEND P_TABLE.
  2240|         CLEAR P_TABLE.
  2241|       ENDAT.
  2242|     ENDLOOP.
  • EN: Sort cells by row/column, move each cell value into the matching structure component (stripping thousand separators from numeric values) and append one internal table line per Excel row.
  • SAP 객체: ALSMEX_TABLINE
  • 업무 키워드: 셀 값 매핑, 콤마 제거, 행 단위 적재
  • English: Cell Mapping, ASSIGN COMPONENT, Internal Table
  • 정의부(복사 시 함께 필요): ALSMEX_TABLINE, LT_INTERN, LV_INDEX, <FS_LINE>
  • 위치: abap://ZCOC0030/ZCO_COMMON#L2228-L2242 · confidence 0.9 · ZCOC0030#ZCO_COMMON#FORM#UPLOAD_XLS_STRUCT#C2

FORM CONVERT_1000_UP — ZCOC0030F01 L207-L228 (22줄)

ALV 필드카탈로그의 CURR 타입 필드(월별 금액)를 대상으로 GT_DATA 전 라인의 값을 천원 단위에서 원 단위로 환산(×1000)하는 FORM이다.

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

[calculation] GT_MAIN_FIELDCAT에서 DATATYPE='CURR'인 필드를 찾아 GT_DATA 각 라인의 해당 금액 필드를 동적으로 ASSIGN한 뒤 CONVERT_1000_U로 1000배(천원→원) 변환한다.

   213|   LOOP AT GT_MAIN_FIELDCAT INTO LS_FIELDCAT
   214|      WHERE DATATYPE = 'CURR'.
   215| 
   216|     CONCATENATE '<FS_DATA>-' LS_FIELDCAT-FIELDNAME
   217|       INTO LV_FIELD.
   218| 
   219|     LOOP AT GT_DATA ASSIGNING <FS_DATA>.
   220|       ASSIGN (LV_FIELD) TO <FS_FIELD>.
   221| 
   222|       IF SY-SUBRC EQ 0.
   223|         PERFORM CONVERT_1000_U USING <FS_FIELD>
   224|               CHANGING <FS_FIELD>.
   225|       ENDIF.
   226|     ENDLOOP.
   227|   ENDLOOP.
  • EN: For every CURR-type field in the ALV field catalog, dynamically assign the amount field in each GT_DATA row and multiply by 1000 (thousand KRW to KRW) via CONVERT_1000_U.
  • 호출(파서): CONVERT_1000_U
  • SAP 객체: GT_MAIN_FIELDCAT, GT_DATA, CONVERT_1000_U, LVC_S_FCAT
  • 업무 키워드: 천원 단위 환산, 금액 필드 동적 처리, 계획금액
  • English: Amount Conversion, Field Catalog, Dynamic Assign
  • 정의부(복사 시 함께 필요): GT_MAIN_FIELDCAT, LS_FIELDCAT, LV_FIELD, GT_DATA, <FS_DATA>, <FS_FIELD>
  • 위치: abap://ZCOC0030/ZCOC0030F01#L213-L227 · confidence 0.85 · ZCOC0030#ZCOC0030F01#FORM#CONVERT_1000_UP#C1

FORM EXECUTE_BAPI — ZCOC0030F01 L253-L301 (49줄)

중복 실행을 막고 사용자 확인 후 From 월 차감(P) → To 월 가산(C) → 실패 시 원복(R) 순으로 예산 이월 BAPI를 실행하고 ZCOT0020 로그를 남긴다.

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

[validation] 이미 전기한 경우(GV_ALREADY_POST) 오류 메시지로 중단하고, From/To 월을 담은 확인 메시지를 POPUP_TO_CONFIRM_02로 띄워 사용자가 'J'(예)를 선택하지 않으면 이월을 취소한다.

   262|   IF GV_ALREADY_POST = 'X'.
   263|     MESSAGE S000 DISPLAY LIKE 'E' WITH
   264|       '이미 처리하였습니다'(F06).
   265|     EXIT.
   266|   ENDIF.
   267| 
   268|   WRITE P_FROM TO LV_TEMP1 NO-ZERO.
   269|   CONDENSE LV_TEMP1 NO-GAPS.
   270|   WRITE P_TO TO LV_TEMP2 NO-ZERO.
   271|   CONDENSE LV_TEMP2 NO-GAPS.
   272| 
   273|   CONCATENATE `해당금액을 ` LV_TEMP1 `월에서 ` LV_TEMP2 `월로`
   274|      '이월을 실행하시겠습니까?' INTO LV_MSG.
   275| 
   276|   PERFORM POPUP_TO_CONFIRM_02 USING 'Confirm'
   277|                           LV_MSG   ' '
   278|                     CHANGING L_ANSWER.
   279|   IF L_ANSWER <> 'J'.
   280|     EXIT.
   281|   ENDIF.
  • EN: Block re-posting if already posted, then show a confirmation popup (POPUP_TO_CONFIRM_02) with from/to periods and exit unless the user answers Yes.
  • 호출(파서): POPUP_TO_CONFIRM_02
  • SAP 객체: POPUP_TO_CONFIRM_02
  • 업무 키워드: 중복 전기 방지, 확인 팝업, 이월 실행 확인
  • English: Duplicate Posting Check, Confirmation Popup, Carry Forward
  • 정의부(복사 시 함께 필요): GV_ALREADY_POST, P_FROM, LV_TEMP1, P_TO, LV_TEMP2, LV_MSG, L_ANSWER
  • 위치: abap://ZCOC0030/ZCOC0030F01#L262-L281 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#EXECUTE_BAPI#C1

[control_flow] 전기 플래그를 세운 뒤 BAPI_CARRY_FWD_POST를 'P'(From 월 차감)로 실행하고 성공 시 'C'(To 월 가산)를 실행하며, C가 실패하면 'R'로 From 월을 원복한 후 INSERT_LOG로 ZCOT0020 이력을 남기고 완료 메시지를 표시한다.

   283|   GV_ALREADY_POST = 'X'.
   284| 
   285|   PERFORM BAPI_CARRY_FWD_POST USING 'P'
   286|           LV_SUBRC.
   287| 
   288|   CHECK LV_SUBRC EQ 0.
   289| 
   290|   PERFORM BAPI_CARRY_FWD_POST USING 'C'
   291|          LV_SUBRC.
   292|   IF LV_SUBRC NE 0.
   293|     " 2번째 C BAPI가 오류났을 경우 1번째 P를 원복시킴.
   294|     PERFORM BAPI_CARRY_FWD_POST USING 'R'
   295|               LV_SUBRC.
   296|   ENDIF.
   297| 
   298|   PERFORM INSERT_LOG.
   299| 
   300|   MESSAGE S000 WITH '처리가 완료되었습니다.'(F11).
  • EN: Run BAPI_CARRY_FWD_POST in mode P (deduct from source period), then C (add to target period); if C fails, run R to restore the source period; finally write the ZCOT0020 log and show completion message.
  • 호출(파서): BAPI_CARRY_FWD_POST, BAPI_CARRY_FWD_POST, BAPI_CARRY_FWD_POST, INSERT_LOG
  • SAP 객체: BAPI_COSTACTPLN_POSTPRIMCOST, ZCOT0020
  • 업무 키워드: 예산 이월 순서, 이전 월 차감, 이월 대상 월 가산, 원복, 이력 저장
  • English: Carry Forward, Reversal, Budget Adjustment Log, Posting Sequence
  • 정의부(복사 시 함께 필요): GV_ALREADY_POST, LV_SUBRC
  • 위치: abap://ZCOC0030/ZCOC0030F01#L283-L300 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#EXECUTE_BAPI#C2

FORM BAPI_CARRY_FWD_POST — ZCOC0030F01 L310-L380 (71줄)

구분(P: From 월 차감, C: To 월 가산, R: From 월 원복)에 따라 기간을 정하고 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')로 예산 이월 계획값을 전기한 뒤 커밋/롤백과 결과 상태를 처리한다.

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

[control_flow] 구분이 P/R이면 From 월(P_FROM), C이면 To 월(P_TO)을 전기 기간으로 정하고 FILL_TABLES로 BAPI 헤더·인덱스·코스트센터·금액 테이블을 구성한다.

   335|   IF P_GUBUN = 'P' OR P_GUBUN = 'R'.
   336|     LV_PERIOD = P_FROM.
   337|   ELSEIF P_GUBUN = 'C'.
   338|     LV_PERIOD = P_TO.
   339|   ENDIF.
   340| 
   341|   PERFORM FILL_TABLES
   342|       TABLES   LT_INDEXSTRUCTURE
   343|                                      LT_COOBJECT
   344|                                      LT_TOTVALUE
   345|       USING LV_PERIOD P_GUBUN
   346|                       CHANGING LS_HEADERINFO.
  • EN: Determine posting period (P_FROM for modes P/R, P_TO for mode C) and build the BAPI header and item tables via FILL_TABLES.
  • 호출(파서): FILL_TABLES
  • SAP 객체: BAPIPLNHDR
  • 업무 키워드: 전기 기간 결정, 이전 월 차감, 이월 대상 월, 원복
  • English: Period, Carry Forward, Reversal, BAPI Tables
  • 정의부(복사 시 함께 필요): LV_PERIOD, P_FROM, P_TO, LT_INDEXSTRUCTURE, LT_COOBJECT, LT_TOTVALUE, LS_HEADERINFO
  • 위치: abap://ZCOC0030/ZCOC0030F01#L335-L346 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#BAPI_CARRY_FWD_POST#C1

[fm_call] BAPI_COSTACTPLN_POSTPRIMCOST를 DELTA='X'로 호출해 코스트센터/원가요소별 예산 계획값을 델타 전기하고, RETURN이 없으면 BAPI_TRANSACTION_COMMIT 후(C 구분 시) 성공 상태를, 오류가 있으면 ROLLBACK 후 마지막 RETURN 메시지로 오류 상태를 GT_DATA에 반영한다.

   348|   CALL FUNCTION 'BAPI_COSTACTPLN_POSTPRIMCOST'
   349|     EXPORTING
   350|       HEADERINFO     = LS_HEADERINFO
   351|       DELTA          = 'X'
   352|     TABLES
   353|       INDEXSTRUCTURE = LT_INDEXSTRUCTURE
   354|       COOBJECT       = LT_COOBJECT
   355|       PERVALUE       = LT_PERVALUE
   356|       TOTVALUE       = LT_TOTVALUE
   357|       CONTRL         = LT_CONTRL
   358|       RETURN         = LT_RETURN.
   359| 
   360|   IF  LT_RETURN[] IS INITIAL.
   361| 
   362|     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
   363|       EXPORTING
   364|         WAIT = 'X'.
   365| 
   366|     IF P_GUBUN = 'C'.
   367|       PERFORM SET_RESULT USING 'S' ''.
   368|     ENDIF.
   369| 
   370|     P_SUBRC = 0.
   371|   ELSE.
   372|     CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
   373| 
   374|     LOOP AT LT_RETURN INTO LS_RETURN.
   375|     ENDLOOP.
   376| 
   377|     PERFORM SET_RESULT USING 'E' LS_RETURN.
   378|     P_SUBRC = 4.
   379|   ENDIF.
  • EN: Call BAPI_COSTACTPLN_POSTPRIMCOST with DELTA='X' to post primary cost plan values per cost center/cost element; commit via BAPI_TRANSACTION_COMMIT and set success on empty RETURN, otherwise rollback and set error status with the last RETURN message.
  • 호출(파서): BAPI_COSTACTPLN_POSTPRIMCOST, BAPI_TRANSACTION_COMMIT, SET_RESULT, BAPI_TRANSACTION_ROLLBACK, SET_RESULT
  • SAP 객체: BAPI_COSTACTPLN_POSTPRIMCOST, BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, BAPIRET2
  • 업무 키워드: 예산 이월 전기, 계획값 델타 전기, 커밋, 롤백, 오류 처리, 원가요소 계획
  • English: Primary Cost Planning, Delta Posting, BAPI Commit, Rollback, Return Message
  • 정의부(복사 시 함께 필요): LS_HEADERINFO, LT_INDEXSTRUCTURE, LT_COOBJECT, LT_PERVALUE, LT_TOTVALUE, LT_CONTRL, LT_RETURN, LS_RETURN
  • 위치: abap://ZCOC0030/ZCOC0030F01#L348-L379 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#BAPI_CARRY_FWD_POST#C2

FORM FILL_TABLES — ZCOC0030F01 L391-L460 (70줄)

BAPI_COSTACTPLN_POSTPRIMCOST용 헤더(관리회계영역·연도·기간·버전 B20)와 코스트센터/원가요소별 계획값 테이블을 GT_DATA-FROM_BG로부터 채운다.

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

[interface] BAPI 헤더(BAPIPLNHDR)에 관리회계영역 P_KOKRS, 회계연도, 대상 기간(From 또는 To 월), 이월 계획버전 GC_VERSN, 헤더텍스트, 계획통화유형을 설정한다.

   413|   ES_HEADERINFO-CO_AREA       =       P_KOKRS.
   414|   ES_HEADERINFO-FISC_YEAR     =       P_GJAHR.
   415|   ES_HEADERINFO-PERIOD_FROM   =       P_PERIOD.
   416|   ES_HEADERINFO-PERIOD_TO     =       P_PERIOD.
   417|   ES_HEADERINFO-VERSION       =       GC_VERSN.
   418|   ES_HEADERINFO-DOC_HDR_TX = GV_HEADER_MSG.
   419|   ES_HEADERINFO-PLAN_CURRTYPE =       GC_PLAN_CURR.
  • EN: Fill BAPIPLNHDR header info with controlling area, fiscal year, period, carry-forward plan version, document header text and plan currency type.
  • SAP 객체: BAPIPLNHDR, BAPI_COSTACTPLN_POSTPRIMCOST
  • 업무 키워드: BAPI 헤더, 계획버전, 관리회계영역, 회계연도, 기간
  • English: Plan Version, Controlling Area, Fiscal Year, Period, BAPI Header
  • 정의부(복사 시 함께 필요): P_KOKRS, P_GJAHR, GC_VERSN, GV_HEADER_MSG, GC_PLAN_CURR
  • 위치: abap://ZCOC0030/ZCOC0030F01#L413-L419 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#FILL_TABLES#C1

[interface] GT_DATA의 FROM_BG가 0이 아닌 라인마다 인덱스·코스트센터(BAPIPCPOBJ)·원가요소/금액(BAPIPCPTOT)을 채우되, 구분 'P'(이전 월 차감)일 때는 금액 부호를 반전하고 통화 형식 변환(CONV_VIEW_WAERS) 후 거래통화 P_TWAER로 설정한다.

   429|   LOOP AT GT_DATA.
   430| 
   431|     CHECK <FS_VALUE> NE 0.
   432| 
   433|     ADD 1 TO LV_INDEX.
   434| 
   435|     ET_INDEXSTRUCTURE-OBJECT_INDEX = LV_INDEX.
   436|     ET_INDEXSTRUCTURE-VALUE_INDEX  = LV_INDEX.
   437|     APPEND ET_INDEXSTRUCTURE TO ET_INDEXSTRUCTURE.
   438| 
   439|     ET_COOBJECT-OBJECT_INDEX = LV_INDEX.
   440|     ET_COOBJECT-COSTCENTER = GT_DATA-KOSTL.
   441|     APPEND ET_COOBJECT TO ET_COOBJECT.
   442| 
   443|     ET_TOTVALUE-VALUE_INDEX = LV_INDEX.
   444|     ET_TOTVALUE-COST_ELEM = GT_DATA-KSTAR.
   445| 
   446|     LV_VALUE = <FS_VALUE>.
   447| 
   448|     IF P_GUBUN = 'P'. " C와  R일 경우에는 해당 금액 그대로.
   449|       LV_VALUE = LV_VALUE * -1.
   450|     ENDIF.
   451| 
   452|     PERFORM CONV_VIEW_WAERS USING LV_VALUE GV_WAERS
   453|           CHANGING LV_C_VALUE.
   454| 
   455|     ET_TOTVALUE-FIX_VALUE =  LV_C_VALUE.
   456|     ET_TOTVALUE-TRANS_CURR =  P_TWAER.
   457|     ET_TOTVALUE-TRANS_CURRENCY_ISO =  P_TWAER.
   458|     APPEND ET_TOTVALUE TO ET_TOTVALUE.
   459|   ENDLOOP.
  • EN: For each GT_DATA line with non-zero FROM_BG append index structure, cost center object (BAPIPCPOBJ) and cost element total value (BAPIPCPTOT); negate the amount for mode 'P' (deduct from source period), convert currency format and set transaction currency.
  • 호출(파서): CONV_VIEW_WAERS
  • SAP 객체: BAPIACPSTRU, BAPIPCPOBJ, BAPIPCPTOT, BAPI_COSTACTPLN_POSTPRIMCOST
  • 업무 키워드: BAPI 테이블 구성, 코스트센터, 원가요소, 금액 부호 반전, 이전 월 차감, 거래통화
  • English: Cost Center, Cost Element, Primary Cost Planning, Delta Posting, Transaction Currency
  • 정의부(복사 시 함께 필요): GT_DATA, <FS_VALUE>, LV_INDEX, LV_VALUE, GV_WAERS, LV_C_VALUE, P_TWAER
  • 위치: abap://ZCOC0030/ZCOC0030F01#L429-L459 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#FILL_TABLES#C2

FORM SET_RESULT — ZCOC0030F01 L693-L723 (31줄)

BAPI 전기 결과(S/E)에 따라 GT_DATA 대상 라인의 상태 아이콘·메시지·To 월 금액을 갱신하고 ALV 리프레시 플래그를 켠다.

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

[output] BAPI 대상 라인에 대해 성공 시 상태 GREEN·성공메시지(GP 510)·TO_BG=FROM_BG 및 1000원 단위 표시금액을 설정하고, 실패 시 상태 RED와 BAPI 오류메시지를 GT_DATA에 반영한다.

   697|   LOOP AT GT_DATA WHERE BAPI_TARGET = 'X'.
   698| 
   699|     IF P_RESULT = 'S'.
   700|       GT_DATA-STATUS = GC_STATUS_GREEN.
   701|       MESSAGE ID 'GP' TYPE 'S' NUMBER '510'
   702|                 INTO GT_DATA-MESSAGE
   703|                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   704|       GT_DATA-TO_BG = GT_DATA-FROM_BG.
   705| 
   706|       " 1000원 단위로 보이기 위해 화면상에만 표시할 금액
   707|       PERFORM CONVERT_1000_D USING GT_DATA-FROM_BG
   708|          CHANGING GT_DATA-FROM_BG_VIEW.
   709| 
   710|       PERFORM CONVERT_1000_D USING GT_DATA-TO_BG
   711|          CHANGING GT_DATA-TO_BG_VIEW.
   712| 
   713|     ELSEIF P_RESULT = 'E'.
   714|       GT_DATA-STATUS = GC_STATUS_RED.
   715|       GT_DATA-MESSAGE = P_ERR_MSG.
   716|     ENDIF.
   717| 
   718|     MODIFY GT_DATA. CLEAR : GT_DATA.
   719|   ENDLOOP.
  • EN: For each BAPI-target line set status GREEN with success message GP 510 and copy FROM_BG to TO_BG (plus 1000-unit view amounts) on success, or status RED with the BAPI error message on failure.
  • 테이블(파서): read - / write GT_DATA
  • 호출(파서): CONVERT_1000_D, CONVERT_1000_D
  • SAP 객체: GP 510
  • 업무 키워드: 처리 결과 반영, 상태 아이콘, 오류 메시지, 이월 금액, 천원 단위 표시
  • English: Posting Result, Status Icon, Message, Carry Forward Amount
  • 정의부(복사 시 함께 필요): GT_DATA, GC_STATUS_GREEN, GC_STATUS_RED
  • 위치: abap://ZCOC0030/ZCOC0030F01#L697-L719 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#SET_RESULT#C1

FORM INSERT_LOG — ZCOC0030F01 L732-L779 (48줄)

이월 처리된 코스트센터/원가요소 라인을 예산조정 이력 테이블 ZCOT0020(BGTYPE '50' 이월)에 로그로 저장한다.

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

[fm_call] Z_CO_GET_BGSEQ로 오늘 날짜 기준 예산조정 이력의 시작 순번(SEQ)을 채번한다.

   741|   CALL FUNCTION 'Z_CO_GET_BGSEQ'
   742|     EXPORTING
   743|       I_ADJUST_DATE = SY-DATUM
   744|     IMPORTING
   745|       E_RESULTMSG   = LV_RESULTMSG
   746|       E_RESULTCODE  = LV_RESULTCODE
   747|       E_SEQ         = LV_SEQ.
  • EN: Call Z_CO_GET_BGSEQ to get the next sequence number for today's budget adjustment log entries.
  • 호출(파서): Z_CO_GET_BGSEQ
  • SAP 객체: Z_CO_GET_BGSEQ, ZCOT0020
  • 업무 키워드: 순번 채번, 예산조정 이력, 조정일자
  • English: Sequence Number, Budget Adjustment Log
  • 정의부(복사 시 함께 필요): LV_RESULTMSG, LV_RESULTCODE, LV_SEQ
  • 위치: abap://ZCOC0030/ZCOC0030F01#L741-L747 · confidence 0.9 · ZCOC0030#ZCOC0030F01#FORM#INSERT_LOG#C1

[db_write] BAPI 전기 대상(BAPI_TARGET='X') 라인마다 송신/수신 코스트센터·원가요소·From/To 월·이월금액(BG_SUM)·헤더텍스트를 담아 BGTYPE '50'(이월), BGSRC '01'(SAP 입력)으로 ZCOT0020에 MODIFY 저장한다.

   749|   LOOP AT GT_DATA WHERE BAPI_TARGET = 'X'.
   750|     LT_ZCOT0020-ADJUST_DATE = SY-DATUM.
   751| 
   752|     LT_ZCOT0020-KOKRS = P_KOKRS.
   753|     LT_ZCOT0020-BGTYPE = '50'. " 이월.
   754|     LT_ZCOT0020-SEQ = LV_SEQ.
   755|     LT_ZCOT0020-GJAHR = P_GJAHR.
   756|     LT_ZCOT0020-SEND_KOSTL = GT_DATA-KOSTL.
   757|     LT_ZCOT0020-SEND_PERBL = P_FROM.
   758|     LT_ZCOT0020-SEND_KSTAR = GT_DATA-KSTAR.
   759|     LT_ZCOT0020-RECV_KOSTL = GT_DATA-KOSTL.
   760|     LT_ZCOT0020-RECV_PERBL = P_TO.
   761|     LT_ZCOT0020-RECV_KSTAR = GT_DATA-KSTAR.
   762|     LT_ZCOT0020-TRANS_WKG = GT_DATA-BG_SUM.
   763|     LT_ZCOT0020-TWAER = P_TWAER.
   764|     LT_ZCOT0020-BLTXT = GV_HEADER_MSG.
   765|     LT_ZCOT0020-ERNAM = SY-UNAME.
   766|     LT_ZCOT0020-ERZEIT = SY-UZEIT.
   767|     LT_ZCOT0020-BGSRC = '01'. " SAP에서 입력
   768| *    LT_ZCOT0020-ERDAT = SY-DATUM.
   769|     APPEND LT_ZCOT0020.
   770|     CLEAR : LT_ZCOT0020.
   771| 
   772|     LV_SEQ = LV_SEQ + 1.
   773|   ENDLOOP.
   774| 
   775|   IF LT_ZCOT0020[] IS NOT INITIAL.
   776|     MODIFY ZCOT0020 FROM TABLE LT_ZCOT0020.
   777|   ENDIF.
  • EN: For each BAPI-target line build a ZCOT0020 record (sender/receiver cost center, cost element, from/to period, transferred amount, BGTYPE '50' carry-forward, BGSRC '01') and MODIFY the budget adjustment log table.
  • 테이블(파서): read - / write ZCOT0020
  • SAP 객체: ZCOT0020
  • 업무 키워드: 예산 이월 로그, 예산조정 이력, 송신 코스트센터, 수신 코스트센터, 이월 금액, 로그 저장
  • English: Budget Adjustment Log, Cost Center, Cost Element, Carry Forward, Database Update
  • 정의부(복사 시 함께 필요): GT_DATA, LT_ZCOT0020, P_KOKRS, LV_SEQ, P_GJAHR, P_FROM, P_TO, P_TWAER, GV_HEADER_MSG
  • 위치: abap://ZCOC0030/ZCOC0030F01#L749-L777 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#INSERT_LOG#C2

FORM ADD_DATA_MESSAGE — ZCOC0030F01 L469-L481 (13줄)

오류 필드의 ALV 컬럼 텍스트와 메시지를 합쳐 현재 GT_DATA 라인의 메시지 목록(MSG_LIST)에 추가하는 FORM이다.

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

[output] GT_MAIN_FIELDCAT에서 필드의 긴 텍스트(SCRTEXT_L)를 찾아 '필드명 : 메시지' 형태로 만들어 GT_DATA-MSG_LIST에 삽입해 오류 팝업에 보여줄 메시지를 누적한다.

   474|   READ TABLE GT_MAIN_FIELDCAT INTO LS_FIELDCAT
   475|      WITH KEY FIELDNAME = P_FIELD.
   476| 
   477|   CONCATENATE LS_FIELDCAT-SCRTEXT_L ` : ` P_MESSAGE
   478|     INTO LV_MESSAGE.
   479| 
   480|   INSERT LV_MESSAGE INTO TABLE GT_DATA-MSG_LIST.
  • EN: Look up the field label in the ALV field catalog and insert a 'label : message' line into GT_DATA-MSG_LIST for the error log popup.
  • SAP 객체: GT_MAIN_FIELDCAT, GT_DATA
  • 업무 키워드: 오류 메시지 누적, 필드 텍스트
  • English: Error Message, Field Catalog
  • 정의부(복사 시 함께 필요): GT_MAIN_FIELDCAT, LS_FIELDCAT, LV_MESSAGE, GT_DATA
  • 위치: abap://ZCOC0030/ZCOC0030F01#L474-L480 · confidence 0.8 · ZCOC0030#ZCOC0030F01#FORM#ADD_DATA_MESSAGE#C1

FORM DEQUEUE_ZCOT0020 — ZCOC0030F01 L812-L819 (8줄)

예산조정 이력 테이블 ZCOT0020에 걸어둔 잠금을 DEQUEUE_EZ_ZCOT0020으로 해제한다.

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

[fm_call] 프로그램 종료 시 예산조정 이력 테이블 ZCOT0020의 잠금을 DEQUEUE_EZ_ZCOT0020으로 해제하여 다른 사용자가 처리할 수 있게 한다.

   814|   CALL FUNCTION 'DEQUEUE_EZ_ZCOT0020'
   815|     EXPORTING
   816|       MODE_ZCOT0020 = 'X'
   817|       MANDT         = SY-MANDT.
  • EN: Release the lock on budget adjustment log table ZCOT0020 via DEQUEUE_EZ_ZCOT0020 when leaving the program.
  • 호출(파서): DEQUEUE_EZ_ZCOT0020
  • SAP 객체: DEQUEUE_EZ_ZCOT0020, ZCOT0020
  • 업무 키워드: 잠금 해제, 예산조정 이력, 동시성 제어
  • English: Dequeue, Lock Object, Budget Adjustment Log
  • 위치: abap://ZCOC0030/ZCOC0030F01#L814-L817 · confidence 0.95 · ZCOC0030#ZCOC0030F01#FORM#DEQUEUE_ZCOT0020#C1

MODULE USER_COMMAND_0100 INPUT — ZCOC0030I01 L6-L31 (26줄)

화면 100의 기능코드(BACK/EXIT/&POST)에 따라 컨테이너 정리·잠금 해제 후 화면 종료 또는 예산 이월 BAPI 실행(EXECUTE_BAPI)을 분기하는 PAI 모듈이다.

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

[control_flow] 기능코드별로 BACK/CANC/EXIT 시 ALV 컨테이너를 해제하고 ZCOT0020 잠금(DEQUEUE_EZ_ZCOT0020)을 풀어 화면을 나가며, &POST 시 예산 이월 전기(EXECUTE_BAPI)를 수행한다.

     9|   CASE GV_T_OK_CODE.
    10|     WHEN 'BACK' OR 'CANC' OR 'EXIT'.
    11|       PERFORM CLEAR_CONTAINER_PROC USING
    12|           GO_ALV1 GO_DOCKING_CONT1 GO_SPLITTER1
    13|                           GO_CONTAINER_TOP1 GO_CONTAINER_ALV1
    14|                           GO_HTML_VIEW1
    15|                           GO_EVENT_RECEIVER1.
    16|       PERFORM DEQUEUE_ZCOT0020.
    17| 
    18|       IF GV_T_OK_CODE = 'EXIT'.
    19|         LEAVE PROGRAM.
    20|       ELSE.
    21|         LEAVE TO SCREEN 0.
    22|       ENDIF.
    23|       "Function Code 맵핑
    24|     WHEN '&POST'.
    25|       PERFORM EXECUTE_BAPI.
    26| 
    27|     WHEN OTHERS.
    28| *      LEAVE PROGRAM.
    29|   ENDCASE.
  • EN: Dispatch screen 100 OK codes: on BACK/CANC/EXIT free ALV containers, dequeue ZCOT0020 lock and leave; on &POST run the budget carry-forward BAPI posting.
  • 호출(파서): CLEAR_CONTAINER_PROC, DEQUEUE_ZCOT0020, EXECUTE_BAPI
  • SAP 객체: ZCOT0020, DEQUEUE_EZ_ZCOT0020
  • 업무 키워드: 기능코드 분기, 화면 종료, 잠금 해제, 예산 이월 전기
  • English: User Command, Dequeue, Budget Carry Forward, Posting
  • 정의부(복사 시 함께 필요): GV_T_OK_CODE, LCL_DEF_GRID, GO_ALV1, GO_DOCKING_CONT1, GO_SPLITTER1, GO_CONTAINER_TOP1, GO_CONTAINER_ALV1, GO_HTML_VIEW1, LCL_DEF_RECEIVER, GO_EVENT_RECEIVER1
  • 위치: abap://ZCOC0030/ZCOC0030I01#L9-L29 · confidence 0.9 · ZCOC0030#ZCOC0030I01#MODULE#USER_COMMAND_0100_INPUT#C1

정의부 (341건)

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

ZCOC0030C01 (1건)

LCL_DEF_RECEIVER — class · L5-L56

CLASS LCL_DEF_RECEIVER DEFINITION.

  PUBLIC SECTION.

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

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

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

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

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

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

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

    METHODS : HANDLE_CONTEXT_MENU_REQ
        FOR EVENT CONTEXT_MENU_REQUEST OF CL_GUI_ALV_GRID
        IMPORTING E_OBJECT.

ENDCLASS.  " LCL_DEF_RECEIVER

ZCOC0030TOP (44건)

IBRTT — type-pool · L1-L1

TYPE-POOLS : IBRTT, VRM, ICON.

ICON — type-pool · L1-L1

TYPE-POOLS : IBRTT, VRM, ICON.

VRM — type-pool · L1-L1

TYPE-POOLS : IBRTT, VRM, ICON.

ICON — tables · L2-L2

TABLES : ICON, SSCRFIELDS.

SSCRFIELDS — tables · L2-L2

TABLES : ICON, SSCRFIELDS.

ISELLIST — tables · L3-L3

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

CSKA — tables · L4-L4

TABLES : DD03L, CSKS, CSKA, KMAS_D.

CSKS — tables · L4-L4

TABLES : DD03L, CSKS, CSKA, KMAS_D.

DD03L — tables · L4-L4

TABLES : DD03L, CSKS, CSKA, KMAS_D.

KMAS_D — tables · L4-L4

TABLES : DD03L, CSKS, CSKA, KMAS_D.

GV_OK_CODE — data · L14-L14

DATA : GV_OK_CODE LIKE SY-UCOMM.

GV_T_OK_CODE — data · L15-L15

DATA : GV_T_OK_CODE LIKE SY-UCOMM.

GT_UCOMM — data · L17-L17

DATA : GT_UCOMM TYPE TABLE OF SY-UCOMM.

GV_LOCK — data · L21-L21

DATA : GV_LOCK(1) TYPE C. " Locking

GV_UPLOAD_ERROR — data · L22-L22

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

GV_ALREADY_POST — data · L23-L23

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

GV_POST_ERROR — data · L24-L24

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

GC_MAIN_ITAB_NAME — constants · L29-L30

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

GC_PLAN_CURR — constants · L31-L31

CONSTANTS : GC_PLAN_CURR TYPE COPLN_CURR VALUE 'C'.

GC_VERSN — constants · L32-L32

CONSTANTS : GC_VERSN TYPE COSP-VERSN VALUE 'B20'. " 이월 버전.

GT_MAIN_FIELDCAT — data · L38-L38

DATA : GT_MAIN_FIELDCAT TYPE LVC_T_FCAT.

GT_DATA — data · L43-L62

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

DATA :
FROM_BG LIKE COSP-WKG001,
TO_BG LIKE COSP-WKG001,

FROM_BG_VIEW LIKE COSP-WKG001,
TO_BG_VIEW LIKE COSP-WKG001,

BAPI_TARGET TYPE C, " 금액이 0이 아닌 경우 X 셋팅.
BAPI_FAIL TYPE C,

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

GS_DATA — data · L64-L64

DATA : GS_DATA LIKE GT_DATA.

GT_LOG_POP — data · L66-L70

DATA : BEGIN OF GT_LOG_POP OCCURS 0,
    STATUS LIKE ICON-ID,
  KOSTL LIKE CSKS-KOSTL,
  MESSAGE LIKE BDCMSGCOLL-MSGV1,
END OF GT_LOG_POP.

GV_HEADER_MSG — data · L72-L72

DATA : GV_HEADER_MSG TYPE BAPIPLNHDR-DOC_HDR_TX.

W_POPUP_GRID — data · L75-L75

DATA : W_POPUP_GRID TYPE REF TO CL_RS_ALV_GRID_POPUP.

GR_SELECT_OBJ — ranges · L77-L77

RANGES : GR_SELECT_OBJ FOR ONRKS-OBJNR.

GT_KOSTL_OBJNR — data · L78-L82

DATA : BEGIN OF GT_KOSTL_OBJNR OCCURS 0 ,
  KOSTL LIKE CSKS-KOSTL,
  OBJNR LIKE ONRKS-OBJNR,
  KOSTL_T LIKE CSKT-KTEXT,
END OF GT_KOSTL_OBJNR.

GT_KSTAR — data · L84-L87

DATA : BEGIN OF GT_KSTAR OCCURS 0,
  KSTAR LIKE CSKB-KSTAR,
  KSTAR_T LIKE CSKU-KTEXT,
END OF GT_KSTAR.

GR_KSTAR — ranges · L89-L89

RANGES : GR_KSTAR FOR CSKA-KSTAR.

GT_ZCOS0030 — data · L91-L91

DATA : GT_ZCOS0030 LIKE ZCOS0030 OCCURS 0 WITH HEADER LINE.

GT_CURR_DATA — data · L93-L93

DATA : GT_CURR_DATA LIKE GT_DATA OCCURS 0 WITH HEADER LINE.

GT_NEXT_DATA — data · L94-L94

DATA : GT_NEXT_DATA LIKE GT_DATA OCCURS 0 WITH HEADER LINE.

GV_ERROR_MSG — data · L95-L95

DATA : GV_ERROR_MSG LIKE BAPIRET2-MESSAGE.

GV_ERR — data · L97-L97

DATA : GV_ERR.

P_KOKRS — parameter · L106-L107

PARAMETERS : P_KOKRS LIKE TKA01-KOKRS OBLIGATORY DEFAULT 'KR01'
  MODIF ID MG1.

P_TWAER — parameter · L112-L113

PARAMETER : P_TWAER LIKE COSP-TWAER OBLIGATORY DEFAULT 'KRW'
  MODIF ID MG1.

P_GJAHR — parameter · L114-L114

PARAMETER : P_GJAHR LIKE COSP-GJAHR OBLIGATORY DEFAULT SY-DATUM+0(4).

P_FROM — parameter · L116-L116

PARAMETER : P_FROM LIKE COSP-PERBL OBLIGATORY.

P_TO — parameter · L117-L117

PARAMETER : P_TO LIKE COSP-PERBL OBLIGATORY.

P_KSSET — parameter · L122-L122

PARAMETER : P_KSSET LIKE GRPDYNP-NAME_COALL MODIF ID MG2.

S_KOSTL — select-option · L123-L123

SELECT-OPTIONS : S_KOSTL FOR CSKS-KOSTL MODIF ID MG2.

P_KASET — parameter · L127-L127

PARAMETER : P_KASET LIKE GRPDYNP-NAME_COALL MODIF ID MG2.

S_KSTAR — select-option · L128-L128

SELECT-OPTIONS : S_KSTAR FOR CSKA-KSTAR MODIF ID MG2.

ZCO_ALV (123건)

F4TYP — type-pool · L9-L9

TYPE-POOLS : SLIS, F4TYP, SDYDO.

SDYDO — type-pool · L9-L9

TYPE-POOLS : SLIS, F4TYP, SDYDO.

SLIS — type-pool · L9-L9

TYPE-POOLS : SLIS, F4TYP, SDYDO.

T_MSG — types · L11-L19

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

GS_MSG — data · L20-L20

DATA : GS_MSG TYPE T_MSG.

GT_TOP_OF_PAGE_TXT — data · L22-L26

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

GC_STATUS_SET — constants · L28-L28

CONSTANTS : GC_STATUS_SET    TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET'.

GC_USER_COMMAND — constants · L29-L29

CONSTANTS : GC_USER_COMMAND  TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

GC_TOP_OF_PAGE — constants · L30-L30

CONSTANTS : GC_TOP_OF_PAGE   TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

GC_TOP_OF_LIST — constants · L31-L31

CONSTANTS : GC_TOP_OF_LIST   TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST'.

GC_END_OF_LIST — constants · L32-L32

CONSTANTS : GC_END_OF_LIST   TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.

GC_DATA_CHANGED — constants · L33-L33

CONSTANTS : GC_DATA_CHANGED  TYPE SLIS_FORMNAME VALUE 'DATA_CHANGED'.

GC_HTML_TOP_OF_PAGE — constants · L34-L35

CONSTANTS : GC_HTML_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'HTML_TOP_OF_PAGE'.

GC_PRT_TOP_OF_PAGE — constants · L36-L37

CONSTANTS : GC_PRT_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'PRT_TOP_OF_PAGE'.

GV_SAVE — data · L40-L40

DATA : GV_SAVE.

GV_TABIX — data · L41-L41

DATA : GV_TABIX LIKE SY-TABIX.

GV_FLD_NAME — data · L42-L42

DATA : GV_FLD_NAME(30).

GV_EXGT_CAUSED_BY_CALLER — data · L43-L43

DATA : GV_EXGT_CAUSED_BY_CALLER.

GV_REPID — data · L44-L44

DATA : GV_REPID TYPE SY-REPID.

GV_DYNNR — data · L45-L45

DATA : GV_DYNNR TYPE SY-DYNNR.

GV_PROGRAM_NAME — data · L46-L46

DATA : GV_PROGRAM_NAME LIKE SY-REPID.

GV_INCLNAME — data · L47-L47

DATA : GV_INCLNAME LIKE TRDIR-NAME.

GV_EXTENSION — data · L48-L48

DATA : GV_EXTENSION TYPE I.

GS_LAYOUT — data · L51-L51

DATA : GS_LAYOUT              TYPE SLIS_LAYOUT_ALV.

GS_EXGT_CAUSED_BY_USER — data · L52-L52

DATA:
       GS_EXGT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER.

GS_FIELDCAT — data · L53-L53

DATA:
       GS_FIELDCAT            TYPE SLIS_FIELDCAT_ALV.

GS_SORT — data · L54-L54

DATA:
       GS_SORT                TYPE SLIS_SORTINFO_ALV.

GS_KEYINFO — data · L55-L55

DATA:
       GS_KEYINFO             TYPE SLIS_KEYINFO_ALV.

GS_VARIANT — data · L56-L56

DATA:
       GS_VARIANT             TYPE DISVARIANT.

GS_SCROLL — data · L57-L57

DATA:
       GS_SCROLL              TYPE SLIS_LIST_SCROLL.

GS_DETAIL_FUNC — data · L58-L58

DATA:
       GS_DETAIL_FUNC         LIKE DD02L-TABNAME.

GS_LVC_LAYO1 — data · L60-L60

DATA : GS_LVC_LAYO1       TYPE LVC_S_LAYO.  " LAYOUT\

GS_LVC_LAYO2 — data · L61-L61

DATA:
       GS_LVC_LAYO2       TYPE LVC_S_LAYO.

GS_LVC_LAYO3 — data · L62-L62

DATA:
       GS_LVC_LAYO3       TYPE LVC_S_LAYO.

GS_LVC_LAYO4 — data · L63-L63

DATA:
       GS_LVC_LAYO4       TYPE LVC_S_LAYO.

GS_LVC_FCAT — data · L65-L65

DATA : GS_LVC_FCAT        TYPE LVC_S_FCAT.             " FIELDCATALOG

GS_ROW — data · L67-L67

DATA : GS_ROW  LIKE LVC_S_ROW.

GS_COL — data · L68-L68

DATA:
       GS_COL  LIKE LVC_S_COL.

GS_STABLE — data · L69-L69

DATA : GS_STABLE      TYPE LVC_S_STBL.

GT_EVENTS — data · L72-L72

DATA : GT_EVENTS          TYPE SLIS_T_EVENT.

GT_LISTHEADER — data · L73-L73

DATA:
       GT_LISTHEADER      TYPE SLIS_T_LISTHEADER.

GT_FIELDCAT — data · L74-L74

DATA:
       GT_FIELDCAT        TYPE SLIS_T_FIELDCAT_ALV.

GT_SORT — data · L75-L75

DATA:
       GT_SORT            TYPE SLIS_T_SORTINFO_ALV.

GT_EXIT — data · L76-L76

DATA:
       GT_EXIT            TYPE SLIS_EVENT_EXIT OCCURS 0.

GT_PRINT — data · L77-L77

DATA:
       GT_PRINT           TYPE SLIS_PRINT_ALV.

GT_UI_FUNCTIONS1 — data · L79-L79

DATA : GT_UI_FUNCTIONS1    TYPE UI_FUNCTIONS.  " TOOLBAR

GT_UI_FUNCTIONS2 — data · L80-L80

DATA:
       GT_UI_FUNCTIONS2   TYPE UI_FUNCTIONS.

GT_UI_FUNCTIONS3 — data · L81-L81

DATA:
       GT_UI_FUNCTIONS3   TYPE UI_FUNCTIONS.

GT_UI_FUNCTIONS4 — data · L82-L82

DATA:
       GT_UI_FUNCTIONS4   TYPE UI_FUNCTIONS.

GT_LVC_SORT1 — data · L84-L84

DATA : GT_LVC_SORT1        TYPE LVC_T_SORT.  " SORT

GT_LVC_SORT2 — data · L85-L85

DATA:
       GT_LVC_SORT2       TYPE LVC_T_SORT.

GT_LVC_SORT3 — data · L86-L86

DATA:
       GT_LVC_SORT3       TYPE LVC_T_SORT.

GT_LVC_SORT4 — data · L87-L87

DATA:
       GT_LVC_SORT4       TYPE LVC_T_SORT.

GT_LVC_FCAT1 — data · L89-L89

DATA : GT_LVC_FCAT1        TYPE LVC_T_FCAT.  " FIELDCATALOG

GT_LVC_FCAT2 — data · L90-L90

DATA:
       GT_LVC_FCAT2       TYPE LVC_T_FCAT.

GT_LVC_FCAT3 — data · L91-L91

DATA:
       GT_LVC_FCAT3       TYPE LVC_T_FCAT.

GT_LVC_FCAT4 — data · L92-L92

DATA:
       GT_LVC_FCAT4       TYPE LVC_T_FCAT.

GT_LVC_DROP — data · L95-L95

DATA : GT_LVC_DROP     TYPE LVC_T_DROP.

GS_LVC_DROP — data · L96-L96

DATA:
       GS_LVC_DROP     TYPE LVC_S_DROP.

GT_ALV_COLOR — data · L99-L99

DATA : GT_ALV_COLOR        TYPE LVC_T_SCOL WITH HEADER LINE.

GS_ALV_COLOR — data · L100-L100

DATA:
       GS_ALV_COLOR        TYPE LVC_S_COLO.

GT_ROWS — data · L103-L103

DATA : GT_ROWS         TYPE LVC_T_ROW.

GS_ROWS — data · L104-L104

DATA:
       GS_ROWS         TYPE LVC_S_ROW.

GV_FUN — data · L105-L105

DATA:
       GV_FUN(1) VALUE 'D'.

GS_F4_VALUE — data · L109-L109

DATA : GS_F4_VALUE      TYPE SEAHLPRES.

GS_F4_FIELD — data · L110-L110

DATA:
       GS_F4_FIELD      TYPE DFIES.

GS_F4 — data · L111-L111

DATA:
       GS_F4            TYPE DDSHRETVAL.

GS_LVC_MODI — data · L112-L112

DATA:
       GS_LVC_MODI      TYPE LVC_S_MODI.

GS_LVC_F4 — data · L113-L113

DATA:
       GS_LVC_F4        TYPE LVC_S_F4.

GT_F4_VALUES — data · L116-L116

DATA : GT_F4_VALUES     TYPE TABLE OF SEAHLPRES.

GT_F4_FIELDS — data · L117-L117

DATA:
       GT_F4_FIELDS     TYPE TABLE OF DFIES.

GT_LVC_F4 — data · L118-L118

DATA:
       GT_LVC_F4        TYPE LVC_T_F4.

<FS_F4TAB> — field-symbol · L121-L121

FIELD-SYMBOLS : <FS_F4TAB> TYPE LVC_T_MODI.

GV_CONSISTENCY_CHECK — data · L123-L123

DATA : GV_CONSISTENCY_CHECK(1) TYPE C.

GV_ALV_COLPOS — data · L125-L125

DATA : GV_ALV_COLPOS TYPE I.

GC_STATUS_GREEN — constants · L128-L128

CONSTANTS : GC_STATUS_GREEN LIKE ICON-ID VALUE ICON_GREEN_LIGHT.

GC_STATUS_YELLOW — constants · L129-L129

CONSTANTS : GC_STATUS_YELLOW LIKE ICON-ID VALUE ICON_YELLOW_LIGHT.

GC_STATUS_RED — constants · L130-L130

CONSTANTS : GC_STATUS_RED LIKE ICON-ID VALUE ICON_RED_LIGHT.

GC_STATUS_INIT — constants · L131-L131

CONSTANTS : GC_STATUS_INIT LIKE ICON-ID VALUE ICON_LIGHT_OUT.

GV_TOP_OF_PAGE — data · L133-L133

DATA : GV_TOP_OF_PAGE(255) TYPE C.

GC_ALV1_CONTNAME — constants · L143-L143

CONSTANTS : GC_ALV1_CONTNAME TYPE SCRFNAME VALUE 'ALV1_CONT'.

GC_ALV2_CONTNAME — constants · L144-L144

CONSTANTS : GC_ALV2_CONTNAME TYPE SCRFNAME VALUE 'ALV2_CONT'.

GC_ALV3_CONTNAME — constants · L145-L145

CONSTANTS : GC_ALV3_CONTNAME TYPE SCRFNAME VALUE 'ALV3_CONT'.

GC_ALV4_CONTNAME — constants · L146-L146

CONSTANTS : GC_ALV4_CONTNAME TYPE SCRFNAME VALUE 'ALV4_CONT'.

GO_CONTAINER_TOP1 — data · L149-L149

DATA:
GO_CONTAINER_TOP1         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV1 — data · L150-L150

DATA:
GO_CONTAINER_ALV1         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_TOP2 — data · L152-L152

DATA:
GO_CONTAINER_TOP2         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV2 — data · L153-L153

DATA:
GO_CONTAINER_ALV2         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_TOP3 — data · L155-L155

DATA:
GO_CONTAINER_TOP3         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV3 — data · L156-L156

DATA:
GO_CONTAINER_ALV3         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_TOP4 — data · L158-L158

DATA:
GO_CONTAINER_TOP4         TYPE REF TO CL_GUI_CONTAINER.

GO_CONTAINER_ALV4 — data · L159-L159

DATA:
GO_CONTAINER_ALV4         TYPE REF TO CL_GUI_CONTAINER.

GO_ALV1 — data · L161-L161

DATA:
GO_ALV1              TYPE REF TO LCL_DEF_GRID.

GO_ALV2 — data · L162-L162

DATA:
GO_ALV2             TYPE REF TO LCL_DEF_GRID.

GO_ALV3 — data · L163-L163

DATA:
GO_ALV3             TYPE REF TO LCL_DEF_GRID.

GO_ALV4 — data · L164-L164

DATA:
GO_ALV4             TYPE REF TO LCL_DEF_GRID.

GO_SPLITTER0 — data · L166-L166

DATA:
GO_SPLITTER0         TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER.

GO_SPLITTER1 — data · L167-L167

DATA:
GO_SPLITTER1          TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_SPLITTER2 — data · L168-L168

DATA:
GO_SPLITTER2         TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_SPLITTER3 — data · L169-L169

DATA:
GO_SPLITTER3         TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_SPLITTER4 — data · L170-L170

DATA:
GO_SPLITTER4         TYPE REF TO CL_GUI_SPLITTER_CONTAINER.

GO_DOCKING — data · L172-L172

DATA:
GO_DOCKING           TYPE REF TO CL_GUI_CONTAINER.

GO_COLUMN_TREE — data · L174-L174

DATA:
GO_COLUMN_TREE       TYPE REF TO CL_GUI_COLUMN_TREE.

GO_TREE — data · L175-L175

DATA:
GO_TREE              TYPE REF TO CL_GUI_ALV_TREE.

GO_TOOLBAR — data · L176-L176

DATA:
GO_TOOLBAR           TYPE REF TO CL_GUI_TOOLBAR.

GO_TEXTEDIT — data · L177-L177

DATA:
GO_TEXTEDIT          TYPE REF TO CL_GUI_TEXTEDIT.

GO_EVENT_RECEIVER1 — data · L179-L179

DATA:
GO_EVENT_RECEIVER1    TYPE REF TO LCL_DEF_RECEIVER.

GO_EVENT_RECEIVER2 — data · L180-L180

DATA:
GO_EVENT_RECEIVER2   TYPE REF TO LCL_DEF_RECEIVER.

GO_EVENT_RECEIVER3 — data · L181-L181

DATA:
GO_EVENT_RECEIVER3   TYPE REF TO LCL_DEF_RECEIVER.

GO_DOCKING_CONT1 — data · L183-L183

DATA : GO_DOCKING_CONT1 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DOCKING_CONT2 — data · L184-L184

DATA : GO_DOCKING_CONT2 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DOCKING_CONT3 — data · L185-L185

DATA : GO_DOCKING_CONT3 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DOCKING_CONT4 — data · L186-L186

DATA : GO_DOCKING_CONT4 TYPE REF TO CL_GUI_DOCKING_CONTAINER.

GO_DD_DOCUMENT1 — data · L188-L188

DATA : GO_DD_DOCUMENT1 TYPE REF TO CL_DD_DOCUMENT.

GO_DD_DOCUMENT2 — data · L189-L189

DATA : GO_DD_DOCUMENT2 TYPE REF TO CL_DD_DOCUMENT.

GO_DD_DOCUMENT3 — data · L190-L190

DATA : GO_DD_DOCUMENT3 TYPE REF TO CL_DD_DOCUMENT.

GO_DD_DOCUMENT4 — data · L191-L191

DATA : GO_DD_DOCUMENT4 TYPE REF TO CL_DD_DOCUMENT.

GO_HTML_VIEW1 — data · L193-L193

DATA : GO_HTML_VIEW1 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_HTML_VIEW2 — data · L194-L194

DATA : GO_HTML_VIEW2 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_HTML_VIEW3 — data · L195-L195

DATA : GO_HTML_VIEW3 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_HTML_VIEW4 — data · L196-L196

DATA : GO_HTML_VIEW4 TYPE REF TO CL_GUI_HTML_VIEWER.

GO_DDIC_FCAT — data · L198-L198

DATA : GO_DDIC_FCAT TYPE LVC_T_FCAT.

LCL_DEF_GRID — class · L203-L215

CLASS LCL_DEF_GRID DEFINITION INHERITING FROM CL_GUI_ALV_GRID.

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

ENDCLASS.                    "LCL_DEF_GRID DEFINITION

ZCO_COMMON (132건)

BDCMSGCOLL — tables · L4-L4

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

ALSMEX_TABLINE — tables · L5-L5

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

TBTCO — tables · L6-L6

TABLES:
        TBTCO.  " * Job status overview table

RFCDOC — tables · L7-L7

TABLES:
        RFCDOC.

RFCDES — tables · L8-L8

TABLES:
        RFCDES.

DBCON — tables · L9-L9

TABLES:
        DBCON.

STXH — tables · L10-L10

TABLES:
        STXH.

GSETH — type-pool · L11-L11

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

ICON — type-pool · L11-L11

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

KCDE — type-pool · L11-L11

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

SCP1 — type-pool · L11-L11

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

SLIS — type-pool · L11-L11

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

VRM — type-pool · L11-L11

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

GV_CALC_I — data · L14-L14

DATA : GV_CALC_I TYPE I. "* %

GV_PROGRESS_MSG — data · L15-L15

DATA : GV_PROGRESS_MSG(100).           "* Display

GV_CALC_C0 — data · L16-L16

DATA : GV_CALC_C0(5).

GV_CALC_C1 — data · L17-L17

DATA : GV_CALC_C1(5).

GV_VALUE_SET — data · L20-L20

DATA : GV_VALUE_SET TYPE GSETH_VAL_LINE.

GT_VALUE_SET — data · L21-L21

DATA : GT_VALUE_SET TYPE GSETH_VAL_TAB.

GT_DETMSG — data · L23-L23

DATA : GT_DETMSG TYPE TABLE OF SCP1_GENERAL_ERROR.

GT_HEAMSG — data · L24-L24

DATA : GT_HEAMSG TYPE TABLE OF SCP1_GENERAL_ERROR.

GS_DOMAIN — data · L27-L31

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

GT_DOMAIN — data · L32-L32

DATA : GT_DOMAIN LIKE TABLE OF GS_DOMAIN.

T_EXCEL_EXPORT — types · L35-L37

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

GT_EXCEL_EXPORT — data · L39-L39

DATA : GT_EXCEL_EXPORT TYPE T_EXCEL_EXPORT OCCURS 0 WITH HEADER LINE.

GV_DIP_MOD — data · L43-L43

DATA : GV_DIP_MOD     TYPE C.

GV_REFRESH — data · L45-L45

DATA : GV_REFRESH TYPE C.

GV_BUKRS_TXT — data · L50-L50

DATA : GV_BUKRS_TXT TYPE T001-BUTXT VALUE ''.

GV_KOKRS_TXT — data · L51-L51

DATA : GV_KOKRS_TXT TYPE TKT09-TXT VALUE ''.

GV_WAERS — data · L52-L52

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

GV_KTOPL — data · L53-L53

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

GV_SPRAS — data · L54-L54

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

GV_LAND1 — data · L55-L55

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

GC_BUKRS — constants · L57-L57

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

GC_KOKRS — constants · L58-L58

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

GV_KOKRS_BEZEI — data · L60-L60

DATA : GV_KOKRS_BEZEI LIKE TKA01-BEZEI VALUE ''.

GS_BDC_OPTION — data · L64-L64

DATA: GS_BDC_OPTION TYPE CTU_PARAMS.

GT_BDCDATA — data · L65-L65

DATA: GT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

GT_MESSTAB — data · L66-L66

DATA: GT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

FTPOST — data · L71-L71

DATA: FTPOST LIKE FTPOST  OCCURS 0  WITH HEADER LINE.

FTTAX — data · L72-L72

DATA : FTTAX  LIKE FTTAX   OCCURS 0  WITH HEADER LINE.

BLNTAB — data · L73-L73

DATA :  BLNTAB LIKE BLNTAB  OCCURS 0  WITH HEADER LINE.

GV_FTPOST_TYPE — data · L74-L74

DATA : GV_FTPOST_TYPE TYPE C.

GV_FTPOST_CNT — data · L75-L75

DATA : GV_FTPOST_CNT TYPE I.

GV_FTPOST_WAERS — data · L76-L76

DATA : GV_FTPOST_WAERS LIKE T001-WAERS.

GT_IF_MSG — data · L78-L88

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

GT_EXCP_INIT_FIELD — data · L92-L94

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

MACRO_VALUE_TO_RANGE — macro · L103-L121

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

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

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

ADD_RANGE_EQ — macro · L123-L129

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

ADD_RANGE_FULL — macro · L131-L138

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

LT_TABLE — data · unit 로컬 · L164-L164

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

LT_FIELDCAT — data · unit 로컬 · L165-L165

  DATA : LT_FIELDCAT   TYPE SLIS_T_FIELDCAT_ALV.

LT_ALV_CAT — data · unit 로컬 · L166-L166

  DATA : LT_ALV_CAT   TYPE TABLE OF LVC_S_FCAT.

L_T001 — data · unit 로컬 · L211-L211

  DATA : L_T001 LIKE T001.

LT_NODE — data · unit 로컬 · L237-L237

  DATA : LT_NODE TYPE GSETH_NODE_TAB.

L_CLASS — data · unit 로컬 · L238-L238

  DATA : L_CLASS TYPE SETHIER-SETCLASS.

L_SETID — data · unit 로컬 · L239-L239

  DATA : L_SETID TYPE SETHIER-SETID.

LT_GRPHINFO — data · unit 로컬 · L240-L240

  DATA : LT_GRPHINFO TYPE GRPHINFO OCCURS 0 WITH HEADER LINE.

LS_BDCTAB — data · unit 로컬 · L311-L311

  DATA : LS_BDCTAB TYPE BDCDATA.

L_NCNT1 — data · unit 로컬 · L493-L493

  DATA : L_NCNT1(5) TYPE N.

L_NCNT2 — data · unit 로컬 · L494-L494

  DATA : L_NCNT2(5) TYPE N.

GR_TABLE — data · unit 로컬 · L526-L526

  DATA : GR_TABLE TYPE REF TO CL_SALV_TABLE.

LT_INTERN — data · unit 로컬 · L603-L603

  DATA : LT_INTERN LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

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

  FIELD-SYMBOLS : <L_FS01>.

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

FIELD-SYMBOLS:
                  <L_FS02> TYPE STANDARD TABLE.

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

FIELD-SYMBOLS:
                  <L_FS03>.

LT_FCAT — data · unit 로컬 · L762-L762

  DATA : LT_FCAT TYPE TABLE OF LVC_S_FCAT.

LS_FCAT — data · unit 로컬 · L763-L763

  DATA : LS_FCAT TYPE LVC_S_FCAT.

LF_DATA — data · unit 로컬 · L767-L767

  DATA : LF_DATA TYPE REF TO DATA.

LL_DATA — data · unit 로컬 · L768-L768

  DATA : LL_DATA TYPE REF TO DATA.

L_USR_ACT — data · unit 로컬 · L769-L769

  DATA : L_USR_ACT TYPE I.

L_FILE_LEN — data · unit 로컬 · L770-L770

  DATA : L_FILE_LEN TYPE I.

L_FNAME — data · unit 로컬 · L771-L771

  DATA : L_FNAME TYPE STRING.

L_EXT_FILENAME — data · unit 로컬 · L772-L772

  DATA : L_EXT_FILENAME TYPE STRING.

L_FULLPATH — data · unit 로컬 · L773-L773

  DATA : L_FULLPATH TYPE STRING.

L_PATH — data · unit 로컬 · L774-L774

  DATA : L_PATH TYPE STRING.

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

  FIELD-SYMBOLS : <FS_TABLE> TYPE STANDARD TABLE.

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

  FIELD-SYMBOLS : <FS_LINE> TYPE ANY.

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

  FIELD-SYMBOLS : <FS_COL> TYPE ANY.

LV_AMT — data · unit 로컬 · L933-L933

  DATA : LV_AMT(20) TYPE C.

LV_EXT — data · unit 로컬 · L934-L934

  DATA : LV_EXT TYPE BAPICURR-BAPICURR.

L_RESULT — data · unit 로컬 · L1106-L1106

  DATA : L_RESULT TYPE ABAP_BOOL.

L_FILENM — data · unit 로컬 · L1107-L1107

  DATA : L_FILENM TYPE STRING.

L_INTERNAL — data · unit 로컬 · L1147-L1147

  DATA: L_INTERNAL TYPE BAPICURR-BAPICURR.

LV_NRRANG — data · unit 로컬 · L1176-L1176

DATA:
         LV_NRRANG            LIKE INRDP-NRRANGENR.

LV_OBJECT — data · unit 로컬 · L1177-L1177

DATA:
         LV_OBJECT            LIKE NRIV-OBJECT.

LV_NRRANG — data · unit 로컬 · L1219-L1219

DATA:
         LV_NRRANG            LIKE INRDP-NRRANGENR.

LV_OBJECT — data · unit 로컬 · L1220-L1220

DATA:
         LV_OBJECT            LIKE NRIV-OBJECT.

LV_YEAR — data · unit 로컬 · L1221-L1221

DATA:
         LV_YEAR              LIKE INRI-TOYEAR.

USER_ACTION — data · unit 로컬 · L1371-L1371

DATA:
        USER_ACTION     TYPE   I.

RTN_CODE — data · unit 로컬 · L1372-L1372

DATA:
        RTN_CODE        LIKE   SY-SUBRC.

LT_FILETABLE — data · unit 로컬 · L1373-L1373

DATA:
        LT_FILETABLE    TYPE   FILETABLE.

LS_FILETABLE — data · unit 로컬 · L1374-L1374

DATA:
        LS_FILETABLE    TYPE   FILE_TABLE.

LV_RESULT — data · unit 로컬 · L1410-L1410

  DATA: LV_RESULT  TYPE  CHAR1.

LV_FILE — data · unit 로컬 · L1411-L1411

DATA:
        LV_FILE    TYPE  STRING.

LT_DYNPFIELDS — data · unit 로컬 · L1622-L1622

  DATA : LT_DYNPFIELDS    TYPE TABLE OF DYNPREAD.

LS_DYNPFIELDS — data · unit 로컬 · L1623-L1623

DATA:
         LS_DYNPFIELDS    TYPE DYNPREAD.

LV_DYNAME — data · unit 로컬 · L1624-L1624

DATA:
         LV_DYNAME        TYPE SY-REPID.

LV_DYNUM — data · unit 로컬 · L1625-L1625

DATA:
         LV_DYNUM         TYPE SY-DYNNR.

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

  FIELD-SYMBOLS <FS_FIELD> TYPE ANY.

LT_DYNPFIELDS — data · unit 로컬 · L1680-L1680

  DATA : LT_DYNPFIELDS    TYPE TABLE OF DYNPREAD.

LS_DYNPFIELDS — data · unit 로컬 · L1681-L1681

DATA:
         LS_DYNPFIELDS    TYPE DYNPREAD.

LV_DYNAME — data · unit 로컬 · L1682-L1682

DATA:
         LV_DYNAME        TYPE SY-REPID.

LV_DYNUM — data · unit 로컬 · L1683-L1683

DATA:
         LV_DYNUM         TYPE SY-DYNNR.

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

  FIELD-SYMBOLS <FS_FIELD> TYPE ANY.

LV_TRANSFER_BIN — data · unit 로컬 · L1779-L1779

  DATA : LV_TRANSFER_BIN TYPE SX_BOOLEAN.

LT_CONTENT_TXT — data · unit 로컬 · L1780-L1780

DATA:
         LT_CONTENT_TXT  TYPE SOLI_TAB.

LT_CONTENT_BIN — data · unit 로컬 · L1781-L1781

DATA:
         LT_CONTENT_BIN  TYPE SOLIX_TAB.

LT_OBJHEAD — data · unit 로컬 · L1782-L1782

DATA:
         LT_OBJHEAD      TYPE SOLI_TAB.

LV_LEN_IN — data · unit 로컬 · L1783-L1783

DATA:
         LV_LEN_IN       LIKE SOOD-OBJLEN.

LS_OTF — data · unit 로컬 · L1784-L1784

DATA:
         LS_OTF          TYPE SOLISTI1.

LV_BIN_FILESIZE — data · unit 로컬 · L1785-L1785

DATA:
         LV_BIN_FILESIZE TYPE I.

LV_BIN_FILE — data · unit 로컬 · L1786-L1786

DATA:
         LV_BIN_FILE     TYPE XSTRING.

LT_LINES — data · unit 로컬 · L1787-L1787

DATA:
         LT_LINES        LIKE TLINE OCCURS 0 WITH HEADER LINE.

LV_FILESIZE — data · unit 로컬 · L1788-L1788

  DATA : LV_FILESIZE     TYPE I.

LV_FILENAME — data · unit 로컬 · L1789-L1789

DATA:
         LV_FILENAME     TYPE STRING.

LT_OTF — data · unit 로컬 · L1790-L1790

  DATA : LT_OTF          TYPE TABLE OF ITCOO WITH HEADER LINE.

LV_FILENAME — data · unit 로컬 · L1855-L1855

DATA:
        LV_FILENAME             TYPE STRING.

LV_PATH — data · unit 로컬 · L1856-L1856

DATA:
        LV_PATH                 TYPE STRING.

LV_FULLPATH — data · unit 로컬 · L1857-L1857

DATA:
        LV_FULLPATH             TYPE STRING.

LV_DEFAULT_EXTENSION — data · unit 로컬 · L1858-L1858

DATA:
        LV_DEFAULT_EXTENSION    TYPE STRING.

LV_FILE_FILTER — data · unit 로컬 · L1859-L1859

DATA:
        LV_FILE_FILTER          TYPE STRING.

LV_INITIAL_DIRECTORY — data · unit 로컬 · L1860-L1860

DATA:
        LV_INITIAL_DIRECTORY    TYPE STRING.

LV_DEFAULT_FILE_NAME — data · unit 로컬 · L1861-L1861

DATA:
        LV_DEFAULT_FILE_NAME    TYPE STRING.

LV_USER_ACTION — data · unit 로컬 · L1864-L1864

DATA:
        LV_USER_ACTION          TYPE I.

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

  FIELD-SYMBOLS : <FIELD> TYPE ANY.

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

  FIELD-SYMBOLS : <ITAB> TYPE STANDARD TABLE.

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

  FIELD-SYMBOLS : <ILINE> TYPE ANY.

LV_CURR — data · unit 로컬 · L2002-L2002

  DATA : LV_CURR(15) TYPE C.

LT_INTERN — data · unit 로컬 · L2198-L2198

  DATA : LT_INTERN TYPE  ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

LV_INDEX — data · unit 로컬 · L2200-L2200

  DATA : LV_INDEX TYPE I.

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

  FIELD-SYMBOLS : <FS_LINE>.

ZCOC0030F01 (41건)

LV_FROM — data · unit 로컬 · L119-L119

  DATA : LV_FROM(3) TYPE C.

LV_TO — data · unit 로컬 · L120-L120

  DATA : LV_TO(3) TYPE C.

LS_FIELDCAT — data · unit 로컬 · L208-L208

  DATA : LS_FIELDCAT TYPE LVC_S_FCAT.

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

  FIELD-SYMBOLS : <FS_FIELD> TYPE ANY.

<FS_DATA> — field-symbol · unit 로컬 · L210-L210

  FIELD-SYMBOLS : <FS_DATA> LIKE GT_DATA.

LV_FIELD — data · unit 로컬 · L211-L211

  DATA : LV_FIELD(30) TYPE C.

LV_SUBRC — data · unit 로컬 · L254-L254

  DATA : LV_SUBRC LIKE SY-SUBRC.

L_ANSWER — data · unit 로컬 · L255-L255

  DATA: L_ANSWER.

LV_TEMP1 — data · unit 로컬 · L258-L258

  DATA : LV_TEMP1(255) TYPE C.

LV_TEMP2 — data · unit 로컬 · L259-L259

  DATA : LV_TEMP2(255) TYPE C.

LV_MSG — data · unit 로컬 · L260-L260

  DATA : LV_MSG(255) TYPE C.

LS_HEADERINFO — data · unit 로컬 · L315-L315

  DATA: LS_HEADERINFO LIKE BAPIPLNHDR.

LT_INDEXSTRUCTURE — data · unit 로컬 · L316-L316

DATA:
        LT_INDEXSTRUCTURE LIKE BAPIACPSTRU OCCURS 0.

LT_COOBJECT — data · unit 로컬 · L317-L317

DATA:
        LT_COOBJECT LIKE BAPIPCPOBJ OCCURS 0.

LT_PERVALUE — data · unit 로컬 · L318-L318

DATA:
        LT_PERVALUE LIKE BAPIPCPVAL OCCURS 0.

LT_TOTVALUE — data · unit 로컬 · L319-L319

DATA:
        LT_TOTVALUE LIKE BAPIPCPTOT OCCURS 0.

LT_CONTRL — data · unit 로컬 · L320-L320

DATA:
        LT_CONTRL   LIKE BAPIPCPCTRL OCCURS 0.

LT_RETURN — data · unit 로컬 · L321-L321

DATA:
        LT_RETURN   LIKE BAPIRET2 OCCURS 0.

LS_RETURN — data · unit 로컬 · L322-L322

DATA:
        LS_RETURN LIKE LINE OF LT_RETURN.

LV_PERIOD — data · unit 로컬 · L324-L324

  DATA : LV_PERIOD TYPE CO_PERAB.

LV_INDEX — data · unit 로컬 · L400-L400

  DATA : LV_INDEX TYPE BAPIACPSTRU-OBJECT_INDEX.

<FS_VALUE> — field-symbol · unit 로컬 · L402-L402

  FIELD-SYMBOLS : <FS_VALUE> TYPE ANY.

LV_VALUE — data · unit 로컬 · L404-L404

  DATA : LV_VALUE TYPE COSP-WOG001.

LV_C_VALUE — data · unit 로컬 · L405-L405

  DATA : LV_C_VALUE(20) TYPE C.

LV_MESSAGE — data · unit 로컬 · L471-L471

  DATA : LV_MESSAGE(255) TYPE C.

LS_FIELDCAT — data · unit 로컬 · L472-L472

  DATA : LS_FIELDCAT TYPE LVC_S_FCAT.

LV_FIELDNAME — data · unit 로컬 · L493-L493

  DATA : LV_FIELDNAME TYPE RGSBS-FIELD.

LV_CLASS — data · unit 로컬 · L494-L494

  DATA : LV_CLASS TYPE RGSBS-CLASS.

LT_CSKA — data · unit 로컬 · L522-L525

  DATA : BEGIN OF LT_CSKA OCCURS 0,
    KSTAR LIKE CSKA-KSTAR,
    KTEXT LIKE CSKU-KTEXT,
  END OF     LT_CSKA.

LT_RETURN — data · unit 로컬 · L527-L527

  DATA : LT_RETURN  TYPE DDSHRETVAL OCCURS 0 WITH HEADER LINE.

LT_FIELDTAB — data · unit 로컬 · L528-L528

  DATA : LT_FIELDTAB TYPE DFIES OCCURS 0 WITH HEADER LINE.

LR_KOSTL — ranges · unit 로컬 · L554-L554

  RANGES : LR_KOSTL FOR CSKS-KOSTL.

LR_KSTAR — ranges · unit 로컬 · L603-L603

  RANGES : LR_KSTAR FOR CSKA-KSTAR.

LT_ZCOS0010 — data · unit 로컬 · L653-L653

  DATA : LT_ZCOS0010 LIKE ZCOS0010 OCCURS 0 WITH HEADER LINE.

LT_ZCOS0020 — data · unit 로컬 · L654-L654

  DATA : LT_ZCOS0020 LIKE ZCOS0020 OCCURS 0 WITH HEADER LINE.

RESULTCODE — data · unit 로컬 · L656-L656

  DATA : RESULTCODE.

RESULTMSG — data · unit 로컬 · L657-L657

  DATA : RESULTMSG(100) TYPE C.

LV_SEQ — data · unit 로컬 · L733-L733

  DATA : LV_SEQ TYPE ZCOT0020-SEQ.

LV_RESULTMSG — data · unit 로컬 · L734-L734

  DATA : LV_RESULTMSG(100) TYPE C.

LV_RESULTCODE — data · unit 로컬 · L735-L735

  DATA : LV_RESULTCODE(1) TYPE C.

LT_ZCOT0020 — data · unit 로컬 · L737-L737

  DATA : LT_ZCOT0020 LIKE ZCOT0020 OCCURS 0 WITH HEADER LINE.

Unit 목록 (컨테이너)

unit 유형 위치 조각 한 줄 요약
INITIALIZATION EVENT ZCOC0030 L26-31 0 INITIALIZATION 이벤트에서 SET_DYNP를 호출해 선택화면 기본값을 설정한다.
AT SELECTION-SCREEN EVENT ZCOC0030 L32-34 0 선택화면 PAI에서 CONTROL_FCXX를 호출하는 이벤트이다.
AT SELECTION-SCREEN OUTPUT EVENT ZCOC0030 L35-40 0 선택화면 출력 시 LOOP_AT_SCREEN으로 화면 필드 속성을 제어하는 PBO 이벤트이다.
AT SELECTION-SCREEN ON VALUE-REQUEST EVENT ZCOC0030 L41-43 0 코스트센터 그룹(P_KSSET)의 F4 검색도움으로 F4_GRP(클래스 0101, KOSTL)를 호출한다.
AT SELECTION-SCREEN ON VALUE-REQUEST EVENT ZCOC0030 L44-46 0 원가요소 그룹(P_KASET)의 F4 검색도움으로 F4_GRP(클래스 0102, KSTAR)를 호출한다.
AT SELECTION-SCREEN ON VALUE-REQUEST EVENT ZCOC0030 L47-49 0 원가요소 범위 하한(S_KSTAR-LOW)의 F4 검색도움으로 F4_KSTAR를 호출한다.
AT SELECTION-SCREEN ON VALUE-REQUEST EVENT ZCOC0030 L50-55 0 원가요소 범위 상한(S_KSTAR-HIGH)의 F4 검색도움으로 F4_KSTAR를 호출한다(파라미터 'S_KSTAR-IGH' 오타 의심).
START-OF-SELECTION EVENT ZCOC0030 L56-66 1 ZCOT0020 잠금 설정, 입력 검증, 초기화(대상 코스트센터·원가요소 결정), 가용예산 조회를 순서대로 수행하는 메인 이벤트이다.
END-OF-SELECTION EVENT ZCOC0030 L67-78 1 온라인 실행 시 검증된 업로드 데이터(GT_DATA)가 있으면 화면 100(ALV)을 호출하고 없으면 메시지를 내는 END-OF-SELECTION 이벤트이다.
LCL_DEF_RECEIVER~HANDLE_TOP_OF_PAGE METHOD ZCOC0030C01 L63-65 0
LCL_DEF_RECEIVER~HANDLE_TOOLBAR METHOD ZCOC0030C01 L67-71 0
LCL_DEF_RECEIVER~HANDLE_USER_COMMAND METHOD ZCOC0030C01 L73-77 0
LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED METHOD ZCOC0030C01 L79-83 0
LCL_DEF_RECEIVER~HANDLE_DATA_CHANGED_FINISHED METHOD ZCOC0030C01 L85-89 0
LCL_DEF_RECEIVER~HANDLE_HOTSPOT_CLICK METHOD ZCOC0030C01 L91-95 0
LCL_DEF_RECEIVER~HANDLE_DOUBLE_CLICK METHOD ZCOC0030C01 L97-101 0
LCL_DEF_RECEIVER~HANDLE_ON_F4 METHOD ZCOC0030C01 L103-111 0
LCL_DEF_RECEIVER~HANDLE_CONTEXT_MENU_REQ METHOD ZCOC0030C01 L113-115 0
TOOBAR_PART FORM ZCOC0030C01 L123-127 0
USER_COMMAND_PART FORM ZCOC0030C01 L135-141 0
DATA_CHANGED FORM ZCOC0030C01 L149-151 0
F_OUT_MESSAGE_PROC FORM ZCOC0030C01 L160-176 0
DATA_CHANGED_FINISHED FORM ZCOC0030C01 L185-188 0
HOTSPOT_CLICK FORM ZCOC0030C01 L197-200 0
DOUBLE_CLICK FORM ZCOC0030C01 L210-214 0
ON_F4 FORM ZCOC0030C01 L228-244 0
ON_F4_100 FORM ZCOC0030C01 L258-276 0
DISPLAY_ALV_LIST FORM ZCOC0030C01 L286-356 0
SET_FCAT_DDIC_X01 FORM ZCOC0030C01 L366-431 0
FILL_FIELD_CATALOGS FORM ZCOC0030C01 L443-461 0
FILL_FCAT FORM ZCOC0030C01 L475-556 0
GET_LIKEITAB_FACT FORM ZCOC0030C01 L567-617 0
SET_TOP_OF_PAGE FORM ZCOC0030C01 L629-687 0
SET_TOP_OF_PAGE_TEXT FORM ZCOC0030C01 L697-707 0
LOOP_AT_SCREEN FORM ZCOC0030F01 L6-15 0 선택화면에서 그룹 MG1 필드를 입력 불가로 설정하는 LOOP AT SCREEN 화면 제어이다.
SET_DYNP FORM ZCOC0030F01 L22-55 1 초기화 시 관리회계영역 텍스트를 설정하고 회계연도·From 월(전월)·To 월(당월) 기본값을 계산하며 DEV 시스템에서는 테스트용 범위를 채운다.
CONTROL_FCXX FORM ZCOC0030F01 L65-69 0 선택화면 기능코드(SSCRFIELDS-UCOMM)를 로컬 변수에 담기만 하는 빈 제어 FORM이다.
CHECK_INPUT FORM ZCOC0030F01 L78-111 2 코스트센터/원가요소는 그룹과 개별 범위 중 하나만 입력되었는지, 이월 대상월(To)이 From 월보다 큰지 선택화면 입력을 검증한다.
INITIALIZE_DATA FORM ZCOC0030F01 L118-157 1 관리회계영역 기본정보 설정, 메인 ALV 필드카탈로그 취득, 전역 플래그 초기화 후 대상 코스트센터·원가요소를 결정하고 BAPI 헤더 텍스트('예산 이월 연도: From월 -> To월')를 만든다.
PROCESS_DATA FORM ZCOC0030F01 L163-166 0 가용예산 조회(GET_AVAILABLE_BG_DATA)와 GT_DATA 변환(TRANSFER_GT_DATA)을 순서대로 호출하는 단순 디스패치 FORM이다.
TRANSFER_GT_DATA FORM ZCOC0030F01 L175-201 1 Z_CO_SEL_KOSTL_BUDGET_ACTUAL 결과 GT_ZCOS0030를 메인 테이블 GT_DATA로 옮기고 가용예산(BG_SUM)이 0인 라인은 노란색·비대상, 그 외는 BAPI 대상으로 표시한다.
CONVERT_1000_UP FORM ZCOC0030F01 L207-228 1 ALV 필드카탈로그의 CURR 타입 필드(월별 금액)를 대상으로 GT_DATA 전 라인의 값을 천원 단위에서 원 단위로 환산(×1000)하는 FORM이다.
SET_ERROR_FIELD_RED FORM ZCOC0030F01 L236-244 0 오류가 난 필드를 ALV 셀 색상(빨강, COL=6)으로 강조하기 위해 GT_DATA-F_COL에 색상 정보를 추가하는 표시용 헬퍼이다.
EXECUTE_BAPI FORM ZCOC0030F01 L253-301 2 중복 실행을 막고 사용자 확인 후 From 월 차감(P) → To 월 가산(C) → 실패 시 원복(R) 순으로 예산 이월 BAPI를 실행하고 ZCOT0020 로그를 남긴다.
BAPI_CARRY_FWD_POST FORM ZCOC0030F01 L310-380 2 구분(P: From 월 차감, C: To 월 가산, R: From 월 원복)에 따라 기간을 정하고 BAPI_COSTACTPLN_POSTPRIMCOST(DELTA='X')로 예산 이월 계획값을 전기한 뒤 커밋/롤백과 결과 상태를 처리한다.
FILL_TABLES FORM ZCOC0030F01 L391-460 2 BAPI_COSTACTPLN_POSTPRIMCOST용 헤더(관리회계영역·연도·기간·버전 B20)와 코스트센터/원가요소별 계획값 테이블을 GT_DATA-FROM_BG로부터 채운다.
ADD_DATA_MESSAGE FORM ZCOC0030F01 L469-481 1 오류 필드의 ALV 컬럼 텍스트와 메시지를 합쳐 현재 GT_DATA 라인의 메시지 목록(MSG_LIST)에 추가하는 FORM이다.
F4_GRP FORM ZCOC0030F01 L491-513 1 K_GROUP_SELECT를 호출해 코스트센터 그룹(0101) 또는 원가요소 그룹(0102) 세트를 선택하는 F4 검색도움을 제공한다.
F4_KSTAR FORM ZCOC0030F01 L521-544 1 관리회계영역의 유효한 원가요소(50000000~69999999)를 CSKB/CSKU에서 조회해 F4 검색도움 목록으로 제공한다.
DETERMINE_KOSTL FORM ZCOC0030F01 L553-593 2 코스트센터 범위(S_KOSTL) 또는 코스트센터 그룹(P_KSSET, SETLEAF 클래스 0101)으로 대상 코스트센터를 결정하고 ONRKS/CSKT에서 OBJNR·명칭을 GT_KOSTL_OBJNR·GR_SELECT_OBJ에 담는다.
DETERMINE_KSTAR FORM ZCOC0030F01 L602-643 2 원가요소 범위(S_KSTAR) 또는 원가요소 그룹(P_KASET, SETLEAF 클래스 0102)으로 대상 원가요소를 결정하고 CSKB/CSKU에서 유효한 원가요소(50000000~69999999)와 명칭을 GT_KSTAR·GR_KSTAR에 담는다.
GET_AVAILABLE_BG_DATA FORM ZCOC0030F01 L652-685 1 대상 코스트센터·원가요소 목록을 넘겨 Z_CO_SEL_KOSTL_BUDGET_ACTUAL로 From 월의 예산·실적·가용예산(ZCOS0030)을 조회한다.
SET_RESULT FORM ZCOC0030F01 L693-723 1 BAPI 전기 결과(S/E)에 따라 GT_DATA 대상 라인의 상태 아이콘·메시지·To 월 금액을 갱신하고 ALV 리프레시 플래그를 켠다.
INSERT_LOG FORM ZCOC0030F01 L732-779 2 이월 처리된 코스트센터/원가요소 라인을 예산조정 이력 테이블 ZCOT0020(BGTYPE '50' 이월)에 로그로 저장한다.
ENQUEUE_ZCOT0020 FORM ZCOC0030F01 L787-806 1 예산조정 이력 테이블 ZCOT0020에 ENQUEUE_EZ_ZCOT0020으로 잠금을 걸고 실패 시 잠금 메시지를 표시하며 오류 플래그를 반환한다.
DEQUEUE_ZCOT0020 FORM ZCOC0030F01 L812-819 1 예산조정 이력 테이블 ZCOT0020에 걸어둔 잠금을 DEQUEUE_EZ_ZCOT0020으로 해제한다.
USER_COMMAND_0100 INPUT MODULE ZCOC0030I01 L6-31 1 화면 100의 기능코드(BACK/EXIT/&POST)에 따라 컨테이너 정리·잠금 해제 후 화면 종료 또는 예산 이월 BAPI 실행(EXECUTE_BAPI)을 분기하는 PAI 모듈이다.
STATUS_0100 OUTPUT MODULE ZCOC0030O01 L6-22 0
CREATE_AND_INIT_CONTROLS_0100 OUTPUT MODULE ZCOC0030O01 L28-72 0
CREATE_CUSTOM_OBJECT_0100 FORM ZCOC0030O01 L82-126 0
SET_ALV_LAYOUT_0100 FORM ZCOC0030O01 L134-154 0
SET_ALV_LAYOUT_POP FORM ZCOC0030O01 L162-171 0
SET_ALV_TOOLBAR_0100 FORM ZCOC0030O01 L179-201 0
SET_ALV_EVENT_REGISTER_0100 FORM ZCOC0030O01 L210-238 0
SET_TOP_OF_PAGE_TEXT_0100 FORM ZCOC0030O01 L311-342 0
SET_FCAT_LIKETAB_0100 FORM ZCOC0030O01 L352-433 0
SET_ALV_SORT_0100 FORM ZCOC0030O01 L441-469 0
LCL_DEF_GRID~U_SET_FIXED_ROWS METHOD ZCO_ALV L222-226 0
LCL_DEF_GRID~U_SET_RESIZE_COLS METHOD ZCO_ALV L228-232 0
LCL_DEF_GRID~U_SCROLL_TO_BOTTOM METHOD ZCO_ALV L234-236 0
LCL_DEF_GRID~U_SET_CURRENT_CELL_BASE METHOD ZCO_ALV L238-243 0
LCL_DEF_GRID~U_SET_OPTIMIZE METHOD ZCO_ALV L245-249 0
CLEAR_CONTAINER_PROC FORM ZCO_ALV L263-311 0
UCOMM_PROC FORM ZCO_ALV L320-343 0
GET_SELECTED_ROW FORM ZCO_ALV L352-361 0
GET_SELECTED_ROW2 FORM ZCO_ALV L370-398 0
REFRESH_CONTAINER FORM ZCO_ALV L407-437 0
APPEND_EXCLUDE_FUNCTIONS FORM ZCO_ALV L446-454 0
REGISTER_ALV_EVENT FORM ZCO_ALV L463-466 0
CHECK_SORT_PARAMETER FORM ZCO_ALV L473-494 0
ADD_EXCP_FIELD_WHEN_INITIAL FORM ZCO_COMMON L146-151 0
GET_FCAT_LIKE_ITAB FORM ZCO_COMMON L160-201 1 프로그램 내부테이블 이름으로 REUSE_ALV_FIELDCATALOG_MERGE→LVC 변환→LVC_FIELDCAT_COMPLETE를 거쳐 LVC 필드카탈로그를 생성하는 공통 FORM이다.
SET_COMPANY_BASE FORM ZCO_COMMON L210-227 1 회사코드로 T001을 읽어 통화·계정과목표·언어·회사명·국가 전역변수를 설정하는 공통 FORM이다.
GET_SETLEAF_VALUES FORM ZCO_COMMON L233-297 1 세트 클래스(코스트센터 그룹/원가요소 그룹 등)와 세트명으로 SETID를 구성해 K_HIERARCHY_TABLES_READ로 세트의 값 목록을 GT_VALUE_SET에 읽어오는 공통 FORM이다.
DYNPRO FORM ZCO_COMMON L309-335 1 BDCDATA 한 줄(화면 시작 또는 필드/값)을 생성해 BDC 테이블에 추가하되, 예외 등록 필드가 초기값이면 건너뛰는 공통 FORM이다.
SET_BDC_OPTION FORM ZCO_COMMON L349-366 0
ZERO_O FORM ZCO_COMMON L375-381 0
ZERO_I FORM ZCO_COMMON L390-396 0
F4_DATE_FORMAT_YYYYMM FORM ZCO_COMMON L405-421 0
F4_DATE_FORMAT_YYYYMMDD FORM ZCO_COMMON L430-436 0
DATE_CHK FORM ZCO_COMMON L446-455 1 DATE_CHECK_PLAUSIBILITY로 날짜의 유효성을 검사해 결과 코드를 돌려주는 공통 FORM이다.
BAR_MSG FORM ZCO_COMMON L465-470 0
BAR_MSG_PER FORM ZCO_COMMON L492-516 1 처리 건수 비율(%)을 계산해 SAPGUI_PROGRESS_INDICATOR로 진행률 메시지를 표시하는 공통 FORM이다.
DISPLAY_SPOOL_BY_SALV FORM ZCO_COMMON L525-535 1 CL_SALV_TABLE=>FACTORY로 전달받은 내부테이블을 SALV(ALV) 리스트로 표시하는 공통 FORM(배치 스풀 출력용)이다.
SET_MINUS_FRONT FORM ZCO_COMMON L544-550 0
F4_FNAME FORM ZCO_COMMON L558-581 0
UPLOAD_DATA FORM ZCO_COMMON L595-652 2 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 동적으로 지정된 내부테이블·구조체에 행/열 단위로 적재하는 공통 업로드 FORM이다.
BDC_DATE FORM ZCO_COMMON L661-667 0
BDC_CURR FORM ZCO_COMMON L676-680 0
BDC_CHECKBOX FORM ZCO_COMMON L689-691 0
BUILD_MESSAGE FORM ZCO_COMMON L701-722 1 BDC 메시지(BDCMSGCOLL)를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다.
BUILD_MESSAGE_BAPI FORM ZCO_COMMON L732-753 1 BAPIRET2 메시지를 MESSAGE_TEXT_BUILD로 텍스트화하고 '&' 치환문자를 제거하는 공통 FORM이다.
EXCEL_FORM_DOWNLOAD FORM ZCO_COMMON L760-890 2 엑셀 컬럼 제목 목록으로 동적 테이블을 만들어 헤더 1행만 담은 업로드 양식(xls)을 저장 대화상자를 통해 PC에 다운로드하는 공통 FORM이다.
CONVERT_CURRENCY FORM ZCO_COMMON L903-922 1 전기일 환율로 외화 금액을 현지통화 금액으로 CONVERT_TO_LOCAL_CURRENCY를 이용해 환산하는 공통 FORM이다.
CONVERT_CHAR_TO_AMT FORM ZCO_COMMON L932-959 1 콤마가 포함된 문자형 금액을 콤마 제거 후 BAPI_CURRENCY_CONV_TO_INTERNAL로 통화 내부 금액으로 변환하는 공통 FORM이다.
F4IF_INT_TABLE_VALUE_REQUEST FORM ZCO_COMMON L971-999 0
POPUP_TO_CONFIRM_02 FORM ZCO_COMMON L1010-1023 1 POPUP_TO_CONFIRM_STEP으로 두 줄 질문의 확인 팝업(J/N/A)을 띄워 응답을 돌려주는 공통 FORM이다.
POPUP_TO_CONFIRM FORM ZCO_COMMON L1035-1060 1 POPUP_TO_CONFIRM으로 Yes/No 확인 팝업을 띄워 사용자 응답을 돌려주는 공통 FORM이다.
GET_LAST_DAY FORM ZCO_COMMON L1069-1078 1 RP_LAST_DAY_OF_MONTHS로 주어진 날짜가 속한 월의 마지막 날을 구하는 공통 FORM이다.
SET_DSMOD FORM ZCO_COMMON L1086-1095 1 BDC 처리 모드 입력값이 A/E/N 중 하나인지 검사하고 아니면 오류 메시지로 중단하는 공통 FORM이다.
FILE_EXISTS FORM ZCO_COMMON L1104-1135 1 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 프론트엔드 파일 존재 여부를 확인해 참/거짓을 돌려주는 공통 FORM이다.
AMT_CONV_TO_INTERNAL FORM ZCO_COMMON L1144-1161 1 외부 형식 금액을 통화별 소수점에 맞는 SAP 내부 금액으로 BAPI_CURRENCY_CONV_TO_INTERNAL로 변환하는 공통 FORM이다.
GET_NEXT_NUMBER FORM ZCO_COMMON L1172-1203 1 번호범위 객체·구간으로 NUMBER_GET_NEXT를 호출해 다음 채번 번호를 가져오는 공통 FORM이다.
GET_NEXT_NUMBER_YEAR FORM ZCO_COMMON L1215-1254 1 번호범위 객체·구간·연도로 NUMBER_GET_NEXT를 호출해 연도별 다음 채번 번호를 가져오는 공통 FORM이다.
GET_VALUE_LIST_DOM FORM ZCO_COMMON L1263-1278 1 도메인 고정값과 텍스트를 DD07T에서 읽어 전달받은 테이블에 채우는 공통 FORM(F4/드롭다운용)이다.
GET_DOM_TEXT_LIST FORM ZCO_COMMON L1287-1298 1 도메인 고정값 텍스트를 DD07T에서 읽어 GT_DOMAIN에 누적하는 공통 FORM이다.
MD_CONVER_MAT_UNIT FORM ZCO_COMMON L1311-1341 1 자재의 수량을 입력 단위에서 출력 단위로 MD_CONVERT_MATERIAL_UNIT을 이용해 환산하는 공통 FORM이다.
SHOW_MESSAGE_LIST FORM ZCO_COMMON L1349-1359 1 누적된 헤더/상세 메시지 테이블(GT_HEAMSG/GT_DETMSG)을 SCPR_SV_SHOW_MESSAGE_LIST로 팝업 표시하는 공통 FORM이다.
GET_FILE_PATH FORM ZCO_COMMON L1368-1399 1 파일 열기 대화상자(FILE_OPEN_DIALOG)로 업로드할 XLS 파일을 선택받아 파일 경로를 반환하는 공통 FORM이다.
CHK_FILE_PATH FORM ZCO_COMMON L1408-1433 1 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST로 업로드 파일 경로의 존재를 확인하고 없으면 메시지 후 처리를 중단하는 공통 FORM이다.
SET_BUTTON_100 FORM ZCO_COMMON L1444-1466 0
BDC_CREATE_AENNR FORM ZCO_COMMON L1545-1612 2 변경번호(AENNR) 존재 여부를 AENR에서 확인한 뒤 없으면 BDC로 CC01(변경마스터 생성)을 실행하고 결과 메시지를 반환하는 공통 FORM이다.
GET_DYNP_VALUES_READ FORM ZCO_COMMON L1620-1669 1 DYNP_VALUES_READ로 현재 화면의 필드 값을 읽어 같은 이름의 프로그램 변수에 넣는 공통 FORM이다.
SET_DYNP_VALUES FORM ZCO_COMMON L1678-1719 1 프로그램 변수 값을 DYNP_VALUES_UPDATE로 현재 화면 필드에 반영하는 공통 FORM이다.
AUTHORITY_CHECK_TCODE FORM ZCO_COMMON L1725-1738 1 S_TCODE 권한 객체로 현재 T-Code 실행 권한을 검사하고 T-Code 끝자리가 1이면 조회 모드(GV_DIP_MOD)로 설정하는 공통 FORM이다.
SET_BTN_1000 FORM ZCO_COMMON L1748-1768 0
F_PDF_DOWNLOAD FORM ZCO_COMMON L1777-1842 2 Smart Forms 출력 결과(OTF)를 PDF로 변환하고 저장 대화상자를 거쳐 PC에 다운로드하는 공통 FORM이다.
OPEN_SAVE_FILE_SEL FORM ZCO_COMMON L1851-1907 1 파일 저장 대화상자(FILE_SAVE_DIALOG)를 열어 사용자가 지정한 저장 파일명을 돌려주는 공통 FORM이다.
ALSMEX_TAB_TO_ITAB FORM ZCO_COMMON L1917-1945 1 ALSM_EXCEL_TO_INTERNAL_TABLE 결과(ALSMEX_TABLINE)를 동적으로 지정한 내부테이블·구조체에 행/열 매핑하여 적재하는 공통 FORM이다.
START_INTERFACE_BDC FORM ZCO_COMMON L1953-1973 1 FTPOST 작업 테이블을 초기화하고 POSTING_INTERFACE_START로 FI Posting Interface(Call Transaction 방식)를 시작하는 공통 FORM이다.
END_INTERFACE_BDC FORM ZCO_COMMON L1980-1990 1 POSTING_INTERFACE_END를 호출해 FI Posting Interface 세션을 종료하고 FTPOST/FTTAX/BLNTAB 작업 테이블을 초기화하는 공통 FORM이다.
FILL_FIELD FORM ZCO_COMMON L2000-2023 1 Posting Interface(FTPOST)용 필드명·값을 한 건 채우며 금액 필드는 통화 형식으로 편집하여 FTPOST 테이블에 추가하는 공통 FORM이다.
BUILD_MESSGE_IF FORM ZCO_COMMON L2032-2047 1 인터페이스 메시지 구조(MSGID/MSGNO/MSGV1~4)를 MESSAGE_TEXT_BUILD로 메시지 텍스트로 조립하는 공통 FORM이다.
GET_POST_PERIOD FORM ZCO_COMMON L2057-2084 1 회사코드와 전기일로 FI_PERIOD_DETERMINE을 호출해 회계연도·전기기간을 구하고 실패 시 날짜에서 직접 추출하는 공통 FORM이다.
SET_KOKRS_BASE FORM ZCO_COMMON L2094-2101 1 TKA01에서 관리회계영역의 명칭·통화·계정과목표를 읽어 전역변수에 설정하는 공통 FORM이다.
CONV_DB_WAERS FORM ZCO_COMMON L2109-2116 1 CURRENCY_AMOUNT_IDOC_TO_SAP로 외부(IDoc) 형식 금액을 통화 소수점에 맞는 SAP 내부 금액으로 변환하는 공통 FORM이다.
CONV_VIEW_WAERS FORM ZCO_COMMON L2126-2134 1 CURRENCY_AMOUNT_SAP_TO_IDOC로 SAP 내부 금액을 통화 소수점에 맞는 외부(IDoc) 형식 문자열로 변환하는 공통 FORM이다.
CONVERT_1000_U FORM ZCO_COMMON L2143-2146 0
CONVERT_1000_D FORM ZCO_COMMON L2155-2158 0
GET_VERSN_TEXT FORM ZCO_COMMON L2168-2177 1 TKT09에서 관리회계영역·버전의 계획 버전 텍스트를 로그온 언어로 읽는 공통 FORM이다.
UPLOAD_XLS_STRUCT FORM ZCO_COMMON L2191-2245 2 엑셀 파일을 ALSM_EXCEL_TO_INTERNAL_TABLE로 읽어 행/열 단위 값을 구조체 컴포넌트에 매핑해 내부테이블로 적재하는 공통 업로드 FORM이다.