Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Button
TextoVoltar
Linkhttps://tdn.totvs.com/pages/releaseview.action?pageId=857586913



API de Inclusão de dados (001)


Nome Físico: sec/seapi002aa.r

Nome do Include com Parâmetros: sec/seapi002aa.i

Versão de Integração: 001

Objetivo: 

Criar registros nas tabelas usuar_mestre, usuar_mestre_ext, grp_usuar, usuar_grp_usuar.

Pré-requisitos: 

Não se aplica



Considerações Gerais

  • Essa API deve ser utilizada apenas pelo Gestão de Planos.
  • A lista de grupos será disponibilizada pela FDEs do Gestão de Planos.
  • A variável “c_list_grp’ contém a lista de grupos disponibilizada pela FDEs do Gestão de Planos.

Parâmetros de Entrada 

  • Temp-table contendo a lista de usuários e grupos a serem manutenidos e a ação a ser tomada.
  • O campo l_inclui da temp-table tt_grp_usuar indica se o usuário será incluído (valor YES) ou excluído (valor NO) do respectivo grupo.
Definição da temp-table tt_grp_usuar

  • A API recebe como parâmetros temp-tables que correspondem as informações necessárias para a inclusão nas tabelas;
  • A include {sec/seapi002aa.i} contém as definições das Temp-Tables que devem ser passadas como parâmetros à API sec/seapi002aa.p. Sendo que a chamada desta include, como a inclusão de valores, deve ser feita antes da chamada da API sec/seapi002aa.p.


Parâmetros de Entrada e Saída



Temp-Table tt-usuar_mestre:  

Possui as mesmas definições da tabela usuar_mestre, logo a sua definição é um like dessa tabela.




Temp-table tt-erro: 


Devolve ao usuário os possíveis erros na inserção de dados.




Execução


A API sec/seapi002aa.p irá executar 6 validações básicas:

1ª Validação:

Campo chave não está em branco

O programa irá verificar se os registros da temp-table não estão com o código em branco. Se estiverem gera uma mensagem na tt-erro.



2ª Validação:

Versão de Integridade

O programa irá verificar se os registros da temp-table já existem. Se existirem gera uma mensagem na tt-erro.



3ª Validação:

 Campo nome do usuário não está em branco

O programa irá verificar se os registros da temp-table não estão com o nome do usuário em branco. Se estiverem gera uma mensagem na tt-erro.



4ª Validação:

Campo diretório de spool não está em branco

O programa irá verificar se os registros da temp-table não estão com o diretório de spool em branco. Se estiverem gera uma mensagem na tt-erro.



5ª Validação:

Campo dialeto não está em branco

O programa irá verificar se os registros da temp-table não estão com o dialeto em branco. Se estiverem gera uma mensagem na tt-erro.




 6ª Validação:

Campo idioma não está em branco

O programa irá verificar se os registros da temp-table não estão com o idioma em branco. Se estiverem gera uma mensagem na tt-erro.





Exemplo de utilização



Executando a api: 


Bloco de código
languageruby
DEFINE TEMP-TABLE tt
_grp_usuar NO-UNDO
-usuar_mestre     LIKE usuar_mestre.
DEF temp-table tt-erro no-undo
    
FIELD c_cod_usuario       AS CHAR
field i-sequen as int 
    
FIELD c_cod_grp_usuar    AS CHAR     FIELD l_inclui            AS LOGICAL INDEX i_grp_usuar IS PRIMARY UNIQUE c_cod_usuario c_cod_grp_usuar.

Parâmetros de Saída (Retorno)

  • Temp-table de erros

Definição da temp-table RowErrors

Bloco de código
languageruby
DEFINE TEMP-TABLE RowErrors NO-UNDO
    FIELD c_cod_usuario   AS CHAR
    FIELD c_cod_grp_usuar AS CHAR
    FIELD c_error_desc    AS CHAR.

Exemplo de chamada da API

Bloco de código
languageruby
Run sec/seapi001aa.r ( Input Table tt_grp_usuar, Output Table RowErrors). For Each RowErrors:     Message "Erro: "             RowErrors.c_cod_usuario + " - ":U +             RowErrors.c_cod_grp_usuar + " - ":U +             RowErrors.c_error_desc             View-as Alert-box Information. End
field cd-erro  as int
    field mensagem as char format "x(255)".

CREATE tt-usuar_mestre.
ASSIGN tt-usuar_mestre.cod_usuario          = "_API0032"
       tt-usuar_mestre.nom_usuario          = "_API0032"
       tt-usuar_mestre.nom_dir_spool        = "c:\tmp"
       tt-usuar_mestre.ind_tip_usuar        = "comum"
       tt-usuar_mestre.ind_tip_aces_usuar   = "Interno"
       tt-usuar_mestre.cod_dialet           = "pt"
       tt-usuar_mestre.cod_idiom_orig       = "POR".

RUN seapi002aa.p(INPUT TABLE tt-usuar_mestre,
                 OUTPUT TABLE tt-erro).
FOR EACH tt-erro:
    MESSAGE i-sequen " - " cd-erro " - " mensagem
        VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.