Árvore de páginas

Versões comparadas

Chave

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

Movimento de Dados - Mod II

Image Modified Image Modified Image Modified Image Modified


OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO

C

STRTOVAL

N

N

Converte o dado informado no operando 1 de tipo carácter em numérico. O dado de tipo carácter, ou string, pode ser um mnemônico de tipo arquivo, reservado ou uma constante. Para identificar os decimais, deverá ser usado ponto (12.5). Se existe um carácter vírgula (,) como separador dos decimais, este não será considerado.

...

  No operando 2 deve ser indicado o número de decimais a retornar. Se nenhum número for informado neste campo, devolverá um número inteiro.

Operando 1

Operador

Operando 2

Resultado

Evaluación

“12”

STRTOVAL

 

NAUX_30

12

“12.45”

STRTOVAL

 

NAUX_31

12

“12.45”

STRTOVAL

1

NAUX_32

12,4

“12.45”

STRTOVAL

2

NAUX_33

12.45

“12.45”

STRTOVAL

3

NAUX_34

12.45

N

VALTOSTR

N

C

Converte o dado informado no operando 1 de tipo numérico (tipo arquivo, reservado ou constante) em um carácter ou string. O ponto será usado (.) como separador dos decimais. No operando 2 deverá ser indicado o tamanho do carácter que será devolvido, considerando o ponto decimal dentro da conta de caracteres.

...

  Por exemplo: 12.45 tem tamanho de 5. Se não for informado, ou o tamanho indicado for menor, então será devolvido o valor exato convertido em string. Se o tamanho for maior, será preenchido com zeros à esquerda.

Operando 1

Operador

Operando 2

Resultado

Evaluación

12

VALTOSTR

 

CAUX_01

“12”

12

VALTOSTR

4

CAUX_02

“0012”

12.45

VALTOSTR

 

CAUX_03

“12.45”

12.45

VALTOSTR

6

CAUX_04

“012.45”

F

GET_MONEDA

Número Moneda

N

Retorna o valor da taxa de paridade em determinada data e da moeda solicitada. No Financeiro, as moedas são identificadas com números, que são definidos para cada cliente. Por exemplo: 1 para a moeda local; 2 para Dólares.

Exemplo 1: Supondo que o dia 21 de Março de 2012 tem paridade de 39.12 para os Pesos República Dominicana X Dólares, e esta seja a moeda 3. O salário do trabalhador é 1000 USD. Quer obter-se o salário em Pesos.

Operando 1

Operador

Operando 2

Resultado

Evaluación

21/03/2012

GET_MONEDA

3

NAUX_01

39.12

EMPSALARIO

MULTIPLICA

NAUX_01

SALPESOS

39,120.00

Exemplo 2:

Supondo que foi concedido um bônus de 500 USD ao funcionário, calculado com a data final do Período, quer-se o bônus em Pesos.

Operando 1

Operador

Operando 2

Resultado

Evaluación

PERFECFIN

GET_MONEDA

3

NAUX_01

39.12

INCIMPINC

MULTIPLICA

NAUX_01

IMPORTE

19,560.0

 

ANO

F

N

Retorna o ano de uma determinada data:

Operando 1

Operador

Operando 2

Resultado

Evaluación

 

ANO

25/05/2007

NAUX_01

2007

 

MES

F

N

Retorna o mês de uma determinada data:

Operando 1

Operador

Operando 2

Resultado

Evaluación

 

MES

25/05/2007

NAUX_01

5

 

DIA

F

N

Retorna o dia de uma determinada data:

Operando 1

Operador

Operando 2

Resultado

Evaluación

 

DIA

25/05/2007

NAUX_01

25

 

DIA_SEMANA

F

N

Retorna o dia da semana uma determinada data considerando 1= Domingo al 7 = sábado

Operando 1

Operador

Operando 2

Resultado

Evaluación

 

DIA_SEMANA

25/05/2007

NAUX_01

6

 

MUEVE

N, F, C, L

N, F, C, L

O operador MUEVE aloca o conteúdo do dado no mnemônico que se encontra em resultado.

 

CONVIERTE_FECHA

Dato {AAAAMMDD}

F

É utilizado quando se quer montar datas. Por exemplo, se quer ter a data de aniversário, obtém-se o mnemônico ano da datade início do período e o mês e dia da data de admissão. Para obter a data com formato aaaammdd, multiplica-se o ano por 10000 + mês * 100 + dia. Ao aplicar-lhe o CONVIERTE_FECHA, terá um mnemônico de tipo data, que pode ser guardada, comparada, somada ou subtraída como data.

Exemplo: Pagar 12 dias de prêmio de férias para todos os funcionários se a data de aniversário se encontra entre a data inicial e final do período. Se o Período é 01/01/2009 até 15/01/2009 e a data de admissão é 05/01/2004

