RFC 없이 ABAP 테스트하는 3가지 핵심 — 의존성 주입 #shorts #SAP #ABAP
ABAP 의존성 주입(DI) 3단계 — 인터페이스 선언, 운영·Mock 구현체 작성, 생성자 주입으로 결합도를 낮추고 테스트를 쉽게 만드는 방법
ABAP 의존성 주입(DI) 3단계 — 인터페이스 선언, 운영·Mock 구현체 작성, 생성자 주입으로 결합도를 낮추고 테스트를 쉽게 만드는 방법
ABAP Observer 패턴으로 상태 변화를 구독자들에게 자동 통지하는 구조를 3단계로 구현합니다.
콘텐츠 준비 중입니다.
abapGit, Jenkins, SAP Piper를 연결해 ABAP 코드 푸시 시 자동으로 빌드와 단위 테스트를 실행하는 CI 파이프라인 구성 3단계를 다룹니다.
UI5 QUnit 단위 테스트에서 sinon Stub과 Spy를 활용해 외부 의존 없이 함수를 모킹·감시하는 3단계 방법을 다룹니다.
placeholder
ABAP DAC(Data Access Class) 패턴으로 DB 의존을 분리하는 3단계 가이드입니다.
작성 중...
작성 중...
작성 중...
ABAP에서 동기 CALL FUNCTION 대신 cl_background_jobs로 비동기 백그라운드 잡을 처리하는 방법을 알아봅니다.
개요 및 핵심 포인트 ABAP 애플리케이션의 응답 속도는 데이터베이스 왕복 횟수에 크게 좌우됩니다. 코드성 테이블이나 자주 조회되는 마스터 데이터를 매번 DB에서 읽어오면 네트워크 지연과 락 경합이 누적되어 트랜잭션 처리량이 떨어집니다. SAP NetWeaver Application S

2026년 6월, 글로벌 AI 산업은 단순한 기술 경쟁을 넘어 자본·지정학·거버넌스가 얽힌 전면전 국면에 진입했습니다. Anthropic이 OpenAI를 추월하며 세계 최고 가치 AI 스타트업으로 등극한 가운데, OpenAI는 1조 달러 규모 IPO 절차에 착수했고, 중국 딥시크는 미국
1. 개요 및 핵심 포인트 대용량 테이블을 한 번에 로드하면 메모리 폭증과 응답 지연이 발생합니다. ABAP SQL에서는 OFFSET ... FETCH NEXT ... ROWS ONLY 구문으로 페이지 단위 조회가 가능하며, 페이지 깊이가 커질수록 OFFSET이 비싸지는 한계를 보완하기
개요 및 핵심 포인트 ABAP의 RAISE EXCEPTION 명령은 단순히 오류를 던지는 것 이상의 의미를 가집니다. TYPE 으로 어떤 예외 클래스를 발생시킬지, MESSAGE 로 사용자에게 보여줄 메시지를 어떻게 첨부할지, RESUMABLE 로 호출자가 실행을 이어갈 수 있도록 허용
ABAP 제네릭 타입 심층 다이브 - TYPE ANY와 동적 데이터 처리 ABAP 개발에서 같은 로직을 여러 구조체나 테이블에 반복 적용해야 하는 상황은 매우 흔합니다. 예를 들어, 어떤 내부 테이블이 들어오든 특정 필드 값을 추출해 로그를 남기는 유틸리티 메서드를 작성한다고 가정해 봅
개요 및 핵심 체크리스트 ABAP에서 중첩 구조체를 다룰 때 모든 하위 컴포넌트는 부모 구조체와 동일한 연속 메모리 블록에 한꺼번에 할당됩니다. 이는 작은 구조에서는 문제가 없지만, 거대한 sub-structure를 자주 사용하지 않거나, 자기참조(self-referential) 트리·
왜 ABAP에서 Optional Return이 중요한가 ABAP 메서드를 설계할 때 가장 자주 마주치는 고민 중 하나는 "리턴값을 강제할 것인가, 선택적으로 둘 것인가"입니다. 자바나 C++에서는 리턴값을 무시하면 컴파일러 경고가 나오거나 명시적인 캐스팅이 필요한 경우가 많지만, ABA
개요 및 다룰 내용 SAP UI5 SPA(Single Page Application)에서 URL 하나가 곧 화면의 상태이자 진입점이 됩니다. 주문 상세, 상품 조회, 고객 카드 등 수십~수백 종의 화면을 정적으로 라우팅 테이블에 나열하는 것은 비현실적이기 때문에, sap.m.routin
왜 UploadCollection이 필요한가 SAP UI5 기반 비즈니스 애플리케이션에서 파일 업로드는 단순한 첨부 기능을 넘어, 송장 스캔본, 계약서 PDF, 제품 이미지, 품질 검사 사진 등 핵심 트랜잭션의 일부로 다뤄지는 경우가 많습니다. sap.m.upload.UploadColl