Error while creating procedure and package
Hi,
I am getting an error while creating an procedure
create or replace procedure mke_test (mke_gender varchar2) is
begin
declare global temporary table mag_hotline_glob
INDIVIDUAL_ID NUMBER,
ONE_MONTH NUMBER,
THREE_MONTH NUMBER,
SIX_MONTH NUMBER,
TWELVE_MONTH NUMBER,
CHILDREN_PRES VARCHAR2(1 BYTE)
) with replace on commit preserve rows not logged;
begin
insert into mag_hotline_glob
select * from magazine_gender;
end;
end;
can anybody plz suggest
It's a total mess. You need to read the documentation first.
Create your table separately
CREATE global temporary table mag_hotline_glob(INDIVIDUAL_ID NUMBER,
ONE_MONTH NUMBER,
THREE_MONTH NUMBER,
SIX_MONTH NUMBER,
TWELVE_MONTH NUMBER,
CHILDREN_PRES VARCHAR2(1 BYTE)) with replace on commit preserve rows not logged;Then use the procedure (I don't know why, this INSERT statement you can fire yourself)
create or replace procedure mke_test(mke_gender varchar2) is
begin
insert into mag_hotline_glob
select * from magazine_gender;
end;If you want to create the GTT inside the procedure(should be avoided) then Use EXECUTE IMMEDIATE.
By the way, where are you using the IN parameter ? It' unnecessary.
Similar Messages
-
Compilation error while creating procedure
Hi,
I am getting compilation error while creating procedure
CREATE OR REPLACE My_CHANGEDATE IS
error_string VARCHAR2(400) := NULL;
BEGIN
Create table set_temp as select * from set;
CURSOR c1 is
SELECT a.SETNUM, b.CHANGEDATE from
set a, setsp_t2 b
where a.setnum = b.setnum
and trunc(a.changedate) < trunc(b.CHANGEDATE);
BEGIN
FOR rec IN c1 LOOP
UPDATE set SET changedate = rec.changedate
WHERE setnum = rec.setnum;
Insert into set_temp select * from set where setnum = rec.setnum;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
error_string := 'My_CHANGEDATE - '||SUBSTR(SQLERRM,1,350);
DBMS_OUTPUT.PUT_LINE(error_string);
RAISE;
END My_CHANGEDATE;I have taken your code and cleaned it up to be more readable. Please see the comments in the code.
CREATE OR REPLACE My_CHANGEDATE
IS
error_string VARCHAR2(400) := NULL;
BEGIN
/* The only way to issue DDL in a procedure is to either user
* DBMS_SQL or EXECUTE IMMEDIATE. Creating objects is generally
* not needed or recommended in frequently run code.
Create table set_temp as select * from set;
/* The cursor declarations need to go in the declaration section of the
* procedure (between IS .. BEGIN).
CURSOR c1 is
SELECT a.SETNUM, b.CHANGEDATE from
set a, setsp_t2 b
where a.setnum = b.setnum
and trunc(a.changedate) < trunc(b.CHANGEDATE);
BEGIN /* Where is the END that goes with this begin? */
/* Single record processing is generally not recommended. It is considered a "slow-by-slow" method. */
FOR rec IN c1 LOOP
UPDATE set SET changedate = rec.changedate
WHERE setnum = rec.setnum;
Insert into set_temp select * from set where setnum = rec.setnum;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
error_string := 'My_CHANGEDATE - '||SUBSTR(SQLERRM,1,350);
DBMS_OUTPUT.PUT_LINE(error_string);
RAISE;
END My_CHANGEDATE;My general recommendations are as follows:
1. Remove the CREATE TABLE from the procedure altogether.
2. Don't use reserved words for object names (e.g. SET)
3. Remove the record by record processing and consolidate it to a single UDPATE statement as follows (note untested):
UPDATE set s
SET changedate = (
SELECT CHANGEDATE
FROM SET A
, SETSO_T2 B
WHERE A.SETNUM = B.SETNUM
AND S.SETNUM = A.SETNUM
AND TRUNC(A.CHANGEDATE) < TRUNC(B.CHANGEDATE)
WHERE EXISTS(
SELECT NULL
FROM SET A
WHERE A.SETNUM = S.SETNUM
)HTH! -
Fiori Error while creating catalog and Group in Fiori Launchpad
Hi ,
We are getting following error while creating Catalog and Groups in Fiori Launchapd:
Error (500, Internal Server Error) in OData response for GET "/sap/opu/odata/UI2/TRANSPORT/CustomizingRequests?$filter=isDefaultRequest%20eq%20true": HTTP request failed
Details: Model 'ZTRANSPORT_MODEL_0001_BE' contains errors. Contact Adminstrator
Regards,
Trilochan
Message was edited by: Michael ApplebyHi Trilochan,
Have you assigned transport request? Select the config icon at right top.
Creating Transport Requests for User Changes - User Interface Add-On for SAP NetWeaver - SAP Library
Also look at SAP Fiori - UI Add-on SP09 update troubleshooting
Regards, Masa
SAP Customer Experience Group - CEG -
Run time error while Creating IDN and Inbound Delivery
Hi All,
I am getting Run time error while creating Inbound Delivery Notification from Inbound Queue and Inbound Delivery from IDN
After debugging i come to know that system is looking for Patch Level SAPKNA7026 but in my system Patch is upto SAPKNA7022
Is there any OSS notes available to deactivate/resolve this run time error ? I tried 0001798794 Deactivation of hierarchical access functionality but system is still giving me run time error
Regards,
P@MHi Agrawal
As you are getting run-time error after entering the sold to party and material and the error is in SAPLV61Z ,
close the session for sometime and open again and then create sales order and then enter sold to party and material and then check wheather you are getting or not. If you are still facing the problem then take the help of the ABAP & BASIS consultant's.
Regards
Srinath -
Error while creating a setup package .
Hi ALL,
We are trying to create a setup package (SP20 client) for our application
after assinging the device configurations their roles and conditions to the Hierarchy Group which we created It gives the following error while creation of the setup package
Error
0050 tc.mobile.admin.bl 113101 20080222
Retrieving device id failed.
However we tried to dig up for it in help.sap.com and forum we could not resolve the error .
Please suggests the neccessary solution,Its urgent.
Thanks & Regards
Aditi VyasHI
This problem is already resolved in SP20. Kindly make use of the latest patch of NWMADMIN and NWMClient and the error should get resolved.
Best regards
Sivakumar -
Dump Error while Creating the Info Package
Hi,
I have created Customized ODS and used Generic data sources.I have loaded full Upload to ODS. Created Info Packages for Init delta and Delta for delta loading. I have ran Full Upload and while I am trying to run Init, I am getting the error.
While I am trying to open the Info Package, I am getting Dump error message.
Dump error Message :
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
While i am trying to Create New Info Package, the systems gives the Dump on the System
Please help on this issue.
Thanks,
Siva.Hi,
Actually, when we want to have delta loads in future, then we can just have one infopackage with init delta infopackage, so that when it runs for the first time, it pulls all the records and from next time onwards it will pull the delta records only.
But as you have done the full load with infopackage, now just create a delta infopackage, no need of init delta infopackage, this is the reason, its giving dump.
Hope it has given some insight. -
"Run Script" (F5) Flacky Behavior with CREATE PROCEDURE and PACKAGE
When I have the following create statement in a SQL Worksheet and run the script using "Run Script" (F5), I get the "PROCEDURE bogus Compiled." message. Why does it not tell me that there was a compile error? The procedure is marked with a little red "X" in the connections pane.
CREATE OR REPLACE PROCEDURE bogus IS
BEGIN
x := 1;
END;
/Also, when I have the following command in a SQL Worksheet and run the script using "Run Script" (F5), I get the "PROCEDURE bogus Compiled." message. The difference is that I removed the slash after the CREATE PROCEDURE command. I can go into that procedure in the database via the Connections pane, click on the compile button, and the procedure compiles with no errors. Why does it not compile in a script when missing the slash?
CREATE OR REPLACE PROCEDURE bogus IS
BEGIN
NULL;
END;I noticed the same flaky behavior with CREATE PACKAGE BODY as well. This is in version 1.0.0.14.67 on Windows XP. Has this been fixed in the latest version?
MikeI found a number of earlier posts on this (going back to at least v804), but I cannot find a thread with a response from the SQL Developer team - see:
Package compilation error
Succesful compilation message and Compiling Invalid Objects
Creating a stored procedure from a file does not show compilation errors
Re: Syntax Error Feedback
I assume that it is just a bug with SQL Developer that it does not check for compilation errors when determining the status message to display (ie "PROCEDURE bogus Compiled"). At least now we get the little red cross on the navigator to tell us it is invalid :) -
i am using the following description to create a web service reference:
web reference :REST
Name :Yahoo Map
URL :http://local.yahooapis.com/MapsService/V1/mapImage
HTTP Method: GET
Basic Authentication: No
Add Parameter:
Name Type
appid String
location String
Output Format: XML
XPath to Output Parameters : /Result
Output Parameter:
Name Path Type
Url /text() String
Then i tried to create form and report on webservice:
Web Service Reference Type: Yahoo Map
Operation: doREST
All the fields i keep as default
I tick the checkbox (url)in report Parameter
After clicking next whereever required i click create button
I get the following error
ORA-20001: Unable to create form on table. ORA-02263: need to specify the datatype for this column.
Please someone help to solve this as i need to fix it urgently.i exported the application from apex.oracle.com and imported it to our environment
import went fine, but when I ran the IR page I got
ORA-20001: get_dbms_sql_cursor error ORA-00904: : invalid identifier
evidently the problem is a lack of public execute on DBMS_LOB, which is used in the generated IR source.
while waiting for the DBA to grant privs on DBMS_LOB, changing the dbms_lob.getlength call to length() fixes the IR.
however, i am not getting the download link on the associated form page... changed templates, that's not the issue -- we'll see if that's a dbms_lob issue as well -
I am using Apex 4.2.2.00.11
am using the following description to create a web service reference:
web reference :REST
Name :Yahoo Map
URL :http://local.yahooapis.com/MapsService/V1/mapImage
HTTP Method: GET
Basic Authentication: No
Add Parameter:
Name Type
appid String
location String
Output Format: XML
XPath to Output Parameters : /Result
Output Parameter:
Name Path Type
Url /text() String
Then i tried to create form and report on webservice:
Web Service Reference Type: Yahoo Map
Operation: doREST
All the fields i keep as default
I tick the checkbox (url)in report Parameter
After clicking next whereever required i click create button
I get the following error
ORA-20001: Unable to create form on table. ORA-02263: need to specify the datatype for this column.
Please someone help to solve this as i need to fix it urgently.336554,
Looks like there is a 127-column limit on the number of report columns supported when using that wizard. Do you have more than that?
57434 -
Error While Creating Block on Package Procedure
Hi
When I try to create a block on a package Procedure I get the following error
ifbld60.exe has generated errors and will be closed by Windows.
You will need to restart the program.
An Error log is being created,
and forms closes.
Is it something to do with Forms problem or with Windows? Is there a patch available for this problem or its a OS bug. The client I am testing this form from is Windows 2000 Professional.
Thanks for your help
DiogoHi
You cannot directly insert object in Stored Procedure universe,Whatever object you are using to define your derived table,you have to include all those objects into the universe first.
From the below image you can see that i have 3 derived tables ,but whatever objects i am trying to use all those i have inserted into the universe.
Try to build like this save and export.
Let me know if you face nay error -
PLS-00103 Error While Creating Procedure
I am attempting to create the following procedure following the guidelines in Metalink Doc ID #118040.1 and I keep receiving the following error at Line #22:
Error(22,65): PLS-00103: Encountered the symbol ":" when expecting one of the following: := . ( % ; The symbol ":= was inserted before ":" to continue.
Here is my procedure code:
PROCEDURE sw_load_image( position IN NUMBER, filename VARCHAR2) AS
f_lob BFILE;
b_lob BLOB;
image_name VARCHAR2(30);
mime_type VARCHAR2(30);
dot_pos NUMBER;
BEGIN
-- Find the position of the dot ('.') located in the filename
dot_pos := INSTR(filename, '.');
-- Get the filename without extension and use it as image name
image_name := SUBSTR(filename,1,dot_pos-1);
-- Build the mime type. Retrieve the file extension and add it to 'image/'
mime_type := 'image/'||SUBSTR( filename, dot_pos+1, length(filename) );
INSERT INTO sw_images values(position, image_name, mime_type, empty_blob() ) RETURN img_data INTO b_lob;
f_lob := BFILENAME('IMG2LOAD', filename);
dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
dbms_lob.loadfromfile(b_lob, f_lob, dbms_lob.getlength(f_lob) ):
dbms_lob.fileclose(f_lob);
COMMIT;
END;
Line #22 is the line that starts 'dbms_lob.loadfromfile'. I am not seeing where I have made a mistake. Does anyone else see where I've made a mistake?
This procedure is being created on a 9i database running on W2K server and W2K client.
Thanks,
JasonThanks! As many times as I looked at that I can't believe I didn't see that. Thanks again.
-
Error while creating procedure
i am creating the procedure which is having year as arguemnt (i am couting total number of user in year)
CREATE OR REPLACE PROCEDURE sample1 (a_year varchar2(4)) IS
BEGIN
select COUNT(*) Total_Count
from users a
where a.create_dt >= TO_DATE('01-JAN-'a_year, 'dd-mon-yyyy' )
and a.create_dt <= TO_DATE('31-DEC'a_year, 'dd-mon-yyyy' );
END sample1;if i am using cursor like below
CREATE OR REPLACE PROCEDURE sample1 (a_year char,p_Parent_RS IN OUT t_CursorPtr) IS
TYPE t_CursorPtr IS REF CURSOR;
BEGIN
OPEN p_Parent_RS FOR
select 'NEW ITEMS CREATED' Column_Name, COUNT(*) Total_Count
from attribs a
where a.create_dt >= TO_DATE('01-JAN-'||a_year, 'dd-mon-yyyy' )
and a.create_dt <= TO_DATE('31-DEC-'||a_year, 'dd-mon-yyyy' )
union all
-- new locations count
select 'NEW LOCATION COUNT' Column_Name, COUNT(*) Total_Count
from location a
where a.create_dt >= TO_DATE('01-JAN-'||a_year, 'dd-mon-yyyy' )
and a.create_dt <= TO_DATE('31-DEC-'||a_year, 'dd-mon-yyyy' )
union all
-- new interface nodes
select 'NEW INTERFACE NODE' Column_Name, COUNT(*) Total_Count
from interface_node a
where A.create_dt >= TO_DATE('01-JAN-'||a_year, 'dd-mon-yyyy' )
and a.create_dt <= TO_DATE('31-DEC-'||a_year, 'dd-mon-yyyy' )
union all
-- # of items with attributes
select 'ITEMS WITH ATTRIBUTE' Column_Name, COUNT(*) Total_Count
from attribs
where label_name_code not like '0'
--and component_code not like '0'
and item_act_inact_status = 'A'
and product_type_code IN ('FG','SF','BULK','SAM')
union all
-- total # of users
select 'TOTAL NUMBER OF USER' Column_Name, COUNT(*) Total_Count
from users a
where a.stat_code = 'A';
END sample1;i am getting below error
PLS-00201: identifier 'T_CURSORPTR' must be declared -
Very weird ORA-06502 error while creating procedure
Hi All,
i try to create the following procedure (on a 10.2 database):
create or replace procedure audit_report
as
cursor c_audit_user (b_start_date date, b_end_date date)
is
select user_id
, os_user
, session_id
, host
, last_program
, last_action
, last_module
, to_char(logon_day,'dd-mm-yyyy') logon_day
, logon_time
, to_char(logoff_day,'dd-mm-yyyy') logoff_day
, logoff_time
, elapsed_minutes
from audit_user
where logon_day >= b_start_date
and logon_day < b_end_date
order by logon_day desc
cursor c_audit_ddl (b_start_date in date, b_end_date in date)
is
select user_name
, to_char(ddl_date,'dd-mm-yyyy hh24:mi:ss') ddl_date
, ddl_type
, object_type
, owner
, object_name
, sql_text
from audit_ddl
where ddl_date >= b_start_date
and ddl_date < b_end_date
order by ddl_date desc
cursor c_audit_trail (b_start_date in date, b_end_date in date)
is
select os_username
, username
, to_char(timestamp,'dd-mm-yyyy hh24:mi:ss') timestamp
, owner
, obj_name
, to_char(action) action
, action_name
, decode(ses_actions,'---S------------','DELETE',
'------S---------','INSERT',
'---------S------','SELECT',
'----------S-----','UPDATE',
'---S--S--S------','DELETE/INSERT/SELECT',
'---S--S--SS-----','DELETE/INSERT/SELECT/UPDATE',
'------S--S------','INSERT/SELECT',
'------S--SS-----','INSERT/SELECT/UPDATE',
'---------SS-----','SELECT/UPDATE',
'DDL ACTION') ses_actions
, priv_used
from dba_audit_Trail
where username <> 'DBSNMP'
and timestamp >= b_start_date
and timestamp < b_end_date
order by timestamp desc
v_header_user varchar2(255);
v_sep_user varchar2(255);
v_header_ddl varchar2(255);
v_sep_ddl varchar2(255);
v_header_dml varchar2(255);
v_sep_dml varchar2(255);
v_record_user varchar2(255);
v_record_ddl varchar2(255);
v_record_dml varchar2(255);
v_report utl_file.file_type;
v_file_dir varchar2(255);
v_file_name varchar2(255);
v_start_date date;
v_end_date date;
v_db_name varchar2(255);
begin
-- Find start and end date of previous week (Sunday to Monday)
if to_char(sysdate,'DAY') = 'MONDAY' then
v_start_date := trunc(sysdate-8);
v_end_date := trunc(sysdate-1);
elsif
to_char(sysdate,'DAY') = 'TUESDAY' then
v_start_date := trunc(sysdate-9);
v_end_date := trunc(sysdate-2);
elsif
to_char(sysdate,'DAY') = 'WEDNESDAY' then
v_start_date := trunc(sysdate-10);
v_end_date := trunc(sysdate-3);
elsif
to_char(sysdate,'DAY') = 'THURSDAY' then
v_start_date := trunc(sysdate-11);
v_end_date := trunc(sysdate-4);
elsif
to_char(sysdate,'DAY') = 'FRIDAY' then
v_start_date := trunc(sysdate-12);
v_end_date := trunc(sysdate-5);
elsif
to_char(sysdate,'DAY') = 'SATURDAY' then
v_start_date := trunc(sysdate-13);
v_end_date := trunc(sysdate-6);
elsif
to_char(sysdate,'DAY') = 'SUNDAY' then
v_start_date := trunc(sysdate-14);
v_end_date := trunc(sysdate-7);
end if;
--Fill headers
v_header_user := 'USER_ID OS_USER SESSION_ID HOST LAST_PROGR'||
' LAST_ACTION LAST_MODULE LOGON_DAY'||
' LOGON_TI LOGOFF_DAY LOGOFF_T ELAPSED_MINUTES';
v_sep_user := '---------- --------- ---------- -------- ----------'||
'-------------------- ----------- ----------- ---------'||
v_header_ddl := 'USER_NAME DDL_DATE DDL_TYPE OBJECT_TYPE'||
' OWNER OBJECT_NAME SQL_TEXT';
v_sep_ddl := '---------- --------------------- ---------- -----------'||
'--------- ---------- -------------------- -------------'||
v_header_dml := 'OS_USERNAME USERNAME TIMESTAMP OWNER'||
' OBJ_NAME ACTION ACTION_NAME SES_ACTIONS'||
' PRIV_USED';
v_sep_dml := '----------- ---------- --------------------- ---------- '||
'--------------- ------ --------------- ------------------'||
--Create audit report file
v_file_dir := 'AUDIT_REPORT_DIR';
select name
into v_db_name
from v$database;
v_file_name := 'audit_report_'||v_db_name||'_'||to_char(v_start_date,'yyyymmdd')||'-'||to_char(v_end_date-1,'yyyymmdd')||'.log';
v_report := utl_file.fopen(v_file_dir, v_file_name, 'w');
--Report Header
utl_file.put_line(v_report,'AUDIT REPORT');
utl_file.put_line(v_report,'------------');
utl_file.put_line(v_report,'Database: '||v_db_name);
utl_file.put_line(v_report,'From : '||to_char(trunc(v_start_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'To : '||to_char(trunc(v_end_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'Created : '||to_char(sysdate,'dd-mm-yyyy hh24:mi:ss'));
utl_file.new_line(v_report);
--Report Detail records
utl_file.put_line(v_report,v_header_user);
utl_file.put_line(v_report,v_sep_user);
for r_audit_user in c_audit_user(v_start_date,v_end_date) loop
v_record_user := rpad(r_audit_user.user_id,11,' ')||
rpad(r_audit_user.os_user,11,' ')||
rpad(r_audit_user.session_id,11,' ')||
rpad(r_audit_user.host,9,' ')||
rpad(r_audit_user.last_program,31,' ')||
rpad(r_audit_user.last_action,12,' ')||
rpad(r_audit_user.last_module,12,' ')||
rpad(r_audit_user.logon_day,11,' ')||
rpad(r_audit_user.logon_time,9,' ')||
rpad(r_audit_user.logoff_day,11,' ')||
rpad(r_audit_user.logoff_time,9,' ')||
lpad(r_audit_user.elapsed_minutes,15,' ');
utl_file.put_line(v_report,v_record_user);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_ddl);
utl_file.put_line(v_report,v_sep_ddl);
for r_audit_ddl in c_audit_ddl(v_start_date,v_end_date) loop
v_record_ddl := rpad(r_audit_ddl.user_name,11,' ')||
rpad(r_audit_ddl.ddl_date,22,' ')||
rpad(r_audit_ddl.ddl_type,11,' ')||
rpad(r_audit_ddl.object_type,21,' ')||
rpad(r_audit_ddl.owner,11,' ')||
rpad(r_audit_ddl.object_name,21,' ')||
rpad(r_audit_ddl.sql_text,100,' ');
utl_file.put_line(v_report,v_record_ddl);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_dml);
utl_file.put_line(v_report,v_sep_dml);
for r_audit_trail in c_audit_trail(v_start_date,v_end_date) loop
v_record_dml := rpad(r_audit_trail.os_username,12,' ')||
rpad(r_audit_trail.username,11,' ')||
rpad(r_audit_trail.timestamp,22,' ')||
rpad(r_audit_trail.owner,11,' ')||
rpad(r_audit_trail.obj_name,16,' ')||
rpad(r_audit_trail.action,7,' ')||
rpad(r_audit_trail.action_name,16,' ')||
rpad(r_audit_trail.ses_actions,19,' ')||
rpad(r_audit_trail.priv_used,20,' ');
utl_file.put_line(v_report,v_record_dml);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report, '*** End of report ***');
utl_file.fclose(v_report);
end;
This gives me the following error:
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 8
When i try to create the procedure as this, i get the same error:
create or replace procedure audit_report
as
/*cursor c_audit_user (b_start_date date, b_end_date date)
is
select user_id
, os_user
, session_id
, host
, last_program
, last_action
, last_module
, to_char(logon_day,'dd-mm-yyyy') logon_day
, logon_time
, to_char(logoff_day,'dd-mm-yyyy') logoff_day
, logoff_time
, elapsed_minutes
from audit_user
where logon_day >= b_start_date
and logon_day < b_end_date
order by logon_day desc
cursor c_audit_ddl (b_start_date in date, b_end_date in date)
is
select user_name
, to_char(ddl_date,'dd-mm-yyyy hh24:mi:ss') ddl_date
, ddl_type
, object_type
, owner
, object_name
, sql_text
from audit_ddl
where ddl_date >= b_start_date
and ddl_date < b_end_date
order by ddl_date desc
cursor c_audit_trail (b_start_date in date, b_end_date in date)
is
select os_username
, username
, to_char(timestamp,'dd-mm-yyyy hh24:mi:ss') timestamp
, owner
, obj_name
, to_char(action) action
, action_name
, decode(ses_actions,'---S------------','DELETE',
'------S---------','INSERT',
'---------S------','SELECT',
'----------S-----','UPDATE',
'---S--S--S------','DELETE/INSERT/SELECT',
'---S--S--SS-----','DELETE/INSERT/SELECT/UPDATE',
'------S--S------','INSERT/SELECT',
'------S--SS-----','INSERT/SELECT/UPDATE',
'---------SS-----','SELECT/UPDATE',
'DDL ACTION') ses_actions
, priv_used
from dba_audit_Trail
where username <> 'DBSNMP'
and timestamp >= b_start_date
and timestamp < b_end_date
order by timestamp desc
v_header_user varchar2(255);
v_sep_user varchar2(255);
v_header_ddl varchar2(255);
v_sep_ddl varchar2(255);
v_header_dml varchar2(255);
v_sep_dml varchar2(255);
v_record_user varchar2(255);
v_record_ddl varchar2(255);
v_record_dml varchar2(255);
v_report utl_file.file_type;
v_file_dir varchar2(255);
v_file_name varchar2(255);
v_start_date date;
v_end_date date;*/
v_db_name varchar2(255);
begin
/*-- Find start and end date of previous week (Sunday to Monday)
if to_char(sysdate,'DAY') = 'MONDAY' then
v_start_date := trunc(sysdate-8);
v_end_date := trunc(sysdate-1);
elsif
to_char(sysdate,'DAY') = 'TUESDAY' then
v_start_date := trunc(sysdate-9);
v_end_date := trunc(sysdate-2);
elsif
to_char(sysdate,'DAY') = 'WEDNESDAY' then
v_start_date := trunc(sysdate-10);
v_end_date := trunc(sysdate-3);
elsif
to_char(sysdate,'DAY') = 'THURSDAY' then
v_start_date := trunc(sysdate-11);
v_end_date := trunc(sysdate-4);
elsif
to_char(sysdate,'DAY') = 'FRIDAY' then
v_start_date := trunc(sysdate-12);
v_end_date := trunc(sysdate-5);
elsif
to_char(sysdate,'DAY') = 'SATURDAY' then
v_start_date := trunc(sysdate-13);
v_end_date := trunc(sysdate-6);
elsif
to_char(sysdate,'DAY') = 'SUNDAY' then
v_start_date := trunc(sysdate-14);
v_end_date := trunc(sysdate-7);
end if;
--Fill headers
v_header_user := 'USER_ID OS_USER SESSION_ID HOST LAST_PROGR'||
' LAST_ACTION LAST_MODULE LOGON_DAY'||
' LOGON_TI LOGOFF_DAY LOGOFF_T ELAPSED_MINUTES';
v_sep_user := '---------- --------- ---------- -------- ----------'||
'-------------------- ----------- ----------- ---------'||
v_header_ddl := 'USER_NAME DDL_DATE DDL_TYPE OBJECT_TYPE'||
' OWNER OBJECT_NAME SQL_TEXT';
v_sep_ddl := '---------- --------------------- ---------- -----------'||
'--------- ---------- -------------------- -------------'||
v_header_dml := 'OS_USERNAME USERNAME TIMESTAMP OWNER'||
' OBJ_NAME ACTION ACTION_NAME SES_ACTIONS'||
' PRIV_USED';
v_sep_dml := '----------- ---------- --------------------- ---------- '||
'--------------- ------ --------------- ------------------'||
--Create audit report file
v_file_dir := 'AUDIT_REPORT_DIR';
select name
into v_db_name
from v$database;
v_file_name := 'audit_report_'||v_db_name||'_'||to_char(v_start_date,'yyyymmdd')||'-'||to_char(v_end_date-1,'yyyymmdd')||'.log';
v_report := utl_file.fopen(v_file_dir, v_file_name, 'w');
--Report Header
utl_file.put_line(v_report,'AUDIT REPORT');
utl_file.put_line(v_report,'------------');
utl_file.put_line(v_report,'Database: '||v_db_name);
utl_file.put_line(v_report,'From : '||to_char(trunc(v_start_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'To : '||to_char(trunc(v_end_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'Created : '||to_char(sysdate,'dd-mm-yyyy hh24:mi:ss'));
utl_file.new_line(v_report);
--Report Detail records
utl_file.put_line(v_report,v_header_user);
utl_file.put_line(v_report,v_sep_user);
for r_audit_user in c_audit_user(v_start_date,v_end_date) loop
v_record_user := rpad(r_audit_user.user_id,11,' ')||
rpad(r_audit_user.os_user,11,' ')||
rpad(r_audit_user.session_id,11,' ')||
rpad(r_audit_user.host,9,' ')||
rpad(r_audit_user.last_program,31,' ')||
rpad(r_audit_user.last_action,12,' ')||
rpad(r_audit_user.last_module,12,' ')||
rpad(r_audit_user.logon_day,11,' ')||
rpad(r_audit_user.logon_time,9,' ')||
rpad(r_audit_user.logoff_day,11,' ')||
rpad(r_audit_user.logoff_time,9,' ')||
lpad(r_audit_user.elapsed_minutes,15,' ');
utl_file.put_line(v_report,v_record_user);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_ddl);
utl_file.put_line(v_report,v_sep_ddl);
for r_audit_ddl in c_audit_ddl(v_start_date,v_end_date) loop
v_record_ddl := rpad(r_audit_ddl.user_name,11,' ')||
rpad(r_audit_ddl.ddl_date,22,' ')||
rpad(r_audit_ddl.ddl_type,11,' ')||
rpad(r_audit_ddl.object_type,21,' ')||
rpad(r_audit_ddl.owner,11,' ')||
rpad(r_audit_ddl.object_name,21,' ')||
rpad(r_audit_ddl.sql_text,100,' ');
utl_file.put_line(v_report,v_record_ddl);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_dml);
utl_file.put_line(v_report,v_sep_dml);
for r_audit_trail in c_audit_trail(v_start_date,v_end_date) loop
v_record_dml := rpad(r_audit_trail.os_username,12,' ')||
rpad(r_audit_trail.username,11,' ')||
rpad(r_audit_trail.timestamp,22,' ')||
rpad(r_audit_trail.owner,11,' ')||
rpad(r_audit_trail.obj_name,16,' ')||
rpad(r_audit_trail.action,7,' ')||
rpad(r_audit_trail.action_name,16,' ')||
rpad(r_audit_trail.ses_actions,19,' ')||
rpad(r_audit_trail.priv_used,20,' ');
utl_file.put_line(v_report,v_record_dml);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report, '*** End of report ***');
utl_file.fclose(v_report);*/
null;
end;
So all code is commented out, but still the error.
Any ideas?
Kind regards,
Davejust out of interest, what output do you get if you desc user_source?
I get:
NAME VARCHAR2(30)
TYPE VARCHAR2(12)
LINE NUMBER
TEXT VARCHAR2(4000) -
Authorization Error while creating PO and A/R Credit Memo
Hi Experts,
We use SAP B1 2007A, PL:08. Some of the users are getting this error message while adding the PO, A/R credit Memo etc. As a superuser, I am able to perform this action.
The Error Message is "[A/R Credit Memo-Rows-Discount % per row] [line:1], you are not permitted to perform this action'[message 200-30]
Any idea why this is happening. I checked the authorization for the users. They have full access to Purchasing and Sales modules. Am I missing something here? Please let me know!!
Thanks,Hi,
You may check:
You are not permitted to Perform this Action - A/R Invoice [Message 200-30]
Thanks,
Gordon -
IBM WPS: Error While Creating App and Int Server Connections in JDev 10g
Hi,
I have been struggling to create App Server and Int Server connections in JDeveloper 10.1.3.4 without any luck.
The JDeveloper is present on VM ware machine from which I'm trying to establish the connections to remote server where SOA Suite 10g is installed on IBM Websphere.
My Settings:
App Server:
Connection Type: Standalone OC4J 10.1.3
RMI: tried WC_defaulthost port, 6003, RMI default port (How do I get the actual value of RMI on IBM Websphere and does this really make a difference?)
Connection test fails with Mbean error. Ignored this error as documented in Installation guide.
Int Server:
Used the above App Server connection, gave the http port value of 9700 (also the WC_defaulthost on IBM Websphere)
Connection test fails for App Server, BPEL PM Server and ESB Server.
I have gone through other threads where different workarounds were suggested but none of them worked for me. The workaround of adding the property ipaddr with the value 0.0.0.0 in opmn.xml doesn't hold good here as IBM WPS doesn't have OPMN.
Please suggest a working solution for this issue.
Regards,
CCThe below message comes when you don't specify any default file for your webcenter portal application and this should not be any problem.
Target Portal.jpr is not runnable, using default target index.html.
Can you answer to my questions:
1. Did you just created a new wcp application in jdev and ran it with out doing any changes? If you have done what are the changes?
2. How did you ran your application? (right clicking a particular page or right clicking your portal project and selected "run" option?
Maybe you are looking for
-
I have a 2007 Mac Pro running 10.7.5 and I want to replace a drive and install Lion
I have a 2007 Mac Pro running 10.7.5 with dual core intel 2.66 with 13 GB ram. I want to replace my startup disk 250GB (which has all my apps) but has been lagging ( I thinks it's an original drive) with the new HD in bay 2 (4 T drive) which I instal
-
I was updating my ipad 2 and got it disconnected and its not responding,giving a blank screen with apple logo. when i connect it to itunes then it is giving an error that enter your passcode but the screen is blank how can enter my passcode?
-
How do I login to a podcast page for editing
How do I get to a podcast page that allows me to edit the details that are old and outdated? I also need to update the URL it points to.
-
Query as a Web Service can't see .unx universes to use as data source?
Hi, I created a Universe using Information Designer. The Universe is published on the server as *.unx. With Query as a Web Service Designer, I connect to the server to create a query. However, in "Choose a universe as a data source for the query", I
-
I know this is non the correct Forum but Netbeans's Forum il closed.... so I hope that someone can help me anyway. I use a webservice client with Netbeans 5.5 RC1 in my app, I set the proxy, Netbeans create all the classes, I try to use a method of t