cancel
Showing results for 
Search instead for 
Did you mean: 

Standard ABAP Server Proxy-Re use?

Former Member
0 Kudos

Some of my questions are unanswered.Can you please

let me know your thoughts..

Any clues on how to copy the sap standard server proxy and re use it??

I am doing this because there is no sap standard xi content for below:

FileXISRM

SAP XI standard Xi content exists for SUS-XI-SRM.

Hi:

I have copied the sap standard server proxy "PurchaseOrderConfirmation_In" from the name space http://sap.com/xi/SRM/Procurement/Global to my own name space and created a Interface ZConfirm_in.

While creating the Interface(Inbound ABAP Server proxy) ZConfirm_in on SRM side I had given the prefix Z.

I have proxy Interface as:ZII_ZCONFIRM_IN

and Implementing class as ZCL_ZCONFIRM_IN

Inside the Implementing class ZCL_ZCONFIRM_IN,I copied the

standard sap fm as below.

method ZII_ZCONFIRM_IN~EXECUTE_ASYNCHRONOUS.

CALL FUNCTION 'BBP_SAPXML1_PCO_CREATE_IN'

EXPORTING

is_pco = input.

endmethod.

The sap standard proxy PurchaseOrderConfirmation_In uses the code as below in method

CALL FUNCTION 'BBP_SAPXML1_PCO_CREATE_IN'

EXPORTING

is_pco = input.

So I copied the above code in my above Z interface of my method .

Now the Z proxy is not working when I do the proxy--test interface with the payload .

The payload works for sap standard proxy and goes inside the call 'BBP_SAPXML1_PCO_CREATE_IN'

and so on and process the payload.

The payload is not working for z proxy,it goes inside the call 'BBP_SAPXML1_PCO_CREATE_IN'

and then to the method XI_PROCESS_CALL_APPLICATION and then to the error CATCH cx_root INTO l_error..

As per Jakub advice on sdn forum:

I also tried copying implementing class of sap CL_BBPX1_PO_CONFORMATION_IN to ZCL_ZCONFIRM_IN1

and used it in place of ZCL_ZCONFIRM_IN .

ZCL_ZCONFIRM_IN1 now uses the method II_BBPX1_PO_CONFIRMATION_IN~EXECUTE_ASYNCHRONOUS

When I tried to test now with the payload I get the below error

i think it is still referring to the interface ZII_ZCONFIRM_IN??

<CX_STATIC_CHECK />

- <CX_XMS_SYSTEM_ERROR>

<ID>DYNAMIC_CALL_ILLEGAL_METHOD</ID>

<P1>ZCL_ZCONFIRM_IN1</P1>

<P2>ZII_ZCONFIRM_IN~EXECUTE_ASYNCHRONOUS</P2>

<P3 />

Thanks in Advance..

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

My scenario is asynchronous.

SRM PO confirmation is using a proxy PurchaseOrderConfirmation_in.

I am using XI content for SRM and downloaded .tpz from SAP

and configured in XI for SRM-XI-SUS .All the sap standard content is working well and created SRM SWC in XI(sap standard)

1.Inside XI I am not able to add a custom name space for the SAP SRM SWC .This way I thought I can map the file to standard sap proxy,which is easier task.

2.Can I make use of the sap standard interface and all related

dependent objects from SRM SWC to my own custom SWC.

I need to do a message mapping from file to proxy(sap standard Poconfirnation_in).Will this work?

i got a naming conflict error message in XI saying "interface

belongs to a different name space.

Configuring Interfaces in ID use sap standard interface for inbound and custom interface for outbound file.

Any help is appreciated again...

Former Member
0 Kudos

Scenario:I am trying to re-use SAP Standard SRM proxy by copying from standard sap name space in XI and recreating

Z proxy in SRM .

File-XI-SRM.

Testing:only standalone SRM system

I am doing a SPROXY

Proxy-Test Interface-ZConfirm_in with the XML payload.

It fails for my custom and works fine for the sap sproxy

PurchaseOrderConfirmation_in on the SRM system.

on the SRM system Inbound ABAP server proxy Zconfirm_in has generated all the necessary generation ,structure and type mappings.

Zoncfirm_in Interface is created in XI and I can see the name space in SRM system to create a proxy interface inside SRM.

In the class interface ZCL_ZCONFIRM_IN inside the method

method ZII_ZCONFIRM_IN~EXECUTE_ASYNCHRONOUS.

      • **** INSERT IMPLEMENTATION HERE **** ***

CALL FUNCTION 'BBP_SAPXML1_PCO_CREATE_IN'

EXPORTING

is_pco = input.

endmethod.

The Call Function is not working. the code is not going inside the CALL FUNCTION 'BBP_SAPXML1_PCO_CREATE_IN'.

I do not have any clue..Can you please give a solution.

Former Member
0 Kudos

Kumar,

Couple of things here....

Would like to know if your scenario is an async scenario.

If yes anf you intend to use the same Server proxy. I suggest you need not copy the proxy class.

You could still use the same, just identify the corresponding inbound interface and message types in SAP SRM SERVER SWC and use the same in while creating the Interface and Message mappings respectively.

configure your interfaces in ID accordingly and I see no reason why it should not work for you.

Cheers!!

Sidharth

Former Member
0 Kudos

Dear sidharth,

I am doing ECC-PI-AUTOid (Idoc-Proxy) integration. I have created a custom product, swc in SLD.

I have downloaded the standard SWC content of AUTO-ID into ESR and also imported my custom component from SLD. I have data types, message types, service interfaces in standard AUTO-ID 7.1 SWC. Created AUTO-ID component as dependency for my custom component in SLD. Imported idoc into my custom component from ECC system.

Now i need to go for message mapping, operation mapping and configuration part.

I was struck up with ... objects under which SWC and Namespaces have to be selected while doing MM, OM and Configutaion.

Provide demo links if any.

Regards

Koti Reddy

Former Member
0 Kudos

Any clues on the thread...

Thanks in advance

Former Member
0 Kudos

Kumar:

Just want to give my perception of the problem. You have copied the standard proxy into Z and created a sproxy. So all the objects( Data types, message types, classes, variables) that are created will have their own naming convention with respect to Z object. When you try to copy the methods from the standard proxy, it will have its own variables and objects that conflict with the Z proxy objects.

When you try to copy the whole standard proxy Class to Z proxy Class, even then you will the object conflicts because the Z proxy class created from the ZConfirm_In will have its interfaces and classes different from the standard one PurchaseorderCOnfirm_In.

What you can do is, as per my view, as you have already created the Z proxy class, open the standard proxy class with its objects and try to correlate each variable, object, methods to the Z proxy class to its own Z objects by copying them(standard proxy objects) to Z proxy and changing the corresponding naming conflicts .

Just my 2 cents