Sunteți pe pagina 1din 2

###############################################################################

#
# Purpose: Clear script specific to Pluto for PLUTO_FCP_TB_Actual Rule and
PLUTO_FCP_TB Location processes
# July 31, 2019
# Created by: CFO Solutions
#
###############################################################################

import sys
from java.util import Locale
from java.lang import System

# Import the HFM API objects we need in this script


from oracle.epm.fm.hssservice import HSSUtilManager
from oracle.epm.fm.domainobject.application import SessionOM
from oracle.epm.fm.domainobject.data import DataOM
from oracle.epm.fm.common.datatype.transport import WEBOMDATAGRIDTASKMASKENUM
from oracle.epm.fm.common.exception import HFMException
from oracle.epm.fm.common.datatype.transport import ClearDataOptions
from oracle.epm.fm.domainobject.data.manage import ManageDataOM
import java.text.SimpleDateFormat as SimpleDateFormat

# Set the required EPM environment variables


System.setProperty("EPM_ORACLE_HOME", r'D:\Oracle\Middleware\EPMSystem11R1')
System.setProperty("EPM_ORACLE_INSTANCE",
r'D:\Oracle\Middleware\user_projects\epmsystem1')

# Target HFM connection properties


clusterName = "CFOHFM"
userName = "hypadmin"
password = "cf0Pa$$w0rd"
application = "PLUTO"

# Gets PERIODNAME to get starting month of the multi-load


strPOVper = fdmContext["PERIODNAME"]
print strPOVper

# Gets LOCATION Name


strLocName = fdmContext["LOCNAME"]
print strLocName

# Gets Category Name


strCatName = fdmContext["CATNAME"]
print strCatName

# Authenticate user & create HFM Session


print "Logging in to HFM application"
ssoToken = HSSUtilManager.getSecurityManager().authenticateUser(userName,password)
sessionOM = SessionOM()
hfmsession = sessionOM.createSession(ssoToken,
Locale.ENGLISH,clusterName,application)

month = strPOVper[:2]
year = strPOVper[3:]
# Conditional statements

if strCatName == "ACTUAL" and strLocName == "PLUTO_FCP_TB_Actual":

# Clear the Actual based on Load POV using months list and year to populate

while x < 12:


managedataOM = ManageDataOM(hfmsession)
clearmyData = ClearDataOptions()
clearmyData.setSSliceToClear("S#ACTUAL.Y#" + year + ".P#" + month +
".E{CONSOL01.[BASE]}.A{NET_INCOME.[BASE]}.I#[ICP
Top].C1#TOTC1.C2#TOTC2.C3#TOTC3.C4#TOTC4.W#PERIODIC.V#<Entity Currency>")
clearmyData.setBClearData(True)
clearmyData.setBClearRatesAndSystemData(False)
clearmyData.setBEnableDetailedLogging(False)
managedataOM.clearData(clearmyData)
clearmyData.setSSliceToClear("S#ACTUAL.Y#" + year + ".P#" + month +
".E{CONSOL01.[BASE]}.A{TOT_ASSETS.[BASE]}.I#[ICP
Top].C1#TOTC1.C2#TOTC2.C3#TOTC3.C4#TOTC4.W#PERIODIC.V#<Entity Currency>")
managedataOM.clearData(clearmyData)
clearmyData.setSSliceToClear("S#ACTUAL.Y#" + year + ".P#" + month +
".E{CONSOL01.[BASE]}.A{TOT_LIAB_EQTY.[BASE]}.I#[ICP
Top].C1#TOTC1.C2#TOTC2.C3#TOTC3.C4#TOTC4.W#PERIODIC.V#<Entity Currency>")
managedataOM.clearData(clearmyData)
x=x+1

# Close Session

print "Closing session"


sessionOM.closeSession(hfmsession)

S-ar putea să vă placă și