• 如何在处理链中执行一个选择性删除ADSO数据的程序 selective deletion


    场景:有一个ADSO呢,每月会有数据送进来,只送当月的数据。但是每个月会送好几次。要以最后一次为准。

    需求:每次抽取数据的时候,要删掉当月前一次的数据,只抽当月最新的数据。

    也就是需要做一个选择性删除,把当月的数据全删除,然后再跑一次。

    怎么弄呢?靠下面这个程序生成一个selective deletion的程序,然后放到处理链里面跑。

    或者:DELETE_FACTS去生成一个selective deletion的程序。

     生成一个程序,然后还要给个name。

    当然我们选selection program。然后它会立刻给你生成一个新的program。

    如果你这个program跑起来想有个默认变量值。那么在下面那个AT SELECTION-SCREEN.这条语句上面自己给。 就下图标黄的那里。

     想给这些赋值啥的。都可以搞。

    比如我这里block 2 的C003 是个年月。那么我想让它有个默认值是上个月。

    1. data: lv_Premonth type sy-datum.
    2. lv_Premonth = sy-datum+0(6) && '01'.
    3. lv_Premonth = lv_Premonth - 1.
    4. C003[] = VALUE # (( sign = 'I' option = 'EQ' low = lv_Premonth+0(6) high = '')).

    这样再去跑这个程序,那么它就会有默认值是上个月的。

    然后把这个ABAP的程序给加到处理链去,就可以了。

    这里再插播一条:

    你去做selective deletion,是有log的,别人可以看到你删了啥:

     那么这个log的后台表是:RSDRDLOGHEADER   RSDRDLOGPOSITION

  • 相关阅读:
    华为机试 - 羊、狼、农夫过河
    uniapp 配置并使用 VueX
    原子性(juc编程)
    【uniapp小程序】配置tabbar底部导航栏
    【分层强化学习】HAC源码解读
    2022最新版-李宏毅机器学习深度学习课程-P26 自注意力机制
    rsync远程同步
    Mysql JDBC反序列化漏洞
    11.24直播预告 | AIGC,看热闹不如看门道
    企业经营中如何降本增效,消灭内耗?
  • 原文地址:https://blog.csdn.net/weixin_45689053/article/details/126229417