SlideShare une entreprise Scribd logo
1  sur  63
Jython Scripting in FDMEE
It's Not That Scary
Tony Scalese
Edgewater Ranzal
Focus
Services
People
Methodology
Customers
Partnership
15 Years
700+ clients
1000+ projects
About Edgewater Ranzal
We offer a full spectrum of EPM/BI Services
Dashboards & Scorecards, Financial
Analytics & Reporting, Operational Analytics,
What-if Analysis, Query & Reporting, Visual
Exploration
Financial performance, Legal,
Segment & Mgmt Reporting, Financial
Close
HFM Optimization, Performance Lab
SOX Compliance Support
Strategic Finance, Planning,
Budgeting, Forecasting, Workforce
Planning, Capital Planning, Project
Financial Planning
Data Integration, Financial Data
Management, Data Warehousing,
Master Data Management &DRM,
ETL Services, Automation
Project/Program Mgmt, EPM
Road Maps, Application
Reviews, Business
Requirements, Process
Change, Documentation
Installation, Upgrades,
Migration, System
Monitoring, Backup and
Recovery, Disaster
Recovery, Load Testing,
Hardware Sizing, Exalytics
Benchmarking
Consolidation
Business
Intelligence
Enterprise
Planning
Infrastructure
Training &
Support Services
Project
Management
Data
Services
Costing &
Profitability
Mgmt
Support Services – Infrastructure &
Application Support Contracts
Key Teach Course Delivery: Planning, Essbase,
Financial Reporting, Smart View, HPCM, HFM,
FDM, DRM, OBIEE
Custom Training Delivery: Process & Reporting
HPCM Standard & Detailed
Models, Waterfall Allocations,
Activity Based Costing,
Customer, Product & LOB
Profitability
 Jython Overview
 Configuring Eclipse
 FDMEE Scripting Configuration
Agenda
 Why Jython and not
VBScript?
● Jython is the strategic direction
of Oracle development
● Jython is platform independent
● The API supporting Jython
scripting will continue to be
enhanced
● Jython error handling is more
elegant and robust
Let’s Get It Out of the Way
 Python programming language written in JAVA
 Syntax is more sensitive than VBScript
 Variable data type is critical; declaration is
implicit
 Comment characters: # or ‘’’<comment block>’’’
 import statement allows easy reuse of code
 Far more robust error handling
 Familiarize yourself with camelCase
 Not that different than VBScript
Jython Basics
 Import JAVA classes
import java.sql as sql
 Utilize Try...Except
try:
Code to execute
except:
Error handling
Script Format
 Sys, Traceback: Can be used to get detailed
error information including line in script
producing error
 Java.sql: Used to interact with remote
databases
 Smtplib: Used for email generation
Commonly Used JAVA Classes
Method Functionality
count(Substring,[Start],[End]) Number of times substring occurs
endswith(Suffix,[Start],[End]) Boolean result; does string end with suffix
find(substring,[Start],[End]) Returns position where substring is found
isdigit() Boolean result; is string all numbers
isspace() Boolean result; is string all spaces
lower() Puts still in all lower case, similar to lcase
replace(old,new,[count]) Replaces text in string
split([separator],[max split]) Returns a list, string is divided by separator
startswith(prefix,[Start],[End]) Boolean result; does string start with prefix
strip([characters]) Removes specified character(s) from string
upper() Puts still in all upper case, similar to ucase
zfill(width) Returns numeric string filled left with zeros
Jython String Manipulation
Jython VBScript
If Then if x == 100:
elif x == 200:
else:
If x = 100 then
Elseif x = 200 then
Else
End if
Case No native statement;
utilize dictionary or If
Then statements
Select Case x
Case 100
Case 200
Case Else
End Select
Jython Statements
Jython VBScript
Do Loop while x<100:
Do something
x += 1
Do while x < 100
Do something
x = x+1
Loop
For Loop for x in range(100):
Do something
For x = 0 to 100
Do something
Next
Jython Iteration
Jython VBScript
List lListName = [‘Elem1’,’Elem2’,’Elem3’]
for elem in lListName:
print elem
aArrayName =
Array(“Elem1”,”Elem2”,”Elem3”)
For each strElem in aArrayName
msgbox strElem
Next
Dictionary dictName = {}
dictName[‘Tony Scalese’] = 36
dictName[‘Opal Alapat’] = 39
for sKey,sItem in dictName.iteritems():
print sKey + ‘’s age is ‘ + str(sItem)
Set dictName =
CreateObject(“Scripting.Dictionary”)
dictName.Add “Tony Scalese”, 36
dictName.Add “Opal Alapat”, 39
For each strKey in dictName.Keys
msgbox strKey & “’s age is “ &
dictName.Item(strKey)
Next
Jython Mapping Data Type
 Jython Overview
 Configuring Eclipse
 FDMEE Scripting Configuration
Agenda
 If a JRE is not installed, be sure to install the 64
bit JRE (install using defaults)
● http://www.oracle.com/technetwork/java/javase/dow
nloads/jre7-downloads-1880261.html
JAVA Runtime Environment (JRE)
 Download Jython 2.5.1 from
http://www.jython.org/downloads.html
● Do not use a more up to date version!
Jython Download
 Select English  Next
 Accept the EULA  Next
 Select Standard  Next
 Leave the default C:Jython2.5.1 directory  Next
 May be prompted that the directory is created, click
OK and Next again
 Leave Current as JAVA home directory  Next
 Click Next on the Summary tab, install will begin
 Click Next on the ReadMe and then Finish
Jython Install
 Confirm the C:jython2.5.1 directory exists
 Confirm jython.jar file exists
Jython Install Confirmation
 Download Eclipse Standard from
http://www.eclipse.org/downloads/
Download Eclipse
 Extract the download to the C: directory
 Open the C:Eclipse folder and launch
eclipse.exe
Extract Eclipse
 Specify a default workspace
Workspace
 Expand General 
Editors and click Text
Editors
 Change the options:
● Display tab width: 2
● Insert spaces for tabs:
Checked
● Show Print Margin:
Checked
● Show Line Numbers:
Checked
Configure Eclipse General Options
 Select Windows  Preferences
 Expand Install/Update
 Click Available Software Sites
 Click Add
 Name: PyDev
 Location: http://pydev.org/updates/
 Click OK
Install PyDev
PyDev Install
 Select Help  Install New Software
 Click PyDev from the Work With drop down
 Check PyDev
 Click Next
 Click Next
 Accept the EULA and click Finish
PyDev Install
 Put a check next to the
certificate
 Click OK
 Click Yes to restart Eclipse
