솔루션 홈
OB52 · 결산 지원

SAP 회계기간 개폐현황 조회 — 지금 어느 달에 전기할 수 있는가

회사코드와 계정유형별로 열려 있는 전기 기간을 조회하고, 필요 이상으로 넓게 열린 구간을 통제 관점에서 점검하는 화면입니다.

결산이 끝난 달에 전표가 들어오면 확정한 재무제표가 바뀝니다. 그래서 전기할 수 있는 기간을 좁게 유지하는 것이 결산 통제의 기본입니다.

그런데 기간을 여닫는 일은 설정 화면에서 조용히 이뤄지고, 열어 둔 채 잊히기 쉽습니다. 표준 전기 기간 설정 구조를 그대로 이어받아 현재 열린 범위와 마지막 변경자를 한 화면에 모으도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 전기 기간 그룹 — 권한 그룹(Brgru) 단위로 기간을 관리하는 표준 구조
  • 계정유형 — 전체(+) · 고객(D) · 공급업체(K) · 자산(A) · 자재(M) · GL(S) 구분(Koart)
  • 오픈 범위 — 1구간(FromPeriod1~ToPeriod1)과 2구간(특별기간)
  • 연도 — 시작·종료 회계연도로 연말 이월 구간 관리
  • 변경 이력 — 마지막 변경자(LastChangedBy)와 변경일
항목내용
대응 T-codeOB52 (전기 기간 개폐) · T001B
업무 영역재무회계(FI) · 결산 통제 · 내부통제
Namespacezui5.periodctrl
셸 구조조회조건 영역(우측 조회·초기화) + 기간 현황, 행 선택 시 상세
화면 수조회 화면 1개 + 상세
데이터기간 설정 18건
성격조회형(Read-Only) — 기간 개폐는 표준 설정이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·계정유형으로 조회하면 현재 열린 기간이 나옵니다 → 당기 전기 가능 여부를 확인하고 → 기준보다 넓게 열린 구간을 점검합니다.

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

OB52 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·계정유형·권한그룹을 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
OB52 — 기간 현황
메인화면 — 계정유형별 오픈 범위
메인화면 — 계정유형별 오픈 범위 — 회사코드·권한그룹·계정유형과 함께 1구간·2구간의 시작·종료 기간과 연도가 이어집니다. 오픈폭이 기준을 넘는 줄은 상태 색으로 구분됩니다.
OB52 — 변경 이력
상세 다이얼로그 — 마지막 변경 정보
상세 다이얼로그 — 마지막 변경 정보 — 행을 고르면 마지막 변경자와 변경일, 비고가 펼쳐집니다. 언제 누가 기간을 열었는지 확인할 수 있습니다.

조작 방법

  1. 회사코드를 고릅니다. 법인별로 기간 설정이 다릅니다.
  2. 계정유형으로 전체·고객·공급업체·자산·자재·GL 을 나눠 봅니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 1구간이 통상 업무 기간입니다. 현재 월이 여기 포함되는지 확인합니다.
  5. 2구간은 결산 조정용 특별기간(13~16)입니다. 권한 있는 사용자만 씁니다.
  6. 오픈폭이 기준을 넘으면 불필요하게 넓게 열린 상태입니다.
  7. 결과는 CSV 다운로드로 내려받아 내부통제 점검 자료로 씁니다.

오픈폭 판정 규칙

열려 있는 기간의 폭이 통제 수준을 말해 줍니다.

오픈폭 = (종료연도 × 12 + 종료기간) − (시작연도 × 12 + 시작기간) + 1

오픈폭 1~2개월   →  정상 — 당월과 직전월
오픈폭 3개월 이상 →  주의 — 필요 이유 확인
당기 미포함       →  전기 불가 — 업무 중단 위험

2구간(13~16)  결산 조정 전용 — 권한 그룹으로 제한

2구간을 따로 두는 이유

결산 조정 전표는 12월에 넣지 않고 특별기간에 넣습니다. 그래야 월별 실적과 결산 조정이 섞이지 않습니다. 2구간은 권한 그룹으로 제한해 일반 사용자가 쓰지 못하게 하는데, 이 제한이 풀려 있으면 통제가 무너지므로 함께 점검합니다.

계정유형별 개폐 전략

계정유형대상통상 운영
+ 전체(공통)기본 설정가장 좁게 유지
S GL 계정총계정원장 전기결산 작업 중 열어 둠
D 고객 · K 공급업체채권채무 전기영업·구매 마감에 맞춤
A 자산 · M 자재자산·재고 전기해당 모듈 마감 후 닫음

모듈별 마감 시점이 다르므로 계정유형을 나눠 닫는 것이 일반적입니다.

조회조건

필드필수설명
회사코드 Bukrs필수대상 회사코드
계정유형 Koart선택+ / S / D / K / A / M
권한그룹 Brgru선택기간 개폐 권한 단위
상태선택전체 / 기준 초과만

결과 컬럼

