Versão atual:

Problemas na rotina GPEA050

Estou desenvolvendo um método de um serviço Rest, onde a ideia é realizar a solicitação de férias via integração de web service usando o MsExecAuto( { |a,x,y| Gpea050(a,x,y)}...), porem usando o exemplo especificado no tdn, é apresentado o seguinte erro:

DescriþÒo de erro: [}Pilha de Erro: [ THREAD ERROR ([4128], HTTP_WT_SERVICEREST_HTTPREST_HTTPURI@01■01|FALSE, THIS) 14/02/2022 17:31:22 on GPEA050(GPEA050.PRX) 29/04/2021 14:46:15 line : 147 [TOTVS build: 7.00.191205P-20201012] Called from { |A,X,Y| GPEA050(A,X,Y)}(WSCOBGP01.PRW) 14/02/2022 17:30:07 line : 110 Called from MSEXECAUTO(MATXFUNB.PRX) 24/03/2021 17:43:29 line : 3003 Called from U_GPEA050AUTO(WSCOBGP01.PRW) 14/02/2022 17:30:07 line : 110 Called from REST_WSENVIAFERIAS:PUT(WSCOBGP01.PRW) 14/02/2022 17:30:07 line : 44 Called from WSRESTFUL:CALLMETHOD(WSRESTFUL.PRG) 13/10/2020 16:57:54 line : 497 Called from RESTEXECUTE(FWRESTSRV.PRW) 13/10/2020 16:57:54 line : 960 Called from REST_CONNECT(FWRESTSRV.PRW) 13/10/2020 16:57:54 line : 435 Called from HTTP_WT(FWHTTPSRV.PRX) 13/10/2020 16:57:54 line : 944

O erro apresentado é justamente na linha de execução do execauto, segue o código:

Local aArea := GetArea()
Local aCamp1 := {}
Local aIten1 := {}
Local nX := 0
Local lOk := .T.
Local nAbono := 0

Private oModel //Modelo
Private aRotina
Private lGp050Auto := .T. //Variável que define se é inserção automática
Private lMsHelpAuto := .T.
PRIVATE lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "GPE"

//oModel := FWLoadModel("GPEA050") //Carrega o modelo
conout("integra ferias")

DbSelectArea("SRF")
DbSetOrder(1)

If (oParseJSON:ferias[1]:AB1 == "S")
   nAbono := "10"
EndIf

    For nX := 1 To Len(oParseJSON:ferias)
        aAdd(aCamp1,{"RF_FILIAL"  , oParseJSON:ferias[nx]:filial          , NIL})
        aAdd(aCamp1,{"RF_MAT"     , oParseJSON:ferias[nx]:mat             , NIL})
        AADD(aCamp1,{"RF_DFALVAT" , 10                                    , NIL})
        aAdd(aCamp1,{"RF_DATABAS" , Stod("20220107") , NIL})
        aAdd(aCamp1,{"RF_DATAINI" , Stod(oParseJSON:ferias[nX]:DTInicio1) , NIL})
        aAdd(aCamp1,{"RF_DFEPRO1" , oParseJSON:ferias[nX]:QTD1FE          , NIL})
        aAdd(aCamp1,{"RF_DABPRO1" , nAbono                                  , NIL}) // Ajustar no json
        aAdd(aCamp1,{"RF_DATINI2" , Stod(oParseJSON:ferias[nX]:DTInicio2) , NIL})
        aAdd(aCamp1,{"RF_DFEPRO2" , oParseJSON:ferias[nX]:QTD2FE          , NIL})
        aAdd(aCamp1,{"RF_DATINI3" , Stod(oParseJSON:ferias[nX]:DTInicio3) , NIL})
        aAdd(aCamp1,{"RF_DFEPRO3" , oParseJSON:ferias[nX]:QTD3FE          , NIL})     

        /*AADD(aCamp1 , {"RF_FILIAL"   , oParseJSON:ferias[nx]:filial , NIL})
        AADD(aCamp1 , {"RF_MAT"      , oParseJSON:ferias[nx]:mat     , NIL})
        AADD(aCamp1 , {"RF_DFALVAT"  , 10      , NIL})*/
        aAdd(aIten1 , aCamp1)
    next nX

    MsExecAuto( { |a,x,y| Gpea050(a,x,y)}, NIL , aCamp1, 4)// 2 - Visualizar, 4 - Manutencao,, 5 - Exclusao

    If lMsErroAuto            
        ConOut(OemToAnsi("executado com sucesso! "))
        lOk := .T.
    Else            
        ConOut(OemToAnsi("Erro na inclusao!"))
        conout(Mostraerro())
        //cerro := Mostraerro()
        cerro := ("ocorreu erro na inclusão")    
        lOk := .F.
    EndIf    
    //endif

    ConOut(OemToAnsi("Fim  : ")+Time())

O problema apresentado pode esta ligado a alguma questão na rotina GPEA050?

Versões (2):

Ver a versão formatada

Problemas na rotina GPEA050

Comentário

new question