일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- WD4A
- view 조건
- 캠핑 장박
- FIELDCATALOG
- include name
- 키즈 캠핑장
- 클러스터 뷰 이벤트
- 키즈캠핑장
- view cluster
- 영월 장박
- SAP
- 가족캠핑
- 남강캠프
- m/v 호출
- 장박
- alv with ida
- Hana
- 값 제한
- 원주 캠핑장
- ABAP
- 포천 레이크문
- 블로우쉘터
- HANA SQL
- 일몰맛집
- 우중캠핑
- 해루질
- fuzzy search
- 오크돔
- New Syntax
- reduce
Archives
- Today
- Total
Do.
[Source] Select Option -> SQL String으로 변환 본문
728x90
ADBC 사용 시 Select-option을 String으로 변환
사용예제 ) CP는 현재 제외됨(LIKE)
DATA:
lv_field TYPE fieldname,
lv_oper TYPE char10,
lv_value_l TYPE char100,
lv_value_h TYPE char100,
lv_blcode TYPE char100,
lv_cucode TYPE char100.
" Set Condition
$_set_condition: so_blcod lv_blcode 'A.BLCODE',
so_cucod lv_cucode 'A.CUSTCODE'.
DEFINE $_set_condition.
LOOP AT &1.
" 최초 라인에 괄호를 열고 조건을 세팅한다.
IF sy-tabix = 1.
" Set Operation
IF &1-option = 'BT'.
lv_oper = 'BETWEEN'.
ELSE.
IF &1-sign = 'I'.
lv_oper = 'IN'.
ELSE.
lv_oper = 'NOT IN'.
ENDIF.
lv_value_l = '('.
ENDIF.
lv_field = &3.
ENDIF.
" 값이 존재할 경우 해당 값에 추가를 한다.
IF &1-option = 'BT'.
lv_value_h = lv_value_h && | '{ &1-high }' |.
ELSE.
IF lv_value_l IS NOT INITIAL AND strlen( lv_value_l ) > 1.
lv_value_l = lv_value_l && ','.
ENDIF.
ENDIF.
lv_value_l = lv_value_l && | '{ &1-low }' |.
" 최종라인에 괄호를 닫는다.
IF sy-tabix = lines( &1 ).
IF &1-option NE 'BT'.
lv_value_l = lv_value_l && ')'.
CONCATENATE ' AND ' lv_field lv_oper lv_value_l INTO &2 SEPARATED BY space.
ELSE.
CONCATENATE ' AND ' lv_field lv_oper lv_value_l 'AND' lv_value_h INTO &2 SEPARATED BY space.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR: lv_oper, lv_value_l, lv_value_h.
END-OF-DEFINITION.
728x90
'SAP > ABAP' 카테고리의 다른 글
[ABAP] 740이상에서 지원하는 새로운 문법 (0) | 2016.10.26 |
---|---|
[ALV] 통화등록 및 Cell Color (0) | 2016.09.12 |
[ABAP] WRITE CURRENCY (0) | 2016.09.05 |
[ABAP] 750 Query (0) | 2016.09.05 |
[FUNCTION] 호출된 데이터 Variant로 저장 (0) | 2016.09.05 |