솔루션 홈
내부통제

SAP 전기기간·전기권한 통제 점검 — 마감된 기간으로 몰래 들어온 전표는 없는가

회계기간 마감 이후의 사후 전기와, 권한 없는 사용자의 전기를 활동 이력으로 함께 확인합니다

회계기간을 마감하면 그 기간으로의 전기는 더 이상 들어오지 않아야 합니다. 하지만 실제로는 마감 직후 발견된 오류를 바로잡거나, 승인 지연으로 처리 시점이 늦어지면서 이미 닫힌 기간으로 전표가 들어오는 경우가 있습니다. 권한도 마찬가지입니다. 특정 회사코드나 전표유형에 대한 전기 권한은 필요한 사람에게만 부여돼야 하지만, 조직 개편이나 임시 대행 과정에서 권한 범위 밖의 사용자가 전기하는 일이 생길 수 있습니다. 두 가지 모두 전표 헤더만 봐서는 정상 전표와 구분되지 않고, 기간통제 설정·권한 마스터와 대조해야 드러납니다.

표준 전표 헤더·기간통제 구조를 그대로 이어받아, 전표의 전기일·입력일을 기간통제 마스터와 대조해 사후 전기 여부를, 작성자·회사코드·전표유형 조합을 권한 마스터와 대조해 권한 위반 여부를 함께 판정하는 화면을 OpenUI5로 확장했습니다. 판정 결과는 항상 "확인 필요"로 표시해 담당자가 직접 경위를 확인하도록 안내합니다. 실제 구동 화면 5종을 함께 공개합니다.

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

  • 기간통제 — 회사코드별 전기기간 개방·마감 설정은 표준 기간통제(OB52) 구조를 그대로 활용
  • 전표 원천 — 전기일·입력일·작성자는 표준 전표 헤더 구조를 그대로 사용
  • 표준 화면 — 기간통제 설정(OB52) · 전표 조회(FB03)
항목내용
업무 영역재무회계(FI) · 내부통제
관련 대상 영역- (내부통제 · 전기기간·전기권한 통제)
Namespacezui5.postctrl
셸 구조조회조건 영역(우측 조회) + 요약 패널 + 탭 4종, 상세 Dialog
화면 수조회 화면 1개(탭 4종) + 상세 다이얼로그
SAP 표준 T-code- (연관 화면은 §7 참고)
성격조회·집계·대사형 — 위반 해당 여부의 최종 확인은 회사 몫
UI 테마sap_horizon 단일 적용

실제 화면 5종 둘러보기

회사코드·회계연도·기간·작성자·전표유형·판정을 넣고 조회하면 네 개 탭이 함께 갱신됩니다 → 행을 클릭하면 상세 내역이 다이얼로그로 열립니다.

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

Main.view.xml
전표별 통제 점검 목록 화면 — 조회조건과 판정 결과
전표별 통제 점검 — 조회조건 영역 오른쪽 끝에 조회·초기화 버튼이 있고, 기간 판정·권한 판정·종합 판정을 각각 색상으로 구분해 보여줍니다.
기간통제 현황
회사코드·기간별 개방·마감 현황 화면
기간통제 현황 — 회사코드·기간별로 개방 여부와 마감 정보를 보여줍니다.
사용자 권한 현황
사용자별 회사코드·전표유형 권한 현황 화면
사용자 권한 현황 — 사용자마다 회사코드별로 허용된 전표유형 목록을 보여줍니다.
회사코드별 집계
회사코드별 위반 건수 집계 화면
회사코드별 집계 — 점검 건수·정상 건수·기간 위반·권한 위반 건수와 위반율을 집계합니다.
상세 다이얼로그
행 클릭 시 뜨는 전표 상세 다이얼로그
전표 상세 — 행을 클릭하면 그 전표의 기간·권한 판정 근거를 다이얼로그로 확인합니다.

조작 방법

  1. 회사코드 · 회계연도 · 기간 · 작성자 · 전표유형 · 판정을 지정합니다.
  2. 작성자 입력 필드에서 Enter 키를 누르거나 조회조건 영역 오른쪽 끝의 조회 버튼을 누르면 재조회됩니다. 초기화 버튼은 조건을 기본값으로 되돌립니다.
  3. 전표유형·판정을 "전체"로 두면 해당 조건 없이 조회합니다.
  4. 각 탭의 행을 클릭하면 상세 다이얼로그가 열립니다.

