Keyword | Description | Choices | Notes
|
USRSPC | User space | Qualified object name | Required, positional 1.
|
Qualifier 1: User space | Name
| ||
Qualifier 2: Library | Name, *LIBL
| ||
OFFSET | Offset into space | 0 to 16M - 1Page | Optional
|
DTATYPE | Data type | *SCALAR, *PTR | Optional
|
DTA | Value of scalar data | Scalar data in character or hexadecimal format | Optional
|
DTALEN | Length of scalar data, *CALC | 1 - 32767 | Optional
|
PTRTYPE | Pointer type | *SYP, *SPP | Optional
|
SYSOBJ | System object | Qualified object name | Optional
|
Qualifier 1: User space | Name
| ||
Qualifier 2: Library | Name, *LIBL
| ||
OBJTYPE | Object type | *ALRTBL *AUTL *BNDDIR *CFGL *CHTFMT *CLD *CLS *CMD *CNNL *COSD *CRG *CRQD *CSI *CSPMAP *CSPTBL *CTLD *DEVD *DOC *DTAARA *DTADCT *DTAQ *EDTD *EXITRG *FCT *FILE *FLR *FNTTBL *FNTRSC *FORMDF *FTR *GSS *IGCDCT *IGCSRT *IGCTBL *IMGCLG *IPXD *JOBD *JOBQ *JOBSCD *JRN *JRNRCV *LIB *LIND *LOCALE *MEDDFN *MENU *MODD *MODULE *MSGF *MSGQ *MGTCOL *M36 *M36CFG *NODL *NODGRP *NTBD *NWID *NWSCFG *NWSD *OUTQ *OVL *PAGDFN *PAGSEG *PDFMAP *PDG *PGM *PNLGRP *PRDAVL *PRDDFN *PRDLOD *PSFCFG *QMFORM *QMQRY *QRYDFN *RCT *S36 *SBSD *SCHIDX *SPADCT *SQLPKG *SQLUDT *SRVPGM *SVRSTG *SSND *TBL *TIMZON *USRIDX *USRPRF *USRQ *USRSPC *VLDL *WSCST | Optional
|
SPPOFFSET | Offset value of space pointer | 0 to 16M - 1Page | Optional
|
Qualifier 1: User space
name Specify the name of the user space.
Qualifier 2: Library
Library in which the user space resides. Default to *LIBL.
CALL PGM(QUSRCRTUS) PARM('SPC38 LIB_A' /* Name and library of the USRSPC */ 'U38' /* Attribute */ X'00100000' /* Initial length of the USRSPC: 1M */ X'00' /* Initial value of the USRSPC hex 00 */ '*CHANGE' /* Public authority */ '..') /* Text */
Writing a Greeting at the start of SPC38
Writing a Greeting at the start of SPC38
Check the content of SPC38
To check the associate space of SPC38, you may dump the space object via CL command DMPOBJ or DMPSYSOBJ. For example,
DMPOBJ LIB_A/SPC38 *USRSPC
/* or via the DMPSYSOBJ command */
DMPSYSOBJ SPC38 LIB_A 19 34
The result would like the following:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2 SPACE- 000000 D5898385 40A39640 948585A3 40A896A4 405EB05D 00000000 00000000 00000000 *Nice to meet you ;^) * 000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
Writing a SYP into SPC38
Check the content of SPC38 Dump SPC38 again and the result might like the following:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2 SPACE- 000000 D5898385 40A39640 948585A3 40A896A4 405EB05D 00000000 00000000 00000000 *Nice to meet you ;^) * 000020 00000000 00000000 197C212E 8E000200 00000000 00000000 00000000 00000000 * @ * 000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * LINES 000060 TO 100DFF SAME AS ABOVE .POINTERS- 000020 SYP 02 01 SPR69 04 01 LIB_A 0000 8000 *PGM
Writing a space pointer into SPC38
Say that you want to write a space pointer addressing the primary associated space of an ILE program object SPR68, with offset value 64, issue the CHGUSRSPC command like the following:
Writing a SPP into SPC38
Check the content of SPC38 Dump SPC38 again and the result might like the following:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2 SPACE- 000000 D5898385 40A39640 948585A3 40A896A4 405EB05D 00000000 00000000 00000000 *Nice to meet you ;^) * 000020 00000000 00000000 079DC2C6 5B000200 80000000 00000000 3E47713D 3C001040 * BF * 000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * LINES 000060 TO 100DFF SAME AS ABOVE .POINTERS- 000020 SYP 02 01 SPR68 04 01 LIB_A 0000 8000 *PGM 000030 SPP 02 01 SPR68 04 01 LIB_A 00000040 0000