********************************************************************************************** * DBG103R4: Maintain script entries in DB link file * Copyright (C) 2000 Martin Rowe <martin@dbg400.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ********************************************************************************************** H DATEDIT(*YMD) DEBUG(*YES) OPTION(*NODEBUGIO : *SRCSTMT) ********************************************************************************************** * INDICATOR USAGE: ********************************************************************************************** * File access inds * 80 81 82 83 * Error ind (for calls) * 90 ********************************************************************************************** * FILES: ********************************************************************************************** * Database Generation links FDBGDGL00 UF A E K DISK * Database Generation script headers FDBGSQLH1 IF E K DISK ********************************************************************************************** * ARRAYS: ********************************************************************************************** D P#OutStrings S 132 DIM(50) ********************************************************************************************** * DATA STRUCTURES: ********************************************************************************************** * PROGRAM NAME D SDS D SDS#PGM 10 ********************************************************************************************** * WORK FIELDS: ********************************************************************************************** D K#DglSrc S LIKE(DGLSRC) INZ('*SCRIPT') ********************************************************************************************** * CONSTANTS: ********************************************************************************************** ********************************************************************************************** * ENTRY PARAMETERS: ********************************************************************************************** ********************************************************************************************** * KEY LISTS: ********************************************************************************************** C DBGDGL00KEY KLIST C KFLD DFDOCD C KFLD K#DglSrc ********************************************************************************************** * MAINLINE: ********************************************************************************************** * Loop through all link records, looking for script entries C *LOVAL SETLL DBGDGL00 C READ DBGDGL00 80 B001 C DOW NOT *IN80 B002 C IF DGLSEQ = 0 * If the script doesn't exist, delete the entry in the link file C DGLTGT CHAIN DBGSQLH1 81 B003 C IF *IN81 C DELETE PFDGL E003 C ENDIF E002 C ENDIF C READ DBGDGL00 80 E001 C ENDDO * Now make sure any new scripts are added into the link file * Loop through all script headers C EVAL DFDOCD = 'A' C DFDOCD SETLL DBGSQLH1 C READ DBGSQLH1 80 B001 C DOW NOT *IN80 * If a link record doesn't exist for this script, then create one C DBGDGL00KEY CHAIN DBGDGL00 81 B002 C IF *IN81 C EVAL DGLTGT = DFDOCD C EVAL DGLSRC = '*SCRIPT' C EVAL DGLSEQ = 0 C EVAL DGLSQL = *BLANKS C EVAL DGLTXT = DFDOCH C WRITE PFDGL * Otherwise, make sure the text is up to date X002 C ELSE C EVAL DGLTXT = DFDOCH C UPDATE PFDGL E002 C ENDIF C READ DBGSQLH1 80 E001 C ENDDO * Time to go... C ENDPGM TAG * ====== === C EVAL *INLR = *ON C RETURN **********************************************************************************************