SAP CRM IPM行业解决方案里如何创建IP product
发布日期:2021-06-30 14:05:56
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月19日 17时23分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
最后一台,i7+6核电脑
2019-05-01
redis五种基本数据类型
2019-05-01
以不同业务,redis分库概念
2019-05-01
使用redis实现订阅功能
2019-05-01
Redis哨兵机制
2019-05-01
哨兵机制服务器环境准备
2019-05-01
SpringBoot整合Redis事务
2019-05-01
项目整合一级缓存和二级缓存
2019-05-01
自定义注解和aop抽取重复代码
2019-05-01
互联网API开放平台安全设计-基于OAuth2.0协议方式
2019-05-01
URL特殊字符转码
2019-05-01
对称加密整个过程
2019-05-01
java内存模型
2019-05-01
volatile关键字
2019-05-01
tomcat_启动问题分析
2019-05-01
tomcat_关闭
2019-05-01
tomcat_部署项目的方式
2019-05-01
tomcat_动态java项目的目录结构
2019-05-01
Servlet_概述
2019-05-01
Servlet_快速入门
2019-05-01