Modelo Financiero en script

Hola estimados saperos, tengo un inconveniente y no he sido capas de poder solventarlo, el cual es, necesito generar un script obteniendo el modelo financiero ya configurado en SAP y crear un Estado de Resultados en base a este pero no he sido capas de realizarlo, yo ya identifique las tablas del modelo las cuales son OFRC - Categorías de informes financieros y la tabla de detalle donde encontré las cuentas SYS es FRC1 - Ampliar categorías para informe financiero, como tal necesito enlazar la tabla OACT - Plan de cuentas y la tabla JDT1 - Detalle de asientos contables para poder obtener los valores y ver si cuadro con EF nativo de SAP.
Pero no he sido capas de enlazar esta tablas siempre me muestra duplicada la linea de la cuenta contable y la verdad no encuentro entre las tablas cual seria el campo para que ya no duplique la linea, el script que tengo es el siguiente:

SELECT T0.AbsId, T0.Name, T1.TemplateId, T1.Name, T2.VisOrder, T1.FrgnName, T2.AcctCode, T3.AcctCode, T3.FormatCode, T3.AcctName
FROM OFRT T0  
INNER JOIN OFRC T1 ON T0.AbsId = T1.TemplateId 
LEFT JOIN FRC1 T2 ON T1.TemplateId = T2.TemplateId 
LEFT JOIN OACT T3 ON T2.AcctCode = T3.AcctCode
WHERE T0.AbsId ='27' -- Identificador del Modelo creado
GROUP BY T0.AbsId, T0.Name, T1.TemplateId, T1.Name, T1.FrgnName, T2.AcctCode, T3.AcctCode, T3.FormatCode, T3.AcctName, T2.VisOrder
ORDER BY T2.AcctCode

Cuando ejecuto la consulta me muestra la información de la siguiente forma

Agradecería su apoyo con este inconveniente o de ser posible orientarme en donde esta mi error y poder solventarlo.
Saludos

Hola, cuando sucede eso es que en alguna de las columnas que muestras o que estas llamando tiene una pequeña variación en el dato, otra opción es que estes llamando una tabla de un registro conectada a otra de dos o mas registros.
Ejemplo: Cuando llamas a la factura, la cabecera tiene un registros pero el detalle puede tener uno o mas por lo que el resultado de la consulta repetirá por ejemplo el nombre del cliente cuantas filas tengas en las líneas de detalle.

Identifica la tabla que te este generando esta duplicación y lo que podrías hacer es que en una view aparte transformarla en un registro de solo una fila. Lo que implica es que conectes la tabla principal con la vista y no con la que tiene mas de un registro.

gracias @anon34698510 por tu respuesta, encontré el campo que hacer que ya no se repita la información y el campo es CatId, acá les dejo el scritp por si alguien le sirve:

SELECT T0.AbsId, T0.Name, T1.TemplateId, T1.Name,  T1.FrgnName, T2.AcctCode, T1.CatId, t2.CatId , T3.AcctCode, T3.FormatCode, T3.AcctName
FROM OFRT T0  
INNER JOIN OFRC T1 ON T0.AbsId = T1.TemplateId 
INNER JOIN FRC1 T2 ON T1.TemplateId = T2.TemplateId AND T1.CatId = T2.CatId --Acá coloque el campo que hace que no se repitan los valores
LEFT JOIN OACT T3 ON T2.AcctCode = T3.AcctCode
WHERE T0.AbsId ='27' AND T1.FrgnName in ('GA1', 'GV1') 
GROUP BY T0.AbsId, T0.Name, T1.TemplateId, T1.Name, T1.FrgnName, T2.AcctCode, T1.CatId, t2.CatId, T3.AcctCode, T3.FormatCode, T3.AcctName, T2.VisOrder
ORDER BY T2.AcctCode

Agradezco la ayuda brindado.
Saludos

2 Me gusta

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.