
cursores explisitos power builder
Publicado por SANDRA (3 intervenciones) el 12/08/2014 20:50:55
/////////inicio
DECLARE REGISTROS CURSOR FOR //
SELECT VDR_NO,
SUM ( nvl(DECODE("TAGMGL02"."DRCR_CLSFCT",'2',
DECODE("TAGMGL02"."VAT_CLSFCT",'6',"TAGMGL02"."AMT" + "TAGMGL02"."VAT_AMT","TAGMGL02"."AMT"),''), 0) + FUNC_GET_IVA_SALES(cmpy_code , yyyy, msect_code, "TAGMGL02"."REG_DEPT_CODE", "TAGMGL02"."HEAD_NO", "TAGMGL02"."LINE_NO", "TAGMGL02"."DETAL_NO")) cr_amt,
SUM( TO_NUMBER( DECODE(FUNC_GET_MNGITM(cmpy_code , yyyy, '10', "TAGMGL02"."REG_DEPT_CODE", "TAGMGL02"."HEAD_NO", "TAGMGL02"."LINE_NO", "TAGMGL02"."DETAL_NO", '07' ),' ', '0',
FUNC_GET_MNGITM(cmpy_code , yyyy, '10', "TAGMGL02"."REG_DEPT_CODE", "TAGMGL02"."HEAD_NO", "TAGMGL02"."LINE_NO", "TAGMGL02"."DETAL_NO", '07' ) ) )) qty
//into :ls_vdr_no, :ldb_cr_amt,:ldb_qty
FROM "TAGMGL02"
WHERE ( "TAGMGL02"."CMPY_CODE" = '1000' )
AND ( "TAGMGL02"."MSECT_CODE" = '10' )
AND ( "TAGMGL02"."BLT_DT" between :ls_base_from AND :ls_base_to )
AND ( RTRIM("TAGMGL02"."ACCT_CODE") IN ('5110144','5110145','5110241') )
AND SETL_YN = 'Y'
AND DRCR_CLSFCT = '2'
GROUP BY VDR_NO;
///1
open REGISTROS ;
if sqlca.sqlcode <> 0 then
MESSAGEBOX('INFORMACION',STRING (SQLCA.SQLCODE) + ' ' +SQLCA.SQLERRTEXT)
end if
fetch REGISTROS into :ls_vdr_no, :ldb_cr_amt,:ldb_qty
////-1
DO WHILE SQLCA.SQLCODE = 0
li_row2 = tab_1.tabpage_3.dw_3.InsertRow(0)
tab_1.tabpage_3.dw_3.object.vdr_no[li_row2] = ls_vdr_no
tab_1.tabpage_3.dw_3.object.model[li_row2] = "N/A"
tab_1.tabpage_3.dw_3.object.qty[li_row2] = ldb_qty
tab_1.tabpage_3.dw_3.object.price[li_row2] = 0
tab_1.tabpage_3.dw_3.object.amt_2[li_row2] = ldb_cr_amt
tab_1.tabpage_3.dw_3.object.exch_rt[li_row2] = tab_1.tabpage_3.dw_3.object.exch_rt[li_row2 - 1]
fetch REGISTROS into :ls_vdr_no, :ldb_cr_amt,:ldb_qty
loop
close REGISTROS ;
me marca error el loop, y en do while
alguien sabe porque les agradeceria me contestaran...buen dia
DECLARE REGISTROS CURSOR FOR //
SELECT VDR_NO,
SUM ( nvl(DECODE("TAGMGL02"."DRCR_CLSFCT",'2',
DECODE("TAGMGL02"."VAT_CLSFCT",'6',"TAGMGL02"."AMT" + "TAGMGL02"."VAT_AMT","TAGMGL02"."AMT"),''), 0) + FUNC_GET_IVA_SALES(cmpy_code , yyyy, msect_code, "TAGMGL02"."REG_DEPT_CODE", "TAGMGL02"."HEAD_NO", "TAGMGL02"."LINE_NO", "TAGMGL02"."DETAL_NO")) cr_amt,
SUM( TO_NUMBER( DECODE(FUNC_GET_MNGITM(cmpy_code , yyyy, '10', "TAGMGL02"."REG_DEPT_CODE", "TAGMGL02"."HEAD_NO", "TAGMGL02"."LINE_NO", "TAGMGL02"."DETAL_NO", '07' ),' ', '0',
FUNC_GET_MNGITM(cmpy_code , yyyy, '10', "TAGMGL02"."REG_DEPT_CODE", "TAGMGL02"."HEAD_NO", "TAGMGL02"."LINE_NO", "TAGMGL02"."DETAL_NO", '07' ) ) )) qty
//into :ls_vdr_no, :ldb_cr_amt,:ldb_qty
FROM "TAGMGL02"
WHERE ( "TAGMGL02"."CMPY_CODE" = '1000' )
AND ( "TAGMGL02"."MSECT_CODE" = '10' )
AND ( "TAGMGL02"."BLT_DT" between :ls_base_from AND :ls_base_to )
AND ( RTRIM("TAGMGL02"."ACCT_CODE") IN ('5110144','5110145','5110241') )
AND SETL_YN = 'Y'
AND DRCR_CLSFCT = '2'
GROUP BY VDR_NO;
///1
open REGISTROS ;
if sqlca.sqlcode <> 0 then
MESSAGEBOX('INFORMACION',STRING (SQLCA.SQLCODE) + ' ' +SQLCA.SQLERRTEXT)
end if
fetch REGISTROS into :ls_vdr_no, :ldb_cr_amt,:ldb_qty
////-1
DO WHILE SQLCA.SQLCODE = 0
li_row2 = tab_1.tabpage_3.dw_3.InsertRow(0)
tab_1.tabpage_3.dw_3.object.vdr_no[li_row2] = ls_vdr_no
tab_1.tabpage_3.dw_3.object.model[li_row2] = "N/A"
tab_1.tabpage_3.dw_3.object.qty[li_row2] = ldb_qty
tab_1.tabpage_3.dw_3.object.price[li_row2] = 0
tab_1.tabpage_3.dw_3.object.amt_2[li_row2] = ldb_cr_amt
tab_1.tabpage_3.dw_3.object.exch_rt[li_row2] = tab_1.tabpage_3.dw_3.object.exch_rt[li_row2 - 1]
fetch REGISTROS into :ls_vdr_no, :ldb_cr_amt,:ldb_qty
loop
close REGISTROS ;
me marca error el loop, y en do while
alguien sabe porque les agradeceria me contestaran...buen dia
Valora esta pregunta


0