GRC CUP: Audit Trail Update is incorrect
Hi All,
I have noticed while going through one of the requests in Compliant User Provision (CUP) that, the information updated in the "Audit Trail" section of the request is incorrect. Meaning, there were certain roles added to a user. And I got the below Audit Trail Informaiton:
Request 603 Submitted by XXXX on 08/03/2011 12:53
Role 1-XXX Role Added with validity dates 08/03/2011-12/31/9999
Role 2-XXX Role Added with validity dates -12/31/9999
Role 3-XXX Role Added with validity dates 08/03/2011-
Role 4 -XXX Role Added with validity dates 08/03/2011-
If you notice the fourth line, the validity til Datel is not mentioned. When I checked in the backend system for that role, it is duly mentioned there.
May any one please help me in identifying the problem?
Regards,
Faisal
Hi Raghu,
Thanks for your reply.
I have gone through these notes and it seems they belong to GRC AC 10. However, we are running on GRC AC 5.3.
Also, notes 1597664 and 1581495 say that, the validity date is shown as 31.12.9999 always. But my problem is that the dates for a role which is addes is not mentioned properly.
I am not sure how thie will helpme.
Please suggest.
Regards,
Faisal
Similar Messages
-
AOL audit trail disable while upgrading
Hi,
I am refering to R12 upgrade guide.
In page 3-2, there is a step to disable AOL audit traill.
In our 11i instance we have "enable-requested" for APPLSYS's FND tables.
So should be set it to "diable-perpare for archive" and run the audit trail update request???
ThanksIn our 11i instance we have "enable-requested" for APPLSYS's FND tables.
So should be set it to "diable-perpare for archive" and run the audit trail update request???Yes.
If you use the Oracle Applications Object Library Audit Trail feature, you must disable it before the upgrade.
From the System Administrator responsibility under the 11i APPL_TOP, navigate to Security > Audit Trail > Groups. In the Audit Groups window, set the Group State field to Disable - Prepare for Archive for each audit group defined. Run the Audit Trail Update Tables report from the Submit Requests window (Requests > Run).
If you plan to re-enable auditing after the upgrade, then archive and purge the shadow tables now. Data changes made after implementing this step are not audited.
Thanks,
Hussein -
Update Audit Trail in CUP from an External IDM Solution
Hi,
We are doing an external IDM integration with CUP 5.3 SP7. Our design include gathering some approvals in the IDM solution before forwarding the request to CUP for some additional approvals and provisioning.
We are trying to use the SAP delivered webservices like:SAPGRC_AC_IDM_SUBMITREQUEST for the request submission. In an effort to keep the entire audit trail in CUP, we are exploring means to send the IDM approval/audit trail to CUP so that an Admin can login to CUP to get the entire request history. Does anybody know how can we get this achieved? Is there an API /WS that can be used to update the Audit trail in CUP along with the submission of a request?
We know there is one WS which provide the audit trail from CUP to IDM but not the other way !
Thanks for your inputs,
Regards,
AnilThe following 2 webservices may be able to help you:
Inbound (from IdM to AC) Web Services (available with Access Control 5.2 SP04+):
Audit Trail (includes the Provisioning Log Web service) SAPGRC_AC_IDM_AUDITTRAIL
This Web service returns a comprehensive audit history. It enables IdM to retrieve an audit log from
Access Control (for ERP provisioning) as well as provide an audit history of user provisioning to
Access Control.
Outbound (from AC to IdM) Web services (available with Access Control 5.3):
Audit Trail (includes the Provisioning Log Web service) SAPGRC_AC_IDM_AUDITTRAIL_FROM_IDM
This Web service returns a comprehensive audit history. It enables Access Control to retrieve the
audit log from IdM (for non-ERP provisioning) as well as an audit history of user provisioning to IdM. -
CUP Request Audit Trail missing info about Mitigations & Risks
Hi All,
We use SAP GRC CUP 5.3 SP8 Patch 1.
When provisioning an SAP account through the GRC solution, we notice that the Audit trail is missing any details about the risks & mitigations that are applied to the request. Ideally we need to track the user who applied the mitigation and the time stamp for the action. We can see the Risks and the mitigations applied in separate sections in the request(but still missing the details i've mentioned above)
We have configured the system so that the risks need to be mitigated before approving a request.
Is there a way(some config) we can get this info too recorded in the Audit trail?
Thanks,
Anil
Edited by: Anil Sebastian on Sep 20, 2009 10:50 PMI was getting an error in RAR that it couldn't send out the notification e-mail. The Java Mail Client had not been configured. Once I had done this, and restarted the server0, it worked.
-
Oracle BPEL Console audit trail showing incorrect information
Hi all,
I am using Oracle BPEL 10.1.3.3 on Red Hat Linux server and 10g R2DB as the dehydration store.
My processes whether synchronous or empty are all executing properly without any error and in the 'Instances' tab under BPEL console they are shown as completed succesfully,however when I click on a particular instance and try to view the audit trail each activity is shown as pending .........but the Input and Output of those activities are all correct.
Infact even the Assign and Transformation activities are shown as pending.
Neither domain nor opmn log files show any error.
Can anyone please let me know what can be the possible cause?This is very urgent.
Thanks.Audit trail (if it's turned on) is persisted only in database. What you see in console is just visual representation of data in XML fashion. But behind the scenes is allways database. Even in developer installation (which you are probably using) is database. It is Oracle Lite (Olite).
-
SAP GRC PC10 CCM - How to delete obsolete audit trails
Hi SAP experts,
I would like to know how obsolete records related to CCM workflows (exceptions, remediation, audit trail of actions) can be deleted in GRC10.
Thanks for your help in advanceHi SAP experts,
I would like to know how obsolete records related to CCM workflows (exceptions, remediation, audit trail of actions) can be deleted in GRC10.
Thanks for your help in advance -
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 -
Audit trail of Business Partner Views
Hi All,
A typical audit trail within SAP tracks the creation and changes of master data and transactional data.
For a SAP CRM solution, we have the requirement for tracking views of business partner master data. Can this be activated in SAP CRM as standard, or is there another tool/add-on we can use? A suggestion is to possibly use the ICM monitor, but i'm not sure it will capture all the information we need and store it over a long period of time. My understanding is that ICM uses a set memory allocation which cycles, so if it gets full, it simply overwrites from the beginning again.
Help appreciated!
IndiI hope someone from here can help me. I am setting up audittrail for wf_local_user_roles table. The Audittrail update table program completed no error. The audittrail valdiation program also report no error.
But when I modify the end date for existed responsibility, it shows the change in the original table WF_loadl_user_roles. But there is no change in wf_local_user_roles_AC table wf_local_user_roles_AV4. They both keep the old end date.
WHY? -
How to create an audit trail report in SAPB12007
Hello,
I been looking for some ways to make an Audit Trail Report for our System Audit. Could anyone help me with this?
I would like to generate a report that will list all the BP and ITem master data. the date its created and modified and if its modified what are the old values and the modified values.
I browse the table ACRD for the BP history. how every it could be read as a report. So I was wondering if anyone knows what table should I look at if I am to get the old and new value of a modified transaction. Pls. note that I wanted to create a report.
Thank you very much
catHere are the queries that I use for my audits internally. The first one is for customer changes. And the second one to control pricing.
Query Name: Business Partner History Log
Author: Vincent Motte
Version: 1.0
History:
/SELECT FROM ACRD T1/
DECLARE @DATE AS DATETIME
/* WHERE */
SET @DATE = /* T1.UpdateDate */ getdate()-30
SELECT
CASE
WHEN (SELECT ISNULL(T10.BankCode,0) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode AND T10.LogInstanc=T0.LogInstanc-1)<>ISNULL(T0.BankCode,0)
Then 'Bank details modified'
WHEN (SELECT ISNULL(T10.DflAccount,0) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode AND T10.LogInstanc=T0.LogInstanc-1)<>ISNULL(T0.DflAccount,0)
Then 'Bank details modified'
WHEN (SELECT ISNULL(T10.DflBranch,0) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode AND T10.LogInstanc=T0.LogInstanc-1)<>ISNULL(T0.DflBranch,0)
Then 'Bank details modified'
WHEN (SELECT COUNT(T10.CardCode) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode and T10.LogInstanc<T0.LogInstanc)<=0
Then 'Creation'
else ''
END 'Alert',
T0.UpdateDate 'Update Date', T1.[U_NAME] 'User',T0.CardCode, T0.CardName
, T0.[CreditLine], T0.[DebtLine],
T0.[Discount], T0.[VatStatus], T0.[LicTradNum], T0.[ListNum] 'Price List', T0.[DflAccount], T0.[DflBranch], T0.[BankCode],
T0.[validFor], T0.[frozenFor], T0.[VatGroup], T0.[Deleted], T0.[PymCode], T0.[BlockDunn],
T0.[WTCode]
FROM ACRD T0 , OUSR T1 WHERE
T1.INTERNAL_K=T0.UserSign AND T0.UpdateDate>=@DATE
Query Name: Price Change log
Description: extracts the price modification for each item in SBO for the past 30 days
Version 1.0
Author: Vincent Motte
History:
Select
--T0.UserSign,
T1.itemcode 'Item Code',
T0.Price [Previous],
T1.Price [Current],
T2.ListName 'Price List',
T0.Factor[Old Factor] ,
T0.factor [New Factor],
/* select the update date for the log instance(determined by the where condition )*/
(Select distinct T3.Updatedate from aitm T3 where T3.itemcode= T0.itemcode and (T3.loginstanc +1)= T0.loginstanc ) 'Update Date',
T0.loginstanc 'Instance',
T2.listName 'Price List',
/Select the base price list for the item's price list from the price list table/
(Select T4.base_num from opln T4 where T4.listnum = T1.pricelist and T4.listnum = T0.pricelist) [Base PriceList ]
--t0.Currency,
--T1.CURRENCY
From
ait1 T0 inner join
itm1 T1 on T0.pricelist = T1.pricelist and T0.itemcode = T1.itemcode
Inner Join opln T2 on T1.pricelist = T2.listnum
where
/* Condition 1: Select all the items + their price change where the price has been changed and the base price list equals the price list itself. It counts the Log Instance from the item in
the price list and substract one to get the last entry where the price was changed. The loginstance coutn ignores a count of 1
T0.loginstanc =
((Select count (a.Loginstanc) from ait1 a where a.itemcode = T0.itemcode and a.pricelist = T0.pricelist group by a.itemcode having count(a.Loginstanc) > '1' ) -1)
and
/* Cater for prices in target price lists which may have been manually changed. */
(T1.ovrwritten='y'and T0.Price <> T1.Price)
or (T0.Price <> T1.Price and T2.base_num = T1.pricelist and T2.base_num = T1.pricelist
and T2.base_Num = T2.listnum )
Cater for cases where a currency change but not a price change may happen
OR T0.CURRENCY <> T1.CURRENCY
or
Condition 2: Select all price changes where the price may have changed due to the price of the parent price lsit changing.
As this type of price chnage is not recorded in the AIT1 the second log instance condition details that the base price list
from opln does not equal the actual price list in ait1 or itm1.
T0.loginstanc =
(Select top 1 c.loginstanc from ait1 c where c.itemcode = T0.itemcode and c.pricelist = T0.pricelist and c.loginstanc <> '1' order by c.loginstanc desc)
and T2.base_num <> T1.pricelist and T2.base_num <> T1.pricelist
and T2.base_Num <> T2.listnum
and
caters for a change in the factors or prices in target price lists which may have been manually changed.
((T0.Factor <> T1.factor)
or (T1.ovrwritten='y'and T0.Price <> T1.Price)
or T0.price <> T1.price
Cater for cases where a currency change but not a price change may happen
OR T0.CURRENCY <> T1.CURRENCY
and (T0.Price >= 0 or T1.Price >=0) and ((T0.Price <> T1.Price) or ((T0.Price <>
(Select distinct b.pricelist from itm1 b right outer join OPLN T4 on b.pricelist= T4.listnum and b.pricelist <> T4.base_Num where b.pricelist = T1.pricelist and b.itemcode =T1.itemcode)))
and (Select distinct T3.Updatedate from aitm T3 where T3.itemcode= T0.itemcode and (T3.loginstanc +1)= T0.loginstanc ) >getdate()-30 -
Hello , I had scenario where I had to monitor the changes what the user makes.
It was easy for me to monitor in a regular form . But when it comes to Tabular form as the form does not have any page item associated.. I had to use TRigger on the table.
But upon using the trigger on table I notice that the Trigger starts mutating when Deleting the records from all the tables. Cos even the Audit trail table data gets deleted at that point. So is there any way I can monitor the Delete of records from APEX side instead of Trigger on the table for tabular form.
thank you.The solution (usually) to performing any DML on a table in a trigger where the table in question is being hit by both the current DML statement and also by any sort of additional DML or select in the trigger is to use "PRAGMA AUTONOMOUS_TRANSACTION;" in something called by your trigger such that the DML executes in a different session.
The gotcha there is that the separate session won't yet be aware of your current row that you're inserting/updating/deleting, so not sure if that would open up a new issue or not. I guess it depends on the details of what you're trying to do.
Try "PRAGMA AUTONOMOUS_TRANSACTION;" and see if that helps.
Here's an example of the syntax:
http://www.java2s.com/Tutorial/Oracle/0560__Trigger/MarktriggerwithPRAGMAAUTONOMOUSTRANSACTION.htm -
In our production environment, we have configured the DB to audit changes made to the database audit trail, using the following statement:
AUDIT INSERT, UPDATE, DELETE
ON sys.aud$
BY ACCESS;
As part of our Sarbanes-Oxley controls, we need to verify that this configuration has not changed. Where/how do I see that this setting is still enabled?The audit trail is stored in the SYS.AUD$ table. It's contents can be viewed directly or via the following views:
* DBA_AUDIT_EXISTS
* DBA_AUDIT_OBJECT
* DBA_AUDIT_SESSION
* DBA_AUDIT_STATEMENT
* DBA_AUDIT_TRAIL
* DBA_OBJ_AUDIT_OPTS
* DBA_PRIV_AUDIT_OPTS
* DBA_STMT_AUDIT_OPTS -
Apex - Audit Trail With External Database
I'm currently trying to setup a primitive audit trail that allows me to record create data, create user, update date, update user. I currently have 3/4 however I can't get the username into database as V('APP_USER') is within Apex and the database is in Oracle 10G elsewhere.
Any suggestions or alternative ideas?f1f7a787-7f56-4451-8300-5a9a0215226b
So v() and apex_application.g_user are unavailable in the trigger code on the external database.
But procedures and package variables from the external database are available on the database running APEX.
What I would do is create a package with a package variable that will hold the apex user. ( in the external database)
Then in application definition > Database session> initialization PL/SQL code set this package variable to the apex user.
Clear the package variable again in the cleanup code.
Using a package variable will mean that the value is aviable during the whole database session but not outside of is.
In apex every page load or submit and following page load is a database session.
Now the package variable will be set when it is a apex user and null when it is a database user.
Using a nvl round the package variable with user as alternative will give the apex user when the action was done by a apex user and the database user when not.
Nicolette
Ps changing your handle or at the very least signing your post will result in a more friendly greeting. -
BC4J/JSP Dynamic JDBC Username Audit Trail
I have implemented a BC4J/JSP login page as per the How To "How To Support Dynamic JDBC Credentials". It all works very nicely thank you.
How can I retrieve the application module's username (passed through from the login page) from within the doDML() method of an EntityImpl?
I need to do this in order to maintain an audit trail of db updates.
Thanks,
JamesI think I should be able to use something like:
oracle.jbo.ApplicationModule am = oracle.jbo.client.Configuration.createRootApplicationModule
("package.AppModule", "AppModuleLocal");
oracle.jbo.ConnectionMetadata cm = am.getTransaction().getConnectionMetadata();
String uname = cm.getUserName();
But when I use this I get the error below. Any ideas?
Error Message: JBO-30003: The application pool (rabc4j.Rabc4jModule) failed to checkout an application module due to the following exception:
Error Message: null
JBO-30003: The application pool (rabc4j.Rabc4jModule) failed to checkout an application module due to the following exception:
java.lang.NullPointerException
java.lang.Object java.util.Hashtable.put(java.lang.Object, java.lang.Object)
void rabc4j.RaConnectionStrategy.connect(oracle.jbo.ApplicationModule, oracle.jbo.common.ampool.SessionCookie, oracle.jbo.common.ampool.EnvInfoProvider)
void oracle.jbo.common.ampool.ApplicationPoolImpl.connect(oracle.jbo.ApplicationModule, oracle.jbo.common.ampool.SessionCookie)
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(oracle.jbo.common.ampool.SessionCookie)
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(oracle.jbo.common.ampool.SessionCookie, boolean)
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean, long)
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean)
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule()
oracle.jbo.ApplicationModule oracle.jbo.client.Configuration.createRootApplicationModule(java.lang.String, java.lang.String, oracle.jbo.common.ampool.EnvInfoProvider)
oracle.jbo.ApplicationModule oracle.jbo.client.Configuration.createRootApplicationModule(java.lang.String, java.lang.String)
void rabc4j.RaActionPlanImpl.doDML(int, oracle.jbo.server.TransactionEvent)
void oracle.jbo.server.EntityImpl.postChanges(oracle.jbo.server.TransactionEvent)
void oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(oracle.jbo.server.TransactionEvent, com.sun.java.util.collections.ArrayList, com.sun.java.util.collections.HashMap, com.sun.java.util.collections.ArrayList, boolean, boolean)
void oracle.jbo.server.EntityImpl.postChanges(oracle.jbo.server.TransactionEvent)
void oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(oracle.jbo.server.TransactionEvent, com.sun.java.util.collections.ArrayList, com.sun.java.util.collections.HashMap, com.sun.java.util.collections.ArrayList, boolean, boolean)
void oracle.jbo.server.DBTransactionImpl.postChanges(oracle.jbo.server.TransactionEvent)
int oracle.jbo.server.DBTransactionImpl.commitInternal(boolean)
void oracle.jbo.server.DBTransactionImpl.commit()
int oracle.jbo.html.jsp.datatags.CommitTag.doStartTag()
void DataHandlerComponent.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void com.evermind.server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void com.evermind.server.http.GetParametersRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void com.evermind.server.http.EvermindPageContext.include(java.lang.String)
int oracle.jbo.html.jsp.datatags.ComponentTag.doStartTag()
void AplanRpropFkLink.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
void com.evermind.util.ThreadPoolThread.run() -
Audit Trail vs Audit Trail for Assignments for e-Recruiting
Hi,
We are using e-Recruiting on EHP3 sp05 so the administrator still has the BSP interface. On here there are two links one for Audit Trail and another for Audit Trail for Assignments. We can find data under Audit Trail (every time a status change activity is run it updates the audit trail), however we cannot find anything under Audit Trail for Assignments. Does anyone know what this is for and how you get this populated?
Many thanks
TomHello,
I could find the below information on SAP Help. Please check if this is anyway useful.
The recruiting administrator can use the iView "Access Audit Trails" to get access to the Audit Trail of a candidate profile. The recruiting administrator can then search for candidates and call an overview of the data of the different profile versions. In addition to the profile versions, the recruiting administrator can also display the candidates' assignments that were derived from the search result
Procedure
1. In the services of your work overview, choose Access Audit Trails under Transaction Data Management.
2. Specify selection criteria such as the first and last name and e-mail address of the candidates for whom you want to view the audit trails and then choose Search. The system displays a list with the search results. If audit trails exist for a candidate, the system displays a link to each of them in the corresponding columns of the list.
3. Double-click an entry in these columns to open the relevant audit trail. The system displays a list with all versions of the audit trail.
4. Select a version by clicking it. The system displays the Data Overview of Candidate or the Data Overview of Assignment.
http://help.sap.com/erp2005_ehp_04/helpdata/EN/f1/cc084136b5f423e10000000a155106/frameset.htm
http://help.sap.com/erp2005_ehp_04/helpdata/EN/07/091c174ad74c6ba5f8011c9f78e839/frameset.htm
Best regards
G Raj -
FDA regulated client document attribute audit trails impac
We are a FDA regulated client and they have concerns that the document
attribute data/audit trails may be lost or modified with future SP
stack updates or upgrades to future versions of SolMan.
Do you know of any limitations or risks with this topic?
We are required by FDA to do a Validation in Solution Manager: The
system must have the capability to preserve audit trails, business
process hierarchy linkages, and document history when upgrading to a
new version of Solution Manager, since we can not prove this with a
test script (we would have to do a test upgrade to test it) we are
looking to for previous experience to resolve the requirement.
Maybe you are looking for
-
Where can I find KUSC radio station? It seems to have disappeared.
Where is KUSC? It and all of the other radio stations seems to have disappeared.
-
Catch-22: need to assign a local variable within an anonymous class
static boolean showMessage(Window parent, String button0, String button1) throws HeadlessException { final Window w = new Window(parent); Panel p = new Panel(new GridBagLayout()); final Button b[] = new Button[]{new
-
DNS lookup on a new tree in an existing forest
Hi! I have a small question I am labbing for an exam, and just created a domain like this I was just curious why i cannot resolve the IP adress to the DC in wingtiptoys, when I can to contoso and canberra domains. Isnt that supposed to be added autom
-
Create, commit, rollback button behavior
I have a view object dropped as a form. It has the default create, commit and rollback buttons. On initial display, only the create button is enabled, and the form is read-only. I click create button, which then it allows me to enter input. Upon clic
-
Help: looking for Serialization suggestions (on strategies and products)
Hello, I'm looking for suggestions on how to tackle a Serialization issue. Suggestions on tools to use, and approaches for "do it yourself" coding are both needed. I need to serialize a large evolving codebase with a minimum of rewriting (overriding