메뉴 건너뛰기

SAP 한국 커뮤니티



SELECT구문 : INTO 3.data objects

SAP폐인 2007.11.20 16:03 조회 수 : 5056


------- SELECT구문 ------



SELECT (1.FIELD NAME)  FROM (2.TABLE NAME)
                                      INTO (3.DATA OBJECT)
                                      WHERE (4.FIELD NAME) 비교연산자 (DATA OBJECT/VALUE)


 


그럼 이제는 INTO DATA OBJECT에 대해서 생각해보도록 합시다. INTO구문은 2. FROM TABLE/VIEW에서 끌고온 테이블중에서 어떤 것들 1.FIELD NAME을 어떻게 어디에 담을 것인지를 정하는 것이라고 말할 수 있다. DATA OBJECT라고 적어 놓은 이유도 넘어오는 값이 FIELD면 FIELD로 STRUCTURE구조면 STRUCTURE로, TABLE형태이면 TABLE형태로 받아야 하므로 여러 DATA OBJECT형태를 띄기 때문이다. 중요한 것은 FIELD NAME의 형태에 따라 INTO구문이 틀려질 수 있기 때문에 때로는 FROM 전에 INTO구문을 넣어야 할 때도 있다.(FROM다음에 오면 에러가 난다) 그럼 INTO ~ 에 대해 자세히 알아보도록 하자.


 


 1. into wa,  into table itab, into (f1, ... fn) : 1. field name에서 넘어오는 값과 동일한 형태 및 속성을 가진 data object를 정의해야 한다. 만약 SELECT * FROM SFLIGHT라면 DB TABLE의 모든 필드를 SELECT하겠다는 뜻이므로 data object형태도 table 형태를 띄어야 한다. 만약 여러 필드를 적을 경우 ()표시를 넣게 되는데 () 표시는 field 이름과 공백을 가지지 않고, 그대로 붙여쓰게 된다는 것을 명심하자.


 


예문)


    DATA:  carrid   TYPE scarr-carrid,
               carrname TYPE scarr-carrname.
    SELECT carrid carrname INTO (carrid, carrname)
                                        FROM scarr.
    WRITE: / carrid, carrname.
    ENDSELECT.  <- 예문에는 있지만 거의 쓰지 않는다. 


 


2. into corresponding fields of wa, into corresponding fields of table itab : 여기서 corresponding fields of라는 구문은 1. field name에서 넘어오는 값중에 동일한 속성을 가진 필드의 경우 그대로 가져온다는 뜻이다. table를 쓰게 된다는 것은 table로 데이터를 받겠다는 것이며, 쓰지 않는 다는 것은 structure형태나 field형태로 값을 받겠다는 것이다.


 


예문)


  DATA : wa_fli TYPE sflight.
  DATA : it_fli    LIKE wa_fli occurs 0 with header line.


  SELECT * FROM sflight


                 INTO CORRESPONDING FIELDS OF table IT_FLI.


  WRITE : / it_fli-carrid, it_fli-connid.



 


3. append fields, append corresponding fields of wa, append corresponding fields of table itab : into구문의 경우 뒤에 오는 data objects로 값을 받겠다는 의미이지만 append는 값을 받아서 전에 있는 data object에 append시킨다라는 의미이다. 따라서 into 대신 append를 쓰는 경우에는 항상 앞 부분에 또다른 SELECT구문이 있고 그 구문에는 into 라는 것이 있다. 그리하여 앞 부분에 데이터가 담겨진 data object에 더해서 append구문으로 data를 추가시킨다고 생각하면 쉽다.


 


예문)


  DATA : wa_flight type sflight occurs 0 with header line.


 SELECT * FROM sflight


                INTO corresponding fields of table wa_flight.            1)  into로 담는다.


 SELECT * FROM scarr 


                APPENDING corresponding fields of table wa_flight.  2)  1)로 담은 곳에 append시킨다.


 WRITE : / wa_flight-carrid, wa_flight-connid.


 


SELECT구문중에서도 INTO구문으로 데이터를 잘 받아낼 수 있어야 SELECT 구문 다음에 데이터를 활용할 수 있으니 이 부분은 확실하게 알고 있어야 하겠다.

번호 제목 글쓴이 날짜 조회 수
824 Configuration_Guide_SAP_XI_3.0_Demo_Examples [1] file w 2007.11.09 2985
823 Cross_Component_Business_Process_Management___SP_XI_3 [1] file w 2007.11.09 2993
822 Exchange_Infrastructure____Integrating_Heterogeneous_Systems_with_Ease file w 2007.11.09 3029
821 High_Availability_Guide___SAP_XI_3.0 [2] file w 2007.11.09 3005
820 How_to_Debug_Exchange_Infrastructure_(XI)_Applications [1] file w 2007.11.09 2991
819 How_To_Install_and_Configure_External_Drivers_for_JDBC_and_JMS_Adapters file w 2007.11.09 3091
818 How_To_Monitor_and_Analyze_Errors_in_the_Adapter_Engine [1] file w 2007.11.09 3103
817 How_To_Monitor_Exchange_Infrastructure_3.0 file w 2007.11.09 3017
816 How_to_Push_Data_into_BW_from_XI [1] file w 2007.11.09 3015
815 How_To_Sample_IDoc_Scenarios_within_XI_3.0 [6] file Happy~ 2007.11.09 3014
814 How_to_Set_Up_a_Web_Service_Related_Scenario_with_SAP_XI [4] file Happy~ 2007.11.09 2994
813 How_To_SLD_and_XI [1] file Happy~ 2007.11.09 3101
812 On Line Programming 기초 [7] file 안운혁 2007.11.13 4988
811 On Line Programming 기초 2 [9] file 안운혁 2007.11.13 4619
810 [펌] user exit 참고자료 [4] file 제임스장 2007.11.13 4428
809 SELECT구문 : 정의 [4] SAP폐인 2007.11.20 4769
808 SELECT구문 : SELECT 1.field name [3] SAP폐인 2007.11.20 6798
807 SELECT구문 : FROM 2.table/view name [2] SAP폐인 2007.11.20 4356
» SELECT구문 : INTO 3.data objects [2] SAP폐인 2007.11.20 5056
805 SELECT구문 : WHERE 4.field name 비교연산자 (data objects/value) [5] SAP폐인 2007.11.20 7226