after the install
PyDev Install
 Windows  Preferences
 Expand PyDev and click Editor
 Change tab length to 2
Set PyDev Options
 Interpreter – Jython
 Click New
● Interpreter Name: Jython2.5.1
● Browse and select Jython.jar from C: drive
 Click OK
Set PyDev Interpreter
 When prompted, leave defaults and click OK
Set PyDev Interpreter
 Close the Welcome Screen
 Right click the Package Explorer
 New  Project
Creating a Project
 Expand PyDev and select PyDev Project
 Click Next
Creating a Project
 Name the Project
 Change the project type to Jython
 Click Finish
 Click Yes when prompted
Creating a Project
 Right click the Project
 Select New  Folder
● Name the folder src
● Repeat and create as lib
Organize Code
 Right click lib folder and select Import
 Expand General and select File System
Import JAR Files
 From Directory: lib directory of FDM
● %hyperion_home%ProductsFinancialDataQualityli
b
 Check the aif-apis.jar
 Click Finish
Import FDMEE JAR
 Right click the project (ER_FDMEE)
 Select Properties
 Click PyDev – PYTHONPATH
 Click Add jar/zip/egg
 Expand the project and click the lib folder
Update Python Path
 Add new PyDev module
● Right click src folder
● New  PyDev module
Creating Modules
 Specify a name
 Click Finish
 When prompted for a template, select Module
main and click OK
Creating Modules
 Add print “hello”
 Run the script
● Run as Jython Run
 hello shows in the
console window when
successful
Testing Module
 Add the following text to the module:
● import com.hyperion.aif.scripting.API as API
 Save the module
 Type API(). on a new line.
 A list of available methods will display
Testing FDMEE API Usage
 Jython Overview
 Configuring Eclipse
 FDMEE Scripting Configuration
Agenda
 The equivalent of Import – Data Pump scripts in FDM
Classic
 Import Integration scripts have been replaced by the
Open Interface adaptor and the BefImport event script
 Import scripts are used to manipulate data during the
import process
 Execute during an import process when assigned to the
import format used by the location and data load rule
 Every line in the data file is evaluated
 Avoid the temptation to overuse import scripts
● Parsing strings that cannot be parsed by an import format
● Temporary variables storing header information
● Mapping data should be done in maps, not import scripts
Import Scripts
 Define the script name
● def ScriptName (strfield,strrecord):
 Write script actions
● aField = split(strrecord,”-”)
● sCostCenter = aField[1]
 Return result to function
● return sCostCenter
Import Script Syntax
Notice the
colon at the
end
def EBS_CostCenter(strField, strRecord):
sCC = strField
if strField.count(“.”) > 0:
aSegments = strField.split(‘.’)
sCC = aSegments[2]
return sCC
Sample Import Script
Notice the
colon at the
end
 No longer limited to 5
 Declare a variable before the function
 Designate the variable as global
strDept = “”
def Nvision_Entity(strfield,strrecord):
if strrecord[1:5] == “Dept:”:
global strDept
strDept = strrecord[6:9]
return strfield
Temporary Variables (RES.pVarTempx)
 Simply return temporary variable in “assign”
script
def Nvision_C1(strfield,strrecord):
return strDept
Using Temporary Variables
 Similar in concept to varValues
 Be careful of overuse due to performance
impacts
 Enter #SCRIPT to activate script section of
maps
 fdmRow.getString(“FieldName”)
 fdmResult = “Mapped_Result”
Mapping Scripts
 Execute during defined events within the
application
 Fewer than FDM Classic, notably StartUp,
POVChanged
 Scope needs to be well defined to ensure
process only executes when needed
 No need to declare function
● def BefImport():  Not needed
Event Scripts
Event Description FDM Classic Equivalent
Import Executes any time the import
process is executed
ImportAction, FileImport
Calculate Before & After Logic groups and
maps processing
Calculate
ProcLogicGrp When logic groups are assigned ProcLogicGroup
ProcMap Executes ONCE during mapping
application
ProcMap
Validate Validate workflow step Validate
ExportToDat Export workflow step ExportToDat
Load Export workflow step Load
Consolidate Export workflow step Consolidate
Check Check workflow step Check
Events – Before and After
 Custom scripts are used to extend the functionality
of FDMEE
 Custom script are organized in groups
● Scripts can be assigned to multiple groups
 Custom scripts are registered
● Similar to Menu Maker specifying a caption
● Parameters can be added to make a script more dynamic
 Custom scripts can executed from web UI
 No need to declare function
● def ER_OutputData():  Not needed
Custom Scripts
 Create a group
● Logical grouping that a user can select
● By Region: North America, EMEA, Asia Pacific
● By Purpose: Data Exports, Budget, Actuals
 Register script to group
● Add parameters if applicable
Custom Script Registration
 Select Group
 Select Script & click Execute
● Specify parameters if applicable
 Select Execution Mode and click OK
Executing Custom Scripts
 Used to test code without actually impacting the
data in FDMEE
 4 sections:
1. Initialize dev mode
2. Populate context
3. Custom code
4. Clean-up actions
 Once code is tested, sections 1, 2 & 4 can be
removed, handled natively by the application
Development Mode
Commonly Used Occasionally Used Rarely Used
APPID
CATKEY
CATNAME
CHKSTATUS
EXPSTATUS
IMPSTATUS
INBOXDIR
LOADID
LOCKEY
LOCNAME
OUTBOXDIR
PERIODNAME
PERIODKEY
PROCESSSTATUS
SCRIPTSDIR
VALSTATUS
EXPORTFLAG
EXPORTMODE
FILEDIR
FILENAME
IMPORTFLAG
IMPORTFORMAT
IMPORTMODE
MULTIPERIODLOAD
RULEID
RULENAME
SOURCENAME
SOURCETYPE
TARGETAPPDB
TARGETAPPNAME
BATCHSCRIPTDIR
EPMORACLEHOME
EPMORACLEINSTANCEHOME
FDM Context
 Each execution includes a collection of information
import java.math.BigDecimal as BigDecimal
import java.sql as sql
import com.hyperion.aif.scripting.API as API
fdmAPI = API()
conn =
sql.DriverManager.getConnection("jdbc:oracle:thin:@server:port:SID",
"user", "password");
conn.setAutoCommit(False)
fdmAPI.initializeDevMode(conn);
print “Connected”
Initialize Development Mode
fdmContext = fdmAPI.initContext(BigDecimal(LoadID))
print “Location Name: “ + fdmContext[“LOCNAME”]
Populate Context
 fdmAPI.closeConnection();
