우선 DB에 저장을하려구하는데 DB에 필드가
PER01 PER02 PER03 PER04.............PER12
이런식으로 있습니다.
PER01은 1월이고 화면변수에 01 값을가지고 있으면 여기 PER01에 모디파이를 시키려고합니다
만약 화면 I/O필드에 월값이 05면 PER05 에 어떤I/O필드값을 모디파이를 시키려고합니다!
제가 필드심볼을 써본적이없는터라...짧은생각으로 답이안나오네요...
조언부탁으려요
댓글 7
-
쭌수야~!
2008.08.23 01:40
-
쭌수야~!
2008.08.23 01:46
아니면....
data: begin of itab occurs 0,
per01 type i,
per02 type i,
.
.
data: end of itab.
field-symbols : <fs>.
ASSIGN COMPONENT I/O필드의월값 OF STRUCTURE itab TO <fs>.
<fs> = 어떤I/O필드값.
modify itab......
이런식의 구현도 가능하겠네요. ^^
-
쭌수야~!
2008.08.23 01:51
아,,,위 두번째 방법에서는...
itab의 필드가 순차적으로 1월~12월까지 맵핑이 되어야 합니다.
흠... 설명이 좀...
itab의 첫번째 필드가 1월 ~ 12번째 필드가 12월과 맵핑되어야 하며
12월과 맵핑되는 다음 필드는 무엇이 와도 상관없습니다.
-
웁~쓰
2008.08.23 02:08
쭌수야~! 님의 방법 중 두번째 방법은 좀 제한적인것 같네요....structure의 몇 번째 필드를 assign 하는거라....
그냥 첫번째 방법을 추천해드립니다.
추가하자면 <fs> = 어떤I/O필드값. 부분을
IF <fs> IS ASSIGNEND.
<fs> = 어떤I/O필드값.
ENDIF.
요렇게 해주시는게...전 위 처럼하는게 습관이라....안하면 좀 어색하다는....
그럼 수고하셔요.
-
CoolGuy
2008.08.25 18:46
대단하시네요!! 응용해서 더열심히 공부해 봐야겠어요!!
답변 정말 감사드리구 행복한하루 되세요^^
-
지금어때
2008.09.04 22:44
잘봤습니다.
-
욘짱
2009.10.20 22:37
옷!제가지금하려고하는걸!!ㅎㅎ 잘보고가요~
만약에... 위 필드들을 가지고 있는 인터널테이블이 itab이라면...
field-symbols : <fs>.
data: io_val(2) type n,
fs_txt(10).
io_val = I/O필드의월값.
concatenate 'ITAB-PER' io_val into fs_txt.
assign (fs_txt) to <fs>.
<fs> = 어떤I/O필드값.
modify itab......
이런식으로 해결하시면 될듯합니다.