cancel
Showing results for 
Search instead for 
Did you mean: 

Donde (en que tablas) encuentro a los Proveedores y a los clientes

Former Member
0 Kudos

Amigos necesito su ayuda, necesito unos Querys basicos que yo me imagino puedo hacer sin mayor problema. Necesito una lista de los proveedores a los que les debemos y otro en el que encuentre a los clientes que nos deben pero por Vendedor, osea al vendedor 1 le debe el cliente 2 y la cantidad es 1000.

En serio me ayudaria bastante si me pudieran indicar de que tablas puedo obtener estos resultados.

Saludos.

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Omar, para saber la descripción de cada tabla ve a

Herramientas --> Consultas --> generador de consultas --> presiona TAB y apareceran las tablas con su descripcion. Como dato en SAP los proveedores y clientes se denominan Socios de negocios.

Para obtener el informe por empleado de ventas ve a la ruta.

Socios de Negocios --> Informes de socio de negocios --> Antigüedad. Este lo agrupas por Empleado de ventas.

Espero te sea de utilidad.

Saludos

Former Member
0 Kudos

Hola Felipe.

esto es exactamente lo que buscaba, pero no habria forma de hacerlo con query, lo que pasa es que debo de hacerlo en una hoja de excel y cada vez que abran el archivo se debe refresacar, esto es facil, ya lo he hecho con otras tablas, lo conecto mediante un odbc.

O si existe alguna forma de ver el query de ese reporte. En serio eso seria genial. Gracias.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola

Para tu suerte ya tenia hecho el query

Pruebalo en SAP

DECLARE @VAR INT, @FECHAFIN DATETIME

SET @VAR = (SELECT TOP 1 A.TransId FROM [dbo].[JDT1] A WHERE A.RefDate <='[%0]')

SET @FECHAFIN = '[%0]'

SELECT

CASE T1.TransType

          WHEN '13' THEN (SELECT X.SlpName FROM OSLP X INNER JOIN OINV Y ON Y.SlpCode=X.SlpCode WHERE Y.TransId = T1.TransId)

          WHEN '14' THEN (SELECT X.SlpName FROM OSLP X INNER JOIN ORIN Y ON Y.SlpCode=X.SlpCode WHERE Y.TransId = T1.TransId)

          ELSE ''

END'Vendedor', T0.CardCode, T0.CardName, T1.TransId'Asiento',

CASE T1.TransType

          WHEN 13 THEN 'Venta'

          WHEN 14 THEN 'N.Credito'

          WHEN 24 THEN 'Abono'

          WHEN 30 THEN 'Traspaso'

END 'Comprobante',

T4.BaseRef 'Doc Interno', T4.Folionum'Folio', T1.TaxDate, T1.DueDate, DATEDIFF(DAY,@FECHAFIN,T1.DueDate)'Días Cred.',

CASE T1.TransType

          WHEN '13' THEN (SELECT Y.PymntGroup FROM OINV X INNER JOIN OCTG Y ON Y.GroupNum=X.GroupNum WHERE X.TransId = T1.TransId)

          WHEN '14' THEN (SELECT Y.PymntGroup FROM ORIN X INNER JOIN OCTG Y ON Y.GroupNum=X.GroupNum WHERE X.TransId = T1.TransId)

          ELSE ''

END'Cond.Pago',

CASE

          WHEN T3.DebHab = 'D' THEN (T1.Debit-T1.Credit-T3.ReconSum)

          WHEN T3.DebHab = 'C' THEN (T1.Debit-T1.Credit+T3.ReconSum)

          ELSE (T1.Debit-T1.Credit)

END 'Saldo',

CASE

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) > 0 and T3.DebHab = 'D'  then T1.Debit-T1.Credit-T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) > 0 and T3.DebHab = 'C'  then T1.Debit-T1.Credit+T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) > 0 then (T1.Debit-T1.Credit) end 'Por vencer',

CASE

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= 0 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -30 and T3.DebHab = 'D'  then T1.Debit-T1.Credit-T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= 0 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -30 and T3.DebHab = 'C'  then T1.Debit-T1.Credit+T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= 0 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -30 then (T1.Debit-T1.Credit) end '0-30 dias',