기간·권한 위반 판정 로직

전표마다 기간 판정과 권한 판정을 독립적으로 계산하고, 둘 중 하나라도 확인 필요면 종합 판정을 확인 필요로 표시합니다.

판정 조건결과 상태사용자 조치
전기일이 속한 기간이 입력 시점에 열려 있었다정상추가 조치 없음
전기일이 속한 기간이 이미 마감됐는데 그 이후에 입력됐다(사후 전기)확인 필요마감 후 전기 승인 이력을 확인
작성자가 해당 회사코드·전표유형에 대한 허용 목록에 있다정상추가 조치 없음
작성자가 해당 회사코드·전표유형에 대한 허용 목록에 없다확인 필요권한 부여 경위를 확인하고 임시 권한이면 회수 검토

이 화면이 대신 정하지 않는 것

기간·권한 판정에 걸렸다고 해서 곧바로 통제 위배로 단정하지 않습니다. 결산 후 승인된 정정 전기나 정당하게 부여된 임시 권한일 수 있어, 위반 여부에 대한 최종 판단은 회사가 내부통제 절차에 따라 합니다. 이 화면은 그 판단이 필요한 후보를 골라내는 점검 도구입니다.

점검 처리 단계

단계내용
1단계회사코드·회계연도·기간별 기간통제 마스터(개방·마감 여부)를 확보
2단계전표의 전기일이 속한 기간을 그 전표의 입력일 시점 개방 여부와 대조해 기간 판정을 산출
3단계사용자별 회사코드·전표유형 권한 마스터를 확보
4단계전표의 작성자·회사코드·전표유형 조합을 권한 마스터와 대조해 권한 판정을 산출
5단계기간 판정과 권한 판정 중 하나라도 확인 필요면 종합 판정을 확인 필요로 산출
6단계회사코드별로 점검 건수·정상 건수·기간 위반·권한 위반 건수와 위반율을 집계

조회조건

필드필수설명
회사코드필수4자리 코드
회계연도·기간필수기간통제 현황·요약 패널 조회 기준
작성자(사용자ID)선택부분 일치(포함), Enter 키로 바로 조회
전표유형선택전체 선택 시 조건 미전달
판정선택종합 판정 기준. 전체 선택 시 조건 미전달

결과 컬럼

컬럼설명
전표번호 · 전표유형 · 전기일 · 기간 · 입력일 · 사용자전표 식별 정보
전표금액전표 총액
기간 판정 · 권한 판정 · 종합 판정정상 / 확인 필요
점검 건수 · 정상 건수 · 기간 위반 건수 · 권한 위반 건수 · 위반율(%)회사코드별 집계 값

SAP 표준 기능 매핑

SAP 표준 T-code연관 기능
OB52회사코드별 전기기간 개방·마감 설정
FB03전표 조회
FBL3N계정별 명세 조회
SU53권한 실패 분석
SUIM사용자 정보시스템(권한 부여 현황 조회)

통제 기준 정의표

관련 대상 영역요구사항대응 기능원천 데이터비고
-마감된 회계기간으로의 사후 전기 방지기간 판정기간통제 마스터, 전표 헤더대상 영역: 내부통제
-회사코드·전표유형별 전기 권한의 적정성권한 판정권한 마스터, 전표 헤더대상 영역: 내부통제

도입 시 확인이 필요한 부분

권한 마스터의 구체적인 조합(회사코드·전표유형별 허용 범위)은 회사의 권한 설계·역할(PFCG Role) 구성에 맞춰 확정해야 합니다.

참고 CDS 뷰

운영 서비스로 연결할 때를 가정해 새로 스케치한 집계 뷰 예시입니다(운영 반영 시 권한 체크를 추가해야 합니다).

