Data Migration Job - Method List Tab¶
Add, modify or remove methods you want to execute during your migration job. By method, we mean standard IFS New__ and Modify__ procedures stored in Logical Units in the database. You may also use user-defined methods or start other job entries from this window. This window is only used for source migration jobs.
Prefix Option: The column, Column Name in the mapping tab will be prefixed according to value in PrefixOption if the column is not a key column:
|Sequence||View Name||Prefix Option||View Column||Column Name in Mapping tab||Comment|
|10||SALES_PART||NoPrefix||DESCRIPTION||DESCRIPTION||No prefix. Column names will not be repeated in the Mapping tab|
|10||SALES_PART||ViewName||DESCRIPTION||SALES_PART.DESCRIPTION||Prefix with a view name. If DESCRIPTION occurs in other methods, but with different view names, it will occur once per view name. Note that key columns will not be prefixed, thus only occur once in the Mapping tab.|
||View name will be concatenated with execute_seq to make unique occurrences of all columns. View name in MethodList will be refreshed with new value after insert.
This Prefix Option is useful if you need to run the same method more than once, but with different column values. For example, CUSTOMER_INFO_COMM_METHOD where you may insert rows for both Fax and Phone.
Method Name: Here are some examples of available combinations:
|View Name||Action||Method Name||Comment|
|BeforeLoop||Intface_Header_API.Start_Job||This will start another job before the main loop in this job is executed. To specify the name of the job to be started, you must use RMB 'Method List Attribute..' and enter the Job ID in column 'FixedValue' for column INTFACE_NAME. This method does not return info about success or failure, and the main job will continue even if an error occurred on the first job.|
|BeforeLoop||Intface_Header_API.Start_Job_From_Server||Setup is the same as above. This procedure returns info about failure, and will stop any further processing if any errors occurred.|
|BeforeLoop||Fa_Object_API.Post_Import_Trans__||Post imported transactions before new imports to FIXASS, Values for IN-parameters must be entered manually from RMB 'Method List Attribute..'|
|INVENTORY_PART||InLoop||Inventory_Part_API||Standard INSERT or UPDATE.
If you only enter View Name and then perform COMMIT, you will by default get the name of the LU, but no methods specified in Method Name. In addition, both columns 'OnNew' and 'OnModify' will be checked. This will result in a standard New__ or Modify__ depending on whether the record exists or not. This will have the same effect as earlier definitions with 2 separate methods for Modify__ and New__.
From RMB 'Method List Attribute..' you may choose which column should be present on the attribute string, or if they should have a fixed value.
|InLoop||Inventory_Part_API.Modify_Purch_Leadtime||The IN-parameters of this method will be available under the folder 'Source Mapping', and you may assign values in the same manner as for other columns.|
|InLoop||Customer_Order_Line_API.Remove__||OOPS! Do you really want to delete rows? If you're serious about this, make sure you've mapped correct values to OBJID_/OBJVERSION_ and that your main select has a Where-clause that is consistent with your intentions !!|
|AfterLoop||Intface_Header_API.Start_Job_From_Server||Same as BeforeLoop, but with a slight difference: If an error occurs on this job, it is the setting of Rule IGNOREXEERROR that decides whether the main job shall continue or not.|
Modify: Procedure interfaces:
|Action||Type of method||Attribute layout||Comments|
|InLoop||User-defined procedure||INFO^^ATTR1^^ATTR2 ^^ ATTR3 ^^
ATTR4 ^^ ATTR5 ^^
|To a user-defined procedure inside the main loop, we always parse the complete attribute string from the SELECT. Since this attribute string may be longer than 2000 characters, which is limit for dynamic SQL, we must divide it into pieces of 2000 chars. Inside the user-defined procedure, first step must be to concatenate the 5 attribute-pieces back to a complete attribute string.
User defined procedures inside loop must have these parameters:
( info_ IN OUT VARCHAR2,
attr1_ IN VARCHAR2,
attr2_ IN VARCHAR2,
attr3_ IN VARCHAR2,
attr4_ IN VARCHAR2,
attr5_ IN VARCHAR2 )
Here the INFO- variable is used for error-messages. Code EXCEPTIONS at the end of your procedure and put the error message in the info_ variable, and it will be handled accordingly to rule IGNOREXEERROR.
The attribute string should NOT be edited.
|Start another migration job (Intface_Header_API.Start_Job)||INFO^^INTFACE_NAME^^||For a standard Data Migration Procedure, the parameter list is always
( info_ IN OUT VARCHAR2,
intface_name_ IN VARCHAR2 )
You may only edit the attribute string to add value to an item, e.g. add the name of the migration job you want to execute
|Start a user-defined procedure||INFO^^INTFACE_NAME^^||User-defined procedures must have the same parameter list as a standard procedure (see the previous step).
Any value added to item INFO or INTFACE_NAME will be parsed on to the procedure.
The INFO variable is not connected to any error-handling, but any return-value here will be added to main info-variable shown at end of the job.
Column Value: Here are some examples:
|Column Value examples||Method will be executed only..|
|Blank (no value)||.. when specified column IS NULL|
|%||.. when specified column IS NOT NULL (any value)|
|A%||.. when the value of a specified column starts with capital a|
|TRUE||.. when the value of specified column equals 'TRUE'|
Method List Attributes¶
For each method list, there are Method List Attributes which you can navigate using Method List Attributes button.
When entering a View Name in window Method List, all columns from that view will be inserted here, with description and flag information.
Also, if you enter a specific procedure name in column Method Name in the same window, all IN/OUT-parameters of that procedure will occur here.
Use this window to configure the attribute-string to be used in New/Modify-methods, or hardcode values for IN/OUT-parameters to procedure-calls. When hardcoding values, you may refer to values from previous steps in the parameter list. This is possible because we save the output attribute-string for each method in memory. If the method has OUT-variables, these will also be added to this attribute-string.