cancel
Showing results for 
Search instead for 
Did you mean: 

Punch-out catalog does not open in SRM 7.13

laurent_burtaire
Active Contributor
0 Kudos

Hello,

we upgraded a SRM system from 5.0 to 7.13

Before the upgrade, there was no problem with punch-out catalog: web service call structure data is OK for OCI 4.

We use NWBC and the EP, so portal-independent navigation is activated.

Now, when trying to add catalog item, we have below error:

I though it could be an ICF service not activated, but i did not found any for catalog...

I already check OSS note 1398165 - HTTP Get with FPM navigation but it is for SRM 7.0...

Nevertheless, as i did not find appplication "Launch catalog" in LPD_CUST transaction, i created it. but there is no effect...

Does anyone have an idea on what could be the problem?

Otherwise, i noticed in /SAPSRM/IF_CH_WD_NAVI_SERV~LAUNCH_CATALOG method from /SAPSRM/CL_CH_WD_NAVI_SERV class that client environment is determined at row 206 as '2' (Portal) instead of '4' (NWBC).

Do not know if it linked...

Thank you for your help !

Regards.

Laurent.

Accepted Solutions (1)

Accepted Solutions (1)

laurent_burtaire
Active Contributor
0 Kudos

Hello all,

thank you for your contributions !

I found two problems with /SAPSRM/IF_CH_WD_NAVI_SERV~LAUNCH_CATALOG method from /SAPSRM/CL_CH_WD_NAVI_SERV class.

First, with BYPASS_OUB_HANDLER parameter. If it is activated (so, not populated with 'X' inside web service call structure), URL to navigate to catalog is not correct: backbutton URL is used instead of catalog URL:

That's why i had an error (see scren-shot of my first message).

Nevertheless, even if i put in debug the correct URL value, Back button is not displayed in catag window...

Second, client environment is not correct (as previously written): Portal environment ('2') is determined by GET_CLIENT_ENVIRONMENT method from IF_WD_APPLICATION interface instead of NWBC ('4').

As i cannot debug this method, i do not know why i have an incorrect value.

So, for the moment, we deactivated both Inbound and Outbound handler: connection to punch-out is now possible.

We will raise an OSS message.

Regards.

Laurent.

robin_janke
Contributor
0 Kudos

Hi,

by checking our own NWBC environment I saw the following:

Line 206 returns also '2' in the NWBC case. No portal at all installed and used ever for this SRM installation.

The url (when using outbound handler) that is populated in line 825:

So check if the outbound_hdlr is active in SICF under sap/sapsrm.

Maybe also check with the developer tools in ie/firefox/chrome to see the different calls that are made.

Regards,

Robin

laurent_burtaire
Active Contributor
0 Kudos

Hello Robin,

ICF service sap/sapsrm was activated.

The problem for me is, when you activate Outbound Handler, ls_url_fields-url is populated with backbutton URL whereas for Outbound Handler deactivated, ls_url_fields-url is populated with catalog URL:

For me, this is the problem, as if i put CATALOG_URL (the one in table PARAMETER from ls_url_fields, but not escaped) in ls_url_fields-url, it works...

Regards.

laurent.

robin_janke
Contributor
0 Kudos

So if I understand you correctly, when the outbound handler is enabled, the url that is called is not the url to the outbound handler service (which then handles the call to the catalog url) - see my screenshot in my earlier post?

What is the call stack in IE? (F12 -> network -> start capturing, then call the catalog)

BR,

Robin

bharathi_ponnusamy
Active Participant
0 Kudos

Hi Laurent,

I am not sure whether the below suggestion will help where I had couple of issues regarding the catalog punch out. Can you try the below parameter in catalog web service ID and advise on whether it is helpful.

ModifyURL - False

Best Regards,

Bharathi

laurent_burtaire
Active Contributor
0 Kudos

Hello Robin,

there is a misunderstanding betwen us.

I noticed if lv_enable_outb_handler = abap_true, then ls_url_fields-url does not have the same URL.

Indeed, either ls_url_fields-url = lv_backbutton_hdlr_url (with outbound handler activated) or ls_url_fields-url = lv_catalog_url (with outbound handler deactivated), which is for me not logical.

That's why, i have my first screen-shot error when outbound handler is activated...

Regards.

Laurent.

laurent_burtaire
Active Contributor
0 Kudos

Hello Bharathi,

adding parameter you gave me does not solve my problem.

Regards.

Laurent.


robin_janke
Contributor
0 Kudos

Hi Laurent,

However it does make sense: with the outbound handler enabled you hand off the responsibility of opening the catalog to the outbound handler, which first creates the body of the back button (actually it is the link...) and then opens the catalog in the iframe inside of this page.

See class & method /SAPSRM/CL_CH_WD_OUTBOUND_HDLR ~IF_HTTP_EXTENSION~HANDLE_REQUEST:


* render the back to SRM function as a plain link
* provided by JavaScript function to be accessed as inline frame source

  render_back_link( EXPORTING io_request = lo_request CHANGING cv_html = lv_html ).

* alternatively render the back to SRM function as unified rendering HTML
* provided by JavaScript function to be accessed as inline frame source
*  render_back_button( exporting io_request = lo_request CHANGING cv_html = lv_html ).


* render the catalog redirection as invisible form with automatic submit

* provided by JavaScript function to be accessed as inline frame source

  render_catalog_redirection( EXPORTING io_request = lo_request CHANGING cv_html = lv_html ).

So that is why I asked you to check on the HTTP calls done - here you can find what service is called and which one returns the failed service call.

Regards,

Robin

laurent_burtaire
Active Contributor
0 Kudos

Hello Robin,

all seems to be OK in method IF_HTTP_EXTENSION~HANDLE_REQUEST from /SAPSRM/CL_CH_WD_OUTBOUND_HDLR class...

Call to method RENDER_BACK_LINK and RENDER_CATALOG_REDIRECTION is OK (no invalid URL);

Then, at the end of IF_HTTP_EXTENSION~HANDLE_REQUEST, the three methods to write the locally rendered HTML to the response are called (i cannot debug them) without exception.

But after, IF_ABAP_RUNTIME~GET_RUNTIME method (CL_ABAP_RUNTIME class) is called: at this moment i have my first screen-short error...

Regards.

Laurent.

laurent_burtaire
Active Contributor
0 Kudos

Hello,

we applied OSS notes:

0001637105 Button "Back to application SRM" is hidden

0002084743 sap-theme parameter causing issues when used with outbound_h

0002126588 Checkman Errors: Syntax check warning Prio2

0002149602 'Back to application' link does not respond

0002171135 Not able to launch the catalog from the SRM Shopping Cart.

but we still have the issue. We opened an OSS message.

Regards.

Laurent.

Former Member
0 Kudos

Hello Laurent,

Please follow the steps below:

1. This is a basic check. Try launching the catalog as a standalone, that is by directly launching the URL. Is it working?

2. Have you used usePortalNavigation as 'X' in the call structure? If so remove it as you are trying to launch in NWBC. For portal case maintain a separate call struture.

3. Bypass the Outbound handler and check.

4. Since the response from ICM is 403 -Forbidden please cehck in the console if you are getting X-Frame or Cross origin error messages.

    Please refer 1781171

Now if the issue persists, refer the below notes:

1378659 and 1353538

laurent_burtaire
Active Contributor
0 Kudos

Hello Sarath,

i already try to direclty launch in new browser the generated URL at line 825:

It does not work (HTTP 500 error).

This URL is as below:

If i try to launch concerned ICF service, i have same error (HTTP 500 error) :

As already written, when the outbound is deactivated, punch-out catalog can be opened.

Regards.

Laurent.

Former Member
0 Kudos

Hi Laurent,

I think I missed the last point u mentioned.

Anyway, since it is an HTP 500- internal server error, let us see if the service methods are reached during the call.

For the same, please put a breakpoint in the method /SAPSRM/CL_CH_WD_OUTBOUND_HDLR->IF_HTTP_EXTENSION~HANDLE_REQUEST and debug further. Then we can see where the failure occurs.


laurent_burtaire
Active Contributor
0 Kudos

Hello Sarath,

i give you again what i wrote to Robin in on of my previous messages:


Laurent Burtaire  wrote:

Hello Robin,

all seems to be OK in method IF_HTTP_EXTENSION~HANDLE_REQUEST from /SAPSRM/CL_CH_WD_OUTBOUND_HDLR class...

Call to method RENDER_BACK_LINK and RENDER_CATALOG_REDIRECTION is OK (no invalid URL);

Then, at the end of IF_HTTP_EXTENSION~HANDLE_REQUEST, the three methods to write the locally rendered HTML to the response are called (i cannot debug them) without exception.

But after, IF_ABAP_RUNTIME~GET_RUNTIME method (CL_ABAP_RUNTIME class) is called: at this moment i have my first screen-short error...

 

Regards.

 

 

Laurent.

Regards.

Laurent.

laurent_burtaire
Active Contributor
0 Kudos

Hello Sarath,

i found what was the problem...

In RENDER_FRAMESET_STATIC method from class /SAPSRM/CL_CH_WD_OUTBOUND_HDLR, there are two concatenations:

- one in "lv_back_frame_src",

- another in "lv_catalog_frame_src".

For both, ICF service ctlg_wrapper is used, so, it is mandatory to activate this service:

Now, my punch-out catalog with outbound handler activated is launched...

One last question.

For concatenations, '/sap/BC/BSP/sapsrm/ctlg_wrapper/back_frame_src.html?sap-client=' and

'/sap/BC/BSP/sapsrm/ctlg_wrapper/catalog_frame_src.html?sap-client=' are used.

Where can i find 'back_frame_src.html' and 'catalog_frame_src.html' ?

In ICF service "ctlg_wrapper", they do not exist.

Regards.

Laurent.

robin_janke
Contributor
0 Kudos

That can be found in SE80 -> BSP application and then /sapsrm/ctlg_wrapper

Regards,

Robin

laurent_burtaire
Active Contributor
0 Kudos

Thank Robin for the information.

Regards.

Laurent.

Answers (2)

Answers (2)

vinita_kasliwal
Active Contributor
0 Kudos

HI Laurent

Please check this link also you might need to have a look at trace to figure out ..

Maybe any of these notes

Note 1429685 - Empty importing parameter in BADI BBP_CAT_CALL_ENRICH

1405908 - Issues with 3rd Party catalog integration with SRM 7.0

Regards

Vinita

Matt_Fraser
Active Contributor
0 Kudos

Hi Laurent,

Ok, you have me worried, as you're pretty much the "go-to" resource for SRM, and if you can't figure it out...

Anyway, we're in the sandbox phase of an upgrade from 5.0 to 7.02 ourselves, and although I'm not the one working directly on the OCI catalog punchouts, I know that we've been encountering some issues. I just checked with my teammates to see if they're similar to what you're describing, and unfortunately they are not the same. Our issues are primarily with getting items back from the catalogs into the shopping cart, not with reaching the catalogs in the first place.

Still, I'll track this thread, as we may still be able to help each other at some point.

Cheers,

Matt

Former Member
0 Kudos

Hi,

Might be a crazy question, but have you made sure the item you are trying to pull has a product category that is mapped in your SRM system?

Also, the last time I have seen an error similar to this, we had a compatibility issue with the users on Windows 7 or 10. Might be worth investigating that route too.

Bests,

Niki

Matt_Fraser
Active Contributor
0 Kudos

Thanks, Niki,

We do have product categories set for each of the vendor catalogs, but I'll double-check with the functional analyst who manages that to ensure something didn't happen to this mapping in either the system copy (that created our sandbox) or the upgrade.

Cheers,

Matt