Cet exemple de script d'événement met à jour la table table_xyz pendant l'exécution du chargement des données :
#-----------------------------------------------------------------------------
# Sample to update table_xyz table during data load rule execution
#-----------------------------------------------------------------------------
query = "UPDATE table_xyz SET accountx = 'SCRIPT_' || account WHERE loadid = ? and accountx is NULL"
params = [ fdmContext["LOADID"] ]
print fdmAPI.executeDML(query, params, False)
fdmAPI.commitTransaction()
#-----------------------------------------------------------------------------
# Sample to import data from a custom SQL source and upload into FDMEE
# open interface table. This script should be called in BefImport Event.
# This is alternate to the FDMEE integration import script.
#-----------------------------------------------------------------------------
import java.sql as sql
batchName = "Batch_" + str(fdmContext["LOCNAME"])
insertStmt = """
INSERT INTO AIF_OPEN_INTERFACE (
BATCH_NAME
,COL01
,COL02
,AMOUNT
,DESC1
) VALUES (
?
,?
,?
,?
,?
)
"""
sourceConn = sql.DriverManager.getConnection("jdbcUrl", "user", "password");
# Limiting number of rows to 5 during the test runs.
selectStmt = "SELECT * FROM orders WHERE rownum < 6"
stmt = sourceConn.prepareStatement(selectStmt)
stmtRS = stmt.executeQuery()
while(stmtRS.next()):
params = [ batchName, stmtRS.getBigDecimal("Customer_Id"),
stmtRS.getString("Ship_Country"),
stmtRS.getBigDecimal("Freight"), stmtRS.getString("Ship_Name") ]
fdmAPI.executeDML(insertStmt, params, False)
fdmAPI.commitTransaction()
stmtRS.close()
stmt.close()
sourceConn.close()
#------------------------------------------------------------------------------
# Sample to send email messages using Jython SMTP library
-------------------------------------------------------------------------------
import smtplib
sender = "from@gmail.com"
receivers = "to@gmail.com"
message = """ This is a test e-mail message.
This is a test e-mail message. """
try:
smtpServer = smtplib.SMTP('smtp.gmail.com:587')
smtpServer.starttls()
smtpServer.login("user", "password")
smtpServer.sendmail(sender, receivers, message)
print "Successfully sent email"
smtpServer.quit()
except Exception, e:
print "Error: unable to send email: " + str(e)
Remarque :
Reportez-vous à la documentation Jython en ligne en suivant le lien ci-après : elle donne la liste des exceptions Jython ainsi que la syntaxe à utiliser lors de la capture d'exceptions dans vos scripts. Pour plus d'informations sur l'utilisation des mécanismes de gestion des exceptions dans Jython, reportez-vous à la page Gestion et débogage des exceptions.
Cette remarque s'applique à tous les types de script.