Beispielereignisskript

Dieses Beispielereignisskript aktualisiert die Tabelle "table_xyz" während der Dataload-Ausführung:

#-----------------------------------------------------------------------------
# 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)  

Hinweis:

In der Jython-Onlinedokumentation (Zugriff über den nachfolgenden Link) werden die Jython-Ausnahmen und die Syntax erläutert, die Sie beim Ermitteln von Ausnahmen in Ihren Skripten verwenden müssen. Informationen zur Verwendung von Ausnahmebehandlungsmechanismen in Jython finden Sie unter Ausnahmebehandlung und Debugging.

Dieser Hinweis gilt für alle Skripttypen.