Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

DISSI - Disable serialization item

&pagelevel(3)&pagelevel

General

Application area:

(Task) serialization; see "(Task) serialization"

Macro type:

Type S, MF format 1: standard/L/E form; see "S-type macros"


DISSI generates a 24-bit or a 31-bit interface, depending on the the specification. In the event of macro chaining, all macros chained must make use of the same interface (either 24-bit or 31-bit interface).

Macro description

This macro is used to terminate utilization of the specified serialization item by the task of the calling program. If the serialization item is not used by any other task, it is deleted.Before the DISSI macro is called, the use of the serialization item must be disabled again (using the DEQAR macro).
The CONTINU operand allows up to 255 DISSI macros to be chained.

Macro format and description of operands

DISSI

{{SINAME=name / SINAMAD={addr / (r)} [,SINAMLN=length]}

,SCOPE={LOCAL / GROUP / USER_GROUP / GLOBAL}} /

SIID={addr / (r)}}

,CONTINU=NO / YES

[,PARMOD=24 / 31]

[,MF=L / (E,..)]

SINAME=name
Specifies the name of the serialization item. This specification is unique only in conjunction with the SCOPE operand.

SINAMAD=

Specifies the address of the name of the serialization item. This specification is unique only if the SCOPE operand is also specified.

addr
Symbolic address of the field containing the name.

(r)
Register containing the address.

SINAMLN=
Specifies the length in bytes of the serialization item name. The length must be at least 1 byte and not more than 54 bytes.
If the operand is missing, the length attribute of the SINAMAD operand is assumed if SINAMAD=addr is specified;
if SINAMAD=(r), the maximum length (54) is assumed.

length
Length of the serialization item name.

SCOPE=
Specifies the scope of the serialization item (i.e. the participants authorized to use it):

LOCAL
Use of the serialization item is limited to the calling task.

GROUP
All the tasks with the same user ID as the calling task.

USER_GROUP
All the tasks, whose user IDs belong to the same user group as the user ID of the creating participant, can be participants.

The operand value assumes the existence of user groups and may therefore only be specified when the SRPM function unit of the SECOS software product is available in the system. This is why the GETUGR macro (see the “SECOS” manual [12 (Related publications)]) has to check whether SRPM is available prior to a macro call with SCOPE=USER_GROUP. The program reaction is dependent on the result (return code).

GLOBAL
All the tasks in the system are participants.

SIID=
Specifies the ID of the serialization item. This ID is supplied to the user by the ENASI macro. If this ID is used instead of the name of a serialization item, processing time is reduced. The ID is unique.

addr
Symbolic address of a 4-byte field containing the ID.

(r)
Register containing the address.

CONTINU=
Allows chaining of up to 255 DISSI macros.

NO
This is the last (or only) macro in a sequence.

YES
This DISSI macro is followed by another.

MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see "S-type macros". The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.

PARMOD=
Controls macro expansion. Either the 24-bit or the 31-bit interface is generated.
If PARMOD is not specified here, macro expansion is performed according to the specification for the GPARMOD macro or according to the default setting for the assembler (= 24-bit interface).

24
The 24-bit interface is generated. Data lists and instructions use 24-bit addresses (address space <= 16Mb).

31
The 31-bit interface is generated. Data lists and instructions use 31-bit addresses (address space <= 2 Gb).

Notes on the macro call

  • The disable function may also be requested as part of a DEQAR macro (see the DEQAR macro).

  • The system performs a disable operation at program termination time for all serialization items still being used by the task.

  • The following should be borne in mind when using the list form (operand MF=L) of the macro:
    Only one macro call with MF=E need be given for execution, irrespective of whether this call applies to a single request or to a series of requests. The operand list for a series of requests is generated by macro chaining (MF=L) with the aid of the CONTINU operand.

Return information and error flags

Register 1 contains the operand list address.

R15:

+---------------+
|   |   |   |   |
|b|b| | | | |a|a|
+---------------+

A structured return code (aa=primary return code, bb=secondary return code) relating to the execution of the DISSI macro is transferred in register R15.

X'bb'

X'aa'

Meaning

X'04'

X'00'

All disable macros were executed:
At least one serialization item was deleted.

X'08'

X'00'

All disable macros were executed:
Use of all specified serialization items was terminated.

X'0C'

X'04'

Not all disable macros were executed:
At least one serialization item was not used by the task of the calling program.

X'10'

X'04'

Not all disable macros were executed:
Invalid operands were specified:

  • invalid address; e.g. address within a DSECT

  • invalid length

  • invalid name

  • SCOPE or CONTINU value undefined.

X'14'

X'04'

Not all disable macros were executed:
An invalid ID was specified (the ID is not known to the system or the caller' s task
did not issue an associated, valid enable macro (see the ENASI macro)).

X'24'

X'04'

Not all disable macros were executed:
A disable request was issued for a serialization item for which an enqueue request
was honored, but for which the associated dequeue function had not yet been
performed.