各种类型的ABAP表键table key测试
发布日期:2021-06-30 14:06:10
浏览次数:3
分类:技术文章
本文共 3555 字,大约阅读时间需要 11 分钟。
REPORT ztest_key.TYPES: BEGIN OF ty_data, index TYPE int4, name TYPE char10, score TYPE int4, text TYPE string, END OF ty_data.TYPES: tt_data1 TYPE STANDARD TABLE OF ty_data, "tt_data2 type STANDARD TABLE OF ty_data with UNIQUE key dsf. SYNTAX ERROR tt_data2 TYPE SORTED TABLE OF ty_data WITH UNIQUE KEY score, tt_data3 TYPE SORTED TABLE OF ty_data WITH UNIQUE KEY primary_key COMPONENTS name score WITH NON-UNIQUE SORTED KEY k1 COMPONENTS text.DATA: lt_table1 TYPE tt_data1, lt_table2 TYPE tt_data2, lt_table3 TYPE tt_data3.READ TABLE lt_table1 TRANSPORTING NO FIELDS WITH KEY index = 1.READ TABLE lt_table1 TRANSPORTING NO FIELDS WITH KEY name = 'Jerry'.READ TABLE lt_table1 TRANSPORTING NO FIELDS WITH KEY score = 20.READ TABLE lt_table1 TRANSPORTING NO FIELDS WITH KEY text = 'Jerry'."READ TABLE lt_table1 TRANSPORTING NO FIELDS WITH TABLE KEY index = 1." Specification for component "NAME" of key "PRIMARY_KEY" of table "LT_TABLE1" is missing or incomplete." Key must be completely provided.READ TABLE lt_table1 TRANSPORTING NO FIELDS WITH TABLE KEY name = 'Jerry' text = 'Text'.READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH KEY index = 1.READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH KEY name = 'Jerry'.READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH KEY score = 20.READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH KEY text = 'Jerry'."Syntax error" Jerry 2016-12-4 11:44PM - it seems *READ XXXX WITH TABLE KEY* can only work if explicit table key is defined" using keyword WITH UNIQUE KEY or WITH NON-UNIQUE KEY"READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH TABLE KEY index = 1."syntax error"READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH TABLE KEY name = 'Jerry'.READ TABLE lt_table2 TRANSPORTING NO FIELDS WITH TABLE KEY score = 20."Syntax error"syntax error"READ TABLE lt_table3 TRANSPORTING NO FIELDS WITH TABLE KEY text = 'Jerry'."syntax error"READ TABLE lt_table3 TRANSPORTING NO FIELDS WITH TABLE KEY name = 'Jerry'."syntax error"READ TABLE lt_table3 TRANSPORTING NO FIELDS WITH TABLE KEY score = 20.READ TABLE lt_table3 TRANSPORTING NO FIELDS WITH TABLE KEY name = 'Jerry' score = 20.READ TABLE lt_table3 TRANSPORTING NO FIELDS WITH TABLE KEY k1 COMPONENTS text = 'this is text'.DATA(type1) = CAST cl_abap_tabledescr( cl_abap_typedescr=>describe_by_data( lt_table1 ) ).DATA(lt_keys1) = type1->get_keys( ).WRITE:/ 'Key information for lt_key1...' COLOR COL_KEY.PERFORM print USING lt_keys1.DATA(type2) = CAST cl_abap_tabledescr( cl_abap_typedescr=>describe_by_data( lt_table2 ) ).DATA(lt_keys2) = type2->get_keys( ).WRITE:/ 'Key information for lt_key2...' COLOR COL_KEY.PERFORM print USING lt_keys2.DATA(type3) = CAST cl_abap_tabledescr( cl_abap_typedescr=>describe_by_data( lt_table3 ) ).DATA(lt_keys3) = type3->get_keys( ).WRITE:/ 'Key information for lt_key3...' COLOR COL_KEY.PERFORM print USING lt_keys3.FORM print USING it_table TYPE abap_table_keydescr_tab. LOOP AT it_table ASSIGNING FIELD-SYMBOL(- ) WHERE is_primary = abap_true. WRITE: / 'The following fields are primary key:' COLOR COL_GROUP. LOOP AT
- -components ASSIGNING FIELD-SYMBOL( ). WRITE: / COLOR COL_NEGATIVE. ENDLOOP. ENDLOOP. LOOP AT it_table ASSIGNING FIELD-SYMBOL(
) WHERE is_primary = abap_false. WRITE: / 'The following fields are secondary key:' COLOR COL_POSITIVE. LOOP AT -components ASSIGNING FIELD-SYMBOL( ). WRITE: / COLOR COL_TOTAL. ENDLOOP. ENDLOOP.ENDFORM.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
转载地址:https://jerry.blog.csdn.net/article/details/103976413 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月07日 06时26分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
fiddler 抓取手机接口
2019-05-01
python的ImportError
2019-05-01
linux下安装jenkins+git+python
2019-05-01
windows10家庭版开启组策略
2019-05-01
解决uiautomatorviewer中添加xpath的方法
2019-05-01
python安装mysqlclient[MySQLdb]
2019-05-01
性能测试的必要性评估以及评估方法
2019-05-01
性能测试需求评审
2019-05-01
性能测试实施流程
2019-05-01
Jmeter在多线程当中对某个http请求进行循环读取配置文件
2019-05-01
使用Spark读写外部存储介质(Mysql、Hbase、Redis)
2019-05-01
Spark学习——利用Mleap部署spark pipeline模型
2019-05-01
手写LogisticRegression
2019-05-01
Oracle创建表,修改表(添加列、修改列、删除列、修改表的名称以及修改列名)
2019-05-01
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate 报错
2019-05-01
最后一台,i7+6核电脑
2019-05-01
使用redis实现订阅功能
2019-05-01
Redis哨兵机制
2019-05-01
URL特殊字符转码
2019-05-01