솔루션 홈
FBL3N · 총계정원장

SAP 총계정원장 개별항목 조회 — 잔액에서 전표 한 줄까지

계정 잔액을 만든 전표 라인을 조건으로 좁혀 보고, 미결과 반제를 함께 추적하는 개별항목 조회 화면입니다.

잔액은 결과이고, 개별항목은 그 결과를 만든 과정입니다. 외상매출금 잔액이 왜 이 금액인지 묻는 순간 필요한 것은 합계가 아니라 그 합계를 이루는 줄들입니다.

표준 개별항목 조회는 이미 강력하지만, 조건을 넣고 결과를 읽는 흐름이 길고 미결·반제 상태를 눈으로 구분해야 합니다. SAP 표준 전표 라인 구조를 그대로 이어받아 조회를 한 화면에서 끝내고 상태를 색으로 구분하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 전표 키 — 회사코드 · 회계연도 · 전표번호 · 라인번호의 4단 키를 그대로 유지
  • 표준 필드명 — Bukrs · Belnr · Buzei · Budat · Bldat · Blart · Shkzg · Dmbtr · Wrbtr
  • 반제 정보 — 반제 전표(AUGBL)와 반제일자(AUGDT) 표준 필드로 미결·반제 판정
  • 마스터 텍스트 — 계정(SKA1) · 코스트센터(CSKS · CSKT) · 공급업체(LFA1) · 오더(AUFK)
항목내용
대응 T-codeFBL3N (G/L 계정 개별항목 조회)
업무 영역재무회계(FI) · 총계정원장 개별항목
Namespacezui5.glitem
셸 구조조회조건 영역(우측 조회) + 개별항목 테이블, 정렬 아이콘으로 컬럼 정렬
화면 수조회 화면 1개
데이터개별항목 120건 (27개 필드)
성격조회형(Read-Only) — 전기와 반제는 표준 트랜잭션이 담당
UI 테마sap_horizon 단일 적용

실제 화면 2종 둘러보기

계정과 기간을 넣고 조회하면 전표 라인이 펼쳐집니다 → 미결·반제 상태와 금액으로 추려 보고 → 전표번호와 참조번호로 원전표까지 따라갑니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

FBL3N — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 조회 전에는 메시지스트립이 조건을 넣으라고 안내합니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있고, 입력필드에서 Enter 로도 조회됩니다.
FBL3N — MainContent01.fragment.xml
메인화면 — 개별항목 목록
메인화면 — 개별항목 목록 — 전기일·증빙일·전표번호·전표유형·계정·차대·금액·적요·거래처가 한 줄로 이어지고, 반제 전표와 반제일자가 함께 표시돼 미결과 반제가 구분됩니다. 컬럼 헤더의 정렬 아이콘으로 기준을 바꿀 수 있습니다.

조작 방법

  1. 회사코드 · 회계연도 · 계정을 넣습니다. 잔액을 따라 내려온 경우라면 계정은 이미 정해져 있습니다.
  2. 기간·거래처·코스트센터는 보조 조건입니다. 결과가 많을 때 범위를 좁히는 데 씁니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 컬럼 헤더의 정렬 아이콘으로 금액순·전기일순으로 바꿔 봅니다. 큰 금액부터 보면 원인이 빨리 잡힙니다.
  5. 상태 열로 미결과 반제를 구분합니다. 미결만 남기면 아직 정리되지 않은 금액이 보입니다.
  6. 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

미결·반제 판정 규칙

상태는 별도 필드에 저장된 값이 아니라 반제 정보로 판정합니다.

반제 전표(AUGBL) 가 비어 있으면   →  미결 (Open)
반제 전표(AUGBL) 에 값이 있으면   →  반제 (Cleared), 반제일자(AUGDT) 와 함께 표시

원화환산 검증  Dmbtr = Wrbtr × 환율   (거래통화와 회사코드 통화가 다를 때)

상태를 계산값으로 두는 이유

반제 여부를 별도 플래그로 저장하면 반제가 취소됐을 때 플래그만 남는 일이 생깁니다. 반제 전표 유무로 매번 판정하면 취소·재반제가 일어나도 화면이 항상 현재 상태를 보여 줍니다. 표준이 반제 전표를 지우는 방식으로 취소를 처리하기 때문에 가능한 방법입니다.

개별항목을 보는 세 가지 상황

