cancel
Showing results for 
Search instead for 
Did you mean: 

Quiero realizar un Select uniendo las tablas ORDR, RDR1, OINV y INV1

Former Member
0 Kudos

Hola con todos los de la comunidad, es la primera vez que inicio una discusión. Estoy aprendiendo Sap Business one 9 y me han pedido crear un Select desde Sql Server con las tablas ORDR, RDR1. ONV y INV1. Mi problema esta en como podría unir el par de tablas ORDR+RDR1 mas el otro par de tablas OINV+INV1, cual seria su campo en comunn que maneja Sap Business one para relacionar ambas tablas ORDR que es la de Pedido de Cliente y la tabla OINV que es la de Factura a Clientes.

Ojala me puedan ayudar y gracias por el apoyo !!!.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Buenas este post es viejo pero necesito realizar practicamente lo mismo necesito traerme la fecha de creacion de la Orden pero verla desde la factura mi Query es este quisas ya realizaste lo que necesitabas.

(SELECT Distinct  T0.CreateDate FROM ORDR T0

                          INNER JOIN INV1 T1 ON T1.BaseType=T0.DocEntry 

   AND T1.BaseType='17'

   WHERE T0.DocEntry  = @DocEntry

   )

darwin_diaz2
Explorer
0 Kudos

Para eso no necesitas un query solamente ve a ventas->informe de ventas->>Lista Partidas abiertas->y en documentos pendientes seleccionas pedido de cliente.

Saludos

Former Member
0 Kudos

Buenos dias para realizar el select debes tener en cuenta que todas las tablas tienen una llave primaria para las siguientes tablas seria de la siguiente manera

ORDR se puede realizar con el DocEntry de igual manera el join iria con el RDR1 DocEntry

OINV se puede realizar con el DocNum con el join de la tabla INV1 DocEntry

Buena suerte

Former Member
0 Kudos

Hola Juanpa, antes que nada gracias por tu apoyo. Ya habia realizado la union de las tablas ORDR  y su tabla detalle RDR1 con DocEntry al igual que OINV y su tabla detalle INV1 con DocEntry tambien pero ahora quiero unir la tabla ORDR (Pedido Cliente) con la tabla OINV (Factura Cliente).

Lo que me han pedido es hacer un reporte donde puedan Ver los Pedido de cliente (ORDR) que tiene y nunca han tenido o les falta realizar una Factura Cliente (OINV) y viceversa ver que Factura clientes han tenido o no algun Pedido alguna vez. Es decir quiero hacer un FULL OUTER JOIN entre ORDR unida a su tabla detalle (RDR1) con la tabla OINV unida a su tabla detalle (INV1) .

Y mi problema es que no encuentro el campo en común para unir las cabeceras ORDR y OINV en el Sap. Ojala puedas ayudarme

gerardo_mendez
Active Contributor
0 Kudos

A nivel detalle (RDR1 y INV1)  existen los siguientes campos: BaseRef y BaseType al igual que TargetType y TrgetEntry.

Dichos campos te sirven para enlazar un documento base con su origen y viserversa, creo que basándote en ellos puedes crear tu consulta.

Solo ten en cuenta que siguiendo el flujo "Normal" de SAP, entre la orden de venta y la factura debe haber una entrega de mercancías, si en tu empresa mandan directamente la orden de venta a una factura entonces no tendrás mayor complicación ya que el BaseRef y BaseType de la factura serán el DocEntry y DocType de tu pedido.

Espero haber sido claro. Saludos.

Former Member
0 Kudos

hola buen dia concuerdo con gerardo que esos campos son los que necesitas para unir inv1 y rdr1 pero tambien toma en cuenta que si una partida de tu rdr1 se convirtio en factura y despues esta factura se cancelo la partida en RDR1 pudo abrirse de nuevo y facturarse en otra factura, pero al hacer esto el TargetEntry en RDR1 seguira apuntando a la primera factura.

esto te traera problemas cuando:

     1) En una partida de varias piezas se facturaron parcial

               Aqui puedes validar la cantidad de piezas para comparar si la cantidad en la factura es la misma que la de la orden de compra, caso                contrario tendras que buscar entre las facturas para ver si esta facturado el resto o no.

     2) Se cancelo la factura de un pedido y este se volvio a abrir.

               En esta situacion si te basas en el TargetEntry de RDR1 parecera que la partida esta facturada pero para asegurarnos valida que la factura                no este cancelada

     3) Se cancelo la factura de un pedido y este se volvio a abrir y posteriormente se facturo de nuevo               

               En esta situacion hay que validar si el TargetEntry del RDR1 y BaseRef de INV1 apuntan a la factura y a la orden de compra respectivas y si                la factura esta cancelada si esta cancelada habra que buscar entre los BaseRef de las demas facturas para ver cuales coinciden con la                orden de compra

esas son las posibles situaciones que me parece podrias toparte.

saludos

Former Member
0 Kudos

Adan podrías realizar el query para entenderlo..... creo que tengo dos escenarios, no sabia que el sap creaba un documento nuevo para cancelar el anterior y obvio que le hace referencia. Por otro lado tiene una lista de que llaves se relacion con que tabla?