APP_QUERY.APPEND('XXACO_RM_ACCOUNTING_SUMMARY_V', 'PERIOD_NAME BETWEEN :CTL_QUERY.PERIOD_NAME_F and :CTL_QUERY.PERIOD_NAME_T ORDER BY PERIOD_NAME DESC ');
빨간색 부분인 ORDER BY PERIOD_NAME DESC 가 문제였는데
다른 조건 없이 날짜 단위로 검색을 할 경우 문제가 없었지만
다른 조건들 SOURCE TYPE , INV TYPE 등이 들어갈 경우
쿼리 문에 문제가 생겨 데이터를 도출 할 수 없었다.
처음 시도한 해결 법은 APP_QUERY.APPEND를 맨 밑으로 보내고 돌리는 것이었지만 ora-00907: missing right parenthesis 발생하여 order by 문을 넣을 수 없었다.
해결법은
SET_BLOCK_PROPERTY 를 활용하는 것이었는데
참고: 오라클 forms DeveloperServer Realse 6i
SET_BLOCK_PROPERTY('Block Name',ORDER_BY,'String'); -- Order by 문
3번째 넣는 곳에 STRING을 넣어야 해서
PROCEDURE PRE_QUERY에 V_ORDER_BY를 VARCHAR2 타입으로 선언한다.
V_ORDER_BY 에 PERIOD_NAME DESC를 할당해서
최종적으로 SET_BLOCK_PROPERTY를 적용해 주면
검색 시 이런 쿼리 결과가 나온다.
'Oracle - Forms > Forms 문법 관련' 카테고리의 다른 글
Oracle Forms - 문법 - POST-QUERY (0) | 2022.01.24 |
---|---|
Oracle Forms - 문법 - PRE-QUERY (0) | 2022.01.24 |
Oracle Forms - 문법 - Format Mask 사용법 (0) | 2022.01.24 |
Oracle Forms - 문법 - USING SYSTEM VARIABLES (시스템 변수 사용) (0) | 2022.01.24 |
Oracle Forms - 문법 - TRIGGER를 PROCEDURE화 (0) | 2022.01.24 |