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

Problem with Fixed Bin(15) variable


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sivarajkumarD

New User


Joined: 05 Jan 2006
Posts: 1

PostPosted: Thu Jan 05, 2006 12:30 pm
Reply with quote

Hi All,
I am using PL/1 MVS & VM V1R1 compiler.I want to store values upto
65535 in a variable declared as FIXED BINARY(15).UNSIGNED attribute is unavaible in this compiler.Is there a workaround to overcome this problem?
Back to top
View user's profile Send private message
hsourabh

New User


Joined: 24 May 2005
Posts: 12
Location: Z?rich

PostPosted: Sat Jan 28, 2006 5:24 pm
Reply with quote

FIXED BIN(15) cannot acccomodate a figure as large as 65535!
Why dnt u use FIXED BIN(31) instead??

Sourabh
Back to top
View user's profile Send private message
jawadshaik
Warnings : 1

New User


Joined: 27 Sep 2005
Posts: 16

PostPosted: Tue Jan 31, 2006 1:02 pm
Reply with quote

Hi

we can store more than 32500 value in bin fixed(15):

Dcl i bin fixed(31);
Dcl j bin fixed(15);
Dcl 1 k based(addr(i)),
2 k1 char(2),
2 k2 char(2);
Dcl k3 char(2) based(addr(j));
i = 40000;
k3 = k2;
put skip list(j);
put skip list(j);
put skip list(k)

now the i,k can be used in the place of j for the values greater the 32500.

This work around will work. try it out.
Back to top
View user's profile Send private message
ravi1

New User


Joined: 27 Apr 2006
Posts: 11

PostPosted: Wed May 03, 2006 7:13 pm
Reply with quote

jawadshaik wrote:
Hi

we can store more than 32500 value in bin fixed(15):

Dcl i bin fixed(31);
Dcl j bin fixed(15);
Dcl 1 k based(addr(i)),
2 k1 char(2),
2 k2 char(2);
Dcl k3 char(2) based(addr(j));
i = 40000;
k3 = k2;
put skip list(j);
put skip list(j);
put skip list(k)

now the i,k can be used in the place of j for the values greater the 32500.

This work around will work. try it out.


No, the output of the above code is

-25536
-25536
Back to top
View user's profile Send private message
k_vikram07

New User


Joined: 23 Nov 2005
Posts: 35

PostPosted: Fri Jun 09, 2006 5:13 pm
Reply with quote

/*************************************/
DCL bin31 FIXED BIN(31);
DCL bin15 FIXED BIN(15);

DCL 1 temp1 BASED(ADDR(bin31)),
2 tmpdummy FIXED BIN(15),
2 tmpbin15 FIXED BIN(15);

tmpdummy = 0;

/***********************************/

Use bin31 for internal purposes for calculations. Programatically make sure that the value in bin31 is always positive and is in limits.
U will get the equivalent FIXED BIN(15) UNSIGNED value in tmpbin15.

-Vik.
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 -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts Store the data for fixed length COBOL Programming 1
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts Pulling a fixed number of records fro... DB2 2
No new posts Map Vols and Problem Dataset All Other Mainframe Topics 2
No new posts Variable Output file name DFSORT/ICETOOL 8
Search our Forums:

Back to Top