Crear PDF

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • pancho6102
    Senior Member
    • jun
    • 238

    #1

    Crear PDF

    Hola que tal buen dia necesito de sus conocimientos, estoy realizando un programa el cual muestra un sapscript y quiero que exista un opcion de que lo pueda enviar por correo electronico (con un check box al comienzo de que solicito datos).

    ya tengo el codigo y usando la funcion 'CONVERT_OTFSPOOLJOB_2_PDF' hago la extraccion de la info y ya me lo esta enviando por mail.

    pero lo malo es que necesito que el usuario pulse el boton imprimir para que me genere el spool para poder extraer la informacion.

    necesito otra forma que no necesariamente oprima el boon imprimir si no que obtenga los datos sin generar un spool.

    encontre algo en la funcion OPEN_FORM:
    itcpo-tdgetotf = 'X'.
    itcpo-tddest = 'LP01'

    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
    form = 'ZSAPSCRIPT' "Nombre del formulario Sapscript
    language = 'S'
    options = itcpo
    device = 'PRINTER'
    dialog = 'X' "Vacío para que no muestre el pop-up de impresión
    EXCEPTIONS
    OTHERS = 1.

    y en el close data pongo esto:

    CALL FUNCTION 'CLOSE_FORM'
    TABLES
    otfdata = otfdata
    EXCEPTIONS
    OTHERS = 1.

    y me rescata la info.

    pero el problema es que ya no tiene vista previa el usuario del sapscript.


    Alguien sabe que puedo hacer? o ando haciando el proceso mal.

    Saludos. Gracias por la ayuda.
    Francisco Ramirez.
    consultor SAP ABAP Netweaver
    Queretaro, Mexico.
  • Mari.Sole
    Senior Member
    • nov
    • 121

    #2
    Hola,
    Has probado setear el siguiente valor: ITCPO-TDNEWID = 'X' con ello te aseguras que se genere una nueva orden de spool para tu formulario sin necesidad de presionar el boton de Imprimir.
    A mi me ha servido, suerte.

    Saludos

    Comentario

    • pancho6102
      Senior Member
      • jun
      • 238

      #3
      Hola Mari.Sole Gracias por responder le intente de varias formas y no he podido.

      solo me crea el spool con este codigo:
      itcpo-tddest = 'LP01'.
      *itcpo-TDPREVIEW = 'X'.
      itcpo-TDNEWID = 'X'.
      *itcpo-TDIMMED = 'X'.
      *itcpo-TDCOVER = 'X'.


      CALL FUNCTION 'OPEN_FORM'
      EXPORTING
      form = 'ZSAPSCRIPT' "Nombre del formulario Sapscript
      language = 'S'
      options = itcpo
      device = 'PRINTER'
      dialog = ' ' "Vacío para que no muestre el pop-up de impresión
      EXCEPTIONS
      OTHERS = 1.

      pero el problema es que ya no previsualizo el documento.

      y si lo pongo asi:

      *itcpo-tdgetotf = 'X'.
      *itcpo-tddest = 'LP01'.
      *itcpo-TDPREVIEW = 'X'.
      itcpo-TDNEWID = 'X'.
      *itcpo-TDIMMED = 'X'.
      *itcpo-TDCOVER = 'X'.


      CALL FUNCTION 'OPEN_FORM'
      EXPORTING
      form = 'ZSAPSCRIPT' "Nombre del formulario Sapscript
      language = 'S'
      options = itcpo
      device = 'PRINTER'
      dialog = 'X' "Vacío para que no muestre el pop-up de impresión
      EXCEPTIONS
      OTHERS = 1.

      si lo previsualizo pero no me genera el spool.


      como te funciono ati? a lo mejor me falta otro parametro.

      Gracias por la ayuda.

      Saludos.
      Francisco Ramirez.
      consultor SAP ABAP Netweaver
      Queretaro, Mexico.

      Comentario

      • Mari.Sole
        Senior Member
        • nov
        • 121

        #4
        Probaste con la combinacion de estos dos valores:

        itcpo-TDNEWID = 'X'.
        itcpo-TDIMMED = 'X'.

        Para que cree la orden de spool y para que sea inmediatamente.
        A mi me sirvió pero no tenía que esconder el cuadro de dialogo de impresión al usuario así que no era igual mi problema.

        Espero te sirva, sino sigo viendo en mi código si encuentro algo diferente y te paso.

        Saludos.

        Comentario

        • pancho6102
          Senior Member
          • jun
          • 238

          #5
          Hola No necesito esconder al usuario el cuadro de dialogo, solo estaba probando quitandoselo pero no sucede nada cuando pone el de previsualizar.

          ya lo puse como me sugeriste y me mostro previsualizacion pero no creo el spool. si me puedes pegar un poco de tu codigo para ver que me esta pasando te lo agradeceria bastante.

          Gracias por la Ayuda.

          itcpo-TDNEWID = 'X'.
          itcpo-TDIMMED = 'X'.



          CALL FUNCTION 'OPEN_FORM'
          EXPORTING
          form = 'ZSAPSCRIPT' "Nombre del formulario Sapscript
          language = 'S'
          options = itcpo
          device = 'PRINTER'
          dialog = 'X' "Vacío para que no muestre el pop-up de impresión
          EXCEPTIONS
          OTHERS = 1.
          Francisco Ramirez.
          consultor SAP ABAP Netweaver
          Queretaro, Mexico.

          Comentario

          • DCErick
            Moderator
            • mar
            • 1090

            #6
            Ten en cuenta que para que te genere la tabla OTF es obligatorio asignarle 'X' al campo TDGETOTF.

            itcpp-tdgetotf = 'X'.
            -------------------
            ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

            Comentario

            • pancho6102
              Senior Member
              • jun
              • 238

              #7
              Esa es una de mis dudas DCErick si le pongo el valor TDGETOTF = X con eso obtengo el OTF sin la necesidad de usar un spool y puedo generar mi archivo PDF para madarlo por mail, pero lo que me pasa es que cuando pongo ese valor mi usuario no puede ver de manera previa la impresion.

              La otra es lo que estoy buscando usando un spool para de ahi obtener el OTF sin usar el TDGETOTF pero desgraciadamente no puedo lograr que se genere el spool sin la necesidad que el usuario de click en el boton imprimir y que este tenga la vista previa.

              no se cual usar, ya que el usuario solo va usar un check que diga enviar factura en la pantalla de seleccion pero quiere que se envie sin la necesidad de que ek usuario de en el boton imprimir.

              jajaa me avente un choro haber si me logro entender
              Saludos.
              Francisco Ramirez.
              consultor SAP ABAP Netweaver
              Queretaro, Mexico.

              Comentario

              • DCErick
                Moderator
                • mar
                • 1090

                #8
                Ya probaste:

                Código:
                itcpo-tdgetotf = 'X'.
                itcpo-TDPREVIEW = 'X'.
                itcpo-TDIMMED = 'X'.
                -------------------
                ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

                Comentario

                • pancho6102
                  Senior Member
                  • jun
                  • 238

                  #9
                  Si ya le intente:


                  itcpo-tdgetotf = 'X'.
                  itcpo-TDPREVIEW = 'X'.
                  itcpo-TDIMMED = 'X'.


                  CALL FUNCTION 'OPEN_FORM'
                  EXPORTING
                  form = 'ZSAPSCRIPT' "Nombre del formulario Sapscript
                  language = 'S'
                  options = itcpo
                  device = 'PRINTER'
                  dialog = ' ' "Vacío para que no muestre el pop-up de impresión
                  EXCEPTIONS
                  OTHERS = 1.

                  pero asi ni me muestra la vista previa y ni me genera el spool.
                  solo me genera el OTF y por lo tanto mi archivo PDF.

                  pero el usuario no previsualiza el sapscript.

                  Saludos!.
                  Francisco Ramirez.
                  consultor SAP ABAP Netweaver
                  Queretaro, Mexico.

                  Comentario

                  • DCErick
                    Moderator
                    • mar
                    • 1090

                    #10
                    ¿Y si le pones X?
                    dialog = ' ' "Vacío para que no muestre el pop-up de impresión

                    Patada de ahogado, mandalo llamar 2 veces , una para el preview y otra para el pdf jejeje.
                    -------------------
                    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

                    Comentario

                    • pancho6102
                      Senior Member
                      • jun
                      • 238

                      #11
                      Originalmente publicado por DCErick
                      ¿Y si le pones X?
                      dialog = ' ' "Vacío para que no muestre el pop-up de impresión

                      Patada de ahogado, mandalo llamar 2 veces , una para el preview y otra para el pdf jejeje.
                      SI le he intentado de esa forma quitandolo y poniendolo pero no funciona, si habia pensado en hacer el proceso 2 veces como me mencionas uno para que genere el PDF y otro para que lo vea usando un submith with y usando una variable en memoria para saber si envio el valor de GETOTF, de hecho mi sapscript es mas o menos grande ya le hice una copia al reporte RFKORD50 puesto que es uno de FI para facturacion electronica Mexico con el que me estoy peleando para enviarlo por correo.

                      deja ver si no tendre que usar esa opcion.

                      Gracias.
                      Saludos.
                      Francisco Ramirez.
                      consultor SAP ABAP Netweaver
                      Queretaro, Mexico.

                      Comentario

                      Trabajando...