Record successed to write back :0
Hi ALL,
I have tested one allocation by using "/CPMB/ALLOCATION" PROCESS chain. After execution of that package one message I have observed in the formula log. The message is "Record successed to write back :0".
Please let me know about this and how to write back the record. Help me in this.
THE FORMULA LOG:
LOG BEGIN TIME:2011-12-14 09:10:42
FILE:\ROOT\WEBFOLDERS\Global_PandL_BAC\ADMINAPP\CorpBudget\TEST.LGF
USER:Z-BPCSYS
APPSET:Global_PandL_BAC
APPLICATION:CorpBudget
FACTOR:USING/TOTAL
ALLOCATION DATA REGION:
ENTITY:PC10101501,
CATEGORY:BUDGET,
RPTCURRENCY:LC,
TIME:2011.JUN,
PROJECT:WHAT:8392321,WHERE:<<<,USING:<<<,TOTAL:<<<
ENTITY:WHAT:PC10101501,WHERE:<<<,USING:<<<,TOTAL:<<<
ACCOUNT:WHAT:880072,WHERE:880073,USING:880074,TOTAL:880075
DATASRC:WHAT:INPUT,WHERE:<<<,USING:<<<,TOTAL:<<<
RPTCURRENCY:WHAT:LC,WHERE:<<<,USING:<<<,TOTAL:<<<
CLIENT_GROUP:WHAT:1010,WHERE:<<<,USING:<<<,TOTAL:<<<
CATEGORY:WHAT:BUDGET,WHERE:<<<,USING:<<<,TOTAL:<<<
INTCO:WHAT:Non_InterCo,WHERE:<<<,USING:<<<,TOTAL:<<<
--Read WHAT region
[ACCOUNT] =880072
[TIME] =2011.JUN
[CATEGORY] =BUDGET
[CLIENT_GROUP] =1010
[DATASRC] =INPUT
[ENTITY] =PC10101501
[INTCO] =Non_InterCo
[PROJECT] =8392321
[RPTCURRENCY] =LC
--Time to load WHAT :0.16703 second(s).
--Read USING region
[ACCOUNT] =880074
[TIME] =2011.JUN
[CATEGORY] =BUDGET
[CLIENT_GROUP] =1010
[DATASRC] =INPUT
[ENTITY] =PC10101501
[INTCO] =Non_InterCo
[PROJECT] =8392321
[RPTCURRENCY] =LC
--Time to load USING :0.125511 second(s).
--Merge WHAT and USING
--Time to merge WHAT and USING :0.000007 second(s).
--Apply factor
[ACCOUNT] =880075
[TIME] =2011.JUN
[CATEGORY] =BUDGET
[CLIENT_GROUP] =1010
[DATASRC] =INPUT
[ENTITY] =PC10101501
[INTCO] =Non_InterCo
[PROJECT] =8392321
[RPTCURRENCY] =LC
WHERE=WHAT *USING/TOTAL
--Time to apply factor :0.130708 second(s).
--Read destination and calculate difference
[ACCOUNT] =880073
[TIME] =2011.JUN
[CATEGORY] =BUDGET
[CLIENT_GROUP] =1010
[DATASRC] =INPUT
[ENTITY] =PC10101501
[INTCO] =Non_InterCo
[PROJECT] =8392321
[RPTCURRENCY] =LC
--Time to read destination and calculate difference :0.128111 second(s).
--Records succeeded to write back
--Time to run Allocation :0.555839 second(s).
SCRIPT RUNNING TIME IN TOTAL:0.68 s.
LOG END TIME:2011-12-14 09:10:43
Thanks and Regards,
Krishna.
1) Make sure there is some data to allocate in What section .
ACCOUNT =880072
TIME =2011.JUN
CATEGORY =BUDGET
CLIENT_GROUP =1010
DATASRC =INPUT
ENTITY =PC10101501
INTCO =Non_InterCo
PROJECT =8392321
RPTCURRENCY =LC
2) Same way make sure there is some data in Using and Total section
Using
ACCOUNT =880074
Total
ACCOUNT =880075
3) if data exists in all above 3 data intersection , then there would be one record to write back, that would be posted to where section.
ACCOUNT =880073
Hope this helps.
Regards,
Krishna.
Similar Messages
-
Problem with BPC 10 REST SERVICE. (Write-Back BAdI)
Hello!
We have implemented a Write-Back BAdI order to write values to a parent and copy those values to their children in the hierarchy. Proper operation.
Then through the Default Logic we are making various calculations (many to be honest), based on the data recorded with the Write-Back BADI.
The problem arises when we try to write in a parent hierarchy with many children.
We receive the following message in Excel.
We have configured the service as follows
The transaction st22 says nothing about our problem.
If I go to log the EPM Add-in for Excel see the following. A problem with REST service (I think that is the PROBLEM)
Write-Back BAdI writes values properly.
Thank you!Thanks for answering.
Yes, if I try to write in a parent without Default.lgf there is no problem. I performed the test to the parent node of all hierachy.
I send the Default.lgf and the others scripts .
I think the problem is that the communication between BPC and Netweaver is lost, which is done through the REST service??
thank you very much. -
I am having a problem getting the INSERT statement to execute in my writeback setup.
I am trying to set this up on the standard EMP table. I created an additional table to store writeback comments related to the EMP table. The Write Back table has columns EMP_ID, USER (from BI), DATE, and COMMENTS.
My problem is that if I try to enter comments for an employee where the comments is already blank, it doesn't process the insert statement I specified, it tries to run the UPDATE statement. I verified this in NQQuery.log.
Out of curiosity, I manually entered a record into the write back table and tried to change the value in my write back field in BI, and it worked - because it's only looking at the update statement for some reason, so that part is fine. It just seems to be completely ignoring the insert statement.
I tried to remove the UPDATE statement to see if it would recognize my insert statement, but it gave an error when I tried that:
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 27024] The EXECUTE PHYSICAL statement must specify a physical SQL statement to execute. (HY000)
Here is my XML template for writeback:
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="SetEmpComments">
<XML>
<writeBack connectionPool="Writeback Connection Pool">
<insert>INSERT INTO EMP_WB_TEST
VALUES('@{c3}',SYSDATE,'@{c4}','@{c1}')</insert>
<update>UPDATE EMP_WB_TEST SET dt_crte=SYSDATE, user_name='@{c4}', comments='@{c1}' WHERE empno='@{c3}'</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>Just a wild quess - are your values listed in the order corresponding to the columns order in the write back table ?
What if you rewrite your insert as
<insert>INSERT INTO EMP_WB_TEST(empno,dt_crte,user_name,comments)
VALUES('@{c3}',SYSDATE,'@{c4}','@{c1}')</insert>?
Best regards
Maxim -
Cannot add new records through VC form when consuming IP write back query
I have created a planning application in IP and created a Form in VC (CE 7.1). I am not able to create new records in VC Form and save it back to the cube like the traditional excel form on IP does. I have attached a document with every step that i did as a screen shot in designing my model. The writing back of data using the Form works if i have preexisting data in the planning cube and if i am only changing the values of the existing data records it works great. I could consume the planning functions that i created and they work well within VC. But if i want to create new records in a empty planning cube it gives me error unlike planning in excel analyser lets me save it back to the cube. I have tested the same query in Excel Analyser and created new records and saved it back in the cube. Any help on this is greatly appreciated.
[http://www.mediafire.com/?sharekey=f1bc9aa662da6a86d956df2962098fcbe04e75f6e8ebb871]
Thanks.
Edited by: BI GUYS on Sep 28, 2009 2:00 PMHi PradeeP,
1. The BI Query itself has to support the entries of new lines. This is described in note 1149346.
However, if the Query allows entering new lines in the BEx Analyzer, then this prerequisite is fulfilled.
2. In the BI Query wizard in VC in the u201CChoose Presentationsu201D step, you have to include the key presentation for the characteristics.
If 1 and 2 are fulfilled and you still have the problem, it is strange...
Does the problem also occur if you create new records in a cube that already shows some data in the table view?
Regards,
Talia -
Hi All,
I have created a write back report and successfully inserted records into a table.
Now i want to capture the user who has inserted in to the table.
Till now i have given edit option to the users on USERNAME column.
But now i want to capture the user automatically.
when i user VALUEOF(NQ_SESSION.USER), i can capture the Logged in user in USERNAME col and the moment i execute the report it is throwing an error.
What i observed is....
In the advanced tab USERNAME col is changed to VALUEOF(NQ_SESSION.USER).
is there any workaround for this?
Thanks>>I have a session variable assigned to the ID#(auto
number in access db) of messages posted.
I not sure if I follow your in the description. I would
assign the Record ID to the session variable.
Place the Record id in the repeat region.
Then you could assign that record id to a session variable
when the button is click, capture the button click event. Then
redirect to the EMPLOYEEMessageDELETE1.asp page, which will read in
the session variable (record id) to be deleted.
David Pearson -
Hi All,
When I'm using WriteBack and if 2 users inserted a record each at same time, what will happen?
Can anybody suggest on this?Hello Sriram,
In the write back XML, you can give explicit commit, which does not depend on database commit time.
So, as soon as you enter, it will commit, and when others try there will not be lock on the table. unless there is lock, i feel there will not be issues using writeback.
if you wish to try, do a insert from sql developer or toad and don't issue commit, and try using write back option to enter data from BI... until you do commit/rollback in the sql developer or toad your will not see update successful message in BI.
use this tag in the XML <postUpdate>COMMIT</postUpdate>
Regards,
KN -
FDMEE - Write back - No Data and No Errors
I am trying to Write Back from Planning 11.1.2.3.500 to EBS R12 using FDMEE 11.1.2.3.530. There is data in Planning, and when I execute an Import it processes successfully, but the Transform Data Process step has a warning symbol and there is no data in the grid in the Write Back Workbnch.
Here is the log:
2015-03-12 16:55:58,845 INFO [AIF]: FDMEE Process Start, Process ID: 265
2015-03-12 16:55:58,845 INFO [AIF]: FDMEE Logging Level: 5
2015-03-12 16:55:58,846 INFO [AIF]: FDMEE Log File: \\Vmhodrxeap13\fdmee\outbox\logs\RXFin_265.log
2015-03-12 16:55:58,846 INFO [AIF]: User:wilsonp
2015-03-12 16:55:58,846 INFO [AIF]: Location:RXFin_EBS_PL (Partitionkey:5)
2015-03-12 16:55:58,847 INFO [AIF]: Period Name:NA (Period Key:null)
2015-03-12 16:55:58,847 INFO [AIF]: Category Name:NA (Category key:null)
2015-03-12 16:55:58,847 INFO [AIF]: Rule Name:Test_1 (Rule ID:10)
2015-03-12 16:56:00,465 INFO [AIF]: FDM Version: 11.1.2.3.530
2015-03-12 16:56:00,465 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-12 16:56:00,466 INFO [AIF]: Java Platform: java1.6.0_37
2015-03-12 16:56:00,466 INFO [AIF]: Log File Encoding: UTF-8
2015-03-12 16:56:01,904 DEBUG [AIF]: CommWb.importData - START
2015-03-12 16:56:01,908 DEBUG [AIF]: CommWb.getRuleInfo - START
2015-03-12 16:56:01,911 DEBUG [AIF]:
SELECT wr.RULE_ID
,wr.RULE_NAME
,wr.PARTITIONKEY
,ss.SOURCE_SYSTEM_ID
,ss.SOURCE_SYSTEM_TYPE
,CASE
WHEN ss.SOURCE_SYSTEM_TYPE LIKE 'EBS%' THEN 'N'
WHEN ss.SOURCE_SYSTEM_TYPE LIKE 'PS%' THEN 'N'
WHEN ss.SOURCE_SYSTEM_TYPE LIKE 'FUSION%' THEN 'N'
WHEN ss.SOURCE_SYSTEM_TYPE LIKE 'FILE%' THEN 'N'
ELSE 'Y'
END SOURCE_ADAPTER_FLAG
,imp.IMPSOURCECOAID SOURCE_COA_ID
,COALESCE(wr.SOURCE_LEDGER_ID,0) SOURCE_LEDGER_ID
,app.APPLICATION_ID
,app.TARGET_APPLICATION_NAME
,app.TARGET_APPLICATION_TYPE
,wr.PLAN_TYPE
,CASE wr.PLAN_TYPE
WHEN 'PLAN1' THEN 1
WHEN 'PLAN2' THEN 2
WHEN 'PLAN3' THEN 3
WHEN 'PLAN4' THEN 4
WHEN 'PLAN5' THEN 5
ELSE 0
END PLAN_NUMBER
,wl.POST_BY_YEAR
,wl.LEDGER_GROUP
,wl.LEDGER
,wl.GL_BUDGET_SCENARIO
,wl.GL_BUDGET_ORG
,wl.GL_BUDGET_VERSION
,wl.JE_CATEGORY
,wl.JE_SOURCE
,wl.CREATE_JOURNAL_FLAG
,wl.EXECUTION_MODE
,wl.IMPORT_FROM_SOURCE_FLAG
,wl.IMPORT_FROM_SOURCE_FLAG RECALCULATE_FLAG
,wl.EXPORT_TO_TARGET_FLAG
,wl.AS_OF_DATE
,wr.DP_MEMBER_NAME
,wl.KK_TRAN_ID
,wl.KK_SOURCE_TRAN
,wl.KK_BUDG_TRANS_TYPE
,wl.KK_ACCOUNTING_DT
,wl.KK_GEN_PARENT
,wl.KK_DEFAULT_EE
,wl.KK_PARENT_ENT_TYPE
,CASE lg.LEDGER_TEMPLATE
WHEN 'COMMITMENT' THEN 'Y'
ELSE 'N'
END KK_FLAG
,CASE
WHEN (ss.SOURCE_SYSTEM_TYPE LIKE 'PS%' AND wl.KK_SOURCE_TRAN = 'HYP_CHECK') THEN 'Y'
ELSE 'N'
END KK_CHECK_FLAG
,p.LAST_UPDATED_BY
,p.AIF_WEB_SERVICE_URL WEB_SERVICE_URL
FROM AIF_PROCESSES p
INNER JOIN AIF_WRITEBACK_LOADS wl
ON wl.LOADID = p.PROCESS_ID
INNER JOIN AIF_WRITEBACK_RULES wr
ON wr.RULE_ID = wl.RULE_ID
INNER JOIN TPOVPARTITION part
ON part.PARTITIONKEY = wr.PARTITIONKEY
INNER JOIN TBHVIMPGROUP imp
ON imp.IMPGROUPKEY = part.PARTIMPGROUP
INNER JOIN AIF_SOURCE_SYSTEMS ss
ON ss.SOURCE_SYSTEM_ID = part.PARTSOURCESYSTEMID
INNER JOIN AIF_TARGET_APPLICATIONS app
ON app.APPLICATION_ID = part.PARTTARGETAPPLICATIONID
LEFT OUTER JOIN AIF_COA_LEDGERS l
ON l.SOURCE_SYSTEM_ID = part.PARTSOURCESYSTEMID
AND l.SOURCE_LEDGER_ID = wr.SOURCE_LEDGER_ID
LEFT OUTER JOIN AIF_PS_SET_CNTRL_REC_STG scr
ON scr.SOURCE_SYSTEM_ID = l.SOURCE_SYSTEM_ID
AND scr.SETCNTRLVALUE = l.SOURCE_LEDGER_NAME
AND scr.RECNAME = 'LED_GRP_TBL'
LEFT OUTER JOIN AIF_PS_LED_GRP_TBL_STG lg
ON lg.SOURCE_SYSTEM_ID = scr.SOURCE_SYSTEM_ID
AND lg.SETID = scr.SETID
AND lg.LEDGER_GROUP = wr.LEDGER_GROUP
WHERE p.PROCESS_ID = 265
2015-03-12 16:56:01,914 DEBUG [AIF]:
SELECT wld.DIMENSION_NAME
,wld.FILTER_CONDITION
,app.TARGET_APPLICATION_NAME
FROM AIF_WRITEBACK_LOAD_DTLS wld
INNER JOIN AIF_WRITEBACK_LOADS wl
ON wl.LOADID = wld.LOADID
INNER JOIN AIF_WRITEBACK_RULES wr
ON wr.RULE_ID = wl.RULE_ID
INNER JOIN TPOVPARTITION part
ON part.PARTITIONKEY = wr.PARTITIONKEY
INNER JOIN AIF_TARGET_APPLICATIONS app
ON app.APPLICATION_ID = part.PARTTARGETAPPLICATIONID
INNER JOIN AIF_TARGET_APPL_DIMENSIONS adim
ON adim.APPLICATION_ID = app.APPLICATION_ID
AND adim.TARGET_DIMENSION_NAME = wld.DIMENSION_NAME
AND adim.TARGET_DIMENSION_CLASS_NAME = 'Scenario'
WHERE wld.LOADID = 265
2015-03-12 16:56:01,916 DEBUG [AIF]:
SELECT COALESCE(pca.CATKEY, pc.CATKEY) CATKEY
FROM TPOVCATEGORY pc
LEFT OUTER JOIN TPOVCATEGORYADAPTOR pca
ON pca.INTSYSTEMKEY = 'RXFin'
AND pca.CATTARGET = NULL
WHERE pc.CATTARGET = NULL
2015-03-12 16:56:01,918 DEBUG [AIF]:
SELECT acks.source_segment_column_name DIMNAME, ss.source_system_type SOURCE_SYSTEM_TYPE
FROM AIF_PROCESSES p
INNER JOIN AIF_WRITEBACK_LOADS wl
ON wl.LOADID = p.PROCESS_ID
INNER JOIN AIF_WRITEBACK_RULES wr
ON wr.RULE_ID = wl.RULE_ID
INNER JOIN TPOVPARTITION part
ON part.PARTITIONKEY = wr.PARTITIONKEY
INNER JOIN AIF_CB_KEY_SEGMENTS acks
ON acks.control_budget_id = wr.SOURCE_LEDGER_ID
AND acks.source_system_id = part.PARTSOURCESYSTEMID
INNER JOIN AIF_SOURCE_SYSTEMS ss
ON ss.SOURCE_SYSTEM_ID = part.PARTSOURCESYSTEMID
WHERE p.PROCESS_ID = 265
2015-03-12 16:56:01,919 DEBUG [AIF]:
SELECT lv.LOOKUP_DISPLAY_CODE DIMNAME
,wld.TEMP_COLUMN_NAME
,cs.COA_SEGMENT_NAME
,cs.VALUE_SET_ID
,cs.ACCOUNT_TYPE_FLAG
FROM AIF_COA_SEGMENTS cs
INNER JOIN TPOVPARTITION tpp
ON tpp.PARTITIONKEY = 5
INNER JOIN AIF_LOOKUP_TYPES lt
ON lt.SOURCE_SYSTEM_ID = 0
AND lt.LOOKUP_TYPE = 'AIF_SEGMENT_COLUMN_MAP'
INNER JOIN AIF_LOOKUP_VALUES lv
ON lv.LOOKUP_TYPE_ID = lt.LOOKUP_TYPE_ID
AND lv.LOOKUP_CODE = cs.COA_SEGMENT_NAME
LEFT OUTER JOIN TBHVIMPITEMERPI tiie
ON tiie.IMPGROUPKEY = tpp.PARTIMPGROUP
AND tiie.IMPMAPTYPE = 'EPM'
AND tiie.IMPSOURCECOALINEID1 = cs.COA_LINE_ID
LEFT OUTER JOIN AIF_WRITEBACK_LOAD_DTLS wld
ON wld.LOADID = 265
AND wld.DIMENSION_NAME = tiie.IMPDIMNAME
WHERE cs.SOURCE_SYSTEM_ID = 4
AND cs.SOURCE_COA_ID = 50348
ORDER BY lv.LOOKUP_DISPLAY_CODE
2015-03-12 16:56:01,922 DEBUG [AIF]: CommWb.getRuleInfo - END
2015-03-12 16:56:01,924 DEBUG [AIF]: AIFUtil.callOdiServlet - START
2015-03-12 16:56:01,948 DEBUG [AIF]: cloudMode: NONE
2015-03-12 16:56:01,949 DEBUG [AIF]: GlobalUserForAppAccess from Profile: null
2015-03-12 16:56:01,951 INFO [AIF]: Resolved user name for application access: wilsonp
2015-03-12 16:56:02,450 INFO [AIF]: [HPLService] Info: Cube Name: Finance
2015-03-12 16:56:02,451 INFO [AIF]: [HPLService] Info: Importing data from RXFin:Finance...
2015-03-12 16:57:31,732 INFO [AIF]: [HPLService] Info: Data import complete
2015-03-12 16:57:31,738 INFO [AIF]: [HPLService] Info: [importWritebackData:265] END (true)
2015-03-12 16:57:31,747 DEBUG [AIF]: AIFUtil.callOdiServlet - END
2015-03-12 16:57:31,747 DEBUG [AIF]:
SELECT STATUS
FROM AIF_PROCESS_DETAILS
WHERE PROCESS_ID = 265
AND ENTITY_TYPE = 'PROCESS_WB_IMP'
2015-03-12 16:57:31,752 DEBUG [AIF]: CommWb.insertPeriods - START
2015-03-12 16:57:31,755 DEBUG [AIF]:
SELECT DIMENSION_NAME
,FILTER_CONDITION
FROM AIF_WRITEBACK_LOAD_DTLS
WHERE LOADID = 265
AND COLUMN_TYPE = 'Year'
2015-03-12 16:57:31,758 DEBUG [AIF]: commAppPeriodMappingExists: N
2015-03-12 16:57:31,758 DEBUG [AIF]:
INSERT INTO AIF_PROCESS_PERIODS (
PROCESS_ID
,PERIODKEY
,PERIOD_ID
,ADJUSTMENT_PERIOD_FLAG
,GL_PERIOD_YEAR
,GL_PERIOD_NUM
,GL_PERIOD_NAME
,GL_PERIOD_CODE
,GL_EFFECTIVE_PERIOD_NUM
,YEARTARGET
,PERIODTARGET
,IMP_ENTITY_TYPE
,IMP_ENTITY_ID
,IMP_ENTITY_NAME
,TRANS_ENTITY_TYPE
,TRANS_ENTITY_ID
,TRANS_ENTITY_NAME
,PRIOR_PERIOD_FLAG
,SOURCE_LEDGER_ID
SELECT q.PROCESS_ID
,q.PERIODKEY
,NULL PERIOD_ID
,'N' ADJUSTMENT_PERIOD_FLAG
,0 GL_PERIOD_YEAR
,'0' GL_PERIOD_CODE
,'0' GL_PERIOD_NAME
,q.ENTITY_NAME_ORDER GL_PERIOD_NUM
,q.ENTITY_NAME_ORDER GL_EFFECTIVE_PERIOD_NUM
,q.YEARTARGET
,q.PERIODTARGET
,'PROCESS_WB_IMP' IMP_ENTITY_TYPE
,NULL IMP_ENTITY_ID
,p.PERIODDESC IMP_ENTITY_NAME
,'PROCESS_WB_TRANS' TRANS_ENTITY_TYPE
,NULL TRANS_ENTITY_ID
,p.PERIODDESC TRANS_ENTITY_NAME
,'N' PRIOR_PERIOD_FLAG
,NULL SOURCE_LEDGER_ID
FROM (
SELECT PROCESS_ID
,MIN(PERIODKEY) PERIODKEY
,PERIODTARGET
,YEARTARGET
,ENTITY_NAME_ORDER
FROM (
SELECT wld.LOADID PROCESS_ID
,pp.PERIODKEY PERIODKEY
,pp.PERIODTARGET PERIODTARGET
,pp.YEARTARGET YEARTARGET
,CASE
WHEN (INSTR(UPPER(wld.TEMP_COLUMN_NAME),'AMOUNT',1) = 1) THEN
CAST(SUBSTR(wld.TEMP_COLUMN_NAME,7,LENGTH(wld.TEMP_COLUMN_NAME)) AS NUMERIC(15,0))
ELSE 0
END ENTITY_NAME_ORDER
FROM (
AIF_WRITEBACK_LOAD_DTLS wld
INNER JOIN TPOVPERIOD_FLAT_V pp
ON pp.PERIODTARGET = wld.DIMENSION_NAME
AND pp.YEARTARGET = 'FY14')
WHERE wld.LOADID = 265
AND wld.COLUMN_TYPE = 'DATA'
) query
GROUP BY PROCESS_ID
,PERIODTARGET
,YEARTARGET
,ENTITY_NAME_ORDER
) q
,TPOVPERIOD p
WHERE p.PERIODKEY = q.PERIODKEY
ORDER BY p.PERIODKEY
2015-03-12 16:57:31,764 DEBUG [AIF]: CommWb.insertPeriods - END
2015-03-12 16:57:31,772 DEBUG [AIF]: COMM GL Writeback Load Data - Load TDATASEGW - START
2015-03-12 16:57:31,774 DEBUG [AIF]: CommWb.getLedgerListAndMap - START
2015-03-12 16:57:31,775 DEBUG [AIF]: CommWb.getLedgerSQL - START
2015-03-12 16:57:31,775 DEBUG [AIF]: CommWb.getLedgerSQL - END
2015-03-12 16:57:31,775 DEBUG [AIF]:
SELECT l.SOURCE_LEDGER_ID
,l.SOURCE_LEDGER_NAME
,l.FUNCTIONAL_CURRENCY
,l.CALENDAR_ID
,'0' SETID
,l.PERIOD_TYPE
FROM AIF_WRITEBACK_LOADS wl
,AIF_WRITEBACK_RULES wr
,TPOVPARTITION part
,AIF_COA_LEDGERS l
WHERE wl.LOADID = 265
AND wr.RULE_ID = wl.RULE_ID
AND part.PARTITIONKEY = wr.PARTITIONKEY
AND l.SOURCE_SYSTEM_ID = part.PARTSOURCESYSTEMID
AND l.SOURCE_LEDGER_ID = wr.SOURCE_LEDGER_ID
2015-03-12 16:57:31,777 DEBUG [AIF]: CommWb.getLedgerListAndMap - END
2015-03-12 16:57:31,778 DEBUG [AIF]:
SELECT acks.source_segment_column_name DIMNAME, ss.source_system_type SOURCE_SYSTEM_TYPE
FROM AIF_PROCESSES p
INNER JOIN AIF_WRITEBACK_LOADS wl
ON wl.LOADID = p.PROCESS_ID
INNER JOIN AIF_WRITEBACK_RULES wr
ON wr.RULE_ID = wl.RULE_ID
INNER JOIN TPOVPARTITION part
ON part.PARTITIONKEY = wr.PARTITIONKEY
INNER JOIN AIF_CB_KEY_SEGMENTS acks
ON acks.control_budget_id = wr.SOURCE_LEDGER_ID
AND acks.source_system_id = part.PARTSOURCESYSTEMID
INNER JOIN AIF_SOURCE_SYSTEMS ss
ON ss.SOURCE_SYSTEM_ID = part.PARTSOURCESYSTEMID
WHERE p.PROCESS_ID = 265
2015-03-12 16:57:31,779 DEBUG [AIF]:
SELECT lv.LOOKUP_DISPLAY_CODE DIMNAME
,wld.TEMP_COLUMN_NAME
,cs.COA_SEGMENT_NAME
,cs.VALUE_SET_ID
,cs.ACCOUNT_TYPE_FLAG
FROM AIF_COA_SEGMENTS cs
INNER JOIN TPOVPARTITION tpp
ON tpp.PARTITIONKEY = 5
INNER JOIN AIF_LOOKUP_TYPES lt
ON lt.SOURCE_SYSTEM_ID = 0
AND lt.LOOKUP_TYPE = 'AIF_SEGMENT_COLUMN_MAP'
INNER JOIN AIF_LOOKUP_VALUES lv
ON lv.LOOKUP_TYPE_ID = lt.LOOKUP_TYPE_ID
AND lv.LOOKUP_CODE = cs.COA_SEGMENT_NAME
LEFT OUTER JOIN TBHVIMPITEMERPI tiie
ON tiie.IMPGROUPKEY = tpp.PARTIMPGROUP
AND tiie.IMPMAPTYPE = 'EPM'
AND tiie.IMPSOURCECOALINEID1 = cs.COA_LINE_ID
LEFT OUTER JOIN AIF_WRITEBACK_LOAD_DTLS wld
ON wld.LOADID = 265
AND wld.DIMENSION_NAME = tiie.IMPDIMNAME
WHERE cs.SOURCE_SYSTEM_ID = 4
AND cs.SOURCE_COA_ID = 50348
ORDER BY lv.LOOKUP_DISPLAY_CODE
2015-03-12 16:57:31,783 DEBUG [AIF]: CommWb.getPovList - START
2015-03-12 16:57:31,784 DEBUG [AIF]:
SELECT wld.DIMENSION_NAME
,wld.FILTER_CONDITION
,app.TARGET_APPLICATION_NAME
FROM AIF_WRITEBACK_LOAD_DTLS wld
INNER JOIN AIF_WRITEBACK_LOADS wl
ON wl.LOADID = wld.LOADID
INNER JOIN AIF_WRITEBACK_RULES wr
ON wr.RULE_ID = wl.RULE_ID
INNER JOIN TPOVPARTITION part
ON part.PARTITIONKEY = wr.PARTITIONKEY
INNER JOIN AIF_TARGET_APPLICATIONS app
ON app.APPLICATION_ID = part.PARTTARGETAPPLICATIONID
INNER JOIN AIF_TARGET_APPL_DIMENSIONS adim
ON adim.APPLICATION_ID = app.APPLICATION_ID
AND adim.TARGET_DIMENSION_NAME = wld.DIMENSION_NAME
AND adim.TARGET_DIMENSION_CLASS_NAME = 'Scenario'
WHERE wld.LOADID = 265
2015-03-12 16:57:31,785 DEBUG [AIF]:
SELECT COALESCE(pca.CATKEY, pc.CATKEY) CATKEY
FROM TPOVCATEGORY pc
LEFT OUTER JOIN TPOVCATEGORYADAPTOR pca
ON pca.INTSYSTEMKEY = 'RXFin'
AND pca.CATTARGET = NULL
WHERE pc.CATTARGET = NULL
2015-03-12 16:57:31,787 DEBUG [AIF]:
SELECT PARTITIONKEY
,PARTNAME
,CATKEY
,CATNAME
,PERIODKEY
,COALESCE(PERIODDESC, TO_CHAR(PERIODKEY,'YYYY-MM-DD HH24:MI:SS')) PERIODDESC
,RULE_ID
,RULE_NAME
,YEARTARGET
FROM (
SELECT DISTINCT wr.PARTITIONKEY
,part.PARTNAME
,cat.CATKEY
,cat.CATNAME
,pprd.PERIODKEY
,pp.PERIODDESC
,wr.RULE_ID
,wr.RULE_NAME
,pprd.YEARTARGET
FROM AIF_WRITEBACK_LOADS wl
INNER JOIN AIF_WRITEBACK_RULES wr
ON wr.RULE_ID = wl.RULE_ID
INNER JOIN TPOVPARTITION part
ON part.PARTITIONKEY = wr.PARTITIONKEY
INNER JOIN TPOVCATEGORY cat
ON cat.CATKEY = NULL
INNER JOIN AIF_PROCESS_PERIODS pprd
ON pprd.PROCESS_ID = wl.LOADID
LEFT OUTER JOIN TPOVPERIOD pp
ON pp.PERIODKEY = pprd.PERIODKEY
WHERE wl.LOADID = 265
) q
ORDER BY PARTITIONKEY
,CATKEY
,PERIODKEY
,RULE_ID
2015-03-12 16:57:31,788 DEBUG [AIF]: CommWb.getPovList - END
2015-03-12 16:57:31,789 DEBUG [AIF]: COMM GL Writeback Load Data - Load TDATASEGW - END
2015-03-12 16:57:31,789 DEBUG [AIF]: CommWb.importData - END
2015-03-12 16:57:31,879 DEBUG [AIF]: CommWb.insertTransProcessDetails - START
2015-03-12 16:57:31,880 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
SELECT PROCESS_ID
,ENTITY_TYPE
,ENTITY_ID
,ENTITY_NAME
,ENTITY_NAME_ORDER
,'TDATASEGW' TARGET_TABLE_NAME
,CURRENT_TIMESTAMP EXECUTION_START_TIME
,NULL EXECUTION_END_TIME
,0 RECORDS_PROCESSED
,'PENDING' STATUS
,'wilsonp' LAST_UPDATED_BY
,CURRENT_TIMESTAMP LAST_UPDATE_DATE
FROM (
SELECT PROCESS_ID
,TRANS_ENTITY_TYPE ENTITY_TYPE
,MIN(TRANS_ENTITY_ID) ENTITY_ID
,TRANS_ENTITY_NAME ENTITY_NAME
,MIN(GL_EFFECTIVE_PERIOD_NUM) ENTITY_NAME_ORDER
FROM AIF_PROCESS_PERIODS
WHERE PROCESS_ID = 265
AND PRIOR_PERIOD_FLAG = 'N'
GROUP BY PROCESS_ID
,TRANS_ENTITY_TYPE
,TRANS_ENTITY_NAME
) q
ORDER BY ENTITY_NAME_ORDER
2015-03-12 16:57:31,887 DEBUG [AIF]: CommWb.insertTransProcessDetails - END
2015-03-12 16:57:31,891 DEBUG [AIF]:
DELETE FROM TDATAMAP_T
WHERE LOADID < 265
AND EXISTS (
SELECT 1
FROM AIF_PROCESSES p
WHERE p.RULE_ID = 10
AND p.PROCESS_ID = TDATAMAP_T.LOADID
2015-03-12 16:57:31,901 DEBUG [AIF]:
DELETE FROM AIF_WRITEBACK_ESS_DATA_T
WHERE LOADID < 265
AND EXISTS (
SELECT 1
FROM AIF_PROCESSES p
WHERE p.RULE_ID = 10
AND p.PROCESS_ID = AIF_WRITEBACK_ESS_DATA_T.LOADID
2015-03-12 16:57:33,060 DEBUG [AIF]:
DELETE FROM AIF_PROCESS_PERIODS
WHERE PROCESS_ID < 265
AND EXISTS (
SELECT 1
FROM AIF_PROCESSES p
WHERE p.RULE_ID = 10
AND p.PROCESS_ID = AIF_PROCESS_PERIODS.PROCESS_ID
2015-03-12 16:57:33,066 DEBUG [AIF]:
DELETE FROM TDATASEGW
WHERE LOADID < 265
AND EXISTS (
SELECT 1
FROM AIF_PROCESSES p
WHERE p.RULE_ID = 10
AND p.PROCESS_ID = TDATASEGW.LOADID
2015-03-12 16:57:33,069 DEBUG [AIF]: CommMap.loadTDATAMAP_T - START
2015-03-12 16:57:33,071 DEBUG [AIF]: CommData.getMapPartitionKeyandName - START
2015-03-12 16:57:33,071 DEBUG [AIF]:
SELECT COALESCE(part_parent.PARTITIONKEY, part.PARTITIONKEY) PARTITIONKEY
,COALESCE(part_parent.PARTNAME, part.PARTNAME) PARTNAME
FROM TPOVPARTITION part
LEFT OUTER JOIN TPOVPARTITION part_parent
ON part_parent.PARTITIONKEY = part.PARTPARENTKEY
WHERE part.PARTITIONKEY = 5
2015-03-12 16:57:33,073 DEBUG [AIF]: CommData.getMapPartitionKeyandName - END
2015-03-12 16:57:33,073 DEBUG [AIF]:
INSERT INTO TDATAMAP_T (
LOADID
,DATAKEY
,PARTITIONKEY
,DIMNAME
,SRCKEY
,SRCDESC
,TARGKEY
,WHERECLAUSETYPE
,WHERECLAUSEVALUE
,CHANGESIGN
,SEQUENCE
,VBSCRIPT
,TDATAMAPTYPE
,SYSTEM_GENERATED_FLAG
,RULE_ID
SELECT 265
,DATAKEY
,5 PARTITIONKEY
,DIMNAME
,SRCKEY
,SRCDESC
,CASE WHEN (TDATAMAPTYPE = 'EPM' AND TARGKEY = '<BLANK>') THEN ' ' ELSE TARGKEY END
,WHERECLAUSETYPE
,CASE WHEN (TDATAMAPTYPE = 'EPM' AND WHERECLAUSEVALUE = '<BLANK>') THEN ' ' ELSE WHERECLAUSEVALUE END
,CHANGESIGN
,SEQUENCE
,VBSCRIPT
,TDATAMAPTYPE
,SYSTEM_GENERATED_FLAG
,RULE_ID
FROM TDATAMAP tdm
WHERE PARTITIONKEY = 5
AND (RULE_ID IS NULL OR RULE_ID = 10)
AND (
TDATAMAPTYPE = 'EPM'
OR (
TDATAMAPTYPE = 'MULTIDIM'
AND EXISTS (
SELECT 1
FROM TDATAMAP multidim
WHERE multidim.PARTITIONKEY = tdm.PARTITIONKEY
AND multidim.TDATAMAPTYPE = 'EPM'
AND multidim.DATAKEY = tdm.TARGKEY
2015-03-12 16:57:33,077 DEBUG [AIF]: Number of Rows inserted into TDATAMAP_T: 14
2015-03-12 16:57:33,122 DEBUG [AIF]: CommMap.updateTDATASEG_T_TDATASEGW - START
2015-03-12 16:57:33,123 DEBUG [AIF]:
SELECT DIMNAME
,SRCKEY
,TARGKEY
,WHERECLAUSETYPE
,WHERECLAUSEVALUE
,CHANGESIGN
,SEQUENCE
,DATAKEY
,MAPPING_TYPE
,CASE WHEN (RULE_ID IS NOT NULL) THEN 'Y' ELSE 'N' END IS_RULE_MAP
FROM (
SELECT DISTINCT tdm.DIMNAME
,tdm.RULE_ID
,NULL SRCKEY
,NULL TARGKEY
,tdm.WHERECLAUSETYPE
,tdm.WHERECLAUSEVALUE
,NULL CHANGESIGN
,1 SEQUENCE
,COALESCE(tdm.SYSTEM_GENERATED_FLAG,'N') SYSTEM_GENERATED_FLAG
,NULL DATAKEY
,CASE
WHEN tdm.WHERECLAUSETYPE IS NULL THEN 1
ELSE 3
END MAPPING_TYPE
FROM TDATAMAP_T tdm
WHERE tdm.LOADID = 265
AND tdm.PARTITIONKEY = 5
AND tdm.TDATAMAPTYPE = 'EPM'
AND (tdm.RULE_ID IS NULL OR tdm.RULE_ID = 10)
AND tdm.WHERECLAUSETYPE IS NULL
UNION ALL
SELECT tdm.DIMNAME
,tdm.RULE_ID
,tdm.SRCKEY
,tdm.TARGKEY
,tdm.WHERECLAUSETYPE
,tdm.WHERECLAUSEVALUE
,tdm.CHANGESIGN
,CASE tpp.PARTSEQMAP
WHEN 0 THEN CASE
WHEN (tdm.WHERECLAUSETYPE = 'BETWEEN') THEN 2
WHEN (tdm.WHERECLAUSETYPE = 'IN') THEN 3
WHEN (tdm.WHERECLAUSETYPE = 'MULTIDIM') THEN 4
WHEN (tdm.WHERECLAUSETYPE = 'LIKE') THEN 5
ELSE 0
END
ELSE tdm.SEQUENCE
END SEQUENCE
,COALESCE(tdm.SYSTEM_GENERATED_FLAG,'N') SYSTEM_GENERATED_FLAG
,tdm.DATAKEY
,CASE
WHEN tdm.WHERECLAUSETYPE IS NULL THEN 1
ELSE 3
END MAPPING_TYPE
FROM TDATAMAP_T tdm
INNER JOIN TPOVPARTITION tpp
ON tpp.PARTITIONKEY = tdm.PARTITIONKEY
WHERE tdm.LOADID = 265
AND tdm.PARTITIONKEY = 5
AND tdm.TDATAMAPTYPE = 'EPM'
AND (tdm.RULE_ID IS NULL OR tdm.RULE_ID = 10)
AND tdm.WHERECLAUSETYPE IN ('BETWEEN','IN','MULTIDIM','LIKE')
) q
ORDER BY DIMNAME
,SEQUENCE
,RULE_ID
,SYSTEM_GENERATED_FLAG
,SRCKEY
2015-03-12 16:57:33,129 DEBUG [AIF]: CommMap.updateTDATASEG_T_TDATASEGW - END
2015-03-12 16:57:33,138 DEBUG [AIF]: CommMap.loadTDATAMAPSEG_TDATASEG - START
2015-03-12 16:57:33,139 DEBUG [AIF]: CommMap.loadTDATAMAPSEG_TDATASEG - END
2015-03-12 16:57:33,217 DEBUG [AIF]: CommMap.validateData - START
2015-03-12 16:57:33,218 DEBUG [AIF]: CommMap.validateData - END
2015-03-12 16:57:33,311 DEBUG [AIF]: Comm.finalizeProcess - START
2015-03-12 16:57:33,312 DEBUG [AIF]: CommWb.updateRuleStatus - START
2015-03-12 16:57:33,313 DEBUG [AIF]:
UPDATE AIF_WRITEBACK_RULES
SET STATUS = CASE 'SUCCESS'
WHEN 'SUCCESS' THEN
CASE (
SELECT COUNT(*)
FROM AIF_PROCESS_DETAILS pd
WHERE pd.PROCESS_ID = 265
AND pd.STATUS IN ('FAILED','WARNING')
WHEN 0 THEN 'SUCCESS'
ELSE (
SELECT MIN(pd.STATUS)
FROM AIF_PROCESS_DETAILS pd
WHERE pd.PROCESS_ID = 265
AND pd.STATUS IN ('FAILED','WARNING')
END
ELSE 'SUCCESS'
END
WHERE RULE_ID = 10
2015-03-12 16:57:33,317 DEBUG [AIF]: CommWb.updateRuleStatus - END
2015-03-12 16:57:33,318 DEBUG [AIF]: Comm.updateProcess - START
2015-03-12 16:57:33,322 DEBUG [AIF]: Comm.updateProcess - END
2015-03-12 16:57:33,323 INFO [AIF]: FDMEE Process End, Process ID: 265
I have created the following write-back mappings:
UD1,*,*,Z_Catch All Entity
UD1,CO_*,*,"Remove prefix ""Co_"""
UD2,*,*,Z_Catch All Account
UD2,ACC_*,*,Remove ACC_
UD3,*,*,Local Account Pass Through
UD4,*,*,Z_Catch All MC
UD4,CC_*,*,"Remove prefix ""CC_"""
UD5,*,*,Z_Catch All Event Edition
UD5,SY*,*,"Remove prefix ""SY"""
UD6,*,*,Activity pass through
UD7,*,*,Z_Catch All Product
UD7,PRD_*_I,*,Remove prefix PRD
UD8,*,*,ICP pass through
UD9,*,*,Spare pass through
Which is basically to strip off some prefixes, or just pass through the values.
In the Import Format I have the following Write Back Mapping:
Source Dimension Source Segment
Account Account
Activity Activity
Entity Entity
SessionYear Event Edition
Intercompany
Local Account
ManagementCentre Management Centre
Product Product
Spare
For my Write Back Rule I select the Location: RXFin_EBS_PL, the Primary Ledger in EBS
Period: Dec-14
Category: Budget - The name of the scenario in Planning.
Source: RX_EBS
Target: RXFIN
Plan Type: Finance
I have Source Filters to limit the amount of data it tries to pull in.
Account: @Relative("Profit & Loss",0)
Entity: "CO_0052"
Activit:y @Relative("AllActivities",0)
Period: @Relative("YearTotalPlan",0)
Version: "FinalVersion"
Year: "FY14"
And for Budget: RX RF1 2014
Budget Organization: RX Budget Org - Though I am not sure what this does.
I execute Import from Source, and it process for several minutes, and then nothing is in the Workbench.
There is data in Planning as far as I can see, and with no errors I am at a loss on what to investigate.
Can anyone assist?
Thanks,Do you have any luck if you simplify the source filter to try and be as specific as possible and only bring in as few rows as possible from a known good intersection as a sanity check?
Regards
Craig -
Error While performing Budget Write Back using ERPi
Hi,
We are getting the following error while Importing the data for Budget Write back using ERPi.
"va.lang.Exception: Cannot get the olap server name for planning application GSECPLAN
ERPI Process Start, Process ID: 187
ERPI Logging Level: DEBUG (5)
ERPI Log File: C:\Users\HYP_SV~1\AppData\Local\Temp\2\/aif_601_187.log
Jython Version: 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) 64-Bit Server VM (Sun Microsystems Inc.)]
Java Platform: java1.6.0_29
Call Servlet - START
Call Servlet - END
ERPI Process End, Process ID: 187"
The Write-back was working fine and we have done the write back successfully few days back. We have not made any changes in write back set up except some mapping.
Any clue on this issue?
Thanks & Regards,
Sunil.Thanks John for your response.
I have already restarted the planning service and checked. But no luck.
Regards,
Sunil.
Edited by: 926629 on May 7, 2013 12:26 AM -
Getting error during write back operation in OBIEE
Hi Experts
I have implemented the Write back operation in OBIEE . My xml code is
<?xml version="1.0" encoding="utf-8"?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="NEW">
<XML>
<writeBack connectionPool="Connection Pool">
<insert> </insert>
<update>UPDATE ACCT_DIM SET HIPC_FLAG='@{c5}' WHERE ACCT_SR_KEY=@{c0} </update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
But i am getting error when i will click on Write Back Button.
An error occurred while writing to the server. Please check to make sure you have entered appropriate values. If the problem persists, contact your system administrator.
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 27024] The EXECUTE PHYSICAL statement must specify a physical SQL statement to execute. (HY000)
SQL Issued: EXECUTE PHYSICAL CONNECTION POOL "Connection Pool"
Please suggest me how to remove this error.
Thanks In advance
Rehards
SunilHi experts
This is my xml code but i am not able to update records in my database. is there any changes required in this xml.
<?xml version="1.0" encoding="utf-8"?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="new">
<XML>
<writeBack connectionPool="Connection Pool">
<insert> </insert>
<update>UPDATE ACCT_DIM SET HIPC_FLAG='@{c4}' WHERE ACCT_SR_KEY=@{c0} </update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
My table name in database is ACCT_DIM and i am updating HIPC_FLAG in my table.
I am getting error:
An error occurred while writing to the server. Please check to make sure you have entered appropriate values. If the problem persists, contact your system administrator.
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. NQODBC SQL_STATE: HY000 nQSError: 10058 A general error has occurred. nQSError: 27024 The EXECUTE PHYSICAL statement must specify a physical SQL statement to execute. (HY000)
SQL Issued: EXECUTE PHYSICAL CONNECTION POOL "Connection Pool"
Thanks in advance
Regards
Sunil -
Update only the row in DB where the cursor are positioned using Write Back
Hello,
I need to have the possibility to create/change values (insert or update data back into the database), dynamically or by typing, in some columns of the physical DB that are mapped in a report request, and that new or changed values could be used as a filter columns in another report request.
So, I have created a new report request in a Subject Area where a certain column of the request result could be editable to make possible change the present value and then write it back in the physical DB.
I have implemented for the column name ‘MOV_VALUE’ the value interaction type format Write Back, and every time I changed any value on this column it updates all rows with this same value from the table ‘MOVEMENTS’.
See below the Template file used in the Write Back table properties:
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name= "UpdateMovementData">
<XML>
<writeBack connectionPool="Connection Pool">
<insert> </insert>
<update> UPDATE MOVEMENTS SET MOV_VALUE=@{c4} </update>
<!-- <postUpdate>COMMIT</postUpdate> -->
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Is there any possibility to only update the record from where it is the cursor positioned by using the Write Back in the Answers report?
Is necessary to create any condition to the where clause for the update statement? Which conditions?
Thanks in advance.
Regards,
Pedro ResendeYou might try posting to a BPM forum. BPM is a layered product that happens to use WL JMS, but I think most of the folks on this forum aren't familiar with BPM.
Tom -
Write back - how OBIEE decides insert or update action ?
Hello
I have a question regarding write-back.
I have both an insert and update statement in my template file.
I want to give the users ability to insert new rows and update existing ones.
I am able to do both, but sometimes the insert/update behavior is not consistent. That is, instead of updating the record, it creates a new row itself in the database (and sometimes the reverse also is true).
Anyone has ideas on how OBIEE decides whether it is an insert or update action?
thanks in advanceHi,
I have implemented writeback in Obiee 10g version
It's working fine
Please refer my correct code
3) Add XML File to this path C:\OracleBI\web\msgdb\customMessages\WriteBack.xml and
C:\OracleBIData\web\msgdb\WriteBack .xml path.
File Name: WriteBack.xml
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="WriteBack">
<XML>
<writeBack connectionPool="Connection Pool">
<update>UPDATE db_summary SET comments='@{c1}' WHERE location='@{c2}'</update>
<insert>INSERT INTO db_summary {comments} VALUES '@{c1}' </insert>
</writeBack>
</XML>
</WebMessage>
<WebMessage name="WriteBackNew">
<XML>
<writeBack connectionPool="Connection Pool">
<update>UPDATE report_comments SET comments='@{c1}' WHERE username='@{c0}'</update>
<insert>INSERT INTO report_comments {comments} VALUES ('@{c1}') </insert>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Note: It’s all are case sensitive and red lined letters are give as above. After that restart all the OBIEE Server (Java Host, OC4J, BI Server etc.)
Note1: As Button Text in Presentation Layer :system="WriteBack" and
As Template Name in Presentation Layer : <WebMessage name="WriteBackNew">
For more refer my blog link
http://obieeelegant.blogspot.com/2010/12/write-back-steps-1-go-to-repository.html
Thanks
Deva -
Write back from Excel into OBIEE?
Hi Experts,
I have a requirement, where in I have to write back into Oracle DB through OBIEE.
The user will upload an excel/csv containing more than hundred records into OBIEE dashboard.
The functionality is, on click of a (submit) button the OBIEE should write back into Oracle DB (through OBIEE) row by row taken from excel.
Pls help if any one has any idea. I'm new to OBIEE tool.
Have a great day!!!
Thanks,
VenkyWhy do you want to do that through OBIEE? It's not a data loading tool! The write-back functionality is explicitly built for sporadic updates and not for mass-import.
From Booshelf:
The write back feature is not suitable for entering arbitrary new records. In other words, do not
use it as a data input tool.
(Oracle Business Intelligence Presentation Services Administration Guide Version 10.1.3.2 - Configuring Report Write Back - Write Back Limitations)
Use OWB, ODI, Informatica or any other ETL Tool for that (yes, I know ODI is ELT...don't start a flame war over that ;-)).
Cheers,
C. -
Hi Experts,
I enable write back, I used Venkats blog post:
I am able to update my database successfully but i am getting the below error message
Error:
An error occurred while writing to the server. Please check to make sure you have entered appropriate values. If the problem persists, contact your system administrator.
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 27024] The EXECUTE PHYSICAL statement must specify a physical SQL statement to execute. (HY000)
SQL Issued: EXECUTE PHYSICAL CONNECTION POOL Sales COMMIT
Please suggest..
Regards
SaiHi..
Referring to Error:Unable to read the Writeback template the XML would be .. in the following way.. don't use.. COMMIT statement
<?xml version="1.0" encoding="utf-8"?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="WriteBack">
<XML>
<writeBack connectionPool="Connection Pool">
<insert> INSERT INTO FACT (PRICE,PRODUCT_KEY,REGION_KEY,SALE_UNIT,TIMEKEY,SALES_QUOTA)
values (@{c7},@{c8},@{c9},@{c10},@{c11},@{c5} ) </insert>
<update> </update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
The <writeBack> tag is written with a lower case "w".
The "connetionPool" needs an upper case "P".
Edited by: Kishore Guggilla on Dec 17, 2008 7:45 PM -
hi experts,
I´m trying the write back fucntionality in obiee 11g and i am getting some troubles while updating a record.
In the write back template I call a DB procedure that updates a column
<insert> </insert>
<update> begin pr_update(@1); end </update>
but unfortunaly the column is always updated with its current value and not the value I've just entered for the update.
it's like if The presentation server is not sending the new value to the DB but the old one.
any ideas?
ThanksHi aharab,
Follow this link might be you are looking for something this way http://108obiee.blogspot.com/2009/07/obiee-write-back-solution-for-insert.html
hope helps you.
By,
KK -
Write Back Error: The system was unable to generate appropriate SQL
All,
Have looked at the previous threads on this topic and it has usually been syntax problems in the xml file. I've been over it a million times and can't see any problems.
The error I'm getting is when I click the "update" button to initiate the write-back;
The system was unable to generate appropriate SQL. Please contact your system administrator.
Template: 'UPDATE WC_DEPT_GOALS_D SET Week_Beginning = @{c0}, Week_Ending = @{c1} WHERE id = @{c2} '
Record: '<record action="update"><value columnID="c2">142</value><value columnID="c0">04/30/2012</value><value columnID="c1">05/06/2011</value></record>'
My xml file is as follows;
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="GOALS">
<XML>
<writeBack connectionPool="GL Oracle Data Warehouse Connection Pool">
<insert> </insert>
<update>UPDATE WC_DEPT_GOALS_D SET Week_Beginning = @{c0}, Week_Ending = @{c1} WHERE id = @{c2} </update>
<postUpdate>COMMIT</postUpdate>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Week Beginning and Week End are just two columns from WC_DEPT_GOALS_D - 44 columns in total which I want to write back to. These two are datetime, the others are int or float. I can't even get it to write back with these two, let a lone the other 42! :)
Any suggestions? Thanks guys!
Please note, I've also tried it without the "postUpdate" COMMIT line. Same error.
Edited by: Ally on Jun 3, 2011 7:50 AM
Edited by: Ally on Jun 3, 2011 8:00 AMIf your column data type is varchar then you have to specify that in single quote
COMMIT :if your DB supports automatic commit so you don't have to add it.
check that the name in "<WebMessage name="GOALS">" is the exact same case as what you have in your report. i.e. it's Goals in the XML and then it cannot be GOALS in the Report or goals.
And also try this..
<update>UPDATE WC_DEPT_GOALS_D SET Week_Beginning = @{c0} WHERE id = @{c2}
UPDATE WC_DEPT_GOALS_D SET Week_Ending = @{c1} WHERE id = @{c2}</update>
Restart all the services and oc4j
Cheers,
Aravind
Edited by: Aravind Addala on Jun 3, 2011 8:51 AM
Edited by: Aravind Addala on Jun 3, 2011 8:57 AM
Maybe you are looking for
-
I need to capture directly into Imovie using EyeTV.
I can capture directly into EyeTV software no problem. I have an EyeTV 200 with a firewire connection. I can export from Eye TV into Imovie. I would like to remove a step and capture from my EyeTV directly into Imovie. Currently I get a message that
-
Is this really a java bug?
# An unexpected error has been detected by HotSpot Virtual Machine: # SIGSEGV (0xb) at pc=0x8d22d623, pid=12929, tid=2293337008 # Java VM: Java HotSpot(TM) Server VM (1.5.0_06-b05 mixed mode) # Problematic frame: # [thread 2106588080 also had an erro
-
Hi all new here, am just learning and when i activate the dodge or burn symbol i click over the area to be worked and my Mac freezes. only in the elements software. if i go out of elements i cannot get back in and have to force a software close, any
-
Hi, At the advice of the Tmobile tech, am trying to set up this: "In order for IPsec to work, the following ports need to be allowed through the firewall in both directions: UDP port 500 (Internet Key Exchange or "IKE") UDP port 4500 (IPSec/IKE NAT-T
-
Accessing dynamically created objects
If objects are created dynamically in AS3, using code like this: for (var num:Number = 0; num<10; num++){ var txtFld:TextField = new TextField(); txtFld.text = 'This is the original text'; this.addChild(txtFld); then later, i want to changet the text