RE: [gx-l] new con claves foraneas

Me parece que el new del primer grupo deberia estar antes del 2do for each, pruebalo asi pls.
 

From: angeloriquelme@msn.com
To: gx-l@gxtech.com.uy
CC: csharp-l@gxtech.com.uy
Date: Mon, 19 Dec 2011 19:04:38 -0300
Subject: [gx-l] new con claves foraneas

Holas amigos.
tengo un problema con el comando New. estoy trabajando en Gx EV1, sql server 2008 y web.
 
cuando inserto en un procesimiento no tengo problemas, pero cuando trato de usar new de un level a otro lever me sale el siguiente error:
 
The INSERT statement conflicted with the FOREIGN KEY constraint "IHISTORIALHISTORIALNOIMPONIBL1". The conflict occurred in database "prueba20", table "dbo.historial".
The statement has been terminated
 
Tengo un tabla historial que tiene los atributos
historialID(clave)
historialRut(clave)
historialnombre
- historialimponibles (level)
---historialimponiblesId
---historialimponiblesValor
 
y tengo una tabla empleado con los siguientes atributos
empleadoRut (clave)
empleadonombre
- imponibles (level)
---imponiblesId
---imponiblesValor
 
entonces en mi source de mi procedimiento coloque:
for each order EmpleadoRut
new
historialId=&cierreId  (cierreId lo resivo de otra transaccion de cierre)
historialRut=EmpleadoRut
historialNombre=EmpleadoNombre
    for each defined by NoImponiblesNombre
    new

     historialNoImponiblesId=NoImponiblesId
     historialNoImponiblesNombre=NoImponiblesNombre
     historialNoImponiblesValor=NoImponiblesValor
    endnew
    endfor
endnew
endfor
 
la verdad yo creo que las claves foraneas de la tabla historialimponibles me estan causando un grave dolor de cabeza. Porque para insertar un registro nuevo en la tabla historialimponibles no puedo insertar las claves foraneas, como lo hago?
de ante mano gracias por su tiempo y ayuda.

1 Response to "RE: [gx-l] new con claves foraneas"

  1. Unknown says:
    26 de septiembre de 2018, 5:41

    //Probá de esta manera
    //Primero se crea el "Cabezal" es decir la
    // TRN "padre" y debe cerrarse el comando //New para poder crear las TRN "hijos" o //Subniveles
    new
    historialId=&cierreId (cierreId lo resivo de otra transaccion de cierre)
    historialRut=EmpleadoRut
    historialNombre=EmpleadoNombre
    endnew
    //Una vez terminada la Creacion del //"Cabezal", creas los Subniveles Asignando las
    //Claves del SuperNivel
    for each defined by NoImponiblesNombre
    new
    historialId=&cierreId
    historialRut=EmpleadoRut historialNoImponiblesId=NoImponiblesId
    historialNoImponiblesNombre=NoImponiblesNombre
    historialNoImponiblesValor=NoImponiblesValor
    endnew
    endfor

Publicar un comentario