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....!!!
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
Vous devez vous connecter pour publier un commentaire.
Après vous frappez
F9
les "Variables" boîte de dialogue apparaît et vous pouvez sélectionner le Type=Curseur à partir de la liste déroulante, puis appuyez sur OK:La raison pour laquelle vous faites la "ORA-24338: descripteur d'instruction non exécuté" erreur parce que vous fermez votre curseur avant qu'il ne soit accessible.
C'est le processus qui est en train de se produire:
Solution: Retirez la
close lcursor;
déclaration.OriginalL'auteur wweicker
Que votre procédure est à faire uniquement une instruction select à mieux utiliser une fonction comme
Ne fermez pas lcursor ici, près de votre instruction d'appel parce que si vous fermez lcursor alors vous ne serait pas en mesure de voir des résultats.
Et exécuter en tant que
de crapaud, double-cliquez sur le curseur de la grille de données pour voir les résultats.
Grâce Polppan ... le sélectionner à partir de la double fonctionne très bien .... mais Comment puis-je sauvegarder les données indiquées comme excel? .... merci encore
OriginalL'auteur Jåcob