Appearance
시스템 관리
Intellidesk의 관리자 설정 모듈은 사용자 관리, 테넌트 구성, 마스터 코드 관리, AI 사용량 모니터링 등 시스템 전반의 운영 관리를 수행하는 기능입니다. 기능별로 Admin 또는 Tenant Admin 역할이 필요합니다.
역할별 관리 범위
Tenant Admin은 현재 테넌트의 사용자와 시스템 설정만 관리합니다. 전체 테넌트 운영, 역할·권한 정의, AI 할당량 변경은 Admin 또는 상위 관리자만 수행할 수 있습니다.
화면 테마 설정
사이드바 하단의 사용자 아바타를 클릭하면 사용자 설정, 언어, 테마, 색상 테마, 휴지통, 내 피드백, 사용자 가이드, 버전 정보와 로그아웃 메뉴가 열립니다. 시스템 연결 상태는 기존처럼 사이드바 하단에서 확인합니다.
테마에서는 라이트 · 다크 · 시스템 중 하나를 선택합니다. 시스템을 선택하면 운영체제의 화면 모드를 따르며 운영체제 설정이 바뀔 때 즉시 반영됩니다. 색상 테마에서는 기존 색상을 선택할 수 있습니다. 테마 변경은 즉시 적용되며 같은 브라우저에서 다시 접속해도 유지됩니다. 관리자 권한 없이 사용할 수 있습니다.
언어에서는 한국어와 English를 선택합니다. 버전 정보에서는 현재 버전의 변경 기록을 확인하고 다른 버전이나 미출시 변경으로 전환할 수 있습니다.
사용자 관리
사용자 목록 조회
관리자 설정 > 사용자 관리 메뉴에서 등록된 전체 사용자를 조회합니다.
| 표시 항목 | 설명 |
|---|---|
| 이름 | 사용자 표시 이름. 클릭하면 수정 화면이 열립니다 |
| 이메일 | 알림 수신 이메일 |
| 역할 | 부여된 역할 (Admin, User, Viewer 등) |
| 상태 | 활성(Active) / 비활성(Inactive) |
| 최근 로그인 | 마지막 로그인 일시 |
SUPER_ADMIN, SYSTEM_ADMIN, ADMIN, TENANT_ADMIN 역할을 가진 사용자는 이름 옆에 역할별 색상 배지가 표시됩니다. 여러 관리자 역할을 가진 경우 배지가 함께 표시됩니다.
필터의 사용자 구분에서 검색용 사용자를 선택하면 담당자 지정 등 사용자 검색에만 사용하는 계정만 조회할 수 있습니다.
상단의 사용자·좌석 현황을 누르면 보유·사용·잔여 좌석과 일반 사용자·읽기 전용 사용자의 인원 및 환산 좌석을 확인할 수 있습니다. 남은 좌석으로 각 사용자 유형을 몇 명까지 추가할 수 있는지도 표시됩니다. 역할별 목록 보기를 누르면 해당 활성 사용자만 필터링해 역할 변경이나 비활성화 대상을 검토할 수 있습니다. 일반·기능 역할이 있는 활성 사용자는 1명당 1석이며, 해당 역할 없이 읽기 전용으로 사용하는 활성 사용자는 3명당 1석으로 남는 인원을 올림 계산합니다. 두 유형의 역할을 함께 가지면 일반 사용자로 계산합니다. 이미 전체 좌석을 초과한 경우에는 읽기 전용 사용자 묶음에 빈자리가 있어도 새 사용자를 추가하거나 비활성 사용자를 다시 활성화할 수 없습니다. 비활성, 검색용 사용자, AI 봇, SUPER_ADMIN 계정은 좌석에서 제외합니다.

사용자 생성
- 사용자 관리 화면에서 새 사용자 버튼을 클릭합니다.
- 사용자 기본 정보를 입력합니다.
- 역할을 지정합니다.
- 저장 버튼을 클릭합니다.
담당자 지정 등 사용자 검색에만 필요하고 실제로 로그인하지 않는 사용자는 검색용 사용자로 표시해 생성할 수 있습니다. 자세한 절차는 Tenant Admin 가이드의 사용자 생성을 참고하세요.
비밀번호 초기화
사용자가 비밀번호를 잊었을 때 관리자가 임시 비밀번호로 초기화할 수 있습니다. 행의 작업 메뉴에서 비밀번호 초기화를 선택하면 한 명을, 목록에서 여러 명을 체크한 뒤 목록 위의 비밀번호 초기화 버튼을 누르면 선택한 사용자를 한 번에 초기화합니다. 초기화된 계정은 다음 로그인에서 비밀번호를 변경해야 합니다. 자세한 절차는 Tenant Admin 가이드의 비밀번호 초기화를 참고하세요.
여러 사용자 일괄 처리
목록에서 여러 사용자를 체크하면 목록 위에 일괄 권한 할당, 비밀번호 초기화, 활성화, 비활성화, 삭제 버튼이 나타납니다. 계정별로 순서대로 처리되고 결과 목록에서 성공·실패를 확인할 수 있습니다. 자세한 절차는 Tenant Admin 가이드의 여러 사용자 일괄 처리를 참고하세요.
역할 및 권한
권한은 두 축으로 결정됩니다. 라이선스 티어가 테넌트에서 어떤 기능 영역이 열리는지를 정하고, 역할이 열린 영역 안에서 어떤 동작(조회·생성·수정·삭제)을 할 수 있는지를 정합니다. 티어 밖의 영역은 어떤 역할을 부여해도 열리지 않습니다. 티어는 라이선스 티어를 참고하세요.
| 역할 | 설명 | 주요 권한 |
|---|---|---|
| Admin | 시스템 관리자 | 티어 안의 모든 기능 접근, 사용자 관리, 시스템 설정 |
| Tenant Admin | 테넌트 관리자 | 현재 테넌트 사용자와 시스템 설정 관리, SAP 시스템 등록 |
| Process Designer | 프로세스 설계자 | 프로세스 체계도·흐름도·액티비티 라이브러리 작성 |
| Func/Tech Designer | 사양서 설계자 | 기능·기술 사양서, SAP 설정 문서 작성 |
| Program Developer | 개발 담당자 | 프로그램 개발 작업공간, 프로그램 수정·삭제 |
| Test Designer | 테스트 설계자 | 테스트 시나리오·라운드, SAP 테스트 자동화 작성 |
| Viewer | 조회 전용 | 티어에 포함된 모든 기능 영역을 조회만 가능 |
모든 사용자의 기본 권한
역할과 무관하게 모든 사용자는 담당자 이름 표시, 조직도, 프로그램 검색과 등록, 보고서·인사이트 조회, 티켓을 사용할 수 있습니다. 노트북은 역할에 따릅니다. 이 기본 권한은 역할 설정으로 바뀌지 않습니다.
역할 조합
하나의 사용자에게 여러 역할을 동시에 부여할 수 있습니다. 예를 들어 Process Designer + Program Developer 역할을 함께 부여하면 해당 티어에서 프로세스와 개발 기능을 함께 사용할 수 있습니다. 조회만 필요한 사용자에게는 Viewer 하나만 부여하면 되고, 어느 영역이 보이는지는 티어가 정합니다.
Tenant Admin 역할 위임
Tenant Admin은 Admin·Super Admin 같은 상위 관리자 역할을 제외한 모든 역할을 다른 사용자에게 할당하거나 회수할 수 있습니다. 현재 티어에서 쓸 수 없는 역할은 배정 목록에 나타나지 않습니다. 다른 Tenant Admin을 지정하거나 해제할 수 있지만 마지막 활성 Tenant Admin은 해제하거나 비활성화할 수 없습니다.
사용자 비활성화
Tenant Admin은 사용자를 삭제할 수 없습니다. 사용 중지 시 사용자 행의 작업 메뉴에서 비활성화를 선택합니다. Admin 계정과 같은 상위 관리자 계정은 변경할 수 없습니다.
권한 관리
역할별 세부 권한을 커스터마이징할 수 있습니다.
Tenant Admin은 역할과 권한 정의 또는 역할-권한 매핑을 변경할 수 없습니다.
- 모듈 접근 권한: 각 모듈(노트북, 채팅, 코드 생성 등)별 접근 여부
- 데이터 범위: 조회 가능한 데이터 범위 (전체 / 소속 조직 / 본인)
- 실행 권한: 파이프라인 실행, 코드 배포 등 실행 권한
- 관리 권한: 사용자 관리, 설정 변경 등 관리 기능 권한
역할 목록
역할 관리 탭에서 역할을 검색하고 상태를 확인합니다.
- 검색창에 역할 ID, 역할명, 설명 중 아무거나 넣어 목록을 좁힙니다.
- 비활성 포함을 켜면 비활성 역할까지 목록에 나옵니다. 비활성으로 돌린 역할을 다시 살리려면 이 스위치를 켜서 찾습니다.
- 권한 열에는 앞의 세 개만 배지로 보이고 나머지는 외 N개로 접힙니다. 눌러 보면 해당 역할의 권한 탭이 열립니다.

