Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Validating COBOL program for space Free

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

New User


Joined: 05 Apr 2005
Posts: 17
Location: Bangalore

PostPosted: Thu Sep 21, 2006 5:27 pm    Post subject: Validating COBOL program for space Free
Reply with quote

i need to validate fields in a cics cobol programe...

Extraneous spaces are not allowed

Extraneous Spaces will be defined as

 Any spaces at the beginning of a field before the first non-space character
 More than one space in between any two non-space characters within a field

input data need to be parsed and extraneous spaces removed. ..
i e in fields like name , address etc... if any extraneous space is there then it should be parsed
Back to top
View user's profile Send private message

UmeySan

Active Member


Joined: 22 Aug 2006
Posts: 755
Location: Germany

PostPosted: Thu Sep 21, 2006 7:22 pm    Post subject: Re: validation programe
Reply with quote

Hi !

You could use INSPECT and STRING to do this validation.

Regards, UmeySan
Back to top
View user's profile Send private message
DavidatK

Active Member


Joined: 22 Nov 2005
Posts: 700
Location: Troy, Michigan USA

PostPosted: Fri Sep 22, 2006 12:42 am    Post subject: Re: Validating COBOL program for space Free
Reply with quote

rajivtechno,

here is a solution you can probably adapt.

Code:

WORKING-STORAGE SECTION.                                         
                                                                 
01  VAR1                        PIC X(40)      VALUE             
    '  NOW IS  THE   TIME FOR ALL  GOOD MEN T'.                 
01  WS-LEN                      PIC S9(5)      COMP-3 VALUE 0.   
01  WS-SUB-1                    PIC S9(5)      COMP-3 VALUE 0.   
01  WS-SUB-2                    PIC S9(5)      COMP-3 VALUE 0.   
01  WS-SPACE-CNT                PIC S9(5)      COMP-3 VALUE 0.   
                                                                 
LINKAGE SECTION.                                                 
                                                                 
PROCEDURE DIVISION.                                             
                                                                 
PROGRAM-START.                                                   
                                                                 
    MOVE LENGTH OF VAR1         TO WS-LEN.                       
                                                                 
    DISPLAY 'VAR1 >' VAR1 '<'.                                   
                                                                 
    MOVE +1                     TO WS-SPACE-CNT.                   

    PERFORM                                                         
      VARYING WS-SUB-1 FROM 1 BY 1                                 
      UNTIL WS-SUB-1 > WS-LEN                                       
        IF VAR1(WS-SUB-1:1) = ' '                                   
        THEN                                                       
            IF WS-SPACE-CNT > 0                                     
            THEN                                                   
                CONTINUE                                           
            ELSE                                                   
                ADD +1          TO WS-SUB-2                         
                MOVE ' '        TO VAR1(WS-SUB-2:1)                 
                ADD +1          TO WS-SPACE-CNT                     
            END-IF                                                 
        ELSE                                                       
            ADD +1              TO WS-SUB-2                         
            MOVE VAR1(WS-SUB-1:1)                                   
                                TO VAR1(WS-SUB-2:1)                 
            MOVE +0             TO WS-SPACE-CNT             
        END-IF                                               
    END-PERFORM.                                             
                                                             
    ADD +1                      TO WS-SUB-2                 
    IF WS-SUB-2 <= WS-LEN                                   
    THEN                                                     
        COMPUTE WS-LEN = WS-LEN - WS-SUB-2 + 1               
        MOVE ' '                TO VAR1(WS-SUB-2:WS-LEN)     
    END-IF.                                                 
                                                             
    DISPLAY 'VAR1 >' VAR1 '<'.                               


Code:

VAR1 >  NOW IS  THE   TIME FOR ALL  GOOD MEN T<
VAR1 >NOW IS THE TIME FOR ALL GOOD MEN T      <


Dave
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 XML Parse for COBOL 5.2 Bhanu Praveen COBOL Programming 1 Sat Jul 08, 2017 8:58 pm
No new posts Writing a file using online program grvtomar PL/I & Assembler 3 Fri Jun 30, 2017 1:06 pm
No new posts pre-compiler for program in an HFS Pedro DB2 0 Fri Jun 23, 2017 11:13 pm
No new posts Dynamic output file creation in cobol... smileheal COBOL Programming 7 Thu Jun 15, 2017 10:53 pm
No new posts Search utility(3.14) using JCl and Cobol RKS3 COBOL Programming 12 Sat Jun 10, 2017 10:24 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us