Hey Mark,

Grok says this:

Yes, it's entirely possible for individual PTFs to differ between systems
even if the PTF groups (viewed via WRKPTFGRP) are at the same levels, as
groups are cumulative bundles, but admins can apply single PTFs manually
via LODPTF/APYPTF outside of group installs (e.g., for urgent fixes or
testing).To list all applied PTFs on each IBM i 7.4 system and compare them
for differences, the most direct method uses the DSPPTF command to export
details to database files, then SQL (or Query/400) for comparison. This
leverages built-in tools without needing extra software. Here's how:Step 1:
Generate PTF Lists on Each SystemOn each IBM i system (or LPAR), run this
CL command to create an output file with all PTF details:

DSPPTF LICPGM(*ALL) OUTPUT(*OUTFILE) OUTFILE(MYLIB/PTFLIST)


- Replace MYLIB/PTFLIST with your preferred library and file name (e.g.,
QTEMP/PTFA on System A, QTEMP/PTFB on System B—use QTEMP if you don't
need persistence).
- LICPGM(*ALL) covers all products; narrow it with a specific product ID
(e.g., 5770SS1 for OS/400) if you only care about certain areas.
- This creates a physical file with model QADSPPTF, containing fields
like SCPTFID (PTF ID), SCPPID (product ID), and status.

Repeat on every system you want to compare.Step 2: Transfer Files to a
Single System

- Use FTP, IBM i Access Client Solutions (ACS), or Save/Restore to move
the output files (e.g., PTFA and PTFB) to one central IBM i system.
- If systems are networked, you could use DDM (Distributed Data
Management) or just save to tape/media and restore.

Step 3: Compare Using SQLOn the central system, use STRSQL, Run SQL Scripts
in ACS, or any SQL tool to query the files.

- PTFs on System A but not on System B:

SELECT A.SCPPID, A.SCPTFIDFROM MYLIB/PTFA A
EXCEPTION JOIN MYLIB/PTFB B
ON A.SCPTFID = B.SCPTFID

- PTFs on System B but not on System A (reverse the files):

SELECT A.SCPPID, A.SCPTFIDFROM MYLIB/PTFB A
EXCEPTION JOIN MYLIB/PTFA B
ON A.SCPTFID = B.SCPTFID

- These identify mismatches by PTF ID. Add more fields (e.g., A.SCSTATUS
for applied status) or WHERE clauses (e.g., WHERE A.SCSTATUS = 'APPLIED')
for refinement.
- Note: This doesn't differentiate superseded vs. active PTFs—filter on
SCSTATUS if needed (e.g., exclude 'SUPERSEDED').

Alternative: Compare Using Query/400 (WRKQRY)If you prefer a non-SQL tool:

1. Run WRKQRY to create a new query (e.g., in MYLIB named PTFDIFF).
2. Specify files: Primary = MYLIB/PTFA, Secondary = MYLIB/PTFB (both
formats QSCPTF).
3. Join type: 3 (Unmatched records with primary file).
4. Join test: T01.SCPTFID EQ T02.SCPTFID.
5. Select fields like SCPPID (product), SCPTFID (PTF), SCSTATUS (status).
6. Run or save the query to output a report of differences. Reverse
files for the other direction.

Other Options

- Management Central (if available in IBM i Navigator/ACS): Under
Systems Management > Fixes, you can compare PTF inventories across
endpoints directly—no manual file transfers needed.
- QMGTOOLS (Must Gather Tools): IBM's free toolkit includes a PTF
comparison menu (option 24 > 3). Download/install from IBM support if not
present; it's great for checking against IBM's latest lists too.
ibm.com
- SQL Views in SYSTOOLS/QSYS2 (7.4+): For quick checks, query
QSYS2.PTF_INFO for a full list of PTFs on one system (e.g., SELECT
PTF_IDENTIFIER, PRODUCT_ID, PTF_STATUS FROM QSYS2.PTF_INFO WHERE PTF_STATUS
= 'APPLIED'). Combine with file outputs for cross-system compares.
rpgpgm.com
- If your save/restore issues tie to specific products/objects,
cross-reference with DSPPTF on those (e.g., DSPPTF LICPGM(5770SS1)
SELECT(SI12345) for a single PTF).

This should highlight any rogue individual PTFs causing mismatches. If the
differences don't explain your save/restore problems, check DSPLOG or job
logs for errors during those operations. Let me know more details (e.g.,
specific error messages) for further troubleshooting.
ibm.com

On Tue, Feb 24, 2026 at 4:34 PM Mark Waterbury via MIDRANGE-L <
midrange-l@xxxxxxxxxxxxxxxxxx> wrote:

I have a customer with multiple systems or LPARs on IBM i 7.4 who is
having some save/restore issues that we cannot yet explain.
On both systems, WRKPTFGRP PTFGRPLVL(*INSTALLED) shows the same groups
installed at the same levels.
Yet, I am finding a few objects that have had PTFs applied to them where
they do not "match" -- the same object shows different PTFs on each system
or LPAR.
I suppose this is possible by loading and installing individual PTFs
outside of the PTF group process?
Now, the question is, is there a way to determine what all PTFs have been
applied on each system, and then compare the two lists to quickly identify
any "different" PTFs?
Suggestions most welcome.
All the best,
Mark S. Waterbury
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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

This mailing list archive is Copyright 1997-2026 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.