/* ************************************************************************** */
/* DBG201CL: External to flat file .csv conversion */
/* Copyright (C) 2001 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 */
/* ************************************************************************** */
PGM PARM(&QUALFROM &QUALTO &FROMMBR &TOMBR &MBROPT &COLHDG &FLDDEL &RPLFLDDEL +
&STRDEL &RPLSTRDEL)
DCL VAR(&QUALFROM) TYPE(*CHAR) LEN(20)
DCL VAR(&FROMFILE) TYPE(*CHAR) LEN(10)
DCL VAR(&FROMLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&FROMMBR) TYPE(*CHAR) LEN(10)
DCL VAR(&QUALTO) TYPE(*CHAR) LEN(20)
DCL VAR(&TOFILE) TYPE(*CHAR) LEN(10)
DCL VAR(&TOLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&TOMBR) TYPE(*CHAR) LEN(10)
DCL VAR(&RTNLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&MBROPT) TYPE(*CHAR) LEN(8)
DCL VAR(&COLHDG) TYPE(*CHAR) LEN(7)
DCL VAR(&FLDDEL) TYPE(*CHAR) LEN(1)
DCL VAR(&RPLFLDDEL) TYPE(*CHAR) LEN(1)
DCL VAR(&STRDEL) TYPE(*CHAR) LEN(1)
DCL VAR(&RPLSTRDEL) TYPE(*CHAR) LEN(1)
CHGVAR VAR(&FROMFILE) VALUE(%SST(&QUALFROM 1 10))
CHGVAR VAR(&FROMLIB) VALUE(%SST(&QUALFROM 11 10))
CHGVAR VAR(&TOFILE) VALUE(%SST(&QUALTO 1 10))
CHGVAR VAR(&TOLIB) VALUE(%SST(&QUALTO 11 10))
/* Create file to hold .csv data if not there (or add member if reqd) */
CHKOBJ OBJ(&TOLIB/&TOFILE) OBJTYPE(*FILE) MBR(&TOMBR)
MONMSG MSGID(CPF9801) EXEC(CRTPF +
FILE(&TOLIB/&TOFILE) RCDLEN(5000) +
SIZE(*NOMAX))
MONMSG MSGID(CPF9815) EXEC(ADDPFM +
FILE(&TOLIB/&TOFILE) MBR(&TOMBR))
IF COND(&MBROPT *EQ '*REPLACE') THEN(CLRPFM +
FILE(&TOLIB/&TOFILE) MBR(&TOMBR))
/* Get the actual library of the from file if not specified */
IF COND(&FROMLIB *EQ '*LIBL') THEN(DO)
RTVOBJD OBJ(*LIBL/&FROMFILE) OBJTYPE(*FILE) +
RTNLIB(&RTNLIB)
CHGVAR VAR(&FROMLIB) VALUE(&RTNLIB)
ENDDO
OVRDBF FILE(INFILE) TOFILE(&FROMLIB/&FROMFILE) +
MBR(&FROMMBR)
OVRDBF FILE(DBGCSV00) TOFILE(&TOLIB/&TOFILE) +
MBR(&TOMBR)
CALL PGM(DBG201R4) PARM(&FROMFILE &FROMLIB &COLHDG +
&FLDDEL &RPLFLDDEL &STRDEL &RPLSTRDEL)
DLTOVR FILE(INFILE DBGCSV00)
ENDPGM:
RETURN
ENDPGM
--
MartinRowe - 24 Jun 2005