导出到PDF例子
来源:互联网 发布:caxa制造工程师软件 编辑:程序博客网 时间:2024/05/16 14:52
REPORT RSTXPDFT4 line-size 80.
*
* Read spool job contents (OTF or ABAP list) and convert
* to PDF, download PDF
* B20K8A0IKH replace WS_DOWNLOAD with GUI_DOWNLOAD
*
PARAMETERS:
SPOOLNO LIKE TSP01-RQIDENT,
DOWNLOAD AS CHECKBOX DEFAULT 'X',
P_FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\temp\file.pdf'. "#EC NOTEXT
DATA otf like itcoo occurs 100 with header line.
DATA CANCEL.
DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
DATA DOCTAB LIKE DOCS OCCURS 1 WITH HEADER LINE.
DATA: NUMBYTES TYPE I,
ARC_IDX LIKE TOA_DARA,
pdfspoolid like tsp01-rqident,
jobname like tbtcjob-jobname,
jobcount like tbtcjob-jobcount,
is_otf.
data: client like tst01-dclient,
name like tst01-dname,
objtype like rststype-type,
type like rststype-type.
tables: tsp01.
select single * from tsp01 where rqident = spoolno.
if sy-subrc <> 0.
perform bd_textbox_err(rstxpdft) using 80
'Spoolauftrag existiert nicht'(003).
exit.
endif.
client = tsp01-rqclient.
name = tsp01-rqo1name.
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'.
is_otf = 'X'.
else.
is_otf = space.
endif.
if is_otf = 'X'.
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = spoolno
NO_DIALOG = ' '
* DST_DEVICE =
* PDF_DESTINATION =
IMPORTING
PDF_BYTECOUNT = numbytes
PDF_SPOOLID = pdfspoolid
* 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.
case sy-subrc.
when 0.
perform bd_textbox_msg(rstxpdft) using 80
'Funktion CONVERT_OTFSPOOLJOB_2_PDF erfolgreich'(001).
when 1.
perform bd_textbox_err(rstxpdft) using 80
'Kein OTF- und kein ABAP-Spoolauftrag'(002).
exit.
when 2.
perform bd_textbox_err(rstxpdft) using 80
'Spoolauftrag existiert nicht'(003).
exit.
when 3.
perform bd_textbox_err(rstxpdft) using 80
'Keine Berechtigung zum Lesen Spoolauftrag'(004).
exit.
when others.
perform bd_textbox_err(rstxpdft) using 80
'Fehler bei Funktion CONVERT_OTFSPOOLJOB_2_PDF'(005).
exit.
endcase.
else.
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.
case sy-subrc.
when 0.
perform bd_textbox_msg(rstxpdft) using 80
'Funktion CONVERT_ABAPSPOOLJOB_2_PDF erfolgreich'(006).
when 1.
perform bd_textbox_err(rstxpdft) using 80
'Kein OTF- und kein ABAP-Spoolauftrag'(002).
exit.
when 2.
perform bd_textbox_err(rstxpdft) using 80
'Spoolauftrag existiert nicht'(003).
exit.
when 3.
perform bd_textbox_err(rstxpdft) using 80
'Keine Berechtigung zum Lesen Spoolauftrag'(004).
exit.
when others.
perform bd_textbox_err(rstxpdft) using 80
'Fehler bei Funktion CONVERT_ABAPSPOOLJOB_2_PDF'(007).
exit.
endcase.
endif.
*************** download PDF file ***********
check download = 'X'.
if not ( jobname is initial ).
perform bd_textbox_var2_msg(rstxpdft) using 80
'Konvertierung per Hintergrundjob'(008)
jobname
jobcount.
exit.
endif.
perform download_w_ext(RSTXPDFT) tables pdf
using p_file
'.pdf'
'BIN'
numbytes
cancel.
if cancel = space.
data: s(80).
s = numbytes. condense s.
concatenate s 'Bytes heruntergeladen in Datei'(009)
into s separated by space.
perform bd_textbox_var1_msg(RSTXPDFT) using 80
s
p_file.
endif.
*
* Read spool job contents (OTF or ABAP list) and convert
* to PDF, download PDF
* B20K8A0IKH replace WS_DOWNLOAD with GUI_DOWNLOAD
*
PARAMETERS:
SPOOLNO LIKE TSP01-RQIDENT,
DOWNLOAD AS CHECKBOX DEFAULT 'X',
P_FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\temp\file.pdf'. "#EC NOTEXT
DATA otf like itcoo occurs 100 with header line.
DATA CANCEL.
DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
DATA DOCTAB LIKE DOCS OCCURS 1 WITH HEADER LINE.
DATA: NUMBYTES TYPE I,
ARC_IDX LIKE TOA_DARA,
pdfspoolid like tsp01-rqident,
jobname like tbtcjob-jobname,
jobcount like tbtcjob-jobcount,
is_otf.
data: client like tst01-dclient,
name like tst01-dname,
objtype like rststype-type,
type like rststype-type.
tables: tsp01.
select single * from tsp01 where rqident = spoolno.
if sy-subrc <> 0.
perform bd_textbox_err(rstxpdft) using 80
'Spoolauftrag existiert nicht'(003).
exit.
endif.
client = tsp01-rqclient.
name = tsp01-rqo1name.
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'.
is_otf = 'X'.
else.
is_otf = space.
endif.
if is_otf = 'X'.
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = spoolno
NO_DIALOG = ' '
* DST_DEVICE =
* PDF_DESTINATION =
IMPORTING
PDF_BYTECOUNT = numbytes
PDF_SPOOLID = pdfspoolid
* 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.
case sy-subrc.
when 0.
perform bd_textbox_msg(rstxpdft) using 80
'Funktion CONVERT_OTFSPOOLJOB_2_PDF erfolgreich'(001).
when 1.
perform bd_textbox_err(rstxpdft) using 80
'Kein OTF- und kein ABAP-Spoolauftrag'(002).
exit.
when 2.
perform bd_textbox_err(rstxpdft) using 80
'Spoolauftrag existiert nicht'(003).
exit.
when 3.
perform bd_textbox_err(rstxpdft) using 80
'Keine Berechtigung zum Lesen Spoolauftrag'(004).
exit.
when others.
perform bd_textbox_err(rstxpdft) using 80
'Fehler bei Funktion CONVERT_OTFSPOOLJOB_2_PDF'(005).
exit.
endcase.
else.
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.
case sy-subrc.
when 0.
perform bd_textbox_msg(rstxpdft) using 80
'Funktion CONVERT_ABAPSPOOLJOB_2_PDF erfolgreich'(006).
when 1.
perform bd_textbox_err(rstxpdft) using 80
'Kein OTF- und kein ABAP-Spoolauftrag'(002).
exit.
when 2.
perform bd_textbox_err(rstxpdft) using 80
'Spoolauftrag existiert nicht'(003).
exit.
when 3.
perform bd_textbox_err(rstxpdft) using 80
'Keine Berechtigung zum Lesen Spoolauftrag'(004).
exit.
when others.
perform bd_textbox_err(rstxpdft) using 80
'Fehler bei Funktion CONVERT_ABAPSPOOLJOB_2_PDF'(007).
exit.
endcase.
endif.
*************** download PDF file ***********
check download = 'X'.
if not ( jobname is initial ).
perform bd_textbox_var2_msg(rstxpdft) using 80
'Konvertierung per Hintergrundjob'(008)
jobname
jobcount.
exit.
endif.
perform download_w_ext(RSTXPDFT) tables pdf
using p_file
'.pdf'
'BIN'
numbytes
cancel.
if cancel = space.
data: s(80).
s = numbytes. condense s.
concatenate s 'Bytes heruntergeladen in Datei'(009)
into s separated by space.
perform bd_textbox_var1_msg(RSTXPDFT) using 80
s
p_file.
endif.
- 导出到PDF例子
- 导出PDF合同例子
- SSIS导出数据到PDF
- 文本导出到pdf文件
- C# DataGridView导出到PDF
- 一个使用itext导出pdf的例子
- 一个使用itext导出pdf的例子
- java 导出html到pdf word
- phpExcel导出到Excel和pdf
- C# 导出数据到PDF文档
- C#导出到Excel或PDF
- C#用iTextSharp导出PDF到页面
- 导出pdf之--下载到本地
- iText导出pdf,poi导出excel并下载到客户端
- iText导出pdf,poi导出excel并下载到客户端
- POI导出到Excel的简单例子
- POI导出到Excel的简单例子
- POI导出到Excel的简单例子
- poj2635
- Windows核心编程之3 内核对象
- WAS节点同步
- 修改ubuntu username
- [Android实例] Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
- 导出到PDF例子
- 【Win7自带恢复功能创建系统还原盘的图文步骤】
- soapUi
- Linux网络设备驱动架構學習(一)
- Python实现的Blowfish加解密
- JS窗口打开,区分分辨率同时可指定窗口大小
- 整体顺序部分倒序
- 经典C语言程序个人算法------约瑟夫环
- androi surfaceview and camera