Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jan 2018
    Posts
    27

    Question saving file off Mainframe to PC as txt file.

    When I am viewing a file on the Mainframe from BC 4, I want to save the file from editor to a text(txt) file.
    From the editor I do a 'right click' then 'save as'. The file encoding on the MF is IBM EBCDIC 00037 (US/Canada).
    After saving the MF file, there are no CRLF (carriage control/line feed) so all the lines just span with no line breaks.
    The file is 80 bytes each record. Where do I get the line feed characters appended to each line so I get line breaks ?

    I have the profile transfer type with Auto checked off. The ASCII and Binary are not checked. This is under Tools, Profiles(Mainframe location), and then Transfer tab. I think this transfer setting is from MF to Beyond Compare tool though.

    I attached a clip of the dialogue on the 'save as' popup. I rename to *.txt and open from PC. No line breaks are in it.

    Thanks
    Attached Images Attached Images

  2. #2
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,384

    Default

    Hello,

    In the Transfer tab, switch from Auto to Binary, then restart BC4. Does this help with the Save process? That option does control both directions (Either ASCII or Binary, or Auto determines which should be used based on extension and what the server reports it expects).
    Aaron P Scooter Software

  3. #3
    Join Date
    Jan 2018
    Posts
    27

    Question CRLF still not appending

    I changed it to binary and got the same result. When I am in the editor and do a select all, copy, then paste it into
    notepad or word, all the line breaks happen. There should be somewhere that the CRLF is appended to each line
    on the transfer to PC. I can do an FTP on my mainframe tool and for ASCII the CRLF is appended into the file.
    Any other pointers ?




    Quote Originally Posted by Aaron View Post
    Hello,

    In the Transfer tab, switch from Auto to Binary, then restart BC4. Does this help with the Save process? That option does control both directions (Either ASCII or Binary, or Auto determines which should be used based on extension and what the server reports it expects).

  4. #4
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,384

    Default

    Hello,

    I just noticed you are manually overriding the encoding in the Save As dialog each time. What if you update the Tools menu -> Profile, and update the FTP Profiles encoding to the correct encoding, so you do not need to override each view or save?

    Instead of your mainframe tool, how do other FTP clients (like Filezilla) act?
    Aaron P Scooter Software

  5. #5
    Join Date
    Jan 2018
    Posts
    27

    Default CRLF inclusion

    In the Save As, the encoding is for the destination target file or file within the editor(source) ? If I change it to ASCII,
    I get the attached popup. I use Reflections FTP Client and have the setting to ASCII on the transfer. I do not see
    a checkbox for CRLF. It seems to incorporate CRLF behind the scenes.
    In BC 4, I have to specify the exact record length. If the source is 80 bytes and I set the record length to 200 (example).
    There are 200 characters per line. In Reflections FTP Client, it detects the record length(or doesn't care) and does not need record length to be inputted. There should be a way to place a CRLF automatically.





    Quote Originally Posted by Aaron View Post
    Hello,

    I just noticed you are manually overriding the encoding in the Save As dialog each time. What if you update the Tools menu -> Profile, and update the FTP Profiles encoding to the correct encoding, so you do not need to override each view or save?

    Instead of your mainframe tool, how do other FTP clients (like Filezilla) act?
    Attached Images Attached Images

  6. #6
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,384

    Default

    Hello,

    ASCII will attempt to convert between line endings when transferring depending on what the client detects the server as, but if the detection isn't working, it'll need to be manually overridden.

    What behavior do you see if you go to the Tools menu -> Profiles, select your saved profile, Server tab, and set the Encoding from detect to "00037 EBCDIC (US/Canada)", then fully restart BC4, relaunch, and connect to your server?
    Aaron P Scooter Software

  7. #7
    Join Date
    Jan 2018
    Posts
    27

    Default CRLF drop

    From Tools menu -> Profiles -> Server, I had the setting as Use Default. I changed it to EBCDIC and the file came out with garbage. I changed it to Detect and the file was good inside BC (like default). From the Save As dialogue,
    the Encoding is the destination code type. If I have EBCDIC as the encoding type in this Save As dialogue, it comes out garbage. I use 20127 (US-ASCII). I get all the text from the file but there are no line breaks. There are 1025 characters
    written per line. This is the max # of characters for notepad so it is ignoring line breaks.

    I have a workaround. I do CRTL + A and then CRTL + C. Then I do CRTL + V in notepad or Word. The lines break
    correctly. This takes just minimal effort. However, it seems the Save As should detect and incorporate line breaks
    from the editor. Have you tested this kind of Save out ? Thanks.






    Quote Originally Posted by Aaron View Post
    Hello,

    ASCII will attempt to convert between line endings when transferring depending on what the client detects the server as, but if the detection isn't working, it'll need to be manually overridden.

    What behavior do you see if you go to the Tools menu -> Profiles, select your saved profile, Server tab, and set the Encoding from detect to "00037 EBCDIC (US/Canada)", then fully restart BC4, relaunch, and connect to your server?

  8. #8
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,384

    Default

    Hello,

    I chatted with a developer and got some feedback:

    The first is to try setting the Profile back to Detect encoding, since it should actually be ANSI, but needs to use ASCII transfers, which AUTO is likely failing to use since your files do not have extensions matching the Auto Extensions list. You can switch the Profile's Transfer tab to always ASCII, or add extensions to your files and add that extension to the Auto Extensions list. Test with a test file, but you should then be able to save, and the server should translate this back to the EBCDIC encoding as part of the transfer handling, rather than you trying to do it manually.

    To perform it manually, the Profile should be set to Binary transfers but still ANSI format. Then the Tools menu -> File Formats will need a format for these files that sets the Conversion tab Encoding to Ebcdic and the Characters Per Line limit to the correct value for your server (80).

    Do either of these methods provide improved performance?
    Aaron P Scooter Software

  9. #9
    Join Date
    Jan 2018
    Posts
    27

    Thumbs up It is working (explanation). Also how to handle different record lengths....

    Thanks! From 'Profiles', tab 'Server', I have encoding to be Detect. Under 'Transfer' tab I have Transfer Type to be ASCII.
    After doing 'Save As' from the file, I got the Encoding to be ANSI. The Line Ending Style is Windows/DOS.
    File type from MF had blank extension. I typed in the destination extension of .txt for the file.
    In opening the file there are line breaks now. Yay!!!!
    The EBCDIC option threw me off. EBCDIC is the type on the MF so once it comes into BC it is ASCII (by transfer type).
    When I do Save As the dialogue, the 20127 (US-ASCII) option also works. I wonder what the difference is on the ANSI
    verse US-ASCII save option.

    The Mainframe file has no extension. I will have different record length files.
    In the File formats if I trap by *.* , the first MF file format is chosen (record length 80). I have another
    file format for record length 133. I have to find a way to trap the 133 when needed. I do this manually
    right now. This is very small but Id like to see how to distinguish when to use record length 80 verse 133.

    Thanks so much for your help!




    Quote Originally Posted by mikedgre View Post
    From Tools menu -> Profiles -> Server, I had the setting as Use Default. I changed it to EBCDIC and the file came out with garbage. I changed it to Detect and the file was good inside BC (like default). From the Save As dialogue,
    the Encoding is the destination code type. If I have EBCDIC as the encoding type in this Save As dialogue, it comes out garbage. I use 20127 (US-ASCII). I get all the text from the file but there are no line breaks. There are 1025 characters
    written per line. This is the max # of characters for notepad so it is ignoring line breaks.

    I have a workaround. I do CRTL + A and then CRTL + C. Then I do CRTL + V in notepad or Word. The lines break
    correctly. This takes just minimal effort. However, it seems the Save As should detect and incorporate line breaks
    from the editor. Have you tested this kind of Save out ? Thanks.


  10. #10
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,384

    Default

    Great to hear! If you need to use a specific file format which might be too aggressive for other, default comparisons:

    Define it globally in the Tools menu -> File Formats dialog to capture everything (*.*), but then disable it by unchecking the box next to the name in the main format listing, which disables it.

    Next, in a specific Folder Compare session, navigate to the Session menu -> Session Settings, Misc tab, and in the format list, enable only this format and disable the others. This session can now use the format which grabs everything, but other sessions would use the default formats as defined globally under Tools menu -> File Formats.
    Aaron P Scooter Software

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •