Hola, mi problema es es siguiente:
tengo un SQL inserto en un PRC que envía el resultado de una consulta por medio de una variable REF CURSOR. Dicho SP necesito recorrerlo pero no logro hacerlo.
Código SQL:
Ver originalCREATE OR REPLACE PROCEDURE CHI_CON."P_FWDASIA_FAXCONFIR"
( p_Branch IN NUMBER,
p_FechaIni IN VARCHAR2,
p_NumeroOpe IN NUMERIC,
p_errcod OUT NUMBER,
p_errmsg OUT VARCHAR2,
C_Retorno OUT Pkg_Seguridad.cursorgenerico
) IS
/**************************************************************************/
BEGIN
OPEN C_Retorno FOR
SELECT pk_structure numero_mdr,
pk_structure_murex numero_murex,
name_branch branch,
to_char(tradedate_1,'dd') dia_contrato,
CHI_CON.f_buscar_mes (tradedate_1) mes_contrato,
to_char(tradedate_1,'yyyy') agno_contrato,
strucsubtype_desc nombre_estructura,
name_trader_1 operador,
pk_structure nro_mdr_estructura,
CHI_CON.F_Formatnumber (quantity_1 ,2)||' USD' cantidad_moneda_referencia,
decode(struc_tipo_ope,'COMPRA',name_branch,name_entity) Comprador,
decode(struc_tipo_ope,'VENTA',name_branch,name_entity) Vendedor,
modalidad_1 modalidad_cumplimiento,
enddate_1 fecha_vencimiento,
settledate_1 fecha_pago,
CHI_CON.F_Formatnumber (strike_1,6) strike_1,
CHI_CON.F_Formatnumber (strike_2,6) strike_2,
tipo_index_1 subyacente,
fax_branch fax_branch,
fono_branch fono_branch
FROM V_STRUCTURE_FWDASIA
WHERE FK_BRANCH = decode(p_Branch, 0, FK_BRANCH, p_Branch)
AND trunc(tradedate_1) = decode(p_NumeroOpe, 0, to_Date(p_FechaIni,'dd/mm/yyyy'), trunc(tradedate_1))
AND PK_STRUCTURE = decode(p_NumeroOpe, 0, PK_STRUCTURE, p_NumeroOpe);
P_ERRMSG := 'OK';
P_ERRCOD := 0;
Exception WHEN NO_DATA_FOUND THEN
P_ERRCOD := SQLCODE;
P_ERRMSG := SQLERRM;
WHEN OTHERS THEN
P_ERRCOD := SQLCODE;
P_ERRMSG := SUBSTR(SQLERRM,200);
END P_FWDASIA_FAXCONFIR;
[/HTML]