Logo 
Search:

Cobol Articles

Submit Article
Home » Articles » Cobol » Homework HelpRSS Feeds

Program of purchase and rebate amount payslip

Posted By: Amelia Brown     Category: Cobol     Views: 3880

Position Desc.
1 - 3 Customer-Code.
4 - 6 It-Code.
7 - 14 Purchase amount (9(4) V 99).

Output file should contain above field

Addition to it should also contain total purchase amount for each customer and rebate and net amount.
rebate calculation is done as under.

Purchase amount rebate
<= 1000 1.5%
greater 1000 and <= 7000 2.5%
greater 7000 3.0%

Code for Program of purchase and rebate amount payslip in Cobol

       IDENTIFICATION DIVISION.
       PROGRAM-ID. ASSIGN-6.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT IN6 ASSIGN TO DISK
           ORGANIZATION IS LINE SEQUENTIAL.
           SELECT OUT6 ASSIGN TO DISK
           ORGANIZATION IS LINE SEQUENTIAL.
       DATA DIVISION.
       FILE SECTION.
       FD IN6
          LABEL RECORDS ARE STANDARD
          VALUE OF FILE-ID IS "IN6.TXT".
       01 IN5-REC.
          05 CUST-CODE-IN PIC X(3).
          05 ITEM-CODE-IN PIC X(3).
          05 PURCHASE-AMT-IN PIC 9(4)V99.

       FD OUT6
          LABEL RECORDS ARE STANDARD
          VALUE OF FILE-ID IS "OUT6.TXT".

       01 OUTREC PIC X(80).

       WORKING-STORAGE SECTION.
       77 ARE-THERE-MORE-REC PIC XXX VALUE 'YES'.
       77 BOF PIC XXX VALUE 'YES'.
       77 WS-CUSTCODE-HOLD PIC X(3). 
       77 WS-TOTAL PIC 9(6)V99 VALUE 0.
       77 WS-REBET PIC 9(4)V99.

       01 H1.
          05 STAR PIC X(80) VALUE ALL '*'.
       01 H2.
          05 CUST-CODE PIC X(10) VALUE 'CUST-CODE'.
          05 FILLER PIC X(1).
          05 IT-CODE PIC X(7) VALUE 'IT-CODE'.
          05 FILLER PIC X(3).
          05 PUR-AMT PIC X(10) VALUE 'PURCH-AMT.'.
          05 FILLER PIC X(1).
          05 REBET PIC X(5) VALUE 'REBET'.
          05 FILLER PIC X(3).
          05 REBET PIC X(10) VALUE 'NET-AMT'.
       01 H3.
          05 SPS PIC X(80) VALUE ALL SPACE.

       01 OUT6-REC.
          05 CUST-CODE-OUT PIC 9(3).
          05 FILLER PIC X(8).
          05 ITEM-CODE-OUT PIC 9(3).
          05 FILLER PIC X(6).
          05 PURCHASE-AMT-OUT PIC $9(4).99.
          05 FILLER PIC X(5).
          05 REBET-OUT PIC $9(4).99.
          05 FILLER PIC X(5).
          05 NET-OUT PIC $9(6).99.
         

       01 TOTAL-REC.
          05 SPS PIC X(20) VALUE ALL SPACES.
          05 MSG PIC X(30) VALUE "TOTAL PURCHASE AMOUNT IS :=> ".
          05 TOTAL-OUT PIC $9(6).99

       PROCEDURE DIVISION.
       MAIN-PARA.
           OPEN INPUT IN6
                OUTPUT OUT6.

                WRITE OUTREC FROM H3.
                WRITE OUTREC FROM H1.
                WRITE OUTREC FROM H2.
                WRITE OUTREC FROM H1.
                WRITE OUTREC FROM H3.
           READ IN6
                AT END MOVE 'NO' TO ARE-THERE-MORE-REC.
                PERFORM PARA-1 UNTIL ARE-THERE-MORE-REC = 'NO'.

           CLOSE IN6.
           CLOSE OUT6.
           STOP RUN.

       PARA-1.
              IF BOF = 'YES'
                   MOVE CUST-CODE-IN TO WS-CUSTCODE-HOLD
                   MOVE 'NO' TO BOF
              ELSE IF CUST-CODE-IN NOT = WS-CUSTCODE-HOLD
                   PERFORM CONTROL-BREAK-RTN
                   WRITE OUTREC FROM H3.

              MOVE CUST-CODE-IN TO CUST-CODE-OUT.
              MOVE ITEM-CODE-IN TO ITEM-CODE-OUT.
              MOVE PURCHASE-AMT-IN TO PURCHASE-AMT-OUT. 
              COMPUTE WS-TOTAL = WS-TOTAL + PURCHASE-AMT-IN.

             
              IF PURCHASE-AMT-IN < 1000 OR PURCHASE-AMT-IN = 1000
               COMPUTE WS-REBET = PURCHASE-AMT-IN * (0.015)
              ELSE IF PURCHASE-AMT-IN > 1000 AND PURCHASE-AMT-IN < 7000
      /       OR PURCHASE-AMT-IN = 7000
               COMPUTE WS-REBET = PURCHASE-AMT-IN * (0.025)
              ELSE IF PURCHASE-AMT-IN > 7000
               COMPUTE WS-REBET = PURCHASE-AMT-IN * (0.03).

              COMPUTE NET-OUT = PURCHASE-AMT-IN - WS-REBET.
              MOVE WS-REBET TO REBET-OUT.


           WRITE OUTREC FROM OUT6-REC.
           READ IN6 AT END MOVE 'NO' TO ARE-THERE-MORE-REC
           PERFORM CONTROL-BREAK-RTN.

       CONTROL-BREAK-RTN.
           WRITE OUTREC FROM H3.
           MOVE WS-TOTAL TO TOTAL-OUT.
           WRITE OUTREC FROM TOTAL-REC
           MOVE 'YES' TO BOF.
           MOVE 0 TO WS-TOTAL.
           MOVE SPACE TO WS-CUSTCODE-HOLD.
           


