IBM Support

PTFs: FAQs / Question and Answers

Troubleshooting


Problem

This document will provide Frequently Asked Questions (FAQs) concerning Individual, Group, and Cumulative PTFs.

Resolving The Problem

What is the difference between a PTF, Group PTF, and Cumulative PTF Package?
A Program Temporary Fix (PTF) is a single fix which is applied to correct specific reported problems.

Group PTF is a name that is used to order and manage a group of logically related PTFs. Examples of PTF Groups are:
  • Group HIPER - Contains the most highly pervasive PTFs for the system
  • Database GROUP - Contains Database PTFs released since General Availability of the OS release
  • Technology Refresh PTF Group - Contains the latest technology refresh PTF and additional PTFs to provide all of the new function contained in the latest Technology Refresh for the current release.
Cumulative PTF Packages contain fixes for a given release of the IBM® i operating system. The fixes contained in a cumulative PTF package are for the Licensed Internal Code, and most licensed programs that can be installed on that operating system release. As the name implies, each package is cumulative; that is, it contains all of the fixes from the previous package plus additional fixes released since the previous package. Many, but not all, new fixes are included in cumulative packages. When you order the cumulative PTF package, you also receive the most recent database PTF group and the HIPER PTF group.
If I have two different Cumulative PTF packages, do I have to install both of them?

Because Cumulative PTFs are cumulative, only the most current cumulative package needs to be installed.

What is the difference between the A side and the B side?

A and B side concepts are relative to LIC and not to the operating system or LPP PTFs. When a new system is shipped or when the operating system is upgraded to a new release, the A side and B side match. When LIC PTFs are temporarily applied, they are applied to the B side. If you have temporarily applied LIC PTFs and you are running on the A side, you will not be running with the temp applied LIC PTFs.

Previous to V3R1M0, you had to be running on the A side to apply PTFs to the B side. When GO PTF, Option 8 is used to apply LIC PTFs, the system determines if you are running on the A side or the B side. If you are running on the A side, the LIC PTFs are applied immediately. The system is IPLed to the B side to apply the rest of the PTFs. If you are running on the B side, the system does a partial IPL to the A side to apply the LIC PTFs. The system is IPLed back to the B side to apply the rest of the PTFs.

Starting at V3R1M0, immediate LIC PTFs can be applied to the B side while you are running on the B side. If you are on the B side and you use GO PTF Option 8, Automatic IPL Y to apply immediate LIC PTFs, the system IPLs to the B side to apply the PTFs. The system does not IPL to the A side. Delayed LIC PTFs in V3R1 and beyond function the same way all LIC PTFs functioned before V3R1M0. Permanently applying LIC PTFs puts the PTF on the A side. Once the PTF is permanently applied, it cannot be removed.

Are both permanent and temporarily applied PTFs loaded during a D mode IPL?

The same PTF concepts that apply to A and B mode IPL do not apply to a D mode IPL. A D mode IPL is different, in that it is used to install LIC, and to do that, the PTFs are restored from the media being used, not loaded. PTFs are not loaded or installed when doing a D IPL, but rather are restored.

When the I_BASE_01 media is used, all of the LIC PTFs are perm applied on that media, so whatever PTFs are restored from I_BASE_01, will be perm applied.

When using SAVSYS media to perform the D IPL and restore LIC (and OS possibly), whatever the status of the PTFs were during the save, is what will be restored. Therefore if PTFs were both temp and perm applied on the system when the SAVSYS was taken, the PTFs will be in that same status when restoring this data.

It is worth noting that the LIC PTFs required for the hardware (system type/model, processors, IOAs, etc.) need to be perm applied to the system (no matter if IPLing to A or B side) and need to be perm applied on the media used to D IPL in order for the IPL to be successful.

I forgot to do CHGMSGQ QSYSOPR *BREAK SEV(70). Now I have a message that needs a reply. How do I respond?

A system request is required to reply to the message(s). Once the system request menu is up, Option 6 allows the ability to respond to the messages requiring a response.

My Cumulative package did not install. How do I determine what is wrong?

