Tem duas coisas ao usar o FillGetResponse
que não está documentado no https://tdn.totvs.com/display/public/framework/09.+FWAdapterBaseV2:
- O
::FillGetResponse
retorna .F.
quando não existem registros retornados pelo ::Execute
- O método, caso tenha registros (Ou seja, se o SELECT trazer mais de 0 registros), guarda em formato JSON esses registros dentro do objeto de dados, e os mesmos são acessíveis através do método
GetJSONResponse
.
Exemplo
Camada de Dados
Method gerarListaSolicitacoesArmazem() Class SolicitacaoArmazemData
Local cWhere as Character
Local cQuery as Character
Local aArea as Array
Local bRetornoExecute as Logical
Local bRetornoFillGetResponse as Logical
aArea := FwGetArea()
AddMapFields(Self)
ConOut("SolicitacaoArmazemData:listarSolicitacoesArmazem - Listando as Solicitações do Armazém...")
cWhere := "CP_OP LIKE '014243OS%' AND CP_FILIAL = '020101' AND D_E_L_E_T_ = ''"
cQuery := ManutencaoUtils.u_getQuery("SCP")
::SetPage(1)
::SetPageSize(100)
::SetQuery(cQuery)
::SetWhere(cWhere)
::SetOrder("CP_NUM")
ConOut("SolicitacaoArmazemData:listarSolicitacoesArmazem - Query para Listar as S.A.s: " + cQuery)
bRetornoExecute := ::Execute()
ConOut("SolicitacaoArmazemData:listarSolicitacoesArmazem - Query Executada: " + cValToChar(bRetornoExecute))
If bRetornoExecute
bRetornoFillGetResponse := ::FillGetResponse()
ConOut("SolicitacaoArmazemData:listarSolicitacoesArmazem - FillGetResponse: " + cValToChar(bRetornoFillGetResponse))
ConOut("SolicitacaoArmazemData:listarSolicitacoesArmazem - JSON Salvo no Objeto: " + cValToChar(::GetJSONResponse()))
EndIf
FwrestArea(aArea)
Return Nil
Camada da Service
Method listarSolicitacoesArmazem() as Json Class SolicitacaoArmazemService
Local jSolicitacoesArmazem as Json
ConOut("SolicitacaoArmazemService:listarSolicitacoesArmazem - Executando as Regras de Negócio...")
::jResponse:fromJson('[{"Mensagem":"Hello World!"}]')
oData := SolicitacaoArmazem.SolicitacaoArmazemData():new("GET")
oData:gerarListaSolicitacoesArmazem()
jSolicitacoesArmazem := oData:GetJSONResponse()
Return ::jResponse