In the Procedure Editor, go to the Details tab

12-8 Oracle Fusion Middleware Developers Guide for Oracle Data Integrator When batch update and array fetch are supported by the target and source technologies respectively, ODI prepares arrays in memory for every batch, making the overall transaction more efficient. Example 12–2 Sending Multiple Emails Suppose you have a table that contains information about all the people that need to be warned by email in case of a problem during the loading of your Data Warehouse. You can do it using a single procedure step as described in Table 12–2 . The “–TO” parameter will be substituted by the value coming from the “Email” column of your source SELECT statement. The “OdiSendMail” command will therefore be triggered for every operator registered in the “Operators” table.

12.1.3 Using Procedures

A procedure can be used in the following ways: ■ Executing the Procedure directly in Designer Navigator for testing its execution. ■ Using a Procedure in a Package along with interfaces and other development artifacts for building a data integration workflow. ■ Generating a Scenario for a Procedure for launching only this procedure in a run-time environment.

12.1.3.1 Executing the Procedure

To run a procedure:

1. In the Project view of the Designer Navigator, select the procedure you want to

execute. Note: This mechanism is known to be far less efficient than a fast or multi load in the target table. You should only consider it for very small volumes of data. The section Using the Agent in the Loading Strategies further discusses this mechanism. Table 12–2 Procedure Details for Sending Multiple Emails Source Technology Oracle Source Logical Schema ORACLE_DWH_ADMIN Source Command Select FirstName FNAME, EMailaddress EMAIL From =odiRef.getObjectNameL,Operators,D Where RequireWarning = ’Yes’ Target Technology ODITools Target Logical Schema None Target Command OdiSendMail -MAILHOST=my.smtp.com -FROM=adminmycompany.com “-TO=EMAIL” “-SUBJECT=Job Failure” Dear FNAME, I’m afraid you’ll have to take a look at ODI Operator, because session =snpRef.getSession“SESS_NO” has just failed -Admin