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:
- If Procedure Name of Migration Header correspond with Procedure Name of Migration DefaultRules, the rule will be inserted here.
- If Procedure Name in Migration DefaultRules equals '*' (any procedure except EXCEL_MIGRATION) Rule Flag is set 'Active', the rule will be inserted here.
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 ID | Procedure Name | Description | Comment |
---|---|---|---|
ADDOBJID | MIGRATE% REPLICATION |
Create extra detail for OBJID | Used 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. |
BUILDTRIGGERIF | REPLICATION | Build IF-statement for updateable columns | This 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. |
CALLEXTPROC | CREATE_OUTPUT_FILE | Call external procedure after each row | In 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. |
CHKSERVERFILE | * | Execute job only if serverfile exists | This rule will check on the server, and if the serverfile does not exist, or is empty, the job will not be started at all. Can also be used for connected jobs; enter a JOB_ID in Rule Value if you want to check the serverfile of another job. |
CHECKOPTION | MIGRATE% | Perform methods New and Modify with CHECK option | With 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. |
CLEANUP | * REPLICATION |
Cleanup job errors in start job details before or after each execution | Cleans 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. |
COMMITSEQ | MIGRATE% | Number of rows between COMMIT | Used 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. |
CONNJOB | MIGRATE% | Start this job first | Intended 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 visa versa, and that job1 cannot be started directly. To simplify error-handling, job1 will not be started if job2 is re-started manually. |
CREATEDET | MIGRATE% REPLICATION EXCEL_MIGRATION |
Create details from views in MethodList | If 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 inMaintenance/ Method List. We keep the DB-value here: 1 - ViewName (default if no value is given) 2 - ViewNameUnique 3* - NoPrefix |
CREINDEX | CREATE_TABLE% | 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. |
CRETABCONF | CREATE_TABLE% | Options for container table | May 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. |
DEPLOYFILE | FNDMIG_EXPORT | Option for export-file | If 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. |
EVENTMESS | * | Notify Event Server when job is finished | In 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 |
EXITLINES | * | Stop reading after this line number in file | This 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. |
EXTTABLE | * | Create External Table and insert directly into IC-table | Used 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 |
FILEBKP | * | Make a backup of file after job has executed | If 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. |
FILEHEAD | CREATE_OUTPUT_FILE | Create fileheader | If your output-file job writes a comma-separated file, a file-header containing column-names may be created by setting this rule 'Active'. |
FILEMOV | * | Move file after successful completion | This rule will move the file to the path/directory that is specified in Rule Value (which is mandatory). Will keep same filename. |
FILERENAM | * | Rename file after successful completion | The file will be renamed in same manner as with FILEBKP, i.e. new filename will be <filename><seq.no>.bkp. If you also want it moved to another path/Directory, specify this in Rule Value. |
FILEDEL | * | Delete file after successful completion | This rule will delete original file after successful completion. |
IGNOREADERROR | * | Continue fileread after error | If set to Active, the reading from file will continue even if formatting errors occur during reading. No Rule Value needed. |
IGNOREXEERROR | INSERT% CREATE_TABLE% MIGARTE% REPLICATION |
Continue procedure on error | If set to Active, the job will continue even if errors occur. No Rule Value needed. |
INSUPD | INSERT_OR_UPDATE | Execute either INSERT or UPDATE | This 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. |
KEEPBLANKS | INSERT% CREATE_TABLE% |
Do NOT trim off leading or trailing blanks from input file | When 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. |
KEEPDYNAMPROC | MIGRATE% | Do not DROP procedures | If 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. |
MAPDBCOL | MIGRATE% REPLICATION |
Remap IIDs client-default to DB-default | Data 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. |
NOCLEANUP | * | Keep Job details even if job is OK | For 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. |
NONULLVAL | MIGRATE% REPLICATION |
Do not include selected items with null-value on attr-string | Normally, 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). |
REMLOG | CREATE_TABLE% | Remove logfile if External Table was created OK | Used 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. |
SAVEJOBDAYS | * REPLICATION |
Number of days to save job history | If 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. |
SAVEJOBERR | * REPLICATION |
Save only errors in history log | Normally 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. |
SERVFILOAD | * | Load server file before starting job | If 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. |
SKIPLINES | * | Start reading after this line number in file | Some 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. |
SYNCDETAILS | INSERT% CHECK_BY% CREATE_TABLE% |
Synchronize job details with columns in file-header | For 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. |
TRUNCVAL | * | Truncate file values exceeding column length | For 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. |
FETCHCONDITION | EXCEL_MIGRATION | Sets if the Job can be used to fetch data. If Multiple LUs are used specify the join condition | If 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. |