Setting Optimize Options

The table below describes the Component Maker Optimize extraction options.

Option Language Description
No changes Cobol, Natural, RPG Do not remove unused data items from the component.
Preserve Original Paragraphs Cobol Generate paragraph labels even for paragraphs that are not actually used in the source code (for example, empty paragraphs for which there are no PERFORMs).
Note: This option also affects refactoring. When the option is set, paragraphs in the same "basic block" are defragmented separately. Otherwise, they are defragmented as a unit.
Remove Redundant NEXT SENTENCE Cobol Remove NEXT SENTENCE clauses by changing the bodies of corresponding IF statements, such that:
IF A=1
    NEXT SENTENCE
ELSE
    ...
END-IF.

is generated as:

IF NOT (A=1)
    ...
END-IF.
Remove/Replace Unused Fields with FILLERs Cobol, Natural, RPG Remove unused any-level structures and replace unused fields in a used structure with FILLERs. Set this option if removing a field completely from a structure would adversely affect memory distribution.
Note: If you select Keep Legacy copybooks in the General component extraction options, Component Maker removes or replaces with FILLERs only unused inline data items.
Remove Unreachable Code Cobol, RPG Remove unreachable procedural statements.
Remove Unused Any-Level Structures Cobol, Natural, RPG Remove unused structures at any data level, if all their parents and children are unused. For the example below, D, E, F, and G are removed:
DEFINE DATA LOCAL 
1 #A 
  2 #B 
    3 #C 
  2 #D 
    3 #E 
    3 #F 
1 #G
Remove Unused Level-1 Structures Cobol, Natural, RPG Remove only unused level-1 structures, and then only if all their children are unused. If, in the following example, only B is used, only G is removed:
DEFINE DATA LOCAL 
1 #A 
  2 #B 
    3 #C 
  2 #D 
    3 #E 
    3 #F 
1 #G
Replace Section PERFORMs by Paragraph PERFORMs Cobol Replace PERFORM section statements by equivalent PERFORM paragraph statements.
Roll-Up Nested IFs Cobol Roll up embedded IF statements in the top-level IF statement, such that:
IF A=1
    IF B=2

is generated as:

IF (A=1) AND (B=2)