Consulta estado Borrador en SAP B1

Buenas tardes a todos.

Estoy creando una consulta donde pueda ver el estado de mis facturas. estoy usando la tabla OPCH y el campo que me interesa es “docstatus”. Cuando lo selecciono las variables que tengo son O= abierto y C= cerrado, pero me gustaría que me apareciese también las facturas que estén en borrador con su correspondiente letra. También he contemplado la tabla ODRF-docstatus.

En sap me meto en “Informes de documentos preliminares” y ahí puedo ver los que tengo en borrador, pero lo que necesito es que vea el estado borrador en los informes y no solo abierto y cerrado.

Es eso posible?

Gracias y un saludo.

1 me gusta

Hola compañero.

No dudo que alguien te proporcione el código pero por el momento me limito a darte un “norte”, lo que podrías hacer es preparar dos querys (OPCH y ODRF), ambos con la misma información y unirlos por medio de un Union All, de esta manera podrías abarcar ambos documentos con su respectivo status.

Saludos.

3 Me gusta

Necesitas hacer algo asi:

SELECT
	DocNum,DocDate,CardCode,CardName,DocStatus,'Generada' as Tipo
FROM
	 OPCH 
WHERE
	CANCELED != 'Y'
UNION ALL
SELECT
	DocNum,DocDate,CardCode,CardName,DocStatus,'Borrador' as Tipo
FROM
	 ODRF 
WHERE
	CANCELED != 'Y'
	AND ObjType = 18

Saludos.

2 Me gusta

Buenas @antog12,

Puedes usar el SQL SQL Profiler y pillar la sentencia que ejecuta cuando sacas los borradores.

Yo cogia el spid haciendo sp_who y luego ponía en el event filtre el spid correspondiente para que me diera las sentencias SQL de solo mi usuario.

Un saludo

2 Me gusta

Lo primero de todo, quiero daros las gracias por responder.

Os tengo que pedir disculpas, pero estoy muy verde ya que he empezado a formarme en esto hace poco y no se interpretar muy bien las directrices que me dais.

@GabrielGS, cuando me dices ‘Generada’ as Tipo y ‘Borrador’ as Tipo, que es exactamente?

Edito: Ya he conseguido crear la consulta, pero como puedo poner rangos de fecha para acotar la búsqueda?

Gracias y lo siento.

1 me gusta

Hola compañero.

Utiliza parámetros interactivos del sistema:

WHERE T0.[DocDate] >=[%0] AND T0.[DocDate] <=[%1]

Saludos.

1 me gusta

‘Generada’ as Tipo y ‘Borrador’ as Tipo, son campo para distingir el Tipo de documento, es decir si es una Factura(‘Generada’) o un Borrador, estos nombres los puedes cambiar por lo que tu quieras o simplemente quitarlos.

Para filtrar por fechas en el Query Manager debes hacer lo siguiente (Filtrado por DocDate ):

DECLARE @VAR INT, @INI DATETIME, @FIN DATETIME

SET @VAR=(SELECT TOP 1 A.DocNum FROM [dbo].[OPCH]  A WHERE A.DocDate BETWEEN  '[%0]' AND '[%1]' )

SET @INI='[%0]'  
SET @FIN='[%1]' 


SELECT
	DocNum,DocDate,CardCode,CardName,DocStatus,'Generada' as Tipo
FROM
	 OPCH 
WHERE
	CANCELED != 'Y'
              AND DocDate BETWEEN @INI AND @FIN
UNION ALL
SELECT
	DocNum,DocDate,CardCode,CardName,DocStatus,'Borrador' as Tipo
FROM
	 ODRF 
WHERE
	CANCELED != 'Y'
	AND ObjType = 18
	AND DocDate BETWEEN @INI AND @FIN

Saludos

2 Me gusta

Muchas Gracias Gabriel y Gera.

Voy a probar y os comento.

Una pregunta Gabriel. Para hacer la query en SAP B1 yo uso el generador de consultas. Cuando me facilitas el ejemplo, lo sacas de ahí?

Mil gracias.

1 me gusta

Hola @antog12:

Buenas tardes, finalmente esto le resultó?

Salud@s :raised_hand_with_fingers_splayed:t5:

1 me gusta

Buenas tardes.

Disculpa que no haya contestado antes.

Me resultó util.

Muchas gracias

2 Me gusta

Hol@ @antog12:

Buen día, y que bien que le haya servido, recuerde marcar alguna de las respuestas de nuestros compañeros como solución.

Salud@s :raised_hand_with_fingers_splayed:t5:

2 Me gusta

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