AYM: Como Adicionar ou Subtrair Meses

Como:

Linguagens Disponíveis: Reporting, Maintain

A função AYM adiciona ou subtrai meses de uma data no formato ano-mês. Você pode converter uma data para este formato utilizando a função EDIT ou CHGDAT.


Topo da página

x
Sintaxe: Como Adicionar ou Subtrair Mese a/de uma Data
AYM(indate, months, output)

onde:

indate

I4, I4YM, I6 ou I6YYM

É a data de legado no formato ano-mês, o nome de um campo que contém a data ou uma expressão que exibe a data. Se a data não for válida, a função retornará um 0 (zero).

meses

Inteiro

É o número de meses que você está adicionando ou subtraindo da data. Para subtrair meses, use um número negative.

saída

I4YM ou I6YYM

É a data legada resultante. É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples.

Dica: Se a data de entrada for um formato inteiro ano ano-mês-dia (I6YMD ou I8YYMD), divida a data por 100 para converter o formato ano-mês e configurar o resultado como um inteiro. Isto remove a parte do dia da data, que agora se encontra após o ponto decimal.



Exemplo: Como Adicionar Meses a uma Data

O comando COMPUTE converte as datas em HIRE_DATE do formato ano-mês-dia para o formato ano-mês e armazena os resultados em HIRE_MONTH. AYM então adiciona seis meses a HIRE_MONTH e armazena o resultado em AFTER6MONTHS:

TABLE FILE EMPLOYEE
PRINT HIRE_DATE AND COMPUTE
HIRE_MONTH/I4YM = HIRE_DATE/100 ;
AFTER6MONTHS/I4YM = AYM(HIRE_MONTH, 6, AFTER6MONTHS);
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'MIS';
END

A saída é:

LAST_NAME        FIRST_NAME  HIRE_DATE  HIRE_MONTH  AFTER6MONTHS
---------        ----------  ---------  ----------  ------------
BLACKWOOD        ROSEMARIE    82/04/01       82/04         82/10
CROSS            BARBARA      81/11/02       81/11         82/05
GREENSPAN        MARY         82/04/01       82/04         82/10
JONES            DIANE        82/05/01       82/05         82/11
MCCOY            JOHN         81/07/01       81/07         82/01
SMITH            MARY         81/07/01       81/07         82/01

Information Builders