저희가 신규거래처와 파일 송수신을 할려고 합니다.
기존에는 텍스트파일로 송수신을 하였는데, 신규거래처는 XML문서로 하기를 원합니다.
주문내역은 => 주문번호,품번,배송처,배송일,상품코드,수량,단가 등으로 구성됩니다.
예를 들면 상기의 정보로 주문지시를 XML문서로 작성하여 저희 FTP서버에 올려주면 저희가 해당 XML문서를 업로드하여
인터널테이블에 넣고 주문을 생성하고, 출고가 끝나면 해당 주문에 대해서 결과를 다시 XML문서로 생성하여 FTP서버에 올려줍니다.
이런 경우 ABAP으로 어떻게 처리를 해야 하는지 고수님들의 고견을 기다립니다.
감사합니다.
아래 프로그램을 응용해 보세요~
*&---------------------------------------------------------------------*
*& Report ZXML *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZXML .
DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
DATA : BEGIN OF itab OCCURS 0,
a(100) TYPE c,
END OF itab.
DATA: xml_out TYPE string .
DATA : BEGIN OF upl OCCURS 0,
f(255) TYPE c,
END OF upl.
DATA: xmlupl TYPE string .
******************************* FIRST PHASE
******************************* FIRST PHASE
******************************* FIRST PHASE
*------------------ Fetch Data
SELECT * FROM t001 INTO TABLE t001.
*------------------- XML
CALL TRANSFORMATION ('ID')
SOURCE tab = t001[]
RESULT XML xml_out.
*------------- Convert to TABLE
CALL FUNCTION 'HR_EFI_CONVERT_STRING_TO_TABLE'
EXPORTING
i_string = xml_out
i_tabline_length = 100
TABLES
et_table = itab.
*-------------- Download
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filetype = 'BIN'
filename = 'd:xx.xml'
TABLES
data_tab = itab.
******************************* SECOND PHASE
******************************* SECOND PHASE
******************************* SECOND PHASE
BREAK-POINT.
REFRESH t001.
CLEAR t001.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'D:XX.XML'
filetype = 'BIN'
TABLES
data_tab = upl.
LOOP AT upl.
CONCATENATE xmlupl upl-f INTO xmlupl.
ENDLOOP.
*------------------- XML
CALL TRANSFORMATION ('ID')
SOURCE XML xmlupl
RESULT tab = t001[]
.