Each work package carries an action and a closure test. Record the target version, product composition, result and evidence when a test is executed.
Resolve before cutover1 observations
Class removed
Replace the reference. The type does not exist at the target, so the customisation will not compile; find the supported equivalent or remove the dependency.
Owner · Customisation developer
Closed when The customisation compiles against the target's `businessobjects.jar` with no unresolved import.
psdi.iface.jms.ErrorQueueNotfCronTask no longer exists in 9.1 and your code references it
A2 · IBM's API at 9.1
Validation required3 observations
Validate changed datatypes against actual usage
Validate existing values and every cited consumer against the new type, including case, rounding, range and truth semantics. A metadata difference alone does not establish a failing operation.
Owner · Customisation developer
Closed when Each cited site has been read against the new type and either changed or recorded as unaffected, with the reason.
WP-cf44bbb5 · affected subjects and evidence
ASSET.ASSETHEALTHASSET.GEOMETRYLOCATIONS.HEALTH
ASSET.ASSETHEALTH · type-changed
ASSET.ASSETHEALTH type INTEGER → DECIMAL. Check stored values and consumers for case, rounding and conversion effects. A type difference alone does not establish a failure. No line of the supplied code reads or writes it, so nothing you own is known to break; anything outside the supplied code that carries it — an integration, a report — is what to check. The same column carries this change on 2 tables: ASSET, LOCATIONS.
B2 · dictionary 7.6.1.3 vs 9.2
ASSET.GEOMETRY · type-changed
ASSET.GEOMETRY type BLOB → CLOB. Check stored values and consumers for case, rounding and conversion effects. A type difference alone does not establish a failure. No line of the supplied code reads or writes it, so nothing you own is known to break; anything outside the supplied code that carries it — an integration, a report — is what to check. The same column carries this change on 3 tables: ASSET, LOCATIONS, WORKORDER.
B1 · dictionary 7.6.1.3 vs 9.2, corroborated by IBM's upgrade script, 9.0
LOCATIONS.HEALTH · type-changed
LOCATIONS.HEALTH type INTEGER → DECIMAL. Check stored values and consumers for case, rounding and conversion effects. A type difference alone does not establish a failure. No line of the supplied code reads or writes it, so nothing you own is known to break; anything outside the supplied code that carries it — an integration, a report — is what to check.
B2 · dictionary 7.6.1.3 vs 9.2
Validation required3 observations
Method removed
Check each cited site. The class survives but this member does not, so a call compiles today and fails at the target.
Owner · Customisation developer
Closed when The customisation compiles against the target's `businessobjects.jar`, and the cited lines either no longer call the member or call its replacement.
psdi.app.person.Person.getAvailableHours(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)D is gone in 8.7; you reference the class — check the call
psdi.app.person.Person.getAvailableMbo(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Lpsdi/mbo/MboRemote; is gone in 8.7; you reference the class — check the call
psdi.app.person.Person.getAvailableMboList(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Ljava/util/List; is gone in 8.7; you reference the class — check the call
A2 · IBM's API at 8.7
Validation required2 observations
Attribute removed
Change every cited site before cutover. The column is gone at the target: a read throws and a write fails.
Owner · Customisation developer
Closed when `select 1 from maxattribute where objectname = <object> and attributename = <attribute>` on the target returns no row, and no cited site references it.
WP-232873dd · affected subjects and evidence
ASSET.PLUSSGEOJSONWORKORDER.PLUSSGEOJSON
ASSET.PLUSSGEOJSON · attribute-removed
ASSET.PLUSSGEOJSON is removed on the path to 9.2 (no reference found in the code supplied)
A1 · IBM upgrade script, 9.0
WORKORDER.PLUSSGEOJSON · attribute-removed
WORKORDER.PLUSSGEOJSON is removed on the path to 9.2 (no reference found in the code supplied)
A1 · IBM upgrade script, 9.0
Validation required2 observations
Persistence changed
A non-persistent attribute is not in the table. Anything that queries, indexes, reports on or joins to it stops working, even though reading it through the MBO still does.
Owner · Customisation developer
Closed when No SQL, report or integration references the attribute as a column on the target.
WP-15e67888 · affected subjects and evidence
ASSET.GEOMETRYASSET.METHODNAME
ASSET.GEOMETRY · persistence-changed
ASSET.GEOMETRY persistent true → false The same column carries this change on 3 tables: ASSET, LOCATIONS, WORKORDER.
B1 · dictionary 7.6.1.3 vs 9.2, corroborated by IBM's upgrade script, 9.0
ASSET.METHODNAME · persistence-changed
ASSET.METHODNAME persistent false → true The same column carries this change on 2 tables: ASSET, LOCATIONS.
B2 · dictionary 7.6.1.3 vs 9.2
Validation required2 observations
Scale changed
Check arithmetic and rounding at every cited site, and any total that has to reconcile.
Owner · Customisation developer
Closed when A worked example at the new scale reconciles against the same example at the old one, or the difference is accepted and recorded.
WP-1683a233 · affected subjects and evidence
ASSET.ASSETHEALTHLOCATIONS.HEALTH
ASSET.ASSETHEALTH · scale-changed
ASSET.ASSETHEALTH scale 0 → 2 The same column carries this change on 2 tables: ASSET, LOCATIONS.
B2 · dictionary 7.6.1.3 vs 9.2
LOCATIONS.HEALTH · scale-changed
LOCATIONS.HEALTH scale 0 → 2
B2 · dictionary 7.6.1.3 vs 9.2
Validation required1 observations
Screen field local extension
Confirm the column on the upgraded system, then leave the screen alone. The field is your own column, which an in-place upgrade carries forward; the stock target dictionary not listing it is expected, not a broken binding. If the column is not there after the upgrade, re-apply it — a database change — before the screen is opened.
Owner · Application Designer / configuration
Closed when `select 1 from maxattribute where objectname = <object> and attributename = <attribute>` on the upgraded system returns a row, and the screen renders with the field populated.
ASSET.KEINSPECTIONCLASS is bound on a screen through WORKORDER.ASSET → ASSET, and it is your own column: in your export, not in IBM's shipped dictionary at either release. The stock 9.2 dictionary not carrying it is expected — an in-place upgrade carries your own columns forward — so this is not a release removal and the screen is not known to be broken. Confirm the column is present on the upgraded system before cutover; if it is, the binding is unaffected. At least one hop was read from the 9.2 relationship graph mxh ships rather than from your own MAXRELATIONSHIP rows, so which object the field lands on is our assumption about your install — confirm the relationship too.
B2 · not present in IBM's shipped dictionary at either release; bound by the screen, followed through the 9.2 relationship graph mxh ships
Product and environment decisions8 observations
Local extension
Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
Owner · Database / migration
Closed when Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
ASSET.KECORROSIONLOOP is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
ASSET.KEINSPECTIONCLASS · local-extension
ASSET.KEINSPECTIONCLASS is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
FAILUREREPORT.KEROOTCAUSECODE · local-extension
FAILUREREPORT.KEROOTCAUSECODE is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
LOCATIONS.KEPLATFORM · local-extension
LOCATIONS.KEPLATFORM is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
WORKORDER.KEFLARINGHOURS · local-extension
WORKORDER.KEFLARINGHOURS is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
WORKORDER.KEPERMITSTATUS · local-extension
WORKORDER.KEPERMITSTATUS is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
WORKORDER.KESHUTDOWNREF · local-extension
WORKORDER.KESHUTDOWNREF is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
WORKORDER.KEWELLID · local-extension
WORKORDER.KEWELLID is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
B2 · not present in IBM's shipped 7.6.1.3 dictionary
MXH is not produced, endorsed, certified or supported by IBM. Counts of findings, not of days.