on 03-20-2012 2:55 PM
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!!
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.