분류 전체보기 28

SAP ABAP Select 구문, TIPS

SELECT: ABAP 에서 DB 테이블을 조회할 때 쓰는 구문 기본구조SELECT 필드들 FROM 테이블 INTO 대상 WHERE 조건. 기본예제SELECT * FROM MARA WHERE MTART = 'FERT' ORDER BY MATNR INTO TABLE @DATA(LT_MARA).SELECT * : 모든 컬럼, 특정필드 만 조회 시 컬럼 나열 (MATNR, MATKL…)FROM mara : 자재 마스터 기본 테이블INTO TABLE : 내부 테이블로 받음@DATA(...) : inline 선언 (7.40+)INNER JOIN : 양쪽 다 있는 데이터LEFT JOIN : 왼쪽 기준a~, b~ : 테이블 별칭ORDER BY: 지정 컬럼 순 정렬집계합수 (COUNT, SUM 등) ..

SAP 2026.01.23

SAP Text Table 내역 가져오기

Text Table: 코드(키 값)에 대한 설명용 텍스트(문자열)를 저장하는 전용 테이블Master Table / Custom Table = 코드Text table = 코드의 내역 (여러 언어로)간단히말하자면, 'A' 라는 코드의 언어 'KO' 일때, 내역은 '국내'이다. 코드언어키내역AKO국내AENDomestic 상세 설명 왜 Text Table이 필요한가? -> SAP의 기본 설계 철학 때문본 테이블(Main Table) → 성능·정합성을 위해 코드만 저장Text Table → 사용자 화면, 리포트, 출력물에서 쓰는 설명 텍스트 저장 📌 이렇게 분리하면다국어 지원 가능데이터 중복 최소화성능 향상Text Table의 대표적인 특징 1. 언어키(SPRAS)를 포함대부분 SPRAS 필드가 있음같은 코드..

SAP 2026.01.21

SAP Domain Fixed Value 도메인 값, 내역 가져오기 [GET_DOMAIN_VALUES 사용 X]

사용 용도도메인 타입을 가진 필드의 내역을 가져오기 위함쉽게 말하자면, XFLAG 를 참조하는 필드의 값이 ‘X’(=선택), ‘ ‘ (=공란) 일때 의미하는 것이 무엇인지‘GET_DOMAIN_VALUES’ - Function Module 있지만, 개인적으로 여러 도메인 값을 가져올 수 있는 방법 SELECT & READ TABLE 선호 SummaryTOP에 도메인 내역 담을 인터널테이블 선언 (GT_DD07V).도메인 정보 SELECTREAD TABLE 로 도메인 값의 내역 읽기세부 순서 1. TOP에 도메인 내역 담을 인터널테이블 선언 (GT_DD07V).*--For Domain ValueDATA GT_DD07V LIKE TABLE OF DD07V. 2. 도메인 정보 SELECTSELECT * ..

SAP 2026.01.20

조회조건 텍스트(내역) 색상 - Selection Screen Color (Intensified)

요구사항 중 가시성을 높이기 위해 글씨 폰트, 색상 커스터마이징 요청이 들어온다. 하지만 SAP 의 한계가 있음.“파란색”만 가능한… (그것도 예쁜 블루는 아닌… )해당 요구사항 시, 그래도 딜(?) 할 수 있는 로직을 소개한다.Summary 원래와 같이 조회조건은 선언LOOP AT SCREEN 안에서 SCREEN-INTENSIFIED 설정Detail Step 1. 조회조건 선언SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETERS: P_BUKRS TYPE T001-BUKRS. SELECTION-SCREEN COMMENT 38(20) LV_TEXT MODIF ID TXT.SELECTION-SCREEN END OF BLOCK B..

SAP 2026.01.19

CTS 소유자 변경

: SAP에서는 이미 생성된 Transport Request의 Owner(소유자) 를 변경할 수 있어. 주로 담당자 변경, 조직 이동, 퇴사자 계정 정리 등에 사용됨.방법1. SE09 실행 2. 원하는 Transport Request 선택 3.. 상단 메뉴 → Request/Task → Change Owner → 변경할 사용자 입력 → 저장⚠️ 주의사항개발 도중인 request 는 소유자 변경 후에도 개발이 정상적으로 가능함.이미 Released 된 transport 는 owner 변경해도 영향 없음 (단순히 문서 정보만 변경됨).

