cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con Query

Former Member
0 Kudos

Buen día,

A continuación les explico que es lo que busco y al final les adjunto el query que tengo: En la Orden de Compra, en el campo Referencia lo que se ha echo es parametrizar un correlativo de tal manera que se genere automaticamente al llamar al proveedor. Bien hasta alli todo bien, pero lo que se necesita ahora es que, cuando son proveedores extranjeros se siga ejecutando lo mismo, pero cuando es un proveedor nacional, lo que se desea es que jale un campo de usuario (Ejm. U_REFERENCIA).

PD// Pensaba diferenciar los proveedores por el campo COUNTRY (Ejm: COUNTRY<>PERU)

Amigos aqui el Query que poseo:

DECLARE @ANIO VARCHAR(20)

DECLARE @CORRELATIVO VARCHAR(3)

DECLARE @CODIGO VARCHAR(20)

SET @ANIO=SUBSTRING(CONVERT(VARCHAR,GETDATE(),102),3,2)

SET @CODIGO = $[OPOR.CARDCODE]

SET @CORRELATIVO = (SELECT REPLICATE('0',3-LEN((COUNT(*)+1)))+LTRIM(STR(COUNT(*)+1))  from OPOR

WHERE CARDCODE=@CODIGO)

SELECT 'P.O. ' + T0.ADDID + '-' + @CORRELATIVO + '-' + @ANIO FROM OCRD T0

WHERE T0.CARDCODE=@CODIGO

Saludos!!

Accepted Solutions (1)

Accepted Solutions (1)

former_member203638
Active Contributor
0 Kudos

Hola Agrevio, puedes hacer un case en el select, solo reemplaza el "Peru" por el que uses, le agregue un isnull al addid, por que si no tiene valor el campo no saca nada.

Espero que te sirva

Saludos

Alessandro.

DECLARE @ANIO VARCHAR(20) 

    DECLARE @CORRELATIVO VARCHAR(3) 

    DECLARE @CODIGO VARCHAR(20) 

     

     

    SET @ANIO=SUBSTRING(CONVERT(VARCHAR,GETDATE(),102),3,2) 

    SET @CODIGO = $[OPOR.CARDCODE] 

    SET @CORRELATIVO = (SELECT REPLICATE('0',3-LEN((COUNT(*)+1)))+LTRIM(STR(COUNT(*)+1))  from OPOR 

    WHERE CARDCODE=@CODIGO) 

     

     

     

     

    SELECT Case When T0.Country <>'PERU' Then 'P.O. ' + isnull(T0.ADDID,0) + '-' + @CORRELATIVO + '-' + @ANIO Else $[OPOR.U_REFERENCIA] end FROM OCRD T0 

    WHERE T0.CARDCODE=@CODIGO 

Former Member
0 Kudos

Gracias hermano, eso era lo que necesitaba.

Saludos!!

Answers (0)