1000번화면에서 여러개의 파라미터가 있고
select-options 이 하나있는데 이것이문제입니다!!
파라미터에서한개중 년도가 있어서 이건 db에 년도 gjahr 이있기때문에
참조시켜서 만들었는데 select-option 은 기간이란 범위값으로 1~12월까지 범위값을주고
데이터를 가져와야합니다!! 그런데 db에는 1월 부터 12월까지 각각 per01 per02.... per12 까지
월필드가 12개있는데 셀렉션스크린에서 1~12월중 범위값을 준월만 예로 4~6월 을주면 그데이터만
가져와야하는데 먼저 select-option에서는 db에 월이라는필드가 있는게 아니고 1~12월까지필드가 있어서
무얼 참조시켜야할지 모르겠고(ex: select-options : ... for ...-...) db에서 데이터를 가져올때도
어떠케 가져와야할지 도무지 모르겠네요!!
설명이 너무 우왕좌왕한거같네요 ㅜㅜ
도움좀 부탁드려요!!
댓글 7
-
가오만땅
2008.07.08 18:33
-
CoolGuy
2008.07.08 18:41
어렵네요 ㅜㅜ
필드심볼은 써본적이 없어서요!!
ALV로 1월~12월까지 필드가 다나오게뿌리긴하겠으나 1000번화면에서 정해주 기간의 데이터만 가져올껀데요~
-
페리
2008.07.08 19:59
테스트는 안해봤지만;; 대충 이런식으로 하면 될거 같아요ㅎ ㅎ
data : fieldname(255),
str(2),
end(2),
i_index(2) type n.
select-options : p_mon for char2자리로된 필드 아무거나.
read table p_mon index 1.
str = p_mon-low.
if p_mon-high is initial.
end = p_mon-low.
endif.
while str <= end.
i_index = str.
cconcatenate 'per' i_index into fieldname.
str = str + 1.
endwhile.
select (fieldname)
into corresponding fields of table itab
from 테이블명.
-
모모
2008.07.08 20:00
저라면,
(1) NUMC 2자리로 01~12 까지 입력한 테이블 하나 만들어 이를 참조해서 'SELECT-OPTIONS'를 만듭니다.
다른 방법으로도 얼마든지 해결 가능합니다만....
(이런 목적으로 사용할 테이블을 하나 만들어 두고 공통으로 사용합니다)
(2) 'PER01' ~ 'PER12'의 선택은 field symbol로 해결
Coolguy님이 고민하시고 있는 내용은 프로젝트에서 늘 요구되는 리포트 양식입니다.
이번 기회에 정리를 해두시면, 도움이 되실겁니다.
-
왕초보
2008.07.08 20:03
select-options의 타입은 그냥 월타입으로 해주시면 됩니다.
예를 들면
select-options s_month for xxx-per01.
이렇게 하고 s_month의 low, high값을 이용하여 select 하면 됩니다.
-
CoolGuy
2008.07.09 05:33
감사합니다!! 필드심볼사용법을 몰라 우선 페리님의 방식으로 해결했네요!!^^
행복하세요!!
-
꼬맹이
2008.07.09 19:04
우와 이건 완전 자기만 알겠다는 심보 아니야~
제목글 봐서는 뭔 내용인지 당체 감이 안오구,
자기만 알면 된다는 이런 못된 심보의 글 신고 하고 싶다아~
흠...
월 필드가 있다면 DB 에서 가져올때는 월은 고려하지 않아도 될것 같네요..
어차피 같은 건이 셀렉 될것 같으니까요..
셀렉트 이후에 해당 월로 로직이 있다면.. 필드 심볼을 써서 처리 하셔야 할거 같구요..
화면에 출력이 목적이라면 필드 카탈로그를 동적으로 만들어 주시는것도 방법일것 같네요..