From 80b04a0c52bbcedd3bc93f4e4748e6ccaf8d82f8 Mon Sep 17 00:00:00 2001 From: amaindolaamit Date: Thu, 22 Mar 2018 17:37:10 +0530 Subject: [PATCH 1/3] Added PLSQL snippet file --- UltiSnips/plsql.snippets | 733 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 733 insertions(+) create mode 100644 UltiSnips/plsql.snippets diff --git a/UltiSnips/plsql.snippets b/UltiSnips/plsql.snippets new file mode 100644 index 000000000..cb8609dc8 --- /dev/null +++ b/UltiSnips/plsql.snippets @@ -0,0 +1,733 @@ +########################################################################### +# 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 + From b3a3882d5ecc3bc84bc6955c742161bb0f1c50e8 Mon Sep 17 00:00:00 2001 From: amaindolaamit Date: Fri, 23 Mar 2018 19:13:32 +0530 Subject: [PATCH 2/3] Changes spaces to Tab --- UltiSnips/plsql.snippets | 520 +++++++++++++++++++-------------------- 1 file changed, 260 insertions(+), 260 deletions(-) diff --git a/UltiSnips/plsql.snippets b/UltiSnips/plsql.snippets index cb8609dc8..4bc7d7b61 100644 --- a/UltiSnips/plsql.snippets +++ b/UltiSnips/plsql.snippets @@ -1,5 +1,5 @@ ########################################################################### -# PLSQL SNIPPETS # +# PLSQL SNIPPETS # ########################################################################### global !p @@ -8,51 +8,51 @@ 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 + 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 + """ 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 + """ 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 + " : ' || " - + """ Returns the string name wrapped value """ + return "'" + var + " : ' || " + endglobal ######################################## -# SQL Snippets # +# SQL Snippets # ######################################## snippet doc "Document comment" /* @@ -62,33 +62,33 @@ endsnippet snippet hdr "Header Documentation" -- ############################################################################# --- # Copyright (c) `!p snip.rv = dyear()` ${1:company} --- # All rights reserved +-- # Copyright (c) `!p snip.rv = dyear()` ${1:company} +-- # All rights reserved -- # -- ############################################################################ -- # Application : ${2:schema} --- # File Name: : ${3:`!p snip.rv=snip.fn`} --- # Type : Table +-- # 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 +-- # Version Date Author Remarks +-- # ======= =========== ================ ============================ +-- # 1.0 `!p snip.rv = today()` Amit Maindola Initial Version -- ############################################################################# endsnippet -snippet pkggbl "Package Global variables" +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; + 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 @@ -123,43 +123,43 @@ AND ROWNUM <= 10 ${0:;} endsnippet snippet ppram "Retuns param in wrapped format" - ||`!p snip.rv = param(t[1].upper())`$1 $0 + ||`!p snip.rv = param(t[1].upper())`$1 $0 endsnippet snippet dbo "Show output " - DBMS_OUTPUT.put_line('${0}'); + DBMS_OUTPUT.put_line('${0}'); endsnippet snippet dbop "Show Parameter output " - DBMS_OUTPUT.put_line(`!p snip.rv = param(t[1].upper())`$1 $0); + 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 ); + 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); + printlog(`!p snip.rv = param(t[1].upper())`$1 $0); endsnippet snippet dut "DBMS_OUTPUT.put_line" - DBMS_UTILITY.get_time; + DBMS_UTILITY.get_time; endsnippet snippet bc "Bulk collect into" - bulk collect into ${0} + bulk collect into ${0} endsnippet snippet ei "Execute Immediate" - EXECUTE IMMEDIATE '${0:statement}' ; + EXECUTE IMMEDIATE '${0:statement}' ; endsnippet snippet eitt "Execute Immediate TRUNCATE Table" - EXECUTE IMMEDIATE( 'TRUNCATE TABLE ${0: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}'); + EXECUTE IMMEDIATE( 'ALTER TABLE ${1:table} TRUNCATE PARTITION ${0:partition}'); endsnippet snippet prmpt "Prompt message" @@ -192,7 +192,7 @@ ON ${1:schema}.${2:table}(${3}) ${6:TABLESPACE ${0} }; endsnippet ######################################## -# Table Operation # +# Table Operation # ######################################## snippet drtab "Drop Table" @@ -213,48 +213,48 @@ ${3:TABLESPACE ${4}} endsnippet snippet ccol "Add VARCHAR2 column to table" - ${1:,} ${2:name} VARCHAR2(${0:100}) + ${1:,} ${2:name} VARCHAR2(${0:100}) endsnippet snippet dcol "Add DATE column to table" - ${1:,} ${0:name} DATE + ${1:,} ${0:name} DATE endsnippet snippet ncol "Add NUMBER column to table" - ${1:,} ${0:name} NUMBER + ${1:,} ${0:name} NUMBER endsnippet snippet at "Alter Table" - ALTER TABLE ${1:table} ${0} + ALTER TABLE ${1:table} ${0} endsnippet ######################################### -# Declare Types and local variable # +# Declare Types and local variable # ######################################### snippet tr "Type record" - TYPE t_${1:rec} IS RECORD (${0:/* columns */} ); + 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; + 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; + 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}} + p_${1} ${2:IN} NUMBER ${3:DEFAULT ${0:NULL}} endsnippet snippet pd - p_${1} ${2:IN} DATE ${3:DEFAULT ${0:SYSDATE}} + p_${1} ${2:IN} DATE ${3:DEFAULT ${0:SYSDATE}} endsnippet snippet pc - P_${1} ${2:IN} VARCHAR2 ${3:DEFAULT ${0:NULL}} + P_${1} ${2:IN} VARCHAR2 ${3:DEFAULT ${0:NULL}} endsnippet snippet ln @@ -290,7 +290,7 @@ snippet lrec endsnippet ######################################### -# Condition, Loops # +# Condition, Loops # ######################################### snippet if "If Condition" IF(${1}) THEN @@ -301,27 +301,27 @@ endsnippet snippet ife "IF-Else Condition" IF(${1}) THEN ${2}; - ELSIF - ${0}; + ELSIF + ${0}; END IF; endsnippet snippet els "Else Condition" - ELSIF ${1:condition} THEN - ${0}; + ELSIF ${1:condition} THEN + ${0}; endsnippet snippet case "Case statement" - CASE WHEN (${1}) THEN - ${2} - WHEN (${3}) THEN - ${4} - ${0:ELSE} - END + 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 + WHILE ${1:a} ${2:condition} ${3:b} LOOP ${0}; END LOOP; endsnippet @@ -345,94 +345,94 @@ snippet loop "Loop statement" 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; + 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 + FOR $1_rec IN ${1:cur} ${2:(${3:param})} + LOOP + ${0} + END LOOP; -- End $1 endsnippet ######################################### -# Cursor Operations # +# Cursor Operations # ######################################### snippet dcur "Cursor declaration" - CURSOR ${1:cur} IS - SELECT ${0} - FROM $1 - WHERE 1 = 1; + 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; + 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; + 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 # +# BEGIN/DECLARE Blocks # ######################################### snippet decl "Declare Begin block" DECLARE - ${1} -BEGIN - ${0:null} -EXCEPTION --Exception Block + ${1} +BEGIN + ${0:null} +EXCEPTION --Exception Block WHEN NO_DATA_FOUND THEN - dbms_output.put_line('No Data Found'); + dbms_output.put_line('No Data Found'); WHEN OTHERS THEN - dbms_output.put_line('Error while . Error : '||sqlerrm); + dbms_output.put_line('Error while . Error : '||sqlerrm); END; endsnippet snippet begin "Begin block" -BEGIN +BEGIN ${0} -EXCEPTION --Exception Block +EXCEPTION --Exception Block WHEN NO_DATA_FOUND THEN - printlog('No Data Found'); + printlog('No Data Found'); WHEN OTHERS THEN - printlog('Error while . Error : '||sqlerrm); + printlog('Error while . Error : '||sqlerrm); END; endsnippet snippet excp "Exception Block" - EXCEPTION --Exception Block - ${0} - WHEN OTHERS THEN - ${1}; - END; + EXCEPTION --Exception Block + ${0} + WHEN OTHERS THEN + ${1}; + END; endsnippet snippet rae "Raise Application Error" @@ -440,18 +440,18 @@ RAISE_APPLICATION_ERROR(${1:-20000},${0:''}); endsnippet ######################################### -# Procedure/Function calling # +# 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; + DECLARE + vjob INTEGER; + BEGIN + DBMS_JOB.submit( vjob, '${1:procedure}${0:('''')};', SYSDATE ); + DBMS_OUTPUT.put_line( 'Job id : ' || vjob ); + COMMIT; + END; END; endsnippet @@ -459,137 +459,137 @@ 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 + vjob INTEGER; + BEGIN + DBMS_JOB.submit ( vjob , ' DECLARE - l_start_date DATE := ''${1:01-Jan-2017}''; + 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; + 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 ); + WHEN OTHERS THEN + DBMS_OUTPUT.put_line( ''Error while . Error : '' || SQLERRM ); END; - ' - , SYSDATE - ); - DBMS_OUTPUT.put_line( 'Job id : ' || vjob ); - COMMIT; - END; + ' + , SYSDATE + ); + DBMS_OUTPUT.put_line( 'Job id : ' || vjob ); + COMMIT; + END; END; endsnippet ######################################### -# Function creation scripts # +# 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; + ------------------------------------------------------------------------------------------------ + -- 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 + RETURN VARCHAR2 IS BEGIN - RETURN 'Error occured in ' || g_package_name || '.' || g_proc_name || '. ' || NVL( p_message, '' ) || ' Error : ' || SQLERRM; + 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; + 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}. +-- 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}; + RETURN ${0}; endsnippet snippet crpksproc "Create package specification procedure" ------------------------------------------------------------------------------------------------ --- PROCEDURE : `!p snip.rv = t[1].upper()` --- Description : This Procedure will ${4:description}. +-- 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 : `!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} + RETURN ${4} IS - -- Declare Cursors - -- Declare Variables - ${5:l_} $4 ${6:( ${7:length} )}; + -- 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 ; + -- Initialize + g_proc_name := '`!p snip.rv = t[1].upper()`'; + ${0} + -- Return value + RETURN $5 ; EXCEPTION - WHEN OTHERS - THEN - RETURN NULL; + 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}. +-- 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; + l_errmsg VARCHAR2( 10000 ) := null; + excp_skip EXCEPTION; -- Declare Varibales BEGIN -- Initializing out parameters - g_proc_name := '`!p snip.rv = t[1].upper()`'; + g_proc_name := '`!p snip.rv = t[1].upper()`'; ${0} EXCEPTION -- Exception block of Procedure WHEN excp_custom THEN - ROLLBACK; - printlog( l_errmsg ); + ROLLBACK; + printlog( l_errmsg ); WHEN OTHERS THEN - ROLLBACK; - l_errmsg := get_errmsg; - printlog( l_errmsg ); + ROLLBACK; + l_errmsg := get_errmsg; + printlog( l_errmsg ); END $1; endsnippet @@ -598,21 +598,21 @@ snippet crpks "Create Package specification" CREATE OR REPLACE PACKAGE ${1}.${2} AS -- ############################################################################# --- # Copyright (c) `!p snip.rv = dyear()` ${3} --- # All rights reserved +-- # Copyright (c) `!p snip.rv = dyear()` ${3} +-- # All rights reserved -- # -- ############################################################################ -- # -- # Application : $1 --- # File Name: : `!p snip.rv = t[2].upper()`.pks +-- # 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 +-- # Version Date Author Remarks +-- # ======= =========== ============= ============================ +-- # 1.0 `!p snip.rv = today()` Amit Maindola Initial Version -- # -- # -- ############################################################################ @@ -628,55 +628,55 @@ snippet crpkb "Create package body" CREATE OR REPLACE PACKAGE BODY ${1}.${2} IS -- ############################################################################# --- # Copyright (c) `!p snip.rv = dyear()` ${3} --- # All rights reserved +-- # Copyright (c) `!p snip.rv = dyear()` ${3} +-- # All rights reserved -- # -- ############################################################################ -- # -- # Application : $1 --- # File Name: : `!p snip.rv = t[2].upper()`.pkb +-- # 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 +-- # 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; + 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 + -- 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); + 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 + RETURN VARCHAR2 IS BEGIN - RETURN 'Error occured in ' || g_package_name || '.' || g_proc_name || '. ' || NVL( p_message, '' ) || ' Error : ' || SQLERRM; + 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; + WHEN OTHERS THEN + printlog( 'Error while forming messgage. Error : ' || SQLERRM ); + RETURN NULL; END; END $2; @@ -691,42 +691,42 @@ 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 +-- # Copyright (c) `!p snip.rv = dyear()` ${5} +-- # All rights reserved -- # -- ############################################################################ -- # -- # Application : $1 --- # File Name: : `!p snip.rv = t[2].upper()`.prc +-- # 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 +-- # 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 + 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 ); + 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 ); + ROLLBACK; + l_errmsg := 'Exception in procedure. '||SQLERRM; + DEBUG_LOG_PKG.WRITE_LOG(g_proc_name,g_proc_name ,l_errmsg ); END $2; endsnippet From 6adf1393e0218818d6e55a426b33da8f3fa693e1 Mon Sep 17 00:00:00 2001 From: amaindolaamit Date: Thu, 26 Sep 2019 00:05:41 +0530 Subject: [PATCH 3/3] Modified the PLSQL Snippets, added support for Oracle APPS --- UltiSnips/plsql.snippets | 194 ++++++++++++++++++++++++++++++--------- 1 file changed, 152 insertions(+), 42 deletions(-) diff --git a/UltiSnips/plsql.snippets b/UltiSnips/plsql.snippets index 4bc7d7b61..a0de011a5 100644 --- a/UltiSnips/plsql.snippets +++ b/UltiSnips/plsql.snippets @@ -48,6 +48,22 @@ def today(): def param(var): """ Returns the string name wrapped value """ return "'" + var + " : ' || " + +# Added for Oracle Apps +def apps_hdr_params(params, level=0, gap=" "): + line = level * gap + "-- -----------------------------------------------" + comment = line + comment += "\n" + level * gap + "-- {0:20} : {1}".format('x_retcode'.upper(), 'Return Code') + comment += "\n" + level * gap + "-- {0:20} : {1}".format('x_errmsg'.upper(), 'Return Message') + 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 + endglobal @@ -122,7 +138,7 @@ snippet arn "AND ROWNNUM" AND ROWNUM <= 10 ${0:;} endsnippet -snippet ppram "Retuns param in wrapped format" +snippet aparm "Retuns parameter in wrapped format" ||`!p snip.rv = param(t[1].upper())`$1 $0 endsnippet @@ -130,20 +146,20 @@ 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); +snippet dbop "Show Parameter value 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 " +snippet logp "Print Log output " printlog(`!p snip.rv = param(t[1].upper())`$1 $0); endsnippet snippet dut "DBMS_OUTPUT.put_line" - DBMS_UTILITY.get_time; + DBMS_UTILITY.get_time endsnippet snippet bc "Bulk collect into" @@ -151,7 +167,7 @@ snippet bc "Bulk collect into" endsnippet snippet ei "Execute Immediate" - EXECUTE IMMEDIATE '${0:statement}' ; + EXECUTE IMMEDIATE ${1:'${0:statement}'} ; endsnippet snippet eitt "Execute Immediate TRUNCATE Table" @@ -493,29 +509,40 @@ 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; + PROCEDURE printlog( + p_message IN VARCHAR2 + , p_indent_level IN NUMBER DEFAULT 0 + ) + IS + l_message VARCHAR2( 16000 ) := NULL; + BEGIN + l_message := LPAD( ' ', 4 * p_indent_level, g_delimiter ) || p_message; + DBMS_OUTPUT.put_line( l_message ); + DEBUG_LOG_PKG.WRITE_LOG(g_package_name,g_proc_name,l_message); -- Custom logic, replace it + 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; + 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 + || ' ' + || DBMS_UTILITY.format_error_backtrace; + EXCEPTION --Exception Block + WHEN OTHERS THEN + printlog( 'Error while forming messgage. Error : ' || SQLERRM ); + RETURN NULL; + END; endsnippet snippet crpksfunc "Create package specification function" @@ -660,24 +687,38 @@ IS -- 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); + PROCEDURE printlog( + p_message IN VARCHAR2 + , p_indent_level IN NUMBER DEFAULT 0 + ) + IS + l_message VARCHAR2( 16000 ) := NULL; + BEGIN + l_message := LPAD( ' ', 4 * p_indent_level, g_delimiter ) || p_message; + DBMS_OUTPUT.put_line( l_message ); + DEBUG_LOG_PKG.WRITE_LOG(g_package_name,g_proc_name,l_message); -- Custom logic, replace it 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; + -- 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 + || ' ' + || DBMS_UTILITY.format_error_backtrace; + EXCEPTION --Exception Block + WHEN OTHERS THEN + printlog( 'Error while forming messgage. Error : ' || SQLERRM ); + RETURN NULL; + END; END $2; / @@ -688,7 +729,6 @@ 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} @@ -728,6 +768,76 @@ EXCEPTION -- Exception block of Procedure l_errmsg := 'Exception in procedure. '||SQLERRM; DEBUG_LOG_PKG.WRITE_LOG(g_proc_name,g_proc_name ,l_errmsg ); END $2; +endsnippet + +##################################################### +# Oracle Apps Function creation scripts # +##################################################### + +snippet appsglob "Create global variables" + g_user_id NUMBER := fnd_global.user_id; + g_login_id NUMBER := fnd_global.conc_login_id; + g_request_id NUMBER := fnd_global.conc_request_id; + g_program_appl_id NUMBER := fnd_global.prog_appl_id; + g_program_id NUMBER := fnd_global.conc_program_id; + g_instance_name VARCHAR2( 100 ) := NULL; + g_program_name VARCHAR2( 100 ) := NULL; + g_debug_flag VARCHAR2( 1 ) := 'N'; + + g_success_code CONSTANT NUMBER := 0; + g_warning_code CONSTANT NUMBER := 1; + g_failure_code CONSTANT NUMBER := 2; + g_success CONSTANT VARCHAR2( 30 ) := 'SUCCESS'; endsnippet +snippet appspksproc "Create package specification procedure" +------------------------------------------------------------------------------------------------ +-- PROCEDURE : `!p snip.rv = t[1].upper()` +-- Description : This Procedure will ${4:description}. +`!p snip.rv=apps_hdr_params(t[3],0) ` +------------------------------------------------------------------------------------------------ +PROCEDURE ${1:proc} ${2:( + x_errmsg OUT VARCHAR2 + , x_retcode OUT NUMBER + ${3:params})} ; +endsnippet + +snippet appspkbproc "Create package body procedure" +------------------------------------------------------------------------------------------------ +-- PROCEDURE : `!p snip.rv = t[1].upper()` +-- Description : This Procedure will ${4:description}. +`!p snip.rv=apps_hdr_params(t[3]) ` +------------------------------------------------------------------------------------------------ +PROCEDURE ${1:proc} ${2:( + x_errmsg OUT VARCHAR2 + , x_retcode OUT NUMBER + ${3:params})} +IS + -- Declare cursors + -- Declare Out and exception variables + l_retcode NUMBER := g_success_code; + l_errmsg VARCHAR2( 4000 ) := g_success; + excp_skip EXCEPTION; + -- Declare Varibales + +BEGIN + -- Initializing out parameters + g_proc_name := '`!p snip.rv = t[1].upper()`'; + x_errmsg := l_errmsg; + x_retcode := l_retcode; + + ${0} +EXCEPTION -- Exception block of Procedure + WHEN excp_custom THEN + ROLLBACK; + x_retcode := l_retcode; + x_errmsg := l_errmsg; + printlog( l_errmsg ); + WHEN OTHERS THEN + ROLLBACK; + x_retcode := g_failure_code; + x_errmsg := get_errmsg; + printlog( l_errmsg ); +END $1; +endsnippet