Input:- 

C01I01100000
C01I02050000
C01I03100000
C02I02500000
C02I03400000
C02I04500000
C03I01100000
CO3I03200000
CO3I04500000
C05I01050000
C05I02060000
C05I01300000
C05I04600000
C04I01210000
C04I05400000
                                                                                

Output:-

********************************************************************************
CUST-CODE  IT-CODE   PURCH-AMT. REBET   NET-AMT                                 
********************************************************************************
                                                                                
C01        I01      $1000.00     $0015.00     $000985.00                        
C01        I02      $0500.00     $0007.50     $000492.50                        
C01        I03      $1000.00     $0015.00     $000985.00                        
                                                                                
                    TOTAL PURCHASE AMOUNT IS :=>  $002500.00                    
                                                                                
C02        I02      $5000.00     $0125.00     $004875.00                        
C02        I03      $4000.00     $0100.00     $003900.00                        
C02        I04      $5000.00     $0125.00     $004875.00                        
                                                                                
                    TOTAL PURCHASE AMOUNT IS :=>  $014000.00                    
                                                                                
C03        I01      $1000.00     $0015.00     $000985.00                        
CO3        I03      $2000.00     $0050.00     $001950.00                        
CO3        I04      $5000.00     $0125.00     $004875.00                        
                                                                                
                    TOTAL PURCHASE AMOUNT IS :=>  $008000.00                    
                                                                                
C05        I01      $0500.00     $0007.50     $000492.50                        
C05        I02      $0600.00     $0009.00     $000591.00                        
C05        I01      $3000.00     $0075.00     $002925.00                        
C05        I04      $6000.00     $0150.00     $005850.00                        
                                                                                
                    TOTAL PURCHASE AMOUNT IS :=>  $010100.00                    
                                                                                
C04        I01      $2100.00     $0052.50     $002047.50                        
C04        I05      $4000.00     $0100.00     $003900.00                        
                                                                                
                    TOTAL PURCHASE AMOUNT IS :=>  $006100.00                    
  
Share: 


Didn't find what you were looking for? Find more on Program of purchase and rebate amount payslip Or get search suggestion and latest updates.

Amelia Brown
Amelia Brown author of Program of purchase and rebate amount payslip is from London, United Kingdom.
 
View All Articles

Related Articles and Code:


 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!