ST01 권한 트레이스 3가지 #shorts #SAP #PFCG
1. ST01이 필요한 이유 — SU53의 한계와 트레이스의 힘 권한 오류가 발생하면 대부분의 관리자는 SU53부터 실행합니다. 그러나 SU53은 해당 사용자의 마지막 실패한 권한 체크 하나 만 보여줍니다. 실제 업무 트랜잭션은 한 번의 실행에서 수십 개의 AUTHORITY-CHECK를
1. ST01이 필요한 이유 — SU53의 한계와 트레이스의 힘 권한 오류가 발생하면 대부분의 관리자는 SU53부터 실행합니다. 그러나 SU53은 해당 사용자의 마지막 실패한 권한 체크 하나 만 보여줍니다. 실제 업무 트랜잭션은 한 번의 실행에서 수십 개의 AUTHORITY-CHECK를
Integration Suite 운영의 숨겨진 위험 SAP BTP Integration Suite(Cloud Integration 캐퍼빌리티)로 iFlow를 배포하고 나면 "연결됐으니 끝"이라고 생각하기 쉽습니다. 하지만 실제 운영 환경에서는 수신 시스템의 일시적 다운, 인증서 만료,
SOD란 무엇인가 — 직무 분리가 무너지면 벌어지는 일 SOD(Segregation of Duties, 직무 분리)는 한 사람이 하나의 비즈니스 프로세스를 처음부터 끝까지 혼자 처리하지 못하도록 권한을 나누는 내부통제 원칙입니다. 예를 들어 공급업체 마스터를 생성하는 사람 이 대금 지급
📖 개요: 인증 없는 CAP 서비스가 위험한 이유 CAP(Cloud Application Programming Model) 서비스는 어노테이션 한 줄 없이도 배포가 됩니다. 문제는 바로 그 지점입니다. @requires 가 없는 서비스는 BTP에 올라간 순간부터 OData 엔드포인트
📖 개요 — 이 글에서 다루는 내용 ABAP 시스템에서 외부 REST API를 호출해야 하는 순간은 반드시 옵니다. 환율 조회, 배송 추적, 사내 미들웨어 연동까지, 온프레미스 SAP ECC / S/4HANA(온프레미스) 환경에서는 CL_HTTP_CLIENT 가 사실상 표준 진입점입니
📖 개요: 이 글에서 다루는 내용 SAP Fiori에서 마스터-디테일 화면을 만들 때 가장 흔한 고민은 "리스트에서 항목을 클릭하면 전체 화면이 Object Page로 넘어가 버려서 목록 맥락을 잃는다"는 점입니다. Flexible Column Layout(이하 FCL)을 적용하면 별
1. RAP에서 집계 데이터가 필요한 이유 RAP(ABAP RESTful Application Programming Model)로 만든 트랜잭션 앱은 개별 레코드의 생성·수정에는 강하지만, 실무에서는 "이번 달 영업조직별 매출 합계", "고객별 주문 건수" 같은 집계 관점 의 화면이 반
📖 개요: 이 글에서 다루는 내용 비용 센터 계층, 예산 항목 트리, 프로젝트 WBS처럼 부모-자식 관계가 재귀적으로 반복되는 데이터 는 엔터프라이즈 애플리케이션에서 가장 자주 등장하는 구조 중 하나입니다. 그런데 RAP(RESTful ABAP Programming Model)은 기본
📖 이 글에서 다루는 것 SAP 권한 설계의 중심에는 PFCG(Profile Generator) 트랜잭션이 있습니다. 같은 PFCG 안에서도 Single Role, Composite Role, Derived Role은 내부 동작과 적용 시점이 완전히 다르며, 이 선택을 잘못하면 권한
1. Criticality가 없을 때 Fiori 앱이 왜 밋밋한가 RAP(ABAP RESTful Application Programming Model)으로 List Report 앱을 처음 만들어 보면 데이터는 잘 나오는데 화면이 이상하게 밋밋합니다. 판매 오더가 "지연" 상태든 "완료"
📖 개요와 이 글에서 다루는 내용 SAP S/4HANA에서 설비 정비·현장 서비스가 끝나면 "실제로 무엇을 얼마나 수행했는가"를 기록하는 문서가 서비스 확정(Service Confirmation) 입니다. 이를 조회하는 표준 릴리스 CDS 뷰가 I_ServiceConfirmation
개요 — 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)로 만든 Fiori Elements 앱에서 할인율을 바꿨는데 총액이 화면에 바로 반영되지 않는 경험, 한 번쯤 있으실 겁니다. 서버의 Determination은 분명히 재계
BNKA 테이블의 구조와 한계 — 왜 직접 SELECT하면 안 되는가 SAP에서 은행 관련 데이터를 다뤄본 개발자라면 BNKA (은행 마스터), T012 (하우스 뱅크), T012K (하우스 뱅크 계좌) 세 테이블을 직접 SELECT하는 코드를 한 번쯤 봤을 것입니다. BNKA는 은행
1. BNKA를 아직도 직접 조회하고 있나요? — 개요와 목표 S/4HANA 이전 시절부터 ABAP를 다뤄온 개발자라면 은행 관련 데이터를 조회할 때 습관적으로 SELECT ... FROM bnka 를 작성해 왔을 것입니다. 하지만 SAP S/4HANA 환경, 특히 클린 코어(Clean
RAP Composition Tree란 무엇인가 — 계층 BO의 설계 원칙 SAP RAP(ABAP RESTful Application Programming Model)에서 비즈니스 오브젝트(BO)는 단일 엔티티가 아니라 트리 구조 로 설계됩니다. 판매 오더를 떠올려 보면 이해가 쉽습니다
I_WorkCenterCapacity CDS 뷰 개요 — 왜 CRHD를 버려야 하는가 SAP S/4HANA의 생산 관련 개발에서 작업장(Work Center) 능력 데이터를 다룰 때, 많은 개발자가 여전히 CRHD , CRCA , KAKO 테이블을 직접 조인하는 레거시 방식을 사용합니다
개요 — 이 글에서 얻어갈 것 SAP S/4HANA에서 구매 정보 기록(Purchasing Info Record)을 조회할 때, 여전히 EINA와 EINE 테이블을 직접 조인하는 코드를 작성하고 계신가요? 이 글은 표준 CDS View인 I_PurchasingInfo 를 활용해 테이블
개요 — 이 글에서 다루는 것 UI5에서 OData V4 모델을 쓰면서도 생성·수정·삭제(CUD)를 여전히 fetch 나 수동 AJAX 호출로 처리하는 코드를 실무에서 자주 봅니다. OData V4 모델( sap.ui.model.odata.v4.ODataModel )은 V2와 설계 철학
📖 개요 — ETag 없는 RAP 서비스는 "나중에 저장한 사람이 이긴다" 두 명의 담당자가 같은 정비 오더를 동시에 열어 수정한다고 가정해 봅시다. A가 우선순위를 바꿔 저장하고, 몇 초 뒤 B가 상태값을 바꿔 저장하면 — ETag가 없는 RAP 서비스에서는 B의 저장이 A의 변경을
왜 Copy Action이 아닌 Factory Action인가 RAP(RESTful ABAP Programming Model)에서 기존 비즈니스 오브젝트(BO)를 복제하는 요구사항은 실무에서 매우 자주 등장합니다. 예를 들어 판매 오더(SalesOrder)를 그대로 복사해 새 오더 초안