Versões comparadas

Chave

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

...

Bloco de código
languagesql
titleSQL - Retorna registros do Histórico do BEM de tipo de adesão Redução de Jornada de Trabalho
SELECT
DTACORDOBEM,DURACAOBEM,VALORREDUZIDOBEM,DTCANCELAMENTOBEM,DTANTECIPACAOBEM,DIASPRORROGACAOBEM,PERCENTUALREDUCAOBEM
FROM PFHSTBEM (NOLOCK)
WHERE codcoligada =:FRM_COLIGADA and chapa =:FRM_CHAPA
ORDER BY DTMUDANCA DESCASC

Passo 2: Criar uma fórmula que valias as condições de estabilidade para redução de Jornada/Salario. Abaixo um exemplo de fórmula que retorna mensagens conforme as regras da MP 936:

Bloco de código
titleFórmula - Estabilidade de Redução de Jornada/Salário
DECL DataInicioAcordo;
DECL DiasDuracao;
DECL DiasProrrog;
DECL DataCancelamento;
DECL DataAntecipacao;
DECL DataFimAcordo;
DECL DuracaoTotal;
DECL DataInicioAcordoAnt;

  
SETVAR (DataInicioAcordoAnt, DATANULA);
  
SE (EXECSQL ('BEM') = FALSO)
ENTAO 'FUNCIONÁRIO SEM ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO CONFORME MP 936.';
SENAOFIMSE;

/* Retorna a quantidade total de dias de acordo por redução de Jornada*/
SE (EXECSQL ('BEM') = Verdade);
ENTAOREPITA
SETVAR (DataInicioAcordo,resultsql('BEM','DTACORDOBEM'));
SETVAR (DiasDuracao,resultsql('BEM','DURACAOBEM'));
SETVAR (DiasProrrog,resultsql('BEM','DIASPRORROGACAOBEM'));
SETVAR (DataCancelamento,resultsql('BEM','DTCANCELAMENTOBEM'));
SETVAR (DataAntecipacao,resultsql('BEM','DTANTECIPACAOBEM'));
 
SE DataAntecipacao <> DATANULA
ENTAO SETVAR (DiasDuracao, (SUBTRAIDATAS (DataAntecipacao, DataInicioAcordo)));
FIMSE;
SE DataCancelamento <> DATANULA
ENTAO SETVAR (DiasDuracao, (SUBTRAIDATAS (DataCancelamento, DataInicioAcordo)));
FIMSE;
  
SE DataInicioAcordo = DataInicioAcordoAnt;
SETVAR (DiasDuracao, DiasProrrog);
SENAO
SETVAR (DiasDuracao, (DiasDuracao+DiasProrrog));
FIMSE;
  
SETVAR (DataFimAcordo, DataInicioAcordo+DiasDuracao+DiasProrrog);
SETVAR (DuracaoTotal, DuracaoTotal+DiasDuracao);
SETVAR (DataInicioAcordoAnt, DataInicioAcordo);
   
ATE ProxRegSQL('BEM' ) = Falso
FIMSE;
  
SE DataFimAcordo = (DataInicioAcordo + DuracaoTotal);
SETVAR (DataFimAcordo, DataInicioAcordo + DuracaoTotal);
FIMSE;
  
SE (DataFimAcordo + DuracaoTotal) > MTDATA(01,MES,ANO)
ENTAO
CONCAT ('FUNCIONÁRIO POSSUÍ ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO ATÉ ', DataFimAcordo+DuracaoTotal)
SENAO
'FUNCIONÁRIO SEM ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO CONFORME MP 936.'
FIMSE;

...