솔루션 홈
지급보증

SAP 지급보증서 관리 현황 — 수취와 발행, 두 방향의 보증을 한 화면에서

매입처로부터 받은 보증과 매출처에 내준 보증을 특별원장 G 기준으로 합쳐, 만기·실행·해지 상태를 기준일 하나로 판정합니다.

지급보증서는 SAP에서 특별원장 지시자(Special G/L Indicator) G로 관리되는 통계적 전기(Noted Item)입니다. 매입처(협력업체)가 계약이행·하자보수 의무를 다하지 못할 경우를 대비해 당사가 수취하는 보증(F-33)과, 당사가 발주처(고객)와의 계약이행을 보장하기 위해 발행 의뢰하는 보증(F-40)이 함께 존재하지만, 표준 FBL1N/FBL5N 특별원장 조회는 이 둘을 각각 거래처원장 단위로만 보여줄 뿐 만기·실행·해지 상태를 교차 비교하지는 않습니다.

여신한도 관리나 채권채무 잔액확인서, 받을어음 관리 화면과 인접해 보이지만, 그 화면들은 매출채권 자체의 회수 리스크를 다룹니다. 반면 이 화면은 담보 목적으로 수취·제공된 우발채무성 보증서의 만기 리스크를 다루므로 판정 대상과 산출 로직이 다릅니다. SAP 표준 특별원장 데이터 구조를 그대로 이어받아, 두 방향(수취/발행)의 보증을 하나의 목록으로 합치고 조회 기준일 대비 잔여일수를 계산해 만료임박·실행·해지 상태를 자동 판정하도록 OpenUI5 화면으로 확장한 것이 ZLFIA0075입니다. 실제 구동 화면 4종을 함께 공개합니다.

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

  • 보증 등록 — 매입처(F-33) · 매출처(F-40) 특별원장 통계적 전기
  • 원천 데이터 — 매입처 라인아이템(BSIK) · 매출처 라인아이템(BSID), 특별원장 지시자 G
  • 조정계정 — OBXR 설정에 따른 특별원장 계정(HKONT)
  • 거래처 마스터 — 매입처(LFA1) · 매출처(KNA1)
  • 조회 — 운영에서는 FBL1N/FBL5N으로 특별원장 G 건을 개별 조회
항목내용
업무 영역재무회계(FI) · 자금/여신 · 지급보증 관리
Namespacezui5.payguar
셸 구조조회조건 영역(우측 조회) + 요약 카드 + 지급보증 목록, 상세 Dialog
화면 수조회 화면 1개 + 상세 다이얼로그
기준 사양620-1 프로그램 사양서 (지급보증서 관리)
상세 추출ZFIA_GET_GUARANTEE_INFO
성격조회·검증형 — 보증 등록·실행·해지 전기는 표준 트랜잭션이 담당
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

조회조건 없이 초기 화면을 열고 → 회사코드·구분·기준일을 지정해 조회하면 요약 카드와 목록이 채워지고 → 거래처명 필드에서 Enter 키로도 즉시 조회되며 → 목록 행을 클릭하면 상세 다이얼로그가 열립니다.

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

Main.view.xml
초기 화면 — 조회조건과 요약 카드
초기 화면 — 회사코드·구분·보증용도·상태·기준일·거래처명 조회조건이 상단에, [조회]/[초기화] 버튼이 조회조건 영역 오른쪽 끝에 배치되어 있습니다. sap_horizon 테마가 적용되어 있습니다.
조회 결과
전체 조회 결과와 요약 카드
전체 조회 결과 — 80건이 조회되며, 상단 요약 카드가 매입처/매출처 보증잔액과 만료임박·실행·만료 건수를 보여 줍니다. 목록은 잔여일수 오름차순(만기 임박·경과 건 우선)으로 정렬됩니다.
Enter 키 조회
거래처명 입력 후 Enter 키 조회
Enter 키 조회 — 거래처명 필드에 "대한중공업"을 입력하고 Enter 키를 누르면 버튼을 누르지 않아도 즉시 조회됩니다(8건).
상세 다이얼로그
지급보증서 상세 다이얼로그
상세 다이얼로그 — 목록 행을 클릭하면 기본 정보(조정계정·전표번호·보증기관), 금액·기간 정보(보증금액·발행일·만료일·잔여일수·상태), 실행·해지 이력을 3단으로 확인할 수 있습니다.

