1> Create smart form in Tcode: SMARTFORMS
YTEST_SF_001
Preview:
2> Create WDA Component
3> Assign UI elements to V_MAIN view:
Download file button and Interactive Form for displaying pdf
4> Design view context
Set supply function for Node N_PDF.
Db click SUPPLY_PDF
method supply_pdf .
data:
l_x
type char01 value 'X',
l_message type string,
l_form_name type tdsfname value 'YTEST_SF_001',
l_fm_name type
rs38l_fnam.
data: ls_control_parameters type ssfctrlop,
ls_output_options
type ssfcompop,
ls_ssf_output
type ssfcrescl.
data:
lt_otfdata
type table of itcoo.
* 1. get smartform
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname
= l_form_name
importing
fm_name
= l_fm_name
exceptions
no_form
= 1
no_function_module = 2
others
= 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into l_message.
return.
endif.
* Set relevant control parameters
ls_control_parameters-getotf
= l_x. "OTF
output
ls_control_parameters-no_dialog =
l_x. "No
print dialog
ls_control_parameters-preview =
space. "No preview
* Set relevant output options
ls_output_options-tdnewid
=
l_x.
"Print parameters,
ls_output_options-tddelete
= space. "Print
parameters,
ls_output_options-tddest
= 'LP01'.
"!!!Check your print device to ensure support UNICODE.
call function l_fm_name
exporting
*
ARCHIVE_INDEX
*
ARCHIVE_INDEX_TAB
*
RCHIVE_PARAMETERS
control_parameters
= ls_control_parameters
*
MAIL_APPL_OBJ
*
MAIL_RECIPIENT
*
MAIL_SENDER
output_options
= ls_output_options
user_settings
= space
*
pernr
= stru_input1-zpernr
*
reinr
= stru_input1-zreinr
*
pdvrs
= stru_input1-zpdvrs
importing
*
DOCUMENT_OUTPUT_INFO
job_output_info
= ls_ssf_output
*
JOB_OUTPUT_OPTIONS
exceptions
formatting_error
= 1
internal_error
= 2
send_error
= 3
user_canceled
= 4
others
= 5
.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into l_message.
return.
endif.
refresh lt_otfdata.
lt_otfdata[] = ls_ssf_output-otfdata[].
*2. Convert to PDF
data: l_dummy
type standard table of tline,
l_pdf_data type xstring,
l_pdf_size type i.
clear: l_pdf_data, l_pdf_size.
* convert otf to pdf
call function 'CONVERT_OTF'
exporting
format
= 'PDF'
importing
bin_filesize
= l_pdf_size
bin_file
= l_pdf_data
tables
otf
= lt_otfdata[]
lines
= l_dummy
exceptions
err_max_linewidth
= 1
err_format
= 2
err_conv_not_possible = 3
others
= 4.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into l_message.
return.
endif.
* 3. Bind pdf conent to node
** data declaration
data: ls_n_pdf type wd_this->element_n_pdf,
elem_pdf TYPE
REF TO if_wd_context_element.
ls_n_pdf-file_name =
l_form_name. " sample only
!
ls_n_pdf-content =
l_pdf_data. " sample only
!
*** bind a single element
node->bind_structure(
new_item
= ls_n_pdf
set_initial_elements = abap_true ).
endmethod.
5> Design button action to DOWNLOAD FILE.
Action source:
data: lo_nd_n_pdf type ref to if_wd_context_node,
lo_el_n_pdf type ref to if_wd_context_element.
data:
ls_n_pdf type
wd_this->element_n_pdf,
lv_content type
wd_this->element_n_pdf-content.
* navigate from
<CONTEXT> to
<N_PDF> via lead selection
lo_nd_n_pdf
= wd_context->get_child_node( name =
wd_this->wdctx_n_pdf ).
* get element via lead
selection
lo_el_n_pdf
= lo_nd_n_pdf->get_element( ).
* @TODO handle not set lead
selection
if lo_el_n_pdf is initial.
return.
endif.
* get single attribute
lo_el_n_pdf->get_attribute(
exporting
name = `CONTENT`
importing
value = lv_content ).
call method
cl_wd_runtime_services=>attach_file_to_response
exporting
i_filename
= 'YTEST001_FORM'
i_content
= lv_content
i_mime_type
= 'PDF'
*
i_in_new_window = ABAP_FALSE
*
i_inplace
= ABAP_FALSE
.
6> Test Application
分享到:
相关推荐
在Web Dynpro ABAP开发中,控制外部窗口是一项重要的任务,尤其当涉及到用户交互和界面设计时。外部窗口,也称为子窗口或弹出窗口,是Web Dynpro应用程序中一个独立的显示区域,用于呈现特定内容。在本篇讨论中,...
Unit 1: Introduction to Floorplan Manager (FPM) for Web Dynpro ABAP 1 Exercise 1: Create Components Containing the UIBBs for a Floorplan and Implement Interface IF_FPM_UI_BUILDING_BLOCK Unit 2: FPM...
SAP Web Dynpro ABAP是SAP应用服务器ABAP部分中的一个模型驱动的开发工具,用于创建基于Web的应用程序。Web Dynpro ABAP属于SAP NetWeaver技术平台的一部分,是面向企业级应用解决方案的集成开发环境。NetWeaver是一...
《Web Dynpro ABAP for Practitioners》一书由Ulrich Gellert和Ana Daniela Cristea撰写,旨在为读者提供深入理解与实践Web Dynpro ABAP技术的全面指南。此书聚焦于Web Dynpro ABAP,一种在SAP NetWeaver平台上构建...
### SAP Web Dynpro ABAP:全面指南 #### 一、SAP Web Dynpro ABAP简介 SAP Web Dynpro ABAP是一种用于构建基于Web的应用程序的技术框架,它为开发人员提供了一个灵活且强大的工具集来设计用户界面(UI)。通过结合...
sap web dynpro for abap
SAP Web Dynpro for ABAP 是 SAP 企业级应用程序开发中的一个重要组件,它提供了一种高效、用户友好的方式来构建复杂的企业级业务应用程序。Web Dynpro 是 SAP 的一种编程模型,专门设计用于构建富客户端应用程序,...
### SAP Web Dynpro ABAP 与 Flash Island 应用开发详解 #### 一、引言 随着企业级应用对用户界面交互性和响应速度的要求日益提高,传统的 Web Dynpro ABAP 开发模式已不能完全满足需求。为了提升用户体验,增强...
4-《Web Dynpro for ABAP - Display Bookings for Selected Flights.pdf》:这个例子可能涉及到展示特定航班的预订信息。这会涵盖如何从后台系统获取数据,如何在Web Dynpro视图中显示这些信息,以及如何处理用户...
本节中主要记录WebDynpro For ABAP的基础操作.如各种UI Elment的使用,Context的使用等.
**4.14 Web Dynpro ABAP应用在GUI应用中的集成(Integration of Web Dynpro ABAP Applications in GUI Applications)** 说明了如何将Web Dynpro ABAP应用集成到传统的GUI应用程序中。 **4.15 Web Dynpro应用的可访问...
1. Floorplan Manager (FPM) for Web Dynpro ABAP是SAP在2014年推出的,它是一种工具或框架,用于简化和加速Web Dynpro ABAP应用程序的开发,特别是在企业门户和类似的门户解决方案中。 2. FPM基于SAP NetWeaver...
SAP WEB Dynpro for ABAP 简单ALV 展示 SAP WEB Dynpro for ABAP 是一种基于 WEB 的开发环境,它提供了一个强大的开发平台,用于构建各种复杂的商业应用程序。在这个环境中,我们可以使用 ABAP 语言来开发各种应用...
本文档详细介绍了如何在Web Dynpro for ABAP中将Smartform显示为PDF文档的过程。该指南适用于SAP NetWeaver 2004s,并涵盖了创建Web Dynpro应用程序以及编写用于显示Smartform作为PDF文档的代码的具体步骤。 #### ...
### ABAP WebDynpro 开发知识点总结 #### 一、ABAP WebDynpro 概述 **ABAP WebDynpro** 是 SAP 提供的一种用于构建用户界面的技术框架,它允许开发者利用 ABAP 语言创建现代化的 Web 应用程序。WebDynpro 的核心...
### Web Dynpro ABAP:初学者指南 #### 一、简介 在《Sappress Getting Started with Web Dynpro ABAP》这本书中,作者Dominik Ofenloch和Roland Schwaiger为读者提供了关于Web Dynpro ABAP的全面介绍。本书内容...
### Webdynpro for ABAP中select option 用法 #### 引言 本文将通过一个具体的应用场景来探讨如何在Webdynpro for ABAP中使用Select Options功能。该应用场景涉及展示一个选择屏幕,用户可以在其中输入航空公司的ID...
The Structural Concepts of Web Dynpro Components.PDF Web Dynpro ABAP Programming Guidelines.PDF
Web Dynpro for ABAP是SAP提供的一种先进的用户界面(UI)开发技术,主要用于构建企业级的业务应用程序。它结合了ABAP编程语言的优势,旨在提高应用的交互性、性能和可维护性。本教程将深入探讨Web Dynpro for ABAP...