*================================================================ * RPGPDF * * This is a sample RPG/400 (RPG III) program which demonstrates * the use of the PDF417 Encoder. * * NOTE: There is no doubt that I am the world's worst RPG * programmer. Hopefully though this is good enough * to demonstrate the ease of using the PDF417 * Encoder. I'm sure there are MUCH better ways to * write RPG than I've done in this thing. * *================================================================ H FPDF417 O E PRINTER *================================================================ I '0200' C $PDFV I 'This is a test of th-C $IND1 I 'e Silver Bay Softwar- I 'e, LLC. PDF417 Encod- I 'er. ' I 'The error correction-C $IND2 I ' will encode at leve- I 'l 3 with ECC padding- I '. ' *================================================================ IOPDF DS I 1 3 WIDTH I 4 6 HEIGHT I 7 9 RESULT *---------------------------------------------------------------- * The following is the output buffer structure which * will receive the Font characters. This definition * is setup for 25 rows with 37 columns of font characters. *!!!!! * BE SURE TO VERIFY YOUR FONT CHARACTERS WILL FIT INTO * THIS BUFFER SIZE!! *!!!!! *---------------------------------------------------------------- I 10 46 PDF01 I 47 83 PDF02 I 84 120 PDF03 I 121 157 PDF04 I 158 194 PDF05 I 195 231 PDF06 I 232 268 PDF07 I 269 305 PDF08 I 306 342 PDF09 I 343 379 PDF10 I 380 416 PDF11 I 417 453 PDF12 I 454 490 PDF13 I 491 527 PDF14 I 528 564 PDF15 I 565 601 PDF16 I 602 638 PDF17 I 639 675 PDF18 I 676 712 PDF19 I 713 749 PDF20 I 750 786 PDF21 I 787 823 PDF22 I 824 860 PDF23 I 861 897 PDF24 I 898 934 PDF25 IIPDF DS I 1 4 #VER I 5 8 #NBYTS I 9 10 #SH I 11 12 #SW I 13 13 #ETYP I 14 16 #EVAL I 17 17 #NPECC I 18 18 #DFRMT I 19 19 #STYPE I 20 20 #EMTHD I 21 21 #HALGN I 22 22 #VALGN I 23 23 #E2AFL IINDATA DS I 1 67 #LINE1 I 68 134 #LINE2 ******************************* * CALL PDF417 ENCODER ******************************* C EXSR S001 ******************************* * PRINT PDF417 SYMBOL ******************************* C EXSR S002 ******************************* * END OF PROGRAM ******************************* C SETON LR *======================================================== * S001 - CALL THE PDF417 ENCODER *======================================================== C S001 BEGSR * * INITIALIZE OUR INPUT RECORD * C CLEARIPDF C MOVEL$PDFV #VER C MOVEL'01' #SH C MOVEL'02' #SW C MOVEL'0' #ETYP C MOVEL'005' #EVAL C MOVEL'F' #NPECC C MOVEL'N' #DFRMT C MOVEL'S' #STYPE C MOVEL'O' #EMTHD C MOVEL'L' #HALGN C MOVEL'T' #VALGN C MOVEL'T' #E2AFL C CLEAR#LINE1 C MOVEL$IND1 #LINE1 C CLEAR#LINE2 C MOVEL$IND2 #LINE2 C MOVEL'0135' #NBYTS *-------------------------------------------------------- * Move the appropriate values into the output * width and height to indicate the size of the * receiver buffer. *-------------------------------------------------------- C MOVEL'037' WIDTH C MOVEL'025' HEIGHT C MOVEL'000' RESULT * * HERE IS WHERE THE PDF417 ENCODER IS CALLED; IT IS * AN EXTERNAL ILE PROGRAM * C CALL 'PDFENCOD' C PARM IPDF C PARM OPDF C PARM INDATA C ENDSR *======================================================== * S002 - PRINT THE PDF417 SYMBOL *======================================================== C S002 BEGSR C MOVELPDF01 PDFO01 C MOVELPDF02 PDFO02 C MOVELPDF03 PDFO03 C MOVELPDF04 PDFO04 C MOVELPDF05 PDFO05 C MOVELPDF06 PDFO06 C MOVELPDF07 PDFO07 C MOVELPDF08 PDFO08 C MOVELPDF09 PDFO09 C MOVELPDF10 PDFO10 C MOVELPDF11 PDFO11 C MOVELPDF12 PDFO12 C MOVELPDF13 PDFO13 C MOVELPDF14 PDFO14 C MOVELPDF15 PDFO15 C MOVELPDF16 PDFO16 C MOVELPDF17 PDFO17 C MOVELPDF18 PDFO18 C MOVELPDF19 PDFO19 C MOVELPDF20 PDFO20 C MOVELPDF21 PDFO21 C MOVELPDF22 PDFO22 C MOVELPDF23 PDFO23 C MOVELPDF24 PDFO24 C MOVELPDF25 PDFO25 C WRITEPDFOUT C ENDSR