2.4.5. Split
Split是个Transformer,需要在其中根据《CZB ETL mapping.xls》内的Mapping Detail表内定义的Mapping规则完成数据转换。
可以使用变量,如果多次使用同一个值,定义变量可以简化维护工作。如下图,进入Stage Properties
在Stage的Variables中定义需要使用的变量。
还需要在Constraints内定义过滤条件,如下图:
需要注意的是,在公用的Shared Container中一般已经加入了过滤条件,在这里就不需要添加了。
2.4.6. 描述
在Job Properties的General标签内,我们可以在Full job description中填入任务的描述,便
于以后生成工作文档。格式参考《CZB-ETL-Design-V1.1.doc》
2.4.7. 测试
编译后,可以用Run Director测试Job是否正确,查看生成的文件可以右击IND_INFO_SPLIT,View…data。
2.5. DS_XXXX_YYYY(调用命令)
其中XXXX表示源系统,YYYY表示源系统的表名
2.5.1. 参数
DATEOFDATA:处理日日期,格式“YYYYMMDD” JOB_SEQ_ID:该源系统表在DS的处理序号,具体参考《CZB-ETL-DESIGN-V1.1.DOC》
2.5.2. Job Control
查看“Properities”的“Job Contral”sheet,需要对“Job Contral”里面的控制函数进行修改。
需修改处如下面红色标记处,换为需处理的表和参数
***Define the date format var through the detailed source system. *Function GetJobLogs(JobNM,FilePath1)
Deffun GetJobLogs(A,B) Calling \
WDT=DATEOFDATA[1,4]:\注:此处的WDT的值处理日日期,格式为“YYYY-MM-DD” SRC_STM_ID=1
注:此处的SRC_STM_ID的值为各原系统ID Core 1 Acms 2 Opics 3 Auth 4
****Generate the last date
LWDT=oconv(iconv(DATEOFDATA,\A,\[9,2]
注:此处的LWDT的值为处理日上一日日期,格式为“YYYYMMDD”
*Set the Job ready to Run
FilePath=\IFJBXX_\
注:生成的日志log。用来记录DS job 运行情况。
* Setup IFJBXX_DS10CD, run it, wait for it to finish, and test for success JobName = \IFJBXX_DS10CD\ GoToMainExit = \ GoSub RecoveryCheck
If GoToMainExit = \ GoTo MainExit End
hJob1 = DSAttachJob(\IFJBXX_DS10CD\ If NOT(hJob1) Then
Call DSLogFatal(\IFJBXX_DS10CD\ Abort End
ErrCode = DSSetParam(hJob1, \OLDDATE\ ErrCode = DSSetParam(hJob1, \DATE\ ErrCode = DSRunJob(hJob1, DSJ.RUNNORMAL) ErrCode = DSWaitForJob(hJob1)
Status = DSGetJobInfo(hJob1, DSJ.JOBSTATUS)