MLAAPI021 - Configurações Visuais Aplicativo MLA

Produto:

Datasul

Ocorrência:

Documentação de API

Nome físico:

lap/mlaapi021.p


Objetivo

Esta API tem como objetivo realizar a apresentações de dados e realizar configurações visuais para o aplicativo do MLA.


Funcionamento

A API fornece uma série de métodos que podem ser executados individualmente para validações e configurações do MLA.

A sintaxe para a chamada da API, que deve ser de forma persistente:


run lap/mlaapi021.p persistent set h-handle.


A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.

Método Negócio


Quando a API estiver executada em modo persistente, os seguintes métodos estarão disponíveis para execução:


pi-get-approverUser-v1

Requisito

Nenhum.

Descrição

Retorna informações de um aprovador do MLA.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetros para a busca do aprovador:

queryParams →  fields: Campos que devem ser retornados na busca, separados por vírgula, verificar campos possíveis no oOutput.

queryParams →  expand: Utilizando este parâmetro com a informação "visualConfigurations", são retornadas também as configurações visuais do usuário.

pathParams:  Informar o código do aprovador que se deseja buscar as informações.

{
    "queryParams": {
        "fields" [
            "userCode",
            "userName"
        ],
        "expand": [
            "visualConfigurations"
        ],
    },
    "pathParams": [
        "super"
    ]
}
oOutputJsonObjectOUTPUT

Informações do aprovador.


{
  "status": 200,
  "payload": {
    "total": 1,
    "hasNext": false,
    "items": [
      {
        "userCode": "super",
        "userName": "Super Usuário",
        "eMail": "",
        "sendEmail": true,
        "receiveEmail": true,
        "masterUser": false,
        "currency": 0,
        "currencyAbbrev": "R$",
        "automaticApproval": true,
        "automaticApprovalApprover": true,
        "siteCode": "1",
        "allocationCode": "10702",
        "releaseAmount": false,
        "configuratorUser": true,
        "companyCode": "10",
        "language": "pt",
        "_expandables": [
          "visualConfigurations"
        ],
        "visualConfigurations": [
          {
            "ordination": 3,
            "allCompanies": false,
            "approveWithoutReason": true,
            "undoTime": 5,
            "rightSwipeAction": 1,
            "leftSwipeAction": 1,
            "initialView": 1,
            "pageRecordsNumber": 50
          }
        ]
      }
    ]
  }
}

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-aprovador: que contém as informações principais do aprovador
  • tt-config-visual (visualConfigurations): contém as informações de configuração visual do usuário.
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca dos aprovadores

Retorno

Aprovadores do MLA conforme filtros passados.



pi-get-layoutSetting-data

Requisito

Nenhum.

Descrição

Retorna layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

pcUserCHARACTERINPUTCódigo do usuário que se deseja buscar o layout
piInterfaceINTEGERINPUTCódigo da interface (1 - Lista / 2 - Detalhe)
piDocumentTypeINTEGERINPUTCódigo do documento
plOnlyVisibleLOGICALINPUTIndica que deve retornar apenas campos visíveis
pcFieldsLONGCHARINPUTLista de campos a serem considerados na busca, separados por vírgula (verificar na temp-table tt-document-com-expand para saber os nomes a utilizar).
pcExpandLONGCHARINPUTLista de entidades filhas expansíveis. Para mostrar os campos do layout utilizar "fields"
tt-document-com-expandTEMP-TABLEOUTPUTInformações do documento 
tt-layoutTEMP-TABLEOUTPUTLista de campos do layout do documento
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca de layout

Retorno

Layout do documento para o usuário e interface solicitados.



pi-get-layoutSetting-v1

Requisito

Nenhum.

Descrição

Retorna layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca do layout:

queryParams →  expand: Utilizando este parâmetro com a informação "fields", são retornadas também os campos do layout.

pathParams:  Informar na seguinte ordem: o código do aprovador, interface e número de documento.

{
    "queryParams": {
        "expand": [
          "fields"
        ]
     },
  "pathParams": [
    "super",
    "1",
    "2"
  ],
}
oOutputJsonObjectOUTPUT

Informações do layout:

{
  "status": 200,
  "payload": {
    "userCode": "super",
    "userName": "Super Usuário",
    "interface": 1,
    "documentCode": 2,
    "documentDescription": "Solicitação de Compra - Total",
    "_expandables": [
      "fields"
    ],
    "fields": [
      {
        "id": "doc-nr-requisicao",
        "componentType": 1,
        "label": "",
        "description": "Número da Solicitação de Compra",
        "visible": true,
        "size": 100
      },
      {
        "id": "pend-valor-doc",
        "componentType": 1,
        "label": "",
        "description": "Valor da Pendência de Aprovação",
        "visible": true,
        "size": 100
      }
   }     
}


Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação.: 

  • tt-document-com-expand: que contém as informações do documento.
  • tt-layout (fields): contém as informações de campos do layout.
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca de layout

Retorno

Layout do documento para o usuário e interface solicitados.



pi-get-users-with-layoutSetting-v1

Requisito

Nenhum.

Descrição

Retorna a lista de usuários que layouts salvos para determinado documento

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca dos usuários:

pathParams:  Informar na seguinte ordem: USERSWITHLAYOUT e número de documento.

{
  "pathParams": [
    "USERSWITHLAYOUT",
    "1"
  ],
}
oOutputJsonObjectOUTPUT

Informações dos usuários:

{
  "status": 200,
  "payload": {
    "layoutUsers": [
        {
            "userCode": "super",
            "userName": "Super Usuário"
        },
        {
            "userCode": "super2",
            "userName": "Super Usuário 2"
        }
     ]
   }     
}

Sobre os campos retornados:

  • userCode: Código do usuário
  • userName: Nome do usuário
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca de usuários

Retorno

Usuários que possuem layout salvo para o documento solicitado.



Definição de temp-tables:


RowErrors

Entrada/Saída

Temp-table com dados dos erros ocorridos durante o processo

Saída

Atributo

Tipo

Descrição

Obrigatório

Evolução

ErrorSequence

 INTEGER

Número da sequência do erro

Sim

Não se aplica

ErrorNumber

INTEGER Código do erro 

Sim

Não se aplica

ErrorDescriptionCHARACTER Descrição do erro SimNão se aplica
ErrorParametersCHARACTER Parâmentros da mensagem de erro SimNão se aplica
ErrorTypeCHARACTER Tipo do erro SimNão se aplica
ErrorHelpCHARACTER Texto de ajuda da mensagem de erro SimNão se aplica
ErrorSubTypeCHARACTERSubtipo do erroSimNão se aplica



tt-aprovador

Entrada/Saída

Temp-table com dados dos aprovadores

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

userCode

CHARACTER 

Código do aprovador

Não

Não se aplica

nome-usuar

userNameCHARACTER Nome do aprovador

Não

Não se aplica

e-maileMailCHARACTER E-mail do aprovadorNãoNão se aplica
envia-emailsendEmailLOGICALIndica se envia e-mailNãoNão se aplica
recebe-emailreceiveEmailLOGICALIndica se recebe e-mailNãoNão se aplica
usuar-mestremasterUserLOGICALIndica se o usuário é mestreNãoNão se aplica
mo-codigocurrencyINTEGERMoeda do aprovadorNãoNão se aplica
sigla-moedacurrencyAbbrevCHARACTER Sigla da moeda do usuárioNãoNão se aplica
aprova-autoautomacticApprovalLOGICALIndica se o aprovador aprova automaticamenteNãoNão se aplica
aprova-auto-aprovautomacticApprovalApproverLOGICALIndica se o aprovador aprova automaticamente pendências do aprovadorNãoNão se aplica
cod-estabelsiteCodeCHARACTER Estabelecimento do aprovadorNãoNão se aplica
cod-lotacaoallocationCodeCHARACTER Lotação do aprovadorNãoNão se aplica
libera-verbareleaseAmountLOGICALIndica se o aprovador libera verbaNãoNão se aplica
log-usuar-configconfiguratorUserLOGICALIndice se o aprovador é configurador visualNãoNão se aplica
empresacompanyCodeCHARACTER Empresa do aprovadorNãoNão se aplica
idiomalanguageCHARACTER Idioma do aprovadorNãoNão se aplica



tt-config-visual

Entrada/Saída

Temp-table com dados de configurações visuais de aprovadores

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar


CHARACTER 

Código do aprovador

Não

Não se aplica

idi-ordenacao

ordinationINTEGER

Ordenação padrão:

(1 - Mais recentes / 2 - Mais antigas / 3 - Maior valor / 4 - Menor valor / 5 - Tipo de documento / 6 - Empresa / 7 - Estabelecimento)

Não

Não se aplica

log-mostra-todas-empresasallCompaniesLOGICALIndica apresentação de pendências de todas as empresasNãoNão se aplica
log-aprova-sem-motivapproveWithoutReasonLOGICALIndica aprovação sem informar motivoNãoNão se aplica
cdn-tempo-desfundoTimeINTEGERTempo de desfazerNãoNão se aplica
idi-acao-swip-direrightSwipeActionINTEGER

Ação do swipe (Direito)

(1 - Aprovar / 2 - Rejeitar / 3 - Nenhum)


Não se aplica
idi-acao-swip-esqleftSwipeActionINTEGER

Ação do swipe (Esquerdo)

(1 - Aprovar / 2 - Rejeitar / 3 - Nenhum)

NãoNão se aplica
idi-visualiz-inicialinitialViewINTEGER

Visualização inicial

(1 - Todas as pendências / 2 - Pendências principais / 3 - Pendências alternativas / 4 - Pendências como mestre)

NãoNão se aplica
num-registro-paginacpageRecordsNumberINTEGERNúmero de registros por páginaNãoNão se aplica



tt-document-com-expand

Entrada/Saída

Temp-table com dados de documentos

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

userCode

CHARACTER 

Código do aprovador

Sim

Não se aplica

nome-usuar

userNameCHARACTER 

Nome do aprovador

Não

Não se aplica

idi-interfacinterfaceINTEGERInterface (1 - Lista / 2 - Detalhe)SimNão se aplica
cod-tip-docdocumentCodeINTEGERCódigo do documentoSimNão se aplica
desc-tip-docdocumentDescriptionCHARACTER Descrição do documentoNãoNão se aplica
expandables_expandablesCHARACTER (Extent 1)Lista de entidades filhas expansíveisNãoNão se aplica



tt-layout

Entrada/Saída

Temp-table com campos de layout

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cdn-docto
INTEGERCódigo do documentoSimNão se aplica

cod-usuar


CHARACTER 

Código do aprovador

Sim

Não se aplica

idi-interfac
INTEGERInterface (1 - Lista / 2 - Detalhe)SimNão se aplica
cod-id-campoidCHARACTER Identificador do campoSimNão se aplica
idi-componcomponentTypeINTEGERTipo de componente (1 - Campo / 2 - Lista / 3 - Separador)SimNão se aplica
nom-rotu-campolabelCHARACTER Rótulo do campoNãoNão se aplica
des-campodescriptionCHARACTER Descrição do campoSimNão se aplica
log-visivelvisibleLOGICALVisibilidade do campoSimNão se aplica
cdn-tamanhosizeINTEGERTamanho do campoSimNão se aplica
cdn-ord
INTEGEROrdem do campoSimNão se aplica
cod-entid-pai
CHARACTER Identificação da entidade paiNãoNão se aplica
Índice: visivel-ordem, log-visivel, cdn-ord