理论教育 如何使用 Suspend 和 Resume 调用来优化程序性能

如何使用 Suspend 和 Resume 调用来优化程序性能

时间:2023-05-31 理论教育 版权反馈
【摘要】:在很多情况下,想定位到独立运行的第二个应用程序,还不能关闭第一个应用程序,在Web Dynpro ABAP程序中,挂起和恢复调用是很有用的。要使用暂停和恢复调用,可以从一个Web Dynpro窗体的界面视图中选择任何出站或入站插头作为挂起插头或者恢复插头。图 7-122Web Dynpro应用程序的URL在相关的标签页中被定义为应用程序属性之一,它可以从这里访问。图 7-123主程序通过恢复插头的URL被调用,被重新激活。

如何使用 Suspend 和 Resume 调用来优化程序性能

在很多情况下,想定位到独立运行的第二个应用程序,还不能关闭第一个应用程序,在Web Dynpro ABAP程序中,挂起(Suspend)和恢复(Resume)调用是很有用的。要使用暂停和恢复调用,可以从一个Web Dynpro窗体的界面视图中选择任何出站或入站插头作为挂起插头(Suspend Plugs)或者恢复插头(Resume Plugs)。挂起插头调用类似于退出插头(Exit Plugs调用,都是用于退出活动的Web Dynpro ABAP应用。区别于退出插头的是,它使用户在使用了另一个单独的应用程序之后返回到原来的应用程序。原来的应用只是暂时停用或暂停,不会被关闭。它可以通过调用恢复插头重新激活。

可以在Web Dynpro ABAP应用程序中设置一个挂起插头来调用以下程序:

1)另一个Web Dynpro应用程序。

2)使用不同的技术的Web应用程序(如BSP)。

由于挂起和恢复插头用于活动的应用程序之间进行通信,它们必须添加到该窗体的接口视图中。每个挂起插头都赋有URL参数,参数在这里是强制性的,不是可有可无的,这一点不像退出插头。当一个挂起的插头被调用时,必须指定目标URL。

如果至少有一个挂起插头在接口视图中创建,则也必须创建一个恢复插头。没有恢复插头,应用程序在挂起后不能被重新激活。每一个的Web Dynpro窗体中只可以有一个恢复插头可以被定义。

(1)挂起一个Web Dynpro ABAP应用程序

这是很容易设立一个挂起的调用:首先,在主WDA应用程序中选择出站插头作为挂起插头。调用插头时,作为URL参数的值指定一个字符串,表示目标应用程序的URL(请参阅下面的示例代码),如图7-122所示。

978-7-111-54749-5-Chapter07-199.jpg

图 7-122

978-7-111-54749-5-Chapter07-200.jpg

Web Dynpro应用程序的URL在相关的标签页中被定义为应用程序属性之一,它可以从这里访问。

在第二个WDA应用程序中,当退出插头触发时,该应用程序被关闭,并且自动调用主应用程序的恢复插头。在Web Dynpro框架内,主程序的活动实例的引用总是在挂起调用时转移。第二个应用程序知道它的状态,作为挂起的主应用程序随后的应用程序,在其中当使用指定引用的一个退出插头被调用时会返回到主应用程序的恢复插头。在这种情况下,没有进一步的编程的必要了。

(2)挂起一个非Web Dynpro ABAP应用程序

创建一个挂起的调用到一个非WDA的应用,因为也需要在第二个应用中修改,这是非常困难的。例如,程序员必须实施返回到主应用程序的机制,以及指定第二个应用程序的URL 地址和强制性参数,还需要在随后返回步骤中指定自己应用程序的URL。这就是所谓的恢复URL,作为参数这也传递到第二个应用程序中,如图7-123所示。

URL必须在第二个应用程序中被读取。从而在第二个应用程序的浏览器中重定向到恢复插头传过来的URL,然后打开浏览器窗口中的二次应用。

978-7-111-54749-5-Chapter07-201.jpg

图 7-123

主程序通过恢复插头的URL被调用,被重新激活。

挂起和恢复插头,可以有用户定义的参数。(www.daowen.com)

注:挂起和恢复调用在门户环境中没有发布。

下面介绍窗体中出、入站插头的参数。

(1)入站插头和出站插头类型为Standard的参数

对于每一个标准类型的出站插头,程序员可以创建一个用户定义的参数列表。为每个标准类型的入站插头,程序员可以在相关的事件处理程序方法中创建一个用户定义的输入参数列表。

(2)挂起插头和退出插头的参数

程序员可以为这些特殊的窗体插头定义参数。由于这些参数必须在输出插头的URL中指定,所以一定是String类型或TIHTTPNVP类型:

退出插头和挂起插头的所有参数在目标URL中指定(退出插头是可选的,挂起插头是强制的)。如果目标URL是Web Dynpro应用程序,则应符合下列格式:

978-7-111-54749-5-Chapter07-202.jpg

退出插头和挂起插头在运行时有特定的字符串参数URL。

(3)启头插头和恢复插头的参数

启动插头和恢复插头的参数通过相关的事件处理程序方法调用的URL进行传递,这意味着参数值来自第二个应用。出于这个原因,传递的参数数目和名称在设计时对于主Web Dynpro应用程序来说通常是未知的。为了能将值传递到入站插头的URL参数中,它们存储在一个类型为TIHTTPNVP的表中。在该表中的所有应用程序特定的URL参数可以通过参数WDEVENT传递,该参数属于启动或恢复插头的事件处理程序方法。在本地创建的参数必须是相同的类型,即TIHTTPNVP。

978-7-111-54749-5-Chapter07-203.jpg

如果在设计时启动或恢复插头的参数是已知的,程序员可以将个别参数字符串添加到事件处理程序方法的参数中,并直接访问它们。

如果事件处理程序方法的入站插头有输入参数,则参数值必须在运行时是可用的。如果调用URL不指定参数值,也没有定义应用程序的任何默认值,则将导致一个运行时错误。(请参阅调用Web Dynpro应用参数)。通过定义默认值,在不指定参数值时可以防止运行时错误

(4)TIHTTPNVP 参数

表类型TIHTTPNVP包含参数的名称和值。如果程序员创建一个这种类型的挂起插头或退出插头的参数,则该参数是一个表,其中包含字符串类型的名称和值。在这种情况下,所有项都被传递到URL,而不是把每一个参数分开传递。

传递启动插头或退出插头的名称和值都存储在一个表中。

注:其URL参数的事件处理程序方法也提供了一个相关的参数,也以相同的表格类型存储在参数表中。处理应用程序对类型TIHTTPNVP表中传输参数进行检查和验证。

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

我要反馈