SAP 구매처 평가 현황 — 숫자 하나로는 가려지는 4가지 기준
종합점수만 보면 왜 그 점수인지 알 수 없습니다. 가격·품질·납기·서비스로 나누고, 다시 하위기준까지 펼쳐 근거를 남기는 화면입니다.
구매처 평가를 종합점수 하나로만 보면, 그 점수가 오른 이유도 내린 이유도 알 수 없습니다. 가격이 좋아져서인지, 납기가 나빠져서인지가 숫자 한 줄에 섞여 버리기 때문입니다. 구매 담당자가 실제로 궁금한 것은 "이번 분기 이 구매처, 어디가 좋아지고 어디가 나빠졌나"입니다.
SAP 표준 구매처 평가 구조를 그대로 이어받아, 종합점수를 가격·품질·납기·서비스 4대 기준으로 나누고 다시 8개 하위기준의 산출근거까지 펼쳐 보여주도록 OpenUI5 화면으로 확장한 것이 이 화면입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 평가기준 구성 — 가격·품질·납기·서비스 4대 기준 체계(
ME61평가기준 유지) - 구매처 마스터 — 거래처 코드·명칭·국가(
LFA1) · 구매조직 데이터(LFM1) - 납기 실적 원천 — 발주(
EKKO·EKPO)와 입고 이력(EKBE), 확정납기(EKET) - 품질 실적 원천 — 검사LOT 판정(
QALS), 품질통지(QMEL) - 조회·랭킹 — 평가 리스트(
ME62)와 순위 리스트(ME65)의 조회 방식
| 항목 | 내용 |
|---|---|
| 업무 영역 | 구매(MM) · 구매처 평가 |
| Namespace | zui5.vendoreval |
| 셸 구조 | 조회조건 영역(우측 조회) + 구매처별 평가결과 리스트, 산출근거 상세 Dialog |
| 화면 수 | 조회 화면 1개 + 산출근거 상세 |
| 대응 T-code | ME61 · ME62 · ME65 |
| 성격 | 조회·랭킹형 — 평가기준 입력과 유지는 표준 트랜잭션이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
구매조직·평가기간을 넣고 조회하면 구매처가 종합점수 순으로 나옵니다 → 등급과 전분기대비 증감을 확인하고 → 행을 열어 하위기준 산출근거까지 드릴다운합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 구매조직 · 자재그룹으로 범위를 좁힙니다. 선택 즉시 자동 재조회됩니다.
- 구매처(코드/명) 입력란에 일부 문자만 넣어도 검색되며, Enter 키로 바로 조회됩니다.
- 평가기간은 2025 Q3~2026 Q2 중 하나를 고릅니다. 필수 항목입니다.
- 등급을 지정하면 해당 등급만 남습니다. 조회조건 영역 오른쪽 끝의 [초기화]/[조회] 버튼으로도 동일하게 동작합니다.
- 결과는 종합점수 내림차순으로 정렬됩니다. D등급이 있으면 메시지스트립이 경고로 바뀝니다.
- 행 끝의 상세 아이콘을 클릭하면 하위기준·원천값·분기추이를 담은 다이얼로그가 열립니다.
- 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.
종합점수 산출과 등급 판정 로직
종합점수는 가격·품질·납기·서비스 4대 기준 점수를 가중합산한 값이며, 각 기준은 다시 2개 하위기준의 가중평균으로 산출됩니다.
가격(30%) = 가격수준(시장가 대비) × 60% + 가격안정성(변동성) × 40%
품질(30%) = 입고검사 합격률 × 60% + 품질클레임 환산점수 × 40%
납기(25%) = 납기준수율(On-Time) × 60% + 수량준수율 × 40%
서비스(15%) = 대응성 × 50% + 협조성 × 50%
종합점수 = 가격×0.30 + 품질×0.30 + 납기×0.25 + 서비스×0.15
등급 A 매우우수 90점 이상
B 우수 80 ~ 89.9점
C 보통 65 ~ 79.9점
D 개선필요 65점 미만
하위기준까지 쪼갠 이유
종합점수만 남기면 담당자가 할 수 있는 일은 "이 구매처는 83점이다"까지입니다. 하위기준으로 쪼개면 "품질은 좋은데 서비스 대응이 늦다"처럼 구체적인 개선 대화가 가능해집니다. 그래서 상세 다이얼로그는 종합점수 하나가 아니라 8개 하위기준 원점수와 가중치를 함께 보여 줍니다.
조회부터 상세근거 확인까지 처리단계
| 단계 | 내용 |
|---|---|
| ① 조회조건 입력 | 구매조직·자재그룹·구매처·평가기간·등급 지정 |
| ② 1차 필터링 | 구매조직·자재그룹·구매처 텍스트로 대상 구매처를 추림 |
| ③ 평가기간 매칭 | 필터링된 구매처의 평가실적 중 선택 분기와 일치하는 레코드만 채택 |
| ④ 등급 필터·증감 계산 | 등급 필터 적용 후 직전 분기 레코드를 찾아 종합점수 증감 계산 |
| ⑤ 정렬·표시 | 종합점수 내림차순 정렬, D등급 존재 시 메시지스트립 경고 전환 |
| ⑥ 상세 드릴다운 | 행 클릭 시 해당 구매처의 4개 분기 전체를 모아 하위기준·원천값·추이 구성 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 구매조직 | 선택 | 1000 한국 / 2000 미주, 전체 선택 가능 |
| 자재그룹 | 선택 | 원자재-금속/전자부품, 포장재, 설비/부품, 소모품/MRO, 외주가공 |
| 구매처(코드/명) | 선택 | 코드 또는 명칭 일부, Enter 키로 조회 |
| 평가기간 | 필수 | 2025 Q3 ~ 2026 Q2 중 선택 |
| 등급 | 선택 | 전체 / A / B / C / D |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
| 구매처코드 · 구매처명 | LFA1 벤더 마스터 기준 |
| 구매조직 · 자재그룹 | LFM1 구매조직 데이터, 주 취급 자재그룹 |
| 가격 · 품질 · 납기 · 서비스 | 4대 기준별 점수(0~100), 80↑ 녹색 / 65~80 주황 / 65↓ 적색 |
| 종합점수 | 가중합산 점수, 동일 색상 규칙 |
| 등급 | A/B/C/D 등급 배지 |
| 전분기대비 | 직전 분기 종합점수 대비 증감(▲/▼), 첫 분기는 "-" |
SAP 표준 기능 매핑
표준 실행은 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장한다. 평가기준 설정과 개별 항목 입력은
SAP 표준 기능(ME61) 그대로 이어받고, 이 화면은 그 결과를 하위기준까지 분해해 랭킹·추이로 보여주는 조회 전용 레이어다.
| SAP 표준 T-code | 기능 | 이 화면과의 관계 |
|---|---|---|
ME61 | 구매처 평가기준 유지 | 4대 기준·가중치 체계의 근거 — 표준 기능을 그대로 이어받음 |
ME62 | 평가 리스트 표시 | 조회결과 리스트의 대응 화면 |
ME65 | 평가 리스트/순위 | 종합점수 순 랭킹 정렬의 대응 화면 |
ME6D | 미평가 구매처 조회 | 등급 필터·조회건수로 간접 대체(향후 확장 지점) |
LFA1 · LFM1 | 구매처 마스터 | 조회 원천 |
EKKO·EKPO·EKBE·EKET | 발주·입고 이력 | 납기준수율·수량준수율 산출 원천 |
QALS·QMEL | 검사·품질통지 | 품질 하위기준 산출 원천 |
도입 시 확인이 필요한 부분
가중치(30/30/25/15)와 등급 경계값(90/80/65)은 구매 정책에 따라 달라지는 설정값입니다. 또 하위기준 산출식(특히 가격안정성·품질클레임 환산)은 실제 도입 시 데이터 원천과 집계 기간을 회사 기준에 맞춰 조정합니다.
참고 CDS 뷰
운영 서비스로 연결할 때는 구매처 마스터와 분기별 산출점수를 결합한 뷰로 서빙하는 구성을 제안합니다.
@AbapCatalog.sqlViewName: 'ZCVENDOREVAL'
@EndUserText.label: '구매처 평가 종합 (Z)'
define view Z_C_VENDOR_EVAL
as select from lfa1 as Vendor
inner join lfm1 as PurchOrg on Vendor.lifnr = PurchOrg.lifnr
left outer join t024 as MatklT on PurchOrg.matkl = MatklT.matkl
{
key Vendor.lifnr as VendorCode,
Vendor.name1 as VendorName,
Vendor.land1 as Country,
PurchOrg.ekorg as PurchOrg,
PurchOrg.matkl as MaterialGroup,
MatklT.wgbez as MaterialGroupText
// 가격·품질·납기·서비스 하위기준 점수는 EKBE/QALS/QMEL 집계뷰와 조인해
// Z_C_VENDOR_EVAL_SCORE(분기 단위) 로 산출, 본 뷰에는 마스터만 노출
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경의 집계 주기와 하위기준 원천 범위에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.f.DynamicPage + 조회조건 헤더 · 결과 리스트 · 푸터 |
| 조회조건 | sap.m.Select · sap.m.Input — 조회조건 영역 오른쪽 끝에 조회 버튼, change·submit 이벤트로 즉시조회 |
| 결과 리스트 | sap.ui.table.Table — 컬럼 11개(10개 초과)로 sap.m.Table 대신 사용, RowAction 으로 상세 진입 |
| 산출근거 상세 | sap.m.Dialog + sap.m.Table 3종(하위기준/원천값/분기추이) |
| 데이터 계층 | OData 미구현 — ModelMock 이 localdata JSON 을 fetch 해 Promise 로 제공 |
| 이벤트 | onPAI 단일 진입점(fcCode 분기) + 행 상세 전용 핸들러 |
결과 테이블을 sap.ui.table.Table 로 만든 이유
구매처코드·명·구매조직·자재그룹·4대 기준 4개·종합점수·등급·전분기대비까지 컬럼이 11개입니다.
화면 규약상 10개를 넘는 조회 화면은 sap.ui.table.Table 을 쓰도록 되어 있어,
가로 스크롤 없이 컬럼 폭을 조정할 수 있는 이 컨트롤을 선택했습니다. 소량 표시인 상세 다이얼로그는
규약대로 sap.m.Table 을 그대로 썼습니다.
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon · lodash · moment |
Component.js | 디바이스 모델 초기화, 라우터 기동 |
manifest.json | 앱 디스크립터 — 앱 ID(zui5.vendoreval) · ko 로케일 |
view/Main.view.xml | 조회조건 헤더 + 결과 리스트 + 푸터 골격 |
view/fragments/MainSearch.fragment.xml | 조회조건 + 조회/초기화 버튼(오른쪽 정렬) |
view/fragments/MainTable.fragment.xml | sap.ui.table.Table 결과 리스트, 행 상세 액션 |
view/fragments/DetailDialog.fragment.xml | 하위기준·원천값·분기추이 상세 |
controller/Main.controller.js | 조회 · 필터링 · 증감 계산 · 상세 구성 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 점수 · 등급 · 증감 포맷터 |
localdata/vendors.json · evaluations.json | 구매처 마스터 18건, 분기별 평가실적 72건 |
검증 결과
화면 구성에 쓴 데이터는 구매처 18개 · 4개 분기 평가실적 72건입니다.
| 검증 항목 | 결과 |
|---|---|
| 종합점수 = 4대 기준 가중합산 (72건 재계산 오차) | 통과 (오차 0) |
| 등급 경계(90/80/65) 판정 일관성 (72건) | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| i18n 키 · formatter 함수 참조 커버리지 | 누락 0건 |
| 조회 버튼 위치 — 조회조건 영역 내부, 하단 Footer 밖 | DOM 좌표 확인 통과 |
| Enter 키 조회 · Select 변경 즉시조회 | 실동작 확인 |
| 적용 테마 | sap_horizon (런타임 확인) |
| 화면 렌더링 — 실브라우저 조회 → 결과 → 상세 다이얼로그 실동작 후 캡처 | 3/3 |
구매처명 · 점수 · 담당자는 모두 검증용 데이터입니다.
자주 묻는 질문
종합점수 가중치(30/30/25/15)는 왜 이렇게 정했나요?
SAP 표준 구매처 평가에서 널리 쓰이는 가격·품질·납기·서비스 4대 기준 구성을 따르되, 제조업 구매 실무에서 가격과 품질을 동일 비중으로, 납기를 그다음으로, 정성적 성격이 강한 서비스를 가장 낮은 비중으로 둔 구성입니다. 기업별 정책에 따라 설정 테이블에서 조정할 수 있도록 설계했습니다.
등급 D(개선필요) 구매처는 화면에서 어떻게 확인하나요?
등급 선택항목에서 'D 개선필요'를 고르면 즉시 재조회되며, D등급이 1건 이상이면 상단 메시지스트립이 경고 색상으로 자동 전환됩니다.
전분기 데이터가 없는 첫 분기는 전분기대비가 어떻게 표시되나요?
이전 분기 레코드가 없으므로 전분기대비 컬럼에 '-' 로 표시됩니다.
SAP 표준 기능과 어떻게 이어지나요?
평가기준 유지와 개별 항목 입력은 표준 ME61 이 담당합니다. 이 화면은 그 결과를 하위기준까지 분해해 종합점수·등급으로 랭킹 조회하고, 산출근거와 분기 추이까지 드릴다운하는 조회 전용 레이어로 확장한 것입니다.