Skip to content

Default Rules

Rules can be set up for each migration job to control functions as file reading, error handling, file-backup and history logging, just to mention some. Rules can easily be activated or disabled. Data Migration is installed with a set of default rules, and each job you define can use these rules.

All rules are pre-defined by IFS and created during installation. You cannot enter new rules.

On insert of Migration Job Header, default rules will be inserted according to following principle:

  1. If Procedure Name of Migration Header correspond with Procedure Name of Migration DefaultRules, the rule will be inserted here.
  2. If Procedure Name in Migration DefaultRules equals '*' (any procedure except EXCEL_MIGRATION) Rule Flag is set 'Active', the rule will be inserted here.

default rules

A rule contains:

Rule ID                    : System defined identification of the rule.

Procedure Name      : A rule can be connected to specific procedures, or to all existing procedures (*) as shown in the Rule ID field description. Wildcards is used here to include a rule to several procedures.

Description               : Short description of what the rule do.

Rule Value               : This column is used to specify a default value for the rule. Rule Value is connected to the field Value Flag. I.e. if the Value Flag is set to Mandatory number, Rule Value may only include numeric values. The Rule Value will automatically be applied to new jobs (on INSERT of job header) if the Rule Flag is set to Active. Some rules should not have a rule value, and the Value Flag is then set to No value allowed.

Rule Flag                 : This flag specifies if the rule is active or not. Legal values are: Active, Inactive.
All rules that has the Rule Flag set to Active will automatically be applied to the jobs created in the Maintenance window.
It is recommended that the installed value 'Inactive' is kept for most of the rules, and that they instead are created and activated for each job as required.

Value Flag                : This flag specifies what values are allowed to use as a Rule Value for this rule. Legal values are: No value allowed, Mandatory string, Mandatory number, Mandatory date, Optional.

Rule descriptions:

Rule IDProcedure NameDescriptionComment
ADDOBJIDMIGRATE_SOURCE_DATA
REPLICATION
Create extra detail for OBJIDUsed with replication and source migration jobs. If your SELECT contains an OBJID, this will be used to mark error-records saved under Execute Job/ Details.
This will allow you to RESTART the Job, processing only records with errors.
No Rule Value needed.
BUILDTRIGGERIFREPLICATIONBuild IF-statement for updateable columnsThis rule is by default Active, and will build an IF-statement on the trigger, checking columns in UPDATE mode. At least one updateable column must have been changed to make the trigger fire.
CALLEXTPROCCREATE_OUTPUT_FILECall external procedure after each rowIn this rule, you may specify a procedure to be called, f.ex. Intface_Table_Migrations_API.Process_Table, This procedure has an attribute-string as input-parameter, and may be used to update rows that has been read from a IC-table f.ex.
For customizations, you may call any procedure that has Attr as in-parameter.
To build the attr-string to be used as input-parameter, use the column Ext_Attr in folder File Mapping in the Job Maintenance window.
 
CHKSERVERFILECREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
Execute job only if serverfile existsThis rule will check on the server, and if the serverfile does not exist, or is empty,  the job will not be started at all.
This can also be used in other procedures (e.g., MIGRATE_SOURCE_DATA) which are configured as Connected Jobs. To check the server file of another job, enter the relevant JOB_ID in the Rule Value field.
 
CHECKOPTIONMIGRATE_SOURCE_DATAPerform methods New and Modify with CHECK optionWith this option Active the New__ and Modify__ methods are invoked with CheckOption which means that the method will only validate data, not insert into or update the database.
No Rule Value needed.
CLEANUPCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
MIGRATE_SOURCE_DATA
REPLICATION
Cleanup job errors in start job details before or after each executionCleans up the detail tab in the 'Start Migration Job' even if the job have error lines.
If you activate this rule with rule-value AFTER, cleanup will be performed immediately after the job is finished. This is also default option if you leave the column Rule Value blank.
If you want the job to perform cleanup before the job starts, add rule-value BEFORE.
It is recommended always to keep the standard rule Inactive, and instead activate the rule on each job as needed.
It is also recommended to combine this rule with the rule  SAVEJOBDAYS.
COMMITSEQMIGRATE_SOURCE_DATANumber of rows between COMMITUsed with source migration jobs. If you process a large selection of data, you may want to perform COMMIT frequently. This will prevent a full restart in case of a job crash, and will put less strain on ROLLBACK segments and SORT areas.
CONNJOBMIGRATE_SOURCE_DATAStart this job firstIntended for fixed interface jobs that first loads data from server-file into a temporary table (by using procedure CREATE_TABLE_FROM_FILE) and secondly loads data into IFS by reading from this table, all executed on a regular basis in background.
You may activate this rule and enter the name of the file job in Rule Value; and this job will start first.
Checks will performed to make sure that there are no errors on job1 before job2 starts and vise versa, and that job1 cannot be started directly.
To simplify error-handling, job1 will not be started if job2 is re-started manually.
CREATEDETMIGRATE%
REPLICATION
EXCEL_MIGRATION
Create details from views in MethodListIf set to 'Active', new entries in the Method List will also generate new column details under the Maintenance/Source Mapping*.
The Rule Value is used as default value for column PrefixOption on insert in
Maintenance/ Method List. We keep the DB-value here:
1 - ViewName (default if no value is given)
2 - ViewNameUnique
3* - NoPrefix

