Histórico da Página
01. DADOS GERAIS
Linha de Produto: | Logix | ||
---|---|---|---|
Segmento: | Tecnologia | ||
Módulo: | Framework | ||
Função: | Componente LJsonObject | Ticket: | 8370362Calendário |
Requisito/Story/Issue (informe o requisito relacionado) : | DFWKTOOLS-19431786 |
02. SITUAÇÃO/REQUISITO
Na tentativa de ler propriedades LENGTH, TYPE e VALUE de elementos de um JSON Array utilizando o componente LJsonObject, estão sendo retornados valores incorretos.
A situação ocorria apenas com JSON Array iniciado com o símbolo "[" (colchete) sem definição do TAG com o nome da lista/array, conforme exemplo abaixo:
...
Ao utilizar a função que retorna o próximo dia útil, levando-se em consideração o calendário bancário, não está prevendo o final de semana (sábado e/ou domingo).
03. SOLUÇÃO
Correção da leitura e interpretação dos elementos de um JSON Array no componente LJsonObject, quando o formato do Json tiver as características mencionadas anteriormente no tópico 02. Situação/Requisito
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#---------------------------#
FUNCTION LJSonObject_test()
#---------------------------#
DEFINE l_json_reference VARCHAR(10)
DEFINE l_content VARCHAR(500)
DEFINE l_status SMALLINT
DEFINE l_value VARCHAR(100)
LET l_content = '[ {"tipo":1,"codigo":"11PB220521","operacao":"ProcessarProduto","descricao":"Operação ''ProcessarProduto'' executada com sucesso para a chave: 11PB220521."} ]'
LET l_status = _ADVPL_get_property(l_json_reference,"ACTIVATE",l_content CLIPPED)
CALL conout("STATUS CONTENT1 = " ||l_status)
IF NOT l_status THEN
CALL conout("Não foi possível ativar o JSON informado, verifique se o conteúdo e formato são válidos.")
ELSE
LET l_value =_ADVPL_get_property(l_json_reference,"VALUE","[1]/tipo")
CALL conout("Valor do elemento TIPO da ocorrencia 1 da lista = ["||l_value||"]")
#Como a lista não possui TAG com a nomenclatura, não é passado parâmetro após o parâmetro da propriedade LENGTH.
#Quando a lista tiver nomenclatura, deve-se passar o nome da lista após o parâmetro da propriedade LENGTH. Exemplo: _ADVPL_get_property(l_json_reference,"LENGTH",<nome_lista>)
LET l_value = _ADVPL_get_property(l_json_reference,"LENGTH")
CALL conout("Tamanho da lista principal = ["||l_value||"]")
LET l_value =_ADVPL_get_property(l_json_reference,"TYPE","[1]/descricao")
CALL conout("Tipo do elemento TIPO da ocorrencia 1 da lista = ["||l_value||"]")
END IF
END FUNCTION
|
Card documentos | ||||
---|---|---|---|---|
|
05. ASSUNTOS RELACIONADOS
...
Alterado a função de calendário bancário para levar em consideração o final de semana (sábado e/ou domingo).
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |