zoukankan      html  css  js  c++  java
  • 自建数据源(RSO2),并支持增量

    ECC端的SBIW界面也可通过BW系统远程登录进入:
    8fad12a8-1689-4ce0-b8f6-f7fc73816f3c
     
    远程登录到ECC源系统,进行数据源的创建与配置:
    57f4f39f-d01b-43be-b4dc-d5705ae1950a
    在ECC端输入SBIW:
    5d914a98-d1e2-4443-a697-65c82bde6e5d
    fbf929df-1c28-4942-a05f-970eb5bce0bf
     
    下面以物料主数据的文本为例:
    c1482c94-0f97-46e8-a636-68e9bc7d3120
    0c94685f-de78-4cbf-ae2e-42cc0d76f200
    如果不需要某个表里的所有字段,则可以单独为这个表创建一个视图,选择需要的字段,再以这个视图为基础创建数据源
     
    06de8290-1fb2-4e44-89e5-7ea8f8abb327
     
    下面需要将数据源复制到BW系统中,并且激活后,才能在BW系统里使用,进入到BW系统中:
    bfa90974-def2-4d9e-a4ee-236351cae0c7
    63f8aac7-38cd-48de-974b-e6fcf2931ad6
    dcb030a1-960f-4d5c-93f4-c67cab0cadbb 0eb44bfb-c6c8-4422-aafe-3619d8264c40
    a897b2cb-6dd5-43de-b6b3-2db450651663
    不等于表示数据源还未激活,需激活才能使用,将数据切换到编辑模式再进行激活(激活过程会为数据源生成相应的PSA物理表):
    7fe38dfe-57bb-496b-b4a0-c96932585a94
    下面就可以通过该数据源抽数了
     
    创建信息包:
    3d60b60c-94e2-431c-817c-6e4351251f72
     
    发现该数据源目录只支持全量加载,可以使用RSA2来查看数据源是否支持增量,以及增量处理模式:
    ef11440b-7d93-46e1-8dcf-baed2abbad6d
    d4c14e62-67f3-44ca-a1fb-25b18640a7e7
    还可以通过RSA6来查看数据源是否支持增量(但查出来的信息没有RSA2详细):
    327b8648-756b-4632-84e2-50ff9e2b42eb
    ad1890f2-6444-4201-992f-dab2fd8ca399
    只有在通过RSO2创建数据源时,才可以设置是否支持增量:
    046788b8-4d4c-4820-9c4f-6ee630cc806c
    现假设每天0点启动任务抽数,并抽一天的数据,则需抽从昨天0点到今天0点的数据,任务也是0点起动,但在昨天 23:59分时,用户在维护一张单子,在今天零晨1点才做完保存,但记录的是修改时间还是昨天昨天 23:59分,如果任务在0点准时启动,并且在半小时就抽完了,则这一条在昨天昨天 23:59分修改的数据就会抽不到,明天再启动任务更抽不到,所以就会用到下面两个安全值设定:
    Safety Interval Upper Limit:安全上限,将抽取的时间向前推多少秒,这样虽然今天抽不上那条昨天 23:59分修改的数据,但明天0点抽取时一定会抽上来,这种安全设置不好的就是会抽设置时间段的重复数据,不过即使重复数据只要是放入覆盖DSO是没有问题的,但放入合计累加的DSO就会有问题了
    Safety Interval Lower Limit:安全下限,这种就是直接将抽取任务向后推多少秒后再执行,假设是2小时,这样那昨天 23:59分修改今天零晨1点的数据就会被抽上来,不用等到明天再抽,这种方式较前一种没有重复数据,但会推迟抽数的完成时间点
     
    并且选择增量的字段不能再为作Data Selection字段,因为被用作增量的字段会自动变灰:
    22e169b4-7fb5-40f9-b840-1a753e8f42c6
     
    注:自建数据源只支持Pull方式的增量方式(所以与财务模块数据源一样也不支持删除),因为我们不可能像为LO后勤数据源那样,给它们用推的方式主动向Delta-Queue里存增量数据,因为推的方式需要在数据源端使用代码来实现的。而Pull的方式则会简单很多,它是基于某个字段来筛选出发生变化的数据来的。
    当使用RSO2设置增量数据以“New Status for Changed Records”方式记录时,数据源增量处理方式则为AIE
    cee8d69d-fc4b-4dab-8859-012ecd47b8b1
    当使用RSO2设置增量数据以“Additive Delta”方式记录时,数据源增量处理方式则为ADD
    37635a5f-0fb6-4bd7-940e-9851e3ad0c00 6e6480aa-6083-46d0-9ae4-2038281ac171
     
    下面开始测试AIE增量处理方式的自建数据源:
    684eaf48-6116-4d1e-be63-516848db664d 5e0c23b2-c1b8-4544-8a1b-5cc6b125e52d 0c3216b3-7827-4047-bd55-5eff9cd0e693 44670914-5fe3-4fee-942f-33809b57699c
    注:自建数据源也是有Delta-Queue的(就像财务模块数据一样)
     
    新创建一个订单:
    5d4d91ad-8448-4976-8450-e40472af6efc 
    当创建好订单后,如果现在就去查看ZVBAK的Delta-Queue,则是没有数据的,因为自建数据都是Pull的方式,所以一定要运行BW端的增量信息包才会向此Delta-Queue里存一份数据
     
    下面创建增量信息包后,运行ZVBAK Delta-Queue里是否有增量数据:
    b9ef1ad4-8c6d-426a-81e5-102b50b919be a189e074-afcb-4532-a6e7-4349ffa3eb75 
    但运行完增量信息包后,查看监视器,发现也没有增量数据上来,怪哉?!
    a71f0519-0951-41c0-972f-a582e863ca5a
    12944订单号没有抽上来的原因是,该自建数据源是基于 “Numeric Pointer”类型的 VBELN 字段作的增量,但Pointer当前的状态值已经到S-6102,在BW拉数据的时候,是要从大于S-6102开始才认为是增量数据,所以12944订单无法抽上来:
    e7e6cbaf-6592-4867-b25b-4be3b2afec27
    (注:这个Pointer 在这里是不能修改的,是由系统自动填充的,但会随着增量数据的抽取而自动修改,它记录了增量抽到哪个位置来了)
     
    通过SE11查看,VBAK里最大单号就是S-6102,因为先前的初始化信息我们选择的是“只打标记,不传数据”,这样目前VBAK里的数据认为已经抽过了,所以打完初始化标记后,Current Status指针的值就会VBAK表里编号最大的订单号
    458da87d-9f89-483f-835d-f0d4a7f39020
    注:该示例是以VBELN为基础的增量字段,但实际上并不合适,因为VBELN订单号可能含有非数字,作为Numeric Pointer的增量字段,要求字段必须是纯数字类型的字段,这样新增数据时,最新的数据就会在最后,这样增量抽取时才不会有问题
     
    RSA3:可在ECC端对数据源进行预提测试
    187e4bb2-8094-4c52-9382-90c767d6764f
  • 相关阅读:
    350 Intersection of Two Arrays II 两个数组的交集 II
    349 Intersection of Two Arrays 两个数组的交集
    347 Top K Frequent Elements 前K个高频元素
    345 Reverse Vowels of a String 反转字符串中的元音字母
    344 Reverse String 反转字符串
    343 Integer Break 整数拆分
    342 Power of Four 4的幂
    338 Counting Bits Bit位计数
    Java常见面试题之Forward和Redirect的区别
    字节、字、bit、byte的关系
  • 原文地址:https://www.cnblogs.com/jiangzhengjun/p/4296985.html
Copyright © 2011-2022 走看看