Histórico da Página
...
Exemplo: Se formos criar uma personalização para o programa pedido-execucao-monitor, chamaremos o endpoint "/api/btb/v1/personalizationView/metadata/pedido-execucao-monitor"
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"fields": [
{
"visible": true,
"gridColumns": 6,
"disable": false,
"property": "codIdioma",
"label": "Idioma",
"type": "string"
},
{
"visible": true,
"gridColumns": 6,
"disable": false,
"property": "codIdiomPadr",
"label": "Idioma Padrão",
"type": "string"
},
{
"visible": true,
"gridColumns": 6,
"disable": false,
"property": "desIdioma",
"label": "Descrição",
"type": "string"
},
{
"visible": false,
"property": "id",
"type": "number",
"key": true
}
]
} |
2) Endpoint progress da área de negócio - Serve para obter os dados que serão apresentados nos campos personalizados;
...
Abaixo temos o endpoint progress que deverá ser criado pela área de negócio para obtenção dos valores a serem apresentados nos campos personalizados.
4) Endpoint progress da área de negócio para obtenção dos valores dos campos personalizados (idiomaValues.p)
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{utp/ut-api.i} {utp/ut-api-action.i pGetData GET /~* } {utp/ut-api-notfound.i} /** Procedure que retorna os valores **/ PROCEDURE pGetData: DEFINE INPUT PARAMETER oJsonInput AS JsonObject NO-UNDO. DEFINE OUTPUT PARAMETER oJsonOutput AS JsonObject NO-UNDO. DEFINE VARIABLE oRequest AS JsonAPIRequestParser NO-UNDO. DEFINE VARIABLE oResponse AS JsonAPIResponse NO-UNDO. DEFINE VARIABLE oObj AS JsonObject NO-UNDO. DEFINE VARIABLE cProg AS CHARACTER NO-UNDO. DEFINE VARIABLE cId AS CHARACTER NO-UNDO. oObj = NEW JsonObject(). // Le os parametros enviados pela interface HTML oRequest = NEW JsonAPIRequestParser(oJsonInput). // Obtem o programa e o codigo do registro corrente cProg = oRequest:getPathParams():getCharacter(1) NO-ERROR. cId = oRequest:getPathParams():getCharacter(2) NO-ERROR. LOG-MANAGER:WRITE-MESSAGE("getData - cProg = " + cProg, ">>>>>"). LOG-MANAGER:WRITE-MESSAGE("getData - cId = " + cId, ">>>>>"). FIND FIRST prog_dtsul WHERE prog_dtsul.cod_prog_dtsul = cProg NO-LOCK NO-ERROR. LOG-MANAGER:WRITE-MESSAGE("getData - prog found = " + string(AVAILABLE prog_dtsul), ">>>>>"). IF AVAILABLE prog_dtsul THEN LOG-MANAGER:WRITE-MESSAGE("getData - permite personalizacao = " + string(prog_dtsul.log_permite_perzdo), ">>>>>"). IF AVAILABLE prog_dtsul AND prog_dtsul.log_permite_perzdo = TRUE THEN DO: FIND FIRST idioma WHERE idioma.cod_idioma = cId NO-LOCK NO-ERROR. LOG-MANAGER:WRITE-MESSAGE("getData - idioma found = " + string(AVAILABLE idioma), ">>>>>"). IF AVAILABLE idioma THEN DO: oObj:add("codIdioma", idioma.cod_idioma). oObj:add("desIdioma", idioma.des_idioma). oObj:add("codIdiomPadr", idioma.cod_idiom_padr). END. LOG-MANAGER:WRITE-MESSAGE("getData - oObj = " + String(oObj:getJsonText()), ">>>>>"). END. oResponse = NEW JsonAPIResponse(oObj). oJsonOutput = oResponse:createJsonResponse(). END PROCEDURE. /* fim */ + String(oObj:getJsonText()), ">>>>>"). END. oResponse = NEW JsonAPIResponse(oObj). oJsonOutput = oResponse:createJsonResponse(). END PROCEDURE. /* fim */ |
Retorno do endpoint da área de negócio com os valores dos campos personalizados:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"codIdiomPadr": "03 Español",
"codIdioma": "ESP",
"desIdioma": "Espanhol"
} |
Aviso | ||
---|---|---|
| ||
Caso seja enviado valores da área de negócio que não estejam cadastrados como campos personalizados, o PO-UI por padrão adicionará essa informação extra na tela, onde será apresentado como String sem um label válido. |
...