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 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.

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.

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) and the keylock position was at normal. If RESTART(*NO) was used, the system does not automatically IPL to the A side to apply LIC PTFs.
  • 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, 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 the Send PTF (SNDPTF) command to send the PTF save files. The SNDPTF command sends the PTFs, loads them, and sets them for apply with a single command on the remote system. The command is available with the System Manager/400 Licensed Program Product (LPP).

A third option is to use FTP to send the *SAVFs among the systems. Then, as with the SNDNETF command above, the APIs are required to get the PTFs put back into *SERVICE.

A fourth 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.

Lastly, iSeries Navigator can be used. To use Management Central, refer to Management Central PTF/Fix Send Function for more information. Within iSeries Navigator, a user can drag and drop the .bin file images between the Integrated File System on the source system and the Integrated File System on the target system. Once the .bin files reside on the target, the Virtual Image Catalog can be used to load or apply PTFs.

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.

What is iSeries 400 ALERT?

iSeries 400 ALERT is a service that proactively notifies customers of critical software and hardware problems and PTFs that may help avoid system interruptions and expensive down time. Notices tailored to the user's release and cumulative PTF level are sent by facsimile or mail to the user's site. Weekly reports include notification of: Contact you marketing representative for more information on this service offering.

For a free type of alert service, go to Subscription Service for System i5 at this website:
https://www-947.ibm.com/systems/support/myview/subscription/css.wss/subscriptions?methodName=listAvailableSubscriptions

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.

What is PSP information?

PSP stands for Preventive Service Planning. It is a collection of information used when installing a licensed program, cumulative PTF package, or hardware. PSP information should be reviewed before installing a licensed program, a cumulative PTF package, or hardware.

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.

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/2023')
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?

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 C7002540 – Breaks down to TL07002, TC07002, and TA07002.

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

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)

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, MF 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. 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) 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 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?

We can load a PTF and mark it to be applied on the next IPL unless it is an immediate PTF which we can apply if no one is using that product.

What is the procedure to get PTFs on my system?

On the operating system command line, type GO PTF. Select Option 8 to load any PTFs you have to be applied. 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 LODPTF 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 N, 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. This is very useful when Fix Central brings down a number of save files for PTFs that are for different releases than what the system is at.

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 CUME 0000 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":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"}]

Historical Number

446641321

Document Information

Modified date:
29 June 2023

UID

nas8N1018906