역할 정보 팝업
역할 ID나 역할명을 클릭하면 그 역할의 팝업이 조회 상태로 열립니다. 값을 고치려면 팝업 아래의 수정을 눌러 편집 상태로 들어간 뒤 저장합니다. 취소를 누르면 열었을 때의 값으로 되돌아가고 팝업은 조회 상태로 남습니다.
목록의 작업 메뉴에서 수정이나 권한 할당을 고르면 바로 편집 상태로 열립니다. 권한 할당은 권한 탭이 먼저 보이게 열립니다. 새 역할을 만들 때도 처음부터 편집 상태입니다.
| 탭 | 내용 |
|---|---|
| 기본 정보 | 역할 ID, 역할명, 설명, 상태 |
| 권한 | 리소스별로 묶은 권한 체크박스. 탭 이름 옆에 선택 개수가 보입니다 |
| 변경 이력 | 역할명, 설명, 상태, 권한 목록의 변경 기록 |
기본 정보와 권한을 함께 고치고 저장 한 번으로 반영합니다. 역할을 수정할 권한이 없는 계정에는 수정 버튼이 보이지 않습니다.
상태 스위치로 역할을 활성·비활성으로 바꿉니다. 비활성 역할은 사용자에게 권한을 주지 않습니다. 상태는 이미 있는 역할에만 나오며, 새로 만드는 역할은 항상 활성으로 생성됩니다.
비활성 역할은 권한을 바꿀 수 없습니다
상태가 비활성인 역할은 권한 탭이 잠깁니다. 권한을 고치려면 먼저 상태를 활성으로 바꿔 저장한 뒤 다시 여세요.
권한 탭에서는 리소스 묶음의 머리글 체크박스로 그 리소스의 권한을 한 번에 켜고 끕니다. 검색창에 권한명이나 권한 ID를 넣으면 해당 항목만 남습니다. 비활성 권한은 저장되지 않으므로 목록에 나오지 않습니다.

권한 목록
권한 관리 탭은 역할에 매핑할 권한 정의를 다룹니다. 목록 사용법은 역할 탭과 같습니다.
- 검색창에 권한 ID, 권한명, 설명 중 아무거나 넣어 목록을 좁힙니다.
- 비활성 포함을 켜면 비활성 권한까지 나옵니다. 비활성으로 돌린 권한을 다시 살리려면 이 스위치를 켭니다.
- 리소스 타입과 작업은 코드 대신 화면 문구로 표시됩니다.
권한 정보 팝업
권한 ID나 권한명을 클릭하면 조회 상태로 열리고, 수정을 눌러 편집 상태로 들어갑니다. 기본 정보 탭과 변경 이력 탭으로 나뉩니다.
| 항목 | 설명 |
|---|---|
| 리소스 타입, 작업 | 새로 만들 때만 고를 수 있습니다. 이미 있는 권한은 바꿀 수 없습니다 |
| 권한 ID, 권한명 | 리소스 타입과 작업을 고르면 자동으로 채워집니다 |
| 설명 | 자유롭게 적습니다 |
| 상태 | 활성·비활성. 비활성 권한은 역할에 매핑되지 않습니다 |

테넌트 구성
멀티 테넌트 환경에서 각 테넌트의 설정을 관리합니다.
설정 탭을 클릭하면 주소의 tab 값도 변경됩니다. 새로고침하거나 해당 주소로 접속하면 같은 탭이 열리며, 브라우저 뒤로 가기와 앞으로 가기로 탭 이동 기록을 탐색할 수 있습니다.
테넌트 설정 항목
| 항목 | 설명 |
|---|---|
| 테넌트 이름 | 조직 또는 프로젝트 이름 |
| SAP 시스템 연결 | 연결할 SAP 시스템 목록 |
| AI 모델 설정 | 사용할 AI 모델, API Key와 API Base URL |
| 스토리지 한도 | 문서 및 파일 저장 용량 제한 |
| 사용자 한도 | 최대 등록 가능 사용자 수 |
계약 정보와 사용 제한
계약 기간과 좌석, 보너스는 라이선스 현황 화면에서만 관리합니다. 테넌트 생성·수정 대화상자에는 DB 연결과 호스트 등 인프라 정보만 남아 있습니다. 편집 지점을 하나로 둬야 화면마다 값이 어긋나지 않습니다.
좌석은 로그인할 수 있는 활성 계정만 계산하며, 검색용 사용자·비활성 계정·AI 봇 계정·SUPER_ADMIN 계정은 제외됩니다. 좌석 초과 여부는 라이선스 현황 화면에서 확인하고, 필요하면 그 화면에서 테넌트 관리자에게 안내를 보냅니다.
계약이 만료되어 차단이 걸린 상태에서도 관리자 화면과 로그인 경로는 계속 열려 있으므로, 계약을 갱신해 즉시 정상화할 수 있습니다. 스토리지 한도는 현재 표시용 값이며 실제로 강제되지 않습니다.
라이선스 티어
테넌트마다 라이선스 티어를 두어 사용할 수 있는 기능 영역을 정합니다. 상위 티어는 하위 티어의 영역을 모두 포함합니다.
| 티어 | 주요 목적 | 포함 범위 |
|---|---|---|
| T1 · 프로세스 관리 | 업무 프로세스 표준화·관리 | 공통 기능과 프로세스 관리 |
| T2 · 개발·분석 | SAP 분석과 프로그램 개발 | T1 전체, 개발·분석·매뉴얼, intelli-connect SSO |
| T3 · 테스트 자동화 | SAP 테스트와 반복 검증 | T2 전체, 테스트 계획·라운드·실행 결과, SAP 테스트 자동화 |
기능 사양서·기술 사양서·SAP 설정 문서는 세 티어의 제공 범위에서 제외됩니다. 기존 문서는 삭제되지 않습니다.
기능 비교와 티어 선택
| 영역 | 기능 | 주요 내용 | T1 | T2 | T3 |
|---|---|---|---|---|---|
| 공통 | 사용자·조직·역할 관리 | 사용자와 조직 구성, 역할별 접근 권한 관리 | 포함 | 포함 | 포함 |
| 공통 | 프로그램 검색 | 등록된 프로그램 정보 검색·조회 | 포함 | 포함 | 포함 |
| 공통 | 티켓 관리 | 업무 요청과 이슈 등록·처리 | 포함 | 포함 | 포함 |
| 공통 | 보고서 | 보고서 작성·조회 | 포함 | 포함 | 포함 |
| 공통 | 노트북 | 업무 자료와 지식 정리 | 포함 | 포함 | 포함 |
| 공통 | 인사이트 | 업무 현황과 분석 정보 확인 | 포함 | 포함 | 포함 |
| 공통 | 업무 채팅 | 챗봇을 통한 업무 대화 | 포함 | 포함 | 포함 |
| 프로세스 | 프로세스 체계도 | 업무 계층과 담당 조직·오너 관리 | 포함 | 포함 | 포함 |
| 프로세스 | BPMN 흐름도 | 업무 절차와 분기·연결 관계 설계 | 포함 | 포함 | 포함 |
| 프로세스 | E2E 프로세스 | 여러 흐름도를 연결한 전체 업무 흐름 확인 | 포함 | 포함 | 포함 |
| 프로세스 | 변형 흐름도 | 법인·조직별로 다른 업무 절차 관리 | 포함 | 포함 | 포함 |
| 프로세스 | Fit & GAP 관리 | 표준과의 차이 및 개선 대상 관리 | 포함 | 포함 | 포함 |
| 프로세스 | 액티비티 라이브러리 | 공통 업무 활동 등록·재사용 | 포함 | 포함 | 포함 |
| 프로세스 | 흐름도 시뮬레이션 | BPMN 실행 경로와 예상 소요 시간 확인 | 포함 | 포함 | 포함 |
| 프로세스 | 버전·검토·확정 | 프로세스 변경 이력과 검토 상태 관리 | 포함 | 포함 | 포함 |
| 개발 | 프로그램 개발 관리 | 개발 대상과 관련 정보 관리 | — | 포함 | 포함 |
| 개발 | ABAP Agent | AI와 대화하며 ABAP 코드 생성·수정·검증·SAP 반영 | — | 포함 | 포함 |
| 개발 | 파이프라인 | 파이프라인 구성·실행 관리 | — | 포함 | 포함 |
| 분석 | SAP 오브젝트 분석 | SAP 오브젝트의 소스와 구조 분석 | — | 포함 | 포함 |
| 분석 | 시스템 간 오브젝트 비교 | 여러 SAP 시스템의 동일 오브젝트 비교 | — | 포함 | 포함 |
| 분석 | CBO 의존성 분석 | 오브젝트 참조 관계와 변경 영향 파악 | — | 포함 | 포함 |
| 분석 | 분석 결과 저장·공유 | 분석 결과 저장·재조회·협업 | — | 포함 | 포함 |
| 문서 | 사용자 매뉴얼 | 최종 사용자를 위한 업무·화면 조작 안내 관리 | — | 포함 | 포함 |
| 문서 | 운영 매뉴얼 | 시스템 운영 절차와 대응 방법 관리 | — | 포함 | 포함 |
| 문서 | 기타 문서 | 회의록·교육 자료 등 프로젝트 문서 관리 | — | 포함 | 포함 |
| 인증·연동 | intelli-connect | T2부터 SSO 연동 기능 포함 | — | 포함 | 포함 |
| 인증·연동 | OAuth SSO | OAuth 방식의 통합 로그인 | — | 포함 | 포함 |
| 인증·연동 | SAML SSO | SAML 방식의 통합 로그인 | — | 포함 | 포함 |
| 테스트 | 테스트 계획·시나리오 | 검증 대상과 수행 절차 구성 | — | — | 포함 |
| 테스트 | 테스트 라운드 | 반복 테스트 차수와 수행 현황 관리 | — | — | 포함 |
| 테스트 | 테스트 실행·결과 기록 | 단계별 수행 결과와 증빙 관리 | — | — | 포함 |
| 테스트 | SAP 테스트 자동화 | SAP 화면 조작을 통한 자동 테스트 실행 | — | — | 포함 |
| 테스트 | 결과 보고·차수 비교 | 테스트 보고서와 라운드별 결과 비교 | — | — | 포함 |
| 확장팩 | MCP 확장팩 | 계약한 티어의 기능을 외부 AI 도구·에이전트에서 활용. 별도 비용이 필요합니다. | 별도 유료 | 별도 유료 | 별도 유료 |
| 필요한 업무·조건 | 선택 구성 |
|---|---|
| 체계도·BPMN·E2E를 정리하고 조직별 업무 절차를 표준화합니다. | T1 |
| ABAP 개발, SAP 오브젝트 비교·의존성 분석 또는 사내 OAuth·SAML SSO가 필요합니다. | T2 이상 |
| 반복 검증과 테스트 계획·라운드·실행 결과·SAP 자동 테스트가 필요합니다. | T3 |
| 외부 AI 도구·에이전트에서 계약한 티어의 기능을 활용합니다. | 해당 티어 + MCP 확장팩 |
intelli-connect SSO는 T2부터 기본 포함됩니다. MCP 확장팩은 모든 티어에서 선택 구매할 수 있으며 기본 티어 비용과 별도입니다. 확장팩은 계약한 티어의 기능 범위에 적용되며 상위 기능에는 티어 업그레이드가 필요합니다. 실제 연동은 제공되는 MCP 도구와 사용자 권한 범위를 따릅니다.
T1의 흐름도 시뮬레이션은 BPMN 업무 경로를 검토하고, T3의 SAP 테스트 자동화는 SAP에서 실제 동작을 검증합니다. AI 기능은 업무 채팅·프로세스·개발 등 해당 업무의 제공 범위를 따릅니다.
사용자 관리, 설정, 티켓, 보고서, 노트북, 인사이트, 프로그램 검색은 티어와 무관하게 모든 테넌트에서 열립니다.
티어 밖의 기능은 메뉴에서 보이지 않고, 주소로 직접 접근해도 권한 없음 화면으로 이동하며, API 호출도 차단됩니다. 티어를 설정하지 않은 테넌트는 기능 제한이 없습니다.
테넌트 관리자는 설정 > 라이선스에서 현재 티어와 간략한 설명, 전체 기능 비교표와 티어 선택 기준을 확인할 수 있습니다. 티어 변경은 서비스 운영자가 라이선스 현황에서 합니다.

라이선스 현황
사이드바에서 시스템 설정 > 테넌트·라이선스 > 라이선스 현황으로 이동하면 전체 테넌트의 계약과 좌석을 한 화면에서 확인합니다.
상단 요약은 주의가 필요한 테넌트 수를 앞세우고, 그 내역을 만료 임박·경과, 좌석 초과, AI 한도 임박으로 나눠 보여줍니다. 만료 임박은 종료일까지 30일 이내, 한도 임박은 사용률 75% 이상을 기준으로 합니다.
주의 여부는 계약 제한 적용 여부와 무관하게 판정합니다. 제한을 꺼 둔 테넌트라도 계약이 만료됐거나 좌석을 넘긴 사실은 운영자가 알아야 하기 때문입니다. 실제로 제한이 걸리는지는 테넌트 이름 옆의 미적용 배지로 구분합니다.
테넌트가 보는 경고와의 차이
테넌트 화면 상단의 경고 배너는 계약 제한이 켜진 경우에만 표시됩니다. 제한이 꺼져 있으면 실제로 이용이 막히지 않으므로 사용자에게 경고할 이유가 없습니다. 운영자용인 이 화면만 적용 여부와 무관하게 표시합니다.
표에는 테넌트별로 관리자, 계약 상태와 종료일, 좌석 사용량, 이번 달 AI 사용량이 표시됩니다. 주의가 필요한 행은 배경이 옅게 강조되고 이름 앞에 경고 아이콘이 붙습니다. 주의 필요만 보기를 켜면 그 행만 남습니다.
표에서 읽는 값
| 열 | 내용 |
|---|---|
| 테넌트 | 테넌트 이름과 ID, 라이선스 티어 배지. 티어가 없으면 티어 미설정으로 표시됩니다 |
| 관리자 | 해당 테넌트의 Admin·Tenant Admin. 여러 명이면 첫 명과 인원수가 표시됩니다 |
| 계약 | 계약 상태 배지와 실질 종료일, 남은 일수. 보너스가 있으면 내역이 함께 표시됩니다 |
| 좌석 | 사용 중인 계정 수 / 제공 좌석 수와 사용률 막대. 보너스가 있으면 내역이 함께 표시됩니다 |
| AI 사용량 | 이번 달 사용량 중 한도에 가장 가까운 항목과 사용 금액 |
AI 사용량은 토큰·요청·비용 세 가지에 각각 한도가 걸릴 수 있어, 실제로 먼저 막히는 항목을 골라 보여줍니다. 막대 아래에 어떤 기준인지와 이번 달 사용 금액이 함께 표시됩니다. 한도가 하나도 설정되지 않은 테넌트는 사용 금액만 표시됩니다. AI 한도 자체는 각 테넌트의 설정 > 시스템 설정 > AI 할당량에서 조정합니다.