CASE

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -31 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -60 and T3.DebHab = 'D'  then T1.Debit-T1.Credit-T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -31 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -60 and T3.DebHab = 'C'  then T1.Debit-T1.Credit+T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -31 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -60 then (T1.Debit-T1.Credit) end '31-60 dias',

CASE

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -61 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -90 and T3.DebHab = 'D'  then T1.Debit-T1.Credit-T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -61 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -90 and T3.DebHab = 'C'  then T1.Debit-T1.Credit+T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -61 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -90 then (T1.Debit-T1.Credit) end '61-90 dias',

CASE

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -91 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -120 and T3.DebHab = 'D'  then T1.Debit-T1.Credit-T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -91 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -120 and T3.DebHab = 'C'  then T1.Debit-T1.Credit+T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) <= -91 AND DATEDIFF(DAY,@FECHAFIN,T1.DueDate) >= -120 then (T1.Debit-T1.Credit) end '91-120 dias',

CASE

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) < -120 and T3.DebHab = 'D'  then T1.Debit-T1.Credit-T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) < -120 and T3.DebHab = 'C'  then T1.Debit-T1.Credit+T3.ReconSum

WHEN DATEDIFF(DAY,@FECHAFIN,T1.DueDate) < -120 then (T1.Debit-T1.Credit) end '+120 dias',

T1.LineMemo'Comentarios'

FROM dbo.OCRD T0

INNER JOIN dbo.JDT1 T1 ON T1.ShortName = T0.CardCode

INNER JOIN dbo.OACT T2 ON T2.AcctCode = T1.Account

INNER JOIN dbo.OJDT T4 ON T4.TransId = T1.TransId

LEFT JOIN (SELECT X0.ShortName 'SN', X0.TransId 'TransId', SUM(X0.ReconSum)'ReconSum', X0.IsCredit 'DebHab', X0.TransRowId 'Linea'

          FROM dbo.ITR1 X0

          INNER JOIN dbo.OITR X1 ON X1.ReconNum = X0.ReconNum

          WHERE X1.ReconDate <= @FECHAFIN AND X1.CancelAbs = ''

          GROUP BY X0.ShortName, X0.TransId, X0.IsCredit, X0.TransRowId) T3 ON T3.TransId = T1.TransId AND T3.SN = T1.ShortName AND T3.Linea = T1.Line_ID

WHERE T0.CardType = 'C' AND T1.RefDate <= @FECHAFIN /*AND T2.AcctCode = ''*/ AND T1.TransType NOT IN ('-2','-3') AND

(CASE

          WHEN T3.DebHab = 'D' THEN (T1.Debit-T1.Credit-T3.ReconSum)

          WHEN T3.DebHab = 'C' THEN (T1.Debit-T1.Credit+T3.ReconSum)

          ELSE (T1.Debit-T1.Credit)

END) != '0'

ORDER BY T0.CardCode, T1.TransId

FOR BROWSE

Saludos

Answers (2)

Answers (2)

Former Member
0 Kudos

Omar:

     Si entiendo bien necesitas 2 queryes para saber cuanto te debe cada cliente  o proveedor por vendedor o encargado de compra respectivamente.

Lata tabla ocrd es la tabla de socios de negocios y con el campo cardtype filtras si es cliente o proveedor.

Si fuera sin vendedor seria bastante simple consultando las tablas de asientos contables ojdt y jdt1,.

Para hacer lo que tunecesitas tienes que explicarte un poco mas para saber que tipo de documentos quieres abarcar, ya que si quieres la informacion de clientes estan las facturas, pagos de clientes que no estan reconciliados además el sietema te permite hacer asientos manuales a un socio de negocios en particular.

En el caso de clientes si solo necesitas facturas de clientes la query debiera ser algo como:

select * from ojdt t0 inner join jdt1 t1 on t0.transid=t1.transid

inner join ocrd t2 on t1.shortname=t2.cardcode and cardtype='C'

inner join oinv t3 on t1.transtype=13 and t1.createdby=t3.docentry

where t1.balduedeb <> 0 ot t1.balduecred <> 0

En el select tienes que poner los campos que te interesen

Esta query te serviria para empezar, pero todo depende de todo lo que quieras reflejar

Former Member
0 Kudos

Disculpa me confundi, en la query que mencione despues del wherebastaria con poner esto:

t1.balduedeb <> 0

Former Member
0 Kudos

Hola

Cheque la tabla OCRD campo balance.

Christian