Thursday, March 15, 2012

CICS program to add two numbers

MAP

MAP17 DFHMSD TYPE=&SYSPARM,MODE=INOUT,LANG=COBOL,                      X
               TIOAPFX=YES                                             
MAP17 DFHMDI SIZE=(24,80),LINE=1,COLUMN=1                              
      DFHMDF POS=(3,33),LENGTH=10,INITIAL='ADDITION',                  X
               ATTRB=(BRT,PROT)                                        
      DFHMDF POS=(6,26),INITIAL='ENTER THE FIRST NO',ATTRB=(BRT,PROT), X
               LENGTH=20                                               
NO1   DFHMDF POS=(6,48),INITIAL='__',ATTRB=(NORM,UNPROT,IC),LENGTH=2   
      DFHMDF POS=(6,51),INITIAL=' ',ATTRB=(NORM,ASKIP),LENGTH=1        
      DFHMDF POS=(7,26),INITIAL='ENTER THE SEC NO',ATTRB=(BRT,PROT),   X
               LENGTH=20                                               
NO2   DFHMDF POS=(7,48),INITIAL='__',ATTRB=(NORM,UNPROT),LENGTH=2      
      DFHMDF POS=(9,26),INITIAL='RESULT IS',ATTRB=(BRT,PROT),LENGTH=10 
RES   DFHMDF POS=(9,38),INITIAL='__',ATTRB=(NORM,PROT),LENGTH=2        
MAP17 DFHMSD TYPE=FINAL                                                
      END    


Cobol code

         IDENTIFICATION DIVISION.                             
         PROGRAM-ID.     ADDMA17.                             
         AUTHOR.         KK.                                  
         DATA DIVISION.                                       
         WORKING-STORAGE SECTION.                             
          COPY MAP17.                                         
          01 WS-STRING PIC A(75).                             
          01 WS-N1     PIC 99.                                
          01 WS-N2     PIC 99.                                
         PROCEDURE DIVISION.                                  
         A0000-MAINAREA.                                      
           MOVE LOW-VALUES TO MAP17O                          
           PERFORM SEND-MAP-PARA                              
           PERFORM RECV-MAP-PARA                              
           PERFORM COMPUTE-PARA                               
           PERFORM SEND-MAP-PARA                              
           PERFORM CLOSE-PARA.                                   
         SEND-MAP-PARA.                                          
           EXEC CICS                                             
             SEND MAP('MAP17') MAPSET('MAP17') FROM (MAP17O)     
           END-EXEC.                                             
         RECV-MAP-PARA.                                          
           EXEC CICS                                             
             RECEIVE MAP('MAP17') MAPSET('MAP17') INTO (MAP17I)  
           END-EXEC.                                             
         COMPUTE-PARA.                                           
             MOVE NO1I TO WS-N1                                  
             MOVE NO2I TO WS-N2                                  
             ADD WS-N1 TO WS-N2                                  
             MOVE WS-N2 TO RESO.                                 
         CLOSE-PARA.                                             
             EXEC CICS                                           
              RETURN                                             
             END-EXEC.        

1 comment: