Reporte OCDR y OITM

Me gustaria que me ayudaran con mi código.

  1. en socio de negocios (datos maestros) se ben de sacar los siguientes campos (Codigo, Nombre, Telefeno y correo)
  2. en iventario (datos maestros de articulo) se bebe de sacar el código del producto
  3. hacer el reporte de los correos de los clientes junto con el articulo que se llevaron

Tengo este codigo pero no me sale

select T0.[CardCode] as 'Codigo SN',  t0.DocDate,

T0.[CardName] 'Nombre SN',

T0.[Phone1] 'Telefono',

T0.[E_Mail] as 'Correo electronico', 

T1.[ItemCode] as 'Codigo item',

T1.[Dscription] as 'Nombre item',	

from OINV T0 

INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]

INNER JOIN OSLP T2 ON T0.[SlpCode] = T2.[SlpCode]

INNER JOIN OITM T3 ON T1.[ItemCode] = T3.[ItemCode]
where T1.ItemCode>='mt2310' and t1.ItemCode<='mt2310' and T0.DocDate>='20170401' and t0.DocDate<='20180731'

te marca un error o no es la información que deseas?

no me sale la información que deseo

crees que me puedas apoyar?

SELECT T0.[CardCode], T0.[CardName],T3.[Phone1], T3.[E_Mail], T0.[DocNum], T0.[DocDate], T1.[ItemCode], T1.[Dscription], T1.[Quantity], T1.[Price], T1.[Currency], T1.[LineTotal], T1.[WhsCode], T2.[SlpName] FROM OINV T0 INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN OSLP T2 ON T0.[SlpCode] = T2.[SlpCode] INNER JOIN OCRD T3 ON T0.[CardCode] = T3.[CardCode] WHERE T0.[DocDate] >=[%0] and T0.[DocDate] <=[%1]

si quieres colocar un item en especifico agregale al final
AND T1.[ITEMCODE] =[%2]

en correo electronico me sale error

SELECT T0.[CardCode], T0.[CardName],T3.[Phone1], T3.[E_Mail], T0.[DocNum], T0.[DocDate], T1.[ItemCode], T1.[Dscription], T1.[Quantity], T1.[Price], T1.[Currency], T1.[LineTotal], T1.[WhsCode], T2.[SlpName] FROM OINV T0 INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN OSLP T2 ON T0.[SlpCode] = T2.[SlpCode] INNER JOIN OCRD T3 ON T0.[CardCode] = T3.[CardCode] WHERE T0.[DocDate] >=[%0] and T0.[DocDate] <=[%1]

ejecuta esta la corro en SAP y sin ningun problema arroja la informacion

SELECT T0.[CardCode], t0.DocDate,T0.[CardName],T0.[Phone1] ,T0.[E_Mail] ,T1.[ItemCode],T1.[Dscription],T3.[ItmsGrpCod] FROM OINV T0
INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN OSLP T2 ON T0.[SlpCode] = T2.[SlpCode] INNER JOIN OITM T3 ON T1.[ItemCode] = T3.[ItemCode] where T1.ItemCode>=[%0] and t1.ItemCode<=[%1] and T0.[DocDate] >=[%0] and T0.[DocDate] <=[%1]

es la sintaxis correcta para seleccionar que productos quiero que me refleje y por fecha?

asi como esta solo te pide un rango de fechas y te muestra los datos que quieres de las ventas realizadas en este rango

si quieres realizar un filtrado por articulo deberas colocar lo mencionado al final en un comentario anterior

:exclamation: A todos, por favor formateen correctamente códigos SQL, aquí está explicado: Cómo usar el foro de Consultoria-SAP

esta mal, el query, como menciona @Un_Tal_Erik_J deberias de ligar la tabla de OCRD paratener el telefono, email y asi,

no es el mismo que compartio @jafet , ahi tiene la OCRD jalando los datos que requiere solo que no considere la OITM por que la INV1 te da el item code

que te parece si en donde ligas las OCRD le utilizas un LEFT en dado caso que el cliente no tenga Telefono o E mail regres datos y no vuelva vacio? me huele a eso

quedo asi

SELECT T2.[ItemCode],T1.[CardCode],T1.[CardName], T1.[E_Mail], T1.[Phone1], T0.[DocDate] FROM INV1 T0 INNER JOIN OCRD T1 ON T0.[BaseCard] = T1.[CardCode] INNER JOIN OITM T2 ON T0.[ItemCode] = T2.[ItemCode] WHERE T2.ItemCode>='mt2310' and t2.ItemCode<='mt2311' and T0.[DocDate] >=[%0] and T0.[DocDate] <=[%1]

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.