734 lines
18 KiB
Text
734 lines
18 KiB
Text
|
###########################################################################
|
||
|
# PLSQL SNIPPETS #
|
||
|
###########################################################################
|
||
|
|
||
|
global !p
|
||
|
# Import package
|
||
|
import datetime
|
||
|
|
||
|
# Return the doc string for PLSQL script
|
||
|
def docstring_plsql(params):
|
||
|
comment = ""
|
||
|
if params:
|
||
|
comment = "/** Parameters\n"
|
||
|
# Split the arguments
|
||
|
args = [arg.strip() for arg in params.split(',')]
|
||
|
for arg in args:
|
||
|
comment += "* {0:30} : \n".format(arg.split(' ')[0].upper())
|
||
|
comment += "*/\n"
|
||
|
# Return the comment string
|
||
|
return comment
|
||
|
|
||
|
def hdr_params(params, level=0, gap=" "):
|
||
|
line = level * gap + "-- -----------------------------------------------"
|
||
|
comment = line
|
||
|
if params:
|
||
|
# Split the arguments
|
||
|
args = [arg.strip() for arg in params.split(',')]
|
||
|
for arg in args:
|
||
|
comment += "\n" + level * gap + "-- {0:20} : ".format(arg.split(' ')[0].upper())
|
||
|
# comment += line
|
||
|
# Return the comment string
|
||
|
return comment
|
||
|
|
||
|
def dyear():
|
||
|
""" Returns the current Year in YYYY format
|
||
|
"""
|
||
|
now = datetime.datetime.now()
|
||
|
rv=now.year
|
||
|
return rv
|
||
|
|
||
|
def today():
|
||
|
""" Returns the current Date in DD-MON-YYYY format
|
||
|
"""
|
||
|
now = datetime.datetime.now()
|
||
|
rv=now.strftime("%d-%b-%Y")
|
||
|
return rv
|
||
|
|
||
|
def param(var):
|
||
|
""" Returns the string name wrapped value """
|
||
|
return "'" + var + " : ' || "
|
||
|
|
||
|
endglobal
|
||
|
|
||
|
########################################
|
||
|
# SQL Snippets #
|
||
|
########################################
|
||
|
snippet doc "Document comment"
|
||
|
/*
|
||
|
* ${0: comment ...}
|
||
|
*/
|
||
|
endsnippet
|
||
|
|
||
|
snippet hdr "Header Documentation"
|
||
|
-- #############################################################################
|
||
|
-- # Copyright (c) `!p snip.rv = dyear()` ${1:company}
|
||
|
-- # All rights reserved
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
-- # Application : ${2:schema}
|
||
|
-- # File Name: : ${3:`!p snip.rv=snip.fn`}
|
||
|
-- # Type : Table
|
||
|
-- # Exec Method : PL/SQL File
|
||
|
-- # Description : This script ${5:create} under the schema $2
|
||
|
-- #
|
||
|
-- # Change History
|
||
|
-- # -----------------------------------------------------------------------
|
||
|
-- # Version Date Author Remarks
|
||
|
-- # ======= =========== ================ ============================
|
||
|
-- # 1.0 `!p snip.rv = today()` Amit Maindola Initial Version
|
||
|
-- #############################################################################
|
||
|
|
||
|
endsnippet
|
||
|
|
||
|
snippet pkggbl "Package Global variables"
|
||
|
-- Declare Global Variables
|
||
|
g_sysdate DATE := SYSDATE;
|
||
|
g_delimiter VARCHAR2( 30 ) := ' ';
|
||
|
g_err_length_limit NUMBER := 1500;
|
||
|
g_package_name CONSTANT VARCHAR2(30) := '${0}';
|
||
|
g_proc_name VARCHAR2(100) := NULL;
|
||
|
excp_custom EXCEPTION;
|
||
|
|
||
|
-- Declare User Global Types
|
||
|
|
||
|
endsnippet
|
||
|
|
||
|
snippet flushca "Flush Cache"
|
||
|
ALTER SYSTEM FLUSH BUFFER_CACHE;
|
||
|
endsnippet
|
||
|
|
||
|
snippet flushsp "Flush Shared Pool"
|
||
|
ALTER SYSTEM FLUSH SHARED_POOL;
|
||
|
endsnippet
|
||
|
|
||
|
snippet err
|
||
|
show errors;
|
||
|
endsnippet
|
||
|
|
||
|
snippet sel "Select statement"
|
||
|
SELECT ${0:*} FROM ${1} WHERE 1 = 1;
|
||
|
endsnippet
|
||
|
|
||
|
snippet selc "Select statement"
|
||
|
SELECT COUNT(1) FROM ${1} WHERE ${0};
|
||
|
endsnippet
|
||
|
|
||
|
snippet wrn "Where ROWNNUM"
|
||
|
WHERE ROWNUM <= 10 ${0:AND}
|
||
|
endsnippet
|
||
|
|
||
|
snippet arn "AND ROWNNUM"
|
||
|
AND ROWNUM <= 10 ${0:;}
|
||
|
endsnippet
|
||
|
|
||
|
snippet ppram "Retuns param in wrapped format"
|
||
|
||`!p snip.rv = param(t[1].upper())`$1 $0
|
||
|
endsnippet
|
||
|
|
||
|
snippet dbo "Show output "
|
||
|
DBMS_OUTPUT.put_line('${0}');
|
||
|
endsnippet
|
||
|
|
||
|
snippet dbop "Show Parameter output "
|
||
|
DBMS_OUTPUT.put_line(`!p snip.rv = param(t[1].upper())`$1 $0);
|
||
|
endsnippet
|
||
|
|
||
|
snippet dbl "Log message in Log Table, Change procedure as defined by you"
|
||
|
DEBUG_LOG_PKG.WRITE_LOG(${1:'Test'},${2:$1} ,$0 );
|
||
|
endsnippet
|
||
|
|
||
|
snippet plog "Print Log output "
|
||
|
printlog(`!p snip.rv = param(t[1].upper())`$1 $0);
|
||
|
endsnippet
|
||
|
|
||
|
snippet dut "DBMS_OUTPUT.put_line"
|
||
|
DBMS_UTILITY.get_time;
|
||
|
endsnippet
|
||
|
|
||
|
snippet bc "Bulk collect into"
|
||
|
bulk collect into ${0}
|
||
|
endsnippet
|
||
|
|
||
|
snippet ei "Execute Immediate"
|
||
|
EXECUTE IMMEDIATE '${0:statement}' ;
|
||
|
endsnippet
|
||
|
|
||
|
snippet eitt "Execute Immediate TRUNCATE Table"
|
||
|
EXECUTE IMMEDIATE( 'TRUNCATE TABLE ${0:table}');
|
||
|
endsnippet
|
||
|
|
||
|
snippet eitp "Execute Immediate ALTER Table Truncate partition"
|
||
|
EXECUTE IMMEDIATE( 'ALTER TABLE ${1:table} TRUNCATE PARTITION ${0:partition}');
|
||
|
endsnippet
|
||
|
|
||
|
snippet prmpt "Prompt message"
|
||
|
PROMPT ${1:Creating }...
|
||
|
endsnippet
|
||
|
|
||
|
snippet crseq "Create Sequence"
|
||
|
DROP SEQUENCE ${1:schema}.${2:name}_s;
|
||
|
|
||
|
CREATE SEQUENCE $1.$2_s
|
||
|
START WITH ${3:1}
|
||
|
MAXVALUE 999999999999999999999999999
|
||
|
MINVALUE 1
|
||
|
NOCYCLE
|
||
|
NOCACHE
|
||
|
NOORDER;
|
||
|
endsnippet
|
||
|
|
||
|
snippet crsyn "Create Synonym"
|
||
|
|
||
|
CREATE OR REPLACE SYNONYM ${1:schema}.${2:name} FOR ${3:target}.${0};
|
||
|
|
||
|
endsnippet
|
||
|
|
||
|
snippet crind "Create Index"
|
||
|
DROP INDEX $1.$4;
|
||
|
|
||
|
CREATE INDEX $1.${4:$2_${5}}
|
||
|
ON ${1:schema}.${2:table}(${3}) ${6:TABLESPACE ${0} };
|
||
|
endsnippet
|
||
|
|
||
|
########################################
|
||
|
# Table Operation #
|
||
|
########################################
|
||
|
|
||
|
snippet drtab "Drop Table"
|
||
|
DROP TABLE ${1:schema}.${2:name} CASCADE CONSTRAINTS ${3:PURGE};
|
||
|
|
||
|
endsnippet
|
||
|
|
||
|
snippet crtab "Create Table"
|
||
|
|
||
|
DROP TABLE ${1:schema}.${2:name} CASCADE CONSTRAINTS PURGE;
|
||
|
|
||
|
CREATE TABLE $1.$2
|
||
|
(
|
||
|
${0}
|
||
|
)
|
||
|
${3:TABLESPACE ${4}}
|
||
|
;
|
||
|
endsnippet
|
||
|
|
||
|
snippet ccol "Add VARCHAR2 column to table"
|
||
|
${1:,} ${2:name} VARCHAR2(${0:100})
|
||
|
endsnippet
|
||
|
|
||
|
snippet dcol "Add DATE column to table"
|
||
|
${1:,} ${0:name} DATE
|
||
|
endsnippet
|
||
|
|
||
|
snippet ncol "Add NUMBER column to table"
|
||
|
${1:,} ${0:name} NUMBER
|
||
|
endsnippet
|
||
|
|
||
|
snippet at "Alter Table"
|
||
|
ALTER TABLE ${1:table} ${0}
|
||
|
endsnippet
|
||
|
|
||
|
|
||
|
#########################################
|
||
|
# Declare Types and local variable #
|
||
|
#########################################
|
||
|
|
||
|
snippet tr "Type record"
|
||
|
TYPE t_${1:rec} IS RECORD (${0:/* columns */} );
|
||
|
endsnippet
|
||
|
|
||
|
snippet tt "Type Table"
|
||
|
TYPE t_${1:tbl} IS TABLE OF ${0:table_name}%ROWTYPE INDEX BY BINARY_INTEGER;
|
||
|
endsnippet
|
||
|
|
||
|
snippet tc "Type Cursor"
|
||
|
TYPE t_${1:tbl} IS TABLE OF ${0:cur}%ROWTYPE INDEX BY BINARY_INTEGER;
|
||
|
endsnippet
|
||
|
|
||
|
snippet pn
|
||
|
p_${1} ${2:IN} NUMBER ${3:DEFAULT ${0:NULL}}
|
||
|
endsnippet
|
||
|
|
||
|
snippet pd
|
||
|
p_${1} ${2:IN} DATE ${3:DEFAULT ${0:SYSDATE}}
|
||
|
endsnippet
|
||
|
|
||
|
snippet pc
|
||
|
P_${1} ${2:IN} VARCHAR2 ${3:DEFAULT ${0:NULL}}
|
||
|
endsnippet
|
||
|
|
||
|
snippet ln
|
||
|
l_${1} NUMBER ${2: := ${3} };
|
||
|
endsnippet
|
||
|
|
||
|
snippet ld
|
||
|
l_${1} DATE ${2: := ${3} };
|
||
|
endsnippet
|
||
|
|
||
|
snippet lc
|
||
|
l_${1} VARCHAR2(${2:100}) ${3: := ${4} };
|
||
|
endsnippet
|
||
|
|
||
|
snippet gn
|
||
|
g_${1} NUMBER ${2: := ${3:10} };
|
||
|
endsnippet
|
||
|
|
||
|
snippet gd
|
||
|
g_${1} DATE ${2: := ${3:SYSDATE} };
|
||
|
endsnippet
|
||
|
|
||
|
snippet gc
|
||
|
g_${1} VARCHAR2(${2:100}) ${3: := ${4} };
|
||
|
endsnippet
|
||
|
|
||
|
snippet ltbl
|
||
|
l_tbl_${1} ${0};
|
||
|
endsnippet
|
||
|
|
||
|
snippet lrec
|
||
|
l_rec_${1} ${0};
|
||
|
endsnippet
|
||
|
|
||
|
#########################################
|
||
|
# Condition, Loops #
|
||
|
#########################################
|
||
|
snippet if "If Condition"
|
||
|
IF(${1}) THEN
|
||
|
${0};
|
||
|
END IF;
|
||
|
endsnippet
|
||
|
|
||
|
snippet ife "IF-Else Condition"
|
||
|
IF(${1}) THEN
|
||
|
${2};
|
||
|
ELSIF
|
||
|
${0};
|
||
|
END IF;
|
||
|
endsnippet
|
||
|
|
||
|
snippet els "Else Condition"
|
||
|
ELSIF ${1:condition} THEN
|
||
|
${0};
|
||
|
endsnippet
|
||
|
|
||
|
snippet case "Case statement"
|
||
|
CASE WHEN (${1}) THEN
|
||
|
${2}
|
||
|
WHEN (${3}) THEN
|
||
|
${4}
|
||
|
${0:ELSE}
|
||
|
END
|
||
|
endsnippet
|
||
|
|
||
|
snippet while "While Loop"
|
||
|
WHILE ${1:a} ${2:condition} ${3:b} LOOP
|
||
|
${0};
|
||
|
END LOOP;
|
||
|
endsnippet
|
||
|
|
||
|
snippet fori "For Loop"
|
||
|
FOR ${1:indx} in ${2:1}..${3:10} LOOP
|
||
|
${4};
|
||
|
END LOOP;
|
||
|
endsnippet
|
||
|
|
||
|
snippet fort "Table For Loop"
|
||
|
FOR ${1:indx} in 1..${2:ttb}.count LOOP
|
||
|
${0};
|
||
|
END LOOP;
|
||
|
endsnippet
|
||
|
|
||
|
snippet loop "Loop statement"
|
||
|
LOOP
|
||
|
${0};
|
||
|
END LOOP;
|
||
|
endsnippet
|
||
|
|
||
|
snippet fora "For All Loop"
|
||
|
IF ( ${1:ttbl}.COUNT > 0 ) THEN
|
||
|
BEGIN
|
||
|
FORALL ${2:indx} IN 1 .. $1.COUNT
|
||
|
-- Insert/Update
|
||
|
${0}
|
||
|
EXCEPTION --Exception Block
|
||
|
WHEN OTHERS THEN
|
||
|
l_errmsg := 'Error while Bulk updating, Error : ' || SQLERRM;
|
||
|
RAISE excp_custom;
|
||
|
END;
|
||
|
END IF;
|
||
|
endsnippet
|
||
|
|
||
|
snippet forc "For Cursor Loop"
|
||
|
FOR $1_rec IN ${1:cur} ${2:(${3:param})}
|
||
|
LOOP
|
||
|
${0}
|
||
|
END LOOP; -- End $1
|
||
|
endsnippet
|
||
|
|
||
|
#########################################
|
||
|
# Cursor Operations #
|
||
|
#########################################
|
||
|
snippet dcur "Cursor declaration"
|
||
|
CURSOR ${1:cur} IS
|
||
|
SELECT ${0}
|
||
|
FROM $1
|
||
|
WHERE 1 = 1;
|
||
|
endsnippet
|
||
|
|
||
|
snippet copen "Open Cursor"
|
||
|
OPEN ${1:cursor} ${2:( ${3:param} )};
|
||
|
FETCH $1
|
||
|
INTO ${4:record};
|
||
|
${0}
|
||
|
IF ( $1 %NOTFOUND ) THEN
|
||
|
CLOSE $1;
|
||
|
l_errmsg := 'No records fetched in cursor : $1.';
|
||
|
RAISE excp_custom;
|
||
|
END IF;
|
||
|
CLOSE $1;
|
||
|
endsnippet
|
||
|
|
||
|
snippet copenbc "Open Cursor Bulk collect"
|
||
|
OPEN ${1:cursor} ${2:( ${3:param} )};
|
||
|
FETCH $1
|
||
|
BULK COLLECT INTO ${4:ttbl};
|
||
|
CLOSE $1;
|
||
|
|
||
|
IF ( $4.count = 0 ) THEN
|
||
|
l_errmsg := 'No records fetched in cursor : $1.';
|
||
|
RAISE excp_custom;{0}
|
||
|
END IF;
|
||
|
endsnippet
|
||
|
|
||
|
#########################################
|
||
|
# BEGIN/DECLARE Blocks #
|
||
|
#########################################
|
||
|
snippet decl "Declare Begin block"
|
||
|
DECLARE
|
||
|
${1}
|
||
|
BEGIN
|
||
|
${0:null}
|
||
|
EXCEPTION --Exception Block
|
||
|
WHEN NO_DATA_FOUND THEN
|
||
|
dbms_output.put_line('No Data Found');
|
||
|
WHEN OTHERS THEN
|
||
|
dbms_output.put_line('Error while . Error : '||sqlerrm);
|
||
|
END;
|
||
|
endsnippet
|
||
|
|
||
|
snippet begin "Begin block"
|
||
|
BEGIN
|
||
|
${0}
|
||
|
EXCEPTION --Exception Block
|
||
|
WHEN NO_DATA_FOUND THEN
|
||
|
printlog('No Data Found');
|
||
|
WHEN OTHERS THEN
|
||
|
printlog('Error while . Error : '||sqlerrm);
|
||
|
END;
|
||
|
endsnippet
|
||
|
|
||
|
snippet excp "Exception Block"
|
||
|
EXCEPTION --Exception Block
|
||
|
${0}
|
||
|
WHEN OTHERS THEN
|
||
|
${1};
|
||
|
END;
|
||
|
endsnippet
|
||
|
|
||
|
snippet rae "Raise Application Error"
|
||
|
RAISE_APPLICATION_ERROR(${1:-20000},${0:''});
|
||
|
endsnippet
|
||
|
|
||
|
#########################################
|
||
|
# Procedure/Function calling #
|
||
|
#########################################
|
||
|
snippet crjob "Submit DBMS Job"
|
||
|
-- Submit the job to get the output
|
||
|
BEGIN
|
||
|
DECLARE
|
||
|
vjob INTEGER;
|
||
|
BEGIN
|
||
|
DBMS_JOB.submit( vjob, '${1:procedure}${0:('''')};', SYSDATE );
|
||
|
DBMS_OUTPUT.put_line( 'Job id : ' || vjob );
|
||
|
COMMIT;
|
||
|
END;
|
||
|
END;
|
||
|
endsnippet
|
||
|
|
||
|
snippet whilejob "Submit DBMS Job with While Loop"
|
||
|
-- Submit the job to get the output
|
||
|
|
||
|
BEGIN
|
||
|
DECLARE
|
||
|
vjob INTEGER;
|
||
|
BEGIN
|
||
|
DBMS_JOB.submit ( vjob , '
|
||
|
DECLARE
|
||
|
l_start_date DATE := ''${1:01-Jan-2017}'';
|
||
|
BEGIN
|
||
|
WHILE l_start_date < ''${2:01-Jan-2017}''
|
||
|
LOOP
|
||
|
${3:Procedure}${0:( to_char(l_start_date,''YYYYMMDD'') )};
|
||
|
l_start_date := TRUNC( l_start_date + 1 );
|
||
|
END LOOP;
|
||
|
EXCEPTION --Exception Block
|
||
|
WHEN OTHERS THEN
|
||
|
DBMS_OUTPUT.put_line( ''Error while . Error : '' || SQLERRM );
|
||
|
END;
|
||
|
'
|
||
|
, SYSDATE
|
||
|
);
|
||
|
DBMS_OUTPUT.put_line( 'Job id : ' || vjob );
|
||
|
COMMIT;
|
||
|
END;
|
||
|
END;
|
||
|
endsnippet
|
||
|
|
||
|
|
||
|
#########################################
|
||
|
# Function creation scripts #
|
||
|
#########################################
|
||
|
snippet crprintlog "Create Printlog Procedure"
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
-- PROCEDURE : PRINTLOG
|
||
|
-- Description : This procedure is used to print log messages in Log file, Table and Console
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
PROCEDURE printlog (p_message IN VARCHAR2)
|
||
|
IS
|
||
|
l_errmsg VARCHAR2 (10000);
|
||
|
BEGIN
|
||
|
l_errmsg := SUBSTR ( p_message, 1, g_err_length_limit);
|
||
|
fnd_file.put_line ( fnd_file.LOG, l_errmsg); -- Debug log file
|
||
|
DBMS_OUTPUT.put_line (l_errmsg); -- Console output
|
||
|
DEBUG_LOG_PKG.WRITE_LOG(g_package_name,g_proc_name,p_message); -- Debug table
|
||
|
END printlog;
|
||
|
endsnippet
|
||
|
|
||
|
snippet crgeterr "Create get_errmsg function"
|
||
|
-- Form the error message for when others
|
||
|
FUNCTION get_errmsg( p_message IN VARCHAR2 DEFAULT NULL )
|
||
|
RETURN VARCHAR2
|
||
|
IS
|
||
|
BEGIN
|
||
|
RETURN 'Error occured in ' || g_package_name || '.' || g_proc_name || '. ' || NVL( p_message, '' ) || ' Error : ' || SQLERRM;
|
||
|
EXCEPTION --Exception Block
|
||
|
WHEN OTHERS THEN
|
||
|
printlog( 'Error while forming messgage. Error : ' || SQLERRM );
|
||
|
RETURN NULL;
|
||
|
END;
|
||
|
endsnippet
|
||
|
|
||
|
snippet crpksfunc "Create package specification function"
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
-- Function : `!p snip.rv = t[1].upper()`
|
||
|
-- Description : This Function will ${4:description}.
|
||
|
`!p snip.rv=hdr_params(t[3]) `
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
FUNCTION ${1:func} ${2:(${3:params})}
|
||
|
RETURN ${0};
|
||
|
endsnippet
|
||
|
|
||
|
snippet crpksproc "Create package specification procedure"
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
-- PROCEDURE : `!p snip.rv = t[1].upper()`
|
||
|
-- Description : This Procedure will ${4:description}.
|
||
|
`!p snip.rv=hdr_params(t[3],0) `
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
PROCEDURE ${1:proc} ${2:(${3:params})} ;
|
||
|
endsnippet
|
||
|
|
||
|
snippet crpkbfunc "Create package body function"
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
-- Function : `!p snip.rv = t[1].upper()`
|
||
|
-- Description : This Function will ${8:description}.
|
||
|
`!p snip.rv=hdr_params(t[3],2) `
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
FUNCTION ${1:func} ${2:(${3:params})}
|
||
|
RETURN ${4}
|
||
|
IS
|
||
|
-- Declare Cursors
|
||
|
-- Declare Variables
|
||
|
${5:l_} $4 ${6:( ${7:length} )};
|
||
|
BEGIN
|
||
|
-- Initialize
|
||
|
g_proc_name := '`!p snip.rv = t[1].upper()`';
|
||
|
${0}
|
||
|
-- Return value
|
||
|
RETURN $5 ;
|
||
|
EXCEPTION
|
||
|
WHEN OTHERS
|
||
|
THEN
|
||
|
RETURN NULL;
|
||
|
END $1;
|
||
|
endsnippet
|
||
|
|
||
|
snippet crpkbproc "Create package body procedure"
|
||
|
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
-- PROCEDURE : `!p snip.rv = t[1].upper()`
|
||
|
-- Description : This Procedure will ${4:description}.
|
||
|
`!p snip.rv=hdr_params(t[3]) `
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
PROCEDURE ${1:proc} ${2:(${3:params})}
|
||
|
IS
|
||
|
-- Declare cursors
|
||
|
-- Declare Out and exception variables
|
||
|
l_errmsg VARCHAR2( 10000 ) := null;
|
||
|
excp_skip EXCEPTION;
|
||
|
-- Declare Varibales
|
||
|
|
||
|
BEGIN
|
||
|
-- Initializing out parameters
|
||
|
g_proc_name := '`!p snip.rv = t[1].upper()`';
|
||
|
|
||
|
${0}
|
||
|
EXCEPTION -- Exception block of Procedure
|
||
|
WHEN excp_custom THEN
|
||
|
ROLLBACK;
|
||
|
printlog( l_errmsg );
|
||
|
WHEN OTHERS THEN
|
||
|
ROLLBACK;
|
||
|
l_errmsg := get_errmsg;
|
||
|
printlog( l_errmsg );
|
||
|
END $1;
|
||
|
|
||
|
endsnippet
|
||
|
|
||
|
snippet crpks "Create Package specification"
|
||
|
CREATE OR REPLACE PACKAGE ${1}.${2}
|
||
|
AS
|
||
|
-- #############################################################################
|
||
|
-- # Copyright (c) `!p snip.rv = dyear()` ${3}
|
||
|
-- # All rights reserved
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
-- #
|
||
|
-- # Application : $1
|
||
|
-- # File Name: : `!p snip.rv = t[2].upper()`.pks
|
||
|
-- # Exec Method : PL/SQL Stored - Procedure
|
||
|
-- # Description : Package used for ${4}
|
||
|
-- #
|
||
|
-- # Change History
|
||
|
-- # -----------------------------------------------------------------------
|
||
|
-- # Version Date Author Remarks
|
||
|
-- # ======= =========== ============= ============================
|
||
|
-- # 1.0 `!p snip.rv = today()` Amit Maindola Initial Version
|
||
|
-- #
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
${0}
|
||
|
END $2;
|
||
|
/
|
||
|
|
||
|
SHOW ERROR
|
||
|
/
|
||
|
endsnippet
|
||
|
|
||
|
snippet crpkb "Create package body"
|
||
|
CREATE OR REPLACE PACKAGE BODY ${1}.${2}
|
||
|
IS
|
||
|
-- #############################################################################
|
||
|
-- # Copyright (c) `!p snip.rv = dyear()` ${3}
|
||
|
-- # All rights reserved
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
-- #
|
||
|
-- # Application : $1
|
||
|
-- # File Name: : `!p snip.rv = t[2].upper()`.pkb
|
||
|
-- # Exec Method : PL/SQL Stored - Procedure
|
||
|
-- # Description : Package used for ${4}
|
||
|
-- #
|
||
|
-- # Change History
|
||
|
-- # -----------------------------------------------------------------------
|
||
|
-- # Version Date Author Remarks
|
||
|
-- # ======= =========== ============= ============================
|
||
|
-- # 1.0 `!p snip.rv = today()` Amit Maindola Initial Version
|
||
|
-- #
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
-- Declare Global Variables
|
||
|
g_sysdate DATE := SYSDATE;
|
||
|
g_delimiter VARCHAR2( 30 ) := ' ';
|
||
|
g_err_length_limit NUMBER := 1500;
|
||
|
g_package_name CONSTANT VARCHAR2(30) := '`!p snip.rv = t[2].upper()`';
|
||
|
g_proc_name VARCHAR2(100) := NULL;
|
||
|
excp_custom EXCEPTION;
|
||
|
|
||
|
-- Declare User Global Types
|
||
|
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
-- PROCEDURE : PRINTLOG
|
||
|
-- Description : This procedure is used to print log messages
|
||
|
------------------------------------------------------------------------------------------------
|
||
|
PROCEDURE printlog( p_message IN VARCHAR2 )
|
||
|
IS
|
||
|
BEGIN
|
||
|
DBMS_OUTPUT.PUT_LINE( p_message );
|
||
|
DEBUG_LOG_PKG.WRITE_LOG(g_package_name,g_proc_name,p_message);
|
||
|
END printlog;
|
||
|
|
||
|
-- Form the error message for when others
|
||
|
FUNCTION get_errmsg( p_message IN VARCHAR2 DEFAULT NULL )
|
||
|
RETURN VARCHAR2
|
||
|
IS
|
||
|
BEGIN
|
||
|
RETURN 'Error occured in ' || g_package_name || '.' || g_proc_name || '. ' || NVL( p_message, '' ) || ' Error : ' || SQLERRM;
|
||
|
EXCEPTION --Exception Block
|
||
|
WHEN OTHERS THEN
|
||
|
printlog( 'Error while forming messgage. Error : ' || SQLERRM );
|
||
|
RETURN NULL;
|
||
|
END;
|
||
|
|
||
|
END $2;
|
||
|
/
|
||
|
|
||
|
SHOW ERROR
|
||
|
/
|
||
|
|
||
|
endsnippet
|
||
|
|
||
|
snippet crproc "Create procedure"
|
||
|
|
||
|
CREATE OR REPLACE PROCEDURE ${1:schema}.${2:name} ${3:( ${4:prams} )}
|
||
|
-- #############################################################################
|
||
|
-- # Copyright (c) `!p snip.rv = dyear()` ${5}
|
||
|
-- # All rights reserved
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
-- #
|
||
|
-- # Application : $1
|
||
|
-- # File Name: : `!p snip.rv = t[2].upper()`.prc
|
||
|
-- # Exec Method : PL/SQL Stored - Procedure
|
||
|
-- # Description : Package used for ${6}
|
||
|
-- #
|
||
|
-- # Change History
|
||
|
-- # -----------------------------------------------------------------------
|
||
|
-- # Version Date Author Remarks
|
||
|
-- # ======= =========== ============= ============================
|
||
|
-- # 1.0 `!p snip.rv = today()` Amit Maindola Initial Version
|
||
|
-- #
|
||
|
-- #
|
||
|
-- ############################################################################
|
||
|
is
|
||
|
g_proc_name VARCHAR2(30) := '`!p snip.rv = t[2].upper()`';
|
||
|
l_errmsg VARCHAR2( 10000 ) := null;
|
||
|
excp_custom EXCEPTION;
|
||
|
-- Declare cursors
|
||
|
-- Declare Varibales
|
||
|
BEGIN
|
||
|
-- Initializing out parameters
|
||
|
|
||
|
${0}
|
||
|
EXCEPTION -- Exception block of Procedure
|
||
|
WHEN excp_custom THEN
|
||
|
ROLLBACK;
|
||
|
DEBUG_LOG_PKG.WRITE_LOG(g_proc_name,g_proc_name ,l_errmsg );
|
||
|
WHEN OTHERS THEN
|
||
|
ROLLBACK;
|
||
|
l_errmsg := 'Exception in procedure. '||SQLERRM;
|
||
|
DEBUG_LOG_PKG.WRITE_LOG(g_proc_name,g_proc_name ,l_errmsg );
|
||
|
END $2;
|
||
|
|
||
|
endsnippet
|
||
|
|