Info |
---|
This option is only available since 4.6.0.3 patch. |
When you perform Populate populate operation from SCM, files are organized in various types-based path, file extension etc. You can customize this behavior behaviour by updating project properties in many cases . You can customize this further by using Groovy script in SCRIPT property of FD_MATCH_SCRIPT_OVERRIDES_EBS.and further customizations can be done by using groovy script a.k.a Match Script override.
Info |
---|
If your FlexDeploy version is 5.2.0.1 or lower, please see Customize file type detection, screens explained in this document were added as part of 5.2.0.2. |
Match script override is done for specific project type. For example, you can customize how FlexDeploy determines type for EBS project files as shown below.
Access object type details screen by using Menu option - Customize - File Types.
...
Search for specific Project Type, in this case EBS. Click on project type name in Project Type column.
...
Update Match Script (groovy), then click Save.
...
Here is an example of matching files from /install/sql as Concurrent Program SQL and /install/bin as Script with Execution.
Code Block | ||||||
---|---|---|---|---|---|---|
| set define off;
INSERT INTO FF.DB_PROPERTIES ( DB_PROPERTIES_ID, DB_PROPERTIES_NAME, DB_PROPERTIES_KEY, SEQUENCE_NUMBER, DESCRIPTION, IS_ACTIVE, IS_REQUIRED, IS_ENCRYPTED, DATA_TYPE, VALIDATION_SCRIPT, VALIDATION_MESSAGE, MIN_VALUE, MAX_VALUE, DISPLAY_ROWS, DISPLAY_COLUMNS, LIST_DATA, CREATED_ON, CREATED_BY, UPDATED_ON, UPDATED_BY, VERSION_NUMBER ) VALUES ( 1000000000000010, 'FD_MATCH_SCRIPT_OVERRIDES_EBS', 'SCRIPT', 0, 'Overriding match script', 'Y', 'Y', 'N', 'String', null, null, null, null, 1, 1, null, sysdate, user, sysdate, user, 1 );
INSERT INTO FF.DB_PROPERTIES_DATA ( DB_PROPERTIES_DATA_ID, DB_PROPERTIES_ID, SEQUENCE_NUMBER, DB_PROPERTIES_VALUE, DESCRIPTION, IS_ACTIVE, CREATED_ON, CREATED_BY, UPDATED_ON, UPDATED_BY, VERSION_NUMBER ) VALUES ( 1000000000000010, 1000000000000010, 0, 'dummy', '', 'Y', sysdate, user, sysdate, user, 1 );
BEGIN
update FF.DB_PROPERTIES_DATA set DB_PROPERTIES_VALUE = '
| |||||
if (!binding.variables.containsKey(''FDEBS_APPLICATION_SHORT_NAME'')) { throw new Exception(''Application Short Name not found. Please Configure FDEBS_APPLICATION_SHORT_NAME property''); } FILE_CONTENT_NEEDED=Boolean.TRUE; CP_SQL_DIR=''install/sql''; if (FILE_PATH_PREFIX.contains(CP_SQL_DIR) && FILE_EXTENSION.toUpperCase().equals(''SQL'')) { return ''CP_SQL''; } SCRIPT_DIR=''install/bin''; if (FILE_PATH_PREFIX.contains(SCRIPT_DIR)) { return ''SCRIPT_EXECUTION''; } return null; ' where DB_PROPERTIES_DATA_ID = (SELECT DB_PROPERTIES_ID FROM FF.DB_PROPERTIES WHERE DB_PROPERTIES_NAME='FD_MATCH_SCRIPT_OVERRIDES_EBS' AND DB_PROPERTIES_KEY='SCRIPT') AND SEQUENCE_NUMBER = 0; END; / commit; |
...
Now let's talk about how you write such groovy script. You have access to various details about file and project properties. You can make decision based on available variables about file, then return appropriate Object Type Code, or you can return null in which case FlexDeploy will make determination based on default logic as documented in EBS Object Types Reference.
Match Script Variables
Variable Name | Example using /path1/path2/APXSOBLX_1.rtf |
---|---|
| /path1/path2/APXSOBLX_1.rtf |
| APXSOBLX_1 |
| /path1/path2 |
| rtf |
| path2 |
| <content of file as array of Strings> (one element per line) |
Project Properties - Code for each property can be used in script | |
| 122703 |
| XXHR |
| / FlexDeploy / EBS |
Return FILE_CONTENT_NEEDED as Boolean.TRUE if file content is necessary to derive attribute defaults or return Boolean.FALSE.
Also, return one of the following object
...
types when you can derive type, otherwise return null and FlexDeploy will determine object type in the usual manner.]
EBS Object Type Codes
Code to be Returned | For Type |
---|---|
| Oracle Application Framework (OAF) JAVA Workflow XMLs Oracle Application Framework (OAF) MDS Concurrent Program SQLs Java Stored Procedures DB Objects (SQLs) XML Definition Files (XDF) SQL*Loader Java Loader Text (JLT) Application Object Library (AOL) Forms Reports Workflow Definitions Libraries Publisher Files Program Files Font Files Scripts Perl Modules Media Files HTML (Web) Files Other Files Web ADI Data Fixes Functional Setups Script With Execution Ignore the file completely |