点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
什么是SAP数据服务?
SAP Data Services是一种ETL工具,它为从异构源到目标数据库或数据仓库的数据集成,转换,数据质量,数据概要分析和文本数据处理提供了单个企业级解决方案。
我们可以创建应用程序(作业),在其中可以使用设计器完成数据映射和转换。(最新版本的SAP BODS是4.2)。
数据服务功能
它提供了高性能的并行转换。
它具有完善的管理工具和报告工具。
它支持多用户。
SAP BODS对于基于Web服务的应用程序非常灵活。
它允许脚本语言具有丰富的功能集。
数据服务可以与SAP LT Replication Server(SLT)集成,其中
基于触发器的技术。SLT向每个SAP或非SAP源表添加增量功能
这允许使用数据捕获进行更改并传输的增量数据
源表。
使用仪表板和过程审核进行数据验证。
具有计划功能和监视/仪表板的管理工具。
调试和内置分析以及查看数据。
SAP BODS支持广泛的源和目标。
任何应用程序(例如SAP)。
任何具有批量加载和更改数据捕获功能的数据库
文件:固定宽度,逗号分隔,COBOL,XML,Excel。
数据服务的组成部分
SAP DATA服务具有以下组件–
设计器-这是一个开发工具,通过它我们可以创建,测试和执行填充数据仓库的作业。
它允许开发人员通过在源到目标流程图中选择一个图标来创建对象并对其进行配置。
通过指定工作流程和数据流,可用于创建应用程序。
要打开数据服务设计器,请转到开始菜单->所有程序-> SAP数据服务(此处为4.2)->数据服务设计器。
作业服务器-它是一个启动数据服务处理引擎并用作引擎和数据服务套件接口的应用程序。
引擎-数据服务引擎执行应用程序中定义的各个作业。
存储库- 存储库是一个数据库,用于存储设计人员的预定义对象和用户定义的对象(源和目标元数据,转换规则)。
存储库有两种类型–
本地存储库(由Designer和Job Server使用)。
中央存储库(用于对象共享和版本控制)
访问服务器-访问服务器在Web应用程序,数据服务作业服务器和引擎之间传递消息。
管理员 -Web管理员提供基于浏览器的数据服务资源管理,详细信息如下-
配置,启动和停止实时服务。
计划,监视和执行批处理作业。
配置作业服务器,访问服务器和存储库使用情况。
管理用户。
通过Web服务发布批处理作业和实时服务
配置和管理适配器。
数据服务架构–
数据服务架构具有以下组件-
中央存储库-用于作业服务器的存储库配置,安全管理,版本控制和对象共享
设计器–用于创建项目,作业,工作流,数据流和运行。
本地存储库(您可以在此处创建更改和启动作业,工作流,数据流)。
作业服务器和引擎–它管理作业。
Access Server –用于执行开发人员在存储库中创建的实时作业。
在下图中,显示了数据服务和那里的组件关系。
SAP BODS体系结构
设计器窗口详细信息:首先,我们研究SAP数据服务的第一个组件-设计器
数据服务设计器各部分的详细信息如下-
工具栏(用于打开,保存,返回,验证,执行等)。
项目区域(包含当前项目,包括作业,工作流和数据流。在数据服务中,所有实体都是对象。
工作空间(在其中定义,显示和修改对象的“应用程序窗口”区域)。
本地对象库(它包含本地存储库对象,例如转换,作业,工作流,数据流等)。
工具选项板(工具选项板上的按钮使您可以向工作空间添加新对象)。
对象层次结构
下图显示了数据服务中关键对象类型的层次关系。
>
注意:
工作流程和条件*是可选的
SAP Data Services详细信息中使用的对象如下-
项目 | 项目是“设计器”窗口中的最高级别的对象。项目为您提供了一种组织在Data Services中创建的其他对象的方法。一次只能打开一个项目(“打开”表示“在项目区域中可见”)。 |
工作 | “工作”是您可以独立安排执行的最小工作单元。 |
剧本 | 过程中行的子集。 |
工作流程 | “工作流”是将多个数据流合并到整个作业的一致工作流中。工作流程是可选的。工作流程是一个过程。
|
数据流 | “数据流”是将源数据转换为目标数据的过程。数据流是可重用的对象。总是从工作流程或工作中调用它。
|
数据存储 | 将数据服务连接到源和数据存储目标数据库的逻辑通道。
|
目标 | Data Services从源中加载数据的表或文件。 |
通过从SAP源表加载数据的数据服务示例
数据服务中的所有内容都是一个对象。我们需要为每个源数据库和目标数据库分离数据存储。
从SAP源表加载数据的步骤-SAP BODS有很多步骤,我们需要在其中创建源和目标的数据存储并映射到它们。
在源和BODS之间创建数据存储
将元数据(结构)导入到BODS。
配置导入服务器
将元数据导入HANA系统。
在BODS和HANA之间创建数据存储。
创建项目。
创建作业(批量/实时)
创建工作流程
创建数据流
在数据流中添加对象
执行工作
在HANA中检查数据预览
步骤1)在SAP Source和BODS之间创建数据存储
要通过SAP BODS将数据从SAP Source加载到SAP HANA,我们需要一个数据存储。因此,我们首先创建一个数据存储,如下所示–
项目->新建->数据存储
将显示“创建新数据存储”的弹出窗口,输入以下详细信息-
输入数据存储名称“ ds_ecc”。
选择数据存储类型名称作为“ SAP应用程序”。
输入数据库服务器名称
用户名和密码。
点击“应用”按钮。
点击“确定”按钮。
数据存储将被创建,并按以下方式查看创建的数据存储-
转到本地对象库
选择数据存储选项卡。
将显示数据存储“ ds_ecc”。
步骤2)将元数据(结构)导入到BODS Server。
我们为ECC到BODS创建了一个数据存储;现在我们将元数据从ECC导入BODS。要导入,请执行以下步骤-
选择数据存储“ ds_ecc”,然后单击鼠标右键。
选择“按名称导入”选项。
将显示一个弹出窗口,用于按名称导入。输入以下详细信息–
选择“类型”作为表格。
输入我们要导入的表名。在这里,我们要导入KNA1表。
单击“导入”按钮。KNA1表将出现在“ ds_ecc”数据源的表节点下。
表元数据将导入到数据存储区ds_ecc中,如下所示–
步骤3)配置导入服务器
到目前为止,我们已经将表导入到为ECC到SAP BODS Connection创建的“ ds_ecc”数据存储中。要将数据导入SAP HANA,我们需要配置导入服务器,
为此,请转到“ 快速查看”->“配置导入服务器”,如下所示-
将显示“选择系统”的弹出窗口,选择“ SAP HANA(此处为HDB)系统”,如下所示-
点击“下一步”按钮。将会出现另一个数据服务凭据弹出窗口,输入以下详细信息
SAP BODS服务器地址(此处为BODS:6400)
输入SAP BODS存储库名称(HANAUSER存储库名称)
输入ODBC数据源(ZTDS_DS)。
输入SAP BODS服务器的默认端口(8080)。
点击“完成”按钮。
步骤4)将元数据导入到HANA系统
1.到目前为止,我们已经配置了导入服务器,现在我们将从SAP BODS服务器导入元数据。
单击快速查看中的导入选项。
将显示一个弹出的导入选项。选择“选择性导入元数据”选项。
点击“下一步”按钮。
2.将显示一个“选择性导入元数据”的弹出窗口,我们在其中选择目标系统。
选择SAP HANA系统(此处为HDB)。
点击“下一步”按钮。
步骤5)在BODS和HANA之间创建数据存储
众所周知,在BODS中,我们需要为源和目标创建一个单独的数据存储。我们已经为源创建了一个数据存储,现在我们需要为目标创建一个数据存储(在BODS和HANA之间)。因此,我们创建了一个名称为“ DS_BODS_HANA”的新数据存储。
转到项目->新建->数据存储。
出现创建新数据存储的屏幕,如下所示。
输入数据存储名称(DS_BODS_HANA)。
输入数据存储类型作为数据库。
输入数据库类型作为SAP HANA。
选择数据库版本。
输入SAP HANA数据库服务器名称。
输入SAP HANA数据库的端口名称。
输入用户名和密码。
勾选“启用自动数据传输”。
单击“应用”,然后单击“确定”按钮。
数据存储“ DS_BODS_HANA”将在“本地对象库”的数据存储选项卡下显示为
下面-
现在,我们将表导入到数据存储“ DS_BODS_HANA”中。
选择数据存储“ DS_BODS_HANA”,然后单击鼠标右键。
选择“按名称导入”。
按名称导入的弹出窗口将显示如下-
选择类型作为表格。
输入名称作为KNA1。
所有者将显示为Hanauser。
单击导入按钮。
表将导入“ DS_BOD_HANA”数据存储区中,以按照以下步骤查看表中的数据–
单击数据存储“ DS_BODS_HANA”中的表“ KNA1”。
数据将以TABULAR格式显示。
步骤6)定义项目:项目组并组织 相关对象。项目可以包含任意数量的作业,工作流和数据流。
转到Designer项目菜单。
选择新选项。
选择项目选项。
出现用于新项目创建的POP-UP,如下所示。输入项目名称,然后单击创建按钮。在我们的案例BODS_DHK中,它将创建一个项目文件夹。
步骤7)定义作业:作业是可重用的对象。它包含工作流和数据流。作业可以手动执行,也可以按计划执行。要执行BODS流程,我们需要定义作业。
我们创建一个Job为JOB_Customer。
选择在步骤1中创建的项目(BODS_DHK),右键单击并选择“新建批处理作业”。
将其重命名为“ JOB_Customer”。
步骤8)定义工作流程:
在项目区域中选择作业“ JOB_Customer”,
单击工具面板上的工作流程按钮。单击“黑色工作区”区域。工作流程图标将出现在工作区中。
将工作流的名称更改为“ WF_Customer”。
单击工作流程的名称,该工作流程的空白视图将显示在工作空间中。
步骤9)定义数据流:
单击工作流“ WF_Customer”。
单击工具面板上的“数据流”按钮。单击“黑色工作区”区域。数据流图标将出现在工作区中。
将数据流的名称更改为“ DF_Customer”。
数据流也显示在作业名称左侧的项目区域中。
步骤10)在数据流中添加对象:
在数据流内部,我们可以提供指令以将源数据转换为目标表所需的形式。
我们将在下面看到对象–
源的对象。
目标表的对象。
查询转换的对象。(查询转换将列从源映射到目标。)
单击 数据流DF_Customer。一个空白的工作区将显示如下-
从源中指定对象–转到数据存储“ ds_ecc”,然后选择表KNA1并将其拖放到数据流空白屏幕,如以下屏幕所示-
为目标指定对象-从存储库中选择数据存储“ DS_BODS_HANA”,然后选择表KNA1。
拖放到工作区,然后选择“使目标”选项。源和目标将有两个表。在这里,我们将表定义为源和目标。
查询转换–这是一个工具,用于根据输入模式为用户特定条件检索数据,以及将数据从源传输到目标。
双击查询图标。这样,我们将列从输入模式映射到输出模式。
从工具面板中选择“查询转换”图标,然后将其拖放到工作空间中的源对象和目标对象之间,如下所示-
将查询对象链接到源。
将查询对象链接到目标表。
当我们单击“查询”图标时,将出现下一个映射窗口,在该窗口中,我们执行以下步骤-
源表KNA1已选择。
从源表中选择所有列,然后右键单击并选择要输出的地图。
选择目标输出作为查询,然后将映射列。
5.保存并验证项目。
1.单击验证图标。
2.出现验证成功的弹出窗口。
第11步:执行作业-要执行作业,请按照以下路径操作-
选择项目区域图标以打开项目,然后选择创建的项目。
选择作业,然后单击鼠标右键。
选择执行选项,以执行作业。
步骤12)–验证/检查SAP HANA数据库中的数据。
通过SAP HANA Studio登录到SAP HANA数据库,然后选择HANAUSER模式。
在表节点中选择KNA1表。
右键单击表KNA1,然后选择“打开数据预览”。
上面的BODS进程加载的表(KNA1)数据将显示在数据预览屏幕中。
执行作业后,将显示“作业日志”窗口,其中将显示有关作业的所有消息。
最后一条消息将是Job <>成功完成。