dahls%vax.elab.unit.uninett@TOR.NTA.NO (J|rn Yngve Dahl-Stamnes) (05/26/88)
To all RMS GURU's and WIZARD's !! I am trying to use a useropen routine when opening a file from fortran. The file get open, but I can't access it. When trying to read record 1 from it, I got the following error messages: %FOR-E-ERRDURREA, error during read ...... If I remove the err=1000 in the read line (se below), I do not get the error messages, but nothing is read from the file!!! Finally, if I don't use the useropen routine, everything works - no problem. The purpose of the useropen routine, is to get the $XABDAT, $XABPRO and $XABRDT fields - and it work just fine. I have tried to change the content of the fields FAB$L_FOB, FAB$B_SHR and FAB$B_RFM, but without any luck. Is there anyone out there who can help me to fix this problem? Open statement: --------------- open (unit=lun1, file=found1, recl=25, status='old', & form='unformatted', access='direct', readonly, & maxrec=1001, iostat=iostat, err=1000, & useropen=lio$ufopen) read (unit=lun1,rec=1,iostat=status,err=1000) record User open routine LIO$UFOPEN: ----------------------------- function lio$ufopen ( fab,rab,lun ) ! implicit none include '($fabdef)/nolist' include '($rabdef)/nolist' include '($xabdatdef)/nolist' include '($xabprodef)/nolist' include '($xabrdtdef)/nolist' external sys$open integer*4 sys$open record /xabdatdef/ xabdat record /xabprodef1/ xabpro record /xabrdtdef/ xabrdt common /lio_acc/ readonly common /lio_rms/ xabdat, xabpro, xabrdt integer*4 lio$ufopen integer*4 lun integer*4 status record /fabdef/ fab record /rabdef/ rab fab.fab$b_fac = fab$m_bio .or. fab$m_get fab.fab$b_org = fab$c_seq fab.fab$b_shr = fab$m_nil fab.fab$l_fop = fab$m_nam ! fab.fab$l_xab = %loc(xabdat) xabdat.xabdatdef$$_fill_4 = %loc(xabpro) ! = xab$l_nxt, xab chain xabpro.xabprodef$$_fill_4 = %loc(xabrdt) ! link address. xabrdt.xabrdtdef$$_fill_4 = 0 ! End of link. ! xabdat.xabdatdef$$_fill_1 = xab$c_dat ! = xab$b_cod xabdat.xabdatdef$$_fill_2 = xab$c_datlen ! = xab$b_bln ! xabpro.xabprodef$$_fill_1 = xab$c_pro ! = xab$b_cod xabpro.xabprodef$$_fill_2 = xab$c_prolen ! = xab$b_bln ! xabrdt.xabrdtdef$$_fill_1 = xab$c_rdt ! = xab$b_cod xabrdt.xabrdtdef$$_fill_2 = xab$c_rdtlen ! = xab$b_bln ! status = sys$open (fab) ! lio$ufopen = status return end Listing from the DEBUGGER before $OPEN is executed: --------------------------------------------------- set radix hex ex fab,rab !LIO$UFOPEN\FAB ! FAB$B_BID: 03 ! FAB$B_BLN: 50 ! FAB$W_IFI: 0000 ! ! (1): 00 ! (2): 00 ! FAB$L_FOP: 01000000 ! ! (1): 00 ! (2): 00 ! (3): 00 ! (4): 01 ! FAB$L_STS: 00000000 ! FAB$L_STV: 00000000 ! FAB$L_ALQ: 00000000 ! FAB$W_DEQ: 0000 ! FAB$B_FAC: 22 ! ! (1): 22 ! FAB$B_SHR: 20 ! ! (1): 20 ! FAB$L_CTX: 00000000 ! FAB$B_RTV: 00 ! FAB$B_ORG: 00 ! ! (1): 00 ! FAB$B_RAT: 00 ! ! (1): 00 ! FAB$B_RFM: 01 ! FAB$B_JOURNAL: 00 ! ! (1): 00 ! FAB$B_RU_FACILITY: 00 ! FABDEF$$_FILL_7: 0000 ! FAB$L_XAB: 00002338 ! FAB$L_NAM: 0012BA78 ! FAB$L_FNA: 00000494 ! FAB$L_DNA: 7FF25E30 ! FAB$B_FNS: 0FF ! FAB$B_DNS: 0A ! FAB$W_MRS: 0064 ! FAB$L_MRN: 000003E9 ! FAB$W_BLS: 0000 ! FAB$B_BKS: 00 ! FAB$B_FSZ: 00 ! FAB$L_DEV: 1C4D4108 ! FAB$L_SDC: 1C4D4108 ! FAB$W_GBC: 0000 ! FAB$B_ACMODES: 00 ! ! (1): 00 ! FAB$B_RCF: 00 ! ! (1): 00 ! FABDEF$$_FILL_9: 00000000 !LIO$UFOPEN\RAB ! RAB$B_BID: 01 ! RAB$B_BLN: 44 ! RAB$W_ISI: 0000 ! ! (1): 00 ! (2): 00 ! RAB$L_ROP: 00010612 ! ! (1): 12 ! (2): 06 ! (3): 01 ! (4): 00 ! ! (1): 12 ! RABDEF$$_FILL_3: 12 ! RAB$B_ROP1: 06 ! RAB$B_ROP2: 01 ! RAB$B_ROP3: 00 ! RAB$L_STS: 00000000 ! RAB$L_STV: 00000000 ! RAB$W_STV0: 0000 ! RAB$W_STV2: 0000 ! RAB$W_RFA ! (1): 0000 ! (2): 0000 ! (3): 0000 ! RAB$L_RFA0: 00000000 ! RAB$W_RFA4: 0000 ! RABDEF$$_FILL_4: 0000 ! RAB$L_CTX: 00000000 ! RABDEF$$_FILL_5: 0000 ! RAB$B_RAC: 01 ! RAB$B_TMO: 00 ! RAB$W_USZ: 0000 ! RAB$W_RSZ: 0000 ! RAB$L_UBF: 00000000 ! RAB$L_RBF: 00000000 ! RAB$L_RHB: 00000000 ! RAB$L_KBF: 0012B9C4 ! RAB$L_PBF: 0012B9C4 ! RAB$B_KSZ: 00 ! RAB$B_PSZ: 00 ! RAB$B_KRF: 00 ! RAB$B_MBF: 00 ! RAB$B_MBC: 00 ! RAB$L_BKT: 00000000 ! RAB$L_DCT: 00000000 ! RAB$L_FAB: 0012BA28 ! RAB$L_XAB: 00000000 Step !stepped to LIO$UFOPEN\%LINE 846 Listing from the DEBUGGER after $OPEN is executed: -------------------------------------------------- ex fab,rab !LIO$UFOPEN\FAB ! FAB$B_BID: 03 ! FAB$B_BLN: 50 ! FAB$W_IFI: 0005 ! ! (1): 05 ! (2): 00 ! FAB$L_FOP: 01200000 ! ! (1): 00 ! (2): 00 ! (3): 20 ! (4): 01 ! FAB$L_STS: 00010001 ! FAB$L_STV: 000001E0 ! FAB$L_ALQ: 00000012 ! FAB$W_DEQ: 0009 ! FAB$B_FAC: 22 ! ! (1): 22 ! FAB$B_SHR: 20 ! ! (1): 20 ! FAB$L_CTX: 00000000 ! FAB$B_RTV: 00 ! FAB$B_ORG: 00 ! ! (1): 00 ! FAB$B_RAT: 00 ! ! (1): 00 ! FAB$B_RFM: 01 ! FAB$B_JOURNAL: 00 ! ! (1): 00 ! FAB$B_RU_FACILITY: 00 ! FABDEF$$_FILL_7: 0000 ! FAB$L_XAB: 00002338 ! FAB$L_NAM: 0012BA78 ! FAB$L_FNA: 00000494 ! FAB$L_DNA: 7FF25E30 ! FAB$B_FNS: 0FF ! FAB$B_DNS: 0A ! FAB$W_MRS: 0064 ! FAB$L_MRN: 000003E9 ! FAB$W_BLS: 0200 ! FAB$B_BKS: 00 ! FAB$B_FSZ: 00 ! FAB$L_DEV: 1C4D4108 ! FAB$L_SDC: 1C4D4108 ! FAB$W_GBC: 0000 ! FAB$B_ACMODES: 00 ! ! (1): 00 ! FAB$B_RCF: 00 ! ! (1): 00 ! FABDEF$$_FILL_9: 00000000 !LIO$UFOPEN\RAB ! RAB$B_BID: 01 ! RAB$B_BLN: 44 ! RAB$W_ISI: 0000 ! ! (1): 00 ! (2): 00 ! RAB$L_ROP: 00010612 ! ! (1): 12 ! (2): 06 ! (3): 01 ! (4): 00 ! ! (1): 12 ! RABDEF$$_FILL_3: 12 ! RAB$B_ROP1: 06 ! RAB$B_ROP2: 01 ! RAB$B_ROP3: 00 ! RAB$L_STS: 00000000 ! RAB$L_STV: 00000000 ! RAB$W_STV0: 0000 ! RAB$W_STV2: 0000 ! RAB$W_RFA ! (1): 0000 ! (2): 0000 ! (3): 0000 ! RAB$L_RFA0: 00000000 ! RAB$W_RFA4: 0000 ! RABDEF$$_FILL_4: 0000 ! RAB$L_CTX: 00000000 ! RABDEF$$_FILL_5: 0000 ! RAB$B_RAC: 01 ! RAB$B_TMO: 00 ! RAB$W_USZ: 0000 ! RAB$W_RSZ: 0000 ! RAB$L_UBF: 00000000 ! RAB$L_RBF: 00000000 ! RAB$L_RHB: 00000000 ! RAB$L_KBF: 0012B9C4 ! RAB$L_PBF: 0012B9C4 ! RAB$B_KSZ: 00 ! RAB$B_PSZ: 00 ! RAB$B_KRF: 00 ! RAB$B_MBF: 00 ! RAB$B_MBC: 00 ! RAB$L_BKT: 00000000 ! RAB$L_DCT: 00000000 ! RAB$L_FAB: 0012BA28 ! RAB$L_XAB: 00000000 ================== +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ! The University of Trondheim ! Joern Yngve Dahl-Stamnes ! ! The Norwegian Institute of Technology ! System Manager ! ! Division of Physical Electronics ! ! ! N 7034 Trondheim, Norway ! ! !---------------------------------------+---------------------------! ! dahls%vax.elab.unit.uninett@tor.nta.no ! !------->>>>>>>> "t'nia stnatsnoc ,t'now selbairaV" <<<<<<<<------! +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
carl@CITHEX.CALTECH.EDU (Carl J Lydick) (05/28/88)
> I am trying to use a useropen routine when opening a file from fortran. The > file get open, but I can't access it. When trying to read record 1 from it, > I got the following error messages: > > %FOR-E-ERRDURREA, error during read ...... > > If I remove the err=1000 in the read line (se below), I do not get the error > messages, but nothing is read from the file!!! Finally, if I don't use the > useropen routine, everything works - no problem. > > The purpose of the useropen routine, is to get the $XABDAT, $XABPRO and > $XABRDT fields - and it work just fine. I have tried to change the content > of the fields FAB$L_FOB, FAB$B_SHR and FAB$B_RFM, but without any luck. > > Is there anyone out there who can help me to fix this problem? I don't know for sure (it's been a LONG time since I've done this sort of thing), but I think there should be a call to SYS$CONNECT somewhere in your useropen routine. As it is, you've opened the file, but you haven't connected to it (that, I think, is the reason you want the RAB block as one of the parameters to the useropen routine). Hope that if this doesn't help, it at least doesn't lead you too far astray).
dahls%vax.elab.unit.uninett%TOR.nta.no%KL.SRI.COM%lbl%sfsu1.hepnet@LBL.GOV (05/29/88)
Received: from KL.SRI.COM by LBL.Gov with INTERNET ; Sat, 28 May 88 19:34:08 PDT Received: from tor.nta.no by KL.SRI.COM with TCP; Thu 26 May 88 04:16:39-PDT Posted-Date: 26 May 88 13:14 +0100 Received: by tor.nta.no (5.54/3.21) id AA07747; Thu, 26 May 88 13:19:03 +0200 Date: 26 May 88 13:14 +0100 From: J|rn Yngve Dahl-Stamnes <dahls%vax.elab.unit.uninett@TOR.nta.no> To: <info-vax@kl.sri.com> Message-Id: <127*dahls@vax.elab.unit.uninett> Subject: RMS question. To all RMS GURU's and WIZARD's !! I am trying to use a useropen routine when opening a file from fortran. The file get open, but I can't access it. When trying to read record 1 from it, I got the following error messages: %FOR-E-ERRDURREA, error during read ...... If I remove the err=1000 in the read line (se below), I do not get the error messages, but nothing is read from the file!!! Finally, if I don't use the useropen routine, everything works - no problem. The purpose of the useropen routine, is to get the $XABDAT, $XABPRO and $XABRDT fields - and it work just fine. I have tried to change the content of the fields FAB$L_FOB, FAB$B_SHR and FAB$B_RFM, but without any luck. Is there anyone out there who can help me to fix this problem? Open statement: --------------- open (unit=lun1, file=found1, recl=25, status='old', & form='unformatted', access='direct', readonly, & maxrec=1001, iostat=iostat, err=1000, & useropen=lio$ufopen) read (unit=lun1,rec=1,iostat=status,err=1000) record User open routine LIO$UFOPEN: ----------------------------- function lio$ufopen ( fab,rab,lun ) ! implicit none include '($fabdef)/nolist' include '($rabdef)/nolist' include '($xabdatdef)/nolist' include '($xabprodef)/nolist' include '($xabrdtdef)/nolist' external sys$open integer*4 sys$open record /xabdatdef/ xabdat record /xabprodef1/ xabpro record /xabrdtdef/ xabrdt common /lio_acc/ readonly common /lio_rms/ xabdat, xabpro, xabrdt integer*4 lio$ufopen integer*4 lun integer*4 status record /fabdef/ fab record /rabdef/ rab fab.fab$b_fac = fab$m_bio .or. fab$m_get fab.fab$b_org = fab$c_seq fab.fab$b_shr = fab$m_nil fab.fab$l_fop = fab$m_nam ! fab.fab$l_xab = %loc(xabdat) xabdat.xabdatdef$$_fill_4 = %loc(xabpro) ! = xab$l_nxt, xab chain xabpro.xabprodef$$_fill_4 = %loc(xabrdt) ! link address. xabrdt.xabrdtdef$$_fill_4 = 0 ! End of link. ! xabdat.xabdatdef$$_fill_1 = xab$c_dat ! = xab$b_cod xabdat.xabdatdef$$_fill_2 = xab$c_datlen ! = xab$b_bln ! xabpro.xabprodef$$_fill_1 = xab$c_pro ! = xab$b_cod xabpro.xabprodef$$_fill_2 = xab$c_prolen ! = xab$b_bln ! xabrdt.xabrdtdef$$_fill_1 = xab$c_rdt ! = xab$b_cod xabrdt.xabrdtdef$$_fill_2 = xab$c_rdtlen ! = xab$b_bln ! status = sys$open (fab) ! lio$ufopen = status return end Listing from the DEBUGGER before $OPEN is executed: --------------------------------------------------- set radix hex ex fab,rab !LIO$UFOPEN\FAB ! FAB$B_BID: 03 ! FAB$B_BLN: 50 ! FAB$W_IFI: 0000 ! ! (1): 00 ! (2): 00 ! FAB$L_FOP: 01000000 ! ! (1): 00 ! (2): 00 ! (3): 00 ! (4): 01 ! FAB$L_STS: 00000000 ! FAB$L_STV: 00000000 ! FAB$L_ALQ: 00000000 ! FAB$W_DEQ: 0000 ! FAB$B_FAC: 22 ! ! (1): 22 ! FAB$B_SHR: 20 ! ! (1): 20 ! FAB$L_CTX: 00000000 ! FAB$B_RTV: 00 ! FAB$B_ORG: 00 ! ! (1): 00 ! FAB$B_RAT: 00 ! ! (1): 00 ! FAB$B_RFM: 01 ! FAB$B_JOURNAL: 00 ! ! (1): 00 ! FAB$B_RU_FACILITY: 00 ! FABDEF$$_FILL_7: 0000 ! FAB$L_XAB: 00002338 ! FAB$L_NAM: 0012BA78 ! FAB$L_FNA: 00000494 ! FAB$L_DNA: 7FF25E30 ! FAB$B_FNS: 0FF ! FAB$B_DNS: 0A ! FAB$W_MRS: 0064 ! FAB$L_MRN: 000003E9 ! FAB$W_BLS: 0000 ! FAB$B_BKS: 00 ! FAB$B_FSZ: 00 ! FAB$L_DEV: 1C4D4108 ! FAB$L_SDC: 1C4D4108 ! FAB$W_GBC: 0000 ! FAB$B_ACMODES: 00 ! ! (1): 00 ! FAB$B_RCF: 00 ! ! (1): 00 ! FABDEF$$_FILL_9: 00000000 !LIO$UFOPEN\RAB ! RAB$B_BID: 01 ! RAB$B_BLN: 44 ! RAB$W_ISI: 0000 ! ! (1): 00 ! (2): 00 ! RAB$L_ROP: 00010612 ! ! (1): 12 ! (2): 06 ! (3): 01 ! (4): 00 ! ! (1): 12 ! RABDEF$$_FILL_3: 12 ! RAB$B_ROP1: 06 ! RAB$B_ROP2: 01 ! RAB$B_ROP3: 00 ! RAB$L_STS: 00000000 ! RAB$L_STV: 00000000 ! RAB$W_STV0: 0000 ! RAB$W_STV2: 0000 ! RAB$W_RFA ! (1): 0000 ! (2): 0000 ! (3): 0000 ! RAB$L_RFA0: 00000000 ! RAB$W_RFA4: 0000 ! RABDEF$$_FILL_4: 0000 ! RAB$L_CTX: 00000000 ! RABDEF$$_FILL_5: 0000 ! RAB$B_RAC: 01 ! RAB$B_TMO: 00 ! RAB$W_USZ: 0000 ! RAB$W_RSZ: 0000 ! RAB$L_UBF: 00000000 ! RAB$L_RBF: 00000000 ! RAB$L_RHB: 00000000 ! RAB$L_KBF: 0012B9C4 ! RAB$L_PBF: 0012B9C4 ! RAB$B_KSZ: 00 ! RAB$B_PSZ: 00 ! RAB$B_KRF: 00 ! RAB$B_MBF: 00 ! RAB$B_MBC: 00 ! RAB$L_BKT: 00000000 ! RAB$L_DCT: 00000000 ! RAB$L_FAB: 0012BA28 ! RAB$L_XAB: 00000000 Step !stepped to LIO$UFOPEN\%LINE 846 Listing from the DEBUGGER after $OPEN is executed: -------------------------------------------------- ex fab,rab !LIO$UFOPEN\FAB ! FAB$B_BID: 03 ! FAB$B_BLN: 50 ! FAB$W_IFI: 0005 ! ! (1): 05 ! (2): 00 ! FAB$L_FOP: 01200000 ! ! (1): 00 ! (2): 00 ! (3): 20 ! (4): 01 ! FAB$L_STS: 00010001 ! FAB$L_STV: 000001E0 ! FAB$L_ALQ: 00000012 ! FAB$W_DEQ: 0009 ! FAB$B_FAC: 22 ! ! (1): 22 ! FAB$B_SHR: 20 ! ! (1): 20 ! FAB$L_CTX: 00000000 ! FAB$B_RTV: 00 ! FAB$B_ORG: 00 ! ! (1): 00 ! FAB$B_RAT: 00 ! ! (1): 00 ! FAB$B_RFM: 01 ! FAB$B_JOURNAL: 00 ! ! (1): 00 ! FAB$B_RU_FACILITY: 00 ! FABDEF$$_FILL_7: 0000 ! FAB$L_XAB: 00002338 ! FAB$L_NAM: 0012BA78 ! FAB$L_FNA: 00000494 ! FAB$L_DNA: 7FF25E30 ! FAB$B_FNS: 0FF ! FAB$B_DNS: 0A ! FAB$W_MRS: 0064 ! FAB$L_MRN: 000003E9 ! FAB$W_BLS: 0200 ! FAB$B_BKS: 00 ! FAB$B_FSZ: 00 ! FAB$L_DEV: 1C4D4108 ! FAB$L_SDC: 1C4D4108 ! FAB$W_GBC: 0000 ! FAB$B_ACMODES: 00 ! ! (1): 00 ! FAB$B_RCF: 00 ! ! (1): 00 ! FABDEF$$_FILL_9: 00000000 !LIO$UFOPEN\RAB ! RAB$B_BID: 01 ! RAB$B_BLN: 44 ! RAB$W_ISI: 0000 ! ! (1): 00 ! (2): 00 ! RAB$L_ROP: 00010612 ! ! (1): 12 ! (2): 06 ! (3): 01 ! (4): 00 ! ! (1): 12 ! RABDEF$$_FILL_3: 12 ! RAB$B_ROP1: 06 ! RAB$B_ROP2: 01 ! RAB$B_ROP3: 00 ! RAB$L_STS: 00000000 ! RAB$L_STV: 00000000 ! RAB$W_STV0: 0000 ! RAB$W_STV2: 0000 ! RAB$W_RFA ! (1): 0000 ! (2): 0000 ! (3): 0000 ! RAB$L_RFA0: 00000000 ! RAB$W_RFA4: 0000 ! RABDEF$$_FILL_4: 0000 ! RAB$L_CTX: 00000000 ! RABDEF$$_FILL_5: 0000 ! RAB$B_RAC: 01 ! RAB$B_TMO: 00 ! RAB$W_USZ: 0000 ! RAB$W_RSZ: 0000 ! RAB$L_UBF: 00000000 ! RAB$L_RBF: 00000000 ! RAB$L_RHB: 00000000 ! RAB$L_KBF: 0012B9C4 ! RAB$L_PBF: 0012B9C4 ! RAB$B_KSZ: 00 ! RAB$B_PSZ: 00 ! RAB$B_KRF: 00 ! RAB$B_MBF: 00 ! RAB$B_MBC: 00 ! RAB$L_BKT: 00000000 ! RAB$L_DCT: 00000000 ! RAB$L_FAB: 0012BA28 ! RAB$L_XAB: 00000000 ================== +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ! The University of Trondheim ! Joern Yngve Dahl-Stamnes ! ! The Norwegian Institute of Technology ! System Manager ! ! Division of Physical Electronics ! ! ! N 7034 Trondheim, Norway ! ! !---------------------------------------+---------------------------! ! dahls%vax.elab.unit.uninett@tor.nta.no ! !------->>>>>>>> "t'nia stnatsnoc ,t'now selbairaV" <<<<<<<<------! +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+