Toolmaker Produkt-Dokumentation

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Inhaltsübersicht



Das Musterprogramm FORMINV


Im ersten Musterprogramm wird ein Rechnungsformular erzeugt, das für die Rechnungsschreibung als Schablone dient. Das zweite Programm füllt die Rechnungsdaten in diese Schablone. Die Quellen stehen in DIRWEB/QRPGLESRC/FORMINV bzw. INVOICE.

Rechnungsformular:

FORMINV-Quelle des Formulars
    ‚ **********************************************************************************************
      * Program       :ˆFormInv
      * Descriptions  :ˆForm of invoice
      * Programmer    :ˆToolmaker
      * Creation Date :ˆ01.07.2014
    ‚ **********************************************************************************************
    ˆ * H E A D E R - S P E C I F I C A T I O N S
    ‚ **********************************************************************************************
     H/COPY Qcpylesrc,H_SPECSPDF
    ‚ **********************************************************************************************
    ˆ * F I L E   S P E C I F I C A T I O N S
    ‚ **********************************************************************************************
    ‚ **********************************************************************************************
    š *  P R O T O T Y P I N G  /  C O P Y   M E M B E R
    ‚ **********************************************************************************************
     D/Include Qprolesrc,pdfsrvpgm
    ‚ *
    ‚ **********************************************************************************************
    ˆ * D E F I N I T I O N   G L O B A L   V A R I A B L E S
    ‚ **********************************************************************************************
     d Handle          s               *
     d Font            s            256    inz('Helvetica-Bold') varying
     d Encoding        s            256    inz('unicode') varying
     d FontOpt         s            256    inz(' ')
     d CrtOpt          s            256    inz('fontname=Helvetica +
     d                                     fontsize=8 encoding=unicode +
     d                                     fillcolor={gray 0} +
     d                                     alignment=justify')
     d Fontsize        s              6s 0 inz(08)
     d Ftext           s           4096    inz('Toolmaker Advanced +
     d                                     Efficiency GmbH')
     d Ftext1          s           4096    inz('Westendstrasse 34')
     d Ftext2          s           4096    inz('86916 Kaufering')
     d Ftext3          s           4096    inz('Tel.: 0049 8191 968 0')
     d sender          s           4096    inz('Toolmaker Advanced Efficiency +
     d                                     GmbH, Westendstr. 34, +
     d                                     86916 Kaufering')
     d TxtKdnr         s           4096    inz('Kundennummer')
     d TxtRenr         s           4096    inz('Rechnungsnummer')
     d Txtdate         s           4096    inz('Datum')
     d AText           s           4096    inz('Der Rechnungsbetrag ist +
     d                                     innerhalb von 14 Tagen netto +
     d                                     zahlbar. Die Produkte bleiben bis +
     d                                     zur vollständigen Bezahlung +
     d                                     unser Eigentum. Es gelten unsere +
     d                                     allgemeinen Geschäftsbedingungen.')
    ‚ **********************************************************************************************
    ˆ * M A I N   P R O G R A M
    ‚ **********************************************************************************************
    ‚ /Free
            Handle=PDF_CreateDoc('(*license='' '') +
                                  (*Searchpath=/Toolmaker/Fonts) +
                                  (*Docname   =/home/gsc/Testform.pdf) +
                                  (*Creator   =RPG) +
                                  (*Author    =Gerd Schramm) +
                                  (*dimension =mm) +
                                  (*direction =topdown) +
                                  (*Title     =Header for documents)');
            PDF_Image(Handle:'(*imgtype=auto) +
                                  (*image    =/home/gsc/tm_logo.jpg) +
                                  (*imgfopt  =scale 0.3) +
                                  (*imgx      =140) +
                                  (*imgy      =20)');
            PDF_DrawLine(Handle:'(*strokewidth=2) +
                                  (*StrokeColor=blue) +
                                  (*Strokefromx=008) +
                                  (*Strokefromy=25) +
                                  (*Stroketox  =205) +
                                  (*Stroketoy  =25)');
            PDF_TextLine(Handle:'(*singletext='+sender+')' +
                                 '(*textx    =25) +
                                  (*texty    =60) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =06)');
            PDF_TextLine(Handle:'(*singletext='+ftext+')' +
                                 '(*textx    =150) +
                                  (*texty    =60) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =08)');
            PDF_TextLine(Handle:'(*singletext='+ftext1+')' +
                                 '(*textx    =150) +
                                  (*texty    =65) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =08)');
            PDF_TextLine(Handle:'(*singletext='+ftext2+')' +
                                 '(*textx    =150) +
                                  (*texty    =70) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =08)');
            PDF_TextLine(Handle:'(*singletext='+ftext3+')' +
                                 '(*textx    =150) +
                                  (*texty    =75) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =08)');
            PDF_DrawBox(Handle:'(*strokewidth=1) +
                                  (*rectx      =20) +
                                  (*recty      =130) +
                                  (*StrokeColor= ) +
                                  (*rectwidth  =170) +
                                  (*rectheight =20)');
            PDF_TextLine(Handle:'(*singletext='+TxtKdnr+')' +
                                 '(*textx    =25) +
                                  (*texty    =120) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+TxtRenr+')' +
                                 '(*textx    =80) +
                                  (*texty    =120) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+TxtDate+')' +
                                 '(*textx    =150) +
                                  (*texty    =120) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextFlow(Handle:'(*flowtext='+AText +')' +
                                 '(*flowlux  =20) +
                                  (*flowluy  =270) +
                                  (*flowrdx  =190) +
                                  (*flowrdy  =285) +
                                  (*flowwidth =0) +
                                  (*flowheight=0) +
                                  (*flowcrtopt='+crtopt +')');
            PDF_TextLine(Handle:'(*singletext=Seite -) +
                                   *textx    =100) +
                                  (*texty    =290) +
                                  (*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =08)');
            PDF_CloseDoc(Handle:' ');
            *Inlr=*on;
    ‚ /End-free 


 
Das mit diesem Programm erzeugte PDF-Dokument sieht so aus:













Das Musterprogramm INVOICE

Das folgende Programm verwendet das zuvor erstellte PDF-Dokument als Schablone und füllt die Rechnungsdaten ein. Kundendaten und Artikel sind zur besseren Lesbarkeit als Konstante bzw. in einer Datenstruktur dargestellt und nicht wie üblich einer Datenbank entnommen.

Hinweis: Wenn anstelle einer jpg-Datei eine PDF-Datei als Vorlage zur Erstellung einer neuen PDF-Datei dienen soll, ist die PDFLIB02-Lizenz erforderlich. Siehe Frage Nr 5. bei den Häufig gestellten Fragen.

PDFLIB01   PDF-Dokumente erzeugen

PDFLIB02   PDF-Dokumente erzeugen mit Nutzung bereits vorhandener PDF-Dokumente

Variante 1 - Alle Rechnungen in einem PDF-Dokument

Alle Rechnungen werden in einer Datei mit Namen ‚Invoice Tagesdatum' gespeichert. Wenn jede Rechnung in eine eigene Datei gespeichert werden soll, kann die Variante 2 als Muster verwendet werden.

Programm INVOICE - RPG-Quelle
    ‚ **********************************************************************************************
      * Program       :ˆInvoice
      * Descriptions  :ˆSample invoice
      * Programmer    :ˆGerd Schramm
      * Creation Date :ˆ01.07.2014
    ‚ **********************************************************************************************
    ˆ * H E A D E R - S P E C I F I C A T I O N S
    ‚ **********************************************************************************************
     H/COPY Qcpylesrc,H_SPECSPDF
    ‚ **********************************************************************************************
    ˆ * F I L E   S P E C I F I C A T I O N S
    ‚ **********************************************************************************************
    ‚ **********************************************************************************************
    š *  P R O T O T Y P I N G  /  C O P Y   M E M B E R
    ‚ **********************************************************************************************
     D/COPY qprolesrc,pdfsrvpgm
    ‚ *
    ‚ **********************************************************************************************
    ˆ * D E F I N I T I O N   G L O B A L   V A R I A B L E S
    ‚ **********************************************************************************************
     d Handle          s               *
     d Adr1            s             30    inz('Musterkunde') varying
     d Adr2            s             30    inz('Musterstrasse') varying
     d Adr3            s             30    inz('XXXXX Ort') varying
     d Font            s            256    inz('Helvetica-Bold') varying
     d Encoding        s            256    inz('unicode') varying
     d FontOpt         s            256    inz(' ')
     d CrtOpt          s            256    inz('fontname=Helvetica +
     d                                     fontsize=8 encoding=unicode +
     d                                     fillcolor={gray 0} +
     d                                     alignment=justify')
     d CrtOptr         s            256    inz('fontname=Helvetica +
     d                                     fontsize=8 encoding=unicode +
     d                                     fillcolor={gray 0} +
     d                                     alignment=right')
     d CurDat          s               d   datfmt(*eur)
     d Today           s             10
     d Invnbr          s             10i 0
     d InvnbrA         s              5
     d line            s             10i 0
     d x               s             10i 0
     d linea           s              5
     d savekdnr        s              5
     d pricea          s             12
     d totala          s             12
     d total           s              9  2
     d Fontsize        s              6s 0 inz(12)
     d Stext           s           4096    inz('Überschrift' )
     d Stext2          s           4096    inz('Farbbox' )
     d Txtsum          s           4096    inz('Rechnungsbetrag')
     d                                     varying
     d TxtEUR          s           4096    inz('EUR')
     d                                     varying
     D DSItem          DS                  Qualified
     D                               10I 0          inz(1)
     D                                5A   Varying  inz('12345')
     D                               30A   Varying  inz('Software product 1')
     D                                9  2 inz(2500,00)
     D                               10I 0          inz(2)
     D                                5A   Varying  inz('12345')
     D                               30A   Varying  inz('Software product 2')
     D                                9  2 inz(3000,00)
     D                               10I 0          inz(3)
     D                                5A   Varying  inz('12345')
     D                               30A   Varying  inz('Software product 3')
     D                                9  2 inz(4000,00)
     D                               10I 0          inz(4)
     D                                5A   Varying  inz('12346')
     D                               30A   Varying  inz('Software product 1')
     D                                9  2 inz(1500,00)
     D                               10I 0          inz(5)
     D                                5A   Varying  inz('12346')
     D                               30A   Varying  inz('Software product 3')
     D                                9  2 inz(6000,00)
     D   Arr                               Dim(5)   Overlay(DSItem)
     D    Num                        10I 0          Overlay(Arr)
     D    Kdnr                        5A   Varying  Overlay(Arr: *Next)
     D    Item                       30A   Varying  Overlay(Arr: *Next)
     D    Price                       9  2 Overlay(Arr: *Next)

    ‚ **********************************************************************************************
    ˆ * M A I N   P R O G R A M
    ‚ **********************************************************************************************
    ‚ /Free
            CurDat=%date();
            today=%char(curdat);

          Handle=PDF_CreateDoc('(*license=X) +
                                (*Searchpath=/Toolmaker/Fonts) +
                                (*Docname   =/home/gsc/Invoice '+Today+'.pdf)' +
                               '(*Creator   =RPG) +
                                (*Author    =Gerd Schramm) +
                                (*pdidoc    =forminv.pdf) +
                                (*dimension =mm) +
                                (*direction =topdown) +
                                (*pagenbr   =0) +
                                (*pagex     =110) +
                                (*pagey     =290) +
                                (*Title     =Test invoice)');
         For x=1 to 5;
          if dsitem.kdnr(x)<>savekdnr;
           if savekdnr<>*blank;
            exsr Sum;
            PDF_NextPage(Handle:'(*pagenbr=0)');
           endif;
            invnbr+=1;
            line   =140;
            invnbra=%char(invnbr);
            savekdnr=dsitem.kdnr(x);

            PDF_TextLine(Handle:'(*singletext='+adr1+')' +
                                 '(*textx    =25) +
                                  (*texty    =70) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+adr2+')' +
                                 '(*textx    =25) +
                                  (*texty    =75) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+adr3+')' +
                                 '(*textx    =25) +
                                  (*texty    =85) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+dsitem.kdnr(x)+')' +
                                 '(*textx    =60) +
                                  (*texty    =120) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+invnbra+')' +
                                 '(*textx    =120) +
                                  (*texty    =120) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+today+')' +
                                 '(*textx    =165) +
                                  (*texty    =120) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
           endif;

            line+=10;
            linea=%char(line);
            total+=dsitem.price(x);
            pricea=%editw(dsitem.price(x):' .   .   ,  ');

            PDF_TextLine(Handle:'(*singletext=1)  +
                                  (*textx    =25) +
                                  (*texty    ='+linea+')' +
                                 '(*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+dsitem.item(x)+')' +
                                 '(*textx    =35) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+txteur+')' +
                                 '(*textx    =130) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+pricea+')' +
                                 '(*textx    =140) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
         Endfor;
            exsr sum;
            PDF_CloseDoc(Handle:' ');
            *Inlr=*on;
    ‚
            begsr sum;
            line+=10;
            linea=%char(line);
            totala=%editw(total:' .   .   ,  ');

            PDF_TextLine(Handle:'(*singletext=------------) +
                                  (*textx    =140) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            line+=10;
            linea=%char(line);
            PDF_TextLine(Handle:'(*singletext='+txtsum+')' +
                                 '(*textx    =35) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+txteur+')' +
                                 '(*textx    =130) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            PDF_TextLine(Handle:'(*singletext='+totala+')' +
                                 '(*textx    =140) +
                                  (*texty    ='+linea+')' +
                                 '(*textoption =fillcolor={gray 0.5}) +
                                  (*font     =arial) +
                                  (*fontencoding=unicode) +
                                  (*fontsize =10)');
            total =*zero;
            endsr;
    ‚ /End-free 


Variante 2 - Pro Rechnung ein PDF-Dokument

Programmname INVOICEN. Eine Datei mit Namen 'Invoice <rechnungsnr>' pro Rechnung.

Die Zeilen 87-112 müssen in Variante 1 ersetzt werden.

Programm INVOICEN - Auszug aus der RPG-Quelle
            CurDat=%date();
            today=%char(curdat);

         For x=1 to 5;
          if dsitem.kdnr(x)<>savekdnr;
           if savekdnr<>*blank;
            exsr Sum;
            PDF_CloseDoc(Handle:' ');
           endif;
            invnbr+=1;
            line   =140;
            invnbra=%char(invnbr);
            savekdnr=dsitem.kdnr(x);

          Handle=PDF_CreateDoc('(*license=X) +
                              (*Searchpath=/Toolmaker/Fonts) +
                              (*Docname   =/home/gsc/Invoice '+invnbra+'.pdf)' +
                             '(*Creator   =RPG) +
                              (*Author    =Gerd Schramm) +
                              (*pdidoc    =forminv.pdf) +
                              (*dimension =mm) +
                              (*direction =topdown) +
                              (*pagenbr   =0) +
                              (*pagex     =110) +
                              (*pagey     =290) +
                              (*Title     =Test invoice)');


Die komplette Musterrechnung

























Das Musterprogramm FERDINV


Das Musterprogramm FERDINV erstellt ein leeres PDF mit integriertem ZUGFeDR XML-Teil.
0001.00***************************************************************************
0002.00 * Program : Ferdinv
0003.00 * Descriptions : Sample FeRD document
0004.00 * Programmer : Toolmaker
0005.00 * Creation Date : 30.09.2015
0006.00***************************************************************************
0007.00 * H E A D E R - S P E C I F I C A T I O N S
0008.00***************************************************************************
0009.00 H/COPY Qcpylesrc,H_SPECSPDF
0010.00***************************************************************************
0011.00 * F I L E S P E C I F I C A T I O N S
0012.00***************************************************************************
0013.00***************************************************************************
0014.00 * P R O T O T Y P I N G / C O P Y M E M B E R
0015.00***************************************************************************
0016.00 D/COPY qprolesrc,pdfsrvpgm
0017.00 *
0018.00***************************************************************************
0019.00 * D E F I N I T I O N G L O B A L V A R I A B L E S
0020.00***************************************************************************
0021.00 d Handle s *
0022.00 d renra s 10 inz('12345')
0023.00 d datea s 8 inz('20150929')
0024.00 d sellername s 50 inz('Mustermann GmbH')
0025.00 d sellerline1 s 50 inz('Musterstrasse 7')
0026.00 d sellercity s 50 inz('München')
0027.00 d sellerplz s 5 inz('80000')
0028.00 d sellercountry s 3 inz('DE')
0029.00 d buyername s 50 inz('Einkauf AG')
0030.00 d buyerline1 s 50 inz('Einkaufstrasse 9')
0031.00 d buyercity s 50 inz('Hamburg')
0032.00 d buyerplz s 5 inz('20000')
0033.00 d buyercountry s 3 inz('DE')
0034.00 d curr s 3 inz('EUR')
0035.00 d vatid s 20 inz('DE123456789')
0036.00 d vatpera s 4 inz('19.0')
0037.00 d vatamounta s 15 inz('6,94')
0038.00 d Termtext s 256 inz('Zahlbar netto innerhalb von -
0039.00 d 14 Tagen')
0040.00 d totala s 15 inz('36,50')
0041.00 d gtotala s 15 inz('43,44')
0042.00 d line1 s 15 inz('1')
0043.00 d itemname1 s 15 inz('Äpfel')
0044.00 d quant1 s 15 inz('30')
0045.00 d amount1 s 15 inz('16,50')
0046.00 d line2 s 15 inz('2')
0047.00 d itemname2 s 15 inz('Birnen')
0048.00 d quant2 s 15 inz('20')
0049.00 d amount2 s 15 inz('20,00')
0050.00
0051.00***************************************************************************
0052.00 * M A I N P R O G R A M
0053.00***************************************************************************
0054.00 /Free
0055.00
0056.00 Handle=PDF_CreateDoc('(*license='' '') +
0057.00 (*Searchpath=/Toolmaker/Fonts) +
0058.00 (*Docname =/tmp/ferdempty.pdf) +
0059.00 (*Creator =RPG) +
0060.00 (*Author =Gerd Schramm) +
0061.00 (*dimension =mm) +
0062.00 (*direction =topdown) +
0063.00 (*docoptions=pdfa=PDF/A-3b metadata={filename={+
0064.00 ZUGFeRD_extension_schema.xmp}}) +
0065.00 (*Title =Test FeRD)');
0066.00 PDF_FERDDOC('(*Docnbr ='renra') +
0067.00 (*Docname =/tmp/ferdempty.pdf) +
0068.00 (*Doctype =380) +
0069.00 (*Docjjjjmmdd ='datea') +
0070.00 (*Sellername ='Sellername') +
0071.00 (*Sellerline1 ='sellerline1') +
0072.00 (*SellerPostcode ='sellerplz') +
0073.00 (*Sellercity ='sellercity') +
0074.00 (*Sellercountry ='sellercountry') +
0075.00 (*Buyername ='buyername') +
0076.00 (*Buyerline1 ='buyerline1') +
0077.00 (*BuyerPostcode ='buyerplz') +
0078.00 (*Buyercity ='buyercity') +
0079.00 (*Buyercountry ='buyercountry') +
0080.00 (*Currency ='curr') +
0081.00 (*Vatid ='vatid') +
0082.00 (*Vatpercent ='Vatpera') +
0083.00 (*Vatamount ='Vatamounta') +
0084.00 (*Payterm ='Termtext') +
0085.00 (*Total ='totala') +
0086.00 (*Grandtotal ='gtotala')');
0087.00 PDF_FERDITEM('(*Docnbr ='renra') +
0088.00 (*Docname =/tmp/ferdempty.pdf) +
0089.00 (*Doctype =380) +
0090.00 (*Docjjjjmmdd ='datea') +
0091.00 (*itemline ='line1') +
0092.00 (*itemname ='itemname1') +
0093.00 (*itemquantity ='quant1') +
0094.00 (*itemamount ='amount1')');
0095.00 PDF_FERDITEM('(*Docnbr ='renra') +
0096.00 (*Docname =/tmp/ferdempty.pdf) +
0097.00 (*Doctype =380) +
0098.00 (*Docjjjjmmdd ='datea') +
0099.00 (*itemline ='line2') +
0100.00 (*itemname ='itemname2') +
0101.00 (*itemquantity ='quant2') +
0102.00 (*itemamount ='amount2')');
0103.00 PDF_CloseDoc(Handle:' ');
0104.00 *Inlr=*on;
0105.00
0106.00 /End-free



Das Musterprogramm FERDINVPR


Dieses Programm erzeugt das lesbare PDF mit XML-Datei.
0001.00*************************************************************************** 0002.00 * Program : FeRDinvpr
0003.00 * Descriptions : Sample invoice FeRD with printable pdf
0004.00 * Programmer : Toolmaker
0005.00 * Creation Date : 17.11.2015
0006.00***************************************************************************
0007.00 * H E A D E R - S P E C I F I C A T I O N S
0008.00***************************************************************************
0009.00 H/COPY Qcpylesrc,H_SPECSPDF
0010.00***************************************************************************
0011.00 * F I L E S P E C I F I C A T I O N S
0012.00***************************************************************************
0013.00***************************************************************************
0014.00 * P R O T O T Y P I N G / C O P Y M E M B E R
0015.00***************************************************************************
0016.00 D/include qprolesrc,pdfsrvpgm
0017.00
0018.00 *
0019.00***************************************************************************
0020.00 * D E F I N I T I O N G L O B A L V A R I A B L E S
0021.00***************************************************************************
0022.00 d Handle s *
0023.00 d sellername s 50 inz('Toolmaker Advanced Efficiency -
0024.00 d GmbH')
0025.00 d sellerline1 s 50 inz('Westendstrasse 34')
0026.00 d sellercity s 50 inz('Kaufering')
0027.00 d sellerplz s 5 inz('86916')
0028.00 d sellercountry s 3 inz('DE')
0029.00 d buyername s 50 inz('Mustermann GmbH')
0030.00 d buyerline1 s 50 inz('Musterstrasse 34')
0031.00 d buyercity s 50 inz('München')
0032.00 d buyerplz s 5 inz('80000')
0033.00 d buyercountry s 3 inz('DE')
0034.00 d buyerkdnr s 5 inz('12345')
0035.00 d invnbra s 5 inz('54321')
0036.00 d curr s 3 inz('EUR')
0037.00 d vatid s 20 inz('DE123456789')
0038.00 d vattext s 30 inz('Mehrwertsteuer 19.0 %')
0039.00 d vatpera s 5 inz('19,00')
0040.00 d vatamounta s 15
0041.00 d vatpercent s 4 2 inz(19,00)
0042.00 d vatamount s 9 2
0043.00 d Termtext s 256 inz('Der Rechnungsbetrag ist inn-
0044.00 d erhalb von 14 Tagen netto zahlba-
0045.00 d r. Die Produkte bleiben bis zur -
0046.00 d vollständeigen Bezahlung unser E-
0047.00 d igentum. Es gelten unsere allgem-
0048.00 d einen Geschäftsbedingungen.')
0049.00 d total s 9 2
0050.00 d gtotal s 9 2
0051.00 d totala s 15
0052.00 d gtotala s 15
0053.00 d CurDat s d datfmt(*eur)
0054.00 d Today s 10
0055.00 d date8 s 8
0056.00 d Invnbr s 10i 0
0057.00 d line s 10i 0
0058.00 d x s 10i 0
0059.00 d xa s 3
0060.00 d linea s 5
0061.00 d pricea s 12
0062.00 d Fontsize s 6s 0 inz(12)
0063.00 d Stext s 4096 inz('Überschrift' )
0064.00 d Stext2 s 4096 inz('Farbbox' )
0065.00 d Txtsum s 4096 inz('Rechnungsbetrag netto')
0066.00 d gtotaltext s 4096 inz('Rechnungsbetrag brutto')
0067.00 d*
0068.00 D DSItem DS Qualified
0069.00 D 10I 0 inz(1)
0070.00 D 30A Varying inz('Software product 1')
0071.00 D 15A Varying inz('1')
0072.00 D 9 2 inz(1500,00)
0073.00 D 10I 0 inz(2)
0074.00 D 30A Varying inz('Software product 2')
0075.00 D 15A Varying inz('1')
0076.00 D 9 2 inz(3000,00)
0077.00 D 10I 0 inz(3)
0078.00 D 30A Varying inz('Software product 3')
0080.00 D 9 2 inz(4000,00)
0081.00 D 10I 0 inz(4)
0082.00 D 30A Varying inz('Software product 4')
0083.00 D 15A Varying inz('2')
0084.00 D 9 2 inz(3000,00)
0085.00 D 10I 0 inz(5)
0086.00 D 30A Varying inz('Software product 5')
0087.00 D 15A Varying inz('1')
0088.00 D 9 2 inz(4000,00)
0089.00 D 10I 0 inz(6)
0090.00 D 30A Varying inz('Software product 6')
0091.00 D 15A Varying inz('3')
0092.00 D 9 2 inz(6000,00)
0093.00 D 10I 0 inz(7)
0094.00 D 30A Varying inz('Software product 7')
0095.00 D 15A Varying inz('1')
0096.00 D 9 2 inz(1300,00)
0097.00 D 10I 0 inz(8)
0098.00 D 30A Varying inz('Software product 8')
0099.00 D 15A Varying inz('1')
0100.00 D 9 2 inz(2300,00)
0101.00 D 10I 0 inz(9)
0102.00 D 30A Varying inz('Software product 9')
0103.00 D 15A Varying inz('1')
0104.00 D 9 2 inz(1600,00)
0105.00 D 10I 0 inz(10)
0106.00 D 30A Varying inz('Software product 10')
0107.00 D 15A Varying inz('1')
0108.00 D 9 2 inz(1200,00)
0109.00 D 10I 0 inz(11)
0110.00 D 30A Varying inz('Software product 11')
0111.00 D 15A Varying inz('1')
0112.00 D 9 2 inz(6300,00)
0113.00 D 10I 0 inz(12)
0114.00 D 30A Varying inz('Software product 12')
0115.00 D 15A Varying inz('3')
0116.00 D 9 2 inz(3300,00)
0117.00 D 10I 0 inz(13)
0118.00 D 30A Varying inz('Software product 13')
0119.00 D 15A Varying inz('4')
0120.00 D 9 2 inz(4400,00)
0121.00 D Arr Dim(13) Overlay(DSItem)
0122.00 D Num 10I 0 Overlay(Arr)
0123.00 D Item 30A Varying Overlay(Arr: *Next)
0124.00 D quantity 15A Varying Overlay(Arr: *Next)
0125.00 D Price 9 2 Overlay(Arr: *Next)
0126.00
0127.00***************************************************************************
0128.00 * M A I N P R O G R A M
0129.00***************************************************************************
0130.00 /Free
0131.00 CurDat=%date();
0132.00 today=%char(curdat);
0133.00 date8 = %char(curdat:*iso);
0134.00
0135.00 Handle=PDF_CreateDoc('(*license=I900205-010741-134441-UV7NH2-JPHL62)+
0136.00 (*Searchpath=/Toolmaker/Fonts) +
0137.00 (*Docname =/tmp/Ferdinv.pdf)' +
0138.00 '(*Creator =RPG) +
0139.00 (*Author =Gerd Schramm) +
0140.00 (*pdidoc =forminv.pdf) +
0141.00 (*dimension =mm) +
0142.00 (*direction =topdown) +
0143.00 (*docoptions=pdfa=PDF/A-3b metadata={filename={+
0144.00 ZUGFeRD_extension_schema.xmp}}) +
0145.00 (*pagenbr =0) +
0146.00 (*pagex =110) +
0147.00 (*pagey =290) +
0148.00 (*Title =Test invoice)');
0149.00
0150.00 invnbr+=1;
0151.00 exsr head;
0152.00
0153.00 For x=1 to 13;
0154.00 If line>250;
0155.00 PDF_NextPage(Handle:'');
0156.00 exsr head;
0157.00 Endif;
0158.00 line+=10;
0159.00 linea=%char(line);
0160.00 xa =%char(error);
0161.00 total+=dsitem.price(error);
0162.00 pricea=%editw(dsitem.price(error):' . . , ');
0163.00
0164.00 PDF_TextLine(Handle:'(*singletext='xa')' +
0165.00 ' (*textx =25) +
0166.00 (*texty ='linea')' +
0167.00 '(*font =LuciduxSans-Oblique) +
0168.00 (*fontencoding=unicode) +
0169.00 (*fontoption =embedding) +
0170.00 (*fontsize =10)');
0171.00 PDF_TextLine(Handle:'(*singletext='dsitem.item(error)')' +
0172.00 '(*textx =35) +
0173.00 (*texty ='linea')' +
0174.00 '(*font =LuciduxSans-Oblique) +
0175.00 (*fontencoding=unicode) +
0176.00 (*fontoption =embedding) +
0177.00 (*fontsize =10)');
0178.00 PDF_TextLine(Handle:'(*singletext='dsitem.quantity(error)')' +
0179.00 '(*textx =110) +
0180.00 (*texty ='linea')' +
0181.00 '(*font =LuciduxSans-Oblique) +
0182.00 (*fontencoding=unicode) +
0183.00 (*fontoption =embedding) +
0184.00 (*fontsize =10)');
0185.00 PDF_TextLine(Handle:'(*singletext='curr')' +
0186.00 '(*textx =130) +
0187.00 (*texty ='linea')' +
0188.00 '(*font =LuciduxSans-Oblique) +
0189.00 (*fontencoding=unicode) +
0190.00 (*fontoption =embedding) +
0191.00 (*fontsize =10)');
0192.00 PDF_TextLine(Handle:'(*singletext='pricea')' +
0193.00 '(*textx =140) +
0194.00 (*texty ='linea')' +
0195.00 '(*font =LuciduxSans-Oblique) +
0196.00 (*fontencoding=unicode) +
0197.00 (*fontoption =embedding) +
0198.00 (*fontsize =10)');
0199.00 Endfor;
0200.00 exsr sum;
0201.00 PDF_CloseDoc(Handle:' ');
0202.00 *Inlr=*on;
0203.00//*************************************************************************
0204.00 begsr sum;
0205.00 If line>250;
0206.00 PDF_NextPage(Handle:'');
0207.00 exsr head;
0208.00 Endif;
0209.00 line+=10;
0210.00 linea=%char(line);
0211.00 vatamount=total*vatpercent/100;
0212.00 vatamounta=%editw(vatamount:' . . , ');
0213.00 gtotal=vatamount+total;
0214.00 totala=%editw(total:' . . , ');
0215.00 gtotala=%editw(gtotal:' . . , ');
0216.00
0217.00 PDF_TextLine(Handle:'(*singletext=------------) +
0218.00 (*textx =140) +
0219.00 (*texty ='linea')' +
0220.00 '(*textoption =fillcolor={gray 0.5}) +
0221.00 (*font =LuciduxSans-Oblique) +
0222.00 (*fontencoding=unicode) +
0223.00 (*fontoption =embedding) +
0224.00 (*fontsize =10)');
0225.00 line+=10;
0226.00 linea=%char(line);
0227.00 PDF_TextLine(Handle:'(*singletext='txtsum')' +
0228.00 '(*textx =35) +
0229.00 (*texty ='linea')' +
0230.00 '(*textoption =fillcolor={gray 0.5}) +
0231.00 (*font =LuciduxSans-Oblique) +
0232.00 (*fontencoding=unicode) +
0233.00 (*fontoption =embedding) +
0234.00 (*fontsize =10)');
0235.00 PDF_TextLine(Handle:'(*singletext='curr')' +
0236.00 '(*textx =130) +
0237.00 (*texty ='linea')' +
0238.00 '(*font =LuciduxSans-Oblique) +
0239.00 (*fontencoding=unicode) +
0221.00 (*font =LuciduxSans-Oblique) +
0222.00 (*fontencoding=unicode) +
0223.00 (*fontoption =embedding) +
0224.00 (*fontsize =10)');
0225.00 line+=10;
0226.00 linea=%char(line);
0227.00 PDF_TextLine(Handle:'(*singletext='txtsum')' +
0228.00 '(*textx =35) +
0229.00 (*texty ='linea')' +
0230.00 '(*textoption =fillcolor={gray 0.5}) +
0231.00 (*font =LuciduxSans-Oblique) +
0232.00 (*fontencoding=unicode) +
0233.00 (*fontoption =embedding) +
0234.00 (*fontsize =10)');
0235.00 PDF_TextLine(Handle:'(*singletext='curr')' +
0236.00 '(*textx =130) +
0237.00 (*texty ='linea')' +
0238.00 '(*font =LuciduxSans-Oblique) +
0239.00 (*fontencoding=unicode) +
0240.00 (*fontoption =embedding) +
0222.00 (*fontencoding=unicode) +
0223.00 (*fontoption =embedding) +
0224.00 (*fontsize =10)');
0225.00 line+=10;
0226.00 linea=%char(line);
0227.00 PDF_TextLine(Handle:'(*singletext='txtsum')' +
0228.00 '(*textx =35) +
0229.00 (*texty ='linea')' +
0230.00 '(*textoption =fillcolor={gray 0.5}) +
0231.00 (*font =LuciduxSans-Oblique) +
0232.00 (*fontencoding=unicode) +
0233.00 (*fontoption =embedding) +
0234.00 (*fontsize =10)');
0235.00 PDF_TextLine(Handle:'(*singletext='curr')' +
0236.00 '(*textx =130) +
0237.00 (*texty ='linea')' +
0238.00 '(*font =LuciduxSans-Oblique) +
0239.00 (*fontencoding=unicode) +
0240.00 (*fontoption =embedding) +
0241.00 (*fontsize =10)');
0242.00 PDF_TextLine(Handle:'(*singletext='totala')' +
0243.00 '(*textx =140) +
0244.00 (*texty ='linea')' +
0245.00 '(*font =LuciduxSans-Oblique) +
0246.00 (*fontencoding=unicode) +
0247.00 (*fontoption =embedding) +
0248.00 (*fontsize =10)');
0249.00 line+=10;
0250.00 linea=%char(line);
0251.00 PDF_TextLine(Handle:'(*singletext=------------) +
0252.00 (*textx =140) +
0253.00 (*texty ='linea')' +
0254.00 '(*textoption =fillcolor={gray 0.5}) +
0255.00 (*font =LuciduxSans-Oblique) +
0256.00 (*fontencoding=unicode) +
0257.00 (*fontoption =embedding) +
0258.00 (*fontsize =10)');
0259.00 line+=10;
0260.00 linea=%char(line);
0261.00 PDF_TextLine(Handle:'(*singletext='vattext')' +
0243.00 '(*textx =140) +
0244.00 (*texty ='linea')' +
0245.00 '(*font =LuciduxSans-Oblique) +
0246.00 (*fontencoding=unicode) +
0247.00 (*fontoption =embedding) +
0248.00 (*fontsize =10)');
0249.00 line+=10;
0250.00 linea=%char(line);
0251.00 PDF_TextLine(Handle:'(*singletext=------------) +
0252.00 (*textx =140) +
0253.00 (*texty ='linea')' +
0254.00 '(*textoption =fillcolor={gray 0.5}) +
0255.00 (*font =LuciduxSans-Oblique) +
0256.00 (*fontencoding=unicode) +
0257.00 (*fontoption =embedding) +
0258.00 (*fontsize =10)');
0259.00 line+=10;
0260.00 linea=%char(line);
0261.00 PDF_TextLine(Handle:'(*singletext='vattext')' +
0262.00 '(*textx =35) +
0263.00 (*texty ='linea')' +
0264.00 '(*textoption =fillcolor={gray 0.5}) +
0265.00 (*font =LuciduxSans-Oblique) +
0266.00 (*fontencoding=unicode) +
0267.00 (*fontoption =embedding) +
0268.00 (*fontsize =10)');
0269.00 PDF_TextLine(Handle:'(*singletext='curr')' +
0270.00 '(*textx =130) +
0271.00 (*texty ='linea')' +
0272.00 '(*font =LuciduxSans-Oblique) +
0273.00 (*fontencoding=unicode) +
0274.00 (*fontoption =embedding) +
0275.00 (*fontsize =10)');
0276.00 PDF_TextLine(Handle:'(*singletext='vatamounta')' +
0277.00 '(*textx =140) +
0278.00 (*texty ='linea')' +
0279.00 '(*font =LuciduxSans-Oblique) +
0280.00 (*fontencoding=unicode) +
0281.00 (*fontoption =embedding) +
0282.00 (*fontsize =10)');
0283.00 line+=10;
0284.00 linea=%char(line);
0285.00 PDF_TextLine(Handle:'(*singletext=------------) +
0286.00 (*textx =140) +
0287.00 (*texty ='linea')' +
0288.00 '(*textoption =fillcolor={gray 0.5}) +
0289.00 (*font =LuciduxSans-Oblique) +
0290.00 (*fontencoding=unicode) +
0291.00 (*fontoption =embedding) +
0292.00 (*fontsize =10)');
0293.00 line+=10;
0294.00 linea=%char(line);
0295.00 PDF_TextLine(Handle:'(*singletext='gtotaltext')' +
0296.00 '(*textx =35) +
0297.00 (*texty ='linea')' +
0298.00 '(*textoption =fillcolor={gray 0.5}) +
0299.00 (*font =LuciduxSans-Oblique) +
0300.00 (*fontencoding=unicode) +
0301.00 (*fontoption =embedding) +
0302.00 (*fontsize =10)');
0303.00 PDF_TextLine(Handle:'(*singletext='curr')' +
0304.00 '(*textx =130) +
0305.00 (*texty ='linea')' +
0306.00 '(*font =LuciduxSans-Oblique) +
0307.00 (*fontencoding=unicode) +
0308.00 (*fontoption =embedding) +
0309.00 (*fontsize =10)');
0310.00 PDF_TextLine(Handle:'(*singletext='gtotala')' +
0311.00 '(*textx =140) +
0312.00 (*texty ='linea')' +
0313.00 '(*font =LuciduxSans-Oblique) +
0314.00 (*fontencoding=unicode) +
0315.00 (*fontoption =embedding) +
0316.00 (*fontsize =10)');
0317.00 PDF_FERDDOC('(*Docnbr ='invnbra') +
0318.00 (*Docname =/tmp/ferdinv.pdf) +
0319.00 (*Doctype =380) +
0320.00 (*Docjjjjmmdd ='date8') +
0321.00 (*Sellername ='Sellername') +
0322.00 (*Sellerline1 ='sellerline1') +
0323.00 (*SellerPostcode ='sellerplz') +
0324.00 (*Sellercity ='sellercity') +
0325.00 (*Sellercountry ='sellercountry') +
0326.00 (*Buyername ='buyername') +
0327.00 (*Buyerline1 ='buyerline1') +
0328.00 (*BuyerPostcode ='buyerplz') +
0329.00 (*Buyercity ='buyercity') +
0330.00 (*Buyercountry ='buyercountry') +
0331.00 (*Currency ='curr') +
0332.00 (*Vatid ='vatid') +
0333.00 (*Vatpercent ='Vatpera') +
0334.00 (*Vatamount ='Vatamounta') +
0335.00 (*Payterm ='Termtext') +
0336.00 (*Total ='totala') +
0337.00 (*Grandtotal ='gtotala')');
0338.00 For x=1 to 13;
0339.00 xa=%char(error);
0340.00 pricea=%editw(dsitem.price(error):' . . , ');
0341.00 PDF_FERDITEM('(*Docnbr ='invnbra') +
0342.00 (*Docname =/tmp/ferdinv.pdf) +
0343.00 (*Doctype =380) +
0344.00 (*Docjjjjmmdd ='date8') +
0345.00 (*itemline ='xa') +
0346.00 (*itemname ='dsitem.item(error)') +
0347.00 (*itemquantity ='dsitem.quantity(error)') +
0348.00 (*itemamount ='pricea')');
0349.00 EndFor;
0350.00 endsr;
0351.00//*************************************************************************
0352.00 begsr head;
0353.00 PDF_TextLine(Handle:'(*singletext='buyername')' +
0354.00 '(*textx =25) +
0355.00 (*texty =70) +
0356.00 (*font =LuciduxSans-Oblique) +
0357.00 (*fontencoding=unicode) +
0358.00 (*fontoption =embedding) +
0359.00 (*fontsize =10)');
0360.00 PDF_TextLine(Handle:'(*singletext='buyerline1')' +
0361.00 '(*textx =25) +
0362.00 (*texty =75) +
0363.00 (*font =LuciduxSans-Oblique) +
0364.00 (*fontencoding=unicode) +
0365.00 (*fontsize =10)');
0366.00 PDF_TextLine(Handle:'(*singletext='buyerplz')' +
0367.00 '(*textx =25) +
0368.00 (*texty =85) +
0369.00 (*font =LuciduxSans-Oblique) +
0370.00 (*fontencoding=unicode) +
0371.00 (*fontoption =embedding) +
0372.00 (*fontsize =10)');
0373.00 PDF_TextLine(Handle:'(*singletext='buyercity')' +
0374.00 '(*textx =50) +
0375.00 (*texty =85) +
0376.00 (*font =LuciduxSans-Oblique) +
0377.00 (*fontencoding=unicode) +
0378.00 (*fontoption =embedding) +
0379.00 (*fontsize =10)');
0380.00 PDF_TextLine(Handle:'(*singletext='buyerkdnr')' +
0381.00 '(*textx =60) +
0382.00 (*texty =120) +
0364.00 (*fontencoding=unicode) +
0365.00 (*fontsize =10)');
0366.00 PDF_TextLine(Handle:'(*singletext='buyerplz')' +
0367.00 '(*textx =25) +
0368.00 (*texty =85) +
0369.00 (*font =LuciduxSans-Oblique) +
0370.00 (*fontencoding=unicode) +
0371.00 (*fontoption =embedding) +
0372.00 (*fontsize =10)');
0373.00 PDF_TextLine(Handle:'(*singletext='buyercity')' +
0374.00 '(*textx =50) +
0375.00 (*texty =85) +
0376.00 (*font =LuciduxSans-Oblique) +
0377.00 (*fontencoding=unicode) +
0378.00 (*fontoption =embedding) +
0379.00 (*fontsize =10)');
0380.00 PDF_TextLine(Handle:'(*singletext='buyerkdnr')' +
0381.00 '(*textx =60) +
0382.00 (*texty =120) +
0383.00 (*font =LuciduxSans-Oblique) +
0384.00 (*fontencoding=unicode) +
0385.00 (*fontoption =embedding) +
0386.00 (*fontsize =10)');
0387.00 PDF_TextLine(Handle:'(*singletext='invnbra')' +
0388.00 '(*textx =120) +
0389.00 (*texty =120) +
0390.00 (*font =LuciduxSans-Oblique) +
0391.00 (*fontencoding=unicode) +
0392.00 (*fontoption =embedding) +
0393.00 (*fontsize =10)');
0394.00 PDF_TextLine(Handle:'(*singletext='today')' +
0395.00 '(*textx =165) +
0396.00 (*texty =120) +
0397.00 (*font =LuciduxSans-Oblique) +
0398.00 (*fontencoding=unicode) +
0399.00 (*fontoption =embedding) +
0400.00 (*fontsize =10)');
0401.00
0402.00 line =140;
0403.00 linea=%char(line);
0404.00 PDF_TextLine(Handle:'(*singletext=Nr)' +
0405.00 ' (*textx =25) +
0406.00 (*texty ='linea')' +
0407.00 '(*textoption =fillcolor={gray 0.5}) +
0408.00 (*font =LuciduxSans-Oblique) +
0409.00 (*fontencoding=unicode) +
0410.00 (*fontoption =embedding) +
0411.00 (*fontsize =10)');
0412.00 PDF_TextLine(Handle:'(*singletext=Artikel)' +
0413.00 '(*textx =35) +
0414.00 (*texty ='linea')' +
0415.00 '(*textoption =fillcolor={gray 0.5}) +
0416.00 (*font =LuciduxSans-Oblique) +
0417.00 (*fontencoding=unicode) +
0418.00 (*fontoption =embedding) +
0419.00 (*fontsize =10)');
0420.00 PDF_TextLine(Handle:'(*singletext=Menge)' +
0421.00 '(*textx =105) +
0422.00 (*texty ='linea')' +
0423.00 '(*textoption =fillcolor={gray 0.5}) +
0424.00 (*font =LuciduxSans-Oblique) +
0425.00 (*fontencoding=unicode) +
0426.00 (*fontoption =embedding) +
0427.00 (*fontsize =10)');
0428.00 PDF_TextLine(Handle:'(*singletext=Währung)' +
0429.00 '(*textx =125) +
0430.00 (*texty ='linea')' +
0431.00 '(*textoption =fillcolor={gray 0.5}) +
0432.00 (*font =LuciduxSans-Oblique) +
0433.00 (*fontencoding=unicode) +
0434.00 (*fontoption =embedding) +
0435.00 (*fontsize =10)');
0436.00 PDF_TextLine(Handle:'(*singletext=Preis)' +
0437.00 '(*textx =145) +
0438.00 (*texty ='linea')' +
0439.00 '(*textoption =fillcolor={gray 0.5}) +
0440.00 (*font =LuciduxSans-Oblique) +
0441.00 (*fontencoding=unicode) +
0442.00 (*fontoption =embedding) +
0443.00 (*fontsize =10)');
0444.00 endsr;
0445.00 //***************************************************************************
0446.00 /End-free

Das Musterprogramm FERDRetrieve


Das Programm extrahiert die XML-Datei aus dem PDF/A-3b Ferdinv.pdf.

0001.00***************************************************************************
0002.00 * Program : Ferdretr
0003.00 * Descriptions : Retrieve xml from pdf
0004.00 * Programmer : Toolmaker
0005.00 * Creation Date : 17.11.2015
0006.00***************************************************************************
0007.00 * H E A D E R - S P E C I F I C A T I O N S
0008.00***************************************************************************
0009.00 H/COPY Qcpylesrc,H_SPECSPDF
0010.00***************************************************************************
0011.00 * F I L E S P E C I F I C A T I O N S
0012.00***************************************************************************
0013.00***************************************************************************
0014.00 * P R O T O T Y P I N G / C O P Y M E M B E R
0015.00***************************************************************************
0016.00 D/include qprolesrc,pdfsrvpgm
0017.00 *
0018.00***************************************************************************
0019.00 * D E F I N I T I O N G L O B A L V A R I A B L E S
0020.00***************************************************************************
0021.00
0022.00***************************************************************************
0023.00 * M A I N P R O G R A M
0024.00***************************************************************************
0025.00 /Free
0026.00
0027.00 PDF_FERDRETRIEVE('(*Docname =/tmp/Ferdinv.pdf) +
0028.00 (*xmlfile =/tmp/zugferd.xml)');
0029.00 *Inlr=*on;
0030.00
0031.00 /End-free

  • No labels