OBTENER IDENTITY AL INSERTAR REGISTRO EN UN DW EN PB 12.5
Publicado por Erick Morales (3 intervenciones) el 20/02/2012 18:42:52
Hola a todos.
Tengo una aplicación que corre sin problemas en PB 9.02. En ella, inserto un registro con un datawindow y recupero el identity sin problema. En este datawindow, siempre, sólo se inserta un registro a la vez. El código es el siguiente:
ll_codigo = dw_casos.Update(true,false)
ll_codigo <> 1 then
RollBack;
else
Commit;
ll_folio = dw_casos.GetItemNumber(1, "sop_id")
end if
El caso es que al migrarlo a PB 12, la obtención del identity ya no funciona, La columna identity es sop_id. Ya intente regenerando, exportando e importando,cambiando las banderas del update, también, colocando en una variable el valor del registro que devuelve el InsertRow(0) y nada. El registro si se inserta en la tabla, pero no logro que el DW me devuelva el identity.
No creo que sea cuestión de mi código, pues es migrado de PB 9 y, en PB 9, al insertar el registro, visualmente, como usuario, puedo ver el valor debido a que la columna de sop_id está visible en la ventana. Hice una prueba desde el ambiente de diseño (painter) del DW, "ejecuto" directamente el DW para insertar el registro y tampoco coloca nada en la columna del identity. En PB 9 si lo hace también en el painter.
Utilizo :
MS SQl Server 2000 (no lo puedo cambiar por que mi cliente no puede migrar al 2008)
PB 12. Build 6807
Nota: Probé usando la versión express R2 del SQL 2008 con el painter del DW y tampoco se puede.
Espero puedan ayudarme.
Saludos y gracias de antemano.
Erick.
Tengo una aplicación que corre sin problemas en PB 9.02. En ella, inserto un registro con un datawindow y recupero el identity sin problema. En este datawindow, siempre, sólo se inserta un registro a la vez. El código es el siguiente:
ll_codigo = dw_casos.Update(true,false)
ll_codigo <> 1 then
RollBack;
else
Commit;
ll_folio = dw_casos.GetItemNumber(1, "sop_id")
end if
El caso es que al migrarlo a PB 12, la obtención del identity ya no funciona, La columna identity es sop_id. Ya intente regenerando, exportando e importando,cambiando las banderas del update, también, colocando en una variable el valor del registro que devuelve el InsertRow(0) y nada. El registro si se inserta en la tabla, pero no logro que el DW me devuelva el identity.
No creo que sea cuestión de mi código, pues es migrado de PB 9 y, en PB 9, al insertar el registro, visualmente, como usuario, puedo ver el valor debido a que la columna de sop_id está visible en la ventana. Hice una prueba desde el ambiente de diseño (painter) del DW, "ejecuto" directamente el DW para insertar el registro y tampoco coloca nada en la columna del identity. En PB 9 si lo hace también en el painter.
Utilizo :
MS SQl Server 2000 (no lo puedo cambiar por que mi cliente no puede migrar al 2008)
PB 12. Build 6807
Nota: Probé usando la versión express R2 del SQL 2008 con el painter del DW y tampoco se puede.
Espero puedan ayudarme.
Saludos y gracias de antemano.
Erick.
Valora esta pregunta
0