1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
*&---------------------------------------------------------------------* *& Report ZLITEST *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zlitest. TYPE-POOLS:slis,truxs. TABLES: mseg,mkpf,makt,ekko,mara. DATA: l_ftpcommand(128) TYPE c. "FTP command DATA: l_handle TYPE i. "HANDle DATA: 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' EXPORTING client = sy-mandt logical_filename = 'ZFTOSHIBA' operating_system = sy-opsys eleminate_blanks = 'X' IMPORTING file_name = l_path EXCEPTIONS file_not_found = 1 OTHERS = 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' EXPORTING i_field_seperator ='|' * I_LINE_HEADER = * I_FILENAME = * I_APPL_KEEP = ' ' TABLES i_tab_sap_data = lt_output_ftp CHANGING i_tab_converted_data = lt_ftp EXCEPTIONS conversion_failed = 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. 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' EXPORTING SOURCE = 'abcd!1234' sourcelen = slen key = key IMPORTING destination = pv_pw. CALL FUNCTION 'FTP_CONNECT' EXPORTING user = 'ittest' password = pv_pw * ACCOUNT = host = '10.10.11.131' rfc_destination = dest * GATEWAY_USER = * GATEWAY_PASSWORD = * GATEWAY_HOST = IMPORTING handle = 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_ftpcommand changing pr_return hdl. clear l_ftpcommand. l_ftpcommand = 'ascii'. perform frm_ftp_command using l_ftpcommand changing pr_return hdl. clear l_ftpcommand. concatenate 'put' l_file 'liyutest.txt' into l_ftpcommand separated by space. perform frm_ftp_command using l_ftpcommand changing pr_return hdl. *&---------------------------------------------------------------------* *& 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' EXPORTING handle = pv_handle command = pv_command compress = 'N' TABLES data = it_result EXCEPTIONS tcpip_error = 1 command_error = 2 data_error = 3. IF sy-subrc <> 0. pv_ret = '1'. CALL FUNCTION'FTP_DISCONNECT' EXPORTING handle = pv_handle. EXIT. ENDIF. ENDFORM. "frm_ftp_command |
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/1156.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。