By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,579 Members | 1,790 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,579 IT Pros & Developers. It's quick & easy.

Cobol to .Net

P: n/a
No Cobol.Net yet? Wha?!?

Anywho, hope someone is familiar enough with Cobol to help me out here. I
have some files written by COBOL applications that contain COMP-3 fields (on
a mainframe) that I ftp up to a network folder for processing in .Net.
Anyone know if it's possible (and how) to convert those COMP-3 (PIC S9(5)V99
COMP-3, for example) to a numeric of type double/single/et cetera?

Hope so, as of now, I'm writing all the fix-it cob programs to convert on
the mainframe before the ftp. If there is a .Net solution, that would be so
much easier.

Thanks,

Mythran
Nov 21 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
Mythran wrote:
No Cobol.Net yet? Wha?!?

Anywho, hope someone is familiar enough with Cobol to help me out here. I
have some files written by COBOL applications that contain COMP-3 fields (on
a mainframe) that I ftp up to a network folder for processing in .Net.
Anyone know if it's possible (and how) to convert those COMP-3 (PIC S9(5)V99
COMP-3, for example) to a numeric of type double/single/et cetera?

Hope so, as of now, I'm writing all the fix-it cob programs to convert on
the mainframe before the ftp. If there is a .Net solution, that would be so
much easier.
There is, though I don't really know anything about it.
http://www.apress.com/book/bookDisplay.html?bID=112

Thanks,

Mythran

Nov 21 '05 #2

P: n/a
Never used it and it's been many moons since I used COBOL bu there is Tiny
Cobol on source forge. It might contian some functions for conveting the
COMP-3 fields.

http://tiny-cobol.sourceforge.net/index.php

regards,
John
"Mythran" <ki********@hotmail.comREMOVETRAIL> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
No Cobol.Net yet? Wha?!?

Anywho, hope someone is familiar enough with Cobol to help me out here. I
have some files written by COBOL applications that contain COMP-3 fields
(on a mainframe) that I ftp up to a network folder for processing in .Net.
Anyone know if it's possible (and how) to convert those COMP-3 (PIC
S9(5)V99 COMP-3, for example) to a numeric of type double/single/et
cetera?

Hope so, as of now, I'm writing all the fix-it cob programs to convert on
the mainframe before the ftp. If there is a .Net solution, that would be
so much easier.

Thanks,

Mythran

Nov 21 '05 #3

P: n/a
there is COBOL.NET its made by Fujitsu
"Frank Rizzo" <no**@none.com> wrote in message
news:eJ**************@TK2MSFTNGP10.phx.gbl...
Mythran wrote:
No Cobol.Net yet? Wha?!?

Anywho, hope someone is familiar enough with Cobol to help me out here.
I have some files written by COBOL applications that contain COMP-3
fields (on a mainframe) that I ftp up to a network folder for processing
in .Net. Anyone know if it's possible (and how) to convert those COMP-3
(PIC S9(5)V99 COMP-3, for example) to a numeric of type double/single/et
cetera?

Hope so, as of now, I'm writing all the fix-it cob programs to convert on
the mainframe before the ftp. If there is a .Net solution, that would be
so much easier.


There is, though I don't really know anything about it.
http://www.apress.com/book/bookDisplay.html?bID=112

Thanks,

Mythran


Nov 21 '05 #4

P: n/a
Here there is a good description of the COMP-3 fields:
http://www.discinterchange.com/TechT...d_fields_.html

It looks like it is a "packed" decimal representation: every byte contains
two decimal digits. The last byte contains the sign.

An unchecked function to convert a buffer may be this:
(Note that OutlookExpress does not compile this :-))

function PackedToDecimal(buffer() as byte) as decimal
dim result as decimal = 0
dim i as integer
dim b as byte
for i = 0 to buffer.length - 2
b = buffer(i)
result += (b and (&HF)) + ((b >> 4) * 10)
next
b = buffer(i)
r +=((b >> 4) * 10)
dim s as byte = (b and &HF)
if s = &HD Then
result = -result
end if
return r
end function

You will have to divide the result if it contains decimal digits.
Best Regards,
Alejandro Lapeyre

"Mythran" <ki********@hotmail.comREMOVETRAIL> escribió en el mensaje
news:%2****************@tk2msftngp13.phx.gbl...
No Cobol.Net yet? Wha?!?

Anywho, hope someone is familiar enough with Cobol to help me out here. I
have some files written by COBOL applications that contain COMP-3 fields
(on a mainframe) that I ftp up to a network folder for processing in .Net.
Anyone know if it's possible (and how) to convert those COMP-3 (PIC
S9(5)V99 COMP-3, for example) to a numeric of type double/single/et
cetera?

Hope so, as of now, I'm writing all the fix-it cob programs to convert on
the mainframe before the ftp. If there is a .Net solution, that would be
so much easier.

Thanks,

Mythran

Nov 21 '05 #5

P: n/a
Mythran,

As far as I remember me is for you problem that every cobol compiler can use
other formats for Comp-3

It depends on the platform the program is compiled for. By instance the
sample you saw is as far as I remember me typical for IBM EBCDIC platforms.

However although a lot of people are thinking that, is not the only platform
where Cobol is used. There where at least two developments of Cobol used on
the PC's, which are sold by different vendors and have got the names from
those vendors. Because of the fact that the PC does not use EBCDIC you can
understand that the format on that alone because that is not the same as on
an IBM computer.

Therefore I would in your situation investigate what format is made. With
first starting on what platform the Cobol is used.

Not much, however I hope it helps,

Cor
Nov 21 '05 #6

P: n/a

"Cor Ligthert" <no************@planet.nl> wrote in message
news:uG**************@tk2msftngp13.phx.gbl...
Mythran,

As far as I remember me is for you problem that every cobol compiler can
use other formats for Comp-3

It depends on the platform the program is compiled for. By instance the
sample you saw is as far as I remember me typical for IBM EBCDIC
platforms.

However although a lot of people are thinking that, is not the only
platform where Cobol is used. There where at least two developments of
Cobol used on the PC's, which are sold by different vendors and have got
the names from those vendors. Because of the fact that the PC does not use
EBCDIC you can understand that the format on that alone because that is
not the same as on an IBM computer.

Therefore I would in your situation investigate what format is made. With
first starting on what platform the Cobol is used.

Not much, however I hope it helps,

Cor


Yeah, I understand. We have found a way to convert by sending the file from
the mainframe to the network folder via ftp in binary mode. That gives us a
binary format in ebcdic. Now I can manually uncompress all fields that are
packed and then convert all numeric data and then convert the text (not
including controls characters). This will give us what we need. So, just
gotta create the .Net assemblies for doing this :)

Thanks for everyone's insights.

Mythran
Nov 21 '05 #7

P: n/a
Mythran,

I don't if it helps, however in this newsgroup has in my opinion Jay given
the most complete answer on your question now I know it is EBCDIC. I give
you the full thread because there is more interesting in that.

http://groups-beta.google.com/group/...bbc3c3c7ffac33

You never know how it helps,

Cor
Nov 21 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.