Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
To compare an input file with a master file

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming
View previous topic :: :: View next topic  
Author Message
lekshmi133

New User


Joined: 14 Apr 2020
Posts: 2
Location: India

PostPosted: Tue Apr 14, 2020 3:01 pm    Post subject: To compare an input file with a master file
Reply with quote

Hi All,

Can anyone help me in this.
Requirement: To compare an input file to a master file and write the unmatched records from the input file to an output file and the matched records to the next separate page.

I tried writing the program. But I'm getting the unmatched records from both the files.
I have pasted a part of my program here. Kindly check and guide me on what I have done wrong

Code:
        PROCEDURE DIVISION.                                     
       *------------------*                                     
        A000-MAIN.                                             
       *----------*                                             
            DISPLAY 'ENTERING DATE PARA'.                       
            PERFORM DATE-PROCESS        THRU DATE-EXIT.         
            DISPLAY 'ENTERING HEAD PARA'.                       
            PERFORM HEAD-PARA           THRU HEAD-EXIT.         
            DISPLAY 'ENTERING RAW FILE OPEN PARA'.             
            PERFORM OPEN-RAW            THRU OPEN-EXIT.         
       *    DISPLAY 'ENTERING READ  PARA'.                     
       *    PERFORM READ-RAWFILE       THRU READ-EXIT.         
       *    DISPLAY 'EXITED READ  PARA'.                       
            CLOSE RFILE.                                       
            CLOSE MFILE.                                       
            CLOSE RAWFILE.                                     
            PERFORM EXIT-PARA.                                 
        A000-EXIT.                                               
       *----------*                                             
            EXIT.                                               
        DATE-PROCESS.                                           
       *-------------*                                           
            MOVE FUNCTION CURRENT-DATE  TO WS-CDATE.             
            DISPLAY 'DATE               : ' WS-DATE.             
            DISPLAY 'TIME               : ' WS-TIME.             
            MOVE WS-DAY TO WS-MDAY                               
            MOVE WS-MON TO WS-MMON                               
            MOVE WS-YEAR TO WS-MYEAR                             
            DISPLAY 'MODIFIED DATE               : ' WS-MDATE.   
        DATE-EXIT.                                               
       *----------*                                             
            EXIT.                                               
                                                                 
        OPEN-RAW.                                               
            SET NOT-END-OF-RAW-FILE TO TRUE                 
            OPEN INPUT RAWFILE                               
            OPEN INPUT MFILE                                 
       *         OUTPUT RFILE                               
            IF WS-RAW-STAT-OK                               
               PERFORM READ-RAWFILE UNTIL WS-END-OF-RFILE   
            ELSE                                             
               DISPLAY 'RAW FILE OPEN STSTUS :' WS-RSTS     
               CLOSE RAWFILE                                 
               PERFORM EXIT-PARA                             
            END-IF.                                         
                                                             
        OPEN-EXIT.                                           
       *----------*                                         
            EXIT.                                           
                                                             
        READ-RAWFILE.                                       
                                                             
            READ RAWFILE                                     
             AT END                                           
              SET END-OF-RAW-FILE TO TRUE                     
             NOT AT END                                       
              MOVE FS-EMPID TO WS-EMPID                       
              SET NOT-END-OF-MASTER-FILE TO TRUE             
       *      OPEN INPUT MFILE.                               
              IF WS-MASTER-STAT-OK                           
                 PERFORM PROCESS-PARA                         
              ELSE                                           
                 DISPLAY 'ERROR OPENING MASTER FILE' WS-MSTS 
                 CLOSE MFILE                                 
                 PERFORM EXIT-PARA                           
              END-IF.                                         
                                                             
        READ-EXIT.                                           
            EXIT.                                           
                                                             
        PROCESS-PARA.                                       
       *    OPEN INPUT MFILE.                               
       *     IF WS-MASTER-STAT-OK                           
            READ MFILE                                       
             AT END                                         
              SET END-OF-MASTER-FILE TO TRUE                 
       *      CONTINUE                                       
             NOT AT END                                     
               IF WS-EMPID = FS-MEMPID                       
       *        MOVE FS-NAME     TO FS-RNAME                 
       *          MOVE WS-EMPID    TO FS-REMPID             
                  MOVE FS-SKILL    TO WS-SKILL               
                  DISPLAY WS-EMPID                           
                  DISPLAY FS-SKILL                           
               ELSE                                         
                  ADD 1 TO WS-SRNO                           
                  IF WS-SRNO = 1                                 
                     PERFORM OTHER-PARA THRU OTHER-EXIT         
                     MOVE FS-NAME     TO WS-ENAME               
       *             MOVE WS-EMPID    TO FS-REMPID               
                     MOVE FS-SKILL    TO WS-SKILL               
                     MOVE FS-MDSGN    TO WS-DSGN                 
                     WRITE REPORT-REC FROM WS-REPORT-REC AFTER 1
                  ELSE                                           
                     MOVE FS-NAME     TO WS-ENAME               
       *             MOVE WS-EMPID    TO FS-REMPID               
                     MOVE FS-SKILL    TO WS-SKILL               
                     MOVE FS-MDSGN    TO WS-DSGN                 
                     WRITE REPORT-REC FROM WS-REPORT-REC AFTER 1
                  END-IF                                         
               END-IF                                           
               DISPLAY 'END IF'                                 
            END-READ.                                           
            DISPLAY 'MFILE END READ'.                           
                                                           
        OTHER-PARA.                                         
            MOVE 'OTHER'     TO WS-UNIT.                   
            WRITE REPORT-REC FROM WS-BLANK-LINE AFTER 1.   
            WRITE REPORT-REC FROM WS-BLANK-LINE AFTER 1.   
            WRITE REPORT-REC FROM REPORT-LINE-4 AFTER 1.   
            WRITE REPORT-REC FROM REPORT-LINE-5 AFTER 1.   
            WRITE REPORT-REC FROM REPORT-LINE-6 AFTER 1.   
            WRITE REPORT-REC FROM REPORT-LINE-7 AFTER 1.   
            WRITE REPORT-REC FROM REPORT-LINE-8 AFTER 1.   
                                                           
        OTHER-EXIT.                                         
            EXIT.                                           
                                                           
        HEAD-PARA.                                         
            OPEN OUTPUT RFILE                               
            IF STS-SUCCESSFUL                               
               WRITE REPORT-REC FROM REPORT-LINE-1 AFTER 1 
            ELSE                                                         
               DISPLAY 'STATUS OF OPENING  OUTPUT FILE :' STS-STATUS     
               CLOSE RFILE                                               
               PERFORM EXIT-PARA                                         
            END-IF.                                                     
       HEAD-EXIT.     
           EXIT.       
       EXIT-PARA.     
           STOP RUN.


