新会话开始时保存全局属性值

问题描述 投票:0回答:1

我在SAP Fiori App中有两个字段:Template_IDOffer_ID

我想根据Offer_ID字段值选择Template_ID中的值。

为了解决这个问题,我尝试执行以下步骤:

当用户单击后端中的Template_ID字段时,将运行该方法:

CL_CUAN_CAMPAIGN_DPC->contentset_get_entityset()

此方法具有返回参数et_result。在et_result中,我有必填字段temp_id

为了保存temp_id值,我在类ZCL_CUAN_CLASS中创建了一个全局属性。

ZCL_CUAN_CLASS=>GV_CONTENT = VALUE #( et_result[ 1 ]-temp_ID OPTIONAL ).

我将这个全局属性用作第二种方法的input参数:

CL_CUAN_CAMPAIGN_DPC->GET_OFFER_BY_TEMPLATE()

此方法向我返回带有offer_id的内部表,该表属于我选择的temp_id

但是当用户单击Web UI上的Offer_ID字段时,在调试中,我看到我的全局属性为空。

可能是因为会话或其他原因,但为空白。

enter image description here

odata abap sap-fiori
1个回答
0
投票

当用户单击OfferId字段时,它将启动NEW会话,当然,您在类GV_CONTENT中存储为ZCL_CUAN_CLASS的内容也会丢失。

您应该做的是,对于第二个请求,应该使用过滤器Template_ID发送到后端,因此在CL_CUAN_CAMPAIGN_DPC->GET_OFFER_BY_TEMPLATE()方法中,您可以通过Template_ID进一步处理结果。

© www.soinside.com 2019 - 2024. All rights reserved.