CREINDEXCREATE_TABLE_FROM_FILE
Options for container table 
If this rule is activated, an index will be created after creation of the table.
Columns that are marked with Flag = 'P' or 'K' under folder 'FileMapping' will be used.
STORAGE-parameters for the CREATE INDEX statement may be maintained in Admin.exe/platform Administration/Configuration.
CRETABCONFCREATE_TABLE_FROM_FILEOptions for container tableMay be activated with following values:
KEEPALL - To enable multiple file-loads into same IC-table. For each execution data will be appended into the IC-table.

KEEPERR - To be used together with rule CONNJOB. If job2 has errors from a previous execution, these rows will be cleared, but the corresponding rows in the IC-table will not be removed before new file is loaded.


DEPLOYFILEFNDMIG_EXPORTOption for export-fileIf this rule is Inactive, the export-job will produce a traditional file that must be imported by aid of standard job FNDMIG_IMPORT.

If this rule is Active, the export-job will produce a PL/SQL script that should be deployed from Admin.exe (or SQL*PLus or PL/SQL Developer). This script will perform the same actions as if you imported a traditional file in job FNDMIG_IMPORT.

EVENTMESSCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
MIGRATE_SOURCE_DATA
REPLICATION
Notify Event Server when job is finishedIn Event Registry (Admin.exe), there is an event for LU IntfaceEvents named NOTIFY_FINISHED_JOB.
Among the server- code scripts you will find file IntfaceEvents.IMF that contains a default event action.This action may be imported with Admin.exe
EXITLINESINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
Stop reading after this line number in fileThis rule may be used for testing purposes, or when for some reason not all lines in file should be read. Set rule to active and enter how many lines you wish to read.
It is recommended to keep the standard rule Inactive, and activate the rule on each job as needed.
EXTTABLECREATE_TABLE_FROM_FILECreate External Table and insert directly into IC-tableUsed for filejobs where File Location = OnServer.
Instead of using Oracles UTL_FILE to read the file, FNDMIG will first create an External Table and then insert data into the IC-table. Oracles External Table is extremly fast compared to UTL_FILE.

The external table will be named IC_<Job ID>_EXT
FILEBKPCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
Make a backup of file after job has executedIf set to Active, a backup will be taken of the original file after the job has finished. The file will be named: <filename><seq.no>.bkp. If the backup file should be stored in a different directory than the original, use the Rule Value column to specify a path. NOTE: The original file will be truncated (on server) or deleted (on client) after the backup is done.
It is recommended to keep the standard rule Inactive, and activate the rule on each job as needed.
FILEHEADCREATE_OUTPUT_FILECreate fileheaderIf your output-file job writes a comma-separated file, a file-header containing column-names may be created by setting this rule 'Active'.
 
FILEMOVCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
Move file after successful completionThis rule will move the file to the path/directory that is specified in Rule Value (which is mandatory). Will keep same filename.
FILERENAMCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
Rename file after successful completionThe file will be renamed in same manner as with FILEBKP,
i.e. new filename will be <filename><seq.no>.bkp
Example: test_file.csv as test_file1001.bkp (where 1001 is an auto-generated sequence number).
To specify a move location, set the Rule Value as this format: <file_path>\<rename_file_name>.
File path can be defined as one of the following:
1. Absolute Path: C:\target_directory\<rename_file_name>
2. Database Directory Path: <database_directory_name>\<rename_file_name>
FILEDELCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
Delete file after successful completionThis rule will delete original file after successful completion.
IGNOREADERRORINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
FNDMIG_IMPORT
Continue fileread after errorIf set to Active, the reading from file will continue even if formatting errors occur during reading.
No Rule Value needed.
IGNOREXEERRORINSERT%
CREATE_TABLE_FROM_FILE
MIGRATE%
REPLICATION
Continue procedure on errorIf set to Active, the job will continue even if errors occur.
No Rule Value needed.