같은 화면이지만 무엇을 찾느냐에 따라 조건과 정렬이 달라집니다.

상황주요 조건정렬목적
잔액 근거 확인계정 + 기간전기일순잔액이 왜 이 금액인지 되짚을 때
미정리 항목 점검계정 + 상태 미결금액 큰 순결산 전 정리 대상을 추릴 때
거래처 대사계정 + 거래처전기일순특정 거래처와 주고받은 내역을 맞춰 볼 때

조회조건

필드필수설명
회사코드 Bukrs필수대상 회사코드
회계연도 Gjahr필수대상 회계연도
계정 Saknr필수계정코드와 명칭 표시
전기일 Budat선택기간 From~To
거래처 Lifnr선택공급업체 코드·명칭
코스트센터 Kostl선택원가 귀속처
상태 Status선택미결(O) / 반제(C)

결과 컬럼

컬럼의미 · 표시
전표번호 Belnr · 라인 Buzei표준 전표 조회로 이어지는 키
증빙일 Bldat · 전기일 Budat증빙 날짜와 원장 반영 날짜
전표유형 Blart · BlartText코드와 텍스트를 함께 표시
계정 Saknr · SaknrText계정코드와 명칭
차대 ShkzgS(차변) / H(대변)
금액 Dmbtr · Wrbtr원화환산 금액과 거래통화 금액, 우측정렬
통화 Waers거래통화
코스트센터 Kostl · KostlText원가 귀속처와 명칭
오더 Aufnr내부오더 번호
거래처 Lifnr · LifnrText공급업체 코드와 명칭
참조번호 Xblnr외부 문서 번호 (예: 세금계산서)
적요 Sgtxt · 헤더텍스트 Bktxt라인 적요와 전표 헤더 텍스트
반제 Augbl · Augdt반제 전표번호와 반제일자
상태 Status미결/반제 — 반제 정보로 판정
등록자 Usnam전표를 만든 사용자

SAP 표준 기능 매핑

전표와 반제는 표준이 만듭니다. 이 화면은 그 라인을 읽어 조건 조회와 상태 구분을 더해 확장합니다.

표준역할이 화면에서의 확장
FBL3NG/L 개별항목 조회조건 입력과 결과를 한 화면에 두고 상태를 색으로 구분
FS10N 관점계정 잔액잔액에서 내려와 라인으로 이어지는 흐름
BKPF전표 헤더 — 전표유형 · 일자 · 참조번호 · 등록자목록 컬럼에 그대로 표시
BSEG전표 라인 — 계정 · 차대 · 금액 · 적요 · 반제상태 판정과 금액 표시
ACDOCA유니버설 저널 (S/4HANA)집계 원천을 표준 CDS 로 교체 가능
LFA1 · CSKS · CSKT · AUFK거래처 · 코스트센터 · 오더 마스터코드 옆에 명칭을 붙여 표시

도입 시 확인이 필요한 부분

S/4HANA 환경이면 BSEG 직접 조회보다 ACDOCA 기반 표준 CDS 가 성능상 유리합니다. 또 개별항목 관리(Open Item Management) 설정이 되어 있지 않은 계정은 반제 개념이 없어 상태 열이 의미를 갖지 않으므로, 대상 계정 범위를 설정과 함께 확인해야 합니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 전표 헤더와 라인에 마스터 명칭을 붙이고 상태를 계산한 뷰를 제안합니다.

