on 02-17-2005 5:19 AM
Hi all
I have just taken over some support for BSP applications. Still teaching myself the BSP concepts etc.
The client currently has three BSP PCRs activated through the portal for managers. Two out of three work fine with the PCRs opening in new windows. However one of them gives me the following error:
<b>BSP Exception: the BSP URL / Does Not Contain Any Namespace Entries</b>
I can confirm the SICF services are all running and the URL is complete for this app. I tried looking the BSP forum for similar issues and followed the suggestions but in vain.
Any help will be appreciated.
Cheers
Ankit
The URL is definitely wrong. If you eyeball it hard and long, you should see obvious errors in it. Or post the URL so that we put it through the grinder.
What you should have is:
http://<host>.<domain>.<ext>:<port>/sap/bc/bsp/<ns>/<app>/page.htm?abc=123&klm=456&xyz=789
Things to check:
(1) FQDN: full host plus domain (not the problem here)
(2) valid port number if not 80 (not pro
(3) base part /sap/bc/bsp
(4) namespace. Usually /sap/
(5) name of application
(6) name of page
(7) URL parameters, first be one ? and then first sequence of name=value. All other name=value are separated by & characters. Within the part of the string there must be no additional ?, &, : or / characters.
1-3 are already fine, as you are reaching the server, and talking to BSP already. Shooting in the dark, I am placing my money on 7.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Brian
The PCR iView makes the following javascript call to a custom iView which then establishes the URL for the BSP:
javascript:PCRStartForm('/irj/servlet/prt/portal/prttheme/custstyle/prtroot/com.isr.bspredirect.ZPSD?SCENARIO_PARAMS=PERNR=00044342')
The custom iView then returns the following url:
Ex: http://server.com.au:8200/sap/bc/bsp/sap/z_isr_ZPPD/isr.do?SCENARIO=ZPPD&PERNR=00044342
As mentioned previously the above works for 2 out of 3 BSP applications.
Thanks
Ankit
Another update...I used an HTTP watch program to see the URL that the Portal is trying to get at to ensure that nothing superfluous is getting inserted somewhere along the line and it seems the correct URL is being generated and being accessed by the Portal.
However, something that I should point out is that there are two error pages that get generated. The first one is an HTTP 500 error page with a link to the next error page which points out that there is something wrong with the BSP Namespace. However the HTTP watch program gave me some further details re the first error page:
500 SAP Internal Server Error
Error message: Jump is too great and cannot be generated A control structure or routine with CHECK/EXIT contains too many ABAP statements. ( type of termination: RABAX_STATE )
Any thoughts on this will be appreciated. This definitely indicates something in the ABAP side of things is wrong so will ask my ABAP colleagues to help me out.
Thanks
After further investigation I seem to have found the problem. I checked the ABAP dumps for more information and it seems like I have struck a classic BSP problem.
The following ABAP dump: <b>GEN_BRANCHOFFSET_LIMIT_REACHED</b> got called which seems to be linked to the limitation of ABAP byte code.
Any thoughts on this??
Thanks
Ankit
Message was edited by: Ankit Chopra
In principle, the content of one BSP page plus all the includes are compiled into one method on an ABAP OO class. There are just limitations how large such a class can be. You will have to find some techniques to place some of your code in another place. Consider:
- Using MVC with multiple views
- Placing some code into a simple utility class and just calling it inline
- capturing some of you code into tags which will be called inline
In some special cases, I have found just large IF statements on a page, we restructuring of the code also helped to reduce jump blocks (only if HTMLB library is not used).
Another simple fix for this is:
To remove all HTMLB tags and replace it with equivalent simple HTML tags. HTML tags seem to be converted to HTML tags but with a lot of code, hence this code generated can be reduced if you use simple HTML instead. Ofoucrse for this you will need to know HTML. Start of by converting the simplest of pages with HTMLB and then test to see if you get the JUMP TOO LONG error and work your way from there...
Perhaps my explanation can be confirmed by the BSP gurus...but thats my deduction.
Hope this helps.
Cheers
Ankit
That approach could work under certain circumstances. The HTMLB tags do generate a lot of ABAP code. However I wouldn't necessarily recommend doing that. Going from the SAP BSP Extensions to all plain HTML and JavaScript would seem to be a huge effort and you would loose all the advantages that the BSP extensions provide.
It seems to me that the other approaches put forward (jump to another class or better yet use MVC) would be much easier to implement and you would be able to continue to use the BSP extensions.
Hi,
the only way to solute this was described by Brian.
Capture your code in smaller pices or put all logic into MVC - then you've got the hole flow logic in ABAP and just the output on bsp side...
Another way is to go back to plain HTML - but this means a lost of many advanced of HTMLB...
Regards Matthias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.