abap 19

🚀 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 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 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 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

SAP ABAP Performance Tunning - ST12 , ST03 사용법

안녕하세요. 모델와이입니다.오늘은 개발자들이 개발을 하다보면, 늘 부딪히게 되는 개발튜닝에 대한 내역을 설명드리겠습니다.개발자뿐만 아니라, 운영을 하다보면 컨설턴트와 PI들도 개발자에게 튜닝을 요구하기 위한 좋은 도구라고 생각됩니다.초급개발자일 수록 혹은 SI 혹은 SM을 진행할 때에도 늘 필요한 기능이니 참고하시어 업무에 도움이 되시길 바랍니다. SAP Performance Tuning: 개발자가 꼭 알아야 할 성능 최적화 기법SAP 시스템에서 성능 최적화(Performance Tuning)는 사용자 경험을 향상시키고, 시스템 리소스를 효율적으로 활용하며, 운영 비용을 절감하는 중요한 요소입니다. 특히 ABAP 개발자로서 최적화된 코드를 작성하는 것은 시스템의 안정성과 효율성을 높이는 핵심 역량 중 ..

SAP ABAP 2025.02.13

Selection-Screen 실행 버튼 제거 ( Screen 1000 )

안녕하세요. 모델와이 입니다. SAP ABAP에서 스크린(Screen) 1000 기준으로 **스탠다드 버튼(표준 버튼)**을 숨기거나 비활성화(Disable) 하는 방법을 설명해 드릴게요.  📌 1. SAP 스탠다드 버튼 목록 (스크린 1000 기준)스크린(Screen) 1000을 사용하는 프로그램에서 일반적으로 제공되는 SAP 표준 버튼은 다음과 같습니다.버튼 설명 SY-UCOMM 값버튼설명SY-UCOMM실행프로그램 실행 (F8)ONLI저장레이아웃 저장SPOS레이아웃레이아웃 불러오기GET 이 버튼들은 ABAP Logic을 통해 제어할 수 있습니다.📌 2. 스탠다드 버튼 숨기기 (제거하기)아래와 같은 화면의 버튼을 제거할 수 있습니다. ✅ 예제 : 버튼 숨기기Initialzation에 (다른 곳도 상..

SAP ABAP 2025.02.12

SAP Field catalog LVC_S_FCAT 설명

안녕하세요. 오늘은 SAP ALV 설정 시 Field catalog 설정에 대한 세부값 설명을 해드리겠습니다.초급개발자의 경우 해당 값들의 사용처를 몰라 힘들게 처리하기도 하는데요. 해당 내역 한 번 확인하시고 추후에 개발에 용이하게 처리하시길 바랍니다. 필드필드내역필드설명COL_POSALV control: Output column칼럼의 output 순서 FIELDNAMEALV control: Field name of internal table field내부 테이블필드의 필드 이름 TABNAMELVC tab name구조체를 참조했을 때 테이블 이름CURRENCYALV control: Currency unitCurrency 단위 CFIELDNAMEALV control: Field name for curre..

SAP ABAP 2025.01.09

SAP ABAP New syntax 7.40

안녕하세요. SAP ABAP new Syntax에 대해서 한 번 알아보겠습니다.SAP 버전 7.4 Patch 이후로 ABAP에서 신규로 사용할 수 있는 구문들에 대해서 정리해보겠습니다.  1. 데이터 선언 및 테이블 선언1-1. 데이터 선언 7.4 이전 구문 DATA : lv_var1 TYPE char5. lv_var1 = ‘ABC’.  신 구문 활용 DATA(lv_var1) = ‘ABC’.  1-2. 테이블 선언 7.4 이전 구문DATA lt_tab LIKE lt_table.lt_tab[] = lt_table[].  신 구문 활용DATA(lt_tab) = lt_table[].  해당 내용 변경을 통해, 변수 및 테이블에 대한 변수 선언을 별도로 사용할 필요가 없어졌습니다.해당 변수는 local obje..

SAP ABAP 2024.12.16

SAP ABAP 기본 Syntax

안녕하세요. ABAP 기본 Syntax에 대해서 알아보겠습니다.ABAP는 SAP의 프로그래밍 언어로, 데이터 처리와 비즈니스 로직 구현에 매우 중요한 역할을 합니다.이번 포스트에서는 ABAP의 기본적인 Syntax 중 DATA와 TYPE 선언에 대해 자세히 살펴보겠습니다.ABAP에서 DATA 선언은 변수를 정의하는 중요한 과정입니다.변수를 선언할 때는 DATA 키워드를 사용합니다. 예를 들어, 다음과 같이 변수를 선언할 수 있습니다.  1. 데이터 선언( DATA이용 ) 위에 보이는 대로 데이터 선언은 "DATA" 로 선언할 수 있습니다.DATA 뒤에 ":" (쌍점 , 네이버에 검색하니 쌍점이라고 나오네요...) 을 붙이면 한 번에 여러개의 변수를 선언할 수 있습니다.SAP에서 선언하는 데이터 유형은 아..

SAP ABAP 2024.11.19