        
       l_node ms_logger.node_typ := ms_logger.new_proc(g_package_name,'stash_comments_and_quotes');  
   
-      l_keyword              VARCHAR2(50);	
-
-	procedure extract_comment(i_mask     IN VARCHAR2
-	                         ,i_modifier IN VARCHAR2 DEFAULT 'in') IS
-	  l_comment              CLOB;
-	BEGIN
-	  l_comment := get_next(i_stop     => i_mask
+      l_keyword              VARCHAR2(50);  
+
+  procedure extract_comment(i_mask     IN VARCHAR2
+                           ,i_modifier IN VARCHAR2 DEFAULT 'in') IS
+    l_comment              CLOB;
+  BEGIN
+    l_comment := get_next(i_stop     => i_mask
                            ,i_modifier => i_modifier ); --multi-line, lazy
-	  ms_logger.note(l_node, 'l_comment', l_comment);
-	  g_comment_stack(g_comment_stack.count+1) := l_comment; --Put another comment on the stack
-	  ms_logger.note(l_node, 'g_comment_stack.count', g_comment_stack.count);
-	  g_code := REGEXP_REPLACE(g_code, i_mask, '##comment'||g_comment_stack.count||'##',g_current_pos, 1, i_modifier);
-	  go_past(i_search => '##comment'||g_comment_stack.count||'##'
-             ,i_colour => NULL);
+    ms_logger.note(l_node, 'l_comment', l_comment);
+    g_comment_stack(g_comment_stack.count+1) := l_comment; --Put another comment on the stack
+    ms_logger.note(l_node, 'g_comment_stack.count', g_comment_stack.count);
+    g_code := REGEXP_REPLACE(g_code, i_mask, '##comment'||g_comment_stack.count||'##',g_current_pos, 1, i_modifier);
+    go_past(i_search => '##comment'||g_comment_stack.count||'##'
+           ,i_colour => NULL);
       
-	END;
-	
-	procedure extract_quote(i_mask     IN VARCHAR2
-	                       ,i_modifier IN VARCHAR2 DEFAULT 'in') IS
-	  l_quote              CLOB;
-	BEGIN
-	  l_quote := get_next(i_stop     => i_mask
-                         ,i_modifier => i_modifier ); --multi-line, lazy
-	  ms_logger.note(l_node, 'l_quote', l_quote);
-	  g_quote_stack(g_quote_stack.count+1) := l_quote; --Put another quote on the stack
-	  ms_logger.note(l_node, 'g_quote_stack.count', g_quote_stack.count);
-	  g_code := REGEXP_REPLACE(g_code, i_mask, '##quote'||g_quote_stack.count||'##',g_current_pos, 1, i_modifier);
-	  go_past(i_search => '##quote'||g_quote_stack.count||'##'
-             ,i_colour => NULL);
-	END;
+  END;
+  
+  procedure extract_quote(i_mask     IN VARCHAR2
+                         ,i_modifier IN VARCHAR2 DEFAULT 'in') IS
+    l_quote              CLOB;
+  BEGIN
+    l_quote := get_next(i_stop     => i_mask
+                       ,i_modifier => i_modifier ); --multi-line, lazy
+    ms_logger.note(l_node, 'l_quote', l_quote);
+    g_quote_stack(g_quote_stack.count+1) := l_quote; --Put another quote on the stack
+    ms_logger.note(l_node, 'g_quote_stack.count', g_quote_stack.count);
+    g_code := REGEXP_REPLACE(g_code, i_mask, '##quote'||g_quote_stack.count||'##',g_current_pos, 1, i_modifier);
+    go_past(i_search => '##quote'||g_quote_stack.count||'##'
+           ,i_colour => NULL);
+  END;
  
 BEGIN  
  


  l_keyword         VARCHAR2(50);
  l_node_type       VARCHAR2(50);
  l_inject_node     VARCHAR2(200);
  l_prog_unit_name  VARCHAR2(30);
  
  l_var_list        var_list_typ := i_var_list;

        --Remember the Record name itself as a var with a type of TABLE_NAME
        l_var_list(l_param_name) := l_table_name;  
        ms_logger.note(l_node, 'l_var_list.count',l_var_list.count);   
    
    --Also need to add 1 var def for each valid componant of the record type.
    FOR l_column IN 
      (select lower(column_name) column_name
             ,data_type
       from user_tab_columns
       where table_name = l_table_name
       and   supported_data_type(i_data_type => data_type) = 'Y') LOOP
       
          l_var_list(l_param_name||'.'||l_column.column_name) := l_column.data_type;  
          ms_logger.note(l_node, 'l_var_list.count',l_var_list.count);       
       
    END LOOP;   
    
    WHEN REGEXP_LIKE(l_var_def , G_REGEX_TAB_COL_VAR_DEF_LINE) THEN 
        ms_logger.info(l_node, 'LOOKING FOR TAB COL TYPE VARS'); 
        l_param_name    := LOWER(REGEXP_SUBSTR(l_var_def,G_REGEX_TAB_COL_NAME_TYPE,1,1,'i',1));
        l_table_name    :=       REGEXP_SUBSTR(l_var_def,G_REGEX_TAB_COL_NAME_TYPE,1,1,'i',2);
        l_column_name   :=       REGEXP_SUBSTR(l_var_def,G_REGEX_TAB_COL_NAME_TYPE,1,1,'i',3);
    
        ms_logger.note(l_node, 'l_param_name' ,l_param_name); 
        ms_logger.note(l_node, 'l_table_name' ,l_table_name); 
        ms_logger.note(l_node, 'l_column_name',l_column_name);    
    
    --Also need to add 1 var def for each valid componant of the record type.
    FOR l_column IN 
      (select lower(column_name) column_name
             ,data_type
       from user_tab_columns
       where table_name =  l_table_name
       and   column_name = l_column_name
       and   supported_data_type(i_data_type => data_type) = 'Y') LOOP
       
          l_var_list(l_param_name) := l_column.data_type;  
          ms_logger.note(l_node, 'l_var_list.count',l_var_list.count);       
       
    END LOOP; 
 
      ELSE
      ms_logger.info(l_node,'No more variables.');
    EXIT;

    END CASE;
  
