Cuando elimino errores, veo que el problema estaba con la declaración inmediata de la ejecución. La tabla de donde el cursor está seleccionando los datos es una tabla temporal disponible para esa sesión.
EL PROCEDIMIENTO PROGRAMASSIGNMENT_CONV (P_CLIENTID EN GRAN NÚMERO) ES
EL TIPO PROGRAMASSIGNMENT_TAB ES TABLA DE ÍNDICE DE PROGRAMASSIGNMENT%ROWTYPE POR SIMPLE_INTEGER; L_PROGRAMASSIGNMENT PROGRAMASSIGNMENT_TAB; -- L_PROGRAMASSIGNMENTID PROGRAMASSIGNMENT.PROGRAMASSIGNMENTID%TYPE; L_LIMIT PLS_INTEGER: = 500000;
EL CURSOR CUR_PROGRAMASSIGNMENT ES SELECCIONAR PROGRAMASSIGNMENTID_SEQ.NEXTVAL, A.CLIENTID, A.VENDORID, A.PID, A.SUBPID, A.PROGRAMID, A.TRIAGEFILTERID, A.CASEID, A.CLIENTCASENO, A.WORKFLOWSTATUS, A.APPLICATIONID, A.ISPRIMARYIND, A.STATUSCHANGEREASONID, A.INTERVENTIONLEVELID, A.DMINTERVENTIONTYPEID, A.PROGRAMRANK, A.IDENTIFIEDDATE, A.SELECTEDDATE, A.OPENEDDATE, A.CLOSEDDATE, A.DECLINEDDATE, A.INTAKEDATE, A.INTAKESOURCEID, A.REFERRALID, A.INSERTEDBY, sysdate, A.RUNID DE CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT A;
l_clientname VARCHAR2 (100);
COMENZAR -- poblar cdrload.gtemp_bsc_programassignment del servidor del sql con DBLINK
l_clientname: = getclientname (p_clientid, “CDR_PROGRAMASSIGNMENT_CONV ");
EJECUTAR el “PARTE MOVIBLE INMEDIATO EN cdrload.gtemp_bsc_programassignment SELECTO * DE” || l_clientname;
SELECCIONAR A.RUNID EN L_RUNID DE CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT A DONDE ROWNUM = 1;
ABRIR CUR_PROGRAMASSIGNMENT; LAZO EL BULTO DEL ALCANCE CUR_PROGRAMASSIGNMENT RECOGE EN EL LÍMITE L_LIMIT DE L_PROGRAMASSIGNMENT; RUNIDTRACKING_PKG.STATUS_TRACKING (P_CLIENTID, “conversion_pkg.CDR_PROGRAMASSIGNMENT_CONV”, El “bulto recoge la cuenta para el PARTE MOVIBLE”, L_PROGRAMASSIGNMENT.COUNT, L_RUNID);
-- parte movible en la tabla del programassignment
FORALL I EN 1. L_PROGRAMASSIGNMENT.COUNT EL PARTE MOVIBLE EN PROGRAMASSIGNMENT VALORA L_PROGRAMASSIGNMENT (I); SALIR CUANDO CUR_PROGRAMASSIGNMENT%NOTFOUND; TERMINAR EL LAZO; CERRAR CUR_PROGRAMASSIGNMENT; EXCEPCIÓN CUANDO OTROS ENTONCES RUNIDTRACKING_PKG.STATUS_TRACKING (P_CLIENTID, “conversion_pkg.CDR_PROGRAMASSIGNMENT_CONV”, SQLERRM, 0, L_RUNID); EXTREMO PROGRAMASSIGNMENT_CONV;
|