계약 정보 수정
테넌트 행의 설정을 클릭하면 계약과 보너스, 만료 처리를 한 대화상자에서 수정합니다. 계약·좌석 정보를 고칠 수 있는 곳은 이 화면뿐입니다.
| 구분 | 항목 |
|---|---|
| 티어 | 라이선스 티어(미설정·T1~T3). 저장 즉시 메뉴와 API 에 적용됩니다 |
| 계약 | 계약 시작일, 계약 종료일, 계약 좌석 |
| 보너스 | 보너스 기간(일), 보너스 좌석 |
| 만료 처리 | 유예(일), 만료 후 동작(조회만·차단) |
| 공통 | 계약 제한 적용. 끄면 계약 정보를 참고용으로만 보관하고 실제 제한을 걸지 않습니다 |
신규 테넌트의 기본 좌석은 30이며, 이전에 만든 테넌트는 100으로 남아 있습니다.
계약 제한 적용을 켜기 전에
계약 제한 적용을 켜면 좌석과 기간이 즉시 강제됩니다. 켜기 전에 좌석 수와 계약 기간이 실제 계약 조건과 맞는지 확인하세요.

보너스 기간과 보너스 좌석
계약 조건은 그대로 두고 얹어 주는 값입니다. 무상 연장이나 임시 좌석 증설을 계약서 수치를 고치지 않고 반영할 때 씁니다.
- **보너스 기간(일)**은 계약 종료일에 더해집니다. 실질 종료일 = 계약 종료일 + 보너스 기간이고, 유예 기간은 그 뒤에 붙습니다.
- 보너스 좌석은 계약 좌석에 더해집니다. 제공 좌석 = 계약 좌석 + 보너스 좌석입니다.
- 만료 판정과 좌석 초과 판정, 새 계정 생성 차단은 모두 합산한 값을 기준으로 합니다.
- 대화상자 아래에 합산 결과(실질 종료일과 제공 좌석)가 미리 표시되므로 저장 전에 확인할 수 있습니다.
- 0을 넣으면 보너스가 없는 것과 같습니다. 기간을 깎는 용도로는 쓸 수 없습니다.
안내 발송
테넌트 행의 안내를 클릭하면 해당 테넌트의 Tenant Admin과 Admin에게 앱 알림과 메일을 보냅니다. 현재 상태에 맞는 문구가 초안으로 채워지므로 그대로 보내거나 고쳐 쓸 수 있습니다. 안내 문구는 최대 1000자입니다.
초안은 해당하는 항목을 모두 모아서 만듭니다. 계약이 만료됐거나 임박한 경우, 좌석이 초과됐거나 90% 이상인 경우, AI 사용량이 한도의 75%를 넘은 경우가 각각 한 문단으로 들어갑니다. 특이사항이 없으면 현재 좌석 사용량을 알리는 문구가 채워집니다.
자동 알림과 수동 안내
안내는 운영자가 직접 보낼 때만 발송됩니다. 시스템이 자동으로 보내는 라이선스 알림은 없습니다.
조회에 실패한 테넌트
테넌트 DB에 연결하지 못하면 좌석 칸에 —가 표시되고 테넌트 이름 아래에 실패 사유가 나타납니다. 나머지 테넌트 현황은 정상적으로 표시됩니다.
테넌트 분리
프로젝트별 또는 조직별로 테넌트를 분리하면 데이터 격리와 독립적인 설정 관리가 가능합니다.
OpenAI Agent 연결은 환경 설정의 OPENAI_API_KEY와 OPENAI_BASE_URL을 함께 사용합니다. OPENAI_BASE_URL에는 https://api.openai.com/v1처럼 /v1까지 포함한 API 루트를 입력합니다. /chat/completions 같은 개별 endpoint 경로를 입력하지 마십시오.
마스터 코드 관리
시스템 전반에서 사용하는 공통 코드를 관리합니다.
코드 그룹
| 코드 그룹 | 설명 | 예시 |
|---|---|---|
| 티켓 카테고리 | 티켓 유형 분류 코드 | 장애, 개선, 신규 개발 |
| 우선순위 | 업무 우선순위 코드 | Critical, High, Medium, Low |
| SAP 모듈 | SAP 모듈 분류 코드 | FI, CO, MM, SD, PP |
| 문서 유형 | 문서 분류 코드 | 기능 명세, 기술 명세, 테스트 시나리오 |
| 프로그램 유형 | 프로그램 분류 코드 | Report, BDC, Interface, Enhancement |
코드 관리 방법
- 마스터 코드 관리 메뉴에서 코드 그룹을 선택합니다.
- 기존 코드의 코드값이나 이름을 클릭해 편집 창을 엽니다.
- 기본 정보와 언어별 이름·설명을 한 창에서 수정하거나 코드를 비활성화합니다.
- 변경 사항을 저장합니다.
코드 삭제 제한
이미 사용 중인 마스터 코드는 삭제할 수 없으며, 비활성화만 가능합니다. 비활성화된 코드는 신규 선택 목록에서 제외되지만 기존 데이터에는 영향을 주지 않습니다.
시스템 설정
개인 알림 설정
개인 설정과 시스템 설정의 알림은 문서·티켓, 프로세스, 댓글, 계정·권한, 시스템·문의로 묶여 있습니다. 각 그룹에서 알림 종류별 앱·이메일 스위치를 나란히 비교할 수 있습니다. 넓은 화면에서는 그룹이 여러 열로, 좁은 화면에서는 한 열로 표시됩니다.
개인 알림은 스위치를 바꾸면 바로 저장됩니다. 시스템의 알림 발송 설정은 변경 후 저장을 눌러 적용하며, 상단 전체 채널 스위치로 앱 또는 이메일 발송을 일괄 변경할 수 있습니다.
사용자 메뉴의 개인 설정 → 알림에서 본인의 수신 채널을 변경할 수 있습니다. 이메일 알림을 끄면 전체 이메일 알림을 받지 않습니다. 검토 요청 메일만 끄려면 세부 알림 설정 → 승인 요청 → 이메일을 끕니다.
앱 내부 알림은 이메일과 독립적입니다. 승인 요청 → 앱을 켜 두면 이메일을 꺼도 상단 종 모양 아이콘과 알림 목록에서 요청을 확인할 수 있습니다. 브라우저 데스크톱 알림 설정과도 별개입니다. 각 스위치의 변경은 즉시 저장됩니다.
운영 관리자가 해당 채널의 발송을 차단한 경우에는 개인 설정에서 켜도 발송되지 않습니다. 테넌트 전체에 적용되는 알림 발송 설정은 기존과 같이 운영 관리자만 변경할 수 있습니다.
Intellidesk의 전반적인 동작을 제어하는 설정입니다.
주요 설정 항목
| 카테고리 | 설정 항목 | 설명 |
|---|---|---|
| 일반 | 시스템 이름 | 화면에 표시되는 시스템 이름 |
| 일반 | 기본 언어 | 시스템 기본 언어 (한국어/영어) |
| AI | 기본 모델 | 기본 사용 AI 모델 |
| AI | 최대 토큰 | 요청당 최대 토큰 수 |
| AI | Temperature | AI 응답의 창의성 수준 (0.0 ~ 1.0) |
| 보안 | 세션 타임아웃 | 미활동 시 자동 로그아웃 시간 |
| 보안 | 비밀번호 정책 | 최소 길이, 복잡도, 변경 주기 |
| 알림 | 이메일 알림 | 이메일 알림 활성화 여부 |
Tenant Admin은 현재 테넌트의 시스템 설정을 변경할 수 있지만 AI 할당량은 변경할 수 없습니다. 암호화된 민감 설정값은 마스킹되어 표시됩니다.
Tenant Admin에게는 AI 할당량 설정 탭이 표시되지 않습니다. 역할이 변경된 직후에도 서버는 로그인 토큰이 아니라 현재 활성 역할을 다시 확인하므로 이전 Admin 권한으로 저장할 수 없습니다.
알림 발송 설정과 작업 큐도 운영 관리자 기능입니다. Tenant Admin에게는 두 탭이 표시되지 않으며 해당 설정 조회·저장, 작업 조회·재처리 API도 사용할 수 없습니다.

