Consulta de Status do Pedido

Regras de negócio

Para realizar consulta de status dos pedidos será necessário realizar uma consulta envolvendo 3 tabelas, são elas: TGFCAB,TGFVAR e TGFCAN.
OBS: Caso tenha alguma necessidade de configuração do ERP procure “Consultor” ou acesso o link de apoio:
https://ajuda.sankhya.com.br/hc/pt-br/articles/360044612654-Portal-de-Vendas#oqueumpedidodevenda

Dependências

É necessário a criação da view VW_STPEDIDOS_JSON para poder efetuar a consulta do(s) status dos pedido(s).
Clique aqui para baixar o arquivo contendo o código SQL com a view a para ser executada no banco de dados Oracle do ERP.

Detalhes Técnicos

As entidades utilizadas para esta consulta foram a CabecalhoNota,CompraVendavariosPedido e NotaCancelada que por sua vez instanciam as tabelas TGFCAB,TGFVAR e TGFCAN respectivamente.
Para realizarmos a busca através do Json, utilizamos o serviço "DbExplorerSP.executeQuery".

O serviço DbExplorerSP.executeQuery é um serviço para ser utilizado para execução de consultas SQL através do JSON.

Este serviço é utilizado apenas para consulta de dados, portanto, não é possível realizar deleções e inserções através do serviço.

No exemplo abaixo o único filtro utilizado foi um limitador para controlar o número de linhas de retorno para que a consulta seja mais rápida de eficiente.

Por se tratar de uma consulta SQL, foi inserido na cláusula WHERE um limitador de linhas para melhor eficiência da consulta, segue exemplo:
"requestBody": {
    "sql":"SELECT * FROM VW_STPEDIDOS_JSON WHERE TO_CHAR(DTALTER, 'YYYY-MM-DD') > '2020-01-01' AND TO_CHAR(DTALTER, 'YYYY-MM-DD') < '2020-12-31'"
    }

Para melhor performance sempre utilize nas suas consultas apenas os campos necessários, para evitar tráfego de dados que não serão utilizados.

Descritivo de campos da entidade

Acesse aqui o dicionário de dados da tabela TGFCAB

Acesse aqui o dicionário de dados da tabela TGFVAR

Acesse aqui o dicionário de dados da tabela TGFCAN

Exemplo de uso:


URL de chamada: https://api.sankhya.com.br/gateway/v1/mge/service.sbr?serviceName=DbExplorerSP.executeQuery&outputType=json

Corpo de requisição
  {
    "serviceName":"DbExplorerSP.executeQuery",
    "requestBody": {
    "sql":"SELECT * FROM VW_STPEDIDOS_JSON WHERE TO_CHAR(DTALTER, 'YYYY-MM-DD') > '2020-01-01' AND TO_CHAR(DTALTER, 'YYYY-MM-DD') < '2020-12-31'"
    }
  }

Retorno em json:

  {
      "serviceName": "DbExplorerSP.executeQuery",
      "status": "1",
      "pendingPrinting": "false",
      "transactionId": "D83F911A954DA9CE10097ACC2DEA9A4F",
      "responseBody": {
          "fieldsMetadata": [
              {
                  "name": "NUNOTA",
                  "description": "NUNOTA",
                  "order": 1,
                  "userType": "I"
              },
              {
                  "name": "STATUSNOTA",
                  "description": "STATUSNOTA",
                  "order": 2,
                  "userType": "S"
              },
              {
                  "name": "DESCRICAO",
                  "description": "DESCRICAO",
                  "order": 3,
                  "userType": "S"
              },
              {
                  "name": "DTALTER",
                  "description": "DTALTER",
                  "order": 4,
                  "userType": "H"
              }
          ],
          "rows": [
              [
                  142,
                  "L",
                  "Liberado",
                  "15052020 16:26:57"
              ]
          ],
          "burstLimit": false,
          "timeQuery": "4ms",
          "timeResultSet": "1ms"
      }
  }
Language
Click Try It! to start a request and see the response here!