Shadow tables in owb 10.2.0.2.8
Hi all,
I have a problem with creating shadow tables in patch set 10.2.0.2.8. If I recalled correctly, I did manage to create them with no issues in another version of owb: 10.2.0.3. Can I just verify that this current patchset 10.2.0.2.8 does not support the creation of shadow tables automatiicaly? I looked at the script generated and I didnt see any "logerrors into error_table..." statement.
Hi
Prior to OWB 10.2.0.3 you can use the DML error logging features only for the mappings which runs
in ROW based mode.
But from OWB 10.2.0.3 onwards DML error logging features can be used for SET based mappings also.
Cheers
Nawneet
Similar Messages
-
hi,
If somebody got their hands on to the OWB Paris edition, can please throw some light on to the usage of Shadow Tables in OWB. Apparently, External Tables / Tables / Dimensions can be configured for the Shadow Table. I am just wondering how this can be used.
thanks
MaheshHi
Prior to OWB 10.2.0.3 you can use the DML error logging features only for the mappings which runs
in ROW based mode.
But from OWB 10.2.0.3 onwards DML error logging features can be used for SET based mappings also.
Cheers
Nawneet -
How to generate Error Table in OWB
Hi experts
I want to know about the rejected records. So
1. Should I create Error Table for that.?
2. Error table and shadow table are same thing..?
3. What are the steps to create error table.
Thanks in advance
Regards
Frndshttp://blogs.oracle.com/warehousebuilder/2007/08/set_based_errors_dml_error_log.html
http://www.rittmanmead.com/2006/07/12/using-the-owb10gr2-data-object-editor/
from 10gR2 you could use shadow table.
Re: OWB mappings to skip rows that are in error and continue processing
Edited by: Darthvader-647181 on Nov 26, 2008 3:09 AM -
Workspace manager vs. shadow tables
Hi,
I have the requirement to track any changes (insert/update/delete) on db tables.
At the end the user should be able to view the change history of records in the GUI.
The two possible methods are (in my opinion):
a) workspace manger
b) manage shadow tables manually (with triggers)
Has anyone experience with workspace manager for this use case?
What are the pros and contras of the two methods?
Database is 10gR2
regards
PeterWe are using OWB to create OLAP because you have your metadata properly defined in the design repository of OWB from where you can deploy to different databases and schemas. We are also using OWB to create tables and other relational objects instead of using SQL Developer or Toad to do so.
Nevertheless there are some restrictions when using OWB: You cannot create programs with OWB (e.g. for limiting access to certain objects), not all aggregation operators are supported (e.g. the weighted aggregation operators like WSUM are not supported by OWB), you cannot create models, ...
If you come to these restrictions you could write "after-deployment scripts", i.e. you deploy your dimensions and cubes from OWB and let the scripts do what you could not model with OWB.
Hope this helps! -
Audit Trail on R12.1 (shadow table concept)
I want to enable Audit Trail at table (column) level. Though I got response from Oracle Support but at present I am stuck on particular error. Here are the steps which I followed:
1. Apply latest Patch 12860752:R12.FND.B - Latest Audit Trail Fixes for post 12.1.3.
2. Enable Audit Trail on a table : I have set this for "PER_PEOPLE_F" tables of HR module
a. (R)System Administrator, (N) Profile -> System
Query Profile: 'AuditTrail:Activate'. Click FIND
Set it to 'Yes' at Site level.
b) Enable Audit Installations (HR)
-- Got System Admin: Security:AuditTrail:Install
-- Enable Audit Installation for HR
c) Define Audit tables and desired columns.
-- Got System Admin: Security: Audit Trail: Tables
-- Query for user table name 'PER_PEOPLE_F' and add columns on which enable trail
d) Define an Audit Group and associated tables
-- Got System Admin: Security: Audit Trail: Groups
-- Create Audit group for table defined in 'C'
e) Run Concurrent program 'AuditTrail Report for Audit Group Validation' with parameter as that of Audit Group.
f) Define an Industry Template contain Audit Group
-- Got System Admin: Security: Audit Trail Reporting: Audit Industry Template
g) Run concurrent program "AuditTrail Update Tables".
Now, I am facing challenge at point (g), as, the concurrent request "AuditTrail Update Tables" is completing with error.
And I am not able to proceed further.
****Log file shows as:****
Application Object Library: Version : 12.0.0
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
FNDATUPD module: AuditTrail Update Tables
Current system time is 02-APR-2013 01:02:32
----->Expand Rows
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 800, 53506, 135906, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 800 AND T.TABLE_ID = 53506
commit
commit
DELETE FROM FND_AUDIT_TABLES WHERE STATE = 'X'
DELETE FROM FND_AUDIT_COLUMNS C WHERE C.STATE = 'P' AND NOT EXISTS (SELECT NULL FROM FND_AUDIT_TABLES T WHERE T.TABLE_APP_ID = C.TABLE_APP_ID AND T.TABLE_ID = C.TABLE_ID AND T.STATE !='X')
----->Update Pending Columns
----->Adding ROW_KEY
**Starts**02-APR-2013 01:02:54
**Ends**02-APR-2013 01:02:57
----->Alter Shadow Table
ALTER TABLE PER_ALL_PEOPLE_F_A ADD (FULL_NAME VARCHAR2(240))
ALTER TABLE PER_ALL_PEOPLE_F_A ADD (FULL_NAME VARCHAR2(240))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 5 WHERE TABLE_APP_ID = 800 AND SCHEMA_ID = 900 AND TABLE_ID = 53506 AND COLUMN_ID = 135906 AND STATE = 'P'
commit
commit
----->Drop Triggers
DROP TRIGGER PER_ALL_PEOPLE_F_AI
DROP TRIGGER PER_ALL_PEOPLE_F_AI
commit
DROP PROCEDURE PER_ALL_PEOPLE_F_AIP
DROP PROCEDURE PER_ALL_PEOPLE_F_AIP
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AD
DROP TRIGGER PER_ALL_PEOPLE_F_AD
commit
DROP PROCEDURE PER_ALL_PEOPLE_F_ADP
DROP PROCEDURE PER_ALL_PEOPLE_F_ADP
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AU
DROP TRIGGER PER_ALL_PEOPLE_F_AU
commit
DROP PROCEDURE PER_ALL_PEOPLE_F_AUP
DROP PROCEDURE PER_ALL_PEOPLE_F_AUP
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AC
DROP TRIGGER PER_ALL_PEOPLE_F_AC
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AH
DROP TRIGGER PER_ALL_PEOPLE_F_AH
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AT
DROP TRIGGER PER_ALL_PEOPLE_F_AT
commit
----->Create Standard Triggers
CREATE OR REPLACE PROCEDURE
PER_ALL_PEOPLE_F_AIP(A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2 )
AS
ROWKEY number;
NXT number;
CMT number;
NUSER varchar2(100);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
ROWKEY:=(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000 MOD(NXT,100000)) * 100000 USERENV('SESSIONID');
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,ROWKEY,E0,E1,E2,NULL,NULL,NULL);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END PER_ALL_PEOPLE_F_AIP;
commit
CREATE OR REPLACE PROCEDURE
PER_ALL_PEOPLE_F_AUP (A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newtransaction_TYPE VARCHAR2(1);
newTRUE_NULLS VARCHAR2(250);
tmpPRIMCHANGE NUMBER;
nls_date_fmt VARCHAR2(40);
I0 DATE;
I1 DATE;
I2 NUMBER(10,0);
YB DATE;
YC VARCHAR2(150);
YD VARCHAR2(240);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT 0+decode(E0,A0,0,1)+decode(E1,A1,0,1)+decode(E2,A2,0,1) into tmpPRIMCHANGE FROM SYS.DUAL;
IF tmpPRIMCHANGE>=1 THEN
SELECT decode(A0,NULL,'Y','N')
||decode(A1,NULL,'Y','N')
||decode(A2,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNNNN')THEN
newTRUE_NULLS:=NULL;END IF;
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,A1,A2,JB,JC,JD);
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,E1,E2,NULL,NULL,NULL);
ELSE
SELECT DECODE(JB,RB,NULL,JB)INTO YB FROM SYS.DUAL;
SELECT DECODE(JC,RC,NULL,JC)INTO YC FROM SYS.DUAL;
SELECT DECODE(JD,RD,NULL,JD)INTO YD FROM SYS.DUAL;
SELECT decode(A0,NULL,decode(E0,NULL,'N','Y'),'N')
||decode(A1,NULL,decode(E1,NULL,'N','Y'),'N')
||decode(A2,NULL,decode(E2,NULL,'N','Y'),'N')
||decode(JB,NULL,decode(RB,NULL,'N','Y'),'N')
||decode(JC,NULL,decode(RC,NULL,'N','Y'),'N')
||decode(JD,NULL,decode(RD,NULL,'N','Y'),'N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNNNN')THEN newTRUE_NULLS:=NULL;END IF;
IF(newTRUE_NULLS is not NULL)OR
YB IS NOT NULL OR
YC IS NOT NULL OR
YD IS NOT NULL THEN
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'U',NUSER,newTRUE_NULLS,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,E1,E2,YB,YC,YD);
END IF;
END IF;
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END PER_ALL_PEOPLE_F_AUP;
commit
CREATE OR REPLACE PROCEDURE
PER_ALL_PEOPLE_F_ADP(A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newTRUE_NULLS VARCHAR2(250);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT decode(A0,NULL,'Y','N')
||decode(A1,NULL,'Y','N')
||decode(A2,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNNNN') THEN
newTRUE_NULLS:= NULL;
END IF;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,A1,A2,JB,JC,JD);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END PER_ALL_PEOPLE_F_ADP;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AH BEFORE INSERT ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AI AFTER INSERT ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_AIP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AT BEFORE UPDATE OF EFFECTIVE_START_DATE,EFFECTIVE_END_DATE,PERSON_ID,DATE_OF_BIRTH,FIRST_NAME,FULL_NAME ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AU AFTER UPDATE OF EFFECTIVE_START_DATE,EFFECTIVE_END_DATE,PERSON_ID,DATE_OF_BIRTH,FIRST_NAME,FULL_NAME ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_AUP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AC BEFORE DELETE ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AD AFTER DELETE ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_ADP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
commit
----->Create Views
VIEW PER_ALL_PEOPLE_F_AV1
commit
VIEW PER_ALL_PEOPLE_F_AV2
commit
VIEW PER_ALL_PEOPLE_F_AV3
commit
VIEW PER_ALL_PEOPLE_F_AV4
commit
VIEW PER_ALL_PEOPLE_F_AC1
-->EFFECTIVE_START_DATE
-->EFFECTIVE_END_DATE
-->PERSON_ID
-->DATE_OF_BIRTH
-->FIRST_NAME
-->FULL_NAME
commit
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'E' WHERE T.TABLE_ID = 53506 AND T.TABLE_APP_ID = 800 AND NOT EXISTS ( SELECT NULL FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID = T.TABLE_APP_ID AND C.TABLE_ID = T.TABLE_ID AND C.STATE = 'P' AND C.SCHEMA_ID != -1)
commit
commit
----->Delete Invalid Columns
----->Drop Triggers
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
commit
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
commit
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
commit
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
commit
Cause: Table name is FND_PROFILE_OPTION_VALUE_A.
DROP VIEW FND_PROFILE_OPTION_VALUE_AV1
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV2
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV3
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV4
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV5
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV6
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV7
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV8
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV9
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV10
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV11
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV12
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV13
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV14
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV15
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV16
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV17
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV18
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV19
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV20
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV21
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV22
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV23
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV24
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV25
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV26
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV27
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV28
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV29
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV30
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV31
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV32
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV33
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV34
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV35
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV36
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV37
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV38
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV39
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV40
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV41
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV42
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV43
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV44
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV45
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV46
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV47
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV48
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV49
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV50
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV51
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV52
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV53
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV54
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV55
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV56
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV57
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV58
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV59
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV60
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV61
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV62
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV63
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV64
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV65
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV66
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV67
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV68
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV69
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV70
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV71
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV72
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV73
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV74
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV75
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV76
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV77
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV78
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV79
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV80
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV81
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV82
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV83
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV84
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV85
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV86
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV87
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV88
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV89
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV90
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV91
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV92
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV93
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV94
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV95
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV96
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV97
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV98
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV99
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV100
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AC1
commit
----->Drop Shadow Table
DROP TABLE FND_PROFILE_OPTION_VALUE_A
ORA-00942: table or view does not exist
Error in fdasql, continuing...
/oracleferp/FERP/APPS/apps_st/appl/fnd/12.0.0/bin/FNDATUPD
Program was terminated by signal 11
Executing request completion options...
Output file size:
0
Output is not being printed because:
The print option has been disabled for this report.
Finished executing request completion options.
Concurrent request completed
Current system time is 02-APR-2013 01:03:56
Any comments/ suggestions in context of the Audit Trail query are heartily welcome !!
Regards,
S.MalikDear Hussein,
I followed the doc id: 727770.1 and as per note, I deleted the previous Audit data.
And enabled the audit trail as per document to the similar table as mentioned in the doc. with similar steps. But still the concurrent request "AuditTrail Update Tables" is completing with error. Please find below the log file for the same:
Application Object Library: Version : 12.0.0
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
FNDATUPD module: AuditTrail Update Tables
Current system time is 02-APR-2013 04:19:23
----->Expand Rows
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158785, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158787, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158786, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158790, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
commit
DELETE FROM FND_AUDIT_TABLES WHERE STATE = 'X'
DELETE FROM FND_AUDIT_COLUMNS C WHERE C.STATE = 'P' AND NOT EXISTS (SELECT NULL FROM FND_AUDIT_TABLES T WHERE T.TABLE_APP_ID = C.TABLE_APP_ID AND T.TABLE_ID = C.TABLE_ID AND T.STATE !='X')
----->Create New Table
CREATE TABLE OTA_DELEGATE_BOOKINGS_A (AUDIT_TIMESTAMP DATE NOT NULL, AUDIT_TRANSACTION_TYPE VARCHAR(1) NOT NULL, AUDIT_USER_NAME VARCHAR2(100) NOT NULL, AUDIT_TRUE_NULLS VARCHAR2(250), AUDIT_SESSION_ID NUMBER NOT NULL, AUDIT_SEQUENCE_ID NUMBER NOT NULL,AUDIT_COMMIT_ID NUMBER NOT NULL, ROW_KEY NUMBER )
commit
GRANT ALL ON OTA_DELEGATE_BOOKINGS_A to APPS
GRANT ALL ON OTA_DELEGATE_BOOKINGS_A to APPS
commit
CREATE SYNONYM OTA_DELEGATE_BOOKINGS_A for OTA.OTA_DELEGATE_BOOKINGS_A
CREATE SYNONYM OTA_DELEGATE_BOOKINGS_A for OTA.OTA_DELEGATE_BOOKINGS_A
commit
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:32
**Ends**02-APR-2013 04:19:34
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_ID NUMBER(9,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_ID NUMBER(9,0))
commit
commit
DELETE FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID= 810 AND C.TABLE_ID = 55079 AND C.COLUMN_ID = 158785 AND C.SCHEMA_ID = 900
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID,TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID,SCHEMA_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158785, 'K', 0, 900, SYSDATE,0,0,0,SYSDATE)
commit
----->Update Pending Columns
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:36
**Ends**02-APR-2013 04:19:36
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_STATUS_TYPE_ID NUMBER(9,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_STATUS_TYPE_ID NUMBER(9,0))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 1 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158786 AND STATE = 'P'
commit
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:37
**Ends**02-APR-2013 04:19:37
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (DELEGATE_PERSON_ID NUMBER(10,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (DELEGATE_PERSON_ID NUMBER(10,0))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 2 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158787 AND STATE = 'P'
commit
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:37
**Ends**02-APR-2013 04:19:37
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (EVENT_ID NUMBER(9,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (EVENT_ID NUMBER(9,0))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 3 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158790 AND STATE = 'P'
commit
commit
----->Drop Triggers
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AI
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AI
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AI' does not exist
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AIP
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AIP
ORA-04043: object OTA_DELEGATE_BOOKINGS_AIP does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AD
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AD
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AD' does not exist
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_ADP
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_ADP
ORA-04043: object OTA_DELEGATE_BOOKINGS_ADP does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AU
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AU
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AU' does not exist
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AUP
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AUP
ORA-04043: object OTA_DELEGATE_BOOKINGS_AUP does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AC
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AC
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AC' does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AH
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AH
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AH' does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AT
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AT
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AT' does not exist
----->Create Standard Triggers
CREATE OR REPLACE PROCEDURE
OTA_DELEGATE_BOOKINGS_AIP(A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER )
AS
ROWKEY number;
NXT number;
CMT number;
NUSER varchar2(100);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
ROWKEY:=(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000 MOD(NXT,100000)) * 100000 USERENV('SESSIONID');
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,ROWKEY,E0,NULL,NULL,NULL);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END OTA_DELEGATE_BOOKINGS_AIP;
commit
CREATE OR REPLACE PROCEDURE
OTA_DELEGATE_BOOKINGS_AUP (A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newtransaction_TYPE VARCHAR2(1);
newTRUE_NULLS VARCHAR2(250);
tmpPRIMCHANGE NUMBER;
nls_date_fmt VARCHAR2(40);
I0 NUMBER(9,0);
YB NUMBER(9,0);
YC NUMBER(10,0);
YD NUMBER(9,0);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT 0+decode(E0,A0,0,1) into tmpPRIMCHANGE FROM SYS.DUAL;
IF tmpPRIMCHANGE>=1 THEN
SELECT decode(A0,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNN')THEN
newTRUE_NULLS:=NULL;END IF;
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,JB,JC,JD);
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,NULL,NULL,NULL);
ELSE
SELECT DECODE(JB,RB,NULL,JB)INTO YB FROM SYS.DUAL;
SELECT DECODE(JC,RC,NULL,JC)INTO YC FROM SYS.DUAL;
SELECT DECODE(JD,RD,NULL,JD)INTO YD FROM SYS.DUAL;
SELECT decode(A0,NULL,decode(E0,NULL,'N','Y'),'N')
||decode(JB,NULL,decode(RB,NULL,'N','Y'),'N')
||decode(JC,NULL,decode(RC,NULL,'N','Y'),'N')
||decode(JD,NULL,decode(RD,NULL,'N','Y'),'N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNN')THEN newTRUE_NULLS:=NULL;END IF;
IF(newTRUE_NULLS is not NULL)OR
YB IS NOT NULL OR
YC IS NOT NULL OR
YD IS NOT NULL THEN
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'U',NUSER,newTRUE_NULLS,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,YB,YC,YD);
END IF;
END IF;
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END OTA_DELEGATE_BOOKINGS_AUP;
commit
CREATE OR REPLACE PROCEDURE
OTA_DELEGATE_BOOKINGS_ADP(A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newTRUE_NULLS VARCHAR2(250);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT decode(A0,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNN') THEN
newTRUE_NULLS:= NULL;
END IF;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,JB,JC,JD);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END OTA_DELEGATE_BOOKINGS_ADP;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AH BEFORE INSERT ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AI AFTER INSERT ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_AIP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AT BEFORE UPDATE OF BOOKING_ID,BOOKING_STATUS_TYPE_ID,DELEGATE_PERSON_ID,EVENT_ID ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AU AFTER UPDATE OF BOOKING_ID,BOOKING_STATUS_TYPE_ID,DELEGATE_PERSON_ID,EVENT_ID ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_AUP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AC BEFORE DELETE ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AD AFTER DELETE ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_ADP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
commit
----->Create Views
VIEW OTA_DELEGATE_BOOKINGS_AV1
commit
VIEW OTA_DELEGATE_BOOKINGS_AV2
commit
VIEW OTA_DELEGATE_BOOKINGS_AV3
commit
VIEW OTA_DELEGATE_BOOKINGS_AV4
commit
VIEW OTA_DELEGATE_BOOKINGS_AC1
-->BOOKING_ID
-->BOOKING_STATUS_TYPE_ID
-->DELEGATE_PERSON_ID
-->EVENT_ID
commit
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'E' WHERE T.TABLE_ID = 55079 AND T.TABLE_APP_ID = 810 AND NOT EXISTS ( SELECT NULL FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID = T.TABLE_APP_ID AND C.TABLE_ID = T.TABLE_ID AND C.STATE = 'P' AND C.SCHEMA_ID != -1)
commit
commit
----->Delete Invalid Columns
----->Drop Triggers
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AI' does not exist
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
ORA-04043: object FND_PROFILE_OPTION_VALUE_AIP does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AD' does not exist
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
ORA-04043: object FND_PROFILE_OPTION_VALUE_ADP does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AU' does not exist
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
ORA-04043: object FND_PROFILE_OPTION_VALUE_AUP does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AC' does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AH' does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AT' does not exist
Cause: Table name is FND_PROFILE_OPTION_VALUE_A.
DROP VIEW FND_PROFILE_OPTION_VALUE_AV1
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV2
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV3
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV4
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV5
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV6
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV7
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV8
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV9
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV10
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV11
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV12
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV13
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV14
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV15
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV16
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV17
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV18
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV19
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV20
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV21
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV22
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV23
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV24
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV25
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV26
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV27
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV28
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV29
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV30
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV31
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV32
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV33
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV34
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV35
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV36
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV37
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV38
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV39
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV40
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV41
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV42
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV43
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV44
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV45
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV46
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV47
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV48
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV49
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV50
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV51
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV52
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV53
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV54
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV55
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV56
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV57
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV58
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV59
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV60
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV61
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV62
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV63
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV64
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV65
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV66
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV67
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV68
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV69
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV70
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV71
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV72
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV73
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV74
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV75
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV76
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV77
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV78
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV79
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV80
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV81
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV82
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV83
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV84
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV85
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV86
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV87
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV88
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV89
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV90
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV91
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV92
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV93
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV94
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV95
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV96
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV97
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV98
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV99
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV100
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AC1
ORA-00942: table or view does not exist
----->Drop Shadow Table
DROP TABLE FND_PROFILE_OPTION_VALUE_A
ORA-00942: table or view does not exist
Error in fdasql, continuing...
/oracleferp/FERP/APPS/apps_st/appl/fnd/12.0.0/bin/FNDATUPD
Program was terminated by signal 11
Executing request completion options...
Output file size:
0
Output is not being printed because:
The print option has been disabled for this report.
Finished executing request completion options.
Concurrent request completed
Current system time is 02-APR-2013 04:19:44
Regards,
S.Malik -
Clarification regarding Shadow Table
Hi All,
Clarification regarding Shadow Table. FKK_GPSHAD is a shadow table that belongs to Business Partner. The doubts that i have is
What is Shadow Table?
What is the purpose of Shadow table?
Is it correct way to update Shadow table Manually(Not using any BAPi etc....)?
Is any BAPI available to update The above mentioned Shadow table.
Thanks in Advance..Reclustering InfoCubes:
With reclustering, the InfoCube fact tables are always completely converted. The system createsshadow tables with a new clustering schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the reclustering request has been successfully completed, both fact tables exist in their original state (name of shadow table) as well as in their modified state with the new clustering schema (name of original table).
You can only use reclustering for InfoCubes. Reclustering deactivates the active aggregates of the InfoCubes; they are reactivated after the conversion.
Reclustering DataStore Objects
Reclustering completely converts the active table of the DataStore object. The system creates a shadow table with a new clustering schema and copies all of the data from the original table into the shadow table. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the reclustering request has been successfully completed, both active tables exist in their original state (name of shadow table) as well as in their modified state with the new clustering schema (name of original table).
You can only use reclustering for standard DataStore objects and DataStore objects for direct update. You cannot use reclustering for write-optimized DataStore objects. User-defined multidimensional clustering is not available for write-optimized DataStore objects.
Pls chk this thread:
Shadow Table?
http://help.sap.com/saphelp_nw2004s/helpdata/en/47/5cf74153b6ca17e10000000a155106/content.htm
Hope this helps,
Reward points... -
Shadow tables that have been created via the new partitioning schema
Hi,
Complete Partitioning :
In a complete partitioning, the fact table of the infocube are fully converted using shadow
tables that have been created via the new partitioning schema.
in the above Explanation what is the meaning of shadow tables which perform the
partitioning of an info cube.Hi
Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.
Complete Partitioning
Complete Partitioning fully converts the fact tables of the InfoCube. The system creates shadow tables with the new partitioning schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the system has successfully completed the partitioning request, both fact tables exist in the original state (shadow table), as well as in the modified state with the new partitioning schema (original table). You can manually delete the shadow tables after repartitioning has been successfully completed to free up the memory. Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.
You can only use complete repartitioning for InfoCubes. A heterogeneous state is possible. For example, it is possible to have a partitioned InfoCube with non partitioned aggregates. This does not have an adverse effect on functionality. You can automatically modify all of the active aggregates by reactivating them.
Hope it helps and clear -
Upgrading tables from OWB...
I am trying to upgrade a table in OWB using the deployment action of Upgrade. The old table exists in the target schema.
When I try to upgrade it I get this error:
RPE-01008: Recovery of this request is in progress.
RTC-5351: A serious error occured whilst generating the Impact Report. Please review the Runtime Service Log.
Where can I find the Runtime Service Log? What could be causing this error?
Thank you.
BrianThe runtime log is in:
<oracle_home>\owb\log
They are named after the runtime repos user... I'm guessing something went wrong in a previous deployment.
You can try to stop the runtime service and restart it. Use the start and stop scripts in the owb\rtp\sql directory.
Jean-Pierre -
Hi experts ...
I have two ztables in a program, in this suppose if the customer enters the data in one table than it is automatically updated in the shadow table with the action like new, modify , delte option.. where i have to code all these, and wat is the code... pls help meee.....Hi Gopal,
Check the link
[http://help.sap.com/saphelp_nw04/helpdata/en/7d/8483ecb6238d4f87f6bacee99f32c9/content.htm]
It will defenitely help you.
Reward if found helpful.
Anirban Bhattacharjee -
Populating Ranks in table through OWB
I am having trouble using DENSE_RANK in OWB (I am running the mapping in set-based mode).
I want to select data from one table, rank the rows, then insert the rows with the rank into another table. But I get an error when I validate the expression and the mapping fails when I try to execute it.
When trying to validate the expression, I receive this error:
Line 1, Col 14:
PLS-00103: Encountered the symbol "OVER" when expecting one of the following:
. ( * % & = - + ; < / > at in is mod not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between ||
The expression looks like this...
DENSE_RANK() OVER (PARTITION BY INGRP1.CUSTOMER_ID
ORDER BY INGRP1.SEQ)
When I generate the intermediate result and run it in SQL Plus, it runs without errors.
How can I use RANK in an expression and insert the rank into a table in OWB?
Thanks!Sorry, the Rank and other analytical functions syntax is not currently supported. It has to do with the fact that analytic functions are SQL only, they are not valid in the PL/SQL environment. Today, if you put an analytical function into an expression, ignore the validation error and force the map to run in set-based mode, OWB will generate the correct SQL statement. But it unfortunately will be not deployable. The next release of OWB removes this limitation.
Until then, the workaround is to use the analytical functions in views that serve as sources to OWB maps.
Nikolai -
Usage of Error Table in OWB mapping
WE uses ERROR tables to take care of defective items in a maping. We want the rows in the error-table to remain and acumulate for each loading. That is, we do not want to truncate between running the mapping. We have:
Truncate table error = NO
Roll-up errors = NO
But the table is truncated between each load anyway.
Does anyone have any experience of how to make the table not to truncated?
We are using OWB 11.2.0.1
/JohnHi John
This looks to be fixed in the 11.2.0.2 OWB patch.
The bug is 9661088, otherwise you'd have to move/process the errors before re-run.
Cheers
David -
Dropping all deployed tables in OWB 10.2.0.3.0
I am running OWB 10.2.0.3.0 and have multiple schemas containing deployed tables. This is a test instance and I would like to drop all the old tables and recapture some of the space. Is WB_RT_VERSION_FLAG the only table I need to keep intact to keep OWB functioning? Should I also leave CREATE$JAVA$LOB$TABLE and TRACE if it exists? Thanks.
Hi,
you must keep WB_RT_VERSION_FLAG, all the synonyms (created by owb) and the roles of a target user. All other objects may be dropped.
You should consider dropping the objects using control center manager (use context menu on the module an set the action to drop for all objects at once) in order to have the deployment status correctly.
Regards,
Carsten. -
How to implement "delete" on a table using OWB?
Hi All,
How do I implement a simple delete using OWB?
Assumption:
(1) Table abcd (id number, age number, amt number)
(2) the_number is a variable
(3) the_id is a variable
Want to implement following transformation in OWB?
DELETE FROM ABCD WHERE AMT=0 AND number = the_number AND id = the_id ;
Rgds,
DeepakWe implemented delete mappings, and delete flows to be able to reverse a failed load. This is in my opinion a very sound and valid reason for deleting from a datawarehouse. Also if the need is there it could be used for deleting old superfluous data from the datawarehouse.
There are a few things to consider: closed records in type II should be opened up (post mapping).
Test, test, test.
It is indeed a bit tricky to realize,but certainly working and possible.
steps to take are following:
1) create new mapping
2) drop mapping table where to delete from onto mapping (2 times, 1 source, 1 target)
3) map all fields from source to their corresponding fields in target, except the ones that determine the "where" clause (Refered to as filter fields)
4) Either create a select, or a mapping input parameter which should result in generating the filter-values for your delete.
5) map above step to the filter fields.
6)define a delete mapping by altering target table properties as follows:
6a) Loading Type => Delete
6b) Match by constraint => No constraints
7) set properties each field as folows:
7a) filter fields match column when deleting => Yes
7b) other fields match column when deleting => No
Hope this helps,
Wilco -
Modifying field lenght for an external table via OWB
Hi folks,
After, I would like to thanks everyone that helps to improve the level of quality of this forum with questions and answers!
I am having a problem with flat files and external tables:
I can't specify the field length in the ORACLE_LOADER parameters via OWB, so the driver consider that all my fields are CHAR(255). Concerning the online documentation for Oracle Utilities Part. no. A96652-01 on page 12-21, it's write that the lack of specification about the datatype or length of a field, the driver will assume the fields name and order of the fields defined on the external table fields and they will be CHAR(255). My problem is that we need to use a field bigger than CHAR(255), so I made this external table for example about our problem:
CREATE TABLE "TESTE"
"NOME" VARCHAR2(300),
"SOBRENOME" VARCHAR2(300))
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY TARGET_LOC_SRC_FILES_LOC
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
CHARACTERSET WE8MSWIN1252
STRING SIZES ARE IN BYTES
NOBADFILE
NODISCARDFILE
NOLOGFILE
FIELDS
TERMINATED BY ';'
NOTRIM
"NOME" ,
"SOBRENOME"
) LOCATION (
TARGET_LOC_SRC_FILES_LOC:'Partners.txt'
REJECT LIMIT UNLIMITED
NOPARALLEL
When we put by hand the field length in this script, it works fine!
Is there a way to put the length of the fields in the FIELDS clause of the SQL*Loader control file using OWB?Carlos,
Have you tried the following:
- Update the data types in the sampled flat file (i.e. go into the field definitions and edit the length).
- Go into the mapping and inbound reconcile the table (right-mouse click the file operator and select inbound reconcile).
- Regenerate, and review the result.
Thanks,
Mark. -
Simple Delete of records of a table through OWB.
Hi,
I wanted to run a simple delete based on a filter through OWB Release 1, how can this be implemented? Any help will be appreciated.Ola,
One of the loading types in a target table is 'DELETE'. This option can be used in a mapping to delete data from a certain table...
Create the mapping according the specs (conditions where you want to delete data). Set the loading type to delete and run the mapping. And you're done!
Keep in mind that data you delete from a table is completely gone. Sometimes - especially from a data warehouse point of view - it is not wise or allowed to delete the data. Instead of removing the records you could also add a column which indicates wether the record is valid or not. We call this column 'Indicator_Logical_Deleted' and load the values 0 and 1.
Regards,
Moscowic
Maybe you are looking for
-
Crystal Report / Subreport - Performance Issue
I am having problems with a Crystal Report / Subreport with performance. I am using Crystal Version 11, directly in Crystal Developer. There are no other programs involved. I am linking to a SQL Server database using ODBC. I have narrowed the probl
-
How do I perform a Reset....
Hi all, I'm new to LV and have a question... I have a small VI diagram which samples a boards test points for voltages, if the voltage is within limits is sets an boolean indicator to show the result. After the board has been tested I would like the
-
TPM Error ID 13 and 516 occuring after some time
Hi all, on my TP X301 a TPM error occurs always after some up-time. I get error IDs 13 and 516 in the Windows Error Protokolls. This is leading to an unusuable Client Security Password Manager. Client Security then tells me that the communication wi
-
Old apps won't work with Leopard
OK, thinking this would work out alright, I bought and installed Leopard on my eMac. I knew that my machine just met the requirements to run it, but I figured I could live with a sluggish machine for a while. I upgraded the OS from 10.2.9 which ran e
-
I'm trying to save a document that
I'm using iphoto 11 and want to show only the key photos from events in an album. I don't want to see every photo from every event in the album, I only want to view the key photos from each event in the album. When I drag the event into the album eve