에이전트별 모델 설정 파일
서버 운영자는 intellidesk-agent/src/config/agent-settings.json에서 에이전트별 추론 강도, 최대 출력 토큰 수, temperature를 관리할 수 있습니다. 이 파일은 해당 에이전트 서비스를 사용하는 모든 테넌트에 공통으로 적용됩니다. 모델명과 공급자는 기존 테넌트 AI 설정과 환경변수로 결정됩니다.
agents 아래에 chat, process, processMap, abapCoder 등 에이전트 ID를 키로 사용합니다. 다음 예시는 채팅 에이전트의 설정입니다.
json
{
"agents": {
"chat": {
"modelSettings": {
"maxTokens": 4096,
"reasoning": { "effort": "none" }
}
}
}
}| 설정 | 허용 값 |
|---|---|
maxTokens | 1 이상의 정수 |
temperature | 0 이상 2 이하의 숫자 |
reasoning.effort | none, minimal, low, medium, high, xhigh |
설정 항목은 선택 사항입니다. 에이전트 항목을 생략하거나 "process": {}처럼 modelSettings를 생략하면 SDK 기본 설정을 사용합니다. "modelSettings": {}를 명시하면 별도 모델 옵션이 없는 객체를 전달합니다. 실제 모델이 지원하는 옵션과 값만 지정해야 하며, 위 형식 검증이 모델별 지원 여부까지 확인하지는 않습니다.
파일을 수정한 뒤 에이전트 서비스를 재시작해야 반영됩니다. JSON 문법 오류, 잘못된 에이전트 ID, 지원하지 않는 설정 키 또는 값이 있으면 시작 단계에서 오류가 발생합니다. Docker 이미지로 운영한다면 수정 파일을 포함해 이미지를 다시 빌드하고 배포합니다. 관리자 화면에서의 편집과 실행 중 자동 반영은 지원하지 않습니다.
AI 사용량 모니터링
AI 서비스의 사용량을 모니터링하고 관리합니다.
대시보드
- 일별/주별/월별 사용량: 기간별 AI 토큰 소비량 추이 차트
- 사용자별 사용량: 사용자별 AI 사용량 순위
- 모듈별 사용량: 채팅, 노트북, 파이프라인 등 모듈별 분포
- 비용 추정: 예상 AI 서비스 비용 산출
얼마나 썼는가와 쓸 만했는가
이 화면은 사용량과 비용을 봅니다. 그렇게 만든 결과를 사용자가 실제로 채택했는지는 AI 채택률에서 확인합니다.
AI 응답을 스트리밍하는 도중 오류가 발생하면 사용량 이력에 실패로 기록됩니다. 오류 전에 확인된 토큰·비용은 유지하며, 일부 생성된 응답을 완료 결과로 저장하지 않습니다.
사용량 제한
| 제한 유형 | 설명 |
|---|---|
| 사용자별 일일 한도 | 사용자당 일일 최대 토큰 사용량 |
| 사용자별 월간 한도 | 사용자당 월간 최대 토큰 사용량 |
| 테넌트 월간 한도 | 테넌트 전체 월간 최대 토큰 사용량 |
한도 초과 시
사용량 한도에 도달하면 해당 사용자의 AI 기능이 일시적으로 제한됩니다. 관리자가 한도를 조정하거나 다음 기간까지 대기해야 합니다.
백그라운드 작업
테넌트 설정의 백그라운드 작업 탭에서 시간이 오래 걸리는 수집·집계 작업을 실행하고 진행 상태를 확인합니다. 작업은 백그라운드로 진행되므로 실행 후 화면을 벗어나도 계속됩니다.
화면 위쪽에서 대상 SAP 시스템을 선택하고, 아래 두 탭으로 나뉩니다.
| 탭 | 내용 |
|---|---|
| 현재 상태 | 수집 실행, 진행 상황, 실패 작업, 멈춘 작업 마감 |
| 수집 이력 | 지금까지 수행한 수집 작업의 결과 목록 |
CBO 의존성 그래프 수집
시스템 전체의 커스텀 오브젝트(Z/Y) 의존성을 수집해 저장합니다. 저장된 결과는 CBO 의존 오브젝트 화면에서 데이터 소스를 "저장된 그래프"로 선택해 SAP 접속 없이 빠르게 조회할 수 있습니다.
백그라운드 수집은 실시간 분석과 같은 소스 기준을 사용합니다. 펑션 모듈의 로컬 PERFORM이 호출하는 Function Group FORM 내부 관계를 포함하고, SQL 대상은 DDIC의 활성 투명 테이블로 확인된 경우에만 테이블 관계로 저장합니다. 이 분석 기준이 변경된 버전을 배포한 뒤에는 기존 저장 결과가 자동 교정되지 않으므로 전체 스캔을 다시 실행해야 합니다.
- 카드 오른쪽 위에서 수집할 SAP 시스템을 선택합니다.
- 전체 스캔 실행 또는 증분 스캔 실행을 누릅니다.
- 진행률과 전체·완료·실패·대기 건수가 표시되며, 진행 중에는 자동으로 갱신됩니다.
스캔 실행 시 입력한 SAP 계정은 해당 스캔에서 한 번 로그인한 뒤 전체 오브젝트 수집에 같은 세션을 재사용합니다. 스캔이 완료·실패·취소되면 서버 메모리의 세션과 저장된 스캔 전용 계정이 제거됩니다.
| 스캔 유형 | 대상 | 사용 시점 |
|---|---|---|
| 전체 스캔 | 시스템의 모든 커스텀 오브젝트를 다시 수집 | 최초 구축, 정확한 최신화가 필요할 때 |
| 증분 스캔 | 직전 성공 스캔 이후 변경된 오브젝트만 다시 수집 | 주기적인 갱신 |
증분 스캔의 신뢰성
증분 스캔의 변경 감지는 SAP 시스템에 따라 변경분을 일부 놓칠 수 있습니다. 정확성이 중요한 시점에는 전체 스캔을 사용하세요.
이미 진행 중인 스캔이 있으면 새 스캔을 시작할 수 없습니다. 실패한 작업이 있으면 오브젝트 이름, 시도 횟수와 오류 메시지가 목록으로 표시됩니다. 진행률의 실패 건수, 실패 원인별 건수와 실패 작업 목록은 모두 화면에 표시된 최신 스캔 한 건을 기준으로 합니다. 실패 작업 재집계도 같은 스캔의 실패 오브젝트만 다시 수집하며 과거 스캔의 실패는 수집 이력으로 보존됩니다.
스캔 취소
수집은 오브젝트 수천 개를 처리하므로 오래 걸립니다. 잘못 시작했거나 시스템 부하를 줄여야 하면 진행 중에 스캔 취소 버튼으로 멈출 수 있습니다.
- 아직 시작하지 않은 작업은 버립니다.
- 이미 처리 중인 작업은 중간에 끊지 않고 끝까지 진행합니다.
- 지금까지 수집된 결과는 그대로 유지되며, 저장된 그래프에서 계속 조회할 수 있습니다.
- 취소한 스캔은 상태가 취소됨으로 남습니다. 조치가 필요한 실패와는 구분됩니다.
취소와 증분 스캔의 기준 시점
취소한 스캔은 증분 스캔의 기준 시점이 되지 않습니다. 다음 증분 스캔은 마지막으로 완료된 스캔을 기준으로 변경분을 찾습니다.
수집 이력
수집 이력 탭에서 지금까지 수행한 수집 작업을 최신순으로 확인합니다. 유형(전체·증분), 상태(진행 중·완료·실패·취소됨), 전체 / 완료 / 실패 건수, 삭제 건수, 시작 시각, 소요 시간, 실행자가 표시되며 실패한 경우 오류 메시지가 함께 나옵니다.
삭제 건수는 증분 수집이 정리한 오브젝트 수입니다. 증분 수집은 SAP에 더 이상 존재하지 않는 오브젝트를 저장된 그래프에서 제거하는데, 되돌릴 수 없는 작업이므로 0이 아닌 경우 강조해 표시합니다.
변경된 오브젝트가 없어 즉시 끝난 증분 수집은 건수가 모두 0으로 남습니다. 정상 완료이며 오류가 아닙니다.

