z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SJFREQ SWBTU_MERGE service

z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO
SA23-1375-00

Use the SWBTU_MERGE service to merge a list of base SWBTUs with a list of merge SWBTUs that contain modifications. An application can also use the SWBTU_MERGE service to indicate keys to be removed from a list of SWBTUs.

Programming requirements

You must provide input information in the SWBTU_MERGE parameter list (IEFSJSMP).

In addition to the IEFSJSMP parameter list, you can provide an erase list. An erase list is a contiguous set of text units that you request to be erased from a base SWBTU. An erase list is required when you set SJSMETUP and SJSMETUS. If only a merge SWBTU and erase list are provided on input, SWBTU_MERGE validates the erase list, but does not apply it to the resulting SWBTU.

SJFREQ SWBTU_MERGE input parameters

For each SJFREQ invocation, you need to initialize certain fields of parameter list IEFSJSMP. The list of parameters and descriptions of their values are below.
SJSMID
The identifier ‘SJSM’ of the SWBTU_MERGE parameter list. Assign the symbolic equate SJSMCID to this field.
SJSMVERS
The current version number of the SWBTU_MERGE parameter list. Assign the symbolic equate SJSMCVER to this field.
SJSMFLAG
The environment control flag.
SJSMNOCU
Indicates whether the SJF environment is preserved from call to call or obtained for each call. Set to one to preserve the environment from call to call. Set to zero to obtain a new environment for a call.
SJSMLEN
The length of the SWBTU_MERGE parameter list (IEFSJSMP). Assign the symbolic equate SJSMLGTH to this field.
SJSMSTOR
The local working storage pointer or zero. This field must contain zero on the first SWBTU_MERGE call. On subsequent calls, the field contains the value returned from the most recent SWBTU_MERGE call. Use the value returned for subsequent calls.
SJSMAREA
The address of the area to which a single SWBTU is returned after SWBTU_MERGE processing. SJSMSIZE contains the size of this area.
SJSMSIZE
The length of the area to which a single SWBTU is returned after SWBTU_MERGE processing. Specify the size of SJSMAREA in this field.
SJSMSWBN
The number of SWBTU pointers in the base SWBTU pointer list. This field can be zero if the address of the base SWBTU pointer list (SJSMSWBA) is also zero and you specify a merge SWBTU pointer list.
SJSMSWBA
The address of the base SWBTU pointer list. You can specify zero for this value if the number of SWBTU pointers in the base SWBTU pointer list (SJSMSWBN) is zero and you specify a merge SWBTU pointer list.
SJSMMTUP
The address of the merge SWBTU pointer list. You can specify zero for this value if the number of SWBTU pointers in the merge SWBTU pointer list (SJSMMTUN) is zero and you specify a base SWBTU pointer list.
SJSMMTUN
The number of SWBTU pointers in the merge SWBTU pointer list. You can specify zero for this value if the address of the merge SWBTU pointer list (SJSMMTUP) is zero and you specify a base SWBTU pointer list.
SJSMETUS
The number of elements contained on input in the erase text unit list area. You can specify zero for this value if the address of the erase text unit list area (SJSMETUP) is zero.
SJSMETUP
The address of the erase text unit list area. You can specify zero for this value if the address of the erase text unit list area (SJSMETUS) is zero.
SJSMJDVT
Enter zero for this field on input. This field must contain zero on the first SWBTU_MERGE call. On subsequent calls, the field contains the value returned from the most recent SWBTU_MERGE call. Use the value returned for subsequent calls.
SJSMWARN
Set on to indicate that processing should continue after allowable errors. Clear this field so that processing does not continue after allowable errors. Allowable errors are described “Merging SWBTUs” in z/OS MVS Programming: Authorized Assembler Services Guide.
SJSMBYMV
Set on to indicate whether the merge SWBTU text units should be validated.
SJSMBYEV
Set on to indicate whether the erase text units' keys should be validated.
SJSMSBTL
When SJSMSWBA and SJSMSWBN contain values, this field must contain the mapping of the base SWBTU pointer list. When SJSMMTUP and SJSMMTUN contain values, this field must contain the mapping of the merge SWBTU pointer list.

