VBFA 재귀 조회 함정 — 문서흐름 역추적 3가지 #shorts #SAP #ABAP
이 글이 답하는 질문 SD 영역에서 "이 청구서가 어느 수주에서 시작됐는지" 또는 반대로 "이 수주가 지금 어디까지 진행됐는지"를 프로그램으로 추적해야 하는 요건은 끊임없이 나옵니다. 대부분의 개발자가 VBFA 테이블을 재귀적으로 따라가는 코드를 작성하는데, 이 방식은 운영 데이터에서
이 글이 답하는 질문 SD 영역에서 "이 청구서가 어느 수주에서 시작됐는지" 또는 반대로 "이 수주가 지금 어디까지 진행됐는지"를 프로그램으로 추적해야 하는 요건은 끊임없이 나옵니다. 대부분의 개발자가 VBFA 테이블을 재귀적으로 따라가는 코드를 작성하는데, 이 방식은 운영 데이터에서
📖 개요 — 이 글에서 얻을 수 있는 것 SAP FI에서 전표를 입력하다 보면 "이 전기키로는 이 계정을 쓸 수 없습니다" 같은 메시지에 자주 부딪힙니다. 그 뿌리에는 계정유형(Account Type) S·D·K·M·A라는 다섯 글자가 있습니다. 이 글은 계정유형이 전기키(Postin
이 글이 답하는 질문 FI 전표를 처음 입력할 때 가장 헷갈리는 두 가지가 전표유형(Document Type)과 전기키(Posting Key)입니다. 둘 다 "계정과 관련된 무언가를 통제한다"고 배우는데, 정확히 무엇을 누가 결정하는지 경계가 모호하게 느껴집니다. 이 글에서는 실무 구매
📖 온프레미스 S/4HANA와 BTP, 왜 함께 쓰는가 많은 기업이 S/4HANA를 온프레미스(자사 데이터센터 또는 프라이빗 클라우드)에 운영하면서도, 확장 기능·모바일 앱·파트너 연동은 SAP BTP(Business Technology Platform) 위에 구축합니다. 핵심 배경은
이 글이 답하는 질문 SAP의 AI 어시스턴트 Joule은 데모 영상에서는 늘 매끄럽게 움직이지만, 정작 "우리 시스템 Fiori 화면에는 왜 안 보이지?"라는 질문 앞에서 막히는 경우가 많습니다. 이 글은 다음 네 가지에 답합니다. Joule이 Fiori Launchpad의 어느 지점
이 글이 답하는 질문 SAP HANA Cloud에서 CREATE TABLE 을 실행하면 기본적으로 컬럼 테이블이 만들어집니다. 그래서 많은 개발자가 "HANA는 무조건 컬럼"이라고 외우고 넘어갑니다. 대부분의 경우 그 선택이 맞습니다. 하지만 모든 테이블을 컬럼으로 만들면 오히려 손해를
BAPI와 OData, 무엇이 다른가 — 패러다임 비교 BAPI는 함수 모듈 기반의 RFC 프로토콜 위에서 동작합니다. 호출자는 SAP GUI 프로토콜 계층을 이해하는 커넥터(JCo, NCo 등)를 갖춰야 하고, 파라미터 구조는 ABAP 딕셔너리 타입에 강하게 결합됩니다. 반면 ODat
개요 — 이 글에서 다루는 것 S/4HANA 전환 프로젝트에서 SAP Readiness Check 리포트를 열었을 때 Custom Code 영역이 빨간불로 가득한 경험은 대부분의 마이그레이션 팀이 겪는 통과 의례입니다. 이 글은 ECC 6.0에서 S/4HANA(2022/2023 에디션
📖 개요 및 핵심 체크포인트 ECC 시절에 만든 Classic BAdI와 CMOD/SMOD 기반 확장 코드를 그대로 S/4HANA로 가져오면, 컴파일은 통과해도 런타임에서 조용히 무너지는 경우가 많습니다. S/4HANA(예: S/4HANA 2023 On-Premise)에서는 커널 기반
📖 개요와 목표 CAP Node.js 프로젝트에서 jest만 설치하고 서비스 핸들러를 테스트하면 service is undefined , no model loaded 같은 에러로 시작부터 막히는 경우가 많습니다. 이 글은 구매 주문(PurchaseOrder) 서비스를 예제로, @sap
📖 개요와 이 글의 목표 SAPUI5로 List Report 화면을 freestyle로 직접 그리다 보면 필터바, 테이블, 변형 관리(Variant Management), 초안(Draft) 처리까지 반복 구현하게 됩니다. Fiori Elements는 이 반복을 어노테이션 기반 템플릿으
1. iFlow에서 에러를 무시하면 생기는 일 SAP BTP Integration Suite(Cloud Integration capability)에서 Integration Flow(iFlow)를 운영하다 보면, 수신 시스템의 일시적 다운, 네트워크 타임아웃, 잘못된 페이로드 같은 장애는
SOD란 무엇인가 — 직무 분리가 무너지면 벌어지는 일 SOD(Segregation of Duties, 직무 분리)는 한 사람이 하나의 비즈니스 프로세스를 처음부터 끝까지 혼자 처리하지 못하도록 권한을 나누는 내부통제 원칙입니다. 예를 들어 공급업체 마스터를 생성하는 사람 이 대금 지급
1. CASE TYPE OF가 필요한 상황과 배경 상속 계층을 설계하다 보면 결국 마주치는 순간이 있습니다. 부모 클래스 타입의 참조 변수 하나에 여러 자식 객체가 담겨 흘러 들어오고, 그중 특정 타입일 때만 다르게 처리해야 하는 상황입니다. ABAP 7.40 이전에는 이럴 때 TRY
이 글에서 다루는 내용 월요일 아침, 급여 마감 담당자가 "로그인이 안 돼요"라고 외치는 순간 Basis 담당자의 하루가 시작됩니다. SU01은 SAP NetWeaver AS ABAP의 사용자 계정을 생성·수정·잠금 해제하는 핵심 트랜잭션이며, 계정 잠금 대응 속도가 곧 업무 연속성입니
$tmp 버퍼, RAP 트랜잭션의 숨은 주인공 RAP(ABAP RESTful Application Programming Model)으로 Managed 시나리오를 개발하다 보면, 분명 CREATE 를 실행했는데 DB 테이블을 SELECT 하면 데이터가 없는 상황을 만나게 됩니다. 원인은
RAP Composition Tree란 무엇인가 — 계층 BO의 설계 원칙 SAP RAP(ABAP RESTful Application Programming Model)에서 비즈니스 오브젝트(BO)는 단일 엔티티가 아니라 트리 구조 로 설계됩니다. 판매 오더를 떠올려 보면 이해가 쉽습니다
개요 및 이 글에서 다룰 것 SAP UI5 애플리케이션에서 화면에 데이터를 뿌릴 때, 백엔드에서 내려온 원본 값을 그대로 노출하면 사용자 경험이 어색해집니다. 예를 들어 20260714 라는 문자열, 1500000.00 이라는 숫자, P 라는 코드 값은 각각 2026-07-14 , 1,
📖 개요 — ETag 없는 RAP 서비스는 "나중에 저장한 사람이 이긴다" 두 명의 담당자가 같은 정비 오더를 동시에 열어 수정한다고 가정해 봅시다. A가 우선순위를 바꿔 저장하고, 몇 초 뒤 B가 상태값을 바꿔 저장하면 — ETag가 없는 RAP 서비스에서는 B의 저장이 A의 변경을
개요 및 이 글에서 다루는 것 ABAP 개발자라면 CALL FUNCTION 뒤에 무의식적으로 IF sy-subrc <> 0 를 붙이는 습관이 있을 것이다. 하지만 sy-subrc = 4 가 의미하는 바가 "레코드 없음"인지 "권한 오류"인지 "락 실패"인지는 매뉴얼을 뒤져야