HP3000-L Archives

August 1998, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Valeda Franklin <[log in to unmask]>
Reply To:
Valeda Franklin <[log in to unmask]>
Date:
Wed, 19 Aug 1998 12:09:15 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (67 lines)
Not sure how Tony got around the insufficient limit.  The following
command file is longer, but it makes sure that the target file is large enough
for the merges.
Couldn't figure out how to determine if the file is ASCII or BINARY on the
fly, but will assume that a merge will always be with ASCII files.  Maybe
someone knows (and will share) this trick.
Valeda


PARM !FILEA !FILEB !FILEC
COMMENT #
COMMENT #  Merges two files into a third file
COMMENT #
COMMENT # FILEA and FILEB are to be merged into FILEC
COMMENT # FILEC may or may not exist
COMMENT # FILEC must have a sufficient limit for all the data
COMMENT # File structure must match across all three files
COMMENT #
setjcw cierror=0
setvar A_EOF FINFO('!FILEA',"EOF")
setvar B_EOF FINFO('!FILEB',"EOF")
continue
listf !FILEC > $NULL
if  cierror=0 then
    COMMENT #
    COMMENT # FILEC exists already
    COMMENT #
    setvar C_EOF FINFO('!FILEC',"EOF")
    setvar D_EOF A_EOF+B_EOF+C_EOF
    if D_EOF > C_EOF
       COMMENT #
       COMMENT # FILEC is not large enough for all the data,
       COMMENT # so must rebuild with sufficient disc space
       COMMENT #
       setvar A_TYP FINFO('!FILEA',"RECTYPE")
       setvar A_TYP LFT("!A_TYP",1)
       setvar A_SIZ FINFO('!FILEA',"RECSIZE")
       purge FILED
       build FILED;rec=!A_SIZ,,!A_TYP,ASCII;disc=!D_EOF
       file FILED;acc=append
       fcopy from=!FILEC;to=*FILED
       purge !FILEC
       rename FILED,!FILEC
    endif
    file !FILEC;acc=append
    fcopy from=!FILEA;to=*!FILEC
else
    COMMENT #
    COMMENT # FILEC does not exist, need to build with like
    COMMENT # structure and sufficient disc space
    COMMENT #
    setvar A_TYP FINFO('!FILEA',"RECTYPE")
    setvar A_TYP LFT("!A_TYP",1)
    setvar A_SIZ FINFO('!FILEA',"RECSIZE")
    setvar C_EOF A_EOF+B_EOF
    build !FILEC;rec=!A_SIZ,,!A_TYP,ASCII;disc=!C_EOF
    file !FILEC;acc=append
    fcopy from=!FILEA;to=*!FILEC
endif
fcopy from=!FILEB;to=*!FILEC
reset !FILEC
       * - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - *
       | Valeda Franklin           |  [log in to unmask]           |
       | Information Analyst       |  Solano Community College           |
       | Computer Services         |  Suisun City, CA 94585-3197         |
       * - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - *

ATOM RSS1 RSS2