SJFREQ SWBTU_MERGE output parameters

Data for an SJFREQ SWBTU_MERGE function is returned in several fields of the IEFSJSMP parameter list. The list of output parameters and their descriptions are below.
SJSMREAS
Contains a reason code returned from the SWBTU_MERGE service. This field contains a value when register 15 contains a return code other than zero.
SJSMAREA
Contains a pointer to the output SWBTU.
SJSMTULN
Contains the size of the output SWBTU. The size is the total size of the prefix and all the text units.
SJSMMKER
If a validation error occurred, this field contains the key from the first merge SWBTU text unit in the merge SWBTU list where SWBTU_MERGE encountered an error. Otherwise, this field contains zero.
SJSMEKER
If a validation error occurred, this field contains the key from the first erase SWBTU in the erase SWBTU list where SWBTU_MERGE encountered the error. Otherwise, this field contains zero.
SJSMJDVT
If a value is returned in this field, use the returned value in this field for subsequent uses of the service.
SJSMRETC
The return code from the service in which the error was encountered.
SJSMERRS
This field contains a value when certain errors occur. See Table 2 for descriptions of the errors.
SJSMERRP
The point in the base or merge SWBTU pointer list entry at which an error was encountered.

SJFREQ SWBTU_MERGE ABEND codes

SJFREQ SWBTU_MERGE might abnormally terminate with abend code X'054'. See z/OS MVS System Codes for an explanation and programmer response for this code.

SJFREQ SWBTU_MERGE Return and reason codes

SJFREQ SWBTU_MERGE return codes appear in register 15. When SJFREQ returns control to your program, SJSMREAS contains a reason code if register 15 contains a nonzero value. Return and reason codes are defined in macro IEFSJRC. The following table identifies the hexadecimal return and reason code combinations, tells what each means, and recommends an action you should take. Table 2 lists and describes additional reason codes that appear in output field SJSMERRS when certain errors occur.

Table 1. Return and Reason Codes for the SJSMREAS Macro
Return Code Reason Code Meaning and Action
0 000 Meaning: SWBTU_MERGE processing completed successfully.

Action: None.

0 0CA Meaning: Program error. SWBTU_MERGE processing completed successfully; however, the value in SJSMMKER or SJSMEKER was ignored. SJSMMKER or SJSMEKER contains a key in error.

Action: Determine if it is acceptable for the information in SJSMMKER or SJSMEKER to be ignored.

0 0CB Meaning: Program error. SWBTU_MERGE processing completed successfully; however, the text unit count for the key that appears in SJSMMKER is not valid. All data for this text unit is ignored.

Action: Determine if it is acceptable for the text unit data to be ignored.

0 1F4 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a text unit length in a length-value pair for the key that appears in SJSMMKER is not valid. All data for this text unit is ignored.

Action: Check the length specified for the key that appears in SJSMMKER. Determine if it is acceptable for the text unit to be ignored.

0 1F5 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a text unit value in a length-value pair for the key that appears in SJSMMKER is not valid. All data for this text unit is ignored.

Action: Check the value specified for the key that appears in SJSMMKER. Determine if it is acceptable for the text unit to be ignored.

0 1F6 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a numeric value of a length-value pair in a text unit exceeds the maximum allowable value. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 1F7 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a numeric value of a length-value pair in a text unit is less than the minimum allowable value. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 1FE Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a character value level length in a text unit exceeds the maximum allowed for character data. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 1FF Meaning: Program error. SWBTU_MERGE processing completed successfully; however, the number of levels for a character value in a text unit exceeds the maximum allowed. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 200 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, the first character of the level in the character value in a text unit is not valid for character data. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 201 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a character is not valid for character data. The incorrect value is not the first character of the level in the character value in a text unit. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 226 Meaning: Program error. SWBTU_MERGE processing completed successfully; however, a text unit contained a text character that is outside the range X'40' - X'FE'. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit and determine if it is acceptable for the text unit to be ignored.