Clean-up Action
 getPOVLocation(LoadID), Category, StartPeriod,
EndPeriod: Returns key, not text
 executeDML(query,param_list)
 getCustomScriptParameterValue(loadID,param):
Load ID is optional
 executeQuery(query,parameters): Returns recordset
 showCustomFile(FilePath): Display file
 showCustomMessage(message)
 logFatal(message), Error, Warn, Info, Debug
Useful FDM APIs
 The BefImport event script is used in
conjunction with the Open Interface adaptor to
import data from relational source
 This approach replaces import integration
scripts from FDM Classic
 Check out Mike Casey’s presentation - Using
the Open Interface Adapter in FDM Enterprise
Edition 11.1.2.3 - on 6/25 from 2-3 for a deep
dive into the setup
Integrating Data from Relational Sources
import java.text.SimpleDateFormat as SimpleDateFormat
import java.sql as sql
strPOVPer = fdmContext["PERIODKEY"]
strYear = SimpleDateFormat("yyyy").format(strPOVPer)
lngMonth = SimpleDateFormat("MM").format(strPOVPer)
strMonth = SimpleDateFormat("MMM").format(strPOVPer)
batchName = "MatchDataLoadRuleParam"
BefImport Script Sample - Setup
insertStmt = """
INSERT INTO AIF_OPEN_INTERFACE (
BATCH_NAME
,YEAR
,PERIOD
,PERIOD_NUM
,CURRENCY
,COL01
,COL02
,AMOUNT
) VALUES (
?
,?
,?
,?
,?
,?
,?
)
"""
BefImport Script Sample – Build Query
#Connect to source DB
sourceConn =
sql.DriverManager.getConnection("jdbc:oracle:thin:@Serv
er:Port:SID","User","Password");
#Build SELECT statement to get data to insert
selectStmt = "Select * from table n"
selectStmt = selectStmt + "Where 1=1 n"
#Run the query to get the data
stmt = sourceConn.prepareStatement(selectStmt)
RS = stmt.executeQuery()
BefImport Script Sample – Run Query
#Loop through the data and import it into the Open
Interface table
while(RS.next()):
params = [ batchName, strYear,strMonth,lngMonth,
"USD", RS.getString("Account"), RS.getString("Entity"),
RS.getBigDecimal("Amount") ]
fdmAPI.executeDML(insertStmt, params, False)
fdmAPI.commitTransaction()
#Close the connection
RS.close()
sourceConn.close()
BefImport Script Sample – Import Data
Questions

Contenu connexe

Tendances

Finit one small step - tips and tricks for transitioning from fdm to fdmee
Finit   one small step - tips and tricks for transitioning from fdm to fdmeeFinit   one small step - tips and tricks for transitioning from fdm to fdmee
Finit one small step - tips and tricks for transitioning from fdm to fdmeefinitsolutions
 
Finit solutions - Automating Data Loads with FDMEE
Finit solutions - Automating Data Loads with FDMEEFinit solutions - Automating Data Loads with FDMEE
Finit solutions - Automating Data Loads with FDMEEfinitsolutions
 
Loading Smartlists into PBCS using FDMEE
Loading Smartlists into PBCS using FDMEELoading Smartlists into PBCS using FDMEE
Loading Smartlists into PBCS using FDMEERay Février
 
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Alithya
 
Oracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIOracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIRati Sharma
 
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data ManagementODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data ManagementFrancisco Amores
 
Calculation commands in essbase
Calculation commands in essbaseCalculation commands in essbase
Calculation commands in essbaseShoheb Mohammad
 
Where Did That Come From? Techniques for Debugging HFM
Where Did That Come From?  Techniques for Debugging HFMWhere Did That Come From?  Techniques for Debugging HFM
Where Did That Come From? Techniques for Debugging HFMfinitsolutions
 
HFM vs Essbase BSO: A Comparative Anatomy
HFM vs Essbase BSO: A Comparative AnatomyHFM vs Essbase BSO: A Comparative Anatomy
HFM vs Essbase BSO: A Comparative Anatomyaa026593
 
Best Practices for Designing and Building Integrations
Best Practices for Designing and Building IntegrationsBest Practices for Designing and Building Integrations
Best Practices for Designing and Building IntegrationsAlithya
 
Application Integration: EPM, ERP, Cloud and On-Premise – All options explained
Application Integration: EPM, ERP, Cloud and On-Premise – All options explainedApplication Integration: EPM, ERP, Cloud and On-Premise – All options explained
Application Integration: EPM, ERP, Cloud and On-Premise – All options explainedAlithya
 
My Favorite Calc Code
My Favorite Calc CodeMy Favorite Calc Code
My Favorite Calc CodeAlithya
 
Security and Auditing in HFM
Security and Auditing in HFMSecurity and Auditing in HFM
Security and Auditing in HFMAlithya
 
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementFrancisco Amores
 
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...Alithya
 
Currency Translation in HFM
Currency Translation in HFMCurrency Translation in HFM
Currency Translation in HFMaa026593
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...Alithya
 
Key Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning ImplementationKey Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning ImplementationAlithya
 

Tendances (20)

Finit one small step - tips and tricks for transitioning from fdm to fdmee
Finit   one small step - tips and tricks for transitioning from fdm to fdmeeFinit   one small step - tips and tricks for transitioning from fdm to fdmee
Finit one small step - tips and tricks for transitioning from fdm to fdmee
 
Finit solutions - Automating Data Loads with FDMEE
Finit solutions - Automating Data Loads with FDMEEFinit solutions - Automating Data Loads with FDMEE
Finit solutions - Automating Data Loads with FDMEE
 
Loading Smartlists into PBCS using FDMEE
Loading Smartlists into PBCS using FDMEELoading Smartlists into PBCS using FDMEE
Loading Smartlists into PBCS using FDMEE
 
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
 
Oracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIOracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide II
 
Oracle FCCS: A Deep Dive
Oracle FCCS: A Deep DiveOracle FCCS: A Deep Dive
Oracle FCCS: A Deep Dive
 
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data ManagementODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
 
FDMEE Custom Reports
FDMEE Custom ReportsFDMEE Custom Reports
FDMEE Custom Reports
 
Calculation commands in essbase
Calculation commands in essbaseCalculation commands in essbase
Calculation commands in essbase
 
Where Did That Come From? Techniques for Debugging HFM
Where Did That Come From?  Techniques for Debugging HFMWhere Did That Come From?  Techniques for Debugging HFM
Where Did That Come From? Techniques for Debugging HFM
 
HFM vs Essbase BSO: A Comparative Anatomy
HFM vs Essbase BSO: A Comparative AnatomyHFM vs Essbase BSO: A Comparative Anatomy
HFM vs Essbase BSO: A Comparative Anatomy
 
Best Practices for Designing and Building Integrations
Best Practices for Designing and Building IntegrationsBest Practices for Designing and Building Integrations
Best Practices for Designing and Building Integrations
 
Application Integration: EPM, ERP, Cloud and On-Premise – All options explained
Application Integration: EPM, ERP, Cloud and On-Premise – All options explainedApplication Integration: EPM, ERP, Cloud and On-Premise – All options explained
Application Integration: EPM, ERP, Cloud and On-Premise – All options explained
 
My Favorite Calc Code
My Favorite Calc CodeMy Favorite Calc Code
My Favorite Calc Code
 
Security and Auditing in HFM
Security and Auditing in HFMSecurity and Auditing in HFM
Security and Auditing in HFM
 
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
 
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
How to Deploy & Integrate Oracle EPM Cloud Profitability and Cost Management ...
 
Currency Translation in HFM
Currency Translation in HFMCurrency Translation in HFM
Currency Translation in HFM
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
 
Key Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning ImplementationKey Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning Implementation
 

En vedette

Migration Approaches for FDMEE
Migration Approaches for FDMEEMigration Approaches for FDMEE
Migration Approaches for FDMEEAlithya
 
KScope14 FDMEE Multiproduct
KScope14 FDMEE MultiproductKScope14 FDMEE Multiproduct
KScope14 FDMEE MultiproductAlithya
 
What Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE EditionWhat Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE EditionAlithya
 
Cycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGH
Cycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGHCycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGH
Cycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGHAlithya
 
Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).
Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).
Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).Charles Babu J
 
