Imprimi Página | Fechar janela

Retorno de URl

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=43480
Data da Impressão: quinta-feira, 28 de março de 2024 at 09:25


Topico: Retorno de URl

Postado por: WANDERSONW
Assunto: Retorno de URl
Data Postagem: terça-feira, 17 de novembro de 2020 at 15:00

Boa Tarde Pessoal,

Estou tentando fazer uma api para trazer o saldo em estoque, quando ingesso o codigo do produto na query vem o resultado correto porem preciso criar uma maneira de que, quando o usuario informar o codigo na url, a rotina deve ler este codigo e verificar se existe informaçoes para ela.

Alguem já passou por isso, segue abaixo o codigo que começei a fazer e se alguem puder me ajudar agradesço.




#Include ‘Protheus.ch‘
#Include ‘FWMVCDEF.ch‘
#Include ‘RestFul.CH‘

WSRESTFUL VSPAPI03 DESCRIPTION "Saldo Disponivel por Filial API" FORMAT APPLICATION_JSON

    WSDATA VSPFILPROD           AS STRING

WSMETHOD GET customers DESCRIPTION ‘SP Lista de Clientes‘;
   WSSYNTAX ‘/api/v1/VSPAPI03?VSPFILPROD‘;
    PATH ‘/api/v1/VSPAPI03?VSPFILPROD‘ ;
    PRODUCES APPLICATION_JSON
conout(‘vspfilprod‘)

END WSRESTFUL

conout(‘VSPFILPROD‘)

WSMETHOD GET customers WSRECEIVE VSPFILPROD WSREST VSPAPI03
Local lRet:= .T.
lRet := Customers( self )

conout(‘VSPFILPROD‘)
Return( lRet )

Static Function Customers( oSelf )
Local aListCli := {}
Local cJsonCli := ‘‘
Local oJsonCli := JsonObject():New()
Local nCount    := 0
Local nStart    := 1
Local nAux      := 0
Local cAliasSB2 := GetNextAlias()


ALERT(‘VSPFILPROD‘)

dbSelectArea(‘SB1‘)
DbSetOrder(1)

BEGINSQL Alias cAliasSB2
        SELECT B2_QATU-B2_RESERVA-B2_QACLASS AS SALDO
        FROM
          %table:SB2% SB2
        WHERE
          1=1
          AND SB2.%NotDel%
          AND SB2.B2_FILIAL =‘40‘
          AND SB2.B2_COD =‘00310B‘
ENDSQL
If ( cAliasSB2 )->( ! Eof() )
   
     ( cAliasSB2 )->( DBGoTop() )

EndIf

While ( cAliasSB2 )->( ! Eof() )
    nCount++
    If nCount >= nStart
      nAux++
      aAdd( aListCli , JsonObject():New() )
      aListCli[nAux][ ‘SaldoDisponivel‘ ] := ( cAliasSB2 )->SALDO
      If Len(aListCli) >1
        Exit
      EndIf
    EndIf
    ( cAliasSB2 )->( DBSkip() )
End
( cAliasSB2 )->( DBCloseArea() )
oJsonCli[‘Produto‘] := aListCli
cJsonCli:= FwJsonSerialize( oJsonCli )
FreeObj(oJsonCli)
oself:SetResponse( cJsonCli )
Return .T.







Imprimir Página | Fechar Janela