首页 > 其他分享 >比较有意思的比较内表的小函数:CTVB_COMPARE_TABLES

比较有意思的比较内表的小函数:CTVB_COMPARE_TABLES

时间:2022-10-12 13:35:50浏览次数:83  
标签:TABLES COMPARE CTVB DATABASE tt UPDATE TABLE table makt


有时候自己开发table control的表维护,

涉及到数据的增删改查,可以考虑用下函数 

CTVB_COMPARE_TABLES

包       :CT

函数组:CTVB 

 

函数模块:CTVB_COMPARE_TABLES  



CALL FUNCTION ‘CTVB_COMPARE_TABLES’
EXPORTING
table_old = t_old
table_new = t_new
key_length = 22
IMPORTING
table_del = t_result

* table_mod = 
* table_add
no_changes = g_flag.






 

这个函数模块比较两个内表,将被删除、增加和修改的内表行分别分组输出。

输入参数:
TABLE_OLD :旧表
TABLE_NEW :新表
KEY_LENGTH :键长度,指定内表中的前若干个字节(在 Unicode 系统中为字符,因此指定长度内不能存在数值类型的字段)为主键,做为内表行是否为增加的判断条件。
IF_SORTED :排序标记,如果已排序,在比较时可以提高效率。

输出参数:
TABLE_DEL :被删除的行
TABLE_ADD :被增加的行
TABLE_MOD :被修改的行
NO_CHANGES :表没有被修改的标记,如果这个标记为 “X”,就不必去读前面三个内表了。

 

t_result 如果不为空,就是想要的内表,可以对它进行处理。

g_flag如果为’X’,两个内表数据相同。

另外,像两个内表的新增数据和修改数据都可以在返回参数TABLE_ADD和TABLE_MOD得到。



里面还有很多其他的,没研究,可以去试试

例子

DATA:
      l_it_makt  LIKE STANDARD TABLE OF makt ,
      l_it_makt1  LIKE STANDARD TABLE OF makt ,
      l_it_makt3  LIKE STANDARD TABLE OF makt ,  
      l_it_makt4  LIKE STANDARD TABLE OF makt ,
      l_it_makt5  LIKE STANDARD TABLE OF makt ,
      l_it_makt2  LIKE STANDARD TABLE OF makt .


SELECT * FROM makt INTO TABLE l_it_makt.
SELECT * FROM makt INTO TABLE l_it_makt1.

DELETE l_it_makt1  WHERE matnr = '000000000500000003'.

CALL FUNCTION 'CTVB_COMPARE_TABLES'
  EXPORTING
    table_old        = l_it_makt
    table_new        = l_it_makt1
    key_length       = 21     " client 3位  +     物料号18位
*   IF_SORTED        =
 IMPORTING
   TABLE_DEL        = l_it_makt2
   TABLE_ADD        = l_it_makt3
   table_mod        = l_it_makt4
*   NO_CHANGES       = l_it_spfl5
          .
IF 1 = 2.

ENDIF.

函数模块:BUS1088_DATABASE_UPDATE 



BUS1088_DATABASE_UPDATE is a standard SAP function module available within R/3 SAP systems depending on your version and release level.

 Below are the pattern details for this FM showing its interface including any import, export parameters etc and for your convenience any standard documentation available. All this information and more can be viewed if you enter the function module name BUS1088_DATABASE_UPDATE into the relevant SAP transaction such as SE37 or SE80. 

Within the comments section below there is also an opportunity for you to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name BUS1088_DATABASE_UPDATE or its description.


Pattern for FM BUS1088_DATABASE_UPDATE - BUS1088 DATABASE UPDATE Associated Function Group: CTVB 
Released Date: Not Released
CALL FUNCTION 'BUS1088_DATABASE_UPDATE' "
* EXPORTING
*   it_aennr =                  " tt_rctae
*   it_cabn =                   " tt_cabn       Characteristic
*   it_cabnt =                  " tt_cabnt      Characteristic Descriptions
*   it_cabnz =                  " tt_cabnz
*   it_cawn =                   " tt_cawn       Values
*   it_cawnt =                  " tt_cawnt      Value Descriptions
*   it_tcme =                   " tt_tcme       Class Types
*   it_atinn_delete =           " tt_atinn_range
*   dep_changed =               " flag
    .  "  BUS1088_DATABASE_UPDATE

欢迎关注订阅号:SAP学习记录 (SAPlearning )

PO <wbr><wbr>text <wbr><wbr>copy <wbr><wbr>rules <wbr><wbr>:copy <wbr><wbr>PR <wbr><wbr>item <wbr><wbr>text <wbr><wbr>to <wbr><wbr>PO

标签:TABLES,COMPARE,CTVB,DATABASE,tt,UPDATE,TABLE,table,makt
From: https://blog.51cto.com/u_15680210/5749655

相关文章

  • iptables 规则
    主要包含::  命令表    用来增加(-A、-I)删除(-D)修改(-R)查看(-L)规则等;                     常用参数  用来指定协议(-p)、源地址(-s)......
  • iptables
    iptables-AINPUT-s0.0.0.0/0-d0.0.0.0/0-ptcp--dport8910-jACCEPT   #允许any到any8910端口iptables-AINPUT-s0.0.0.0/0-d0.0.0.0/0-ptcp--dpor......
  • ETCD 未授权访问漏洞-添加iptables规则修复方法
    ⻛险提⽰1.在iptables规则配置正确的情况下,可以规避未认证的漏洞;2.如变更过程中误操作限制了其他端⼝的情况下可能会造成存储异常;影响版本所有版本问题描述:客⼾采......
  • iptables基本使用举例
    一、链的基本操作1、清除所有的规则。1)清除预设表filter中所有规则链中的规则。#iptables-F2)清除预设表filter中使用者自定链中的规则。#iptables-X#iptables-Z......
  • ORA-1536: space quota exceeded for tablespace
    Error: ORA1536Text:  spacequotaexceededfortablespace"<name>"-------------------------------------------------------------------------------Cause:......
  • String忽略大小写方法compareToIgnoreCase源码及Comparator自定义比较器
    String忽略大小写方法compareToIgnoreCase源码及Comparator自定义比较器//源码publicintcompareToIgnoreCase(Stringstr){returnCASE_INSENSITIVE_O......
  • 5.iptables ddos
    1syn拒绝服务攻击,SYN攻击原理SYN洪水攻击是DDOS攻击中最常见的攻击类型之一。是一种利用TCP协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方......
  • BeyondCompare常用功能图解
                ​​http://jingyan.baidu.com/article/066074d68f847ec3c31cb05a.html​​​​http://lovesoo.org/use-file-comparison-tools-beyond-compare.ht......
  • 3.iptables 扩展模块
    multiport:添加多个不连续端口示例:10.0.0.10访问本机20、21、80、443允许通过;[root@route~]#iptables-tfilter-IINPUT-s10.0.0.10-d10.0.0.200-ptcp-mmu......
  • iptables语法
    ####filter是最常用的#iptables-nvL查看默认规则#serviceiptablesrestart重启iptables服务#systemctlrestartiptables重启iptables服务#serviceiptablessave......