SAP 2025.12.10

ABAP 성능 최적화: DISTINCT vs. SORT 중복제거

📌 요약SELECT DISTINCT vs. SORT & 중복제거- SELECT 컬럼(들)이 명확한 중복제거 대상일 때, SELECT DISTINCT로 DB에서 중복 제거 - 특정 필드 기준으로만 제거해야 하면 SORT + DELETE ADJACENT DUPLICATES 를 사용✅ SELECT DISTINCT: DB 레벨에서 중복을 제거하는 방식.✔ 특징중복 제거를 “DB에서” 수행 → 불필요한 데이터가 ABAP로 올라오지 않음DISTINCT 에 지정된 컬럼 전체 조합이 동일한 경우 하나로 처리→ 성능이 좋음 (특히 대량 데이터)ABAP 내부가 아닌 SQL 처리SELECT 구문 자체가 DISTINCT 구조에 맞아야 함✔ 예시SELECT DISTINCT matnr, werks FROM mara INTO..

SAP 2025.12.10

SAP GUI 버튼 비활성화는 이렇게! SET PF-STATUS EXCLUDING 활용 가이드

📌 요약목적: 특정 조건에서 특정 기능 버튼을 활성화/비활성화 제어장점- 동일한 PF-STATUS를 사용하면서도 상황에 따라 개별 버튼을 동적 제어할 수 있어 유지보수성과 확장성이 높음- 권한 기반 화면 제어나 특정 상태에서 조작을 막아야 하는 경우 제어 가능📌 EXCLUDING 옵션의 목적✔ 특정 버튼을 동적으로 비활성화/숨기기 위한 기능SET PF-STATUS 명령은 화면에 GUI Status를 설정하는 문장이며, EXCLUDING 옵션은 특정 Function Code(F-CODE)들을 “비활성” 또는 “사용 불가” 상태로 만들 때 사용된다.즉, 같은 PF-STATUS를 사용하더라도 상황(권한, 조건, 데이터 상태 등)에 따라 일부 버튼만 막아야 할 때 활용하는 옵션이다. 사용 이유1) 동적 화면..

SAP 2025.12.10

사용자 표기법 설정으로 인한 금액 표시 포맷 오류 문제 해결(SU01)

⚠️ Issue: WRITE 구문 사용하여, 단가(금액) 필드의 통화키에 맞춘 값 & 금액 양식에 맞춘 “,” (콤마) 추가 로직 구현시, 콤마가 아니 점으로 변경됨. 원인: 해당 아이디의 표기법 세팅 문제→ 공백 값은 독일식 표기법이라고 한다. 해결→ T-CODE = SU01 에서 기본값 → 십진수 표기법 설정 → 값 = ‘X’ 테스트DATA: LV_NETPR TYPE EKPO-NETPR, LV_WAERS TYPE EKKO-WAERS, LV_CHAR TYPE CHAR20.LV_NETPR = '326.40'.LV_WAERS = 'KRW'.WRITE LV_NETPR TO LV_CHAR CURRENCY LV_WAERS.CONDENSE LV_CHAR NO-GAPS.

SAP 2025.12.09

ABAP 자동 괄호 사용

ABAP 개발하면서 괄호(…), {…}, […], “…”, ‘…’ 형태의 표기는 주로 인터널 테이블 INDEX, BDC, Dynpro 요소, 화offset/length 등에서 사용됨.✔ 괄호 사용 예시문자열 offset/length → lv_str+2(3)내부테이블 index → lt_list[3]-fieldBDC/Dynpro Index → FIELD(01)SELECT 길이 제한 → SELECT matnr(18) maktx FROM mara INTO TABLE lt_mara.이러한 괄호 사용 시, 더 간편하게 자동 괄호가 닫힐 수 있는 설정을 할 수 있음. 설정 경로: Program Source Code (SE80 - 프로그램) → 하단 오른쪽 옵션 버튼 → 포매팅 → 자동 괄호 사용 체크 (Enab..

SAP 2025.12.09