Comment faire pour afficher un sys_refcursor données du CRAPAUD DataGrid

Il vous plaît j'ai besoin d'aide.
(J'ai beaucoup CHERCHÉ et obtenir plus confus . )

- Je utiliser Crapaud 9.7.25 et j'ai fait cette procédure (dans un package)

PROCEDURE ReportaCC(pfcorte IN DATE, lcursor  IN OUT  SYS_REFCURSOR)
IS
BEGIN
    OPEN lcursor FOR
        select c1, c3, c3 from table1 where hdate = pfcorte;
    close lcursor;
END;

En crapaud de l'éditeur sql id que l'exécution de cette procédure et de montrer le curseur résultats du crapaud datagrid:


--- I WANT THIS CODE CAN EXECUTE IN TOAD'S SQL EDITOR.

    DECLARE 
      PFCORTE DATE;
      LCURSOR SYS_REFCURSOR;
    BEGIN 

        PFCORTE := '31/08/2012';
        -- LCURSOR := NULL;  -- Modify the code to initialize this parameter

        mypaq.REPORTACC( TO_DATE(PFCORTE,'DD/MM/YYYY') , LCURSOR );

        :to_grid := LCURSOR;

        COMMIT;

    END;

Lorsque j'exécute le script (F9), et de définir la variable :to_grid type de curseur,
j'obtiens l'erreur suivante:

"ORA-24338: descripteur d'instruction non exécuté"

Quel peut être le problème

Merci d'avance.


Grâce à quatre de vos messages... a bien fonctionné!

Mais ont maintenant une autre question...
Si je remplace le simple requête (select c1, c2, c3 à partir de la table...) pour un mor complexe comme ceci:

  PROCEDURE ReportaCC(pfcorte IN DATE,  lcursor OUT SYS_REFCURSOR)
IS           
BEGIN
OPEN lcursor FOR
SELECT ENC.CVEOTORGANTE, ENC.NOMBREOTORGANTE, ENC.IDENDINTIFICADORDEMEDIO, TO_CHAR(SYSDATE, 'YYYYMMDD') AS FECHAEXT, ENC.NOTAOTORGANTE, 
CIRCRED.valida_cc.QUITASIGNOS(VCL.APELLIDOPATERNO) AS VAL_APELLIDOPATERNO, 
CIRCRED.valida_cc.QUITASIGNOS(VCL.APELLIDOMATERNO) AS VAL_APMATERNO, 
CIRCRED.valida_cc.QUITASIGNOS(VCL.APELLIDOADICIONAL) AS APELLIDOADICIONAL , 
CIRCRED.valida_cc.QUITASIGNOS(VCL.NOMBRES) AS NOMBRES, 
VCL.FECHANACIMIENTO, 
circred.valida_cc.valida_rfc(Vcl.rfc,'CORRIGE') AS VALRFC,  
circred.valida_cc.valida_curp(VCL.CURP,'CORRIGE') AS VALCURP, VCL.NACIONALIDAD,
circred.valida_cc.valida_RESIDENCIA('ESIACOM', SC.TIPOVIV ) AS VAL_RESIDENCIA, VCL.NUMEROLICENCIACONDUCIR, 
circred.valida_cc.valida_EDOCIVIL('ESIACOM', VCL.ESTADOCIVIL) AS VAL_ESTADOCIVIL, VCL.SEXO, 
circred.valida_cc.valida_IFE(VCL.CLAVEELECTORIFE,'CORRIGE') AS CLAVEELECTORIFE, 
VCL.NUMERODEPENDIENTES,
VCL.FECHADEFUNCION, VCL.INDICADORDEFUNCION, VCL.TIPOPERSONA,
CIRCRED.valida_cc.QUITASIGNOS(VCL.DIRECCION) AS DIRECCION, 
CIRCRED.valida_cc.QUITASIGNOS(VCL.COLONIAPOBLACION) AS COLONIAPOBLACION, 
CIRCRED.valida_cc.QUITASIGNOS(VCL.DELEGACIONMUNICIPIO) AS DELEGACIONMUNICIPIO, 
CIRCRED.valida_cc.QUITASIGNOS(VCL.CIUDAD) AS CIUDAD, 
VCL.ESTADO, circred.valida_cc.valida_cp(VCL.CP, VCL.CDGEF) AS VAL_CP, VCL.FECHARESIDENCIA,
circred.valida_cc.valida_TEL(VCL.NUMEROTELEFONO,'CORRIGE') AS VAL_TEL, circred.valida_cc.valida_TIPODOMICILIO('ESIACOM', 'C') AS VAL_TIPODOMICILIO, VCL.TIPOASENTAMIENTO,    
EMP.*,
ENC.CVEOTORGANTE CVEACTUAL, ENC.NOMBREOTORGANTE, SAL.CUENTAACTUAL, SAL.TIPORESPONSABILIDAD, SAL.TIPOCUENTA, SAL.TIPOCONTRA, SAL.CLAVEUNIDADMONETARIA, SAL.VALORACTIVOVALUACION,
SAL.NUMPAGOS, SAL.FREQPAGOS,SAL.PAGOPACCL, SAL.FECHAAPERTURACUENTA, 
TO_CHAR(circred.valida_cc.FUN_FULTDEPCL(sal.CLNS, sal.CDGNS, sal.CDGNS, sal.CDGCL, sal.CICLO, SAL.INICICLO, SAL.FREQPAGOS, pfcorte ), 'YYYYMMDD') AS FULTPAGO,  
SAL.FECHAULTIMACOMPRA,  SAL.FECHACIERRECUENTA, SAL.FECHACORTE, SAL.GARANTIA, SAL.CREDITOMAXIMO,
SAL.SALDOCL, SAL.limitecredito, SAL.SDOVENCL, SAL.NUMPAGVEN, SAL.pagoactual,  SAL.HISTORICOPAG, SAL.CLAVEPREVENCION, SAL.TOTPAGREP, SAL.CLAVEANTERIOROTORGANTE, 
SAL.NOMBREANTERIOROTORGANTE, SAL.NUMEROCUENTAANTERIOR,
SAL.SUMSALDO, SAL.sumsdoven, SAL.numcred, SAL.numdirecc, SAL.numempleo, SAL.numctas, ENC.NOMBREOTORGANTE, NULL AS DOMDEVOL       
FROM
CIRCRED.VW_ENCABEZADO ENC,
circred.VW_DATOSPERDOM  VCL,
ICARO.VW_PROYINVE  SC,
CIRCRED.EMPLEO  EMP,
CIRCRED.VW_SALDOINCOB    SAL
WHERE SAL.FUENTEBD = 'ESIACOM' 
AND SAL.CDGCL = VCL.CDGCL  
AND SAL.CDGCL = SC.CDGCL(+) AND SAL.CICLO = SC.CICLO(+) and SAL.INICICLO = SC.INICIO(+)
AND SAL.FCORTE = pfcorte
AND SAL.STATUSCC IN ('INCOB', 'CIERR', 'CEROS')  ;                       
END ReportaCC;

Pourquoi je ne peux pas afficher les résultats?

(La requête fonctionne très bien si je l'exécuter directement dans un CRAPAUD de l'éditeur SQL)

Merci encore....!!!

Vous ne devriez pas être la conclusion de votre curseur à la fin de votre procédure.
Je vous suggère de lire le déclaration de mission de l' et la FAQ à propos de Débordement de la Pile.
D'où cette requête ne fonctionne pas?
Polppan: Lorsque j'appelle la procédure.... ne pas afficher les lignes.... DÉCLARER PFCORTE DATE; BEGIN PFCORTE := '31/08/2012'; ICARO.ICARO_PRUEBA.REPORTACC_SALDOSINCOB ( TO_DATE(PFCORTE,'DD/MM/YYYY') , :CCCURSOR ); END; /
Comment savez-vous votre SQL est correcte? Si aucune erreur n'est levée puis il sonne comme si votre instruction select est tout simplement pas retourner toutes les lignes. Peut-être que rien ne correspond aux critères, peut-être que la date/heure de paramètre ne correspond à (essayer AND TRUNC(SAL.FCORTE) = TRUNC(pfcorte) pour supprimer l'élément de temps à partir de la date de comparaison) ou peut-être l'un de vos jointures est mauvais. Exécutez l'instruction à l'extérieur de votre procédure pour vérifier qu'il faudrait, en fait le retour des lignes.

OriginalL'auteur Arzamm | 2012-10-05