Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

GETINSV Get version of installation unit

&pagelevel(4)&pagelevel

GETINSV supplies the version of an installation unit.

Macro

Operands

GETINSV

MF=D / L / C / M / E
,PREFIX=I / <char (1)>
,MACID=MOV / <char (3)>
,PARAM=<adr> / (<reg>)


,XPAND=PARAM / OUTPUT
,CALLER=USER / SYSTEM
,IUNAME=<c-string 1..30> / <var: char:30>
,IUVERS=*STD / *ALL / <c-string 4..10> / <var: char:10>
,SDFVSYN*NO / *YES
,SCOPE=*ANY / *SYSTEM / *LOCAL / <var: enum-of scope:1>
,ACTIVE=*ANY / *YES / <var: enum-of active:1>
,OUT@=<adr> / (<reg>)
,OUTLEN=<integer 1..2147483647> / <var: int:4>

The MF, PREFIX, MACID, PARAM and XPAND parameters are described in “Macro forms” on "Macro syntax ".

CALLER


Defines the type of system call if MF = E.

=USER


System call via SVC for nonprivileged caller (TU).

=SYSTEM


Direct system call for privileged caller (TPR).
IUNAME

Name of the installation unit, see "Installation unit (IU) ".

=<c-string 1..30>


Explicit specification of the installation unit.

=<var: char:30>


Symbolic address containing the specification for the name of the installation unit. May not be specified with MF=L.

IUVERS


Version of the installation unit. Format: see SDFVSYN operand.

=*STD


The version selected with the SELECT-PRODUCT-VERSION command is output. If no version was selected, the highest version is output.

= ALL


All version designations of the installation unit are output.

=<c-string 4..10>


Explicit specification of version of the installation unit.

=<var: char:10>


Symbolic address containing the specification for the version of the installation unit. May not be specified with MF=L.

SDFVSYN


Syntax format of the version.

=*NO


Version is specified in IUVERS as “mm.n[aso]”.

=*YES


Version is specified in IUVERS as [‘] [V][m]m.n[aso][‘].
SCOPE

How the installation unit can be loaded.

This operand is ignored under DSSM V3.0.

=*ANY


The installation unit can be loaded in any way.

=*SYSTEM


The installation unit can be loaded as a DSSM subsystem; it is entered in the DSSM catalog.

=*LOCAL


The installation unit can be loaded as a program.

=<var: enum-of scope:1>


Name of the field together with the manner in which the installation unit is loaded.

ACTIVE


Specifies whether the installation unit is already active. This parameter is ignored if SCOPE = *LOCAL was specified. It is relevant only for installation units that are DSSM subsystems.

This operand is ignored under DSSM V3.0.

=*ANY


The installation unit can be activated, but activation is not mandatory.

=*YES


The installation unit must be activated, i.e. the subsystem is started.

=<var: enum-of active:1>

Name of the field together with the value signifying whether the installation unit is activated.
OUT@=<adr> / (<reg>)

Address of the area that will accept the output information. The address must be aligned on a word boundary. This parameter has no significance unless MF = M.
OUTLEN=<integer 1..2147483647> / <var: int:4>

Length of the output area in bytes, the minimum length is 4. Only output information with the specified length is transferred. The first 4 bytes contain the length of the returned output information. This is then followed by one or more installation units.


Layout of the output area

Distance

Length

Format

Contents

X‘00‘

4

<integer>

Length of output information

X‘04‘

7

<char>

Version designation, format nn.n[ann]

X‘0B‘

1

S / L / U

SCOPE defines how the installation unit is loaded.

S = SYSTEM, L = LOCAL, U = UNDEFINED

X‘0C‘

1

Y / N / U

ACTIVE indicates whether the installation unit is already active. Y = YES, N = NO, U = UNDEFINED (not a subsystem)

X‘0D‘

1

Y / N / U

Selected by SELECT-PRODUCT-VERSION:

Y = YES, N = NO, U = UNDEFINED

X’0E’

1

Y / N / U

Logical name exists

Y = YES, N = NO, U = UNDEFINED

...



Other versions of the installation unit

Macro return codes

(SC2)

SC1

Maincode

Meaning

X‘00‘X‘00‘X‘0000‘Function successfully executed
X‘03‘X‘00‘X‘0000‘Function successfully executed (partial information)
X’09’X’00’X’0000’Installation unit locked
X‘00‘X‘01‘X‘0001‘Name of installation unit invalid
X‘00‘X‘01‘X‘0002‘Partial version of installation unit invalid
X‘00‘X‘01‘X‘0005‘SCOPE invalid
X‘00‘X‘01‘X‘0006‘ACTIVE invalid
X‘00‘X‘01‘X‘0008‘Illegal use of fields reserved for parameter area
X‘00‘X‘40‘X‘0011‘Installation unit not found
X‘00‘X‘40‘X‘0012‘No matching version available
X‘03‘X‘40‘X‘0012‘Access to specified version not permitted
X‘00‘X‘40‘X‘0018‘SCI invalid
X‘00‘X‘40‘X‘001A‘SCI version invalid
X‘00‘X‘40‘X‘001B‘SCI does not exist
X‘00‘X‘01‘X‘0021‘Output field address not assigned
X‘00‘X‘01‘X‘0022‘Output field length insufficient (minimum=4)
X‘00‘X‘01‘X‘0023‘Output field too small
X‘00‘X‘20‘X‘00FF‘DMS error in SCI access
X’00’X‘20‘X‘0100‘System error
X’00’X‘20‘X‘0101‘Internal error

Notes

  • The first four bytes of the output area indicate the length of the information returned.

  • If you are a nonprivileged user, this macro will fetch information only on the installation items of functional level TU (see the section "Attributes of an installation unit" ).

  • On a system with DSSM V3.0, the highest matching version is returned if you specify IUVERS = *STD.

  • SCOPE = *SYSTEM is not evaluated unless the name of the subsystem and the name for the specified installation unit are the same.

  • If the version was defined for different settings (SCOPE, see the SELPROV macro), IUVERS=*STD returns the “lowest” SCOPE (PROGRAM < TASK < SYSTEM).