Presentation is loading. Please wait.

Presentation is loading. Please wait.

15-1 6 Oracle Data Integrator Procedures, Advanced Workflows.

Similar presentations


Presentation on theme: "15-1 6 Oracle Data Integrator Procedures, Advanced Workflows."— Presentation transcript:

1 15-1 6 Oracle Data Integrator Procedures, Advanced Workflows

2 15-2 Objectives Create simple reusable procedures. Add commands. Provide options on your commands. Run your procedures. Use the procedure into a package After completing this lesson, you will know how to:

3 15-3 What is a procedure? Procedure – A sequence of commands executed by database engines, the operating system, or using ODI Tools. A procedure can define options that control its behavior. Procedures are reusable components that can be inserted into packages.

4 15-4 Procedure Examples Email Administrator procedure 1.Uses the “SnpsSendMail” ODI tool to send an administrative email to a user. The email address is an option. Clean Environment procedure 1.Deletes the contents of the /temp directory using the “SnpsFileDelete” tool. 2.Runs DELETE statements on these tables in order: CUSTOMER, CITY, REGION, COUNTRY.

5 15-5 Procedure Examples (cont.) Initialize Drive procedure 1.Mount a network drive using an OS command (depending on an option). 2.Create a /work directory on this drive. Identify Changes,then send an email procedure 1.Wait for 10 rows to be inserted into the INCOMING table. 2.Transfer all the data from INCOMING to the OUTGOING table. 3.Dump the content of the OUTGOING table to a text file. 4.Email this text file to a user.

6 15-6 How to Create a New Procedure 1.Right-click the Procedures node under a project. 2.Select Insert Procedure 3.Fill in the Name Description 4.Optionally, define the default: Source Technology Target Technology

7 15-7 Creating a New Command 1.Select the procedure’s Details tab. 2.Click the Add Command button 3.Fill in the Name 4.Set Ignore Errors as appropriate. 5.For the Command on Target, select: Technology Context Logical Schema Command code (using the Expression Editor) 6.Repeat step 5 for the Command on Source (optional). 7.Click OK.

8 15-8 Arranging Steps in Order The Details tab shows the steps of your procedure. Steps are executed top to bottom In this example, “Wait for data in INCOMING” is executed last. We need it to be executed first To rearrange steps, use the up and down buttons Now the procedure will wait for data before attempting the transfer. Make sure the order of your steps is correct.

9 15-9 Which Parameters Should Be Set? The following parameters should be set in the command: Technology: If different from the one defined at technology level. Logical Schema: For DBMS technologies (Jython, OS, ODI Tools do not require a schema) Context: If you want to ignore the execution context. Ignore Errors: If the command must not stop the procedure. A warning is issued only if the command fails.

10 15-10 Valid Types of Commands Some examples of the types of commands that can be used in ODI procedures: SQL statement OS commands ODI Tools Jython programs Executed on any DBMS technology DELETE, INSERT, SELECT, … statements. Executed on the Operating System technology In OS-specific syntax using shell commands or binary programs Executed on the Sunopsis API technology Any ODI tool command call. Executed on the Jython technology. Jython code interpreted by the agent (Extensibility Framework).

11 15-11 More Elements In addition, we have access to the following ODI-specific elements that can be used within the commands: Variables Sequences User Functions They may be specified either in substitution mode #, or in bind mode : Used like DBMS functions. They are replaced at code generation time by their implementation.

12 15-12 Why Use a Source Command? The command sent to the source should return a result set which is manipulated by the default command. Example: Transferring data from a table to another. Source Command: SELECT statement Default Command: INSERT statement with source columns in bind mode

13 15-13 Procedure Execution A procedure can be executed manually for testing. Default option values are used. It is usually run from a package. Add a procedure step by dragging and dropping. Option values can be overridden at that time.

14 15-14 Using Operator to View the Results Procedure is executed as a session with one step One task for each command Warning: error was ignored Tasks completed successfully Error that was not ignored Task waiting to be run.

15 15-15 Note – Procedure Steps Are References A procedure used in a package is referenced by the package, not copied. Changes to the original procedure also apply to the package.

16 15-16 How to Create a Procedure Step 1.Under a project, select the procedure which you want to work with. 2.Drag and drop it into the package. 3.Set the step Name. There is only one type of procedure step. 4.Override any options on the Options tab.

17 15-17 Controlling Execution Each step may have two possible next steps: Next step upon success Next step upon failure If no next step is specified, the package stops. Execution can branch: as the result of a step (success/failure) because of an Evaluate Variable step Examples of control structures follow.

18 15-18 Error Handling Interfaces fail if a fatal error occurs or if the number of allowed errors is exceeded. Procedures and other steps fail if a fatal error occurs Try to take into account possible errors. Simple error handling

19 15-19 How to Create a Loop Loops need a counter variable 1.Set the counter to an initial value 2.Execute the step or steps to be repeated 3.Increment the counter 4.Evaluate counter value and loop to step 2 if the goal has been reached Package Loop 1. 2. 3. 4.

20 15-20 The Advanced Tab Each step’s Advanced tab allows you to specify the how the next step is determined. You can specify a number of automatic retries on failure. How many times this step should be re-attempted if it fails List of all possible package steps. Choose the one to be executed next if this one fails. Where to go next if the step completes successfully List of all possible package steps. Choose one to be executed next if this one succeeds. Time interval (in seconds) between each attempt Where to go next if this step fails Specifies if step execution report is to be conserved in the Log.


Download ppt "15-1 6 Oracle Data Integrator Procedures, Advanced Workflows."

Similar presentations


Ads by Google