* * $Id: fmztor.F,v 1.1.1.1 1996/03/07 15:17:47 mclareni Exp $ * * $Log: fmztor.F,v $ * Revision 1.1.1.1 1996/03/07 15:17:47 mclareni * Fatmen * * #if defined(CERNLIB_SQLCOM) SUBROUTINE FMZTOR(GENAM,LADDR,MODE,IRC) * * Routine to fill COMMON block /FOFILE/ for call to FOPUTx * This version only fills one element of the arrays * MODE = -1 Delete entry * MODE = 0 Add entry, replace if already exists * MODE = 1 Replace entry, error if not found * #include "fatmen/fatbank.inc" #include "fatmen/fatpara.inc" #include "fatmen/fofile.inc" #include "fatmen/fovars.inc" #include "fatmen/slate.inc" PARAMETER (ITOTAL=1) CHARACTER*(*) GENAM CHARACTER*16 EXPER CHARACTER*1 MEDTYP(4) DATA MEDTYP(1)/'D'/,MEDTYP(2)/'C'/,MEDTYP(3)/'T'/,MEDTYP(4)/'X'/ * * Fill COMMON block * *... Host variables for GName_ table * GENAME(ITOTAL) = GENAM * *... Host variables for Files_ table * CPLVL(ITOTAL) = IQ(LADDR+MCPLFA) LOCAT(ITOTAL) = IQ(LADDR+MLOCFA) CALL UHTOC(IQ(LADDR+MHSNFA),4,HNAME(ITOTAL),8) CALL UHTOC(IQ(LADDR+MFQNFA),4,FNAME(ITOTAL),240) CALL UHTOC(IQ(LADDR+MHSTFA),4,HTYPE(ITOTAL),16) CALL UHTOC(IQ(LADDR+MHOSFA),4,OPSYS(ITOTAL),12) CALL UHTOC(IQ(LADDR+MFLFFA),4,FFORMT(ITOTAL),4) CALL UHTOC(IQ(LADDR+MUTFFA),4,USRFMT(ITOTAL),4) SRTREC(ITOTAL) = IQ(LADDR+MSRDFA) ENDREC(ITOTAL) = IQ(LADDR+MERDFA) SRTBLK(ITOTAL) = IQ(LADDR+MSBLFA) ENDBLK(ITOTAL) = IQ(LADDR+MEBLFA) CALL UHTOC(IQ(LADDR+MRFMFA),4,RECFMT(ITOTAL),4) RECLGH(ITOTAL) = IQ(LADDR+MRLNFA) BLKLGH(ITOTAL) = IQ(LADDR+MBLNFA) * * Unpack date/time and store in a way that ORACLE will understand * (See TO_DATE calls in FOGETx/FOPUTx) * CALL FMUPTM(IDATE,ITIME,IQ(LADDR+MCRTFA),IRC) CALL FMODAT(IDATE,ITIME,CREDAT(ITOTAL)) CALL FMUPTM(IDATE,ITIME,IQ(LADDR+MCTTFA),IRC) CALL FMODAT(IDATE,ITIME,CATDAT(ITOTAL)) CALL FMUPTM(IDATE,ITIME,IQ(LADDR+MLATFA),IRC) CALL FMODAT(IDATE,ITIME,ACSDAT(ITOTAL)) * * This is the delete flag... * ACTIVE(ITOTAL) = 'Y' IF (MODE .EQ.-1) ACTIVE(ITOTAL) = 'N' CALL UHTOC(IQ(LADDR+MCURFA),4,CRENAM(ITOTAL),8) CALL UHTOC(IQ(LADDR+MCIDFA),4,CREACC(ITOTAL),8) CALL UHTOC(IQ(LADDR+MCNIFA),4,CRENOD(ITOTAL),8) CALL UHTOC(IQ(LADDR+MCJIFA),4,CREJOB(ITOTAL),8) PROTEC(ITOTAL) = IQ(LADDR+MFPRFA) USRWD0(ITOTAL) = IQ(LADDR+MUSWFA) USRWD1(ITOTAL) = IQ(LADDR+MUSWFA+1) USRWD2(ITOTAL) = IQ(LADDR+MUSWFA+2) USRWD3(ITOTAL) = IQ(LADDR+MUSWFA+3) USRWD4(ITOTAL) = IQ(LADDR+MUSWFA+4) USRWD5(ITOTAL) = IQ(LADDR+MUSWFA+5) USRWD6(ITOTAL) = IQ(LADDR+MUSWFA+6) USRWD7(ITOTAL) = IQ(LADDR+MUSWFA+7) USRWD8(ITOTAL) = IQ(LADDR+MUSWFA+8) USRWD9(ITOTAL) = IQ(LADDR+MUSWFA+9) SYSWD0(ITOTAL) = IQ(LADDR+MSYWFA) SYSWD1(ITOTAL) = IQ(LADDR+MSYWFA+1) SYSWD2(ITOTAL) = IQ(LADDR+MSYWFA+2) SYSWD3(ITOTAL) = IQ(LADDR+MSYWFA+3) SYSWD4(ITOTAL) = IQ(LADDR+MSYWFA+4) SYSWD5(ITOTAL) = IQ(LADDR+MSYWFA+5) SYSWD6(ITOTAL) = IQ(LADDR+MSYWFA+6) SYSWD7(ITOTAL) = IQ(LADDR+MSYWFA+7) SYSWD8(ITOTAL) = IQ(LADDR+MSYWFA+8) SYSWD9(ITOTAL) = IQ(LADDR+MSYWFA+9) CALL UHTOC(IQ(LADDR+MUCMFA),4,COMMTS(ITOTAL),80) MEDIA(ITOTAL) = MEDTYP(IQ(LADDR+MMTPFA)) FLSQNO(ITOTAL) = IQ(LADDR+MFSQFA) VLSQNO(ITOTAL) = IQ(LADDR+MVSQFA) CALL UHTOC(IQ(LADDR+MVSNFA),4,VSN(ITOTAL),6) CALL UHTOC(IQ(LADDR+MVIDFA),4,VID(ITOTAL),6) PREF(ITOTAL) = IQ(LADDR+MVIPFA) DENS(ITOTAL) = IQ(LADDR+MDENFA) CALL FMWORD(EXPER,3,'/',GENAM,IRC) CALL DATIME(ID,IT) PRINT *,'FMZTOR. time before ORACLE = ',ID,IT,IS(6) IF (MODE .EQ.-1) THEN CALL FODEL(IRC) ELSE CALL FOPUT(ITOTAL,MODE,IRC) ENDIF CALL DATIME(ID,IT) PRINT *,'FMZTOR. time after ORACLE = ',ID,IT,IS(6) END #endif