컬럼의미 · 표시
회사코드 Bukrs · BukrsText대상 법인
권한그룹 Brgru기간 개폐 권한 단위
계정유형 Koart · KoartText전체 · GL · 고객 등
1구간 시작 FromPeriod1 · 종료 ToPeriod1통상 업무 기간
1구간 연도 FromFiscalYear1 · ToFiscalYear1시작·종료 회계연도
2구간 시작 FromPeriod2 · 종료 ToPeriod2특별기간 (13~16)
오픈폭열려 있는 개월 수. 기준 초과 시 상태 색
당기 전기 가능현재 월 포함 여부
마지막 변경자 LastChangedBy · 변경일변경 이력
비고 Remark개폐 사유

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
OB52전기 기간 개폐현재 설정을 조회 관점으로 모아 통제 점검
T001B전기 기간 설정 테이블조회 원천
OB52 권한 그룹개폐 권한 제한그룹별 설정 확인
T001회사코드 마스터법인 명칭
FAGL_EHP4_T001B_COFI 관점원장별 기간 제어병행 원장 환경 확인

도입 시 확인이 필요한 부분

병행 원장을 쓰면 원장별로 기간 제어가 따로 있을 수 있습니다. 또 자재 기간(MMPV)은 FI 기간과 별개로 관리되므로, 재고 전기가 막히는 문제는 이 화면만으로는 보이지 않습니다. 적정 오픈폭 기준도 회사 통제 정책으로 정해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCPERIODCTRL'
@EndUserText.label: '회계기간 개폐 현황 (Z)'
define view Z_C_POSTING_PERIOD_CONTROL
  as select from t001b as Period
    left outer join t001 as Comp on Period.bukrs = Comp.bukrs
{
  key Period.bukrs,
  key Period.mkoar as Koart,
  key Period.bkont as Brgru,
      Comp.butxt   as BukrsText,
      Period.frpe1 as FromPeriod1,
      Period.tope1 as ToPeriod1,
      Period.frye1 as FromFiscalYear1,
      Period.toye1 as ToFiscalYear1,
      Period.frpe2 as FromPeriod2,
      Period.tope2 as ToPeriod2
      // 오픈폭 = (종료연도×12+종료기간) − (시작연도×12+시작기간) + 1
      // 당기 전기 가능 여부는 현재 기간이 범위에 포함되는지로 판정
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 기간 현황 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
현황 테이블sap.m.Table — 1구간·2구간을 나란히 배치
상태 표시sap.m.ObjectStatus — 오픈폭 초과 · 당기 전기 불가
상세 화면sap.m.Dialog — 변경 이력

당기 전기 가능 여부를 열로 둔 이유

"전표가 안 들어간다" 는 문의가 오면 원인의 상당수가 기간 마감입니다. 시작·종료 기간 숫자를 보고 현재 월이 그 안에 있는지 계산하게 하는 대신 가능·불가로 바로 보여 주면 확인이 한 번에 끝납니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.periodctrl) · ko 로케일
view/Main.view.xml조회조건과 기간 현황 테이블
controller/Main.controller.js조회 · 오픈폭 계산 · 전기 가능 판정 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js기간 · 연도 · 상태 색 포맷터
localdata/periodctrl.json기간 설정 18건

검증 결과

검증 항목결과
오픈폭 = 종료 시점 − 시작 시점 + 1 (전 건)통과
시작 기간 ≤ 종료 기간 · 시작 연도 ≤ 종료 연도통과
2구간은 13~16 범위 내통과
당기 전기 가능 판정 = 현재 기간 포함 여부와 일치통과
회사코드·계정유형 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

기간을 넓게 열어 두면 무엇이 문제인가요?

확정한 과거 월에 전표가 들어갈 수 있습니다. 이미 보고한 재무제표가 바뀌고, 감사에서 왜 달라졌는지 설명해야 합니다. 필요할 때만 열고 바로 닫는 운영이 원칙입니다.

계정유형을 왜 나눠서 관리하나요?

모듈별 마감 시점이 다르기 때문입니다. 자산 상각이 끝나면 자산 기간을 닫고, GL 은 결산 조정이 끝날 때까지 열어 둡니다. 한꺼번에 닫으면 아직 작업 중인 모듈이 막힙니다.

자재 기간도 여기서 보이나요?

보이지 않습니다. 자재 기간은 MMPV 로 별도 관리됩니다. 재고 전기가 막히면 FI 기간이 아니라 자재 기간을 확인해야 합니다.

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

기간 개폐는 OB52 설정이 담당합니다. 이 화면은 그 설정을 회사코드·계정유형별로 모아 오픈폭과 당기 전기 가능 여부를 계산해, 통제 점검과 문의 대응을 한 번에 하게 하는 확장입니다.

회계기간 통제, 지금 쓰는 SAP 위에서 확장해 보세요

어디가 열려 있는지 한눈에 보이면 닫는 것을 잊지 않습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

회계기간기간개폐OB52Posting Period마감통제내부통제결산OpenUI5