Trigger maxl from fdmee
Trigger maxl from fdmeeTrigger maxl from fdmee
Trigger maxl from fdmeeBernard Ash
 
FDMEE Workhacks
FDMEE WorkhacksFDMEE Workhacks
FDMEE WorkhacksAlex Liu
 
FDMEE Tutorial - Part 1
FDMEE Tutorial - Part 1FDMEE Tutorial - Part 1
FDMEE Tutorial - Part 1Van Huy
 
Taking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced ScriptingTaking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced ScriptingAlithya
 
Jython: Integrating Python and Java
Jython: Integrating Python and JavaJython: Integrating Python and Java
Jython: Integrating Python and JavaCharles Anderson
 
How to install EPMA Clients
How to install EPMA ClientsHow to install EPMA Clients
How to install EPMA ClientsAlex Liu
 
FDM to FDMEE migration utility
FDM to FDMEE migration utilityFDM to FDMEE migration utility
FDM to FDMEE migration utilityBernard Ash
 
Hfm demo (1)
Hfm demo (1)Hfm demo (1)
Hfm demo (1)rsreenu
 
Terumo Medical Integrated Business Analytics at its Best
Terumo Medical Integrated Business Analytics at its BestTerumo Medical Integrated Business Analytics at its Best
Terumo Medical Integrated Business Analytics at its BestAlithya
 
FDMEE 11.1.2.4.200 Partner Meeting - May 2016
FDMEE 11.1.2.4.200 Partner Meeting - May 2016FDMEE 11.1.2.4.200 Partner Meeting - May 2016
FDMEE 11.1.2.4.200 Partner Meeting - May 2016Ray Février
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...XebiaLabs
 
Hyperion Financial Management Application Design for Performance
Hyperion Financial Management Application Design for PerformanceHyperion Financial Management Application Design for Performance
Hyperion Financial Management Application Design for PerformanceAlithya
 
Getting the Most out of EPMA: HFM Managing Metadata with EPMA
Getting the Most out of EPMA: HFM Managing Metadata with EPMAGetting the Most out of EPMA: HFM Managing Metadata with EPMA
Getting the Most out of EPMA: HFM Managing Metadata with EPMAfinitsolutions
 
Getting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFMGetting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFMAlithya
 
FDM to ERPi– Upgrade & Migration Strategies
FDM to ERPi– Upgrade & Migration StrategiesFDM to ERPi– Upgrade & Migration Strategies
FDM to ERPi– Upgrade & Migration StrategiesAlithya
 

En vedette (20)

Migration Approaches for FDMEE
Migration Approaches for FDMEEMigration Approaches for FDMEE
Migration Approaches for FDMEE
 
KScope14 FDMEE Multiproduct
KScope14 FDMEE MultiproductKScope14 FDMEE Multiproduct
KScope14 FDMEE Multiproduct
 
What Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE EditionWhat Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE Edition
 
Cycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGH
Cycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGHCycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGH
Cycling Off FDM Classic on Steroids and Taking a Dose of FDMEE HGH
 
Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).
Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).
Configuring FDMEE 11.1.2.4 & Sample File Load (HFM).
 
Trigger maxl from fdmee
Trigger maxl from fdmeeTrigger maxl from fdmee
Trigger maxl from fdmee
 
FDMEE Workhacks
FDMEE WorkhacksFDMEE Workhacks
FDMEE Workhacks
 
FDMEE Tutorial - Part 1
FDMEE Tutorial - Part 1FDMEE Tutorial - Part 1
FDMEE Tutorial - Part 1
 
Taking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced ScriptingTaking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced Scripting
 
Jython: Integrating Python and Java
Jython: Integrating Python and JavaJython: Integrating Python and Java
Jython: Integrating Python and Java
 
How to install EPMA Clients
How to install EPMA ClientsHow to install EPMA Clients
How to install EPMA Clients
 
FDM to FDMEE migration utility
FDM to FDMEE migration utilityFDM to FDMEE migration utility
FDM to FDMEE migration utility
 
Hfm demo (1)
Hfm demo (1)Hfm demo (1)
Hfm demo (1)
 
Terumo Medical Integrated Business Analytics at its Best
Terumo Medical Integrated Business Analytics at its BestTerumo Medical Integrated Business Analytics at its Best
Terumo Medical Integrated Business Analytics at its Best
 
FDMEE 11.1.2.4.200 Partner Meeting - May 2016
FDMEE 11.1.2.4.200 Partner Meeting - May 2016FDMEE 11.1.2.4.200 Partner Meeting - May 2016
FDMEE 11.1.2.4.200 Partner Meeting - May 2016
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...
 
Hyperion Financial Management Application Design for Performance
Hyperion Financial Management Application Design for PerformanceHyperion Financial Management Application Design for Performance
Hyperion Financial Management Application Design for Performance
 
