Controle Quantitativo - Quadro
O controle de vagas por quadro foi reformulado. A partir de agora passam a existir dois
esquemas distintos de controle de quadro:
• esquema QUADRO/RESERVA/DISTRIBUIÇÃO
• esquema QUADRO/COMPROMISSO/RESERVA
A escolha entre estas duas formas de controle deve ser feita através da opção QUADRO RESERVA_QUADRO_ORIGEM na transação 'Opções' do Ergon.
Se RESERVA_QUADRO_ORIGEM='QUADRO', o esquema usado é QUADRO /
RESERVA / DISTRIBUIÇÃO.
Se RESERVA_QUADRO_ORIGEM='COMPROMISSO', o esquema usado é QUADRO
/ COMPROMISSO / RESERVA.
Como a funcionalidade do quadro é análoga entre cargo e função, a menos da referência,
este documento se baseará nas transações voltadas para cargo.
Especificação Funcional
Esquema QUADRO/RESERVA/DISTRIBUIÇÃO
Neste esquema, são utilizadas 4 transações para administrar as vagas do quadro para
cargos, e outras 4 transações semelhantes para quadro de funções:
- Manutenção de Vagas para Cargos
- Reserva de Vagas de Quadro para Cargos
- Distribuição de Vagas de Quadro para Cargo/Setor
- Consulta de Vagas em Quadro para Cargos
- Manutenção de Quadro para Funções
- Reserva de Vagas de Quadro para Funções
- Distribuição de Vagas de Quadro para Função/Setor
- Consulta de Vagas em Quadro para Funções
a) Transação 'Manutenção de Vagas para Cargo'
Transação responsável pela criação e manutenção de quadros de vagas. Os quadros
servem para controlar o número de vagas disponíveis para cada cargos. Só podem ser
criados quadros de vagas para cargos cujo controle de vagas seja do tipo 'QUADRO'.
Quando é criado um novo quadro de vagas, devem ser fornecidas as seguintes
informações:
- Código do cargo
- Código da referência salarial
- Descrição (nome) do quadro, deve ser único
- Data de criação do quadro
- Data de extinção do quadro
- Quantidade de vagas do quadro
- Observações
As datas de criação e extinção definem o período em que as vagas estão
disponíveis para serem distribuídas. Se o cargo do quadro for um cargo aglutinador, as
vagas do quadro ficam disponíveis também para os cargos subordinados a ele, e não será
permitida a criação de quadro de qualquer dos cargos aglutinados.
A referência salarial só deve ser informada se a opção 'Exige referência' do cargo
(na transação 'Cargos') tiver sido selecionada. Neste caso, poderão ser cadastrados
quadros para todas as combinações cargo/referência. Se a opção 'Exige referência' não
tiver sido selecionada, a referência salarial não poderá ser informada e só haverá um
quadro de vagas por cargo.
A transação apresenta um bloco chamado 'Manutenção', destinado para fazer alterações
nos quadros. Depois que o quadro for criado, só será possível alterar a sua data de
extinção e a quantidade de vagas. A operação de aumento de vagas do quadro é livre,
porém a diminuição é limitada pelo número de vagas já distribuídas e/ou reservadas.
b) Transação 'Distribuição de Cargos do Quadro'
Transação responsável pela distribuição das vagas do quadro para uso dos funcionários.
Até serem distribuídas, as vagas do quadro não estão disponíveis para serem ocupadas
pelos funcionários.
Quando é feita uma distribuição de vagas, devem ser fornecidas as seguintes
informações:
- Quadro (nome do quadro cujas vagas serão distribuídas)
- Descrição da distribuição
- Data de criação da distribuição
- Data de extinção da distribuição
- Setor
- Setores subordinados (Sim/Não)
- Observações
As datas de criação e extinção definem o período em que as vagas distribuídas
estão disponíveis para serem ocupadas por funcionários. Não é permitido cadastrar
provimentos/designações/ingressos de funcionários que ocupem estas vagas e que
estejam fora deste período.
As vagas da distribuição só poderão ser ocupadas por funcionários alocados no
mesmo setor da distribuição. A opção 'setores subordinados' indica se as vagas devem
ficar disponíveis também para os setores subordinados ao setor escolhido.
O sistema não permite a criação de distribuições com características iguais que possuam
conflitos de abrangência na utilização. Por exemplo, não é possível criar uma distribuição
para o cargo 110 no setor A, pai do setor B, válida para os setores subordinados de A e
uma outra distribuição do mesmo quadro para o setor B. Neste caso há uma sobreposição
de distribuições para um mesmo setor.
A quantidade de vagas que podem ser distribuídas depende da quantidade de
vagas do quadro. A soma das vagas distribuídas + vagas reservadas, em um determinado
período, não pode ser superior ao total de vagas do quadro.
A transação apresenta um bloco chamado 'Manutenção', destinado para fazer alterações
nas distribuições. Depois que a distribuição for criada, só será possível alterar o setor (e
subordinados), a data de extinção e a quantidade de vagas. A operação de aumento de
vagas da distribuição é limitada pelo número de vagas disponíveis no quadro, e a
diminuição é limitada pelo número de vagas já ocupadas por funcionários. O setor só
pode ser alterado se não houver nenhum funcionário ocupando vaga da distribuição.
c) Transação 'Reserva de Vagas de Quadro para Cargos'
Esta transação permite reservar algumas vagas do quadro para posterior
distribuição. Para cadastrar uma reserva de vagas, devem ser fornecidas as seguintes
informações:
- Quadro (nome do quadro cujas vagas serão reservadas)
- Descrição da reserva
- Data de criação da reserva
- Data de extinção da reserva
- Setor (opcional)
- Setores subordinados (Sim/Não)
- Quantidade de vagas reservadas
- Observações
As datas de criação e extinção definem o período em que as vagas ficarão
reservadas. Após a data de extinção, as vagas voltam a ficar disponíveis no quadro para
novas distribuições.
Se o setor for informado, as vagas ficarão reservadas para este setor específico. A
opção 'setores subordinados' indica se as vagas devem ficar reservadas também para os
setores subordinados ao setor escolhido.
A transação permite a criação de uma distribuição a partir de uma reserva, através
do botão 'Distribuir Reserva'. Se o setor da reserva tiver sido informado, o setor da
distribuição deverá ser o mesmo da reserva, ou um setor subordinado, dependendo da
opção 'setores subordinados' da reserva. A quantidade de vagas distribuídas deve ser
menor ou igual ao número de vagas da reserva. Se já houver uma distribuição para este
mesmo setor, as vagas da reserva serão adicionadas ao total de vagas desta distribuição.
Após a distribuição das vagas da reserva, o número de vagas distribuídas é descontado do
total de vagas da reserva.
A transação apresenta um bloco chamado 'Manutenção', destinado para fazer alterações
nas reservas. Depois que a reserva for criada, só será possível alterar o setor (e
subordinados), a data de extinção e a quantidade de vagas. A operação de aumento de
vagas da reserva é limitada pelo número de vagas disponíveis no quadro.
d) Transação 'Consulta de Vagas em Quadro para Cargos'
Esta transação é serve para efetuar consultas sobre os quadros, distribuições e
reservas de vagas. Ela é dividida em 3 blocos. O primeiro bloco da transação é aquele
onde é informado o quadro a ser consultado e a data de referência da consulta. O segundo
bloco apresenta as distribuições vinculadas àquele quadro, com o número de vagas
ocupadas e disponíveis para cada distribuição. O terceiro bloco apresenta as reservas
vinculadas ao quadro. Esta transação é utilizada exclusivamente para consultas.
e) Transação 'Manutenção de Quadro para Funções'
Esta transação é semelhante à transação ' Manutenção de Quadro para Cargos',
sendo utilizada para a manutenção de quadros de funções ao invés de quadro de
cargos/referências.
f) Transação 'Distribuição de Vagas de Quadro para Função/Setor'
Esta transação é semelhante à transação 'Distribuição de Vagas de Quadro para
Cargos/Setor ', sendo utilizada para a manutenção de distribuições de vagas de funções ao
invés de distribuições de vagas de cargos.
g) Transação 'Reserva de Vagas de Quadro para Funções'
Esta transação é semelhante à transação 'Reserva de Vagas de Quadro para
Cargos', sendo utilizada para a manutenção de reservas de vagas de funções ao invés de
reservas de vagas de cargos.
h) Transação 'Consulta de Vagas em Quadro para Funções'
Esta transação é semelhante à transação 'Consulta de Vagas em Quadro para
Cargos', sendo utilizada para a consulta de quadros de funções ao invés de quadros de
cargos.
2) Esquema QUADRO/COMPROMISSO/RESERVA
Neste esquema, são utilizadas 4 transações para administrar as vagas do quadro para
cargos, e outras 4 transações semelhantes para quadro de funções:
- Manutenção de Quadro para Cargos
- Compromisso de Vagas de Quadro para Cargos
- Reserva de Vagas de Quadro para Cargos por Compromisso
- Consulta de Vagas de Quadro para Cargos por Compromisso
- Manutenção de Quadro para Funções
- Compromisso de Vagas de Quadro para Funções
- Reserva de Vagas de Quadro para Funções por Compromisso
- Consulta de Vagas de Quadro para Funções por Compromisso
a) Transação 'Manutenção de Quadro para Cargos'
Transação responsável pela criação e manutenção de quadros de vagas. Os quadros
servem para controlar o número de vagas disponíveis para cada cargos. Só podem ser
criados quadros de vagas para cargos cujo controle de vagas seja do tipo 'QUADRO'.
Quando é criado um novo quadro de vagas, devem ser fornecidas as seguintes
informações:
- Código do cargo
- Código da referência salarial
- Descrição (nome) do quadro
- Data de criação do quadro
- Data de extinção do quadro
- Quantidade de vagas do quadro
- Observações
As datas de criação e extinção definem o período em que as vagas estão
disponíveis para serem distribuídas. Se o cargo do quadro for um cargo aglutinador, as
vagas do quadro ficam disponíveis também para os cargos subordinados a ele, e não será
permitida a criação de quadro de qualquer dos cargos aglutinados.
A referência salarial só deve ser informada se a opção 'Exige referência' do cargo
(na transação 'Cargos') tiver sido selecionada. Neste caso, poderão ser cadastrados
quadros para todas as combinações cargo/referência. Se a opção 'Exige referência' não
tiver sido selecionada, a referência salarial não poderá ser informada e só haverá um
quadro de vagas por cargo.
A transação apresenta um bloco chamado 'Manutenção', destinado para fazer alterações
nos quadros. Depois que o quadro for criado, só será possível alterar a sua data de
extinção e a quantidade de vagas. A operação de aumento de vagas do quadro é livre,
porém a diminuição é limitada pelo número de vagas já compromissadas e/ou reservadas.
b) Transação 'Compromisso de Vagas de Quadro para Cargos'
Compromissar vagas significa alocar vagas para uma futura utilização. Essas vagas não
estarão disponíveis até que uma reserva seja feita, liberando a utilização das vagas
compromissadas.
Quando é feito um compromisso de vagas, devem ser fornecidas as seguintes
informações:
- Quadro (nome do quadro cujas vagas serão compromissadas)
- Descrição do compromisso
- Data de criação do compromisso
- Data de extinção do compromisso
- Setor
- Setores subordinados (Sim/Não)
- Observações
As datas de criação e extinção definem o período em que as vagas
compromissadas estão disponíveis para serem reservadas. Após a data de extinção, as
vagas do compromisso que não tiverem sido reservadas voltam a ficar disponíveis no
quadro para novos compromissos.
A escolha do setor do compromisso pode ser opcional ou obrigatória, dependendo
do valor da opção 'SETOR_COMPROMISSO' do Ergon (ver mais abaixo). Se for
escolhido um setor para o compromisso, as reservas associadas a este compromisso
deverão ser feitas para o mesmo setor (ou para setores subordinados a ele, de acordo com
a opção 'Setores Subordinados').
Só é possível compromissar vagas de um quadro se ainda houver vagas
disponíveis para uso aquele quadro. O número de vagas disponíveis é calculado usando
como referência a maior data entre a data de hoje e a data de criação do compromisso, e
segue a seguinte fórmula:
(Vagas disponíveis no quadro) = (Total de vagas do quadro) - Soma(vagas dos
compromissos não extintos) + Soma(vagas das reservas extintas e não utilizadas)
Após a data de extinção de um compromisso, todas as vagas deste compromisso e das
reservas ainda não utilizadas voltam para o quadro e as reservas ficam extintas com a
mesma data de extinção do compromisso.
A transação apresenta um bloco chamado 'Manutenção', destinado para fazer alterações
nos compromissos. Depois que o compromisso for criado, só será possível alterar o setor
(e subordinados), a data de extinção e a quantidade de vagas. A operação de aumento de
vagas do compromisso é limitada pelo número de vagas disponíveis no quadro, e a
diminuição é limitada pelo número de vagas já ocupadas por reservas.
c) Transação 'Reserva de Vagas de Quadro para Cargos por Compromisso'
Para que as vagas do quadro possam ser ocupadas pelos funcionários, elas devem
ser antes reservadas para tal. As reservas de vagas são feitas a partir de compromissos de
vagas.
Para cadastrar uma reserva de vagas, devem ser fornecidas as seguintes informações:
- Quadro (nome do quadro cujas vagas serão reservadas)
- Compromisso (nome do compromisso cujas vagas serão reservadas)
- Descrição da reserva
- Data de criação da reserva
- Data de extinção da reserva
- Setor (opcional)
- Setores subordinados (Sim/Não)
- Quantidade de vagas reservadas
O primeiro bloco da transação é aquele onde é informado o quadro onde será cadastrada a
reserva, apresentando descrição do quadro (LOV) e código e descrição do cargo,
referência e qtd disponível para compromisso. O segundo bloco apresenta os
compromissos vinculados aquele quadro. As informações apresentadas são: descrição do
compromisso, data de criação, setor, data de extinção, quantidade de vagas do
compromisso e quantidade de vagas disponíveis para reserva. O terceiro bloco apresenta
as reservas associadas ao compromisso selecionado, sendo este o bloco onde é feito o
cadastramento das reservas.
Cada reserva é identificada por um número, que é gerado automaticamente pelo sistema e
não pode ser alterado. Quando forem cadastrados provimentos, designações ou ingressos
de funcionários, este número será usado para identificar a reserva de vagas que os
funcionários utilizarão.
As datas de criação e extinção da reserva indicam o período durante o qual as vagas da
reserva estarão disponíveis para serem ocupadas por funcionários. Após data de extinção
da reserva, as vagas que não tiverem sido utilizadas voltam a ficar disponíveis no quadro.
A escolha do setor da reserva pode ser opcional ou obrigatória, dependendo do
valor da opção 'SETOR_RESERVA' do Ergon (ver mais abaixo). Se for escolhido um
setor para a reserva, ele deve ser compatível com o setor do compromisso à qual ela
pertence.
A soma das vagas de todas as reservas de um compromisso é limitada pelo total
de vagas do cmpromisso.
A transação apresenta um bloco chamado 'Manutenção', destinado para fazer alterações
nas reservas. Depois que a reserva for criada, só será possível alterar o setor (e
subordinados), a data de extinção e a quantidade de vagas. A operação de aumento de
vagas da reserva é limitada pelo número de vagas disponíveis no compromisso. A
diminuição é limitada pelo número de vagas já utilizadas por funcionários.
As alterações das datas de extinção após o cadastro pode gerar inconsistências. O sistema
permite tais alterações desde que nenhum dos registro atrelados a esta reserva fique
inválido, mas isto não garante a integridade de todos os registros de histórico.
d) Transação ' Consulta de Vagas de Quadro para Cargos por Compromisso'
Esta transação é serve para efetuar consultas sobre os quadros, compromissos e
reservas de vagas. Ela é dividida em 3 blocos. O primeiro bloco da transação é aquele
onde é informado o quadro a ser consultado e a data de referência da consulta. O segundo
bloco apresenta os compromissos vinculados àquele quadro. O terceiro bloco apresenta as
reservas associadas aos compromissos, o número de vagas ocupadas e o número de vagas
disnponíveis para uso.
Esta transação é utilizada exclusivamente para consultas.
e) Transação 'Manutenção de Quadro para Funções'
Esta transação é semelhante à transação ' Manutenção de Quadro para Cargos',
sendo utilizada para a manutenção de quadros de funções ao invés de quadro de
cargos/referências.
f) Transação 'Compromisso de Vagas de Quadro para Funções'
Esta transação é semelhante à transação ' Compromisso de Vagas de Quadro para
Cargos', sendo utilizada para a manutenção de compromissos de quadros de funções ao
invés de compromissos de quadros de cargos.
g) Transação 'Reserva de Vagas de Quadro para Funções por Compromisso'
Esta transação é semelhante à transação 'Reserva de Vagas de Quadro para Cargos
por Compromisso', sendo utilizada para a manutenção de reservas de quadros de funções
ao invés de reservas de quadros de cargos.
h) Transação 'Consulta de Vagas de Quadro para Funções por Compromisso'
Esta transação é semelhante à transação 'Consulta de Vagas de Quadro para
Cargos por Compromisso ', sendo utilizada para a consulta de quadros de funções ao
invés de quadros de cargos.
Opções do Ergon associadas ao controle de vagas por quadro
Grupo QUADRO, item RESERVA_QUADRO_ORIGEM
Valores: "QUADRO" e "COMPROMISSO"
Indica o esquema de controle de vagas do quadro.
Grupo QUADRO, item QUADRO_CARGO
Valores: "PROVIMENTO" e "PROVIMENTO/CONVOCACAO"
Indica se as vagas do quadro são ocupadas por provimentos e convocações ou apenas
provimentos
Grupo QUADRO, item QUADRO_FUNCAO
Valores: "DESIGNACAO" e "DESIGNAC/SUBSTIT AUSENCIA".
Indica se as vagas do quadro são ocupadas por designações e substituições por ausência
ou apenas designações. A substituição não ocupa vaga do quadro pois a vaga é ocupada
pelo titular que está sendo temporariramente substituído.
Grupo QUADRO, item SETOR_COMPROMISSO
Valores: "SETOR OBRIGATÓRIO" e "SETOR OPCIONAL"
Indica se o setor é obrigatório ou opcional no compromisso. Apenas utilizado quando a
opção RESERVA_QUADRO_ORIGEM = 'COMPROMISSO'.
Grupo QUADRO, item SETOR_RESERVA
Valores: "SETOR OBRIGATÓRIO" e "SETOR OPCIONAL"
Indica se o setor é obrigatório ou opcional na reserva.
Tarefa de criação de controle de Quadro para Cargo/Função
A tarefa consiste em criar, a partir do zero, este controle, ignorando as estruturas
existentes. Devem ser removidas as estruturas anteriores para evitar a existência de lixo
no banco e não deve ser feita nenhuma migração dos dados.
Remover estruturas antigas
As estruturas (tabelas) que devem ser removidas são:
Tabelas
QUADRO_CARGO
QUADRO_CARGO_AUX
ERG_QUADRO_CARGO
ERG_QUADRO_CARGO_AUX
ERG_RESQUADCARGO
ERG_RESQUADCARGO_AUX
ERG_RESQUADCARGOSET
ERG_MOVQUADCARGO
ERG_MOVQUADCARGO_AUX
QUADRO_FUNCAO
QUADRO_FUNCAO_AUX
ERG_QUADRO_FUNCAO
ERG_QUADRO_FUNCAO_AUX
ERG_RESQUADFUNCAO
ERG_RESQUADFUNCAO_AUX
ERG_RESQUADFUNCAOSET
ERG_MOVQUADFUNCAO
ERG_MOVQUADFUNCAO_AUX
Alterei os nomes no CASE para podermos criar as novas estruturas com os nomes
adequados. As antigas estruturas (acima) foram prefixadas com um Z como primeira
letra.
Verificar quais stored procedures devem ser removidas.
Novas estruturas
Criação das tabelas:
ERG_QUADRO
ERG_QUADRO_AUX
ERG_HIST_QC
Ver o diagrama 210 CONTROLE QUADRO no CASE.
Funcionamento do controle - especificação funcional
Para simplificar a explicação do processo aqui descrito o termo "registro" é utilizado para
descrever um provimento, designação ou substituição na ausência
O funcionamento do controle de quadro é especificado através da opção
RESERVA_QUADRO_ORIGEM, no grupo QUADRO da transação Opções do Ergon.
Esta opção pode assumir dois valores: COMPROMISSO ou QUADRO e indica se a
reserva é feita a partir de um quadro ou de um compromisso, determinando como o
sistema se comporta.
Se a origem da reserva é o quadro o sistema não permite a utilização de compromisso e o
controle será feito sobre as vagas distribuídas. Neste caso, a distribuição poderá ser feita a
partir do quadro ou de uma reserva (através do botão "Distribui Reserva"). Neste modelo
não é necessário nenhuma indicação adicional no provimento para utilização do cargo e
este continua distribuído após a utilização.
Se a origem da reserva é o compromisso o sistema não permite utilizar distribuição, pois,
neste caso, as vagas serão utilizadas diretamente a partir da reserva e será obrigatório
especificar qual o número da reserva utilizada no provimento. Após o uso a vaga é
liberada para o quadro onde poderá ser compromissada novamente.
As opções criadas são:
QUADRO_CARGO Valores: "PROVIMENTO" e "PROVIMENTO/CONVOCACAO"
Indica se as vagas do quadro são ocupadas por provimentos e convocações ou
apenas provimentos
QUADRO_FUNCAO Valores: "DESIGNACAO" e "DESIGNAC/SUBSTIT AUSENCIA".
Indica quais tabelas devem ser consideradas na ocupação das vagas do quadro
A substituição não ocupa vaga do quadro pois a vaga é ocupada pelo titular que está
sendo temporariramente substituído.
SETOR_COMPROMISSO Valores: "SETOR OBRIGATÓRIO" e "SETOR OPCIONAL"
Indica se o setor é obrigatório ou opcional no compromisso. Apenas utilizado quando a
opção RESERVA_QUADRO_ORIGEM = 'COMPROMISSO'.
SETOR_RESERVA Valores: "SETOR OBRIGATÓRIO" e "SETOR OPCIONAL"
Indica se o setor é obrigatório ou opcional na reserva.
Para fazer a consulta das opções usar sempre a função GET_ERG_OPCAO, criada para
este fim.
Observação: quando o cliente usar "evento" as opções QUADRO_CARGO e
QUADRO_FUNCAO deixam de ser utilizadas pois o evento tem um indicador "Ocupa
quadro" que determina se o tipo deve ser considerado para ocupação do quadro.
Transações para manutenção do Quadro
A manutenção do controle de quadro será feito através de 4 transações descritas a seguir.
O enfoque dado na explicação é voltado para o controle de CARGO mas o controle de
FUNCAO é análogo a menos da referência. A única diferença é que as consultas em um
caso devem forçar CARGO IS NOT NULL ou FUNCAO IS NOT NULL.
Características genéricas do mecanismo:
· Data de expiração é o primeiro dia em que o compromisso/reserva deixa de ser válido
· O cargo aglutinador não permite especificar referência no controle de quadro.
· Funcionários aposentados ou falecidos não ocupam quadro
· As formas de provimento contêm um indicador de ocupação de quadro: se este
indicador não estiver selecionado os provimentos da respectiva forma não serão
considerados na contagem de ocupação do quadro.
Transação Manutenção de Quadro Cargo
Transação responsável pela criação e manutenção de registros do tipo
TIPO_CONTROLE='Q'. Quando um quadro é criado é necessário verificar se o controle
daquele cargo (o cargo deve ter a especificação CONTROLE_VAGA = 'Q') exige
referência (POR_REFER = 'S') e, caso afirmativo, obrigar que esta informação seja
fornecida, considerando como data base a max( sysdate, data de criação do quadro). Caso
contrário este campo deve permanecer nulo. Quando for validar o registro (fazer isto em
trigger de banco) verificar a consistência de cargo/referência/data de criação.
A transação apresenta um bloco destinado para fazer alterações. Este bloco deve
apresentar um botão "Efetua alteração", um campo para especificar quantidade de vagas a
ser aumentada/diminuída (operação indicada através de radio button) e uma data para
extinguir o quadro, pois após a criação do registro não será possível alterar a quantidade
do quadro e a data de extinção diretamente no registro de quadro. A operação de aumento
de vagas do quadro é livre, porém para fazer uma diminuição será necessário verificar se
não existirá inconsistência no banco, considerando SYSDATE para totalização das vagas
em utilização (para as distribuições em que dtini <= SYSDATE <= DTFIM) .
Para quadros de cargo aglutinador não será permitida a criação de quadro de qualquer dos
cargos aglutinados.
A data de criação do quadro deve ser igual ao início do primeiro registro que utiliza
aquele quadro, mesmo que este seja apenas um registro de histórico.
Transação Compromisso de Cargo
Esta transação só deve ser executada se a opção RESERVA_QUADRO_ORIGEM =
'COMPROMISSO'. O código no menu deve verificar isto e desabilitar a transação
conforme a opção.
Transação responsável pela criação e manutenção de registros do tipo
TIPO_CONTROLE='C'.
Compromissar vagas significa alocar vagas para uma futura utilização. Essas vagas não
estarão disponíveis até que uma reserva seja feita, liberando a utilização das vagas
compromissadas.
Para fazer um compromisso é necessário informar um quadro. Os campos que são
obrigatórios são: SETOR, DESCRICAO, QTD e DT_CRIACAO. O valor de
REFERENCIA é o mesmo especificado para o quadro, segundo a definição do controle
do cargo (transação Cargos).
Para saber se ainda é possível compromissar vagas de um quadro é preciso fazer uma
verificação para aquele quadro. Esta verificação deve ser feita em max( SYSDATE,
COMP.DT_CRIACAO) e consiste em:
QUAD.QTD - å (COMP.QTD ñ ext) + å (RESE.QTD liberadas)
ou seja, o total de vagas do quadro mais as vagas já utilizadas e compromissos/reservas
extintas menos os compromissos ainda não utilizados.
Esta validação não deve ficar no FORM para evitar tráfego desnecessário na rede e sim
na package do banco.
Quando um compromisso for extinto (DT_EXTINCAO NOT NULL) todas as vagas
deste compromisso e das reservas ainda não utilizadas voltam para o quadro e as reservas
ficam extintas com a mesma data de extinção do compromisso.
Transação Reserva de Cargo
Transação responsável pela criação e manutenção de registros do tipo
TIPO_CONTROLE='R'.
Esta transação é a mais complexa pois seu comportamento depende da opção
RESERVA_QUADRO_ORIGEM. Por este motivo serão criadas transações diferentes e
o menu consultará a opção selecionada e chamará a transação correta. As transações terão
o seguinte comportamento:
Modo COMPROMISSO
Um bloco filtro deve solicitar a informação de qual quadro vai ser alterado, apresentando
descrição do quadro (LOV) e displays do cargo, descrição do cargo, referência e qtd
disponível para compromisso.
O segundo bloco apresenta os compromissos vinculados aquele quadro. As informações
apresentadas são: Descrição do compromisso, data de criação, setor, data de extinção, qtd
do compromisso e qtd disponível.
Para reservar vagas de um quadro a partir de um compromisso basta selecionar um
compromisso com qtd disponível maior que zero. A seguir deve ser preenchida a
DESCRICAO da reserva, o SETOR (se o compromisso especificar um setor este deve ser
igual, caso contrário verificar a obrigatoriedade na opção SETOR_RESERVA) e QTD da
reserva. Neste caso para se saber quantas vagas ainda estão disponíveis para aquele
compromisso basta subtrair o total de QTD das reservas para aquele compromisso do
QTD do compromisso. Observar que se uma reserva expirou as vagas dela voltam para o
quadro e não para o compromisso. É interessante apresentar o número da reserva na tela
pois este número será utilizado para indicar de qual reserva uma vaga está sendo
utilizada.
Ao se extinguir uma reserva o sistema verifica se não há nenhum registro que a utilize
com início posterior a extinção. Se algum registro for encontrado o sistema alerta o
usuário e impede a operação. A data de extinçào não pode ser anterior à data do cadastro
da mesma.
As alterações das datas de criação e extinção após o cadastro pode gerar inconsistências.
O sistema permite tais alterações desde que nenhum dos registro atrelados a esta reserva
fique inválido, mas isto não garante a integridade de todos os registros de histórico.
Modo QUADRO
Um bloco filtro deve solicitar a informação de qual quadro vai ser alterado, apresentando
descrição do quadro (LOV) e displays do cargo, descrição do cargo, referência e qtd
disponível para reserva.
Como o quadro já está informado no bloco filtro basta preencher a DESCRICAO da
reserva, o SETOR (se for obrigatório). data de criação da reserva e QTD da reserva.
Neste caso para se saber quantas vagas podem ser reservadas basta subtrair do QTD do
quadro a soma do total de QTD das reservas para aquele quadro e a QTD distribuído.
O último bloco é destinado as alterações efetuadas sobre a reserva, permitindo alterar a
quantidade reservada e a data de extinção da reserva.
Outra facilidade é distribuir vagas a partir da reserva selecionada. Para esta opção deve
ser clicado o botão "Distribui Reserva…". Uma nova janela será apresentada e o usuário
deve preencher o setor para o qual será feita a distribuição (seguindo a hierarquia definida
na reserva) e a quantidade de vagas. O sistema verificará se já há distribuição para o
conjunto de parâmetros (CARGO, SETOR) e apresentará o nome da respectiva
distribuição e a data de extinção. Caso não exista tal distribuição o usuário deverá
preencher o nome da nova distribuição que será criada. Ao clicar no botão "Distribui" o
sistema fará a distribuição automaticamente, reduzindo a QTD da reserva e
incrementando a QTD da distribuição.
Transação Distribuição de Cargos do Quadro
Esta transação só deve ser executada se a opção RESERVA_QUADRO_ORIGEM =
'QUADRO'. O código no menu deve verificar isto e desabilitar a transação se for o caso.
Transação responsável pela criação e manutenção de registros do tipo
TIPO_CONTROLE='D'.
O funcionamento é bastante simples pois para distribuir vagas de um quadro basta fazer a
diferença entre o QTD do quadro e a soma dos QTD das reservas não expiradas na data
max( SYSDATE, DIST.DT_CRIACAO).
Um bloco filtro deve solicitar a informação de qual quadro vai ser alterado, apresentando
descrição do quadro (LOV) e displays do cargo, descrição do cargo, referência e qtd
disponível para distribuição.
O usuário precisa preencher as informações DESCRICAO da distribuição, SETOR,
DT_CRIACAO e QTD.
O sistema não permite a criação de quadros com características iguais que possuam
conflitos de abrangência na utilização. Por exemplo, não é possível criar um quadro para
o cargo 110 no setor A, pai do setor B, válido para os setores subordinados de A e um
outro quadro para o setor B. Neste caso há uma sobreposição de quadros para um mesmo
setor.
Histórico das alterações
Todas as operações nas transações acima gerarão um registro de histórico.
Os históricos devem indicar qual foi a operação realizada a partir de uma mensagem
montada pela trigger. Os forms devem informar qual o usuário logado em uma variável
de uma package e a trigger deve ler essa variável. Se esta for nula a operação deve ser
cancelada.
Utilização das vagas
A função CHECA_QUADRO_VAGAS valida a utilização das vagas de um
quadro. Esta função recebe como parâmetros NUMFUNC, NUMVINC, DTINI,
TABELA, o número da reserva e o TIPO _EVENTO.
Algumas validações iniciais devem ser feitas e são válidas independente da opção
utilizada, como se o setor indicado pode usar a vaga; lembrar que embora a tela direcione
o usuário para o uso correto a trigger deve validar completamente o registro.
Como há dois métodos possíveis, a seguir define-se o algoritmo específico para os dois.
Opção COMPROMISSO
Este é muito simples pois o usuário é obrigado a informar o número da reserva. Para
verificar se o uso é permitido basta saber quantas vagas já foram utilizadas para aquele
cargo ou (cargo, referência) naquela reserva, em qualquer período de validade da reserva.
Se este número for menor que a QTD da reserva ainda há vagas disponíveis naquela
reserva e o uso é permitido. Porém e necessário verificar se a reserva não expirou até a
data do uso . A data de início do registro tem que estar contida no período de validade da
reserva (entre DT_CRIACAO e DT_EXTINCAO- um dia).
Opção QUADRO
Neste caso deve-se verificar quantas vagas estão sendo utilizadas na data do uso. Se este
total for inferior ao QTD distribuído o uso é permitidoSe o término do registro for
anterior a SYSDATE não validar contra o quadro. DTINI e DTFIM do regsitro devem
estar compreendido entre DT_CRIACAO e DT_EXTINCAO menos um dia da
distribuição.
Transação Ingresso
Esta transação é um pré cadastro pois no Ergon o funcionário só existe quando possui
uma data de exercício. Porém, a utilização do quadro nesta transação funciona como se o
funcionário já estivesse efetivado. Sendo assim, se por algum motivo o ingresso se torna
sem efeito é preciso especificar se a vaga deve ou não voltar para o quadro. Como há
duas opções de trabalho, detalha-se:
Opção Compromisso:
Neste caso é necessário informar o número da reserva que o funcionário vai utilizar.
Quando houver data de sem efeito a vaga vai retornar para o quadro automaticamente e
pode ser novamento compromissada.
Opção Quadro:
A vaga volta para a distribuição quando é liberada ou tornada sem efeito.
Restrição: o mecanismo de ingresso foi criado para possibiltar o pré-cadastro de um
funcionário, ou seja, antes da efetivação (exercício). Portanto, no Ingresso existe uma
restrição para validação do quadro: o sistema não considera ocupada uma vaga de quadro
se a data de exercício for igual a data de nomeação. Se isto ocorrer é recomendado
registrar o vínculo e o provimento direto.
Alterações na aparência do menu
A escolha de um ou outro modo de operação implica no aparecimento/desaparecimento
de transações do menu para adequar o menu ao modo de trabalho escolhido. O
mecanismo implementado para o uso de eventos permite que o usuário opte entre dois
modos de trabalho também. Esta opção é definida através do item EVENTOS, do grupo
EVENTOS, e pode assumir dois valores : 'S' e 'N'. A escolha de um ou outro modo
implica no aparecimento/desaparecimento de transações do menu para adequar o menu
ao modo de trabalho escolhido.
Download

O controle de vagas por quadro foi reformulado