Is everything okay?
I have a problem here and I would like to know if anyone has passed by:
1) Situation:
Create a Forms, which dynamically creates a Record Group and, passes this Record Group as a parameter for Reports.
2) Problem:
Reports begins to process, but, lock in formating Page 1 , this was not for such locking, because the same returns 10 lines.
3) Scenario:
3.1 - Reports version:
Report Builder 6.0.8.27.0
ORACLE Server Release 8.0.6.3.1
Oracle Procedure Builder 6.0.8.21.0
Oracle ORACLE PL/SQL V8.0.6.3.0 - Production
Oracle CORE Version 4.0.6.0.0 - Production
Oracle Tools Integration Services 6.0.8.18.0
3.2 - Forms version:
Forms [32 Bit] Version 6.0.8.27.0 (Production)
Personal Oracle8i Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
Oracle Toolkit Version 6.0.8.25.0 (Production)
PL/SQL Version 8.0.6.3.0 (Production)
Oracle Procedure Builder V6.0.8.21.0 Build #1459 - Production
PROCEDURE PRC_RUN_REPORT (P_VALOR IN NUMBER)
IS
PL_ID PARAMLIST;
RG_FORMULAS RECORDGROUP;
VG_EMPNO GROUPCOLUMN;
VG_ENAME GROUPCOLUMN;
VG_DNAME GROUPCOLUMN;
V_INDICE NUMBER := 0;
CURSOR CUR_DEPT
IS
SELECT E.EMPNO,
E.ENAME,
D.DNAME
FROM EMP E,
DEPT D
WHERE D.DEPTNO = E.DEPTNO
AND D.DEPTNO = P_VALOR;
BEGIN
RG_FORMULAS := FIND_GROUP('RG_DEPTO');
IF NOT ID_NULL(RG_FORMULAS)
THEN
DELETE_GROUP(RG_FORMULAS);
END IF;
RG_FORMULAS := CREATE_GROUP('RG_DEPTO', GLOBAL_SCOPE);
VG_EMPNO := ADD_GROUP_COLUMN(RG_FORMULAS, 'EMPNO', CHAR_COLUMN, 04);
VG_ENAME := ADD_GROUP_COLUMN(RG_FORMULAS, 'ENAME', CHAR_COLUMN, 10);
VG_DNAME := ADD_GROUP_COLUMN(RG_FORMULAS, 'DNAME', CHAR_COLUMN, 14);
FOR X IN CUR_DEPT
LOOP
V_INDICE := V_INDICE + 1;
ADD_GROUP_ROW(RG_FORMULAS, V_INDICE);
SET_GROUP_CHAR_CELL (VG_EMPNO, V_INDICE, TO_CHAR(X.EMPNO));
SET_GROUP_CHAR_CELL (VG_ENAME, V_INDICE, X.ENAME);
SET_GROUP_CHAR_CELL (VG_DNAME, V_INDICE, X.DNAME);
END LOOP;
PL_ID := GET_PARAMETER_LIST('tempdata');
-- Se já existir, destrói Lista
IF NOT Id_Null(PL_ID)
THEN
DESTROY_PARAMETER_LIST(PL_ID);
END IF;
PL_ID := CREATE_PARAMETER_LIST('tempdata');
-- Substituo a query do report pelo record group
ADD_PARAMETER(PL_ID,'Q_1',DATA_PARAMETER,'RG_DEPTO');
-- Chamo Report
RUN_PRODUCT(REPORTS,'Dept',SYNCHRONOUS,RUNTIME,FILESYSTEM,PL_ID,NULL);
END;
SELECT '' EMPNO,
'' ENAME,
'' DNAME
FROM DUAL;
Thanks.