조작 방법

  1. 회사코드 · 구분(매입처/매출처) · 보증용도 · 상태 · 기준일 · 거래처명 중 필요한 조건을 지정합니다. 모두 비워두면(전체) 전체 보증서가 조회됩니다.
  2. [조회] 버튼을 클릭하거나, 기준일 또는 거래처명 필드에서 Enter 키를 누르면 즉시 조회됩니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
  3. 목록은 잔여일수(D-day) 오름차순으로 정렬되어, 만료가 임박하거나 이미 지난 건이 최상단에 노출됩니다.
  4. 목록의 행을 클릭하면 해당 지급보증서의 상세 정보를 다이얼로그로 확인할 수 있습니다.
  5. [CSV 다운로드]로 현재 조회 결과를 UTF-8 BOM CSV 파일로 내려받습니다. 엑셀에서 한글이 깨지지 않습니다.
  6. [초기화]는 조회조건과 결과 목록을 모두 초기 상태로 되돌립니다.

지급보증 상태 판정 로직 — 해지·실행·만료·만료임박을 가르는 5단계 우선순위

표준 FBL1N/FBL5N은 특별원장 잔액과 전기일만 보여줄 뿐, "이 보증서가 지금 유효한지"는 사용자가 매번 직접 따져야 합니다. 이 화면은 조회조건의 기준일을 기준으로 아래 5단계 우선순위를 순서대로 평가해 상태를 자동 판정합니다. 여러 조건이 동시에 해당하는 경우(예: 해지된 건인데 마침 만료일도 지난 경우) 실무에서 가장 의미 있는 상태 하나만 남겨야 목록이 헷갈리지 않기 때문에 우선순위를 두었습니다.

1) 해지일이 존재하고 기준일 이전/당일이면            → [해지]
2) 그 외, 실행(청구)여부가 참이면                    → [실행(청구)]
   (실행된 보증은 만기 도래 여부와 무관하게 최우선 표시)
3) 그 외, 만료일이 기준일보다 이전이면                → [만료]
4) 그 외, 만료일까지 잔여일수가 30일 이내이면          → [만료임박]
5) 그 외(잔여일수 30일 초과)                          → [유효]

잔여일수 = 만료일 − 기준일 (일 단위, 음수 = 이미 경과)

요약 카드의 "매입처/매출처 보증잔액"은 해지·만료를 제외한 유효 + 만료임박 + 실행 상태 금액의 합계로, 아직 종결되지 않은 우발채무 노출액을 의미합니다. 이 판정 로직과 집계값은 검증용 데이터 80건을 별도 스크립트로 독립 재계산해 화면 표시값과 1건도 틀림없이 일치함을 확인했습니다(11절 참고).

조회 데이터 처리 4단계 — 조회부터 CSV 다운로드까지

  1. 원천 로드 — 매입처(BSIK) · 매출처(BSID) 특별원장 G 데이터와 보증마스터를 결합한 원천을 읽어옵니다.
  2. 필터링 — 회사코드/구분/보증용도/거래처명 조건으로 1차 필터링합니다. 거래처명은 거래처코드·거래처명 양쪽에 대해 부분일치로 검색합니다.
  3. 상태 판정 및 2차 필터링 — 1차 필터를 통과한 각 건에 3절의 판정 로직을 적용해 상태·잔여일수를 계산한 뒤, 상태 조건이 지정되어 있으면 2차로 필터링하고 잔여일수 오름차순으로 정렬합니다.
  4. 집계 및 다운로드 — 필터링된 목록으로 요약 카드(건수·금액·만료임박/실행/만료 카운트)를 재계산해 화면에 반영하고, 필요 시 같은 목록을 UTF-8 BOM CSV로 내려받습니다.

조회조건

필드필수설명
회사코드선택전체 / 1000 / 2000
구분선택전체 / 매입처(수취, F-33) / 매출처(발행, F-40)
보증용도선택전체 / 선급금 지급보증 / 계약이행보증(구매·수주) / 하자보수보증(구매·수주) / 입찰보증(금대체)(구매·수주) / 선수금환급보증
상태선택전체 / 유효 / 만료임박(30일 이내) / 만료 / 실행(청구) / 해지
기준일필수상태·잔여일수 판정 기준일. 변경 시 Enter 키로도 즉시 조회됩니다.
거래처명선택거래처명 또는 거래처코드 부분일치 검색. Enter 키로 즉시 조회됩니다.

결과 컬럼

