Call a external vendor catalog - OCI In ECC using web dynpro
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
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
Similar Messages
-
Call a external vendor catalog - OCI
Hi,
I want to call a external vendor catalog (OCI) from webdynpro-ABAP application. Can some one help me on how to achieve this ?
I am not using SRM. I need to pass the value to ERP system.
We can call the Catalog into Web Dynpro Screen Using CHIP with passing parameters like URL name, But we cannot get the selected materials from the catalog.
Can some one help me on how to achieve this ?
Thank & Regards,
Akash Rana>
Akash Rana wrote:
> Hi Thomas,
>
> For a very quick and effective response, as u r aware of this issue, could u also please let me know What are other ways i can fulfill this requirement.
>
> Thanks
>
> Akash
I've already listed my suggestions. I'm not sure what exactly you are looking for with this follow up question. -
Field mapping of external vendor catalog
Hi Experts,
Any one has any idea how we map our shopping cart field to external vendor catalog. Please advise.
Regards,
KamalHi,
SC has standard fields to store catalog item information.
BBP_PDIGP-CATALOGID Technical Key of a Web Service (for Example - a Catalog)
BBP_PDIGP-CATALOGITEM Catalog Item (Unique Key)
Regards,
Masa -
Create OCI catalog for SRM using Web Dynpro
Hi all,
Have you ever implemented an OCI catalog for SRM using web-dynpro?
Please provide details.
Regards,
PooYeeHi PooYee,
the BSP application would run the WD catalog and communicate with SRM.
In a certain way it would "wrap" the WD catalog application and enable accessing the http header.
This of course is not a trivial implementation.
Send me a mail and maybe I can give you some more ideas.
regards, Ulli -
Call transaction VA01 or VA03 and skip first screen using Web dynpro
Hello Experts,
I am calling the standard transactions using Web dynpro via ITS.
I am able to reach to the initial screen of the standard transactions say VA03 and populate the sales order number through Web dynpro.
My requirement is to skip the first screen of the transaction.
I tried passing the screen number in the URL link but still it is showing the initial screen.
Please suggest me solution for this.
Thanks and Regards,
Rahul SinhaHello Rahul,
Did you follow the ITS Wiki article?
https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=22375
Edgar -
Using Web Dynpro authentication for a Web Service call
Hi all,
I want to develop a Web Dynpro that calls a Web Service running on the same Web AS (7.0). The Web Dynpro will be integrated in a Portal. The web service that has to be called is automatically generated when we create a guided procedure :
http://help.sap.com/saphelp_nw2004s/helpdata/en/44/44c59fd7c72e84e10000000a155369/frameset.htm
In my Web Dynpro, I imported the WSDL of this WS and created a model.
The first time I tried to call the WS in my Web Dynpro I got an authentication error :
Service call exception; nested exception is: com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (401) Unauthorized. The requested URL was:"http://<myHostName>:50100/GPRuntimeFacadeWS/GPProcessExposing?style=document&pid=CA544E9B629A11DB91480017A48D672A&pver=0.5"
So I hard-coded an HTTP authentication :
model._setUser("myWASuser");
model._setPassword("myPassword");
And the Web Service call now works.
Now the next step is that the WS call is made by the user that runs the Web Dynpro. So I found this documentation :
http://help.sap.com/saphelp_nw04/helpdata/en/59/e8e95d1eba48dfa86ae91ad8816f5d/frameset.htm
It would resolve my authentication problem, AND the transport issue : at the moment the Web Service URL is stored in the Logical Port of the WD model, and at transport time, a rebuild of the WD project will be needed.
So I applied what is said in the doc : from the point of view of the Web Service consumer, I just had to add :
model._setHTTPDestinationName("STARTGP");
(where STARTGP is the name of the destination I created in the Visual Administrator with a "Logon Ticket" authentication.)
before the execute(), and I removed my hardcoded authentication.
Unfortunately, nothing changes... I still get a 401 authentication error.
Does anyone have an idea about this ? Or maybe a workaround ?
Thanks in advance for any suggestion.
Regards,
JulienHello Julien,
I have a scenario similar to yours. A client webdynpro application accessing a EJB methods exposed as web service. Those EJB's methods calls R3 RFC's. The client requirements' was to allow SSO through all the layers (Webdynpro -> EJB WS -> RFC). The Webdynpro and EJB's are deployed on the same WAS.
Solution:
1 - Create a RFC Destination on Visual Administration provide the R3 connection parameters and set the Authentication for "Current User (Logon Ticket)". Save your Destination;
2 - In your EJB Project open your Web Service Configuration, on the Security page, set:
Authentication Mechanism: HTTP Authentication
Basic (username/password)
Use SAP Logon Ticket
3 - In your EJB, implement the following code to create JCO Client for the RFC invocations:
Object obj = ctx.lookup(DestinationService.JNDI_KEY);
DestinationService dstService = (DestinationService) obj;
RFCDestination dst = (RFCDestination) dstService.getDestination("RFC", "<YOUR_RFC_DESTINATION_NAME>");
Properties jcoProperties = dst.getJCoProperties();
JCO.Client jcoClient = JCO.createClient(jcoProperties);
4 - In your EAR Project, open your "application-j2ee-engine.xml" and add the References:
"tc/sec/destinations/service" as Service
"tc/sec/destinations/interface" as Interface.
5 - Create your EAR File and Deploy;
6 - Check if the web service now requires Authentication: go to http://<host>:<port>/index.html and click on Web Services Navigator. Test your Web Service. Your Web Service should requiere you to log in before execute the test;
7 - Go back to your Visual Administrator and create a HTTP Destination. Provide your WS URL (should be something like "http://<host>:<port>/<WS_NAME>/Config1?style=document"). Choose Authentication: Logon Ticket. Save your Destination;
8 - Go to your webdynpro project, import your WS Model. (If you have already created it, you have to delete it and import it again, refer to this blog on how to reimport WS Models: /people/bertram.ganz/blog/2005/10/10/how-to-reimport-web-service-models-in-web-dynpro-for-java How To Reimport Web Service Models in Web Dynpro for Java );
9 - Open your model's Logical Ports node, go to the Security tab, and choose "Use SAP Logon Ticket";
10 - In your webdynpro code, before you call the ws invocation (should be something like that: <YOUR_NODE_DEFINITION>.modelObject().execute();), include the following line:
<YOUR_NODE_DEFINITION>.modelObject()._setHTTPDestinationName("<YOUR_HTTP_DESTINATION_NAME>");
11 - Save All Metadata and deploy your Webdynpro App. Test your results.
I hope it helps you, as the documentation on how to implement this scenario is scattered through the SDN and all the SAP help portal.
Best regards,
Paulo. -
Settings required for external vendor catalog
Hi Experts,
Please advise if i have external vedor catlog and want to use it for shopping carts. What config settings i need to do for it.
Regards,
KamalHi,
You must define your catlog here in EBP
SRM server- > master data-> Define external web services .
You must give inbound parameters for the vendor catalog to access from ebp.
As well as this catalog definitions must be defined in CAT attribute in PPOMA_BBP.
Also please refere the OCI config document for further setting.
Cheers!!
NMK -
Calling URL when click on buttons using web dynpro - ABAP
Hi All,
I am new to web dynpro application development and i am facing issue when i try to test my application.
simple require when i click on button i should direct the to one of url say 'http://www.google.co.in/' my application is activate with no error but when i test the application i am getting below error , can someone please provide me the solution or way out.
The URL http://ides47:8062/sap/bc/webdynpro/sap/zwa_calling_url/ was not called due to an error.
Note
The following error text was processed in the system N6Q : Access via 'NULL' object reference not possible.
The error occurred on the application server IDES47_N6Q_62 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
Method: IF_WDR_CONTEXT_MENU_HANDLER~CONTEXT_MENU_CALLED of program CL_WDR_INTERNAL_WINDOW_ADAPTERCP
Method: IF_WDR_CONTEXT_MENU_HANDLER~CONTEXT_MENU_CALLED of program CL_WDR_INTERNAL_WINDOW_ADAPTERCP
Method: IF_WDR_ADAPTER_EVENT_HANDLER~HANDLE_EVENT of program CL_WDR_CONTEXT_MENU_HANDLER===CP
Method: IF_WDR_CLIENT~GET_CLIENT_UPDATES of program CL_WDR_CLIENT_SSR=============CP
Method: EXECUTE of program CL_WDR_MAIN_TASK==============CP
Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
Method: EXECUTE_REQUEST_FROM_MEMORY of program CL_HTTP_SERVER================CP
Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
Module: %_HTTP_START of program SAPMHTTP
HTTP 500 - Internal Server Error
Thanks,
ParabHi ,
It seesms something you are missing. It would be easy for us if you could paste your code which you have written in the Action of Button.
Sample code for your reference :
METHOD onactionget_url .
data lo_window_manager type ref to if_wd_window_manager.
data lo_api_component type ref to if_wd_component.
data lo_window type ref to if_wd_window.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
CALL METHOD lo_window_manager->CREATE_EXTERNAL_WINDOW
EXPORTING
URL = 'http://www.google.co.in/'
MODAL = ABAP_FALSE
HAS_MENUBAR = ABAP_TRUE
IS_RESIZABLE = ABAP_TRUE
HAS_SCROLLBARS = ABAP_TRUE
HAS_STATUSBAR = ABAP_TRUE
HAS_TOOLBAR = ABAP_TRUE
HAS_LOCATION = ABAP_TRUE
RECEIVING
WINDOW = lo_window.lo_window->open( ).
ENDMETHOD. -
External debugging of ABAP from NWDS in web dynpro java
Hello Experts,
Like a while a ago, I remember on SDN there was a video for external debugging tutorial. Can any one point me to that or any other documentation for doing external debug from NWDS.
Thanks,
SharathHI James!!!
You can find a video presentation for external debugging of WD JAVA application at:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/library/elearning/user-interface-technology/web%20dynpro/wd%20java/web%20dynpro%20java%20with%20an%20adaptive%20rfc%20model/web%20dynpro%20java%20with%20an%20adaptive%20rfc%20model%3a%20debugging/resources/eventplayer.htm
I hope this would help you. If you seek something else, you can revert back. I'll be happy to help you
Cheers!!!
Umang -
Forcing the opendoc call to open in the same page when using web elements
Hi,
I'm using the WE Submit web element to send an opendoc call to BOE, I'm calling the same report and re-running with new search criteria.
Is there a way to force the report to open in the same viewer as opposed to opening a new window?
Thanks in advance,
Angela.hello Angela,
i assume that you're using a WETargetPath function along with the submit. normally the submit function should then open the report in the same window.
for example, if your report has an ID of 12134, then the following code should open the same report in the same window
stringvar path:= WETargetPath ("rpt", "ID", "12134", "");
WESubmit ("S1", "Button", "GO", path, '')
you can also use the last parameter in the WETargetPath to specify a location...using "Same" will force opening in the same window, while "New" will force a new window.
stringvar path:= WETargetPath ("rpt", "ID", "12134", "weWindow=Same");
WESubmit ("S1", "Button", "GO", path, '')
If you've downloaded the latest version of webelements from [here|http://www.sdn.sap.com/irj/boc/webelements] there's a "submit methods" report in the download that you can publish and have a look at the various options.
cheers,
jamie -
Export to Excel Problem external DC using Web Dynpro binary cache
Hallo,
I want to export from Web Dynpro to Excel. For this I study the Tutorial "Excel Export Using the Web Dynpro Binary Cache".
The example is running without a problem.
I have create a new DC only for excel export. The name is ExcelExportWD. In this DC I create a Component and programmed the methods of the example. Also I create the View and the Context for it.
This DC is used in other DCs. I put the Component to the public part. After than I make the entry in the used DCs in that DC which I want to use the Excel export. I use the DC ExcelExportWD in the DC ContactsWD.
The ContactsWD is running without a problem.
If I try now to export to Excel I got the following error.
<b>com.sap.tc.webdynpro.services.sal.api.WDDispatcherException: Requested deployable object 'mgi.de/portalscmContactsWD' and application 'ResultGetContacts.xls' are not deployed on the server. Please check the used URL.</b>
In the View of the ExcelExport the name of file is not visible in the URL of the ExcelFileName. The name "ResultGetContacts.xls" is the name of the node which I want to export.
What is wrong? I have try to set a Sharing reference in the ContactWD without success.
An idea ?
Regards
GunterHallo,
I want to export from Web Dynpro to Excel. For this I study the Tutorial "Excel Export Using the Web Dynpro Binary Cache".
The example is running without a problem.
I have create a new DC only for excel export. The name is ExcelExportWD. In this DC I create a Component and programmed the methods of the example. Also I create the View and the Context for it.
This DC is used in other DCs. I put the Component to the public part. After than I make the entry in the used DCs in that DC which I want to use the Excel export. I use the DC ExcelExportWD in the DC ContactsWD.
The ContactsWD is running without a problem.
If I try now to export to Excel I got the following error.
<b>com.sap.tc.webdynpro.services.sal.api.WDDispatcherException: Requested deployable object 'mgi.de/portalscmContactsWD' and application 'ResultGetContacts.xls' are not deployed on the server. Please check the used URL.</b>
In the View of the ExcelExport the name of file is not visible in the URL of the ExcelFileName. The name "ResultGetContacts.xls" is the name of the node which I want to export.
What is wrong? I have try to set a Sharing reference in the ContactWD without success.
An idea ?
Regards
Gunter -
View ui layout in sap ecc for web dynpro applications is not loading
hi experts,
I have an issue while creating a view in WDA.
I can see the View pane with buttons & properties, but when i'm trying to insert an element, error occurs.
Is it the prolem with IE (my IE version is 7.0.5730.13 ) or GUI or something else ?
Can you please help me out to solve this issue.
regards,
prabhanjan
Edited by: prabhanjangeevanagari on Oct 3, 2011 9:39 AMThose are all script errors, also check for the hosts entry for the server details that you are working on. Check with the basis team, before that in Drivers\etc\hosts file you should have an entry for this server that you are working on.
-
Dump in ECC std web dynpro prog execution
Hi All,
On executing webdynpro application SALV_WD_TEST_TABLE_SIMPLE in transaction SE80 (or any other dynpro program ), SAP will start browser and ask for login. On login, it should display program output but we get RABAX_STATE error. It also displays message that if error is of type RABAX_STATE then find more details in transaction ST22. ST22 displays additional details on this dump.
Will appreciate your quick response.
Prashant.Hi Ram,
Where i can find profile parameter file............now i am getting an exception CX_FQDN
METHOD check.
DATA: lv_host TYPE string,
lv_port TYPE string. "#EC NEEDED
lv_host = request->get_header_field( name = 'host' ).
IF lv_host NA '.' OR lv_host CO '0123456789.:'.
IF NOT lv_host CS 'localhost'.
SPLIT lv_host AT ':' INTO lv_host lv_port.
RAISE EXCEPTION TYPE cx_fqdn
EXPORTING host = lv_host
domain = '.<domain>.<ext>'. "#EC NOTEXT recommend security group
ENDIF.
ENDIF.
ENDMETHOD. -
Defining Vendor Num Ranges in ECC and BP Num Ranges in SRM
Dear Experts,
System information ECC 6.0, SRM 5.0
Wanted to know if I need to define any additional BP Number ranges in SRM to cover the External Vendor Numbers coming from ECC.
This is the ECC Vendor Number Ranges:
No From No To Number Ext
01 0100000000 0199999999
XX 1AAAAAAAA 1ZZZZZZZZ YES
Z1 0000001000 0000009999 YES
Z2 01TAX0000 09TAX9999 YES
Z3 A ZZZZZZZZZZ YES
Z4 0000010000 0099999999 YES
This is the corresponding BP number ranges in SRM:
No From No To No Ext
01 3000000000 3999999999
AB 1000000000 1999999999 yes
MD 9000000000 9999999999 yes.
Do I need to define a ext number range in SRM for the alpahumeric vendor ranges defined in ECC(XX, Z2, Z3) or will that be covered in the AB range in SRM ?
Points will be rewarded for answers.
Thanks in advance.
Best regards,
Bob.This can be closed. Lalit
Edited by: Lalit Sharma on Dec 17, 2010 8:55 AM -
Calling Remote-Enabled JAVA Module from Web Dynpro Java
Anyone have a clue how I can call a Remote-Enabled JAVA Module in ECC from a Web Dynpro Java app? I'm on Portal 7.0. When I try and create an Adaptive RFC model in NWDS and put in the Function Module name (CFG_API_FIND_KNOWLEDGEBASES) or its Function group, that RFC is not returned for me to import. Can I not use this method to get at this function?
(I CAN call this function module and run it from the old SAP Business Connector software. That, however, does not help me get it into my Web Dynpro app.)If anyone stumbles upon this thread, the long and short answer is you can't call a Remote-Enabled JAVA module in SAP from Web Dynpro Java.....using Adaptive RFC.
You can, however, if you create your own session and function call directly in Java code and give up on being able to use Adaptive RFC.
Maybe you are looking for
-
How do I move a list item to the left?
I need help formatting graphic banners inside a list. What I'm doing: Updating a very old pre-CSS site with messy, messy code. The layout is done by tables within tables within tables (three layers of nested tables.) In the innermost table, the right
-
I recently purchased Adobe Photoshop Elements 11 an downloaded it, but it will not open. I receive a message that states that I need to 'uninstall' and then to 'reinstall'. How do I do this and where is the software available again to reinstall? Th
-
Redownloaded this software into my new machine with Windows 7 and it just hangs up when trying to convert Word Docs, Emails via webmail and web pages to PDF. I select it from the printers dropdown menu but it just hangs up.
-
Photos not showing up right! Please help!
I imported some photos into iPhoto, and when I put them over a clip and hit play in iMovie, you can see the video playing underneath (where the two black bars are above and below like on widescreen). I don't know what to do!
-
MRP planning Purchase REQ per fixed lot size
Folks, I have materials which have MRP type PD with fixed lot size of 20 pieces. Safety stock = 200 pieces. MRP run results in 10 preqs of 20 pieces each. I would like to have 1 Preq of 200 pieces. How can this be achieved? Regards, MdZ