Hola Jose Antonio:
 
Estos ejemplos están sacados de un "RedBook" de IBM, no recuerdo ahora mismo su 
título. Espero te sirvan.
 
Un saludo, 


Javier Mora 


________________________________

        De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Jose 
Antonio
        Enviado el: martes, 30 de septiembre de 2008 9:03
        Para: forum help400
        Asunto: Mapping program en RPG
        
        

         

         

         

        Hola a todos. 

         

                            Estoy trasteando el infoprint Server y trato de 
guardar el PDF en un directorio especifico. Tiene alguien algún ejemplo de 
mapping program para poder hacer esto.

         

        Saludos.

         

     A*  RECORD FORMAT TO CREAT EMLOOKUP PHYSICAL FILE
     A*  CONTAINS DATA FOR THE PDF DISTRIBUTION
     A*
     A                                      UNIQUE
     A          R EMEMAILR
     A            CUSTNO         6A         COLHDG('CUSTOMER' 'NUMBER')
     A            COMP          25A         COLHDG('COMPANY' 'NAME')
     A            PERSON        25A         COLHDG('CONTACT')
     A            EADDR         80A         COLHDG('EMAIL' 'ADDRESS')
     A            DISPEMAIL      1A         COLHDG('SEND AS E-MAIL Y/N')
     A                                      VALUES('Y' 'N')
     A            DISPIFS        1A         COLHDG('STORE IN IFS   Y/N')
     A                                      VALUES('Y' 'N')
     A            DISPPDF        1A         COLHDG('PRINT AS PDF   Y/N')
     A                                      VALUES('Y' 'N')
     A            DISPAFP        1A         COLHDG('PRINT AS AFP   Y/N')
     A                                      VALUES('Y' 'N')
     A          K CUSTNO
     FLOOKUP    IF   E           K DISK    EXTFILE('QGPL/LOOKUP')
     D*
     D INPUTDS         DS
     D  JOBNAM                 1     26
     D  SPLFID                27     36
     D  SPLNO                 37     40B 0
     D  RTGTAG                41    290
     D  PDFFILE              291    630
     D  SVRTYPE              631    631
     D  RES1                 632    632
     D  PATHCCSID            633    636B 0
     D  SENDER               637    646
     D  USRDTA               647    656
     D  SYSNAME              657    664
     D  TIMESTMP             665    672
     D  OUTQ                 673    682
     D  OUTQLIB              683    692
     D  RES5                 693    712
     D  FORMTYPE             713    722
     D**********************************************
     D OUTDS           DS
     D  DISPOSTN                      1
     D  CALLAGIN                      1
     D  RES2                          2
     D  MSGLEN                        9B 0
     D  ADDRLEN                       9B 0
     D  MSGTEXT                     255
     D  RES3                          1
     D  EXTOFF                        9B 0
     D  CCSID                         9B 0
     D  DSPPDFSTMF                    1
     D  DSPPDFSPLF                    1
     D  DSPPDFERR                     1
     D  DSPAFPSPLF                    1
     D  RES4                          7
     D  ADDRESS                     255
     D*
     D  EXTLEN                        9B 0
     D  SUBOFF                        9B 0
     D  SUBLEN                        9B 0
     D  RPLYOFF                       9B 0
     D  RPLYLEN                       9B 0
     D  CCOFF                         9B 0
     D  CCLEN                         9B 0
     D  BCCOFF                        9B 0
     D  BCCLEN                        9B 0
     D  BDYPTHOFF                     9B 0
     D  DIRPTHOFF                     9B 0
     D  DIRPTHLEN                     9B 0
     D  ATTPTHOFF                     9B 0
     D  STMFNAMOFF                    9B 0
     D  STMFNAMLEN                    9B 0
     D  EATTNAMOFF                    9B 0
     D  EATTNAMLEN                    9B 0
     D  PUBAUTOFF                     9B 0
     D  PUBAUTLEN                     9B 0
     D  PDFSPLOFF                     9B 0
     D  PDFSPLLEN                     9B 0
     D  AFPSPLOFF                     9B 0
     D  AFPSPLLEN                     9B 0
     D  ENCRPTOFF                     9B 0
     D  ENCRPTLEN                     9B 0
     D*
     D  EXTSUBJ                      80
     D  EXTRPLY                      80
     D  EXTCC                        80
     D  EXTBCC                       80
     D*
     D  BDYLEN                        9B 0
     D  BDYNUM                        9B 0
     D  BDYX1                         9B 0
     D  BDYY1                         9B 0
     D  BDYOFF1                       9B 0
     D  BDYPLEN1                      9B 0
     D  BDYUSE1                       1
     D  BDYRES1                       3
     D  BDYPTH1                      80
     D  BDYX2                         9B 0
     D  BDYY2                         9B 0
     D  BDYOFF2                       9B 0
     D  BDYPLEN2                      9B 0
     D  BDYUSE2                       1
     D  BDYRES2                       3
     D  BDYPTH2                      80
     D  BDYX3                         9B 0
     D  BDYY3                         9B 0
     D  BDYOFF3                       9B 0
     D  BDYPLEN3                      9B 0
     D  BDYUSE3                       1
     D  BDYRES3                       3
     D  BDYPTH3                      80
     D*
     D  ATTLEN                        9B 0
     D  ATTNUMB                       9B 0
     D  ATTX1                         9B 0
     D  ATTY1                         9B 0
     D  ATTOFF1                       9B 0
     D  ATTPLEN1                      9B 0
     D  ATTUSE1                       1
     D  ATTRES1                       3
     D  ATTPTH1                      80
     D  ATTX2                         9B 0
     D  ATTY2                         9B 0
     D  ATTOFF2                       9B 0
     D  ATTPLEN2                      9B 0
     D  ATTUSE2                       1
     D  ATTRES2                       3
     D  ATTPTH2                      80
     D  ATTX3                         9B 0
     D  ATTY3                         9B 0
     D  ATTOFF3                       9B 0
     D  ATTPLEN3                      9B 0
     D  ATTUSE3                       1
     D  ATTRES3                       3
     D  ATTPTH3                      80
     D*
     D  DIRPTH                       80
     D*
     D  PDFSTMFNAM                   80
     D  PDFATTNAM                    80
     D  PDFPUBAUT                    10
     D*
     D  PDFOUTQ                      10
     D  PDFOUTQLIB                   10
     D  PDFSPLNAM                    10
     D  PDFUSRDTA                    10
     D  PDFUSRDFN                   255
     D  PDFFORM                      10
     D*
     D  AFPOUTQ                      10
     D  AFPOUTQLIB                   10
     D  AFPSPLNAM                    10
     D  AFPUSRDTA                    10
     D  AFPUSRDFN                   255
     D  AFPFORM                      10
     D*
     D  PDFMASTPW                    32
     D  PDFUSRPW                     32
     D  PDFPRT                        1
     D  PDFDOCCHG                     1
     D  PDFCOPY                       1
     D  PDFENCLVL                     1
     D  PDFCNTACC                     1
     D  PDFCHGCMT                     1
     D  PDFDOCASB                     1
     D*
     D INPUTLEN        S              9B 0
     D OUTPUTLEN       S              9B 0
     D OUTINFO         S              9B 0
     D**********************************************
     C     *ENTRY        PLIST
     C                   PARM                    INPUTDS
     C                   PARM                    INPUTLEN
     C                   PARM                    OUTDS
     C                   PARM                    OUTPUTLEN
     C                   PARM                    OUTINFO
     C
     C* Check to see if the output buffer is large enough.  OUTPUTLEN
     C* contains the initial length of the output buffer.  If it is not
     C* large enough, return with OUTINFO set to be the length required.
     C* This program will be called right back with OUTPUTLEN = OUTINFO.
     C*
     C                   EVAL      OUTINFO   = 2509
     C     OUTINFO       IFGT      OUTPUTLEN
     C                   RETURN
     C                   ENDIF
     C*
     C* Set data structure to all '00's, to make sure there is no stray data in
     C* any unused fields.
     C*
     C                   MOVE      *ALLx'00'     OUTDS
     C*
     C* Set more processing (CALLAGIN), reserved fields, and pointer to
     C* extension area.
     C                   EVAL      CALLAGIN = '0'
     C                   EVAL      RES2     = X'0000'
     C                   EVAL      RES3     = X'00'
     C                   EVAL      RES4     = X'00000000000000'
     C                   EVAL      EXTOFF   = 542
     C                   EVAL      EXTLEN   = 100
     C*
     C* Lookup customer preferences record
     C                   SUBST     RTGTAG        CUSTNO            6
     C     CUSTNO        CHAIN     LOOKUP
     C
     C* If customer record not found, tell PSF to send a message to PDFADMIN
     C* by turning on the DSPPDFERR code.
     C                   IF        NOT %FOUND
     C                   EVAL      DSPPDFSTMF = '0'
     C                   EVAL      DSPPDFSPLF = '0'
     C                   EVAL      DSPPDFERR  = '1'
     C                   EVAL      DSPAFPSPLF = '0'
     C                   EVAL      EXTOFF   = 0
     C                   RETURN
     C                   ENDIF
     C*
     C* Error condition does not exist if found customer record.
     C                   EVAL      DSPPDFERR  = '0'
     C*
     C* Customer found - evaluate different distributions.
     C*
     C* Check customer preference for e-mail
     C     DISPEMAIL     IFEQ      'Y'
     C*   Mail the file
     C*     Base fields for e-mail
     C                   EVAL      DISPOSTN = '1'
     C                   EVAL      MSGLEN    = 255
     C                   EVAL      ADDRLEN   = 255
     C                   EVAL      MSGTEXT = 'Hello '
     C                             + %TRIMR(PERSON) +', this is your invoice '
     C                             + 'for ' + %TRIMR(COMP)+'.'
     C                   EVAL      CCSID    = 0
     C                   EVAL      ADDRESS = EADDR
     C*     Extension Area for e-mail
     C*       Subject
     C                   EVAL      SUBOFF   = 642
     C                   EVAL      SUBLEN   = 80
     C                   EVAL      EXTSUBJ  = 'Using Intelligent Routing'
     C*       Reply-to address for e-mail
     C                   EVAL      RPLYOFF  = 722
     C                   EVAL      RPLYLEN  = 80
     C                   EVAL      EXTRPLY  = '''[EMAIL PROTECTED]'''
     C*       CC address for e-mail
     C                   EVAL      CCOFF    = 802
     C                   EVAL      CCLEN    = 80
     C                   EVAL      EXTCC    = '''[EMAIL PROTECTED]'''
     C                                       +'''[EMAIL PROTECTED]'''
     C*       BCC address for e-mail
     C                   EVAL      BCCOFF   = 882
     C                   EVAL      BCCLEN   = 80
     C                   EVAL      EXTBCC   = '''[EMAIL PROTECTED]'''
     C*       Rename PDF attachment
     C                   EVAL      EATTNAMOFF = 1738
     C                   EVAL      PDFATTNAM = 'Invoice #'
     C                             + %subst(rtgtag:7:5) + '.pdf'
     C                   EVAL      EATTNAMLEN = 80
     C*
     C*     Encryption of PDF file for e-mail
     C                   EVAL      ENCRPTOFF  = 2438
     C                   EVAL      ENCRPTLEN  = 71
     C*
     C                   EVAL      PDFMASTPW = 'master'
     C                   EVAL      PDFUSRPW  = ''
     C                   EVAL      PDFPRT    = '1'
     C                   EVAL      PDFDOCCHG = '0'
     C                   EVAL      PDFCOPY   = '0'
     C                   EVAL      PDFENCLVL = '2'
     C                   EVAL      PDFCNTACC = '1'
     C                   EVAL      PDFCHGCMT = '1'
     C                   EVAL      PDFDOCASB = '0'
     C*
     C*     Directory for Body and Attachment files
     C                   EVAL      DIRPTHOFF = 1578
     C                   EVAL      DIRPTHLEN = 80
     C                   EVAL      DIRPTH = '/most'
     C*
     C*     Set up body files
     C                   EVAL      BDYPTHOFF = 962
     C                   EVAL      BDYLEN  = 308
     C                   EVAL      BDYNUM  = 3
     C*
     C*       Set up 1st body file
     C                   EVAL      BDYX1   = 100
     C                   EVAL      BDYY1   = 20
     C                   EVAL      BDYOFF1 = 20
     C                   EVAL      BDYUSE1 = '1'
     C                   EVAL      BDYRES1 = X'000000'
     C                   EVAL      BDYPTH1 = 'sample.htm'
     C                   EVAL      BDYPLEN1= %len(%trim(bdypth1))
     C*       Set up 2nd body file
     C                   EVAL      BDYX2   = 100
     C                   EVAL      BDYY2   = 20
     C                   EVAL      BDYOFF2 = 20
     C                   EVAL      BDYUSE2 = '0'
     C                   EVAL      BDYRES2 = X'000000'
     C                   EVAL      BDYPTH2 = '/More/iris.jpg'
     C                   EVAL      BDYPLEN2= %len(%trim(bdypth2))
     C*       Set up 3rd body file
     C                   EVAL      BDYX3   = 100
     C                   EVAL      BDYY3   = 20
     C                   EVAL      BDYOFF3 = 20
     C                   EVAL      BDYUSE3 = '1'
     C                   EVAL      BDYRES3 = X'000000'
     C                   EVAL      BDYPTH3 = 'ascii.txt'
     C                   EVAL      BDYPLEN3= %len(%trim(bdypth3))
     C*
     C*     Set up attachment files
     C                   EVAL      ATTPTHOFF = 1270
     C                   EVAL      ATTLEN  = 108
     C                   EVAL      ATTNUMB = 1
     C*
     C*       Set up 1st attachment file
     C                   EVAL      ATTX1   = 100
     C                   EVAL      ATTY1   = 20
     C                   EVAL      ATTOFF1 = 20
     C                   EVAL      ATTUSE1 = '1'
     C                   EVAL      ATTRES1 = X'000000'
     C                   EVAL      ATTPTH1 = 'prices.123'
     C                   EVAL      ATTPLEN1= %len(%trim(attpth1))
     C*       Set up 2nd attachment file
     C                   EVAL      ATTX2   = 100
     C                   EVAL      ATTY2   = 20
     C                   EVAL      ATTOFF2 = 20
     C                   EVAL      ATTUSE2 = '0'
     C                   EVAL      ATTRES2 = X'000000'
     C                   EVAL      ATTPTH2 = ''
     C                   EVAL      ATTPLEN2= %len(%trim(attpth2))
     C*       Set up a 3rd attachment file
     C                   EVAL      ATTX3   = 100
     C                   EVAL      ATTY3   = 20
     C                   EVAL      ATTOFF3 = 20
     C                   EVAL      ATTUSE3 = '1'
     C                   EVAL      ATTRES3 = X'000000'
     C                   EVAL      ATTPTH3 = ''
     C                   EVAL      ATTPLEN3= %len(%trim(attpth3))
     C*
     C                   ELSE
     C*
     C*   Do not e-mail
     C                   EVAL      DISPOSTN = '0'
     C                   EVAL      MSGLEN    = 0
     C                   EVAL      ADDRLEN   = 0
     C                   EVAL      MSGTEXT  = ''
     C                   EVAL      ADDRESS = ''
     C*
     C                   ENDIF
     C*
     C* Check customer preference for storage in IFS
     C     DISPIFS       IFEQ      'Y'
     C*
     C*   Store the PDF file as a Stream File
     C                   EVAL      DSPPDFSTMF = '1'
     C*     Rename & set Authority for STMF
     C                   EVAL      STMFNAMOFF = 1658
     C                   EVAL      PDFSTMFNAM = '/invoices/2004-01/'
     C                             + %SUBST(rtgtag:7:5) + '.pdf'
     C                   EVAL      STMFNAMLEN = 80
     C                   EVAL      PUBAUTOFF  = 1818
     C                   EVAL      PDFPUBAUT = '*R'
     C                   EVAL      PUBAUTLEN  = %len(%trim(pdfpubaut))
     C*
     C                   ELSE
     C*
     C*   Do not store as stream file
     C                   EVAL      DSPPDFSTMF = '0'
     C                   EVAL      STMFNAMOFF = 0
     C                   EVAL      STMFNAMLEN = 0
     C*
     C                   ENDIF
     C*
     C* Check customer preference for creation of PDF Spooled File
     C     DISPPDF       IFEQ      'Y'
     C*
     C*   Create a PDF spooled file
     C                   EVAL      DSPPDFSPLF = '1'
     C*
     C*     Attributes for PDF Spooled file
     C                   EVAL      PDFSPLOFF  = 1828
     C                   EVAL      PDFSPLLEN  = 305
     C                   EVAL      PDFOUTQ    = 'PDFOUTQ'
     C                   EVAL      PDFOUTQLIB = 'qgpl'
     C                   EVAL      PDFSPLNAM  = 'PDFSPLF'
     C                   EVAL      PDFUSRDTA  = 'User Data'
     C                   EVAL      PDFUSRDFN  = 'PDF User Dfn Dta'
     C                   EVAL      PDFFORM    = '*SPLF'
     C*
     C                   ELSE
     C*
     C*   Do not create PDF Spooled file
     C                   EVAL      DSPPDFSPLF = '0'
     C                   EVAL      PDFSPLOFF  = 0
     C                   EVAL      PDFSPLLEN  = 0
     C*
     C                   ENDIF
     C*
     C* Check customer preference for creation of AFP Spooled File
     C     DISPAFP       IFEQ      'Y'
     C*
     C*   Create an AFP spooled file
     C                   EVAL      DSPAFPSPLF = '1'
     C*
     C*     Attributes for AFP Spooled file
     C                   EVAL      AFPSPLOFF  = 2133
     C                   EVAL      AFPSPLLEN  = 305
     C                   EVAL      AFPOUTQ    = 'AFPOUTQ'
     C                   EVAL      AFPOUTQLIB = 'qgpl'
     C                   EVAL      AFPSPLNAM  = 'AFPSPLF'
     C                   EVAL      AFPUSRDTA  = 'User Data'
     C                   EVAL      AFPUSRDFN  = 'AFP User Dfn Dta'
     C                   EVAL      AFPFORM    = '*SPLF  '
     C*
     C                   ELSE
     C*
     C*   Do not create AFP Spooled file
     C                   EVAL      DSPAFPSPLF = '0'
     C                   EVAL      AFPSPLOFF  = 0
     C                   EVAL      AFPSPLLEN  = 0
     C*
     C                   ENDIF
     C*
     C*
     C*
     C                   RETURN
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a