Power Builder - revisar esta rutina

 
Vista:

revisar esta rutina

Publicado por francisco (97 intervenciones) el 09/12/2013 13:30:22
hola colegas espero que esten bien ,tengo esta ruina que recorro con un for fila y hago pregunta por el campo columna

me inserta registro pero no todos que pasara esta mal hecho esto me pueden ayudar con este proceso


long i

string a


long s_valmes
string s_titu_valmes="CONSUMO MES"

long v_saldo_ante
string s_titu_saldo_ante="SALDO ANTERIOR"


long v_multa
string s_titu_multa="MULTA POR ATRASO"


long v_incorp
string s_titu_incorp

long v_reposicion
string s_titu_reposicion="CORTE/REPOSICION"


long v_glo_oc1
string s_titu_glo_oc1
string s_graba_glo_oc1

long v_glo_oc2
string s_titu_glo_oc2
string s_graba_glo_oc2



long v_glo_ocg1
string s_titu_glo_ocg1

long v_glo_ocg2
string s_titu_glo_ocg2


long v_subsidio
string s_titu_subsidio="SUBSIDIO RURAL"

long v_total_cance
string s_titu_cancela="ABONOS DEL MES"

long s_boleta_inicial
long s_boleta_final

long s_boleta

string s_codigo_ini,s_codigo_fin

long s_reg

long s_cuo_dei,s_cuo_hai
long s_cuo_de1,s_cuo_ha1
long s_cuo_de2,s_cuo_ha2


long ll_numcols , ll_numrows , ll_c, ll_r



////////////////////////////////////////////////////////////////////

dw_6.setTransObject (sqlca)
dw_6.AcceptText()

dw_5.setTransObject (sqlca)



ll_numrows = dw_5.RowCount()


for i=1 to ll_numrows


//campo de la tabla_mesconsumo///




a=dw_5.getitemstring(i,"codigo_arranque")

s_boleta=dw_5.getitemnumber(i,"boleta")

v_saldo_ante=dw_5.getitemnumber(i,"saldo")

v_multa=dw_5.getitemnumber(i,"wint")

v_incorp=dw_5.getitemnumber(i,"incorp")

v_reposicion=dw_5.getitemnumber(i,"reposic")


/////////////////////////////////////////////////////////////

s_cuo_dei=dw_5.getitemnumber(i,"cuo_dei")

s_cuo_hai=dw_5.getitemnumber(i,"cuo_hai")
////////////////////////////////////////////////////////////////

/////////////////////glosa oc1/////////////////////////////////

s_titu_glo_oc1=dw_5.getitemstring(i,"glo_oc1")

////////////////////////////////////////////////////////////////

s_cuo_de1=dw_5.getitemnumber(i,"cuo_de1")

s_cuo_ha1=dw_5.getitemnumber(i,"cuo_ha1")

v_glo_oc1=dw_5.getitemnumber(i,"val_oc1")


//////////////////////glosa oc2////////////////////////////////////

s_titu_glo_oc2=dw_5.getitemstring(i,"glo_oc2")

/////////////////////////////////////////////////////////////////


s_cuo_de2=dw_5.getitemnumber(i,"cuo_de2")

s_cuo_ha2=dw_5.getitemnumber(i,"cuo_ha2")

v_glo_oc2=dw_5.getitemnumber(i,"val_oc2")

//////////////////////////////////////////////////////////////////


s_titu_glo_ocg1=dw_5.getitemstring(i,"glo_ocg1")

v_glo_ocg1=dw_5.getitemnumber(i,"val_ocg1")

v_subsidio=dw_5.getitemnumber(i,"sub_rur")


v_total_cance=dw_5.object.tot_canc[i] * -1


/////////////////////////////////////////////////////////////////
//hacer pregunta


IF v_saldo_ante <>0 then

i=dw_6.insertrow(0)

//esto se graba en la tabla_Detalle boletas


LONG S_NRO_ORDEN1=1

dw_6.setitem(i,'codigo_arranque',dw_5.getitemstring(i,"codigo_arranque"))
dw_6.setitem(i,'detalle_boleta',s_titu_saldo_ante)
dw_6.setitem(i,'valores',dw_5.getitemnumber(i,"saldo"))
dw_6.setitem(i,'boleta',dw_5.getitemnumber(i,"boleta"))
dw_6.setitem(i,'n_orden',S_NRO_ORDEN1)
dw_6.setitem(i,'NUMERO',i)


End if


IF v_multa<>0 then

LONG S_NRO_ORDEN2=7

i=dw_6.insertrow(0)


dw_6.setitem(i,'codigo_arranque',dw_5.getitemstring(i,"codigo_arranque"))
dw_6.setitem(i,'detalle_boleta',s_titu_multa)
dw_6.setitem(i,'valores',dw_5.getitemnumber(i,"wint"))
dw_6.setitem(i,'boleta',dw_5.getitemnumber(i,"boleta"))
dw_6.setitem(i,'n_orden',S_NRO_ORDEN2)
dw_6.setitem(i,'NUMERO',i)


End if


IF v_incorp<>0 then

dw_6.setTransObject (sqlca)

s_titu_incorp="INCORPORACION"+space(1)+string(s_cuo_dei,"##")+"/"+string(s_cuo_hai,"##")


LONG S_NRO_ORDEN3=2

