Hello all,
I need the benefit of your knowledge and combined
wisdom! Am I scraping the bottom of the barrel or
what?!
I have a process that produces multiple flat files
during the day, that then need to be FTP'd to a remote
box. The developer on the other side (who is working
on Windows 2000 - poor sod), wants me to send him a
single file containing all the information for the
day.
No Problem I said...trusty MPE will do that with
FCOPY!
Oopps! I have been trying for a week now to get
FCOPY to like working in a job stream..Here's the
problem:
1) Create a new file with todays date in the title (ie
INV1025...no problem use variables etc
2) Find out how many files I need to transfer...Use
MPEX LISTF and interogate MPEXNUMSUCCEEDED variable,
if zero stop
3) FCOPY the first file into the target, move copied
file to another group....yup, can do that
4) FCOPY the next file into the target..OOPPSS!
Error!
Anyway, here's my job...
JOb TEST,MANAGER.SYS;OUTCLASS=LP,1
!
!SETVAR MTH ' '
!SETVAR DTE ' '
!SETVAR DAYFILE ' '
!SETVAR DUMMYFILE ' '
!SETVAR DUMMYFILE1 ' '
!SETVAR COUNTER 0
!SETVAR COUNTER2 0
!
!IF !HPDATE <10
! SETVAR DTE '0!HPDATE'
!ELSE
! SETVAR DTE '!HPDATE'
!ENDIF
!
!IF !HPMONTH < 10
! SETVAR MTH '0!HPMONTH'
!ELSE
! SETVAR MTH '!HPMONTH'
!ENDIF
!
!SETVAR DAYFILE 'PEGL!DTE!MTH'
!
!MPEX
CONTINUE
LISTF !DAYFILE.PUB.SYS,2
EXIT
!
!SHOWVAR MPEXNUMSUCCEEDED
!
!SHOWVAR MPEXNUMSUCCEEDED
!IF MPEXNUMSUCCEEDED <> 0 THEN
! COMMENT * This job has run already today!
*
! RUN SIGNALER.MAESTRO.CCC
! EOJ
!ENDIF
!
!
!SHOWVAR
!
!MPEX
LISTF [log in to unmask],6
EXIT
!
!IF MPEXNUMSUCCEEDED = 0 THEN
! COMMENT * This job jas nothing to process,
stopping now *
! RUN SIGNALER.MAESTRO.CCC
! EOJ
!ELSE
! SETVAR COUNTER !MPEXNUMSUCCEEDED-1
!ENDIF
!SHOWVAR
!MPEX
FILE TEST1;REC=16,,F,ASCII;DISC=10000
FILE TEST2;REC=4,,F,ASCII;DISC=10000
LISTF [log in to unmask],6>*TEST1
LISTF [log in to unmask],6>*TEST2
CONTINUE
SAVE TEST1
CONTINUE
SAVE TEST2
SETVAR DUMMYFILE VEFREADDIR("TEST1,OLD",0)
SHOWVAR DUMMYFILE
PURGE TEST1
SETVAR DUMMYFILE1 VEFREADDIR("TEST2,OLD",0)
SHOWVAR DUMMYFILE1
PURGE TEST2
FILE
!DAYFILE;REC=-57,10,F,ASCII;ACC=APPEND;DISC=5000,2
! FCOPY
FROM=!DUMMYFILE;TO=!DAYFILE;NEW
! RENAME !DUMMYFILE,!DUMMYFILE1.BOB1.SYS
!WHILE COUNTER2 <> COUNTER DO
!MPEX
FILE TEST1;REC=16,,F,ASCII;DISC=10000
FILE TEST2;REC=4,,F,ASCII;DISC=10000
LISTF [log in to unmask],6>*TEST1
LISTF [log in to unmask],6>*TEST2
CONTINUE
SAVE TEST1
CONTINUE
SAVE TEST2
SETVAR DUMMYFILE VEFREADDIR("TEST1,OLD",0)
SHOWVAR DUMMYFILE
PURGE TEST1
SETVAR DUMMYFILE1 VEFREADDIR("TEST2,OLD",0)
SHOWVAR DUMMYFILE1
PURGE TEST2
EXIT
! FCOPY
FROM=!DUMMYFILE;TO=!DAYFILE;NEW
! RENAME !DUMMYFILE,!DUMMYFILE1.BOB1.SYS
!COUNTER2 COUNTER2 + 1
!LISTF !DAYFILE,2
!
!EOJ
And here is what happens...
:JOB TEST,MANAGER.SYS,PUB.
Priority = DS; HIPRI; Time = UNLIMITED seconds.
Job number = #j2110.
FRI, OCT 25, 2002, 8:06 AM.
HP3000 Release: C.70.00 User Version: C.70.00
MPE/iX HP31900 C.39.06 Copyright Hewlett-Packard
1987.
All rights reserved.
STREAMED BY BOB,MANAGER.SYS (#S2270) ON LDEV# 8
STREAM DATE: FRI, OCT 25, 2002, 8:05 AM
**********************************************************
* WELCOME!
*
* --------
*
* You are logged on to the StoraEnso HPe3000 EBM
System *
* Unauthorised Use of this computer is Prohibited
*
**********************************************************
Welcome! You are now signed on.
:
:SETVAR MTH ' '
:SETVAR DTE ' '
:SETVAR DAYFILE ' '
:SETVAR DUMMYFILE ' '
(24/209) Continue?
:SETVAR DUMMYFILE1 ' '
:SETVAR COUNTER 0
:SETVAR COUNTER2 0
:
:IF !HPDATE <10
*** EXPRESSION FALSE: COMMANDS IGNORED UNTIL MATCHING
ELSEIF/ELSE
/ENDIF
: SETVAR DTE '0!HPDATE'
:ELSE
*** RESUME EXECUTION OF COMMANDS
: SETVAR DTE '!HPDATE'
:ENDIF
:
:IF !HPMONTH < 10
*** EXPRESSION FALSE: COMMANDS IGNORED UNTIL MATCHING
ELSEIF/ELSE
/ENDIF
: SETVAR MTH '0!HPMONTH'
:ELSE
*** RESUME EXECUTION OF COMMANDS
: SETVAR MTH '!HPMONTH'
:ENDIF
:
:SETVAR DAYFILE 'PEGL!DTE!MTH'
(47/209) Continue?
:
:MPEX
MPEX/3000 30N10511 (c) VESOFT Inc, 1980 7.0
03:04966 For help type 'HELP'
% CONTINUE
% LISTF !DAYFILE.PUB.SYS,2
Processing PEGL2510.PUB.SYS
Non-existent file. (CIERR 907)
%EXIT
END OF PROGRAM
:
:SHOWVAR MPEXNUMSUCCEEDED
MPEXNUMSUCCEEDED = 0
:
:SHOWVAR MPEXNUMSUCCEEDED
MPEXNUMSUCCEEDED = 0
:IF MPEXNUMSUCCEEDED <> 0 THEN
*** EXPRESSION FALSE: COMMANDS IGNORED UNTIL MATCHING
ELSEIF/ELSE
/ENDIF
: COMMENT * This job has run already today!
*
(70/209) Continue?
: RUN SIGNALER.MAESTRO.CCC
: EOJ
:ENDIF
*** RESUME EXECUTION OF COMMANDS
:
:
:SHOWVAR
SECURITYANSWER = 0
VSETNEXTCENTURY = 2
TZ = GMT
MTH = 10
DTE = 25
DAYFILE = PEGL2510
DUMMYFILE =
DUMMYFILE1 =
COUNTER = 0
COUNTER2 = 0
INSIDEMPEX = 0
MPEXVERSION = 30N10511
MPEXPREFIXDEF39 = SPOONFEED QUERY,
MPEXCRITRESTRICTEDIT = ISASCII and ISSTD and NOT
ISLINK
CIERRORISWARN = 0
FSERROR = 0
(93/209) Continue?
MPEXPREFIX =
MPEXFILESET = PEGL2510.PUB.SYS
MPEXLISTFILE =
MPEXLISTFPAGEHEAD = TRUE
MPEXLISTFTOTALS = 0
MPEXNUMSUCCEEDED = 0
MPEXNUMFAILED = 1
:
:MPEX
MPEX/3000 30N10511 (c) VESOFT Inc, 1980 7.0
03:04966 For help type 'HELP'
%LISTF [log in to unmask],6
PEGL0082.BOB.SYS
PEGL0083.BOB.SYS
PEGL0084.BOB.SYS
PEGL0085.BOB.SYS
PEGL0086.BOB.SYS
PEGL0087.BOB.SYS
PEGL0088.BOB.SYS
PEGL0089.BOB.SYS
PEGL0090.BOB.SYS
PEGL0091.BOB.SYS
(116/209) Continue?
PEGL0092.BOB.SYS
PEGL0093.BOB.SYS
PEGL0094.BOB.SYS
PEGL0095.BOB.SYS
PEGL0096.BOB.SYS
PEGL0097.BOB.SYS
PEGL0098.BOB.SYS
PEGL0099.BOB.SYS
PEGL0100.BOB.SYS
PEGL0101.BOB.SYS
PEGL0102.BOB.SYS
PEGL0103.BOB.SYS
PEGL0104.BOB.SYS
%EXIT
END OF PROGRAM
:
:IF MPEXNUMSUCCEEDED = 0 THEN
*** EXPRESSION FALSE: COMMANDS IGNORED UNTIL MATCHING
ELSEIF/ELSE
/ENDIF
: COMMENT * This job jas nothing to process,
stopping now *
: RUN SIGNALER.MAESTRO.CCC
(139/209) Continue?
: EOJ
:ELSE
*** RESUME EXECUTION OF COMMANDS
: SETVAR COUNTER !MPEXNUMSUCCEEDED-1
:ENDIF
:SHOWVAR
SECURITYANSWER = 0
VSETNEXTCENTURY = 2
TZ = GMT
MTH = 10
DTE = 25
DAYFILE = PEGL2510
DUMMYFILE =
DUMMYFILE1 =
COUNTER = 22
COUNTER2 = 0
INSIDEMPEX = 0
MPEXVERSION = 30N10511
MPEXPREFIXDEF39 = SPOONFEED QUERY,
MPEXCRITRESTRICTEDIT = ISASCII and ISSTD and NOT
ISLINK
CIERRORISWARN = 0
FSERROR = 0
MPEXPREFIX =
(162/209) Continue?
MPEXFILESET = [log in to unmask]
MPEXLISTFILE =
MPEXLISTFPAGEHEAD = TRUE
MPEXLISTFTOTALS = 0
MPEXNUMSUCCEEDED = 23
MPEXNUMFAILED = 0
:MPEX
MPEX/3000 30N10511 (c) VESOFT Inc, 1980 7.0
03:04966 For help type 'HELP'
% FILE TEST1;REC=16,,F,ASCII;DISC=10000
% FILE TEST2;REC=4,,F,ASCII;DISC=10000
% LISTF [log in to unmask],6>*TEST1
% LISTF [log in to unmask],6>*TEST2
% CONTINUE
% SAVE TEST1
% CONTINUE
% SAVE TEST2
% SETVAR DUMMYFILE VEFREADDIR("TEST1,OLD",0)
% SHOWVAR DUMMYFILE
DUMMYFILE = PEGL0082.BOB.SYS
% PURGE TEST1
-----Purging TEST1.PUB.SYS (16 sectors)
(185/209) Continue?
16 sectors saved
% SETVAR DUMMYFILE1 VEFREADDIR("TEST2,OLD",0)
% SHOWVAR DUMMYFILE1
DUMMYFILE1 = PEGL0082
% PURGE TEST2
-----Purging TEST2.PUB.SYS (16 sectors)
16 sectors saved
% FILE
!DAYFILE;REC=-57,10,F,ASCII;ACC=APPEND;DISC=5000,2
%: FCOPY
HEWLETT-PACKARD 31900A.05.04 FILE COPIER FRI, OCT
25, 2002, 8:06 AM
(C) HEWLETT-PACKARD CO. 1999
FROM=!DUMMYFILE;TO=*DAYFILE;NEW
*1*
SYNTAX ERROR: IN FROM OPTION
0 RECORDS PROCESSED *** 1 ERROR
Executing :RUN FCOPY.PUB.SYS;INFO=CMDPARM("CMD")
Program terminated in an error state. (CIERR 976)
RUN MPEX.PUB.VESOFT
Program terminated in an error state. (CIERR 976)
REMAINDER OF JOB FLUSHED.
(208/209) Continue?
CPU sec. = 2. elapsed min. = 1. FRI, OCT 25, 2002,
8:06 AM.
Any and all help gratefully received
Best regards
Bob Browett
HP3000 System Manager
Stora Enso UK
__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|