(
  IN p_VarName VARCHAR(250)
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN
                     
	DECLARE v_VarName VARCHAR(250);
	
	BEGIN
			DECLARE crs CURSOR WITH RETURN FOR
			SELECT  m.IncludeName  ,m.ProgramID ,m.ProgramName ,m.ProgramTypeID ,m.StmtOccurID ,m.StatementTypeName
			   ,m.VarID ,m.VarName ,m.iLevel ,m.PIC ,m.IsField, m.IsFiller ,m.Type AS VarTypeID ,m.ProgIDReference 
			   ,m.Father ,m.Ancestor AS VarAncestor ,m.IsCopy 
			   ,m.StartRow AS VarStartRow ,m.StartCol AS VarStartCol ,m.EndRow AS VarEndRow ,m.EndCol AS VarEndCol
			   ,pth.PathStr AS VarPathStr
			   ,vf.VarName AS FatherName 
			   ,va.VarName AS AncestorName
		FROM (
			   SELECT  ch.IncludeName  ,ch.ProgramID ,ch.ProgramName ,ch.ProgramTypeID ,ch.StmtOccurID ,ch.StatementTypeName
					  ,v.VarID ,v.VarName ,v.iLevel ,v.PIC ,v.IsField, v.IsFiller ,v.Type ,v.ProgIDReference
					  ,v.Father ,v.Ancestor ,v.IsCopy 
					  ,occ.PathID ,occ.StartRow ,occ.StartCol  ,occ.EndRow  ,occ.EndCol 
				FROM Variables v
					INNER JOIN Occurrences occ ON v.OccurID = occ.OccurID
					INNER JOIN cacheEZViewer_Usage_Includes ch on ch.StmtOccurID = occ.SourceType
			    WHERE occ.SourceType IN (SELECT * FROM SESSION.numeric_param_temp)
			          AND (v_VarName = '%'  OR UPPER(v.VarName) LIKE v_VarName)
			   ) m
					INNER JOIN Paths pth ON m.PathID = pth.PathID
					INNER JOIN Variables vf ON m.Father = vf.VarID 
					INNER JOIN Variables va ON m.Ancestor = va.VarID 
		    ORDER BY m.VarID;
			
			SET v_VarName = UPPER(p_VarName); 
			
			OPEN crs;
	 END;		
              
END ss