Wednesday, December 15, 2010

Subroutine to recalculate the B-pay as per the following. If the jobcode is 1 then add 100. If it is 2 add 750 else add 500.

Identification Division.
       Program-ID.
       Environment Division.
       Data Division.
       Working-Storage Section.
       01  Emp-Data.
           02 Empno PIC X(6).
           02 Name PIC A(20).
           02 JobCode PIC 9.
           02 B-Pay PIC 9(6).
       77 BP-Plus-Bonus PIC 9(6).
       Procedure Division.
       Main-Para.
           Display "Enter Employee Number :".
           Accept Empno.
           Display "Enter Employee Name : ".
           Accept Name.
           Display "Enter Job Code (1/2/any): ".
           Accept JobCode.
           Display "Enter Basic Salary :".
           Accept B-Pay.
           CALL "PRO112.COB" USING B-Pay JobCode BP-Plus-Bonus.
           Display (1, 1) Erase.
           Display "Employee Number       : " Empno.
           Display "Employee Name         : " Name.
           Display "Employee Job Code     : " JobCode.
           Display "Employee Basic Salary : " B-Pay.
           Display "B-Pay with bonus      : " BP-Plus-Bonus.
           STOP RUN.

Subroutine file name : PRO112.COB

       Identification Division.
       Program-ID. BONUS-CAL.
       Environment Division.
       Data Division.
       LINKAGE SECTION.
       77 JOBCODE1 PIC 9.
       77 BPAY PIC 9(6).
       77 BONUS PIC 9(6).
       PROCEDURE DIVISION USING BPAY JOBCODE1 BONUS.
       MAIN-PARA.
           IF JOBCODE1 = 1
              ADD BPAY 1000 GIVING BONUS
           ELSE
              IF JOBCODE1 = 2
                 ADD BPAY 750 GIVING BONUS
              ELSE
                 ADD BPAY 500 GIVING BONUS.
           EXIT PROGRAM.

No comments:

Post a Comment