云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云主机_免费网站建设哪个好_好用

小七 141 0

使用sapdataservices最常见的场景之一是平面文件生成。围绕如何基于数据记录动态生成一系列平面文件提出了许多问题。这主要取决于所使用的应用程序以及它们对文件格式的要求。尤其是一些使用的应用程序需要有意义的文件名来加载数据。因此,这个博客中的平面文件将以动态方式生成,其中数据元素位于文件名上。这篇博文的目的是快速分享我如何构建流程来服务于上述场景。对于那些想使用sapdataservices文件格式的人来说,这个博客被认为是一个快速提示。

要求

让我们定义一下生成包含数据库表中数据的平面文件的示例要求。每个输出文件将代表一个人的数据记录,每个文件将用从数据库表中提取的相应人员的公民ID命名。

在开始之前,您将需要:

SAP data Services Designer使用暂存数据库的access运行。带有"CitizenID"列的表中的示例数据。我们将为每个不同的公民ID生成序列号。这是使用While循环时需要的。

步骤1:全局

在您的项目中创建新的批处理作业,我们将使用此作业生成文件。此作业包含数据流、脚本和While循环对象。

第2步:源表

让我们先看看源表Citizen\U Expense的表结构,爱回扣返现网,以及其中的示例数据。所有数据都是随机的。此表上没有主键或任何约束。请将此作为结构示例。在现实生活中,数据库表是规范化的,它们看起来不像这样。您可能需要执行一些连接或转换来得到这种结果。如果我的示例数据似乎不相关,请原谅,这只是为了演示。

第3步:生成序号

在第一个数据流中,您将使用模板表为不同的公民身份证集和序号创建临时数据库表。序列号将用于While循环转换,与每个特定的CitizenID匹配。

我的源表是"Citizen\u Expense"。并且已经查询到了CitizenID的distinct值,

然后您将使用gen_row_num()函数生成序号,

模板表上的预期数据包含两列:-CitizenID和SeqNumber。

第4步:定义变量

让我们定义工作级别变量如下。在While循环中需要这些变量。(点击"项目区域"中的作业名称,然后点击"工具">"变量"菜单,以防设计者的布局默认不显示"变量和参数"区域。)

第5步:为While循环转换准备初始脚本

然后输入两个简单的命令来初始化脚本中的变量。"cast"函数用于将表达式SQL结果从一种数据类型(本例中为字符)显式转换为另一种数据类型(需要整数)。

步骤6:While循环设计

在While循环转换中,让我们添加设计,在每个CitizenID上生成平面文件,逻辑是重复添加count number,直到达到目标记录编号。因此,添加脚本对象和另一个数据流并将它们链接在一起。

脚本将在每个循环上增加1个序列号。然后它从表中查询CitizenID值,以查找特定循环上的工作CitizenID。在我的例子中,我打算把"ID"作为文件名的前缀,只是为了向您展示如何自定义一点文件名生成。

如果此时验证该语句,您可能会面临来自脚本的警告消息,因为SQL语句中从整数到字符的转换,企业网站自助建站,请忽略它。作业将正常运行。

接下来我们将在数据流级别定义输入参数,以便在为每个公民ID生成平面文件时使用。

然后在While循环级别为这些参数分配变量值。

从这一点开始,让我们进入数据流内部,将源表与查询对象连接起来。

继续映射输出如您所愿。重要的是查询中的Where条件比较每个循环上的CitizenID。

这里有另一个技巧,51返利,可以根据查询中的数据结构轻松创建平面文件格式,而不是手动创建。右键点击查询输出,点击"创建文件格式…"

然后我们把这个平面文件作为目标。为前面指定的数据流参数定义文件名属性

第7步:检查结果

最后所有这些平面文件都是通过执行job生成的。根据您在目标文件的属性、文件位置、列分隔符等中定义的内容,根据使用的应用程序的要求自定义格式。

最终想法

因此这只是使用SAP Data Services动态生成平面文件的一个快速提示。我真的希望这是有用的,并给你基本的想法与文件格式的工作。然后你可以把它应用到现实生活中,靠谱云服务器,我相信它们要复杂得多。

Mac,大数据有什么用,Aphirat C.

产品专家,平台解决方案SAP(泰国)有限公司