**************** ABRIR ARQUIVOS *********** OPEN (ENTRADA,INPUT) ABRIR ENTRADA OPEN (SAIDA,OUTPUT) ABRIR SAIDA * CAPTURAR DEPOSITO GET ENTRADA,DADOS LER PRIMEIRO NUMERO PACK DEPOSP,DEPOSIN COMPACTAR DEPOSITO EM DEPOSP MVC MSGOUT,=CL132' ' LIMPAR MSGOUT MVC MSGOUT(11),=C'DEPOSITO = ' CARREGAR LITERAL EM MSGOUT MVC MSGOUT+11(14),=X'40204B2020204B2021206B202060' ED MSGOUT+11(14),DEPOSP EDITAR O DEPOSITO PUT SAIDA,MSG EXIBIR MENSAGEM * CAPTURAR TAXA GET ENTRADA,DADOS LER SEGUNDO NUMERO PACK TAXAP,TAXAIN COMPACTAR TAXA EM TAXAP MVC MSGOUT,=CL132' ' LIMPAR MSGOUT MVC MSGOUT(07),=C'TAXA = ' CARREGAR LITERAL EM MSGOUT MVC MSGOUT+7(08),=X'402021206B202060' ED MSGOUT+7(8),TAXAP EDITAR A TAXA MVC MSGOUT+15(1),=C'%' ACRESCENTAR '%' NA MENSAGEM PUT SAIDA,MSG EXIBIR MENSAGEM * CAPTURAR MESES GET ENTRADA,DADOS LER TERCEIRO NUMERO PACK MESESP,MESESIN COMPACTAR MESES EM MESESP MVC MSGOUT,=CL132' ' LIMPAR MSGOUT MVC MSGOUT(08),=C'MESES = ' CARREGAR LITERAL EM MSGOUT MVC MSGOUT+8(05),=X'4020212060' ED MSGOUT+8(5),MESESP EDITAR MESES PUT SAIDA,MSG EXIBIR MENSAGEM FIMARQ EQU * * CARREGAR MESES EM R3 ZAP WDOUBLE,MESESP COLOCAR MESESP EM 64 BITS CVB R3,WDOUBLE CARREGAR MESESP EM R3 * CALCULO MENSAL INICALC EQU * ZAP WDOUBLE,SALDOP CARREGAR SALDO EM 64 BITS MP WDOUBLE,TAXAP MULTIPLICA SALDO PELA TAXA SRP WDOUBLE,64-4,5 DESPREZA 2 DECIMAIS E DIVIDE POR 100 ZAP RENDAP,WDOUBLE CARREGAR RESULTADO EM RENDAP AP SALDOP,RENDAP CREDITAR RENDA NO SALDO AP SALDOP,DEPOSP CREDITAR DEPOSITO NO SALDO AP MESP,=P'1' SOMA 1 EM MES MVC MSGOUT,=CL132' ' LIMPAR MSGOUT MVC MSGOUT(7),=C'NO MES ' LITERAL NA MENSAGEM MVC MSGOUT+7(05),=X'4020212060' MASCARA DO MES ED MSGOUT+7(05),MESP EDITAR MES MVC MSGOUT+12(9),=C' RENDA = ' LITERAL NA MENSAGEM MVC MSGOUT+21(14),=X'40204B2020204B2021206B202060' ED MSGOUT+21(14),RENDAP EDITAR RENDA MVC MSGOUT+35(09),=C' SALDO = ' LITERAL NA MENSAGEM MVC MSGOUT+44(16),=X'402020204B2020204B2021206B202060' ED MSGOUT+44(16),SALDOP EDITAR SALDO PUT SAIDA,MSG EXIBIR MENSAGEM BCT R3,INICALC VOLTA PARA INICALC SE R3 > 0 * FECHAR ARQUIVOS CLOSE ENTRADA FECHAR ENTRADA CLOSE SAIDA FECHAR SAIDA **************** VOLTA PARA CHAMADOR **************** TERMINO MACRO TERMINO ********* VARIAVEIS ************** WDOUBLE DS PL8 DEPOSP DS PL5 TAXAP DS PL3 MESESP DS PL2 RENDAP DS PL5 MESP DC PL2'0' SALDOP DC PL6'0' * DADOS DS 0CL80 DEPOSIN DS CL8 ORG DADOS TAXAIN DS CL4 ORG DADOS MESESIN DS CL3 ORG DADOS DS CL80 * MSG DS 0CL133 DC CL1' ' MSGOUT DS CL132 * SAIDA DCB DDNAME=SAIDA, NOME DO ARQUIVO * DSORG=PS, * MACRF=PM, * LRECL=133, * RECFM=FBA, * BLKSIZE=6650 * ENTRADA DCB DDNAME=ENTRADA, NOME DO ARQUIVO * DSORG=PS, * MACRF=GM, * LRECL=80, * RECFM=FB, * BLKSIZE=4000, * EODAD=FIMARQ LTORG END