First, determine if the failure occurred during the load or apply phase of the cumulative package installation. If the system did not IPL, the failure may have occurred during the load phase. Do a help on the failure message. Then, press PF10 from the message details panel to view the messages in the joblog. Look for all escape messages that indicate what the problem is. Fix these errors, and try the request again. Use DSPJOBLOG OUTPUT(*PRINT) to generate a joblog from the interactive session where PTFs were loaded.

If the system IPLed and the PTFs did not apply, start by looking at the history log. On the operating system command line, type GO LICPGM, and select Option 50 to display the log for messages.

  • Look for a message indicating if the IPL was normal or abnormal. PTFs are not always applied during an abnormal IPL.
  • If Perform Automatic IPL was not selected on the Installation options for the PTFs panel, verify that the power down system command (PWRDWNSYS) was done with RESTART(*YES) IPLSRC(B) and the keylock position was at normal.
  • Look for any messages that indicate that there was a failure during the IPL. If failure messages are found, go to the SCPF joblog to find the detailed messages indicating the cause of the problem. To find the SCPF joblog, use the WRKJOB SCPF command. You may get a list of jobs. If you just did the IPL, at V7R2M0 and later, review the active SCPF job (000000/QSYS/SCPF). At V7R1M0 and earlier, choose the first one that is not active. Look at the spooled file for that job. The detailed error messages can be found in this joblog. Find the error messages, and try to determine what caused the error. If you can, fix the problem, and then re-IPL the system to apply the remaining PTFs. If you cannot fix the problem, have the information in the joblog available when you contact support.
I was trying to load a PTF, and I got message CPA3576 indicating that my Master Program Temporary Fix Index (MPTFI) may be damaged. What should I do?

Message CPA3576 is issued as a general error message and does not necessarily mean that the MPTFI has been damaged. Do not answer D to this message. Always answer with C unless directed otherwise by service support. Display your joblog to see what other errors are in the joblog. This is your clue as to what really went wrong. Correct any errors, and try your request again. If this does not solve the problem, have the information in the joblog available when you contact support.

I want to send multiple PTFs to another system. How can I load them all with one command instead of having to specify each PTF save file on the LODPTF command?

One option is to use the Send Network File (SNDNETF) command to send the PTF save files to the other system. On the remote system, use the QPZGENNM API to generate a valid save file name for the PTF save file. Create a save file in QGPL by that name and receive the PTF into that save file. Use the QPZLOGFX API to log the PTF into *SERVICE. Once this has been done, the PTF is recognized by the system for any PTF functions like LODPTF DEV(*SERVICE). Refer to IBM Docs for further information on these APIs.

Note: At R540 and above, if all *SAVFs get send to the target system, the UPDPTFINF command can be used to get the serviceable attributes recognized by the system.

A second option is to use FTP to send the *SAVFs among the systems. Use command UPDPTFINF or the APIs to get the PTFs put back into *SERVICE.

A third option is when using Virtual Image Catalog to load/apply PTFs, all .bin file images will reside in a single Integrated File System directory. That Integrated File System directory can be saved into a *SAVF and then moved over to the other systems using FTP or the SNDNETF command and then restored into the target Integrated File System. Once restored on the target a new image catalog can be built off of that directory to load and apply PTFs. Refer to document Saving and Restoring an Image Catalog and Its Images to Another System.

Lastly, IBM Navigator for i can be used. To use IBM Navigator for i, refer to Sending and installing fixes for more information.
What does it mean when a PTF has an action required?

This was a new concept in V3R1M0. Some PTFs that were previously delayed PTFs can now be applied immediately, However, some additional steps are required to make them active. These additional steps are described in the cover letter. The following types of action required PTFs exist: updateable and non-updateable.

Updateable action required PTFs are shipped with an action exit program to verify the actions required to make the PTF active have been done. The action exit program is called by the Display PTF (DSPPTF) command to list the actions that are necessary to make the PTF active and to verify if the actions have been completed. The exit program is called when the details for the PTF are displayed using Option 5 on the Display PTF Status panel or when you select *ACTRQD PTFs on the DSPPTF command. At this time, the status of the PTF is updated if the actions are complete. The status of the PTF changes from Temporarily applied - PND to Temporarily applied after all required actions have been completed.

