안녕하세요. Job 생성하는 아밥 프로그램을 딴 분이 짠 소스에 보면 아래와 같은 구문이 있습니다.
아래 구문중에 import , export 라는 구문이 있던데 이게 모하는 건지..ㅠ.ㅠ
ID 다음에는 'SD0140C1' 이런걸 몰 의미하는건지 몰겠네요.. 알려주세요 ...
IMPORT ct_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C1'.
IMPORT lt_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C2'.
EXPORT ct_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01401'.
EXPORT lt_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01402'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
** TABLES
TABLES: zktsd0102.
DATA: ct_data LIKE zktsd0102 OCCURS 0 WITH HEADER LINE,
lt_data LIKE zktsd0102 OCCURS 0 WITH HEADER LINE.
*----------------------------------------------------------------------*
* INITIALIZATION
*----------------------------------------------------------------------*
INITIALIZATION.
*----------------------------------------------------------------------*
* START-OF-SELECTION
*----------------------------------------------------------------------*
START-OF-SELECTION.
IMPORT ct_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C1'.
IMPORT lt_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C2'.
* BATCH JOB 관련
DATA: g_jobname LIKE tbtcjob-jobname,
g_jobcount LIKE tbtcjob-jobcount.
* 2009.02.03 별도 프로그램에서 트랜잭션 처리 시작
* EXPORT ct_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01401'.
* EXPORT lt_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01402'.
CLEAR g_jobname.
READ TABLE ct_data INDEX 1.
CONCATENATE 'CALL' ct_data-vbeln ct_data-posnr INTO g_jobname.
* Background Job open
PERFORM job_open USING sy-title
g_jobname
g_jobcount.
EXPORT ct_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01401'.
EXPORT lt_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01402'.
* Background Job Submit
SUBMIT zksdr0140 AND RETURN
USER sy-uname VIA JOB g_jobname NUMBER g_jobcount.
* Background Job close
PERFORM job_close USING g_jobname
g_jobcount.
댓글 5
-
현준탱
2009.03.20 18:16
-
은우야
2009.03.20 18:17
아래 구문중에 import , export 라는 구문이 있던데 이게 모하는 건지..ㅠ.ㅠ
ID 다음에는 'SD0140C1' 이런걸 몰 의미하는건지 몰겠네요.. 알려주세요 ...
IMPORT ct_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C1'.
-->> 메모리에서 ct_data 를 받아옵니다. 받아오는 아이디(key) 는 'SD0140C1' 이 되겠죠
IMPORT lt_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C2'.
EXPORT ct_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01401'.
-->> 메모리에 ct_data 를 올려놓습니다. 올려놓는 아이디(key) 는 'SD01401' 이 되겠죠
EXPORT lt_data TO DATABASE indx(s2) CLIENT sy-mandt ID 'SD01402'.
즉 메모리에 특정 메모리아이디로 데이터를 올려놓고 내려받고 하는거죠...
set parameter와 함께 생각해보시면 될거같아요
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` -
greenHair
2009.03.20 18:59
Import Export 는 데이터를 ABAP Memory 를 이용하여 서로 다른 프로그램간에 데이터를 공유하는 것입니다.
사용시 주의할점은 : 메모리로 내보낼때와 받아드릴때 인터널 테이블의 구조 뿐 아니라 이름까지도 똑같아야 합니다.
그런데 내보내고 받으려면 Key 와 같은 꼬리표가 있어야 겠죠.. 그게 ID 입니다.. 한마디로 ID는 그냥 정해놓은 값이지
의미는 없습니다. 그냥 'SD0140C1' 이러한 이름으로 주고 받겠다는것이고...
짠 사람이 나름 코드체계를 잡았겠죠..
IMPORT ct_data FROM DATABASE indx(s1) CLIENT sy-mandt ID 'SD0140C1'
=> 메모리로 내보내는데 데이터베이스 형태(LDB) 의 형태이고 ID 는 'SD0140C1' 이다..
도움 되셨길.....
-
가라미
2009.03.23 18:03
위 구문은 Database table indx의 cluster를 이용하는 것 입니다. -
abap고수되기!
2009.09.15 04:12
좋은 정보 잘 보고 갑니다~
http://e-abap.servebbs.net/zb/bbs/zboard.php?id=ONEPAPER&no=183
import 나 export 헬프 보시면 자세히 나와 있더군요. 참고하세요~