点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 在ECC 6.0之...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 在ECC 6.0之...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
在ECC 6.0之后,HR-W2和W2C表单假脱机将以PDF格式生成。
我们有一个需求,我们希望以编程方式读取PDF假脱机并将PDF文件写入应用程序服务器(使用OPEN DATASET和CLOSE DATASET)
参数:p_spono类似于tsp01-rqident。 数据:pdf_数据类型FPCONTENT。 类型:lt_pdf_table(1000)类型x。 数据:lt_pdf_table的l_pdf_data类型标准表, l_pdf_line类型lt_pdf_table, l_offset类型i, l_len类型i, p_file(100)VALUE'\ sapout \ DVH \ pdf2.pdf'。 *阅读阀芯内容 通话功能'FPCOMP_CREATE_PDF_FROM_SPOOL' 出口 i_spoolid = p_spono i_partnum ='1' 输入 e_pdf = pdf_data * e_pdf_file =文件 例外情况 ads_error = 1 usage_error = 2 system_error = 3 internal_error = 4 其他= 5。 *修改后台打印内容以准备内部表 l_len = xstrlen(pdf_data)。 而l_len> = 1000。 l_pdf_line = pdf_data + l_offset(1000)。 将l_pdf_line附加到l_pdf_data。 将1000加到l_offset。 从l_len中减去1000。 最后。 如果l_len> 0。 l_pdf_line = pdf_data + l_offset(l_len)。 将l_pdf_line附加到l_pdf_data。 万一。 * ------------------------------------------------- ------------------- * GUI下载工作正常 * ------------------------------------------------- ------------------- *现在pdf内容已准备就绪,可以存储在本地PC中 *通话功能'GUI_DOWNLOAD' *出口 *文件名='C:\ Documents and Settings \ Desktop \ shital.pdf' *文件类型='BIN' *桌子 * data_tab = l_pdf_data。 OPEN DATASET p_file以二进制模式输出。 如果sy-subrc <> 0。 消息ID'00'类型'E'数字'398'与'sy-subrc:'sy-subrc '打开文件错误:'(Z03)p_file。 万一。 环回l_pdf_data INTO l_pdf_line。 将l_pdf_line传输到p_file。 结局。 CLOSE DATASET p_file。 如果sy-subrc <> 0。 消息ID'00'类型'E'数字'398'与'sy-subrc:'sy-subrc '关闭文件时出错:'(Z04)p_file。 万一。
当前您可以看到,我已经注释掉了GUI_DOWNLOAD功能模块,但是当我尝试将文件下载到本地桌面时,它非常完美。
但是,当我尝试将相同的内容传递到应用程序服务器文件,然后尝试通过下载文件打开它时,它将打开空白pdf文件。
根据要求,我应该能够在Application Server上正确写入文件,如果从那里下载它,则应该正确打开PDF文件。
如果您需要有关此问题的更多详细信息,请告诉我。
致谢
Shital
编辑:shital phadake于2009年4月8日晚上9:39
进行以下更改:
*将循环l_pdf_data输入到l_pdf_line。
将pdf_data传送到p_file。
* ENDLOOP。
*如果不起作用,则需要调整从服务器到PC的下载方式。
做。
清除:ls_bin,lv_len。
读取数据集iv_file INTO ls_bin长度lv_len。
IF sy-subrc <> 0.
如果lv_len> 0.
将lv_len添加到 lv_size。
附加ls_bin到lt_bin。
ENDIF。
退出。
ELSE。
将lv_len添加到lv_size。
APPEND ls_bin到lt_bin。
ENDIF。
ENDDO
呼叫方法cl_gui_frontend_services => gui_download
导出
bin_filesize = lv_size
filename = file
文件类型='BIN'
更改
data_tab = lt_bin
一周热门 更多>