Question

IFS - Backbone modules - Conditional compilation

  • 2 February 2022
  • 2 replies
  • 159 views

Userlevel 6
Badge +12

Hi,
we are facing with lot of errors with Conditional compilation when using 

$IF Component_Fisnot_SYS.INSTALLED $THEN
NULL;
$END

Programmers are forgetting to create ELSE branch very often and because is not possible to test it easily (remove that module to test if it works), problems firstly occurs on customer side.

 

Is there some list of “must have” modules in every installation?

eg. there is always FNDBAS, ENTERP, … 

Because for them is unnecessary doing checks.

And it means less errors.


This topic has been closed for comments

2 replies

Userlevel 5
Badge +13

Hi @InfFilipV 

Is there some list of “must have” modules in every installation?

Yes there are mandatory  Framework components eg : FNDBAS, FNDADM, FNDCOB , etc… apart from that you can check for STATIC dependencies in deploy.ini file. The component marked with static are kind of mandatory to have for that particular module and no need to check  whether they exist.

 

Programmers are forgetting to create ELSE branch very often and because is not possible to test it easily (remove that module to test if it works), problems firstly occurs on customer side.

And there is a good news for your concern, we have newly introduced feature in the Developer studio tool to check $ELSIF and $ELSE parts of conditional statements at development time, so you will be able to get early feedback before they cause any build time issues.

Test Conditional Compilation" context menu item lets you compile the $ELSIF and $ELSE blocks, which otherwise would not be compiled during the usual deployment. You will find this context menu item by right-clicking in the editor of plsql/plsvc/views files.
 
This feature is available from the stable version 21.82.842400.20211119 and above

 

Thanks Harshini

Userlevel 6
Badge +12

Hi @hamalk ,

thanks for response.

I'm very glad to hear about this DS feature.

 

Yeah, I know how deploy.ini works.
But our programmers common mistakes are:

  • missing $ELSE
  • invalid $ELSE
  • not editing deploy.ini to add DYNAMIC dependency

And we are facing problems with GET modules - of some reason SD while building deliver fetch deploy.ini from Archive of Core and not from GET.
It must be related to this question: Right CIFX format | IFS Community
Only working solution for this is add deploy.ini to harvest - but it is not good solution for applying Bugs and Updates.
So we adding deploy.ini from GET to ManualInsertFiles folder before every delivery, but sometimes we mistakenly replace also deploy.ini from harvest, where new dynamic modules are registered.

Most of this added dynamic dependencies are nonsense, for example: INVOIC, PAYLED, ENTERP

All our customers have these modules, so will be easier to do not use Conditional Compilation for them to avoid mistakes.

So I want to create rule, that will said where is real need of Conditional Compilation and where it is overhead.

I analysed deploy.ini files to find backbone, but it was not helpful - I didn’t found any backbone.