View previous topic :: View next topic
|
Author |
Message |
pinakimishra
New User
Joined: 21 Jul 2007 Posts: 24 Location: phoenix
|
|
|
|
I have few files which I am doing FTP from Mainframes to Distributed filesystem in Binary mode. For most of the files it works fine but for few files the data is getting truncated and an NAK is getting after each record. For some other files even data is not getting truncated but still NAK is getting added after each record.
These files are simple characters without any COMP-3, COMP etc.
Code:
For example I am sending a file which is of 26 characters but when I am doing SFTP a character 'NAK' (negeative acknowledgement gets added) .
I/P
Code: |
2015-05-08-13.58.48.970629
2015-05-08-13.58.48.970742
2015-05-08-13.58.48.970745
2015-05-08-13.58.48.970746
2015-05-08-13.58.48.970747
2015-05-08-13.58.48.970748
2015-05-08-13.58.48.970749
2015-05-08-13.58.48.970750
2015-05-08-13.58.48.970752
2015-05-08-13.58.48.970753
|
O/P in Distrbuted system
Quote: |
ענסץ`נץ`נר`סףKץרKפרKשקנצעשענסץ`נץ`נר`סףKץרKפרKשקנקפעענסץ`נץ`נר`סףKץרKפרKשקנקפץענסץ`נץ`נר`סףKץרKפרKשקנקפצענסץ`נץ`נר`סףKץרKפרKשקנקפקענסץ`נץ`נר`סףKץרKפרKשקנקפרענסץ`נץ`נר`סףKץרKפרKשקנקפשענסץ`נץ`
נר`סףKץרKפרKשקנקץנענסץ`נץ`נר`סףKץרKפרKשקנקץעענסץ`נץ`נר`סףKץרKפרKשקנקץף |
The 27th character has NAK
hex value of i/p file
Code: |
2015-05-08-13.58.48.970745
FFFF6FF6FF6FF4FF4FF4FFFFFF
2015005008013B58B48B970745
----------------------------
2015-05-08-13.58.48.970746
FFFF6FF6FF6FF4FF4FF4FFFFFF
2015005008013B58B48B970746
---------------------------
2015-05-08-13.58.48.970747
FFFF6FF6FF6FF4FF4FF4FFFFFF
2015005008013B58B48B970747
-----------------------
|
I don't see any special characters
The file is a simple FB File.
General Data
Management class . . : TSTPR
Storage class . . . : TSTP
Volume serial . . . : TST549
Device type . . . . : 3390
Data class . . . . . : STANDARD
Organization . . . : PS
Record format . . . : FB
Record length . . . : 26
Block size . . . . : 27976
1st extent cylinders: 1
Secondary cylinders : 1
Data set name type :
Data set encryption : NO
When I send them as ASCII the they transmit properly. If I am doing FTP with subcommand RECORD then the FTP is successful without the NAK getting added. Not sure whats the issue with these files and how RECORD is able to resolve the issue.
Any suggestions will be helpful. All these are happening to files which are simple display characters. What's the advantage and disadvantage of RECORD mode. I have some big files which have COMP-3 fields. Not sure if adding RECORD to those will impact anyway. I can do some test o performance of those but will like to understand what is the difference and how the RECORD mode is able to resolve the issue. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1319 Location: Bamberg, Germany
|
|
|
|
You did not mention what commands for transfer you are using. |
|
Back to top |
|
|
pinakimishra
New User
Joined: 21 Jul 2007 Posts: 24 Location: phoenix
|
|
|
|
Below id the FTP Card
RS;;distributed.sever.net;;
RU;;user_id;;
RC;binary;;
record;;
RC;CD;/directory_name/pinaki;;
PUT;put;TSTB.S.PINAKI.DATAFILE.DETL;DATAFILE;; |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2126 Location: USA
|
|
|
|
You transfer the text coded as EBCDIC codepage, in binary mode.
The received binary bytes you consider as if they were coded in (most likely, but need to be verified) ASCII codepage.
So, all originally sent EBCDIC text characters in you example are converted into a sort of garbage.
The value X'15' you consider as NAK in ASCII, but it was sent as NL (new line) in EBCDIC.
Please, learn about the differences in multiple codepages currently in use. It is a big headache, but nevertheless... |
|
Back to top |
|
|
pinakimishra
New User
Joined: 21 Jul 2007 Posts: 24 Location: phoenix
|
|
|
|
I am still not able to understand how they work with Record. Also I have around 20 of these files and only 5 or 6 of them have these kind of issues which gets resolved if I send them with subcommand record. I was assuming even though the files have all characters but still the codepagte is binary and I am doing ftp in binary mode and reading them as binary so there should be any issue as I am not using any ASCII conversion nor reading them as ASCII |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2126 Location: USA
|
|
|
|
It would be nice if you presented here ALL the code you have used, plus ALL error messages and ALL logs you have received.
Nobody here is going to do YOUR OWN job instead of you, and/or to guess something you try to keep in secret for unknown reason. |
|
Back to top |
|
|
sureshpathi10
Active User
Joined: 03 May 2010 Posts: 158 Location: Kuala Lumpur
|
|
|
|
RECord subcommand—Set the file structure to record
Use the RECord subcommand to set the file structure to record. This is quivalent to specifying the STRucture R subcommand.
Quote: |
File structures
File organization is specified using the STRU command. The following file structures are defined in section 3.1.1 of RFC959:
F or FILE structure (stream-oriented). Files are viewed as an arbitrary sequence of bytes, characters or words. This is the usual file structure on Unix systems and other systems such as CP/M, MS-DOS and Microsoft Windows. (Section 3.1.1.1)
R or RECORD structure (record-oriented). Files are viewed as divided into records, which may be fixed or variable length. This file organization is common on mainframe and midrange systems, such as MVS, VM/CMS, OS/400 and VMS, which support record-oriented filesystems.
P or PAGE structure (page-oriented). Files are divided into pages, which may either contain data or metadata; each page may also have a header giving various attributes. This file structure was specifically designed for TENEX systems, and is generally not supported on other platforms. RFC1123 section 4.1.2.3 recommends that this structure not be implemented.
Most contemporary FTP clients and servers only support STRU F. STRU R is still in use in mainframe and minicomputer file transfer applications. |
STRU R should only be used for structured files. Once this command is issued, ascii and binary transfers cannot be done. The latter will result in the error message: "STRU R can only be used to read/write from/to structured files"
STRU F should be subsequently issued to transfer ascii/binary
files.
So to simply this, when you use "RECORD" subcommand, you are changing the Structure to R, which will change FTP transfer of ASCII and BINARY to EBCDIC. I can not comment on how some of the files are working or not working without further information. |
|
Back to top |
|
|
|