Beruflich Dokumente
Kultur Dokumente
NetWeaver
SAP
NetWeaver
How-To
Guide
How-To
Guide
Applicable Releases:
SAP NetWeaver 7.01
Document History
Document Version
Description
1.00
Typographic Conventions
Icons
Type Style
Description
Icon
Example Text
Example text
Emphasized words or
phrases in body text, graphic
titles, and table titles
Example text
Example text
<Example
text>
EXAMPLE TEXT
Description
Caution
Note or Important
Example
Recommendation or Tip
Table of Contents
1.
Purpose..................................................................................................................
2.
Business Scenario.................................................................................................
3.
Background Information.......................................................................................
4.
Prerequisites..........................................................................................................
5.
Scope......................................................................................................................
6.
Step-by-Step Procedure........................................................................................
[Type text]
1. Purpose
The current architecture of the POWL has the following constraints:
The feeder classes (actual dataproviders) can only be consumed by the generic webdynpro
application (POWL).
It is not possible to use the feeder classes from the remote systems that make it local to the
application server.
Due to the requirements from the suite harmonization projects, the POWL framework must be
enhanced with remote usage. In order to achieve this, the POWL provides a RFC library which
simulates the current user interface. This document describes the RFC Library for the POWL
framework in detail.
This enhancement yields the following benefits:
2. Business Scenario
NA
3. Background Information
NA
4. Prerequisites
4.1 Technical
The RFC destinations are maintained using the logon details of the technical user. The current
users credentials are used for the remote logon.
The current username of the host system is sent to the RFC interfaces. The feeder methods take
care of the authorization routines for the imported username. The feeders methods then raise an
exception if the user is not available in the target system.
Before making a call to the RFC library, the host system feeder sets the additional parameters
(e.g. simulating BP-Version) by calling the appropriate POWL utility methods. The target system
consumes this information and acts accordingly.
4.2 Functional
[Type text]
5.
Scope
NA
6.
Step-by-Step Procedure
This section provides an outline for implementing the remote POWL, using the Demo Implementation
example located in the package POWL_REMOTE.
Then call the 'POWLR_ASYNC_COLLECT_ACTIONS' function module to get the value from different
system
CALL FUNCTION 'POWLR_ASYNC_COLLECT_ACTIONS'
EXPORTING
i_powl_context = lv_context
[Type text]
I_POWL_CONTEXT
I_SELCRIT_VALS
Parameter Table
I_DESTINATIONS
E_STATUS_FLAGS
E_ACTIONS
E_MESSAGES
After Getting the result you have to again feed the result into the exporting & changing parameter of
the method.
IF c_action_defs IS INITIAL.
IF lt_action IS NOT INITIAL.
LOOP AT lt_action INTO ls_action.
INSERT ls_action-remote_actions
ENDLOOP.
ENDIF.
e_actions_changed = 'X'.
ENDIF.
To implement the remote POWL functionality (As its shown in the previous) you have to call
'POWLR_GET_ACTION_CONF for the Action confirmation.
Importing Parameter
I_POWLR_CONTEXT
I_ACT_CONTEXT
I_SELECTED
[Type text]
E_CONFIRMATION
Table of Strings
E_MESSAGES
Now fill the field catalog with the received set of data.
IF lt_fieldcat IS NOT INITIAL.
LOOP AT lt_fieldcat INTO ls_fiedlcat.
APPEND LINES OF ls_fiedlcat-remote_fieldcat TO c_fieldcat.
ENDLOOP.
ENDIF.
IF lt_status IS NOT INITIAL.
[Type text]
I_DESTINATIONS
I_SELCRIT_VALS
E_STATUS_FLAGS
E_FIELDCAT
E_MESSAGES
e)GET_OBJECT_DEFINITION function
Implementation
Purpose: Define data container (Method GET_OBJECT_DEFINITION)This method is used to define
the container (e.g. specify field types) where the selected data gets stored. Caching and other
mechanisms of the POWER Lists technology will be handled automatically in the background based
on these settings. So there is no need to explicitly take care on things like caching data and so on.
(defines the data type of the actual (internal) query results table as to be delivered by
GET_OBJECTS)
Same as , you have to implement the GET_OBJECT _DEF function for remote POWL
CALL FUNCTION 'POWLR_ASYNC_COLLECT_OBJECT_DEF'
EXPORTING
i_powl_context = lv_context
i_selcrit_vals = i_selcrit_values
i_destinations = lt_destinations
i_format
= lv_format
IMPORTING
e_status_flags = lt_status
e_obj_def
= lt_object_def
e_messages
= lt_message.
Importing Parameter
[Type text]
I_SELCRIT_VALS
rsparams Table
I_DESTINATIONS
I_FORMAT
E_STATUS_FLAGS
E_OBJ_DEF
E_MESSAGES
I_SELCRIT_VALS
rsparams Table
I_FORMAT
E_RESULTS
E_CONSOLIDATED
E_STATUS_FLAGS
E_CONS_RESULT
E_MESSAGES
I_POWLR_CONTEXT
I_CHANGED
Action changed
I_FORMAT
E_STATUS_FLAGS
E_MESSAGES
E_PORTAL_ACTIONS
To implemented the remote POWl action , call the 'POWLR_HANDLE_ACTION' with parameter as
you call the other function previously.
CALL FUNCTION 'POWLR_HANDLE_ACTION'
DESTINATION lv_destinations
EXPORTING
i_act_context
= lv_act_context
i_powlr_context = lv_context
i_changed
= lv_changed_str
IMPORTING
e_status_flags = ls_status
e_messages
= e_messages
CHANGING
c_objects
= lv_objects_str
c_selected
= c_selected
c_action_defs
= c_action_defs.
Now you have to set the value at the exporting parameter of the feeder class handle action method.
[Type text]
7.
In the Package POWL_REMOTE , there is a Utility class to facilitate user in conversation of Data
Type, XML & RTTI etc. Here is the few details of the Utility Class.
Method
CONSTRUCTOR
[Type text]
Description
CONSTRUCTOR
Serialize the XML String From the DATA, [mainly use in reference to
send data from host system to remote system and vice versa ]
DESERIALIZE_XML
SERIALIZE_RTTI2XML
DESERIALIZE_XML2RTTI
SERIALIZE_DATA2JSON
SERIALIZE_RTTI2XSD
SERIALIZE_DATA2XML
GET_DESC_REC
GET_REFERENCE_REC
DESERIALZIE_XML2DATA
CREATE_XMLDOC
RENDER_XMLDOC
BUILD_JSON
NORMALIZE_SEL_CRITERIA
UPDATE_ACTION_DEFINITION
IS_COMPATIBLE
GET_ADDITIONAL_PARAMS
SET_ADDITIONAL_PARAMS
[Type text]