SAP ABAP Data Element PRX_PREFIX_DYNP (Proxy Generation: Prefix for Proxy Objects to Be Generated)
Hierarchy
SAP_BASIS (Software Component) SAP Basis Component
   BC-DWB-PRX (Application Component) Proxy Generation
     SAI_PROXY_GENTIME (Package) ES Tools: Proxy Generation
Basic Data
Data Element PRX_PREFIX_DYNP
Short Description Proxy Generation: Prefix for Proxy Objects to Be Generated  
Data Type
Category of Dictionary Type D   Domain
Type of Object Referenced     No Information
Domain / Name of Reference Type PRX_PREFIX_DYNP    
Data Type CHAR   Character String 
Length 20    
Decimal Places 0    
Output Length 20    
Value Table      
Further Characteristics
Search Help: Name    
Search Help: Parameters    
Parameter ID PRX_PREFIX  
Default Component name    
Change document    
No Input History    
Basic direction is set to LTR    
No BIDI Filtering    
Field Label
  Length  Field Label  
Short 10 Prefix 
Medium 15 Prefix 
Long 25 Prefix 
Heading 25 Prefix 
Documentation

Definition

A large number of objects are created during proxy generation. E.g.:

  • ABAP OO Interfaces (in the case of inbound interfaces)
  • ABAP OO Classes (for outbound interfaces)
  • ABAP OO Exception Classes (for fault messages)
  • Dictionary Data Elements (for scalar data type definitions)
  • Dictionary Structures (for messages and complex data type definitions)
  • Dictionary Table Types (for repeat groups, in other words, maxoccurs > 1).

To avoid naming conflicts with classes and DDIC objects that already exist, you must assign a prefix to the objects to be generated. This prefix must not begin with an 'X' and an underscore can only be used after the third character ("ABC_", for example).

You can also assign anR/3 namespace as a prefix (/CRM/, for example). In this case, you must ensure that the assigned development class is compatible with this namespace.

Use

Dependencies

Proxy objects using other proxies or proxies used by other proxies all have to belong to the same scope.

Depending on Generating Application we distinguish the following scopes:

Scope I: ESR+BACKENDMDR

  • Generating Application Enterprise Services Repository ESR
  • Generating Application Backend Metadata Repository MDR

Example:
In the Enterprise Services Builder, the interface "Int1" references the message "Msg1", which in turn references the type definition "Type1" (all in namespace N). Proxy generation uses these to generate the ABAP Objects interface "INT1", the dictionary structure "MSG1", and the dictionary structure "TYPE1".
If an interface "Int2" from the same namespace "N" uses the same message "Msg1", proxy generation only generates the ABAP Objects interface "INT2". The proxy types "MSG1" and "TYPE1" already exist for "Msg1" and "Type1", and so are reused.

It is also possible to have a reuse of ESR objects within MDR objects or vice versa.

Note:
For Generating Application ESR Proxy objects may only be referenced if the objects concerned originate from the same component, or if the object used is located in an underlying component.
If the objects are in namespaces from independent components the objects must not reference each other.
ESR Object responsibility often is organised per namespace, hence to prevent overwriting proxies from different responsibilities, proxy generation is restricted for one namespace per generation step. Thus, when having references from one namespace to another, first the proxies of the referred namespace have to be generated.

Scope II: WEBSERVICES

  • Generating Application WebServices

To allow creation of multiple external Consumer/Provider objects for the same portType (name/namespace),
the PACKAGE acts as additional key for Generating Application WEBSERVICES, except for the service providers themselves, see Scope III.
Hence when creating multiple WebService Consumer/Provider objects in the same package, using the same data types or message/fault messages, this will result in reuse of data type and message type proxies whereas creation in different packages will not result in reuse of message type or data type proxies.

Note:
This semantic has to be taken into consideration when package reassignments are planned.
It may result in inconsistencies for the old package if a proxy with all its included proxies is to be moved.

Scope III: External Namespace for Service Provider

All Service Providers, i.e.

  • Service Providers modeled in the ESR/MDR
  • Service Providers based on external WSDLs
  • Service Variants

share the same namespace. This is reached by separating the namespace for Service Variants and Providers based on external WSDLs with a reserved namespace prefix from the namespaces used by ESR/MDR Providers.

Example:
For Service Variants the namespace prefix is: urn:sap-com:sprx:sv:sap:

For Providers based on external WSDLs the namespace prefix is: urn:sap-com:sprx:ep:sap:

These prefixes are not allowed as namespace or namespace part for a MDR or ESR Inbound Interface. Hence name collisions are not possible.

However, it is possible that the interface "INT2" is assigned a different prefix (or R/3 namespace) to "MSG1" and "TYP1". Therefore, you must ensure that all the proxies of a namespace have the same unique prefix, if applicable.

History
Last changed by/on SAP  20130604 
SAP Release Created in 700