理论教育 基于对象的导航(OBN)

基于对象的导航(OBN)

时间:2023-05-31 理论教育 版权反馈
【摘要】:为了这个目的,程序员可以使用基于对象的导航。在Web Dynpro ABAP中,基于对象的导航集成是非常类似门户网站事件的集成。在业务对象的操作做好相应准备的前提下,这些参数可以被目标OBN使用。如果用户要触发基于对象的导航,但该角色不具有相应操作的授权,则相应的错误消息会被显示出来。

基于对象的导航(OBN)

SAP企业门户内容的结构是基于角色的。用户可以采用顶级导航和详细的导航浏览特定用户的导航结构。门户网站的导航可以把不同的iView或页面(Page)作为一个门户网站的内容并在它们之间进行导航。

在许多情况下,需要充分使用相对导航或绝对导航,导航到一个特定的iView或页面。特别地,有时需要更多灵活性。为了这个目的,程序员可以使用基于对象的导航。它允许程序员在一个更高的层次(业务对象)定义导航步骤。不是定义一个具体的URL目标,而是调用一个特定业务对象的特定操作。

在门户中可以配置具体的iView(或页面)用于执行此操作。这种配置可以是特定的角色或特定的用户。Web Dynpro应用程序本身传递业务对象的名称和链接到它的操作。

在Web Dynpro ABAP中,基于对象的导航集成是非常类似门户网站事件的集成。为了触发导航本身,Web Dynpro Framework提供了一个服务。该服务可以从应用程序调用,像门户网站事件,是门户管理的一部分。

1.触发基于对象的导航

可以在Web Dynpro ABAP的门户网站中调用接口IF_WD_PORTAL_INTEGRATION的方法NAVIGATE_TO_OBJECT,激活基于对象的导航。程序员可以使用Web Dynpro中的代码向导自动生成以下代码:

(1)对于导航只有以下两个参数是必需的

1)SYSTEM:指定业务对象被分配到的系统(或系统别名)。

2)OBJECT_TYPE:指定使用的业务对象。

(2)所有其他参数都是可选的

1)OBJECT_VALUE。通常有许多不同的业务对象实例,如对于业务对象客户。可以使用参数指定特定客户(如使用客户编号)调用基于对象的导航步骤。

2)OPERATION:可以使用该参数指定基于对象的导航步骤的操作。

3)OBEJCT_VALUE_NAME:指定对象的值传送一个URL参数到OBN步骤。该参数的标准名称是ObjectValue。程序员也可以更改该名称。(www.daowen.com)

4)BUSINESS_PARAMETERS:除了指定对象的值,可以定义由OBN步骤转发的其他参数。可以定义一个参数字符串,如Mode=Edit&ShowHeader=false。在业务对象的操作做好相应准备的前提下,这些参数可以被目标OBN使用。

5)FORWARD_OBN_METADATA。有时,从当前的导航步骤中接收更多的详细信息对于OBN目标是有益的。举例来说,如果程序员实现一个应用程序,用于实施某一业务对象上执行的不同操作,则应用程序必须知道所引发OBN步骤的操作。因此,可以通过以下参数:

● obn.system:业务对象所分配到的系统。

● obn.bo_type:业务对象本身

● obn.operation:当前操作,该值是“_default_”。

(3)在门户中维护目标应用

目标应用程序保存在门户网站中的业务对象的相应的操作中,这通常由门户管理员维护。

对于一个WDA目标应用程序的业务参数,使用Web Dynpro ABAP应用程序定义的参数时,如果动态地分配应用程序参数给启动插头,则可以在应用程序中的文档中找到这些参数。

为了使Web Dynpro ABAP应用到目标应用程序之间能够正确传输业务参数,下面的JavaScript代码必须被保存在目标应用程序的基于对象导航内:

2.基于角色的权限检查

因此,导航的执行依赖于在门户中自定义角色的设置。例如,一个角色的用户可以具有用于显示和编辑页面内容的授权,而用户可能只被允许的另一个作用是要显示门户内容。如果用户要触发基于对象的导航,但该角色不具有相应操作的授权,则相应的错误消息会被显示出来。为了尽可能地提供友好的用户界面,从一开始就不提供会出现此问题的用户操作。然而,为了这个目的,必须由门户得到相应操作的授权信息。这可以通过Web Dynpro ABAP系统中的类CL_WDR_PORTAL_OBNWEB_SERVICE调用Web服务来取得。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