Question & Answer
Extended FAP is a methodology of configuring Controller's Financial Analytics Publisher feature, to give it more features and functionality.
- In other words, it is a set of guidelines, suggestions and sample configurations which are repeatable for different customer's needs. These suggested configurations can then be customised to match the customer's exact needs.
Specifically, it creates a TM1 cube that is more easily reported from than the 'standard FAP' TM1 cube (that is created by a default Controller FAP publish).
Q: Is Extended FAP a separate product?
No. Extended FAP is merely a standardised method of customising the TM1 cube publish, so that this cube is much easier for users to analyse the Controller data.
- In other words, it is a 'best practice' method (invented by a range of experts such as IBM and non-IBM/Partner consultants) of converting a FAP cube into a different form, to make it customised for the customer's exact needs.
Q: What is the architecture of Extended FAP?
Both the 'standard' and 'extended' FAP architecture is visible below:
- Green = standard FAP
- Pink = extended FAP
- This publishes data from the Controller application repository database source (labelled 'IBM Cognos Controller Relational Database' above) into a TM1 instance (target). The TM1 instance hosts the 'standard' FAP cube(s) (labelled 1, 2, 3 above).
- TIP: For more details, see knowledge center article 'FAP cubes'.
Q: How does Extended FAP work?
Extended FAP relies on the fact that 'standard' FAP provides several 'script place holders' which cause the FAP Service to look for Turbo Integrator (TI) scripts (on the TM1 server).
- If these TI scripts follow a certain naming convention (see below) it will execute them.
Place Holder names/descriptions:
|ccr_ip_before_[a-zAZ0-9]||Before initial publish.|
|ccr_ip_middle_[ a-zAZ0-9]||In the middle of initial publish (after dimensions/structures, before data).|
|ccr_ip_after_[a-zAZ0-9]||After initial publish.|
|ccr_pc_before_[a-zAZ0-9]||Before publish children |
- Step 1 for slowly moving dimensions (move dimensions to TM1 for data trickle to work)
|ccr_pc_after_[a-zAZ0-9]||After publish children.|
|ccr_us_before_[a-zAZ0-9]||Before update structures |
- Step 2 for slowly moving dimensions (re-generate the TM1 dimensions).
|ccr_us_after_[a-zAZ0-9]||After update structures.|
|ccr_dt_before_[a-zAZ0-9]||Before data trickle.|
|ccr_dt_after_[a-zAZ0-9]||After data trickle.|
Several scripts can be executed at each step. They are then run in alphanumeric order, for example, A1 runs before A2.
Although this document is not intended to cover possible TI scripts, two examples are provided below.
EXAMPLE #1: The following script would add an "All"node to the company hierarchy.
While (j <= Dimsiz('Company'));
Element = DIMNM('Company', j);
If (DTYPE('Company', Element) @= 'C');
# All should not be included into itself.
If (Element @<> 'All');
# Consolidation types should not be included. They are always
of size 2.
If (Long(Element) <> 2);
# Consolidation type + period should not be included. They
are always of size 2+1+7=10.
If (Long(Element) <> 10);
DimensionElementComponentAdd('Company', 'All', Element,
j = j + 1;
EXAMPLE #2: This example describes how an attribute can be added to the Company dimension, with just the code from Controller.
# Add one extra attribute: 'Company Code' containing
the controller code,
# except QAR companies, which gets their prefix.
AttrInsert('Company', 'Local Currency', 'Company Code', 'S');
i = 1;
While (i <= Dimsiz('Company'));
Element = DIMNM('Company', i);
If (DTYPE('Company', Element) @= 'C');
# Consolidated nodes
CodeLength = Long(Element);
If (CodeLength > 10);
CodeName = SUBST(Element, 12, CodeLength - 10);
AttrPutS(CodeName , 'Company', Element, 'Company Code');
# Copy attributes from leaf to consolidated node.
EN_longName = ATTRS('Company', CodeName, 'EN_long');
AttrPutS(EN_longName, 'Company', Element, 'EN_long');
EN_shortName = ATTRS('Company', CodeName, 'EN_short');
AttrPutS(EN_shortName, 'Company', Element, 'EN_short');
SV_longName = ATTRS('Company', CodeName, 'SV_long');
AttrPutS(SV_longName, 'Company', Element, 'SV_long');
SV_shortName = ATTRS('Company', CodeName, 'SV_short');
AttrPutS(SV_shortName, 'Company', Element, 'SV_short');
ElseIf (DTYPE('Company', Element) @<> 'C');
AttrPutS(Element, 'Company', Element, 'Company Code');
i = i + 1;
Q: What is the best practice to extract data from the FAP cubes, so that we can create advanced FAP-related customisations?
Consultancy is offered by some IBM Services and selected third-party (non-IBM) business partners, which will give customers their own customised Extended FAP (xFAP) solution.
- Typically, xFAP produces a separate (dedicated / virtual) reporting cube (within a TM1 instance) which (initially) is a copy of the original FAP generated cube.
- After producing this new cube (copy), customers can customise this cube, and then report from it.
Please contact your IBM account manager who can put you in touch with a suitable IBM Services or IBM business partner (to implement this for you).
Q: Does Extended FAP create new TM1 cube(s), or does it simply modify the existing 'standard' FAP cube?
It depends. Extended FAP is customisable, so it can do either (or both) as necessary.
However, for many customer situations, it is often best to:
- Leave the original FAP cube untouched (unmodified). No reporting is done from this cube.
- Configure Extended FAP to create a new cube (with its source data the original FAP cube). This extended FAP cube is the one that will be customised/modified and reported from.
Q: Is it supported to develop our own cubes in the Controller TM1 instance and access them through TM1 Web or Perspectives?
The TM1 license (that comes bundled with Controller) allows customers to only build TM1 cubes that are based entirely on Controller data.
- If your intention is to build TM1 cubes that contain data from other (non-Controller) sources, then you would need to purchase a separate TM1 license.
Q. Who supports Extended FAP?
IBM Support will offer assistance (installation and troubleshooting) for the 'standard' FAP publish (which runs alongside the Extended FAP).
- Your Extended FAP cube development is only officially supported via the relevant services engagement (for example the consultant from IBM Services or an IBM business partner)
- If a customer raises an IBM Support case, where they need to troubleshoot issues with FAP, then IBM Support may ask the customer to regenerate a completely standard FAP instance (to see if the same issues occur). In other words, IBM Support may ask the customer to show/test that the issue is not being caused by the links to Extended FAP.
In other words, 'Extended FAP' is an advanced/customised implementation (custom model) which is not directly supported by IBM Support.
- These advanced customisation may only be properly understood by the implementation consultant, therefore IBM Support may ask the customer to receive support from the consultant directly (if the problem is directly related to Extended FAP).
In other words:
- For installation and troubleshooting, the Controller IBM Support team supports the 'standard' FAP portion (which typically runs with Extended FAP alongside it).
- Should you need to troubleshoot issues with Extended FAP, IBM Support may ask you to regenerate a completely standard FAP instance to see if the same issues occur with that (to show that issue are not being caused by the links to Extended FAP).
- Your Extended FAP cube development will need to be supported via your implementation consultant (IBM Services and/or business partner).
Q: Can we develop custom TI (Turbo Integrator) processes to extract FAP data to flat files?
From a licensing point of view, yes it is OK for customers to create a straightforward export.
- However, if you encounter issues then IBM Support reserve the right to ask customers to demonstrate the same issue in a standard ('vanilla') FAP cube (with no added TI processes).
- In other words, if you encounter issues that only occur when you are using your custom TI scripts, then IBM Support will refer you to your implementation partner/consultant for assistance in understanding why your scripts fail.
Q: Where is the official FAP Documentation?
The official FAP help documentation can be accessed by either:
(a) Press F1 (or click "Help") inside the FAP client:
(b) Read the PDF Document "ctrl_fap_ug.pdf"
- This can be found inside the server installation folder, by default here: C:\Program Files\IBM\cognos\ccr_64\webcontent\documentation\en
TIP: Some of the most useful sections include:
- "How IBM Cognos Controller data is transformed into a reporting format"
- "FAP extension points"
Q: Does IBM directly support customers who alter their FAP instance (Standard FAP and/or Extended FAP) security method from the default (IntegratedSecurityMode=1, in other words 'native')?
Yes, IBM does support this. For example, customers may use "Securitymode=5"
- This causes TM1/FAP to integrate with the same Cognos security that is used with Controller
- In other words, then same CAM users will be available to both Controller and TM1.
Was this topic helpful?
11 August 2020