SAP CRM IPM行业解决方案里如何创建IP product
发布日期:2021-06-30 14:05:56
浏览次数:4
分类:技术文章
本文共 3469 字,大约阅读时间需要 11 分钟。
REPORT zgenerate_assign_ip." this report create a series of product based on template product and assign them to a given contractPARAMETERS: num type i, prod type comm_product-product_id OBLIGATORY DEFAULT 'MEETMYFRIENDTOM', order TYPE CRMD_ORDERADM_H-object_id OBLIGATORY DEFAULT '5600000010'.DATA: lo_core TYPE REF TO cl_crm_bol_core, lo_collection TYPE REF TO if_bol_entity_col, lv_query_name TYPE crmt_ext_obj_name, lt_reltype_filter TYPE comt_il_reltype_tab, lv_product_id TYPE comm_product-product_id, lt_selection_parameter TYPE genilt_selection_parameter_tab, ls_selection_parameter TYPE genilt_selection_parameter, ls_query_parameters TYPE genilt_query_parameters.ls_selection_parameter-attr_name = 'OBJECTID'.ls_selection_parameter-option = 'EQ'.ls_selection_parameter-sign = 'I'.ls_selection_parameter-low = order.APPEND ls_selection_parameter TO lt_selection_parameter.ls_query_parameters-max_hits = 1.lv_query_name = 'BTAdvQueryAUI'.lo_core = cl_crm_bol_core=>get_instance( ).lo_core->load_component_set( 'BT' ).lo_collection = lo_core->dquery( iv_query_name = lv_query_name it_selection_parameters = lt_selection_parameter is_query_parameters = ls_query_parameters ).DATA(lo_contract) = lo_collection->get_current( ).CHECK lo_contract IS NOT INITIAL.DATA(locked) = lo_contract->lock( ).CHECK locked = 'X'.DATA(lr_item_handler) = cl_crm_ipm_item_handler_provid=>get_instance( lo_contract ).ASSERT lr_item_handler IS NOT INITIAL.lv_query_name = 'ProdAdvSearchRgProducts'.CLEAR: lt_selection_parameter.ls_selection_parameter-attr_name = 'PRODUCT_ID'.ls_selection_parameter-option = 'EQ'.ls_selection_parameter-sign = 'I'.ls_selection_parameter-low = prod.APPEND ls_selection_parameter TO lt_selection_parameter.lo_core->load_component_set( 'PROD_ALL' ).lo_collection = lo_core->dquery( iv_query_name = lv_query_name it_selection_parameters = lt_selection_parameter is_query_parameters = ls_query_parameters ).DATA(lo_product) = lo_collection->get_current( ).ASSERT lo_product IS NOT INITIAL.DO num TIMES. CALL METHOD cl_crm_ipm_ip_copy=>set_mass_gen_mode( lt_reltype_filter ). DATA(lr_col) = lo_product->execute( iv_method_name = 'COPY_PRODUCT' ). "#EC NOTEXT ASSERT lr_col IS NOT INITIAL. DATA(lo_first) = lr_col->get_first( ). WHILE lo_first IS NOT INITIAL. lv_product_id = lo_first->get_property_as_string( 'PRODUCT_ID' ). WRITE: / 'Generated IP Product ID: ' , lv_product_id. DATA(lo_short_text) = lo_first->get_related_entity( 'ProductShortText' ). IF lo_short_text IS INITIAL. lo_short_text = lo_first->CREATE_RELATED_ENTITY( IV_RELATION_NAME = 'ProductShortText' ). ENDIF. lo_short_text->set_property( iv_attr_name = 'SHORT_TEXT' iv_value = lv_product_id ). lo_short_text->set_property( iv_attr_name = 'LANGU' iv_value = sy-langu ). lr_item_handler->create_ip( lo_first ). lo_first = lr_col->get_next( ). ENDWHILE.ENDDO.DATA(lo_transaction) = lo_core->get_transaction( ).lo_core->modify( ).DATA(lv_changed) = lo_transaction->check_save_needed( ).CHECK lv_changed EQ abap_true.DATA(lv_success) = lo_transaction->save( ).IF lv_success = abap_true. lo_transaction->commit( ). WRITE:/ 'IP Assigned Successfully'.ELSE. lo_transaction->rollback( ). WRITE: / 'IP Assigned failed'.ENDIF.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
转载地址:https://jerry.blog.csdn.net/article/details/103967118 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月13日 03时58分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
新币上市旧币会降价吗
2019-05-01
为什么币圈的基础设施越来越多
2019-05-01
市场套利策略是什么
2019-05-01
跨市场套利怎么处理
2019-05-01
当博士进入币圈会怎么样
2019-05-01
以太坊技术分解
2019-05-01
以太坊技术怎么提供安全性
2019-05-01
如何验证以太坊技术安全性
2019-05-01
数字货币的投资正确之路
2019-05-01
委员会怎么验证比特币真伪
2019-05-01
迅雷陷入窘迫,但是无可替代
2019-05-01
PHP之 使用PHPMailer插件实现邮件发送功能
2019-05-01
《增长黑客》(肖恩·艾利斯)学习笔记——第二部分 实战
2019-05-01
Mysql学习笔记(10):事务、视图
2019-05-01
python使用HTMLTestRunner查看运行函数
2019-05-01
fiddler 抓取手机接口
2019-05-01
python的ImportError
2019-05-01
centos最小化安装配置网络问题
2019-05-01
linux下安装jenkins+git+python
2019-05-01