@AbapCatalog.sqlViewName: 'ZCGLITEM'
@EndUserText.label: '총계정원장 개별항목 (Z)'
define view Z_C_GL_LINE_ITEM
  as select from bseg as Line
    inner join      bkpf  as Header   on  Line.bukrs = Header.bukrs
                                      and Line.belnr = Header.belnr
                                      and Line.gjahr = Header.gjahr
    left outer join lfa1  as Vendor   on  Line.lifnr = Vendor.lifnr
    left outer join cskt  as CCtrText on  Line.kostl = CCtrText.kostl
                                      and CCtrText.spras = 'K'
    left outer join skat  as AcctText on  Line.hkont = AcctText.saknr
                                      and AcctText.spras = 'K'
{
  key Line.bukrs,
  key Line.gjahr,
  key Line.belnr,
  key Line.buzei,
      Header.budat, Header.bldat, Header.blart, Header.xblnr, Header.usnam,
      Line.hkont              as Saknr,
      AcctText.txt50          as SaknrText,
      Line.shkzg, Line.dmbtr, Line.wrbtr, Line.waers, Line.sgtxt,
      Line.kostl, CCtrText.ktext as KostlText,
      Line.lifnr, Vendor.name1  as LifnrText,
      Line.augbl, Line.augdt,
      // 미결·반제는 반제 전표 유무로 판정
      case when Line.augbl = '' then 'O' else 'C' end as Status
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 릴리즈와 개별항목 관리 설정에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 개별항목 테이블
조회조건sap.m.Input · sap.m.DatePicker — 우측 끝에 조회
결과 테이블sap.m.Table — 컬럼이 많아 popin 반응형, growing 적용
정렬컬럼 헤더 정렬 아이콘 — fcSort 로 기준 전환
상태 표시sap.m.ObjectStatus — 미결/반제 구분
안내 메시지sap.m.MessageStrip — 조회 전 안내
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기

컬럼을 27개까지 둔 이유

개별항목은 무엇을 확인하느냐에 따라 필요한 열이 매번 다릅니다. 거래처 대사에는 참조번호가, 원가 확인에는 코스트센터가, 결산 정리에는 반제 정보가 필요합니다. 미리 줄이면 그때마다 다른 화면을 찾게 되므로, 열은 넉넉히 두고 좁은 화면에서는 popin 으로 접히게 했습니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.glitem) · ko 로케일 · sap_horizon
view/Main.view.xml조회 화면
view/fragments/MainHeader.fragment.xml조회조건 영역과 우측 조회 버튼
view/fragments/MainContent01.fragment.xml개별항목 테이블과 정렬
view/fragments/MainMessageStrip.fragment.xml조회 안내 메시지
controller/Main.controller.js조회 · 정렬 · 상태 판정 · CSV
js/formatter.js금액 · 일자 · 차대 · 상태 포맷터
localdata/GLItem.json개별항목 120건 (27개 필드)

운영 전환 시에는 ModelMock 내부만 실제 서비스 호출로 바꾸면 화면 로직은 그대로 씁니다.

검증 결과

검증 항목결과
전표 키(회사코드+연도+전표번호+라인) 중복 없음통과
원화환산 = 거래통화금액 × 환율통과
반제 전표가 있으면 반제일자도 존재통과
상태 = 반제 전표 유무 판정값과 일치통과
코드가 있는 항목은 명칭도 존재 (계정 · 거래처 · 코스트센터)통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 정렬 실동작 후 캡처2/2
테마 런타임 확인sap_horizon

계정·금액·거래처는 모두 검증용 데이터입니다. SAP 표준 필드 사전 대조에서 27개 중 26개가 표준 필드로 매칭됐습니다.

자주 묻는 질문

미결과 반제는 어떻게 구분하나요?

반제 전표 번호가 비어 있으면 미결, 값이 있으면 반제입니다. 별도 플래그를 두지 않고 매번 판정하므로 반제가 취소돼도 화면은 항상 현재 상태를 보여 줍니다.

모든 계정에서 상태 열이 의미가 있나요?

아닙니다. 개별항목 관리가 설정된 계정에서만 반제 개념이 있습니다. 설정되지 않은 계정은 모든 라인이 미결로 보이므로, 도입 시 대상 계정 범위를 설정과 함께 정합니다.

컬럼이 많은데 좁은 화면에서는 어떻게 되나요?

반응형 popin 으로 접힙니다. 화면 폭이 줄면 우선순위가 낮은 열이 행 아래로 내려가 한 줄이 두세 줄로 펼쳐지므로, 가로 스크롤 없이 같은 정보를 볼 수 있습니다.

SAP 표준 기능과 어떻게 이어지나요?

전표 전기와 반제는 표준 트랜잭션이 담당하고 데이터도 표준 구조 그대로입니다. 이 화면은 FBL3N 의 조회 흐름을 한 화면으로 줄이고, 미결·반제를 색으로 구분하며, 잔액 화면에서 바로 내려올 수 있게 이어 붙인 확장입니다.

개별항목 조회, 지금 쓰는 SAP 위에서 확장해 보세요

잔액에서 전표 한 줄까지 내려가는 길이 짧아지면 확인 요청에 답하는 시간이 줄어듭니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

개별항목총계정원장FBL3N미결항목반제BSEGACDOCAOpenUI5