美文网首页
CPI系列 通用接口-数据写入FTP服务器csv文件

CPI系列 通用接口-数据写入FTP服务器csv文件

作者: syjf1976_abap | 来源:发表于2022-09-25 19:48 被阅读0次

点击蓝字 关注我们

前言

CPI是SAP公司提供的云服务,功能类似于PI/PO,用于集成多个系统之间的调用

本文主要介绍一个通用接口设计 该接口用于实现ECC/S4把数据发到指定FTP服务器的目录中,文件格式csv. 

FTP服务器连接配置

cloud connect 中配置连接内网的FTP服务器.如果FTP服务器有公网地址, 则无需该配置.

CLOUD CONNECT 是SAP的反向代理服务,用于CPI访问内网服务器.

需要配置连接FTP的账号(安全材料),如果是FTPS 或SFTP,还需要导入证书(密钥库)

IFlow 配置

这个IFlow配置是一个通用配置, 配置一次后, 所有此类的接口都可以调用这个IFlow,传递json文件到IFlow, IFlow负责把JSON最终转换成CSV 文件, 写入目标FTP服务器

概览

HTTPS SEND

JSON到XML的转换器

XML到CSV的转换器

其中/data节点需要留意, 该节点的定义需要和ABAP中数据结构的定义一致.

通过脚本修改文件名,添加时间戳后缀, 该节点不是必须的 可以在ABAP传递的http 抬头参数(Filename)中整合相关信息.

序列执行的两个步骤

步骤一,用于把csv文件写入ftp服务器,

步骤二,用于返回一个成功消息

步骤一, 写入ftp文件

步骤二.返回一个成功消息

异常处理, 返回一个失败消息

配置ECC/S4连接CPI

ECC/S4主要通过类 cl_http_client 调用外部系统(包括CPI系统)的rest服务. 需要先定义和CPI服务器的连接信息

获取CPI REST 服务的调用地址

在浏览器中获取CPI的证书

证书导入ECC/S4系统(TCODE STRUST).

  1. 进入修改模式

  2. 导入之前下载的证书文件

  3. Add to certificate list(添加到证书列表)

  4. 保存

  5. 确保再次进入后能看到证书信息

配置SM59和CPI 的连接

创建一个G(HTTP connect to extenal server )类型的连接

输入连接的关键信息

  1. 主机域名

  2. 端口

  3. 服务地址

  4. 代理服务器地址(因为ECC/S4在内网系统, 无法直接访问外网的CPI服务器, 需要通过代理服务器方式)

  5. 登录信息

  6. 指定https连接(如果不指定, 系统会使用http连接,不符合CPI发布的服务要求).

ABAP调用

ABAP 调用CPI的服务可以封装成一个函数, 多个接口调用这个函数,通过参数指定目录/文件名,传入不同的数据或JSON串,实现把特定的数据写入FTP文件.

创建函数Z_IF_CALL_CPI_FTP.

函数允许传入JSON串或者数据对象. 如果是数据对象, 使用通用类转换成JSON串

基于RFC目标定义http client 对象

设置密码不弹框及其它抬头参数

发送报文,并获取返回的报文

获取并解析返回的报文,

函数测试验证通过

查看FTP服务器文件

数据定义

该数据定义与IFlow中XML->CSV的节点定义相关

关于传递的JSON数据格式如下

{"data": [{"f1": "M001", "f2": "W001", "f3": "10"}, {"f1": "M002", "f2": "W002", "f3": "20"}]}

总结

ABAP数据通过CPI写入外部FTP服务器的指定目录,该接口场景比较简单.尤其应用了CPI中的XML->CSV通用转换后, 所有这一类的接口可以共用这个CPI的配置. 只需要把每个接口特性部分的内容设计成http 抬头参数传递到CPI即可. 比如文件目录,文件名等信息.

基于这类接口的共性, 可以考虑整合到数据同步平台中,作为一种特殊的目标系统(在数据平台原有逻辑写入目标数据库的部分替换成调用一个指定的函数,函数中完成对HTTP服务的调用即可.

本文使用 文章同步助手 同步

相关文章

  • CPI系列 通用接口-数据写入FTP服务器csv文件

    点击蓝字关注我们 一 前言 CPI是SAP公司提供的云服务,功能类似于PI/PO,用于集成多个系统之间的调用 本文...

  • FTP 程序解析

    HT_FTP程序 SVN 代碼地址 程序邏輯: 从数据库中查询数据 生成CSV文件 上传FTP服务器 程序涉及方法...

  • 机器学习— 获取数据,绘制图表

    获取数据 用requests,请求网络数据,然后写入csv文件。 从文件中读取数据 数据为csv格式,以“,”分隔...

  • 验证将csv写入数据库的程序

    前两天的文章《利用python将csv文件写入数据库》记录了用python将多日的告警csv文件写入sqlite数...

  • python数据可视化--CSV文件格式

    '''要在文本文件中存储数据,最简单的方式是将数据作为一系列以逗号分隔的值(CSV)写入文件数据来源:sitka_...

  • python读取csv简明教程

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据。 CSV是紧凑,简单且通用的数据交...

  • CSV导入可变参数

    1.某些接口参数需要变化的,比如用户信息接口,参数为用户名和密码。此时就需要将大量参数数据写入CSV文件或txt文...

  • Python pandas之数据处理

    数据写入 我们可以将数据写入到文件中进行永久性的保存,支持的文件格式有HTML、CSV、JSON、Excel。cs...

  • pyspark读写csv文件

    读取csv文件 写入csv文件 option支持参数 path: csv文件的路径。支持通配符; header: ...

  • 利用Python处理Excel数据

    读取数据 读取x.xlsx文件 读取文件夹 读取txt文件 读取csv格式Excel表 写入excel 显示数据 ...

网友评论

      本文标题:CPI系列 通用接口-数据写入FTP服务器csv文件

      本文链接:https://www.haomeiwen.com/subject/ogyilrtx.html