Validating Write Back values
Hello all,
I have successful write back on OBI 11g. But the problem is the user needs validation on the input...some javascript?
1. Can we have validation on the field length .. say if the field width is more than 20 CHAR... some warning..
2. ALL Caps..?
3. checking invalid characters...
Please let me know your inputs on this..
Thanks a lot in advance..
Regards,
Kiran
Thanks.. but.. if we write DB trigger..
if any error/warning comes.. will the OBI will be able to show that.. or just it says.."A error occured while writing to the server.......bla bla bla".?
Generally, this will be the default error message for any...
May be i can try that also but... DB triggers also imapct performance...
Can there be some Javascript or something where we can do client validation rather DB???
Thanks
Kiran
Similar Messages
-
Hi folks,
I want to read the description-texts from maintenance-positions, modify them a little and then write the new values back. I arranged a User-selection using select options and I can process those objects and read their descriptions, but I don't know how to write back the new values to database-table MPOS.
Here is what I have:
DATA tmpos LIKE mpos OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK txt WITH FRAME TITLE text-001.
SELECT-OPTIONS:
t_warpl FOR tmpos-warpl.
SELECTION-SCREEN END OF BLOCK txt.
SELECT * FROM mpos into table tmpos
WHERE warpl IN t_warpl.
LOOP AT tmpos.
WRITE / tmpos-pstxt.
tmpos-pstxt = 'TEST'.
modify table tmpos.
ENDLOOP.
It seems I just modify the temporal table, but not the one in db.
Can you help me out?
Thanx and have a nice day!HI,
Can u elaborate what is your requirement because ur passing the description HARDCODED in the loop
LOOP AT tmpos.
WRITE / tmpos-pstxt.
tmpos-pstxt = 'TEST'. "I did n't get ur changing this description with a hardcoded value
modify table tmpos.
ENDLOOP.
The solution for this is update the PSTXT in the loop of tmpos
Regards,
Madhukar Shetty -
Oracle BI Write Back on NULL values - Write Back Error
Hi together,
Write Back 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
I receive this message when I try to make a update of an null value in the database.
update value on value or value to null works fine. So the XML Message is working on production.
Is this a BUG?
Regards,
Stefan
<?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="SetWriteBackGKV">
<XML>
<writeBack connectionPool="QS_DWH_DB">
<insert> </insert>
<update>UPDATE QS_DWH.CKVB_HR_EXTERNAL SET CKVB_HR_EXTERNAL.GKV_SICKNESS_PERC = '@{c7}' WHERE CKVB_HR_EXTERNAL.D_TIME ='@{c5}'</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>Hi,
http://gerardnico.com/wiki/dat/obiee/write_back -- recheck your configuration following this link step by step with screen shots.
Note : The Problem Occurred two ways,
1. Problem your XMl Script
2. If null value not present in your columns in your table in the database.The problem is occured.
please check below steps.
1. Are you using OCI or ODBC in your connection pool? Try it with OCI Call Interface 11g.
2.Remove the commit tag from the XML file.
<postUpdate>COMMIT</postUpdate>
=============================================================================================================
This xml file working for me.
Insert--
A couple of small adjustments got your XML to work here:
<?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".
Update--
I think that you have to specify also an SQL statement for the update tag, for example:
<?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="pmet_update">
<XML>
<writeBack connectionPool="PMTCOG">
<insert> select null from dual</insert>
<update> UPDATE XREF_PMET_URL SET URL= '@{c1}' WHERE API='@{c0}'</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
The witeback wants for both the tags (<insert></insert> and <update></update>) an SQL Statement.
Hope this help's
Thanks
Satya -
Hi Gurus,
I have implemented WRITE BACK FUNCTIONALITY , but the concern is not able INSERT ROWS FROM THE from end BIA.
Can anybody throw some gyan on this.
Thanks & Regards,
GovardhanaSrini thanks for replying.
I have set up this template and copied under the correct location.
Now able to do update DML operation but not able to do INSERT operations.
I'll paste my writebacktemplate.xml
===============================
<?xml version="1.0" encoding="utf-8"?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1" sawm:systemMessages="false" validation="strict">
<WebMessageTable lang="en-us" system="WritebackSystem" table="Messages">
<WebMessage name="SetForecast" translate="no">
<XML>
<writeBack connectionPool="ConnectionPool">
<insert>INSERT INTO SALES(PROD_ID,AMOUNT_SOLD)VALUES(@1,@2)</insert>
<update>UPDATE SALES SET AMOUNT_SOLD =@2 WHERE PROD_ID=@1</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Please let me know if any correction is needed on this.
Thanks,
Govardhana -
10g Write back works for some users, not others
Dear Gurus,
I have a strange problem with the Write Back in my system. We use Write-back pretty extensively and have maybe 10-20 separate reports, updating a number of tables.
We have been using this system for almost a year with no problems - Myself (logging in as Administrator) and a member of the Business team, logging in as herself (a member of the Presentation Server Administrator Group).
We now require two more Business power-users to use our Write-back reports. I have added them to the Presentation Server Administrator group. However, when they try to enter values into ANY of the write-back reports, they get the following error;
An error occurred while writing to the server. Please check to make sure you have entered appropriate values. If the problem persists...
*State: HY000. Code 10058 [NQODBC]... 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 "GL Oracle Data Warehouse Connection Pool"
I do not understand why the write back is working without error for my own user, the Admin user and a member of the business team who is in the Presentation Server Administrator group, but not for two new additions to that group.
I have checked that the Presentation Server Admin group is granted on the "Enable/Manage Write Back" privilege and on the Execute SQL privilege.
Any ideas what else I could check?
Thanks,
A.Hey Amith,
Thanks for your quick reply! Unfortunately, this doesn't seem to be the case. The system is pretty much wide open, apart from the Write pack privilege, which only the Presentation Server Administrator group has access to.
I'm having another of my Presentation Server Administrators who has been in the group forever try to use the write back.
There's no specific connection pool or database level permissions for write back, is there? And there's no specific permissions which need to be set on the xml template files?
Thanks,
A. -
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 -
Write Back Error in OBIEE 11.1.1.7.150120
Hello everybody,
i have a problem with the writeback capabilities of OBIEE 11.1.1.7.150120.
After the Migration from 10g to 11g i would like to customize the write back in 11g. I go like Oracle BI Practice: OBIEE 11g Configure Writeback this, but getting an OBIEE error:
"Write Back 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."
The table does not have any constraint. I would like to insert for example the value "2".
In my table properties i fill in "filling".
My ...\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\analyticsRes\customMessages\writeback.xml looks like that:
<?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="filling">
<XML>
<writeBack connectionPool="Connection Pool">
<insert> </insert>
<update>update analyticmodel.last_runtimes set laru_exec = @1, laru_runtime_start = sysdate </update>
</writeBack>
</XML>
</WebMessage>
<WebMessage name="machine_filling">
<XML>
<writeBack connectionPool="Connection Pool">
<insert> </insert>
<update>update analyticmodel.machine_filling set mf_mach_id = @{c0}</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Thank you very much
Best regards
ChristianHi Cristian,
You must use '' at script when call some column value. (use '@1' instead of @1)
Tip.. note you can use your "WebMessage Name" (from your script, like "filling", "machine_filing") into your analisys.
Hope this help
Felipe Idalgo -
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 Capability in Essbase
Dear All,
I read some where BSO has a direct write-back capability which is not possible in ASO, correct me if i'm wrong. Now my doubt is What is write back capability.'Write-back' refers to the ability of end-users to send values directly to the cube from a combined read / write interface such as the Essbase Excel Add-In, Smart View, Dodeca, Planning etc. A user can look at a value retrieved from the cube, decide for whatever reason that he or she wishes to change it, enter a new value and 'write it back'.
This is in contrast to data loaded (usually as part of a batch process) from an external system.
ASO is one of the two data storage mechanisms available in Essbase - it stands for 'Aggregate Storage Option'. As John said, write back to ASO cubes is only possible at 'level zero', and this feature was not introduced until version 9.3.1. If you aren't clear what 'level zero' means, I suggest reading this section of the Database Administrator's Guide: http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/frameset.htm?dinconc.html -
Problem in write back function.
I am trying to implement the write back function. The update button is enabled and it displays an error when clicked.
Error:
"The system is unable to read the Write Back Template 'dev10'. Please contact your system administrator."
following is the xml template i wrote -
<?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 ="dev10">
<XML>
<WriteBack ConnectionPool="WRB">
<insert></insert>
<update>UPDATE Users SET Default Password=@{C1} WHERE (UserName ='@{C0}' AND Group Name='@{C2}')</update>
</WriteBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
This is placed under C:\OracleBI\web\msgdb\customMessages.
and also can anyone tell me what is <WebMessage name ="dev10">?
Thanks in advance.somehow i fixed the update part of the xml. now i can update the column but still i could not insert a value in the column.
Any Suggestions plz? -
Write back to BW cube through HANA Stored Procedure?
Hi ,
I am looking for a way to write back to BW cube using HANA stored Procedure and not use the traditional approach
where we fetch the data as output using stored procedure and write that to BW cube using traditional write back approach .
Is it possible to write back to cube considering it is not a flat structure using simple insert sort of statement which we can do with DSOs?
Best Regards,
RakeshYepp exactly. Before the insertion all characteristic values are converted to SID-s.
The reality however is not that simple, since many checks are done during the cube update. One of these is the time consistency check, which checks if the data for the time dimension is consistent or not. In case of non-cumulative scenarios this is essential.
As of now, its not possible to check this purely with DB tools and therefore there is no stored procedure available to do this from DB level directly. For the same reason its not possible to use HANA executions on DTP-s whic has cubes as a target. -
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. -
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 -
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
Maybe you are looking for
-
I've edited a Pages doc (which is stored on iCloud) on my iMac; when I checked on my iPad it just shows that the document is updating with the cog wheel going round and it's been like that now for well over an hour. While that is going on Pages on my
-
The request failed with HTTP status 404: Not Found
Hi BPC version we are using is : 5.0.502 When we Publish all reports using the steps below: a. Log into BPC Web b. Click on Available Interfaces> Select BPC for Administration c. Under Web Admin Task Click Publish Reports d. Select all of the report
-
My laptop is Acer Aspire 5101 running Windows XP. I also find Firefox "freezes" and I have no alternative but to switch off computer. Then I find "firefox.exe not responding" and Windows has to "end program".
-
Editing html(?) pages in iWeb
I created my website (www.pamelaehrenberg.com) using iWeb and unfortunately lost the iWeb pages in a hard-drive crash. The website has survived on the server, and I was able to FTP the pages back to my hard drive, but I can't figure out how to edit t
-
Oracle 8.0.6 needed
Hello, we want to export an old 8.0.4 Oracle Database from Novell to install an new Oracle 10g Database. But the export tool is buggy.... See bugs 647800 and 850252. This bugs are fixed in 8.0.6. Fine. But how to update to Oracle 8.0.6 for Novell? Or