Follow the instructions below to extract domain-based PL/I components.
Note: Not-equals comparisons and value ranges are not supported in PL/I.
Select the program you want to slice in the Interactive Analysis Objects pane and click the
button. A dialog opens where you can enter the name of the new component in the text field. Click
OK. Component Maker adds the new component to the list of components. Double-click the component to edit its properties.
In the Data Item Value field (to set a single specialization variable) or the
Value for Data Item List (to set a list of specialization variables), click the
here link. Choose one of the following methods in the pop-up menu:
HyperCode List to set the specialization variable(s) to the constant values in a list of constants.
User Specified Value(s) to set the specialization variable(s) to a value or values you specify.
If you are setting:
A single specialization variable, select the specialization variable or its declaration in the Source pane. Click the link
for the current selection in the
Data Item field and choose
Set in the drop-down menu. For advanced program specialization, you can enter a structure in
Data Item and a field inside the structure in
Field.
A list of specialization variables, click the link for the current selection and choose the list of variables or declarations
to use in the pop-up menu.
Note: To delete an entry, select the link for the numeral that identifies it and choose
Delete in the pop-up menu. To unset an entry, click it and choose
Unset in the pop-up menu. To navigate quickly to a variable or declaration in the source, click it and choose
Locate in the pop-up menu.
If you chose
HyperCode List, select the list of constants in Code Search, then click the link for the current selection in the
List Name field and choose
Set in the drop-down menu.
Note: Choose
Show to display the current list in Code Search. Choose
(none) to unset the list. For Code Search usage, see
Analyzing Programs in the product documentation set.
If you chose
User Specified Value(s), click the
here link in the
Values field. Choose one of the following methods in the pop-up menu:
Value to set the specialization variable to one or more values. In the
Value field, click the link for the current selection. A dialog opens where you can enter a value in the text field. Click
OK.
Note: Put double quotation marks around a string constant with blank spaces at the beginning or end.
Value Range to set the specialization variable to a range of values. In the
Lower field, click the link for the current selection. A dialog opens where you can enter a value for the lower range end in the
text field. Click
OK. Follow the same procedure for the
Upper field.
Note: For value ranges, the specialization variable must have a numeric data type. Only numeric values are supported.
Repeat this procedure for each value or range of values you want to set and for each variable you want to specialize on. For
a given specialization variable, you can specify the methods in any combination. For a given extraction, you can specify simplified
and advanced modes in any combination.
Note: To delete a value or range, select the link for the numeral that identifies it and choose
Delete in the pop-up menu.
In the Description field, click the
here link to open a text editor where you can enter a description of the component. The description appears in the box below the
Description field in the Properties tab and in the Description property for the logical component repository object.
Click the
button on the tool bar to start extracting the logical component. You are prompted to confirm that you want to continue.
Click
OK.
The Extraction Options dialog opens. Set options for the extraction and click
Finish.
Component Maker performs the extraction. You are notified that the extraction is complete. If the extraction completed without
errors or warnings, click
OK to continue. If the extraction completed with errors or warnings, click
Yes in the notification dialog to view the errors or warnings in the Activity Log. Otherwise, click
No.