这一个星期做得最多的工作就是Dataextract,以下是我这一个星期以来对data extract的工作总结。

所谓Data extract就是通过SAP ABAP代码对数据库数据进行抽取的操作,然后导出并保存为DAT文件。

在Commscope中,有SAP的ERP系统和BI的数据系统(貌似叫dataStage),由于两个系统的数据有时会出现不一致的现象,一般情况下是BI系统的数据较少,这时就需要Dataextract。

当BI team 所需要的数据不存在与 BI的系统中时, 此时就需要对SAP系统的数据进行抽取,并且导入到BI的系统中。

Data Extract 的操作是在SAP ABAPWorkbench下完成的,通过ABAP代码将数据以DAT的文件格式保存到Aplicationserver上。然后BI人员会通过他们的工具对DAT文件进行解析处理,这个过程需要SAP ABAP编程人员以及BI的编程人员共同完成。

以下是如何进行Data extract

首先,要在SAP 系统中建立一个用于抽取的程序,并且要符合以下的命名规则

程序名:ZBI_XXX(数据库表名)

Title: BI:CommScope program for XXX extract (SAP 1)

BI:Legacy Andrew program for XXX extract (SAP 2)

Develp class ( ECC6-Package ):ZBI

Authorization group:Z_XXXX(first four letters of the tablename)

CTS ( Request ): [issue number] – ABAP extract for tableXXXX(table name)

在符合的规范的情况下,要进行ABAP编程以实现数据库数据抽取。

1.      使用Tables关键字对所要抽取的表进行声明

2.      建立存放数据的内表,命名规范为IT_XXX(数据库表名)

3.      建立存放数据的structure,命名规范ST_1.

4.      structure的组建要符合命名规范F_1(字段长度) TYPE C, “ For [数据库表名]-[字段名]

5.      声明i类型变量以记录数据的数量

6.      声明 文件名称DATA: DSN   LIKERLGRAP-FILENAME. 并声明用来储存DAT文件名称的变量DATA: V_PARAM(255) TYPE C.

7.      生成DAT文件的名称,

8.      调用 Function module ‘FILE_GET_NAME’ 获取文件路径并传递给DSN。

9.      打开文件进行数据抽取,OPEN DATASET DSN FOR OUTPUT IN TEXT MODE.

10.  用Select循环对数据库表内的数据进行查询,并放到IT_XXX内表中。

11.   将IT_XXX中的数据按照对应关系复制到IT_1中的字段中

12.   将结构体 IT_1传到指定的文件中TRANSFER IT_1 TO DSN LENGTH nn(结构体所有字段的长度之和)。

13.   把记录行数的变量叠加。

14.  endselect以后,将记录行数的变量打印出来

15.   关闭文件传输CLOSE DATASETDSN.

注: 也正是在写总结的时候,发现了自己程序中的大BUG!在使用move-corresponding IT_XXX to IT_1的时候,IT_1里根本没有数据,因为这两个结构体的字段名根本就不一样!!

好危险。。。 幸亏发现。。。

由于data extract程序都使用的是固定模板,只需要更改数据库表名和字段名即可,但是当数据库表中存在大量字段时,比如说BSAD数据库表,里面就有160多个字段,如果你每一个字段都查数据库,并且计算所有字段的长度之和的话,工作量将会非常庞大,而且抽取的数据还不一定准确,所以我自己开发了一个专门打印 extract data program code的程序,只需要输入数据库表名就可以自动打印出代码,不仅节省了时间,而且还可以降低手动编码的错误几率。

ABAP data extract 数据抽取总结相关推荐

  1. HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据

    员工 0HR_PA_0 业务数据源中有一个CALMONTH日历年/月的字段,只要员工还在职,每个员工每个月都会产生一条数据:     人事事件 0HR_PA_1 业务数据源中有一个CALDAY日历天的 ...

  2. Oracle DUL Data Unloader数据恢复工具信息汇总

    PRM-DUL是开放的ORACLE DUL 软件,点击下面的链接下载PRM-DUL DUL FOR LINUX平台(已更新为PRM-DUL) DUL FOR Windows平台 (已更新为PRM-DU ...

  3. 微服务场景下数据抽取与统计

    案例小故事 某公司的技术架构体系目前还是以集群扩展体系为主,集群扩展体系架构如图9-1所示.在这种体系结构中,可以看到应用都是单块结构,但是单块结构的应用具有扩展性,通过部署在多个Tomcat上实现应 ...

  4. 【转】ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...

  5. TensorFlow tf.data 导入数据(tf.data官方教程) * * * * *

    原文链接:https://blog.csdn.net/u014061630/article/details/80728694 TensorFlow版本:1.10.0 > Guide > I ...

  6. etl数据抽取工具_数据同步工具ETL、ELT傻傻分不清楚?3分钟看懂两者区别

    什么是数据同步工具(ETL.ELT) 数据同步工具ETL或者ELT的作用是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为企业的决 ...

  7. 数据抽取工具比对:Kettle、Datax、Sqoop、StreamSets

    数据抽取工具比对:Kettle.Datax.Sqoop.StreamSets 工具比对: Kettle 特性:纯Java编写 优点:可在Windows.linux.Unix上执行:数据抽取高效稳定:子 ...

  8. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  9. python数据分析之DataFrame的数据抽取

    pandas的数据抽取主要采用.loc和.iloc来取出自己需要的某行和某列的数据 1.介绍.loc和.iloc df.loc[ ]:主要是通过列名和行名来抽取数据,当只有一个参数时,默认是行名,即抽 ...

最新文章

  1. 汇总|实时性语义分割算法
  2. ASP.NET Core ActionFilter引发的一个EF异常
  3. ArcGIS实验教程——实验四十:ArcGIS洪水淹没分析案例教程
  4. 红黑树结构完整实现与详解
  5. 洛谷P2134 百日旅行
  6. oracle怎么分配表空间,oracle数据库分配表空间、创造用户、分配用户权限操作
  7. Javascript定时器的使用
  8. Servlet教程第5讲笔记
  9. matlab 实现排序
  10. 解决:WPS文字行末是英文单词时自动换行问题
  11. spearman相关性分析_数据的相关分析及SPSS算例
  12. 电影资源 BT PT下载的电影命名 规则 资源 详解
  13. SMEC98SP加密芯片方案实例
  14. linux打印机测试程序,轻松了解Linux打印之CUPS软件
  15. iOS Mac Catalyst
  16. 自我总结前端vue笔记
  17. c语言 生化危机游戏,求一个日版NGC生化危机1复刻版的存档
  18. 常见的光纤连接器有哪些?光纤连接器的种类科普
  19. 关于QQ2009聊天消息获取原理说明 .
  20. MySQL之左外连接右外连接

热门文章

  1. 迁移到云端,千万别犯这3个大错误!
  2. 汇编指令:ldr和str,ldm和stm的区别
  3. Codeforces Round #420 (Div. 2)
  4. 《大数据算法》一1.2 大数据算法
  5. 基于注释的Spring Security实战
  6. 在SQL2005/SQL2008中CTE用法差异
  7. NHibernate 与Oracle 点滴
  8. cmd非运行完再保存,结果显示保存同时进行
  9. 虚拟DOM和Diff算法 - 入门级
  10. lzg_ad:rundll32.exe进程详述