[ABAP] SELECT

펭귄안녕·2025년 3월 11일

abap

목록 보기
7/14

아밥이라기엔 오라클인...

1. 테이블을 조회하고 테이블에 저장

SELECT SINGLE * // * = 테이블에 있는 화면변수 모두 조회 
  // 테이블에 있는걸
   FROM ZPDCT7001
  WHERE LCOD    =  'D90'
    AND SCOD    =  GV_R_ID.
   IF SY-SUBRC <> 0.
   MESSAGE I000(ZMCPD) WITH '해당 사용자 정보가 없습니다.'.
   EXIT.
  ENDIF.

// 화면변수에 저장
GV_NAME     =   ZPDCT7001-CODDSC.
GV_TEL      =   ZPDCT7001-CODREM.
GV_POSITION =   ZPDCT7001-CODREM2.

2. 화면변수에 직접 저장

SELECT SINGLE CODDSC CODREM // 콤마없이 띄우기
  // 테이블에서 조회하고 바로 화면변수에 저장 
  INTO (GV_NAME,GV_TEL) // 콤마

   FROM ZPDCT7001
  WHERE LCOD    =  'D90'
    AND SCOD    =  GV_R_ID.
  IF SY-SUBRC <> 0.
    MESSAGE I000(ZMCPD) WITH '해당 사용자 정보가 없습니다.'.
    EXIT.
  ENDIF.

INTO CORRESPONDING FIELDS OF - 동일한 이름을 가진
일치하는 컬럼명끼리 데이터를 그대로 복사해서 삽입

DATA GT_7001            LIKE ZPDCT7001 OCCURS 0 WITH HEADER LINE. 

// TOP에 7001을 가지고오는 인터널 테이블 선언

3. 테이블을 SINGLE로 읽어서 인터널 테이블에 넣기

SELECT SINGLE * // SINGLE은 헤드로 넣고 
  INTO CORRESPONDING FIELDS OF GT_7001 //헤드에 저장 

   FROM ZPDCT7001
  WHERE LCOD    =  'D90'
    AND SCOD    =  GV_R_ID.

  IF SY-SUBRC <> 0.
    MESSAGE I000(ZMCPD) WITH '해당 사용자 정보가 없습니다.'.
    EXIT.
  ENDIF.

GV_NAME   =  GT_7001-CODDSC.
GV_TEL    =  GT_7001-CODREM.

4. 테이블을 MULTI 로 읽어서 인터널 테이블에 넣기

SELECT * // 몸통으로 넣고 
  INTO CORRESPONDING FIELDS OF TABLE GT_7001 //TABLE = 몸통으로 저장

   FROM ZPDCT7001
  WHERE LCOD    =  'D90'
    AND SCOD    =  GV_R_ID.
  IF SY-SUBRC <> 0.
    MESSAGE I000(ZMCPD) WITH '해당 사용자 정보가 없습니다.'.
    EXIT.
  ENDIF.


LOOP AT GT_7001.

GV_NAME   =  GT_7001-CODDSC.
GV_TEL    =  GT_7001-CODREM.

ENDLOOP.

0개의 댓글