Now I have another solution to navigate to ABAP webdynpro page via CRM navigation framework. The CRM navigation framework is using a so-called navigation object which can tell framwork what the target UI view and the respective operation ( Display, Edit, Search etc ). The navigation object relies heavily on CRM ui concept like UI object type, BOR and BOL type which do not make sense for a ABAP Webdynpro page. So the main idea of this solution is, to use a wrapper CRM ui component which encapsulate ABAP webdynpro page and make configurations to achieve the navigation from source UI component to the wrapper component. After the wrapper component is opened, it will then open ABAP webdynpro page itself.
The finaly result would look like below:
compared with the solution in my previous blog, this solution does not need any enhancement on standard UI component, instead only several customizing work ( with corresponding mapper class development )and the development of a new wrapper UI component with tiny effort. The main steps are below:
step1
create a simple wrapper UI component. ( Please ignore view main, which is for another blog )
create an inbound plug for window MainWindow and implement as below.
method IP_FROM_WF.
data(lo_entity) = iv_collection->get_first( ).
CHECK lo_entity IS NOT INITIAL.
data(lv_guid) = lo_entity->get_property_as_string( ‘DOCMNT’ ).
cl_zmeta_mainwindow_impl=>gv_url = zcl_url_utility=>get_url( CONV #( lv_guid ) ).
endmethod.
The idea is to get the target ABAP webdynpro page url from iv_collection which is passed by CRM navigation framwork and set it to a static attribute of window controller class. That gv_url is just used in view windowOpen.htm. So it means when this wrapper UI component view is about to be rendered, it will open the target ABAP webdynpro page via javascript window.open.
step2
SM30, view name BSPDLCV_OBJ_TYPE create a new UI object type. please AlWAYS double check in the system whether there are already existing UI object type in the system! Here I create a new UI object type CRM_WF. You can input any name in BOL Object name. There is no validation check, just input a meaningful name. The Genil component specified here will be loaded automatically by framework in the runtime. In most time your ABAP webdynpro page does not have respective Genil component in CRM, you just can maintain a dummy one.
step3
create a new entry in table CRMS_UI_OBJ_MAP. The object name comes from step2.
the mapping class must implement interface IF_CRM_UI_OBJ_MAPPER. If your scenario is just navigation from CRM ui to ABAP webdynpro, you only need to implement GET_ENTITY_FROM_UI_OBJECT. Here I just retrieve respective document data from database with document key passed in from framework ( iv_entty_key_value )
step4
in SPRO-Customer Relationship Management-UI Framework-Technical Role Definition-Define Work Area Component Repository: create a new entry for your wrapper UI component:
in inbound Plug Definition, create one entry:
in SPRO-Customer Relationship Management-UI Framework-Technical Role Definition-Define Navigation Bar Profile: create an entry in “Define Generic Outbound Plug mapping” for your profile.
And that’s all.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
WebClient UI是SAP CRM的一个核心组件,提供了一个基于Web的交互界面,使得用户能够访问和操作CRM系统功能,无论他们身处何地。 首先,我们要理解UI Guidelines的重要性。"UI Guidelines for CRM WebClient User ...
通过这个过程,你不仅学会了如何在SAP CRM WebUI中创建下拉列表,还了解了值帮助方法和接口在SAP UI开发中的重要性。这是提高用户界面功能性和用户体验的关键步骤,对于任何WebUI开发者来说都是必备技能。
Sent: Thursday, April 18, 2013 3:59 PM Subject: 为什么design time时候看到的是ICQR,点了service之后看到02QR的代码被call到 这是cross component navigation在起作用。 Result list是model在ICQR里面,如果点...
SAP CRM的基础知识通常包括对于其核心组件的理解,包括主数据(如账户、组织模型、产品等),交易处理、定价、开票、CRM中间件以及CRM WebClient UI。CRM中间件主要负责不同系统组件之间的信息交换,而CRM WebClient...
《SAP CRM基础培训教材详解》 ...总结来说,SAP CRM的基础培训涵盖了WebClient UI的演变及其丰富元素,以及CRM与ERP的集成策略。了解这些知识,有助于更好地理解和使用SAP CRM系统,提升企业的运营效率和服务质量。
在SAP CRM基础培训中,WebClient UI(Web客户端用户界面)是一个重要的学习焦点,它是用户与系统交互的主要界面。下面我们将深入探讨WebClient UI的相关知识点。 WebClient UI的发展历程是从GUI(图形用户界面)...
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
产品建议不仅能在标准订单等销售事务中应用,还能在CRM WebClient UI(交互中心)和Web渠道中实时呈现,帮助销售人员在与客户的互动中快速响应并提供个性化建议。 通过灵活地配置产品联想规则,企业可以设定复杂的...
请注意,实际应用中可能需要处理错误和异常,以及考虑线程同步问题,确保UI线程安全地更新进度条。此外,如果要实现更复杂的功能,比如暂停和恢复下载,可能需要使用更高级的类如System.Net.Http.HttpClient,配合...
开发者可能在这个类中重写了WebClient的某些方法,比如`DownloadDataAsync`和`DownloadFileAsync`,以便在下载过程中能够实时更新UI状态。 `Form1.Designer.cs`和`Form1.cs`是主应用程序窗体的相关文件,Designer....
在C#编程中,WebClient类提供了一种简单的方式来实现文件下载。WebClient是一个高度封装的网络通信类,主要用于HTTP协议交互,包括上传和下载数据。以下是对标题和描述中涉及知识点的详细解释: 1. **WebClient下载...
此资料包中的“WebAPiResumeDownload-master”可能包含了实现上述功能的示例代码,包括WebAPI控制器和扩展的WebClient类。开发者可以通过研究这些代码来深入理解断点续传的工作原理,并在自己的项目中应用这些技术。...
WebClient是Spring 5中引入的非阻塞,反应式的Web客户端。它是在Project Reactor和Netty基础上构建的,非常适合用于创建高性能的微服务。 WebClient的主要优点是它的非阻塞和反应式的特性,这使得它在处理大量并发...
### C# WebClient 上传文件知识点解析 #### 一、引言 在开发过程中,经常会遇到需要将客户端的文件上传到服务器的需求。C#语言提供了多种方法来实现这一功能,其中`WebClient`类就是一种非常简便的方式。本文将详细...
在Windows Phone平台上,WebClient和HttpWebRequest是两个用于网络数据通信的重要类,它们允许应用程序从Web服务器获取数据,如HTML、JSON或XML等。这两者都是.NET Framework的一部分,因此在Windows Phone开发中...
在.NET Framework中,WebClient控件是一个非常实用的类,用于简化从Web下载数据的任务,尤其是在WinForm应用程序中。标题中的"webclient 控件"指的是这个内置的.NET类,它为开发者提供了简单的方法来执行HTTP操作,...
这个压缩包文件提供了使用gSOAP生成C++ WebServer和WebClient的资源,包括gsoap包本身、使用指南和测试源码。 gSOAP的核心功能是自动生成客户端和服务器端的代码,以处理SOAP消息。它能够解析和序列化XML数据,使得...
在文件`GetPageHtml.aspx`和`GetPageHtml.aspx.cs`中,可能包含了如何在ASP.NET页面中使用`WebClient`或`WebRequest`获取网页源代码的示例代码。这通常涉及创建一个ASP.NET控件,如Button,当用户点击按钮时,触发...
在本教程中,我们将深入探讨如何使用WebClient类来实现一个功能完善的网络资源下载器,包括实时显示下载速度和进度,并在下载完成后提供提示。 首先,让我们了解WebClient类的基本用法。WebClient是System.Net命名...