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=2is generated as: IF (A=1) AND (B=2) |