mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			734 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			734 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ###########################################################################
 | |
| #							 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
 | |
| 
 | 
