Created by Jerry Wang on Aug 01, 2014

维护待生成的IBASE description,external ID。 该report会为生成的IBASE 创建一个Object component,因此还需要维护一个individual object ID。

执行report后打印成功生成的IBASE ID:

通过IBASE ID在UI上成功搜索出report创建的IBASE:

Object component里维护的object ID即为report的输入。

report source code如下:

*&---------------------------------------------------------------------*
*& Report  ZIBASE_CREATE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zibase_create.

PARAMETERS: txt TYPE char40 OBLIGATORY DEFAULT 'description test',
            eid TYPE char30 OBLIGATORY DEFAULT 'PROGRAM',
            oid TYPE comm_product-product_id OBLIGATORY DEFAULT 'CHILDOBJ8'.

DATA: lt_param  TYPE crmt_name_value_pair_tab,
      ls_param  TYPE crmt_name_value_pair,
      lr_core   TYPE REF TO cl_crm_bol_core,
      ls_object TYPE comm_product,
      lr_root   TYPE REF TO if_bol_entity_col,
      entity    TYPE REF TO cl_crm_bol_entity.

ls_param-name  = cl_crm_ibase_il_constant=>createparam.
ls_param-value = '01'.
APPEND ls_param TO lt_param.

lr_core = cl_crm_bol_core=>get_instance( ).
lr_core->load_component_set('IBASE_ONLY').

CALL METHOD lr_core->root_create
  EXPORTING
    iv_object_name  = cl_crm_ibase_il_constant=>root_object
    iv_create_param = lt_param
    iv_number       = 1
  RECEIVING
    rv_result       = lr_root.

CHECK lr_root IS BOUND.
entity ?= lr_root->get_current( ).

CHECK entity IS BOUND.
IF entity->lock( ) = abap_true.
  entity->switch_to_change_mode( ).
ENDIF.

