PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Retorno de URl
Versão:
12.1.25
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário WANDERSONW WANDERSONW em 17/11/2020, 15:00 h
Local: SP  Registro: 01/07/2015  Postagens: 70
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.


Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal