<?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: RMS RFA GET Changes next record pointer? in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256730#M27564</link>
    <description>&amp;gt;&amp;gt; If I am reading a file and I hit a locked record, the IO function waits for a second and then tries again, this time by RFA&lt;BR /&gt;&lt;BR /&gt;I forgot to ask... How does the program even get the RFA, unless you did a GET REGARDLESS ??&lt;BR /&gt;&lt;BR /&gt;RMS does NOT update RFA nor record buffer on failure.&lt;BR /&gt;&lt;BR /&gt;Attached a self-contained C program to create an 2 key indexed file put some records read and lock on one rab, read by (descending) alternate key on an other stream and get a locked error. (yes, the program is sloppy-printing record buffer contents)&lt;BR /&gt;&lt;BR /&gt;Sample output below.&lt;BR /&gt;&lt;BR /&gt;Should be easy enough to modify to your experimentation needs, flipping to $FIND and/or to use: rab$b_rac = RAB$C_RFA&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Hein&lt;BR /&gt;&lt;BR /&gt;$ run NEXT_RECORD&lt;BR /&gt;PUT record (4,1) 0001 blah&lt;BR /&gt;PUT record (4,2) 0002 blah&lt;BR /&gt;PUT record (4,3) 0003 blah&lt;BR /&gt;PUT record (4,4) 0004 blah&lt;BR /&gt;LCK record (4,1) 0001 blah&lt;BR /&gt;LCK record (4,2) 0002 blah&lt;BR /&gt;GET record (4,4) 65537 0004 blah&lt;BR /&gt;GET record (4,3) 65537 0003 blah&lt;BR /&gt;GET record (0,0) 98986 0003 blah&lt;BR /&gt;Closed = Unlocked = 65537. Retry.&lt;BR /&gt;TRY record (4,2) 65537 0002 blah&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Mon, 27 Sep 2010 12:59:14 GMT</pubDate>
    <dc:creator>Hein van den Heuvel</dc:creator>
    <dc:date>2010-09-27T12:59:14Z</dc:date>
    <item>
      <title>RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256727#M27561</link>
      <description>I have a major application written (by me) in VMS BASIC that has been running for thirty-some years.  It is being replaced and I am rewriting one of the modules (a warehouse module) to interact with the new ERP system.  The RMS IO is all done by one function written in the 80's.  Solid as a rock, right?  Well, I came across what I thought was just a simple program bug today and it has turned out to be something major.  I have had the assumption that doing an RFA GET on a record does not change the next record pointer, whereas apparently it does.  If I am reading a file and I hit a locked record, the IO function waits for a second and then tries again, this time by RFA, and keeps trying until it has success.  But if this happens when I'm reading in an alternate key sequence, I'm thrown back into primary key sequence, which makes me think that the RFA read must be changing the next record pointer.  I was simply amazed - how could I have never noticed this before?  But in the established application I had "key files" for all of the major files and accessed the data file itself by RFA only when using an alternate sequence, so I guess it's possible that it just never came up. But in this new application I have eliminated the key files altogether.  The systems are so fast now, it really isn't necessary.  So I have a problem.  There are two scenarios.  1. I'm reading in an alternate sequence and come across a locked record.  I can probably just redo the same get(?). But 2. I'm going through the file in an alternate sequence and I'm not locking records, but I come across something interesting and want to change something on the record.  So I get the record by RFA to lock it, I update the record and continue.  But this doesn't work because the RFA get changes my sequence.  I can't use position to reset myself on the alternate sequence because I might have duplicate keys.  So how do I set myself straight again?  The only thing I can think to do is to have the file open on another channel and when I want to lock a record to make changes, get it by RFA on this second channel, keeping my sequence intact on the first channel.  But there's got to be a better way, right?</description>
      <pubDate>Mon, 27 Sep 2010 07:56:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256727#M27561</guid>
      <dc:creator>Patricia Morman</dc:creator>
      <dc:date>2010-09-27T07:56:20Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256728#M27562</link>
      <description>Quite the wall of text. &lt;BR /&gt;&lt;BR /&gt;Paragraphs help with intelligibility.&lt;BR /&gt;&lt;BR /&gt;I'd expect to see the pointer change here.&lt;BR /&gt;&lt;BR /&gt;Open and use a second record stream for this task, as you'd considered.  One stream runs the sequence, and the second stream runs the updates.  Running multiple streams is easy, and it avoids the collisions between unrelated operations, and it avoids changes to the sequencing.&lt;BR /&gt;&lt;BR /&gt;I'm heavily changing these file-access designs of late, including hauling whole blocks of data into 64-bit virtual memory (64-bit addressing is not an option for BASIC, AFAIK), or moving from RMS into a different database.   RMS is a reasonable and high functional NoSQL, but there can be other choices.  &lt;BR /&gt;&lt;BR /&gt;Hauling some older file-based designs into, for instance, data arrays, has produced substantial application performance improvements.  And it made the code simpler.  Profile your code via DECset, and see where you're spending the wall-clock.  I/O tends to be one of those time-consuming areas, too.&lt;BR /&gt;&lt;BR /&gt;And when still working with RMS (and not a database that has archival capabilities), consider implementing a mechanism to get off of a current record, either on request, or a timeout.  This to unlock any current record.  Or avoid locking records.  This analogous to that lock-retry sequence, but for those streams that already have the record, and are sitting on it.  This all gets tied into parallel activities and particularly with getting a reliable and consistent backup of the file(s) involve.   When you're working with RMS, your application code is central to getting on-line backups, if you want that capability.&lt;BR /&gt;</description>
      <pubDate>Mon, 27 Sep 2010 11:16:33 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256728#M27562</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2010-09-27T11:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256729#M27563</link>
      <description>&lt;BR /&gt;&amp;gt;&amp;gt; I have had the assumption that doing an RFA GET on a record does not change the next record pointer&lt;BR /&gt;&lt;BR /&gt;I believe that's only tru for FIND, not GET.&lt;BR /&gt;Table 8.3 "Record Access Stream Context" in the Guide to File Application lists the various effects.&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/doc/731final/4506/4506pro_024.html#apps_recrd_acces_stream_context" target="_blank"&gt;http://h71000.www7.hp.com/doc/731final/4506/4506pro_024.html#apps_recrd_acces_stream_context&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; If I am reading a file and I hit a locked record, the IO function waits for a second and then tries again&lt;BR /&gt;&lt;BR /&gt;Yuck. The ringer-less phone algorithm. (Pick up the phone to find out if someone is calling, instead of waiting for the phone to ring when someone called).&lt;BR /&gt;1) In high contention environments you'll loose you place in the list which can lead to lock-outs in extreme cases&lt;BR /&gt;2) The system does not know some process is more or less waiting for the record so it can not help detects issues (deadlock detection, getlki blocked-by, anal/system show proc/lock, DecAMDS)&lt;BR /&gt;3) The wait is always 1 second, even if the record becomes available in a milli second.&lt;BR /&gt;&lt;BR /&gt;Why not use the RMS WAT + TMO option which is available in BASIC with the WAIT lock clause? (answer: you may want to tell the end user early about a potential wait).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; There are two scenarios. 1. I'm reading in an alternate sequence and come across a locked record. I can probably just redo the same get(?). &lt;BR /&gt;&lt;BR /&gt;Yes... with a caveat for file with duplicates on the alternate keys. A keyed get will get you back to the first in the (potential) series of duplicates. I have at time needed to read forward to re-find the RFA for the duplicate where I left off.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt; But 2... So I get the record by RFA to lock it,&lt;BR /&gt;&lt;BR /&gt;Use FIND ?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt; can't use position to reset myself on the alternate sequence because I might have duplicate keys&lt;BR /&gt;&lt;BR /&gt;Good catch!&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt; The only thing I can think to do is to have the file open on another channel and when I want to lock a record to make changes, get it by RFA on this second channel, keeping my sequence intact on the first channel.&lt;BR /&gt;&lt;BR /&gt;No, that is actually a good, reliable and very efficient solution providing the second channel shares the same open using a CONNECT + MSE, accessible in BASIC through OPEN ... CONNECT chnl-exp2 ...&lt;BR /&gt;&lt;BR /&gt;The target buffer(s) will surely be there in the buffer from the main channel. Just data and potential RRV bucket access. No more and no less work than using the original channel.&lt;BR /&gt;Maps well onto SQL like re-implementations.&lt;BR /&gt;&lt;BR /&gt; If more understanding is needed then you may want to try a test program in native RMS (called from C, Macro or Basic as you please) before trying BASIC to make sure the BASRTL is not trying to help too much.&lt;BR /&gt;&lt;BR /&gt;Hope this helps some,&lt;BR /&gt;Hein RMS van den Heuvel&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 27 Sep 2010 11:29:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256729#M27563</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2010-09-27T11:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256730#M27564</link>
      <description>&amp;gt;&amp;gt; If I am reading a file and I hit a locked record, the IO function waits for a second and then tries again, this time by RFA&lt;BR /&gt;&lt;BR /&gt;I forgot to ask... How does the program even get the RFA, unless you did a GET REGARDLESS ??&lt;BR /&gt;&lt;BR /&gt;RMS does NOT update RFA nor record buffer on failure.&lt;BR /&gt;&lt;BR /&gt;Attached a self-contained C program to create an 2 key indexed file put some records read and lock on one rab, read by (descending) alternate key on an other stream and get a locked error. (yes, the program is sloppy-printing record buffer contents)&lt;BR /&gt;&lt;BR /&gt;Sample output below.&lt;BR /&gt;&lt;BR /&gt;Should be easy enough to modify to your experimentation needs, flipping to $FIND and/or to use: rab$b_rac = RAB$C_RFA&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Hein&lt;BR /&gt;&lt;BR /&gt;$ run NEXT_RECORD&lt;BR /&gt;PUT record (4,1) 0001 blah&lt;BR /&gt;PUT record (4,2) 0002 blah&lt;BR /&gt;PUT record (4,3) 0003 blah&lt;BR /&gt;PUT record (4,4) 0004 blah&lt;BR /&gt;LCK record (4,1) 0001 blah&lt;BR /&gt;LCK record (4,2) 0002 blah&lt;BR /&gt;GET record (4,4) 65537 0004 blah&lt;BR /&gt;GET record (4,3) 65537 0003 blah&lt;BR /&gt;GET record (0,0) 98986 0003 blah&lt;BR /&gt;Closed = Unlocked = 65537. Retry.&lt;BR /&gt;TRY record (4,2) 65537 0002 blah&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 27 Sep 2010 12:59:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256730#M27564</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2010-09-27T12:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256731#M27565</link>
      <description>&lt;!--!*#--&gt;Attach failed.&lt;BR /&gt;&lt;BR /&gt;Or rather... the reply failed and I missed the attach on the retry.&lt;BR /&gt;&lt;BR /&gt;We had such a good streak of problem-less replies, but today I had to stare at a blank screen twice instead of the usual 'ack'.&lt;BR /&gt;I guess we'll have to protect ourselves again with an extra save of the text-to-be-replied. Even though a browser-back often gets it back.&lt;BR /&gt;&lt;BR /&gt;Anyway... re-replying with attachment as well as included source.&lt;BR /&gt;&lt;BR /&gt;Hein&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include &lt;RMS&gt;&lt;BR /&gt;#include &lt;STDIO&gt;&lt;BR /&gt;#include &lt;STRING&gt;&lt;BR /&gt;#define MAXRECSIZ 50&lt;BR /&gt;int SYS$CREATE(), SYS$OPEN(), SYS$CLOSE(), SYS$CONNECT(), SYS$GET(), SYS$PUT(), SYS$FIND();&lt;BR /&gt;main (int argc, char *argv[])&lt;BR /&gt;{&lt;BR /&gt;struct FAB      fab, read_fab;&lt;BR /&gt;struct RAB      rab, read_rab;&lt;BR /&gt;struct XABKEY   key, alt;&lt;BR /&gt;&lt;BR /&gt;char    recbuf[MAXRECSIZ+1];&lt;BR /&gt;int             i, s, stat;&lt;BR /&gt;fab = cc$rms_fab;&lt;BR /&gt;rab = cc$rms_rab;&lt;BR /&gt;key = alt = cc$rms_xabkey;&lt;BR /&gt;&lt;BR /&gt;fab.fab$b_org = FAB$C_IDX;&lt;BR /&gt;fab.fab$b_shr = FAB$M_UPD;&lt;BR /&gt;fab.fab$b_fac = FAB$M_GET | FAB$M_UPD;&lt;BR /&gt;fab.fab$l_fna = "tmp.idx";&lt;BR /&gt;fab.fab$b_fns = strlen( fab.fab$l_fna );&lt;BR /&gt;read_fab = fab;&lt;BR /&gt;&lt;BR /&gt;fab.fab$l_xab = &amp;amp;key;&lt;BR /&gt;key.xab$b_siz0 = 4;&lt;BR /&gt;key.xab$l_nxt = &amp;amp;alt;&lt;BR /&gt;alt.xab$b_siz0 = 4;&lt;BR /&gt;alt.xab$b_ref = 1;&lt;BR /&gt;alt.xab$b_dtp = XAB$C_DSTG;&lt;BR /&gt;&lt;BR /&gt;stat = SYS$CREATE ( &amp;amp;fab );&lt;BR /&gt;if (!(stat&amp;amp;1)) return stat;&lt;BR /&gt;stat = SYS$OPEN ( &amp;amp;read_fab );&lt;BR /&gt;if (!(stat&amp;amp;1)) return stat;&lt;BR /&gt;&lt;BR /&gt;rab.rab$l_rbf = recbuf;&lt;BR /&gt;rab.rab$l_ubf = recbuf;&lt;BR /&gt;rab.rab$w_usz = MAXRECSIZ;&lt;BR /&gt;read_rab = rab;&lt;BR /&gt;&lt;BR /&gt;rab.rab$l_fab = &amp;amp;fab;&lt;BR /&gt;stat = SYS$CONNECT ( &amp;amp;rab );&lt;BR /&gt;if (!(stat&amp;amp;1)) return stat;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;for ( i = 1; i &amp;lt; 5; i++) {&lt;BR /&gt;    rab.rab$w_rsz = sprintf ( recbuf, "%04d blah", i);&lt;BR /&gt;    stat = SYS$PUT ( &amp;amp;rab );      // initial load record&lt;BR /&gt;    printf ("PUT record (%d,%d) %s\n", rab.rab$l_rfa0, rab.rab$w_rfa4, recbuf);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;for ( i = 1; i &amp;lt; 3; i++) {&lt;BR /&gt;    stat = SYS$GET (  &amp;amp;rab );&lt;BR /&gt;    printf ("LCK record (%d,%d) %s\n", rab.rab$l_rfa0, rab.rab$w_rfa4, recbuf);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;read_rab.rab$l_fab = &amp;amp;read_fab;&lt;BR /&gt;read_rab.rab$b_krf = 1;&lt;BR /&gt;stat = SYS$CONNECT ( &amp;amp;read_rab );&lt;BR /&gt;if (!(stat&amp;amp;1)) return stat;&lt;BR /&gt;&lt;BR /&gt;while (stat &amp;amp; 1) {&lt;BR /&gt;    read_rab.rab$l_rfa0 = 0;&lt;BR /&gt;    read_rab.rab$w_rfa4 = 0;&lt;BR /&gt;    stat = SYS$GET (  &amp;amp;read_rab );&lt;BR /&gt;    printf ("GET record (%d,%d) %5d %s\n", read_rab.rab$l_rfa0, read_rab.rab$w_rfa4, stat, recbuf);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;stat = SYS$CLOSE ( &amp;amp;fab );&lt;BR /&gt;printf ("Closed = Unlocked = %d. Retry.\n", stat);&lt;BR /&gt;&lt;BR /&gt;stat = SYS$GET (  &amp;amp;read_rab );&lt;BR /&gt;printf ("TRY record (%d,%d) %5d %s\n", read_rab.rab$l_rfa0, read_rab.rab$w_rfa4, stat, recbuf);&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;/STRING&gt;&lt;/STDIO&gt;&lt;/RMS&gt;</description>
      <pubDate>Mon, 27 Sep 2010 13:03:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256731#M27565</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2010-09-27T13:03:43Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256732#M27566</link>
      <description>&lt;!--!*#--&gt;Thanks very much for your replies.&lt;BR /&gt;&lt;BR /&gt;1. I will use WAIT 1% with GETs.&lt;BR /&gt;2. I will use OPEN CONNECT and have two streams going with the files, one stream to do the reading, another to do the random updates.&lt;BR /&gt;&lt;BR /&gt;I really appreciate your generous help.</description>
      <pubDate>Tue, 28 Sep 2010 02:36:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256732#M27566</guid>
      <dc:creator>Patricia Morman</dc:creator>
      <dc:date>2010-09-28T02:36:38Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256733#M27567</link>
      <description>Patricia,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR /&gt;I really appreciate your generous help.&lt;BR /&gt;&amp;lt;&amp;lt;&amp;lt;&lt;BR /&gt;&lt;BR /&gt;In these forums, appreciation is shown by assigning points.&lt;BR /&gt;&lt;BR /&gt;Proost.&lt;BR /&gt;&lt;BR /&gt;Have one on me.&lt;BR /&gt;&lt;BR /&gt;jpe</description>
      <pubDate>Tue, 28 Sep 2010 07:00:16 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256733#M27567</guid>
      <dc:creator>Jan van den Ende</dc:creator>
      <dc:date>2010-09-28T07:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256734#M27568</link>
      <description>Sorry, had done it previously but guess I didn't submit them.</description>
      <pubDate>Tue, 28 Sep 2010 07:05:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256734#M27568</guid>
      <dc:creator>Patricia Morman</dc:creator>
      <dc:date>2010-09-28T07:05:47Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256735#M27569</link>
      <description>1. GET with lock with WAIT 1 (say).&lt;BR /&gt;&lt;BR /&gt;If record lock/timeout, can use FIND to get the RFA to find out who has it locked and broadcast or display message etc.&lt;BR /&gt;&lt;BR /&gt;Repeat GET with lock.&lt;BR /&gt;&lt;BR /&gt;2. GET with lock and unlock if not interested.&lt;BR /&gt;&lt;BR /&gt;Simples.</description>
      <pubDate>Thu, 28 Oct 2010 13:18:05 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256735#M27569</guid>
      <dc:creator>Peter Barkas</dc:creator>
      <dc:date>2010-10-28T13:18:05Z</dc:date>
    </item>
    <item>
      <title>Re: RMS RFA GET Changes next record pointer?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256736#M27570</link>
      <description>Thanks again.</description>
      <pubDate>Thu, 28 Oct 2010 20:10:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/rms-rfa-get-changes-next-record-pointer/m-p/5256736#M27570</guid>
      <dc:creator>Patricia Morman</dc:creator>
      <dc:date>2010-10-28T20:10:52Z</dc:date>
    </item>
  </channel>
</rss>

