Reserva de treinamento com ExecAuto
Linha de Produto: | Microsiga Protheus |
Segmento: | Serviços |
Módulo: | Treinamento - SIGATRM |
Função: | Reserva de Treinamentos - TRMA060 |
Situação/Requisito: | A rotina de Reserva de Treinamentos não permite a execução via ExecAuto. |
Solução/Implementação: | Alterada a rotina para que a inclusão e exclusão das reservas possa ser realizada via ExecAuto. |
Sintaxe: MsExecAuto( { |x, y, z| TRMA060(x, y, z) }, aCab, aItens, nOpc)
É possível a inclusão de reservas de treinamento através do ExecAuto da rotina TRMA060.
Caso o sistema encontre um registro na tabela de Solicitação de Treinamento (RA3) com o mesmo Curso, Turma, Calendário e Matricula informados esse registro será atualizado.
Para executar a rotina TRMA060 via ExecAuto é necessário informar dois parâmetros:
- aCab - array no formato [Campo], [Valor] com as informações do treinamento. Os campo listados abaixo são obrigatórios e devem ser informados:
- RA2_FILIAL - Caractere, Filial do Treinamento
- RA2_CURSO - Caractere, Código do Treinamento
- RA2_TURMA - Caractere, Código da Turma do Treinamento
- RA2_CALEND - Caractere, Código do Calendário usado no Treinamento.
- RA2_MAIL - Lógico, Define se serão enviados e-mails de confirmação para os funcionários.
exemplo de montagem do Array aCab:
[...]
[...]
- aItens - Array multi dimensional no formato [Campo], [Valor] com as informações do funcionário. Os campos listados abaixo são obrigatórios e devem ser informados:
- RA3_FILIAL - Caractere, Filial do funcionário.
- RA3_MAT - Caractere, Matricula do funcionário.
- RA3_RESERV - Tipo de reserva feita para o curso: "L" - Lista de espera, "R" - Reserva, "S" - Solicitado.
Exemplo de montagem do Array aItens:
[...]
[...]
- nOpc - Numérico,
- nOpc = 3 -> Inclusão de registros.
- nOpc = 5 -> Exclusão de registros.
Todas as validações existentes na rotina, quando executada normalmente, foram mantidas quando executada via ExecAuto.
Exemplo: Número máximo de vagas para o treinamento
- Quando o número de reservas com o tipo "R" - Reserva for maior que o número de vagas disponível para o treinamento é gerada mensagem de erro e o processo é cancelado.
essas mensagens de erro podem ser capturadas pela função MostraErro().
Segue abaixo um exemplo completo da utilização da rotina TRMA060 com ExecAuto:
Baixe o código desse exemplo: inclusao.prw, exclusão.prw.