Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
201 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 | ZFIR0030 — 매출 및 입금내역 인터페이스 | POS·영업 시스템에서 받은 매출 및 입금 내역(CBO 테이블 ZFIT0060)을 검증해 SAP 회계전표로 자동 생성하는 인터페이스 배치다. 거래유형별(상품매출 B01, 모바일판매 B03, 이통예수금 B53, 이통대납금 B55, 판매장려금 B59 등)로 전기 로직이 갈라지며, 전표 헤더·아이템·세금라인·전표분할 라인을 만들어 FB01 BDC 로 전기하고 결과를 ZFIT0060 에 다시 기록한다. 매일 배치로 도는 핵심 매출 계상 프로그램이다. | abap://ZFIR0030 |
|
|
stable |
|
|
|
ef9946d1a81392bea929bb74dfc76e6864c69a145e777b0244ff228aa08ca395 | 101 | 67 | 289 |
업무 목적
POS·영업 시스템에서 받은 매출 및 입금 내역(CBO 테이블 ZFIT0060)을 검증해 SAP 회계전표로 자동 생성하는 인터페이스 배치다. 거래유형별(상품매출 B01, 모바일판매 B03, 이통예수금 B53, 이통대납금 B55, 판매장려금 B59 등)로 전기 로직이 갈라지며, 전표 헤더·아이템·세금라인·전표분할 라인을 만들어 FB01 BDC 로 전기하고 결과를 ZFIT0060 에 다시 기록한다. 매일 배치로 도는 핵심 매출 계상 프로그램이다.
주 흐름
- 처리 기준일을 받고 도메인 텍스트를 준비한다 (GET_DOMAIN)
- 매출채권·입금 내역을 수신하거나 미전송 건을 추출한다 (RECEIVE_AR / GET_ZFIT0060)
- 전송받은 데이터 값을 검증한다 — 계정·거래처·금액·통화 등 (CHECK_DATA)
- 거래유형별 전기 로직으로 분기한다 (PROCESS_B01 상품매출 / B03 모바일 / B53 이통예수금 / B55 이통대납금 / B59 판매장려금 / B63)
- 전표 헤더와 아이템, 세금라인, 전표분할 라인을 구성한다 (MAKE_BKPF / MAKE_BSEG / MAKE_BSEG_TX / MAKE_BSEG_SP)
- FB01 BDC 로 매출전표를 생성하고 결과를 CBO 테이블에 저장한다 (BDC_TRANSACTION_FB01 → POSTING_DOCUMENT)
- 오류 건은 재전송 경로로 다시 보낸다 (SEND_AR)
핵심 내부테이블
GT_ZFIT0060— 매출·입금 인터페이스 수신 내역 (채움: GET_ZFIT0060, RECEIVE_AR / 소비: CHECK_DATA, PROCESS_B01)GT_BKPF / GT_BSEG— 생성할 전표 헤더·아이템 (채움: MAKE_BKPF, MAKE_BSEG / 소비: BDC_TRANSACTION_FB01)
테이블 / 외부 호출
- read: CSKT, DD07T, J_1BBRANCH, KNB1, LTDX, SKAT, T007S, TCURC, USR01, V_USERNAME, ZFIT0040, ZFIT0060, ZFIT0070, ZFIT0080, ZFIT0160
- write: ZFIT0060
- 외부 호출: BAL_DSP_LOG_DISPLAY, BAL_LOG_CREATE, BAL_LOG_MSG_ADD, CLOI_PUT_SIGN_IN_FRONT, CONVERSION_EXIT_ALPHA_INPUT, CONVERSION_EXIT_ALPHA_OUTPUT, CONVERT_TO_FOREIGN_CURRENCY, CONVERT_TO_LOCAL_CURRENCY, CURRENCY_AMOUNT_IDOC_TO_SAP, CURRENCY_AMOUNT_SAP_TO_IDOC, DOMAIN_VALUE_GET, DYNP_VALUES_READ, F4IF_INT_TABLE_VALUE_REQUEST, FB03, FK03, GUI_UPLOAD, HELP_VALUES_GET_NO_DD_NAME, HRVE_GET_TIME_BETWEEN_DATES, ICON_CREATE, KCD_EXCEL_OLE_TO_INT_CONVERT, LVC_VARIANT_DEFAULT_GET, LVC_VARIANT_EXISTENCE_CHECK, LVC_VARIANT_F4, MESSAGE_TEXT_BUILD, NUMBER_GET_NEXT, NUMERIC_CHECK, POPUP_TO_CONFIRM_STEP, P_TCODE, REUSE_ALV_EVENTS_GET, REUSE_ALV_FIELDCATALOG_MERGE
로직 조각 (67건 / unit 45개)
LLM 이 코드에서 골라낸 업무 로직 단위다. 조각마다 소스 원문과 자연어 설명을 함께 싣는다 — 설명이 코드와 맞는지 바로 대조할 수 있어야 하기 때문이다. 테이블·호출은 LLM 이 쓴 값이 아니라 파서가 조각 범위에서 다시 뽑은 사실이다. 순서는 실행 순서다.
FORM GET_DOMAIN — ZFIR0030F01 L9-L58 (50줄)
검증에 쓰일 도메인 고정값(발생취소·거래유형·결제유형·결제시점)을 DD07T 에서 읽고 선수금계정을 ZFIT0080 에서 조회하는 FORM 이다.
이 unit 의 조각 2개가 42/50줄(84%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] DD07T 에서 로그온 언어 기준으로 도메인 ZDGUBUN(발생/취소)·ZDBTYPE2(거래유형)·ZDPTYPE(결제유형)·ZDPFLAG(결제시점)의 고정값과 텍스트를 GT_DOMAIN 에 모아 수신 데이터 값 검증에 사용한다.
13| SELECT DOMNAME
14| DOMVALUE_L
15| DDTEXT
16| INTO TABLE GT_DOMAIN
17| FROM DD07T
18| WHERE DD07T~DOMNAME EQ 'ZDGUBUN'
19| AND DD07T~DDLANGUAGE EQ SY-LANGU
20| AND DD07T~AS4LOCAL EQ 'A'.
21|
22| * 거래유형(ZDBTYPE2)
23| SELECT DOMNAME
24| DOMVALUE_L
25| DDTEXT
26| APPENDING TABLE GT_DOMAIN
27| FROM DD07T
28| WHERE DD07T~DOMNAME EQ 'ZDBTYPE2'
29| AND DD07T~DDLANGUAGE EQ SY-LANGU
30| AND DD07T~AS4LOCAL EQ 'A'.
31|
32| * 결제유형(ZDPTYPE)
33| SELECT DOMNAME
34| DOMVALUE_L
35| DDTEXT
36| APPENDING TABLE GT_DOMAIN
37| FROM DD07T
38| WHERE DD07T~DOMNAME EQ 'ZDPTYPE'
39| AND DD07T~DDLANGUAGE EQ SY-LANGU
40| AND DD07T~AS4LOCAL EQ 'A'.
41|
42| * 결제시점(ZDPFLAG)
43| SELECT DOMNAME
44| DOMVALUE_L
45| DDTEXT
46| APPENDING TABLE GT_DOMAIN
47| FROM DD07T
48| WHERE DD07T~DOMNAME EQ 'ZDPFLAG'
49| AND DD07T~DDLANGUAGE EQ SY-LANGU
50| AND DD07T~AS4LOCAL EQ 'A'.
- EN: Reads fixed values and texts of domains ZDGUBUN, ZDBTYPE2, ZDPTYPE and ZDPFLAG from DD07T into GT_DOMAIN for validating interface data.
- 테이블(파서): read DD07T / write -
- SAP 객체: DD07T, ZDGUBUN, ZDBTYPE2, ZDPTYPE, ZDPFLAG
- 업무 키워드: 도메인 고정값, 발생/취소 구분, 거래유형, 결제유형, 결제시점
- English: Domain Fixed Values, Validation Lookup
- 정의부(복사 시 함께 필요):
GT_DOMAIN - 위치:
abap://ZFIR0030/ZFIR0030F01#L13-L50· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#GET_DOMAIN#C1
[sql_select] 결제유형 매핑 테이블 ZFIT0080 에서 결제유형 10(선수금대체)의 계정을 읽어 선수금계정 GV_HKONT 로 사용한다.
53| SELECT SINGLE HKONT
54| INTO GV_HKONT
55| FROM ZFIT0080
56| WHERE PTYPE EQ '10'.
- EN: Reads the advance-payment G/L account for payment type 10 from ZFIT0080 into GV_HKONT.
- 테이블(파서): read ZFIT0080 / write -
- SAP 객체: ZFIT0080
- 업무 키워드: 선수금계정, 결제유형 매핑
- English: Down Payment Account, Account Mapping
- 정의부(복사 시 함께 필요):
GV_HKONT,ZFIT0080 - 위치:
abap://ZFIR0030/ZFIR0030F01#L53-L56· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#GET_DOMAIN#C2
FORM GET_ZFIT0060 — ZFIR0030F01 L411-L504 (94줄)
전송받은 매출·입금 내역을 건별로 돌며 거래유형에 따라 전표를 만들어 전기한다 — 이 프로그램의 주 처리 루프다.
이 unit 의 조각 2개가 87/94줄(93%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 전송 플래그(PRCHK)가 설정된 미처리 매출·입금 건을 ZFIT0060 에서 읽고, 결제유형별 계정 매핑 테이블 ZFIT0080 을 회사코드·결제유형 기준으로 함께 읽어온다.
415| SELECT *
416| INTO TABLE GT_Z0060
417| FROM ZFIT0060
418| WHERE PRCHK EQ C_X. "전송받은 건
419|
420| CHECK GT_Z0060[] IS NOT INITIAL.
421|
422| * 결제유형별 계정 매핑내역 추출
423| SELECT *
424| INTO TABLE GT_Z0080
425| FROM ZFIT0080
426| FOR ALL ENTRIES IN GT_Z0060
427| WHERE BUKRS EQ GT_Z0060-BUKRS
428| AND PTYPE EQ GT_Z0060-PTYPE.
- EN: Reads unprocessed inbound sales/payment records from ZFIT0060 and the payment-type-to-account mapping from ZFIT0080.
- 테이블(파서): read ZFIT0060, ZFIT0080 / write -
- SAP 객체: ZFIT0060, ZFIT0080, PRCHK, PTYPE
- 업무 키워드: 매출내역, 입금내역, 미전송, 결제유형, 계정매핑, 인터페이스수신
- English: sales record, incoming payment, unprocessed, payment type, account mapping
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,C_X,ZFIT0080,GT_Z0080 - 위치:
abap://ZFIR0030/ZFIR0030F01#L415-L428· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#GET_ZFIT0060#C1
[control_flow] 오류가 없는 건마다 결제유형별 계정매핑을 읽고, 발생취소(GUBUN=R) 건은 금액 부호를 반전한 뒤, 거래유형 코드(B01 상품매출·B03 모바일판매·B53 이통예수금·B55 이통대납금 등)에 따라 전기 로직으로 분기해 전표 헤더를 만들고 전기 함수를 호출한다.
430| LOOP AT GT_Z0060.
431| CLEAR GT_Z0060-PRCHK.
432| MOVE-CORRESPONDING GT_Z0060 TO GT_RESULT.
433|
434| * 오류가 없는 경우 전표생성
435| IF GT_Z0060-STATS EQ SPACE.
436| CLEAR: GV_XNEGP, GT_BBSEG[], GT_BBSEG.
437| * 결제유형에 따른 계정매핑 값..
438| READ TABLE GT_Z0080 WITH KEY BUKRS = GT_Z0060-BUKRS
439| PTYPE = GT_Z0060-PTYPE.
440|
441| * 발생취소구분
442| IF GT_Z0060-GUBUN EQ C_R.
443| GV_XNEGP = C_X.
444| * 마이너스 금액 변환
445| GT_Z0060-DMBTR_C = 0 - GT_Z0060-DMBTR_C.
446| GT_Z0060-HWBAS_C = 0 - GT_Z0060-HWBAS_C.
447| GT_Z0060-MWSTS_C = 0 - GT_Z0060-MWSTS_C.
448| ENDIF.
449|
450| * 거래유형에 따라 POSTING
451| CASE GT_Z0060-BTYPE.
452| WHEN 'B01'. "상품매출
453| PERFORM PROCESS_B01.
454| WHEN 'B03'. "모바일판매_모바일상품
455| PERFORM PROCESS_B03.
456| WHEN 'B05'. "모바일판매_모바일할부
457| PERFORM PROCESS_B03.
458| WHEN 'B07'. "모바일판매_USIM할부
459| PERFORM PROCESS_B03.
460| WHEN 'B09'. "모바일판매_모바일악세서리
461| PERFORM PROCESS_B03.
462| WHEN 'B11'. "모바일판매_통신사고객장려금(미수금)
463| PERFORM PROCESS_B03.
464| WHEN 'B13'. "PC판매-PC할부
465| PERFORM PROCESS_B03.
466| WHEN 'B15'. "PC판매-미수금-PC
467| PERFORM PROCESS_B03.
468| WHEN 'B31'. "서비스매출-SVC대행수수료용역
469| PERFORM PROCESS_B01.
470| WHEN 'B33'. "서비스매출-물류대행용역(공동물류)
471| PERFORM PROCESS_B03.
472| WHEN 'B35'. "서비스매출-SVC유료수익금
473| PERFORM PROCESS_B03.
474| WHEN 'B37'. "서비스매출-물류이전설치
475| PERFORM PROCESS_B03.
476| WHEN 'B51'. "임대을
477| PERFORM PROCESS_B01.
478| WHEN 'B53'. "이통예수금
479| PERFORM PROCESS_B53.
480| WHEN 'B55'. "이통대납금-가입비
481| PERFORM PROCESS_B55.
482| WHEN 'B57'. "이통대납금-위약금
483| PERFORM PROCESS_B55.
484| * WHEN 'B59'. "장려금-판매장려금(구매정산)
485| * PERFORM PROCESS_B59.
486| * WHEN 'B61'. "장려금-매입장려금(구매정산)
487| * PERFORM PROCESS_B59.
488| * WHEN 'B63'. "장려금-설치수수료(구매정산)
489| * PERFORM PROCESS_B63.
490| WHEN OTHERS.
491| ENDCASE.
492|
493| * 전표헤더내역
494| PERFORM MAKE_BKPF USING GV_BUDAT.
495| * 전표생성 Function Call
496| PERFORM BDC_TRANSACTION_FB01.
497|
498| ENDIF.
499|
500| MODIFY GT_Z0060.
501| APPEND GT_RESULT. CLEAR GT_RESULT.
502| ENDLOOP.
- EN: Per record: resolves the mapped account, flips amount signs for reversals, branches by transaction type (B01 goods sales, B03 mobile, B53/B55 telecom deposits) and posts the document.
- 호출(파서): PROCESS_B01, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B01, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B01, PROCESS_B53, PROCESS_B55, PROCESS_B55, MAKE_BKPF, BDC_TRANSACTION_FB01
- SAP 객체: ZFIT0060, ZFIT0080, BTYPE, GUBUN, XNEGP
- 업무 키워드: 거래유형, 상품매출, 모바일판매, 이통예수금, 이통대납금, 발생취소, 마이너스전기, 전기분기, 자동기표
- English: transaction type, goods sales, mobile sales, telecom deposit, reversal, negative posting, posting branch
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GT_RESULT,GV_XNEGP,GT_BBSEG,ZFIT0080,GT_Z0080,C_R,C_X,GV_BUDAT - 위치:
abap://ZFIR0030/ZFIR0030F01#L430-L502· confidence 0.86 ·ZFIR0030#ZFIR0030F01#FORM#GET_ZFIT0060#C2
FORM PROCESS_B01 — ZFIR0030F01 L818-L1162 (345줄)
상품매출(B01) 전표 아이템 생성 FORM 의 선언부(창 1/3)로 전기키 변수 선언만 있다.
이 unit 의 조각 8개가 333/345줄(96%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 결제유형 01(카드) 건에 대해 선수금(PFLAG 1)은 카드고객 04/14 + 선수금계정 50/40, 수금(PFLAG 2)은 카드고객 04/14 + 지점고객 15/05 전기키로 MAKE_BSEG 라인을 만들고 수금 시 MAKE_BSEG_SP 로 전표분할 라인을 추가한다.
823| WHEN '01'. "카드
824| CASE GT_Z0060-PFLAG.
825| WHEN '1'. "선수금
826| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
827| * 발생취소구분에따라..
828| IF GT_Z0060-GUBUN EQ C_N.
829| LV_NEWBS = '04'.
830| LV_NEWBS2 = '50'.
831| ELSE.
832| LV_NEWBS = '14'.
833| LV_NEWBS2 = '40'.
834| ENDIF.
835| * 전표 아이템_1
836| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
837| GT_Z0060-KUNNR "고객
838| GT_Z0060-DMBTR "금액
839| GV_BUDAT "지정-결제일자
840| GT_Z0080-HKONT. "결제유형계정
841| * 전표 아이템_2
842| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
843| GV_HKONT "선수금계정
844| GT_Z0060-DMBTR "금액
845| GV_BUDAT "결제일자
846| SPACE. "G/L계정
847| WHEN '2'. "수금
848| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
849| * 발생취소구분에따라..
850| IF GT_Z0060-GUBUN EQ C_N.
851| LV_NEWBS = '04'.
852| LV_NEWBS2 = '15'.
853| ELSE.
854| LV_NEWBS = '14'.
855| LV_NEWBS2 = '05'.
856| ENDIF.
857| * 전표 아이템_1
858| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
859| GT_Z0060-KUNNR "고객
860| GT_Z0060-DMBTR "금액
861| GV_BUDAT "지정-결제일자
862| GT_Z0080-HKONT. "결제유형계정
863| * 전표 아이템_2
864| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
865| GT_Z0060-KUNNR2 "지점고객
866| GT_Z0060-DMBTR "금액
867| GT_Z0060-RCDAT "지정-접수일자
868| GT_Z0060-HKONT. "채권채무계정
869|
870| * 전표분할계정
871| PERFORM MAKE_BSEG_SP.
872| ENDCASE.
- EN: For card payments builds the card-customer line (key 04/14) plus either the advance-payment G/L line or the branch-customer clearing line, adding document-split lines via MAKE_BSEG_SP on collection.
- 호출(파서): MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG_SP
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 상품매출, 카드 결제, 선수금, 수금, 전기키, 전표분할
- English: Card Payment, Down Payment, Incoming Payment, Document Splitting
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080,GV_HKONT - 위치:
abap://ZFIR0030/ZFIR0030F01#L823-L872· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C1
[calculation] 결제유형 02(현금) 건에 대해 결제시점(PFLAG 1 선수금/2 수금)과 발생·취소 구분에 따라 전기키를 정하고 결제유형계정(ZFIT0080 HKONT)·선수금계정·지점고객 채권 라인을 MAKE_BSEG 로 생성한다.
873| WHEN '02'. "현금
874| CASE GT_Z0060-PFLAG.
875| WHEN '1'.
876| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
877| * 발생취소구분에따라..
878| IF GT_Z0060-GUBUN EQ C_N.
879| LV_NEWBS = '40'.
880| LV_NEWBS2 = '50'.
881| ELSE.
882| LV_NEWBS = '50'.
883| LV_NEWBS2 = '40'.
884| ENDIF.
885| * 전표 아이템_1
886| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
887| GT_Z0080-HKONT "결제유형계정
888| GT_Z0060-DMBTR "금액
889| GV_BUDAT "지정-결제일자
890| SPACE. "GL계정
891|
892| * 전표 아이템_2
893| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
894| GV_HKONT "선수금계정
895| GT_Z0060-DMBTR "금액
896| GV_BUDAT "결제일자
897| SPACE. "G/L계정
898| WHEN '2'.
899| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
900| * 발생취소구분에따라..
901| IF GT_Z0060-GUBUN EQ C_N.
902| LV_NEWBS = '40'.
903| LV_NEWBS2 = '15'.
904| ELSE.
905| LV_NEWBS = '50'.
906| LV_NEWBS2 = '05'.
907| ENDIF.
908| * 전표 아이템_1
909| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
910| GT_Z0080-HKONT "결제유형계정
911| GT_Z0060-DMBTR "금액
912| GV_BUDAT "지정-결제일자
913| SPACE. "GL계정
914| * 전표 아이템_2
915| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
916| GT_Z0060-KUNNR2 "지점고객
917| GT_Z0060-DMBTR "금액
918| GT_Z0060-RCDAT "지정-접수일자
919| GT_Z0060-HKONT. "채권채무계정
920| ENDCASE.
- EN: For payment type 02 (Cash) chooses posting keys by payment timing (advance vs. collection) and reversal flag, and builds the payment-type account, advance-payment and branch-customer receivable lines via MAKE_BSEG.
- 호출(파서): MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 상품매출, 현금, 전기키, 선수금, 수금, 발생/취소
- English: Posting Key, Down Payment, Incoming Payment, Cash
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080,GV_HKONT - 위치:
abap://ZFIR0030/ZFIR0030F01#L873-L920· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C2
[calculation] 결제유형 03(가상계좌) 건에 대해 결제시점(PFLAG 1 선수금/2 수금)과 발생·취소 구분에 따라 전기키를 정하고 결제유형계정(ZFIT0080 HKONT)·선수금계정·지점고객 채권 라인을 MAKE_BSEG 로 생성한다.
921| WHEN '03'. "가상계좌
922| CASE GT_Z0060-PFLAG.
923| WHEN '1'.
924| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
925| * 발생취소구분에따라..
926| IF GT_Z0060-GUBUN EQ C_N.
927| LV_NEWBS = '40'.
928| LV_NEWBS2 = '50'.
929| ELSE.
930| LV_NEWBS = '50'.
931| LV_NEWBS2 = '40'.
932| ENDIF.
933| * 전표 아이템_1
934| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
935| GT_Z0080-HKONT "결제유형계정
936| GT_Z0060-DMBTR "금액
937| GV_BUDAT "지정-결제일자
938| SPACE. "GL계정
939| * 전표 아이템_2
940| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
941| GV_HKONT "선수금계정
942| GT_Z0060-DMBTR "금액
943| GV_BUDAT "결제일자
944| SPACE. "GL계정
945| WHEN '2'.
946| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
947| * 발생취소구분에따라..
948| IF GT_Z0060-GUBUN EQ C_N.
949| LV_NEWBS = '40'.
950| LV_NEWBS2 = '15'.
951| ELSE.
952| LV_NEWBS = '50'.
953| LV_NEWBS2 = '05'.
954| ENDIF.
955| * 전표 아이템_1
956| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
957| GT_Z0080-HKONT "결제유형계정
958| GT_Z0060-DMBTR "금액
959| GV_BUDAT "지정-결제일자
960| SPACE. "GL계정
961| * 전표 아이템_2
962| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
963| GT_Z0060-KUNNR2 "지점고객
964| GT_Z0060-DMBTR "금액
965| GT_Z0060-RCDAT "지정-접수일자
966| GT_Z0060-HKONT. "채권채무계정
967| ENDCASE.
- EN: For payment type 03 (Virtual Account) chooses posting keys by payment timing (advance vs. collection) and reversal flag, and builds the payment-type account, advance-payment and branch-customer receivable lines via MAKE_BSEG.
- 호출(파서): MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 상품매출, 가상계좌, 전기키, 선수금, 수금, 발생/취소
- English: Posting Key, Down Payment, Incoming Payment, Virtual Account
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080,GV_HKONT - 위치:
abap://ZFIR0030/ZFIR0030F01#L921-L967· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C3
[calculation] 결제유형 04(본지점수금) 건에 대해 결제시점(PFLAG 1 선수금/2 수금)과 발생·취소 구분에 따라 전기키를 정하고 결제유형계정(ZFIT0080 HKONT)·선수금계정·지점고객 채권 라인을 MAKE_BSEG 로 생성한다.
968| WHEN '04'. "본지점수금
969| CASE GT_Z0060-PFLAG.
970| WHEN '1'.
971| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
972| * 발생취소구분에따라..
973| IF GT_Z0060-GUBUN EQ C_N.
974| LV_NEWBS = '40'.
975| LV_NEWBS2 = '50'.
976| ELSE.
977| LV_NEWBS = '50'.
978| LV_NEWBS2 = '40'.
979| ENDIF.
980| * 전표 아이템_1
981| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
982| GT_Z0080-HKONT "결제유형금계정
983| GT_Z0060-DMBTR "금액
984| GV_BUDAT "지정-결제일자
985| SPACE. "GL계정
986| * 전표 아이템_2
987| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
988| GV_HKONT "선수금계정
989| GT_Z0060-DMBTR "금액
990| GV_BUDAT "결제일자
991| SPACE. "G/L계정
992| WHEN '2'.
993| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
994| * 발생취소구분에따라..
995| IF GT_Z0060-GUBUN EQ C_N.
996| LV_NEWBS = '40'.
997| LV_NEWBS2 = '15'.
998| ELSE.
999| LV_NEWBS = '50'.
1000| LV_NEWBS2 = '05'.
1001| ENDIF.
1002| * 전표 아이템_1
1003| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1004| GT_Z0080-HKONT "결제유형계정
1005| GT_Z0060-DMBTR "금액
1006| GV_BUDAT "지정-결제일자
1007| SPACE. "GL계정
1008| * 전표 아이템_2
1009| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
1010| GT_Z0060-KUNNR2 "지점고객
1011| GT_Z0060-DMBTR "금액
1012| GT_Z0060-RCDAT "지정-접수일자
1013| GT_Z0060-HKONT. "채권채무계정
1014| ENDCASE.
- EN: For payment type 04 (Head Office/Branch Collection) chooses posting keys by payment timing (advance vs. collection) and reversal flag, and builds the payment-type account, advance-payment and branch-customer receivable lines via MAKE_BSEG.
- 호출(파서): MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 상품매출, 본지점수금, 전기키, 선수금, 수금, 발생/취소
- English: Posting Key, Down Payment, Incoming Payment, Head Office/Branch Collection
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080,GV_HKONT - 위치:
abap://ZFIR0030/ZFIR0030F01#L968-L1014· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C4
[calculation] 결제유형 06/08(하이마트적립금·상품권) 건에 대해 결제시점(PFLAG 1 선수금/2 수금)과 발생·취소 구분에 따라 전기키를 정하고 결제유형계정(ZFIT0080 HKONT)·선수금계정·지점고객 채권 라인을 MAKE_BSEG 로 생성한다.
1016| WHEN '06' OR '08'. "하이마트적립금/하이마트상품권
1017| CASE GT_Z0060-PFLAG.
1018| WHEN '1'.
1019| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
1020| * 발생취소구분에따라..
1021| IF GT_Z0060-GUBUN EQ C_N.
1022| LV_NEWBS = '40'.
1023| LV_NEWBS2 = '50'.
1024| ELSE.
1025| LV_NEWBS = '50'.
1026| LV_NEWBS2 = '40'.
1027| ENDIF.
1028| * 전표 아이템_1
1029| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1030| GT_Z0080-HKONT "결제유형계정
1031| GT_Z0060-DMBTR "금액
1032| GV_BUDAT "지정-결제일자
1033| SPACE. "GL계정
1034| * 전표 아이템_2
1035| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
1036| GV_HKONT "선수금계정
1037| GT_Z0060-DMBTR "금액
1038| GV_BUDAT "결제일자
1039| SPACE. "G/L계정
1040| WHEN '2'.
1041| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
1042| * 발생취소구분에따라..
1043| IF GT_Z0060-GUBUN EQ C_N.
1044| LV_NEWBS = '40'.
1045| LV_NEWBS2 = '15'.
1046| ELSE.
1047| LV_NEWBS = '50'.
1048| LV_NEWBS2 = '05'.
1049| ENDIF.
1050|
1051| * 전표 아이템_1
1052| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1053| GT_Z0080-HKONT "결제유형계정
1054| GT_Z0060-DMBTR "금액
1055| GV_BUDAT "지정-결제일자
1056| SPACE. "GL계정
1057| * 전표 아이템_2
1058| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
1059| GT_Z0060-KUNNR2 "지점고객
1060| GT_Z0060-DMBTR "금액
1061| GT_Z0060-RCDAT "지정-접수일자
1062| GT_Z0060-HKONT. "채권채무계정
1063| ENDCASE.
- EN: For payment type 06/08 (Store Points/Gift Certificate) chooses posting keys by payment timing (advance vs. collection) and reversal flag, and builds the payment-type account, advance-payment and branch-customer receivable lines via MAKE_BSEG.
- 호출(파서): MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 상품매출, 하이마트적립금·상품권, 전기키, 선수금, 수금, 발생/취소
- English: Posting Key, Down Payment, Incoming Payment, Store Points/Gift Certificate
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080,GV_HKONT - 위치:
abap://ZFIR0030/ZFIR0030F01#L1016-L1063· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C5
[calculation] 결제유형 07/09(롯데멤버스포인트·타사상품권) 건에 대해 결제시점과 발생취소에 따라 카드고객 04/14 전기키와 선수금계정 또는 지점고객 15/05 라인을 MAKE_BSEG 로 만들고 수금 시 MAKE_BSEG_SP 로 전표분할 라인을 추가한다.
1064| WHEN '07' OR '09'. "롯데맴버스포인트 / 타사상품권
1065| CASE GT_Z0060-PFLAG.
1066| WHEN '1'.
1067| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
1068| * 발생취소구분에따라..
1069| IF GT_Z0060-GUBUN EQ C_N.
1070| LV_NEWBS = '04'.
1071| LV_NEWBS2 = '50'.
1072| ELSE.
1073| LV_NEWBS = '14'.
1074| LV_NEWBS2 = '40'.
1075| ENDIF.
1076| * 전표 아이템_1
1077| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1078| GT_Z0060-KUNNR "카드고객
1079| GT_Z0060-DMBTR "금액
1080| GV_BUDAT "지정
1081| GT_Z0080-HKONT. "결제유형계정
1082| * 전표 아이템_2
1083| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
1084| GV_HKONT "선수금계정
1085| GT_Z0060-DMBTR "금액
1086| GV_BUDAT "결제일자
1087| SPACE. "G/L계정
1088| WHEN '2'.
1089| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
1090| * 발생취소구분에따라..
1091| IF GT_Z0060-GUBUN EQ C_N.
1092| LV_NEWBS = '04'.
1093| LV_NEWBS2 = '15'.
1094| ELSE.
1095| LV_NEWBS = '14'.
1096| LV_NEWBS2 = '05'.
1097| ENDIF.
1098| * 전표 아이템_1
1099| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1100| GT_Z0060-KUNNR "지점고객
1101| GT_Z0060-DMBTR "금액
1102| GV_BUDAT "지정
1103| GT_Z0080-HKONT. "결제유형계정
1104| * 전표 아이템_2
1105| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
1106| GT_Z0060-KUNNR2 "지점고객
1107| GT_Z0060-DMBTR "금액
1108| GT_Z0060-RCDAT "지정-접수일자
1109| GT_Z0060-HKONT. "채권채무계정
1110| * 전표분할계정
1111| PERFORM MAKE_BSEG_SP.
1112|
1113| ENDCASE.
- EN: For membership points and third-party gift certificates builds the customer line (key 04/14) with advance-payment or branch-customer lines and adds document-split lines on collection.
- 호출(파서): MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG, MAKE_BSEG_SP
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 상품매출, 포인트 결제, 타사상품권, 전기키, 전표분할
- English: Points Payment, Gift Certificate, Document Splitting
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080,GV_HKONT - 위치:
abap://ZFIR0030/ZFIR0030F01#L1064-L1113· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C6
[calculation] 결제유형 10(선수금대체) 수금 건에 대해 매출일자를 전기일로 하고 발생이면 40/17, 취소면 50/07 전기키로 결제유형계정 라인과 지점고객 채권 라인을 MAKE_BSEG 로 생성한다.
1116| WHEN '10'. "선수금대체
1117| CASE GT_Z0060-PFLAG.
1118| WHEN '1'.
1119| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
1120| WHEN '2'.
1121| GV_BUDAT = GT_Z0060-SADAT. "매출일자
1122| * 발생취소구분에따라..
1123| IF GT_Z0060-GUBUN EQ C_N.
1124| LV_NEWBS = '40'.
1125| LV_NEWBS2 = '17'.
1126| ELSE.
1127| LV_NEWBS = '50'.
1128| LV_NEWBS2 = '07'.
1129| ENDIF.
1130| * 전표 아이템_1
1131| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1132| GT_Z0080-HKONT "결제유형계정
1133| GT_Z0060-DMBTR "금액
1134| GT_Z0060-PYDAT "지정-결제일자
1135| SPACE. "GL계정
1136| * 전표 아이템_2
1137| PERFORM MAKE_BSEG USING LV_NEWBS2 "전기키
1138| GT_Z0060-KUNNR2 "지점고객
1139| GT_Z0060-DMBTR "금액
1140| GT_Z0060-RCDAT "지정-접수일자
1141| GT_Z0060-HKONT. "채권채무계정
1142| ENDCASE.
- EN: For down-payment transfer builds the payment-type account line and the branch-customer line with posting keys 40/17 (or 50/07 on reversal) as of the sales date.
- 호출(파서): MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 선수금 대체, 전기키, 지점고객, 매출일자
- English: Down Payment Transfer, Posting Key
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080 - 위치:
abap://ZFIR0030/ZFIR0030F01#L1116-L1142· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C7
[calculation] 결제유형 90(매출) 건에 대해 발생 01/취소 11 전기키로 지점고객 채권 라인을 접수일자 기준으로 만들고 MAKE_BSEG_TX 로 수익·부가세 라인을 추가한다.
1143| WHEN '90'. "매출
1144| GV_BUDAT = GT_Z0060-SADAT. "매출일자
1145| * 발생취소구분에따라..
1146| IF GT_Z0060-GUBUN EQ C_N.
1147| LV_NEWBS = '01'.
1148| ELSE.
1149| LV_NEWBS = '11'.
1150| ENDIF.
1151| * 전표 아이템_1
1152| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1153| GT_Z0060-KUNNR2 "지점고객
1154| GT_Z0060-DMBTR "금액
1155| GT_Z0060-RCDAT "지정-접수일자
1156| GT_Z0060-HKONT. "채권채무계정
1157| * 전표 아이템_2&3
1158| PERFORM MAKE_BSEG_TX.
- EN: For the sales posting builds the branch-customer receivable line (key 01/11) and adds revenue and VAT lines via MAKE_BSEG_TX.
- 호출(파서): MAKE_BSEG, MAKE_BSEG_TX
- SAP 객체: BBSEG, GT_Z0060
- 업무 키워드: 상품매출, 채권, 부가세, 전기키
- English: Sales Posting, Customer Receivable, VAT
- 정의부(복사 시 함께 필요):
GV_BUDAT,ZFIT0060,GT_Z0060,C_N,LV_NEWBS - 위치:
abap://ZFIR0030/ZFIR0030F01#L1143-L1158· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B01#C8
FORM MAKE_BSEG — ZFIR0030F01 L626-L667 (42줄)
FB01 전기용 전표 아이템(BBSEG) 한 줄을 전기키·계정·금액과 업무 규칙에 따라 구성한다.
이 unit 의 조각 1개가 29/42줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[aggregation] 전기키·계정·채권채무계정·금액·적요를 세팅하고, 이통예수금(B53)은 지정 필드에 통신사 고객코드를, 그 외는 전기일을 넣는다. 판촉비 계정(0053397913/0053397915)이면 코스트센터를, 전기키 40/50 이면 손익센터를 채우고, 발생취소 건은 마이너스 전기 지시자를 세운다.
637| LV_NEWKO = P_NEWKO.
638| IF GT_Z0060-BTYPE EQ 'B53'. "지정 - 통신사 값..
639| LV_ZUONR = GT_Z0060-KUNNR3.
640| ELSE.
641| LV_ZUONR = P_BUDAT.
642| ENDIF.
643| GT_BBSEG-NEWBS = P_NEWBS. "전기키
644| GT_BBSEG-NEWKO = LV_NEWKO. "계정
645| GT_BBSEG-HKONT = P_HKONT.
646| GT_BBSEG-WRBTR = P_WRBTR. "금액
647| GT_BBSEG-ZUONR = LV_ZUONR. "지정
648| GT_BBSEG-SGTXT = GT_Z0060-SGTXT. "적요
649| * GT_BBSEG-GSBER = GT_Z0060-GSBER. "사업영역
650|
651| IF GT_Z0060-HKONT EQ '0053397913' OR
652| GT_Z0060-HKONT EQ '0053397915'. "판촉비계정
653| GT_BBSEG-KOSTL = GT_Z0060-KOSTL. "코스트센터
654| ENDIF.
655|
656| IF P_NEWBS EQ '40' OR P_NEWBS EQ '50'.
657| GT_BBSEG-PRCTR = GT_Z0060-PRCTR.
658| ENDIF.
659|
660| * 발생취소구분에따라..
661| IF GT_Z0060-GUBUN EQ C_R.
662| GT_BBSEG-XNEGP = C_X. "마이너스전기지시자
663| ENDIF.
664|
665| APPEND GT_BBSEG. CLEAR GT_BBSEG.
- EN: Builds one BBSEG line: posting key, account, amount, assignment (telecom customer code for B53 else posting date), cost center for promotion-expense accounts, profit center for keys 40/50, and the negative-posting flag on reversals.
- SAP 객체: BBSEG, BSEG, NEWBS, NEWKO, HKONT, ZUONR, KOSTL, PRCTR, XNEGP
- 업무 키워드: 전표아이템, 전기키, 계정, 지정, 적요, 코스트센터, 손익센터, 판촉비, 마이너스전기, 발생취소
- English: document line item, posting key, account, assignment, cost center, profit center, promotion expense, negative posting
- 정의부(복사 시 함께 필요):
LV_NEWKO,ZFIT0060,GT_Z0060,LV_ZUONR,GT_BBSEG,C_R,C_X - 위치:
abap://ZFIR0030/ZFIR0030F01#L637-L665· confidence 0.88 ·ZFIR0030#ZFIR0030F01#FORM#MAKE_BSEG#C1
FORM MAKE_BSEG_SP — ZFIR0030F01 L722-L738 (17줄)
전표분할 계정으로 차변·대변 한 쌍을 만들어 손익센터 단위 분개를 맞춘다.
이 unit 의 조각 1개가 11/17줄(65%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[aggregation] 전표분할 전용 계정으로 전기키 50(대변)과 40(차변) 두 줄을 같은 총금액·손익센터로 생성해, 손익센터가 다른 라인 간 분개 균형을 맞추는 상계 쌍을 만든다.
726| GT_BBSEG-NEWBS = '50'. "전기키
727| GT_BBSEG-NEWKO = C_HKONT. "전표분할계정
728| GT_BBSEG-WRBTR = GT_Z0060-DMBTR. "총금액
729| GT_BBSEG-PRCTR = GT_Z0060-PRCTR. "손익센터
730| APPEND GT_BBSEG. CLEAR GT_BBSEG.
731|
732| GT_BBSEG-NEWBS = '40'. "전기키
733| GT_BBSEG-NEWKO = C_HKONT. "전표분할계정
734| GT_BBSEG-WRBTR = GT_Z0060-DMBTR. "총금액
735| GT_BBSEG-PRCTR = GT_Z0060-PRCTR. "손익센터
736| APPEND GT_BBSEG. CLEAR GT_BBSEG.
- EN: Creates an offsetting debit/credit pair (posting keys 40/50) on the document-splitting account with the same amount and profit center.
- SAP 객체: BBSEG, PRCTR, NEWBS, NEWKO
- 업무 키워드: 전표분할, 분할계정, 손익센터, 차변, 대변, 상계, 분개균형
- English: document splitting, splitting account, profit center, debit, credit, offsetting entry
- 정의부(복사 시 함께 필요):
GT_BBSEG,C_HKONT,ZFIT0060,GT_Z0060 - 위치:
abap://ZFIR0030/ZFIR0030F01#L726-L736· confidence 0.82 ·ZFIR0030#ZFIR0030F01#FORM#MAKE_BSEG_SP#C1
FORM MAKE_BSEG_TX — ZFIR0030F01 L673-L716 (44줄)
매출 전표의 수익 라인(총금액-부가세)과 부가세 라인(세금코드·공급가액)을 GT_BBSEG 에 생성하고 취소 건은 마이너스 전기(XNEGP)와 전기키 40 으로 처리하는 FORM 이다.
이 unit 의 조각 2개가 38/44줄(86%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 수익계정(HKONT2)에 전기키 50 으로 총금액에서 부가세를 뺀 순매출액을 사업장·손익센터·매출일자(지정)·적요와 함께 세팅하고 취소(C_R)면 XNEGP 마이너스 전기·전기키 40 으로 바꿔 GT_BBSEG 에 추가한다.
675| CLEAR GT_BBSEG.
676|
677| GT_BBSEG-NEWBS = '50'. "전기키
678| GT_BBSEG-NEWKO = GT_Z0060-HKONT2. "수익비용계정
679| GT_BBSEG-WRBTR = GT_Z0060-DMBTR - GT_Z0060-MWSTS. " 총금액 - 부가세액
680| * GT_BBSEG-MWSKZ = C_MWSKZ. "세금코드
681| GT_BBSEG-BUPLA = GT_Z0060-BUPLA. "사업장
682| GT_BBSEG-PRCTR = GT_Z0060-PRCTR. "손익센터
683| * GT_BBSEG-KOSTL = GT_Z0060-KOSTL. "코스트센터
684| GT_BBSEG-ZUONR = GT_Z0060-SADAT. "매출일자
685| GT_BBSEG-SGTXT = GT_Z0060-SGTXT. "적요
686| *** 매출계정인 경우(004*) 오더입력
687| ** IF GT_Z0060-HKONT2(3) EQ '004'.
688| ** GT_BBSEG-AUFNR = GT_Z0060-AUFNR.
689| ** ENDIF.
690| * 발생취소구분에따라..
691| IF GT_Z0060-GUBUN EQ C_R.
692| GT_BBSEG-XNEGP = C_X. "마이너스전기지시자
693| GT_BBSEG-NEWBS = '40'. "전기키
694| ENDIF.
695|
696| APPEND GT_BBSEG. CLEAR GT_BBSEG.
- EN: Builds the revenue line (amount net of VAT) on the revenue G/L account with business place, profit center and assignment, switching to negative posting with key 40 for reversals.
- SAP 객체: BBSEG, GT_Z0060
- 업무 키워드: 수익 라인, 순매출액, 손익센터, 사업장, 마이너스 전기
- English: Revenue Line, Net Amount, Negative Posting, Profit Center
- 정의부(복사 시 함께 필요):
GT_BBSEG,ZFIT0060,GT_Z0060,C_R,C_X - 위치:
abap://ZFIR0030/ZFIR0030F01#L675-L696· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#MAKE_BSEG_TX#C1
[calculation] 부가세계정(C_HKONT_TX)에 전기키 50 으로 세액(MWSTS)·공급가액(FWBAS)·세금코드(C_MWSKZ)·사업장·손익센터를 세팅해 부가세 라인을 만들고 취소 건은 마이너스 전기·전기키 40 으로 GT_BBSEG 에 추가한다.
699| GT_BBSEG-NEWBS = '50'. "전기키
700| GT_BBSEG-NEWKO = C_HKONT_TX. "부가세계정
701| GT_BBSEG-WRBTR = GT_Z0060-MWSTS. "부가세액
702| GT_BBSEG-FWBAS = GT_Z0060-HWBAS. "공급금액
703| GT_BBSEG-MWSKZ = C_MWSKZ. "세금코드
704| GT_BBSEG-BUPLA = GT_Z0060-BUPLA. "사업장
705| GT_BBSEG-PRCTR = GT_Z0060-PRCTR. "손익센터
706| GT_BBSEG-ZUONR = GT_Z0060-SADAT. "매출일자
707| GT_BBSEG-SGTXT = GT_Z0060-SGTXT. "적요
708| * 발생취소구분에따라..
709| IF GT_Z0060-GUBUN EQ C_R.
710| GT_BBSEG-XNEGP = C_X. "마이너스전기지시자
711| GT_BBSEG-NEWBS = '40'. "전기키
712| ENDIF.
713|
714| APPEND GT_BBSEG. CLEAR GT_BBSEG.
- EN: Builds the output VAT line on the tax G/L account with tax amount, tax base and tax code, using negative posting with key 40 for reversals.
- SAP 객체: BBSEG, C_HKONT_TX
- 업무 키워드: 부가세 라인, 세금코드, 공급가액, 세액
- English: VAT Line, Tax Code, Tax Base Amount
- 정의부(복사 시 함께 필요):
GT_BBSEG,C_HKONT_TX,ZFIT0060,GT_Z0060,C_MWSKZ,C_R,C_X - 위치:
abap://ZFIR0030/ZFIR0030F01#L699-L714· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#MAKE_BSEG_TX#C2
FORM PROCESS_B03 — ZFIR0030F01 L1168-L1191 (24줄)
모바일판매·PC판매·서비스매출(B03 계열) 매출 건에 대해 지점고객 채권 라인을 만들고 MAKE_BSEG_TX 로 수익·부가세 라인을 생성하는 FORM 이다.
이 unit 의 조각 1개가 18/24줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 결제유형 90(매출)일 때 발생이면 전기키 01, 취소면 11 로 지점고객(KUNNR2) 채권계정 라인을 접수일자 기준으로 MAKE_BSEG 로 만들고 MAKE_BSEG_TX 로 수익 라인과 부가세 라인을 추가한다.
1172| CASE GT_Z0060-PTYPE.
1173| WHEN '90'. "매출
1174| GV_BUDAT = GT_Z0060-SADAT. "매출일자
1175| * 발생취소구분에따라..
1176| IF GT_Z0060-GUBUN EQ C_N.
1177| LV_NEWBS = '01'.
1178| ELSE.
1179| LV_NEWBS = '11'.
1180| ENDIF.
1181| * 전표 아이템_1
1182| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1183| GT_Z0060-KUNNR2 "지점고객
1184| GT_Z0060-DMBTR "금액
1185| GT_Z0060-RCDAT "지정-접수일자
1186| GT_Z0060-HKONT. "채권채무계정
1187| * 전표 아이템_2&3
1188| PERFORM MAKE_BSEG_TX.
1189| ENDCASE.
- EN: For sales (PTYPE 90) posts the branch-customer receivable line with key 01/11 via MAKE_BSEG and adds revenue and VAT lines via MAKE_BSEG_TX.
- 호출(파서): MAKE_BSEG, MAKE_BSEG_TX
- SAP 객체: BBSEG, GT_Z0060
- 업무 키워드: 모바일판매, 지점고객, 전기키, 채권, 부가세
- English: Posting Key, Customer Receivable, VAT Line
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS - 위치:
abap://ZFIR0030/ZFIR0030F01#L1172-L1189· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B03#C1
FORM PROCESS_B53 — ZFIR0030F01 L1197-L1231 (35줄)
이통예수금(B53) 현금 수금 건에 대해 발생/취소 구분에 따라 전기키를 정해 결제유형계정 라인과 예수금(수익비용)계정 라인을 MAKE_BSEG 로 생성하는 FORM 이다.
이 unit 의 조각 1개가 29/35줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 결제유형 02(현금)·결제시점 2(수금)일 때 결제일자를 전기일로 하고 발생이면 40/50, 취소면 50/40 전기키로 결제유형계정(ZFIT0080 HKONT)과 예수금계정(HKONT2) G/L 라인을 MAKE_BSEG 로 만든다.
1201| CASE GT_Z0060-PTYPE.
1202| WHEN '02'. "현금
1203| CASE GT_Z0060-PFLAG.
1204| WHEN '1'.
1205| WHEN '2'.
1206| GV_BUDAT = GT_Z0060-PYDAT. "결제일자
1207| * 발생취소구분에따라..
1208| IF GT_Z0060-GUBUN EQ C_N.
1209| LV_NEWBS = '40'.
1210| LV_NEWBS2 = '50'.
1211| ELSE.
1212| LV_NEWBS = '50'.
1213| LV_NEWBS2 = '40'.
1214| ENDIF.
1215| * 전표 아이템_1
1216| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1217| GT_Z0080-HKONT "결제유형계정
1218| GT_Z0060-DMBTR "금액
1219| GV_BUDAT "지정-결제일자
1220| SPACE. "GL계정
1221| * 전표 아이템_2
1222| PERFORM MAKE_BSEG USING LV_NEWBS2
1223| GT_Z0060-HKONT2 "수익비용계정
1224| GT_Z0060-DMBTR "금액
1225| GV_BUDAT "지정-통신사
1226| SPACE. "GL계정
1227| ENDCASE.
1228| WHEN OTHERS.
1229| ENDCASE.
- EN: For cash collection of telecom deposits builds the payment-type G/L line and the deposit account line with posting keys 40/50 (reversed on cancellation) via MAKE_BSEG.
- 호출(파서): MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060, GT_Z0080
- 업무 키워드: 이통예수금, 현금 수금, 전기키, 예수금계정
- English: Deposit Received, Cash Receipt, Posting Key, G/L Line
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2,ZFIT0080,GT_Z0080 - 위치:
abap://ZFIR0030/ZFIR0030F01#L1201-L1229· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B53#C1
FORM PROCESS_B55 — ZFIR0030F01 L1237-L1267 (31줄)
이통대납금(가입비·위약금, B55/B57) 매출 건에 대해 발생/취소 구분에 따라 공급업체 전기키(31/21)와 비용 전기키(40/50)를 정해 두 개의 전표 아이템을 MAKE_BSEG 로 생성하는 FORM 이다.
이 unit 의 조각 1개가 25/31줄(81%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 결제유형 90(매출)일 때 발생이면 전기키 31/40, 취소면 21/50 으로 이통사 거래처 채무계정(HKONT) 라인과 비용계정(HKONT2) 라인을 매출일자 기준으로 MAKE_BSEG 로 만든다.
1241| CASE GT_Z0060-PTYPE.
1242| WHEN '90'. "매출
1243| GV_BUDAT = GT_Z0060-SADAT. "매출일자
1244| * 발생취소구분에따라..
1245| IF GT_Z0060-GUBUN EQ C_N.
1246| LV_NEWBS = '31'.
1247| LV_NEWBS2 = '40'.
1248| ELSE.
1249| LV_NEWBS = '21'.
1250| LV_NEWBS2 = '50'.
1251| ENDIF.
1252| * 전표 아이템_1
1253| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1254| GT_Z0060-KUNNR "거래처
1255| GT_Z0060-DMBTR "금액
1256| GV_BUDAT "지정-매출일자
1257| GT_Z0060-HKONT. "채권채무계정
1258| * 전표 아이템_2
1259| PERFORM MAKE_BSEG USING LV_NEWBS2
1260| GT_Z0060-HKONT2 "수익비용계정
1261| GT_Z0060-DMBTR "금액
1262| GV_BUDAT "지정-매출일자
1263| SPACE. "GL계정
1264| WHEN OTHERS.
1265| ENDCASE.
- EN: For sales (PTYPE 90) posts the telecom partner payable line with key 31/21 and the expense line with key 40/50 via MAKE_BSEG according to the reversal flag.
- 호출(파서): MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060
- 업무 키워드: 이통대납금, 가입비, 전기키, 채무계정, 비용계정
- English: Posting Key, Vendor Payable, Expense Line
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2 - 위치:
abap://ZFIR0030/ZFIR0030F01#L1241-L1265· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B55#C1
FORM MAKE_BKPF — ZFIR0030F01 L600-L614 (15줄)
FB01 전기용 전표 헤더(BBKPF)를 인터페이스 데이터로 채운다.
이 unit 의 조각 1개가 9/15줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[aggregation] 전기 트랜잭션을 FB01 로 고정하고 증빙일·전기일은 전달받은 기준일로, 전표유형·회사코드·통화는 인터페이스 레코드에서, 헤더텍스트는 거래내역 앞 25자로 잘라 전표 헤더를 구성한다.
604| GT_BBKPF-TCODE = 'FB01'.
605| GT_BBKPF-BLDAT = P_BUDAT.
606| GT_BBKPF-BUDAT = P_BUDAT.
607| GT_BBKPF-BLART = GT_Z0060-BLART.
608| GT_BBKPF-BUKRS = GT_Z0060-BUKRS.
609| GT_BBKPF-WAERS = GT_Z0060-WAERS.
610| GT_BBKPF-BKTXT = GT_Z0060-SGTXT(25). "거래내역
611|
612| APPEND GT_BBKPF.
- EN: Builds the FB01 document header (BBKPF) from the interface record: document/posting date, document type, company code, currency and a 25-char header text.
- SAP 객체: BBKPF, BKPF, FB01, BLART, WAERS, BKTXT
- 업무 키워드: 전표헤더, 증빙일, 전기일, 전표유형, 통화, 헤더텍스트, 전기준비
- English: document header, document date, posting date, document type, currency, header text, BBKPF
- 정의부(복사 시 함께 필요):
GT_BBKPF,ZFIT0060,GT_Z0060 - 위치:
abap://ZFIR0030/ZFIR0030F01#L604-L612· confidence 0.92 ·ZFIR0030#ZFIR0030F01#FORM#MAKE_BKPF#C1
FORM BDC_TRANSACTION_FB01 — ZFIR0030F01 L744-L812 (69줄)
구성한 전표 헤더·아이템으로 실제 전기를 수행하고 결과(전표번호 또는 오류메시지)를 인터페이스 레코드에 기록한다.
이 unit 의 조각 2개가 62/69줄(90%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 커스텀 전기 함수 Z_FI_DOCUMENT_POSTING 에 전표 헤더(BBKPF)·아이템(BBSEG) 테이블을 넘겨 전표를 생성하고, 생성된 전표번호·회계연도·회사코드와 메시지 테이블을 받는다.
748| CALL FUNCTION 'Z_FI_DOCUMENT_POSTING'
749| EXPORTING
750| I_BDC_MODE = GV_MODE
751| * I_BDC_MODE = 'A'
752| I_MESSAGE = SPACE
753| IMPORTING
754| E_BELNR = GV_BELNR
755| E_GJAHR = GV_GJAHR
756| E_BUKRS = GV_BUKRS
757| TABLES
758| T_BBKPF = GT_BBKPF
759| T_BBSEG = GT_BBSEG
760| T_MESSTAB = GT_FIMSG.
- EN: Posts the document by calling the custom FM Z_FI_DOCUMENT_POSTING with the BBKPF/BBSEG tables, receiving document number, fiscal year and messages.
- 호출(파서): Z_FI_DOCUMENT_POSTING
- SAP 객체: Z_FI_DOCUMENT_POSTING, BBKPF, BBSEG, BELNR, GJAHR
- 업무 키워드: 전표생성, 전기, 전표번호, 회계연도, 전기함수
- English: document posting, document number, fiscal year, posting function, BDC mode
- 정의부(복사 시 함께 필요):
GV_MODE,GV_BELNR,GV_GJAHR,GV_BUKRS,GT_BBKPF,GT_BBSEG,GT_FIMSG - 위치:
abap://ZFIR0030/ZFIR0030F01#L748-L760· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#BDC_TRANSACTION_FB01#C1
[control_flow] 전표번호가 돌아왔으면 성공 상태(S)와 전표번호·회계연도를 기록하고, 실패면 오류(E) 상태로 두고 메시지 테이블에서 E/A 타입 메시지를 찾아 MESSAGE_TEXT_BUILD 로 사람이 읽을 오류문구를 만들어 저장한 뒤, 처리일시·처리자와 재전송용 결과 레코드를 채운다.
762| IF GV_BELNR NE SPACE.
763| GT_Z0060-GJAHR = GV_GJAHR.
764| GT_Z0060-BELNR = GV_BELNR.
765| GT_Z0060-STATS = C_S.
766| ELSE.
767| GT_Z0060-STATS = C_E.
768| READ TABLE GT_FIMSG WITH KEY MSGTY = C_E. "에러
769| IF SY-SUBRC <> 0.
770| READ TABLE GT_FIMSG WITH KEY MSGTY = C_A. "AVEND
771| ENDIF.
772| IF GT_FIMSG IS INITIAL.
773| * 메시지 타입이 정상이면서 에러인 건이 있는지 확인
774| DESCRIBE TABLE GT_MESS LINES GV_INDEX.
775| READ TABLE GT_MESS INDEX GV_INDEX.
776| IF SY-SUBRC EQ 0.
777| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
778| EXPORTING
779| MSGID = GT_FIMSG-MSGID
780| MSGNR = GT_FIMSG-MSGNO
781| MSGV1 = GT_FIMSG-MSGV1
782| MSGV2 = GT_FIMSG-MSGV2
783| MSGV3 = GT_FIMSG-MSGV3
784| MSGV4 = GT_FIMSG-MSGV4
785| IMPORTING
786| MESSAGE_TEXT_OUTPUT = GT_Z0060-MESSG.
787| ENDIF.
788| ELSE.
789| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
790| EXPORTING
791| MSGID = GT_FIMSG-MSGID
792| MSGNR = GT_FIMSG-MSGNO
793| MSGV1 = GT_FIMSG-MSGV1
794| MSGV2 = GT_FIMSG-MSGV2
795| MSGV3 = GT_FIMSG-MSGV3
796| MSGV4 = GT_FIMSG-MSGV4
797| IMPORTING
798| MESSAGE_TEXT_OUTPUT = GT_Z0060-MESSG.
799| ENDIF.
800| ENDIF.
801|
802| * 로그
803| GT_Z0060-UDATE = SY-DATUM.
804| GT_Z0060-UTIME = SY-UZEIT.
805| GT_Z0060-UNAME = SY-UNAME.
806| * 재전송
807| GT_RESULT-BELNR = GT_Z0060-BELNR.
808| GT_RESULT-GJAHR = GT_Z0060-GJAHR.
809| GT_RESULT-STATS = GT_Z0060-STATS.
810| GT_RESULT-MESSG = GT_Z0060-MESSG.
- EN: Records success (document number, status S) or failure (status E) with a human-readable message built from the message table, plus audit fields and the result record used for re-transmission.
- 호출(파서): MESSAGE_TEXT_BUILD, MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD, ZFIT0060, BELNR, STATS, MESSG
- 업무 키워드: 전기결과, 성공, 오류, 오류메시지, 처리상태, 처리일시, 재전송, 로그
- English: posting result, success, error, error message, processing status, audit fields, re-transmission
- 정의부(복사 시 함께 필요):
GV_BELNR,ZFIT0060,GT_Z0060,GV_GJAHR,C_S,C_E,GT_FIMSG,C_A,GT_MESS,GV_INDEX,GT_RESULT - 위치:
abap://ZFIR0030/ZFIR0030F01#L762-L810· confidence 0.87 ·ZFIR0030#ZFIR0030F01#FORM#BDC_TRANSACTION_FB01#C2
FORM SEND_AR — ZFIR0030F01 L132-L178 (47줄)
처리 결과를 인터페이스 공통 로그 키와 함께 송신 시스템으로 RFC 재전송하고 CBO 테이블을 갱신한다.
이 unit 의 조각 2개가 37/47줄(79%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 인터페이스 공통 로그의 고유키(UNQID)를 프로그램 ID·모듈(FI) 기준으로 발급받고, 발급 실패 시 메시지를 띄우고 처리를 중단한다.
139| CALL FUNCTION 'Z_IF_GET_UNQKEY'
140| EXPORTING
141| I_PGMID = SY-REPID
142| I_MODUL = 'FI'
143| IMPORTING
144| E_MESSG = LV_MESSG
145| ES_CMLOG = LS_CMLOG.
146|
147| IF LV_MESSG NE SPACE.
148| MESSAGE S000 WITH LV_MESSG DISPLAY LIKE C_E.
149| LEAVE LIST-PROCESSING.
150| ELSE.
151| APPEND LS_CMLOG TO LT_CMLOG.
152| ENDIF.
- EN: Obtains the interface common-log unique key (UNQID) for this program/module and aborts on failure.
- 호출(파서): Z_IF_GET_UNQKEY
- SAP 객체: Z_IF_GET_UNQKEY, ZIFS0010, UNQID
- 업무 키워드: 인터페이스로그, 고유키, 공통로그, 전송키, 중단
- English: interface log, unique key, common log, UNQID
- 정의부(복사 시 함께 필요):
LV_MESSG,LS_CMLOG,C_E,LT_CMLOG - 위치:
abap://ZFIR0030/ZFIR0030F01#L139-L152· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#SEND_AR#C1
[interface] 발급받은 고유키를 아직 키가 없는 건에 채워 ZFIT0060 을 갱신하고, 처리 결과를 RFC destination 'ZFI01' 의 Z_FI_SAVE_AR_RETURN 으로 재전송한 뒤 성공/실패를 사용자에게 알린다.
154| GT_Z0060-UNQID = LS_CMLOG-UNQID.
155| MODIFY GT_Z0060 TRANSPORTING UNQID
156| WHERE UNQID EQ SPACE.
157| * CBO테이블 업데이트
158| MODIFY ZFIT0060 FROM TABLE GT_Z0060.
159|
160|
161| * 데이터 가공하여 테이블에 저장 및 상태 값 전송
162| CALL FUNCTION 'Z_FI_SAVE_AR_RETURN'
163| DESTINATION 'ZFI01'
164| TABLES
165| IT_RESULT = GT_RESULT
166| IT_CMLOG = LT_CMLOG
167| EXCEPTIONS
168| SYSTEM_FAILURE = 1
169| COMMUNICATION_FAILURE = 2
170| OTHERS = 3.
171| IF SY-SUBRC EQ 0.
172| MESSAGE S000 WITH '성공적으로 저장하였습니다.'.
173| ELSE.
174| MESSAGE S000 WITH '데이터 재전송 중 오류가 발생했습니다.'
175| DISPLAY LIKE C_E.
176| ENDIF.
- EN: Stamps the unique key onto ZFIT0060 and re-transmits the results to the sender via RFC (Z_FI_SAVE_AR_RETURN, destination ZFI01), reporting success or failure.
- 테이블(파서): read - / write ZFIT0060
- 호출(파서): Z_FI_SAVE_AR_RETURN
- SAP 객체: Z_FI_SAVE_AR_RETURN, ZFIT0060, ZIFS0010, ZFI01
- 업무 키워드: 재전송, 결과전송, RFC, 매출채권, 상태값전송, CBO갱신
- English: re-transmission, result send, RFC destination, AR return, status feedback
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,LS_CMLOG,GT_RESULT,LT_CMLOG,C_E - 위치:
abap://ZFIR0030/ZFIR0030F01#L154-L176· confidence 0.88 ·ZFIR0030#ZFIR0030F01#FORM#SEND_AR#C2
FORM NAME_SELECT — ZFICOM L378-L387 (10줄)
사용자 ID 로 V_USERNAME 뷰에서 사용자 이름을 조회하는 공통 FORM 이다.
이 unit 의 조각 1개가 7/10줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] V_USERNAME 뷰에서 사용자 ID 의 이름(NAME_TEXT)을 조회하고 이름이 비어 있으면 사용자 ID 를 그대로 돌려준다.
380| SELECT SINGLE V_USERNAME~NAME_TEXT
381| INTO P_NAMET
382| FROM V_USERNAME
383| WHERE V_USERNAME~BNAME EQ P_UNAME.
384| IF SY-DBCNT GT 0 AND P_NAMET IS INITIAL.
385| P_NAMET = P_UNAME.
386| ENDIF.
- EN: Reads the user's full name from view V_USERNAME by user ID, falling back to the user ID when the name is empty.
- 테이블(파서): read V_USERNAME / write -
- SAP 객체: V_USERNAME, USR21, ADRP
- 업무 키워드: 사용자 이름, 사용자 ID, 담당자명
- English: User Name, V_USERNAME, User Master
- 선언을 못 찾은 이름: V_USERNAME (수집 안 된 인클루드·함수 인터페이스일 수 있다)
- 위치:
abap://ZFIR0030/ZFICOM#L380-L386· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#NAME_SELECT#C1
FORM SELECT_CSKT — ZFICOM L397-L408 (12줄)
관리회계영역·코스트센터로 CSKT 에서 유효한 코스트센터명을 조회하는 공통 FORM 이다.
이 unit 의 조각 1개가 7/12줄(58%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] CSKT 에서 영어 언어 기준 관리회계영역(KOKRS)·코스트센터(KOSTL)의 현재 유효(DATBI ≥ 오늘)한 명칭 KTEXT 를 단건 조회한다.
401| SELECT SINGLE CSKT~KTEXT
402| INTO P_KTEXT
403| FROM CSKT
404| WHERE CSKT~SPRAS EQ 'E' "SY-LANGU
405| AND CSKT~KOKRS EQ P_KOKRS
406| AND CSKT~KOSTL EQ P_KOSTL
407| AND CSKT~DATBI GE SY-DATLO.
- EN: Reads the currently valid cost center name KTEXT from CSKT for the controlling area and cost center (language 'E', DATBI >= today).
- 테이블(파서): read CSKT / write -
- SAP 객체: CSKT
- 업무 키워드: 코스트센터, 코스트센터명, 관리회계영역, 유효기간
- English: Cost Center, Controlling Area, CSKT
- 위치:
abap://ZFIR0030/ZFICOM#L401-L407· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#SELECT_CSKT#C1
FORM SELECT_J_1BBRANCH — ZFICOM L419-L428 (10줄)
회사코드·사업장(Business Place)으로 J_1BBRANCH 사업장명을 조회하는 공통 FORM 이다.
이 unit 의 조각 1개가 5/10줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 회사코드와 사업장 코드로 J_1BBRANCH 에서 사업장명(NAME)을 단건 조회한다.
423| SELECT SINGLE J_1BBRANCH~NAME
424| INTO P_NAME
425| FROM J_1BBRANCH
426| WHERE J_1BBRANCH~BUKRS EQ P_BUKRS
427| AND J_1BBRANCH~BRANCH EQ P_BRANCH.
- EN: Reads the business place name from J_1BBRANCH for the company code and branch.
- 테이블(파서): read J_1BBRANCH / write -
- SAP 객체: J_1BBRANCH
- 업무 키워드: 사업장, 사업장명, 회사코드, 세금계산서
- English: Business Place, Branch, Company Code
- 선언을 못 찾은 이름: J_1BBRANCH (수집 안 된 인클루드·함수 인터페이스일 수 있다)
- 위치:
abap://ZFIR0030/ZFICOM#L423-L427· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#SELECT_J_1BBRANCH#C1
FORM SELECT_SKAT — ZFICOM L438-L464 (27줄)
G/L 계정번호로 SKAT 계정과목 텍스트(장문 50/단문 20)를 언어별로 조회하는 공통 FORM 이다.
이 unit 의 조각 1개가 21/27줄(78%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 파라미터 ID ZSP 또는 로그온 언어로 언어를 정한 뒤 텍스트 유형(L/S)에 따라 SKAT 에서 계정과목 장문(TXT50) 또는 단문(TXT20)을 계정표(C_KTOPL) 기준으로 단건 조회한다.
443| GET PARAMETER ID 'ZSP' FIELD L_LANG.
444| IF L_LANG IS INITIAL.
445| L_LANG = SY-LANGU.
446| ENDIF.
447| * Long text
448| IF P_TYPE EQ C_L.
449| SELECT SINGLE SKAT~TXT50
450| INTO P_TXT20
451| FROM SKAT
452| WHERE SKAT~SPRAS EQ L_LANG
453| AND SKAT~KTOPL EQ C_KTOPL
454| AND SKAT~SAKNR EQ P_SAKNR.
455| * Short text
456| ELSE.
457| SELECT SINGLE SKAT~TXT20
458| INTO P_TXT20
459| FROM SKAT
460| WHERE SKAT~SPRAS EQ L_LANG
461| AND SKAT~KTOPL EQ C_KTOPL
462| AND SKAT~SAKNR EQ P_SAKNR.
463| ENDIF.
- EN: Determines the language (parameter ZSP or SY-LANGU) and reads the G/L account long text TXT50 or short text TXT20 from SKAT for the chart of accounts.
- 테이블(파서): read SKAT / write -
- SAP 객체: SKAT
- 업무 키워드: 계정과목 텍스트, G/L 계정, 계정표, 언어
- English: G/L Account, Chart of Accounts, Account Text, SKAT
- 정의부(복사 시 함께 필요):
L_LANG,C_L,C_KTOPL - 위치:
abap://ZFIR0030/ZFICOM#L443-L463· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#SELECT_SKAT#C1
FORM CHECK_CONFIRM_STEP — ZFICOM L476-L491 (16줄)
제목·메시지 1줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.
이 unit 의 조각 1개가 8/16줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] POPUP_TO_CONFIRM_STEP 으로 제목·메시지·취소버튼 여부·기본버튼을 지정한 확인 팝업을 띄우고 사용자의 응답을 GF_ANSWER 에 받는다.
482| CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
483| EXPORTING
484| DEFAULTOPTION = P_BUTTON
485| TEXTLINE1 = P_MESS1
486| TITEL = P_TITLE
487| CANCEL_DISPLAY = P_CANCEL
488| IMPORTING
489| ANSWER = GF_ANSWER.
- EN: Shows a confirmation popup via POPUP_TO_CONFIRM_STEP and returns the user's answer in GF_ANSWER.
- 호출(파서): POPUP_TO_CONFIRM_STEP
- SAP 객체: POPUP_TO_CONFIRM_STEP
- 업무 키워드: 확인 팝업, 사용자 확인, 실행 확인
- English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
- 정의부(복사 시 함께 필요):
GF_ANSWER - 위치:
abap://ZFIR0030/ZFICOM#L482-L489· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#CHECK_CONFIRM_STEP#C1
FORM CHECK_CONFIRM_STEP_2 — ZFICOM L503-L520 (18줄)
제목·메시지 2줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다.
이 unit 의 조각 1개가 9/18줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] POPUP_TO_CONFIRM_STEP 으로 제목·메시지 2줄·취소버튼 여부·기본버튼을 지정한 확인 팝업을 띄우고 사용자의 응답을 GF_ANSWER 에 받는다.
510| CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
511| EXPORTING
512| DEFAULTOPTION = P_BUTTON
513| TEXTLINE1 = P_MESS1
514| TEXTLINE2 = P_MESS2
515| TITEL = P_TITLE
516| CANCEL_DISPLAY = P_CANCEL
517| IMPORTING
518| ANSWER = GF_ANSWER.
- EN: Shows a confirmation popup via POPUP_TO_CONFIRM_STEP with two text lines and returns the user's answer in GF_ANSWER.
- 호출(파서): POPUP_TO_CONFIRM_STEP
- SAP 객체: POPUP_TO_CONFIRM_STEP
- 업무 키워드: 확인 팝업, 사용자 확인, 실행 확인
- English: Confirmation Popup, POPUP_TO_CONFIRM_STEP
- 정의부(복사 시 함께 필요):
GF_ANSWER - 위치:
abap://ZFIR0030/ZFICOM#L510-L518· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#CHECK_CONFIRM_STEP_2#C1
FORM AUTHORITY_BUKRS — ZFICOM L528-L536 (9줄)
회사코드에 대한 SAP 표준 권한(F_BKPF_BUK)을 검사하고 권한이 없으면 처리를 중단한다.
이 unit 의 조각 1개가 7/9줄(78%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 전표 권한 오브젝트 F_BKPF_BUK 로 해당 회사코드 접근 권한을 검사하고, 권한이 없으면 메시지를 띄운 뒤 리스트 처리를 즉시 중단한다.
529| AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
530| ID 'BUKRS' FIELD P_BUKRS.
531| IF SY-SUBRC NE 0.
532| MESSAGE I240(FZ) WITH P_BUKRS.
533| GF_CHECK = C_X.
534| LEAVE LIST-PROCESSING.
535| ENDIF.
- EN: Checks company-code authorization via F_BKPF_BUK and aborts list processing when the user lacks it.
- SAP 객체: F_BKPF_BUK, T001, BUKRS
- 업무 키워드: 권한체크, 회사코드권한, 권한오브젝트, 접근제어, 처리중단
- English: authority check, company code authorization, F_BKPF_BUK, access control
- 정의부(복사 시 함께 필요):
GF_CHECK,C_X - 위치:
abap://ZFIR0030/ZFICOM#L529-L535· confidence 0.93 ·ZFIR0030#ZFICOM#FORM#AUTHORITY_BUKRS#C1
FORM AUTHORITY_PG — ZFICOM L545-L563 (19줄)
사용자 ID 로 커스텀 권한테이블 ZFIT0160 을 조회해 프로그램(T-Code)별 실행 권한을 검증하는 공통 FORM 이다.
이 unit 의 조각 1개가 16/19줄(84%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] ZFIT0160 에서 사용자 ID 의 프로그램 권한 행을 조회하고, 미등록이거나 ZFIR0090 권한 플래그가 비어 있으면 '프로그램 권한이 없습니다' 메시지 후 GF_CHECK 를 세우고 처리를 중단한다.
547| SELECT SINGLE * FROM ZFIT0160
548| WHERE USERID = P_UNAME.
549|
550| IF SY-SUBRC = 0.
551| IF P_TCODE = 'ZFIR0090'.
552| IF ZFIT0160-ZFIR0090 = ''.
553| MESSAGE I000 WITH '프로그램 권한이 없습니다 (ZFIR0160) 미등록'.
554| GF_CHECK = C_X.
555| LEAVE LIST-PROCESSING.
556| ENDIF.
557| ENDIF.
558| ELSE.
559| MESSAGE I000 WITH '프로그램 권한이 없습니다 (ZFIR0160) 미등록'.
560| GF_CHECK = C_X.
561| LEAVE LIST-PROCESSING.
562| ENDIF.
- EN: Reads the custom program authorization table ZFIT0160 by user ID and stops with an 'no program authorization' message (GF_CHECK = X) when the user is not registered or the ZFIR0090 flag is empty.
- 테이블(파서): read ZFIT0160 / write -
- SAP 객체: ZFIT0160, ZFIR0090
- 업무 키워드: 프로그램 권한, 권한 체크, 사용자 ID, 권한 테이블
- English: Authorization Check, Custom Authorization Table, User ID
- 정의부(복사 시 함께 필요):
ZFIT0160,GF_CHECK,C_X - 위치:
abap://ZFIR0030/ZFICOM#L547-L562· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#AUTHORITY_PG#C1
FORM GET_DOMAIN_VALUE — ZFICOM L574-L593 (20줄)
DOMAIN_VALUE_GET 으로 도메인 고정값의 텍스트를 조회하는 공통 헬퍼다.
이 unit 의 조각 1개가 14/20줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 도메인명·값으로 DOMAIN_VALUE_GET 을 호출해 고정값 텍스트(DDTEXT)를 얻고 미존재 시 시스템 메시지를 표시한다.
578| CALL FUNCTION 'DOMAIN_VALUE_GET'
579| EXPORTING
580| I_DOMNAME = P_DOMNAME
581| I_DOMVALUE = P_DOMVALUE
582| IMPORTING
583| E_DDTEXT = P_DDTEXT
584| EXCEPTIONS
585| NOT_EXIST = 1
586| OTHERS = 2.
587|
588| IF SY-SUBRC NE 0.
589| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
590| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
591| ENDIF.
- EN: Calls DOMAIN_VALUE_GET to get the fixed-value text of a domain value and raises the system message if not found.
- 호출(파서): DOMAIN_VALUE_GET
- SAP 객체: DOMAIN_VALUE_GET
- 업무 키워드: 도메인, 고정값 텍스트, 코드 설명
- English: Domain, Fixed Value, DDTEXT
- 위치:
abap://ZFIR0030/ZFICOM#L578-L591· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#GET_DOMAIN_VALUE#C1
FORM CALC_DATE_IN_INTERVAL — ZFICOM L606-L623 (18줄)
기준일에 일·월·년을 가감한 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산하는 공통 헬퍼다.
이 unit 의 조각 1개가 9/18줄(50%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 기준일에 일·월·년 값을 부호(SIGNUM)에 따라 더하거나 빼서 결과 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산한다.
613| CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
614| EXPORTING
615| DATE = P_DATE
616| DAYS = P_DAYS
617| MONTHS = P_MONTHS
618| SIGNUM = P_SIGNUM
619| YEARS = P_YEARS
620| IMPORTING
621| CALC_DATE = P_CALC_DATE.
- EN: Adds or subtracts days/months/years to a base date with RP_CALC_DATE_IN_INTERVAL according to SIGNUM.
- 호출(파서): RP_CALC_DATE_IN_INTERVAL
- SAP 객체: RP_CALC_DATE_IN_INTERVAL
- 업무 키워드: 날짜 계산, 기준일, 일자 가감
- English: Date Calculation, RP_CALC_DATE_IN_INTERVAL
- 정의부(복사 시 함께 필요):
P_DATE - 위치:
abap://ZFIR0030/ZFICOM#L613-L621· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#CALC_DATE_IN_INTERVAL#C1
FORM CALC_BETWEEN_DATES — ZFICOM L635-L651 (17줄)
두 날짜 사이의 일·월·년 차이를 HRVE_GET_TIME_BETWEEN_DATES 로 계산하는 공통 헬퍼다.
이 unit 의 조각 1개가 8/17줄(47%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 시작일·종료일을 넘겨 HRVE_GET_TIME_BETWEEN_DATES 로 경과 일수·개월·연수를 계산한다.
642| CALL FUNCTION 'HRVE_GET_TIME_BETWEEN_DATES'
643| EXPORTING
644| BEG_DATE = P_BDATE
645| END_DATE = P_EDATE
646| IMPORTING
647| DAYS = P_DAYS
648| MONTHS = P_MONTHS
649| YEARS = P_YEARS.
- EN: Calculates days, months and years between two dates via HRVE_GET_TIME_BETWEEN_DATES.
- 호출(파서): HRVE_GET_TIME_BETWEEN_DATES
- SAP 객체: HRVE_GET_TIME_BETWEEN_DATES
- 업무 키워드: 기간 계산, 일수, 개월수, 경과기간
- English: Date Difference, Period Calculation
- 위치:
abap://ZFIR0030/ZFICOM#L642-L649· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#CALC_BETWEEN_DATES#C1
FORM DYNP_VALUES_READ — ZFICOM L674-L703 (30줄)
DYNP_VALUES_READ 로 현재 화면 필드의 입력값을 PAI 전에 읽어오는 공통 헬퍼다.
이 unit 의 조각 1개가 21/30줄(70%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 읽을 화면 필드명·STEPL 을 GT_DYNFIELDS 에 담고 DYNP_VALUES_READ 로 현재 프로그램·화면의 필드 값을 읽어 P_VALUE 로 돌려준다.
682| CLEAR : GT_DYNFIELDS, GT_DYNFIELDS[].
683| GT_DYNFIELDS-FIELDNAME = P_FNAME.
684| GT_DYNFIELDS-STEPL = P_STEPL.
685| APPEND GT_DYNFIELDS.
686|
687| LV_PROG = SY-CPROG.
688| LV_DNUM = SY-DYNNR.
689| * To read Field Value on screen
690| CALL FUNCTION 'DYNP_VALUES_READ'
691| EXPORTING
692| DYNAME = LV_PROG
693| DYNUMB = LV_DNUM
694| DETERMINE_LOOP_INDEX = C_X
695| TABLES
696| DYNPFIELDS = GT_DYNFIELDS
697| EXCEPTIONS
698| OTHERS = 01.
699| IF SY-SUBRC EQ 0.
700| READ TABLE GT_DYNFIELDS INDEX 1.
701| P_VALUE = GT_DYNFIELDS-FIELDVALUE.
702| ENDIF.
- EN: Fills GT_DYNFIELDS with the screen field name/STEPL and reads its current value from the active dynpro with DYNP_VALUES_READ.
- 호출(파서): DYNP_VALUES_READ
- SAP 객체: DYNP_VALUES_READ
- 업무 키워드: 화면 필드값 읽기, 다이나프로, 입력값
- English: DYNP_VALUES_READ, Dynpro Field, Screen Value
- 정의부(복사 시 함께 필요):
GT_DYNFIELDS,LV_PROG,LV_DNUM,C_X - 위치:
abap://ZFIR0030/ZFICOM#L682-L702· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#DYNP_VALUES_READ#C1
FORM SELECT_T007S — ZFICOM L758-L770 (13줄)
세금코드(MWSKZ)의 부가세 텍스트를 T007S 에서 조회하는 공통 FORM 이다.
이 unit 의 조각 1개가 9/13줄(69%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 세금계산절차(KALSM) 기본값을 세팅하고 T007S 에서 영어 언어 기준 세금코드(MWSKZ)의 설명 TEXT1 을 단건 조회한다.
761| IF GV_KALSM IS INITIAL.
762| GV_KALSM = C_KALSM.
763| ENDIF.
764| SELECT SINGLE T007S~TEXT1
765| INTO P_TEXT1
766| FROM T007S
767| WHERE T007S~SPRAS EQ 'E' " SY-LANGU
768| AND T007S~KALSM EQ GV_KALSM
769| AND T007S~MWSKZ EQ P_MWSKZ.
- EN: Defaults the tax procedure KALSM and reads the tax code description TEXT1 from T007S (language 'E').
- 테이블(파서): read T007S / write -
- SAP 객체: T007S
- 업무 키워드: 세금코드, 부가세, 세금계산절차, 텍스트 조회
- English: Tax Code, Tax Procedure, Sales Tax
- 정의부(복사 시 함께 필요):
GV_KALSM,C_KALSM - 위치:
abap://ZFIR0030/ZFICOM#L761-L769· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#SELECT_T007S#C1
FORM GET_NEXT_NUMBER — ZFICOM L781-L819 (39줄)
번호범위 오브젝트에서 다음 일련번호를 받아온다 (CBO 테이블의 키 생성용).
이 unit 의 조각 1개가 20/39줄(51%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 표준 FM NUMBER_GET_NEXT 로 지정한 번호범위·오브젝트·서브오브젝트의 다음 일련번호를 채번하고, 구간 미존재·오버플로 등 예외는 시스템 메시지로 그대로 올린다.
787| CALL FUNCTION 'NUMBER_GET_NEXT'
788| EXPORTING
789| NR_RANGE_NR = P_NRRNG
790| OBJECT = P_OBJCT
791| SUBOBJECT = P_SBJCT
792| IMPORTING
793| NUMBER = P_NUMBR
794| EXCEPTIONS
795| INTERVAL_NOT_FOUND = 1
796| NUMBER_RANGE_NOT_INTERN = 2
797| OBJECT_NOT_FOUND = 3
798| QUANTITY_IS_0 = 4
799| QUANTITY_IS_NOT_1 = 5
800| INTERVAL_OVERFLOW = 6
801| BUFFER_OVERFLOW = 7
802| OTHERS = 8.
803| IF SY-SUBRC <> 0.
804| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
805| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
806| ENDIF.
- EN: Draws the next sequence number from a number-range object via NUMBER_GET_NEXT, surfacing interval/overflow exceptions as system messages.
- 호출(파서): NUMBER_GET_NEXT
- SAP 객체: NUMBER_GET_NEXT, INRI, NROBJ
- 업무 키워드: 번호범위, 채번, 일련번호, 키생성, 번호오브젝트
- English: number range, number assignment, sequence number, NUMBER_GET_NEXT, NROBJ
- 위치:
abap://ZFIR0030/ZFICOM#L787-L806· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#GET_NEXT_NUMBER#C1
FORM DATA_UPLOAD — ZFICOM L853-L908 (56줄)
파일 확장자(TXT/XLS)에 따라 GUI_UPLOAD 또는 TEXT_CONVERT_XLS_TO_SAP 으로 로컬 파일을 내부테이블로 업로드하는 공통 FORM 이다.
이 unit 의 조각 3개가 42/56줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[validation] 파일명의 마지막 3자리로 확장자(TXT/XLS)를 판별해 업로드 방식을 결정한다.
864| LV_LEN = STRLEN( P_FNAME ).
865| LV_POS = LV_LEN - 3.
866| LV_TYPE = P_FNAME+LV_POS(3).
867| TRANSLATE LV_TYPE TO UPPER CASE.
- EN: Extracts the file extension (last 3 characters) to decide the upload method.
- 업무 키워드: 파일 확장자, 업로드 방식, 파일명
- English: File Extension, File Upload
- 정의부(복사 시 함께 필요):
LV_LEN,LV_POS,LV_TYPE - 위치:
abap://ZFIR0030/ZFICOM#L864-L867· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#DATA_UPLOAD#C1
[fm_call] TXT 파일이면 GUI_UPLOAD(탭 구분자)로 로컬 파일을 T_LOAD 내부테이블로 읽고 실패 시 메시지 I106 후 종료한다.
869| IF LV_TYPE EQ 'TXT'.
870| CLEAR : T_LOAD[], T_LOAD.
871| LV_FILENAME = P_FNAME.
872| CALL FUNCTION 'GUI_UPLOAD'
873| EXPORTING
874| FILENAME = LV_FILENAME
875| * FILETYPE = 'ASC'
876| * tab
877| HAS_FIELD_SEPARATOR = C_X
878| * CODEPAGE = '8000'
879| TABLES
880| DATA_TAB = T_LOAD.
881|
882| IF SY-SUBRC NE 0.
883| MESSAGE I106.
884| LEAVE LIST-PROCESSING.
885| ENDIF.
- EN: For TXT files uploads the tab-separated local file into T_LOAD with GUI_UPLOAD and stops with message I106 on failure.
- 호출(파서): GUI_UPLOAD
- SAP 객체: GUI_UPLOAD
- 업무 키워드: 텍스트 파일 업로드, 탭 구분, 로컬 파일
- English: GUI_UPLOAD, Text File, Local File
- 정의부(복사 시 함께 필요):
LV_TYPE,LV_FILENAME,C_X - 위치:
abap://ZFIR0030/ZFICOM#L869-L885· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#DATA_UPLOAD#C2
[fm_call] XLS 파일이면 TEXT_CONVERT_XLS_TO_SAP 으로 엑셀을 T_LOAD 로 변환(헤더행 옵션)하고, 실패·미지원 확장자면 메시지 I006/I007 로 종료한다.
887| ELSEIF LV_TYPE EQ 'XLS'.
888| CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
889| EXPORTING
890| * I_FIELD_SEPERATOR =
891| I_LINE_HEADER = P_HLINE
892| I_TAB_RAW_DATA = LV_RAW_DATA
893| I_FILENAME = P_FNAME
894| TABLES
895| I_TAB_CONVERTED_DATA = T_LOAD
896| EXCEPTIONS
897| CONVERSION_FAILED = 1
898| OTHERS = 2.
899|
900| IF SY-SUBRC NE 0.
901| MESSAGE I006. "업로드 실패!! 담당자에게 문의하세요.
902| LEAVE LIST-PROCESSING.
903| ENDIF.
904| ELSE.
905| MESSAGE I007. "지원하지 않는 확장자입니다. 파일형식을 확인하세요.
906| LEAVE LIST-PROCESSING.
907| ENDIF.
- EN: For XLS files converts the Excel sheet into T_LOAD with TEXT_CONVERT_XLS_TO_SAP (header line option); unsupported extensions or failures stop with messages I006/I007.
- 호출(파서): TEXT_CONVERT_XLS_TO_SAP
- SAP 객체: TEXT_CONVERT_XLS_TO_SAP
- 업무 키워드: 엑셀 업로드, 헤더행, 파일 변환, 미지원 확장자
- English: Excel Upload, TEXT_CONVERT_XLS_TO_SAP, Conversion
- 정의부(복사 시 함께 필요):
LV_TYPE,LV_RAW_DATA - 위치:
abap://ZFIR0030/ZFICOM#L887-L907· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#DATA_UPLOAD#C3
FORM DATA_UPLOAD_2 — ZFICOM L917-L950 (34줄)
엑셀 파일을 KCD_EXCEL_OLE_TO_INT_CONVERT 로 셀 단위로 읽어 행별로 T_LOAD 내부테이블 구조에 매핑하는 공통 업로드 FORM 이다.
이 unit 의 조각 2개가 26/34줄(76%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] KCD_EXCEL_OLE_TO_INT_CONVERT 로 엑셀 파일을 2행부터(헤더 제외) 셀 단위 내부테이블 GT_XLS 로 읽고 실패 시 '업로드 실패' 메시지 후 종료한다.
922| CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
923| EXPORTING
924| FILENAME = P_FNAME
925| I_BEGIN_COL = 1
926| I_BEGIN_ROW = 2
927| I_END_COL = 256
928| I_END_ROW = 65536
929| TABLES
930| INTERN = GT_XLS
931| EXCEPTIONS
932| INCONSISTENT_PARAMETERS = 1
933| UPLOAD_OLE = 2
934| OTHERS = 3.
935|
936| IF SY-SUBRC <> 0.
937| MESSAGE I000 WITH '업로드 실패!! 담당자에게 문의하세요.'.
938| LEAVE LIST-PROCESSING.
939| ENDIF.
- EN: Reads the Excel file cell by cell (from row 2, skipping the header) into GT_XLS with KCD_EXCEL_OLE_TO_INT_CONVERT and stops with an upload-failed message on error.
- 호출(파서): KCD_EXCEL_OLE_TO_INT_CONVERT
- SAP 객체: KCD_EXCEL_OLE_TO_INT_CONVERT, KCDE_INTERN_STRUC
- 업무 키워드: 엑셀 업로드, OLE, 헤더 제외, 셀 데이터
- English: Excel Upload, KCD_EXCEL_OLE_TO_INT_CONVERT, OLE
- 정의부(복사 시 함께 필요):
GT_XLS - 위치:
abap://ZFIR0030/ZFICOM#L922-L939· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#DATA_UPLOAD_2#C1
[calculation] 셀 데이터를 행·열 순으로 정렬한 뒤 열 번호를 T_LOAD 구조의 컴포넌트에 ASSIGN 해 값을 채우고 행이 끝날 때마다 T_LOAD 에 한 줄씩 추가한다.
941| SORT GT_XLS BY ROW COL.
942| LOOP AT GT_XLS.
943| ASSIGN COMPONENT GT_XLS-COL OF STRUCTURE T_LOAD TO <FS>.
944| <FS> = GT_XLS-VALUE.
945| AT END OF ROW.
946| APPEND T_LOAD. CLEAR: T_LOAD.
947| ENDAT.
948| ENDLOOP.
- EN: Sorts cells by row/column, assigns each cell value to the corresponding component of T_LOAD by column index and appends a line at the end of each row.
- 업무 키워드: 행 변환, 컬럼 매핑, 업로드 내역, 필드심볼
- English: Row Mapping, Field Symbol, Internal Table
- 정의부(복사 시 함께 필요):
GT_XLS,<FS> - 위치:
abap://ZFIR0030/ZFICOM#L941-L948· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#DATA_UPLOAD_2#C2
FORM CONVERT_TO_FOREIGN_CURRENCY — ZFICOM L962-L999 (38줄)
현지통화 금액을 환율·기준일로 외화 금액으로 환산하는 공통 FORM 이다.
이 unit 의 조각 1개가 32/38줄(84%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 현지통화 기본값을 설정한 뒤 CONVERT_TO_FOREIGN_CURRENCY 로 현지통화금액(DMBTR)을 환율(KURSF)·기준일 기준 외화금액(WRBTR)으로 환산하고 오류 시 시스템 메시지를 표시한다.
967| IF T001-WAERS IS INITIAL.
968| T001-WAERS = C_WAERS.
969| ENDIF.
970| CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY'
971| EXPORTING
972| * CLIENT = SY-MANDT
973| DATE = P_DATUM
974| FOREIGN_CURRENCY = P_WAERS
975| LOCAL_AMOUNT = P_DMBTR
976| LOCAL_CURRENCY = T001-WAERS
977| RATE = P_KURSF
978| * TYPE_OF_RATE = 'M'
979| * READ_TCURR = 'X'
980| IMPORTING
981| * EXCHANGE_RATE =
982| FOREIGN_AMOUNT = P_WRBTR
983| * FOREIGN_FACTOR =
984| * LOCAL_FACTOR =
985| * EXCHANGE_RATEX =
986| * DERIVED_RATE_TYPE =
987| * FIXED_RATE =
988| EXCEPTIONS
989| NO_RATE_FOUND = 1
990| OVERFLOW = 2
991| NO_FACTORS_FOUND = 3
992| NO_SPREAD_FOUND = 4
993| DERIVED_2_TIMES = 5
994| OTHERS = 6.
995| IF SY-SUBRC NE 0.
996| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
997| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
998| ENDIF.
- EN: Converts the local currency amount (DMBTR) to the foreign currency amount (WRBTR) via CONVERT_TO_FOREIGN_CURRENCY using rate and date, raising the system message on error.
- 호출(파서): CONVERT_TO_FOREIGN_CURRENCY
- SAP 객체: CONVERT_TO_FOREIGN_CURRENCY, T001, TCURR
- 업무 키워드: 환율, 외화 환산, 현지통화, 전표금액
- English: Foreign Currency, Exchange Rate, Currency Conversion
- 정의부(복사 시 함께 필요):
T001,C_WAERS - 위치:
abap://ZFIR0030/ZFICOM#L967-L998· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#CONVERT_TO_FOREIGN_CURRENCY#C1
FORM CONVERT_TO_LOCAL_CURRENCY — ZFICOM L1011-L1039 (29줄)
외화 금액을 환율·기준일로 회사코드 현지통화(T001-WAERS) 금액으로 환산하는 공통 FORM 이다.
이 unit 의 조각 1개가 23/29줄(79%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 현지통화가 없으면 기본통화(C_WAERS)를 쓰고 CONVERT_TO_LOCAL_CURRENCY 로 외화금액(WRBTR)·환율(KURSF)·기준일로 현지통화금액(DMBTR)을 계산하며 환율 미존재 등 오류 시 메시지를 띄운다.
1016| IF T001-WAERS IS INITIAL.
1017| T001-WAERS = C_WAERS.
1018| ENDIF.
1019| CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
1020| EXPORTING
1021| DATE = P_DATUM
1022| FOREIGN_AMOUNT = P_WRBTR
1023| FOREIGN_CURRENCY = P_WAERS
1024| LOCAL_CURRENCY = T001-WAERS
1025| RATE = P_KURSF
1026| IMPORTING
1027| LOCAL_AMOUNT = P_DMBTR
1028| EXCEPTIONS
1029| NO_RATE_FOUND = 1
1030| OVERFLOW = 2
1031| NO_FACTORS_FOUND = 3
1032| NO_SPREAD_FOUND = 4
1033| DERIVED_2_TIMES = 5
1034| OTHERS = 6.
1035| IF SY-SUBRC NE 0.
1036| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1037| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1038| ENDIF.
- EN: Converts the foreign amount to local currency amount (DMBTR) with CONVERT_TO_LOCAL_CURRENCY using the rate and date, defaulting the local currency, and raises the system message on error.
- 호출(파서): CONVERT_TO_LOCAL_CURRENCY
- SAP 객체: CONVERT_TO_LOCAL_CURRENCY, T001, TCURR
- 업무 키워드: 환율, 외화 환산, 현지통화, 전표금액
- English: Local Currency, Exchange Rate, Currency Conversion
- 정의부(복사 시 함께 필요):
T001,C_WAERS - 위치:
abap://ZFIR0030/ZFICOM#L1016-L1038· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#CONVERT_TO_LOCAL_CURRENCY#C1
FORM SELECT_USR01 — ZFICOM L1084-L1088 (5줄)
사용자명으로 USR01(사용자 마스터 기본값)을 단건 조회하는 공통 FORM 이다.
이 unit 의 조각 1개가 3/5줄(60%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 사용자 ID(P_UNAME)로 USR01 을 단건 조회해 사용자 기본 설정(날짜/숫자 형식 등)을 읽는다.
1085| SELECT SINGLE *
1086| FROM USR01
1087| WHERE USR01~BNAME EQ P_UNAME.
- EN: Reads the user master defaults from USR01 for the given user name.
- 테이블(파서): read USR01 / write -
- SAP 객체: USR01
- 업무 키워드: 사용자 마스터, 사용자 기본값, 사용자 ID
- English: User Master, USR01
- 정의부(복사 시 함께 필요):
USR01 - 위치:
abap://ZFIR0030/ZFICOM#L1085-L1087· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#SELECT_USR01#C1
FORM SMARTFORM_CONTROL — ZFICOM L1101-L1138 (38줄)
Smartform 이름으로 생성 FM 이름을 구하고 미리보기·다이얼로그·프린터 등 출력 옵션(GS_DEVICE/GS_OPTIONS)을 설정한다.
이 unit 의 조각 1개가 29/38줄(76%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] SSF_FUNCTION_MODULE_NAME 으로 Smartform 의 실행 FM 이름(GV_FNAME)을 구한 뒤 미리보기·NO_DIALOG·OTF·프린터(TDDEST)·즉시출력 등 출력 옵션을 GS_DEVICE/GS_OPTIONS 에 설정한다.
1108| CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
1109| EXPORTING
1110| FORMNAME = P_FORMNAME
1111| IMPORTING
1112| FM_NAME = GV_FNAME
1113| EXCEPTIONS
1114| NO_FORM = 1
1115| NO_FUNCTION_MODULE = 2
1116| OTHERS = 3.
1117|
1118| IF SY-SUBRC EQ 0.
1119| * Output option appointment (preview screen exception)
1120| GS_DEVICE-PREVIEW = P_PREVIEW.
1121| GS_DEVICE-NO_DIALOG = P_DIALOG.
1122| GS_DEVICE-GETOTF = P_GETOTF.
1123| GS_DEVICE-LANGU = SY-LANGU.
1124| GS_DEVICE-DEVICE = 'PRINTER'.
1125| GS_DEVICE-NO_OPEN = C_X.
1126| GS_DEVICE-NO_CLOSE = C_X.
1127| GS_OPTIONS-TDDEST = P_TDDEST.
1128| GS_OPTIONS-TDIMMED = C_X.
1129| GS_OPTIONS-TDDELETE = C_X.
1130| GS_OPTIONS-TDNEWID = C_X.
1131| * 미리보기버튼
1132| GS_OPTIONS-TDNOPREV = SPACE.
1133| GS_OPTIONS-TDCOVER = SPACE. "C_S.
1134| GS_OPTIONS-TDNOPRINT = P_TDNOPRINT.
1135| * GS_OPTIONS-TDRECEIVER = SY-UNAME.
1136| ENDIF.
- EN: Gets the generated function module name of the Smart Form via SSF_FUNCTION_MODULE_NAME and fills control parameters (preview, no dialog, OTF) and output options (TDDEST, immediate print).
- 호출(파서): SSF_FUNCTION_MODULE_NAME
- SAP 객체: SSF_FUNCTION_MODULE_NAME, SSFCTRLOP, SSFCOMPOP
- 업무 키워드: 스마트폼, 출력 옵션, 미리보기, 프린터
- English: Smart Forms, Output Options, Control Parameters, Print Preview
- 정의부(복사 시 함께 필요):
GV_FNAME,GS_DEVICE,C_X,GS_OPTIONS - 위치:
abap://ZFIR0030/ZFICOM#L1108-L1136· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#SMARTFORM_CONTROL#C1
FORM SMARTFORM_OPEN — ZFICOM L1144-L1156 (13줄)
Smartform 출력 작업을 SSF_OPEN 으로 시작하는 공통 FORM 이다.
이 unit 의 조각 1개가 11/13줄(85%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] GS_DEVICE/GS_OPTIONS 의 출력 옵션으로 SSF_OPEN 을 호출해 Smartform 출력 job 을 연다.
1145| CALL FUNCTION 'SSF_OPEN'
1146| EXPORTING
1147| CONTROL_PARAMETERS = GS_DEVICE
1148| OUTPUT_OPTIONS = GS_OPTIONS
1149| USER_SETTINGS = SPACE
1150| EXCEPTIONS
1151| FORMATTING_ERROR = 1
1152| INTERNAL_ERROR = 2
1153| SEND_ERROR = 3
1154| USER_CANCELED = 4
1155| OTHERS = 5.
- EN: Opens a Smart Form print job with SSF_OPEN using the control parameters GS_DEVICE and output options GS_OPTIONS.
- 호출(파서): SSF_OPEN
- SAP 객체: SSF_OPEN
- 업무 키워드: 스마트폼, 출력 시작, 양식 출력
- English: Smart Forms, SSF_OPEN, Output Options
- 정의부(복사 시 함께 필요):
GS_DEVICE,GS_OPTIONS - 위치:
abap://ZFIR0030/ZFICOM#L1145-L1155· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#SMARTFORM_OPEN#C1
FORM SMARTFORM_CLOSE — ZFICOM L1162-L1175 (14줄)
Smartform 출력 작업을 SSF_CLOSE 로 종료하고 JOB_OUTPUT_INFO 를 받아오는 공통 FORM 이다.
이 unit 의 조각 1개가 12/14줄(86%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] SSF_CLOSE 로 Smartform 출력 job 을 닫고 출력 결과(GS_JOB_OUTPUT_INFO)를 받으며 오류 시 시스템 메시지를 표시한다.
1163| CALL FUNCTION 'SSF_CLOSE'
1164| IMPORTING
1165| JOB_OUTPUT_INFO = GS_JOB_OUTPUT_INFO
1166| EXCEPTIONS
1167| FORMATTING_ERROR = 1
1168| INTERNAL_ERROR = 2
1169| SEND_ERROR = 3
1170| OTHERS = 4.
1171| IF SY-SUBRC NE 0.
1172| MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
1173| WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
1174| ENDIF.
- EN: Closes the Smart Form print job with SSF_CLOSE, retrieves JOB_OUTPUT_INFO and raises the system message on error.
- 호출(파서): SSF_CLOSE
- SAP 객체: SSF_CLOSE
- 업무 키워드: 스마트폼, 출력 종료, 양식 출력
- English: Smart Forms, SSF_CLOSE, Print Job
- 정의부(복사 시 함께 필요):
GS_JOB_OUTPUT_INFO - 위치:
abap://ZFIR0030/ZFICOM#L1163-L1174· confidence 0.85 ·ZFIR0030#ZFICOM#FORM#SMARTFORM_CLOSE#C1
FORM DYNPRO — ZFICOM L1240-L1251 (12줄)
BDC 화면 시작 또는 필드값 한 줄을 GT_BDC(BDCDATA) 에 추가하는 공통 BDC 빌더 헬퍼다.
이 unit 의 조각 1개가 9/12줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[interface] P_DYN 이 X 면 모듈풀·화면번호로 BDC 화면 시작 행을, 아니면 필드명·값 행을 GT_BDC(BDCDATA)에 추가한다.
1242| IF P_DYN EQ C_X.
1243| MOVE : P_NAME TO GT_BDC-PROGRAM, "BDC module pool
1244| P_VALUE TO GT_BDC-DYNPRO, "Screen Number
1245| P_DYN TO GT_BDC-DYNBEGIN. "BDC screen start
1246| ELSE.
1247| MOVE : P_NAME TO GT_BDC-FNAM, "Field Name
1248| P_VALUE TO GT_BDC-FVAL. "BDC field value
1249| ENDIF.
1250| APPEND GT_BDC.
- EN: Appends either a screen-start row (program, dynpro, DYNBEGIN) or a field/value row to GT_BDC (BDCDATA).
- SAP 객체: BDCDATA
- 업무 키워드: BDC 데이터, 화면 번호, 필드값, 배치인풋
- English: BDCDATA, Batch Input, Dynpro
- 정의부(복사 시 함께 필요):
C_X,GT_BDC - 위치:
abap://ZFIR0030/ZFICOM#L1242-L1250· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#DYNPRO#C1
FORM BDC_TRANSACTION — ZFICOM L1259-L1266 (8줄)
GT_BDC 데이터로 지정 T-Code 를 CALL TRANSACTION 하고 결과 메시지를 GT_MESS 에 받는 공통 BDC 실행 FORM 이다.
이 unit 의 조각 1개가 6/8줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[interface] BDC 실행 옵션(표시모드 GV_MODE, 갱신모드 A)을 CTU_PARAMS 에 설정하고 GT_BDC 로 P_TCODE 트랜잭션을 CALL TRANSACTION 해 결과 메시지를 GT_MESS 에 수집한다.
1260| CTU_PARAMS-DISMODE = GV_MODE.
1261| CTU_PARAMS-UPDMODE = C_A.
1262| * CTU_PARAMS-NOBINPT = C_X.
1263| * CTU_PARAMS-RACOMMIT = C_X.
1264| CALL TRANSACTION P_TCODE USING GT_BDC OPTIONS FROM CTU_PARAMS
1265| MESSAGES INTO GT_MESS.
- EN: Sets CTU_PARAMS (display mode GV_MODE, sync update) and runs CALL TRANSACTION for P_TCODE with GT_BDC, collecting messages into GT_MESS.
- 호출(파서): P_TCODE
- SAP 객체: BDCDATA, BDCMSGCOLL, CTU_PARAMS
- 업무 키워드: BDC 실행, 트랜잭션 호출, 처리 메시지, 표시모드
- English: Call Transaction, BDC, CTU_PARAMS
- 정의부(복사 시 함께 필요):
CTU_PARAMS,GV_MODE,C_A,GT_BDC,GT_MESS - 위치:
abap://ZFIR0030/ZFICOM#L1260-L1265· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#BDC_TRANSACTION#C1
FORM MESSAGE_SELECT — ZFICOM L1274-L1285 (12줄)
BDC 메시지(GT_MESS)의 ID·번호·변수를 MESSAGE_TEXT_BUILD 로 메시지 텍스트로 조립하는 공통 헬퍼다.
이 unit 의 조각 1개가 10/12줄(83%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] BDC 결과 메시지(GT_MESS)의 MSGID·MSGNR·MSGV1~4 를 MESSAGE_TEXT_BUILD 로 읽을 수 있는 메시지 텍스트로 만들어 로그 필드에 돌려준다.
1275| CALL FUNCTION 'MESSAGE_TEXT_BUILD'
1276| EXPORTING
1277| MSGID = GT_MESS-MSGID
1278| MSGNR = GT_MESS-MSGNR
1279| MSGV1 = GT_MESS-MSGV1
1280| MSGV2 = GT_MESS-MSGV2
1281| MSGV3 = GT_MESS-MSGV3
1282| MSGV4 = GT_MESS-MSGV4
1283| IMPORTING
1284| MESSAGE_TEXT_OUTPUT = P_NATXT.
- EN: Builds the readable message text from the BDC message fields (MSGID, MSGNR, MSGV1-4) in GT_MESS using MESSAGE_TEXT_BUILD.
- 호출(파서): MESSAGE_TEXT_BUILD
- SAP 객체: MESSAGE_TEXT_BUILD, BDCMSGCOLL
- 업무 키워드: BDC 메시지, 메시지 텍스트, 처리 로그
- English: BDC Message, MESSAGE_TEXT_BUILD, Message Log
- 정의부(복사 시 함께 필요):
GT_MESS - 위치:
abap://ZFIR0030/ZFICOM#L1275-L1284· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#MESSAGE_SELECT#C1
FORM BDC_FK03 — ZFICOM L1294-L1318 (25줄)
구매처코드와 회사코드로 FK03 구매처 마스터 조회 화면을 BDC 로 호출한다.
이 unit 의 조각 1개가 18/25줄(72%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[interface] SAPMF02K 0106 화면에 구매처·회사코드와 조회 뷰 플래그를 BDC 로 채우고 CALL TRANSACTION FK03 으로 구매처 마스터를 표시한다.
1299| PERFORM DYNPRO USING :
1300| 'X' 'SAPMF02K' '0106',
1301| ' ' 'BDC_OKCODE' '/00',
1302| ' ' 'RF02K-LIFNR' P_LIFNR,
1303| ' ' 'RF02K-BUKRS' P_BUKRS,
1304| ' ' 'RF02K-D0110' C_X,
1305| ' ' 'RF02K-D0120' C_X,
1306| ' ' 'RF02K-D0130' C_X,
1307| ' ' 'RF02K-D0210' C_X,
1308| ' ' 'RF02K-D0215' C_X,
1309| ' ' 'RF02K-D0215' C_X,
1310| ' ' 'RF02K-D0610' C_X.
1311|
1312| CTU_PARAMS-DISMODE = C_E.
1313| CTU_PARAMS-UPDMODE = C_A.
1314| CTU_PARAMS-NOBINPT = C_X.
1315| CTU_PARAMS-RACOMMIT = C_X.
1316| CALL TRANSACTION 'FK03' USING GT_BDC OPTIONS FROM CTU_PARAMS.
- EN: Builds BDC data for screen SAPMF02K 0106 (vendor, company code, view flags) and calls transaction FK03 to display the vendor master.
- 호출(파서): DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, DYNPRO, FK03
- SAP 객체: FK03, SAPMF02K, LFA1
- 업무 키워드: 구매처 조회, 구매처 마스터, BDC, 회사코드
- English: Vendor Master, BDC, Call Transaction
- 정의부(복사 시 함께 필요):
C_X,CTU_PARAMS,C_E,C_A,GT_BDC - 위치:
abap://ZFIR0030/ZFICOM#L1299-L1316· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#BDC_FK03#C1
FORM CALL_TRANSACTION_FB03 — ZFICOM L1328-L1336 (9줄)
회사코드·전표번호·회계연도를 파라미터 ID 로 넘겨 FB03 회계전표 조회 화면을 호출한다.
이 unit 의 조각 1개가 5/9줄(56%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] 전표번호가 있으면 SET PARAMETER ID(BLN/BUK/GJR) 로 키를 넘기고 FB03 트랜잭션을 첫 화면 건너뛰기로 호출해 회계전표를 조회한다.
1331| CHECK P_BELNR IS NOT INITIAL.
1332| SET PARAMETER ID 'BLN' FIELD P_BELNR.
1333| SET PARAMETER ID 'BUK' FIELD P_BUKRS.
1334| SET PARAMETER ID 'GJR' FIELD P_GJAHR.
1335| CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
- EN: Sets parameter IDs BLN/BUK/GJR and calls transaction FB03 with SKIP FIRST SCREEN to display the accounting document.
- 호출(파서): FB03
- SAP 객체: FB03, BKPF
- 업무 키워드: 회계전표 조회, 전표번호, 회사코드, 회계연도
- English: Accounting Document, Display Document, FB03
- 위치:
abap://ZFIR0030/ZFICOM#L1331-L1335· confidence 0.95 ·ZFIR0030#ZFICOM#FORM#CALL_TRANSACTION_FB03#C1
FORM STATUS_BAR — ZFICOM L1345-L1366 (22줄)
처리 진행률을 계산해 SAPGUI 상태바에 진행 상황 텍스트를 표시하는 공통 유틸리티다.
이 unit 의 조각 1개가 16/22줄(73%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] 텍스트가 없으면 GV_INDEX/GV_TABIN 으로 진행률(%)을 계산해 SAPGUI_PROGRESS_INDICATOR 로 상태바에 처리 진행 상황을 표시한다.
1350| IF P_TXT EQ SPACE.
1351| GV_INDEX = GV_INDEX + 1.
1352| GV_KBETR = GV_INDEX / GV_TABIN * 100.
1353| CONCATENATE GV_INDEX '/' GV_TABIN '=====>' GV_KBETR '% Processing...'
1354| INTO LV_TEXT SEPARATED BY SPACE.
1355| CONDENSE GV_KBETR.
1356| LV_PCEN = GV_KBETR.
1357| ELSE.
1358| LV_TEXT = P_TXT.
1359| LV_PCEN = P_PCT.
1360| ENDIF.
1361|
1362| CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
1363| EXPORTING
1364| PERCENTAGE = LV_PCEN
1365| TEXT = LV_TEXT.
- EN: Calculates the processing percentage from GV_INDEX/GV_TABIN and shows a progress indicator via SAPGUI_PROGRESS_INDICATOR.
- 호출(파서): SAPGUI_PROGRESS_INDICATOR
- SAP 객체: SAPGUI_PROGRESS_INDICATOR
- 업무 키워드: 진행률, 상태바, 처리건수, 진행표시
- English: Progress Indicator, Status Bar
- 정의부(복사 시 함께 필요):
GV_INDEX,GV_KBETR,GV_TABIN,LV_TEXT,LV_PCEN - 위치:
abap://ZFIR0030/ZFICOM#L1350-L1365· confidence 0.9 ·ZFIR0030#ZFICOM#FORM#STATUS_BAR#C1
FORM RECEIVE_AR — ZFIR0030F01 L86-L126 (41줄)
인터페이스 공통 로그 키를 발급받은 뒤 RFC 목적지 ZFI01 의 Z_FI_SAVE_AR 을 호출해 매출채권·입금 내역을 GT_INFO 로 수신하는 FORM 이다.
이 unit 의 조각 2개가 29/41줄(71%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[fm_call] Z_IF_GET_UNQKEY 로 프로그램·모듈(FI) 기준 인터페이스 공통 로그 고유키(ZIFS0010)를 발급받고 오류 메시지가 있으면 처리를 중단한다.
93| CALL FUNCTION 'Z_IF_GET_UNQKEY'
94| EXPORTING
95| I_PGMID = SY-REPID
96| I_MODUL = 'FI'
97| IMPORTING
98| E_MESSG = LV_MESSG
99| ES_CMLOG = LS_CMLOG.
100|
101| IF LV_MESSG NE SPACE.
102| MESSAGE S000 WITH LV_MESSG DISPLAY LIKE C_E.
103| LEAVE LIST-PROCESSING.
104| ELSE.
105| APPEND LS_CMLOG TO LT_CMLOG.
106| ENDIF.
- EN: Obtains the interface common-log unique key via Z_IF_GET_UNQKEY and aborts if an error message is returned.
- 호출(파서): Z_IF_GET_UNQKEY
- SAP 객체: Z_IF_GET_UNQKEY, ZIFS0010
- 업무 키워드: 인터페이스 로그, 고유키 발급, 공통 로그
- English: Interface Log, Unique Key
- 정의부(복사 시 함께 필요):
LV_MESSG,LS_CMLOG,C_E,LT_CMLOG - 위치:
abap://ZFIR0030/ZFIR0030F01#L93-L106· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#RECEIVE_AR#C1
[interface] RFC 목적지 ZFI01 로 Z_FI_SAVE_AR 을 호출해 매출채권·입금 내역을 GT_INFO 에 수신하고 수신 데이터가 없으면 메시지 후 처리를 종료한다.
110| CALL FUNCTION 'Z_FI_SAVE_AR'
111| DESTINATION 'ZFI01'
112| TABLES
113| ET_INFO = GT_INFO
114| IT_CMLOG = LT_CMLOG
115| EXCEPTIONS
116| SYSTEM_FAILURE = 1
117| COMMUNICATION_FAILURE = 2
118| OTHERS = 3.
119|
120| IF GT_INFO[] IS INITIAL.
121| MESSAGE S000 WITH '전송받은데이터가 존재하지 않습니다.'
122| DISPLAY LIKE C_E.
123| LEAVE LIST-PROCESSING.
124| ENDIF.
- EN: Calls RFC Z_FI_SAVE_AR on destination ZFI01 to receive AR and receipt data into GT_INFO, stopping if nothing was received.
- 호출(파서): Z_FI_SAVE_AR
- SAP 객체: Z_FI_SAVE_AR, ZFI01
- 업무 키워드: 매출채권 수신, 입금 내역, RFC 호출, 인터페이스
- English: RFC, Accounts Receivable, Interface Inbound
- 정의부(복사 시 함께 필요):
GT_INFO,LT_CMLOG,C_E - 위치:
abap://ZFIR0030/ZFIR0030F01#L110-L124· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#RECEIVE_AR#C2
FORM CHECK_DATA — ZFIR0030F01 L184-L405 (222줄)
수신한 매출·입금 데이터(GT_INFO)에 대해 매핑 테이블·고객 마스터·통화키를 조회한 뒤 필수값·도메인값·고객코드·손익센터·계정매핑·통화를 검증하고 결과를 GT_Z0060/GT_RESULT 에 적재하는 FORM 이다.
이 unit 의 조각 5개가 164/222줄(74%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[sql_select] 수신 건의 회사코드·거래유형·결제유형·통화로 손익센터/오더 매핑(ZFIT0040), 거래유형별 계정매핑(ZFIT0070), 결제유형별 계정매핑(ZFIT0080), 통화키(TCURC)를 FOR ALL ENTRIES 로 읽어 검증용 내부테이블을 준비한다.
192| SELECT *
193| INTO TABLE GT_Z0040
194| FROM ZFIT0040
195| FOR ALL ENTRIES IN GT_INFO
196| WHERE BUKRS EQ GT_INFO-BUKRS.
197|
198| * 거래유형별 계정 매핑내역 추출
199| SELECT *
200| INTO TABLE GT_Z0070
201| FROM ZFIT0070
202| FOR ALL ENTRIES IN GT_INFO
203| WHERE BUKRS EQ GT_INFO-BUKRS
204| AND BTYPE EQ GT_INFO-BTYPE.
205|
206| * 결제유형별 계정 매핑내역 추출
207| SELECT *
208| INTO TABLE GT_Z0080
209| FROM ZFIT0080
210| FOR ALL ENTRIES IN GT_INFO
211| WHERE BUKRS EQ GT_INFO-BUKRS
212| AND PTYPE EQ GT_INFO-PTYPE.
213|
214| * 통화키
215| SELECT *
216| INTO TABLE GT_TCURC
217| FROM TCURC
218| FOR ALL ENTRIES IN GT_INFO
219| WHERE WAERS EQ GT_INFO-WAERS.
- EN: Reads profit-center/order mapping ZFIT0040, business-type account mapping ZFIT0070, payment-type mapping ZFIT0080 and currency keys TCURC for all interface rows.
- 테이블(파서): read ZFIT0040, ZFIT0070, ZFIT0080, TCURC / write -
- SAP 객체: ZFIT0040, ZFIT0070, ZFIT0080, TCURC
- 업무 키워드: 손익센터 매핑, 계정 매핑, 거래유형, 결제유형, 통화키
- English: Profit Center Mapping, Account Determination, Currency Key
- 정의부(복사 시 함께 필요):
ZFIT0040,GT_Z0040,GT_INFO,ZFIT0070,GT_Z0070,ZFIT0080,GT_Z0080,TCURC,GT_TCURC - 위치:
abap://ZFIR0030/ZFIR0030F01#L192-L219· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#CHECK_DATA#C1
[sql_select] KNB1 에서 이전 계정번호(ALTKN)로 고객코드·지점 고객코드(GSBER2)·예수금 거래처(ALTKN2)에 해당하는 SAP 고객번호(KUNNR)를 조회해 GT_KNB1 에 모은다.
222| SELECT BUKRS KUNNR ALTKN
223| INTO TABLE GT_KNB1
224| FROM KNB1
225| FOR ALL ENTRIES IN GT_INFO
226| WHERE BUKRS EQ GT_INFO-BUKRS
227| AND ALTKN EQ GT_INFO-ALTKN.
228| * 고객코드(지점) 추출
229| SELECT BUKRS KUNNR ALTKN
230| APPENDING TABLE GT_KNB1
231| FROM KNB1
232| FOR ALL ENTRIES IN GT_INFO
233| WHERE BUKRS EQ GT_INFO-BUKRS
234| AND ALTKN EQ GT_INFO-GSBER2.
235| * 에수금거래처 추출
236| SELECT BUKRS KUNNR ALTKN
237| APPENDING TABLE GT_KNB1
238| FROM KNB1
239| FOR ALL ENTRIES IN GT_INFO
240| WHERE BUKRS EQ GT_INFO-BUKRS
241| AND ALTKN EQ GT_INFO-ALTKN2.
- EN: Looks up SAP customer numbers in KNB1 by previous account number (ALTKN) for the customer, branch customer and deposit partner.
- 테이블(파서): read KNB1 / write -
- SAP 객체: KNB1
- 업무 키워드: 고객 마스터, 이전계정번호, 지점 고객, 예수금 거래처
- English: Customer Master, Previous Account Number, Company Code Data
- 정의부(복사 시 함께 필요):
GT_KNB1,KNB1,GT_INFO - 위치:
abap://ZFIR0030/ZFIR0030F01#L222-L241· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#CHECK_DATA#C2
[validation] 수신 건마다 필수 필드(회사코드·처리일·발생취소구분·거래유형·결제유형·통화·지점) 누락과 도메인 ZDGUBUN/ZDBTYPE2/ZDPTYPE/ZDPFLAG 허용값 여부를 검사해 오류 시 상태 E 와 메시지를 GT_Z0060/GS_RESULT 에 기록한다.
244| LOOP AT GT_INFO INTO GS_INFO.
245| CLEAR GV_ERR.
246| MOVE-CORRESPONDING: GS_INFO TO GT_Z0060,
247| GS_INFO TO GS_RESULT.
248| * 필수입력값 체크
249| IF GS_INFO-BUKRS IS INITIAL OR GS_INFO-PRC_DT IS INITIAL OR
250| GS_INFO-GUBUN IS INITIAL OR GS_INFO-BTYPE IS INITIAL OR
251| GS_INFO-PTYPE IS INITIAL OR GS_INFO-WAERS IS INITIAL OR
252| GS_INFO-GSBER2 IS INITIAL.
253| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
254| GS_RESULT-MESSG = GT_Z0060-MESSG = '필수입력필드 입력 누락'.
255| GV_ERR = 'X'.
256| ENDIF.
257|
258| * 발생취소구분
259| IF GV_ERR EQ SPACE.
260| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDGUBUN'
261| DOMVALUE_L = GS_INFO-GUBUN.
262| IF SY-SUBRC NE 0.
263| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
264| GS_RESULT-MESSG = GT_Z0060-MESSG = '발생/취소 구분필드 오류'.
265| GV_ERR = 'X'.
266| ENDIF.
267| ENDIF.
268|
269| * 거래유형
270| IF GV_ERR EQ SPACE.
271| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDBTYPE2'
272| DOMVALUE_L = GS_INFO-BTYPE.
273| IF SY-SUBRC NE 0.
274| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
275| GS_RESULT-MESSG = GT_Z0060-MESSG = '거래유형필드 오류'.
276| GV_ERR = 'X'.
277| ENDIF.
278| ENDIF.
279|
280| * 결제유형
281| IF GV_ERR EQ SPACE.
282| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDPTYPE'
283| DOMVALUE_L = GS_INFO-PTYPE.
284| IF SY-SUBRC NE 0.
285| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
286| GS_RESULT-MESSG = GT_Z0060-MESSG = '결제유형필드 오류'.
287| GV_ERR = 'X'.
288| ENDIF.
289| ENDIF.
290|
291| * 결제시점(결재유형이 매출(90)이 아닌 경우에만)
292| IF GV_ERR EQ SPACE AND GS_INFO-PTYPE NE '90'.
293| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDPFLAG'
294| DOMVALUE_L = GS_INFO-PFLAG.
295| IF SY-SUBRC NE 0.
296| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
297| GS_RESULT-MESSG = GT_Z0060-MESSG = '결제시점필드 오류'.
298| GV_ERR = 'X'.
299| ENDIF.
300| ENDIF.
- EN: Validates mandatory fields and domain values (reversal flag, business type, payment type, payment timing) for each interface row, marking errors with status E and a message.
- SAP 객체: ZDGUBUN, ZDBTYPE2, ZDPTYPE, ZDPFLAG
- 업무 키워드: 필수값 검증, 도메인 값 검증, 발생/취소 구분, 거래유형, 결제유형
- English: Mandatory Field Check, Domain Value Check, Validation
- 정의부(복사 시 함께 필요):
GT_INFO,GS_INFO,GV_ERR,ZFIT0060,GT_Z0060,GS_RESULT,C_E,GT_DOMAIN - 위치:
abap://ZFIR0030/ZFIR0030F01#L244-L300· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#CHECK_DATA#C3
[validation] 지점·예수금·일반 고객코드를 KNB1 조회 결과로 KUNNR2/KUNNR3/KUNNR 에 매핑하고 손익센터·오더·사업장·코스트센터(ZFIT0040), 전표유형·계정(ZFIT0070), 결제유형 계정매핑(ZFIT0080), 통화키(TCURC) 존재를 검증해 누락 시 오류 상태와 메시지를 기록한다.
259| IF GV_ERR EQ SPACE.
260| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDGUBUN'
261| DOMVALUE_L = GS_INFO-GUBUN.
262| IF SY-SUBRC NE 0.
263| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
264| GS_RESULT-MESSG = GT_Z0060-MESSG = '발생/취소 구분필드 오류'.
265| GV_ERR = 'X'.
266| ENDIF.
267| ENDIF.
268|
269| * 거래유형
270| IF GV_ERR EQ SPACE.
271| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDBTYPE2'
272| DOMVALUE_L = GS_INFO-BTYPE.
273| IF SY-SUBRC NE 0.
274| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
275| GS_RESULT-MESSG = GT_Z0060-MESSG = '거래유형필드 오류'.
276| GV_ERR = 'X'.
277| ENDIF.
278| ENDIF.
279|
280| * 결제유형
281| IF GV_ERR EQ SPACE.
282| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDPTYPE'
283| DOMVALUE_L = GS_INFO-PTYPE.
284| IF SY-SUBRC NE 0.
285| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
286| GS_RESULT-MESSG = GT_Z0060-MESSG = '결제유형필드 오류'.
287| GV_ERR = 'X'.
288| ENDIF.
289| ENDIF.
290|
291| * 결제시점(결재유형이 매출(90)이 아닌 경우에만)
292| IF GV_ERR EQ SPACE AND GS_INFO-PTYPE NE '90'.
293| READ TABLE GT_DOMAIN WITH KEY DOMNAME = 'ZDPFLAG'
294| DOMVALUE_L = GS_INFO-PFLAG.
295| IF SY-SUBRC NE 0.
296| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
297| GS_RESULT-MESSG = GT_Z0060-MESSG = '결제시점필드 오류'.
298| GV_ERR = 'X'.
299| ENDIF.
300| ENDIF.
301|
302| * 지점고객코드 체크
303| IF GV_ERR EQ SPACE.
304| READ TABLE GT_KNB1 WITH KEY BUKRS = GS_INFO-BUKRS
305| ALTKN = GS_INFO-GSBER2.
306| IF SY-SUBRC EQ 0.
307| GT_Z0060-KUNNR2 = GT_KNB1-KUNNR.
308| ELSE.
309| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
310| GS_RESULT-MESSG = GT_Z0060-MESSG = '해당 고객코드 마스터 미생성'.
311| GV_ERR = 'X'.
312| ENDIF.
313| ENDIF.
314|
315| * 예수금거래처 체크
316| IF GV_ERR EQ SPACE AND GS_INFO-ALTKN2 NE SPACE.
317| READ TABLE GT_KNB1 WITH KEY BUKRS = GS_INFO-BUKRS
318| ALTKN = GS_INFO-ALTKN2.
319| IF SY-SUBRC EQ 0.
320| GT_Z0060-KUNNR3 = GT_KNB1-KUNNR.
321| ELSE.
322| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
323| GS_RESULT-MESSG = GT_Z0060-MESSG = '예수금 거래처 마스터 미생성'.
324| GV_ERR = 'X'.
325| ENDIF.
326| ENDIF.
327|
328| * 사업영역&사업장
329| IF GV_ERR EQ SPACE.
330| READ TABLE GT_Z0040 WITH KEY BUKRS = GS_INFO-BUKRS
331| GSBER2 = GS_INFO-GSBER2(7).
332| IF SY-SUBRC EQ 0.
333| GT_Z0060-PRCTR = GT_Z0040-PRCTR.
334| GT_Z0060-AUFNR = GT_Z0040-ZAUFNR2.
335| GT_Z0060-BUPLA = GT_Z0040-BUPLA.
336| GT_Z0060-KOSTL = GT_Z0040-KOSTL.
337| ELSE.
338| GS_RESULT-STATS = GT_Z0060-STATS = C_E.
339| GS_RESULT-MESSG = GT_Z0060-MESSG = '손익센터 매핑 누락'.
340| GV_ERR = 'X'.
341| ENDIF.
342| ENDIF.
343|
344| * 거래유형에 따른 계정매핑
345| IF GV_ERR EQ SPACE.
346| READ TABLE GT_Z0070 WITH KEY BUKRS = GS_INFO-BUKRS
347| BTYPE = GS_INFO-BTYPE.
348| IF SY-SUBRC EQ 0.
- EN: Maps customer numbers and derives profit center, order, business place, cost center, document type and G/L accounts from mapping tables, flagging missing master or mapping entries as errors.
- SAP 객체: KNB1, ZFIT0040, ZFIT0070, ZFIT0080, TCURC
- 업무 키워드: 고객코드 매핑, 손익센터, 계정 결정, 전표유형, 통화키 검증
- English: Customer Mapping, Profit Center, Account Determination, Document Type
- 정의부(복사 시 함께 필요):
GV_ERR,GT_DOMAIN,GS_INFO,GS_RESULT,ZFIT0060,GT_Z0060,C_E,GT_KNB1,ZFIT0040,GT_Z0040,ZFIT0070,GT_Z0070 - 위치:
abap://ZFIR0030/ZFIR0030F01#L259-L348· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#CHECK_DATA#C4
[calculation] CHANGE_CURRENCY_SAP 매크로로 금액·과세표준·세액을 통화 소수점에 맞게 SAP 내부 금액으로 변환하고 생성일시·생성자를 채워 GT_Z0060 과 GT_RESULT 에 추가한다.
393| * 금액컨버트
394| CHANGE_CURRENCY_SAP GS_INFO-DMBTR GT_Z0060-DMBTR_C GS_INFO-WAERS.
395| CHANGE_CURRENCY_SAP GS_INFO-HWBAS GT_Z0060-HWBAS_C GS_INFO-WAERS.
396| CHANGE_CURRENCY_SAP GS_INFO-MWSTS GT_Z0060-MWSTS_C GS_INFO-WAERS.
397|
398| GT_Z0060-CDATE = SY-DATUM.
399| GT_Z0060-CTIME = SY-UZEIT.
400| GT_Z0060-CNAME = SY-UNAME.
401| APPEND GT_Z0060. CLEAR GT_Z0060.
402| APPEND GS_RESULT TO GT_RESULT. CLEAR GS_RESULT.
403| ENDLOOP.
- EN: Converts amount, tax base and tax to SAP internal currency format, stamps creation info and appends the row to GT_Z0060 and GT_RESULT.
- SAP 객체: GT_Z0060, GT_RESULT
- 업무 키워드: 금액 변환, 통화 소수점, 생성 정보
- English: Currency Conversion, Amount Format
- 정의부(복사 시 함께 필요):
CHANGE_CURRENCY_SAP,GS_INFO,ZFIT0060,GT_Z0060,GS_RESULT,GT_RESULT - 위치:
abap://ZFIR0030/ZFIR0030F01#L393-L403· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#CHECK_DATA#C5
FORM POSTING_DOCUMENT — ZFIR0030F01 L510-L592 (83줄)
오류 없는 매출·입금 수신 건마다 거래유형(BTYPE)별 전표 아이템 생성 FORM 으로 분기한 뒤 헤더를 만들고 FB01 BDC 로 전기하여 결과를 GT_Z0060/GT_RESULT 및 ZFIT0060 에 기록하는 FORM 이다.
이 unit 의 조각 3개가 72/83줄(87%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[control_flow] 상태가 정상인 수신 건을 돌며 재전송 결과(GT_RESULT)와 결제유형별 계정매핑(GT_Z0080)을 읽고 취소(C_R) 건이면 반전 전기 플래그 GV_XNEGP 를 세운다.
515| LOOP AT GT_Z0060 WHERE STATS EQ SPACE.
516| CLEAR: GV_XNEGP, LV_INDEX, GT_BBSEG[], GT_BBSEG.
517| * 전송할 데이터..READ
518| READ TABLE GT_RESULT WITH KEY BUKRS = GT_Z0060-BUKRS
519| PRC_DT = GT_Z0060-PRC_DT
520| SEQ = GT_Z0060-SEQ.
521|
522| * 결제유형에 따른 계정매핑 값..
523| READ TABLE GT_Z0080 WITH KEY BUKRS = GT_Z0060-BUKRS
524| PTYPE = GT_Z0060-PTYPE.
525|
526| * 발생취소구분
527| IF GT_Z0060-GUBUN EQ C_R.
528| GV_XNEGP = C_X.
529| ENDIF.
- EN: Loops over error-free interface rows, reads the result and payment-type account mapping entries and sets the negative posting flag for reversal rows.
- SAP 객체: GT_Z0060, GT_Z0080, ZFIT0080
- 업무 키워드: 정상 건 선별, 결제유형 계정매핑, 반전 전기
- English: Negative Posting, Payment Type Mapping
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_XNEGP,LV_INDEX,GT_BBSEG,GT_RESULT,ZFIT0080,GT_Z0080,C_R,C_X - 위치:
abap://ZFIR0030/ZFIR0030F01#L515-L529· confidence 0.8 ·ZFIR0030#ZFIR0030F01#FORM#POSTING_DOCUMENT#C1
[control_flow] 거래유형 BTYPE(B01 상품매출, B03B15 모바일/PC 판매, B31B37 서비스매출, B51 임대, B53 이통예수금, B55/B57 이통대납금)별로 PROCESS_B01/B03/B53/B55 전표 아이템 생성 로직으로 분기한다.
532| CASE GT_Z0060-BTYPE.
533| WHEN 'B01'. "상품매출
534| PERFORM PROCESS_B01.
535| WHEN 'B03'. "모바일판매_모바일상품
536| PERFORM PROCESS_B03.
537| WHEN 'B05'. "모바일판매_모바일할부
538| PERFORM PROCESS_B03.
539| WHEN 'B07'. "모바일판매_USIM할부
540| PERFORM PROCESS_B03.
541| WHEN 'B09'. "모바일판매_모바일악세서리
542| PERFORM PROCESS_B03.
543| WHEN 'B11'. "모바일판매_통신사고객장려금(미수금)
544| PERFORM PROCESS_B03.
545| WHEN 'B13'. "PC판매-PC할부
546| PERFORM PROCESS_B03.
547| WHEN 'B15'. "PC판매-미수금-PC
548| PERFORM PROCESS_B03.
549| WHEN 'B31'. "서비스매출-SVC대행수수료용역
550| PERFORM PROCESS_B01.
551| WHEN 'B33'. "서비스매출-물류대행용역(공동물류)
552| PERFORM PROCESS_B03.
553| WHEN 'B35'. "서비스매출-SVC유료수익금
554| PERFORM PROCESS_B03.
555| WHEN 'B37'. "서비스매출-물류이전설치
556| PERFORM PROCESS_B03.
557| WHEN 'B51'. "임대을
558| PERFORM PROCESS_B01.
559| WHEN 'B53'. "이통예수금
560| PERFORM PROCESS_B53.
561| WHEN 'B55'. "이통대납금-가입비
562| PERFORM PROCESS_B55.
563| WHEN 'B57'. "이통대납금-위약금
564| PERFORM PROCESS_B55.
565| * WHEN 'B59'. "장려금-판매장려금(구매정산)
566| * PERFORM PROCESS_B59.
567| * WHEN 'B61'. "장려금-매입장려금(구매정산)
568| * PERFORM PROCESS_B59.
569| * WHEN 'B63'. "장려금-설치수수료(구매정산)
570| * PERFORM PROCESS_B63.
571| WHEN OTHERS.
572| ENDCASE.
- EN: Dispatches by business type (goods sales, mobile/PC sales, service revenue, rental, telecom deposit, telecom payment) to the matching PROCESS_Bxx line-item builder.
- 호출(파서): PROCESS_B01, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B01, PROCESS_B03, PROCESS_B03, PROCESS_B03, PROCESS_B01, PROCESS_B53, PROCESS_B55, PROCESS_B55
- SAP 객체: GT_Z0060
- 업무 키워드: 거래유형, 상품매출, 모바일판매, 서비스매출, 이통예수금, 이통대납금
- English: Business Type, Sales Posting, Line Item
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060 - 위치:
abap://ZFIR0030/ZFIR0030F01#L532-L572· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#POSTING_DOCUMENT#C2
[db_write] MAKE_BKPF 로 전표 헤더를 만들고 BDC_TRANSACTION_FB01 로 FB01 전기 후 상태·메시지를 GT_Z0060 과 재전송용 GT_RESULT 에 반영하고 루프 종료 후 MODIFY ZFIT0060 으로 CBO 테이블에 저장한다.
575| PERFORM MAKE_BKPF USING GV_BUDAT.
576| * 전표생성 Function Call
577| PERFORM BDC_TRANSACTION_FB01.
578|
579| MODIFY GT_Z0060.
580|
581| * 재전송데이터 UPDATE
582| MODIFY GT_RESULT TRANSPORTING STATS MESSG
583| WHERE PRC_DT EQ GT_Z0060-PRC_DT
584| AND SEQ EQ GT_Z0060-SEQ.
585| ENDLOOP.
586|
587| * CBO테이블에 저장
588| IF GT_Z0060[] IS NOT INITIAL.
589| MODIFY ZFIT0060 FROM TABLE GT_Z0060.
590| ENDIF.
- EN: Builds the document header, posts via FB01 BDC, updates status/message in GT_Z0060 and GT_RESULT, and finally saves all rows to CBO table ZFIT0060.
- 테이블(파서): read - / write ZFIT0060
- 호출(파서): MAKE_BKPF, BDC_TRANSACTION_FB01
- SAP 객체: FB01, ZFIT0060, GT_RESULT
- 업무 키워드: 전표 헤더, FB01 전기, 결과 저장, 재전송 데이터
- English: Document Header, BDC Posting, CBO Table Update
- 정의부(복사 시 함께 필요):
GV_BUDAT,ZFIT0060,GT_Z0060,GT_RESULT - 위치:
abap://ZFIR0030/ZFIR0030F01#L575-L590· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#POSTING_DOCUMENT#C3
FORM PROCESS_B59 — ZFIR0030F01 L1273-L1303 (31줄)
판매장려금(구매정산, B59) 매출 건에 대해 발생/취소 구분에 따라 전기키를 정하고 채권 라인과 수익 라인 두 개의 전표 아이템을 MAKE_BSEG 로 생성하는 FORM 이다.
이 unit 의 조각 1개가 25/31줄(81%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 결제유형 90(매출)일 때 매출일자를 전기일로 두고 발생(C_N)이면 전기키 01/50, 취소면 11/40 으로 하여 거래처 채권계정(HKONT) 라인과 수익계정(HKONT2) 라인을 MAKE_BSEG 로 만든다.
1277| CASE GT_Z0060-PTYPE.
1278| WHEN '90'. "매출
1279| GV_BUDAT = GT_Z0060-SADAT. "매출일자
1280| * 발생취소구분에따라..
1281| IF GT_Z0060-GUBUN EQ C_N.
1282| LV_NEWBS = '01'.
1283| LV_NEWBS2 = '50'.
1284| ELSE.
1285| LV_NEWBS = '11'.
1286| LV_NEWBS2 = '40'.
1287| ENDIF.
1288| * 전표 아이템_1
1289| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1290| GT_Z0060-KUNNR "거래처
1291| GT_Z0060-DMBTR "금액
1292| GV_BUDAT "지정-매출일자
1293| GT_Z0060-HKONT. "채권채무계정
1294| * 전표 아이템_2
1295| PERFORM MAKE_BSEG USING LV_NEWBS2
1296| GT_Z0060-HKONT2 "수익비용계정
1297| GT_Z0060-DMBTR "금액
1298| GV_BUDAT "지정-매출일자
1299| SPACE. "GL계정
1300| WHEN OTHERS.
1301| ENDCASE.
- EN: For sales (PTYPE 90) sets posting keys 01/50 (or 11/40 for reversal) and builds the customer receivable line and the revenue line via MAKE_BSEG for the sales incentive.
- 호출(파서): MAKE_BSEG, MAKE_BSEG
- SAP 객체: BBSEG, GT_Z0060
- 업무 키워드: 판매장려금, 전기키, 발생/취소, 채권계정, 수익계정
- English: Posting Key, Sales Incentive, Customer Line, Revenue Line
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS,LV_NEWBS2 - 위치:
abap://ZFIR0030/ZFIR0030F01#L1277-L1301· confidence 0.9 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B59#C1
FORM PROCESS_B63 — ZFIR0030F01 L1309-L1332 (24줄)
설치수수료(구매정산, B63) 매출 건에 대해 고객 채권 라인을 만들고 MAKE_BSEG_TX 로 세금 포함 수익 라인을 생성하는 FORM 이다.
이 unit 의 조각 1개가 18/24줄(75%)을 덮는다. 나머지는 선언·화면설정 등 업무 의미가 없다고 판단해 버린 구간이다.
[calculation] 결제유형 90(매출)일 때 발생이면 전기키 01, 취소면 11 로 고객(KUNNR) 채권계정 라인을 접수일자 기준으로 MAKE_BSEG 로 만들고 MAKE_BSEG_TX 로 수익·세금 라인을 추가한다.
1313| CASE GT_Z0060-PTYPE.
1314| WHEN '90'. "매출
1315| GV_BUDAT = GT_Z0060-SADAT. "매출일자
1316| * 발생취소구분에따라..
1317| IF GT_Z0060-GUBUN EQ C_N.
1318| LV_NEWBS = '01'.
1319| ELSE.
1320| LV_NEWBS = '11'.
1321| ENDIF.
1322| * 전표 아이템_1
1323| PERFORM MAKE_BSEG USING LV_NEWBS "전기키
1324| GT_Z0060-KUNNR "고객
1325| GT_Z0060-DMBTR "금액
1326| GT_Z0060-RCDAT "지정-접수일자
1327| GT_Z0060-HKONT. "채권채무계정
1328| * 전표 아이템_2&3
1329| PERFORM MAKE_BSEG_TX.
1330| ENDCASE.
- EN: For sales (PTYPE 90) posts the customer receivable line with key 01/11 via MAKE_BSEG and adds revenue and tax lines via MAKE_BSEG_TX.
- 호출(파서): MAKE_BSEG, MAKE_BSEG_TX
- SAP 객체: BBSEG, GT_Z0060
- 업무 키워드: 설치수수료, 전기키, 고객 채권, 세금 라인
- English: Posting Key, Customer Receivable, Tax Line
- 정의부(복사 시 함께 필요):
ZFIT0060,GT_Z0060,GV_BUDAT,C_N,LV_NEWBS - 위치:
abap://ZFIR0030/ZFIR0030F01#L1313-L1330· confidence 0.85 ·ZFIR0030#ZFIR0030F01#FORM#PROCESS_B63#C1
정의부 (320건)
로직 조각을 다른 프로그램으로 옮겨 붙일 때 함께 가야 하는 선언이다. 조각별로 무엇이 필요한지는 위 조각 항목의 정의부 줄에 있고(이름을 누르면 여기로 온다), 붙여넣기용으로 의존까지 묶은 코드는 GET /chunks/<chunk_id> 의 declaration_code 로 받는다.
ZFIALV (76건)
SLIS — type-pool · L7-L7
TYPE-POOLS : SLIS.
LCL_EVENT_RECEIVER — class · L10-L20
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS :
HANDLE_CLOSE
FOR EVENT CLOSE OF CL_GUI_DIALOGBOX_CONTAINER
IMPORTING SENDER.
PRIVATE SECTION.
* 'X': does exist, SPACE: does not ex.
DATA : DIALOGBOX_STATUS TYPE C.
ENDCLASS. "lcl_event_receiver DEFINITION
GT_FIELDCAT — data · L37-L37
DATA : GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV. " WA
GT_FIELDCAT_HEAD — data · L38-L38
DATA:
GT_FIELDCAT_HEAD TYPE SLIS_T_FIELDCAT_ALV. " HEAD
GT_FIELDCAT_ITEM — data · L39-L39
DATA:
GT_FIELDCAT_ITEM TYPE SLIS_T_FIELDCAT_ALV. " ITEM
GT_FIELDCAT_FIELD — data · L40-L40
DATA:
GT_FIELDCAT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
GT_DROP — data · L41-L41
DATA:
GT_DROP TYPE LVC_T_DROP. " Drop-down
GT_DRAL — data · L42-L42
DATA:
GT_DRAL TYPE LVC_T_DRAL.
GT_SORTINFO — data · L43-L43
DATA:
GT_SORTINFO TYPE SLIS_T_SORTINFO_ALV. " SORT
GT_EVENT — data · L44-L44
DATA:
GT_EVENT TYPE SLIS_T_EVENT. " EVENT
GT_PRINT — data · L45-L45
DATA:
GT_PRINT TYPE SLIS_PRINT_ALV. " PRINT
GT_LISTHEADER — data · L46-L46
DATA:
GT_LISTHEADER TYPE SLIS_T_LISTHEADER. " TITLE
GT_CELLTAB — data · L47-L47
DATA:
GT_CELLTAB TYPE LVC_T_STYL.
GT_COLOR — data · L48-L48
DATA:
GT_COLOR TYPE LVC_T_SCOL.
GT_COLINFO — data · L49-L49
DATA:
GT_COLINFO TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.
GS_FIELDCAT_HEAD — data · L51-L51
DATA : GS_FIELDCAT_HEAD TYPE SLIS_FIELDCAT_ALV. " HEAD
GS_FIELDCAT_ITEM — data · L52-L52
DATA:
GS_FIELDCAT_ITEM TYPE SLIS_FIELDCAT_ALV. " ITEM
GS_DROP — data · L53-L53
DATA:
GS_DROP TYPE LVC_S_DROP. " Drop-down
GS_DRAL — data · L54-L54
DATA:
GS_DRAL TYPE LVC_S_DRAL.
GS_SORTINFO — data · L55-L55
DATA:
GS_SORTINFO TYPE SLIS_SORTINFO_ALV. " SORT
GS_EVENT — data · L56-L56
DATA:
GS_EVENT LIKE LINE OF GT_EVENT. " EVENT
GS_VARIANT — data · L57-L57
DATA:
GS_VARIANT LIKE DISVARIANT. " Layout
GS_DEF_VARIANT — data · L58-L58
DATA:
GS_DEF_VARIANT LIKE DISVARIANT. " Default Layout
GS_LAYOUT — data · L59-L59
DATA:
GS_LAYOUT TYPE SLIS_LAYOUT_ALV. " Layout
GS_EXIT_BY_USER — data · L60-L60
DATA:
GS_EXIT_BY_USER TYPE SLIS_EXIT_BY_USER.
GS_LISTHEADER — data · L61-L61
DATA:
GS_LISTHEADER TYPE SLIS_LISTHEADER. " TITLE
GS_KEYINFO — data · L62-L62
DATA:
GS_KEYINFO TYPE SLIS_KEYINFO_ALV.
GS_CELLTAB — data · L63-L63
DATA:
GS_CELLTAB TYPE LVC_S_STYL.
GS_COLOR — data · L64-L64
DATA:
GS_COLOR TYPE LVC_S_SCOL.
GS_GRIDSET — data · L65-L65
DATA:
GS_GRIDSET TYPE LVC_S_GLAY. " GRID SETTING
GV_REPID — data · L67-L67
DATA : GV_REPID TYPE SY-REPID. " Program-ID.
GV_PROGRAM — data · L68-L68
DATA:
GV_PROGRAM LIKE SY-REPID. " Program-ID
GV_INCLNAME — data · L69-L69
DATA:
GV_INCLNAME LIKE SY-REPID.
GV_GRID_TITLE — data · L70-L70
DATA:
GV_GRID_TITLE TYPE LVC_TITLE. " GRID TITLE
GV_VARIANT_EXIT — data · L71-L71
DATA:
GV_VARIANT_EXIT(1) TYPE C.
GV_SAVE — data · L72-L72
DATA:
GV_SAVE(1) TYPE C.
GV_TABNAME_HEAD — data · L73-L73
DATA:
GV_TABNAME_HEAD TYPE SLIS_TABNAME.
GV_TABNAME_ITEM — data · L74-L74
DATA:
GV_TABNAME_ITEM TYPE SLIS_TABNAME.
GV_PF_STATUS — data · L75-L75
DATA:
GV_PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_STATUS'.
GV_USER_COMMAND — data · L76-L76
DATA:
GV_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
GV_DATA_CHANGED — data · L77-L77
DATA:
GV_DATA_CHANGED TYPE SLIS_FORMNAME VALUE 'ALV_DATA_CHANGED'.
GV_TOP_OF_PAGE — data · L78-L78
DATA:
GV_TOP_OF_PAGE TYPE SLIS_FORMNAME.
GV_F2CODE — data · L79-L79
DATA:
GV_F2CODE LIKE SY-UCOMM VALUE 'PICK'.
GT_FCAT_HEAD — data · L81-L81
DATA : GT_FCAT_HEAD TYPE LVC_T_FCAT.
GT_FCAT_ITEM — data · L82-L82
DATA:
GT_FCAT_ITEM TYPE LVC_T_FCAT.
GS_FCAT_HEAD — data · L83-L83
DATA:
GS_FCAT_HEAD TYPE LVC_S_FCAT.
GS_FCAT_ITEM — data · L84-L84
DATA:
GS_FCAT_ITEM TYPE LVC_S_FCAT.
GS_LAYOUT_ON — data · L85-L85
DATA:
GS_LAYOUT_ON TYPE LVC_S_LAYO. " ALV_LAYOUT
GT_SORT — data · L86-L86
DATA:
GT_SORT TYPE LVC_T_SORT. " Sort
GS_SORT — data · L87-L87
DATA:
GS_SORT TYPE LVC_S_SORT. " Sort
GT_F4 — data · L88-L88
DATA:
GT_F4 TYPE LVC_T_F4.
GS_F4 — data · L89-L89
DATA:
GS_F4 TYPE LVC_S_F4. " F4
GS_ROW_ID — data · L90-L90
DATA:
GS_ROW_ID TYPE LVC_S_ROW. " Cursor
GS_COLUMN_ID — data · L91-L91
DATA:
GS_COLUMN_ID TYPE LVC_S_COL.
GT_EXCLUDING — data · L93-L93
DATA : GT_EXCLUDING TYPE SLIS_T_EXTAB.
GT_EVENT_EXIT — data · L94-L94
DATA:
GT_EVENT_EXIT TYPE SLIS_T_EVENT_EXIT.
GV_TOOLBAR — data · L96-L96
DATA : GV_TOOLBAR TYPE REF TO CL_GUI_TOOLBAR.
GV_TOP_NODE — data · L97-L97
DATA:
GV_TOP_NODE TYPE LVC_NKEY.
GV_ALV_TREE — data · L98-L98
DATA:
GV_ALV_TREE TYPE REF TO CL_GUI_ALV_TREE.
GV_ALV_ITEM — data · L99-L99
DATA:
GV_ALV_ITEM TYPE REF TO CL_GUI_ALV_GRID.
GT_ROW — data · L100-L100
DATA:
GT_ROW TYPE LVC_T_ROW. " SELLECTION INDEX
GT_ROID — data · L101-L101
DATA:
GT_ROID TYPE LVC_T_ROID.
GT_EXCLUDE — data · L102-L102
DATA:
GT_EXCLUDE TYPE UI_FUNCTIONS.
GS_EXCLUDE — data · L103-L103
DATA:
GS_EXCLUDE TYPE UI_FUNC.
DC_GRID — data · L105-L105
DATA : DC_GRID TYPE REF TO CL_GUI_DOCKING_CONTAINER.
CC_GRID — data · L106-L106
DATA:
CC_GRID TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
CC_GRID2 — data · L107-L107
DATA:
CC_GRID2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
CC_DIALOG — data · L108-L108
DATA:
CC_DIALOG TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER.
GV_EVENT_RECEIVER — data · L109-L109
DATA:
GV_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
GT_UCOMM — data · L111-L111
DATA : GT_UCOMM TYPE TABLE OF SY-UCOMM. "버튼제어
C_BDC01 — constants · L115-L115
CONSTANTS : C_BDC01(9) TYPE C VALUE 'Sequence'.
C_BDC02 — constants · L116-L116
CONSTANTS:
C_BDC02(9) TYPE C VALUE 'Field'.
C_BDC03 — constants · L117-L117
CONSTANTS:
C_BDC03(9) TYPE C VALUE 'Type'.
C_BDC04 — constants · L118-L118
CONSTANTS:
C_BDC04(9) TYPE C VALUE 'Length'.
C_BDC05 — constants · L119-L119
CONSTANTS:
C_BDC05(9) TYPE C VALUE 'Required'.
C_BDC06 — constants · L120-L120
CONSTANTS:
C_BDC06(9) TYPE C VALUE 'Example'.
ZFICOM (201건)
ICON — type-pool · L7-L7
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
KCDE — type-pool · L7-L7
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
SHLP — type-pool · L7-L7
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
TPIT — type-pool · L7-L7
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
VRM — type-pool · L7-L7
TYPE-POOLS : SHLP, KCDE, VRM, ICON, TPIT.
T001 — tables · L11-L11
TABLES : T001. " Company Codes
T005 — tables · L12-L12
TABLES:
T005. " Land
BKPF — tables · L13-L13
TABLES:
BKPF. " Accounting Document Heade
BSEG — tables · L14-L14
TABLES:
BSEG. " Accounting Document Segment
BSID — tables · L15-L15
TABLES:
BSID. " Accounting: Secondary Index for Customers
BSAD — tables · L16-L16
TABLES:
BSAD. " Accounting: Secondary Index for Customers
BSIK — tables · L18-L18
TABLES:
BSIK. " Accounting: Secondary Index for Vendors
BSAK — tables · L19-L19
TABLES:
BSAK. " Accounting: Secondary Index for Vendors
BSIS — tables · L21-L21
TABLES:
BSIS. " Accounting: Secondary Index for G/L Accounts
BSAS — tables · L22-L22
TABLES:
BSAS. " Accounting: Secondary Index for G/L Accounts
BSEC — tables · L24-L24
TABLES:
BSEC. " One-Time Account Data Document Segment
BSET — tables · L25-L25
TABLES:
BSET. " Tax Data Document Segment
BSED — tables · L26-L26
TABLES:
BSED. " n Bill of Exchange Fields Docume
VBKPF — tables · L27-L27
TABLES:
VBKPF. " Document Header for Document Parking
VBSEGS — tables · L28-L28
TABLES:
VBSEGS. " Document Segment for Document Parking
VBSEGD — tables · L30-L30
TABLES:
VBSEGD. " Document Segment for Customer Document Parking
VBSEGK — tables · L31-L31
TABLES:
VBSEGK. " Document Segment for Vendor Document Parking
VBSET — tables · L32-L32
TABLES:
VBSET. " Document Segment for Taxes Document Parking
VBSEC — tables · L33-L33
TABLES:
VBSEC. " Document Parking One-Time Data Document Segment
SKA1 — tables · L34-L34
TABLES:
SKA1. " G/L Account Master (Chart of Accounts)
SKB1 — tables · L35-L35
TABLES:
SKB1. " G/L account master (company code)
LFA1 — tables · L36-L36
TABLES:
LFA1. " Vendor Master (General Section)
LFB1 — tables · L37-L37
TABLES:
LFB1. " Vendor Master (Company Code)
KNA1 — tables · L38-L38
TABLES:
KNA1. " General Data in Customer Master
KNB1 — tables · L39-L39
TABLES:
KNB1. " Customer Master (Company Code)
ADRC — tables · L40-L40
TABLES:
ADRC. " Addresses (Business Address Services)
USR01 — tables · L41-L41
TABLES:
USR01. " User master record (runtime data)
USR05 — tables · L42-L42
TABLES:
USR05. " User Master Parameter ID
USR21 — tables · L43-L43
TABLES:
USR21. " Assign user name address key
ZFIT0160 — tables · L45-L45
TABLES:
ZFIT0160. " FI 권한 관리 테이블
CTU_PARAMS — tables · L48-L48
TABLES : CTU_PARAMS. "CALL TRANSACTION USING...
GT_SQL — data · L54-L54
DATA : GT_SQL(72) OCCURS 0 WITH HEADER LINE.
GT_FIELD — data · L56-L56
DATA : GT_FIELD LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.
GV_FIELD — data · L57-L57
DATA:
GV_FIELD LIKE HELP_INFO-FIELDNAME.
GV_VALUE — data · L58-L58
DATA:
GV_VALUE LIKE HELP_INFO-FLDVALUE.
GV_TABIX — data · L59-L59
DATA:
GV_TABIX LIKE SY-TABIX.
GT_SHLP — data · L61-L61
DATA : GT_SHLP TYPE SHLP_DESCR_T.
GT_DYNFIELDS — data · L63-L63
DATA : GT_DYNFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
GT_RETVALUES — data · L64-L64
DATA:
GT_RETVALUES LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
GT_RECEIVE — data · L65-L65
DATA:
GT_RECEIVE LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
GT_EXCODE — data · L66-L66
DATA:
GT_EXCODE TYPE TABLE OF SY-UCOMM. " Button Control
GV_DBCNT — data · L68-L68
DATA : GV_DBCNT LIKE SY-DBCNT. " Inquiry count
GV_TFILL — data · L69-L69
DATA:
GV_TFILL LIKE SY-TFILL. " Current number of lines
GV_SUBRC — data · L70-L70
DATA:
GV_SUBRC LIKE SY-SUBRC. " Return Value
GV_UCOMM — data · L71-L71
DATA:
GV_UCOMM LIKE SY-UCOMM. " Function Code
GV_TITLE — data · L72-L72
DATA:
GV_TITLE LIKE SY-TITLE. " Title
GV_DATUM — data · L73-L73
DATA:
GV_DATUM LIKE SY-DATUM. " Date
GV_TYPE — data · L74-L74
DATA:
GV_TYPE LIKE DD01V-DATATYPE. " Num/Char Flag
GV_SEQNO — data · L75-L75
DATA:
GV_SEQNO(3) TYPE N. " Seqence No
GV_CURSOR_FIELD — data · L76-L76
DATA:
GV_CURSOR_FIELD(30). " CURSOR FIELD
GV_CURSOR_LINE — data · L77-L77
DATA:
GV_CURSOR_LINE LIKE SY-LILLI. " CURSOR LINE
GV_10_D — data · L79-L79
DATA : GV_10_D(16) TYPE P DECIMALS 0.
GV_TABIN — data · L81-L81
DATA : GV_TABIN(06). " total count
GV_INDEX — data · L82-L82
DATA:
GV_INDEX(06). " progress count
GV_KBETR — data · L83-L83
DATA:
GV_KBETR(05). " progress percent
GV_INDIC — data · L84-L84
DATA:
GV_INDIC(80). " progress status
GV_TEXT — data · L85-L85
DATA:
GV_TEXT(100).
GF_CHECK — data · L87-L87
DATA : GF_CHECK(1). " Input Check
GF_MARK — data · L88-L88
DATA:
GF_MARK(1). " Select Flag
GF_LOCK — data · L89-L89
DATA:
GF_LOCK(1). " Lock Flag
GF_ANSWER — data · L90-L90
DATA:
GF_ANSWER(1). " MessageBox Return Value
GF_COLOR — data · L91-L91
DATA:
GF_COLOR(1). " LINE COLOR
GV_NAME — data · L94-L94
DATA : GV_NAME TYPE VRM_ID.
GT_LIST — data · L95-L95
DATA:
GT_LIST TYPE VRM_VALUES.
GS_VALUE — data · L96-L96
DATA:
GS_VALUE LIKE LINE OF GT_LIST.
GV_FNAME — data · L98-L98
DATA : GV_FNAME TYPE RS38L_FNAM.
GS_OPTIONS — data · L99-L99
DATA:
GS_OPTIONS TYPE SSFCOMPOP.
GS_DEVICE — data · L100-L100
DATA:
GS_DEVICE TYPE SSFCTRLOP.
GV_TDDEST — data · L101-L101
DATA:
GV_TDDEST LIKE GS_OPTIONS-TDDEST VALUE 'LOCL'.
GS_JOB_OUTPUT_INFO — data · L102-L102
DATA:
GS_JOB_OUTPUT_INFO TYPE SSFCRESCL.
GV_BELNR — data · L104-L104
DATA : GV_BELNR LIKE BKPF-BELNR.
GV_BUKRS — data · L105-L105
DATA:
GV_BUKRS LIKE BKPF-BUKRS.
GV_GJAHR — data · L106-L106
DATA:
GV_GJAHR LIKE BKPF-GJAHR.
GV_BUZEI — data · L107-L107
DATA:
GV_BUZEI LIKE BSEG-BUZEI.
GT_BBKPF — data · L108-L108
DATA : GT_BBKPF LIKE BBKPF OCCURS 0 WITH HEADER LINE.
GT_BBSEG — data · L109-L109
DATA:
GT_BBSEG LIKE BBSEG OCCURS 0 WITH HEADER LINE.
GT_BBTAX — data · L110-L110
DATA:
GT_BBTAX LIKE BBTAX OCCURS 0 WITH HEADER LINE.
GT_BWITH — data · L111-L111
DATA:
GT_BWITH LIKE BWITH OCCURS 0 WITH HEADER LINE.
GT_BSELK — data · L112-L112
DATA:
GT_BSELK LIKE BSELK OCCURS 0 WITH HEADER LINE.
GT_BSELP — data · L113-L113
DATA:
GT_BSELP LIKE BSELP OCCURS 0 WITH HEADER LINE.
GT_FIMSG — data · L115-L115
DATA:
GT_FIMSG LIKE FIMSG OCCURS 0 WITH HEADER LINE.
GT_ACCCHG — data · L117-L117
DATA : GT_ACCCHG LIKE ACCCHG OCCURS 0 WITH HEADER LINE.
GS_ACCPMBLK — data · L119-L119
DATA : GS_ACCPMBLK LIKE ACCPMBLK.
GT_ROWS — data · L121-L121
DATA : GT_ROWS TYPE LVC_T_ROW. " ALV control: Table rows
GS_ROWS — data · L122-L122
DATA:
GS_ROWS TYPE LVC_S_ROW. " ALV control: Line description
GV_ROW_POS — data · L123-L123
DATA:
GV_ROW_POS TYPE I.
GT_EXTAB — data · L125-L125
DATA : GT_EXTAB LIKE SY-UCOMM OCCURS 0 WITH HEADER LINE.
GS_EMAIL_DATA — data · L127-L129
DATA : BEGIN OF GS_EMAIL_DATA.
INCLUDE STRUCTURE SODOCCHGI1.
DATA : END OF GS_EMAIL_DATA.
GT_EMAIL — data · L131-L131
DATA : GT_EMAIL LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.
GT_ETEXT — data · L132-L132
DATA:
GT_ETEXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
GT_RSPAR — data · L134-L134
DATA : GT_RSPAR LIKE RSPARAMS OCCURS 10 WITH HEADER LINE.
GV_SMTP_ADDR — data · L136-L136
DATA : GV_SMTP_ADDR LIKE ADR6-SMTP_ADDR.
GF_FIRST — data · L138-L138
DATA : GF_FIRST(1) TYPE C.
GF_NEW — data · L139-L139
DATA:
GF_NEW(1) TYPE C.
GF_END — data · L140-L140
DATA:
GF_END(1) TYPE C.
GF_LAST — data · L141-L141
DATA:
GF_LAST(1) TYPE C.
GV_BUK — data · L144-L144
DATA : GV_BUK LIKE BKPF-BUKRS. " Company Code
GV_KURST — data · L145-L145
DATA:
GV_KURST LIKE TCURR-KURST. " Exchange rate type
GV_KALSM — data · L146-L146
DATA:
GV_KALSM LIKE T005-KALSM. " Procedure
GV_KOKRS — data · L147-L147
DATA:
GV_KOKRS LIKE CSKT-KOKRS. " Controlling Area
GT_BSE — data · L149-L165
DATA : BEGIN OF GT_BSE OCCURS 0,
BUKRS_CLR LIKE BSE_CLR-BUKRS_CLR, "반제전표-회사코드
BELNR_CLR LIKE BSE_CLR-BELNR_CLR, "반제전표-전표번호
GJAHR_CLR LIKE BSE_CLR-GJAHR_CLR, "반제전표-회계연도
INDEX_CLR LIKE BSE_CLR-INDEX_CLR, "반제정보에 대한 일련번호
WAERS LIKE BSE_CLR-WAERS, "통화 키
CLRIN LIKE BSE_CLR-CLRIN, "반제유형
BUKRS LIKE BSE_CLR-BUKRS, "원전표-회사코드
BELNR LIKE BSE_CLR-BELNR, "원전표-전표번호
GJAHR LIKE BSE_CLR-GJAHR, "원전표-회계연도
BUZEI LIKE BSE_CLR-BUZEI, "원전표-개별항목번호
SHKZG LIKE BSE_CLR-SHKZG, "차대변지시자
DMBTR LIKE BSE_CLR-DMBTR, "금액(현지통화)
DIFHW LIKE BSE_CLR-DIFHW, "차액(현지통화)
WRBTR LIKE BSE_CLR-WRBTR, "금액(전표통화)
DIFFW LIKE BSE_CLR-DIFFW, "차약(전표통화)
END OF GT_BSE.
GT_BDC — data · L168-L170
DATA : BEGIN OF GT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA : END OF GT_BDC.
GT_MESS — data · L172-L172
DATA : GT_MESS LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
GV_MODE — data · L174-L174
DATA : GV_MODE(1) VALUE 'N'. "BDC MODE
GS_LOG — data · L176-L176
DATA : GS_LOG TYPE BAL_S_LOG.
GS_LOG_HANDLE — data · L177-L177
DATA:
GS_LOG_HANDLE TYPE BALLOGHNDL.
GS_DISPLAY_PROFILE — data · L178-L178
DATA:
GS_DISPLAY_PROFILE TYPE BAL_S_PROF.
GT_LOG_HANDLE — data · L179-L179
DATA:
GT_LOG_HANDLE TYPE BAL_T_LOGH.
GS_MSG — data · L180-L180
DATA:
GS_MSG TYPE BAL_S_MSG.
GS_BAL_FCAT — data · L181-L181
DATA:
GS_BAL_FCAT TYPE BAL_S_FCAT.
GV_COL_POS — data · L182-L182
DATA:
GV_COL_POS TYPE I.
GT_STRUCT — data · L185-L193
DATA : BEGIN OF GT_STRUCT OCCURS 0,
SEQNO(03), "Sequence no
FNAME(60), "Field name
FTYPE(04), "Type
FLENG(03), "Length
FFLAG(50), "Required
FEXAM(80), "Example
* FNOTE(80), "Note
END OF GT_STRUCT.
C_BUKRS — constants · L198-L198
CONSTANTS:
C_BUKRS LIKE BKPF-BUKRS VALUE 'KR01'. " Company Code
C_WAERS — constants · L199-L199
CONSTANTS:
C_WAERS LIKE BKPF-WAERS VALUE 'KRW'. " Currency Key
C_LANGU — constants · L200-L200
CONSTANTS:
C_LANGU LIKE SKAT-SPRAS VALUE '3'. " Country Key
C_LAND1 — constants · L201-L201
CONSTANTS:
C_LAND1 LIKE T001-LAND1 VALUE 'KR'. " Country Key
C_KTOPL — constants · L202-L202
CONSTANTS:
C_KTOPL LIKE SKAT-KTOPL VALUE '1000'. " Chart of Accounts
C_KOKRS — constants · L203-L203
CONSTANTS:
C_KOKRS LIKE CSKT-KOKRS VALUE 'KR01'. " Controlling Area
C_KALSM — constants · L204-L204
CONSTANTS:
C_KALSM LIKE T007S-KALSM VALUE 'TAXKR'. " Procedure
C_KURST — constants · L205-L205
CONSTANTS:
C_KURST LIKE TCURR-KURST VALUE 'M'. " Exchange Rate Type
C_SPRAS — constants · L206-L206
CONSTANTS:
C_SPRAS LIKE T001-SPRAS VALUE '3'. " Language Key
C_PARID — constants · L207-L207
CONSTANTS:
C_PARID LIKE USR05-PARID VALUE 'ZSP'. " 사용자종속언어
C_A — constants · L208-L208
CONSTANTS:
C_A(1) TYPE C VALUE 'A'.
C_B — constants · L209-L209
CONSTANTS:
C_B(1) TYPE C VALUE 'B'.
C_C — constants · L210-L210
CONSTANTS:
C_C(1) TYPE C VALUE 'C'.
C_D — constants · L211-L211
CONSTANTS:
C_D(1) TYPE C VALUE 'D'.
C_E — constants · L212-L212
CONSTANTS:
C_E(1) TYPE C VALUE 'E'.
C_F — constants · L213-L213
CONSTANTS:
C_F(1) TYPE C VALUE 'F'.
C_G — constants · L214-L214
CONSTANTS:
C_G(1) TYPE C VALUE 'G'.
C_H — constants · L215-L215
CONSTANTS:
C_H(1) TYPE C VALUE 'H'.
C_I — constants · L216-L216
CONSTANTS:
C_I(1) TYPE C VALUE 'I'.
C_J — constants · L217-L217
CONSTANTS:
C_J(1) TYPE C VALUE 'J'.
C_K — constants · L218-L218
CONSTANTS:
C_K(1) TYPE C VALUE 'K'.
C_L — constants · L219-L219
CONSTANTS:
C_L(1) TYPE C VALUE 'L'.
C_M — constants · L220-L220
CONSTANTS:
C_M(1) TYPE C VALUE 'M'.
C_N — constants · L221-L221
CONSTANTS:
C_N(1) TYPE C VALUE 'N'.
C_O — constants · L222-L222
CONSTANTS:
C_O(1) TYPE C VALUE 'O'.
C_P — constants · L223-L223
CONSTANTS:
C_P(1) TYPE C VALUE 'P'.
C_Q — constants · L224-L224
CONSTANTS:
C_Q(1) TYPE C VALUE 'Q'.
C_R — constants · L225-L225
CONSTANTS:
C_R(1) TYPE C VALUE 'R'.
C_S — constants · L226-L226
CONSTANTS:
C_S(1) TYPE C VALUE 'S'.
C_T — constants · L227-L227
CONSTANTS:
C_T(1) TYPE C VALUE 'T'.
C_U — constants · L228-L228
CONSTANTS:
C_U(1) TYPE C VALUE 'U'.
C_V — constants · L229-L229
CONSTANTS:
C_V(1) TYPE C VALUE 'V'.
C_W — constants · L230-L230
CONSTANTS:
C_W(1) TYPE C VALUE 'W'.
C_X — constants · L231-L231
CONSTANTS:
C_X(1) TYPE C VALUE 'X'.
C_Y — constants · L232-L232
CONSTANTS:
C_Y(1) TYPE C VALUE 'Y'.
C_Z — constants · L233-L233
CONSTANTS:
C_Z(1) TYPE C VALUE 'Z'.
C_0 — constants · L234-L234
CONSTANTS:
C_0(1) TYPE C VALUE '0'.
C_1 — constants · L235-L235
CONSTANTS:
C_1(1) TYPE C VALUE '1'.
C_2 — constants · L236-L236
CONSTANTS:
C_2(1) TYPE C VALUE '2'.
C_3 — constants · L237-L237
CONSTANTS:
C_3(1) TYPE C VALUE '3'.
C_4 — constants · L238-L238
CONSTANTS:
C_4(1) TYPE C VALUE '4'.
C_5 — constants · L239-L239
CONSTANTS:
C_5(1) TYPE C VALUE '5'.
C_6 — constants · L240-L240
CONSTANTS:
C_6(1) TYPE C VALUE '6'.
C_7 — constants · L241-L241
CONSTANTS:
C_7(1) TYPE C VALUE '7'.
C_8 — constants · L242-L242
CONSTANTS:
C_8(1) TYPE C VALUE '8'.
C_9 — constants · L243-L243
CONSTANTS:
C_9(1) TYPE C VALUE '9'.
C_EQ — constants · L244-L244
CONSTANTS:
C_EQ(2) TYPE C VALUE 'EQ'.
C_NE — constants · L245-L245
CONSTANTS:
C_NE(2) TYPE C VALUE 'NE'.
C_BT — constants · L246-L246
CONSTANTS:
C_BT(2) TYPE C VALUE 'BT'.
C_CP — constants · L247-L247
CONSTANTS:
C_CP(2) TYPE C VALUE 'CP'.
C_NP — constants · L248-L248
CONSTANTS:
C_NP(2) TYPE C VALUE 'NP'.
C_LE — constants · L249-L249
CONSTANTS:
C_LE(2) TYPE C VALUE 'LE'.
C_LT — constants · L250-L250
CONSTANTS:
C_LT(2) TYPE C VALUE 'LT'.
C_GE — constants · L251-L251
CONSTANTS:
C_GE(2) TYPE C VALUE 'GE'.
C_GT — constants · L252-L252
CONSTANTS:
C_GT(2) TYPE C VALUE 'GT'.
C_FBV0 — constants · L253-L253
CONSTANTS:
C_FBV0 LIKE BKPF-TCODE VALUE 'FBV0'. " 임시전표전기 T-Code
C_FBV1 — constants · L254-L254
CONSTANTS:
C_FBV1 LIKE BKPF-TCODE VALUE 'FBV1'. " 임시전표생성 T-Code
C_FB01 — constants · L255-L255
CONSTANTS:
C_FB01 LIKE BKPF-TCODE VALUE 'FB01'. " 전표생성 T-Code
C_FB05 — constants · L256-L256
CONSTANTS:
C_FB05 LIKE BKPF-TCODE VALUE 'FB05'. " 전표반제 T-Code
C_FB08 — constants · L257-L257
CONSTANTS:
C_FB08 LIKE BKPF-TCODE VALUE 'FB08'. " 전표역분개-Code
ALPHA_INPUT — macro · L267-L273
DEFINE ALPHA_INPUT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = &1
IMPORTING
OUTPUT = &2.
END-OF-DEFINITION.
ALPHA_OUTPUT — macro · L282-L288
DEFINE ALPHA_OUTPUT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = &1
IMPORTING
OUTPUT = &2.
END-OF-DEFINITION.
SET_RANGES — macro · L294-L301
DEFINE SET_RANGES.
CLEAR &1.
&1-SIGN = &2.
&1-OPTION = &3.
&1-LOW = &4.
&1-HIGH = &5.
COLLECT &1.
END-OF-DEFINITION.
LAST_DAY — macro · L310-L316
DEFINE LAST_DAY.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = &1
IMPORTING
LAST_DAY_OF_MONTH = &2.
END-OF-DEFINITION.
CHANGE_UNIT — macro · L322-L327
DEFINE CHANGE_UNIT.
WRITE &1 TO &2 CURRENCY &3.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
VALUE = &2.
END-OF-DEFINITION.
CHANGE_CURRENCY — macro · L333-L340
DEFINE CHANGE_CURRENCY.
CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
EXPORTING
CURRENCY = &3
SAP_AMOUNT = &1
IMPORTING
IDOC_AMOUNT = &2.
END-OF-DEFINITION.
CHANGE_CURRENCY_SAP — macro · L346-L353
DEFINE CHANGE_CURRENCY_SAP.
CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
EXPORTING
CURRENCY = &3
IDOC_AMOUNT = &1
IMPORTING
SAP_AMOUNT = &2.
END-OF-DEFINITION.
WRITE_STCD2 — macro · L359-L361
DEFINE WRITE_STCD2.
WRITE &1 TO &2 USING EDIT MASK '___-__-_____'.
END-OF-DEFINITION.
WRITE_STCD1 — macro · L367-L369
DEFINE WRITE_STCD1.
WRITE &1 TO &2 USING EDIT MASK '______-_______'.
END-OF-DEFINITION.
L_LANG — data · unit 로컬 · L441-L441
DATA : L_LANG LIKE SY-LANGU.
LV_PROG — data · unit 로컬 · L678-L678
DATA : LV_PROG LIKE D020S-PROG.
LV_DNUM — data · unit 로컬 · L679-L679
DATA:
LV_DNUM LIKE D020S-DNUM.
LV_LEN — data · unit 로컬 · L858-L858
DATA : LV_LEN TYPE I.
LV_POS — data · unit 로컬 · L859-L859
DATA:
LV_POS TYPE I.
LV_TYPE — data · unit 로컬 · L860-L860
DATA:
LV_TYPE(3) TYPE C.
LV_FILENAME — data · unit 로컬 · L861-L861
DATA:
LV_FILENAME TYPE STRING.
LV_RAW_DATA — data · unit 로컬 · L862-L862
DATA:
LV_RAW_DATA TYPE TRUXS_T_TEXT_DATA.
GT_XLS — data · unit 로컬 · L919-L919
DATA: GT_XLS TYPE STANDARD TABLE OF KCDE_INTERN_STRUC WITH HEADER LINE.
— field-symbol · unit 로컬 · L920-L920
FIELD-SYMBOLS <FS> TYPE ANY.
CHANGE_UNIT — macro · L1045-L1050
DEFINE CHANGE_UNIT.
WRITE &1 TO &2 CURRENCY &3.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
VALUE = &2.
END-OF-DEFINITION.
CHANGE_CURRENCY — macro · L1056-L1063
DEFINE CHANGE_CURRENCY.
CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC'
EXPORTING
CURRENCY = &3
SAP_AMOUNT = &1
IMPORTING
IDOC_AMOUNT = &2.
END-OF-DEFINITION.
CHANGE_CURRENCY_SAP — macro · L1069-L1076
DEFINE CHANGE_CURRENCY_SAP.
CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP'
EXPORTING
CURRENCY = &3
IDOC_AMOUNT = &1
IMPORTING
SAP_AMOUNT = &2.
END-OF-DEFINITION.
LV_TEXT — data · unit 로컬 · L1347-L1347
DATA : LV_TEXT(100).
LV_PCEN — data · unit 로컬 · L1348-L1348
DATA:
LV_PCEN(3).
ZFIR0030TOP (24건)
TCURC — tables · L7-L7
TABLES: ZFIT0060, ZFIT0040, ZFIT0070, ZFIT0080, TCURC.
ZFIT0040 — tables · L7-L7
TABLES: ZFIT0060, ZFIT0040, ZFIT0070, ZFIT0080, TCURC.
ZFIT0060 — tables · L7-L7
TABLES: ZFIT0060, ZFIT0040, ZFIT0070, ZFIT0080, TCURC.
ZFIT0070 — tables · L7-L7
TABLES: ZFIT0060, ZFIT0040, ZFIT0070, ZFIT0080, TCURC.
ZFIT0080 — tables · L7-L7
TABLES: ZFIT0060, ZFIT0040, ZFIT0070, ZFIT0080, TCURC.
GS_INFO — data · L12-L12
DATA: GS_INFO LIKE ZFIS0080.
GS_RESULT — data · L13-L13
DATA:
GS_RESULT LIKE ZFIS0081.
GT_Z0040 — data · L15-L15
DATA: GT_Z0040 LIKE ZFIT0040 OCCURS 0 WITH HEADER LINE.
GT_Z0060 — data · L16-L16
DATA:
GT_Z0060 LIKE ZFIT0060 OCCURS 0 WITH HEADER LINE.
GT_Z0070 — data · L17-L17
DATA:
GT_Z0070 LIKE ZFIT0070 OCCURS 0 WITH HEADER LINE.
GT_Z0080 — data · L18-L18
DATA:
GT_Z0080 LIKE ZFIT0080 OCCURS 0 WITH HEADER LINE.
GT_TCURC — data · L19-L19
DATA:
GT_TCURC LIKE TCURC OCCURS 0 WITH HEADER LINE.
GT_INFO — data · L20-L20
DATA:
GT_INFO LIKE ZFIS0080 OCCURS 0 WITH HEADER LINE.
GT_RESULT — data · L21-L21
DATA:
GT_RESULT LIKE ZFIS0081 OCCURS 0 WITH HEADER LINE.
GT_KNB1 — data · L24-L28
DATA: BEGIN OF GT_KNB1 OCCURS 0,
BUKRS LIKE KNB1-BUKRS,
KUNNR LIKE KNB1-KUNNR,
ALTKN LIKE KNB1-ALTKN,
END OF GT_KNB1.
GT_DOMAIN — data · L31-L35
DATA: BEGIN OF GT_DOMAIN OCCURS 0,
DOMNAME LIKE DD07T-DOMNAME,
DOMVALUE_L LIKE DD07T-DOMVALUE_L,
DDTEXT LIKE DD07T-DDTEXT,
END OF GT_DOMAIN.
GV_ERR — data · L37-L37
DATA: GV_ERR(1) TYPE C.
GV_BUDAT — data · L38-L38
DATA:
GV_BUDAT LIKE BKPF-BUDAT.
GV_HKONT — data · L39-L39
DATA:
GV_HKONT LIKE BSEG-HKONT.
GV_XNEGP — data · L40-L40
DATA:
GV_XNEGP LIKE BSEG-XNEGP.
C_HKONT_TX — constants · L45-L45
CONSTANTS: C_HKONT_TX LIKE BSEG-HKONT VALUE '0021350101'. " 부가세
C_HKONT — constants · L46-L46
CONSTANTS:
C_HKONT LIKE BSEG-HKONT VALUE '0091000040'. " 전표분할
C_MWSKZ — constants · L47-L47
CONSTANTS:
C_MWSKZ LIKE BSEG-MWSKZ VALUE 'A1'.
P_DATE — parameter · L52-L52
PARAMETERS : P_DATE LIKE SY-DATUM.
ZFIR0030F01 (19건)
LT_CMLOG — data · unit 로컬 · L87-L87
DATA: LT_CMLOG LIKE ZIFS0010 OCCURS 0 WITH HEADER LINE.
LS_CMLOG — data · unit 로컬 · L88-L88
DATA: LS_CMLOG LIKE ZIFS0010.
LV_MESSG — data · unit 로컬 · L89-L89
DATA:
LV_MESSG TYPE CHAR100.
LT_CMLOG — data · unit 로컬 · L133-L133
DATA: LT_CMLOG LIKE ZIFS0010 OCCURS 0 WITH HEADER LINE.
LS_CMLOG — data · unit 로컬 · L134-L134
DATA: LS_CMLOG LIKE ZIFS0010.
LV_MESSG — data · unit 로컬 · L135-L135
DATA:
LV_MESSG TYPE CHAR100.
LV_INDEX — data · unit 로컬 · L511-L511
DATA: LV_INDEX LIKE SY-TABIX.
LV_NEWKO — data · unit 로컬 · L632-L632
DATA: LV_NEWKO LIKE BBSEG-NEWKO.
LV_ZUONR — data · unit 로컬 · L633-L633
DATA:
LV_ZUONR LIKE BBSEG-ZUONR.
LV_NEWBS — data · unit 로컬 · L819-L819
DATA: LV_NEWBS LIKE BBSEG-NEWBS.
LV_NEWBS2 — data · unit 로컬 · L820-L820
DATA:
LV_NEWBS2 LIKE BBSEG-NEWBS.
LV_NEWBS — data · unit 로컬 · L1169-L1169
DATA: LV_NEWBS LIKE BBSEG-NEWBS.
LV_NEWBS — data · unit 로컬 · L1198-L1198
DATA: LV_NEWBS LIKE BBSEG-NEWBS.
LV_NEWBS2 — data · unit 로컬 · L1199-L1199
DATA:
LV_NEWBS2 LIKE BBSEG-NEWBS.
LV_NEWBS — data · unit 로컬 · L1238-L1238
DATA: LV_NEWBS LIKE BBSEG-NEWBS.
LV_NEWBS2 — data · unit 로컬 · L1239-L1239
DATA:
LV_NEWBS2 LIKE BBSEG-NEWBS.
LV_NEWBS — data · unit 로컬 · L1274-L1274
DATA: LV_NEWBS LIKE BBSEG-NEWBS.
LV_NEWBS2 — data · unit 로컬 · L1275-L1275
DATA:
LV_NEWBS2 LIKE BBSEG-NEWBS.
LV_NEWBS — data · unit 로컬 · L1310-L1310
DATA: LV_NEWBS LIKE BBSEG-NEWBS.
Unit 목록 (컨테이너)
| unit | 유형 | 위치 | 조각 | 한 줄 요약 |
|---|---|---|---|---|
| LCL_EVENT_RECEIVER~HANDLE_CLOSE | METHOD | ZFIALV L27-31 | 0 | |
| ALV_SETTING | FORM | ZFIALV L126-129 | 0 | |
| VARIANT_DEFAULT | FORM | ZFIALV L137-168 | 0 | |
| VARIANT_HELP | FORM | ZFIALV L176-199 | 0 | |
| VARIANT_FILL | FORM | ZFIALV L207-233 | 0 | |
| FIELDCATALOG_CALL | FORM | ZFIALV L241-256 | 0 | |
| EVENT_BUILD | FORM | ZFIALV L269-282 | 0 | |
| ALV_LAYOUT_BUILD | FORM | ZFIALV L291-308 | 0 | |
| ALV_DISPLAY | FORM | ZFIALV L317-354 | 0 | |
| COLOR_SETTING | FORM | ZFIALV L360-367 | 0 | |
| FIELD_SORTING | FORM | ZFIALV L380-393 | 0 | |
| COLINFO_SETTING | FORM | ZFIALV L403-410 | 0 | |
| ALV_HIERSEQ_DISPLAY | FORM | ZFIALV L419-460 | 0 | |
| BUILD_LAYOUT | FORM | ZFIALV L475-492 | 0 | |
| ALV_EVENTS_GET | FORM | ZFIALV L501-532 | 0 | |
| USE_FORM | FORM | ZFIALV L538-550 | 0 | |
| ALV_CELL_CONTROL | FORM | ZFIALV L560-570 | 0 | |
| CREATE_DIALOG | FORM | ZFIALV L582-603 | 0 | |
| ALV_CELL_COLOR | FORM | ZFIALV L612-620 | 0 | |
| EVENT_BUILD_LVC | FORM | ZFIALV L633-704 | 0 | |
| ALV_DISPLAY_LVC | FORM | ZFIALV L713-752 | 0 | |
| SET_GRID_EXCLUDE | FORM | ZFIALV L761-782 | 0 | |
| DATA_WRITE | FORM | ZFIALV L795-806 | 0 | |
| FIELDCATALOG_MERGE_STRUCTURE | FORM | ZFIALV L812-845 | 0 | |
| LOG_ALV_DISPLAY | FORM | ZFIALV L851-874 | 0 | |
| LOG_CREATE | FORM | ZFIALV L885-942 | 0 | |
| LOG_FIELDCATALOG | FORM | ZFIALV L952-962 | 0 | |
| NAME_SELECT | FORM | ZFICOM L378-387 | 1 | 사용자 ID 로 V_USERNAME 뷰에서 사용자 이름을 조회하는 공통 FORM 이다. |
| SELECT_CSKT | FORM | ZFICOM L397-408 | 1 | 관리회계영역·코스트센터로 CSKT 에서 유효한 코스트센터명을 조회하는 공통 FORM 이다. |
| SELECT_J_1BBRANCH | FORM | ZFICOM L419-428 | 1 | 회사코드·사업장(Business Place)으로 J_1BBRANCH 사업장명을 조회하는 공통 FORM 이다. |
| SELECT_SKAT | FORM | ZFICOM L438-464 | 1 | G/L 계정번호로 SKAT 계정과목 텍스트(장문 50/단문 20)를 언어별로 조회하는 공통 FORM 이다. |
| CHECK_CONFIRM_STEP | FORM | ZFICOM L476-491 | 1 | 제목·메시지 1줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다. |
| CHECK_CONFIRM_STEP_2 | FORM | ZFICOM L503-520 | 1 | 제목·메시지 2줄로 POPUP_TO_CONFIRM_STEP 확인 팝업을 띄우고 응답(GF_ANSWER)을 받는 공통 헬퍼다. |
| AUTHORITY_BUKRS | FORM | ZFICOM L528-536 | 1 | 회사코드에 대한 SAP 표준 권한(F_BKPF_BUK)을 검사하고 권한이 없으면 처리를 중단한다. |
| AUTHORITY_PG | FORM | ZFICOM L545-563 | 1 | 사용자 ID 로 커스텀 권한테이블 ZFIT0160 을 조회해 프로그램(T-Code)별 실행 권한을 검증하는 공통 FORM 이다. |
| GET_DOMAIN_VALUE | FORM | ZFICOM L574-593 | 1 | DOMAIN_VALUE_GET 으로 도메인 고정값의 텍스트를 조회하는 공통 헬퍼다. |
| CALC_DATE_IN_INTERVAL | FORM | ZFICOM L606-623 | 1 | 기준일에 일·월·년을 가감한 날짜를 RP_CALC_DATE_IN_INTERVAL 로 계산하는 공통 헬퍼다. |
| CALC_BETWEEN_DATES | FORM | ZFICOM L635-651 | 1 | 두 날짜 사이의 일·월·년 차이를 HRVE_GET_TIME_BETWEEN_DATES 로 계산하는 공통 헬퍼다. |
| NUMERIC_CHECK | FORM | ZFICOM L659-665 | 0 | |
| DYNP_VALUES_READ | FORM | ZFICOM L674-703 | 1 | DYNP_VALUES_READ 로 현재 화면 필드의 입력값을 PAI 전에 읽어오는 공통 헬퍼다. |
| FIELD_SETTING | FORM | ZFICOM L713-720 | 0 | |
| HELP_DISPLAY | FORM | ZFICOM L729-749 | 0 | |
| SELECT_T007S | FORM | ZFICOM L758-770 | 1 | 세금코드(MWSKZ)의 부가세 텍스트를 T007S 에서 조회하는 공통 FORM 이다. |
| GET_NEXT_NUMBER | FORM | ZFICOM L781-819 | 1 | 번호범위 오브젝트에서 다음 일련번호를 받아온다 (CBO 테이블의 키 생성용). |
| CREATE_ICON | FORM | ZFICOM L829-844 | 0 | |
| DATA_UPLOAD | FORM | ZFICOM L853-908 | 3 | 파일 확장자(TXT/XLS)에 따라 GUI_UPLOAD 또는 TEXT_CONVERT_XLS_TO_SAP 으로 로컬 파일을 내부테이블로 업로드하는 공통 FORM 이다. |
| DATA_UPLOAD_2 | FORM | ZFICOM L917-950 | 2 | 엑셀 파일을 KCD_EXCEL_OLE_TO_INT_CONVERT 로 셀 단위로 읽어 행별로 T_LOAD 내부테이블 구조에 매핑하는 공통 업로드 FORM 이다. |
| CONVERT_TO_FOREIGN_CURRENCY | FORM | ZFICOM L962-999 | 1 | 현지통화 금액을 환율·기준일로 외화 금액으로 환산하는 공통 FORM 이다. |
| CONVERT_TO_LOCAL_CURRENCY | FORM | ZFICOM L1011-1039 | 1 | 외화 금액을 환율·기준일로 회사코드 현지통화(T001-WAERS) 금액으로 환산하는 공통 FORM 이다. |
| SELECT_USR01 | FORM | ZFICOM L1084-1088 | 1 | 사용자명으로 USR01(사용자 마스터 기본값)을 단건 조회하는 공통 FORM 이다. |
| SMARTFORM_CONTROL | FORM | ZFICOM L1101-1138 | 1 | Smartform 이름으로 생성 FM 이름을 구하고 미리보기·다이얼로그·프린터 등 출력 옵션(GS_DEVICE/GS_OPTIONS)을 설정한다. |
| SMARTFORM_OPEN | FORM | ZFICOM L1144-1156 | 1 | Smartform 출력 작업을 SSF_OPEN 으로 시작하는 공통 FORM 이다. |
| SMARTFORM_CLOSE | FORM | ZFICOM L1162-1175 | 1 | Smartform 출력 작업을 SSF_CLOSE 로 종료하고 JOB_OUTPUT_INFO 를 받아오는 공통 FORM 이다. |
| F4IF_INT_TABLE_VALUE_REQUEST | FORM | ZFICOM L1186-1214 | 0 | |
| EXIT INPUT | MODULE | ZFICOM L1220-1230 | 0 | |
| DYNPRO | FORM | ZFICOM L1240-1251 | 1 | BDC 화면 시작 또는 필드값 한 줄을 GT_BDC(BDCDATA) 에 추가하는 공통 BDC 빌더 헬퍼다. |
| BDC_TRANSACTION | FORM | ZFICOM L1259-1266 | 1 | GT_BDC 데이터로 지정 T-Code 를 CALL TRANSACTION 하고 결과 메시지를 GT_MESS 에 받는 공통 BDC 실행 FORM 이다. |
| MESSAGE_SELECT | FORM | ZFICOM L1274-1285 | 1 | BDC 메시지(GT_MESS)의 ID·번호·변수를 MESSAGE_TEXT_BUILD 로 메시지 텍스트로 조립하는 공통 헬퍼다. |
| BDC_FK03 | FORM | ZFICOM L1294-1318 | 1 | 구매처코드와 회사코드로 FK03 구매처 마스터 조회 화면을 BDC 로 호출한다. |
| CALL_TRANSACTION_FB03 | FORM | ZFICOM L1328-1336 | 1 | 회사코드·전표번호·회계연도를 파라미터 ID 로 넘겨 FB03 회계전표 조회 화면을 호출한다. |
| STATUS_BAR | FORM | ZFICOM L1345-1366 | 1 | 처리 진행률을 계산해 SAPGUI 상태바에 진행 상황 텍스트를 표시하는 공통 유틸리티다. |
| INITIALIZATION | EVENT | ZFIR0030 L28-35 | 0 | 처리 기준일을 오늘로 초기화하고 GET_DOMAIN 으로 도메인 값을 준비하는 INITIALIZATION 이벤트 블록이다. |
| AT SELECTION-SCREEN | EVENT | ZFIR0030 L36-40 | 0 | 내용이 없는 AT SELECTION-SCREEN 이벤트 블록이다. |
| START-OF-SELECTION | EVENT | ZFIR0030 L41-47 | 0 | START-OF-SELECTION 에서 GET_DATA 를 호출하는 이벤트 블록이다. |
| END-OF-SELECTION | EVENT | ZFIR0030 L48-48 | 0 | 내용이 없는 END-OF-SELECTION 이벤트 블록이다. |
| GET_DOMAIN | FORM | ZFIR0030F01 L9-58 | 2 | 검증에 쓰일 도메인 고정값(발생취소·거래유형·결제유형·결제시점)을 DD07T 에서 읽고 선수금계정을 ZFIT0080 에서 조회하는 FORM 이다. |
| GET_DATA | FORM | ZFIR0030F01 L64-80 | 0 | 수신·검증·전기 흐름은 주석 처리되고 미재전송 건 추출(GET_ZFIT0060)과 매출채권 상태 재전송(SEND_AR)만 호출하는 메인 디스패치 FORM 이다. |
| RECEIVE_AR | FORM | ZFIR0030F01 L86-126 | 2 | 인터페이스 공통 로그 키를 발급받은 뒤 RFC 목적지 ZFI01 의 Z_FI_SAVE_AR 을 호출해 매출채권·입금 내역을 GT_INFO 로 수신하는 FORM 이다. |
| SEND_AR | FORM | ZFIR0030F01 L132-178 | 2 | 처리 결과를 인터페이스 공통 로그 키와 함께 송신 시스템으로 RFC 재전송하고 CBO 테이블을 갱신한다. |
| CHECK_DATA | FORM | ZFIR0030F01 L184-405 | 5 | 수신한 매출·입금 데이터(GT_INFO)에 대해 매핑 테이블·고객 마스터·통화키를 조회한 뒤 필수값·도메인값·고객코드·손익센터·계정매핑·통화를 검증하고 결과를 GT_Z0060/GT_RESULT 에 적재하는 FORM 이다. |
| GET_ZFIT0060 | FORM | ZFIR0030F01 L411-504 | 2 | 전송받은 매출·입금 내역을 건별로 돌며 거래유형에 따라 전표를 만들어 전기한다 — 이 프로그램의 주 처리 루프다. |
| POSTING_DOCUMENT | FORM | ZFIR0030F01 L510-592 | 3 | 오류 없는 매출·입금 수신 건마다 거래유형(BTYPE)별 전표 아이템 생성 FORM 으로 분기한 뒤 헤더를 만들고 FB01 BDC 로 전기하여 결과를 GT_Z0060/GT_RESULT 및 ZFIT0060 에 기록하는 FORM 이다. |
| MAKE_BKPF | FORM | ZFIR0030F01 L600-614 | 1 | FB01 전기용 전표 헤더(BBKPF)를 인터페이스 데이터로 채운다. |
| MAKE_BSEG | FORM | ZFIR0030F01 L626-667 | 1 | FB01 전기용 전표 아이템(BBSEG) 한 줄을 전기키·계정·금액과 업무 규칙에 따라 구성한다. |
| MAKE_BSEG_TX | FORM | ZFIR0030F01 L673-716 | 2 | 매출 전표의 수익 라인(총금액-부가세)과 부가세 라인(세금코드·공급가액)을 GT_BBSEG 에 생성하고 취소 건은 마이너스 전기(XNEGP)와 전기키 40 으로 처리하는 FORM 이다. |
| MAKE_BSEG_SP | FORM | ZFIR0030F01 L722-738 | 1 | 전표분할 계정으로 차변·대변 한 쌍을 만들어 손익센터 단위 분개를 맞춘다. |
| BDC_TRANSACTION_FB01 | FORM | ZFIR0030F01 L744-812 | 2 | 구성한 전표 헤더·아이템으로 실제 전기를 수행하고 결과(전표번호 또는 오류메시지)를 인터페이스 레코드에 기록한다. |
| PROCESS_B01 | FORM | ZFIR0030F01 L818-1162 | 8 | 상품매출(B01) 전표 아이템 생성 FORM 의 선언부(창 1/3)로 전기키 변수 선언만 있다. |
| PROCESS_B03 | FORM | ZFIR0030F01 L1168-1191 | 1 | 모바일판매·PC판매·서비스매출(B03 계열) 매출 건에 대해 지점고객 채권 라인을 만들고 MAKE_BSEG_TX 로 수익·부가세 라인을 생성하는 FORM 이다. |
| PROCESS_B53 | FORM | ZFIR0030F01 L1197-1231 | 1 | 이통예수금(B53) 현금 수금 건에 대해 발생/취소 구분에 따라 전기키를 정해 결제유형계정 라인과 예수금(수익비용)계정 라인을 MAKE_BSEG 로 생성하는 FORM 이다. |
| PROCESS_B55 | FORM | ZFIR0030F01 L1237-1267 | 1 | 이통대납금(가입비·위약금, B55/B57) 매출 건에 대해 발생/취소 구분에 따라 공급업체 전기키(31/21)와 비용 전기키(40/50)를 정해 두 개의 전표 아이템을 MAKE_BSEG 로 생성하는 FORM 이다. |
| PROCESS_B59 | FORM | ZFIR0030F01 L1273-1303 | 1 | 판매장려금(구매정산, B59) 매출 건에 대해 발생/취소 구분에 따라 전기키를 정하고 채권 라인과 수익 라인 두 개의 전표 아이템을 MAKE_BSEG 로 생성하는 FORM 이다. |
| PROCESS_B63 | FORM | ZFIR0030F01 L1309-1332 | 1 | 설치수수료(구매정산, B63) 매출 건에 대해 고객 채권 라인을 만들고 MAKE_BSEG_TX 로 세금 포함 수익 라인을 생성하는 FORM 이다. |