CORRESPONDING vs MOVE-CORRESPONDING 3가지 #shorts #SAP #ABAP
개요 및 이 글에서 다루는 것 ABAP에서 구조체(Structure) 간 필드 복사는 일상적인 작업이지만, 사용하는 문법에 따라 코드 가독성·유지보수성·성능이 크게 달라집니다. 이 글에서는 오랫동안 사용되어 온 MOVE-CORRESPONDING 명령문과 ABAP 7.40 이후 등장한 C
개요 및 이 글에서 다루는 것 ABAP에서 구조체(Structure) 간 필드 복사는 일상적인 작업이지만, 사용하는 문법에 따라 코드 가독성·유지보수성·성능이 크게 달라집니다. 이 글에서는 오랫동안 사용되어 온 MOVE-CORRESPONDING 명령문과 ABAP 7.40 이후 등장한 C
글의 목적과 확인 포인트 이 글은 SAP S/4HANA 환경에서 판매 조직(Sales Organization) 마스터 데이터를 조회할 때 전통적인 TVKO 테이블 대신 I_SalesOrganization CDS 뷰를 사용하는 방법을 다룹니다. S/4HANA로 전환한 조직에서는 클래식 S
abapGit이 왜 ABAP 개발자의 필수 도구가 되었는가 ABAP 개발자라면 한 번쯤 이런 경험이 있을 것이다. 트랜스포트 요청(TR)을 잘못 릴리즈해서 코드가 뒤엉키고, 누가 언제 어떤 변경을 했는지 추적할 수 없어 밤을 새운 기억 말이다. abapGit 은 이런 고통을 해결하기 위
개요와 이 글에서 얻어갈 것 ABAP 7.40 이후 내부 테이블에서 부분집합을 뽑아내는 방법은 크게 세 갈래로 갈립니다. 표현식 기반의 FILTER 연산자, FOR ... IN ... WHERE ... 형태의 테이블 컴프리헨션, 그리고 전통적인 LOOP AT ... WHERE 반복문입니
세 가지 방법이 존재하는 이유 — ABAP 컬렉션 필터의 역사 ABAP에서 내부 테이블을 다루는 개발자라면 누구나 한 번쯤 "이 컬렉션에서 특정 조건에 맞는 행만 뽑아내려면 어떻게 하는 게 가장 좋을까?" 라는 질문을 마주칩니다. 흥미로운 점은 ABAP 언어가 시간이 흐르면서 이 문제를
RAP Mass Action이란 무엇인가 RAP(RESTful Application Programming Model)에서 Mass Action 은 List Report의 여러 행을 선택한 뒤 단일 액션 호출로 한꺼번에 처리하는 메커니즘입니다. 예를 들어 주문 목록에서 100건을 체크박스
I_Plant가 필요한 이유 — T001W 직접 조회의 함정 SAP S/4HANA 환경에서 플랜트(Plant, 공장/사업장) 정보를 조회할 때 여전히 많은 개발자가 습관적으로 T001W 테이블을 직접 SELECT합니다. 하지만 클라우드/온프레미스 하이브리드 시대에는 이 접근이 위험 요소
KNA1 직접 접근이 왜 문제인가 SAP ERP 시대에 ABAP 개발자에게 KNA1 은 고객 마스터의 대명사였습니다. 고객 코드, 이름, 국가, 도시, 계정 그룹 등 기본 속성이 이 테이블 하나에 담겨 있었기에 SELECT 문 대부분이 SELECT * FROM kna1 WHERE kun
I_Material이 필요해진 이유 — CDS View의 등장 배경 SAP S/4HANA에서 자재 마스터를 다뤄본 개발자라면 MARA와 MAKT를 JOIN하는 SELECT문을 수없이 작성해봤을 것입니다. 그런데 S/4HANA 1610 이후 SAP는 I_Material 이라는 표준 CDS
개요 및 학습 도달점 SAP S/4HANA로 전환한 개발 조직이 가장 먼저 마주하는 질문 중 하나는 "T007S를 계속 직접 조회해도 되는가?"입니다. 이 글에서는 세금 코드 마스터를 조회하는 새로운 표준 접근인 I_TaxCode CDS View의 구조, 동작 원리, 그리고 실무에서의
개요 및 이 글에서 다루는 것 SAP S/4HANA 환경에서 품질 관리(QM) 데이터를 분석하거나 확장 앱을 개발할 때, 검사 특성 결과(Inspection Characteristic Result)는 가장 자주 참조되는 데이터입니다. 과거 ECC 시절부터 개발자들은 QAMV, QAMR,
I_CustomerInvoice CDS 뷰 개요 — BSID와 무엇이 다른가 SAP S/4HANA에서 고객 인보이스 데이터를 조회할 때 전통적으로 개발자들은 BSID(미결 고객 항목)와 BSAD(완결 고객 항목) 테이블을 직접 액세스해 왔습니다. 그러나 S/4HANA 이후 이러한 클래식
개요 및 이 글에서 얻어갈 것 ABAP 7.40 이후 도입된 CONV 와 EXACT 연산자는 인라인 타입 변환을 가능하게 만들었지만, 두 연산자의 차이를 정확히 이해하지 못하고 사용하면 프로덕션에서 소수점 절삭, 문자열 잘림, 통화 금액 손실 같은 치명적 버그로 이어집니다. 이 글은 재
이 글에서 다루는 문제와 도달점 S/4HANA 환경에서 생산 오퍼레이션 데이터를 조회할 때 여전히 많은 개발자가 AFVC 테이블을 직접 SELECT 합니다. 이 방식은 클래식 ECC 시절의 관성이지만, S/4HANA에서는 표준 CDS 뷰 I_ProductionOrderOperation
개요와 이 글에서 얻어갈 것 S/4HANA 환경에서 생산 오더의 BOM 컴포넌트를 조회할 때, 여전히 많은 코드베이스가 RESB 테이블을 직접 SELECT 하고 있습니다. RESB는 예약(Reservation)과 종속소요량을 함께 담는 레거시 테이블이라 필드 의미가 복잡하고, 생산 오더
개요 및 이 글에서 다루는 범위 S/4HANA 환경에서 배치(Batch) 관리 자재의 재고 조회는 오랫동안 MCHB , MCHA , MCH1 같은 클래식 테이블 직접 SELECT에 의존해 왔습니다. 그러나 SAP S/4HANA 1809 이후 배치별 재고 스냅샷은 MATDOC 기반의 CD
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 배송(Outbound Delivery) 데이터를 조회할 때, 여전히 관행처럼 LIPS(배송 아이템)와 LIKP(배송 헤더) 물리 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 몇 년 전까지는 사실상 표준이었지만,
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 자재 재고를 조회할 때 여전히 MARD 테이블을 직접 SELECT 하는 코드가 남아있는 프로젝트가 많습니다. 하지만 S/4HANA로 넘어오면서 재고 데이터의 저장 구조가 변경되었고, MATDOC 기반의 aggregation 로
이 글의 방향과 확인 포인트 ABAP 개발자라면 한 번쯤은 "여기서 FIELD-SYMBOLS를 써야 하나, 아니면 REF TO로 참조 변수를 만들어야 하나?" 하는 갈림길에 서게 됩니다. 둘 다 "값을 복사하지 않고 원본을 가리킨다"는 공통점이 있지만, 내부 동작 방식과 적합한 시나리오
개요 및 실습 목표 SAP S/4HANA 도입 이후에도 여전히 많은 개발자가 구매 오더 정보를 조회할 때 EKKO (구매 오더 헤더)와 EKPO (구매 오더 아이템) 테이블을 직접 SELECT 하는 관행을 유지하고 있습니다. 이 방식은 익숙하지만 S/4HANA의 Virtual Data