Olá,
quase todas as versões atuais de Cobol (Micro Focus, Fujitsu, Raincode, Open Cobol, IBM Enterprise Cobol, Elastic Cobol, Veryant isCobol etc) suportam OO, mas boa parte implementa o DRAFT do Cobol 97.
O padrão final, 2002, não foi suportado por praticamente nenhum fornecedor Cobol, exceto Hitachi (
http://www.hitachi.com/products/it/s...ents/cobol.pdf).
Umas das coisas interessantes do Cobol 2002 é o suporte a funções definidas pelo usuário, então é possível criar uma função como em outras linguagens:
Código COBOL:
function-id. mydouble.
environment division.
data division.
linkage section.
01 a-number pic 9(2).
procedure division using a-number returning a-number.
compute a-number = a-number * 2 end-compute
exit function
Utilizando a UDF (User Defined Function) acima.
Código COBOL:
identification division.
program-id. myfunctiontest.
environment division.
configuration section.
repository. function mydouble .
data division.
working-storage section.
01 num-1 pic 9(2).
01 num-2 pic 9(2).
procedure division.
move 5 to num-1
compute num-2 = mydouble(num-1) end-compute
display num-2
exit program.
Mais informações sobre Hitachi OO Cobol 2002
http://www.hitachi.com/products/it/s...ents/cobol.pdf
Saludos, Emerson