|
Here's the one I had, goto's and All!
Your mileage may vary.... this hasn't been used probably since 1991 or so.
CMD FI2DDS
CMD PROMPT('Convert F & I Specs to DDS')
PARM KWD(SRCPGM) TYPE(*CHAR) LEN(10) +
PROMPT('Member Containing F & I Specs')
PARM KWD(LIBR) TYPE(*CHAR) LEN(10) MIN(1) +
PROMPT('Library')
PARM KWD(DDSMEM) TYPE(*CHAR) LEN(10) MIN(1) +
PROMPT('File Name in F & I Member')
PARM KWD(DDSLIB) TYPE(*CHAR) LEN(10) MIN(1) +
PROMPT('Library Name for DDS Member')
CLP FI2DDS
PGM PARM(&SRCPGM &LIBR &DDSMEM &DDSLIB)
DCL VAR(&SRCPGM) TYPE(*CHAR) LEN(10)
DCL VAR(&LIBR) TYPE(*CHAR) LEN(10)
DCL VAR(&DDSMEM) TYPE(*CHAR) LEN(10)
DCL VAR(&DDSLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGRPY) TYPE(*CHAR) LEN(1)
DCL VAR(&TEXT) TYPE(*CHAR) LEN(50)
DCL VAR(&USERID) TYPE(*CHAR) LEN(10)
/* CHECK IF MEMBER ALREADY THERE, IF YES, ASK IF WANT TO CLEAR */
RTVUSRPRF RTNUSRPRF(&USERID)
RTVMBRD FILE(&LIBR/QS36SRC) MBR(&SRCPGM) TEXT(&TEXT)
ADDPFM FILE(&DDSLIB/QDDSSRC) MBR(&DDSMEM) +
TEXT(&TEXT)
MONMSG MSGID(CPF7306) EXEC(DO)
RMVMSG PGMQ(*EXT) CLEAR(*ALL)
SNDUSRMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Member' +
*BCAT &DDSLIB *TCAT '/' *TCAT 'QDDSSRC' +
*TCAT '/' *TCAT &DDSMEM *BCAT 'already +
exists. Overwrite? (Y/N)') VALUES(Y N) +
DFT(N) MSGRPY(&MSGRPY)
IF COND(&MSGRPY *NE 'Y') THEN(GOTO +
CMDLBL(ENDPROGRAM))
ENDDO
CLRPFM FILE(&DDSLIB/QDDSSRC) MBR(&DDSMEM)
SBMJOB CMD(CALL PGM(FI2DDSS) PARM(&SRCPGM &LIBR +
&DDSMEM &DDSLIB)) JOB(&SRCPGM)
ENDPROGRAM: ENDPGM
CLP FI2DDSS
PGM PARM(&SRCPGM &LIBR &DDSMEM &DDSLIB)
DCL VAR(&SRCPGM) TYPE(*CHAR) LEN(10)
DCL VAR(&LIBR) TYPE(*CHAR) LEN(10)
DCL VAR(&DDSMEM) TYPE(*CHAR) LEN(10)
DCL VAR(&DDSLIB) TYPE(*CHAR) LEN(10)
ADDPFM FILE(&DDSLIB/QDDSSRC) MBR(&DDSMEM) +
TEXT('Created by FI2DDS')
MONMSG MSGID(CPF7306) EXEC(CLRPFM +
FILE(&DDSLIB/QDDSSRC) MBR(&DDSMEM))
OVRDBF FILE(SRCIN) TOFILE(&LIBR/QS36SRC) +
MBR(&SRCPGM) POSITION(*START)
OVRDBF FILE(SRCOUT) TOFILE(&DDSLIB/QDDSSRC) +
MBR(&DDSMEM)
CALL PGM(FI2DDSR1) PARM(&DDSMEM)
DLTOVR FILE(*ALL)
RGZPFM FILE(&DDSLIB/QDDSSRC) MBR(&DDSMEM) +
SRCOPT(*DATE *SEQNBR)
ENDPROGRAM: ENDPGM
Love the RPG II!
F***********************************************************
F* Unpublished- All Rights Reserved *
F* Under the Copyright Laws *
F* (C) Tostaine Computer Services, Inc. *
F* 1989 *
F***********************************************************
F*FI2DDSR1-Convert F & I Specs to DDS *
F*Written -- 08/14/89 -- by -- Art Tostaine Jr. *
F***********************************************************
F*
FSRCIN IP F 132 DISK
FSRCOUT O F 92 DISK
ISRCIN NS 01 18 CI 19NC* 27NC
I 19 26 FILE
I NS 02 18 CI 19 C 27 C
I** 19 26 FILE
I 55 55 PACKED
I 56 59 F
I 60 63 T
I 64 64 DEC
I 65 70 FIELD
I 87 102 COMMN1
I NS
C******************************************
C *ENTRY PLIST
C PARM LDFILE 10
C**
C** SETUP APOSTROPHE USING HEX CODE 7D
C**
B01 C ONCE DO 0 ONCE 10
01 C BITOF'01234567'APOST 1
01 C BITON'123457' APOST
01 C MOVELCOMMN1 ONE 1
01 C MOVEL'COLHDG(' COLHDG 7
01 C MOVEL')' PARENH 1
E01 C END
C**
B01 C 01 DO
01 C**
01 C**SKIP ANY OTHER FILES IN THE SOURCE
01 C**
B02 C FILE IFGT *BLANKS
02 C FILE ANDNELDFILE
B03 C FOUND IFEQ 'Y'
03 C SETON LR
E03 C END
02 C GOTO DONE
E02 C END
01 C**
01 C**FILE NAME FOR THAT FILE
01 C**
B02 C FILE IFEQ LDFILE
02 C MOVE FILE FILESV 8
E02 C END
B02 C FILE IFEQ LDFILE
02 C FOUND OREQ 'Y'
02 C FILE ANDEQ*BLANKS
02 C MOVE 'Y' FOUND 1
02 C EXCPTHDR
E02 C END
E01 C END
C**
C**FIELD FOR OUR FILE
C**
B01 C 02 FOUND IFEQ 'Y'
01 C MOVE F FROM 40
01 C MOVE T TO 40
01 C TO SUB FROM LEN 30
01 C ADD 1 LEN
B02 C PACKED IFEQ ' '
02 C DEC ANDNE' '
02 C MOVE 'S' PACKED
E02 C END
B02 C PACKED IFEQ 'P'
02 C LEN MULT 2 LEN
02 C LEN SUB 1 LEN
E02 C END
01 C CALL 'FI2TXTC' FI2PLS
01 C EXCPTDET01
E01 C END
C**
C DONE TAG
C FI2PLS PLIST
C PARM COLHDG
C PARM APOST
C PARM COMMN1
C PARM APOST
C PARM PARENH
C PARM STRING 26
C******************************************
OSRCOUT E HDR
O 18 'A'
O 29 'R'
O FILESV 38
OSRCOUT E DET01
O 18 'A'
O FIELD 36
O LEN Z 46
O PACKED 47
O DEC 49
O STRING 82
CLP FI2TXTC
PGM PARM(&COLHDG &APOST1 &COMMN1 &APOST2 &PARENH +
&STRING)
DCL VAR(&COLHDG) TYPE(*CHAR) LEN(7)
DCL VAR(&APOST1) TYPE(*CHAR) LEN(1)
DCL VAR(&COMMN1) TYPE(*CHAR) LEN(16)
DCL VAR(&APOST2) TYPE(*CHAR) LEN(1)
DCL VAR(&PARENH) TYPE(*CHAR) LEN(1)
DCL VAR(&STRING) TYPE(*CHAR) LEN(26)
CHGVAR VAR(&STRING) VALUE(&COLHDG *TCAT &APOST1 +
*TCAT &COMMN1 *TCAT &APOST2 *TCAT &PARENH)
RETURN
ENDPROGRAM: ENDPGM
_________________
Art Tostaine, Jr.
CCA, Inc.
Jackson, NJ 08527
> -----Original Message-----
> From: rpg400-l-admin@midrange.com [mailto:rpg400-l-admin@midrange.com]On
> Behalf Of David Schopp
> Sent: Wednesday, May 01, 2002 10:12 AM
> To: rpg400-l@midrange.com
> Subject: Re: Tool to convert s/36 I-specs to DDS???
>
>
> Carsten,
>
> I would be interested in your utility as we too are making a jump
> (baby-step?) from our '36 specs to native!
>
> Thanks in advance
> Dave
>
> "Carsten Flensburg" <flensburg@novasol.dk> wrote in message
> news:<00c601c1f0d2$fd9b5b20$0250a8c0@CF101>...
> > Hello Dan,
> >
> > Did you get a tool? I have a slightly modified version of Art Tostaine's
> > FI2DDS - let me know if you want it.
> >
> > Best regards,
> > Carsten Flensburg
> >
>
>
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.