zxxxx02테이블이 데이터가 많아 인터널테이블을 만들지 않고
zxxxx03으로 넣으려고 합니다.
EXEC SQL.
INSERT INTO zxxxx02 ( mjahr, zwerks, zrsnum, dmbtr )
SELECT mjahr, zwerks, zrsnum, dmbtr
FROM zxxxx02
WHERE mjahr = :l_mjahr
AND zwerks = :l_zwerks
AND zrsnum = :l_zrsnum
AND dmbtr = :l_dmbtr
ENDEXEC.
네이티브에 익숙치 않은데 인터널테이블을 사용하지 않을경우
MOVE처리를 못하는데 zxxxx03으로 어떻게 넣는지 문의드립니다.
* e-abap님에 의해서 게시물 복사되었습니다 (2010-01-09 13:43)
* e-abap님에 의해서 게시물 이동되었습니다 (2010-01-09 13:56)
댓글 4
-
MadMax
2010.01.08 18:19
-
prt
2010.01.08 18:25
Madmax님처럼 하고 글 삭제하려고 하니까 답변 주셨네요.. 감사합니다.
-
안규
2010.01.08 18:28
구조에 넘긴후 처리 하는 방법도...
DATA: ls_zxxxx02 TYPE zxxxx02
EXEC SQL PERFORMING insert_data.
SELECT mjahr, zwerks, zrsnum, dmbtr
FROM zxxxx02
INTO :ls_zxxxx02-mjahr, :ls_zxxxx02-zwerks,
:ls_zxxxx02-zrsnum, :ls_zxxxx02-dm
WHERE mjahr = :l_mjahr
AND zwerks = :l_zwerks
AND zrsnum = :l_zrsnum
AND dmbtr = :l_dmbtr
ENDEXEC.
FORM inset_data.
ENDFORM.
-
prt
2010.01.08 19:17
INSERT INTO zxxxx03 ( mjahr, zwerks, zrsnum_cnt, dmbtr_sum )
values (
SELECT mjahr, zwerks, count( zrsnum ),SUM( dmbtr )
의 각 필드가 달라도 상관없나요?
이렇게 해서 돌리면 insert에서 default에러가 생깁니다..
zxxxx02테이블이 데이터가 많아 인터널테이블을 만들지 않고
zxxxx03으로 넣으려고 합니다.
EXEC SQL.
INSERT INTO zxxxx03 ( mjahr, zwerks, zrsnum, dmbtr )
values (
SELECT mjahr, zwerks, zrsnum, dmbtr
FROM zxxxx02
WHERE mjahr = :l_mjahr
AND zwerks = :l_zwerks
AND zrsnum = :l_zrsnum
AND dmbtr = :l_dmbtr )
ENDEXEC.
이럼 될것 같습니다.. 조건에 맞는 값 select 해서 바로 zxxxx03 table 에 insert 하는걸로.. !!