MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Crear PDF (foro/showthread.php?t=47642)

pancho6102 03/01/12 17:13:09

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.

Mari.Sole 03/01/12 17:24:31

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

pancho6102 03/01/12 17:46:43

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.

Mari.Sole 03/01/12 17:59:52

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.

pancho6102 03/01/12 19:00:30

Hola No necesito esconder al usuario el cuadro de dialogo, :D 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.

DCErick 03/01/12 22:19:53

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


pancho6102 04/01/12 14:46:40

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.

DCErick 04/01/12 14:59:32

Ya probaste:


pancho6102 04/01/12 16:10:59

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!.

DCErick 04/01/12 16:14:36

¿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 :o , una para el preview y otra para el pdf jejeje.


Husos Horarios son GMT. La hora en este momento es 14:42:18.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web