CQN 문자열 파싱 그만 — CqnAnalyzer로 안전 분석 #shorts #SAP #CAPJava
이 글에서 다루는 내용 CAP for Java 이벤트 핸들러를 작성하다 보면 "지금 들어온 요청이 어떤 엔티티를, 어떤 키로, 어떤 조건으로 조회하는가"를 알아야 하는 순간이 반드시 옵니다. 이때 cqn.toString() 결과를 문자열로 잘라 쓰는 코드는 당장은 동작해도 확장 시 반드
이 글에서 다루는 내용 CAP for Java 이벤트 핸들러를 작성하다 보면 "지금 들어온 요청이 어떤 엔티티를, 어떤 키로, 어떤 조건으로 조회하는가"를 알아야 하는 순간이 반드시 옵니다. 이때 cqn.toString() 결과를 문자열로 잘라 쓰는 코드는 당장은 동작해도 확장 시 반드
📖 개요 — 정산을 안 하면 무슨 일이 생기는가 내부오더(Internal Order)는 마케팅 행사, 설비 소모성 수리, 사내 프로젝트처럼 임시로 원가를 모아두는 그릇입니다. 그런데 이 그릇은 어디까지나 중간 집계 객체 라서, 기말에는 모아둔 원가를 최종 수신자(코스트센터, 자산, G
이 글이 답하는 질문 FI 전표를 처음 입력할 때 가장 헷갈리는 두 가지가 전표유형(Document Type)과 전기키(Posting Key)입니다. 둘 다 "계정과 관련된 무언가를 통제한다"고 배우는데, 정확히 무엇을 누가 결정하는지 경계가 모호하게 느껴집니다. 이 글에서는 실무 구매
이 글이 답하는 질문 ST05 트레이스를 열어보면 느린 SELECT의 범인은 대부분 몇 가지 패턴으로 압축됩니다. 이 글은 다음 질문에 답합니다. FOR ALL ENTRIES는 왜 위험하고, 언제 INNER JOIN으로 바꿔야 하나? LOOP 안 SELECT(N+1)를 한 방 쿼리로 바
개요 — 이 글에서 얻어갈 것 SAP S/4HANA에서 구매 정보 기록(Purchasing Info Record)을 조회할 때, 여전히 EINA와 EINE 테이블을 직접 조인하는 코드를 작성하고 계신가요? 이 글은 표준 CDS View인 I_PurchasingInfo 를 활용해 테이블
개요 및 이 글에서 다루는 것 ABAP 개발자라면 CALL FUNCTION 뒤에 무의식적으로 IF sy-subrc <> 0 를 붙이는 습관이 있을 것이다. 하지만 sy-subrc = 4 가 의미하는 바가 "레코드 없음"인지 "권한 오류"인지 "락 실패"인지는 매뉴얼을 뒤져야
개요 및 이 글에서 얻어갈 것 Fiori 앱을 오픈하는 순간 사용자 눈에 처음 보이는 것은 로딩 스피너입니다. 초기 렌더링이 3초를 넘어가면 이탈률이 급격히 상승한다는 UX 통계가 있는데, Fiori/UI5 앱의 경우 라이브러리 파일이 워낙 방대하다 보니 최적화 전략 없이는 첫 화면(T
I_Material이 필요해진 이유 — CDS View의 등장 배경 SAP S/4HANA에서 자재 마스터를 다뤄본 개발자라면 MARA와 MAKT를 JOIN하는 SELECT문을 수없이 작성해봤을 것입니다. 그런데 S/4HANA 1610 이후 SAP는 I_Material 이라는 표준 CDS
이 글에서 다루는 범위와 도달점 SAP S/4HANA의 PM(Plant Maintenance) 모듈에서 정비 오더는 설비 고장, 예방 정비, 검사 작업을 관리하는 핵심 트랜잭션 객체입니다. 이 글은 I_MaintenanceOrder CDS 뷰가 레거시 AUFK 테이블을 어떻게 의미론적으
개요 및 이 글에서 다루는 범위 이 글은 SAP S/4HANA의 CDS View인 I_ActivityType 을 중심으로 CO(Controlling) 모듈의 활동 유형 마스터 데이터를 어떻게 조회하고 실무 시나리오에 활용하는지 다룹니다. CSLA는 원가 센터가 제공하는 서비스 단위(기계
섹션 1. VALUE 연산자의 등장 배경과 ABAP Unit에서의 의미 ABAP 7.40부터 도입된 VALUE 연산자는 구조체나 내부 테이블을 인라인으로 초기화할 수 있게 해주는 핵심 표현식입니다. 특히 ABAP Unit 테스트 코드에서 VALUE 의 가치는 더욱 두드러집니다. 단위 테
REDUCE 연산자가 필요한 이유 ABAP 개발자라면 누구나 한 번쯤은 LOOP AT ... INTO ... WHERE ... 블록 안에서 누적 변수를 하나씩 더해본 경험이 있을 것입니다. 판매 주문 금액의 총합을 구하거나, 특정 자재 그룹의 재고 수량을 합산하거나, 평균 단가를 계산할
개요 및 이 글에서 다룰 내용 S/4HANA 환경에서 판매 오더 아이템 데이터를 다루는 일은 매우 빈번합니다. 전통적으로는 VBAP 테이블을 직접 SELECT 했지만, S/4HANA에서는 가상 데이터 모델(VDM)인 I_SalesOrderItem CDS 뷰를 통해 동일한 데이터에 의미론
개요 및 핵심 포인트 이 글은 SAP S/4HANA의 표준 CDS View인 I_SupplierInvoice 를 RBKP 테이블 구조와 FI(Financial Accounting) 연계 관점에서 다룹니다. MM-IV(Invoice Verification) 프로세스에서 생성된 공급업체 인
VALUE 연산자가 등장한 배경 ABAP 개발자라면 누구나 한 번쯤 내부 테이블을 채우기 위해 APPEND 구문을 수십 줄씩 반복해 본 경험이 있을 것입니다. 작업 영역(work area)을 선언하고, 필드별로 값을 할당한 뒤, 테이블에 APPEND하고, CLEAR로 초기화하는 패턴은
외부 API를 OData 표면으로 끌어올리는 RAP Custom Entity의 가치 SAP S/4HANA 또는 BTP ABAP Environment에서 RAP(ABAP RESTful Application Programming Model) 기반으로 Fiori 앱을 만들다 보면, 데이터 소
이 글에서 다루는 내용과 도달 지점 SAP RAP(RESTful Application Programming Model)에서 %cid 는 단일 트랜잭션 내에서 아직 데이터베이스에 커밋되지 않은 신규 인스턴스를 식별하기 위한 임시 키(temporary key)입니다. 특히 부모-자식 관계를
NULL이 다른 이유 — 왜 3-valued logic인가 대부분의 프로그래밍 언어에서 null 은 "값이 없음"을 의미하는 단순한 상수처럼 다뤄집니다. x == null 이라고 쓰면 명확하게 true 또는 false를 돌려주죠. 그러나 SQL의 NULL은 전혀 다른 철학 위에 서 있습
작성 중
개요 및 학습할 내용 ABAP Analytical Query는 SAP S/4HANA의 분석 모델(Analytical Cube + Query) 위에서 사용자가 직접 조회 조건을 입력할 수 있도록 Variable 을 제공합니다. Variable은 단순한 파라미터를 넘어, Value Help