22 Work with Extensibility Tool (Release A9.3 Update)

This chapter contains these topics:

You use the Extensibility Tool to extend the functionality of a base program through an external soft coding database to minimize custom modifications to the base code line. The Extensibility Tool facilitates the process to upgrade to future releases.

Navigation

From Master Directory (G), type G98X to access Extensibility

22.1 Reviewing the Extensibility Flow

The following describes the Extensibility flow.

Figure 22-1 Extensibility flow

Description of Figure 22-1 follows
Description of "Figure 22-1 Extensibility flow"

Figure 22-2 Extensibility flow

Description of Figure 22-2 follows
Description of "Figure 22-2 Extensibility flow"

To add Extensibility to a program using the Extensibility tool to perform a customizable call of one program from another program

  1. Identify the placement in the calling program where the event (/COPY member) needs to be added. Set up the new custom Event Master record via P98X00 for that program placement, if the Event does not already exist.

  2. Identify the logic (extension) to be added to the program (Programs to Call and so on).

  3. To call the programs, identify the parameters necessary to be added. Also determine which parameters are variables versus literals.

  4. Identify and include the variable parameters in the Program Exports program (P98X02).

  5. Change the source in the calling program to add the /COPY Event(s) (program placements) as necessary and make the program extensible (by adding the /COPY's for D98XBASE and C98XBASE) if not already, via SVR.

  6. Compile the program from SVR. If the program compiles successfully, the Events added and the variables to be exposed for Extensibility will be available and shown in the Program Exported Items program (P98X12).

  7. Create an SVR record for the program to be called, if one does not already exist.

  8. Establish the PLIST (*ENTRY) parameters in SVR. The parameters need to exist in the F98016 SVR-Entry Parameter Definitions file for the called program. Either run the P98016B Parameter Build DREAM Writer or enter the parameters manually thru program the SVR-Entry Parameter Definitions program (P98016). If the parameters are created using DREAM Writer P98016B, review for accuracy and make any necessary changes through the entry program (P98016).

  9. Once the parameters have been established, the Mapping Values from the calling program to the program to call can be created. These are referred to as Mapping Versions maintained through the Defined Mapping Values (P98X11) program.

  10. Create the logic from the calling program to the called program via the Program Extension Master (P98X03), attaching the Mapping Version created in the previous step.

  11. Using the Program Event Extension (P98X01) program, tie together the Calling Program, Event and Extension Name (Program to Call) and any associated Named Condition. The new selection option or function key and the Video Text Description, for the F24 window, can also be defined when necessary.

  12. Once the Program Event Extension is enabled, it can be tested.

  13. The Extensibility Workbench program (P98XWB) is then used to manage the Program Event Extensions and all of its various components described in previous steps.

For quick instructions to set up Extensibility, see Appendix E, "Quick Instructions to Set up Extensibility (Release A9.3 Update)."

22.2 Working with Event Definition

You use the Event Master Maintenance program (P98X00) to define an Event ID which will to be used throughout the Extensibility system. The Event ID is then associated to a /COPY member as a placement within an RPG/ILE program. An Event ID is unique and a unique Event Copy Member name must be used when defining each event.

The Event ID is a combination of two defined fields, the Event Group Code and the Event Number.

The Event Group Code separates each group of defined events. The Event Group Code with the Event Number allows upgrading and adding new events, at different release levels, without overlapping events. Since Oracle JD Edwards, Customers, and Business Partners will define their own Event Group Codes, it will be easy for each group to keep track of current and future event definitions.

The Event Number is used to uniquely define an event. The Event Number is meaningless by itself and totally dependent on the Event Group Code, this combination becomes the Event ID.

WARNING:

The JDEP and JDES Event Group Codes must not be altered in any way. These /COPY modules are integrated into the base software in several programs and any changes could cause undesirable results.

An event can be a user-defined function key, user-defined selection option, or a placement within a program for custom logic.

The Event Master Maintenance program and Event Master file provide for the Event ID, Event Description, and the /COPY Member defined within a Source File and the Source Library.

Once the Event is defined, a function key is provided to create the source member. If the source member has not yet been created for the event, the message No source exists displays next to the Event Copy Member field.

The Field Name is actually the data item that is used in tandem with the Associated Data field on the Program Event Extensions file. If the Event utilizes an Action Code, the Field Name will have a value of ACTION and the Associated Data field will have the Action Code value. This combination will execute the event when the action is performed. For example, a Field Name of ACTION with an Associated Data field value of 'C', will perform the logic of the event in the program when a Change Action Code is entered.

Creating an event is the first step within the Extensibility process.

To create the /COPY source member for the defined event, via the function key

  1. On Event Master Maintenance, choose Event Master.

    Figure 22-3 Event Master screen

    Description of Figure 22-3 follows
    Description of "Figure 22-3 Event Master screen"

  2. Verify that the source file and library (object) exist.

  3. Verify that the user is authorized to access the source file and the source library.

  4. Verify that the /COPY member does not exist already

Field Explanation
Event Group Code A user-defined code within Extensibility that defines separate groupings of events. This allows for ease of upgrading to the latest software release without interfering with and overlapping of existing event definitions. The Event Group Code becomes the first half of the value of the Event ID. The second half of the Event ID is the Event Number. The Event ID is used throughout Extensibility to define an event.

Examples of the Event Group Code:

JDES – JDE World Standard Group (only used by JDE Development)

JDEP – JDE World Program Specific Group (only used by JDE Development)

CUSP – Customer Program Specific Group (only used by Customers for customization purposes)

ABCP – ABC Business Partner that provides software modifications for a customer.

XYZP – XYZ Business Partner that provides software modifications for a customer.

Event Number The second portion of the Event ID field. This number is used as a sequence number within the Event Group Code in Extensibility. The Event Group Code and Event Number fields combined comprise the Event ID that is used throughout the Extensibility application tool.
Description A user-defined name or remark.
Event Copy Member A member name that the system uses in a copy statement for COBOL or Report Program Generator (RPG)

Note: Examples include C00EVEXIT and C00EVSELC.

Source File Name Contains the name of the file where the source for an object exists. In the program generator File Specifications this name is defaulted to JDESRC. In combination with the source library name it identifies where the program generator can find the source for each data file, display file, or report file which it must analyze to create the data field parameters. As used in the automated installation processing file this is the source file of an object at the time the object was created.
Source Library Library in which the source file resided when the object was created.
Field Name A code that identifies and defines unit of information. It is an 8-character, alphabetical code that does not allow blanks or special characters such as: %, &, +.

Create new data items using system codes 55-59. You should name your new data items with a dollar sign ($). For example, $DTAI. The alias cannot be changed.

Event Id Used throughout the Extensibility application tool and database.

This field is formed by two subfields - the Event Group Code and the Event Number fields.

The Event ID will define a /COPY module that can then be placed in a program to allow for adding logic outside of the base program.

The Event ID is defined as XXXX9999 where:

XXXX - Event Group Code

9999 - Event Number (sequence within the Event Group)


22.2.1 Event Number Selection (P98XSLW)

Press F1 to display the Event Number Selection (P98XSLW) window from the Event Number field on the Event Master Maintenance program (P98X00). The Event Numbers displayed are for events that are within the Event Group Code specified. The Event Number can then be selected from the window and returned to the Event Master Maintenance program.

Figure 22-4 Event Number Selection window

Description of Figure 22-4 follows
Description of "Figure 22-4 Event Number Selection window"

22.3 Working with Program Exports

You use the Program Exports(P98X02) and the Exported Items program (P98X12) programs when working with program exports.

22.3.1 Program Exports (P98X02)

You use the Program Exports(P98X02), to expose variables that can be used as parameters when calling other programs within Extensibility.

The system uses the Program Exports file (F98X02) when compiling a program to create the Program Exported Items file (F98X12). With a successful compile, the F98X12 file will be populated with the exposed variables that are available for use as parameters. The Program Exported Item records are only created with a successful compile.

The Program Name must exist in the Software Versions Repository file (F9801) before it can be used in Program Exports.

The Export Type field allows you to define which variables will be exposed at compile time, (F) for file level or (V) for individual variable.

For further program compiling details when setting up Extensibility, see Appendix F.

If the Export Type is F:

  • The Export Name is a File Name (physical file, display file, print file, and so on).

  • The filter field allows you to select all fields beginning with specific values without having to type each individually. By typing VD* or SF* the ’*' acts as a wild card feature and will include all fields beginning with the values preceding the ’*'.

  • All other input capable fields are not used.

If the Export Type is V:

  • The Export Name is a variable that is being used in the program.

  • At this point, no editing is done to verify the variable is valid. The verification occurs at compile time. If the Export Name entered is not a variable within the program, the compile will fail.

  • The Filter Field is not used for variables.

  • The I/O Type, Data Type, Data Size, and Decimals are required to define the variable attributes.

  • The Description can also be entered.

To expose the variables within a program to be used as parameters for calling other programs through Extensibility

  1. On Event Master Maintenance, choose Program Exports.

    Figure 22-5 Program Exports screen

    Description of Figure 22-5 follows
    Description of "Figure 22-5 Program Exports screen"

  2. For a specific program, add the program variables individually (or by file name/filter field for several variables) to the Exports File (F98X02).

  3. To enable for Extensibility usage, add any new Events (/COPY members) and the required statements (D98XBASE, C98XBASE) to the program source.

  4. Compile the program.

  5. After a successful compile, the Export records (F98X02) are exploded to generate the Exported Items file (F98X12), exposing the variables as requested.

  6. In the Exported Items (P98X12) program, inquire on your program to confirm that all Extensibility Event Names (/Copy members) and all variables have been exposed and are available for parameter usage.

Field Explanation
Program Name Name of an executable program.
Exp Type The Type of Export specifies the individual data to be exported for use in Extensibility when a program is compiled.

Valid values are:

F - For any *FILE type (Display File, Physical File, Print File, and so on).

V - Variable.

Export Name Specifies either the file name of all fields or an individual program variable which is going to be exported via Extensibility when a program is compiled.

Valid values are:

V04105 - For all fields in the A/P Voucher Entry screen.

F0411 - For all fields in the physical file.

AP01 - For a valid variable defined in the program to be compiled.

Filter Field Allows the user to limit the selection of fields to be exported and written to the Exported Items file (F98X12) during a successful compile.

The file can be either a screen display, a physical file, or a report print file.

The following are examples of Filter Field Selection:

VD* - Selects only the screen fields within a maintenance or inquiry screen.

SF* - Selects only the subfile fields within a screen with a subfile.

SH* - Selects only the subfile hidden fields within a screen with a subfile.

RR* - Selects only the report fields within a report print file.

VTX* - Selects only the Vocabulary Override fields from a display or report print file.

Data Type Specifies the individual data which is going to be exported for use in Extensibility when a program is compiled.

Valid values are:

F - For any *FILE type (Display File, Physical File, Print File, and so on).

V - Variable.

Data Size Field size of the data item.

Note: Enter all amount fields as 15 bytes, 0 decimals, and the Data Item Type as P (packed).

Dec Number of positions to the right of the decimal of the data item that are stored.
Description A user-defined name or remark.

22.3.2 Program Exported Items (P98X12)

The Program Exported Items program (P98X12) allows you to review records in the F98X12 file, created from a successful compile.

The exported records that are created come from two different processes:

  • The Extensibility Events placed in the program source via the /COPY statements.

  • The variables exposed as parameters via input into the Program Exports file F98X02.

Figure 22-6 Program Exported Items screen

Description of Figure 22-6 follows
Description of "Figure 22-6 Program Exported Items screen"

Field Explanation
Program Name Name of an executable program.
Expd Type The Exported Type Code specifies what type of data has been exported when a program is compiled with Extensibility.

Examples of valid values for the Exported Type Code are:

E for Extensibility Event

V for Variable

When a program is compiled, any files that have been defined in the Extensibility Program Exports file will be exploded out to the field level in the Program Exported Items file to then be optionally used as a variable in the parameter mapping for Extensibility. Likewise, any Events that are defined for Extensibility in a program being compiled will also have those Events written to the Program Exported Items file with an 'E' Exported Type Code.

Exported Item Is either the variable name that has been exported from the Extensibility Program Exports file or an Event Name that is defined in a program. Both, variables and events, are placed in the Extensibility Program Exported Items file at program compile time.
Data Type Defines the type of data to be stored in the field. The data item types are user-defined codes (98/DT).

Note: Enter all amount fields as 15 bytes, 0 decimals, and the Data Item Type as P (packed).

Data Size Field size of the data item.

Note: Enter all amount fields as 15 bytes, 0 decimals, and the Data Item Type as P (packed).

Dec Number of positions to the right of the decimal of the data item that are stored.
Description A user-defined name or remark.
Update Date The date of the last update to the file record.

22.4 Working with Mappings

You use the following programs when working with mappings:

  • Build Program Entry Parameter Definitions (P98016B)

  • Program Entry Parameter Definitions (P98016)

  • Define Mapping Values (P98X11)

22.4.1 Build Program Entry Parameter Definitions (P98016B)

You use this process to build the F98016 SVR-Entry Parameter Definitions by Program Name retrieved from the Cross Reference files. Run the Cross Reference prior to running the P98016B for the program being selected to ensure the PLIST (*ENTRY) parameters are available.

The Build Program Entry Parameter Definitions (P98016B) selects the Program Arguments (PLIST) records from the Cross Reference file (P/A combination in the Cross Reference when inquiring by Program).

After you run Build Program Entry Parameter Definitions (P98016B) for a program, review the results of the parameters that were built in file F98016 and check for accuracy via program P98016. If you find any incorrect values or field sizes created by the build program, fix the issues in P98016 before any mapping occurs.

Run the Cross Reference for the program prior to running the P98016B for the program being selected, as P98016B retrieves the *ENTRY parms from the Cross Reference files.

The based-on file for the P98016B DREAM Writer is the F9801 Software Versions Repository.

The DREAM Writer data selection allows the user to specify one program or *ALL programs.

22.4.2 Program Entry Parameter Definitions (P98016)

The Program Entry Parameter Definitions (P98016) describe the required and optional entry parameter list of a program. These definitions are used by parsers to enable external processes to interface with application programs.

Figure 22-7 Program Entry Parameter Definitions screen

Description of Figure 22-7 follows
Description of "Figure 22-7 Program Entry Parameter Definitions screen"

Field Explanation
Member Id The identification, such as program number, table number, and report number, that is assigned to an element of software.
Seq# This field dictates the ordering of entry parameters. Reordering is accomplished by resequencing the numbers. To remove an existing entry, blank the sequence number - that definition will be removed.
Parameter Field Name A code that identifies and defines unit of information. It is an 8-character, alphabetical code that does not allow blanks or special characters such as: %, &, +.

Create new data items using system codes 55-59. You should name your new data items with a dollar sign ($). For example, $DTAI. The alias cannot be changed.

Dcl Type The Declaration Type value of S for scalar (single field) is the only value supported within Extensibility. Data Structures are not supported by Extensibility.
Description A user-defined name or remark.
Dta Typ Defines the type of data to be stored in the field. The data item types are user defined codes (98/DT).

Note: All amount fields should be entered as 15 bytes, 0 decimals, and data item type P<SP>(packed).

Len The field size of the data item.

Note: All amount fields should be entered as 15 bytes, 0 decimals, and the data item type should be P (packed).

Dec The number of positions to the right of the decimal of the data item that are stored.
Adj For character fields only. Default is left justification. You can right justify character as needed, for Business Units for example (MCU).
Opt Specifies whether this parameter is required or optional. Required parameters must be accounted for or the parsers will return an error. Optional parameters are exactly that, optional.
Val Req Specifies if a value is required to be passed for this parameter.

For interfaces to function properly, it is important that entry parameters are defined correctly, otherwise parsers do not interpret or map incoming data correctly; thus the interface does not function.

The entry parameter definitions program defaults and corrects a number of entry items facilitating definition entry. However, you are required to enter enough information about each entry parameter.

Values for each definition entry:

  • Scalar parameters can be character, packed, or signed data types.

22.4.3 Define Mapping Values (P98X11)

You use the Define Mapping Values (P98X11) program to create mapping definitions between a calling program and the program to be called. This information resides in the F98X11 Mapping Values file.

Use the Mapping Version to define different variations or parameter values for a program calling another program.

Note:

At this time, any Program to call that has a parameter list containing a data structure, is not supported in Extensibility.

The first step to create the mapping for a program to call another program, is to determine the parameters required for the program being called. To retrieve the required parameters, they must first be set up in the SVR-Entry Parameter Definition file (F98016).

If the parameters are not established in the F98016 file for the program to be called, the mapping cannot be created between the two programs.

If a Program to call has no parameters, a single *NONE record must still be placed in the F98016 file prior to the mapping creation.

To retrieve the parameters within the Define Mapping Values program, the Program to Call field must be populated before pressing F6 to load the parameter definition required for the program being called.

To start the mapping process

  1. On Event Master Maintenance, choose Define Mapping Values.

    Figure 22-8 Define Mapping Values screen

    Description of Figure 22-8 follows
    Description of "Figure 22-8 Define Mapping Values screen"

  2. Enter the Program Name (the calling program and the Mapping Version Name).

  3. Enter the I/O Type.

    Options are:

    I - Input

    O - Output

    B - Both

    If the Parameter Type is a V (variable):

    • Send variable to calling program

    • Retrieve variable from calling program

    • Send and then retrieve variable from calling program

  4. Enter the Parameter Type.

    Options are:

    I - Initialize only

    L - Literal

    V - Variable

  5. Based on the Parameter Type, enter the Parameter Value.

    Options are:

    • Blank for an Initialize (I) only Parameter Type.

    • A hard coded value for a Literal Parameter Type (L) (no quotes required).

    • A calling program variable name to be passed to the called program for a Variable Parameter Type (V).

    • The I/O Type then determines if the variable value is then returned to the calling program.

    The variable types for mapped variables must be compatible for the program call to work properly. Binary data types are not compatible with any other data type. Alphanumeric, Packed Numeric, and Signed Numeric are all compatible. However, size and data decimal mismatches may lead to loss of data during conversion. For example, when moving value 123456.1234 from a 10 digit, 4 decimal zoned variable to an 8 digit 3 decimal zoned variable, the one and the four will get truncated. The resulting value in the 8 digit 3 decimal zoned variable will be 23456.123. Note: the value is not rounded, only truncated.

    F5 – Calls the P98016 Program Entry Parameter program to view the required parameters for a program.

    F6 – Retrieves the F98016 Program Entry Parameters into the Define Mapping Values program. The Program to Call field must be populated before the F6 key can be utilized.

    F19 – Retrieves the previous (or first) mapping within the F98X11 Mapping Values file.

    F20 – Retrieves the next (or last) mapping within the F98X11 Mapping Values file.

Field Explanation
Program Name The name of an executable program.
Program To Call The unique name assigned to an object to where a call is made. This calling object could either be the name of a Batch Application, an Interactive Application, or Business Functions.
Mapping Version Used in Extensibility to define separate mappings of parameters for a call to a specific program.

The Mapping Version is used in combination with the Calling Program and the Program to Call in the Mapping Values file F98X11.

Parm Seq# A number that the system uses to sequence information.
I/O Type For Extensibility, in the Mapping Values video, the I/O Type field can be only one of the following values:

I - Input.

B - Both.

The I/O Type should be I if the Parameter is only to be passed to the Program to Call and the value not returned to the calling program.

The I/O Type should be B if the Parameter is passed to the Program to Call and the value should also be returned to the calling program.

Parm Type The Parameter Value Type is used to define the type of information inserted in the Parameter field.

Valid values are:

I - For initializing the parameter only (default).

L - If the parameter is a literal.

V - If the parameter is a variable.

Parameter Value Can be either a literal value or a variable name, based on the Parm Type value supplied.

22.4.3.1 Exported Variables window (P98XSXW)

Press F1 to display the Exported Variables Window (P98XSXW) from the Parameter Value field on the Define Mapping Values program (P98X11). The Exported Variable can then be selected from the window and returned to the Define Mapping Values program.

Figure 22-9 Exported Variables Window

Description of Figure 22-9 follows
Description of "Figure 22-9 Exported Variables Window"

22.5 Working with Extension Logic

You use the Program Extension Master (P98X03) and the Program Event Extensions (P98X01) programs when working with extension logic.

22.5.1 Program Extension Master (P98X03)

You use the Program Extension Master maintenance program (P98X03) to define an extension to a program.

In Extensibility, the extension is defined as the logic being added to the program. Whereas, the event is defined as the placement in the program (via the /COPY member).

Therefore, the Program Extension allows for the addition of logic to the program (via a program call, for example).

The P98X03 program allows for file maintenance to two separate files - F98X03 and F98X13. The Program Extension Master file (F98X03) allows for the creation of an extension of logic to a program.

The keys to the file are Program Name and Extension Name.

The Extension Description field is also included on the F98X03 record.

The Program to Call and the Mapping Version fields are actually written to a separate file, the F98X13 Extension Logic file, also by the keys of Program Name and Extension Name together with a Sequence Number of 10.

The F98X03 and F98X13 files have a 1-to-1 relationship linked by Program Name and Extension Name and are kept in tandem based on the Add and Change Action Code used in the Program Extension Master Maintenance program.

The Program Name, Program to Call, and Mapping Version fields must exist in the F98X11 Mapping Values file. The mapping must exist before the Program Extension can be created.

Figure 22-10 Program Extension Master screen

Description of Figure 22-10 follows
Description of "Figure 22-10 Program Extension Master screen"

Field Explanation
Program Name Name of an executable program.
Extension Name The Extension Name defines a set of logic that is used in the Extensibility application tool.

The Extension Name is used in combination with the Calling Program to define a Program to Call and the Mapping Version in the F98X03 Program Extension Master file.

The Extension Name is used in combination with the Calling Program and Event ID fields to define the placement in the program (the Event) with the logic to be Included in the program (the Extension) in the F98X01 Program Event

Extensions file.

Description A user-defined name or remark.
Program To Call The unique name assigned to an object to where a call is made. This calling object could either be the name of a Batch Application, an Interactive Application, or Business Functions.
Mapping Version The Mapping Version is used in Extensibility to define separate mappings of parameters for a call to a specific program.

The Mapping Version is used in combination with the Calling Program and the Program to Call in the Mapping Values file F98X11.


22.5.1.1 Select Extension Name Window (P98XSXW)

Press F1 to display the Select Extension Name Window (P98XSXW) from the Extension Name field in the Extension Master Maintenance program (P98X03).The Select Extension Name Window (P98XSXW) provides a list of the Extension Names by Program Name and allows for the selection of a value to be returned to the calling program P98X03.

Figure 22-11 Select Extension Name Window

Description of Figure 22-11 follows
Description of "Figure 22-11 Select Extension Name Window"

22.5.2 Program Event Extensions (P98X01)

You use the Program Event Extensions file (F98X01) to combine the program, the event (the placement in the program), and the extension (the logic extended externally to the program).

The Program Event Extension program allows for the creation of the external call to a program via a function key, selection option, or another event placement in the program.

The Program Event Extension can be enabled or disabled and the selection option or function key can easily be changed within the file.

It is recommended you use the Extensions Workbench to manage the Program Event Extensions as the Program Event Extensions file (F98X01) is the driver for the workbench and filtering and selecting can be easily performed within that program.

Figure 22-12 Program Event Extensions screen

Description of Figure 22-12 follows
Description of "Figure 22-12 Program Event Extensions screen"

To create a program event extension

Ensure that all the following edits pass.

  1. The Program Name must exist in the Software Versions Repository file.

  2. The Event ID must exist in the Event Master file.

  3. The Program Name and the Event ID combination must exist in the Program Exported Items file.

  4. The Program Name and the Extension Name combination must exist in the Program Extension Master file.

  5. The Event ID and Associated Data fields combined are edited if the Event ID is either the Selection Option or Function Key Event. The Associated Data field must be S and 01 through 99 if the Event ID is the Selection Option Event. The Associated Data filed must be F and 01 through 24 if the Event ID is the Function Key Event.

  6. If populated, the Named Condition must exist in the Named Conditions Header Master file.

  7. The Enabled Y/N flag must be either Y or N.

The Video Text Description field in P98X01 will display in the Extensible Program's F24 window (P96012) for a Function Key or a Selection Option. Any function key or selection option description shown in the F24 window created and enabled within Extensibility will be preceded by a > for ease of identification.

Note:

Extensible selection options and function keys will not override base package selection options and function keys in the F24 window and will not process if they already exist in the base.
Field Explanation
Program Name The name of an executable program.
Event ID The Event ID is used throughout the Extensibility application tool and database.

This field is formed by two subfields, the Event Group Code and the Event Number fields.

The Event ID defines a /COPY module that can then be placed in a program to allow for adding logic outside of the base program.

The Event ID is defined as XXXX9999 where:

XXXX = Event Group Code

9999 = Event Number (sequence within the Event Group)

Extension Name Defines a set of logic that is used in the Extensibility application tool.

The Extension Name is used in combination with the Calling Program to define a Program to Call and the Mapping Version in the F98X03 Program Extension Master file.

The Extension Name is used in combination with the Calling Program and Event ID fields to define the placement in the program (the Event) with the logic to be Included in the program (the Extension) in the F98X01 Program Event Extensions file.

Associated Data Contains a value that identifies an exit or action in Extensibility or a database field allowed for use in Field Level Security.

Screen-Specific Information

In Extensibility, the Associated Data is used within the Program Event Extension to define the field to be enabled such as a function key or a selection option. If the field is a function key, the first character should be an F, followed by a function key of 01 through 24. If the field is a selection option, the first character should be an S, followed by a selection option of 01 through 99. The Associated Data can also be used in correspondence with the Data Item on the Event Master to define the value for the action to be taken.

Named Condition One or more condition statements used to enable a Program Extension in extensibility. If the Named Condition is true, the Program Extension will be enabled. Named Conditions are optional. If a Named Condition is not assigned to a Program Extension, the Program Extension will always be enabled.
Event Sequence Number The Event Sequence Number is used in the Program Event Extensions (P98X01) program to sequence the Calling Program, Event (placement) and Extension (logic) in a particular order for processing. If multiple sets of logic are defined at a place (Event) in the program, the Event Sequence Number allows for setting the correct order of processing the logic (Extensions).
Enabled Y/N This code determines whether a process is enabled (Y) or disabled (N). Blank is also a valid value. Blank will be treated as Not Enabled (N).
Video Text Description Creates the title on text and reports. It is used in a manner similar to the column description in the query facility. It should be less than 35 characters. Use abbreviations whenever possible.
Program to Call The unique name assigned to an object to where a call is made. This calling object could either be the name of a Batch Application, an Interactive Application, or Business Functions.
Mapping Version Used in Extensibility to define separate mappings of parameters for a call to a specific program.

The Mapping Version is used in combination with the Calling Program and the Program to Call in the Mapping Values file F98X11.


22.5.2.1 Program Exported Items for Exported Events window (P98XSLW)

Press F1 to display the Program Exported Items (P98XSLW) window for Exported Events from the Event ID field in the Event Extensions program (P98X01). The Program Exported Items for Exported Events window (P98XSLW) displays the Events (/COPY members) defined in the successfully compiled program (and the F98X02 Program Exported Items file) to allow for selection of a value to be returned to the calling program P98X01.

Note:

The Program Name should be entered before pressing F1 on the Event ID field to view the valid Events defined within a program.

Figure 22-13 Program Exported Items window

Description of Figure 22-13 follows
Description of "Figure 22-13 Program Exported Items window"

22.5.2.2 Select Extension Name Window (P98XSXW)

Press F1 to display the Select Extension Name Window (P98XSXW) from the Extension Name field in the Event Extensions program (P98X01). The Select Extension Name Window (P98XSXW) provides a list of the Extension Names by Program Name and allows for the selection of a value to be returned to the calling program P98X01.

Note:

The Program Name should be entered before pressing F1 on the Extension Name field to view the valid Extensions defined for a program.

Figure 22-14 Select Extension Name Window

Description of Figure 22-14 follows
Description of "Figure 22-14 Select Extension Name Window"

22.5.2.3 Condition Master Window (P98X04W)

Press F1 to display the Condition Master Window (P98X04W) from the Named Condition field in the Event Extensions program (P98X01). The Condition Master Window (P98X04W) provides a list of the available Named Conditions and allows for the selection of a value to be returned to the calling program P98X01.

Figure 22-15 Condition Master Window

Description of Figure 22-15 follows
Description of "Figure 22-15 Condition Master Window"

22.6 Working with Extension Management

You use the Extensions Workbench (P98XWB) and the Named Conditions (P98X04) programs when working with extension management.

22.6.1 Extensions Workbench (P98XWB)

You use the Extensions Workbench (P98XWB) as a tool to manage the Program Event Extensions that are set up within the Extensibility application. The workbench provides the user the option to navigate to the various extensibility set up videos from one central point.

Figure 22-16 Extensions Workbench screen

Description of Figure 22-16 follows
Description of "Figure 22-16 Extensions Workbench screen"

The Extensions Workbench (P98XWB) is driven by the Program Event Extensions (F98X01) file. All inquiries and filtering are performed to this file.

The Extensions Workbench program (P98XWB) allows for several selection options.

Available Selection Options

  • 01 - Exits to Event Master (P98X00)

  • 02 - Program Exports (P98X02)

  • 03 - Program Exported Items (P98X12)

  • 04 - Program Entry Parameters (P98016)

  • 05 - Mapping Values (P98X11)

  • 06 - Program Extension Master (P98X03)

  • 07 - Program Event Extensions (P98X01)

  • 08 - Named Conditions (P98X04)

Additional selection options available

  • 20 – Enable Extension (this changes the Enabled Flag for the Extension to Y).

  • 21 – Disable Extension (this changes the Enabled Flag for the Extension to N).

You can apply filtering to the following fields

  • Program Name

  • Event ID

  • Program to Call

  • Named Condition

  • Enabled Y/N

    The defaults on all of these fields is '*' to select all records, except for the Enabled Y/N, which defaults to 'Y'.

Field Explanation
Program Name The name of an executable program.
Event ID Used throughout the Extensibility application tool and database. This field is formed by two subfields, the Event Group Code and the Event Number fields.

The Event ID defines a /COPY module that can then be placed in a program to allow for adding logic outside of the base program.

The Event ID is defined as XXXX9999 where:

XXXX = Event Group Code

9999 = Event Number (sequence within the Event Group)

Program to Call The unique name assigned to an object to where a call is made. This calling object could either be the name of a Batch Application, an Interactive Application, or Business Functions.
Named Condition One or more condition statements used to enable a Program Extension in extensibility. If the Named Condition is true, the Program Extension will be enabled. Named Conditions are optional. If a Named Condition is not assigned to a Program Extension, the Program Extension will always be enabled.
Enabled Y/N This code determines whether a process is enabled (Y) or disabled (N). Blank is also a valid value. Blank will be treated as Not Enabled (N).
Op Selection exit codes are options and function keys that are used to perform a specific function for a selected line or form of data. The most commonly used selection exits for each program are displayed in highlighted text at the bottom of the form. To display all available selection exits, press F24.

Press F1 in the Option field to display all available Options for the program.

Program Name The name of an executable program.
Event ID The Event ID is used throughout the Extensibility application tool and database.

This field is formed by two subfields - the Event Group Code and the Event Number fields.

The Event ID will define a /COPY module that can then be placed in a program to allow for adding logic outside of the base program.

The Event ID is defined as XXXX9999 where:

XXXX = Event Group Code

9999 = Event Number (sequence within the Event Group)

Event Seq # The Event Sequence Number is used in the Program Event Extensions program P98X01 to sequence the Calling Program, Event (placement) and Extension (logic) in a particular order for processing. If multiple sets of logic are defined at a place (Event) in the program, the Event Sequence Number allows for setting the correct order of processing the logic (Extensions).
Extension Name The Extension Name defines a set of logic that is used in the Extensibility application tool.

The Extension Name is used in combination with the Calling Program to define a Program to Call and the Mapping Version in the F98X03 Program Extension Master file.

The Extension Name is used in combination with the Calling Program and Event ID fields to define the placement in the program (the Event) with the logic to be Included in the program (the Extension) in the F98X01 Program Event Extensions file.

E N This code determines whether a process is enabled (Y) or disabled (N). Blank is also a valid value. Blank will be treated as Not Enabled (N).
Field Name This field contains a value that identifies an exit or action in Extensibility or a database field allowed for use in Field Level Security.
Named Condition One or more condition statements used to enable a Program Extension in extensibility. If the Named Condition is true, the Program Extension will be

enabled. Named Conditions are optional. If a Named Condition is not assigned to a Program Extension, the Program Extension will always be enabled.

Program Description The name of an executable program.
Event Description A user-defined name or remark.
Program to Call The unique name assigned to an object to where a call is made. This calling object could either be the name of a Batch Application, an Interactive Application, or Business Functions.
Mapping Version The Mapping Version is used in Extensibility to define separate mappings of parameters for a call to a specific program.

The Mapping Version is used in combination with the Calling Program and the Program to Call in the Mapping Values file F98X11.

Ext Desc Default glossary.
Condition Desc One or more condition statements used to enable a Program Extension in extensibility. If the Named Condition is true, the Program Extension will be enabled. Named Conditions are optional. If a Named Condition is not assigned to a Program Extension, the Program Extension will always be enabled.

22.6.1.1 Event ID Selection Window (P98XSLW)

Press F1 to display the Event ID Selection window (P98XSLW) from the Event ID field in the Extensions Workbench program (P98XWB). The Event ID Selection window (P98XSLW) provides a list of the Event IDs and allows for the selection of a value to be returned to the calling program P98XWB.

Figure 22-17 Event ID Selection window

Description of Figure 22-17 follows
Description of "Figure 22-17 Event ID Selection window"

22.6.1.2 Condition Master Window (P98X04W)

Press F1 to display the Condition Master Window (P98X04W) from the Named Condition field in the Extensions Workbench program (P98XWB). The Condition Master Window (P98X04W) provides a list of the Named Conditions and allows for the selection of a value to be returned to the calling program P98XWB.

Figure 22-18 Condition Master Window

Description of Figure 22-18 follows
Description of "Figure 22-18 Condition Master Window"

22.6.2 Named Conditions (P98X04)

22.6.2.1 Named Conditions Overview

You use Named Conditions (P98X04) to conditionally enable program extensions based on system and user settings. For example, you can enable localization extensions based on the user's country code.

A condition consists of an operation and expression, where the operation contains the And/Or statement and the expression contains the condition to be evaluated.

Conditions can be grouped using And/Or logic. The condition AND combines and continues a condition. The condition OR begins a new condition that includes the OR line and consecutive AND lines.

The expression contains the field to be tested, the Boolean logic test to be performed, and the value to compare against. If the Boolean logic test in the expression is true, the condition is true.

Examples 1

Operation Expression
If ULCTR EQ AR

Example 1 contains one condition. If the user's country code is set to AR (Argentina), the Named Condition is true and any extension assigned to the named condition will be enabled.

Examples 2

Operation Expression
If DATE GE 2011/04/25
And ABLNGP EQ 'I'
Or DATE GE 2011/04/25
And ULLNGP EQ 'I'

Example 2 contains four conditions. If the current date is greater than or equal to April 24th 2011 and the user's language (Address Book Revisions) is set to I for Italian, or the current date is greater than or equal to April 24th 2011 and the user's language (User Display Preferences) is set to I for Italian, the Named Condition is true and any extension assigned to the Named Condition will be enabled. The If operation can only be used once in a Named Condition. Use the Or operation to start a new condition in a Named Condition.

22.6.2.2 Named Conditions Expression Formatting

The expression condition contains the free form, logical condition that can be evaluated as true or false. The expression must include a Keyword, Relationship, and Value. The Keyword is the system or user element evaluated in the condition. The Relationship is the Boolean logic operand for the condition. The Value is the value used to evaluate the condition.

22.6.2.3 Named Condition Keywords

The Named Conditions Keywords include a list of values that can be tested as the user logs into the system. These values are referred to as Keywords when setting up Named Conditions. The following table lists the available Keywords:

Keyword Description Location
ABAT1 The Search Type defined for the user's Address Book Number (ULAN8). The system retrieves the Search Type (ABAT1) field for the Address Book Number defined for the user (F0092/ULAN8). The Search Type can be viewed from the Address Book Revisions Video (V01051).
ABCNCD The Consolidation Code defined for the user's Address Book Number (ULAN8). The system retrieves the Consolidation Code (ABCNCD) field for the Address Book Number defined for the user (F0092/ULAN8). The Consolidation Code can be viewed from the Address Book Control Revisions Video (V010513).
ABLNGP The Language defined for the user's Address Book Number (ULAN8). The system retrieves the Language (ABLNGP) field for the Address Book Number defined for the user (F0092/ULAN8). The Language can be viewed from the Address Book Revisions Video (V01051).
ABMCU The Business Unit defined for the user's Address Book Number (ULAN8). The system retrieves the Business Unit (ABMCU) field for the Address Book Number defined for the user (F0092/ULAN8). The Business Unit can be viewed from the Address Book Revisions Video (V01051).
ABTAXC The Person/Corporation Code defined for the user's Address Book Number (ULAN8). The system retrieves the Person/Corporation Code (ABTAXC) field for the Address Book Number defined for the user (F0092/ULAN8). The Person/Corporation Code can be viewed from the Address Book Control Revisions Video (V010513).
DATE The system's current date. The system retrieves the current date.
ROSROL The role the user chose when entering the environment. The system retrieves the role that the user selected when entering the environment. Refer to Role Based Security setup for more information regarding User Role.
ULAN8 The Address Book Number defined for the user. The system retrieves the Address Book Number (ULAN8) field defined for the user (F0092). The Address Book Number can be viewed from the User Information Video (V0092N).
ULCO The Company defined for the user. The system retrieves the Company (ULCO) field defined for the user (F0092). The Company can be viewed from the User Display Preferences (V00923).
ULCTR The Country defined for the user. The system retrieves the Country (ULCTR) field defined for the user (F0092). The Country can be viewed from the User Display Preferences (V00923).
ULLNGP The Language defined for the user. The system retrieves the Language (ULLNGP) field defined for the user (F0092). The Language can be viewed from the User Display Preferences (V00923).
ULUSER The current user.  

22.6.2.4 Named Conditions Relationship

The Named Conditions Relationship is the Boolean logic operand used to evaluate the condition. The following table lists the available Relationship:

Relationship Description
EQ The Keyword Value is Equal to the Expression Value.
GE The Keyword Value is Greater than or Equal to the Expression Value.
GT The Keyword Value is Greater than the Expression Value.
LE The Keyword Value is Less than or Equal to the Expression Value.
LT The Keyword Value is Less than the Expression Value.
NE The Keyword Value is Not Equal to the Expression Value.
NG The Keyword Value is Not Greater than the Expression Value.
NL The Keyword Value is Not Less than the Expression Value.
NRANGE The Keyword Value is Not Between the two Expression Values.
NVALUE The Keyword Value is Not In the list of Expression Values.
RANGE The Keyword Value is Between the two Expression Values.
VALUE The Keyword Value is In the list of Expression Values.
VALUES The Keyword Value is In the list of Expression Values.

You use the field sensitive help function key F1 to build the condition. The field sensitive help function key progressively builds the expression based on the position of the cursor in the expression field.

To use the field sensitive help function key to build the expression field

  1. On the Extensibility menu, choose Named Conditions.

  2. Enter the Named Condition Name and Description. Place the cursor in the Expression field and press F1.

    Figure 22-19 Named Conditions screen

    Description of Figure 22-19 follows
    Description of "Figure 22-19 Named Conditions screen"

  3. Select the appropriate Keyword from the User Defined Codes window.

    Figure 22-20 User Defined Codes Window

    Description of Figure 22-20 follows
    Description of "Figure 22-20 User Defined Codes Window"

  4. The system returns the selected Keyword into the Expression field. Move the cursor one space after the Keyword in the Expression field and then press F1.

    Figure 22-21 Named Conditions screen

    Description of Figure 22-21 follows
    Description of "Figure 22-21 Named Conditions screen"

  5. Select the appropriate Relationship from the User Defined Codes window.

    Figure 22-22 User Defined Codes Window

    Description of Figure 22-22 follows
    Description of "Figure 22-22 User Defined Codes Window"

  6. The system returns the Relationship directly after the Keyword in the Expression field. Move the cursor one space after the Relationship in the Expression field and press F1.

    Figure 22-23 Named Conditions screen

    Description of Figure 22-23 follows
    Description of "Figure 22-23 Named Conditions screen"

  7. Select the appropriate Country Code from the User Defined Codes window.

    Figure 22-24 User Defined Codes Window

    Description of Figure 22-24 follows
    Description of "Figure 22-24 User Defined Codes Window"

  8. The system returns the Country Code surrounded by single quotes directly after the Keyword in the Expression field. Alphanumeric values must be surrounded by single quotes.

    Figure 22-25 Named Conditions screen

    Description of Figure 22-25 follows
    Description of "Figure 22-25 Named Conditions screen"

  9. Place the cursor in the Expression field and then press F5 to display the Condition Definition Window. Use the Condition Definition Window as an alternative method for creating the expression. The Condition Definition Window includes a field for each portion of the expression. Use field sensitive help to view a list of values for each field.

    Figure 22-26 Condition Definition Window

    Description of Figure 22-26 follows
    Description of "Figure 22-26 Condition Definition Window"

  10. Enter the values consecutively, one after another, for Relationships that require multiple values. In the following example, displays a RANGE Relationship with two values.

    Figure 22-27 Named Conditions screen

    Description of Figure 22-27 follows
    Description of "Figure 22-27 Named Conditions screen"

  11. The following example displays a VALUE Relationship with multiple values. Use the remaining space in the Expression field to enter values. Use the Expression field in the next subfile line to enter additional values.

    Figure 22-28 Named Conditions screen

    Description of Figure 22-28 follows
    Description of "Figure 22-28 Named Conditions screen"

22.6.2.5 Assign Named Condition to Program Event Extension

You Assign Named Conditions to Program Event Extensions to enable Named Condition functionality for the Extension. If the Program Event Extension is enabled and the Named Condition is true, the Extension is enabled. Named Conditions are evaluated when the you first sign into the system. Once Named Conditions have been changed, you must signoff and sign on for of these changes to take effect. Named Conditions are optional and only affect the Extensions they are assigned to.

Figure 22-29 Program Event Definition Maint screen

Description of Figure 22-29 follows
Description of "Figure 22-29 Program Event Definition Maint screen"

Figure 22-30 Named Conditions screen

Description of Figure 22-30 follows
Description of "Figure 22-30 Named Conditions screen"

Field Explanation
Named Condition The name of the Named Condition.

One or more condition statements used to enable Program Extension in extensibility. If the Named Condition is true, the Program Extension will be enabled. Named Conditions are optional. If a Named Condition is not assigned to a Program Extension, the program Extension will always 'be enabled (if Enabled Flag = Y).

Operation Operation to be performed.
Expression A series of operands and operators that make up a script.