더운날씨에 고생하시는 선배님들께 죄송하지만 한가지만 여쭤보겠습니다
제가 초기 조건입력창에서 주민등록번호를 입력받습니다
그런데 파라미터 두개를 써서 입력을 받습니다
090805 - 1111111 앞에꺼 파라미터 하나 중간에 코멘트 뒤에 파라미터 하나 이렇게요
테이블에는 주민등록필드가 있는데 그건 13자리로 그냥 0908051111111입력을 넣어줘야 하구요
그래서 제가
파라미터1 파라미터2 예들값을 CONCATENATE 써서 다른필드에(필드1) 0908051111111 이렇게 담아왓습니다
셀렉트를 해야하는데 셀렉트 옵션처럼 주민번호를 입력해도 되고 안하면 그냥 올 이렇게 하고 싶습니다
그래서 ranges 구문을 사용하려는데
ranges: rtab for 테이블-주민등록필드.
RTAB-SIGN ='I'.
RTAB-OPTION ='BT'.
RTAB-ROW = '0000000000000'.
RTAB-HIGH = '9999999999999'.
APPEND RTAB.
SELETE *
FROM 테이블
INTO CORRESPONDING FIELDS OF ITAB
WHERE
조건을 어떻게 걸어야할지 잘 이해가 안됩니다
조금만 도와주십시요 급한데넘어갈수가 없습니다 해야할게 많은데ㅠㅠ
댓글 4
-
김지성
2008.08.06 19:24
-
보나
2008.08.06 19:55
parameters1 (p_1) = 앞자리(6)
parameters2 (p_2) = 뒷자리(7).
data: a1(6),
a2(6),
b1(7),
b2(7),
op(2).
ranges : r_1(13) for 민번필드.
start-of-selection.
clear: a1,a2,b1,b2, op.
** - 입력민번체크-
if p_1 eq ' '.
a1 = '000000'.
a2 = '999999'.
else.
a1 = p_1.
a2 = p_1.
endif.
if p_2 eq ' '.
b1 = '0000000'.
b2 = '9999999'.
else.
b1 = p_2.
b2 = p_2.
endif.
clear: r_1, r_1[].
r_1-sign ='I'.
r_1-option = 'BT'.
concatenate a1 b1 into r_1-low.
concatenate a2 b2 into r_1-high.
append r_1.
select *
from 테이블
into corresponding fields of table 인터널테이블
where 민번필드 in r_1. -
보나
2008.08.06 20:03
parameters1 (p_1) = 앞자리(6)
parameters2 (p_2) = 뒷자리(7).
ranges : r_1(13) for 민번필드.
start-of-selection.
clear: r_1, r_1[].
** - 입력민번체크-
if ( p_1 eq ' ' and p_2 ne ' ' ) or
( p_1 ne ' ' and p_2 eq ' ' ).
message exxx with '민번입력을 확인하세요'.
exit. "혹은 leave list-processing.
elseif p_1 ne ' ' and p_2 ne ' '.
r_1-sign = 'I'.
r_1-option = 'EQ'.
concatenate p_1 p_2 into r_1-low.
append r_1.
else.
r_1-sign = 'I'.
r_1-option = 'BT'.
r_1-low = '0000000000000'.
r_1-high = '9999999999999'.
apppend r_1.
endif.
select *
from 테이블
into corresponding fields of table 인터널테이블
where 민번필드 in r_1. -
아밥시작4일
2008.08.06 20:51
지성님 보나님 답변 감사드립니다 꾸벅 바쁘실텐데 답변주셔서 넘 감사드리고요 덕분에 해결잘하였습니다
점심 맛있게 드십시요
where 비교 필드 IN rtab. 하시면 됩니다.