0 227 Meaning: SWBTU_MERGE processing completed successfully; however, the sequence of characters in a text unit is not valid. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit parameter and determine if it is acceptable for the text unit to be ignored.

0 228 Meaning: SWBTU_MERGE processing completed successfully; however, there are bits on in the text unit parameter that the system does not recognize. SJSMMKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the value specified in the text unit parameter and determine if it is acceptable for the text unit to be ignored.

0 76C Meaning: SWBTU_MERGE processing completed successfully. The resulting SWBTU (pointed to by SJSMAREA) has a prefix and no text units.

Action: None required. However, you might take some action based on your application.

4 0C8 Meaning: Program error. The specified verb is not defined to the system.

Action: Specify a valid verb.

4 0CA Meaning: Program error. The system does not recognize the text unit key. SJSMMKER or SJSMEKER contains the key from the text unit that is in error. All data for this text unit is ignored.

Action: Check the text unit key. Correct the key and issue the SJFREQ macro again.

4 0CB Meaning: Program error. The count in a text unit is not valid. SJSMMKER contains the key for the text unit that is not valid.

Action: Check the text unit count. Correct the count and issue the SJFREQ macro again.

4 1F4 Meaning: Program error. A length in a length-value pair in a text unit is not valid. SJSMMKER contains the key for the text unit that is not valid.

Action: Check the length. Correct the length and issue the SJFREQ macro again.

4 1F5 Meaning: Program error. A text unit value in a length-value pair is not valid. SJSMMKER contains the key for the text unit that is not valid.

Action: Check the value. Correct the value and issue the SJFREQ macro again.

4 1F6 Meaning: Program error. A numeric value of a length-value pair in a text unit exceeds the maximum allowable value. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value. Correct the value and issue the SJFREQ macro again.

4 1F7 Meaning: Program error. A numeric value of a length-value pair in a text unit is less than the minimum allowable value. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value. Correct the value and issue the SJFREQ macro again.

4 1FE Meaning: Program error. A character value level length in a text unit exceeds the maximum allowed for character data. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit. Correct the value and issue the SJFREQ macro again.

4 1FF Meaning: Program error. The number of levels for a character value in a text unit exceeds the maximum allowed. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit. Correct the value and issue the SJFREQ macro again.

4 200 Meaning: Program error. A character in a text unit is not valid for character data. The character is the first character in the level in the text unit. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit. Correct the value and issue the SJFREQ macro again.

4 201 Meaning: Program error. A character is not valid for character data. The character is not the first character of the level in the character value in a text unit. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit. Correct the value and issue the SJFREQ macro again.

4 206 Meaning: A text unit key contained hex zeros.

Action: Check the text unit key value specified in the text unit. Correct the value and issue the SJFREQ macro again.

4 226 Meaning: Program error. A text unit contained a text character that is outside the range X'40' - X'FE'. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit. Correct the value and issue the SJFREQ macro again.

4 227 Meaning: The sequence of characters in a text unit is not valid. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit parameter. Correct the value and issue the SJFREQ macro again.

4 228 Meaning: There are bits on in the parameter that the system does not recognize. SJSMMKER contains the key from the text unit that is in error.

Action: Check the value specified in the text unit parameter. Correct the value and issue the SJFREQ macro again.

4 76D Meaning: Program error. The output area (identified by SJSMAREA and SJSMSIZE) is not large enough for the resulting SWBTU.

Action: Increase the size of the output area and issue the SJFREQ macro again.

4 76E Meaning: Program error. One of the following occurred:
  • The base SWBTU pointer list address (SJSMSWBA) is zero and the number of SWBTU pointers (SJSMSWBN) in the base pointer list is not zero
  • The SWBTU pointer list address is not zero and the number of SWBTU pointers in the base pointer list is zero.