Operando 1

Operador

Operando 2

Resultado

Evaluación

 

ANO

FECFINPER

NAUX_01

2009

 

MES

FECHAING

NAUX_02

1

NAUX_01

MULTIPLICA

10000

NAUX_01

20090000

NAUX_02

MULTIPLICA

100

NAUX_02

100

NAUX_01

SUMA

NAUX_02

NAUX_03

20090100

 

DIA

FECHING

NAUX_04

5

NAUX_03

SUMA

NAUX_04

NAUX_03

20090105

 

CONVIERTE_FECHA

NAUX_03

ANIVERSARIO

05/01/2009

ANIVERSARIO

SI_MENOR

FECHINIPER

FINAL

 

ANIVERSARIO

SI_MAYOR

FECHFINPER

FINAL

 

12

MULTIPLICA

FACTPRIMVA

UNIDADES

 

UNIDADES

MULTIPLICA

SALDIA

IMPORTE

 

 

MUEVE

IMPORTE

PRIMAVAC

 

FINAL

ETIQUETA

 

 

 

Dia inicial

SUMA_DIAS

Dia final

N

Pode-se capturar incidências por três modos: Incidências por Funcionário, Incidências por Verba e Tempo Extra. Esta última forma geralmente ocupa o tempo extra, por isso foi denominada assim, y permite capturar as incidências dia por dia, considerando um registro por semana.

Os datos são capturados do dia 1 até 7, que correspondem aos dias da semana, sendo o dia 1 o primeiro dia da semana para a empresa. Independentemente da captura por cada dia no campo de horas, será acumulado o total capturado nos 7 dias.

Com este operador pode-se ler as incidências de cada dia ou de uma faixa de dias. É ocupado para não ter que realizar o cálculo de cada dia, repitindo o mesmo sete vezes. Desta forma, um ciclo em conjunto com o operador SI_MENOR poderá ser utilizado.

Por exemplo: Determinar as horas extras duplas e triplas, integráveis, gravadas e isentas, considerando até 3 horas x dia integráveis e até três dias por semana. Até 9 dobradas e o resto triplas. Isenção de 50% até 5 SMG por semana, o resto gravado. Para isso, cada semana será capturada em um registro de incidências por dia.

Operando 1

Operador

Operando 2

Resultado

UNIINC

SI_IGUAL

0

FINAL

# DETERMINAR LAS HORAS INTEGRABLES

Y NOINTEGRABLES

# NAUX_01 = CONTADOR DE DÍAS DE LA SEMANA

 

MUEVE

0

NAUX_01

# NAUX_02 =

...

  CONTADOR DE VECES X SEMANA

 

MUEVE

0

NAUX_02

CICLO

ETIQUETA

 

 

NAUX_01

SUMA

1

NAUX_01

# NAUX_03 = HORAS NO

...

INTEGRABLES 

 

MUEVE

0

NAUX_03

# NAUX_04 = HORAS

...

INTEGRA  

BLES

 

 

MUEVE

0

NAUX_04

# OBTIENE LAS HORAS EXTRAS DE CADA UNO DE LOS DÍAS

NAUX_01

SUMA_DIAS

NAUX_01

NAUX_05

NAUX_05

SI_IGUAL

0

CONTINUA_1

NAUX_02

SUMA

1

NAUX_02

# DETERMINA SI YA TIENE MAS DE 3 DÍAS EN LA SEMANA

NAUX_02

SI_MAYOR

3

CONTINUA_1

# DETERMINA SI SON MAS DE 3 HORAS POR DÍA

 

MUEVE

NAUX_05

NAUX_03

NAUX_03

SI_MENOR

3

CONTINUA_1

 

MUEVE

3

NAUX_03

CONTINUA_1

ETIQUETA

 

 

NAUX_05

RESTA

NAUX_03

NAUX_04

NAUX_03

SUMA

NAUX_19

NAUX_19

NAUX_04

SUMA

NAUX_20

NAUX_20

NAUX_01

SI_MENOR

7

CICLO

NAUX_19

SUMA

HRS_NOINTE

HRS_NOINTE

NAUX_20

SUMA

HRS_INTE

HRS_INTE

# DETERMINA LAS HORAS DOBLES Y TRIPLES

 

MUEVE

UNIINC

NAUX_17

NAUX_17

SI_MENOR

9

CONTINUA_3

 

MUEVE

9

NAUX_17

UNIINC

RESTA

NAUX_17

NAUX_18

CONTINUA_3

ETIQUETA

 

 

HRS_DOBLES

SUMA

NAUX_17

HRS_DOBLES

HRS_TRIPLE

SUMA

NAUX_18

HRS_TRIPLE

# DETERMINA EL IMPORTE HRS DOBLESYTRIP

SALDIA

DIVIDE

8

NAUX_06

NAUX_17

