(
 IN p_showJobInfo INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

		BEGIN	
            DECLARE v_showJobInfo INTEGER;
            DECLARE GLOBAL TEMPORARY TABLE SESSION.IDS_IN
			(
			  ID INTEGER
			) WITH REPLACE 
			     ON COMMIT PRESERVE ROWS
			     NOT LOGGED;

            SET v_showJobInfo = p_showJobInfo;


	        IF(v_showJobInfo = 1)
		    THEN
	                    INSERT INTO SESSION.IDS_IN(ID)
	                    SELECT cj.JobID
	                    FROM CA7_Jobs cj
	                    WHERE cj.JobID IN (SELECT * FROM SESSION.numeric_param_temp)
	                          AND cj.JobID NOT IN
										   (
											  SELECT cjtj.JobID
											  FROM CA7_JobsTriggeredByJobs cjtj
										   )
	                          AND cj.JobID IN
									    (
										   SELECT cjtj.TriggeredBy_JobID
										   FROM CA7_JobsTriggeredByJobs cjtj
									    );
	         END IF;
							

	            BEGIN
					             DECLARE crs CURSOR WITH RETURN FOR
						         SELECT cj.JobID,
						                cj.LibID,
						                cj.JOB_NAME,
						                jj.JobId,
						                cj.JCL_MEMBER,
						                cj.SYSTEM_NAME,
						                CASE WHEN v_showJobInfo = 1
						                          AND EXISTS
															 (
																	SELECT src.JobID
																	FROM
																	 (
																		SELECT cspj.JobID
																		FROM CA7_SchedulesPerJob cspj
																		UNION
																		SELECT ID AS JobID  FROM SESSION.IDS_IN
																	 )src
																	 WHERE src.JobID = cj.JobID
															  )
												/*AND cj.JobID IN
														 (
															SELECT cspj.JobID
															FROM CA7_SchedulesPerJob cspj
															UNION
															SELECT ID FROM SESSION.IDS_IN
														 )*/
						                    THEN cj.JOB_INFORMATION_Text
						                    ELSE NULL
						                END AS infoTxt,
						                CASE
						                    WHEN EXISTS
												   (
													  SELECT cspj.JobID
													  FROM CA7_SchedulesPerJob cspj
													  WHERE cspj.JobID = cj.jobID
												   )
						                    THEN 0 -- 0 is for 'scheduled'
						                    ELSE(CASE
						                             WHEN(EXISTS
						                                 (
						                                     SELECT cjtj.TriggeredBy_JobID
						                                     FROM CA7_JobsTriggeredByJobs cjtj
						                                     WHERE cjtj.TriggeredBy_JobID = cj.jobID
						                                 )
						                                  AND NOT EXISTS
						                                 (
						                                     SELECT cjtj.JobID
						                                     FROM CA7_JobsTriggeredByJobs cjtj
						                                     WHERE cjtj.JobID = cj.jobID
						                                 ))
						                             THEN 1 --'1 is for start'
						                             ELSE(CASE
						                                      WHEN(NOT EXISTS
						                                          (
						                                              SELECT cjtj.TriggeredBy_JobID
						                                              FROM CA7_JobsTriggeredByJobs cjtj
						                                              WHERE cjtj.TriggeredBy_JobID = cj.jobID
						                                          )
						                                           AND EXISTS
						                                          (
						                                              SELECT cjtj.JobID
						                                              FROM CA7_JobsTriggeredByJobs cjtj
						                                              WHERE cjtj.JobID = cj.jobID
						                                          ))
						                                      THEN 3 -- 3 is for 'end'
						                                      ELSE 2 --2 is for 'middle'
						                                  END)
						                         END)
						                END AS jobtype,
						                jj.BuildStatus
						         FROM CA7_Jobs cj --INNER JOIN CA7_Libraries clb ON cj.LibID = clb.LibID
						              LEFT JOIN JCLJob jj ON cj.JCL_MEMBER = jj.MemberName
						         WHERE cj.JobID IN (SELECT * FROM SESSION.numeric_param_temp);

					
								
								 OPEN crs;
				
                END;
		END;

		
END	
