× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On 29-May-2015 19:46 -0500, CRPence wrote:
On 28-May-2015 10:57 -0500, Buck Calabro wrote:
IBM i insists on issuing a message to warn you if your CHGPF is
about to drop a column - but only if issued interactively. Issue a
CHGPF in a batch job and IBM i behaves differently - IBM i does not
issue CPA32B2 at all in batch. Instead, it issues a CPD32CC *DIAG,
CPD32CE *DIAG (which falsely claims an inquiry message was replied
to!), and a CPF7304 *ESCAPE which terminates the CHGPF. The upshot
of that is that not even changing the reply list will help!

In a last ditch effort to try a workaround, I did a CHGJOB
INQMSGRPY(*RQD) and tried it. No dice. IBM i says 'Hey, you're in
batch so you get auto-killed'.

This is a situation with IBM i itself, not RDi. It'll probably
take a DCR or a COMMON requirement to change CHGPF to allow a
batch process to issue CPA32B2.

Hmm. Odd. I did not recall that behavior. I just tested on v5r3 and
saw exactly that. I thought the effect had always been the inquiry
msg CPA32B2, and that an auto-reply [with the message default] was
the effect for batch with Inquiry Message Reply Handling (INQMSGRPY)
of required (*RQD); and that the System Reply List (*SYSRPYL) option
was also available in batch. Given the clearly incorrect implication
of msg CPD32CE, per the conspicuous contradiction of the claim of the
prior inquiry that is not visible and only the msg CPD32CC being
logged prior, [if it were me affected, then] I would choose to report
the issue as defect.


I can not use trace nor the reply list entry feature, plus I have only v5r3, so I can only speculate; I really do not recall any specifics of this or similar inquiry message coding in the DB feature of the OS.

The situation may be that the QDBCHGFI program, procedure VFYALTER codes an inquiry messaging processing that is not a common System Program Interface (SPI) supplied by the Message Handling (MH) component whereby an inquiry is sent to *EXT for the interactive job, but redirected to *SYSOPR (QSYSOPR) message queue for jobs that do not have the 5250 workstation at which to provide a reply. Effectively that would be an OS interface to the Send User Message (SNDUSRMSG), with the asterisk as special\single value for the To Message Queue (TOMSGQ) parameter specification, for which the meaning is "In an interactive job, the message is to be sent to the external message queue (*EXT). In a batch job, the message is to be sent to the system operator (message queue QSYSOPR in library QSYS)."

Possibly the issue is that the effective specification by VFYALTER of TOPGMQ(*EXT) via whatever is the chosen MH interface to send the inquiry does not log the Sender Copy of the inquiry nor the Reply despite the effect is legitimately that the /default reply/ was sent by the MH due to no WS available in a batch job. Or the VFYALTER is removing the message(s), and the removals effect the loss of both the Sender Copy and the Reply as well as the Inquiry message from the joblog.

Whatever...

I do recall there was some /strange/ System Reply List Entry (SYSRPYLE) added long ago as part of the default system-supplied for CPA32B2; odd, because the comparison data made no sense, CMPDTA('iSeries Navigator'). I believe the MH feature must actually have a special-case for that specific message for work running within the iNav interface; i.e. as a server job for that interface. Perhaps the same effect can be extended to an RDi server job [if someone were to pursue]? That might actually be easier than getting DB to _change_ the inquiry processing to act in the more conventional manner [implicitly; either via alternate specifications on the current SNDPgmMSG-like invocation, or changing to use a different SNDUSRMSG-like interface] whereby the inquiry sent to *EXT is implicitly redirected to *SYSOPR for /batch/ jobs. I would have expected however, that anyone making the change to the MH to effect such a special-case would have recognized the /flaw/ in the DB code and just said... "Code this instead of that to be consistent with other code whereby the inquiry redirects to *SYSOPR in non-interactive."


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.