Non-updateable action required PTFs do not have an exit program to verify the actions have been done. These PTFs remain in a status of Temporarily applied - ACN until the next IPL. During the IPL, the status of the PTF changes to Temporarily applied.

It is important to note that any dependent PTFs cannot be applied until the pre-requisite PTF indicates that its actions are complete.

How does one sign up for IBM notification subscription service?

You are able to subscribe to IBM product notifications as a proactive service to notify customers of updates for particular areas such as Preventative Service Planning updates. These notifications can help alert customers to critical software problems and PTFs that may help avoid system interruptions and expensive down time. Notices are tailored to what the user subscribes to.

To subscribe, go to My Notifications at this site:
https://www.ibm.com/support/pages/my-notifications-subscription-service

How do I generate a listing of my PTFs?

To generate spooled file list of the PTFs applied to your system, enter the following command:

DSPPTF LICPGM(*ALL) SELECT(*ALL) RLS(*ALL) OUTPUT(*PRINT)

What is the command used to order PTFs electronically?

To order individual PTFs, enter the following command:

SNDPTFORD PTFID(nnnnnnn)
where nnnnnnn is the number of the PTF you want to order. Press the Enter key. You can order up to 20 PTFs simultaneously.

How do I order cumulative PTF packages electronically?

To order cumulative PTF packages, enter the following command:

SNDPTFORD PTFID(SF99VRM)
where SF99VRM indicates the version, release, and modification level of the operating system. For example, SF99750.

IBM Fix Central can also be used to order IBM i PTFs. See document Fix Central Step-by-Step Order Instructions for detailed steps on how to order IBM i fixes via Fix Central.

What is PSP information?

PSP stands for Preventive Service Planning. It is a collection of information used when installing a cumulative PTF package, installing group ptfs, reviewing a list of HIPER or defective PTFs, etc. PSP information should be reviewed before installing cumulative or group PTF packages.

How do I order the PSP information for the current cumulative PTF package?

To order the PSP information for the current cumulative PTF package, enter the following command:

SNDPTFORD PTFID(SF98VRM)
where SF98VRM indicates the version, release, and modification level of the operating system. For example, SF98750.

PSP information can be reviewed online at site Known issues and Fix information. Information on how to use and search the Known issues page can be reviewed at site IBM i APARs/PTFs have migrated to Known Issues/Fix Information.

How can I determine what the current Cumulative PTF is and when the next one is scheduled for release?

SF98VRM gives the current Cumulative PTF number and also mentions the target date for the next scheduled Cumulative PTF.

Can I order a new Cumulative PTF before it is actually available?

The Cumulative PTF must be available before it can be ordered.

Can I configure my system to automatically download a Cumulative PTF?

Yes, and there are a couple of different ways to do this, depending on how you want to receive your PTFs.

Via *SERVICE as Save Files

The ORDPTFAUTO option on the Change Service Attributes (CHGSRVA) command can be used to schedule PTF orders. For example, you can schedule the system to order a CUME, HIPER, or DB2 group PTF every two weeks, or once a month. PTFs ordered this way are downloaded as save files (*SERVICE) in exactly the same way as they would be if you ran the SNDPTFORD command manually. More information on this option is available in our Automatic ordering of PTF groups (QORDPTFGRP job) document.

As Images

If you wish to receive a CUME PTF as images, you can schedule a SNDPTFORD job to run, and download the CUME as an image to a specific folder. For example, here is the command to download the 7.5 CUME and have the install images stored in the '/FIXES' folder on the IFS:

SNDPTFORD PTFID((SF99750)) DLVRYFMT(*IMAGE) REORDER(*YES) IMGDIR('/FIXES')

The command to create a Job Schedule Entry to automatically run the SNDPTFORD command this way would be:

ADDJOBSCDE JOB(ORD750CUME) CMD(SNDPTFORD PTFID((SF99750)) DLVRYFMT(*IMAGE)
REORDER(*YES) IMGDIR('/FIXES')) FRQ(*YEARLY) SCDDATE('07/01/2024')
SCDTIME('17:00:00') TEXT('Orders the 7.5 CUME yearly on July 1.')