컬럼의미 · 표시
보증관리번호화면 관리번호(연도+일련번호)
구분매입처(수취) / 매출처(발행)
회사코드1000 / 2000
거래처거래처명(거래처코드)
보증금액보증서 액면금액, 우측정렬 천단위 콤마
보증기관보증서 발행은행
보증용도계약이행/하자보수/선급금/입찰/선수금환급 등
발행일 · 만료일YYYY.MM.DD 형식
잔여일수(D-day)만료일 − 기준일(파생값), 음수면 경과 표시
은행보증서번호발행은행이 부여한 보증서 고유번호
상태3절 판정 로직 결과(유효/만료임박/만료/실행/해지 신호등)

결과 컬럼이 10개를 넘어 스크롤·컬럼폭 고정을 지원하는 sap.ui.table.Table을 사용했습니다. 상세 다이얼로그처럼 소량 항목만 보여줄 때는 sap.m.Table을 그대로 사용했습니다.

SAP 표준 기능 매핑

이 화면은 보증 등록이나 전기를 대체하지 않습니다. 보증은 표준 트랜잭션(F-33/F-40)이 전기하고, 운영에서는 FBL1N/FBL5N으로 특별원장을 조회합니다. 이 화면은 그 데이터를 만기 리스크 관점에서 재배열해 조회·검증하는 확장 구성입니다.

T-code · 테이블역할
F-33매입처 지급보증 등록(특별원장 G, 통계적 전기)
F-40매출처 지급보증 등록(특별원장 G, 통계적 전기)
FBL1N · FBL5N특별원장 G 라인아이템 조회(매입처/매출처)
OBXR특별원장 지시자별 조정계정(HKONT) 설정
BSIK · BSID매입처/매출처 라인아이템 — 회사코드·조정계정·전표번호·금액
LFA1 · KNA1매입처/매출처 마스터

도입 시 확인이 필요한 부분

보증기관명·은행보증서번호·보증용도·만료일 같은 보증서 고유 속성은 표준 특별원장 라인아이템에 없으므로, 전표번호(BELNR/GJAHR)로 연결되는 별도 보증마스터 테이블이 필요합니다. 만료임박 기준일수(30일)와 보증용도 분류 체계는 회사 내규에 맞춰 조정합니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 특별원장 라인아이템과 보증마스터를 전표번호로 묶은 뷰로 서빙하는 구성을 제안합니다.

