cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with NWBC Side Panel & New Tab

Former Member
0 Kudos

Hi Experts,

As mentioned in my earlier thread I am new to NWBC (4.0 for Desktop ), and with help of few experts, i am now able to do basic configure for side panel and also able to open a new tab using class CL_NWBC. But i have few issues with in both areas;

Issues with the side Panel;

1)

It opens along with my transactions. i.e. if i add a side panel as url along with IW33, when i open the tcode in NWBC4.0, i can see the webpage (e.g. www.scn.sap.com). Is there any possibility,  when I fill a Order number (e.g. 3480188), then only the side panel (webpage) will come with that Order number appended (i.e. www.scn.sap.com/thread/3480138).

2)

If this functionality is not available with side panel, i am ok with the side initial side panel as www.scn.sap.com and once user fill the Order and press enter the side panel will get change to www.scn.sap.com/thread/3480138.

3)

Another area i want to explore about is, Can we launch a side panel, on click of a custom button of IW33.

Issues with the New Tab;

1)

As mentioned above, i am able to open a new tab using the CL_NWBC class methods in my Enhancement of IW39, which i really a great help, but, there is no limit of opening new Tabs. I need to restrict the user, that if he click on the same button again (while the url tab is already open), thwy will get diverted to the same tab, instead of opening the new one, or some kind of a message which says the url is already open.

Is this possible ?

Regards,

Manish

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI All,

Just to update you and close the thread here.

I have tried the context data viewer which was really helpful to understand the data flow, but it didnt work for me to achieve what i wanted to. The problem was, when i was passing the data to a field (iw32), in the data context it was displaying with the updated values, but not on the webpage i was passing it to. It is really hard to use the dynamic coding (from source code of data context) and implement own logic. one should be good in javascript and html for it.

So i have used the WDR_CHIP_PAGE (page builder concept) and it was very easy to achieve it.

I can see the updated order number in my webpage, that too when i press the enter on the order number.

Thanks to all the experts for your help.

Regards,

MT

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Manish / Damean,

Above posts are really helpful for my task

Just one issue is that instead of SCN thread i want to integrate BSP application into the side panel which is context sensitive.

Once I enter the order ID i have to retrieve the information in the side panel using BSP. I have already created a BSP but unable to move ahead.

Can anyone help me out??? I'm new to BSP as well as NWBC!!!

Former Member
0 Kudos

Hi Supriya,

I hope you are aware of how to get the data using context data viewer in side panel as explained in earlier posts.

If you right click on it, you can see the HTML source code of the side panel content data viewer and you can use that code to create ur own BSP page. If you are good in HTML  & Javascript it will be easy for you. I think, the below link by John Moy will be helpful to you.

Regards,

Manish T

Former Member
0 Kudos

Hi Damean,

Following your suggestion, i tried to create a simple BSP application and linked it a side panel. I am able to launch the static webpage eg. with the script code as

function launchurl(){

   var NWBC_CTX = (typeof(window.external) != "undefined") && (typeof(window.external.DataContext) != "undefined") ? window.external.DataContext : null;

   if (NWBC_CTX != null && typeof(NWBC_CTX) != "undefined")

   {

     var appType = NWBC_CTX.read("type", "SHELL_currentApp", null);

     var appCode = NWBC_CTX.read("transaction", "SHELL_currentApp", null);

if (appType = "TR") {

       appCode = "3483849";

     }

     window.location.href="http://scn.sap.com/thread/" + appCode;

   }

But i don't know how to get the valu in appCode variable dynamically (eg: equipment number, when i pass it in the IE02 tcode) in NWBC

I have activated the Data Context View and appdata DataView both, but i am not getting the details. in my side panel it looks like below whether i am on initial screen of IE02 or on the second screen or in any tab. I tried to press different button but nothing worked for me.

Can you help me with that so that i can read the Shell/Canvas value dynamically which i am passing to the IE02 Screen or the Order Screen.

Also, i am not sure, when i open the transaction IE02, the URL get launch immediately, but the requirement is to launch the URL when user passes the Equipment number in the field.

Any Inputs for that ?

Regards,

Manish T

Damean
Active Contributor
0 Kudos

Manish

   The easier way is to used the Tagging framework to identify the field of interest. Once the Tag is set, this value will be captured within table NWBC_VS_GUI_TAG.  You could then dynamically refer to them during runtime to extract its content via the BADI IF_WD_TAGGING_SERVICE

   For further details, see below:

http://help.sap.com/erp2005_ehp_06/helpdata/en/b6/30d7604f1349878f6b929e54996cde/content.htm?framese...

HTH ...

Former Member
0 Kudos

Sorry, its but confusing to me.

I was in the impression, that I can simply find the fields in the context data view, which i can use in my BSP application directly, to pass on the field information (in my case IW32  - Order Number) something like;

     window.location.href="http://scn.sap.com/thread/" + field;


And when i open the IW32 in NWBC desktop client, on the side panel i will have the home page of the weblink

Once i pass on a Order Number in the IW32 transaction It should display side panel with the webpage with the information related to the order in that webpage by passing it in its parameter using above method.


As you said, i can use the  NWBC_VS_GUI_TAG, is there any way i can get those tag values in my BSP page to append the order number in the url ?


I am wondering, do i really need to implement a BADI/ Enhancement, to display the side panel with values after entering the order number in IW32, or it will be automatic with the action.


Reagrds,

MT

Damean
Active Contributor
0 Kudos

Manish

In response to your question ( Issues with the side Panel #1 Append sales order) ... If I understand correctly, you basically want to copy a value from the main NWBC canvas (e.g. Sales Order#), and then pass it as parameter to the sidepanel for a generating a new string (e.g. www.scn.sap.com/thread/ && [Sales Order#]) that could be used as a web addressing.

  If so, take a look at the content below (2nd half) created by John Moy. It does have a rough sketch of how this could be done via the use SAP's BSP. Of course, he's pulling a Tcode so as to access the content.  It should be just a minor tweak to reference to the sales order instead.

http://scn.sap.com/community/netweaver-business-client/blog/2013/09/13/context-sensitive-help-in-nwb...

Former Member
0 Kudos

Thanks, Damean,

Seems, it will work for me, i will try it today.

Any input on my 2nd query for new tab?

Regards,

Manish

Damean
Active Contributor
0 Kudos

The 1st & 2nd query is actually related. The key thing for the 2nd query is that there need to be a way to do a data refresh so that system could re-read the screen variable.

After user enter the data, they just have have to click on the Refreshicon; my believe is that the whole initialization procedure will be restarted; so that will be all.


If you really, really want to get rid of that extra click, then you probably have to trigger a refresh event.  For a sample code of how this could be achieved. I would refer you to the Side Panel app "Data Context Viewer".  Just hold the CTRL key and use your mouse open the Help menu, and choose Start of the navigation path Tools Next navigation step Side Panel Next navigation step Data Context Viewer End of the navigation path. Then choose View Source from the context menu.

HTH ...