Note: Ordering PTFs in this manner does not guarantee that a new CUME is available on the date you specify, so make sure before you apply the CUME that a newer one is not actually available.

How can I tell what PTFs I have installed on my system?

Use the Display PTF (DSPPTF) command, and specify the product ID. If you do not know the product ID, on the operating system command line type DSPPTF, and press Enter. This brings up the first product. Every time you press Enter, it takes you to the next product installed on your system.

How can I tell what Cumulative PTF Package is on my system?

Use the WRKPTFGRP command, and review the level of SF99VRM.

Another way, on the operating system command line, type DSPPTF LICPGM(57xx999) and verify what the first TLnXXXX number is. Or, type DSPPTF LICPGM(57xxSS1), and verify that the first TCnXXXX or TAnXXXX number is. XXXX represents the first 4 numbers of the Cumulative tape package identifier. The TL number stands for the HIPER VLIC PTFs on the Cumulative package, TC represents the operating system PTFs on the Cumulative package, and TA represents the HIPER operating system PTFs on the Cumulative package. The n represents some number based on the current year. For example, Cumulative PTF C4151750 – Breaks down to TL24151, TC24151, and TA24151.

How can I find out what PTFs are on the Cumulative PTF that I received?

Review the PSP that lists the PTFs on the cumulative PTF Package. For instance, PSP SF96243 lists the PTFs on the current cumulative PTF package for 7.5. PSPs can be reviewed at this site: Known issues and Fix information.

Another way is to load the Cumulative package into the optical drive (OPTXX). Then, do the following:

1. On the operating system command line type the following command, and press the Enter: WRKOPTVOL
2. Select Option 11 to Work with object links.
3. Locate the README file.
4. Type 5 to display.
5. Locate the PKGLIST.TXT.
6. Type 5 to display.

This provides a summary listing of the PTFs contained within the package. While this is a listing of the PTFs contained within the package, it is not a complete listing. Pre-req and Co-req PTFs are not included in the PTF listing.

How do I print PSP information that I have downloaded?

On the operating system command line, type the following command:

CPYF FROMFILE(QGPL/QAPZCOVER) TOFILE(QGPL/QPRINT) FRMMBR(QSF98XXX)

How can I print a cover letter for the PTF I have downloaded?

To generate a spooled file of the cover letter, type the following command:

DSPPTF LICPGM(57xxYYY) SELECT(SIXXXXX) COVERONLY(*YES) OUTPUT(*PRINT)

You can review coverletters online by using a URL like the following:
https://www.ibm.com/mysupport/s/fix-information?legacy=SJxxxxx Replace SJxxxxx with the PTF cover letter you would like to review.

Where are the cover letters for PTFs stored on my system?

They are stored as members in a physical file called QAPZCOVER in QGPL.

How can I get QAPZCOVER back on my system if I accidentally deleted it or if it had to be deleted because it was damaged.

You have 2 options to recreate the QAPZCOVER file:

Option 1: You can use the RSTOBJ command to restore the file from a previous backup.

Option 2: You can re-create QAPZCOVER using the following commands:

CRTPF FILE(QGPL/QAPZCOVER) RCDLEN(80) FILETYPE(*DATA) LVLCHK(*NO) MBR(*NONE) MAXMBRS(*NOMAX) AUT(*USE) TEXT('PTF COVER LETTERS')

CHGOBJOWN OBJ(QGPL/QAPZCOVER) OBJTYPE(*FILE) NEWOWN(QSYS)

GRTOBJAUT OBJ(QGPL/QAPZCOVER) OBJTYPE(*FILE) USER(QSYS QSRVBAS) AUT(*ALL)

Regardless of which option you select, after QAPZCOVER is restored or recreated, use the command CALL QPZSYNC 'V' to store the cover letter information into the PZ database files. This ensures that commands and APIs will properly show if a PTF has a cover letter.

What is the difference between an immediate PTF and a delayed PTF?

