Hi Norm,
It is showing no data 
Below is package specification and body i created
CREATE OR REPLACE PACKAGE xx_po_req_workflow_pkg
AS
** TYPE person_id_rec2 IS RECORD (**
** manager_id VARCHAR2(100)**
** );**
TYPE person_id_tbl2 IS TABLE OF person_id_rec2;
FUNCTION xx_get_approvers (p_req_hdr_id IN NUMBER)
** RETURN NUMBER;**
FUNCTION xx_po_req_appvr_mgr_fnc (p_req_hdr_id IN NUMBER)
** RETURN person_id_tbl2 PIPELINED;**
END xx_po_req_workflow_pkg;
CREATE OR REPLACE PACKAGE BODY xx_po_req_workflow_pkg
AS
** FUNCTION xx_get_approvers (p_req_hdr_id IN NUMBER)**
** RETURN NUMBER**
** IS**
** v_job NUMBER := 0;**
** v_po_req per_all_people_f.person_id%TYPE;**
** —**
** v_emp_num per_all_people_f.employee_number%TYPE;**
** v_emp_name per_all_people_f.full_name%TYPE;**
** v_emp_job per_jobs_tl.NAME%TYPE := NULL;**
** v_mgr_num per_all_people_f.employee_number%TYPE;**
** v_mgr_name per_all_people_f.full_name%TYPE;**
** v_mgr_job per_jobs_tl.NAME%TYPE;**
** v_emp_id per_all_people_f.person_id%TYPE;**
** v_mgr_id per_all_people_f.person_id%TYPE;**
** —**
** v_level NUMBER := 0;**
** v_loop_emp_id per_all_people_f.person_id%TYPE;**
** —**
** v_seq_id NUMBER;**
** BEGIN**
** SELECT xx_poreq_apprv_seq.NEXTVAL**
** INTO v_seq_id**
** FROM DUAL;**
BEGIN
** SELECT ppf.person_id**
** INTO v_po_req**
** FROM po_requisition_headers_all prh, per_all_people_f ppf**
** WHERE 1 = 1**
** AND prh.requisition_header_id = p_req_hdr_id**
** AND prh.preparer_id = ppf.person_id;**
** EXCEPTION**
** WHEN OTHERS**
** THEN**
** DBMS_OUTPUT.put_line**
** ('Exception in fetching the Requester. Error: ');**
** RETURN 0;**
** END;**
v_loop_emp_id := v_po_req;
WHILE v_job < 1
** LOOP**
** BEGIN**
** SELECT DISTINCT ppf.employee_number, ppf.full_name, pj.NAME,**
** sup_ppf.employee_number, sup_ppf.full_name,**
** sup_pj.NAME, ppf.person_id, sup_ppf.person_id**
** INTO v_emp_num, v_emp_name, v_emp_job,**
** v_mgr_num, v_mgr_name,**
** v_mgr_job, v_emp_id, v_mgr_id**
** FROM per_all_people_f ppf,**
** per_all_assignments_f paf,**
** per_jobs_tl pj,**
** per_all_people_f sup_ppf,**
** per_jobs_tl sup_pj,**
** per_all_assignments_f sup_paaf**
** WHERE 1 = 1**
** AND ppf.person_id = v_loop_emp_id**
** AND ppf.person_id = paf.person_id**
** AND ppf.person_type_id = 3**
** AND NVL (ppf.effective_end_date, SYSDATE + 1) >=**
** SYSDATE**
** AND NVL (paf.effective_end_date, SYSDATE + 1) >=**
** SYSDATE**
** AND paf.job_id = pj.job_id(+)**
** AND paf.supervisor_id = sup_ppf.person_id(+)**
** AND sup_ppf.person_id = sup_paaf.person_id(+)**
** AND sup_paaf.job_id = sup_pj.job_id(+);**
** EXCEPTION**
** WHEN OTHERS**
** THEN**
** DBMS_OUTPUT.put_line ('When Others Exception in LOOP. Error: ');**
** RETURN 0;**
** END;**
v_level := v_level + 1;
INSERT INTO xx_po_req_apprvr_tbl
** (employee_num, employee_full_name, employee_job,**
** manager_employee_num, manager_full_name,**
** supervisor_job, requisition_header_id, employee_id,**
** manager_id, job_level, seq_id**
** )**
** VALUES (v_emp_num, v_emp_name, v_emp_job,**
** v_mgr_num, v_mgr_name,**
** v_mgr_job, p_req_hdr_id, v_emp_id,**
** v_mgr_id, v_level, v_seq_id**
** );**
IF v_emp_job = 'Manager’
** THEN**
** v_job := 1;**
** ELSE**
** v_job := 0;**
** END IF;**
v_loop_emp_id := v_mgr_id;
** END LOOP;**
RETURN 1;
** EXCEPTION**
** WHEN OTHERS**
** THEN**
** RETURN 0;**
** END xx_get_approvers;**
FUNCTION xx_po_req_appvr_mgr_fnc (p_req_hdr_id IN NUMBER)
** RETURN person_id_tbl2 PIPELINED**
** IS**
** v_func_return NUMBER;**
** v_job NUMBER := 0;**
** v_po_req per_all_people_f.person_id%TYPE;**
** —**
** v_emp_num per_all_people_f.employee_number%TYPE;**
** v_emp_name per_all_people_f.full_name%TYPE;**
** v_emp_job per_jobs_tl.NAME%TYPE := NULL;**
** v_mgr_num per_all_people_f.employee_number%TYPE;**
** v_mgr_name per_all_people_f.full_name%TYPE;**
** v_mgr_job per_jobs_tl.NAME%TYPE;**
** v_emp_id per_all_people_f.person_id%TYPE;**
** v_mgr_id per_all_people_f.person_id%TYPE;**
** —**
** v_level NUMBER := 0;**
** v_loop_emp_id per_all_people_f.person_id%TYPE;**
** —**
** v_seq_id NUMBER;**
** BEGIN**
** v_func_return := xx_get_approvers (p_req_hdr_id);**
IF v_func_return <> 0
** THEN**
** FOR c_poreqapprv IN (SELECT ‘person_id:’||manager_id manager_id**
** FROM xx_po_req_apprvr_tbl**
** WHERE 1 = 1**
** AND requisition_header_id = p_req_hdr_id**
** AND supervisor_job <> ‘Director’**
** ORDER BY job_level)**
** LOOP**
** PIPE ROW (c_poreqapprv);**
** END LOOP;**
** RETURN;**
** ELSE**
** RETURN;**
** END IF;**
** EXCEPTION**
** WHEN OTHERS**
** THEN**
** RETURN;**
** END xx_po_req_appvr_mgr_fnc;**
END xx_po_req_workflow_pkg;
Below is query I used. This is returning no data
SELECT manager_id FROM TABLE(XX_PO_REQ_WORKFLOW_PKG.xx_po_req_appvr_mgr_fnc(:transactionId))
Could you please help on this.
Thanks in Advance,
Sri