멈춘 작업 마감
SAP 세션이 만료되는 등의 이유로 작업이 회복 불가능한 상태가 되면 스캔이 끝나지 않고 계속 진행 중으로 남을 수 있습니다. 일정 시간 넘게 진행되지 않은 작업이 있으면 안내와 함께 고착 작업 마감 버튼이 나타납니다.
버튼을 누르면 멈춘 작업을 실패로 처리하고 스캔을 종료합니다. 이미 수집된 결과는 그대로 유지되므로, 마감 후에도 저장된 그래프는 정상적으로 조회할 수 있습니다. 실패한 오브젝트는 원인을 해결한 뒤 다음 스캔에서 다시 수집됩니다.
작업 큐
테넌트 설정의 작업 큐 탭에서 서버가 뒤에서 처리하는 작업을 한 화면으로 확인하고, 실패한 건을 다시 돌립니다. 앞의 백그라운드 작업 탭이 수집을 실행하는 곳이라면, 이 탭은 실행된 작업이 어디까지 처리됐는지 들여다보는 곳입니다.
세 종류의 작업이 함께 표시됩니다.
| 종류 | 언제 쌓이나 |
|---|---|
| AI 에이전트 | 댓글에서 AI를 멘션하거나 봇 댓글에 답글을 달았을 때 |
| CBO 스캔 | CBO 의존성 그래프 수집을 실행했을 때 |
| 알림 | 댓글·승인 요청 등 알림을 발생시키는 동작을 했을 때 |
상단의 두 선택 상자로 종류와 상태를 걸러 봅니다. 상태별 건수는 선택한 종류를 기준으로 집계됩니다.
| 상태 | 의미 |
|---|---|
| 대기 | 아직 처리를 시작하지 않음(재시도 대기 포함) |
| 처리중 | 워커가 집어간 상태 |
| 승인 대기 | AI가 비가역 행동을 하기 전에 멈춰 세운 상태 |
| 완료 | 정상 처리됨 |
| 실패 | 재시도 횟수를 모두 쓰고 끝난 상태 |
실패 또는 처리중으로 남은 작업은 오른쪽의 재처리 버튼으로 대기 상태로 되돌립니다. 시도 횟수가 0으로 초기화되어 처음부터 다시 처리됩니다. 여러 건을 한 번에 되돌리려면 위쪽의 실패 재처리를 누릅니다.
실패한 작업은 갈래 아래에 오류 메시지가 함께 표시되므로, 원인을 확인한 뒤 조치하고 재처리하세요.

API 요청 제한
로그인한 사용자의 API 요청은 테넌트와 사용자 계정별로 제한됩니다. 같은 회사 공인 IP를 사용하는 다른 사용자의 요청은 이 한도에 합산되지 않습니다. 로그인 전 요청은 테넌트와 접속 IP를 기준으로 제한됩니다. 운영 서버의 기본 API 한도는 15분당 사용자별 1,000건이며, 운영 환경의 RATE_LIMIT_API_MAX 값으로 조정할 수 있습니다.
한도에 도달하면 화면에 요청이 일시적으로 제한되었다는 안내가 표시됩니다. 잠시 기다린 뒤 작업을 다시 시도하세요. 메뉴 권한 조회가 제한된 경우에도 권한이 없는 상태로 확정하지 않으며, 제한이 풀린 뒤 페이지를 새로고침하면 메뉴를 다시 불러옵니다.
로그 뷰어
시스템 운영 로그를 조회하고 분석합니다.
로그 유형
| 로그 유형 | 설명 |
|---|---|
| 접속 로그 | 사용자 로그인/로그아웃 기록 |
| 작업 로그 | 주요 기능 실행 이력 (파이프라인, 코드 생성 등) |
| 에러 로그 | 시스템 오류 및 예외 발생 기록 |
| API 로그 | 외부 API (SAP, AI 서비스) 호출 기록 |
| 감사 로그 | 보안 관련 이벤트 (권한 변경, 설정 변경 등) |
로그 조회 및 필터
- 로그 뷰어 메뉴에서 조회할 로그 유형을 선택합니다.
- 기간, 사용자, 로그 수준(INFO/WARN/ERROR) 등 필터를 설정합니다.
- 조회 버튼을 클릭하여 로그를 확인합니다.
- 필요 시 내보내기 버튼으로 로그를 CSV 파일로 다운로드합니다.
에러 로그 모니터링
운영 안정성을 위해 에러 로그를 주기적으로 확인하는 것을 권장합니다. 반복적으로 발생하는 오류는 근본 원인 분석 후 조치가 필요합니다.
업무 에이전트 대화와 개인 설정 보관
업무 에이전트는 대화, 실행 이벤트, 개인 연결과 업무 지침을 서버의 CODEX_STATE_ROOT에 테넌트·사용자별로 저장합니다. 기본 경로는 서버 실행 계정의 ~/.local/share/intellidesk/codex-users입니다. 배포 시 교체·삭제되는 코드 디렉터리 밖에 두고, 컨테이너에서는 영구 볼륨으로 연결하세요. 해당 경로와 작업 파일이 있는 CODEX_WORKSPACE_ROOT, Codex 실행 계정의 대화 저장소를 함께 백업해야 합니다.
개인 연결의 Bearer 토큰은 기존 ENCRYPTION_KEY로 암호화됩니다. 서버 재시작과 복원 후에도 같은 키를 유지하고 키는 데이터 백업과 분리해 보관하세요. 키가 없으면 토큰이 필요한 개인 연결을 저장할 수 없습니다.
대화 저장과 실행 제어는 현재 단일 서버 프로세스를 기준으로 동작합니다. 여러 서버 인스턴스의 공동 실행 조정은 지원하지 않습니다. 브라우저를 닫거나 다른 대화로 이동해도 실행은 계속되지만 서버·Codex 프로세스가 재시작되면 진행 중 작업은 중단 상태로 표시됩니다. 이미 수행된 외부 작업을 자동으로 반복하지 않으므로 사용자가 결과물을 확인한 뒤 요청을 다시 보내야 합니다. 진행 중인 대화나 작업공간을 삭제하려면 먼저 실행을 중단합니다.
에이전트와 챗 설정
MCP 탭의 **SAP (IntelliGateway)**와 **Intellidesk (앱 업무)**는 같은 방식으로 설정합니다. 상단에서 연결 활성화와 주소를 설정하고, 바로 아래 검색·선택 줄과 도구 목록을 사용합니다. 도구 설명은 각 항목에 표시됩니다. 편집할 에이전트 / 챗을 선택한 뒤 연결 활성화로 서버를 켜고 끄고, 각 도구의 설명을 확인하면서 사용할 도구를 선택합니다. 도구 이름과 설명으로 검색하거나 전체 선택 / 전체 해제를 사용할 수 있습니다. 전체 해제하면 해당 MCP의 도구를 모두 끄며, 기본 도구로 되돌아가지 않습니다. 연결만 끄면 기존 도구 선택은 보존됩니다.
MCP 서버 주소는 두 모드에 공통으로 적용됩니다. 비워두면 서버 환경설정의 기본 주소를 사용합니다. 저장한 연결·도구 설정은 새 대화와 기존 대화의 다음 요청에 적용됩니다. 첫 질문을 보내기 전에 설정을 바꾼 경우에는 새 대화를 시작하라는 안내가 표시될 수 있습니다. 진행 중인 요청은 중단하지 않습니다.
Intellidesk 도구의 설명은 실제 MCP 도구 정의를 사용합니다. 표시된 목록은 연결 성공 여부를 검사한 결과가 아닙니다. 앱 업무 연결은 로그인 사용자의 인증과 권한을 사용하므로 서버 추가로 중복 등록하지 않습니다.