An immediate PTF can be applied without doing an IPL if the licensed program it affects is not in use. An IPL is required to apply delayed PTFs. In some cases, there may be an action pending status until a special instruction is done or an IPL. In some cases, LIC PTFs can be applied immediately while on the B side of the operating system.

Do I have to load the PTF before I can apply it?

The PTF must be loaded or the apply does not work.

I just received some PTFs via the ECS line, SNDPTFORD or by downloading directly to my system via Fix Central. How do I apply them?

To apply the PTFs, do the following:

1. On the operating system command line type the following: GO PTF
2. Select Option 8 from the menu to install fix package.
3. Specify *SERVICE for the device.
4. Specify Y or N for the IPL depending if you can IPL at the time.
5. Specify 1 for all PTFs.
6. Specify N for other options unless you do not want to load all that have been downloaded electronically. This ensures all pre-req and co-req checking is done for the successful load and apply of the PTFs. However, if N is specified for the IPL, PTFs do not get applied until the IPL has been issued. The IPL should be done with the following command:

PWRDWNSYS OPTION(*IMMED) RESTART(*YES) IPLSRC(B)
How do I remove a PTF that is temporarily applied to my system?

If it is an immediate PTF, and you want to remove the fix without an IPL, the same special instructions used to apply the fix must be followed to remove it. LIC PTFs (MFxxxxx or MJxxxxx) can only be removed *PERM. Message CPD35A6, "Licensed Internal Code PTFs cannot be temporarily removed," will be logged if a LIC PTF is attempted to be removed *TEMP. To remove a temp applied LIC PTF immediately, type the following command:

RMVPTF LICPGM(57xx999) SELECT(MFXXXXX) RMV(*PERM) RMVDEP(*YES)

To set a ptf to be removed at the next IPL, use a command similar to the following:

RMVPTF LICPGM(57xx999) SELECT(MFXXXXX) RMV(*PERM) DELAYED(*YES) RMVDEP(*YES)

This command marks the LIC PTF and its dependents to be removed at the next IPL of the system.

Note: If message CPD35BD, "Immediate operation not allowed for MFxxxxx," is logged, the LIC PTF will require an IPL to remove the fix.

If it is an immediate SIxxxxx/SJxxxxx PTF and any special instructions in the cover letter have been followed, on the operating system command line type the following:

RMVPTF LICPGM(57xxYYY) SELECT(SIXXXXX) RMV(*TEMP) RMVDEP(*YES)

which puts it in a Not Applied Status. We can then issue the above RMVPTF command again with RMV(*PERM) so the fix is completely removed from the system. If a savf or cover letter exists on the system for this PTF, use the DLTPTF command to delete the savf and cover letter. If it is a delayed PTF, specify DELAYED(*YES) so it is removed on the next IPL.

Does the system have to be restricted to load PTFs?

The system does NOT have to be restricted to load PTFs. PTFs can be loaded and marked to be applied on the next IPL while users are on the system.

If using GO PTF opt 8 to load your PTFs, specify Automatic IPL = N so that an IPL is not automatically performed. If using command INSPTF to load ptfs, specify INSTYP(*DLYALL) so that an IPL is not automatically performed.

What is the procedure to get PTFs on my system?

On the operating system command line, type GO PTF. Select Option 8 to load and mark/apply PTFs from the device you specify. Or, you can do a LODPTF and APYPTF for each PTF. This must be done for each product.

If I order one PTF, why do I sometimes receive more than the one that I order?

By default, the SNDPTFORD command uses ORDER(*REQUIRED) to download both the requested PTFs and any needed prerequisite or corequisite PTFS need for installation, if they do not already exist on the system. A PTF's cover letter documents its requisite PTFs. If you wish to order a PTF without requisites, you may use ORDER(*PTFID), and no requisite PTFs will be sent.

How do I remove a damaged PTF from my system?

Because nothing can be done with the PTF while in a damaged status, the PTF must be reloaded with the LODPTF. Then a RMVPTF can be done to remove it or a APYPTF can be done to apply it again.

I have just loaded PTFs on my system. How can I verify if they are set to be applied on the next IPL?

Use the DSPPTF command, and verify the IPL action. If it is No, the PTF has not been marked to be applied. If you look at the general information of the PTF, the unattended IPL action should say apply temporarily.

