Create the PTF implementation package noop_p.
CREATE PACKAGE noop_p AS 
   FUNCTION describe(tab IN OUT DBMS_TF.table_t) 
		          RETURN DBMS_TF.describe_t; 
   PROCEDURE noop_fetch; 
END noop_p; Package created.
To provide a method name override, you can specify the new method names using DBMS_TF.Method_Names collection.
CREATE PACKAGE BODY noop_p AS 
  FUNCTION describe(tab IN OUT DBMS_TF.table_t) 
		         RETURN DBMS_TF.describe_t AS 
	methods DBMS_TF.methods_t := DBMS_TF.methods_t(DBMS_TF.fetch_rows => 'Noop_Fetch'); 
     BEGIN 
	  RETURN DBMS_TF.describe_t(method_names => methods); 
     END; 
     PROCEDURE noop_fetch AS  
     BEGIN  
	  RETURN;  
     END; 
END noop_p; Package Body created.
The noop PTF is defined to execute the noop_p when it is invoked.
CREATE FUNCTION noop (t TABLE)  
  RETURN TABLE PIPELINED ROW POLYMORPHIC USING noop_p; Function created.
The PTF is invoked in the FROM clause of a query block.
SELECT *  
FROM noop(scott.emp) 
WHERE deptno =10| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | 7839 | KING | PRESIDENT | - | 17-NOV-81 | 5000 | - | 10 | 7782 | CLARK | MANAGER | 7839 | 09-JUN-81 | 2450 | - | 10 | 7934 | MILLER | CLERK | 7782 | 23-JAN-82 | 1300 | - | 10 | 
|---|