On 24-Apr-2015 12:04 -0500, Jerry Draper wrote:
We have a journal receiver maintenance routine that deletes journal
receivers that have been saved and are older than nn days.
This has been working fine on V5R4 but on V6R1 and V7R1 we have a
new issue. (I don't have a V5R4 machine to prove this however.)
The CL pgm creates a work file:
  DSPOBJD OBJ(&LIB/*ALL) OBJTYPE(*JRNRCV) DETAIL(*FULL)
          OUTPUT(*OUTFILE) OUTFILE(wrklib/JRNRCVPF)
It then reads this file and checks to see if the journal receiver
has been saved:
  IF COND(&ODSDAT *EQ ' ') THEN(GOTO CMDLBL(LOOP))
  So the above basically suggests, if unsaved then skip the object 
named (&ODLBNM/&ODOBNM).
&ODSDAT is the date the journal receiver was saved.
  That field is populated with the date the SAVxxx operation took 
place, *if* the Update History (UPDHST) had been requested [i.e. 
UPDHST(*YES)] on that particular SAVLIB [, SAVOBJ, or whatever was the 
equivalent invocation].
If it is not blank then the routine deletes the journal receiver:
  DLTJRNRCV JRNRCV(&ODLBNM/&ODOBNM)
For some reason when &ODSDAT is NOT BLANK we get this error:
Message ID CPA7025: Receiver xxxx in yyyy never fully saved. (I C)
An attempt was made to delete a receiver that was never fully saved
after the receiver was detached with a CHGJRN command.
  The key is [as Glenn alludes and a followup reveals additionally 
other origins] that the Journal Receiver (JRNRCV) was not _fully saved_ 
despite the object was /saved/.
Anyone know what field in the *OUTFILE is getting checked for this
message?
  The journal save feature, the underlying component-specific save 
processing performed for the save feature [and similarly with the 
restore feature], specific to the complex object types for which the 
component as /object owner/ performs actions that are not generically 
effected by SAVxxx itself, does not look any of the generic object 
description details to decide if the msg CPA7025 should be issued.
  Effectively what transpires, though not in actual implementation, the 
journal-save feature interrogates the last three journal entries 
deposited to the journal receiver, to determine if they are the expected 
J-NR, J-PR, and J-RS entries; i.e. for the Display Journal (DSPJRN) of 
the specific journal to which that receiver had been originally 
attached, displayed for the Range Of Journal Receivers (RCVRNG) of that 
one receiver, as an indication that the JrnRcv has been fully saved, the 
last three entries would tend to be:
   Code:    J  - Journal or receiver operation
   • Type: NR - Next journal receivers
   • Type: PR - Previous journal receivers
   • Type: RS - Journal receiver saved
  More accurately, the journal-save feature tags a detached receiver as 
fully saved if\when the journal receiver was saved any time *after* that 
receiver had been previously detached, and the delete-journal-receiver 
feature asks if the receiver is both detached and since-saved, and if 
the issuance of the inquiry is not overridden [via the Delete Option 
(DLTOPT) of *IGNINQMSG] on the Delete Journal Receiver (DLTJRNRCV) 
request, then the feature inquires whether deletion of the receiver 
might possibly be unintended whenever the JrnRcv was not previously 
/fully saved/.
  Note: the lack of the visible manifestation of the inquiry, in my 
experience, is often the result of either the Inquiry Message Reply 
Handling (INQMSGRPY) established for the job, and possibly additionally 
either the Default Reply Value (DFT) established for the Message 
Description for the Message Identifier (MSGID) of CPA7025 *or* the 
Message Reply (RPY) defined for the Reply List Entry established for 
that MsgID.  If the system change management failed to establish the 
same setup from a prior release, the effect may have been the noted 
difference.
As an Amazon Associate we earn from qualifying purchases.