IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search Log in to check your private messages Log in
 

Replacing leading zeroes from signed numeric field


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

New User


Joined: 24 May 2010
Posts: 92
Location: Pune

PostPosted: Thu Oct 03, 2013 4:25 pm
Reply with quote

Hi,

I have a variable defined as -

05 A PIC -9(09).99.

it is taking the values from databse as -

000000100.00
-000000015.25
000060000.00

Now I want the output in the field as -

100.00
-15.25
600.00


Please assist.
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Thu Oct 03, 2013 4:34 pm
Reply with quote

Define a variable with a floating sign, and MOVE A to that variable.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7312
Location: Inside the Matrix

PostPosted: Thu Oct 03, 2013 4:41 pm
Reply with quote

And if you want it left-justified, use UNSTRING ... DELIMITED BY ALL SPACE INTO a-rubbish-field the-field-you-want.
Back to top
View user's profile Send private message
kishpra

New User


Joined: 24 May 2010
Posts: 92
Location: Pune

PostPosted: Thu Oct 03, 2013 5:00 pm
Reply with quote

Please give an example
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Thu Oct 03, 2013 5:06 pm
Reply with quote

Floating insertion editing.
Back to top
View user's profile Send private message
kishpra

New User


Joined: 24 May 2010
Posts: 92
Location: Pune

PostPosted: Thu Oct 03, 2013 5:12 pm
Reply with quote

I defined the variable as PIC +++++++9999.99.

and the output i got is -

+0100.00
-0015.25
+60000.00

But i need the output as -

100.00
-15.25
60000.00

Please assist.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7312
Location: Inside the Matrix

PostPosted: Thu Oct 03, 2013 5:20 pm
Reply with quote

Use - instead of plus.

Decide what you want for zero, for numbers less than one, Define an apporpriate number of -s, like PIC -(9)9.99 - who knows? You do.

Read my previous post.
Back to top
View user's profile Send private message
jerryte

Active User


Joined: 29 Oct 2010
Posts: 195
Location: Toronto, ON, Canada

PostPosted: Fri Oct 11, 2013 10:48 pm
Reply with quote

Try the below code
Code:
05 A PIC -9(09).99.
05 B PIC -(09)9.99.
05 B-X  REDEFINES B PIC X(13).
05 C PIC X(13).
05 D PIC X(13).

MOVE A TO B
UNSTRING B-X
  DELIMITED BY ALL ' '
  INTO C D
END-UNSTRING
DISPLAY D

Variable D has what you want
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic All times are GMT + 6 Hours
Forum Index -> COBOL Programming
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Forum Replies
No new posts JCL for replacing code in Cobol JCL & VSAM 8
No new posts how to get total count from numeric d... SYNCSORT 9
No new posts BMS map length field greater than zero CICS 3
No new posts Break a record into fields, each fiel... SYNCSORT 2
No new posts SYNCSORT Error - CONTROL FIELD BEYOND... SYNCSORT 10

Back to Top