loading
본문 바로가기
SAP/ABAP

[SAP_ABAP] 도메인 고정값 가져오는 방법

by 원쿤짱쿤 2025. 9. 7.
반응형

준비물


테스트 할 도메인을 하나 생성 하거나 지정한다.

 

전체 코드


DATA: lt_dd07v TYPE STANDARD TABLE OF dd07v,
      ls_dd07v TYPE dd07v.

CALL FUNCTION 'DD_DOMVALUES_GET'
  EXPORTING
    domname   = 'ZSMOKE'  
    text      = 'X'
    langu     = sy-langu
  TABLES
    dd07v_tab = lt_dd07v.

LOOP AT lt_dd07v INTO ls_dd07v.
  WRITE: / ls_dd07v-domvalue_l, ls_dd07v-ddtext.
ENDLOOP.

 

결과

해설


DATA: lt_dd07v TYPE STANDARD TABLE OF dd07v,
      ls_dd07v TYPE dd07v.

 

  • lt_dd07v: 도메인 값 목록을 담을 내부 테이블.
  • ls_dd07v: 도메인 값 목록에서 한 줄을 담는 워크에어리어.
  • 타입 dd07v는 SAP 표준 구조로, 도메인 값과 텍스트 등을 담습니다.
    • 주요 필드:
      • DOMVALUE_L: 실제 코드값 (예: ‘Y’, ‘N’)
      • DDTEXT: 해당 코드의 설명 텍스트 (예: ‘흡연실’, ‘금연’)

 

CALL FUNCTION 'DD_DOMVALUES_GET'
  EXPORTING
    domname   = 'ZSMOKE'  
    text      = 'X'
    langu     = sy-langu
  TABLES
    dd07v_tab = lt_dd07v.

 

  • SAP 표준 FM **DD_DOMVALUES_GET**을 호출해서 도메인 고정값을 가져옴.
  • 파라미터 설명:
    • domname = 'ZSMOKE' → 조회할 도메인 이름.
    • text = 'X' → 텍스트도 같이 가져오도록 설정.
    • langu = sy-langu → 현재 로그인 언어 기준 설명 가져오기.
  • 결과: 도메인 ZSMOKE의 값 목록(Y/N 등)과 설명이 lt_dd07v에 담김.

 

 

LOOP AT lt_dd07v INTO ls_dd07v.
  WRITE: / ls_dd07v-domvalue_l, ls_dd07v-ddtext.
ENDLOOP.

 

  • lt_dd07v 테이블을 돌면서 한 줄씩 출력.
  • / → 새로운 줄에 출력.
  • 출력되는 항목:
    • ls_dd07v-domvalue_l: 도메인 코드값 (예: Y, N)
    • ls_dd07v-ddtext: 코드에 대한 설명 (예: 흡연실, 금연)

 

쉽게 이해하기!!

  • DATA lt_dd07v, ls_dd07v.
    •  “SAP아, 네가 알려줄 규칙표를 담을 **큰 종이 묶음(lt_dd07v)**과,
      그 중 한 장만 볼 수 있는 작은 종이(ls_dd07v) 준비해줄래?”
  • CALL FUNCTION 'DD_DOMVALUES_GET' ...
    • “SAP아, ZSMOKE라는 규칙표 좀 줘. 설명까지 달아서.”
      (SAP이 값들을 lt_dd07v 종이 묶음에 꽂아줌)
  • LOOP AT lt_dd07v INTO ls_dd07v.
    • “이제 종이 묶음을 한 장씩 꺼내서 보자.”
  • WRITE: / ls_dd07v-domvalue_l, ls_dd07v-ddtext.
    • “그 종이에 적힌 코드(Y/N)와, 옆에 설명(흡연실/금연)을 화면에 적어둬.”

더 쉽게 비유로 정리!

  • 도메인 = 학교 급식 식단표 (월=김치찌개, 화=된장찌개 …)
  • 함수 DD_DOMVALUES_GET = 영양사 아줌마한테 “이번주 식단표 주세요” 요청하는 것
  • lt_dd07v = 받은 식단표 전체
  • ls_dd07v = 그 중 하루치 메뉴
  • LOOP + WRITE = 식단표를 하루씩 꺼내서 칠판에 적는 것

 

 

참고


DD07V 이름 해석

  • DD
    → Data Dictionary (SAP에서 테이블, 도메인, 데이터 요소 같은 기술적 정의가 들어있는 영역)
  • 07
    → SAP 내부에서 도메인 값(Fixed Values) 관련 객체를 그룹화한 번호
    (예: DD01 = Domain 기본 정의, DD02 = 테이블 정의, DD07 = Domain values … 이런 식으로 “번호 체계”를 가짐)
  • V
    → View (데이터베이스 뷰)
    (참고로 DD07T는 Text 테이블, DD07L은 Language-independent 기본값, 이런 식으로 끝글자에 의미가 있다)