AS/400 fans only : How to send a DB2 file per Email as CSV attachment
#IBMiSample
/************************************/
SNDCSV.CMD
CMD PROMPT('Send DB2 file as CSV attachm.')
/* COMMAND PROCESSING PROGRAM IS: SNDCSVCL */
PARM KWD(SNDFIL) TYPE(*CHAR) LEN(10) MIN(1) PROMPT('DB2 +
file to send as CSV')
PARM KWD(LIBR00) TYPE(*CHAR) LEN(10) PROMPT('Library') +
DFT(*LIBL)
PARM KWD(MAIL00) TYPE(*CHAR) LEN(50) MIN(1) PROMPT(' +
Email destination address')
PARM KWD(SUBJCT) TYPE(*CHAR) LEN(100) MIN(1) PROMPT(' +
Email subject')
PARM KWD(BODY00) TYPE(*CHAR) LEN(500) MIN(1) PROMPT(' +
Email body')
/************************************/
Compile this CMD source with:
CRTCMD CMD(myLib/SNDCSV) PGM(myLib/SNDCSVCL) SRCFILE(myLib/mySourceFile) SRCMBR(SNDCSV)
/************************************/
SNDCSVCL.CLP
I appreciate all the comments made on this blog.
/************************************/
Compile this CMD source with:
CRTCMD CMD(myLib/SNDCSV) PGM(myLib/SNDCSVCL) SRCFILE(myLib/mySourceFile) SRCMBR(SNDCSV)
/************************************/
SNDCSVCL.CLP
PGM PARM(&SNDFIL &LIBR00 &MAIL00 &SUBJCT &BODY00)
DCL VAR(&SNDFIL) TYPE(*CHAR) LEN(010)
DCL VAR(&LIBR00) TYPE(*CHAR) LEN(010)
DCL VAR(&MAIL00) TYPE(*CHAR) LEN(050)
DCL VAR(&SUBJCT) TYPE(*CHAR) LEN(100)
DCL VAR(&BODY00) TYPE(*CHAR) LEN(500)
DCL VAR(&ATTACH) TYPE(*CHAR) LEN(050) VALUE(' ')
CRTDIR DIR('/CSV')
MONMSG MSGID(CPF0000)
CHGVAR VAR(&MAIL00) VALUE(%TRIM(&MAIL00))
CHGVAR VAR(&ATTACH) VALUE('/CSV/' *CAT %TRIM(&SNDFIL) +
*CAT '.CSV')
CPYTOIMPF FROMFILE(&LIBR00/&SNDFIL) TOSTMF(&ATTACH) +
STMFCCSID(*PCASCII) RCDDLM(*CRLF) FLDDLM(';')
SNDSMTPEMM RCP(&MAIL00) SUBJECT(&SUBJCT) NOTE(&BODY00) +
ATTACH((&ATTACH))
RMVLNK OBJLNK(&ATTACH)
RMVDIR DIR('/CSV')
ENDPGM
/************************************/
Compile this CLP source with:
CRTCLPGM PGM(myLib/SNDCSVCL) SRCFILE(myLib/mySourceFile) SRCMBR(SNDCSVCL)
Now let's try the command. Type:
SNDCSV (F4)
/************************************/
Compile this CLP source with:
CRTCLPGM PGM(myLib/SNDCSVCL) SRCFILE(myLib/mySourceFile) SRCMBR(SNDCSVCL)
Now let's try the command. Type:
SNDCSV (F4)
That's it.
I appreciate all the comments made on this blog.
Hi Aldo, First time on your website. Thank you for the help. I've downloaded and tested on my end. I don't understand why the .csv file only uses Column A for the entire record layout. Your thoughts?
ReplyDeleteThe FLDDLM should be ',' instead of ';'.
Delete