MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 13/10/09, 14:51:44
rhein rhein is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 66
Question Ejemplo generar smartforms a PDF

Hola foreros, necesito un ejemplo de como transformar la impresion de un smartfomrs a PDF, es un formulario muy simple pero debeo transformarlo a PDF.

de antemano agradecido
rhein
Responder Con Cita
  #2  
Viejo 13/10/09, 15:26:47
RAMONES RAMONES is offline
Member
 
Fecha de Ingreso: mar 2009
Localización: Capital - Buenos Aires
Mensajes: 69
Buen dia!! Proba con este codigo y contanos como te fue!!

Saludos!!





*&---------------------------------------------------------------------*
*& Report Z_ALE_SMARTFORMS_PDF
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z_ALE_SMARTFORMS_PDF.

PARAMETERS:
SPOOLNO LIKE TSP01-RQIDENT, " Orden Spool
DOWNLOAD AS CHECKBOX DEFAULT 'X',
P_FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\file.pdf'. " Destino del
" archivo

DATA: name like RSTSTYPE-NAME,
client like tst01-dclient.

* Tabla donde se van a guardar los datos del SPOOL, para bajarlos al
* archivo
DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.

DATA: v_file TYPE string.

* Se utiliza para poder utilizarlo como condición cuando se pregunta si
* es = ´X´ OTF (Sapscript, Smartform) = '' (Lista)
DATA is_otf.

* Tipo de dato donde se guarda el tipo de documento de la orden de
* spool, si es un Smartforms o una lista ABAP
DATA: objtype LIKE rststype-type,
type LIKE rststype-type.


START-OF-SELECTION.

TABLES: tsp01.

SELECT SINGLE * FROM tsp01 WHERE rqident = spoolno.

client = tsp01-rqclient. " Mandante
name = tsp01-rqo1name. " N° de Spool


* Función que se le pasan los datos de la orden de Spool con la cual
* vamos a trabajar y devuelve de que tipo es el documento que tiene la
* orden de Spool. 'OTF' = Smartforms
CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
EXPORTING
AUTHORITY = 'SP01'
CLIENT = client
NAME = name
PART = 1
IMPORTING
* CHARCO =
* CREATER =
* CREDATE =
* DELDATE =
* MAX_CREDATE =
* MAX_DELDATE =
* NON_UNIQ =
* NOOF_PARTS =
* RECTYP =
* SIZE =
* STOTYP =
TYPE = type
OBJTYPE = objtype
EXCEPTIONS
FB_ERROR = 1
FB_RSTS_OTHER = 2
NO_OBJECT = 3
NO_PERMISSION = 4.

IF objtype(3) = 'OTF'. " Si es un Smartforms
is_otf = 'X'.
ELSE. " Si es una lista ABAP
is_otf = space.
ENDIF.

IF is_otf = 'X'. " Si es un Smartforms

" Función que se encarga de bajar los datos del documento (Smartforms)
" de la orden de Spool a una tabla interna (PDF)
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = spoolno
NO_DIALOG = ' '
" DST_DEVICE =
" PDF_DESTINATION =
" IMPORTING
" PDF_BYTECOUNT = numbytes
" PDF_SPOOLID = spoolno
"" OTF_PAGECOUNT =
" BTC_JOBNAME = jobname
" BTC_JOBCOUNT = jobcount
TABLES
PDF = pdf
EXCEPTIONS
ERR_NO_OTF_SPOOLJOB = 1
ERR_NO_SPOOLJOB = 2
ERR_NO_PERMISSION = 3
ERR_CONV_NOT_POSSIBLE = 4
ERR_BAD_DSTDEVICE = 5
USER_CANCELLED = 6
ERR_SPOOLERROR = 7
ERR_TEMSEERROR = 8
ERR_BTCJOB_OPEN_FAILED = 9
ERR_BTCJOB_SUBMIT_FAILED = 10
ERR_BTCJOB_CLOSE_FAILED = 11.

ELSE. " Si es una lista ABAP

" Función que se encarga de bajar los datos del documento (Lista ABAP)
" de la orden de Spool a una tabla interna (PDF)
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = spoolno
NO_DIALOG = ' '
" DST_DEVICE =
" PDF_DESTINATION =
" IMPORTING
" PDF_BYTECOUNT = numbytes
" PDF_SPOOLID = pdfspoolid
"" LIST_PAGECOUNT =
" BTC_JOBNAME = jobname
" BTC_JOBCOUNT = jobcount
TABLES
PDF = pdf
EXCEPTIONS
ERR_NO_ABAP_SPOOLJOB = 1
ERR_NO_SPOOLJOB = 2
ERR_NO_PERMISSION = 3
ERR_CONV_NOT_POSSIBLE = 4
ERR_BAD_DESTDEVICE = 5
USER_CANCELLED = 6
ERR_SPOOLERROR = 7
ERR_TEMSEERROR = 8
ERR_BTCJOB_OPEN_FAILED = 9
ERR_BTCJOB_SUBMIT_FAILED = 10
ERR_BTCJOB_CLOSE_FAILED = 11.
ENDIF.


v_file = p_file. " Variable del nombre del path tipo string

* Función que se encarga de bajar los datos guardados en una tabla
* interna a PC en formato PDF.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE = bin_filesize
FILENAME = v_file
FILETYPE = 'BIN'
* APPEND = ' '
* CODEPAGE = ' '
* NO_BYTEORDER_MARK = ' '
* IMPORTING
* FILELENGTH = c
TABLES
DATA_TAB = pdf
* FORMAT_TAB =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6.
__________________
El mundo es Redondo y de Ricota......
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 08:46:52.


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