on 10-07-2004 2:45 AM
Hi All,
I'm having a problem which I hope someone can help me with.
OVERVIEW
I've developed a BW Web template with (among other things) a TEXTELEMENTS Web Item and a TABLE Web Item. I've enhanced the context menu so that when a user selects a row within the TABLE, they can start a SEM-BPS Web interface (which displays a manual planning layout). I've used the 'How to call a BPS Web Interface with Predefined Selections' document to get the basic mechanism working. The JavaScript function I've written successfully passes the variable (DFCOST_PL) value to the planning layout.
THE PROBLEM
The problem is twofold....
1. I need to pass the value for a variable (FEPCVERS) to the layout. However I do not know how to make reference to the variable in JavaScript. The variable is available within the TEXTELEMENTS_1 object but how do I address it?
2. On a similar vein, I need to pass the value for a field within the table row to the planning layout. The TABLE_2 object contains the fields (DFCOST_PL and DFGROUPS). When the user selects a line the value for DFCOST_PL is available to the JavaScript function (ZAJT_JS_Maintain_Rules) in the 'parameter1' field. However, how do I make the DFGROUPS field available?
Below is the HTML code for my Web Template. Any help would be greatly appreciated.....
<!-- BW data source object tags -->
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="SET_DATA_PROVIDER">
<param name="NAME" value="DATAPROVIDER_2">
<param name="QUERY" value="ZAJT3_COST_BASE_BY_COST_POOL">
<param name="INFOCUBE" value="Z_FEPC_CB">
DATA_PROVIDER: DATAPROVIDER_2
</object>
<!--BW HTML data source object tags: -->
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="SET_PROPERTIES">
<param name="TEMPLATE_ID" value="ZAJT_RULES_ENTRY">
<param name="VARIABLE_SCREEN" value="X">
<param name="CMENU_LABEL_1" value="ZAJT Maintain Rules">
<param name="CMENU_FUNCTION_1" value="ZAJT_JS_Maintain_Rules">
<param name="CMENU_PARAMETER_1" value="1">
<param name="CMENU_CELL_TYPE_1" value="CHARACTERISTIC_VALUE">
<param name="CMENU_FILTER_1" value="DFCOST_PL">
<param name="CMENU_VISIBILITY_1" value="X">
<param name="CMENU_POSITION_1" value="TOP">
TEMPLATE PROPERTIES
</object>
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="SET_DATA_PROVIDER">
<param name="NAME" value="DATAPROVIDER_1">
<param name="QUERY" value="ZAJT3_COST_BASE_BY_PC_NODE">
<param name="INFOCUBE" value="Z_FEPC_CB">
DATA_PROVIDER: DATAPROVIDER_1
</object>
<html>
<head>
<title>BW Web Application</title>
<link href= "/sap/bw/mime/BEx/StyleSheets/BWReports.css" type=text/css rel=stylesheet>
</head>
<!--ZAJT Test code start -->
<SCRIPT language="JavaScript">
function ZAJT_JS_Maintain_Rules(parameter,cell_type,filter,parameter1,parameter2,item,dataprovider,x,y)
{
var url;
var cpool=parameter1;
switch (parameter)
{
case "1":
url="http://dknborisdev.dcb.defence.gov.au:3280/sap/bc/bsp/sap/zbps_var_set/zbps_var_set.htm?area=ZFERULES&bps-appl=ZAJT_RULES3&var1=ZWEBCP&value1_1=" + cpool;
SAPBWOpenWindow(url ,"MaintainRules" ,600,400);
break;
}
}
</SCRIPT>
<!--ZAJT Test code end -->
<body>
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="TEXTELEMENTS_1">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_TEXT_ELEMENTS">
<param name="DATA_PROVIDER" value="DATAPROVIDER_1">
<param name="CLOSED" value="X">
<param name="SHOW_COMMON_ELEMENTS" value="">
<param name="SHOW_FILTERS" value="">
<param name="ELEMENT_TYPE_1" value="VARIABLE_K">
<param name="ELEMENT_NAME_1" value="FEPCVERS">
<param name="ELEMENT_TYPE_2" value="VARIABLE_K">
<param name="ELEMENT_NAME_2" value="DF_GRP">
<param name="ELEMENT_TYPE_3" value="VARIABLE_K">
<param name="ELEMENT_NAME_3" value="ZCSTCNTR">
ITEM: TEXTELEMENTS_1
</object>
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="NAVIGATIONBLOCK_2">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_NAV_BLOCK">
<param name="DATA_PROVIDER" value="DATAPROVIDER_2">
<param name="CLOSED" value="X">
<param name="TARGET_DATA_PROVIDER_1" value="DATAPROVIDER_1">
<param name="TARGET_DATA_PROVIDER_2" value="DATAPROVIDER_2">
ITEM: NAVIGATIONBLOCK_2
</object>
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="PC_HIERARCHY">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_HIERDD">
<param name="DATA_PROVIDER" value="DATAPROVIDER_1">
<param name="CLOSED" value="X">
<param name="CAPTION" value="Profit Centre Hierarchy">
<param name="BORDER_STYLE" value="BORDER">
<param name="IOBJNM" value="0PROFIT_CTR">
<param name="HIERARCHY_NAME" value="PROFIT_CTR_ZFEPCBP05">
<param name="TARGET_DATA_PROVIDER_1" value="DATAPROVIDER_2">
<param name="TARGET_DATA_PROVIDER_2" value="DATAPROVIDER_1">
ITEM: PC_HIERARCHY
</object>
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="TABLE_1">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID">
<param name="DATA_PROVIDER" value="DATAPROVIDER_1">
<param name="TARGET_DATA_PROVIDER_1" value="DATAPROVIDER_1">
<param name="TARGET_DATA_PROVIDER_2" value="DATAPROVIDER_2">
ITEM: TABLE_1
</object>
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="TABLE_2">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID">
<param name="DATA_PROVIDER" value="DATAPROVIDER_2">
ITEM: TABLE_2
</object>
</body>
</html>
Hi,
answer to first question:
change the HTML for textelements to
<span style="display:none;visibility:hidden" id="FEPCVERS_value">
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="TEXTELEMENTS_1">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_TEXT_ELEMENTS">
<param name="DATA_PROVIDER" value="DATAPROVIDER_1">
<param name="GENERATE_CAPTIONS" value=""/>
<param name="ONLY_VALUE" value="X"/>
<param name="SHOW_COMMON_ELEMENTS" value="">
<param name="SHOW_FILTERS" value="">
<param name="ELEMENT_TYPE_1" value="VARIABLE_K">
<param name="ELEMENT_NAME_1" value="FEPCVERS">
ITEM: TEXTELEMENTS_1
</object>
</span>
Now you can use document.getElementById('FEPCVERS_value').innerHTML .
For the second problem this is not quite so easy. Here (when using < BW 3.5) you need to use the table interface to solve this problem.
Heike
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Heike,
Thanks for your response. The example you gave me works nicely. I've tried to use the same concept on a FILTER object, but it does not seem to work. I declared the object as below:
</span>
<span style="display:none;visibility:hidden" id="0PROFIT_CTR_value">
<object>
<param name="OWNER" value="SAP_BW">
<param name="CMD" value="GET_ITEM">
<param name="NAME" value="FILTER_1">
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER">
<param name="DATA_PROVIDER" value="DATAPROVIDER_1">
<param name="HIDDEN" value="X">
<param name="GENERATE_CAPTION" value="">
<param name="PRESENTATION" value="KEY">
<param name="ITEM_FILTER_IOBJNM_1" value="0PROFIT_CTR">
<param name="PRESENTATION_1" value="KEY">
<param name="ONLY_VALUES" value="X">
ITEM: FILTER_1
</object>
</span>
and then use
document.getElementById('0PROFIT_CTR_value').innerHTML.
However, the value returned is blank. Is there a different method required for filters?
Also, you mentioned that to access the second variable I will need to use the table interface. Is this difficult to do? I'm booked on the NET050 (Developing Web Applications) course, but it's not until late November. Do you think that this course would cover this kind of processing?
Hi Adrian,
question 1): You are not allowed to set the hidden=X flag, as hidden means the web item will not be processed
remove the hidden parameter or set it to blank
2) NET050 will not cover BW specific issues, as NET050 deals general with Web concepts (BSP,...)
As for using the Table Interface there are some HowTos in SAPNet
Heike
Hi Heike,
Again, thank you for your response. The filter object is now working.
I've reviewed the online documentation on the Table Interface and also found a how-to ("how to hide a column in your web query with the table interface")document, but do not understand how I would approach my problem (being able to access the values for all columns when the user selects a row). Are there any SAP courses available that would specifically address this kind of functionality? If not, is there any documentation you would recommend?
Thanks in advance,
Adrian
Hi,
I don't know of a specific course which will cover this topic in detail.
When you can program in ABAP-OO I would recommend to study the online documentation carefully.
http://help.sap.com/saphelp_nw04/helpdata/en/a2/06a83a4bd5a27ae10000000a11402f/frameset.htm
For your specific problem, I would recommend the service-Method GET_CELL_INFO
http://help.sap.com/saphelp_nw04/helpdata/en/96/42393c3eb3036be10000000a11402f/frameset.htm
The table e_t_cell_restrictions should have all relevant data.
Call this method within the method characteristic_cells.
Heike
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.