Dica de MOD Data: ano e mes


Um dos consultores que trabalha comigo estava um um problema, ele tinha um determinado valor exemplo (27) que era este valor neste exemplo era referente ao “Tempo de vida do material na Pratilheira ou estoque – MARA-MHDHB”, porém é retornado um numero contendo a penas a quantidade de meses, porém era necessario transformar este valor em meses e anos, para resolver este calculo use a seguinte logica:

usei o operador “MOD” para retirar os meses, usando :

meses =  MARA-MHDHB mod 12.

apenas com esta linha consigo retornar os valores que não esta em mod 12.

exemplo 27 mod 12 é retornado 3 pois 24 é mod de 12 então é 0 então 27 – 24 = 3

porém o operador mod ja realiza estes calculos.

após ter o numero de meses, faço o seguinte calculo:

ano =  ( MARA-MHDHB – meses) / 12

Usando está logica consigo dividir de um numero a quantidade de anos e meses.

OPERADORES LÓGICOS E RELACIONAIS


Operador condicional e relacional, como o próprio nome é indutivo,
servem para resolução de operações lógicas, está podem ser IF, IFELSE,
WHERE . Estes operadores servem para realizar verificações de expressões
regulares e lógicas. Será neste post será descritos os operadores condicionai
disponíveis no ABAP.
TIPO:      PDF

SET PARAMETER ID CALL TRANSACTION


Muita das vezes está se exibindo algum, dado e um destes dados é a chave de alguma regra de negócio, por exemplo, um pedido de compra (ME23N) que tem a chave como o numero do pedido, ou o numero de uma Nota Fiscal (J1B23N), onde queremos muitas das vezes acessar estas os dados desta regra de negocio para visualizar melhor os dados, para isto usa-se o comando SET PARAMETERCALL TRANSACTION.

Tipo:     PDF

Baixar: SET PARAMETER ID CALL TRANSACTION

/SDF/CMO_DATETIME_DIFFERENCE


Está função é muito importante para realização de calculos entre datas, ela retorna a diferença entre dias e horas de uma data inicial e uma data final, onde pode-se descobri a diferença entre dias, horas, minutos e segundos.

Entrada: 

                 Data Inicial

                 Hora Inicial

                 Data Final

                 Hora Final 

Saída:

             Diferença entre dias    =   data_final – data_inicial

             Diferença entre horas =  hora_final – hora_inicial.

Para saber a quantidade de hora total entre a data inicial use a seguite formula:

   (  Diferença entre dias    * 24 ) + Diferença entre horas

Para saber a quantidade de minutos total entre a data inicial use a seguite formula:

(   (  Diferença entre dias    * 24 ) + Diferença entre horas ) * 60

Para saber a quantidade desegundos total entre a data inicial use a seguite formula:

( (   (  Diferença entre dias    * 24 ) + Diferença entre horas ) * 60 ) * 60

Exemplo:

DATA: DATA1 TYPE SY-DATUM,DATA2 TYPE SY-DATUM,

HORA1 TYPE SY-UZEIT,

HORA2 TYPE SY-UZEIT,

DIFD TYPE P,

DIFH TYPE P.

DATA1 = SY-DATUM.

DATA2 = SY-DATUM + 2.

HORA1 = SY-UZEIT.

HORA2 = SY-UZEIT – 1800.

DATA: CALCULOAUX TYPE P,

CALCULOTOT TYPE P.

CALL FUNCTION ‘/SDF/CMO_DATETIME_DIFFERENCE’

             EXPORTING

                               DATE1 = DATA1

                                TIME1 = HORA1

                                DATE2 = DATA2

                               TIME2 = HORA2

 IMPORTING

                               DATEDIFF = DIFD

                              TIMEDIFF = DIFH

EXCEPTIONS

                INVALID_DATETIME = 1

               OTHERS = 2.

              CALCULOAUX = DIFD * 24.

             CALCULOTOT = CALCULOAUX + DIFH.

             

WRITE: / ‘DATA INICIAL: ‘, DATA1, ‘ DATA FINAL: ‘, DATA2,

/ ‘HORA INICIAL: ‘, HORA1, ‘ HORA FINAL: ‘, HORA2,

/ ‘TOTAL: ‘, CALCULOTOT.

Design a site like this with WordPress.com
Iniciar