集成
-
[转]FTP服务器和ABAP的连接
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196*&---------------------------------------------------------------------**& Report ZLITEST*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*REPORT zlitest.TYPE-POOLS:slis,truxs.TABLES: mseg,mkpf,makt,ekko,mara.DATA: l_ftpcommand(128) TYPE c. "FTP commandDATA: l_handle TYPE i. "HANDleDATA: pr_return TYPE c.DATA lt_ftp TYPE truxs_t_text_data.DATA ls_ftp TYPE truxs_t_text_data WITH HEADER LINE.DATA: hdl TYPE i,key TYPE i VALUE 26101957,slen TYPE i.DATA dest LIKE rfcdes-rfcdest VALUE 'SAPFTP'.DATA:l_file_name(30) TYPE c.DATA:l_path(255) TYPE c.DATA:l_file(255) TYPE c.DATA: BEGIN OF lt_output OCCURS 0,name(10) TYPE c,age(2) TYPE n,address(20) TYPE c,END OF lt_output.DATA:lt_output_ftp LIKE TABLE OF lt_output WITH HEADER LINE.DATA pv_pw(30) TYPE c.lt_output-name = 'LIYUWU'.lt_output-age = 24.lt_output-address = 'hunang yongzhou'.APPEND lt_output.lt_output-name = 'FANGCHUN'.lt_output-age = 22.lt_output-address = 'shichuan'.APPEND lt_output.LOOP AT lt_output.MOVE-CORRESPONDING lt_output TO lt_output_ftp.APPEND lt_output_ftp.CLEAR lt_output_ftp.ENDLOOP.l_file_name = 'ftcput.txt'.CALL FUNCTION 'FILE_GET_NAME'EXPORTINGclient = sy-mandtlogical_filename = 'ZFTOSHIBA'operating_system = sy-opsyseleminate_blanks = 'X'IMPORTINGfile_name = l_pathEXCEPTIONSfile_not_found = 1OTHERS = 2.CONCATENATE l_path l_file_name INTO l_file.TRANSLATE l_file TO LOWER CASE.**CALL FUNCTION 'ZTRANSVMI_FILE_TO_FTP'* EXPORTING* pv_path = l_file* pv_host = '10.10.11.131'* pv_user = 'ittest'* pv_pw = 'abcd!1234'* pv_ftppath = 'toshiba\vmi\put'* pv_ftpfn = 'miput.TXT'** IMPORTING** PV_SUBRC =* TABLES* pv_tbl = lt_output_ftp* .CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'EXPORTINGi_field_seperator ='|'* I_LINE_HEADER =* I_FILENAME =* I_APPL_KEEP = ' 'TABLESi_tab_sap_data = lt_output_ftpCHANGINGi_tab_converted_data = lt_ftpEXCEPTIONSconversion_failed = 1OTHERS = 2.IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.OPEN DATASET l_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.IF sy-subrc EQ 0.LOOP AT lt_ftp INTO ls_ftp.TRANSFER ls_ftp TO l_file.ENDLOOP.ENDIF.CLOSE DATASET l_file.slen = STRLEN( 'abcd!1234' ) .DO 10 TIMES.CALL FUNCTION 'HTTP_SCRAMBLE'EXPORTINGSOURCE = 'abcd!1234'sourcelen = slenkey = keyIMPORTINGdestination = pv_pw.CALL FUNCTION 'FTP_CONNECT'EXPORTINGuser = 'ittest'password = pv_pw* ACCOUNT =host = '10.10.11.131'rfc_destination = dest* GATEWAY_USER =* GATEWAY_PASSWORD =* GATEWAY_HOST =IMPORTINGhandle = hdl.* EXCEPTIONS* NOT_CONNECTED = 1* OTHERS = 2.IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.EXIT.ENDIF.ENDDO.CLEAR l_ftpcommand.CONCATENATE 'cd' 'TOSHIBA\VMI\PUT' INTO l_ftpcommand SEPARATED BY space.perform frm_ftp_command using l_ftpcommandchanging pr_return hdl.clear l_ftpcommand.l_ftpcommand = 'ascii'.perform frm_ftp_command using l_ftpcommandchanging pr_return hdl.clear l_ftpcommand.concatenate 'put' l_file 'liyutest.txt'into l_ftpcommand separated by space.perform frm_ftp_command using l_ftpcommandchanging pr_returnhdl.*&---------------------------------------------------------------------**& Form frm_ftp_command*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->PV_COMMAND text* -->CHANGE text* -->PV_RET text* -->PV_HANDLE text*----------------------------------------------------------------------*FORM frm_ftp_command USING pv_command changing pv_ret pv_handle.DATA:BEGIN OF it_result OCCURS 0,line(100) TYPE c,END OF it_result.CALL FUNCTION 'FTP_COMMAND'EXPORTINGhandle = pv_handlecommand = pv_commandcompress = 'N'TABLESdata = it_resultEXCEPTIONStcpip_error = 1command_error = 2data_error = 3.IF sy-subrc <> 0.pv_ret = '1'.CALL FUNCTION'FTP_DISCONNECT'EXPORTINGhandle = pv_handle.EXIT.ENDIF.ENDFORM. "frm_ftp_command -
SAP常见的几个接口技术的区别
RFC是SAP接口技术中最简单和易用的一种方式,该方式开发比较简便,特别适合于外部报表开发,但对于大数据量的查询效率相对较低。 BAPI基于RFC技术实现,被作为BO的Interf…
-
将SAP数据传输到其他系统
如何将SAP数据传输到其他系统(Transferring Data from SAP to Other Systems) 在sap里有GUI_DOWNLOAD 函数将sap的数据下…
-
如何从SAP中连接其他数据库
1. 工作环境需求 A. The operating system user adm must be able to log on to the secondary databas…