오랜만에 글 올리네요 모르는건 많은데;;
다름이 아니라..
EXPORT / IMPORT 에 대해 궁금한게 있어서 글을 올립니다.
EXPORT /IMPROT 가 ABAP 영역의 메모리에 쓰인다는 건 이해가 됩니다.
export 한 내용을 ABAP 메모리에 저장을 해서 IMport 할때 그 메모리에서 불러와서 쓴다는 건데요..
이땐 To Memory 로 지정을 해주는 것 같던데...
다른 예로는
Table1 의 필드는 a ,b ,c, d, x, y, z
a = 1, (key값 중복 x)
b = 2,
c = 3, 이라고 넣어주고요
export : t_d to T_d2[]
xx to xx2
yy to yy2
zz to zz2
to DATABASE Table1 id a.
위와 같은 경우에는요.
처음에 이해를 못했는데 지금 보니깐...table에는 a b c 필드에 1,2,3,이 조회가 되네요..
그런데 나머지 x1 y1 z1은 안보이구요....이게 메모리에만 기록이 되어서 import 하기전까지는
데이터가 들어가지 않는거 같은데요...
다름이 아니라...처음부터 아에
x1 = xx2
y1 = yy2
z1 = zz2 라고 값을 넣어줘서 select로 불러오지 않구
다른 프로그램에서 import를 시켜주는 건가요??
이러다가 sap 서버가 restart된다던가 하면 데이터가 다 날라가지 않나요?
아 또...
t_d to T_d2[]
xx to xx2
yy to yy2
zz to zz2
위 부분은 테이블에 없는 필드들입니다. 이 필드들의 값이 나중에 import 될때는
키 값을 기준으로 d, x, y, z 에 차례로 들어가게 되는 건가요?(값이 없는걸 기준으로요..)
b에 값이 있으니깐....c부터..
휴....너무 주저리주저리 떠든거 같아서...죄송합니다. 이해를 하셔야 하는데 ㅠ.ㅠ
글재주가 없다보니...^^;;;
그럼 월요일 아침 피곤하시겠지만~~~
좋은 하루들 보내세요~~
댓글 4
-
activeman
2008.06.30 20:07
-
수갬
2008.06.30 20:36
엑티브맨님 답변 감사드립니다!!
액티브맨님의 답변은 이해했습니다. 근데 다른 궁금한것이 생겨서요..
export는 프로그램이 종료가 되면 다른 프로그램에서 불러올수가 없다고 했느데요..
제가 있는 곳의 예를 들면..
웹에서 펑션을 호출합니다. 그러면 펑션은 데이터 처리 후 그에 대한 로그data를 export to database 테이블 이런식으로 값을 넓겨주고요
펑션 값을 exporting 해주고 펑션이 끝납니다. 그래서 그 후에 로그 프로그램을 실행해서 import를 시키는데...
이 경우는 어떻게 되는 건가요..? 펑션과 프로그램에서의 export의 메모리 사용에 대해서는 좀 다른건가요?
로그 프로그램은 펑션호출과 관계없이 실행 될 수 있는 거잖아요..
-
e-abap
2008.06.30 20:58
export to database 구문을 사용하게 되면 데이터베이스 테이블 에 저장이 되기 때문에
abap memory와 sap memory를 사용하는 것과 다릅니다.~
또는 export to shared buffer를 이용하여 서버의 buffer에 저장할수도 있습니다.
-
수갬
2008.06.30 21:49
아 그렇군요..모두들 .감사합니다!!!!!
Import/export는 abap메모리를 사용합니다. 이메모리는 세션이 중단되면 메모리의 값이 없어지게 됩니다.
즉 프로그램이 실행되는 순간에는 메모리상에 값이 있지만 프로그램을 종료하면 다른 프로그램에서
불러 올수가 없습니다..
그래서 get/set parameter 를 이용하는 sap 메모리를 사용하게 됩니다. sap메모리는 sap이 가동되고 있는 순간까지는 메모리에
값이 존재하게 됩니다.
참고하세요..