After an upgrade of InterForm400 it is important to verify, that all outputs generated as expected.
In case of a problem after an upgrade, we suggest that you contact your local InterForm400 support. It might be, that the problem is known, and that we might be able to provide you with a PTF to solve it immediately.
In case of an urgent problem, that cannot wait for a fix, you also have the option to roll back an upgrade to the previous version of InterForm400.
Before you consider a roll-back you should consider what changes in InterForm400, that you did after the upgrade, as these changes will be lost, if you choose to roll-back.
Prerequisite
A prerequisite for the roll-back is, that you have kept the APF3812OLD library. You should only delete this library after you are completely sure, that you do not want to roll back an upgrade (unless you have a backup of the old APF3812 library of course).
Most changes in InterForm400 are stored in the journal, and from the journal menu you can see the list of overlay changes done in the graphical designer and imports.
You can consider to export resources prior to the roll-back, if you want to copy some changes back to the old version. After the roll-back you can then import the resources in the old version. Remember, that restrictions may apply if new functionality has been added in the new version of InterForm400.
Prepare and actual roll-back
The actual roll-back is a matter of renaming libraries, but before you can do that, you need to prepare InterForm400:
1.If you have exported or imported any resources after the upgrade, then you might need to delete (or rename) the APFEXPORT and APFIMPORT libraries, as they might be unusable in the older version of InterForm400.
To delete the libraries you can run these commands:
DLTLIB LIB(APFEXPORT)
DLTLIB LIB(APFIMPORT)
To rename the libraries you can run these commands:
RNMOBJ OBJ(APFEXPORT) OBJTYPE(*LIB) NEWOBJ(APFEXPORTX)
RNMOBJ OBJ(APFIMPORT) OBJTYPE(*LIB) NEWOBJ(APFIMPORTX)
2.Next you need to stop all InterForm400 related jobs. That includes all InterForm400 subsystems and any job, which might have an object lock on any object in the APF3812 library. First we need to stop the web server for the Email log, if started. You can stop that from the InterForm400 menu in this way:
Enter InterForm400 with the command:
APF3812/APFMENU
Now select these options:
80. Administering InterForm400
10. Maillog http server administration
11. End the IF400MAILW http server instance
(If the server is not running, then you might see the error message: TCP1A77 received by IFMMENU at 6101. (C D I R), but you can ignore this (Replying with 'I') as this error only occurs, if the server is not running)
Alternatively you can run this command to see any active jobs with this name:
WRKACTJOB SBS(QHTTPSVR)
And then manually shut down the jobs named 'IF400MAILW' with option 5 and then 41.
3.The names of the InterForm400 related subsystems can be changed. You can check out, if they are renamed on your machine via these options in InterForm400:
Enter InterForm400 with the command:
APF3812/APFMENU
Now select these options:
70. Configuration and licences
2. Configure InterForm400
Screens 9 to 13 displays the names of the InterForm400 subsystems.
You can see commands to end the subsystems (with the default names) below:
ENDSBS SBS(AUTO_FORM) DELAY(120)
ENDSBS SBS(OSCCTL) DELAY(120)
ENDSBS SBS(MAILINTER) DELAY(120)
ENDSBS SBS(SIGNINTER) DELAY(120)
ENDSBS SBS(WINPRINT) DELAY(120)
4.You also need to stop journaling of objects in the APF3812 library and (save and) delete any journal and journal receiver, that is placed in the APF3812 library.
You can do that in this way, if you use the default journal provided by InterForm400:
Enter InterForm400 with the command:
APF3812/APFMENU
Now select these options:
12. Service functions
9. Journal menu
2. End journaling files in InterForm400 library APF3812 and press F10=End journaling and then F12.
3. Delete journal and receivers in InterForm400 library APF3812
5.Now you can finally rename libraries. First you rename the new, upgraded InterForm400 library, APF3812 into something else e.g. APF3812ERR with this command:
RNMOBJ OBJ(APF3812) OBJTYPE(*LIB) NEWOBJ(APF3812ERR)
6. Now you can finally rename the APF3812OLD library into APF3812 to roll back with this command:
RNMOBJ OBJ(APF3812OLD) OBJTYPE(*LIB) NEWOBJ(APF3812)
7.Now you can start the InterForm400 related subsystems, the Email web server and the journaling on the old version again. First you can start the subsystems with these commands (provided you use the default names and libraries):
STRSBS SBSD(APF3812/AUTO_FORM)
STRSBS SBSD(APF3812/OSCCTL)
STRSBS SBSD(APF3812/MAILINTER)
STRSBS SBSD(APF3812/SIGNINTER)
STRSBS SBSD(APF3812/WINPRINT)
8. You should start journaling again. The default journal is generated and attached with these options in InterForm400:
Enter InterForm400 with the command:
APF3812/APFMENU
Now select these options:
12. Service functions
9. Journal menu
1. Start journaling files in InterForm400 library APF3812
9.Finally we can start the email web server with these options in InterForm400:
Enter InterForm400 with the command:
APF3812/APFMENU
Now select these options:
80. Administering InterForm400
10. Maillog http server administration
10. Start the IF400MAILW http server instance