CTITLEUSDAGT -- GET VALUE FOR FIELD FROM 'DATA' TYPE IFGET OUTPUT C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR J. M. PONTON CA DESIGNER J. M. PONTON CA LANGUAGE VSFORTRAN CA SYSTEM IBM S/370 CA WRITTEN 11-20-84 C REVISED MO-DA-YR BY PROGRAMMER FOR REASON CA CA CALL USDAGT(FIELD, STRING, LSTR, VALUE) CA CA IN/OUT ARGUMENT TYPE DESCRIPTION CA ------ -------- ---- ----------- CA IN FIELD CHAR FIELD NAME TO SEARCH FOR. CA CA IN STRING I4 ARRAY CONTAINING THE DATA TO BE SEARCHED. CA CA IN LSTR I4 NUMBER OF WORDS IN 'STRING'. CA CA OUT VALUE CHAR VALUE FOUND CORRESPONDING TO FIELD. CA CA THIS ROUTINE PARSES AN IFGET 'DATA' OUTPUT LIST FOR THE VALUE CA CORRESPONDING TO THE FIRST OCCURRENCE OF 'FIELD' IN 'STRING'. CA IF THE FIELD WAS NOT FOUND, A BLANK VALUE IS RETURNED. CA C EJECT C SUBROUTINE USDAGT(FIELD, STRING, LSTR, VALUE) C IMPLICIT INTEGER (A-Z) C DIMENSION STRING(1) CHARACTER*(*) FIELD CHARACTER*(*) VALUE C NCHFLD = USLEN(FIELD) VALUE = ' ' C C FIND FIRST OCCURRENCE OF FIELD IN STRING. C CALL USNOCC(STRING, LSTR, 1, FIELD, NCHFLD, COL, *100) CALL USNOCC(STRING, LSTR, COL, '=', 1, COLE, *100) C C FIND BEGINNING AND ENDING QUOTES. C CALL USNOCC(STRING, LSTR, COLE, '''', 1, COLQ1, *100) CALL USNOCC(STRING, LSTR, COLQ1+1, '''', 1, COLQ2, *100) C C MOVE DATA BETWEEN QUOTES TO VALUE. C NCMOVE = COLQ2 - COLQ1 - 1 IF (NCMOVE .EQ. 0) RETURN CALL S1MVCH(STRING, COLQ1+1, VALUE, 1, NCMOVE) 100 CONTINUE RETURN END