Object Page 버튼 어노테이션 vs manifest 액션 #shorts #SAP #Fiori
📖 이 글에서 다루는 것 Fiori Elements Object Page는 어노테이션만으로 화면 대부분이 만들어지지만, 실무에서는 표준 CRUD 버튼 외에 업무 고유의 액션 버튼 이 반드시 필요해집니다. 이 글은 물류 도메인의 출하 모니터링 앱을 가정하고, Object Page 헤더에
📖 이 글에서 다루는 것 Fiori Elements Object Page는 어노테이션만으로 화면 대부분이 만들어지지만, 실무에서는 표준 CRUD 버튼 외에 업무 고유의 액션 버튼 이 반드시 필요해집니다. 이 글은 물류 도메인의 출하 모니터링 앱을 가정하고, Object Page 헤더에
📖 개요: 이 글에서 다루는 것 ABAP CDS 뷰만으로는 표현하기 어려운 복잡한 계산 로직을 만나면, CDS Table Function이 강력한 탈출구가 됩니다. 이 글은 가상의 물류 시나리오(창고 재고 회전율 분석)를 바탕으로 Table Function과 AMDP를 결합해 HANA
개요: Joule로 ABAP 코드 리뷰를 자동화한다는 것 코드 리뷰는 ABAP 팀의 품질을 지키는 마지막 관문이지만, 리뷰어의 시간과 컨디션에 따라 품질 편차가 큰 작업이기도 합니다. SAP의 생성형 AI 코파일럿인 Joule 은 ABAP Development Tools(ADT) 안에서
이 글에서 다루는 내용 SAP를 처음 시작한 개발자가 가장 먼저 부딪히는 벽은 ABAP 문법이 아니라 수백 개의 트랜잭션 코드 입니다. SE11과 SE16은 뭐가 다른지, 덤프가 나면 ST22를 봐야 하는지 SM21을 봐야 하는지, 테이블 데이터는 SM30으로 고치는 게 맞는지 — 실무
📖 개요: 이 글에서 다루는 것 같은 데이터, 같은 결과를 내는 Calculation View인데 하나는 0.4초, 다른 하나는 4초가 걸리는 경우가 있습니다. 원인은 대부분 조인을 Star Join 노드 로 모델링했는지, 개별 Graphical Join(Join 노드) 을 쌓아 올렸
이 글에서 다루는 내용 SAP HANA 기반 시스템에서 복잡한 계산 로직을 데이터베이스로 내리는(Code Pushdown) 대표 수단이 CDS Table Function과 AMDP(ABAP Managed Database Procedure)입니다. 두 기술 모두 내부적으로 SQLScrip
개요: 왜 모든 오류가 500으로 나가는가 CAP Java로 서비스를 개발하다 보면, 핸들러 안에서 발생한 예외가 아무 처리 없이 그대로 올라가 클라이언트에게 500 Internal Server Error 로 반환되는 상황을 자주 만납니다. 재고 부족처럼 명백한 "업무 오류"조차 500
📖 개요 RAP(ABAP RESTful Application Programming Model)에서 Behavior Pool은 BO의 두뇌 역할을 합니다. 프로젝트가 커지면 LHC_ 로컬 핸들러 클래스 하나에 FOR MODIFY, FOR READ, FOR DETERMINE, FOR VA
📖 왜 JPY 청구서가 100배로 찍혔을까 일본 법인 청구서에 12,500엔이 나가야 하는데 화면에는 125엔, IDoc에는 1,250,000엔이 찍히는 사고. ABAP 금액 처리에서 가장 자주 터지는 유형이며, 원인은 거의 항상 하나입니다. 통화별 소수 자릿수를 정의하는 TCURX
📖 개요: 왜 "그냥 12로 나누면" 안 되는가 자재를 낱개(EA)로 관리하면서 출하는 박스(KAR), 창고 적치는 팔레트(PAL)로 하는 것은 물류 현장의 일상입니다. 이때 ABAP 개발자가 가장 흔히 저지르는 실수가 lv_box = lv_ea / 12 같은 하드코딩 나눗셈입니다.
개요: 검증 "없이" 열어둔 인터페이스가 만드는 사고 외부 시스템에서 회사코드, 플랜트, 판매조직 같은 조직 코드가 넘어오는 인터페이스를 만들 때, "호출하는 쪽이 알아서 맞는 값을 보내겠지"라고 가정하는 순간 사고의 씨앗이 심어집니다. RFC나 API로 노출된 함수는 화면 로직을 거치
📖 개요 및 이 글에서 다루는 내용 커스텀 전표 생성 배치가 밤새 돌다가 "전기기간이 마감되었습니다"로 수백 건이 실패해 있는 아침을 겪어본 적이 있다면 도움이 될 글입니다. BAPI 호출 후 실패를 수습하는 대신, 호출 전에 대상 회계기간이 열려 있는지 선검증하는 구조를 다룹니다.
이 글에서 얻어갈 것 — 30초 요약의 전체 지도 Fiori Elements는 어노테이션 기반으로 화면을 자동 생성하는 프레임워크지만, 실무에서는 반드시 "표준에 없는 버튼 하나, 컬럼 하나"를 추가해야 하는 순간이 옵니다. 이 글은 그때 필요한 확장 포인트를 종류별로 빠르게 정리한 실
개요 — 검색창이 아예 사라진 List Report RAP(ABAP RESTful Application Programming Model)으로 List Report를 처음 만들면 대부분 한 번은 겪는 문제가 있습니다. 화면은 잘 뜨는데 상단 검색창이 회색으로 비활성화되어 있거나, 검색어를
📖 개요: 자연어 한 문장으로 SAP 업무를 움직이기 SAP 업무 자동화라고 하면 지금까지는 트랜잭션 코드(T-Code)를 외우고, 배치 잡을 걸고, 필요하면 ABAP 커스텀 개발까지 하는 그림이 일반적이었습니다. 이 글은 SAP의 생성형 AI 코파일럿인 Joule 을 SAP BTP
개요 — 이 글에서 얻어갈 것 Calculation View는 SAP HANA 모델링의 중심축이지만, 잘못 설계하면 수 초에서 수 분까지 응답이 느려지는 대표적인 병목 지점이기도 합니다. 이 글은 "왜 느려지는가"를 엔진 동작 원리 수준에서 짚고, PlanViz와 Explain Plan
이 글이 답하는 질문 CREATE OBJECT 와 ?= 조합, 문법상 유효한데 왜 바꾸라고 할까? NEW 는 두 줄을 한 줄로 줄이는 것 이상의 가치가 있을까? CAST 와 ?= 는 뭐가 다르고, 다운캐스트 덤프는 어떻게 막을까? 변수를 구현 클래스 대신 인터페이스 타입으로 잡으면 뭐가
이 글에서 다룰 것 Fiori Elements List Report는 코드를 거의 쓰지 않고도 목록·필터·내비게이션을 갖춘 앱을 만들어 주지만, "표준 템플릿이라 커스터마이징이 안 된다"는 오해가 여전히 많습니다. 실제로는 freestyle로 새로 짜지 않아도 Annotation, ma
📖 개요: 확장 코드 없이 컬럼을 추가한다는 것 SAP Fiori Elements List Report에서 컬럼 하나를 추가해야 할 때, 많은 개발자가 습관적으로 Adaptation Project나 컨트롤러 확장부터 떠올립니다. 하지만 RAP(ABAP RESTful Applicatio
📖 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)으로 첫 앱을 만들면 대부분 코드 문법보다 활성화(Activate) 순서 에서 먼저 넘어집니다. CDS View는 멀쩡한데 Behavior Definition(BDEF)이 활성