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

Getting the length of a variable data string


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

New User


Joined: 22 Mar 2005
Posts: 5

PostPosted: Wed Sep 27, 2006 6:38 pm
Reply with quote

Hi all

I have a problem where I am trying to get the length of a variable data string. Basically it is a group of fields but not a copybook and I need to calculate the length with out doing a perform and calculating byte by byte.

Can anyone give me an easier way to do it.


Your help is much appreciated.

Regards
Llewellyn Naicker
Back to top
View user's profile Send private message
MFRASHEED

Active User


Joined: 14 Jun 2005
Posts: 186
Location: USA

PostPosted: Wed Sep 27, 2006 8:12 pm
Reply with quote

If i understood issue correctly, here is what you can use.

You can move the group of fields under one level and get length of the whole level.

Example:
Code:

01  WS-fields.                       
    05  WS-FLD1               PIC X(6).
    05  WS-FLD2               PIC X(9).
    05  WS-FLD1               PIC X(8).

01 WS-FLD-LEN               PIC S9(3)




and use following code

Code:


MOVE LENGTH OF WS-FIELDS                 
                            TO WS-FLD-LEN

Back to top
View user's profile Send private message
LlewellynNaicker

New User


Joined: 22 Mar 2005
Posts: 5

PostPosted: Thu Sep 28, 2006 11:05 am
Reply with quote

Hi there thanx so much for your reply. I was not sure if that statement would work but will try it out. icon_biggrin.gif
Back to top
View user's profile Send private message
shreevamsi

Active User


Joined: 23 Feb 2006
Posts: 305
Location: Hyderabad,India

PostPosted: Thu Sep 28, 2006 12:28 pm
Reply with quote

hi LlewellynNaicker,

If you are not sure...abt the lenght of the variable withut trailing spaces,
here is a method...you can follow.

1. Reverse the String
2. Search for the non space charecter from the begining of the reversed string. Get the No of trailing Spaces
3. Subtract the number of spaces from the lenght of the variable with spaces.

~Vamsi
Back to top
View user's profile Send private message
elangomvs

New User


Joined: 07 Apr 2006
Posts: 4

PostPosted: Tue Oct 17, 2006 4:10 pm
Reply with quote

LlewellynNaicker wrote:
Hi all

I have a problem where I am trying to get the length of a variable data string. Basically it is a group of fields but not a copybook and I need to calculate the length with out doing a perform and calculating byte by byte.

Can anyone give me an easier way to do it.


Your help is much appreciated.

Regards
Llewellyn Naicker


hi,

do like this

01 STR1 PIC X(80).
01 LEN PIC 99.


PROCEDURE DIVISION.

PERFORM VARYING I FROM 80 BY -1 UNTIL STR1(I:1) > SPACES
END-PERFORM.

MOVE I TO LEN.


now the data name LEN have the actual length.
Back to top
View user's profile Send private message
elangomvs

New User


Joined: 07 Apr 2006
Posts: 4

PostPosted: Tue Oct 17, 2006 4:15 pm
Reply with quote

hi,

do like this

01 STR1 PIC X(80).
01 LEN PIC 99.
01 I PIC 99.

PROCEDURE DIVISION.

PERFORM VARYING I FROM 80 BY -1 UNTIL STR1(I:1) > SPACES
END-PERFORM.

MOVE I TO LEN.


now the data name LEN have the actual length.


>>> ELANGO G
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 Store the data for fixed length COBOL Programming 1
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 Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
Search our Forums:

Back to Top