Getting the Most out of EPMA: HFM Managing Metadata with EPMA
Getting the Most out of EPMA: HFM Managing Metadata with EPMAGetting the Most out of EPMA: HFM Managing Metadata with EPMA
Getting the Most out of EPMA: HFM Managing Metadata with EPMA
 
Getting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFMGetting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFM
 
FDM to ERPi– Upgrade & Migration Strategies
FDM to ERPi– Upgrade & Migration StrategiesFDM to ERPi– Upgrade & Migration Strategies
FDM to ERPi– Upgrade & Migration Strategies
 

Similaire à KScope14 Jython Scripting

Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go languageTzar Umang
 
System programmin practical file
System programmin practical fileSystem programmin practical file
System programmin practical fileAnkit Dixit
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.pptUdhayaKumar175069
 
Survey of programming language getting started in C
Survey of programming language getting started in CSurvey of programming language getting started in C
Survey of programming language getting started in Cummeafruz
 
270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functionsray143eddie
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.pptAlefya1
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowRolf Kremer
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.pptJoshCasas1
 
The Steel industry, Elixir, PostgreSQL & file_fdw
The Steel industry, Elixir, PostgreSQL & file_fdwThe Steel industry, Elixir, PostgreSQL & file_fdw
The Steel industry, Elixir, PostgreSQL & file_fdwFlorian Kraft
 
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008guestd9065
 
Workshop "Can my .NET application use less CPU / RAM?", Yevhen Tatarynov
Workshop "Can my .NET application use less CPU / RAM?", Yevhen TatarynovWorkshop "Can my .NET application use less CPU / RAM?", Yevhen Tatarynov
Workshop "Can my .NET application use less CPU / RAM?", Yevhen TatarynovFwdays
 
Stored-Procedures-Presentation
Stored-Procedures-PresentationStored-Procedures-Presentation
Stored-Procedures-PresentationChuck Walker
 
Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)Itzik Kotler
 
SQL Server 2000 Research Series - Transact SQL
SQL Server 2000 Research Series - Transact SQLSQL Server 2000 Research Series - Transact SQL
SQL Server 2000 Research Series - Transact SQLJerry Yang
 

Similaire à KScope14 Jython Scripting (20)

Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go language
 
System programmin practical file
System programmin practical fileSystem programmin practical file
System programmin practical file
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt
 
Survey of programming language getting started in C
Survey of programming language getting started in CSurvey of programming language getting started in C
Survey of programming language getting started in C
 
270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso Workflow
 
Appengine Nljug
Appengine NljugAppengine Nljug
Appengine Nljug
 
270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt
 
The Steel industry, Elixir, PostgreSQL & file_fdw
The Steel industry, Elixir, PostgreSQL & file_fdwThe Steel industry, Elixir, PostgreSQL & file_fdw
The Steel industry, Elixir, PostgreSQL & file_fdw
 
Srgoc dotnet
Srgoc dotnetSrgoc dotnet
Srgoc dotnet
 
Google cloud Dataflow & Apache Flink
Google cloud Dataflow & Apache FlinkGoogle cloud Dataflow & Apache Flink
Google cloud Dataflow & Apache Flink
 
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008
 
Workshop "Can my .NET application use less CPU / RAM?", Yevhen Tatarynov
Workshop "Can my .NET application use less CPU / RAM?", Yevhen TatarynovWorkshop "Can my .NET application use less CPU / RAM?", Yevhen Tatarynov
Workshop "Can my .NET application use less CPU / RAM?", Yevhen Tatarynov
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Stored-Procedures-Presentation
Stored-Procedures-PresentationStored-Procedures-Presentation
Stored-Procedures-Presentation
 
Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)
 
Presentation c++
Presentation c++Presentation c++
Presentation c++
 
SQL Server 2000 Research Series - Transact SQL
SQL Server 2000 Research Series - Transact SQLSQL Server 2000 Research Series - Transact SQL
SQL Server 2000 Research Series - Transact SQL
 
Java introduction
Java introductionJava introduction
Java introduction
 

Plus de Alithya

Journey to the Oracle Talent Management Cloud
Journey to the Oracle Talent Management CloudJourney to the Oracle Talent Management Cloud
Journey to the Oracle Talent Management CloudAlithya
 
What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...
What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...
What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...Alithya
 
Leading Practices in Multi-Pillar Oracle Cloud Implementations
Leading Practices in Multi-Pillar Oracle Cloud ImplementationsLeading Practices in Multi-Pillar Oracle Cloud Implementations
Leading Practices in Multi-Pillar Oracle Cloud ImplementationsAlithya
 
Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud
Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud
Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud Alithya
 
How to Allocate Your Close Time More Effectively
How to Allocate Your Close Time More EffectivelyHow to Allocate Your Close Time More Effectively
How to Allocate Your Close Time More EffectivelyAlithya
 
Viasat Launches to the Cloud with Oracle Enterprise Data Management
Viasat Launches to the Cloud with Oracle Enterprise Data Management Viasat Launches to the Cloud with Oracle Enterprise Data Management
Viasat Launches to the Cloud with Oracle Enterprise Data Management Alithya
 
How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways… How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways… Alithya
 
How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...
How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...
How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...Alithya
 
❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...
❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...
❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...Alithya
 
Legg Mason’s Enterprise, Profit Driven Quest with Oracle EPM Cloud
Legg Mason’s Enterprise, Profit Driven Quest with Oracle EPM CloudLegg Mason’s Enterprise, Profit Driven Quest with Oracle EPM Cloud
Legg Mason’s Enterprise, Profit Driven Quest with Oracle EPM CloudAlithya
 
Supply Chain Advisory and MMIS System Oracle Implementation
Supply Chain Advisory and MMIS System Oracle ImplementationSupply Chain Advisory and MMIS System Oracle Implementation
Supply Chain Advisory and MMIS System Oracle ImplementationAlithya
 
Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...
Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...
Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...Alithya
 
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud Alithya
 
ODTUG Configuring Workforce: Employee? Job? or Both?
ODTUG Configuring Workforce: Employee? Job? or Both? ODTUG Configuring Workforce: Employee? Job? or Both?
ODTUG Configuring Workforce: Employee? Job? or Both? Alithya
 
Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...
Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...
Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...Alithya
 
AUSOUG I Am Paying for my Cloud License. What's Next?
AUSOUG I Am Paying for my Cloud License. What's Next?AUSOUG I Am Paying for my Cloud License. What's Next?
AUSOUG I Am Paying for my Cloud License. What's Next?Alithya
 
A Journey to Profitability with Oracle PCMCS
A Journey to Profitability with Oracle PCMCSA Journey to Profitability with Oracle PCMCS
A Journey to Profitability with Oracle PCMCSAlithya
 
