`
JerryWang_SAP
  • 浏览: 1031138 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

在SAP CRM WebClient UI里打开ABAP Webdynpro页面

阅读更多

Hi Friends,

in my recent customer project customer complains to me that they can not navigate from the workflow search result to the target UI.

The workflow work item is a document generated via SAP document builder. They would like to navigate to the document detail page and then decide whether to approve the document or not. With SAP standard solution so far in CRM7.0 EHP3, this is not possible since this work item does not have any BOR type but instead modeled via ABAP class /IPRO/CL_WFL_DOCUMNT. What’s more, the target document page is built via ABAP webdynpro which has not respective concept like UI object type, Genil component or BOL object name.

 

 

So in order to enable customer to see the document page, I just enhance the standard table to add a new column named “Document URL“. By clicking the hyperlink of that column, it will create a new popup window to display the document page.

 

 

The solution could be concluded as below steps:

Step1

enhance a new attribute DOC_URL in standard context node SEARCHRESULTNODE, implement Getter and P Getter.

 

 

in Getter, just get the target document page url via utility class:

method GET_DOC_URL.
    value = zcl_document_utility=>get_display_value( iterator ).
endmethod.

in p getter, set the event handler for hyperlink click event:

METHOD GET_P_DOC_URL.
CASE iv_property.
    WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
        rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.
    WHEN if_bsp_wd_model_setter_getter=>fp_onclick.
        rv_value = 'DISPLAY_DOC'.
  ENDCASE.
ENDMETHOD.

Step2

define component usage GS_CMSRCH:

 

 

and in event handler for DISPLAY_DOC:

method OPEN_URL_INTERNAL.
    DATA(lv_title) = cl_wd_utilities=>get_otr_text_by_alias( 'Document(to be approved) Preview' ). "#EC NOTEXT
    DATA(lr_popup) = io_wd_manager->create_popup(  iv_interface_view_name = 'GS_CMSRCH/CMDisplayContentWindow'
                                                   iv_usage_name          = 'GS_CMSRCH'
                                                   iv_title               = lv_title ).
    DATA(lr_cn)  = lr_popup->get_context_node( 'PARAMS' ).
    DATA(lr_obj) = lr_cn->collection_wrapper->get_current( ).
    READ TABLE st_url_buffer ASSIGNING FIELD-SYMBOL(<buffer>) WITH KEY uuid = iv_guid.
    CHECK sy-subrc = 0.
    DATA(ls_params) = VALUE crmt_gsurlpopup_params( url = <buffer>-url height = '1000' ).
    lr_obj->set_properties( ls_params ).
    lr_popup->set_display_mode( if_bsp_wd_popup=>C_DISPLAY_MODE_PLAIN ).
    lr_popup->set_window_width( 1000 ).
    lr_popup->set_window_height( 10000 ).
    lr_popup->open( ).
  endmethod.

And that’s all. Interface window CMDisplayContentWindow is a new window created by SAP in EHP3 SP3. There is no magic inside it: just open the target window via JavaScript window.open.

 

 

you can also use the reuse component GSURLPOPUP, which can achieve the same result but with different html markup.

 

 

After I finish it, I soon realized that in this dedicated case, it is possible to “navigate” to the target ABAP webdynpro page via CRM navigation framework itself.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
1
分享到:
评论

相关推荐

    CRM7.0 WebClient UI config

    WebClient UI是SAP CRM的一个核心组件,提供了一个基于Web的交互界面,使得用户能够访问和操作CRM系统功能,无论他们身处何地。 首先,我们要理解UI Guidelines的重要性。"UI Guidelines for CRM WebClient User ...

    Creating a Dropdown in SAP CRM WebUI.docx

    在SAP CRM WebUI中创建下拉列表是一个关键任务,特别是在设计用户界面以提供更高效、用户友好的交互时。本教程将引导你通过一系列步骤来实现这一目标,特别是针对SEX(性别)属性创建一个下拉框。 首先,你需要获取...

    SAP_CRM中文自学笔记

    SAP CRM的基础知识通常包括对于其核心组件的理解,包括主数据(如账户、组织模型、产品等),交易处理、定价、开票、CRM中间件以及CRM WebClient UI。CRM中间件主要负责不同系统组件之间的信息交换,而CRM WebClient...

    SAP CRM WebClient UI cross component跳转的一个具体例子

    Result list是model在ICQR里面,如果点service,会navigate到service detail page,这个service detail page是做在PRD02OV上,所以这个navigation是cross component navigation: Cross component navigati

    SAPCRM基础培训教材.doc

    《SAP CRM基础培训教材详解》 ...总结来说,SAP CRM的基础培训涵盖了WebClient UI的演变及其丰富元素,以及CRM与ERP的集成策略。了解这些知识,有助于更好地理解和使用SAP CRM系统,提升企业的运营效率和服务质量。

    SAPCRM基础培训.doc

    在SAP CRM基础培训中,WebClient UI(Web客户端用户界面)是一个重要的学习焦点,它是用户与系统交互的主要界面。下面我们将深入探讨WebClient UI的相关知识点。 WebClient UI的发展历程是从GUI(图形用户界面)...

    SAP CRM WebClient UI ON_NEW_FOCUS的用途

    Sent: Thursday, May 9, 2013 6:30 PM Subject: ON_NEW_FOCUS的用途 ROOT ———————————— Product ID PRODshortText ———————————— Product Description Genil Model hierarchy

    UI Guidelines for CRM WebClient User Interface

    UI Guidelines for CRM WebClient User Interface

    sap 简介及关键提示

    产品建议不仅能在标准订单等销售事务中应用,还能在CRM WebClient UI(交互中心)和Web渠道中实时呈现,帮助销售人员在与客户的互动中快速响应并提供个性化建议。 通过灵活地配置产品联想规则,企业可以设定复杂的...

    基于c#的webapi断点续传几种方式及webclient断点续传下载.zip

    本资料包“基于C#的WebAPI断点续传几种方式及WebClient断点续传下载.zip”主要探讨了两种在C#环境下实现断点续传的方法:一是通过WebAPI实现服务端的断点续传功能,二是使用WebClient类进行客户端的断点续传下载。...

    WebClient下载文件展示进度条

    下面是一个完整的示例,展示了如何在WinForms应用程序中创建一个简单的进度条,并使用WebClient下载文件: ```csharp public partial class MainForm : Form { private WebClient webClient; private long ...

    C#中WebClient实现文件下载

    在C#编程中,WebClient类提供了一种简单的方式来实现文件下载。WebClient是一个高度封装的网络通信类,主要用于HTTP协议交互,包括上传和下载数据。以下是对标题和描述中涉及知识点的详细解释: 1. **WebClient下载...

    WebClientDemo_webclient_

    开发者可能在这个类中重写了WebClient的某些方法,比如`DownloadDataAsync`和`DownloadFileAsync`,以便在下载过程中能够实时更新UI状态。 `Form1.Designer.cs`和`Form1.cs`是主应用程序窗体的相关文件,Designer....

    C# WebClient 上传文件

    ### C# WebClient 上传文件知识点解析 #### 一、引言 在开发过程中,经常会遇到需要将客户端的文件上传到服务器的需求。C#语言提供了多种方法来实现这一功能,其中`WebClient`类就是一种非常简便的方式。本文将详细...

    WebClient-2.2.5.exe

    WebClient是Spring 5中引入的非阻塞,反应式的Web客户端。它是在Project Reactor和Netty基础上构建的,非常适合用于创建高性能的微服务。 WebClient的主要优点是它的非阻塞和反应式的特性,这使得它在处理大量并发...

    webclient 控件

    在.NET Framework中,WebClient控件是一个非常实用的类,用于简化从Web下载数据的任务,尤其是在WinForm应用程序中。标题中的"webclient 控件"指的是这个内置的.NET类,它为开发者提供了简单的方法来执行HTTP操作,...

    WebClient jar包

    WebClient jar包

    htmlunit webclient下载资源

    在这个例子中,我们创建了一个WebClient实例,启用了JavaScript支持,然后打开了一个URL并打印了响应内容。 在你的场景中,你可能用WebClient实现了某种循环,每次迭代都下载一次资源,直到达到1000次。这可能是...

    使用WebClient自动填写并提交ASP.NET页面表单的源代码

    下面我们将详细探讨如何使用`WebClient`来自动填写并提交ASP.NET页面的表单。 首先,我们需要理解ASP.NET页面的工作原理。ASP.NET是一种构建动态网站的技术,它使用服务器控件(如TextBox、Button等)构建表单,并...

    WebClient 上传文件到 iis

    在IT行业中,Web客户端(WebClient)经常被用于在Web应用程序中执行HTTP操作,如下载、上传文件等。本文将详细讲解如何使用C#的WebClient类来实现将文件上传到IIS(Internet Information Services)服务器的过程。...

Global site tag (gtag.js) - Google Analytics