What command should I run to IPL the system and apply the PTFs I have loaded?

On the operating system command line, , type the following command:

PWRDWNSYS OPTION(*IMMED) RESTART(*YES) IPLSRC(B)

I have loaded my PTF and have to apply it delayed. What command do I use?

On the operating system command line, type the following command:

APYPTF LICPGM(57xxYYY) SELECT(SIXXXXX) DELAYED(*YES)

How do I know if my system is running on the A or B side of LIC?

On the operating system command line, type the following:

DSPPTF

The IPL source value (##MACH#A or ##MACH#B) indicates the copy of Licensed Internal Code that the system is currently operating from.

Note: The control panel does not show the copy of LIC currently running, but but what the next IPL will be.

What does the status Superceded mean on the Display PTF Status (DSPPTF) display?

The DSPPTF command shows the status of PTFs on the system. A Superceded PTF is one that has never been installed on the system, but for which changes from this PTF have been included in a new PTF that has been installed on the system. If the PTF had been temporarily applied and a new PTF was applied that superceded it, the now superceded PTF would be automatically permanently applied, and the new PTF would be shown as Temporarily applied.

I was doing a SAVSYS, and I received message CPI35C3 MPTFI for licensed internal code not saved due to error in the QSYSOPR message queue. What does that mean, and what do I need to do to recover?

This message is sent whenever the information about LIC PTFs is not saved during a SAVSYS. If the system is restored using these SAVSYS tapes, the information about the LIC PTFs installed on the system is missing. This could cause installation errors when future cumulative PTF packages are installed. The typical error that occurs is a CPF7206 Service function ended abnormally. Completion code 'FFFF'x qualifier 000000000000000B'X. This indicates an attempt was made to apply a PTF to a module that already has a PTF temporarily applied to it. You can determine why the CPI35C5 was issued and correct the error. Then, redo the SAVSYS. Or, when you reinstall the system, you can re-slip LIC from PID media and reapply the PTFs that were previously applied to the system.

Where can I find more information on PTFs?

An excellent place to learn more about PTFs and IBM i Fix strategy is the IBM i Documentation for your release.

What is the command WRKPTFGRP for?

The Work with PTF Groups display shows you a list of PTF groups on the system. A PTF group consists of a list of program temporary fixes (PTFs) defined for the purpose of managing those PTFs as one entity. A PTF group can identify other PTF groups, called related PTF groups. The PTFs in the PTF group as well as the PTFs in all related PTF groups are used to determine the overall status of the PTF group. Starting at V6R1M0, this command can be formatted to show what previous levels of the groups have been installed on the system. The number of levels displayed is controlled by the CHGSRVA command's 'PTF group levels' parameter.

What is the function of the UPDPTFINF command?

The Update Program Temporary Fix Information (UPDPTFINF) command updates PTF information for all PTF save files in library QGPL. It was first introduced at V5R4M0. By running this command, the *SERVICE flag is turned on for those PTFs and from there you can run the GO PTF Option 8 menu selection and specify *SERVICE for the device to load and mark the associated PTFs. You can also run the DLTPTF command and safely remove the save files and cover letters for those PTFs.

What is DSPFMWSTS used for?

The Display Firmware Status (DSPFMWSTS) command displays information for the current server firmware.

How can I tell if a PTF is included on a CUME or Group?

The PTF Cover Letter will show what CUME a PTF is located on. If it is a new PTF, the cover letter will say it is on Volume ID/Cume Level 1000 or it may say "CUME Level....None." Currently there is no function to search and find if a PTF is on a Group, but there is a way to manually check for this.

  1. Read the PTF Cover Letter to see the date PTF was created.
  2. Access our IBM i Group PTFs with level and to the left of each group for your release, you will see the date the Group was last updated. Search the ones that are newer than the date of PTF creation to see if the PTF is on any recently updated PTF groups.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000C4BAAU","label":"IBM i"},{"code":"a8m0z000000cwp6AAA","label":"Save Restore"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Historical Number

446641321

Document Information

Modified date:
23 September 2025

UID

nas8N1018906