entity->set_property_as_string( iv_attr_name = 'DESCR' iv_value = CONV #( txt ) ).
entity->set_property_as_string( iv_attr_name = 'EXTID' iv_value = CONV #( eid ) ).
"entity->set_property_as_string( iv_attr_name = 'IBTYP' iv_value = '01' ).
lr_core->modify( ).
DATA(lv_ibase_id) = entity->get_property_as_string( 'IBASE' ).

DATA(component) = entity->create_related_entity( 'FirstLevelComponent' ).

CHECK component IS NOT INITIAL.

DATA(obj_comp) = component->create_related_entity( 'IBCompObj').

CHECK obj_comp IS NOT INITIAL.

obj_comp->set_property_as_string( iv_attr_name = 'OBJECT_ID' iv_value = CONV #( oid ) ).

SELECT SINGLE * INTO ls_object FROM comm_product WHERE product_id = oid.
ASSERT sy-subrc = 0.

obj_comp->set_property_as_string( iv_attr_name = 'OBJECT_GUID' iv_value = CONV #( ls_object-product_guid ) ).
obj_comp->set_property_as_string( iv_attr_name = 'OBJECT_FAMILY' iv_value = CONV #( ls_object-product_guid ) ).
lr_core->modify( ).

DATA(lo_message_container) = entity->get_message_container( ).
CALL METHOD lo_message_container->get_messages
  EXPORTING
    iv_message_type = if_genil_message_container=>mt_all
  IMPORTING
    et_messages     = DATA(lt_msg1).
LOOP AT lt_msg1 ASSIGNING FIELD-SYMBOL(<msg1>).
  WRITE:/ <msg1>-message COLOR COL_NEGATIVE.
ENDLOOP.

CHECK lt_msg1 IS INITIAL.

DATA(lo_transaction) = lr_core->get_transaction( ).
DATA(lv_changed) = lo_transaction->check_save_needed( ).

CHECK lv_changed EQ abap_true.

DATA(lv_success) = lo_transaction->save( ).

DATA(lo_glb_msg_cont) = lr_core->get_global_message_cont( ).
CALL METHOD lo_glb_msg_cont->if_genil_message_container~get_messages
  EXPORTING
    iv_message_type = if_genil_message_container=>mt_all
  IMPORTING
    et_messages     = DATA(lt_msg).
LOOP AT lt_msg ASSIGNING FIELD-SYMBOL(<msg>).
  WRITE:/ <msg>-message.
ENDLOOP.

IF lv_success = abap_true.
  lo_transaction->commit( ).
  WRITE:/ 'IBASE Created Successfully: ', lv_ibase_id COLOR COL_NEGATIVE.
ELSE.
  lo_transaction->rollback( ).
ENDIF.

使用代码生成具有层级结构的IBASE相关推荐

  1. 三级结构_kegg pathway三级层级结构转对应表格

    先上图,如果不是需要的就可以不用往下看了. 首先是什么样的层级结构,如下图,有些长,不完整,完整的图太长上传不了,打开链接https://www.genome.jp/kegg/pathway.html ...

  2. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测

    DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.预测 导读           计算图在神经网络算法中的作用.计算图的节点是由局部计算构成的. ...

  3. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比

    DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.GC对比 导读           神经网络算法封装为层级结构的作用.在神经网络算法中,通过将 ...

  4. DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图)、七大层级结构(动态图详解卷积/池化+方块法理解卷积运算)、CNN各层作用及其可视化等之详细攻略

    DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图).七大层级结构(动态图详解卷积/池化+方块法理解卷积运算).CNN各层作用及其可视化等之详细攻略 目录 CNN 的层级结构及相关概念 ...

  5. linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  6. CVPR 2022 | CNN自监督预训练新SOTA:上交、Mila、字节联合提出具有层级结构的图像表征自学习新框架...

    ©作者 | 机器之心编辑部 来源 | 机器之心 来自上海交通大学.Mila 魁北克人工智能研究所以及字节跳动的研究者提出了一种具有层级语义结构的自监督表征学习框架,在 ImageNet 数据集上预训练 ...

  7. SAP Spartacus Organization Unit User页面的实现层级结构

    右边这个页面的实现细节: 层级结构如下: (1) cx-org-unit-user-list, Component为UnitUserListComponent: (2) cx-org-sub-list ...

  8. linux文本运行层次,Linux基础知识之---文件系统层级结构

    #Linux基础知识之---文件系统层级结构 @(Linux系统)[基础知识,文件系统,层级结构,FHS] 一切皆文件: 在Linux中,无论是目录.配置.cpu.内存.键盘.鼠标.或者运行中的系统及 ...

  9. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (13) - 缓存层级结构

    Cache Hierarchy 每个处理器核中,高速缓存的层级结构包括一级指令缓存LII,一级数据缓存LID,以及二级缓存.如果开启了Intel超线程技术,数据缓存有可能被两个逻辑处理器共享使用.二级 ...

最新文章

  1. R语言ggplot2可视化在可视化的接种中插入图片、添加图片实战
  2. 神经网络与机器学习 笔记—基本知识点(下)
  3. Androidi性能优化之多线程和同步
  4. 高并发核心Selector详解
  5. web python pkcs11_使用pkcs11模块用公钥加密数据失败
  6. Spring和JSF集成:国际化和本地化
  7. 【kafka】Kafka leader -1
  8. es-03-DSL的简单使用
  9. 时间序列数据的多元回归_清理和理解多元时间序列数据
  10. html怎么修改网页背景色,CSS如何设置网页背景颜色、背景图片
  11. C语言 梯形面积
  12. 2020-10-27 史上最全最新机器人领域期刊总结
  13. Linux交换内存10g,Linux服务器只使用60%的内存,然后交换
  14. CRA与craco配置移动端
  15. win10安装Vmware虚拟机黑屏的解决
  16. 浅议BGP(一文看懂BGP)
  17. 简单几步骤,裁剪多个视频画面大小
  18. modal组件 vue_Vue 2.0学习笔记:使用Vue创建Modal组件
  19. 苹果在线签名服务器搭建,苹果iOS企业签名 、apple 超级签名网站服务器选用
  20. Vue中keep-alive原理

热门文章

  1. Web Deploy发布网站及常见问题解决方法(图文)
  2. php的webservice的soapheader认证问题
  3. embed中 src属性动态更改。
  4. 执行单元测试 报TEST class 有不能识别字符
  5. window 安装python 环境
  6. 文献记录(part12)--Biclustering of human cancer microarray data using co-similarity based co-clustering
  7. minecraft正版整合包服务器,我的世界1.7.2基佬整合包
  8. 新书发布:时隔一年,我的第二本书终于来了
  9. 整理了90个Pandas案例,强烈建议收藏!
  10. RxJs 操作符 withLatestFrom 在 SAP 电商云 Spartacus UI 中的应用