|
|
High-Level Language SWSFGET (SWPFGL) FunctionRelated Topics
SWSFGET (entry point "SWPFGL") is a high level function used to retrieve a line of data from files sent to the server in a Post operation. SWSPostFileGetLine is the "C" definition for the entry point. SWSPOSTFILEGETLINE is the "COBOL" definition for the entry point. SWSFGET is the "PL/I" definition for the entry point.
CALL ArgumentsThe SWSFGET (entry point "SWPFGL") function takes four arguments. All four arguments must be specified on the call.
Return ValuesSWSFGET:
Possible values are:
The SWSFGET operation is logged to the Server's wrap-around trace file with the returned data and completion code.
PL/I Example
%INCLUDE SPCPHD; /* INCLUDE STANDARD HEADER FILE */
/* (includes definition of SWSPFI) */
DCL SCONN PTR; /* Connection Handle */
DCL FICNT FIXED BIN(31); /* Number of files */
DCL BUFF CHAR(500); /* Buffer */
DCL BLEN FIXED BIN(31); /* Data length */
ADDR(SCONN)->DMHX=0; /* Zero connection handle */
CALL SWSFCNT(SCONN /* Get the file count */
FICNT);
RC=PLIRETV(); /* Get return code */
IF RC ^=SWS_SUCCESS THEN /* exit if bad RC */
EXIT;
DO I = 1 TO FICNT; /* Examine each file */
BLEN = STORAGE(BUFF); /* Force to loop at least once */
DO WHILE BLEN > 0;
BLEN = STORAGE(BUFF); /* Set maximum size to get */
CALL SWSFGET(SCONN, I BUFF, BLEN); /* Get a line of file data*/
RC = PLIRETV();
IF RC ^=SWS_SUCCESS THEN /* exit if bad RC */
EXIT;
... /* Process File */
END;
END;
C Example
HDBC sConn = NULL; /* Connection Handle */
long FICNT; /* file count */
long RC; /* return code */
int i;
char buff[500];
int blen = sizeof(buff);
SWS_POST_FILE_INFO_BLOCK info; /* file attributes */
rc = SWSPostFileCount(&sConn, /* Get the file count */
&FICNT);
If(rc ^=SWS_SUCCESS) return; /* exit if bad rc */
for (i = 1; i <= FICNT; i++) { /* look at each file */
while (blen > 0) {
rc = SWSPostFileGetLine(&sConn, /* Get attributes */
i, /* file number */
buff, /* data line */
&blen); /* size of line */
If(rc ^=SWS_SUCCESS) return; /* exit if bad rc */
... /* Process file */
};
};
COBOL Example
COPY SBCPHD.
77 SCONN USAGE IS POINTER.
77 FICNT PIC S9(5) COMP.
77 I-COUNT PIC S9(5) COMP VALUE 0.
77 READ-SIZE PIC S9(5) COMP VALUE 0.
77 READ-BUF PIC X(300).
CALL SWSPOSTFILECOUNT USING SCONN,
FICNT.
MOVE RETURN CODE TO WS-SWSAPI-RETURN-CODE.
IF NOT SWS-SUCCESS GOBACK.
PERFORM 0000-SWSGETFILE-ROUTINE WITH TEST BEFORE
VARYING I-COUNT FROM 1 BY 1 UNTIL I-COUNT > FILE-COUNT.
GOBACK.
*
0000-SWSGETFILE-ROUTINE.
MOVE 300 TO READ-SIZE.
PERFORM 0000-SWSGETLINE-ROUTINE WITH TEST BEFORE
UNTIL READ-SIZE = 0.
*
0000-SWSGETFILE-EXIT.
EXIT.
*
0000-SWSGETLINE-ROUTINE.
MOVE 300 TO READ-SIZE.
CALL SWSPOSTFILEGETLINE USING CONNECTION-HANDLE
I-COUNT
READ-BUF
READ-SIZE.
IF RETURN-CODE IS NOT EQUAL TO ZERO
GOBACK.
* process file
...
0000-SWSGETLINE-EXIT.
EXIT.
| ||||||||||||||||||||||||||||||||||||||||