시스템 설정 → AI·연동 → 에이전트 설정에서 에이전트 / 챗을 선택해 모델·MCP 도구·스킬·시스템 프롬프트를 각각 설정합니다. 에이전트는 개발과 SAP 반영, 챗은 업무 자료 분석과 문서·파일 작성에 사용합니다. 기존 code와 chat 설정은 그대로 이어지므로 다시 등록할 필요가 없습니다.
권한 → 기본 모드의 기본 화면은 처음 열 때 사용할 모드를 정합니다. 두 모드의 새 기본 정책은 작업공간 쓰기(workspaceWrite)와 필요 시 승인(on-request)이며, 관리자가 이전에 저장한 정책은 유지됩니다. 대화를 만든 뒤의 파일 접근과 명령 실행은 입력란에서 고른 권한 모드 정책이 우선합니다. 챗은 작업공간 파일을 읽고 만들 수 있지만 SAP 변경 작업은 에이전트에서 수행하도록 기본 지침과 도구가 구분됩니다.
기존에 직접 저장한 챗 시스템 프롬프트도 유지됩니다. 파일 작성이나 스크립트 실행을 금지하는 지침을 추가해 두었다면 허용할 업무 범위에 맞게 수정하세요. 웹 사용자의 PC 폴더에 직접 접근하는 기능은 제공하지 않으며 필요한 자료는 작업공간에 첨부합니다.
ST03 일별 워크로드 수집
백그라운드 작업 → ST03에서 SAP 시스템을 선택하고 수집 가능한 일자 확인을 누릅니다. SAP에 남아 있는 일별 데이터의 날짜를 확인하고 날짜 선택 버튼의 달력에서 일자를 고른 후 선택 일자 수동 수집을 실행합니다. 관리자 권한과 별도로 등록한 ST03 수집용 계정이 필요합니다. 일반 SAP 로그인·SSO 방식이나 공통 계정 설정을 변경할 필요는 없습니다. IntelliGateway에는 getWorkloadAvailability, getWorkloadAggregates 액션이 설치되어 있어야 하며, SAP 계정에 ST03N 및 S_TOOLS_EX_A 조회 권한이 필요합니다.

- 상단의 SAP 시스템을 선택하고 수집용 계정에서 SAP 사용자 ID와 비밀번호를 입력합니다. 연결 확인 후 저장으로 해당 시스템·클라이언트 접속을 확인한 뒤 수집 가능한 일자 확인을 누릅니다.
- SAP 기준 일자 버튼에서 달력을 열고 SAP에 남아 있는 완료 일자를 선택합니다. 달력은 필요한 폭만 사용합니다.
- 선택 일자 수동 수집을 누른 뒤 완료 상태를 확인합니다. 이미 저장한 날짜는 기존 성공 스냅샷을 교체하므로 수집 목적을 확인하고 실행합니다.
- 화면의 저장 결과 새로고침은 저장 상태만 다시 읽습니다.
수집용 계정은 테넌트·SAP 시스템별로 암호화하여 저장하며 일별 수집과 자동 보관 집계에서만 사용합니다. 조회 화면에는 사용자 ID와 등록 상태만 표시하고 비밀번호는 다시 내려보내지 않습니다. 일반 사용자의 로그인이나 개인 SAP 세션으로 대체하지 않습니다. SAP 주소·클라이언트가 변경되면 계정을 다시 등록해야 합니다. 계정 해제는 기존 수집 데이터를 삭제하지 않지만 이후 SAP 접속이 필요한 작업은 계정을 다시 등록할 때까지 실행할 수 없습니다.
날짜를 선택하면 저장 데이터 있음/없음, 수집 중 상태, 최근 저장 시각과 실패 여부만 표시합니다. 상세 행·사용량 합계·페이지 목록은 이 관리 화면에서 조회하지 않습니다. 저장된 행이 없거나 일부 프로파일이 비어 있으면 관측 없음으로 표시하며, 사용량 0으로 간주하지 않습니다.

작업은 기존 작업 큐의 ST03 수집·집계 종류로 실행됩니다. 일별 수집은 ST03_DAILY, 보관 압축은 ST03_ROLLUP 작업입니다. 서버가 재시작되어도 대기 작업이 남으며, 15분 이상 멈춘 처리 작업은 다시 선점합니다. 연결 오류는 최대 3회까지 재시도합니다. 다른 실패는 작업 큐 → 재처리 또는 해당 날짜의 수동 수집으로 다시 실행합니다. 신규 일별 데이터 수집은 수동으로 실행합니다. 보관 압축은 수집 성공 직후와 다음 일요일에 기존 지연 배치 큐로 자동 실행합니다.

