안녕하세요.
abap초보생입니다.
잘 안풀리는 부분이 있어서 이렇게 글로 질문 드립니다.
key로 조회해서 data를 insert하거나 sreen상에 뿌려줘야 하는데요
제 실력이 부족해서 헤매고 있습니다.
abap선배님들은 쉬운 부분이라 생각되어지지만,
저에게는 힘든 문제 입니다.
이 글 보시고 답변좀 부탁드립니다.
몇날 몇일을 이문제를 못풀어서 고생하고 있습니다..;
설명을 드리자면
data 추가화면과 조회화면을 만드려고 합니다.
screen에서 insert button을 눌렀을때
공통된 key가 양쪽에 들어가게 하는 방법을
잘 모르겠습니다.
일단 제 코딩중에 insert button을 눌렀을때 코딩은
이렇습니다.
gs_zsailing_s_001, gs_zcustom_s_001 은 structure 이고
gs_zsailing_s_001, gs_zcustom_s_001 은 input필드 입니다.
MODIFY zsailing_t_001 FROM gs_zsailing_s_001.
MODIFY zcustom_t_001 FROM gs_zcustom_s_001.
이런식으로 하면 두개의 테이블에 data가 들어가긴 하는데요.
공통 key인 buino 는 zcustom_t_001-buino 에만 들어갑니다.
zsailing_t_001-buino 에도 key값을 넣어야 하는데 어떻게
하면 될까요?
screen상에서 key의 이름은 gs_zcustom_s_001-buino 입니다.
또 data 조회화면 에서 key값을 가지고 조회할때
zsailing_t_001, zcustom_t_001 테이블에서 data를 가져와서
screen필드에 보여주려고 합니다. 두테이블에 data를 screen상에
나타내야 하는데 어떻게 해야될지 잘 모르겠습니다.
abap선배님들 부탁드립니다.
댓글 7
-
鵬의 날개
2007.05.21 19:43
-
신정일
2007.05.21 20:41
아 gs_zsailing_s_001-buino 이게 input필드 name 입니다.
그리고 테이블을 잘못입력했는데 테이블은 zsailing_t_001, zcustom_t_001 입니다. 그리고 화면에 보여주는 방법은 스크린입니다.
-
鵬의 날개
2007.05.21 21:11
'gs_zsailing_s_001-buino 이게 input필드 name'
-->input 필드에 값이 들어가면 될것같은데...디버깅을 거셔서...인서트버튼을 눌렀을때 gs_zsailing_s_001 이 스트럭쳐에 값들이 잘 들어가는지 먼저 확인하세요...
'화면에 보여주는 방법은 스크린입니다'
--> 테이블 컨트롤을 말씀하시는 거겠죠???아니시라면 테이블 컨트롤이나 alv로 보여주셔야 하겠군요...
zsailing_t_001, zcustom_t_001 이 테이블들의 필드들을 포함하는 인터널 테이블을 하나 만드셔서 가져온 데이터를 뿌려주셔야 합니다...
필드로는 많은 데이터를 다 보여주지 못합니다...
-
신정일
2007.05.22 00:23
우선 날개님 답변 감사드립니다.
자꾸 번거롭게 해서 죄송합니다만
제가 알고싶은 요점을 말해 드릴게요.
확인결과 데이타는 잘 들어갑니다. 제가 궁금한것은 zsailing_t_001, zcustom_t_001 이 두 테이블에 각각있는
buino 라는 키를 가지고 두 테이블에서 모든 데이터를 스크린에 뿌려주는 방법이 궁금하구요. 또 스크린상에서
gs_gcustom_s_001-buino 이 input필드에 키값을 입력 하였을때 zsailing_t_001-buino 와 zcustom_t_001-buino
에 키값이 두테이블에 들어갈수 있는 방법을 알고싶습니다.
번거롭게 해서 정말 죄송합니다. -
鵬의 날개
2007.05.22 00:53
음...제 설명이 부족한가보군요...^^
말주변이 없는지라...
MODIFY zsailing_t_001 FROM gs_zsailing_s_001.
MODIFY zcustom_t_001 FROM gs_zcustom_s_001.
님이 사용하신 이 구문으로 테이블에 값은 들어갑니다...그런데 둘중 하나만 들어간단 얘기는 하나는 값이 없다는 얘기가 되겠죠...
'gs_gcustom_s_001-buino' 이 input field에 값을 넣고 modify 하기 전에
gs_zcustom_s_001-buino = gs_gcustom_s_001-buino.
요러케만 해줘도 값이 들어가겠죠???
스크린에 뿌려주는 방법은 위에 말한 테이블 컨트롤이나 alv란 방법으로 뿌려줍니다...
데이터를 select 하신다음...
화면에 뿌릴 테이블 컨트롤과 데이터가 담긴 인터널 테이블의 필드들을 맞춰 주시면 되구요...
클래스나 펑션을 이용한 alv 형태로도 가능하구요...
정확한 구현방법을 원하신다면 이러케 설명 드리긴 복잡하네요...
-
신정일
2007.05.22 01:41
insert는 들어갔어요^^
정말 머라 고마움의 표현을 해야할지 모르겠습니다.
넘 고맙습니다.
역시 초보의 머리와는 다르시군요..ㅎㅎ
간단한 거였는데 전 생각이 미치지 못했네요..;
제 머리를 한탄할 따름입니다.ㅎㅎ;
이제 데이터를 select해서 뿌려줘야 하는 일만 남았습니다.
날개님 말씀대로 인터널테이블 만들어서 해봐야겠어요.^^
날개님 죄송하지만 종종 궁금한점 쪽지로 여쭤바도 될까요..^^ -
鵬의 날개
2007.05.22 01:59
ㅎㅎㅎ성공하셨다니 다행입니다...
저도 고수는 아니에요...^^
종종 물어보셔도 됩니다만...쪽지보단 계시판에 물어보시는게 어떨까요???
다른 분들도 같이 고민할수도 있고 어려운 문제면 같이 공유할 수 있으니까요...
제가 아는것은 언제나 말씀 드리겠습니다...^^
'screen상에서 key의 이름은 gs_zcustom_s_001-buino 입니다'
--> gs_zsailing_s_001-buino 이 필드에 값을 넣어주는 부분이 있나 확인해보세요...
없다면 넣어주셔야 합니다...스크린에 값이 있다고 알아서 들어가진 않거든요...^^
'gs_zsailing_s_001, gs_zcustom_s_001 테이블에서 data를 가져와서'
--> 스트럭쳐엔 데이터가 들어있지 않습니다...데이터가 들어있는 테이블에서 where 조건으로 데이터를 가져오셔야 하는게 먼저구요...화면에 보여주는 방법이 alv 인지 테이블 컨트롤인지 레포트 인지를 알아야 화면에 뿌리는 방법을 설명하기 쉽겠군요...^^