The migration wizard completes most migration changes without any action on your part. However, in some cases, attributes or methods have changed or are no longer supported and you must take action to complete the migration.
The following sections describe migration changes for a Rules for COBOL project:
The following changes are made by the migration wizard, and require no additional action.
The following table details the changes to numeric types:
| Usage in COBOL | COBOL Example | Java™ type mapping in Rules for COBOL | Java type mapping in Decision Server |
|---|---|---|---|
| S9(1) through S9(4) | pic s9 binary | int | short |
| S9(10) through S9(18) | PIC 9(10) COMP-3. | int | long |
| 9(10) through 9(18) usage binary | PIC 9999999999 BINARY. | int | BigInteger |
| S9(n)v9(n) usage binary | PIC S999V9 BINARY. | double | BigDecimal |
| usage comp-1 | Comp-1 | double | float |
The business action language (BAL) is unaffected.
For more information, see Designing a BOM for a COBOL model.
The following table details the changes to domains:
| Rules for COBOL implementation | Decision Server implementation |
|---|---|
|
|
For more information, see Working with domains and COBOL.
The following table details changes to variable sets:
| Rules for COBOL implementation | Decision Server implementation |
|---|---|
| For a variable set, uses the initial value column to define both the type mapping and the initial value. For example:
|
Applies the COBOL type setting configuration for the Java to COBOL type mapping. The initial value column contains only values. |
The migration wizard extracts the initial values during the migration.
For more information, see Variable mapping for COBOL.
The following table details the change to the location of configuration data for COBOL code generation:
| Rules for COBOL implementation | Decision Server implementation |
|---|---|
| Stores configuration data for COBOL code generation in a cobol_extension Business Object Model (BOM). | Stores configuration data for COBOL code generation in CobolGenConfig.xml under <RuleProject_Dir>/resources/cobol. |
The cobol_extension BOM is replaced with CobolGenConfig.xml during the migration.
For more information, see Generating a COBOL XOM.
The following table details the change to encoding:
| Copybook sample | Decision Server implementation |
|---|---|
| Uses the BOM properties. | Uses a compile option at the project level. |
For more information, see Setting the copybook importer options.
The following sections describe changes that require you to take additional action after running the migration wizard.
The following changes are made to tables that use Occurs Depending On:
odoTable is changed from type Array to type List.
odoObject is deleted.
| Copybook implementation | Rules for COBOL implementation | Decision Server implementation |
|---|---|---|
|
|
|
The business action language (BAL) is unaffected.
Required action: Take either of the following actions to replace the deleted ODO object:
Use the size of the Root.odoTable List to represent the Root.odoObject usage in rules.
Add a read-only attribute to the BOM to replace the deleted Root.odoObject attribute and implement a B2X mapping for the added attribute using the size of Root.odoTable list.
If you add a read-only attribute to the BOM, you cannot generate COBOL code from the migrated rule project.
If you have rules that assign a value to Root.odoObject, you must rewrite these rules to handle the read-only restriction.
For more information, see Table mapping between COBOL and Java.
The following table details the change to redefines statements. BOM attributes that you do not select in the migration wizard configuration are deleted.
| Copybook implementation | Rules for COBOL implementation | Decision Server implementation |
|---|---|---|
|
|
You choose one item to import. For example, if you choose redefined-item, the BOM contains:
|
Required action: Update any rules that use the deleted BOM attributes.
For more information, see REDEFINES statements in the copybook
Methods for unsupported Level 88 data items are deleted. Two types of Level 88 data items are not supported:
Level 88 literals:
ALL ZERO
HIGH-VALUE, HIGH-VALUES
LOW-VALUE, LOW-VALUES
Level 88 group data items. For example:
05 Age.
88 CHILD value 0 thru 17.
10 Year-Date pic 9(4).
10 Month-Date pic 9(2).
10 Day-Date pic 9(2).
Required action: Regenerate the BOM attributes and Level 88 methods for the unsupported Level 88 data items that were deleted:
To regenerate the BOM attributes and the Level 88 methods:
Update the copybook to ensure that it contains only supported uses of Level 88 data items.
Update the COBOL XOM to reflect changes to the copybook.
Update the BOM to reflect the updated Java XOM.
For more information about the implementation of Level 88 data items, see Level 88 data items
The following table details changes to data types. Data types are not supported. The BOM items that correspond to these data types are deleted during migration.
| Copybook sample | Rules for COBOL implementation | zRule Execution Server for z/OS® implementation |
|---|---|---|
|
Mapped to string. | Not supported. |
Required action: Regenerate the deleted BOM attributes for the unsupported COBOL data types.
To regenerate the BOM attributes:
Update the copybook to ensure that it uses only supported COBOL data types.
Update the COBOL XOM to reflect the copybook changes.
Update the BOM to reflect the updated Java XOM.
For more information, see COBOL data item mapping to Java structures and Handling data type differences between Java and COBOL.
The following migration changes are optional because Decision Server for z/OS is compatible with their existing implementations.
The following table details a change to COBOL mapped methods. You no longer need to use an index value to reference the current element in an array. Instead, you use the {} placeholder.
| Copybook implementation | Rules for COBOL implementation | Decision Server implementation |
|---|---|---|
|
|
|
If your rule project includes an index placeholder in a COBOL mapped method, choose one of the following options for the rule project:
Continue using index placeholders to refer to array elements in the project. This is the default option. It requires no manual action.
Enable the use of the new placeholders and update existing placeholders to use {} placeholders. Note that once you enable the use of the new placeholders, you cannot revert to using index placeholders.
To use the new {} placeholders in the rule project, change the default configuration for the migrated project by adding the following statements to its <rule project>/resources/cobol/CobolGenConfig.xml file:
<CobolGenConfig>
<CompatibleMode compatible="false" />
</CobolGenConfig>
For more information, see Implementing BOM methods for COBOL code generation.