啥都不说,直接上代码

*******  如果无法链接FTP,可能需要往表SAPFTP_SERVERS加入IP地址和端口(21)即可

DATA:p_host   TYPE char64  VALUE 'IP', "IP
p_uname TYPE char30 VALUE 'username' , "用户名称
p_pwd TYPE char30 VALUE 'password' . "用户密码 DATA:dest LIKE rfcdes-rfcdest VALUE 'SAPFTP',
compress TYPE c VALUE 'N'. DATA:hdl TYPE i,
key TYPE i VALUE 26101957,
slen TYPE i,
cmd(80) TYPE c VALUE 'cd /文件夹/', "ftp的操作 具体可以百度
blen TYPE i. DATA:lv_file(40). "存放文件名 DATA:BEGIN OF result OCCURS 0,
line(100) TYPE c,
END OF result. DATA:BEGIN OF ls_line,
line(2000),
END OF ls_line,
lt_line LIKE TABLE OF ls_line. DATA:i_bintab TYPE w3mimetabtype . slen = strlen( p_pwd ). * "获取加密密码 保存到P_PWD
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
source = p_pwd
sourcelen = slen
key = key
IMPORTING
destination = p_pwd. * 连接ftp服务器
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
user = p_uname
password = p_pwd
host = p_host
rfc_destination = dest
IMPORTING
handle = hdl. "连接的句柄 CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = hdl
command = cmd "进入指定ftp目录
compress = compress
TABLES
data = result
EXCEPTIONS
command_error = 1
tcpip_error = 2.
******* LOOP AT result.
******* WRITE AT / result-line.
******* ENDLOOP. lv_file = '*******.txt'. "ftp目录下的文件名(只支持*.txt OR *.dat)
* 解析*.txt 文件
"1.在代码中由于有中文,所以需先得到BIN的内表
"2.使用SCMS_BINARY_TO_TEXT把BIN的二进制值转换为GB2312
CALL FUNCTION 'FTP_SERVER_TO_R3'
EXPORTING
handle = hdl
fname = lv_file
* character_mode = 'X'
IMPORTING
blob_length = blen
TABLES
blob = i_bintab
* text = lt_line
EXCEPTIONS
tcpip_error = 1
command_error = 2
data_error = 3
OTHERS = 4.
"转换BIN内表数据
CALL FUNCTION 'SCMS_BINARY_TO_TEXT'
EXPORTING
input_length = blen
encoding = '8400' "4110:UTF8,8400:GB2312
IMPORTING
output_length = blen
TABLES
binary_tab = i_bintab
text_tab = lt_line
EXCEPTIONS
failed = 1
OTHERS = 2. CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
handle = hdl. CALL FUNCTION 'RFC_CONNECTION_CLOSE'
EXPORTING
destination = dest
EXCEPTIONS
OTHERS = 1.

ABAP链接FTP把txt文件数据获取到内表的更多相关文章

  1. 【ABAP系列】SAP ABAP 从FTP服务器读取文件到本地

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 从FTP服务器 ...

  2. [SAP ABAP开发技术总结]将文件存储到数据库表中,并可发送邮件

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. ORACLE 中写入txt文本与从Txt文件中读入数据 修改表结构

    --创建一个表 DROP TABLE TEST CASCADE CONSTRAINTS ; CREATE TABLE TEST(A VARCHAR(30),B VARCHAR(30)); --查看具体 ...

  4. java读取数据写入txt文件并将读取txt文件写入另外一个表

    package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...

  5. [SAP ABAP开发技术总结]反射,动态创建内表、结构、变量

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. ABAP分享三 批量上传数据到内表简单示例

    tYPE-POOLS: truxs. DATA: BEGIN OF build, name(10) TYPE c,   age(3)   TYPE c,   sex(2)   TYPE c,   sp ...

  7. 适用函数ALSM_EXCEL_TO_INTERNAL_TABLE把excel文件传输到内表中

    FM:ALSM_EXCEL_TO_INTERNAL_TABLE 是上载Excel文件的一个函数,但是这个函数有两个限制. 一是每个CELL只能导入前50个字符,二是如果超过9999行,行号会初始化为从 ...

  8. 链接ftp,把文件或图片上传到ftp指定的文件夹中

    /******************************************************************** *  * * Filename : .java * Auth ...

  9. 【ABAP系列】SAP ABAP 实现FTP的文件上传与下载

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 实现FTP的文 ...

  10. Mysql 8.0 导入txt文件操作(课程实验)

    一.实验准备: 1.实验设备:Dell laptop 7559; 2.实验环境:windows 10操作系统; 3.数据库版本:mysql 8.0; 二.实验目的: 1.将一个宠物表pet.txt文件 ...

随机推荐

  1. C++跨平台类库导出宏

    // Macros.h #pragma once #if defined(__GNUC__) #define _DEPRECATED_ __attribute__((deprecated)) #def ...

  2. java学习日记20230225-java介绍

    sun公司 oak语言--java gosling >sun 1995 java第一个版本 2009年 甲骨文公司收购sun 2011 java7 2014 java8 2022-2030年 长 ...

  3. 爬小说_BeautifulSoup解析_easy

    title: 爬小说_BeautifulSoup解析_easy author: 杨晓东 permalink: 爬小说_BeautifulSoup解析_easy date: 2021-10-02 11: ...

  4. 40.Ribbon和Feign

    优先级:全局代码 < 全局属性 < 细粒度代码 < 细粒度属性 推荐属性配置

  5. leetcode刷题(一)

    1.数组 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可 ...

  6. Vuex 部分

    Vuex 部分 官网链接 https://vuex.vuejs.org/zh/ 先说一下vuex到底是什么? vuex 是一个专门为vue.js应用程序开发的状态管理模式. 这个状态我们可以理解为在d ...

  7. Kotlin初学习

    Java和Kotlin数据类型对照表

  8. python时间加减

    要用到生成时间,在当前日期前/后xx天.xx小时.xx分钟.xx秒 # coding:utf8 from datetime import datetime, timedelta def gen_dat ...

  9. task 子线程添加数据到主线程 winfrom

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. CentOS 7.4使用yum源安装MySQL 5.7.20

    CentOS 7.4使用yum源安装MySQL 5.7.20 小牛教程 InnoDB存储引擎 2022年11月25日 从CentOS 7.0发布以来,yum源中开始使用Mariadb来代替MySQL的 ...