Action: Supply the correct values for SJSMSWBA and SJSMSWBN and issue the SJFREQ macro again.

4 76F Meaning: Program error. One of the following occurred:
  • The merge SWBTU pointer list address (SJSMMTUP) is zero and the number of SWBTU pointers (SJSMMTUN) in the merge pointer list is not zero
  • The merge SWBTU pointer list address is not zero and the number of SWBTU pointers in the merge pointer list is zero.

Action: Supply the correct values for SJSMMTUP and SJSMMTUN and issue the SJFREQ macro again.

4 770 Meaning: Program error. One of the following occurred:
  • The erase text unit address (SJSMETUP) is zero and the size of the erase text unit list area (SJSMETUS) is not zero
  • The erase text unit address (SJSMETUP) is not zero and the size of the erase text unit list area (SJSMETUS) is zero.

Action: Supply the correct values for SJSMETUP and SJSMETUS and issue the SJFREQ macro again.

4 771 Meaning: Program error. Either the output area address (SJSMAREA) is zero or the output area size (SJSMSIZE) is not greater than zero.

Action: Check the values in SJSMAREA and SJSMSIZE and determine which is incorrect. Specify valid values and issue the SJFREQ macro again.

4 772 Meaning: Program error. One of the following happened:
  • Neither a base SWBTU nor a modify SWBTU were specified (SJSMSWBA and SJSMMTUP are both zero).
  • A base SWBTU was provided, but no modify SWBTU and no erase list were provided (SJSMMTUP and SJSMETUP are zero).
Action: Do one of the following:
  • Specify a base or modify SWBTU.
  • If a base SWBTU was provided, specify either a modify SWBTU or an erase list.
4 773 Meaning: Program error. The verb name in the merge SWBTU list does not match the verb name in the base SWBTU list.

Action: Supply input for the same verb in both the base SWBTU list and the merge SWBTU list.

4 774 Meaning: Program error. One of the following occurred:
  • The version number (SJSMVERS) supplied in the parameter list does not match the version defined in macro IEFSJSMP
  • The length (SJSMLEN) supplied in the parameter list does not match the actual length.

Action: Ensure that the constant SJSMCVER is used in field SJSMVERS of the input parameter list and that the constant SJSMLGTH is used in field SJSMLEN of the input parameter list.

4 7A1 Meaning: Program error. The base SWBTU list contains an error.

Action: Check output fields SJSMERRP and SJSMERRS. SJSMERRP contains the address of a SWBTU that is in error. SJSMERRS may contain a reason code that indicates an error in the base or merge SWBTU list. See Table 2 for the reason code descriptions.

0C 000 Meaning: System error. The system could not obtain storage for this request.

Action: Inform your system programmer of this problem.

10 000 Meaning: System error. The ESTAE-type recovery routine failed.

Action: Inform your system programmer of this problem.

14 000 Meaning: System error. SJF encountered a condition that caused an abnormal termination.

Action: Check the input parameters, particularly any pointer fields, to determine if the input values are correct.

18 000 Meaning: System error. The service routines for SJFREQ are not available.

Action: SJF did not initialize properly. Contact the appropriate IBM® support personnel.

Output field SJSMERRS contains a reason code when certain errors occur. Table 2 lists the reason codes and their meanings.

Table 2. Return and Reason Codes for the SJFREQ Macro SWBTU_MERGE Service
Return Code Reason Code Meaning and Action
4 018 Meaning: Program error. The application did not supply either the base SWBTU list or the merge SWBTU list.

Action: Determine which list is missing. Supply the missing list and issue the SJFREQ macro again.

4 019 Meaning: Program error. The prefix for either the base SWBTU list or merge SWBTU list is not valid.

Action: Determine which prefix is not valid. Supply the correct prefix and issue the SJFREQ macro again.

4 028 Meaning: Program error. The verb and label values in either the base SWBTU list or the merge SWBTU list do not match.

Action: Determine which pair does not match. Correct the information and issue the SJFREQ macro again.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014