Coded for you - please do it yourself in future
Back to top
View user's profile Send private message

prino

Senior Member


Joined: 07 Feb 2009
Posts: 1206
Location: Vilnius, Lithuania

PostPosted: Tue Apr 14, 2020 3:06 pm    Post subject:
Reply with quote

Are you stupid? Or just pretending?

This is a forum for experts, and as an expert you would have read the stickies at the top of this forum!

'nuff said!
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2365
Location: Hampshire, UK

PostPosted: Tue Apr 14, 2020 3:53 pm    Post subject: Reply to: To compare an input file with a master file
Reply with quote

I would also suggest that you join the beginner's forum whilst learning:-here
Back to top
View user's profile Send private message
lekshmi133

New User


Joined: 14 Apr 2020
Posts: 2
Location: India

PostPosted: Tue Apr 14, 2020 5:51 pm    Post subject:
Reply with quote

Sorry all.. I'm a beginner.. I dont knw where to post n how.. I'm a new user and have joined today only... Kindly guide me where to post n how
Back to top
View user's profile Send private message
sergeyken

Active Member


Joined: 29 Apr 2008
Posts: 801
Location: Maryland

PostPosted: Tue Apr 14, 2020 6:33 pm    Post subject:
Reply with quote

http://www.ibmmainframeforum.com/
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2365
Location: Hampshire, UK

PostPosted: Tue Apr 14, 2020 7:01 pm    Post subject: Reply to: To compare an input file with a master file
Reply with quote

There is a post, almost at the top of the COBOL forum, showing how to match two datasets which is what you are doing. Study it and work out how you would have to adjust it for your particular requirement.

Use DISPLAYs to show values at critical points.

When posting, use the code tags to present code and data. You should use the POST REPLY button to bring up the reply editor and you will see the buttons along the top of the text entry area. This also applies in the beginners forum which is where you should be. The link has been posted twice now.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Problem getting record length of a re... amitc23 COBOL Programming 1 Thu Jul 02, 2020 10:52 pm
No new posts Want to check if trailer count is 0 a... rohanthengal JCL & VSAM 10 Fri Jun 26, 2020 10:47 am
No new posts File transfer to remote system using ... kalyan.lc5 TSO/ISPF 2 Wed Jun 24, 2020 1:24 pm
No new posts How to remove remote file older than ... ssuthagar All Other Mainframe Topics 4 Thu Jun 04, 2020 6:26 am
No new posts How to fetch the latest record from a... Dinesh Mani DFSORT/ICETOOL 8 Tue Jun 02, 2020 5:34 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us