<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: splitting up files with unknown record type in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332957#M3043</link>
    <description>Nope,&lt;BR /&gt;its is not a library.&lt;BR /&gt;The process that creates the files has certain settings that have influence on the file size. The settings are either a number of ASN.1 encoded records in the file or the time the file is allowed to be open. In either case the file is closed and a new file is created. &lt;BR /&gt;There is more than one process doing that. All the files created by those processes are collected from different nodes/disks. The script that does the collecting, can be configured to append files (to prevent e.g. the disk index from running full).&lt;BR /&gt;After that the files are transferred to a system that processes the data in it.&lt;BR /&gt;&lt;BR /&gt;Peter</description>
    <pubDate>Fri, 16 Jul 2004 01:44:14 GMT</pubDate>
    <dc:creator>Peter Hofman</dc:creator>
    <dc:date>2004-07-16T01:44:14Z</dc:date>
    <item>
      <title>splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332952#M3038</link>
      <description>Hi all,&lt;BR /&gt;I am wondering what options there are to split a file into smaller parts.&lt;BR /&gt;We have a script that collects files from different locations (nodes/disks) and put all those files together in a single file, using appen. But since that is not working with the original file organisation, the record type is set to unknown or unformatted. The append wll then work. Usually a maximum file size is configured in the script, but sometimes this is forgotten and the result is a file too large to handle.&lt;BR /&gt; &lt;BR /&gt;So my question is: how to split it up again if the organisation is unformatted.&lt;BR /&gt;(I will get back on the exact file attributes. I do not have the info at hand right now)</description>
      <pubDate>Thu, 15 Jul 2004 16:46:05 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332952#M3038</guid>
      <dc:creator>Peter Hofman</dc:creator>
      <dc:date>2004-07-15T16:46:05Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332953#M3039</link>
      <description>Peter,&lt;BR /&gt;  I'm not sure I understand your question. Obviously you must have some criteria that you use to decide where the file gets split. Tyically, I'd expect the split point would be at a record boundary. But, if the file doesn't have record structure, how can that work?&lt;BR /&gt;&lt;BR /&gt;  Depending on the contents of the file, you might be able use SET FILE to change attributes to some "standard" format. You can then have a program read the file, interpret the data and split it up any way you like. Choosing the "best" format depends on your data.&lt;BR /&gt;&lt;BR /&gt;  Please post the exact file attributes of the files you're dealing with, and describe how you know where to split the data. Anything is possible!</description>
      <pubDate>Thu, 15 Jul 2004 23:01:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332953#M3039</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2004-07-15T23:01:15Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332954#M3040</link>
      <description>Ditto.&lt;BR /&gt;&lt;BR /&gt;I'm a little suprised how you entered this topic with half a story. No exact commands, no numbers as what is 'too large too handle', no exact error message why a normal append did not work, no indication of what might be in the individual files as to what content might set them appart.&lt;BR /&gt;&lt;BR /&gt;For further help, show use the head and tail of a typical file. The dir/full output for an aggregate file. A DUMP of a block or two in an attached text tile. Stuff like that.&lt;BR /&gt;&lt;BR /&gt;Also VMS itself has not notion of 'too large to handle'. So please help us understand why your application has that notion.&lt;BR /&gt;When those files are not too large, how do you use them? type/page, edit, and application only?&lt;BR /&gt;&lt;BR /&gt;VMS has no native 'split' command. But is it trivial to write one in DCL or PERL to count record and/or bytes and hunt for record endings. If the file has no structure, then I'd gran perl with 'binmode'. Or I'd change the fiel attribute to fixed-512 and used dcl reads to read 512 byte chunks and look for structure within those chunks.&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Jul 2004 00:22:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332954#M3040</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-07-16T00:22:53Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332955#M3041</link>
      <description>John and Hein,&lt;BR /&gt;&lt;BR /&gt;You're both right. However, I entered it when I was at home. I remembered somebody asking me this question, but I did not have a chance to look into it, and I did not want to forget to enter the topic or find a solution. I think I should have sent an e-mail to my e-mail address at work.&lt;BR /&gt;&lt;BR /&gt;Anyway, since I have entered the topic, we might as well continue.&lt;BR /&gt;&lt;BR /&gt;More info:&lt;BR /&gt;1) This is how the script does the append:&lt;BR /&gt;&lt;BR /&gt;$             rfm=F$FILE_ATTRIBUTES(in_file, "RFM")&lt;BR /&gt;$             SET FILE/ATTRIBUTE=(RFM:UDF) 'in_file'&lt;BR /&gt;$             IF F$SEARCH(outfile).NES."" THEN -&lt;BR /&gt;$                 SET FILE/ATTRIBUTE=(RFM:UDF) 'outfile'&lt;BR /&gt;$             APPEND /LOG /NEW_VERSION 'in_file' 'outfile'&lt;BR /&gt;$             IF $STATUS&lt;BR /&gt;$             THEN&lt;BR /&gt;$                 DELETE /LOG 'in_file'&lt;BR /&gt;$             ENDIF&lt;BR /&gt;$             SET FILE/ATTRIBUTE=(RFM:'rfm') 'outfile'&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;2) File organisation of in and output files:&lt;BR /&gt;&lt;BR /&gt;File organization:  Sequential&lt;BR /&gt;Shelved state:      Online&lt;BR /&gt;Caching attribute:  Writethrough&lt;BR /&gt;File attributes:    Allocation: 0, Extend: 0, Global buffer count: 0, No version limit, Contiguous best try&lt;BR /&gt;Record format:      Stream_LF, maximum 0 bytes, longest 0 bytes&lt;BR /&gt;Record attributes:  Carriage return carriage control&lt;BR /&gt;RMS attributes:     None&lt;BR /&gt;Journaling enabled: None&lt;BR /&gt;File protection:    System:RWED, Owner:RWED, Group:RE, World:&lt;BR /&gt;Access Cntrl List:  None&lt;BR /&gt;Client attributes:  None&lt;BR /&gt;&lt;BR /&gt;3) To large to handle is in terms of the application that has to deal with it. If the file is too large, it runs out of memory.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Of course I should have gathered all info before entering this topic. It is clear to me now that without knowing how the file is build up, it is impossible to split.&lt;BR /&gt;The data in the file is ASN.1 encoded, so I'll probably have to write something to split the file. It can probably not be done with some simple scripting.&lt;BR /&gt;&lt;BR /&gt;I am always interested in DCL examples for splitting file (or anything else).&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Peter</description>
      <pubDate>Fri, 16 Jul 2004 01:15:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332955#M3041</guid>
      <dc:creator>Peter Hofman</dc:creator>
      <dc:date>2004-07-16T01:15:42Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332956#M3042</link>
      <description>Peter,&lt;BR /&gt;I dont'understand the scope of your application but it seems you will create a own library of files. Did you think use library instead append?&lt;BR /&gt;Look at this example:&lt;BR /&gt;$ LIBR/CREA/TEXT infile.TLB&lt;BR /&gt;$ LIBR/INS infile.TLB outfile1&lt;BR /&gt;$ LIBR/INS infile.TLB outfile2&lt;BR /&gt;Now infile contains 2 files.&lt;BR /&gt;You can split (extract) typing:&lt;BR /&gt;$ LIBR/EXTR=outfile1 infile.TLB&lt;BR /&gt; &lt;BR /&gt;This is only an example and perhaps can't help you but might be a good idea to work.&lt;BR /&gt; &lt;BR /&gt;Antonio Vigliotti&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Jul 2004 01:35:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332956#M3042</guid>
      <dc:creator>Antoniov.</dc:creator>
      <dc:date>2004-07-16T01:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332957#M3043</link>
      <description>Nope,&lt;BR /&gt;its is not a library.&lt;BR /&gt;The process that creates the files has certain settings that have influence on the file size. The settings are either a number of ASN.1 encoded records in the file or the time the file is allowed to be open. In either case the file is closed and a new file is created. &lt;BR /&gt;There is more than one process doing that. All the files created by those processes are collected from different nodes/disks. The script that does the collecting, can be configured to append files (to prevent e.g. the disk index from running full).&lt;BR /&gt;After that the files are transferred to a system that processes the data in it.&lt;BR /&gt;&lt;BR /&gt;Peter</description>
      <pubDate>Fri, 16 Jul 2004 01:44:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332957#M3043</guid>
      <dc:creator>Peter Hofman</dc:creator>
      <dc:date>2004-07-16T01:44:14Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332958#M3044</link>
      <description>Hi Peter,&lt;BR /&gt;do you need to read a unique file  with included (appended) files?&lt;BR /&gt;If not, library works file for you.&lt;BR /&gt; &lt;BR /&gt;Antonio Vigliotti&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Jul 2004 02:45:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332958#M3044</guid>
      <dc:creator>Antoniov.</dc:creator>
      <dc:date>2004-07-16T02:45:59Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332959#M3045</link>
      <description>Peter,&lt;BR /&gt;&lt;BR /&gt;If the record format of the files is not equal, you recieve a corrupted file with the append command, because SET FILE /ATTRIBUTES does not change the file structure, only file attributes are changed.&lt;BR /&gt;&lt;BR /&gt;I make a small test:&lt;BR /&gt;&lt;BR /&gt;I create a small sequential file VARIABLE record format:&lt;BR /&gt;$ CREATE A.TMP&lt;BR /&gt;aaaaaaaaaaaa&lt;BR /&gt;bbbbbbbbbbbb&lt;BR /&gt;&lt;CTRL&gt;&lt;BR /&gt;&lt;BR /&gt;Then I created another one with the CONVERT utility:&lt;BR /&gt;&lt;BR /&gt;$ CONVERT/FDL=STREAM.FDL A.TMP B.TMP&lt;BR /&gt;&lt;BR /&gt;Content of STREAM.FDL:&lt;BR /&gt;&lt;BR /&gt;IDENT   "16-JUL-2004 09:45:19  OpenVMS FDL Editor"&lt;BR /&gt;&lt;BR /&gt;SYSTEM&lt;BR /&gt;        SOURCE                  "OpenVMS"&lt;BR /&gt;&lt;BR /&gt;FILE&lt;BR /&gt;        ALLOCATION              0&lt;BR /&gt;        BEST_TRY_CONTIGUOUS     yes&lt;BR /&gt;        EXTENSION               0&lt;BR /&gt;        ORGANIZATION            sequential&lt;BR /&gt;&lt;BR /&gt;RECORD&lt;BR /&gt;        BLOCK_SPAN              yes&lt;BR /&gt;        CARRIAGE_CONTROL      carriage_return&lt;BR /&gt;        FORMAT                  stream&lt;BR /&gt;        SIZE                    0&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;After that I append the files with yours script, so that in_file="B.TMP" and outfile="A.TMP".&lt;BR /&gt;&lt;BR /&gt;The content of the resultant file was a corrupted file with the content:&lt;BR /&gt;&lt;BR /&gt;&lt;FF&gt;&lt;BR /&gt;aaaaaaaaaaaa&lt;FF&gt;&lt;BR /&gt;bbbbbbbbbbbbaaaaaaaaaaaa&lt;BR /&gt;bbbbbbbbbbbb&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;So I think, that you must modify the append script! First you must find out which organisation and record format is needed after append, then create a FDL for it and convert all files whit this FDL before appending.&lt;BR /&gt;&lt;BR /&gt;Bojan Nemec&lt;/FF&gt;&lt;/FF&gt;&lt;/CTRL&gt;</description>
      <pubDate>Fri, 16 Jul 2004 04:57:40 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332959#M3045</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2004-07-16T04:57:40Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332960#M3046</link>
      <description>Both input and output have already got the same file attributes. Both are STREAM_LF. So no conversion is needed.&lt;BR /&gt;&lt;BR /&gt;I think I cannot split the file with an existing VMS command. neither with a DCL script.&lt;BR /&gt;&lt;BR /&gt;I think I will write a little program that understand ASN.1 and can find out the end of an ASN.1 record.</description>
      <pubDate>Fri, 16 Jul 2004 05:11:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332960#M3046</guid>
      <dc:creator>Peter Hofman</dc:creator>
      <dc:date>2004-07-16T05:11:06Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332961#M3047</link>
      <description>Peter,&lt;BR /&gt;you posted input file and output file have same format (stream_lf); why do you set to UDF before append? Your target file still remain UDF not stream_lf; I guess if you set your target file as stream_lf you can read and split (using appropriate DCL procedure).&lt;BR /&gt; &lt;BR /&gt;Antonio Vigliotti&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Jul 2004 05:20:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332961#M3047</guid>
      <dc:creator>Antoniov.</dc:creator>
      <dc:date>2004-07-16T05:20:47Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332962#M3048</link>
      <description>Bojan,&lt;BR /&gt;&lt;BR /&gt;I don't think so because he said it was stream_lf.&lt;BR /&gt;&lt;BR /&gt;You can ftp the file to unix and split it over there. &lt;BR /&gt;&lt;BR /&gt;You could use dcl to split it (but create the file with an fdl for stream_lf because default is VFC) :&lt;BR /&gt;$ i=-1&lt;BR /&gt;$ nam=0&lt;BR /&gt;$ open/read inp 'p1'&lt;BR /&gt;$r:&lt;BR /&gt;$ i=i+1&lt;BR /&gt;$ read/end=e inp rec&lt;BR /&gt;$ j=(i/10)*10&lt;BR /&gt;$ if j .eq. i&lt;BR /&gt;$ then&lt;BR /&gt;$    if f$tr("outp") .nes. "" then close outp&lt;BR /&gt;$    nam=nam+1&lt;BR /&gt;$    open/write outp 'p2'_'nam'&lt;BR /&gt;$ endif&lt;BR /&gt;$ write outp rec&lt;BR /&gt;$ goto r&lt;BR /&gt;$e:&lt;BR /&gt;$ close inp&lt;BR /&gt;$ close outp&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 16 Jul 2004 05:22:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332962#M3048</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2004-07-16T05:22:56Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332963#M3049</link>
      <description>Peter,&lt;BR /&gt;&lt;BR /&gt;Sorry I missed that all files are STREAM_LF. I also think that you must write a program.&lt;BR /&gt;&lt;BR /&gt;If yours files has records that are to long (more than  32,767 bytes) you will have problems reading it. I have same problems reading XML files which are no human formated (no LF).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;There are some pices of the program in C:&lt;BR /&gt;&lt;BR /&gt;#include &lt;RMS.H&gt;&lt;BR /&gt;#include &lt;STARLET.H&gt;&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;   struct FAB infab;&lt;BR /&gt;   struct RAB inrab;&lt;BR /&gt;   int stat;&lt;BR /&gt;   char buffer[1024];&lt;BR /&gt;   char * filename;&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;   infab = cc$rms_fab;&lt;BR /&gt;   infab.fab$l_fna = filename;&lt;BR /&gt;   infab.fab$b_fns = strlen(filename);&lt;BR /&gt;   infab.fab$b_fac = FAB$M_BIO|FAB$M_GET;&lt;BR /&gt;   inrab = cc$rms_rab;&lt;BR /&gt;   inrab.rab$l_fab = &amp;amp;infab;&lt;BR /&gt;   inrab.rab$l_bkt = 0;&lt;BR /&gt;   inrab.rab$l_ubf = buffer;&lt;BR /&gt;   inrab.rab$w_usz = 1024;&lt;BR /&gt;&lt;BR /&gt;   stat = sys$open (&amp;amp;infab);&lt;BR /&gt;   if (!(stat &amp;amp; 1)) sys$exit (stat);&lt;BR /&gt;   stat = sys$connect (&amp;amp;inrab);&lt;BR /&gt;   if (!(stat &amp;amp; 1)) sys$exit (stat);&lt;BR /&gt;&lt;BR /&gt;   for (;;)&lt;BR /&gt;   {&lt;BR /&gt;     stat = sys$read (&amp;amp;inrab);&lt;BR /&gt;     if (!(stat &amp;amp; 1))&lt;BR /&gt;     {&lt;BR /&gt;        if (stat == RMS$_EOF)&lt;BR /&gt;        {&lt;BR /&gt;/* End of file */&lt;BR /&gt;           break;&lt;BR /&gt;        } else {&lt;BR /&gt;           sys$exit (stat);&lt;BR /&gt;        }&lt;BR /&gt;     } else {&lt;BR /&gt;/*&lt;BR /&gt;   Process data in buffer.&lt;BR /&gt;   The length of the buffer is in inrab.rab$w_rsz&lt;BR /&gt;   For example if you want to copy the buffer to another buffer&lt;BR /&gt;&lt;BR /&gt;   memcpy (newbuffer , buffer , inrab.rab$w_rsz);&lt;BR /&gt;*/&lt;BR /&gt;     }&lt;BR /&gt;   }&lt;BR /&gt;&lt;BR /&gt;For more on programming with RMS look at:&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/doc/731FINAL/4523/4523PRO.HTML" target="_blank"&gt;http://h71000.www7.hp.com/doc/731FINAL/4523/4523PRO.HTML&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Bojan Nemec&lt;/STARLET.H&gt;&lt;/RMS.H&gt;</description>
      <pubDate>Fri, 16 Jul 2004 08:32:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332963#M3049</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2004-07-16T08:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332964#M3050</link>
      <description>&lt;A href="http://wwwvms.mppmu.mpg.de/vmssig/archive/S/" target="_blank"&gt;http://wwwvms.mppmu.mpg.de/vmssig/archive/S/&lt;/A&gt;&lt;BR /&gt;and search for split. I am unable to get it over here but maybe it is what you are looking for.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 16 Jul 2004 08:44:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332964#M3050</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2004-07-16T08:44:27Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332965#M3051</link>
      <description>Back to the basics... I'd like to focus on:&lt;BR /&gt;&lt;BR /&gt;" But since that is not working with the original file organisation, the record type is set to unknown or unformatted. "&lt;BR /&gt;&lt;BR /&gt;Are you sure that did not work, or was someone confused by the warning messages?&lt;BR /&gt;Witness log below.&lt;BR /&gt;&lt;BR /&gt;The really scary thing to mix/append through this 'udf' lie is stream and variable length (the VMS default). The is because the variable length recrod files have meta-data in the file (the record length) and you turned that into user data. Mixing various stram format, and the fiel 'print attributes' is sort of ok, as you can sort it out later. (a little tricky to terminate on LF or CR or CR+LF, but it can be sorted out).&lt;BR /&gt;&lt;BR /&gt;In conclusion... you might not have a problem on the append side.&lt;BR /&gt;Next reply on the splitting.&lt;BR /&gt;&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$ cre/fdl=nl: tmp_var.tmp&lt;BR /&gt;$ cre/fdl=tt: tmp_lf.tmp&lt;BR /&gt;record; format stream_lf;&lt;BR /&gt;$ appen/log tt: tmp_var.tmp&lt;BR /&gt;aap&lt;BR /&gt;noot&lt;BR /&gt;%APPEND-S-APPENDED, TNA78: appended to U$1:[HEIN]TMP_VAR.TMP;1 (2 records)&lt;BR /&gt;$ appen/log tt: tmp_lf.tmp&lt;BR /&gt;mies&lt;BR /&gt;teun&lt;BR /&gt;%APPEND-S-APPENDED, TNA78: appended to U$1:[HEIN]TMP_LF.TMP;1 (2 records)&lt;BR /&gt;$ cre/fdl=nl: tmp.tmp&lt;BR /&gt;$ append tmp_var.tmp tmp.tmp/log&lt;BR /&gt;%APPEND-S-APPENDED, U$1:[HEIN]TMP_VAR.TMP;1 appended to U$1:[HEIN]TMP.TMP;11 (2 records)&lt;BR /&gt;$ append tmp_lf.tmp tmp.tmp/log&lt;BR /&gt;%APPEND-W-INCOMPAT, U$1:[HEIN]TMP_LF.TMP;1 (input) and U$1:[HEIN]TMP.TMP;11 (output) have incompatible attributes&lt;BR /&gt;%APPEND-S-APPENDED, U$1:[HEIN]TMP_LF.TMP;1 appended to U$1:[HEIN]TMP.TMP;11 (2 records)&lt;BR /&gt;$ type tmp.tmp&lt;BR /&gt;aap&lt;BR /&gt;noot&lt;BR /&gt;mies&lt;BR /&gt;teun&lt;BR /&gt;&lt;BR /&gt;So there was this "%APPEND-W-INCOMPAT".&lt;BR /&gt;But it did work as expected!&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Jul 2004 09:36:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332965#M3051</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-07-16T09:36:27Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332966#M3052</link>
      <description>Knap Hein !&lt;BR /&gt;&lt;BR /&gt;You can also use &lt;BR /&gt;$ convert/append inputf outputf&lt;BR /&gt;That will read inputf and convert the records to the format of outputf and then append them.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 16 Jul 2004 10:09:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332966#M3052</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2004-07-16T10:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332967#M3053</link>
      <description>&lt;BR /&gt;From what I gather so far, in the end you just have stream_lf records in a stream_lf file, or at least you could have, if the first file is that, and accept the warnigs from append.&lt;BR /&gt;&lt;BR /&gt;So that should make is straightforward to read records in the file. IF the individual records arr in the (low) hundreds of bytes, then you can use DCL to split. &lt;BR /&gt;Be sure to pre-allocate new output and/or use large extents.&lt;BR /&gt;&lt;BR /&gt;Supposedly you have lots of data, and thus &lt;BR /&gt;I'd recommend a little home-grown program in the language of your choice (C, BASIC, PERL...). If you choose a language then you&lt;BR /&gt;can optimize the split a lot by using TRUNCATE after splitting:&lt;BR /&gt;1) read untill limit&lt;BR /&gt;2) rememeber RFA&lt;BR /&gt;3) create next file&lt;BR /&gt;4) start copying&lt;BR /&gt;5) close next file&lt;BR /&gt;6) reposition input using RFA (quick!)&lt;BR /&gt;7) truncate original (quick!)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Somehow... and only you know this so far... you need to be able to tell the stsart of a new 'file' within the file.&lt;BR /&gt;&lt;BR /&gt;You need to know the absolute max for split file sizes (OUT_MAX), and it is probably handy to know the size of the biggest appended files(ADD_MAX).&lt;BR /&gt;&lt;BR /&gt;In DCL you might do something like (UNTESTED, NOT EVEN SYNTAX CHECKED!)&lt;BR /&gt;&lt;BR /&gt;$MAX_BYTE = OUT_MAX_BYTE - ADD_MAX_BYTE&lt;BR /&gt;$MAX_LINE = OUT_MAX_LINE - ADD_MAX_LINE&lt;BR /&gt;$file = 1&lt;BR /&gt;$OPEN/READ IN input.dat&lt;BR /&gt;$&lt;BR /&gt;$NEW_FILE_LOOP:&lt;BR /&gt;$CLOSE/NOLOG out&lt;BR /&gt;$CREATE/FDL=SYS$INPUT out_''file'.dat&lt;BR /&gt;FILE; ALLOCATION 10000; EXTEN 5000;&lt;BR /&gt;RECORD; FORMAT STREAM_LF&lt;BR /&gt;$&lt;BR /&gt;$OPEN/APPEND out out_''file'.dat&lt;BR /&gt;$IF need_a_break THEN WRITE/SYMB out record&lt;BR /&gt;$file = file + 1&lt;BR /&gt;$need_a_break = 0&lt;BR /&gt;$lines = 0&lt;BR /&gt;$bytes = 0&lt;BR /&gt;$&lt;BR /&gt;$READ_LOOP:&lt;BR /&gt;$READ/END=DONE in record&lt;BR /&gt;$lines = lines + 1&lt;BR /&gt;$bytes = lines + F$LEN(record)&lt;BR /&gt;$IF lines .GT. MAX_LINE .OR. bytes .GT. MAX_LINE THEN need_a_break = 1&lt;BR /&gt;$IF need_a_break &lt;BR /&gt;$THEN&lt;BR /&gt;$ if record looks like start of a new file then goto NEW_FILE_LOOP&lt;BR /&gt;$ENDIF&lt;BR /&gt;$WRITE/SYMB out record&lt;BR /&gt;$GOTO READ_LOOP&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;In perl (again, just a brain dump: UNTESTED) that might be&lt;BR /&gt;&lt;BR /&gt;$MAX_BYTE = $OUT_MAX_BYTE - $ADD_MAX_BYTE;&lt;BR /&gt;$MAX_LINE = $OUT_MAX_LINE - $ADD_MAX_LINE;&lt;BR /&gt;$file = 1;&lt;BR /&gt;open (IN,"&lt;INPUT.DAT&gt;&lt;/INPUT.DAT&gt;open (OU,"&amp;gt;output_$file.dat") || die "output";&lt;BR /&gt;&lt;BR /&gt;while (&lt;IN&gt;) {&lt;BR /&gt;  $bytes += len($_);&lt;BR /&gt;  if ($lines++ &amp;lt; $MAX_LINE &amp;amp;&amp;amp; $bytes &amp;lt; $MAX_BYTE) {&lt;BR /&gt;  print OU;&lt;BR /&gt;  next;&lt;BR /&gt;  }&lt;BR /&gt;  if (/looks like a new file/) {&lt;BR /&gt;  close (OU);&lt;BR /&gt;  $file++;&lt;BR /&gt;  open (OU,"&amp;gt;output_$file.dat") || die "output";&lt;BR /&gt;  $lines = $bytes = 0&lt;BR /&gt;  print OU;&lt;BR /&gt;  }&lt;BR /&gt;}&lt;BR /&gt;  &lt;BR /&gt;hth,&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/IN&gt;</description>
      <pubDate>Fri, 16 Jul 2004 10:26:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332967#M3053</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-07-16T10:26:00Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332968#M3054</link>
      <description>My original question (submitted from home)was based upon what I remembered of the script (which I had not looked at for weeks) and on assumptions which turned out to be wrong when I got to work today.&lt;BR /&gt;&lt;BR /&gt;The best way to split would be a small program instead of a script. Especially since the file cannot be split up just anyware because of the ASN.1 encoded records in them. I don't want to end up with half records at the end or beginning of the parts. &lt;BR /&gt;A program is also the best solution, since the amount of data in the files is megabytes, and not just hundreds of bytes.&lt;BR /&gt;It would be a good exercise for me anyway to create a program like that.&lt;BR /&gt;&lt;BR /&gt;Thanks all for your help.</description>
      <pubDate>Fri, 16 Jul 2004 16:22:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332968#M3054</guid>
      <dc:creator>Peter Hofman</dc:creator>
      <dc:date>2004-07-16T16:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332969#M3055</link>
      <description>Hi Peter,&lt;BR /&gt;&lt;BR /&gt;at least at some point in time Digital had it then (TM). Check&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h18000.www1.hp.com/info/SP3290/SP3290PF.PDF" target="_blank"&gt;http://h18000.www1.hp.com/info/SP3290/SP3290PF.PDF&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;for ASN.1 support and toolsets to make writing your program easier. I am not exactly sure if you can get this product still...&lt;BR /&gt;&lt;BR /&gt;Greetings, Martin</description>
      <pubDate>Sat, 17 Jul 2004 19:40:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332969#M3055</guid>
      <dc:creator>Martin P.J. Zinser</dc:creator>
      <dc:date>2004-07-17T19:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: splitting up files with unknown record type</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332970#M3056</link>
      <description>Martin,&lt;BR /&gt;     Interesting find!&lt;BR /&gt;&lt;BR /&gt;Peter,&lt;BR /&gt;&lt;BR /&gt;"A program is also the best solution, since the amount of data in the files is megabytes, and not just hundreds of bytes.&lt;BR /&gt;It would be a good exercise for me anyway to create a program like that."&lt;BR /&gt;&lt;BR /&gt;Sounds right by me. I don't know whether you ever tried 'perl', but even if you did not you may want to consider it for jobs like this. &lt;BR /&gt;My example outlined a couple replies back should be pretty close to what you need.&lt;BR /&gt;Just replace that "looks like a new file" by the correct regular-expression to trigger on the start of a chunk of ASN.1. That, and fix my errors, because I did note try to run it.&lt;BR /&gt;&lt;BR /&gt;Met vriendelijke groetjes,&lt;BR /&gt;Hein&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sat, 17 Jul 2004 23:03:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/splitting-up-files-with-unknown-record-type/m-p/3332970#M3056</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-07-17T23:03:11Z</dc:date>
    </item>
  </channel>
</rss>

