OUTADD - Execute form

The execute form of the OUTADD macro modifies and executes the parameter list that was built with the list form of the OUTADD macro.

Syntax

The execute form of the OUTADD macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede OUTADD.
   
OUTADD  
   
One or more blanks must follow OUTADD.
   
NAME=descriptor name addr descriptor name addr: Rx-type address or register (2)-(12).
SYSNAME=descriptor name addr  
   
,TEXTPTR=tu pointer addr tu pointer addr: Rx-type address or register (2)-(12).
   
   ,ENQ=CONDITIONAL Default: ,ENQ=UNCONDITIONAL
   ,ENQ=UNCONDITIONAL  
   
,MF=(E,list addr) list addr: Rx-type address or register (2)-(12).
   

Parameters

The parameters are explained as follows:

NAME=descriptor name addr
Specifies the address of the location where you place the name of the output descriptor. The name, which must be unique in the current job step, must be one to eight characters long. If less than eight characters, the name must be left justified in an eight byte field of blanks. The first character must be alphabetic or national (@, $, #), and the remaining characters can be alphanumeric or national.

NAME is mutually exclusive with SYSNAME. You must specify either NAME or SYSNAME.

Note: If you pass a name field of all binary zeros, the system generates a name and uses that name. In this case, however, the system does not return the name.
SYSNAME=descriptor name addr
Specifies the address of an 8-character field into which the system is to return an output descriptor name. SYSNAME requests the system to generate the output descriptor name. SYSNAME is mutually exclusive with NAME. You must code either SYSNAME or NAME.
,TEXTPTR=tu pointer addr
Specifies the address of the text unit pointer list that you create. It is a required parameter. The text unit pointer list references your text units; to invoke OUTADD, at least one text unit must exist.

Place the pointer to each of your text units into the text unit pointer list. The pointers in the text unit pointer list must be in contiguous storage. Each pointer must be four bytes long, be aligned on a fullword boundary, and point to a single text unit. Alternatively, if bits 1 - 31 of the text unit pointer are zero, dynamic output assumes no text unit is associated with the text unit pointer. You can use a text unit pointer with zeros in bits 1 - 31 to avoid having to rearrange a predefined text unit pointer list when you do not want to point to a particular text unit.

To enable the system to find the end of the pointer list, set the leftmost bit of the last pointer to 1. The system limits the number of text unit pointers to 1000. For a coded example of a text unit pointer list, see z/OS MVS Programming: Authorized Assembler Services Guide.

,ENQ=CONDITIONAL
,ENQ=UNCONDITIONAL
Specifies whether the OUTADD create request is to wait on a system queue. When you invoke dynamic output to create an output descriptor, the system serializes the create request. Because the system processes the requests one at a time, each must wait on a system queue for all the previous requests to be processed. If you do not want your request to wait, code ENQ=CONDITIONAL. This causes the system to ignore your create request unless the queue is empty. You get return code 04 with reason code of X'405' when the system ignores your create request. To allow your request to go on the queue, code ENQ=UNCONDITIONAL. If you omit the ENQ parameter, your request always goes on the queue.
,MF=(E,list addr)
Specifies the execute form of the OUTADD macro.

list addr specifies the area that the system uses to store the parameters.

ABEND codes

OUTADD might abnormally terminate with abend codes X'76D' or X'054'. See z/OS MVS System Codes for explanations and programmer responses.

Return and reason codes

When control returns to the caller, GPR 15 contains a hexadecimal return code and GPR 0 contains a hexadecimal reason code. Note that when you invoke dynamic output to create an output descriptor, the system creates the descriptor only if the return code is zero.

If the dynamic output request fails, you get a nonzero return code in GPR 15 and a reason code in GPR 0. If any text unit can be associated with the failure, the key of the failing text unit is in the rightmost two bytes of GPR 1. GPR 1 contains zero if the failure does not implicate a particular text unit, or if a text unit caused the failure but the system cannot determine what text unit is responsible.

When you are using a reason code to debug your program, it is sometimes advisable to look beyond the immediate explanation of the reason code. For example, even if the reason code indicates a bad text unit, the text units you coded might be perfectly correct. The pointers to the text units, however, might be incorrectly coded, or one of the pointers in the pointer list might be bad.

For programmers who want them, symbolic names for reason codes are available in the IEFDORC mapping macro. (See z/OS MVS Data Areas in the z/OS Internet library.) Reason codes are four bytes long.

Table 1. Return and Reason Codes for the OUTADD Macro
Return Code Reason Code Meaning and Action
00 000 Meaning: The dynamic output request is successful.

Action: None.

04 400-408 Meaning: The dynamic output request failed because of an error in dynamic output or elsewhere in the system.
08

380-391
500-504

Meaning: The dynamic output request failed. There is an error in an operating system program.

Action: Contact the system programmer.

08

000
6000-7FFF

Meaning: The dynamic output request failed. The request was denied by your installation. These reason codes are defined by your installation.
0C 300-314 Meaning: The dynamic output request failed. The program that invoked dynamic output has built the text units incorrectly or, less likely, the installation exit routine has built the text units incorrectly.
0C 380-394 Meaning: The dynamic output request failed because the parameter list is incorrectly initialized.
0C 409 Meaning: The dynamic output request failed. The caller's text unit pointer list was altered by another task during dynamic output processing.
10 700-702 Action: An abend occurred in the system.

Action: Consult the system programmer.

Reason codes for return code 04

The table below documents the reason codes that can occur when the OUTADD macro returns with a return code of 04 (in GPR15). The symbol for return code 04 is DOENVERR in macro IEFDORC. The “symbol” field in the following table gives the symbolic name for the different reason code values. These symbols can be found in macro IEFDORC.

Table 2. Reason Codes for Return Code 04
Reason Code Hexadecimal (Decimal) Meaning and Action

400
(1024)

Symbol: DORCGET1

Meaning: Environmental error. A GETMAIN request failed during processing of the dynamic output request.

Action: Attempt to allow a larger region for the application and retry the dynamic output request.

401
(1025)

Symbol: DORCEXST

Meaning: Environmental error or program error. The dynamic output request specified an output descriptor that already exists.

Action: Select an alternate name for the output descriptor and retry the dynamic output request.

404
(1028)

Symbol: DORCESTA

Meaning: Program or system error. During dynamic output processing, the system was unable to establish a recovery environment.

Action: Determine if your program is doing something that prevents a recovery environment from being established. The most likely reason for this error is that your program is causing all available storage to be used. If the problem cannot be attributed to your program, record the return and reason code, and optionally make a copy of your application. Give this information to your system programmer to supply to the appropriate IBM® support personnel.

405
(1029)

Symbol: DORCNENQ

Meaning: Environmental error. The ENQ resource is not available at this time. This reason code can be issued only for conditional ENQ requests.

Action: Run your application at another time, when the system queue is empty. Alternatively, you can specify ENQ=UNCONDITIONAL (the default), and the request will always go onto the queue.

406
(1030)

Symbol: DORCNONM

Meaning: Environmental error. No more system-generated names can be created; the maximum number allowed are in use.

Action: If your application can delay processing the dynamic output request, it is possible that an OUTDEL request will be issued. This OUTDEL request might allow additional system-generated names to be created. You can also consider segmenting the work of the application so that a smaller number of system-generated names are in use at any point in time.

407
(1031)

Symbol: DORCGET2

Meaning: Environmental or system error. A GETMAIN request failed during processing of the dynamic output request.

Possible causes include:
  • You created a large number of output descriptors and have not deleted them
  • Another program in the region is using up a lot of storage.

Action: Delete any output descriptors that should have been deleted. Attempt to allow a larger region for the application and retry the dynamic output request.

408
(1032)

Symbol: DORCALTT

Meaning: Environmental or program error. A text unit was found to have been altered by another task running in the system.

Action: Review the design of the application and determine if additional tasks running concurrently with this dynamic output request could be altering shared storage (the text unit). If a change can be made to eliminate the storage alteration by another task, retry the dynamic output request.

Reason codes for return code 08

The table below documents the reason codes that can occur when the OUTADD macro returns with a return code of 08 (in GPR15). The symbol for return code 08 is DOREQDNY in macro IEFDORC. The “symbol” field in the following table gives the symbolic name for the different reason code values. These symbols can be found in macro IEFDORC.

Table 3. Reason Codes for Return Code 08
Reason Code Hexadecimal (Decimal) Meaning and Action

0
(0)

Symbol: (none defined)

Meaning: Program error. The dynamic output request was denied by your installation.

Action: The meaning of this reason code is defined by your installation. Your installation should be able to make recommendations for altering the dynamic output request to conform to installation standards.

380
(896)

Symbol: DORCLNIV

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Dynamic output processing detected an incorrect parameter list length. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the DOCNLEN field was incorrectly set and correct the problem.

381
(897)

Symbol: DORCNZF1

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Unused bits passed back from the dynamic output installation exit were not set to zero. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the unused bits in the DOCNFNC1 field are not zero and correct the problem.

382
(898)

Symbol: DORCNZF2

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Unused bits passed back from the dynamic output installation exit were not set to zero. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the unused bits in the DOCNFNC2 field are not zero and correct the problem.

383
(899)

Symbol: DORCNZR1

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Unused bits passed back from the dynamic output installation exit were not set to zero. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the DOCNRSV1 reserved field is not zero and correct the problem.

384
(900)

Symbol: DORCNZR2

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Unused bits passed back from the dynamic output installation exit were not set to zero. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the DOCNRSV2 reserved field is not zero and correct the problem.

385
(901)

Symbol: DORCIVID

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. A portion of the dynamic output parameter list was improperly set. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the DOCNID field was not properly initialized and correct the problem.

386
(902)

Symbol: DORCIVVR

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. The DOCNVERS field contains an incorrect parameter list length. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the DOCNVERS field was not properly initialized and correct the problem.

387
(903)

Symbol: DORCNOFN

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. A portion of the dynamic output parameter list was improperly set. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Either the DOCNNEW or the DOCNDEL bit must be set in the DOCNFNC1 field. Determine why no function bit (create or delete) was set and correct the problem.

388
(904)

Symbol: DORCIVFN

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. A portion of the dynamic output parameter list was improperly set. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Only one function bit (either DOCNNEW or DOCNDEL) should be set in the DOCNFNC1 field. Determine why more than one function bit (create or delete) was set and correct the problem.

38B
(907)

Symbol: DORCIVNM

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Dynamic output processing received an incorrect output descriptor name from the installation exit. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). The output descriptor name is in the DOCNNAME field. Check the output descriptor name returned to the dynamic output service. The first character must be an alphabetic (capitalized) character or a national character (#, @, or $). The remaining characters must be alphabetic (capitalized) characters, national characters (#, @, or $), or numbers. There can be no intervening blanks. Alternatively, the name can be all (binary) zeros, indicating that the system should generate a name for this request.

38F
(911)

Symbol: DORCIVTU

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. A portion of the dynamic output parameter list was improperly set. The installation exit maps the dynamic output parameter list (IEFDOCNP). DOCNTXTP must point to a text unit pointer list. Determine why DOCNTXTP was set to zero and correct the problem.

391
(913)

Symbol: DORCNZR0

Meaning: System error.

Action: Contact your system programmer. Provide the system programmer with the return and reason code. Once the problem has been corrected, retry the dynamic output invocation.

For the system programmer: The dynamic output installation exit has a logic error. Unused bits passed back from the dynamic output installation exit were not set to zero. The installation exit maps the dynamic output parameter list (macro IEFDOCNP). Determine why the DOCNRSV0 reserved field is not zero and correct the problem.

500
(1280)

Symbol: DORCINST

Meaning: System error.

Action: Contact your system programmer. Provide your system programmer with the return and reason code. Once the operating system program has been corrected, retry the dynamic output invocation.

For the system programmer: There is a program error in the dynamic output installation exit. The return code from the dynamic output installation exit is 8, but the reason code is not within the allowable range defined for the dynamic output installation exit. Determine why the installation exit is returning a reason code that is outside the allowable range and correct the error.

501
(1281)

Symbol: DORCINRC

Meaning: System error.

Action: Contact your system programmer. Provide your system programmer with the return and reason code. Once the operating system program has been corrected, retry the dynamic output invocation.

For the system programmer: There is a program error in the dynamic output installation exit. The return code from the dynamic output installation exit is zero, but the reason code is not zero. Determine why the installation exit is returning a nonzero reason code but a zero return code for the dynamic output request and correct the problem.

502
(1282)

Symbol: DORCINRT

Meaning: System error.

Action: Contact your system programmer. Provide your system programmer with the return and reason code. Once the operating system program has been corrected, retry the dynamic output invocation.

For the system programmer: There is a program error in the dynamic output installation exit. The return code from the dynamic output installation exit is not within the allowable range defined for the dynamic output installation exit. Determine why the installation exit is returning a return code that is outside the allowable range and correct the error.

503
(1283)

Symbol: DORCINKE

Meaning: System error.

Action: Contact your system programmer. Provide your system programmer with the return and reason code. Once the operating system program has been corrected, retry the dynamic output invocation.

For the system programmer: There is a program error in the dynamic output installation exit. The return code from the dynamic output installation exit is zero, but the installation exit has returned a nonzero value in register 1. When control is returned from the installation exit, register 1 contains the value of the key that is in error. Determine why the installation exit is returning a nonzero value in register 1 and a zero return code for the dynamic output request.

504
(1284)

Symbol: DORCZKEY

Meaning: System error.

Action: Contact your system programmer. Provide your system programmer with the return and reason code. Once the operating system program has been corrected, retry the dynamic output invocation.

For the system programmer: There is a program error in the dynamic output installation exit. The installation exit has modified the input from the user. It now has a zero text unit key which is rejected by later processing within dynamic output.

6000-7FFF
(24576-32767)

Symbol: (none defined)

Meaning: Program error. The dynamic output request was denied by your installation.

Action: The meaning of this reason code is defined by your installation, and indicates the reason the dynamic output request was denied. Your installation should be able to make recommendations for altering the dynamic output request to conform to installation standards.

Reason codes for return code 0C

OUTADD returns a return code of 0C for errors detected in the caller's parameters. The list form of the OUTADD macro generates a parameter list. When the caller invokes the execute form of the OUTADD macro, this parameter list is filled in with the parameters coded on the execute form of the OUTADD macro. The OUTADD service verifies this parameter list and text units pointed to from this parameter list.

The table below documents the reason codes that can occur when the OUTADD macro returns with a return code of 0C (in GPR15). The symbol for return code 0C is DOINVPRM in macro IEFDORC. The “symbol” field in the following table gives the symbolic name for the different reason code values. These symbols can be found in macro IEFDORC.

Note: Reason codes less than 380 (hexadecimal) can be returned if the dynamic output installation exit modifies the text units associated with the request, producing an error that is detected later by dynamic output processing.
Table 4. Reason Codes for Return Code 0C
Reason Code Hexadecimal (Decimal) Meaning and Action

300
(768)

Symbol: DORCIVCH

Meaning: Program error. A selection specified for a value field in a text unit was not valid.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

301
(769)

Symbol: DORCGMAX

Meaning: Program error. A numeric parameter exceeds the maximum allowable value.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

302
(770)

Symbol: DORCLMIN

Meaning: Program error. A numeric parameter is less than the minimum allowable value.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

303
(771)

Symbol: DORCNNUM

Meaning: Program error. No parameter was specified for the text unit key.

Action: This is probably a logic error in the application program. Correct the problem and retry the dynamic output invocation.

306
(774)

Symbol: DORCNLLN

Meaning: Program error. A level name in the value field of a text unit is too long. The maximum is 8 characters. For example, ACMESYSTEM.USNA is not valid because ACMESYSTEM contains more than 8 characters.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

307
(775)

Symbol: DORCNLNM

Meaning: Program error. There are too many level names in the value field of a text unit. For example, DAVE.ACME.SYSR is wrong if only two levels are allowed.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

308
(776)

Symbol: DORCNFCH

Meaning: Program error. The first character in the name of a level in the value field of a text unit is incorrect. For example, 4DAVE.ACME or DAVE.4ACME is incorrect if numeric characters are not allowed as the first character of a level name.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

309
(777)

Symbol: DORCNOCH

Meaning: Program error. In the value field of a text unit, a character (other than the first) in a level name is incorrect. For example, GARY3.SINKHOLE and GARY.SI8NK are incorrect if only the first character in a level name can be a numeric character.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

30A
(778)

Symbol: DORCNLIV

Meaning: Program error. In the value field of a text unit, the levels are incorrectly specified. The value field has two consecutive periods, or the first or last character of the value field is a period.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

30B
(779)

Symbol: DORCIVNP

Meaning: Program error. The number of parameters in the text unit is not valid.

Action: The number of parameters in the text unit was indicated as being less than zero or greater than 1000. Modify the text unit so that the number of parameters is within the allowable range. Retry the dynamic output invocation.

30C
(780)

Symbol: DORCIVLN

Meaning: Program error. The length field in the text unit is not valid.

Action: The length field in the text unit was indicated as being less than zero or greater than 254. Modify the text unit length so that it is within the allowable range. Retry the dynamic output invocation.

30D
(781)

Symbol: DORCNKEY

Meaning: Program error. The key in the text unit was not valid.

Action: This is probably a logic error in the application program. Correct the problem and retry the dynamic output invocation.

30E
(782)

Symbol: DORCDUPK

Meaning: Program error. Two or more text units were specified with identical keys.

Action: This is probably a logic error in the application program. Correct the problem and retry the dynamic output invocation.

30F
(783)

Symbol: DORCIVKY

Meaning: Program error. A key that was not valid was found in a text unit.

Action: Determine why a key that was not valid was found in the text unit, correct the problem, and retry the dynamic output request.

310
(784)

Symbol: DORCNSLE

Meaning: Program error. An incorrect subparameter has been specified for a text unit. The specified subparameter is not defined for this text unit.

Action: This is probably a logic error in the application program. Correct the problem and retry the dynamic output invocation.

311
(785)

Symbol: DORCMTUP

Meaning: Program error. The number of text unit pointers was found to be too large.

Action: The number of text unit pointers must be less than 1000. Modify the text unit pointer list so that there are less than 1000 text unit pointers. Retry the dynamic output invocation.

312
(786)

Symbol: DORCIVTX

Meaning: Program error. An incorrect text character was detected in the value field of the text unit.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

313
(787)

Symbol: DORCISEQ

Meaning: Program error. A character sequence that was not valid was specified in the value field of the text unit.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

314
(788)

Symbol: DORCIBIT

Meaning: Program error. During the specification of a text unit that defines a bitstring-type parameter, a bit was specified that is not allowed.

Action: This is probably a logic error in the application program, or perhaps incorrect data was propagated by the application program to the dynamic output request. Correct the problem and retry the dynamic output invocation.

380
(896)

Symbol: DORCLNIV

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

381
(897)

Symbol: DORCNZF1

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

382
(898)

Symbol: DORCNZF2

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

383
(899)

Symbol: DORCNZR1

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

384
(900)

Symbol: DORCNZR2

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

385
(901)

Symbol: DORCIVID

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

386
(902)

Symbol: DORCIVVR

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

387
(903)

Symbol: DORCNOFN

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

388
(904)

Symbol: DORCIVFN

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

38B
(907)

Symbol: DORCIVNM

Meaning: Program error. An incorrect output descriptor name was supplied to the dynamic output service.

Action: Check the output descriptor name supplied to the dynamic output service. The first character must be an alphabetic (capitalized) character or a national character (#, @, or $). The remaining characters must be alphabetic (capitalized) characters, national characters (#, @, or $), or a number. There can be no intervening blanks. Alternatively, the name can be all (binary) zeros, indicating that the system should generate a name for this request. Correct the problem and retry the dynamic output invocation.

38C
(908)

Symbol: DORCIVRZ

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

38D
(909)

Symbol: DORCIVDZ

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

38E
(910)

Symbol: DORCIVHB

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

38F
(911)

Symbol: DORCIVTU

Meaning: Program error. No text units were specified. Either the pointer to the text unit pointer list was zero, or all the text unit pointers were zero.

Action: Determine why no text units were specified. Correct the problem and retry the dynamic output invocation.

390
(912)

Symbol: DORCP0C4

Meaning: Program error. An 0C4 ABEND occurred when the system referenced the parameter list. The parameter list is generated by the list form of the OUTADD macro.

Action: Check to see if the parameter list has the same storage key as the program that uses the execute form of the macro to invoke dynamic output. Also check to see if your program passed a bad pointer or address, or if your program failed to set the leftmost bit in the last pointer of the text unit pointer list.

391
(913)

Symbol: DORCNZR0

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

394
(916)

Symbol: DORCREON

Meaning: Program error. There is an error in the use of the OUTADD macro. The execute form of the OUTADD macro creates assembler instructions in your program. The list form of the macro reserves storage for the input parameter list that is used by the execute form of the macro. An error has been detected in the assembler instructions or in the parameter list storage. Another task might have altered the assembler instructions' storage or the parameter list's storage.

Action: Correct the problem and retry the OUTADD invocation.

409
(1033)

Symbol: DORCALTP

Meaning: Program error. Dynamic output processing has determined that the length of the text unit pointer list has changed during the processing of this dynamic output request. A possible reason for this is that the application is running in a multitasking environment, where the text unit pointers may be in shared storage between multiple tasks. Another task could be altering this shared storage concurrently.

Action: Review the design of the application and determine if additional tasks running concurrently with this dynamic output request could be altering shared storage (the text unit pointer list). If a change can be made to eliminate the storage alteration by another task, retry the dynamic output request.

Reason codes for return code 10

OUTADD returns a return code of 10 for system ABENDs that occurred during dynamic output OUTADD processing.

The table below documents the reason codes that can occur when the OUTADD macro returns with a return code of 10 (in GPR15). The symbol for return code 10 is DOSYSERR in macro IEFDORC. The “symbol” field in the following table gives the symbolic name for the different reason code values. These symbols can be found in macro IEFDORC.

Table 5. Reason Codes for Return Code 10
Reason Code Hexadecimal (Decimal) Meaning and Action

700
(1792)

Symbol: DORCABND

Meaning: System error. An ABEND occurred in the dynamic output control routine.

Action: Record the return and reason code, and optionally make a copy of your application. Give this information to your system programmer to supply to the appropriate IBM support personnel.

701
(1793)

Symbol: DORCSJAB

Meaning: System error. An ABEND occurred during this dynamic output request.

Action: Record the return and reason code, and optionally make a copy of your application. Give this information to your system programmer to supply to the appropriate IBM support personnel.

702
(1794)

Symbol: DORCXABD

Meaning: System error. An ABEND occurred in the dynamic output installation exit.

Action: Notify your system programmer. The dynamic output installation exit might have a logic error. If a change is made to the installation exit, you can retry the dynamic output invocation.

Example

Use the execute form of the OUTADD macro to modify and execute a parameter list at symbolic location PLIST. The output descriptor is at symbolic location, DESCR2. The text unit pointer list is at symbolic location, TEXTL.
OUTADD  NAME=DESCR2,TEXTPTR=TEXTL,MF=(E,PLIST)