FDMEE API

Hello Experts,
The API functions available in FDMEE seems to be a subset of what was available in FDM. For instance, to import mappings we used to have API.IntBlockMgr.InterfaceMgr.fImpTRx in FDM. This is not working in FDMEE (Even after initializing FDMEE API). Could you please let me know the equivalent of this fn call in FDMEE or a way to automate the mapping import from flat files/custom tables. The admin guide has a very limited set of function calls in FDMEE. Any help is appreciated.
Thanks,
Venki.

Hi,
I guess tat function has not been implemented yet in the new API and not 100% sure it will.
But you can create a function in vb/jython to import maps into table TDATAMAP.
Take a look to the table to see which columns you need to import.
Hope that helps.
akafdmee.blogspot.com
@akafdmee

Similar Messages

  • FDM import script need to reformat in fdmee

    Hi Guru's
    i am in the process of migrating from fdm classic to fdmee and require your help to come up on this as i am new to Python scripting.
    I am pulling the data from Oracle database through a view and want to change the below script in Jython FDMEE format to pull the data.
    Can someone help or guide me on how to proceed.
    Dim objSS
    'ADODB.Connection
    Dim strSQL
    'SQL string
    Dim rs   
    'Recordset
    Dim rsAppend
    'tTB table append rs object
    Dim Prd
    Dim Yr
    Dim Sp
    Dim Ct
    'Initialize objects
    Set cnSS = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    Set rsAppend = DW.DataAccess.farsTable(strWorkTableName)
    Prd = FormatDateTime(CDate(dblPerKey),1)
    Yr = Right(Prd, 4)
    Prd = UCase(CStr(Mid(Prd, InStr(Prd, ",")+2, 3)))
    'Connect to Oracle database
    cnss.open "Provider=OraOLEDB.Oracle.1;Password=" &  DecryptPassword(3, "ojwo`f") & ";Persist Security Info=True;User ID=test;Data Source=test"
    'Create query string
    strSQL = "Select * FROM "
    Select Case lngCatKey
    Case 13: strSql = strSql & "KDDBI_BUDG_STATIC_VW"
    End Select
    strSQL = strSQL & " where PERIOD_YEAR = '" & YR & "' and PERIOD ='" & Prd & "' And CURRENCY_CODE <> 'STAT'"
    'Get data
    CnSS.commandTimeout = 240
    rs.Open strSQL, cnSS
        'Check for data
    If rs.bof And rs.eof Then
    RES.PlngActionType = 2
            RES.PstrActionValue = "No Records to load!" & "SQL:" & StrSQL
    Exit Function
    End If
    'Loop through records and append to FDM Worktable table in location's DB
    If Not rs.bof And Not rs.eof Then
    Do While Not rs.eof
    For Ct = 1 To 2
    If Ct = 1 Then
    rsAppend.AddNew
    rsAppend.Fields("PartitionKey") = RES.PlngLocKey
    rsAppend.Fields("CatKey") = lngCatKey
    rsAppend.Fields("PeriodKey") = dblPerKey
    rsAppend.Fields("DataView") = "YTD"
    rsAppend.Fields("Account") =UCase (rs.fields("ACCT_CODE").Value)
    rsAppend.Fields("Entity") = UCase (rs.fields("CO").Value)
    rsAppend.Fields("UD1") = UCase("APPROVED")
    rsAppend.Fields("UD4") = UCase("CLBALANCE")
    rsAppend.Fields("UD3") = UCase (rs.fields("DEPT").Value)
    rsAppend.Fields("UD6") = UCase("LOCAL")
    rsAppend.Fields("UD7") =UCase (rs.fields("LOC").Value)
    rsAppend.Fields("UD9") = UCase (rs.fields("PRODUCT").Value)
    rsAppend.Fields("UD5") = UCase("HSP_INPUTVALUE")
    If Left(rs.fields("ACCT_CODE").Value, 1) = "3" Or Left(rs.fields("ACCT_CODE").Value, 1) = "2" Then
    rsAppend.Fields("Amount") = CDbl(Nz(rs.fields("BUDGET_LC").Value)) * -1
    Else
        rsAppend.Fields("Amount") = CDbl(Nz(rs.fields("BUDGET_LC").Value))
    End If
    rsAppend.Update
    Else
    rsAppend.AddNew
    rsAppend.Fields("PartitionKey") = RES.PlngLocKey
    rsAppend.Fields("CatKey") = lngCatKey
    rsAppend.Fields("PeriodKey") = dblPerKey
    rsAppend.Fields("DataView") = "YTD"
    rsAppend.Fields("Account") =UCase (rs.fields("ACCT_CODE").Value)
    rsAppend.Fields("Entity") = UCase (rs.fields("CO").Value)
    rsAppend.Fields("UD1") = UCase("APPROVED")
    rsAppend.Fields("UD4") = UCase("CLBALANCE")
    rsAppend.Fields("UD3") = UCase (rs.fields("DEPT").Value)
    rsAppend.Fields("UD6") = UCase("KWD")
    rsAppend.Fields("UD7") =UCase (rs.fields("LOC").Value)
    rsAppend.Fields("UD9") = UCase (rs.fields("PRODUCT").Value)
    rsAppend.Fields("UD5") = UCase("HSP_INPUTVALUE")
    If Left(rs.fields("ACCT_CODE").Value, 1) = "3" Or Left(rs.fields("ACCT_CODE").Value, 1) = "2" Then
    rsAppend.Fields("Amount") = CDbl(Nz(rs.fields("BUDGET_KD").Value)) * -1
    Else
        rsAppend.Fields("Amount") = CDbl(Nz(rs.fields("BUDGET_KD").Value))
    End If
    rsAppend.Update
    End If
    Next
    rs.movenext
    Loop
    End If
    'Close Record Sets
    rs.close
    rsAppend.close
    'Assign Return value
    Budget_Approved = True

    How is one supposed to modify VB functions in FDM such as farsTableAppend so that it is supported in FDMEE scripts?
    I generated an API documentation from FDMEE AIF-APIs.jar (which is supposed to have all the FDMEE APIs in it I guess) but I dont see replacement for VB functions such as farsTableAppend, fExpTRx, PstrClientType, though I can see other methods in the documentation for eg. getEPMOracleHome() etc.. (All these functions that we can view using eclipse as an editor for FDMEE Dev).
    Is there any other method in the FDMEE API that I should be using to replace these functions for FDMEE Support?
    I have one more question regarding AIF-CUSTOM.jar file, what is the purpose of this jar, do we get any  additional methods in this file
    Please advise..
    Thanks in Advance

  • FDMEE Jython scripting

    Hello all,
    I am new to FDMEE, Classic FDQM. I am up to a task to convert some of the VB scripts from release 113 into Jython scripts which will be compatible with FDMEE in EPM 123.
    When I try to  execute the Java APIs for FDMEE I am getting errors in the script, The environment is set properly as all the APIs are identified correctly by the Eclipse editor and I no longer get the NoClassDefinedException.
    I tried executing getEPMOracleHome() from the FDMEE APIs but it is throwing an exception, basically I think somewhere I am missing the life cycle to implement FDMEE APIs in the Jython Code..
    Can anyone tell me the life cycle to implement  these APIs or any Document which shows me how can I start FDMEE Coding in Jython?
    Thanks
    Arpan

    Hello Francisco,
    This is the code that is giving me error:
    if __name__ == '__main__':
    print "hello"
    import java.math.BigDecimal as BigDecimal 
    import java.sql as sql 
    import com.hyperion.aif.scripting.API as API 
    fdmAPI = API() 
    conn = None 
    conn = sql.DriverManager.getConnection("jdbc:sqlserver://localhost\\MSSQLSERVER;user=sa;password=hyperion@14"); 
    conn.setAutoCommit(False) 
    fdmAPI.initializeDevMode(conn); 
    print "SUCCESS CONNECTING TO DB" 
    fdmContext = fdmAPI.initContext(BigDecimal("2"))
    print "hello"
    and this is the output/error that am getting now
    hello
    SUCCESS CONNECTING TO DB
    Traceback (most recent call last):
      File "C:\FDMEE\SCRIPTS\Src\Test2.py", line 12, in <module>
        fdmContext = fdmAPI.initContext(BigDecimal("2"))
        at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338)
        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:185)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:160)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:281)
        at com.hyperion.aif.scripting.API.initContext(API.java:817)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
    com.microsoft.sqlserver.jdbc.SQLServerException: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'AIF_PROCESSES'.
    The Load ID that you can see is an id I could generate after executing a data load process through FDMEE, not sure if this is exactly what should I be giving there..
    Thanks
    Arpan

  • Issue with FDMEE custom script

    Hi All,
    I have written a custom script in FDMEE which pulls data from Oracle DB and writes it to a file in FDMEE App Inbox folder. This script is working perfectly in FDM where in I see file getting generated in Inbox folder. But, when I try to execute the same script in FDMEE, it is not working even though it is not giving any error.
    All I changed in the script is API syntax which is specific to FDMEE. Can any one please let me know what is that I am missing here..I am using this script to test FDMEE connectivity to DB.
    Below is the script:
    Sub TEST_MAPS()
    'Oracle Hyperion FDM Custom Script:
    'Purpose:      
    'Variable Declaration
    Dim SQLRes
    Dim objfso
    Dim strFile
    Dim strLoadFile
    Const ForReading = 1
    Const ForWriting = 2
    Const adVarChar = 200
    Const MaxCharacters = 255
    Const adFldIsNullable = 32
    'Initialize objects
    Set cnSS = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    'Connect to Oracle database
    cnss.open "Provider=ORAOLEDB.ORACLE;Data Source=ds1;User ID=app;Password=xxxx"
    SQLRes = "Select * from ENTITY_MAP"
    'command for executing the query
    cnss. Execute SQLRes
    'Creates a .tra file in the below mentioned path
    strFile= fdmAPI.API.DataWindow.Connection.PstrDirInbox & "\Entity.tra"
    rs.open SQLRes,cnSS
    'Copy data from table to text file
    'Initialize the object for opening a text file for writing
    Set objfso = CreateObject("Scripting.FileSystemObject")
    Set objWFile = objfso.OpenTextFile(strFile, ForWriting,True)
    'Loop
    With rs
    'Open the file for writing, overwriting if it exists
      Do While Not .EOF
          objWFile.Write .GetString(2,,",",vbCrLf)' Write the records to file
      Loop
      'End If
    .Close
    End With
    End Sub
    Below is the log:
    2015-02-24 15:41:38,991 INFO  [AIF]: FDMEE Process Start, Process ID: 13,949
    2015-02-24 15:41:38,991 INFO  [AIF]: FDMEE Logging Level: 5
    2015-02-24 15:41:38,991 INFO  [AIF]: FDMEE Log File: \\app\FDMEEData\HFMCA\\outbox\logs\HFMCA_13949.log
    2015-02-24 15:41:38,991 INFO  [AIF]: User:502376825
    2015-02-24 15:41:38,991 INFO  [AIF]: Location:null (Partitionkey:null)
    2015-02-24 15:41:38,991 INFO  [AIF]: Period Name:null (Period Key:null)
    2015-02-24 15:41:38,991 INFO  [AIF]: Category Name:null (Category key:null)
    2015-02-24 15:41:38,991 INFO  [AIF]: Rule Name:TEST_MAPS (Rule ID:10,162)
    2015-02-24 15:41:41,003 INFO  [AIF]: Jython Version: 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
    [Oracle JRockit(R) (Oracle Corporation)]
    2015-02-24 15:41:41,003 INFO  [AIF]: Java Platform: java1.6.0_37
    2015-02-24 15:41:41,003 INFO  [AIF]: Log File Encoding: US-ASCII
    2015-02-24 15:41:41,440 DEBUG [AIF]: CommProcess.executeCustomScript - START
    2015-02-24 15:41:41,440 DEBUG [AIF]: customScriptName: TEST_MAPS.vbs
    2015-02-24 15:41:41,456 DEBUG [AIF]:
        INSERT INTO AIF_PROCESS_DETAILS (
          PROCESS_ID
          ,ENTITY_TYPE
          ,ENTITY_ID
          ,ENTITY_NAME
          ,ENTITY_NAME_ORDER
          ,TARGET_TABLE_NAME
          ,EXECUTION_START_TIME
          ,EXECUTION_END_TIME
          ,RECORDS_PROCESSED
          ,STATUS
          ,LAST_UPDATED_BY
          ,LAST_UPDATE_DATE
        ) VALUES (
          13949
          ,'PROCESS_CUSTOM_SCRIPT'
          ,NULL
          ,'TEST_MAPS.vbs'
          ,NULL
          ,NULL
          ,CURRENT_TIMESTAMP
          ,NULL
          ,NULL
          ,'RUNNING'
          ,'458790678'      ,CURRENT_TIMESTAMP
    2015-02-24 15:41:41,487 DEBUG [AIF]: Comm.doScriptInit - START
    2015-02-24 15:41:41,768 DEBUG [AIF]: fdmContext: {BATCHSCRIPTDIR=E:\Oracle\Middleware\user_projects\app\FinancialDataQuality, SCRIPTFILE=TEST_MAPS.vbs, INBOXDIR=\\app\FDMEEData\HFMCA\\inbox, TARGETAPPDB=NA, TARGETAPPNAME=HFMCA, APPID=57, RULENAME=TEST_MAPS, OUTBOXDIR=\\app\FDMEEData\HFMCA\\outbox, SCRIPTSDIR=\\app\FDMEEData\HFMCA\\data\scripts, EPMORACLEHOME=E:\Oracle\Middleware\EPMSystem11R1, RULEID=10162, EPMORACLEINSTANCEHOME=E:\Oracle\Middleware\user_projects\app, LOADID=13949}
    2015-02-24 15:41:41,768 DEBUG [AIF]: The EpmOracleHome is set to: E:\Oracle\Middleware\EPMSystem11R1
    2015-02-24 15:41:41,768 DEBUG [AIF]: The EpmOracleInstance is set to: E:\Oracle\Middleware\user_projects\app
    2015-02-24 15:41:41,768 DEBUG [AIF]: The JavaHome is set to: %EPM_ORACLE_HOME%/../jdk160_35
    2015-02-24 15:41:41,768 DEBUG [AIF]: The executeEventScript is set to: YES
    2015-02-24 15:41:41,768 DEBUG [AIF]: The OleDatabaseProvider is set to: ORAOLEDB.ORACLE
    2015-02-24 15:41:41,768 DEBUG [AIF]: The AppRootFolder is set to: \\app\FDMEEData\HFMCA\
    2015-02-24 15:41:41,768 DEBUG [AIF]: Comm.doScriptInit - END
    2015-02-24 15:41:41,768 DEBUG [AIF]: Comm.executeCustomScript - START
    2015-02-24 15:41:41,799 DEBUG [AIF]: Comm.executeVBScript - START
    2015-02-24 15:41:41,799 DEBUG [AIF]: The WindowsTempFolder is set to: c:\users\r00257~1\appdata\local\temp
    2015-02-24 15:41:41,799 INFO  [AIF]: Executing the following script: \\app\FDMEEData\HFMCA\\data\scripts\custom\TEST_MAPS.vbs
    2015-02-24 15:41:41,799 DEBUG [AIF]: The command to be executed is:
    cscript \\app\FDMEEData\HFMCA\\data\scripts\custom\TEST_MAPS.vbs "13949" "****" "E%3A%5COracle%5CMiddleware%5Cuser_projects%5Capp" "%25EPM_ORACLE_HOME%25%2F..%2Fjdk160_35" "ORAOLEDB.ORACLE"
    Microsoft (R) Windows Script Host Version 5.8
    Copyright (C) Microsoft Corporation. All rights reserved.
    2015-02-24 15:41:41,939 DEBUG [AIF]: Comm.executeVBScript - END
    2015-02-24 15:41:41,939 DEBUG [AIF]: Comm.executeCustomScript - END
    2015-02-24 15:41:41,939 DEBUG [AIF]:
        UPDATE AIF_PROCESS_DETAILS
        SET STATUS = 'SUCCESS'
        ,RECORDS_PROCESSED = CASE
          WHEN RECORDS_PROCESSED IS NULL THEN 0
          ELSE RECORDS_PROCESSED
        END + NULL
        ,EXECUTION_END_TIME = CURRENT_TIMESTAMP
        ,LAST_UPDATED_BY = CASE
          WHEN ('502376825' IS NULL) THEN LAST_UPDATED_BY
          ELSE '502376825'
        END
        ,LAST_UPDATE_DATE = CURRENT_TIMESTAMP
        WHERE PROCESS_ID = 13949
        AND ENTITY_TYPE = 'PROCESS_CUSTOM_SCRIPT'
        AND ENTITY_NAME = 'TEST_MAPS.vbs'
    2015-02-24 15:41:41,939 DEBUG [AIF]: CommProcess.executeCustomScript - END

    Hi,
    If you're using CUE, there is a step called "Dial By Extension Menu", this should solve your problem.
    If you're using UCCX (or CUE and don't have this step) you can do the following:
    In the Get Digit String branch Timeout, use an If statement that check if the Number entered was "1" then Call Redirect to Technical Departement Number, else Call Redirect to Operator Extension.
    It should appear like this:
    Extension = Get Digit String
    Timeout
        if (Extension == "1")
            True
                Call Redirect to Technical
            False
                Call Redirect to Operator
    Hope This Helps,

  • Restrict number of rows to be pulled from PeopleSoft's PS_LEDGER table while importing data in FDMEE

    Hi,
    We need to know if FDMEE 11.1.2.3.520 product supports restricting number of rows to be pulled from PeopleSoft's PS_LEDGER table.
    All the records fetched from PS_LEDGER is getting loaded into TDATASEG table.
    Currently, it is trying to pull all the records based on the given "period", "version" and "year" combination. We are looking to restrict rows based on specific account/entity/program/subprogram combination.
    If this is can be done, will it be an out-of-the-box functionality or does it require any customization/import scripts/api.
    Admin guide does say we can use Jython to filter rows using import scripts. However, it seems to be limited to file not a table as a source.
    I have attached a document with the screenshots so that the issue is better understood !
    Thanks,
    Hari

    1)
    When you set a column to hidden in a classic report using the method I described, it creates hidden form elements for that column.
    <tt><input type="hidden" name="f01" value="" id="f01_0002"></tt>
    You should inspect the source to figure out the name value.
    Since this belongs to the wwv_flow form, we can therefore get this data with: wwv_flow.f01
    Alternatively, you could have used the apex_item API to achieve the same result, which probably gives a bit better control.
    http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_item.htm#CHDBFHGA
    select apex_item.hidden(1, col) || col col
    from table
    Set that column to a standard report column so it doesn't escape the html.
    You can also reference the data in these fields using PL/SQL using the apex_application API:
    http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_app.htm#CHDGJBAB
    2)
    As above, setting the column to hidden creates hidden elements on the page. It is simply f01 because that is the only hidden field I would have on my page. With four reports on the page, you would need to be careful not to do the same on the other reports, as you would get inaccurate data. For each report, setting columns to hidden always starts with f01. In that, you would be best to use the apex_item API.
    I actually initially ran into this issue when i had a tabular form on the same page as a report with hidden fields, which was causing conflicts in the page processes.
    Hope it helps.

  • FValueGet Function in FDMEE

    Dear all,
    In FDM Classic I could use the fValueGet function to retrieve data from HFM. Is there a similar API existing in FDMEE if I want to create a mapping based on a pre-load data value in my HFM target application?
    Thanks a lot in advance,
    Christian

    Hi,
    once the adapter is initialized maybe you are able to use:
    fValueGet(strEntity, strParent, strAccount, strICP, strC1, strC2, vaCustoms, strValue, strScenario, strYear, strPeriod, strView)
    Note, that using this method is not supported.
    in any case,
    API existing in FDMEE if I want to create a mapping based on a pre-load data value in my HFM target application?
    is that pre-loaded value loaded thru FDMEE?
    In that case, you could use SQL scripts in the mappings

  • How to Query/Lookup Data Target HFM Application in FDMEE Import / Validation Step

    Hi Experts,
    We are using FDMEE 11.1.2.3.500 to load 2 sets of Flat Files - ICP Trial Balances and Non-ICP Trial Balances. The ICP Trial Balances will be loaded to Target HFM Application first using FDMEE and then the remaining Non-ICP Trial balances Load would follow
    We have a complex business requirement wherin we want to check if the Non-ICP Trial Balances for a given ENTITY, ACCOUNT, [ICP None] combination in the Trial Balance File matches the already loaded ICP Trial Balances for ENTITY, ACCOUNT, [ICP Total]. If it matches then this record has to be skipped from our data load else it has to be loaded. To elaborate with an example:
                                                                  Entity    Account     ICP              Amount
    File 1 (ICS_TB.csv) - Record 1  ->          E1          A1           P1                  100
    File 1 (ICB_TB.csv) - Record 2  ->          E1          A1           P2                  300
    Above File Gets Loaded First
    File 2 (Non_ICP_TB) - Record 1->          E1          A1          [ICP None]      400    (Record to be skipped - It matches the above already loaded File)
    Is it possible to validate this during Import or Validate Step in FDMEE? if yes, can you please throw some light on how this can be done?
    Thanks!

    As far as I am aware there is no seperate Java API reference manual for FDMEE, you are limited to the information available in the Admin Guide for now. If you feel that it is not comprehensive enough perhaps you could raise a ticket or enhancement request via Oracle Support.
    The sysntax for the statement should be dmAPI.executeDML(String query,Object[] parameters) according to the AG, I wouldn't put 100% trust in that as it can often be incorrect, but give it a try. Ensure the 2nd parameter is a Jython list.
    I don't think the method supports passing a Stored Procedure and there doesn't appear to be another native API method listed that would do that. You could initiate the connection using standard Python or Java libraries and then use a cursor and prepared statements to execute the sql or the callproc method of the Python DB API

  • How to execute SQL SELECT QUERY using VB in FDMEE

    Hi Experts,
    We are struggling with converting some of the FDM VB Scripts to FDMEE. While in FDM it was possible to simply create a RS Object, it doesnt seem to work in FDMEE. Can you please help me with some code samples that will help me execute SELECT Query and taking the output of the Query to Appropriate Variables.
    Also it seems that the Accelerators in erstwhile FDM are no longer available in FDMEE. So we have to re-write our entire code all over again
    Thanks

    There are plenty of code examples in the FDMEE guide and al of the API methods are documented for both Visual Basic and Jython. Personally, I think, if you are having to re-factor your code because you have migrated from FDM to FDMEE I would look at doing it in Jython not the VB API. Jython is the scripting language that will be the mainstream choice going forward and athough the VB API is present to ease the move from FDM to FDMEE I wouldn't be sure how long it will be supported and you therefore may have to perform another code migration not too far down the line. Jython is a very powerful and easy to use if you spend a bit of time familiarizing yourself with the syntax and also opens up the opportunity to leverage the myriad of Java classes out there. Also all of your import scripts have to be in Jython with no VB alternative.
    One other piece of advice is do not try and replicate allyour old code line for line. Look at what you were trying to achieve, assess whether it is still relevant or can it be faciliated by the new extended out of the box constructs and functionality FDMEE offers over classic FDM.

  • Write back in FDMEE

    Hi Team ,
    Am trying to do write back from my planning application to Oracle EBS . I am getting below error message when i run the Write back rule . Please advise if am missing something .
    2015-03-09 00:43:28,829 INFO  [AIF]: Period Name:NA (Period Key:null)
    2015-03-09 00:43:28,830 INFO  [AIF]: Category Name:NA (Category key:null)
    2015-03-09 00:43:28,830 INFO  [AIF]: Rule Name:Writeback (Rule ID:83)
    2015-03-09 00:43:30,151 INFO  [AIF]: FDM Version: 11.1.2.3.520
    2015-03-09 00:43:30,152 INFO  [AIF]: Jython Version: 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
    [Oracle JRockit(R) (Oracle Corporation)]
    2015-03-09 00:43:30,152 INFO  [AIF]: Java Platform: java1.6.0_37
    2015-03-09 00:43:30,152 INFO  [AIF]: Log File Encoding: WINDOWS-1251
    2015-03-09 00:43:31,502 INFO  [AIF]: Resolved user name for application access: admin
    2015-03-09 00:43:31,629 INFO  [AIF]: [HPLService] Info: Cube Name: PAAX
    2015-03-09 00:43:31,630 INFO  [AIF]: [HPLService] Info: Importing data from XXXX:PAAX...
    2015-03-09 00:43:35,547 INFO  [AIF]: [HPLService] Info: Data import complete
    2015-03-09 00:43:35,550 INFO  [AIF]: [HPLService] Info: [importWritebackData:706] END (true)
    2015-03-09 00:43:35,687 FATAL [AIF]: Error in CommWb.insertTransProcessDetails
    Traceback (most recent call last):
      File "<string>", line 1370, in insertTransProcessDetails
    RuntimeError: No periods were identified for loading data into table 'TDATASEGW'.
    2015-03-09 00:43:35,772 FATAL [AIF]: Error in COMM WB Map Data
    2015-03-09 00:43:35,780 INFO  [AIF]: FDMEE Process End, Process ID: 706
    Regards,
    Roshin

    Hi Tom ,
    Please find the log
    ODI-1217: Session COMM_GL_WRITEBACK_BALANCES (1029501) fails with return code 7000.
    ODI-1226: Step FAILED - Import Data fails after 1 attempt(s).
    ODI-1232: Procedure COMM WB Finalize Process execution fails.
    Caused By: org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
      File "<string>", line 13, in <module>
      File "<string>", line 162, in finalizeProcess
    RuntimeError: ODI-1226: Step COMM WB Import Data fails after 1 attempt(s).
    ODI-1232: Procedure COMM WB Import Data execution fails.
    Caused By: org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
      File "<string>", line 9, in <module>
      File "<string>", line 1785, in importData
    RuntimeError: com.essbase.api.base.EssException: Cannot calculate. Essbase Error(1200471): Error parsing formula for [FIX STATEMENT] (line 4): expression expected before [)]
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:580)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1931)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: Traceback (most recent call last):
      File "<string>", line 9, in <module>
      File "<string>", line 1785, in importData
    RuntimeError: com.essbase.api.base.EssException: Cannot calculate. Essbase Error(1200471): Error parsing formula for [FIX STATEMENT] (line 4): expression expected before [)]
    at org.python.core.PyException.fillInStackTrace(PyException.java:70)
    at java.lang.Throwable.<init>(Throwable.java:181)
    at java.lang.Exception.<init>(Exception.java:29)
    at java.lang.RuntimeException.<init>(RuntimeException.java:32)
    at org.python.core.PyException.<init>(PyException.java:46)
    at org.python.core.PyException.doRaise(PyException.java:200)
    at org.python.core.Py.makeException(Py.java:1166)
    at org.python.core.Py.makeException(Py.java:1170)
    at org.python.core.Py.makeException(Py.java:1174)
    at org.python.core.Py.makeException(Py.java:1178)
    at org.python.pycode._pyx3160.importData$25(<string>:1818)
    at org.python.pycode._pyx3160.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java:165)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
    at org.python.core.PyFunction.__call__(PyFunction.java:385)
    at org.python.core.PyMethod.__call__(PyMethod.java:215)
    at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
    at org.python.core.PyMethod.__call__(PyMethod.java:206)
    at org.python.core.PyObject.__call__(PyObject.java:432)
    at org.python.core.PyObject.__call__(PyObject.java:436)
    at org.python.pycode._pyx3164.f$0(<string>:9)
    at org.python.pycode._pyx3164.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java:165)
    at org.python.core.PyCode.call(PyCode.java:18)
    at org.python.core.Py.runCode(Py.java:1204)
    at org.python.core.Py.exec(Py.java:1248)
    at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1930)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    ... 1 more
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:580)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1931)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: Traceback (most recent call last):
      File "<string>", line 13, in <module>
      File "<string>", line 162, in finalizeProcess
    RuntimeError: ODI-1226: Step COMM WB Import Data fails after 1 attempt(s).
    ODI-1232: Procedure COMM WB Import Data execution fails.
    Caused By: org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
      File "<string>", line 9, in <module>
      File "<string>", line 1785, in importData
    RuntimeError: com.essbase.api.base.EssException: Cannot calculate. Essbase Error(1200471): Error parsing formula for [FIX STATEMENT] (line 4): expression expected before [)]
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:580)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1931)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: Traceback (most recent call last):
      File "<string>", line 9, in <module>
      File "<string>", line 1785, in importData
    RuntimeError: com.essbase.api.base.EssException: Cannot calculate. Essbase Error(1200471): Error parsing formula for [FIX STATEMENT] (line 4): expression expected before [)]
    at org.python.core.PyException.fillInStackTrace(PyException.java:70)
    at java.lang.Throwable.<init>(Throwable.java:181)
    at java.lang.Exception.<init>(Exception.java:29)
    at java.lang.RuntimeException.<init>(RuntimeException.java:32)
    at org.python.core.PyException.<init>(PyException.java:46)
    at org.python.core.PyException.doRaise(PyException.java:200)
    at org.python.core.Py.makeException(Py.java:1166)
    at org.python.core.Py.makeException(Py.java:1170)
    at org.python.core.Py.makeException(Py.java:1174)
    at org.python.core.Py.makeException(Py.java:1178)
    at org.python.pycode._pyx3160.importData$25(<string>:1818)
    at org.python.pycode._pyx3160.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java:165)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
    at org.python.core.PyFunction.__call__(PyFunction.java:385)
    at org.python.core.PyMethod.__call__(PyMethod.java:215)
    at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
    at org.python.core.PyMethod.__call__(PyMethod.java:206)
    at org.python.core.PyObject.__call__(PyObject.java:432)
    at org.python.core.PyObject.__call__(PyObject.java:436)
    at org.python.pycode._pyx3164.f$0(<string>:9)
    at org.python.pycode._pyx3164.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java:165)
    at org.python.core.PyCode.call(PyCode.java:18)
    at org.python.core.Py.runCode(Py.java:1204)
    at org.python.core.Py.exec(Py.java:1248)
    at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1930)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    ... 1 more
    at org.python.core.PyException.fillInStackTrace(PyException.java:70)
    at java.lang.Throwable.<init>(Throwable.java:181)
    at java.lang.Exception.<init>(Exception.java:29)
    at java.lang.RuntimeException.<init>(RuntimeException.java:32)
    at org.python.core.PyException.<init>(PyException.java:46)
    at org.python.core.PyException.doRaise(PyException.java:200)
    at org.python.core.Py.makeException(Py.java:1166)
    at org.python.core.Py.makeException(Py.java:1170)
    at org.python.pycode._pyx3158.finalizeProcess$6(<string>:164)
    at org.python.pycode._pyx3158.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java:165)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
    at org.python.core.PyFunction.__call__(PyFunction.java:385)
    at org.python.core.PyMethod.__call__(PyMethod.java:215)
    at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
    at org.python.core.PyMethod.__call__(PyMethod.java:206)
    at org.python.core.PyObject.__call__(PyObject.java:367)
    at org.python.core.PyObject.__call__(PyObject.java:371)
    at org.python.pycode._pyx3165.f$0(<string>:13)
    at org.python.pycode._pyx3165.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java:165)
    at org.python.core.PyCode.call(PyCode.java:18)
    at org.python.core.Py.runCode(Py.java:1204)
    at org.python.core.Py.exec(Py.java:1248)
    at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1930)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    ... 1 more

  • How to load Cell Text (~8000 bytes) in HFM from a Flat File using FDMEE?

    Hi,
    There are numerous posts on OTN describing how to load cell text using the Create Memo API. However, we are struggling to know how do we use FDMEE to load Cell text which is about 8000 bytes from a flat file?
    Basically HFM gives us the flexibility to enter a Free-Form Cell Text with default size of 8000 bytes (which may be increased). However, when we try to manupilate FDMEE and load this to HFM, there is no place-holder/column in FDMEE Staging tables that has sufficient size to place such a long text. All the ATTR are not more than 20 bytes and UDx columns are only 75 bytes.
    Has anyone faced a similar issue and built a workaround for this problem?
    Thanks!

    Did you consider External Tables ?

  • API for Batch processing

    Is there an API in FDMEE to determine if an Event like AftLoad is being executed in Batch?

    Hi
    In FDMEE you can use custom scripts to be executed Before and After batch is processed.
    To get that determination from Event Script you would have to build your own code to check if the LOADID is in  AIF_BATCH_LOAD_AUDIT.
    What are you trying to achieve?

  • Unable to capture user comments and responder in RESPOND API

    We are building a custom application that uses Oracle Workflow underneath. The application users and responsibilities have been integrated into Workflow. Notifications are acknowledged and responded to directly from the application using the PL/SQL Notification APIs.
    When using the wf_notification.respond API with the appropriate user and comment information filled in, we are still unable to capture the responder information as well as the reponders comments. In other words, the RESPONDER and USER_COMMENT fields in the WF_NOTIFICATION is blank. However, the response does seem to go through otherwise. Do we need to set some kind of user context outside of just setting the response attributes and calling the respond API? Following is the code....
    owf_mgr.wf_notification.setattrtext(p_nid,
                   'RESULT'          ,
                   'APPROVED');
    -- This procedure then caused the WF to advance to next step
    -- Respond to notification, depends on RESULT setattrtext above
    owf_mgr.wf_notification.respond(     p_nid, -- notification id     
         p_respond_comment,     -- response_comment
    p_responder     );     --responder role
    Any help is greatly appreciated.
    Thanks,
    Raj

    If you are on 11.5.10 or greater or standalone 2.6.4 if you pass the responder value to wf_notification.respond API it should be updated in wf_notifications.responder column. The comments is now updated in wf_comments table against the notification id and not wf_notifications.user_comment column.
    Thanks, Vijay

  • SR Log Error - |  Message  : com.sap.esi.uddi.sr.api.exceptions.SRException

    Hi,
    We are getting below errors in /nwa/logs. We have our PI (7.11) and Service Registry configured on the same server. And have out CE (7.2) system connected to this service registry. Does any one has similar experience? Please let me know if you have any solution for the same.
    SR Log Error
    |  11-Nov-11  14:10:45.568
    |  Method   : getClassificationSystems()
    |  Class    : com.sap.esi.uddi.sr.api.ws.ServicesRegistrySiImplBean
    |  ThreadID : 146
    |  Message  : com.sap.esi.uddi.sr.api.exceptions.SRException: No classification system found for ID 'QName: Namespace= http://uddi.sap.com/classification; Name=  ConfigurationFlags'
    |
    |       com.sap.esi.uddi.sr.impl.common.Utility.cs2srException(Utility.java:122)
    |       com.sap.esi.uddi.sr.impl.ejb.ServicesRegistryBean.getClassificationSystems(ServicesRegistryBean.java:242)
    |       sun.reflect.GeneratedMethodAccessor1325.invoke(Unknown Source)
    |       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    |       java.lang.reflect.Method.invoke(Method.java:585)
    |       com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
    |       com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    |       $Proxy1087.getClassificationSystems(Unknown Source)
    |       com.sap.esi.uddi.sr.api.ws.ServicesRegistrySiImplBean.getClassificationSystems(ServicesRegistrySiImplBean.java:456)
    |       sun.reflect.GeneratedMethodAccessor1324.invoke(Unknown Source)
    |       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    |       java.lang.reflect.Method.invoke(Method.java:585)
    |       com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_WS.invoke(Interceptors_WS.java:31)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
    |       com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationContainer.java:203)
    |       com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessingEnvironment.java:512)
    |       com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:486)
    |       com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:256)
    |       com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.java:176)
    |       com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.java:112)
    |       com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:70)
    |       SoapServlet.doPost(SoapServlet.java:51)
    |       javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    |       javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    |       com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:140)
    |       com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:37)
    |       com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:486)
    |       com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)
    |       com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:396)
    |       com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:385)
    |       com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:245)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
    |       com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    |       com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:428)
    |       com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)
    |       com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
    |       com.sap.engine.core.thread.execution.Executable.run(Executable.java:115)
    |       com.sap.engine.core.thread.execution.Executable.run(Executable.java:96)
    |       com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:314)
    |

    Hi,
    Refer Error:Service Registyr Configuration PI 7.11
    and http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8071b1b8-3c5c-2e10-e7af-8cadbc49d711?QuickLink=index&overridelayout=true
    Thanks,
    Chandra

  • Is There any API in receivables payment will made against closed invoices ?

    Hi ALL,
    i have requirement as below.
    i am doing AR Invoice Data Migration for Instance 11.5.5 (as a Source Instance) to the new instance R12 (as a target instance).
    Both open and closed invoices will have to be migrated from 11.5.5 to R12 to provide the drill down facility for audit purpose.
    To meet the above requirement all the open and closed invoice will be picked up from 11.5.5 ; and imported into R12..
    Subsequently, full payment will be made in R12 against all closed invoices in 11.5.5 to close those invoices by using any APIs?
    can some one explain is there any API in receivables payment will made against closed invoices.
    Thanks,
    VSR.

    Hi,
    Can you be clear on your question: You want any API to make payment against closed invoices?
    To me, You are making things complex. We can achieve the Migration of Closed invoices using following two procedures:
    Procedure: 1
    Ask Functional Guy to create a Transaction Type 'Closed Invoices' with Open to Receivables Flag not checked. +(You can uncheck Post to GL flag also, if required depending on your migration strategy)+. Status at Transaction Type if taken as 'Closed' it will be appropriate.
    Invoices migrated using this Transaction Type shall not be shown as Outstanding but will be useful for Audit.
    Procedure: 2
    Consider the amount due Original of Closed Invoices and migrate them with the amount as Amount due remaining.
    While migrating populate Receipt Method,Payment Method and Instruments useful for Automatic Receipts.
    Once Create Automatic Receipts Program is run, it will close all these invoices. Note: We require dummy bank here which points to a Clearing account.
    Automatic Receipts program is also an API.
    In the above 2 ways, we are acheiving the Goal by using Functional knowledge rather than Technical. And I think following Functional way is better and less time consuming.
    Please discuss with your Functional consultant if required. You can succeed.
    Regards,
    Sridhar

  • FDMEE: Source Period Mapping in Open Interface Adaptor

    Hello,
    I want to use open interfce Adaptor to load data in FDMEE (AIF_Open_Interface) from a Custom SQL Source where periods are in rows and data in last column of SQL table, like
    Fyear      period      entity      account      Currency      Data
    2012      1           10000           100022       USD          171778.87
    2012      1         10000           100022       USD           -10343
    please suggest, how can i bring this data in FDMEE ?
    Many Thanks !!!

    Hi Ramanujam,
    There are 3 methods to update the Calendar or defining the period
    E-Business Suite and PeopleSoft calendars have these important elements:
    Calendar—Identifier for a calendar
    Start Date—Start date of the period
    End Date—End date of the period
    Refer the section "Define Period mappings" (Pg 102 - 108) in guide - http://docs.oracle.com/cd/E40248_01/epm.1112/erpi_admin.pdf
    Thanks,

Maybe you are looking for