|
|
High-Level Language SWSVALUE (SWCPVL) FunctionRelated Topics
SWSVALUE is the Web Server API function used to fetch or set transaction run-time variable values. The HLL API can operate upon the following variable types:
CALL ArgumentsThe SWSVALUE function call requires either six or seven arguments. The seventh argument is required for value fetch requests; It must be omitted for value update operations.
Return ValuesSWSVALUE always sets a signed numeric return code value. Possible values are:
PL/I Example
DCL SCONN PTR; /* Connection Handle */
DCL SVANA CHAR(50); /* variable name */
DCL SVASZ FIXED BIN(31) INIT(50); /* variable name size */
DCL SBUFF CHAR(256); /* buffer area */
DCL SBFSZ FIXED BIN(31) INIT(256); /* Buffer size */
DCL SRTSZ FIXED BIN(31); /* Fetched value size */
DCL RC FIXED BIN(31); /* return code */
DCL DMHX FIXED BIN(31) BASED; /* Dummy Handle field */
ADDR(SCONN)->DMHX = 0; /* Clear Connection Handle */
SVANA = 'WWW.VAR.FORMFIELD'; /* Set variable name */
CALL SWSVALUE( SCONN /* get the variable value */
SWS_VALUE_VALUE, /* subfunction = retrieve */
SVANA, /* variable name string */
SVASZ, /* maximum variable size */
SBUFF, /* return data buffer */
SBFSZ, /* maximum buffer size */
SRTSZ ); /* actual size return area */
RC = PLIRETV(); /* get return code */
IF (RC ^= SWS_SUCCESS & /* exit program if bad RC */
RC ^= SWS_SUCCESS_WITH_INFO) THEN
EXIT;
SVANA = 'GLVEVENT.FORMFIELD'; /* Set variable name */
SBUFF = 'Html Form Field Value'; /* set variable value data */
SBFSZ = 21; /* length of value data */
CALL SWSVALUE( SCONN /* create GLVEVENT variable*/
SWS_VALUE_UPDATE, /* subfunction = set value */
SVANA, /* variable name string */
SVASZ, /* size of SVANA */
SBUFF, /* value data buffer */
SBFSZ ); /* size of value data */
RC = PLIRETV(); /* get return code */
IF (RC ^= SWS_SUCCESS & /* exit program if bad RC */
RC ^= SWS_SUCCESS_WITH_INFO) THEN
EXIT;
C Example
HDBC sConn = NULL; /* Connection Handle */
char sVana[] = "WWW.VAR.FORMDATA"; /* variable name */
char sVana2[] = "GLVEVENT.DATA"; /* variable name */
char sBuff[256]; /* return buffer area */
SDWORD sRtsz; /* return variable size */
long RC; /* return code */
rc = SWSValue( &sConn, /* get query variable value*/
SWS_VALUE_VALUE, /* subfunction = retrieve */
sVana, /* null-terminated name */
SWS_NTS, /* indicate null-terminated*/
sBuff, /* return buffer address */
sizeof(sBuff), /* maximum buffer size */
&sRtsz ); /* actual size return area */
if (rc ^= SWS_SUCCESS) return; /* exit program if bad RC */
rc = SWSValue( &sConn, /* set new variable value */
SWS_VALUE_UPDATE, /* subfunction = set value */
sVana2, /* null-terminated name */
SWS_NTS, /* indicate null-terminated*/
sBuff, /* value information buffer */
sRtsz, /* size of value data */
NULL); /* Must be NULL for UPDATE */
if (rc ^= SWS_SUCCESS) return; /* exit program if bad RC */
COBOL Example
77 SCONN USAGE IS POINTER.
77 SBUFF PIC X(80).
77 SBFSZ PIC S9(5) COMP VALUE 80.
77 SVANA PIC X(50) VALUE 'WWW.INPUTURL'.
77 SVANA2 PIC X(50) VALUE 'GLVEVENT.ABC'.
77 SVASZ PIC S9(5) COMP VALUE 50.
77 SRTSZ PIC S9(5) COMP.
*
* Obtain input URL value
*
CALL 'SWCPVL' USING SCONN,
SWS-VALUE-VALUE,
SVANA,
SVASZ,
SBUFF,
SBFSZ,
SRTSZ.
MOVE RETURN-CODE TO WS-SWSAPI-RETURN-CODE.
IF NOT SWS-SUCCESS GOBACK.
*
* Set GLVEVENT.ABC to the same value
*
MOVE SRTSZ TO SBFSZ.
CALL 'SWCPVL' USING SCONN,
SWS-VALUE-UPDATE,
SVANA2,
SVASZ,
SBUFF,
SBFSZ.
MOVE RETURN-CODE TO WS-SWSAPI-RETURN-CODE.
IF NOT SWS-SUCCESS GOBACK.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||