Boletim Técnico: Integração SIGATRM com o EPM e AMS Datasul® - Atualização de Dicionário - mp11
Ocorrência
Melhoria
Resumo
Para permitir a integração entre o módulo Treinamento (SIGATRM) e o EPM e AMS Datasul®, alterou-se a rotina LoadUpdTRM (rhupdtrm.prw), para criação de tabelas e campos necessários a essa integração.
ID do Chamado
SCPRZT
Aplicabilidade
Integração SIGATRM com o EPM e AMS Datasul® - Atualização de Dicionário
Produtos
Microsiga 11
Módulos
- SIGAGPE
Portais
- todos
Países
- Brasil
Sistema Operacional
todos
Bancos de Dados
- todos
Nome + Fonte
Servidor Conteúdo (TRMA220), Conteúdo Treinamento (TRMA230), Certificados (TRMA240), Treinamento (TRMA250)
Parâmetros Envolvidos
MV_TRMINTG, MV_TRMEPMW, MV_TRMAMSW
Número da FNC
000000117282010
Ajustes no Compatibilizador
Sim
Integridade Referencial
Sim
Aplicação de Patch
Compatibilizador 1
- RHUPDMOD
Procedimentos para Implementação
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) desta FNC, bem como aplicação do compatibilizador RHUPDMOD, conforme orientações a seguir.
Importante:
Antes de executar o compatibilizador RHUPDMOD é imprescindível:
a) Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório “\PROTHEUS11_DATA\DATA”) e dos dicionários de dados SXs (diretório \PROTHEUS11_DATA\ SYSTEM”).
b) Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
c) Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
d) Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
e) O compatibilizador deve ser executado com a Integridade Referencial desativada*.
ATENÇÃO: O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente! * A ativação indevida da Integridade Referencial pode alterar drasticamente o relacionamento entre tabelas no banco de dados. Portanto, antes de utilizá-la, observe atentamente os procedimentos a seguir: i. No Configurador (SIGACFG), veja se a empresa utiliza Integridade Referencial, selecionando a opção Integridade/Verificação (APCFG60A). ii. Se não há Integridade Referencial ativa, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e nenhuma delas estará selecionada. Neste caso, E SOMENTE NESTE, não é necessário qualquer outro procedimento de ativação ou desativação de integridade, basta finalizar a verificação e aplicar normalmente o compatibilizador, conforme instruções. iii. Se há Integridade Referencial ativa em todas as empresas e filiais, é exibida uma mensagem na janela Verificação de relacionamento entre tabelas. Confirme a mensagem para que a verificação seja concluída, ou; iv. Se há Integridade Referencial ativa em uma ou mais empresas, que não na sua totalidade, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e, somente, a(s) que possui(em) integridade está(arão) selecionada(s). Anote qual(is) empresa(s) e/ou filial(is) possui(em) a integridade ativada e reserve esta anotação para posterior consulta na reativação (ou ainda, contate o Help Desk Framework para informações quanto a um arquivo que contém essa informação). v. Nestes casos descritos nos itens “iii” ou “iv”, E SOMENTE NESTES CASOS, é necessário desativar tal integridade, selecionando a opção Integridade/ Desativar (APCFG60D). vi. Quando desativada a Integridade Referencial, execute o compatibilizador, conforme instruções. vii. Aplicado o compatibilizador, a Integridade Referencial deve ser reativada, SE E SOMENTE SE tiver sido desativada, através da opção Integridade/Ativar (APCFG60). Para isso, tenha em mãos as informações da(s) empresa(s) e/ou filial(is) que possuía(m) ativação da integridade, selecione-a(s) novamente e confirme a ativação. Contate o Help Desk Framework EM CASO DE DÚVIDAS! |
1. Em Microsiga Protheus TOTVS Smart Client, digite RHUPDMODno campo Programa Inicial.
Importante:
Para a correta atualização do dicionário de dados, certifique-se que a data do compatibilizador seja igual ou superior a 25/05/10.
2. Clique em OK para continuar.
Após a confirmação é exibida uma tela para a seleção do compatibilizador que será aplicado.
3. Selecione o programa SIGATRM.
Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
4. Clique em Sim para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
É apresentada uma mensagem explicativa na tela.
5. Selecione a atualização de número 02 – Criação de tabelas para a integração com o EPM Datasul e clique em OK para iniciar a execução.
6. Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização, são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
7. Clique em Gravar para salvar o histórico (log) apresentado.
8. Clique em OK para encerrar o processamento.
Descrição de Ajustes
1. Criação de Índices no arquivo SIX – Índices:
Índice | RAT | RAT |
Ordem | 1 | 2 |
Chave | RAT_FILIAL+RAT_CODIGO | RAT_FILIAL+RAT_DESC |
Descrição | Código | Descrição |
Proprietário | S | S |
Índice | RAU | RAV |
Ordem | 1 | 1 |
Chave | RAU_FILIAL+RAU_CURSO+RAU_SEQUEN | RAV_FILIAL+RAV_CODIGO |
Descrição | Curso + Seqüência | Código |
Proprietário | S | S |
Índice | RAV | RAX |
Ordem | 2 | 1 |
Chave | RAV_FILIAL+RAV_TITULO | RAX_FILIAL+RAX_CODIGO+RAX_SEQUEN |
Descrição | Título | Código + Seqüência |
Proprietário | S | S |
Índice | RAX | RAY |
Ordem | 2 | 1 |
Chave | RAX_FILIAL+RAX_DESC | RAY_FILIAL+RAY_CURSO |
Descrição | Descrição | Curso |
Proprietário | S | S |
2. Criação de tabela no arquivo SX2– Tabelas:
Chave | Nome | Modo | PYME |
RAT | Servidores de Conteúdo | E | N |
RAU | Curso X Conteúdo | E | N |
RAV | Conteúdo do Curso | E | N |
RAX | Certificados | C | N |
RAY | E-Learning | C | N |
3. Criação no arquivo SX3 – Campos:
· Tabela RAT – Servidores de Conteúdo
Campo | RAT_FILIAL | RAT_CODIGO |
Tipo | Caracter | Caracter |
Tamanho | 2 | 4 |
Decimal | 0 | 0 |
Título | Filial | Código |
Descrição | Filial | Código do Serv. Conteúdo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Sim |
Relação | | GetSx8Num('RAT', 'RAT_CODIGO') |
Val. Sistema | | ExistChav('RAT') .AND. FreeForUse('RAT', M->RAT_CODIGO) |
Campo | RAT_DESC | RAT_PRETES |
Tipo | Caracter | Memo |
Tamanho | 30 | 200 |
Decimal | 0 | 0 |
Título | Descrição | Pré-Teste |
Descrição | Descrição do Serv. Cont. | URL Serv. Pré-Teste |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Sim | Não |
Campo | RAT_POSTES | RAT_VIDEO |
Tipo | Memo | Memo |
Tamanho | 200 | 200 |
Decimal | 0 | 0 |
Título | Pós-teste | Vídeo |
Descrição | URL Serv. Pós-teste | URL Serv. Vídeo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Campo | RAT_SINCRO | RAT_OUTROS |
Tipo | Memo | Memo |
Tamanho | 200 | 200 |
Decimal | 0 | 0 |
Título | Síncrono | Demais Cont. |
Descrição | URL Serv. Cont. Síncrono | URL Serv. Demais Cont. |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
· Tabela RAU – Curso X Conteúdo
Campo | RAU_FILIAL | RAU_CURSO |
Tipo | Caracter | Caracter |
Tamanho | 2 | 4 |
Decimal | 0 | 0 |
Título | Filial | Curso |
Descrição | Filial do Sistema | Código do Curso |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Relação | | M->RAY_CODIGO |
Val. Sistema | | ExistCpo('RA1') |
Campo | RAU_SEQUEN | RAU_CONTEU |
Tipo | Caracter | Caracter |
Tamanho | 2 | 4 |
Decimal | 0 | 0 |
Formato | | @! |
Título | Sequência | Conteúdo |
Descrição | Sequência | Código do Conteúdo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Sim | Não |
Relação | STRZERO(N, 2) | |
Val. Sistema | | ExistCpo('RAV') |
Campo | RAU_DESC | RAU_TIPO |
Tipo | Caracter | Caracter |
Tamanho | 30 | 1 |
Decimal | 0 | 0 |
Título | Descrição | Tipo |
Descrição | Descrição do Conteúdo | Tipo do Conteúdo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Sim | Sim |
Opções | | 0=Pré-teste;1=Vídeo; 2=Conteúdo; 3=Simulador; 4=Scorm;5=Material de Apoio; 6=Pós-teste |
Relação | IF(INCLUI, '' , FDESC('RAV', RAU->RAU_CONTEU, 'RAV_DESC')) | IF(INCLUI, '' , FDESC('RAV', RAU->RAU_CONTEU, 'RAV_TIPO')) |
· Tabela RAV – Conteúdo do Curso
Campo | RAV_FILIAL | RAV_CODIGO |
Tipo | Caracter | Caracter |
Tamanho | 2 | 4 |
Decimal | 0 | 0 |
Formato | | @! |
Título | Filial | Código |
Descrição | Filial | Código do Conteúdo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Sim |
Relação | | GetSx8Num('RAV', 'RAV_CODIGO') |
Val. Sistema | | ExistChav('RAV') .AND. FreeForUse('RAV', M->RAV_CODIGO) |
Campo | RAV_DESC | RAV_URL |
Tipo | Memo | Caracter |
Tamanho | 30 | 200 |
Decimal | 0 | 0 |
Título | Descrição | URL |
Descrição | Descrição do Conteúdo | URL do Conteúdo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Sim | Não |
Campo | RAV_SRVCNT | RAV_DSSRVC |
Tipo | Caracter | Caracter |
Tamanho | 4 | 30 |
Decimal | 0 | 0 |
Formato | @! | |
Título | Serv. Cont. | Desc. Serv. |
Descrição | Servidor de Conteúdo | Desc. do Serv. Conteúdo |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Sim |
Relação | | IF(INCLUI, '' , FDESC('RAT', RAV->RAV_SRVCNT, 'RAT_DESC')) |
Val. Sistema | ExistCpo('RAT') | |
Campo | RAV_TIPO |
Tipo | Caracter |
Tamanho | 1 |
Decimal | 0 |
Título | Tipo |
Descrição | Tipo do Conteúdo |
Nível | 1 |
Usado | Sim |
Obrigatório | Não |
Browse | Sim |
Opções | 0=Pré-teste;1=Vídeo; 2=Conteúdo;3=Simulador; 4=Scorm;5=Material de Apoio; 6=Pós-teste |
Relação | 2 |
· Tabela RAX – Certificados
Campo | RAX_FILIAL | RAX_CODIGO |
Tipo | Caracter | Caracter |
Tamanho | 2 | 4 |
Decimal | 0 | 0 |
Formato | @! | |
Título | Filial | Código |
Descrição | Filial do Sistema | Código do Certificado |
Nível | 1 | 0 |
Usado | Não | Sim |
Obrigatório | Não | Sim |
Browse | Não | Sim |
Relação | | GETSX8NUM('RAX', 'RAX_CODIGO') |
Campo | RAX_DESC | RAX_SEQUEN |
Tipo | Caracter | Caracter |
Tamanho | 60 | 2 |
Decimal | 0 | 0 |
Título | Descrição | Sequência |
Descrição | Descrição do Certificado | Sequência |
Nível | 0 | 0 |
Usado | Sim | Sim |
Obrigatório | Sim | Sim |
Browse | Sim | Não |
Relação | | STRZERO(N+1, 2) |
Campo | RAX_ALIGNX | RAX_POSICX |
Tipo | Caracter | Numérico |
Tamanho | 1 | 5 |
Decimal | 0 | 0 |
Formato | | @E 99,999 |
Título | Alinhamento | Posição H. |
Descrição | Alinhamento Horizontal | Posição Horizontal |
Nível | 0 | 0 |
Usado | Sim | Sim |
Obrigatório | Sim | Não |
Browse | Não | Não |
Opções | 0=Esquerda;1=Centralizar; 2=Direita | |
Relação | 1 | |
Campo | RAX_POSICY | RAX_TEXTO |
Tipo | Numérico | Memo |
Tamanho | 7 | 1 |
Decimal | 0 | 0 |
Formato | @E 99,999 | |
Título | Posição V. | Texto |
Descrição | Posição Vertical | Texto do Certificado |
Nível | 0 | 0 |
Usado | Sim | Sim |
Obrigatório | Não | Sim |
Browse | Não | Não |
Tabela RAY - E-Learning
Campo | RAY_FILIAL | RAY_AVREAC |
Tipo | Caracter | Caracter |
Tamanho | 2 | 3 |
Decimal | 0 | 0 |
Formato | | @! |
Título | Filial | Av. Reação |
Descrição | Filial | Cód. Avaliação de Reação |
Nível | 1 | 1 |
Usado | Não | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Val. Sistema | | ExistCpo('SQQ') |
Campo | RAY_DSAVRE | RAY_STATUS |
Tipo | Caracter | Caracter |
Tamanho | 30 | 1 |
Decimal | 0 | 0 |
Título | Desc. Av. R. | Situação |
Descrição | Descrição Av. Reação | Situação do Curso |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Sim |
Opções | | 0=Inativo;1=Ativo; 2=Indisponível |
Relação | IF(INCLUI, '' , FDESC('SQQ', RAY->RAY_AVREAC, 'QQ_DESCRIC')) | |
Campo | RAY_CERTIF | RAY_DSCERT |
Tipo | Caracter | Caracter |
Tamanho | 4 | 30 |
Decimal | 0 | 0 |
Formato | @! | |
Título | Certificado | Desc. Cert. |
Descrição | Código do Certificado | Descrição do Certificado |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Relação | | IF(INCLUI, '' , FDESC('RAX', RAY->RAY_CERTIF, 'RAX_DESC')) |
Val. Sistema | ExistCpo('RAX') | |
Campo | RAY_OBJCUR | RAY_PUBALV |
Tipo | Memo | Memo |
Tamanho | 10 | 10 |
Decimal | 0 | 0 |
Título | Objetivo | Público Alvo |
Descrição | Objetivo do Curso | Público Alvo do Curso |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Campo | RAY_CNTPRG | RAY_SCRAPV |
Tipo | Memo | Numérico |
Tamanho | 10 | 5 |
Decimal | 0 | 2 |
Formato | | @R 999.99 |
Título | Cont. Progr. | Pont. Aprov. |
Descrição | Conteúdo Programático | Pontuação Aprov. Pré-teste |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Campo | RAY_CAPVSC | RAY_PREOBG |
Tipo | Caracter | Caracter |
Tamanho | 1 | 1 |
Decimal | 0 | 0 |
Título | Crit. Aprov. | Apv. Pré Obr. |
Descrição | Critério de Aprovação | Aprov. Pré-teste Obrig. |
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
Opções | 0=Critério do Treinamento; 1=Sem Êxito;2=Sem Êxito Expirado;3=Com Êxito; 4=Aprovação Andamento; 5=Aprovação Conclusão | 1=Sim;2=Não |
4. Criação no arquivo SX6 – Parâmetros:
Nome da Variável | MV_TRMINTG |
Tipo | Lógico |
Descrição | Habilita a integração do módulo de treinamento com o EPM Datasul. |
Valor Padrão | .F. |
Nome da Variável | MV_TRMEPMW |
Tipo | Caracter |
Descrição | Endereço do WebService para integração com EPM |
Valor Padrão | |
Nome da Variável | MV_TRMAMSW |
Tipo | Caracter |
Descrição | Endereço do WebService para integração com AMS |
Valor Padrão | |
5. Criação de Gatilhos no arquivo SX7 – Gatilhos:
· Tabela RAU - Curso X Conteúdo
Campo | RAU_CONTEU | RAU_CONTEU |
Sequência | 001 | 002 |
Regra | RAV->RAV_DESC | RAV->RAV_TIPO |
Campo Domínio | RAU_DESC | RAU_TIPO |
Tipo | P | P |
Posiciona? | S | N |
Proprietário | S | S |
· Tabela RAV - Conteúdo do Curso
Campo | RAV_SRVCNT |
Sequência | 001 |
Regra | RAT->RAT_DESC |
Campo Domínio | RAV_DSSRVC |
Tipo | P |
Posiciona? | S |
Proprietário | S |
· Tabela RAY - E-Learning
Campo | RAY_AREA | RAY_AVREAC |
Sequência | 001 | 001 |
Regra | X5DESCRI() | SQQ-QQ_DESCRIC |
Campo Domínio | RAY_DSAREA | RAY_DSAVRE |
Tipo | P | P |
Posiciona? | S | S |
Proprietário | S | S |
Campo | RAY_CERTIF |
Sequência | 001 |
Regra | RAX->RAX_DESC |
Campo Domínio | RAY_DSCERT |
Tipo | P |
Posiciona? | S |
Proprietário | S |
6. Criação de Consulta Padrão no arquivo SXB – Consulta Padrão:
· Pesquisa RAT:
Alias | RAT | RAT |
Tipo | 1 | 2 |
Sequência | 01 | 01 |
Coluna | DB | 01 |
Descrição | Atendimento | Registro Atendimento |
Contém | GAD | |
Alias | RAT | RAT |
Tipo | 2 | 4 |
Sequência | 02 | 01 |
Coluna | 03 | 01 |
Descrição | Nome Do Paciente | Nr. Atendimento |
Contém | | GAD_REGATE |
Alias | RAT | RAT |
Tipo | 4 | 4 |
Sequência | 01 | 01 |
Coluna | 02 | 03 |
Descrição | Nome Do Paciente | Data Do Atendimento |
Contém | GAD_NOME | GAD_DATATE |
Alias | RAT | RAT |
Tipo | 4 | 4 |
Sequência | 02 | 02 |
Coluna | 04 | 05 |
Descrição | Nr. Atendimento | Nome Do Paciente |
Contém | GAD_REGATE | GAD_NOME |
Alias | RAT | RAT |
Tipo | 4 | 5 |
Sequência | 02 | 01 |
Coluna | 06 | |
Descrição | Data Do Atendimento | |
Contém | GAD_DATATE | GAD->GAD_REGATE |
· Pesquisa RAT_01:
Alias | RAT_01 | RAT_01 |
Tipo | 1 | 2 |
Sequência | 01 | 01 |
Coluna | DB | 01 |
Descrição | Servidor de Conteúdo | Código |
Contém | RAT | |
Alias | RAT_01 | RAT_01 |
Tipo | 2 | 3 |
Sequência | 02 | 01 |
Coluna | 02 | 01 |
Descrição | Descrição | Cadastra Novo |
Contém | | 01 |
Alias | RAT_01 | RAT_01 |
Tipo | 4 | 4 |
Sequência | 01 | 01 |
Coluna | 01 | 02 |
Descrição | Código | Descrição |
Contém | RAT_CODIGO | RAT_DESC |
Alias | RAT_01 | RAT_01 |
Tipo | 4 | 4 |
Sequência | 02 | 02 |
Coluna | 03 | 04 |
Descrição | Código | Descrição |
Contém | RAT_CODIGO | RAT_DESC |
Alias | RAT_01 | RAT_01 |
Tipo | 5 | 5 |
Sequência | 01 | 02 |
Contém | RAT->RAT_CODIGO | RAT->RAT_DESC |
· Pesquisa RAV_01:
Alias | RAV_01 | RAV_01 |
Tipo | 1 | 2 |
Sequência | 01 | 01 |
Coluna | DB | 01 |
Descrição | Conteúdo do Curso | Código |
Contém | RAV | |
Alias | RAV_01 | RAV_01 |
Tipo | 2 | 3 |
Sequência | 02 | 01 |
Coluna | 02 | 01 |
Descrição | Descrição | Cadastra Novo |
Contém | | 01 |
Alias | RAV_01 | RAV_01 |
Tipo | 4 | 4 |
Sequência | 01 | 01 |
Coluna | 01 | 02 |
Descrição | Código | Descrição |
Contém | RAV_CODIGO | RAV_DESC |
Alias | RAV_01 | RAV_01 |
Tipo | 4 | 4 |
Sequência | 02 | 02 |
Coluna | 03 | 04 |
Descrição | Código | Descrição |
Contém | RAV_CODIGO | RAV_DESC |
Alias | RAV_01 | RAV_01 |
Tipo | 5 | 5 |
Sequência | 01 | 02 |
Contém | RAV->RAV_CODIGO | RAV->RAV_DESC |
· Pesquisa RAX:
Alias | RAX | RAX |
Tipo | 1 | 2 |
Sequência | 01 | 01 |
Coluna | DB | 01 |
Descrição | Certificados | Código |
Contém | RAX | |
Alias | RAX | RAX |
Tipo | 2 | 3 |
Sequência | 02 | 01 |
Coluna | 02 | 01 |
Descrição | Descrição | Cadastra Novo |
Contém | | 01 |
Alias | RAX | RAX |
Tipo | 4 | 4 |
Sequência | 01 | 01 |
Coluna | 01 | 02 |
Descrição | Código | Descrição |
Contém | RAX_CODIGO | RAX_DESC |
Alias | RAX | RAX |
Tipo | 4 | 4 |
Sequência | 02 | 02 |
Coluna | 01 | 02 |
Descrição | Código | Descrição |
Contém | RAX_CODIGO | RAX_DESC |
Alias | RAX | RAX |
Tipo | 5 | 6 |
Sequência | 01 | 01 |
Contém | RAX->RAX_CODIGO | RAX_SEQUEN == '01' |
Procedimentos para Utilização
As implementações realizadas pelo compatibilizador, estarão disponíveis em:
· Atualizações/ Cadastros/ Servidor Conteúdo (TRMA220)
· Atualizações/ Cadastros/ Conteúdo Treinamento (TRMA230)
· Atualizações/ Cadastros/ Certificados (TRMA240)
· Atualizações/ Cadastros/ Treinamento (TRMA250)
Informações Técnicas
Tabelas Utilizadas | RAT – Servidores de Conteúdo; RAU – Curso X Conteúdo; RAV –Conteúdo do Curso; RAX – Certificados e RAY – E-learning |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas