Power Builder - DataStore no inserta registros

   
Vista:

DataStore no inserta registros

Publicado por Yuri yuripeca@hotmail.com (143 intervenciones) el 07/06/2011 02:39:51
Buen días y gracias por su ayuda, tengo el siguiente código:

datastore ds_cont_igv_compra
long ll_reg
ds_cont_igv_compra = create datastore
ds_cont_igv_compra.dataobject = "dw_compra"
ll_reg = ds_cont_igv_compra.insertrow(0)
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opecod", dwv_operacion.GetItemNumber(1, "opecod"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "ctacod", "40111")
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "ejecod", dwv_operacion.getitemstring(1, "ejecod"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "DOCCOD", dwv_operacion.getitemnumber( 1, "doccod"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "mae_asocod", dwv_operacion.getitemstring(1, "mae_asocod"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "asocod", dwv_operacion.getitemstring(1, "asocod"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "cajcod", dwv_operacion.getitemNumber(1, "cajcod"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opeanu", 0)
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opeest", "REGISTRADO")
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opeglo", "IGV")
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opehab", dwv_operacion.getitemnumber(1, "c_igv"))
ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opefre", dwv_fechahora.GetItemdatetime(1, "fecha"))
ds_cont_igv_compra.settransObject(sqlca)
//messagebox("", string(ds_cont_igv_compra.rowcount( )))
if ds_cont_igv_compra.update() = 1 then
messagebox("", "Guardado")
commit;
else
MessageBox("SQL error", SQLCA.SQLErrText)
messagebox("", "NO Guarda")
rollback;
end if
destroy ds_cont_igv_compra

En el datastore inserto un registo, inserto datos, e intento guardar, en el error SQLErrText me sale en blanco, pero el update del datastore no es = 1 alguien sabe que estoy haciendo mal, o como debería trabajar.
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

DataStore no inserta registros

Publicado por Jeinnerh jhidalgo@excelteccr.com (638 intervenciones) el 07/06/2011 02:51:52
Si mal no recuerdo un DataStore, no tiene capacidad de actualización (creo que hay un tipo que sí lo hacer, pero en este momento no recuerdo cómo se define).

Lo que puedes hacer es cambiar el DataStore por un Datawindow.

Saludos.
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

DataStore no inserta registros

Publicado por Daniel Rodas daniel.rodas@avon.com (27 intervenciones) el 19/07/2011 17:51:48
Tu problema es en realidad muy simple. Tu tienes lo siguiente

ll_reg = ds_cont_igv_compra.insertrow(0)

ds_cont_igv_compra.setitem( ds_cont_igv_compra.getrow(), "opecod", dwv_operacion.GetItemNumber(1, "opecod"))

Sustituyelo por

ds_cont_igv_compra.object.opecod[ll_reg] = dwv_operacion.object.opecod[1]

Recuerda que el data object debe ser un query para que pueda ser actualizable en la propiedad Update Properties, no puede ser External.

Saludos
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