04-20-2013
How to read variable length file on UNIX generated by Mainframe?
Hi All,
We have variable block file generated on Mainframe. We have to process the file on unix. So we FTPed the file on binary (as it has packed decimal fields). but i don't know how to read the file on unix.
As you know variable block file will have a data like
record length followed by data and next set of record length followed by data. As this is a binary file there won't be any new line.
Is there a way to read the file and write it to a fixed length format.
Thanks in Advance.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi I m an absolute dummy on UNIX, I m basically a SAP guy. but I require a file which is stored on the mainframe to be moved to Unix application server. I got the following script to do it from someone
#! /usr/local/bin/move_prom
REMOTE_HOST=158.52.246.30 # Hostname of the remote Mainframe... (2 Replies)
Discussion started by: satyaj_99
2 Replies
2. Shell Programming and Scripting
Any help to read the contents of a variable length csv ....??(using awk)
The csv mite look like this :
anjali,ram,rahul,mohini,sam,.... and so on ...
I need to pick up each name..
Thanks in advance
SD (3 Replies)
Discussion started by: shweta_d
3 Replies
3. Shell Programming and Scripting
Hi,
I have received a mainframe file ( VSAM file ) . I would like to handle that file in Unix. i.e I would like to take the last record of the file. I have given wc -l <file_name> , it gives 0 lines. Even though It has some lines , it is not giving count exactly. When I gave file <file_name>... (1 Reply)
Discussion started by: thambi
1 Replies
4. UNIX for Advanced & Expert Users
thanks (2 Replies)
Discussion started by: ashishabhishek
2 Replies
5. UNIX for Dummies Questions & Answers
Hi, all.
I need to convert a file tab delimited/variable length file in AIX to a fixed lenght file delimited by spaces. This is the input file:
10200002<tab>US$ COM<tab>16/12/2008<tab>2,3775<tab>2,3783
19300978<tab>EURO<tab>16/12/2008<tab>3,28523<tab>3,28657
And this is the expected... (2 Replies)
Discussion started by: Everton_Silveir
2 Replies
6. Shell Programming and Scripting
Dear all,
I have basic knowledge of Unix script and her I am trying to process variable length and variable format CSV file.
The file length will depend on the numbers of Earnings/Deductions/Direct Deposits.
And
The format will depend on whether it is Earnings/Deductions or Direct Deposits... (2 Replies)
Discussion started by: chechun
2 Replies
7. UNIX for Dummies Questions & Answers
Hi,
The files are being zipped from mainframe to the UNIX server. I have to unzip huge files on AIX server which is too old. The UNZIP as well as gzip utility version is not able to handle it and if we have to install the latest version there is a lot of process which takes lot of process. Is... (4 Replies)
Discussion started by: Bijesh
4 Replies
8. UNIX for Dummies Questions & Answers
Hi Everyone,
Do I need to provide record length as Record length + 4 when I'm transferring a variable block files from unix to mainframe through ftp?
For example, I have a file in unix (ebcidic converted) with maximum record length of 100.
This works correctly,
quote... (1 Reply)
Discussion started by: poova
1 Replies
9. Shell Programming and Scripting
Hi All ,
I need a help regarding file ftp ing from mainframe to unix.Our source file is mainframe file.I need to download the mainframe file to local unix server through unix script.If anyone can help me how we can do it through unix script ,it will be really helpful.Thanks. (7 Replies)
Discussion started by: STCET22
7 Replies
10. UNIX for Beginners Questions & Answers
My sample file is variable length, with out any field delimiters. It has min of 18 chars length and the 'CRLF' is potentially between 12-14 chars. How do I replace this with a space? I still want to keep end of record, but just want to remove these new lines chars in the middle of the data.
... (7 Replies)
Discussion started by: chandrath
7 Replies
LEARN ABOUT DEBIAN
px_get_record2
PX_GET_RECORD2(3) Library Functions Manual PX_GET_RECORD2(3)
NAME
PX_get_record2 -- Returns record in Paradox file
SYNOPSIS
#include <paradox.h>
int PX_get_record2(pxdoc_t *pxdoc, int recno, char *data, int *deleted, pxdatablockinfo_t *pxdbinfo)
DESCRIPTION
This function is similar to PX_get_record(3) but takes two extra parameters. If *deleted is set to 1 the function will consider any record
in the database, even those which are deleted. If *pxdbinfo is not NULL, the function will return some information about the data block
where the record has been read from. You will have to allocate memory for pxdbinfo before calling PX_get_record2.
On return *deleted will be set to 1 if the requested record is deleted or 0 if it is not deleted. The struct pxdatablockinfo_t has the fol-
lowing fields:
blockpos (long)
File positon where the block starts. The first six bytes of the block contain the header, followed by the record data.
recordpos (long)
File position where the requested record starts.
size (int)
Size of the data block without the six bytes for the header.
recno (int)
Record number within the data block. The first record in the block has number 0.
numrecords (int)
The number of records in this block.
number (int)
The number of the data block.
This function may return records with invalid data, because records are not explizitly marked as deleted, but rather the size of a valid
data block is modified. A data block is a fixed size area in the file which holds a certain number of records. If for some reason a data
block has newer been completely filled with records, the algorithmn anticipates deleted records in this data block, which are not there.
This often happens with the last data block in a file, which is likely to not being fully filled with records.
If you accessing several records, do it in ascending order, because this is the most efficient way.
Note:
This function is deprecated. Use PX_retrieve_record(3) instead
RETURN VALUE
Returns 0 on success and -1 on failure.
SEE ALSO
PX_get_field(3), PX_get_record(3)
AUTHOR
This manual page was written by Uwe Steinmann uwe@steinmann.cx.
PX_GET_RECORD2(3)