SAP 37

SAP ABAP Free Selection 동적 조건 처리 실무 가이드

안녕하세요. 모델와이 입니다. SAP 재무 모듈에서 계정잔액을 조회할 때, 표준 프로그램 FAGL_ACCOUNT_BALANCE를 사용하게 됩니다. 하지만 이 프로그램의 selection screen에는 사업영역(RBUSA) 조건이 없어서, 업무영역별로 잔액을 분석하려면 별도의 처리가 필요합니다. 해당 프로그램 화면에서 표시된 임의선택 버튼을 누르게 될 경우아래와 같은 다양한 선택 데이터가 나오게 됩니다.하지만 Call Transaction 등의 로직으로는 Selection-Screen의 있는 데이터가 아니므로 처리할 수가 없습니다.이런 상황에서 Free Selection 기능을 활용하면 표준 프로그램을 수정하지 않고도 원하는 조건을 동적으로 추가할 수 있습니다.전체 프로그램 구조 - 예시 ( Select..

SAP ABAP 2025.09.03

SAP Now AI Tour KOREA Presentation 자료 공유

안녕하세요. 모델와이입니다. 오늘은 SAP Now 관련 파일을 공유드리려고 글을 작성해봅니다.2025년 7월 15일 개최된 'SAP NOW AI Tour Korea'의 온디맨드 자료가 SAP 공식 사이트에 공개되었습니다. 행사에 참석하지 못하신 분들이나 발표 내용을 다시 확인하고 싶으신 분들을 위해 공식 사이트 링크를 공유합니다.필요하신 분들 확인하시어 참고하시길 바랍니다. 행사명: SAP NOW AI Tour Korea개최일: 2025년 7월 15일 (화)장소: 그랜드 인터컨티넨탈 서울 파르나스 호텔주제: 'Unleash Your Future with Business AI'주요 내용: AI, 데이터, 애플리케이션을 결합한 기업 혁신 전략 🌐 공식 사이트 접속 -> 해당 버튼 클릭📋 제공되는 콘텐츠기..

SAP 일반 2025.08.20

일회성공급업체(One time vendor) 도 원천세 처리를 할수 있나요?

SAP에서 One-Time Vendor(일회성 거래처)도 일반적인 Vendor와 동일하게 원천세(Withholding Tax) 처리가 가능합니다.기본 원리: One-Time Vendor를 대상으로도 Extended Withholding Tax 기능을 적용할 수 있으며, 원천세 유형 및 원천세 코드를 할당하여 자동으로 원천세가 계산되고 기표 처리됩니다.설정 및 유의사항:One-Time Vendor 마스터 데이터 생성 시 "Liable to W/Tax" 항목을 활성화해야 합니다.관련 계정의 Field Status Group(FSG)에서 Withholding Tax 관련 필드가 숨겨지지 않도록 주의해야 합니다. FSG 설정이 올바르지 않으면 invoice 입력 시 원천세 코드 필드가 회색으로 비활성화될 수 ..

🚀 SAP SALV 기능 소개

안녕하세요 모델와이 입니다.오늘은 SALV의 기능에 대해서 조금 더 자세하게 소개해보려고 합니다.🔍 SALV란?**SALV (Simple ALV)**는SAP에서 가장 빠르고 간단하게 표 형태의 데이터를 출력할 수 있는 클래스입니다.🧩 SALV의 특징과 한계항목설명컨테이너 불필요CL_SALV_TABLE으로 바로 출력필드카탈로그 자동 생성필요시 LVC 필드카탈로그도 적용 가능툴바/레이아웃 저장표준 기능 제공컬럼 강조/색상/핫스팟LVC 필드카탈로그로 제한적 지원이벤트 핸들링더블클릭/핫스팟/유저커맨드 가능단점다양한 이벤트를 구성하기에 수월하지 않음🎯 확장 기능 예시 ( 로직에 구현 )기능설명컬럼 텍스트 변경LVC 필드카탈로그로 구현컬럼 색상 강조emphasize 활용핫스팟 표시 및 이벤트set_cell_t..

SAP ABAP 2025.07.23

🚀 SAP ALV에 대한 이해

Function ALV / Class ALV / SALV 차이비교 및 따라하기S안녕하세요 모델와이입니다.오늘은 SAP에서 제일 중요하다고 할 수 있는 ALV에 대한 이해를 살짝 해보는 기회를 가져보겠습니다.ALV에 대해서는 말해도말해도 끝도 없이 말할 게 있지만 일단 간략하게 개요정도로 살펴보겠습니다. 🔍 ALV란?**ALV (ABAP List Viewer)**는SAP에서 데이터를 표 형태로 출력하고 조작할 수 있는 표준 UI 도구입니다.별도의 복잡한 화면을 만들지 않아도,표 형태 데이터 출력정렬, 필터, 합계, 서브합계엑셀 다운로드레이아웃 저장등을 기본으로 제공합니다.🧩 ALV의 종류ALV 종류 방식 특징Function ALVREUSE_ALV_GRID_DISPLAY전통적 함수 기반 ALVClass ..

SAP ABAP 2025.07.22

SAP ABAP 정규표현식 사용

안녕하세요! 😊 모델와이입니다.오늘은 ABAP 개발자라면 꼭 알아야 할 문자열 패턴 비교 방법을 정리해보려고 합니다.SAP ABAP에서 문자열 비교는 생각보다 자주 사용하지만,헷갈리기 쉬운 부분이 많습니다.이번 글에서는 아래 내용을 한 번에 정리해드립니다.✅ CP / LIKE / REGEX 차이✅ 정규표현식 기본 문법✅ ABAP에서의 REGEX 사용법과 실무 예제🔹 1️⃣ ABAP에서 문자열 패턴 비교 방식패턴사용처내역LIKESQL문DB 검색용CPABAP 내부LIKE와 유사 (ABAP용)REGEXABAP 내부복잡한 패턴 처리 가능🔹 2️⃣ LIKE와 CP 차이✅ LIKESQL문에서 사용SELECT * FROM scarr WHERE carrname LIKE 'A%' INTO TABLE @DATA(..

SAP ABAP 2025.07.21

SAP ABAP IF문 정리 ( 비교연산자 및 IN 조건 확인 )

안녕하세요. 모델와이입니다.오늘은 SAP ABAP에서 가장 기본이지만,실무에서 헷갈리기 쉬운 조건문(IF문) 사용법에 대해 정리해보려고 합니다.특히,문자열 비교 (CA / CO / CP 차이)IN 조건 처리법 (Range 활용)CO에서 * 사용할 때 주의점까지 자세히 설명할 테니,ABAP를 처음 접하신 분이나, 헷갈렸던 분들은 이번 글로 개념을 확실히 잡아가세요!🔹 ABAP IF문 기본 구조ABAP에서 조건문은 이렇게 사용합니다.IF 조건. \" 참일 때 실행ELSEIF 다른조건. \" 다른 조건일 때 실행ELSE. \" 모두 거짓일 때 실행ENDIF.✅ 간단한 예제DATA lv_carrid TYPE scarr-carrid VALUE 'AA'.IF lv_carrid = 'AA'. WRITE..

SAP ABAP 2025.07.18

SAP ABAP에서 SELECT-OPTION 제어하기

안녕하세요. 모델와이입니다. SAP ABAP 개발을 하다 보면 SELECT-OPTIONS를 자주 사용합니다.SELECT-OPTIONS는 기본적으로 사용자가 다양한 옵션을 입력할 수 있도록 제공하지만실제로는 EQ만 허용하고 싶다거나,INCLUSIVE만 선택하게 하고 싶다는 요구사항이 생기기도 합니다.이럴 때 사용하는 것이 바로 SELECT_OPTIONS_RESTRICT 함수입니다.✅ 기본 개념SELECT_OPTIONS_RESTRICT를 사용하면화면의 다중 조건 입력을 제한할 수 있습니다.허용할 OPTION을 지정 → 예) EQ만 허용허용할 SIGN을 지정 → 예) I만 허용 (E 제외)특정 SELECT-OPTION 필드에만 적용 가능🛠️ 사용 방법1. 옵션 그룹 정의먼저 허용할 옵션을 정의합니다.DATA..