@AbapCatalog.sqlViewName: 'ZCDSPOSTCTL'
define view ZCDS_I_PostCtrlCheck
  as select from bkpf as doc
  left outer join t001b as ctrl
    on ctrl.bukrs = doc.bukrs and ctrl.frper = doc.monat
{
  key doc.belnr        as Belnr,
  key doc.bukrs         as Bukrs,
  key doc.gjahr         as Gjahr,
      doc.blart          as Blart,
      doc.budat          as Budat,
      doc.cpudt          as Cpudt,
      doc.usnam          as UsNam
      // 기간 판정은 T001B 기준 개방 구간과 CPUDT 를 대조하고,
      // 권한 판정은 권한 마스터 뷰와 USNAM·BUKRS·BLART 를 대조해 파생(별도 집계 뷰)
}

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 Panel + 요약 패널 + 탭(IconTabBar) 4종
조회조건sap.m.ComboBox · sap.m.Input — 우측 끝에 조회 버튼, Enter 키로 즉시 재조회
전표별 통제 점검 목록sap.ui.table.Table(컬럼 10개 초과) — 행 클릭 시 상세 다이얼로그
기간통제·권한·집계 목록sap.m.Table(소량) — 행 클릭 시 상세 다이얼로그
상세sap.m.Dialog — 선택 행 데이터를 그대로 표시
공통 처리전역 오류 처리기(ErrorHandler)

서비스 경로는 manifest.jsondataSources 에 상대 경로로 선언한 OData 모델을 그대로 바인딩하며, 조회조건은 sap.ui.model.Filter 로 조립해 $filter 로만 전달합니다. 전표유형·판정을 "전체"로 둘 때는 필터를 아예 생성하지 않습니다.

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon
Component.js컴포넌트 초기화, 전역 오류 처리기 연결
manifest.json앱 디스크립터 — zui5.postctrl · OData dataSources · ko 로케일
view/Main.view.xml조회조건 + 요약 패널 + 탭 4종
view/DetailDialog.fragment.xml상세 다이얼로그
controller/Main.controller.js조회·필터 조립·다이얼로그 로직
controller/BaseController.js공통 처리
model/ErrorHandler.js전역 오류 처리
model/formatter.js판정·개방여부 서식
i18n/i18n_ko.propertiesko 로케일 리소스

검증 환경 구성 상세는 이 글에서 다루지 않습니다. 운영 전환 시에는 화면과 판정 로직은 그대로 두고 데이터 계층만 실제 서비스 호출에 맞추면 됩니다.

검증 결과

화면 구성에 쓴 데이터는 정상 건수 + 기간·권한 위반 건수 = 총 점검 건수 관계가 항상 성립하도록 구성했습니다.

검증 항목결과
대사식 전수 검증(점검 40건 — 기간 위반 4건 · 권한 위반 12건, 집계식 불일치 0건)통과
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출0건
화면 렌더링 — 실브라우저에서 조회 → 필터 → 행 클릭 상세까지 실동작 후 캡처5/5
조회 버튼 위치 · sap_horizon 테마 적용 · Enter 키 조회확인
OData 계약 — 동사 경로 미사용, $filter·$orderby·$top 로만 조회조건 전달확인

사용자·전표 데이터는 모두 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면은 어느 범위에 적용하나요?

전표를 전기하고 회계기간을 마감하는 회사코드를 대상으로 하며, 회계연도·기간·회사코드를 선택해 조회합니다.

종합 판정이 확인 필요로 뜨면 무엇을 의미하나요?

전표가 마감된 기간으로 사후 전기됐거나, 전기한 사용자가 해당 회사코드·전표유형에 대한 권한이 없다는 신호입니다. 위반 여부의 최종 판단과 조치는 회사가 내부통제 절차에 따라 수행합니다.

화면의 수치는 실시간 SAP 데이터인가요?

실제 운영 화면은 OData 서비스를 통해 조회합니다. 이 글에 표시된 수치와 캡처는 검증용 샘플 데이터이며 실제 업무 데이터가 아닙니다.

기간 위반과 권한 위반은 어떻게 다른가요?

기간 위반은 마감된 회계기간으로 사후 전기된 경우를, 권한 위반은 작성자가 해당 회사코드·전표유형에 대한 전기 권한을 보유하지 않은 경우를 가리킵니다. 두 판정은 독립적으로 계산되며 하나라도 해당하면 종합 판정이 확인 필요로 표시됩니다.

마감된 기간으로의 사후 전기, 결산 전에 활동 이력으로 먼저 확인해보세요

기간통제·권한 설정만으로는 드러나지 않는 예외를 전표 이력 대사로 미리 확인해 두면, 통제 점검과 감사 대응이 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

내부통제전기기간 통제전기권한 통제기간마감권한통제OpenUI5