MOVE P_MATNR TO lt_tab-matnR.
MOVE P_MAKTX TO lt_tab-MAktx.
LOOP AT LT_TAB.
move-CORRESPONDING lt_tab to z002_matt2.
ENDLOOP.
MODIFY Z002_MATT2 .
셀렉션 스크린화면에서 파라미터로 값을 받아오고
받아온 값을 밑의 코드처럼 해서 읽어온담에 읽어온 값을 z002_matt2 테이블에 저장하려고 합니다
MOVE P_MATNR TO lt_tab-matnR.
MOVE P_MAKTX TO lt_tab-MAktx.
제 이론상으로는 위의 코드가 맞는거 같은데 테이블에 저장이 안되요 ㅠ
도와주세요 아밥님들 ㅠ
댓글 4
-
야생이
2010.09.07 19:51
-
버미!
2010.09.07 19:52
에러가 안났다면 lt_tab은 헤더가 있는 테이블일테고,
1~2번줄에서 move를 이용하여 헤더에 데이타를 집어넣었고, 여기서 저장이 안되었음 Append 안시킴
따라서 Loop at lt_tab에 데이타가 없기때문에 그냥 skip하고 넘어갔고 modify 절에서 데이타가 없으니 저장한 값이 없겠네요.
move 절 다음에 Append 절이 필요하고
루프안에 move-corr.다음에 역시 Append 절이 필요하고, loop 바깥의 modify는 필요없음
-
맑은하늘
2010.09.07 19:57
LOOP AT LT_TAB.
MOVE P_MATNR TO lt_tab-matnR.
MOVE P_MAKTX TO lt_tab-MAktx.
move-CORRESPONDING lt_tab to z002_matt2.
MODIFY LT_TAB.
APPEND Z002_MATT2.
ENDLOOP. -
오렌지겅주님
2010.09.07 22:23
오오 답변들 감사드려요 ! 맑은하늘님 말대루 하니깐 들어가네요 ~!!!
모두 좋은하루 되세요 !!^^*
LOOP AT LT_TAB.
move-CORRESPONDING lt_tab to z002_matt2.
ENDLOOP.
MODIFY Z002_MATT2 .
==>
LOOP AT LT_TAB.
move-CORRESPONDING lt_tab to z002_matt2.
MODIFY Z002_MATT2 .( 또는 append Z002_MATT2.) <<== 이렇게 바꾸셔야...
move-CORRESPONDING lt_tab to z002_matt2.ENDLOOP.
이렇게 하면 lt_tab 의 내용이 z002_matt2 의 헤더(or 워크스페이스)에 올라갑니다.
그러면 헤더의 내용을 바디에 넣어줘야 하는데
현재 오랜쥐공주님은 헤더에만 넣고
바디에는 안넣어주고 계속 루프를 돌리시니
결국에는 가장 최후의 데이터만
modify 로 들어가게 되겠지요.
인터널 테이블의 헤더/ 바디 부분에 대해 한번더 보시면 좋겠어요^^