SAP ABAP 2025.07.17

ABAP Range 변수 정리 - (RANGES / TYPE RANGE OF / SELECT-OPTIONS 비교)

안녕하세요. 모델와이입니다. 오늘은 SAP range 변수에 대해서 알아보겠습니다.SAP ABAP 개발을 하다 보면 SQL문에서 다중 조건을 처리할 일이 많습니다.예를 들어 항공사 테이블 SCARR의 CARRID 항목에서'AA'와 'LH'만 조회하고 싶을 때가 있겠죠.이럴 때 유용하게 사용하는 것이 바로 Range 변수입니다.이번 글에서는 RANGES, TYPE RANGE OF, SELECT-OPTIONS를 모두 비교하고SALV 출력 예제와 도메인 Fixed-value까지 정리해보겠습니다.📌 Range 변수란?Range 변수는 조건을 담는 내부 테이블입니다.다음과 같은 구조를 가지고 있습니다.필드필드설명SIGN포함 여부 ('I' = 포함, 'E' = 제외)OPTION조건 연산자 ('EQ', 'NE', ..

SAP ABAP 2025.07.16

🧠 SAP CODE 아카데미 1기 완벽 정리 (2025) - ( feat. SAP SYNC )

안녕하세요 모델와이 입니다. SAP 개발자로 커리어를 시작하고 싶다면 주목할 프로그램,바로 SAP CODE 아카데미 1기입니다. SAP SYNC 교육과정이 끝난 후 새로 생긴 교육 과정입니다.SAP 코리아가 직접 주관하는 개발자 양성과정으로, 2025년 하반기부터 첫 기수가 시작됩니다.✅ SAP CODE 아카데미란? CODE는 "Cloud On Development Excellence"의 약자로,SAP 코리아가 클라우드 시대에 맞는 차세대 개발자를 양성하기 위해 만든 9개월 집중 교육 과정입니다.이 과정은 단순한 이론 교육이 아닌,SAP 실무 기술을 중심으로 커리큘럼이 구성되어 있으며풀타임 개발자 양성을 목표로 운영됩니다. 🗓️ 교육 일정 및 정보항목 내용교육 명칭SAP CODE 아카데미 1기주관SA..

SAP 일반 2025.07.03

SAP 배치잡(Batch Job) 대량/개별 변경 방법 정리 – BTC_MASS_JOB_CHANGE vs SM37

안녕하세요 모델와이입니다.SAP 시스템 운영 중에는 배치잡(Batch Job)의 실행 사용자, 프린터, 시작 조건 등 설정을 변경해야 하는 경우가 자주 발생합니다. 이때, 작업량에 따라 적절한 도구를 선택하면 훨씬 효율적으로 처리할 수 있습니다.🔹 주요 변경 방법 비교BTC_MASS_JOB_CHANGE VS SM37목적잡 정보 대량 변경( BTC_MASS_JOB_CHANGE )잡 개별 변경( SM37 )사용 대상수십~수백 건 이상의 배치잡소수 잡 (1~3개 등)변경 가능 항목사용자, 워크센터, 프린터 등시작 조건, 스텝, 사용자 등전제 조건잡이 Released/Scheduled 상태여야 함잡이 Released 상태여야 함권장 사용 시점정기 배치 사용자 교체, 일괄 서버 변경 등예외 잡 수정, 일회성 조..

SAP 일반 2025.06.27

SAP CTS 병합 방법 정리

안녕하세요. 모델와이입니다. SAP S/4HANA에서는 여러 개의 개발 요청(Transport Request, 이하 TR)을 관리하거나 병합해야 할 일이 많습니다.이번 글에서는 S/4HANA 기준으로 SE09에서 사용할 수 있는 CTS 병합 방법 3가지를 정리합니다.1️⃣ 태스크 재지정 (Reassign Task)✔ 기능 설명특정 TR에 있는 개별 Task를 다른 TR로 이동시키는 기능입니다.💡 사용 예시여러 개발자가 각각 Task를 만들었으나 최종 릴리즈 시 하나의 TR로 묶고 싶을 때실수로 잘못된 TR에 Task가 생성되었을 때🧭 사용 방법SE09 접속 후 Task가 포함된 TR 선택상단 메뉴: [유틸리티 → 재구성 → 태스크 재지정] 클릭이동할 대상 TR 번호 입력저장 및 확인 태스크 재지정은 ..

SAP 일반 2025.06.05

SAP ABAP 루프 제어 구문 정리 : ON CHANGE OF, AT NEW, AT END OF, AT FIRST, AT LAST

안녕하세요 모델 와이입니다. SAP ABAP에서 내부 테이블을 순회할 때 특정 조건이나 위치에 따라 다르게 로직을 실행하고 싶을 때 사용하는 전통적인 구문들이 있습니다. 대표적으로 ON CHANGE OF, AT NEW, AT END OF, AT FIRST, AT LAST가 있으며, 이 글에서는 각 구문의 특징과 차이점을 예제와 함께 정리해보겠습니다. 🧩 예제 코드 비교🔹 ON CHANGE OF 예제SORT it_data BY matnr.LOOP AT it_data INTO wa_data. ON CHANGE OF wa_data-matnr. WRITE: / '▶ 자재 변경:', wa_data-matnr. ENDON. WRITE: / wa_data-matnr, wa_data-werks.ENDLO..

SAP ABAP 2025.05.28

SAP ABAP 날짜 관련 Function Module

안녕하세요 모델와이입니다. SAP ABAP에서는 날짜 계산, 유효성 검사, 공휴일 체크 등 다양한 기능을 손쉽게 처리할 수 있도록 여러 날짜 관련 Function Module(FM)을 제공합니다. 이 글에서는 SAP 개발 실무에서 자주 쓰이는 날짜 관련 FM 14개를 간단한 설명과 함께 예제 코드로 정리해 보았습니다.✅ 1. RP_CALC_DATE_IN_INTERVAL→ 기준일로부터 ± 일/월/년을 더하거나 빼서 날짜 계산DATA: lv_date_from TYPE sy-datum VALUE '20250101', lv_date_to TYPE sy-datum.CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' EXPORTING date = lv_date_fr..

SAP ABAP 2025.05.27

SAP 배치 병렬 처리 (Parallel Processing)란?

안녕하세요 모델와이입니다. SAP에서는 CALL FUNCTION ... STARTING NEW TASK 문법을 이용해 **여러 개의 작업(Task)**을 동시에 실행할 수 있습니다.이는 Dialog Work Process를 여러 개 사용하는 방식으로, CPU 병렬 분산 처리와 유사한 개념입니다.주로 사용하는 상황:대량 전표 처리인터페이스 수신 후 데이터 정제 및 Posting보고서 집계 등 독립적인 작업들을 동시에 수행할 수 있을 때ㄱ. 기본 로직 예시1. 병렬 처리용 RFC Function Module 예시 (ZFI_PARALLEL_TASK)FUNCTION ZFI_PARALLEL_TASK. *" Remote-enabled Function DATA: lv_count TYPE i. LOOP AT it..

SAP ABAP 2025.04.23

SAP Background Job 관리와 SM37 분석

안녕하세요. 모델와이입니다.SAP 프로젝트 운영이나 구축을 하다 보면 하루에도 수십~수백 개의 Background Job이 실행되며 시스템 핵심 업무를 떠받치고 있습니다.그런데 의외로 많은 분들이 SM37 화면에서 “Canceled”만 보고 끝나는 경우가 많죠.오늘은 실전에서 자주 발생하는 Job 오류 대응법과 튜닝 포인트, 그리고 SM13과 SPOOL을 활용한 디버깅 방법까지 블로그로 정리해보겠습니다. 1. SAP Background Job이란?Background Job은 SAP 내에서 대량 데이터나 반복 업무를 자동으로 수행하기 위한 핵심 기능입니다. 주로 아래와 같은 용도로 사용됩니다:FI Posting (BAPI 또는 Batch Input 방식)외부 인터페이스 수신/송신 처리마감 정산/배치 정리오..

SAP ABAP 2025.04.18

SAP 유효성 점검 및 대체 로직 기입 방법

안녕하세요. 모델 와이입니다. 오늘은 유효성 점검 (ZRGGBR000) 과 유효성 대체(ZRGGBS000)에서 로직을 입력할 때 활용법에 대해서 말씀드리겠습니다. SAP에서는 유효성 점검(Validation) 및 대체(Substitution)를 설정할 때, 특정한 조건과 로직을 적용하기 위해 EXIT을 활용할 수 있습니다. 이를 위해 SAP에서는 C_EXIT_PARAM_NONE, C_EXIT_PARAM_FIELD, C_EXIT_PARAM_CLASS 세 가지 주요 유형을 제공합니다. 점검 혹은 대체 로직을 들어가면 아래와 같은 설정을 확인하실 수 있습니다.해당 설정에 PARAM의 값의 의미에 대해서 설명하며, 관련 로직으로 기입하는 방법을 설명드리겠습니다.  1. C_EXIT_PARAM_NONE매개변수를 ..

SAP ABAP 2025.03.24

SAP BP 세금번호 저장 위치 차이: KNA1-STCD2 vs. DFKKBPTAXNUM

안녕하세요! 모델와이입니다.오늘은 SAP S/4HANA에서 FI 모듈을 구축할 때 BP(Business Partner)의 세금번호 저장 위치에 대해 알아보겠습니다. 보통 BP의 세금번호는 KNA1-STCD2 필드에 저장될 것으로 예상하지만, 경우에 따라 DFKKBPTAXNUM 테이블에 저장되는 경우도 있습니다. 이 차이를 이해하면 SAP 설정을 보다 정확하게 파악할 수 있으며, 데이터 조회 및 인터페이스 개발 시 혼선을 줄일 수 있습니다.BP 세금번호 저장 위치 차이란?SAP에서 BP의 세금번호는 입력 방식과 시스템 설정에 따라 KNA1-STCD2 또는 DFKKBPTAXNUM에 저장됩니다.KNA1-STCD2: 고객 마스터 데이터(Customer Master) 필드로, 주로 SD/MM 모듈에서 사용됩니다...

SAP 일반 2025.03.03

SAP Structure 및 Table 필드 정보 변경 후 ALV 반영되지 않는 경우

안녕하세요. 모델 와이입니다. 오늘은 개발을 하다가 자주 접하는 오류 케이스에 대한 정보를 들고 왔습니다. 모두들 아시다시피 ALV 개발에 있어 다양한 방법의 Field-catalog 생성 방법들이 존재하는데요.그 중 많은 분들이 쓰시고 있는 "LVC_FIELDCATALOG_MERGE" 의 경우 테이블 혹은 구조체의 선언된 내역을 가져와서 생성합니다. 하지만 참조하는 필드가 변경되었을 경우 해당 내역을 즉시 반영하지 못하는 경우가 생기곤 합니다. 그럴 때는 Buffer를 제거해 Sync를 맞춰주어야 내부적인 선언들도 반영처리가 됩니다. 버퍼를 제거하는 방법은 코드로 작성하거나, 직접 명령어를 입력하는 방법이 존재합니다.그럼 해당 내역들을 자세히 알아보겠습니다. 0) SE14  ABAP Dictionary..

SAP ABAP 2025.02.26

SAP Memory의 활용

안녕하세요. 모델와이입니다. SAP ABAP 개발에서는 프로그램 실행 중 데이터를 유지하고 전달하는 다양한 방법이 제공됩니다.그중 ABAP Memory는 프로그램 간 데이터 공유 및 성능 최적화를 위해 자주 활용됩니다.이번 글에서는 SAP ABAP Memory의 개념, 활용법, 그리고 스탠다드 설정 및 CBO에서의 활용을 다뤄보겠습니다.1. SAP ABAP Memory란?SAP ABAP Memory는 SAP 내부에서 실행되는 프로그램 간 데이터를 공유하는 메커니즘입니다. 이는 메모리 내에서만 유지되므로 속도가 빠르고, 데이터베이스를 거치지 않기 때문에 부하를 줄일 수 있는 장점이 있습니다.SAP에서 사용되는 메모리는 크게 두 가지로 나뉩니다:ABAP Memory: 같은 SAP 세션 내에서 데이터를 공유하..

SAP 일반 2025.02.14