Aller au contenu

Service SQL IBM i (AS/400) · Procédure

QSYS2.CREATE_USER_SPACE

Créer un espace utilisateur

Crée un espace utilisateur (objet *USRSPC) en SQL, avec sa taille initiale, sa valeur initiale, son extensibilité et son droit public.

À quoi ça sert

Un espace utilisateur est une zone de stockage d'octets servant d'échange entre programmes et API. La procédure QSYS2.CREATE_USER_SPACE le crée en SQL. Les paramètres obligatoires sont USER_SPACE, USER_SPACE_LIBRARY et SIZE.

Les options : REPLACE (NO par défaut), TEXT_DESCRIPTION, PUBLIC_AUTHORITY (*LIBCRTAUT par défaut), EXTENDABLE (YES par défaut), INITIAL_VALUE, OBJECT_ATTRIBUTE, TRANSFER_SIZE et OBJECT_DOMAIN.

La procédure crée un objet dans la bibliothèque indiquée et n'a pas de mode aperçu (PREVIEW).

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

CALL QSYS2.CREATE_USER_SPACE(USER_SPACE => 'DEMOSPC2', USER_SPACE_LIBRARY => 'JOBISQL', SIZE => 2048, INITIAL_VALUE => BX'40', TEXT_DESCRIPTION => 'Espace créé par CREATE_USER_SPACE');
SELECT USER_SPACE_LIBRARY, USER_SPACE, SIZE, EXTENDABLE, INITIAL_VALUE, TEXT_DESCRIPTION FROM QSYS2.USER_SPACE_INFO WHERE USER_SPACE_LIBRARY = 'JOBISQL'

Ce que l'IBM i a renvoyé le 01/10/2026 (2 lignes au plus) :

USER_SPACE_LIBRARY USER_SPACE SIZE EXTENDABLE INITIAL_VALUE TEXT_DESCRIPTION
JOBISQL UTIL907 4096 YES 00 Espace utilisateur de demonstration
JOBISQL UTIL910 4096 YES 40 Espace créé par CREATE_USER_SPACE

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Créer l'espace utilisateur USRSPC1 dans APPLIB avec une taille initiale de 1000 octets et le droit public *EXCLUDE.

-- Description: Create user space USRSPC1 in APPLIB with an initial size of 1000 bytes. 
     --  Assign *EXCLUDE public authority to the *USRSPC object. 
    CALL QSYS2.CREATE_USER_SPACE(USER_SPACE => 'USRSPC1',  
                             USER_SPACE_LIBRARY => 'APPLIB',  
                             SIZE => 1000,  
                             PUBLIC_AUTHORITY => '*EXCLUDE';

Bon à savoir

L'exemple fourni par IBM n'a pas sa parenthèse fermante avant le point-virgule ; ajoutez-la si vous le recopiez.

Paramètres

ParamètreTypePar défautSignification
USER_SPACE VARCHAR(10) obligatoire Nom de l'espace utilisateur
USER_SPACE_LIBRARY VARCHAR(10) obligatoire Bibliothèque de l'espace utilisateur
SIZE INTEGER obligatoire Taille
REPLACE VARCHAR(3) 'NO' Remplacer l'entrée existante
TEXT_DESCRIPTION VARCHAR(50) NULL Texte descriptif
PUBLIC_AUTHORITY VARCHAR(10) '*LIBCRTAUT' Droit public sur l'objet
EXTENDABLE VARCHAR(3) 'YES' Extensible
INITIAL_VALUE BINARY(1) BX'00' Valeur initiale
OBJECT_ATTRIBUTE VARCHAR(10) NULL Attribut de l'objet
TRANSFER_SIZE INTEGER 0 Taille du transfert
OBJECT_DOMAIN VARCHAR(10) '*DEFAULT' Domaine de l'objet