MULTIPLICA

NAUX_06

NAUX_07

NAUX_07

MULTIPLICA

2

NAUX_07

NAUX_07

SUMA

IMP_HRSDOB

IMP_HRSDOB

NAUX_18

MULTIPLICA

NAUX_06

NAUX_08

NAUX_08

MULTIPLICA

3

NAUX_08

NAUX_08

SUMA

IMP_HRSTRI

IMP_HRSTRI

# DETERMINA EL IMPORTE GRAVADO Y EXENTO

NAUX_07

MULTIPLICA

0.5

NAUX_09

NAUX_09

SI_MENOR

TOPE_TEXT

CONTINUA_4

 

MUEVE

TOPE_TEXT

NAUX_09

CONTINUA_4

ETIQUETA

 

 

NAUX_07

RESTA

NAUX_09

NAUX_10

TEXTGRAVA

SUMA

NAUX_10

TEXTGRAVA

NAUX_08

SUMA

TEXTGRAVA

TEXTGRAVA

TEXTEXENTO

SUMA

NAUX_09

TEXTEXENTO

# DETERMINA EL IMPORTE INTEGRA

...

BLE  

 

MUEVE

NAUX_20

NAUX_11

UNIINC

SI_MENOR

9

CONTINUA_5

9

RESTA

NAUX_19

NAUX_11

NAUX_20

RESTA

NAUX_11

NAUX_12

CONTINUA_5

ETIQUETA

 

 

NAUX_11

MULTIPLICA

NAUX_06

NAUX_13

NAUX_13

MULTIPLICA

2

NAUX_13

NAUX_12

MULTIPLICA

NAUX_06

NAUX_14

NAUX_14

MULTIPLICA

3

NAUX_14

NAUX_13

SUMA

NAUX_14

NAUX_15

NAUX_15

SUMA

IMP_INTEG

IMP_INTEG

NAUX_19

MULTIPLICA

NAUX_06

NAUX_16

NAUX_16

MULTIPLICA

2

NAUX_16

NAUX_16

SUMA

IMP_NOINTE

IMP_NOINTE

FINAL

ETIQUETA

 

 

<Valor a Filtrar>

 

<VAZIO>

FILTRO_MOVLI

<Campo SRV>

<lista verbas>

<VAZIO>

 

O operador FILTRO_MOVLI tem a função de realiza um pré-filtro, usando como referência os campos do catálogo de verbas, e funcionará em conjunto com o operador SUMA_MOVLI, onde filtrará por verbas (RC_PD) a tabela de Movimentos de Folha de Pagamento (SRC).

O uso do operador FILTRO_MOVLI com SUMA_MOVLI só funcionará se existirem valores de verbas calculados previamente no Movimentos de Folha de Pagamento (SRC). Poderão ser incluídos vários FILTRO_MOVLI, que se ligarão a um AND.

Se o SUMA_MOVLI não tiver dados na primeira ou na segunda expressão, significa que deve se considerado o el filtro indicado em FILTRO_MOVLI.

Exemplo 01: apenas com um filtro em FILTRO_MOVLI

Operando 1

Operador

Operando 2

Resultado

“1”

FILTRO_MOVLI

CONISR

 

 

SUMA_MOVLI

 

NAUX_01

Exemplo 02: apenas com um filtro em SUMA_MOVLI

Operando 1

Operador

Operando 2

Resultado

“1”

SUMA_MOVLI

CONISR

NAUX_01

Exemplo 03: apenas com um filtro em SUMA_MOVLI e tomando o valor “1” ou “S” como padrão

Operando 1

Operador

Operando 2

Resultado

 

SUMA_MOVLI

CONISR

NAUX_01

Exemplo 04: apenas com um filtro em FILTRO_MOVLI e buscando vários valores

Operando 1

Operador

Operando 2

Resultado

“1,3”

FILTRO_MOVLI

CONISR

...

           

 

SUMA_MOVLI

 

NAUX_01

Exemplo 05: buscar valores diferentes do mesmo campo.

Operando 1

Operador

Operando 2

Resultado

‘3’

FILTRO_MOVLI

RV_TIPOCOD

 

 

SUMA_MOVLI

 

NAUX_01

‘1’

FILTRO_MOVLI

RV_TIPOCOD

 

 

SUMA_MOVLI

 

NAUX_02

 

Conteúdo

SUMA_MOVLI

Mnemônico de SRV ou

BASE_PENSIÓN ou

Lista de Verbas

N

Permite, por meio da fórmula, o cálculo (adição/subtração) dos valores das verbas já calculadas nos Movimentos Mensais (SRC), de acordo com a lista de verbas selecionada. Também permite o cálculo para beneficiários, de acordo com a definição do operando BASE_PENSION.

