SAP CRM IC SAVE按钮无法禁用

2020-09-22 00:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我的要求是,每当我可以更改地址并单击保存按钮时,都应在Business Aggrement中,应该保存数据,并且保存按钮可以是禁用模式,但是在我的情况下,数据是保存而保存按钮不是禁用模式。

组件:BUGA_DETAIL

BUAGOVERVIEW-> EH_ONSAVE

请给我建议。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我的要求是,每当我可以更改地址并单击保存按钮时,都应在Business Aggrement中,应该保存数据,并且保存按钮可以是禁用模式,但是在我的情况下,数据是保存而保存按钮不是禁用模式。

组件:BUGA_DETAIL

BUAGOVERVIEW-> EH_ONSAVE

请给我建议。

付费偷看设置
发送
7条回答
SAP砖家
1楼-- · 2020-09-22 01:28

嗨,

1。 首先需要确认,这个问题是否在标准环境下发生?

要对此进行检查,请执行SU3,将用户参数WCF_IGNORE_ENHANCEMT设置为A。然后重新打开Webui进行测试。

2。 您的系统中哪个版本的BBPCRM? 例如,是SAPKU71312还是类似的东西?

3。 也许您可以检查方法

CL_BUAG_DET_BUAGOVERVIEW_IMPL-> IF_BSP_WD_TOOLBAR_​​CALLBACK〜GET_BUTTONS,在此处设置断点以查看其是否在单击"保存"按钮后执行。 如果不希望使用"保存"按钮的逻辑,那么

最好的问候,Corrine

Baoming ROSE
2楼-- · 2020-09-22 01:14

嗨,

1。 您是说即使将用户参数WCF_IGNORE_ENHANCEMT设置为A,也仍然会发生完全相同的问题?

2。 当您将wcf_ignore_enhancemt设置为A并在方法CL_BUAG_DET_BUAGOVERVIEW_IMPL-> IF_BSP_WD_TOOLBAR_​​CALLBACK〜GET_BUTTONS中设置断点时,单击"保存"按钮时,断点会在那里停止吗? 如果是的话,您可以在此处上传源代码,以便我们确切知道应该在哪里查找代码。

最好的问候,厕所

骆驼绵羊
3楼-- · 2020-09-22 01:18

感谢您的建议

但是我的问题没有解决...

当我更改服务合同中的地址字段数据并单击"保存..."时。

该保存按钮应为禁用模式,但在我这种情况下是不可能的。

Alawn_Xu
4楼-- · 2020-09-22 01:15

在更改地址后保存服务合同后,您是否要隐藏保存按钮? 或只是按钮可用,但不起作用?

Haoba3210
5楼-- · 2020-09-22 01:21

嗨Malleswar,

很抱歉延迟回复...

每当我更改地址并单击保存按钮时,数据将被保存,并且必须禁用保存按钮。 但是在我的情况下,当单击"保存"时,按钮数据正在保存,但按钮无法禁用。

以下代码将相关代码保存在组件:BUAG_DETAIL概述页面EH_ONSAVE

METHOD BUAG_SAVE。 结果,LR_MSGSRV TYPE REF TO CL_BSP_WD_MESSAGE_SERVICE,结果,LR_GLOBAL_MESSAGE_CONTAINER TYPE REF TO CL_CRM_GENIL_GLOBAL_MESS_CONT,结果,LR_CUSTOM_TRANSACTION TYPE REF TO CL_CRM_BOL_CUSTOM_TX_CTXT搜索结果,DATA:。结果,LV_SUCCESS TYPE CRMT_BOOLEAN,结果,LT_MESSAGES TYPE CRMT_GENIL_MESSAGE_TAB < br>

*使核心对象离开工厂
LR_CORE = CL_CRM_BOL_CORE => GET_INSTANCE()。
LR_CORE-> MODIFY()。


LR_COL_WRAPPER = TYPED_CONTEXT-> BUAG-> GET_COLLECTION_WRAPPER()。

*读取混合实体并转换为普通实体
LR_BUAG_ENTITY?= LR_COL_WRAPPER-> GET_CURRENT()。