i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',dw_5.getitemstring(i,"codigo_arranque"))
dw_6.setitem(i,'detalle_boleta',s_titu_incorp)
dw_6.setitem(i,'valores',dw_5.getitemnumber(i,"incorp"))
dw_6.setitem(i,'boleta',dw_5.getitemnumber(i,"boleta"))
dw_6.setitem(i,'n_orden',S_NRO_ORDEN3)
dw_6.setitem(i,'NUMERO',i)


End if


IF v_reposicion<>0 then
dw_6.setTransObject (sqlca)


LONG S_NRO_ORDEN4=3


i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',a)
dw_6.setitem(i,'detalle_boleta',s_titu_reposicion)
dw_6.setitem(i,'valores',v_incorp)
dw_6.setitem(i,'boleta',s_boleta)
dw_6.setitem(i,'n_orden',S_NRO_ORDEN4)
dw_6.setitem(i,'NUMERO',i)



End if


IF v_glo_oc1<>0 then



s_graba_glo_oc1=s_titu_glo_oc1+space(1)+string(s_cuo_de1,"##")+"/"+string(s_cuo_ha1,"##")



LONG S_NRO_ORDEN5=4


i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',a)
dw_6.setitem(i,'detalle_boleta',s_graba_glo_oc1)
dw_6.setitem(i,'valores',v_glo_oc1)
dw_6.setitem(i,'boleta',s_boleta)
dw_6.setitem(i,'n_orden',S_NRO_ORDEN5)
dw_6.setitem(i,'NUMERO',i)



End if



IF v_glo_oc2<>0 then
dw_6.setTransObject (sqlca)

s_graba_glo_oc2=s_titu_glo_oc2+space(1)+string(s_cuo_de2,"##")+"/"+string(s_cuo_ha2,"##")



LONG S_NRO_ORDEN6=5


i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',a)
dw_6.setitem(i,'detalle_boleta',s_graba_glo_oc2)
dw_6.setitem(i,'valores',v_glo_oc2)
dw_6.setitem(i,'boleta',s_boleta)
dw_6.setitem(i,'n_orden',S_NRO_ORDEN6)
dw_6.setitem(i,'NUMERO',i)



End if



IF v_glo_ocg1<>0 then



LONG S_NRO_ORDEN7=6

i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',a)
dw_6.setitem(i,'detalle_boleta',s_titu_glo_ocg1)
dw_6.setitem(i,'valores',v_glo_ocg1)
dw_6.setitem(i,'boleta',s_boleta)
dw_6.setitem(i,'n_orden',S_NRO_ORDEN7)
dw_6.setitem(i,'NUMERO',i)



End if


IF v_subsidio<>0 then


LONG S_NRO_ORDEN8=8


i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',a)
dw_6.setitem(i,'detalle_boleta',s_titu_subsidio)
dw_6.setitem(i,'valores',v_subsidio)
dw_6.setitem(i,'boleta',s_boleta)
dw_6.setitem(i,'n_orden',S_NRO_ORDEN8)
dw_6.setitem(i,'NUMERO',i)



End if


IF v_total_cance<>0 then
dw_6.setTransObject (sqlca)



LONG S_NRO_ORDEN9=9


i=dw_6.insertrow(0)

dw_6.setitem(i,'codigo_arranque',a)
dw_6.setitem(i,'detalle_boleta',s_titu_cancela)
dw_6.setitem(i,'valores',v_total_cance)
dw_6.setitem(i,'boleta',s_boleta)
dw_6.setitem(i,'n_orden',S_NRO_ORDEN9)
dw_6.setitem(i,'NUMERO',i)


End if

dw_6.update()

next


commit;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mario Amaya

revisar esta rutina

Publicado por Mario Amaya (27 intervenciones) el 09/12/2013 18:16:33
En el script no veo en que momento haces el retrieve de la dw_5, y sin embargo haces un setTransObject y un rowcount.

o es que ya la tienes llena de algun otro script?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

revisar esta rutina

Publicado por francisco (97 intervenciones) el 09/12/2013 19:03:41
gracias por responder colega, la dw_5, tiene grabado los registro lo que hago es dw_5.retrieve()
muestros los datos en dw_5, tiene campos unico, despues recorro la dw_5 con un for que pasa por cada codigo de socio,hago pregunta con if , los datos <>0 los inserto en otra dw_6, pero no me inserta todos los datos del socio segun
el if que hago las condiciones
que pasa ayudame gracias....

desde Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

revisar esta rutina

Publicado por francisco (97 intervenciones) el 09/12/2013 19:31:26
gracias por responder colega, la dw_5, tiene grabado los registro lo que hago es dw_5.retrieve()
muestros los datos en dw_5, tiene campos unico, despues recorro la dw_5 con un for que pasa por cada codigo de socio,hago pregunta con if , los datos <>0 los inserto en otra dw_6, pero no me inserta todos los datos del socio segun
el if que hago las condiciones
que pasa ayudame gracias....

desde Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

revisar esta rutina

Publicado por elvitomhg (18 intervenciones) el 12/12/2013 13:54:09
Hola

Me parece que tienes muchas dw_6.setTransObject (sqlca)

yo la utilizo una vez al iniciar la ventana en el evento open y al finalizar la cierro en el evento close

pero observando la rutina me parece que tienes problemas con el analisis del sistema y poco se entiende lo que quieres hacer al no tener las pantallas, utilizas un archivo digitado, vas a digitar, etc.

tambien la codificacion que utilizas es mas bien anterior o antigua, ejemplo

v_glo_oc2=dw_5.getitemnumber(i,"val_oc2")

deverias utilizar

dw_5.object.,val_oc2[i] = v_glo_oc2

que es mas comprensible

Atte
Elvitomhg
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar