안녕하세요.. 올해들어 가장 추운 날이네요.. 따듯하게 입고 출근 하셨는지요? ^^
메모리 ID 로 인터널테이블 넘기기 관해서 하나 질문이 있습니다..
EXPORT TAB = ITAB TO MEMORY ID 'ZMEN'.
이렇게해서 인터널 테이블로 데이터를 담에 타 프로그램에 넘길수 있습니다.
여기서 ITAB에 데이터 건수가 약4만건 정도 담겨서 넘어가는데요...
개발에서 테스트 할땐 실행되는 프로세스가 없어서 별무리없이 실행되지면 차후 운영에 반영할때
(운영엔 무지 많은 프로세스들이 돌아가고 잇겠지요) 문제가 될까요?
인터널로 넘기는것도 cbo 프로그램 --> cbo 프로그램이 아니라 cbo --> (bdc) --> 스탠다드 프로그램 호출
스탠다드 프로그램 모디피케이션 해서 메모리 변수를 받게끔 한겁니다.. 스태다드를 모디해서 좀 찜찜하긴 한데
단일 값이 넘어가는게 아니라 대량은 데이터가 메모리 변수를 통해 넘어가는데 좀 불안해서요
괜찮을까요? 물론 메모리 프리를 해주는 부분은 bdc를 빠져나올때 합니다.. 이것도 좀 찜짐... 왜냐면 bdc로
스탠다드 호출후 비정상적인 종료를 햇을때 sap 메모리에 대량은 데이터가 아직 잡고있으면 문제가 되겠지요...
이렇게 사용해보신분 있으신지요??? 그럼 고수님의 의건 부탁드립니다
댓글 4
-
MadMax
2010.12.15 20:15
-
lucky7.
2010.12.16 03:29
답변감사합니다. 근데 질문하나 있습니다. DB TABLE을 이용할경우 위와같이 사용하는건 알겠습니다.
그림 이후 delete from 해서 삭제 해야된다고 하셨는데요.. import 한이우 삭제 테이블이 itab 인가? 어떤걸 삭제하라는 것인지 궁금합니다.
그리고 indx 테이블에 보니간wa_indx의해 세팅된 데이터가 있더라구요 그럼 실제 데이터(2만건의 데이터)는 동적으로 유지되는 것인지요? 프로그램종료를 하면 자동으로 삭제되는것인지궁금합니다.
-
MadMax
2010.12.16 03:31
indx table 내용은 인위적으로 지우기 전까지 남아 있습니다. 그래서 import 후 indx table 내용을(본인이 insert 한)을 지워 놓는것이 좋습니다. -
lucky7.
2010.12.17 01:55
ㅎㅎ 감사합니다. 현재 메모리로 넘기기는 걸로 운영에 반영했어요 차후 님께서 주신 로직도 유용하게 사용할수있을것같습니다..
감사합니다. ^^
메모리로 넘기는 것이 부담이 되면 DB Table 을 이용해서 넘겨 보세요.
syntax 는
EXPORT tab = itab
TO DATABASE indx(XY)
FROM wa_indx
ID 'TABLE'.
이고 여기서 indx(xy) 부분에서 () 내 xy 대신 'Z' 으로 시작되는 두글자 만들어 넣으시면 됩니다.
단 DB Table (indx) 에 저장되는 되므로 import 후 delete from 으로 삭제 하셔야 합니다. (안하면 남아 있겠죠.. ) 참고 하세요,