By Jeffrey Mcdaniel-Oracle on Aug 30, 2013
Indicator UDF's are not supported in P6 Analytics. The main reason being there isn't currently a way to move those same indicator images over into OBI, and the images that are used for indicators in P6 don't exist in OBI. There are some workarounds that can be used to achieve using UDF indicators in a way that based on the UDF indicator from P6 and image can be displayed in OBI.
There are two main pieces to this. First, the STAR data warehouse side. Second, how to have OBI display an indicator based on a text value. In this blog posting we'll look into the data warehouse side. In a later blog we'll look at the OBI side.
select * from udfvalue where projectobjectid = 4518;
You will get a result set back that shows UDFTEXT as BLUE, which is the text for the Blue Star icon. It will give subject area type and type of UDF - FT_STATICTYPE.
In the P6 Reporting Database these UDF's are not available in the configuration utility because they are not supported. But UDF's can be added directly to the staretl.properties file in the \res folder. This file is used for populating all dynamic code and UDF values on the OBI side. In this example this is the entry I added into my 6th position.
After you have added to the .properties file you will want to execute runSubstitution.cmd or .sh in the \etl\common folder. Running this will populate this new UDF row you just added through the .properties file into the other necessary files. Next step is to get the tables to populate this value. We are going to treat it like a text UDF . The only goal from the data warehouse side is to get it acting like a text UDF so a conditional statement can be added in OBI where if text = 'Blue Star' then display a certain icon.
update w_udfvalue_ds set DATATYPE = 'FT_TEXT'
where DATATYPE = 'FT_STATICTYPE' and SUBJECTAREA = 'PROJECT';
Save this file. (If all works out for you with your UDF's as indicators go back and add this same file as a template in \etl\oracle\templates\udf_load and save file as .tsql. This will save you from having to make edits to this script each time the config is run. Running config overwrites files in the \scripts directory.)