INSUPDINSERT_OR_UPDATEExecute either INSERT or UPDATEThis procedure performs UPDATE if record exists, otherwise INSERT will be performed.
If you want to perform UPDATE only, activate this rule and specify UPDATE in rule value.
Likewise, you may also specify INSERT in rule value. The procedure then will skip all existing records, and insert new ones only.
KEEPBLANKSINSERT%
CREATE_TABLE_FROM_FILE
Do NOT trim off leading or trailing blanks from input fileWhen reading files, leading or trailing spaces will always be trimmed off VARCHAR2-columns. If you want to keep the field 'as is' , activate this rule.
KEEPDYNAMPROCMIGRATE_SOURCE_DATADo not DROP proceduresIf you have defined other methods than standard New/Modify under folder MethodList, a dynamically created procedure will be stored in the database as the migration job starts. This procedure will automatically be removed (dropped) after execution, unless you set this rule Active.

Activate this rule for performance purposes, if the job is executed frequently, f.ex, and you will save the time it takes to recompile the stored procedure when the job starts for the second time and onwards.

You may preview the  procedure code from RMB-choice in the Maintenance/Method List window.
MAPDBCOLMIGRATE_SOURCE_DATA
REPLICATION
Remap IIDs client-default to DB-defaultData Migration becomes language-independent when client-values are added to Default Value in NEW/PEPARE for IID-columns To avoid this, you may activate this rule.
Now FNDMIG will rebuild the generated defaultvalues, move them to the DB-columns and update the Note Text column accordingly.
NOCLEANUPINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
FNDMIG_IMPORT
Keep Job details even if job is OKFor debug purpose. If you read client a client file, and the Migration Job terminates without errors, job details are normally removed.
If you activate this rule, the client file will be kept in Job Details with status OK. This may be handy if you are testing out a job with a large client file that takes long time to load.
NONULLVALMIGRATE_SOURCE_DATA
REPLICATION
Do not include selected items with null-value on attr-stringNormally, if you set up a Source Migration Job, all selected items will be put into the attr-string if there is a match on column name. This means that if a column is empty in the selection, but has a value in the database, then a Modify__ will erase this value.
In some cases we want to avoid this. By activating this rule, only columns with a value from the select will be passed on to the attr-string.
Now, if we still want to update single columns with null-value from the select, we can add the text 'NULLVALUE' to Default Value for these columns (in folder Source Mapping).
REMLOGCREATE_TABLE_FROM_FILERemove logfile if External Table was created OKUsed for jobs with rule EXTTAB=Active. When External Tables are created, a LOG-file will always be written to the server directory. This rule automatically deletes the logfile if the table is created without errors.

This rule is default Active. If you still want to see the logfile, disable this rule.
SAVEJOBDAYSCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
MIGRATE_SOURCE_DATA
REPLICATION
Number of days to save job historyIf you wish to save history of job executions. You can enter number of days in the Rule Value field.
It is recommended to keep the standard rule Inactive, and activate the rule on each job as needed.
SAVEJOBERRCREATE%
INSERT%
CHECK_BY_METHOD_NEW
FNDMIG%
MIGRATE_SOURCE_DATA
REPLICATION
Save only errors in history logNormally information from every execution is saved in the history log. E.g. replication jobs may generate a lot of history logs if history logging is active. Use this option to save only error information in the history log.
SERVFILOADINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
FNDMIG_IMPORT
Load server file before starting jobIf set to active, the server file will automatically be loaded into JobDetails before the job is started (and treated as a Client File)
No Rule Value needed.
SKIPLINESINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
Start reading after this line number in fileSome files comes with one or more lines of heading that should not be read. Set this rule to Active and specify the number of lines you want to skip.
It is recommended to keep the standard rule Inactive, and activate the rule on each job as needed.
SYNCDETAILSINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
Synchronize job details with columns in file-headerFor files with a column-separator, you may get an automatic mapping of the position of the columns in the file.
Only requirement is that the first line of the file must contain a file-header with column names.

If there is a mismatch between column names in file-header and columns in IFS, the column from the file will be treated as a dummy-column, and will not be loaded.

If you set Rule Value = MATCH you will get an error message if there is a mismatch in column names.

TRUNCVALINSERT%
CHECK_BY_METHOD_NEW
CREATE_TABLE_FROM_FILE
Truncate file values exceeding column lengthFor files with a column-separator, you will get an error if column lengths on the file exceeds column length in IFS.
If you activate this rule, values will automatically be truncated to specified length in IFS.
FETCHCONDITIONEXCEL_MIGRATIONSets if the Job can be used to fetch data. If Multiple LUs are used specify the join conditionIf Active will allow querying of data through IFS Data Migration Excel Add-In. When having multiple LUs the Rule value should specify the join condition between the LUs. Any other filtering can be also specified here.