View previous topic :: View next topic
|
Author |
Message |
flyingleo
New User
Joined: 09 Jul 2009 Posts: 14 Location: Stamford, CT
|
|
|
|
Hi,
When i NDM the FB file from Mainframe to Unix Server( some of the junk values getting printed for every 3rd rows, somthing like control breaks) can you please help me to resolve this issue.
i also tried with converting Mainframe file EBCIDIC to ASCII & ASCII to EBCIDIC it didnt work out,
please find the below file NDM from MF to Unix
Code: |
********************************* Top of Data *******************************
REGACYRT C....±.01510800099993898000C425612TC....LAAAA
REGACYRT C....±.01510800099993898000C425612TC....LARRR
REGACYRT C....¤.01510800099914906000C425212TC....DONALD
|
File present at unix side as below
Code: |
********************************* Top of Data *******************************
REGACYRT C....±.01510800099993898000C425612TC....LAAAA
REGACYRT C....±.01510800099993898000C425612TC....LARRR
...51ON500011A....± ....±.....ST000 .....
REGACYRT C....¤.01510800099914906000C425212TC....DONALD
|
Junk Values :
Code: |
...51ON500011A....± ....±.....ST000
|
Note: Many fields are comp-3 variable
Thanks,
DeenA |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
1. If you have COMP-3 (packed decimal) fields, you must transfer the file as binary.
2. Unix and Windows systems do not typically understand packed decimal fields, so transferring the file to them in binary is a useless proposition.
3. Doing EBCDIC to ASCII conversion on a file with packed decimal values renders the file useless at best, filled with changed values but still usable at worst. For example, the value -97994 in packed decimal is hex '97994D' which is EBCDIC 'pr('. Translated to ASCII, this becomes x'707228' -- so how do you interpret that back into -97994?
You need to convert the packed decimal (and binary if any) fields to display fields before doing the transfer. |
|
Back to top |
|
|
flyingleo
New User
Joined: 09 Jul 2009 Posts: 14 Location: Stamford, CT
|
|
|
|
Hi Robert,
thanks for your reply.
Now i transfer the file in Binary format. i want to move again the file back to mainframe so i can verify whether i can verify populate fields are correct, can you help me hw can i proceed further.
Note:
1) MF to Unix (Binary format)
2) Now when i moved Unix(binary file) to MF, getting block size error. used correct parameter values only but getting those errors, hw can i resolve it..
Thanks,
Deena |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
If you convert the file to a text file before transmitting it to the unix system, the same file attributes could be used for the upload from the unix system back to the mainframe. . . |
|
Back to top |
|
|
flyingleo
New User
Joined: 09 Jul 2009 Posts: 14 Location: Stamford, CT
|
|
|
|
hello dick,
i coudnt understand what is text file?? r u saying abt manual text conversion and uploading to unix??
we are transferring 3K of Mainframe files to Unix.
the 686 is the reclengh of MF file once it transfer to unix in binary format the length of the file goes like 55K( i manually downladed the file to PC and verified it lenght)
kindly help me to resolve the issue. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
i coudnt understand what is text file |
A text file contains only text data - nothing else. If the mainframe data contains any packed-decimal or binary data, it goes far more smoothly to turn everything into "text" (i.e. display numerics with a physical decimal point and minus sign).
Transferring this between platforms is far more friendly than working with "mainframe binary" files on the other platform (unless there is already code that is completely tested to handle this in place). |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I think this topic needs to take a few steps backwards so we can all understand what the issue is here. It reads as if there's a problem with Connect:Direct, but nothing shown here so far points to that product even being an issue. This seems to be a data content issue. If the issue is that the data is fine on the mainframe, but not elsewhere on a non-mainframe platform, then I'm not sure this topic is even qualified to be discussed here.
Why does this data need to be transferred to this Unix server? What does this Unix server expect for the format? Is the data supposed to be encoded as ASCII or as EBCDIC? |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hi Kevin,
Yup, the issue is not the file transfer mechanism - it is the logistics of manipulating data "cross-platform".
I've seen so many different attempts that have completely failed or were so convoluted that they were unsupportable that i've lost count.
Once upon a time the data was on the mainframe and anything that needed to be done was done on the mainframe. Now (in addition to simply moving some data from the mainframe to somewhere else), there is a growing group that want to not only download the stuff, but to modify it and then send it back. . . And therein lies a lot of "opportunity". . .
What i have used successfully for a few thousand database tables, vsam files, and miscellaneous other data is to create pure text on the mainframe (delimited or fixed format), transfer this to the "other platform", and do whatever. In the cases where the modified data had to be returned to the mainframe send back a text file to further work with on the mainframe. This text file should be able to use the same file attributes as the outbound file.
I have seen a few (but very few) situations where the mainframe data was sent with binary data, packed-decimal data, etc intact (using a binary transfer), but it is rare that the non-mainframe system has software that will be able to convert this properly. If it does not already exist, i suggest that trying to write it is just asking for trouble.
Maybe the title of the topic should be modified. I believe that more and more this is an issue for "developers". |
|
Back to top |
|
|
flyingleo
New User
Joined: 09 Jul 2009 Posts: 14 Location: Stamford, CT
|
|
|
|
found the way..
--> only solution is to pass the file as Binary(MF) to Unix,
--> with the help of SAS code read binary file from unix...
--> same uploaded file can be retransfered to mainframe in binary format. it works gud. |
|
Back to top |
|
|
|