|
#1
|
|||
|
|||
|
getting CPD0772 error on batch FTP...
I looked at an earlier post from 2001 that I found in the search on the forum where a person was getting the same error. I have the same kind of batch ftp pgm that I am trying to run and I get the CPD0772 error. I searched IBM's website and tried the clle compile with *caller and all that stuff and still can't get it to work.
I was needing to ftp a bunch of libs that I have in savf's and didn't want to have to do it interactively because of possibly losing connection because I am doing this remotely. This same pgm runs on my production box and dr box. All I did was ftp'ed it to this other remote box and it pukes. I spent 3 hours last night with different compile options on activation groups and changed to opm cl and everything to no avail.... My prod & dr box is 520 power5 w/v5r4 cume 9104. remote box is 520 power5 w/v5r4 cume 7282 Can some one help? thanks ken |
|
#2
|
||||
|
||||
|
Did you also try using OVRSCOPE(*CALLLVL) as described in this IBM Technote: Problems with ILE Batch FTP Programs and Activation Groups? If so and you still get CPD0772 error, you may want ot post your program code and the job log messages for us to analyse.
One other choice you can use is the Package and Distribution function in iSeries Navigator. Once you create a package definition, you can schedule it to run once or regularly. Chapter 1 of this redbook: Managing OS/400 with Operations Navigator V5R1 Volume 4: Packages and Products explains how to use this function.
__________________
Satid S. In the fields of observation, chance favors the prepared mind. - Louis Pasteur |
|
#3
|
|||
|
|||
|
Here is the cl code for the ftp pgm:
Code:
PGM
OVRDBF FILE(FTPINPUT) TOFILE(QGPL/FTPINPUT) +
OVRSCOPE(*JOB)
OVRDBF FILE(FTPOUTPUT) TOFILE(QGPL/FTPOUTPUT) +
OVRSCOPE(*JOB)
FTP RMTSYS(OVERTHERE)
ENDPGM
Code:
PGM
DCL VAR(&P1) TYPE(*CHAR) LEN(13)
DCL VAR(&P2) TYPE(*CHAR) LEN(30)
DCLF FILE(TFRLIB)
AGAIN: RCVF RCDFMT(TFRLIBR)
MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(ENDIT))
CRTSAVF FILE(QGPL/&LIBNAME)
MONMSG MSGID(CPF5813)
CHGVAR VAR(&P1) VALUE('CRTSAVF QGPL/')
CHGVAR VAR(&P2) VALUE(&P1 *CAT &LIBNAME)
SBMRMTCMD CMD(&P2) DDMFILE(QGPL/TEST)
DLYJOB DLY(5)
SAVLIB LIB(&LIBNAME) DEV(*SAVF) SAVF(QGPL/&LIBNAME)
CALL PGM(TFRSTRIPIT) PARM(&LIBNAME)
CALL PGM(FTPC)
DLTF FILE(QGPL/&LIBNAME)
GOTO CMDLBL(AGAIN)
ENDIT:
ENDPGM
I have tried ovrscope(*job), *calllvl, opm cl, ile cl, just about everything and nothing seems to work. Here is the errors in the joblog: Program contains commands only valid when run interactively. Application error. CPD0772 unmonitored by QSNDEVQ at statement 0000000001, instruction X'0000'. FTP client exit error. Like I said, these same 2 cl pgms work on my production 520 and my dr 520. All I did was copy the source from my production box to this box and re-compiled. Any Ideas? Thanks ken |
|
#4
|
|||
|
|||
|
OK, this is just a guess, but a couple of things to check for:
1. Is there an exit program registered for FTP on that particular system (suggested because of the "FTP client exit error" message). 2. Are any of the commands in the job stream (including an exit program if there is one) allowed for interactive use only on the command definition. You can check this using DSPCMD and look at "Where allowed to run". To find the particular program that may have the problem command, look at the joblog of the batch job, find the "Program contains commands only valid when run interactively" message and look at the from program and to program values. |
|
#5
|
|||
|
|||
|
I am reaching here; are you running in a single threaded jobQ or multithreaded? Try a jobq that allows 4 jobs to run at the same time.
My 2 cents. |
|
#6
|
||||
|
||||
|
I'm pretty sure that CPD0772 isn't an FTP thing... it's a general CL thing. When you create a CL command (via the CRTCMD command) you code a "where allowed to run" which can be *BATCH, *INTERACT, *BPGM, *IPGM, etc. These determine where something can be run. Right?
So if you have a program that's not allowed in batch, you'll get the error saying it must be interactive. At least, I think that's what's going on? I don't know what in your code is causing that... but you should be able to see what statement is producing the CPF0772 error by looking at the message details in your job log. Then, figure out why that's not allowed in batch and fix it. |
|
#7
|
|||
|
|||
|
Brian Rusch :
1. yes, that was the first thing I checked. 2. Yes, allowed in batch.... tomw: sending to jobq qtxtsrch which is multithreaded. scott: It does not gripe at a particular statement, but I know for a fact that it is the ftp command that it is puking on. I put pgmmsgs after each statement and the ftp command is where it barfs. The same pgms compile and run on 2 other 520's, so could there be something not running? I know the ftp server is running.... Thanks for all the suggestions.... thanks ken |
|
#8
|
|||
|
|||
|
we are running a similar ftp process and i see where we had to do the overrides as this. As Satid S. Suggested earlier.
OVRDBF FILE(INPUT) TOFILE(PLCUST/PLDDSSRC) MBR(CUSBPPI) OVRSCOPE(*CALLLVL) OVRDBF FILE(OUTPUT) TOFILE(PLCUST/PLDDSSRC) MBR(CUSBPPO) OVRSCOPE(*CALLLVL) |
|
#9
|
|||
|
|||
|
Yes, I also seen that. I tried ovrscope(*job), ovrscope(*calllvl) and neither work. I am beginning to think it is a PTF issue, since this box is at cume level 7282 and my box is at cume level 9104....
thanks ken |
|
#10
|
||||
|
||||
|
In your real program, do you REALLY have OVRDBF FILE(FTPINPUT)? and OVRDBF FILE(FTPOUTPUT)? If so, this shouldn't work anywhere! that should be OVRDBF FILE(INPUT) and OVRDBF FILE(OUTPUT).
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|