Por padrão serão obtidos os valores (RC_VALOR) da lista de verbas indicada; no entanto, se for necessária a obtenção do total de H=Horas ou D=Dias, deverá ser indicado no mnemônico reservado TP_SUMA_MOVLI.

O posicionamento para a tabela de beneficiários deve ser realizado em conjunto com o operador SUMA_MOVLI e o Mnemônico reservado BASE_PENSION, identificado na segunda expressão da fórmula utilizada.

...

  • Para que seja permitida a utilização deste operador em conjunto com BASE_PENSION é necessário que, em Verbas por

...

  • Processo  (SRM), no campo Ler Ben = Sim (RM_LEEBEN)

...

  • Na rotina de Beneficiários, se um funcionário tiver várias pensões alimentícias, deverá se capturada uma verba diferente para cada registro.

...

  • Durante o cálculo, será obtida a base de pensão, dependendo da verba que esteja sendo calculada y da lista de verbas indicadas no campo de Verbas Base para a Pensão.

Operando 1

Operador

Operando 2

Resultado

“Conteúdo”

SUMA_MOVLI

BASE_PENSION

NAUX_01

Também é possível utilizar o operador SUMA_MOVLI com um Mnemônico que identifique um campo de incidências da tabela SRV, por exemplo RV_PENSAO. Desta forma, serão calculadas todas as verbas com o valor deste campo igual a “Sim”, para incidir:

Operando 1

Operador

Operando 2

Resultado

 

SUMA_MOVLI

Mnemônico

NAUX_01

Outra possibilidade é utilizar os valores diretamente na expressão da fórmula, os quais devem os códigos das verbas registradas na tabela SRV, no campo Código (RV_COD).

Exemplo:

Operando 1

Operador

Operando 2

Resultado

SUMA_MOVLI

‘001,002,003’

NAUX_01

Soma os valores das verbas calculadas até o momento, de acordo com a lista de verbas selecionadas. Respeita o tipo de verba, isto é, se é Arrecadação ou Base Arrecadação, será somado e, se for Dedução ou Base Dedução, será subtraído.

Exemplo 1: Supondo que se tem o mnemônico CONISR associado à tabela SRV=Verbas e o campo RV_IR=ISR

...

“2”      SUMA_MOVLI    CONISR NAUX_01

Exemplo 2: Supondo que se tem o mnemônico CONSDO associado à tabela SRV=Verbas e o campo RV_INCORP

Caso se queira obter os dias incorporados ao salário, para determinar os dias a serem pagos.

 

MUEVE

“D”

TP_SUMA_MOVLI

“1”

SUMA_MOVLI

CONSDO

NAUX_01

 

ie_total_con

<critério>

N

 

IE_TOTAL_EMP

<critério>

N

Estes operadores são utilizados em conjunto com uma tabela alfanumérica denominada Critério, que contém uma chave e uma descrição. Para cada funcionário, associa um critério.

IE_TOTAL_CON obtém a soma dos valores do mês que está sendo procesasdo (RCH_MES, RCH_ANO), da verba que está sendo calculada, de todos os funcionários que cumprem com o <critério> indicado.

IE_TOTAL_EMP obém o Total de Funcionários que, durante o mês que está sendo procesado (RCH_MES, RCH_ANO), tiveram valor na verba que está sendo calculada, e que cumprem com o <critério> indicado.

Exemplo: Some a base de imposto estatal do mês, de todos os funcionários com critério 004. Desta base, subtraia 8 salários mínimos mensais, considerando o fator de 30.5. Deste resultado, divida entre a base original para obter um fator. O Imposto Estatal será obtido somando a base de imposto estatal do mês do trabalhador e multiplicando pelo fator (Roteiro de cálculo do Imposto Estatal del Estado de Querétar, México).

# OBTIENE ACUM

DEL MES

DEL TRABAJADOR

 

PERMESPER

IMPORTE_EMPRESA

PERMESPER

NAUX_01

# OBTIENE

SAL MIN

 

 

 

BUSCA

TABLA_S006

 

ELEMENTO_01

HASTA_IGUAL

EMPZONECO

 

 

MUEVE

ELEMENTO_02

SALMIN

# OBTIENE ACUM

DEL MES DE TODOS

LOS TRABAJADORER

CON CRITERIO “0004”

EMPCRIACUM

SI_DIFERENTE

...

"004

...

"

CONT_04

 

IE_TOTAL_CON

...

"004

...

"

BASEISNQRO

CONT_04

ETIQUETA

 

 

SALMIN

MULTIPLICA

8

NAUX_03

NAUX_03

MULTIPLICA

30.5

NAUX_03

BASEISNQRO

RESTA

NAUX_03

NAUX_04

NAUX_04

DIVIDE

BASEISNQRO

FACISNQRO

NAUX_01

MULTIPLICA

FACISNQRO

BASEIMPEST

CONT_04

ETIQUETA