PARM !FILEA !FILEB !FILEC ## ## Merges two files into a third file ## Valeda Franklin ## Solano Community College ## ## FILEA and FILEB are to be merged into FILEC ## FILEC may or may not exist ## FILEC must have a sufficient limit for all the data ## File structure must match across all three files ## setjcw cierror=0 setvar A_EOF FINFO('!FILEA',"EOF") setvar B_EOF FINFO('!FILEB',"EOF") continue listf !FILEC > $NULL if cierror=0 then ## ## FILEC exists already ## setvar C_EOF FINFO('!FILEC',"EOF") setvar D_EOF A_EOF+B_EOF+C_EOF if D_EOF > C_EOF ## ## FILEC is not large enough for all the data, ## so must rebuild with sufficient disc space ## 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 ## ## FILEC does not exist, need to build with like ## structure and sufficient disc space ## 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