- 같은 날짜를 다시 수집하면 기존 성공 스냅샷을 교체하며 사용량을 더하지 않습니다.
- 일부 응답, 합계 불일치 또는 저장 실패 시 기존 성공 데이터는 유지합니다. 최신 시도 실패와 현재 표시 중인 성공 스냅샷을 구분합니다.
- 아직 끝나지 않은 SAP 날짜는 수집하지 않습니다. SAP에 없는 과거 일별 데이터를 월별 합계로 보충하지 않습니다.
- SAP 집계 시간대를 기준으로 일자 경계를 저장합니다. 조회 응답에는 원천 시간대를, 관리 화면에는 저장 시각을 표시합니다.
- 조회·저장 성공과 SAP 원천 집계의 최종 완료 여부는 별개입니다. 완료 플래그를 확인할 수 없으면 최종 완료 여부 미확인으로 표시합니다.
| 표시 범위 | 원천 | 의미 |
|---|---|---|
| 시스템 전체 · 진입점 | USERTCODE | 시스템 전체 T-code·Report 등 진입점의 사용량. 클라이언트 100의 사용량으로 해석하면 안 됩니다. |
| 클라이언트 번호 · 수신 RFC | RFCSRVR | 선택한 클라이언트가 수신한 RFC 함수별 호출 건수·실행 시간·호출 시간·송수신량입니다. |
USERTCODE의 Steps와 RFCSRVR의 호출 건수는 다른 지표이므로 합산하지 않습니다. Steps는 워크로드 레코드 수이며 로그인 수·업무 실행 횟수·내부 함수 실행 횟수가 아닙니다. 프로파일이 비어 있거나 수집되지 않은 경우에는 사용량 0으로 판단하지 않습니다. 사용자 ID는 저장하지 않습니다. DB 시간 등 의미 검증을 마치지 않은 지표도 임의로 계산하지 않습니다.
관리자 API는 다음과 같습니다. 앱의 사용자 인증과 테넌트 문맥을 그대로 사용하며, 연결 비밀번호를 요청 본문에 넣지 않습니다.
http
GET /api/v1/sap/workload/availability?systemId=DS4
POST /api/v1/sap/workload/collections
Content-Type: application/json
{"systemId":"DS4","date":"2026-10-16"}수집 요청은 202와 jobId를 반환합니다. GET /api/v1/sap/workload/daily?systemId=DS4&date=2026-10-16&limit=50&offset=0으로 저장 결과·최신 시도·활성 작업을 확인합니다. nextOffset으로 다음 페이지를 조회합니다. 수집 관리 화면은 limit=0으로 요청하여 상세 통계 테이블을 읽지 않고 발행 요약과 상태만 받습니다. 이 모드의 items는 빈 배열이고 nextOffset은 null입니다. 상세가 필요하면 limit=1~100, offset=0부터 조회합니다. 조회만으로 SAP에 접속하거나 재수집하지 않습니다. MCP의 get_sap_workload도 동일한 관리자 권한으로 저장 결과만 읽습니다.
집계 원천과 프로그램 이름 해석
source_profile은 SAP 집계 결과의 출처이며 프로그램 종류가 아닙니다. 계약 v2는 USERTCODE, RFCSRVR만 수집합니다. 전자는 사용자·배치 작업명 차원을 제거한 시스템 전체 프로그램·Task별 통계이고, 후자는 접속 클라이언트의 수신 RFC 함수·Task별 합계입니다. USERWORKLOAD와 나머지 RFC 프로파일은 요청하지 않습니다. 이전 계약 v1 데이터는 압축에 사용하지 않으며, 해당 일자를 재수집하면 새 계약으로 교체합니다. 과거 성공 이력은 감사 용도로 남습니다.
DS4에서 확인한 USERTCODE.ENTRY_ID는 앞 40자리의 진입점 이름, 다음 32자리의 배치 작업명 영역, 마지막 1자리의 구분자로 구성됩니다. 앞 40자리를 entry_name으로 사용하고, 이름과 마지막 구분자를 결합한 키를 entry_id로 저장합니다. 사용자와 배치 작업명은 저장하지 않습니다. 마지막 구분자 T는 TCODE, R은 REPORT, 그 밖은 UNKNOWN으로 저장합니다. RFCSRVR는 entry_type=FUNCTION이며 이름은 원본 FUNC_NAME에서 가져옵니다. 호출 사용자·프로그램·Destination 차원은 저장하지 않습니다.
REPORT 이름을 T-code 매핑이나 의존성 그래프로 추정하여 채우지 않습니다. SAP 원본의 이름을 그대로 사용합니다. SAP의 R 유형에는 일반 실행 리포트 외에 클래스 풀, 함수 그룹 프로그램, RFC 함수명이나 특수 집계 이름도 포함될 수 있습니다. 따라서 REPORT를 실행 가능한 ABAP 리포트로 확정하면 안 됩니다. 사용 이력 화면의 REPORT 표기는 SAP 원본 유형이며 SAP 저장소의 실제 객체 종류를 확인한 결과가 아닙니다.
ST03는 일별 집계이므로 실행 건별 시각·사용자·실제 호출 경로를 복원할 수 없습니다. 동일 프로그램이 여러 Task로 나뉘어 있을 수 있으며, 프로그램 단위 보고서에서는 시스템·날짜·관측 범위를 유지하여 합산해야 합니다. 평균 응답 시간은 일별 평균의 평균이 아니라 응답 시간 합계 ÷ Steps 합계로 계산합니다.
프로그램별 합계·차트·구간 기록은 분석 → 프로그램 사용 이력에서 확인합니다. 프로그램 사용 이력 안내를 참고하세요.
일·주·월 보관 방식
- SAP 집계 시간대의 일요일~토요일을 한 주로 봅니다. 최근 7일 이동 구간이나 SAP 원천 주 집계의 시작일을 사용하지 않습니다.
- 진행 중인 주는 일별로 보관합니다. 다음 일요일이 되면 완료된 주를 프로그램·원본 유형·Task·관측 범위별로 합산합니다.
- 월을 걸치는 주는 월말에 나눕니다. 예를 들어 9월 27일~10월 3일은 9월 27~30일과 10월 1~3일 두 주 구간으로 저장합니다. 두 구간 모두 해당 주가 끝난 뒤 압축합니다.
- 지난달은 마지막 날이 속한 주까지 끝난 뒤 월별로 합산합니다. 매월 1일에 아직 진행 중인 주를 강제로 닫지 않습니다. SAP의 원천 월 합계를 따로 더하지 않습니다.
- 모든 날짜의 두 프로파일이 수집되어야 압축합니다. 누락일·빈 프로파일·서로 다른 시간대·구계약 때문에 완전성을 확인할 수 없으면 하위 데이터를 유지합니다. 따라서 예외 구간의 일별 보관은 한 주보다 길어질 수 있습니다. 빈 응답은 실제 사용량 0의 증거가 아닙니다.
- 압축 전에는 하위 행과 발행 요약의 건수·합계를 대조합니다. 상위 데이터를 저장한 뒤 프로그램·Task별 Steps·응답/CPU 시간·RFC 호출/실행/호출 시간·송수신량을 다시 대조하고, 같은 트랜잭션에서 상위 발행과 하위 상세 행 삭제를 수행합니다. 검증·저장·삭제 실패는 전부 롤백합니다. 평균은 시간 합계 ÷ 건수 합계로 계산합니다.
- 재실행은 이미 압축된 구간을 다시 더하지 않습니다. 이미 주·월로 보관된 날짜는 일별 재수집을 차단합니다. 원천 소급 정정을 반영하는 상위 기간 전체 재구축은 별도 기능입니다.
- 날짜 조회는 그 날짜를 포함하는 보관 구간을 반환합니다. 화면에 주·월 구간을 표시하며 하루의 값처럼 보여주지 않습니다. API/MCP의
summary.periodType,startDate,endDate를 확인합니다.endDate는 포함하지 않는 끝 날짜입니다. 월별 통계를 임의로 일별로 나누지 않습니다.
| 2026년 10월 17일 기준 예시 | 보관 단위 |
|---|---|
| 8월 1~31일, 9월 1~30일 | 각각 월 단위입니다. |
| 10월 1~3일 | 월 경계에서 나뉜 주 단위입니다. |
| 10월 4~10일 | 일요일~토요일의 완료된 주입니다. |
| 10월 11~16일 | 진행 중인 주의 완료 일자별 데이터입니다. |
구간 기록 화면에서 이 보관 단위와 실제 날짜 범위를 확인할 수 있습니다. 위 예시는 DEMO_OTC의 가상 자료이며 모든 설치 환경에 기본으로 제공되는 데이터는 아닙니다.
보관 압축 검증과 SAP 원천의 최종 확정은 구별합니다. 합계 보존 검증을 통과해도 원천 FINISHED 플래그가 없으면 sourceFinality=UNCONFIRMED를 유지합니다. 수집일이 누락되지 않도록 SAP 일별 원본이 사라지기 전에 관리자가 수집해야 합니다. 이번 변경에는 신규 데이터의 자동 일별 수집 예약은 포함하지 않습니다.
SAP 업무 시스템과 랜드스케이프
SAP 시스템 추가·수정 창은 시스템 정보와 접속 및 인증으로 나뉩니다. 넓은 화면에서는 두 영역을 나란히 표시하며, 좁은 화면에서는 입력 영역만 스크롤하고 저장·취소 버튼은 하단에 유지합니다. 항목 옆 정보 버튼에서 상세 설명을 확인합니다.

위 화면은 접속 정보가 없는 가상 시스템의 편집 예시입니다. 실제 수집에는 해당 SAP의 유효한 ST03 수집용 계정과 IntelliGateway 설정이 필요합니다.
SAP 시스템 편집의 업무 시스템에서 기존 SYSTEM 공통코드를 선택합니다. 예를 들어 ERP 코드의 이름을 심팩 ERP로 관리하고 DS1·QS1·PS1 연결을 모두 ERP에 연결합니다. 각 연결의 환경은 개발·품질·운영으로 지정합니다. 클라이언트는 SAP 연결에 저장된 값을 사용합니다.
이 소속은 SAP 연결 ID를 바꾸거나 액티비티의 업무 시스템 코드를 실제 SID로 치환하지 않습니다. 한 업무 시스템에 여러 SAP 연결을 둘 수 있습니다. 기존 연결은 자동 배정하지 않으며, 미지정이면 프로세스 사용량의 출처 후보에서 제외됩니다. 소속을 해제하려면 업무 시스템을 미지정으로 저장합니다.
프로세스맵은 액티비티의 업무 시스템과 같은 소속인 활성 SAP 연결만 출처 후보로 보여줍니다. 사용자가 실제 출처를 선택해야 조회합니다. 소속은 기존 SAP_SYSTEMS 설정 JSON에 저장하므로 별도 테이블이나 DB 마이그레이션은 필요하지 않습니다.