Essbase Calculations: Elements of Style
Essbase Calculations: Elements of StyleEssbase Calculations: Elements of Style
Essbase Calculations: Elements of StyleAlithya
 
Interstellar - The Thomas Jefferson Enterprise EPM Cloud Journey
Interstellar - The Thomas Jefferson Enterprise EPM Cloud JourneyInterstellar - The Thomas Jefferson Enterprise EPM Cloud Journey
Interstellar - The Thomas Jefferson Enterprise EPM Cloud JourneyAlithya
 
Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...
Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...
Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...Alithya
 

Plus de Alithya (20)

Journey to the Oracle Talent Management Cloud
Journey to the Oracle Talent Management CloudJourney to the Oracle Talent Management Cloud
Journey to the Oracle Talent Management Cloud
 
What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...
What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...
What Did I Miss? Addressing Non-Traditional Reconciliations in AR and Data In...
 
Leading Practices in Multi-Pillar Oracle Cloud Implementations
Leading Practices in Multi-Pillar Oracle Cloud ImplementationsLeading Practices in Multi-Pillar Oracle Cloud Implementations
Leading Practices in Multi-Pillar Oracle Cloud Implementations
 
Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud
Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud
Why and How to Implement Operation Transfer Pricing (OTP) with Oracle EPM Cloud
 
How to Allocate Your Close Time More Effectively
How to Allocate Your Close Time More EffectivelyHow to Allocate Your Close Time More Effectively
How to Allocate Your Close Time More Effectively
 
Viasat Launches to the Cloud with Oracle Enterprise Data Management
Viasat Launches to the Cloud with Oracle Enterprise Data Management Viasat Launches to the Cloud with Oracle Enterprise Data Management
Viasat Launches to the Cloud with Oracle Enterprise Data Management
 
How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways… How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways…
 
How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...
How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...
How WillScot-Mobile Mini Utilized Enterprise Data Management for Business Tra...
 
❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...
❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...
❤️ Matchmaker, Make Me a Match: Can AR Intercompany Matchmaking Tools Be a Pe...
 
Legg Mason’s Enterprise, Profit Driven Quest with Oracle EPM Cloud
Legg Mason’s Enterprise, Profit Driven Quest with Oracle EPM CloudLegg Mason’s Enterprise, Profit Driven Quest with Oracle EPM Cloud
Legg Mason’s Enterprise, Profit Driven Quest with Oracle EPM Cloud
 
Supply Chain Advisory and MMIS System Oracle Implementation
Supply Chain Advisory and MMIS System Oracle ImplementationSupply Chain Advisory and MMIS System Oracle Implementation
Supply Chain Advisory and MMIS System Oracle Implementation
 
Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...
Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...
Digital Transformation in Healthcare: Journey to Oracle Cloud for Integrated,...
 
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
 
ODTUG Configuring Workforce: Employee? Job? or Both?
ODTUG Configuring Workforce: Employee? Job? or Both? ODTUG Configuring Workforce: Employee? Job? or Both?
ODTUG Configuring Workforce: Employee? Job? or Both?
 
Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...
Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...
Oracle Cloud Time and Labor: Default Payroll Rate, Override Rate and Flat Dol...
 
AUSOUG I Am Paying for my Cloud License. What's Next?
AUSOUG I Am Paying for my Cloud License. What's Next?AUSOUG I Am Paying for my Cloud License. What's Next?
AUSOUG I Am Paying for my Cloud License. What's Next?
 
A Journey to Profitability with Oracle PCMCS
A Journey to Profitability with Oracle PCMCSA Journey to Profitability with Oracle PCMCS
A Journey to Profitability with Oracle PCMCS
 
Essbase Calculations: Elements of Style
Essbase Calculations: Elements of StyleEssbase Calculations: Elements of Style
Essbase Calculations: Elements of Style
 
Interstellar - The Thomas Jefferson Enterprise EPM Cloud Journey
Interstellar - The Thomas Jefferson Enterprise EPM Cloud JourneyInterstellar - The Thomas Jefferson Enterprise EPM Cloud Journey
Interstellar - The Thomas Jefferson Enterprise EPM Cloud Journey
 
Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...
Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...
Think Outside the Close: Profitability & Costing Reconciliations in EPM Cloud...
 

Dernier

Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noidadlhescort
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfAdmir Softic
 
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...allensay1
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...lizamodels9
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon investment
 
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876dlhescort
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with CultureSeta Wicaksana
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...daisycvs
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...amitlee9823
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptxnandhinijagan9867
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...lizamodels9
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLkapoorjyoti4444
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwaitdaisycvs
 

Dernier (20)

Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 

