Unir dos tablas

sql
Etiquetas: #<Tag:0x00007fedd79f54f8>

#1

Buen dia.

Estoy tratando de hacer la siguiente union select * from OPDN T0 INNER JOIN OJDT T1 ON T0.DocEntry = T1.Ref2

me arroja error
Mens. 248, Nivel 16, Estado 1, Línea 1
La conversión del valor nvarchar ‘8000000000’ ha desbordado una columna int.

al dijitar
cast (T0.docentry as nvarchar) = T1.Ref2

me sigue saliendo error si alguien me puede ayudar agradeceria mucho.


#2

Hola, porque no unes la tabla por medio del TransId, quedaría así

SELECT * FROM OPDN T0 INNER JOIN OJDT T1 ON T0.[TransId] = T1.[TransId]

Te sirve ??

Saludos.


#3

Buen dia gracias por tu oportuna respuesta pero no, no me las une así no sale nada por que todas son distintas


#4

Que extraño, cual es tu versión de SAP ?

Porfa intenta de al siguiente manera

Select *
From OPDN T0
INNER JOIN OJDT T1 ON T0.DocEntry = T1.BaseRef


#5

Buen dia @bunker

El error viene porque estas tratando de enlazar dos tablas por dos campos de diferente tipo. El campo docentry es de tipo integer mientras que el campo Ref2 es de tipo Nvarchar. SQL intenta forzar la conversion a integer de REF2 pero se encuentra con el valor de ‘8000000000’ que excede el rango permitido.

El rango de valores permitidos para un campo del tipo integer es de (-2.147.483.648) a (2.147.483.647)

En definitiva se recomienda realizar la union de las tablas como menciona el amigo @pcarrasco


#6

Ah ya va. Lo que pasa es que el campo TransId sirve para enlazar tablas de encabezado y detalle. Ejemplo: OPDN con PDN1 o OJDT con JDT1.

Por lo que veo estas buscando enlazar una entrada de mercancia con el detalle de un asiento. Es correcto?


#7

Si señor es correcto ya que se requiere la revalorizaron del inventario, pero la consulta es muy extensa, y la estoy corriendo de la siguiente manera pero tampoco me trae toda la información.

Select T1.TransType, T1.BaseRef, T0.DOCNUM, T1.RefDate, T1.Memo, T1.Ref2, T1.SysTotal, T0.CardCode
From OPDN T0
INNER JOIN OJDT T1 ON T0.DocEntry = T1.BaseRef
where T1.RefDate >=‘01/11/2017’ AND T1.RefDate <=‘30/11/2017’ AND T0.CardCode=‘800046457’


#8

Estimado @bunker.

No capto la información que deseas consultar o extraer de la base de datos. Si puedes detallar que campos necesitas.

No te sirve el listado de registros contables de inventario del SAP BO?


#9

Gracias Tonyvera, si depronto tienes algún correo donde te puedo enviar detallada la informacion ya que la consulta es muy grande y un poco compleja. Te agradecería inmensamente lo que me puedas colaborar, gracias.


#10

hola @bunker
de paso mire la consulta y el generador de consultas de SAP arroja esto:
SELECT*
OPDN T0
INNER JOIN PDN1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN OJDT T2 ON T0.[TransId] = T2.[TransId]

tal cual como lo menciona @pcarrasco .

Version SAP B1 9.0

Saludos


#11

Buenas tardes,

Según entiendo, estas intentando relacionar una entrada proveedor, con una revalorización de inventario?

Cordial saludo,