고수님들,,, 값진 조언 부탁드립니다.
FI모듈 환율등록 프로그램(T-CODE :
S_BCE_68000174)를 레코딩떠서
일별 환율을 일괄등록하는 프로그램을 구성중에 있습니다.
데이터 파일은 아래와 같은 형태이며 S_BCE_68000174의 화면은 엑셀시트처럼 펼쳐져있습니다.
LOOP문을 돌려 순차적으로 레코드를 S_BCE_68000174에 태우는 로직인데..첫번째 레코드는 정상적으로 SAVE가 되는데 다음 레코드 로딩 전 이전 레코드가 한번 더 저장이 되면서 중복 에러가 뜨고 더이상 진행이 안됩니다.
아래 레코딩 뜬 프로그램 소스 검토 좀 부탁드립니다.
***Upload용 데이터------------------------------------
등록일자 등록시간 고시회차 통화코드 매매기준율
20080721 83021 1 AUD 983.99
20080721 83021 1 CHF 989.64
20080721 83021 1 EUR 1603.25
20080721 83021 1 GBP 2018.67
20080721 83021 1 HKD 129.84
20080721 83021 1 JPY 946.89
20080721 83021 1 USD 1012.6
***S_BCE_68000174 recording source------------------------------------
LOOP AT it_upload.
PERFORM bdc_dynpro USING 'SAPL0SAP' '0020'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V_TCURR-KURST(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NEWL'.
PERFORM bdc_dynpro USING 'SAPL0SAP' '0020'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V_TCURR-TCURR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SAVE'.
PERFORM bdc_field USING 'V_TCURR-KURST(01)'
it_upload-kurst_01_001.
PERFORM bdc_field USING 'V_TCURR-GDATU(01)'
it_upload-gdatu_01_002.
PERFORM bdc_field USING 'V_TCURR-FCURR(01)'
it_upload-fcurr_01_003.
PERFORM bdc_field USING 'RFCU9-KURSP(01)'
it_upload-kursp_01_004.
PERFORM bdc_field USING 'V_TCURR-TCURR(01)'
it_upload-tcurr_01_005.
PERFORM bdc_dynpro USING 'SAPL0SAP' '0020'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V_TCURR-KURST(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
PERFORM bdc_dynpro USING 'SAPL0SAP' '0020'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V_TCURR-KURST(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
CALL TRANSACTION 'S_BCE_68000174' USING it_bdcdata "OPTIONS FROM opt.
MODE 'A'" 'A' "E -error screen display
UPDATE 'S'
MESSAGES INTO it_messtab.
CLEAR: w_subrc, w_msg_txt.
w_subrc = sy-subrc.
IF w_subrc = 0 .
w_rc = w_rc + 1.
ENDIF.
ENDLOOP.