KScope14 Jython Scripting

  • 1. Jython Scripting in FDMEE It's Not That Scary Tony Scalese Edgewater Ranzal
  • 3. We offer a full spectrum of EPM/BI Services Dashboards & Scorecards, Financial Analytics & Reporting, Operational Analytics, What-if Analysis, Query & Reporting, Visual Exploration Financial performance, Legal, Segment & Mgmt Reporting, Financial Close HFM Optimization, Performance Lab SOX Compliance Support Strategic Finance, Planning, Budgeting, Forecasting, Workforce Planning, Capital Planning, Project Financial Planning Data Integration, Financial Data Management, Data Warehousing, Master Data Management &DRM, ETL Services, Automation Project/Program Mgmt, EPM Road Maps, Application Reviews, Business Requirements, Process Change, Documentation Installation, Upgrades, Migration, System Monitoring, Backup and Recovery, Disaster Recovery, Load Testing, Hardware Sizing, Exalytics Benchmarking Consolidation Business Intelligence Enterprise Planning Infrastructure Training & Support Services Project Management Data Services Costing & Profitability Mgmt Support Services – Infrastructure & Application Support Contracts Key Teach Course Delivery: Planning, Essbase, Financial Reporting, Smart View, HPCM, HFM, FDM, DRM, OBIEE Custom Training Delivery: Process & Reporting HPCM Standard & Detailed Models, Waterfall Allocations, Activity Based Costing, Customer, Product & LOB Profitability
  • 4.  Jython Overview  Configuring Eclipse  FDMEE Scripting Configuration Agenda
  • 5.  Why Jython and not VBScript? ● Jython is the strategic direction of Oracle development ● Jython is platform independent ● The API supporting Jython scripting will continue to be enhanced ● Jython error handling is more elegant and robust Let’s Get It Out of the Way
  • 6.  Python programming language written in JAVA  Syntax is more sensitive than VBScript  Variable data type is critical; declaration is implicit  Comment characters: # or ‘’’<comment block>’’’  import statement allows easy reuse of code  Far more robust error handling  Familiarize yourself with camelCase  Not that different than VBScript Jython Basics
  • 7.  Import JAVA classes import java.sql as sql  Utilize Try...Except try: Code to execute except: Error handling Script Format
  • 8.  Sys, Traceback: Can be used to get detailed error information including line in script producing error  Java.sql: Used to interact with remote databases  Smtplib: Used for email generation Commonly Used JAVA Classes
  • 9. Method Functionality count(Substring,[Start],[End]) Number of times substring occurs endswith(Suffix,[Start],[End]) Boolean result; does string end with suffix find(substring,[Start],[End]) Returns position where substring is found isdigit() Boolean result; is string all numbers isspace() Boolean result; is string all spaces lower() Puts still in all lower case, similar to lcase replace(old,new,[count]) Replaces text in string split([separator],[max split]) Returns a list, string is divided by separator startswith(prefix,[Start],[End]) Boolean result; does string start with prefix strip([characters]) Removes specified character(s) from string upper() Puts still in all upper case, similar to ucase zfill(width) Returns numeric string filled left with zeros Jython String Manipulation
  • 10. Jython VBScript If Then if x == 100: elif x == 200: else: If x = 100 then Elseif x = 200 then Else End if Case No native statement; utilize dictionary or If Then statements Select Case x Case 100 Case 200 Case Else End Select Jython Statements
  • 11. Jython VBScript Do Loop while x<100: Do something x += 1 Do while x < 100 Do something x = x+1 Loop For Loop for x in range(100): Do something For x = 0 to 100 Do something Next Jython Iteration
  • 12. Jython VBScript List lListName = [‘Elem1’,’Elem2’,’Elem3’] for elem in lListName: print elem aArrayName = Array(“Elem1”,”Elem2”,”Elem3”) For each strElem in aArrayName msgbox strElem Next Dictionary dictName = {} dictName[‘Tony Scalese’] = 36 dictName[‘Opal Alapat’] = 39 for sKey,sItem in dictName.iteritems(): print sKey + ‘’s age is ‘ + str(sItem) Set dictName = CreateObject(“Scripting.Dictionary”) dictName.Add “Tony Scalese”, 36 dictName.Add “Opal Alapat”, 39 For each strKey in dictName.Keys msgbox strKey & “’s age is “ & dictName.Item(strKey) Next Jython Mapping Data Type
  • 13.  Jython Overview  Configuring Eclipse  FDMEE Scripting Configuration Agenda
  • 14.  If a JRE is not installed, be sure to install the 64 bit JRE (install using defaults) ● http://www.oracle.com/technetwork/java/javase/dow nloads/jre7-downloads-1880261.html JAVA Runtime Environment (JRE)
  • 15.  Download Jython 2.5.1 from http://www.jython.org/downloads.html ● Do not use a more up to date version! Jython Download
  • 16.  Select English  Next  Accept the EULA  Next  Select Standard  Next  Leave the default C:Jython2.5.1 directory  Next  May be prompted that the directory is created, click OK and Next again  Leave Current as JAVA home directory  Next  Click Next on the Summary tab, install will begin  Click Next on the ReadMe and then Finish Jython Install
  • 17.  Confirm the C:jython2.5.1 directory exists  Confirm jython.jar file exists Jython Install Confirmation
  • 18.  Download Eclipse Standard from http://www.eclipse.org/downloads/ Download Eclipse
  • 19.  Extract the download to the C: directory  Open the C:Eclipse folder and launch eclipse.exe Extract Eclipse
  • 20.  Specify a default workspace Workspace
  • 21.  Expand General  Editors and click Text Editors  Change the options: ● Display tab width: 2 ● Insert spaces for tabs: Checked ● Show Print Margin: Checked ● Show Line Numbers: Checked Configure Eclipse General Options
  • 22.  Select Windows  Preferences  Expand Install/Update  Click Available Software Sites  Click Add  Name: PyDev  Location: http://pydev.org/updates/  Click OK Install PyDev
  • 24.  Select Help  Install New Software  Click PyDev from the Work With drop down  Check PyDev  Click Next  Click Next  Accept the EULA and click Finish PyDev Install
  • 25.  Put a check next to the certificate  Click OK  Click Yes to restart Eclipse after the install PyDev Install
  • 26.  Windows  Preferences  Expand PyDev and click Editor  Change tab length to 2 Set PyDev Options
  • 27.  Interpreter – Jython  Click New ● Interpreter Name: Jython2.5.1 ● Browse and select Jython.jar from C: drive  Click OK Set PyDev Interpreter
  • 28.  When prompted, leave defaults and click OK Set PyDev Interpreter
  • 29.  Close the Welcome Screen  Right click the Package Explorer  New  Project Creating a Project
  • 30.  Expand PyDev and select PyDev Project  Click Next Creating a Project
  • 31.  Name the Project  Change the project type to Jython  Click Finish  Click Yes when prompted Creating a Project
  • 32.  Right click the Project  Select New  Folder ● Name the folder src ● Repeat and create as lib Organize Code
  • 33.  Right click lib folder and select Import  Expand General and select File System Import JAR Files
  • 34.  From Directory: lib directory of FDM ● %hyperion_home%ProductsFinancialDataQualityli b  Check the aif-apis.jar  Click Finish Import FDMEE JAR
  • 35.  Right click the project (ER_FDMEE)  Select Properties  Click PyDev – PYTHONPATH  Click Add jar/zip/egg  Expand the project and click the lib folder Update Python Path
  • 36.  Add new PyDev module ● Right click src folder ● New  PyDev module Creating Modules
  • 37.  Specify a name  Click Finish  When prompted for a template, select Module main and click OK Creating Modules
  • 38.  Add print “hello”  Run the script ● Run as Jython Run  hello shows in the console window when successful Testing Module
  • 39.  Add the following text to the module: ● import com.hyperion.aif.scripting.API as API  Save the module  Type API(). on a new line.  A list of available methods will display Testing FDMEE API Usage
  • 40.  Jython Overview  Configuring Eclipse  FDMEE Scripting Configuration Agenda
  • 41.  The equivalent of Import – Data Pump scripts in FDM Classic  Import Integration scripts have been replaced by the Open Interface adaptor and the BefImport event script  Import scripts are used to manipulate data during the import process  Execute during an import process when assigned to the import format used by the location and data load rule  Every line in the data file is evaluated  Avoid the temptation to overuse import scripts ● Parsing strings that cannot be parsed by an import format ● Temporary variables storing header information ● Mapping data should be done in maps, not import scripts Import Scripts
  • 42.  Define the script name ● def ScriptName (strfield,strrecord):  Write script actions ● aField = split(strrecord,”-”) ● sCostCenter = aField[1]  Return result to function ● return sCostCenter Import Script Syntax Notice the colon at the end
  • 43. def EBS_CostCenter(strField, strRecord): sCC = strField if strField.count(“.”) > 0: aSegments = strField.split(‘.’) sCC = aSegments[2] return sCC Sample Import Script Notice the colon at the end
  • 44.  No longer limited to 5  Declare a variable before the function  Designate the variable as global strDept = “” def Nvision_Entity(strfield,strrecord): if strrecord[1:5] == “Dept:”: global strDept strDept = strrecord[6:9] return strfield Temporary Variables (RES.pVarTempx)
  • 45.  Simply return temporary variable in “assign” script def Nvision_C1(strfield,strrecord): return strDept Using Temporary Variables
  • 46.  Similar in concept to varValues  Be careful of overuse due to performance impacts  Enter #SCRIPT to activate script section of maps  fdmRow.getString(“FieldName”)  fdmResult = “Mapped_Result” Mapping Scripts
  • 47.  Execute during defined events within the application  Fewer than FDM Classic, notably StartUp, POVChanged  Scope needs to be well defined to ensure process only executes when needed  No need to declare function ● def BefImport():  Not needed Event Scripts
  • 48. Event Description FDM Classic Equivalent Import Executes any time the import process is executed ImportAction, FileImport Calculate Before & After Logic groups and maps processing Calculate ProcLogicGrp When logic groups are assigned ProcLogicGroup ProcMap Executes ONCE during mapping application ProcMap Validate Validate workflow step Validate ExportToDat Export workflow step ExportToDat Load Export workflow step Load Consolidate Export workflow step Consolidate Check Check workflow step Check Events – Before and After
  • 49.  Custom scripts are used to extend the functionality of FDMEE  Custom script are organized in groups ● Scripts can be assigned to multiple groups  Custom scripts are registered ● Similar to Menu Maker specifying a caption ● Parameters can be added to make a script more dynamic  Custom scripts can executed from web UI  No need to declare function ● def ER_OutputData():  Not needed Custom Scripts
  • 50.  Create a group ● Logical grouping that a user can select ● By Region: North America, EMEA, Asia Pacific ● By Purpose: Data Exports, Budget, Actuals  Register script to group ● Add parameters if applicable Custom Script Registration
  • 51.  Select Group  Select Script & click Execute ● Specify parameters if applicable  Select Execution Mode and click OK Executing Custom Scripts
  • 52.  Used to test code without actually impacting the data in FDMEE  4 sections: 1. Initialize dev mode 2. Populate context 3. Custom code 4. Clean-up actions  Once code is tested, sections 1, 2 & 4 can be removed, handled natively by the application Development Mode
  • 53. Commonly Used Occasionally Used Rarely Used APPID CATKEY CATNAME CHKSTATUS EXPSTATUS IMPSTATUS INBOXDIR LOADID LOCKEY LOCNAME OUTBOXDIR PERIODNAME PERIODKEY PROCESSSTATUS SCRIPTSDIR VALSTATUS EXPORTFLAG EXPORTMODE FILEDIR FILENAME IMPORTFLAG IMPORTFORMAT IMPORTMODE MULTIPERIODLOAD RULEID RULENAME SOURCENAME SOURCETYPE TARGETAPPDB TARGETAPPNAME BATCHSCRIPTDIR EPMORACLEHOME EPMORACLEINSTANCEHOME FDM Context  Each execution includes a collection of information
  • 54. import java.math.BigDecimal as BigDecimal import java.sql as sql import com.hyperion.aif.scripting.API as API fdmAPI = API() conn = sql.DriverManager.getConnection("jdbc:oracle:thin:@server:port:SID", "user", "password"); conn.setAutoCommit(False) fdmAPI.initializeDevMode(conn); print “Connected” Initialize Development Mode
  • 55. fdmContext = fdmAPI.initContext(BigDecimal(LoadID)) print “Location Name: “ + fdmContext[“LOCNAME”] Populate Context
  • 57.  getPOVLocation(LoadID), Category, StartPeriod, EndPeriod: Returns key, not text  executeDML(query,param_list)  getCustomScriptParameterValue(loadID,param): Load ID is optional  executeQuery(query,parameters): Returns recordset  showCustomFile(FilePath): Display file  showCustomMessage(message)  logFatal(message), Error, Warn, Info, Debug Useful FDM APIs
  • 58.  The BefImport event script is used in conjunction with the Open Interface adaptor to import data from relational source  This approach replaces import integration scripts from FDM Classic  Check out Mike Casey’s presentation - Using the Open Interface Adapter in FDM Enterprise Edition 11.1.2.3 - on 6/25 from 2-3 for a deep dive into the setup Integrating Data from Relational Sources
  • 59. import java.text.SimpleDateFormat as SimpleDateFormat import java.sql as sql strPOVPer = fdmContext["PERIODKEY"] strYear = SimpleDateFormat("yyyy").format(strPOVPer) lngMonth = SimpleDateFormat("MM").format(strPOVPer) strMonth = SimpleDateFormat("MMM").format(strPOVPer) batchName = "MatchDataLoadRuleParam" BefImport Script Sample - Setup
  • 60. insertStmt = """ INSERT INTO AIF_OPEN_INTERFACE ( BATCH_NAME ,YEAR ,PERIOD ,PERIOD_NUM ,CURRENCY ,COL01 ,COL02 ,AMOUNT ) VALUES ( ? ,? ,? ,? ,? ,? ,? ) """ BefImport Script Sample – Build Query
  • 61. #Connect to source DB sourceConn = sql.DriverManager.getConnection("jdbc:oracle:thin:@Serv er:Port:SID","User","Password"); #Build SELECT statement to get data to insert selectStmt = "Select * from table n" selectStmt = selectStmt + "Where 1=1 n" #Run the query to get the data stmt = sourceConn.prepareStatement(selectStmt) RS = stmt.executeQuery() BefImport Script Sample – Run Query
  • 62. #Loop through the data and import it into the Open Interface table while(RS.next()): params = [ batchName, strYear,strMonth,lngMonth, "USD", RS.getString("Account"), RS.getString("Entity"), RS.getBigDecimal("Amount") ] fdmAPI.executeDML(insertStmt, params, False) fdmAPI.commitTransaction() #Close the connection RS.close() sourceConn.close() BefImport Script Sample – Import Data