日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用代码生成具有层级结构的IBASE

發(fā)布時間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用代码生成具有层级结构的IBASE 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Created by Jerry Wang on Aug 01, 2014

維護(hù)待生成的IBASE description,external ID。 該report會為生成的IBASE 創(chuàng)建一個Object component,因此還需要維護(hù)一個individual object ID。

?

?

?

執(zhí)行report后打印成功生成的IBASE ID:

?

?

?

通過IBASE ID在UI上成功搜索出report創(chuàng)建的IBASE:

?

?

?

?

?

?

Object component里維護(hù)的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.

總結(jié)

以上是生活随笔為你收集整理的使用代码生成具有层级结构的IBASE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。