16 Replies Latest reply: Apr 27, 2011 10:59 PM by ESTELA ARMENDARIZ RSS

BUSQUEDA FORMATEADA

ESTELA ARMENDARIZ
Currently Being Moderated

HOLA A TODOS.

 

   NECESITO AYUDA CON RESPECTO A UNA BUSQUEDA FORMATEADA, NECESITO QUE EN EL CAMPO DEL ALMACEN SEA EL MISMO QUE TIENE EL ARTICULO DEL DOCUMENTO ANTERIOR, PERO QUE SI ES CREADO SIN TOMARLO DE UN DOCUEMNTO PREVIO ME MUESTR EL ALMACEN LIGADO A LA SERIE DE LA QUE ESTOY HACIENDO EL DOCUMENTO.

 

AGRADECERIA ALGUNA IDEA.

  • Re: BUSQUEDA FORMATEADA
    Felipe Loyola
    Currently Being Moderated

    Buenas tardes

     

    Bienvenida al SCN

     

    En que documento necesitas ubicar esta BF?

    Con documento anterior, te refieres a buscar el ultimo documento que se hizo con este articulo?

    Sin documento previo significa que no tiene un documento base, o me equivoco?

     

    Slds

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    NO, ME REFIERO A QUE SI HAGO UNA FACTURA QUE VIENE DESDE UNA ENTREGA ME JALE EL ALMACEN DE CADA ARTICULO TAL CUAL ESTABAN EN LA ENTREGA, PERO SI LA FACTURA ES REALIZADA SIN ENTREGA QUE ME COLOQUE EL ALMACEN AL QUE PERTENECE LA SERIE.

     

        NECESITO COMO FUNCIONARIA UN IF EN UNA BUSQUEDA FORMATEADA PERO NO TENGO LA CONDICIONAL DIRECTA.

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    TIENES ALGUN EJEMPLO DE ALGUN IF QUE TE HAYA FUNCIONADO EN UNA BF PARA BASARME EN ELLO POR QUE ME MARCA UN ERROR AL INTENTAR AÑADIR EL THEN NO SE POR QUE.

     

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    AQUI LE PUSE VALORES DEFINIDOS A LAS VARIABLES PARA HACER DIRECTAMENTE LA PRUEBA EN LA BF.

     

    SELECT

    IF (T0.[BaseRef] NOT NULL) THEN

    BEGIN

         SELECT T2.WhsCode

         FROM [DBz0404].[dbo].[ODLN] T1

         INNER JOIN [DBz0404].[dbo].[DLN1] T2 ON T1.DocEntry = T2.DocEntry

         WHERE T1.DocNum = 1044778 --T0.BaseRef

         AND T2.ItemCode = '0646-4001-0024' --$[$38.1.0]

         AND T2.LineNum = 0 --$[$38.1.1]

    END

    ELSE

    BEGIN

                    Select T0.Code from [dbo].[@NSFT_ALMACEN_SUC] T0

                    Inner Join  NNM1 T1 on T0.U_Sucursal=T1.SeriesName

                    Inner Join OITM T2 on T2.ItemCode = '0646-4001-0024'--$[$38.1.0]

                    Where T1.Series = 12 --$[$88.0.1]

                    And T2.U_Tipo_Art =T0.U_Tipo

    END

    FROM OINV T0

    WHERE T0.DocNum = 1048089

    • Re: BUSQUEDA FORMATEADA
      Mauricio QUINTANA
      Currently Being Moderated

      A ver , intenta asi

       

      IF (SELECT count(T0.BaseRef)from INV1 t0)>0 
       BEGIN
       SELECT T2.WhsCode
       FROM DBz0404.dbo.ODLN T1
       INNER JOIN DBz0404.dbo.DLN1 T2 ON T1.DocEntry = T2.DocEntry
       WHERE T1.DocNum = 1044778 --T0.BaseRef
       AND T2.ItemCode = '0646-4001-0024' --$http://$38.1.0
       AND T2.LineNum = 0 --$http://$38.1.1
       END
       ELSE
       
       Select T0.Code from dbo.@NSFT_ALMACEN_SUC T0
       Inner Join NNM1 T1 on T0.U_Sucursal=T1.SeriesName
       Inner Join OITM T2 on T2.ItemCode = '0646-4001-0024'--$http://$38.1.0
       Where T1.Series = 12 --$http://$88.0.1
       And T2.U_Tipo_Art =T0.U_Tipo
       
       FROM OINV T0
       WHERE T0.DocNum = 1048089
       

       

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    ME PONE EL ERROR:

     

    1) INCORRECT SYNTAX NEAR THE KEYWORD FROM

     

    PERO NO ME DICE EN EL FROM DE QUE LINEA ASI QUE SUPONGO QUE ES DE LA PRIMERA.

    • Re: BUSQUEDA FORMATEADA
      Mauricio QUINTANA
      Currently Being Moderated

      Ok

       

      a ver asi

       

      declare @docbase as int
      set @docbase =(select count (baseref) from inv1 a join oinv b on a.docentry=b.docentry where b.docnum in (select $[oinv,docnum]))
      if @docbase>0
      begin
      
      SELECT T2.WhsCode
       FROM DBz0404.dbo.ODLN T1
       INNER JOIN DBz0404.dbo.DLN1 T2 ON T1.DocEntry = T2.DocEntry
       WHERE T1.DocEntry =(select $[inv1.baseentry])
       AND T2.ItemCode = (select $[$38.1.0])
      
      end
      else
      if @docbase=0
      
      begin
      
      Select T0.Code from dbo.[@NSFT_ALMACEN_SUC]  T0
       Inner Join NNM1 T1 on T0.U_Sucursal=T1.SeriesName
       Inner Join OITM T2 on T2.ItemCode = (select $[$38.1.0])
       Where T1.Series = (select $[$88.0.1])
       And T2.U_Tipo_Art =T0.U_Tipo
       
       FROM OINV T0
       WHERE T0.DocNum =(select $[oinv.docnum])
       
      
      end

       

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    HOLA, MIRA ASI YA CASI CORRE NADA MAS QUE ME MARCA EL ERROR EN LA PALABRA CLAVE FOR, LO CUAL NO SE QUE PASA POR QUE NO TENGO NINGUN FOR

     

    IF (SELECT count(T0.BaseRef)from INV1 t0 WHERE T0.DocEntry = 1048089)>0

      BEGIN

           SELECT T2.WhsCode

           FROM dbo.OINV T00

           INNER JOIN dbo.INV1 T0 ON T00.DocEntry = T0.DocEntry

           INNER JOIN dbo.ODLN T1 ON T0.BaseRef = T1.DocNum

           INNER JOIN dbo.DLN1 T2 ON T1.DocEntry = T2.DocEntry

           WHERE T00.DocNum = 1048089 --T0.BaseRef

           AND T2.ItemCode = '0646-4001-0024' --$http://$38.1.0

           AND T2.LineNum = 0 --$http://$38.1.1

    END

    ELSE

       BEGIN

           Select T0.Code from dbo.[@NSFT_ALMACEN_SUC] T0

           Inner Join NNM1 T1 on T0.U_Sucursal=T1.SeriesName

           Inner Join OITM T2 on T2.ItemCode = '0646-4001-0024'--$http://$38.1.0

           Where T1.Series = 12 --$http://$88.0.1

           And T2.U_Tipo_Art =T0.U_Tipo

       END

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    SI LE QUITO EL ELSE NADA MAS CORRE LA OPCION DE ABAJO SE SALTA LA CONDICION DEL IF, AUNQUE TENGA VALOR SALE EL RESULTADO DE LA BUSQUEDA DE ABAJO

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    YA LOS PRBE POR SEPARADO Y FUNCIONAN PERFECTO EL PROBLEMA ES QUE CON EL IF ME MANDA ERROR DE LA PALABRA CLAVE FOR PERO NO SE A QUE SE DEBA SI NO ESTOY MANEJANDO UN FOR

    • Re: BUSQUEDA FORMATEADA
      Mauricio QUINTANA
      Currently Being Moderated

      A ver si asi

       

      declare @docbase as int
      set @docbase =(select count (baseref) from inv1 a join oinv b on a.docentry=b.docentry where b.docnum in (select $[oinv,docnum]))
      
      begin
       if @docbase>0
      SELECT T2.WhsCode
       FROM DBz0404.dbo.ODLN T1
       INNER JOIN DBz0404.dbo.DLN1 T2 ON T1.DocEntry = T2.DocEntry
       WHERE T1.DocEntry =(select $[inv1.baseentry])
       AND T2.ItemCode = (select $[$38.1.0])
       
      end
      begin
      if @docbase=0 
      
       
      Select T0.Code from dbo.[@NSFT_ALMACEN_SUC]  T0
       Inner Join NNM1 T1 on T0.U_Sucursal=T1.SeriesName
       Inner Join OITM T2 on T2.ItemCode = (select $[$38.1.0])
       Where T1.Series = (select $[$88.0.1])
       And T2.U_Tipo_Art =T0.U_Tipo
       
       FROM OINV T0
       WHERE T0.DocNum =(select $[oinv.docnum])
       
       
      end

       

  • Re: BUSQUEDA FORMATEADA
    ESTELA ARMENDARIZ
    Currently Being Moderated

    YA QUEDO RESUELTO, NADA MAS DALTABA UN SELECT QUE MOSTRARA AL FINAL EL VALOR DE LA VARIABLE.

     

    Declare @docbase As int

    Declare @almacen As char(4)

     

    Set @docbase =(Select Count (T0.baseref) From dbo.inv1 T0 Inner Join dbo.oinv T1 on T0.docentry=T1.docentry

                   Where T1.docnum =  $[$8.1.0] AND T0.BaseRef > 0)

    if @docbase > 0

    begin

        SET @almacen = (

        SELECT T2.WhsCode

        FROM dbo.ODLN T1

        INNER JOIN dbo.DLN1 T2 ON T1.DocEntry = T2.DocEntry

        WHERE T1.DocEntry =(select T0.BaseEntry from dbo.INV1 T0 join dbo.oinv T1 on T0.docentry=T1.docentry where T1.docnum = $[$8.1.0])

        AND T2.ItemCode = $[$38.1.0])

    end

     

    if @docbase=0

    begin

    set @almacen =(

       Select T0.WhsCode from dbo.[INV1]  T0

       join dbo.oinv T1 on T0.docentry=T1.docentry

       Where T0.ItemCode =$[$38.1.0] AND T1.docnum = $[$8.1.0])

    end

     

    select @almacen

Actions