*检查是否存在错误消息
IF(LR_BUAG_ENTITY IS BOUND"取消了新的错误
并且CL_CRM_BUAG_TOOLS => CHECK_BUAG_MESSAGE_CONTAINER(IR_E NTITY = LR_BUAG_ENTITY)= ABAP_FALSE)。
*无导航
RAISE SAVE_FAILED。
ELSE。
*我们现在通过自定义事务保存=>可以独立于实体
保存多个BP IF GR_CUSTOM_TRANSACTION 已绑定且GR_CUSTOM_TRANSACTION-> IF_BOL_TRANSACTION_CONTEXT〜CHECK_SAVE_NEEDED()= ABAP_TRUE。

如果IV_TESTRUN = ABAP_FALSE。

如果是ME-> GR_CUSTOM_TRANSACTION-> IF_BOL_TRANSACTION_CONTEXT〜SAVE()= ABAP_TRUE。
ME-> GR_CUSTOM_TRANSACTION-> IF_BOL_TRANSACTION_CONTEXT〜COMMIT()。
ME-> GR_CUSTOM_TRANSACTION->。 br> ELSE。
ME-> GR_CUSTOM_TRANSACTION-> IF_BOL_TRANSACTION_CONTEXT〜ROLLBACK()。
ENDIF。
ENDIF。

ELSE。


IF IV_TESTRUN = ABAP_FALSE。
*不需要保存=>还原=>查看更改为显示模式
ME-> BUAG_REVERT_CUST_TRANS()。 br> ENDIF。
提高SAVE_NOT_NEEDED。
ENDIF。
ENDIF。

ENDMETHOD。

软件心理学工程师
6楼-- · 2020-09-22 01:10

您好,Corrine Guan,

感谢您的答复,

我的系统是BBPCRM版本。 和get_button方法

*从自定义控制器读取BuAg
LR_BUAG_ENTITY?= ME-> CUCOBUAG-> TYPED_CONTEXT-> BUAG-> COLLECTION_WRAPPER-> GET_CURRENT()。

如果是ME-> CUCOBUAG-> GV_VIEW_DISPLAY = ABAP_TRUE
或LR_BUAG_ENTITY-> IS_CHANGEABLE()= ABAP_FALSE。
*设置启用编辑按钮
LV_EDIT_BUTTON_ACTIVE = ABAP_TRUE。
*设置启用以取消和保存并保存并返回
LV_BUTTON_ENABLE = ABAP_FALSE。
ELSE。
*设置启用编辑按钮
LV_EDIT_BUTTON_ACTIVE = ABAP_FALSE。
*设置启用以取消和保存
LV_BUTTON_ENABLE = ABAP_TRUE。
ENDIF。

* 我们只想检查按钮是否已设置。 不检查其他属性,可能会得到错误的按钮
*例如 可以填充属性SELECTED_LINK_ID,但与按钮无关。
从LS_CONFIG到LS_BUTTON_STRUC。

如果LS_BUTTON_STRUC是INITIAL。
***未在调用组件中设置Config节点=> 设置默认按钮(保存+取消+编辑)

* ---保存--- *
LS_BUTTON-ID ='保存'。 " #EC NOTEXT
LS_BUTTON-ON_CLICK ='保存'。" #EC NOTEXT
LS_BUTTON-TEXT = CL_WD_UTILITIES => GET_OTR_TEXT_BY_ALIAS('CRM_IC_APPL/SAVE')。
LS_BASTON-TOOLTR = CL_WD_UT_ 'CRM_IC_APPL/SAVE')。
LS_BUTTON-TYPE = CL_THTMLB_UTIL => GC_ICON_SAVE。
LS_BUTTON-ENABLED = LV_BUTTON_ENABLE。
LS_BUTTON-PAGE_ID = ME-> COMPONENT_ID RT。 APP >清除LS_BUTTON。


*分隔符
LS_BUTTON-TYPE = CL_THTMLB_UTIL => GC_SEPARATOR。
将LS_BUTTON追加到RT_BUTTONS。
清除LS_BUTTON。

*- -取消--- *

这是我的Get_method中的代码。

致谢

一周热门 更多>