@AbapCatalog.sqlViewName: 'ZFICPAYGUARV'
@EndUserText.label: '지급보증서 통합 조회 (특별원장 G + 보증마스터)'
define view ZFIC_I_PayGuarantee
  as select from bsik as VendorGl
  inner join      zfit_guarantee as Guar
          on  VendorGl.belnr = Guar.belnr
         and VendorGl.gjahr = Guar.gjahr
         and VendorGl.bukrs = Guar.bukrs
{
  key VendorGl.bukrs,
  key VendorGl.belnr,
  key VendorGl.gjahr,
      'VENDOR'          as GuarType,
      VendorGl.lifnr    as PartnerId,
      VendorGl.hkont    as ReconAccount,
      VendorGl.umskz    as SpGlIndicator,   // 'G' 지급보증
      VendorGl.dmbtr    as Amount,
      Guar.bank_name,
      Guar.guar_no,
      Guar.purpose,
      Guar.issue_date,
      Guar.expiry_date,
      Guar.util_flag,
      Guar.cancel_date
}
union all
select from bsid as CustomerGl
  inner join      zfit_guarantee as Guar
          on  CustomerGl.belnr = Guar.belnr
         and CustomerGl.gjahr = Guar.gjahr
         and CustomerGl.bukrs = Guar.bukrs
{
  key CustomerGl.bukrs,
  key CustomerGl.belnr,
  key CustomerGl.gjahr,
      'CUSTOMER'         as GuarType,
      CustomerGl.kunnr    as PartnerId,
      CustomerGl.hkont    as ReconAccount,
      CustomerGl.umskz    as SpGlIndicator,
      CustomerGl.dmbtr    as Amount,
      Guar.bank_name,
      Guar.guar_no,
      Guar.purpose,
      Guar.issue_date,
      Guar.expiry_date,
      Guar.util_flag,
      Guar.cancel_date
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경의 보증마스터 테이블 구조와 만료임박 기준일수에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.f.DynamicPage — title + header(검색폼 + 메시지스트립) + content(요약카드 + 결과표), footer 미사용
조회조건sap.ui.layout.form.Form + Select/DatePicker/Input — 조회조건 영역 오른쪽 끝에 조회 버튼
결과 표sap.ui.table.Table — 12컬럼, visibleRowCountMode=Auto
요약 카드sap.m.FlexBox + ObjectNumber/ObjectStatus
상세보기sap.m.Dialog + 3단 SimpleForm, Fragment.load 로 지연 생성
CSV 다운로드BaseController 공통 함수(UTF-8 BOM)

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon · lodash · moment
Component.js디바이스 모델 · ErrorHandler 초기화
manifest.json앱 디스크립터 — zui5.payguar · ko 로케일
view/Main.view.xml조회 화면(DynamicPage) 골격
view/fragments/타이틀 · 메시지스트립 · 조회조건 · 결과표 · 상세다이얼로그
controller/Main.controller.js조회 · 상태 판정 · 집계 · CSV · 상세다이얼로그
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js상태 · 일자 · 잔여일수 포맷
i18n/i18n_ko.propertiesko 로케일 리소스
localdata/guarantees.json지급보증 검증용 데이터 80건

검증 결과

화면 구성에 쓴 데이터는 지급보증 80건(매입처 42건 · 매출처 38건)이며, 만료임박 11건 · 실행(청구) 13건 · 만료 15건 · 해지 8건 · 유효 33건으로 상태 합계가 정확히 80건과 일치합니다.

검증 항목결과
XML/JSON 전체 파싱 (8개 뷰/프래그먼트, 2개 JSON)통과
앱 폴더 전 리소스 HTTP 200 (23개 파일)통과
i18n 키 누락 0건 (사용 68 / 정의 81)통과
이벤트 핸들러(조회·초기화·다운로드·상세·닫기) 실동작통과
집계로직 독립 재계산 — 매입처잔액 4,880,000,000 / 매출처잔액 4,590,000,000 / 만료임박 11 / 실행 13 / 만료 15, 화면 표시값과 일치통과
조회 버튼 위치 — 조회조건 영역 오른쪽 끝(하단 Bar/Footer 미사용)통과
Enter 키 조회 — 거래처명/기준일 필드통과
적용 테마 — sap_horizon (부트스트랩 지정 및 런타임 값 일치)통과
CSV 다운로드 — UTF-8 BOM, 81줄(헤더+80건)통과
화면 렌더링 — 실브라우저에서 조회 → 상세다이얼로그 실동작 후 캡처4/4

거래처 · 금액 · 보증기관은 모두 검증용 데이터입니다.

자주 묻는 질문

매입처 보증과 매출처 보증을 왜 한 화면에서 같이 보나요?

둘 다 특별원장 지시자 G로 관리되는 우발채무성 보증이라는 점은 같지만, 표준 FBL1N/FBL5N은 거래처원장 단위로만 조회되어 두 방향을 나란히 비교하기 어렵습니다. 실무에서는 만기가 임박한 보증이 매입처 쪽인지 매출처 쪽인지를 한 번에 파악해야 하므로, 이 화면은 두 방향을 하나의 목록으로 합치고 잔여일수 기준으로 정렬합니다.

잔여일수(D-day)가 음수로 나오는 것은 오류인가요?

아닙니다. 만료일이 기준일보다 이전이면 잔여일수는 음수로 표시되며, 이는 이미 만료되어 경과한 일수를 의미하는 정상적인 표시입니다.

실행(청구)된 보증서인데 만료일이 남아 있으면 상태가 어떻게 표시되나요?

만기 도래 여부와 무관하게 [실행(청구)] 상태로 표시됩니다. 실행된 보증은 이미 우발채무가 현실화된 것이므로, 판정 우선순위에서 만료·만료임박보다 앞에 둡니다.

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

보증 등록(F-33/F-40)과 특별원장 조회(FBL1N/FBL5N)는 표준 트랜잭션이 그대로 담당합니다. 이 화면은 그 데이터를 만기 리스크 관점에서 재배열해 조회·검증하는 확장 화면이며, 표준 전기·회계처리 로직을 대체하지 않습니다.

지급보증 만기 리스크, 지금 쓰는 SAP 위에서 확인해 보세요

매입처·매출처 보증을 각각 다른 화면에서 따로 확인하는 대신, 만기 리스크 관점에서 한 화면으로 모아 보면 결산·자금 담당자의 점검 시간이 줄어듭니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

지급보증Bank Guarantee특별원장F-33F-40FBL1NOpenUI5