보통 user가 입력한 값에 대한 field에 대하여 check할 경우에
어떠한 방법들을 사용하나요?
예) 입력한 값에 대하여 DB에 동일한 값이 있을 경우 체크하는 방법
여러가지 방법이 있을것 같은데,
정리를 좀 하고싶어서요.
댓글 3
-
SSong
2007.09.17 19:32
-
담데기
2007.09.17 22:23
주로,
SELECT 문과 READ 문을 사용합니다.
이둘의 차이는 SELECT는 db를 바로 읽어오고, READ는 인터널 테이블을 읽어온다는 점이죠.
그럼, SBOOK-CARRID 필드를 가지고 설명해 드리지요.
.............................................................................. Select SINGLE
parameter : p_carrid type sbook-carrid.
select single carrid from sbook where carrid = p_carrid.
check sy-subrc = 0.
.............................................................................. READ statements
data: gt_sbook type table of sbook with header line.
parameter : p_carrid type sbook-carrid.
select * from sbook into table gt_sbook.
read table gt_sbook with key carrid = p_carrid.
If Sy-subrc eq 0 .
...
endif.
위와 같이 값을 읽어오면 그것을 if조건절이나 Check문을 이용해 값이 들어왔는지 체크하게 되는데..
Sy-subrc 값이 0이면.. 값이 있다는거지요.
* 그리고 참고로 테이블 SYST 를 참조하면 Sy-* 관련한 좀더 많은 내용을 볼 수 있습니다.
-
강철구
2007.09.17 22:28
온라인 프로그램에서 이런걸 쓰지않나요??
field에 값이 변경이 되면 이 모듈을 통해서 check를 하게됩니다..
MODULE MAKE_DATA_200 ON CHAIN-REQUEST.
디버깅으로 돌려보시면 바로 알 수 있을듯..
질문하신 의도가 이게 맞는지 잘 몰겠네요..
Modify 를 사용하지 않나요 ~~~
아님 loop 를 돌려서 비교를 하는 방법으로 체크 하는 방법
외에 다른게 더 있나요?