cancel
Showing results for 
Search instead for 
Did you mean: 

call a external vendor catalog - OCI In ECC using web dynpro

Former Member
0 Kudos

Hello Everyone,

We have a requirement to call a OCI External Catalog in ME51n Transaction in ECC, that is working fine.

Now we need to create a Web dynpro ABAP Application which performs the Task of ME51n Transaction along with OCI Integration.

So far i have create a small Web dynpro ABAP application to check does OCI Catalog can be integrated in ECC using web dynpro ABAP.

My Screen Consit of a single Button UI, on click of the button i am calling the External Catalog, from the catalog i select all the materials and click on submit finally we need to bring all the selected materials to get displayed ina table.

Half of the Development is done i.e i am able to call the catalog but not able to receive the selected materials.

following are the details-

1. I check in SRM first how the Ctalogs are been called, i found 2 Services responsible for the same in SICF transaction -

Inbound HLDR and Outbound HLDR which uses handler class as SAPSRM_CL_CH_WD_INBOUND_HDLR and SAPSRM_CL_CH_WD_OUTBOUND_HDL, so i copied the same classes into ECC and created the same SICF Service.

Contn. in next post

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

thanks for your posts, i resolved above issue

Former Member
0 Kudos

Hi,

could you explain how did you resolve the problem? I have the same issue.

Thank in advance,

Joseph

Former Member
0 Kudos

Hi Akash Rana,

Ialso have exactly the same problem.

Could you explain how did you resolve the problem?

Thank in advance,

Remco

bartlomiej_lach
Participant
0 Kudos

Hi,

did you get any feedback from Akash? May be you found other solution by your own?

Regards

Bartlomiej Lach

Former Member
0 Kudos

2.In my Web Dynpro ABAP application i have a Inbound plug in my window in the handler method of the inbound plug i fill a table lt_parameters of TYPE tihttpnvp, it has 2 columns name and value

In this table i fill following entries-

Name-CATALOG_URL

Value-https://XXXXXXXX.com/invoke/BVProcess.SAPOCI/processCatalogRequest

Name-USERNAME

Value-XXXXXXXX

Name-PASSWORD

Value-XXXXXXXX

NAME = 'HOOK_URL'.

VALUE = 'http:/XXXXX.hostederp.local:8000/sap/ZOTC_CAT/Zinbound_hdlr'."?TARGET_URL= {Appdress of the WDA Apllication}

NAME = 'OCI_VERSION'.

VALUE = '4.0'.

NAME = 'OPI_VERSION'.

VALUE = '1.0'.

NAME = 'returntarget'.

VALUE = _top

also in this inbound plug handler method i fill a lv_url variable of type string with-

lv_url = 'http://XXXXXX.hostederp.local:8000/sap/ZOTC_CAT/Zoutbound_hdlr?sap-client=100&sap-language=E'.

3. finally from the handler method of the inbound plug i call a Suspend plug p[assing the above two variables i.e

lt_parameters and lv_url.

wd_this->fire_zw_suspend_plg( url = lv_url i_parameter_tab = lt_parameters ).

4. Using above i cam able to call the catalog and select the materials.

5. Now if i Finally clcik on submit on the catalog it should return the materials to the WDA Application.

For WDA Application to accept the Materials i have created a resume plug in which i am using -

wdr_task=>server->request->get_form_fields( CHANGING fields = lt_fields ). to get all the selected materials into lt_fields.

6. But unfortunately i am unable to receive the selected materials in lt_fields.

I think i am missing something in Hook URL or some other parameter.

Please help, ur comments and suggestions are welcome.

Regards,

Akash Rana

Former Member
0 Kudos

Do anyone know the solution

Former Member
0 Kudos

Do anyone know the solution..

jason_boggans
Active Contributor
0 Kudos

Hi,

In SRM we do not assign a HOOK_URL, the application defines this at runtime on return based on the parameters which were avaialble in the call structure. Maybe check the function WSI_IMPORT_DATA for hints on how the data is arranged.

Regards,

Jason

former_member206388
Contributor
0 Kudos

Hi Rana.

Let me understand your question.

You are creating a custom application(like ME51N) and from this application you are trying to call a catalog and get the results back to it. In general you are calling a Application-A from Application-B and the transfer of data between the two applications is not performing correctly.

First can you check if the catalog is returning you the material details when you transfer from the catalog. you can check this through HTTP Watch. (assuming the vendor catalog returns data in the OCI format)

If it is returning correctly, then you have to check your inbound call how it is getting missing?

Regards

Bala

Former Member
0 Kudos

Thanks for your answers,

I resolved the above issue