我在SAP Fiori App中有两个字段:Template_ID
和Offer_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
字段时,在调试中,我看到我的全局属性为空。
可能是因为会话或其他原因,但为空白。
当用户单击OfferId字段时,它将启动NEW会话,当然,您在类GV_CONTENT
中存储为ZCL_CUAN_CLASS
的内容也会丢失。
您应该做的是,对于第二个请求,应该使用过滤器Template_ID
发送到后端,因此在CL_CUAN_CAMPAIGN_DPC->GET_OFFER_BY_TEMPLATE()
方法中,您可以通过Template_ID
进一步处理结果。