The delivery plan.
Assign the owner roles, agree sequencing, and track the stated acceptance criteria. Every work package links back to its original findings.
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.
Closed when The customisation compiles against the target's `businessobjects.jar` with no unresolved import.
WP-ee4980cc · affected subjects and evidence
psdi.iface.jms.ErrorQueueNotfCronTask - psdi.iface.jms.ErrorQueueNotfCronTask · class-removed
psdi.iface.jms.ErrorQueueNotfCronTask no longer exists in 9.1 and your code references it
A2 · IBM's API at 9.1
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.
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.ASSETHEALTH ASSET.GEOMETRY LOCATIONS.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
Method removed
Check each cited site. The class survives but this member does not, so a call compiles today and fails at the target.
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.
WP-395a9c9b · affected subjects and evidence
psdi.app.person.Person.getAvailableHours(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)D psdi.app.person.Person.getAvailableMbo(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Lpsdi/mbo/MboRemote; psdi.app.person.Person.getAvailableMboList(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Ljava/util/List; - psdi.app.person.Person.getAvailableHours(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)D · method-removed
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
A2 · IBM's API at 8.7 - psdi.app.person.Person.getAvailableMbo(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Lpsdi/mbo/MboRemote; · method-removed
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
A2 · IBM's API at 8.7 - psdi.app.person.Person.getAvailableMboList(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Ljava/util/List; · method-removed
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
Attribute removed
Change every cited site before cutover. The column is gone at the target: a read throws and a write fails.
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.PLUSSGEOJSON WORKORDER.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
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.
Closed when No SQL, report or integration references the attribute as a column on the target.
WP-15e67888 · affected subjects and evidence
ASSET.GEOMETRY ASSET.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
Scale changed
Check arithmetic and rounding at every cited site, and any total that has to reconcile.
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.ASSETHEALTH LOCATIONS.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
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.
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.
WP-253434f3 · affected subjects and evidence
ASSET.KEINSPECTIONCLASS - ASSET.KEINSPECTIONCLASS · screen-field-local-extension
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
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.
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.
WP-1af3c60d · affected subjects and evidence
ASSET.KECORROSIONLOOP ASSET.KEINSPECTIONCLASS FAILUREREPORT.KEROOTCAUSECODE LOCATIONS.KEPLATFORM WORKORDER.KEFLARINGHOURS WORKORDER.KEPERMITSTATUS WORKORDER.KESHUTDOWNREF WORKORDER.KEWELLID - ASSET.KECORROSIONLOOP · local-extension
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.