CRM 促销活动-实际赠品数量修改-实现方法

本文详细介绍了如何使用事务代码GENIL_MODEL_BROWSER进行促销活动的修改,包括导入对象、锁定交易、切换修改模式、获取相关实体并设置属性等步骤。实现了对促销活动中的实际赠品数量进行调整。

侯志宇

2014-10-30

促销活动-实际赠品数量修改-实现方法

事物代码:GENIL_MODEL_BROWSER - 一般交互层应用程序的模型浏览器


*"*"本地接口:
*"  IMPORTING
*"     VALUE(IM_OBJECT_GUID) TYPE  CRMT_GENIL_OBJECT_GUID
*"  TABLES
*"      LT_RETURN TYPE  CRMT_GENIL_MESSAGE_TAB OPTIONAL
*"      LT_TPM_PRODUCT STRUCTURE  CRMS_MKTPL_IB_TPM_PRODUCT OPTIONAL
*"----------------------------------------------------------------------
data:  LR_CORE          type ref to CL_CRM_BOL_CORE,
       LR_GL_MESS_CONT  type ref to IF_GENIL_MESSAGE_CONTAINER,
       LR_FACTORY       type ref to CL_CRM_BOL_ENTITY_FACTORY,
       LR_TRANSACTION   type ref to IF_BOL_TRANSACTION_CONTEXT,
       LR_TRADE         type ref to CL_CRM_BOL_ENTITY,
*       LR_BTADMINH      TYPE REF TO CL_CRM_BOL_ENTITY,
       LR_ENTITY        type ref to CL_CRM_BOL_ENTITY,
       LR_RELATED_ITEM   type ref to IF_BOL_ENTITY_COL.

data: "LT_TPM_PRODUCT type table of CRMS_MKTPL_IB_TPM_PRODUCT,
      LS_TPM_PRODUCT type CRMS_MKTPL_IB_TPM_PRODUCT,
      LA_TPM_PRODUCT type CRMS_MKTPL_IB_TPM_PRODUCT.


data LR_TX_MANAGER      type ref to CL_MKTPRJ_TRANSACTION_MGR.

**消息处理
data: LV_SUCCESS    type CRMT_BOOLEAN.
*DATA:LT_RETURN TYPE  CRMT_GENIL_MESSAGE_TAB,
*data: S_RETURN type CRMT_GENIL_MESSAGE.

check IM_OBJECT_GUID is not initial.
check LT_TPM_PRODUCT[] is not initial .

****修改促销活动
LR_CORE = CL_CRM_BOL_CORE=>GET_INSTANCE( ).
LR_CORE->START_UP( 'CRMD_MKTPL_TPM_OL' ).
LR_TRADE = LR_CORE->GET_ROOT_ENTITY(
                  IV_OBJECT_NAME = 'Trade'
                  IV_OBJECT_GUID = IM_OBJECT_GUID ).
check LR_TRADE is bound.

   LR_GL_MESS_CONT = LR_CORE->GET_GLOBAL_MESSAGE_CONT( ).
    LV_SUCCESS = LR_TRADE->LOCK( ).

    if LV_SUCCESS is initial .
      if LR_GL_MESS_CONT is bound .
        refresh LT_RETURN .
        call method LR_GL_MESS_CONT->GET_MESSAGES
          exporting
            IV_MESSAGE_TYPE = CL_CRM_GENIL_GLOBAL_MESS_CONT=>IF_GENIL_MESSAGE_CONTAINER~MT_ALL
            IV_FOR_DISPLAY  = ABAP_FALSE
          importing
            ET_MESSAGES     = LT_RETURN[].

        delete LT_RETURN where TYPE ne 'E' and TYPE ne 'A' .
      endif .
      exit.
    endif .

*改为修改模式
LR_TRADE->SWITCH_TO_CHANGE_MODE( ).

LR_RELATED_ITEM ?= LR_TRADE->GET_RELATED_ENTITIES(  IV_RELATION_NAME = 'TPMProductRel' ).


LR_ENTITY = LR_RELATED_ITEM->GET_FIRST( ) .
while LR_ENTITY is bound .

  LR_ENTITY->GET_PROPERTIES( importing ES_ATTRIBUTES =  LA_TPM_PRODUCT )."LS_TPM_PRODUCT-ZZFLD0000DW
  clear LS_TPM_PRODUCT.
  read table LT_TPM_PRODUCT into LS_TPM_PRODUCT with key GUID = LA_TPM_PRODUCT-GUID .
  LR_ENTITY->IF_BOL_BO_PROPERTY_ACCESS~SET_PROPERTY( IV_ATTR_NAME = 'ZZFLD0000DW' IV_VALUE = LS_TPM_PRODUCT-ZZFLD0000DW ) .

*    LR_ENTITY->IF_BOL_BO_PROPERTY_ACCESS~SET_PROPERTY( IV_ATTR_NAME = 'ZZFLD0000DV' IV_VALUE = '70' ) .
  LR_ENTITY = LR_RELATED_ITEM->GET_NEXT( ) .
endwhile .



LR_CORE->MODIFY( ).
LR_TX_MANAGER = CL_MKTPRJ_TRANSACTION_MGR=>GET_INSTANCE( ).
LV_SUCCESS = LR_TX_MANAGER->SAVE_ALL( ).

if LV_SUCCESS = ABAP_TRUE.
  if LR_GL_MESS_CONT is bound .
    refresh LT_RETURN .
    call method LR_GL_MESS_CONT->GET_MESSAGES
      exporting
        IV_MESSAGE_TYPE = CL_CRM_GENIL_GLOBAL_MESS_CONT=>IF_GENIL_MESSAGE_CONTAINER~MT_ALL
        IV_FOR_DISPLAY  = ABAP_FALSE
      importing
        ET_MESSAGES     = LT_RETURN[].

    clear:LT_RETURN[],LT_RETURN[].
    LT_RETURN-TYPE = 'S'.
    append LT_RETURN.
  endif .
else.
  if LR_GL_MESS_CONT is bound .
    refresh LT_RETURN .
    call method LR_GL_MESS_CONT->GET_MESSAGES
      exporting
        IV_MESSAGE_TYPE = CL_CRM_GENIL_GLOBAL_MESS_CONT=>IF_GENIL_MESSAGE_CONTAINER~MT_ALL
        IV_FOR_DISPLAY  = ABAP_FALSE
      importing
        ET_MESSAGES     = LT_RETURN[].

  endif .
endif.




endfunction.

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值