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ètre | Type | Par défaut | Signification |
|---|---|---|---|
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 |