이글은 자료실에 있는 DynamicOpenSql 영문파일을 정리한 것이다.
Dynamic Open SQL.
내역 : WHERE clause
문법 : SELECT * FROM spfli WHERE (lv_where).
WHERE 절에 사용되는 형식은 아래와 같이 사용될 수 있다.
1) Character , Internal table ( embeded character ) Rel4.6D이하(권장)
2) String , Internal table ( embeded string ) Rel6.10이상(권장)
=> internal Table( 하기 사항을 생각한 후 선택한다)
장점 : Debugging하기가 유리한다.
단점 : 변수선언 등의 코딩라인 증가
기술 : 가) Dynamic Open SQL
프로그램 구동내역 설명
1) Select Screen을 통해 Parameter 3개를 입력 받을 수 있도록 구성한다.
2) 동적변수의 선택.
버젼호환성을 생각한다면 Character Type
버젼호환성을 생각안한다면 String Type(적극추천)
3) 동적변수의 Internal Table화
조건이 복잡하다면 Internal Table
조건이 복잡안하다면 String(적극추천)=>테이블이 1개를 대상으로 하므로 대부분 복잡도가 높지않음
4) concatenate 명령을 통해 검색 where조건을 만든다
주목해야 할것은 P_Depart, P_Arrive를 String문장안에 직접기입하였다.
프로그램 원문.
*&---------------------------------------------------------------------*
REPORT YTEST_DYNAMIC_OPEN_SQL01.
parameters: P_Depart type spfli-cityfrom,
P_Arrive type spfli-cityto,
op_and radiobutton group 1 default 'X',
op_or radiobutton group 1.
data: where_clause type string,
operator(3) value 'AND',
carrid type spfli-carrid,
connid type spfli-connid.
DATA : lt_itab like STANDARD TABLE OF spfli,
ls_itab like spfli.
constants: tabname(10) value 'spfli'.
if op_or = 'X'.
operator = 'OR'.
endif.
concatenate ' cityfrom = P_Depart '
operator
' cityto = P_Arrive '
into where_clause SEPARATED BY space.
select carrid connid cityfrom cityto
from (tabname)
into CORRESPONDING FIELDS OF TABLE lt_itab
where (where_clause).
loop at lt_itab into ls_itab.
write: / ls_itab-carrid, ls_itab-connid, ls_itab-deptime, ls_itab-arrtime.
ENDLOOP.
** write: / carrid, connid, P_Depart, P_Arrive.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
42 | ABAP [선언문] 명령어 정리표 Rev01 [57] | 문바이 | 2011.05.18 | 6230 |
41 |
ABAP Certi 7.0 요약 정리
[101] ![]() | 뽀꼬 | 2011.06.15 | 5662 |
40 |
[ABAPDOCU] 뜯어봅시다. 2
[42] ![]() | 뽀꼬 | 2011.09.06 | 2149 |
39 |
[ABAPDOCU] 뜯어봅시다. 3
[30] ![]() | 뽀꼬 | 2011.09.07 | 938 |
38 |
[ABAPDOCU] 뜯어봅시다 1
[54] ![]() | 뽀꼬 | 2011.09.08 | 1752 |
37 |
[ABAPDOCU] 뜯어봅시다 4
[20] ![]() | 뽀꼬 | 2011.09.08 | 684 |
36 |
[ABAPDOCU] 뜯어봅시다 5
[16] ![]() | 뽀꼬 | 2011.09.09 | 556 |
35 |
[ABAPDOCU] 뜯어봅시다 6
[22] ![]() | 뽀꼬 | 2011.09.14 | 519 |
34 |
[번외] Field symbol과 Data reference
[14] ![]() | 뽀꼬 | 2011.09.14 | 950 |
33 |
[ABAPDOCU] 뜯어봅시다 7
[14] ![]() | 뽀꼬 | 2011.09.15 | 525 |
32 |
[ABAPDOCU] 뜯어봅시다 8
[14] ![]() | 뽀꼬 | 2011.09.19 | 466 |
31 |
[ABAPDOCU] 뜯어봅시다 9
[15] ![]() | 뽀꼬 | 2011.09.20 | 386 |
30 |
[ABAPDOCU] 뜯어봅시다 10
[14] ![]() | 뽀꼬 | 2011.09.22 | 389 |
29 |
[ABAPDOCU] 뜯어봅시다 11
[14] ![]() | 뽀꼬 | 2011.09.26 | 385 |
28 |
[ABAPDOCU] 뜯어봅시다 12
[7] ![]() | 뽀꼬 | 2011.09.28 | 294 |
27 |
[ABAPDOCU] 뜯어봅시다 13
[7] ![]() | 뽀꼬 | 2011.09.29 | 260 |
26 |
[ABAPDOCU] 뜯어봅시다 14
[10] ![]() | 뽀꼬 | 2011.09.30 | 275 |
25 |
[ABAPDOCU] 뜯어봅시다 15
[7] ![]() | 뽀꼬 | 2011.10.04 | 315 |
24 |
[ABAPDOCU] 뜯어봅시다 16
[8] ![]() | 뽀꼬 | 2011.10.07 | 285 |
23 |
[ABAPDOCU] 뜯어봅시다 17
[6] ![]() | 뽀꼬 | 2011.10.11 | 485 |
좋은 정보 감사합니다. 잘 보고 갑니다.