IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to calculate length of a string


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rohit_k21

New User


Joined: 06 Jun 2005
Posts: 2
Location: India-Pune

PostPosted: Mon Jun 06, 2005 2:36 pm
Reply with quote

Folks

I have requirement

01 WK-CIRCUIT-DATA PIC X(43)

User Data : 1000104104 T3X-13 HRFRCT03K16 HRFRCT03W01

Length of the user data is 41 (including 3 blank spaces between the data)

Kindly suggest me a method where by I can compute the length of the user data including spaces between the data (3 in the above eg) and excluding trailing spaces(2 in the above eg)

I should get 41 as the ans.

Thanks in advance

Rohit
Back to top
View user's profile Send private message
priya

Moderator


Joined: 24 Jul 2003
Posts: 568
Location: Bangalore

PostPosted: Tue Jun 07, 2005 8:34 pm
Reply with quote

Try INSPECT verb.
Back to top
View user's profile Send private message
lucky

New User


Joined: 01 Jun 2005
Posts: 12
Location: Croatia

PostPosted: Wed Jun 08, 2005 12:49 pm
Reply with quote

I'm a C programmer, so I can't write you the COBOL code, but I would do this:
1.) Get the total length of the string (in your case 43)
2.) Loop through the string from the end backwards, and get the value of each character (I believe it's POSITION statement in COBOL).
3.) If the character is a space, decrease the variable from step 1 by 1.
4.) Break on first non-space character.

As I said, I'm a C programmer, so I don't knoe if there is a better way in COBOL.
Back to top
View user's profile Send private message
sivatechdrive

Active User


Joined: 17 Oct 2004
Posts: 191
Location: hyderabad

PostPosted: Wed Jun 08, 2005 3:45 pm
Reply with quote

Hi rohit

try the below code

PERFORM VARYING WS-SUB-NAME FROM LENGTH OF WS-VAR BY -1
UNTIL END-FOUND OR WS-SUB-NAME = 0
IF WS-NAME-CHK(WS-SUB-NAME:1) NOT EQUAL TO SPACE
MOVE 'Y' TO WS-END-OF-FIELD
DISPLAY 'LENGTH ' WS-SUB-NAME
END-IF
END-PERFORM


Regards
siva
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts PARSE Syntax for not fix length word ... JCL & VSAM 7
No new posts Sortjoin and Search for a String and ... DFSORT/ICETOOL 1
No new posts VB to VB copy - Full length reached SYNCSORT 8
Search our Forums:

Back to Top