`
王三
  • 浏览: 174863 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Webdynpro ABAP 系列: How to display smartform in WDA

UI 
阅读更多

1> Create smart form in Tcode: SMARTFORMS

YTEST_SF_001

clip_image002

Preview:

clip_image004

2> Create WDA Component

clip_image006

3> Assign UI elements to V_MAIN view:

Download file button and Interactive Form for displaying pdf

clip_image008

4> Design view context

clip_image010

Set supply function for Node N_PDF.

clip_image012

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.

clip_image014

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

clip_image016

分享到:
评论
1 楼 mahone 2011-03-21  
图挂了 

重传吧

相关推荐

    Web Dynpro ABAP : Controlling external windows

    在Web Dynpro ABAP开发中,控制外部窗口是一项重要的任务,尤其当涉及到用户交互和界面设计时。外部窗口,也称为子窗口或弹出窗口,是Web Dynpro应用程序中一个独立的显示区域,用于呈现特定内容。在本篇讨论中,...

    Floorplan Manager for Web Dynpro ABAP

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

    webdynpro 教程 NET313 - Floorplan Manager for Web Dynpro ABAP.PDF

    SAP Web Dynpro ABAP是SAP应用服务器ABAP部分中的一个模型驱动的开发工具,用于创建基于Web的应用程序。Web Dynpro ABAP属于SAP NetWeaver技术平台的一部分,是面向企业级应用解决方案的集成开发环境。NetWeaver是一...

    Web Dynpro ABAP for Practitioners

    《Web Dynpro ABAP for Practitioners》一书由Ulrich Gellert和Ana Daniela Cristea撰写,旨在为读者提供深入理解与实践Web Dynpro ABAP技术的全面指南。此书聚焦于Web Dynpro ABAP,一种在SAP NetWeaver平台上构建...

    SAP Press - Web Dynpro ABAP. The Comprehensive Guide.pdf

    ### SAP Web Dynpro ABAP:全面指南 #### 一、SAP Web Dynpro ABAP简介 SAP Web Dynpro ABAP是一种用于构建基于Web的应用程序的技术框架,它为开发人员提供了一个灵活且强大的工具集来设计用户界面(UI)。通过结合...

    SAP WDA(web dynpro for abap) 上传

    sap web dynpro for abap

    SAP Web Dynpro For ABAP.7z

    SAP Web Dynpro for ABAP 是 SAP 企业级应用程序开发中的一个重要组件,它提供了一种高效、用户友好的方式来构建复杂的企业级业务应用程序。Web Dynpro 是 SAP 的一种编程模型,专门设计用于构建富客户端应用程序,...

    SAP Web Dynpro Abap与Flash Island应用开发

    ### SAP Web Dynpro ABAP 与 Flash Island 应用开发详解 #### 一、引言 随着企业级应用对用户界面交互性和响应速度的要求日益提高,传统的 Web Dynpro ABAP 开发模式已不能完全满足需求。为了提升用户体验,增强...

    webdynpro for abap

    4-《Web Dynpro for ABAP - Display Bookings for Selected Flights.pdf》:这个例子可能涉及到展示特定航班的预订信息。这会涵盖如何从后台系统获取数据,如何在Web Dynpro视图中显示这些信息,以及如何处理用户...

    WebDynpro For ABAP的基础

    本节中主要记录WebDynpro For ABAP的基础操作.如各种UI Elment的使用,Context的使用等.

    web dynpro abap programming guidelines

    **4.14 Web Dynpro ABAP应用在GUI应用中的集成(Integration of Web Dynpro ABAP Applications in GUI Applications)** 说明了如何将Web Dynpro ABAP应用集成到传统的GUI应用程序中。 **4.15 Web Dynpro应用的可访问...

    Floorplan Manager for Web Dynpro ABAP.pdf

    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 简单ALV 展示 SAP WEB Dynpro for ABAP 是一种基于 WEB 的开发环境,它提供了一个强大的开发平台,用于构建各种复杂的商业应用程序。在这个环境中,我们可以使用 ABAP 语言来开发各种应用...

    How to Display a Smartform as PDF document in Web Dynpro

    本文档详细介绍了如何在Web Dynpro for ABAP中将Smartform显示为PDF文档的过程。该指南适用于SAP NetWeaver 2004s,并涵盖了创建Web Dynpro应用程序以及编写用于显示Smartform作为PDF文档的代码的具体步骤。 #### ...

    ABAP_WebDynpro开发(中文).pdf

    ### ABAP WebDynpro 开发知识点总结 #### 一、ABAP WebDynpro 概述 **ABAP WebDynpro** 是 SAP 提供的一种用于构建用户界面的技术框架,它允许开发者利用 ABAP 语言创建现代化的 Web 应用程序。WebDynpro 的核心...

    Sappress Getting Started with Web Dynpro ABAP

    ### 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 option 用法 #### 引言 本文将通过一个具体的应用场景来探讨如何在Webdynpro for ABAP中使用Select Options功能。该应用场景涉及展示一个选择屏幕,用户可以在其中输入航空公司的ID...

    The Structural Concepts of Web Dynpro Components Web Dynpro ABAP Programming

    The Structural Concepts of Web Dynpro Components.PDF Web Dynpro ABAP Programming Guidelines.PDF

    Web Dynpro for ABAP

    Web Dynpro for ABAP是SAP提供的一种先进的用户界面(UI)开发技术,主要用于构建企业级的业务应用程序。它结合了ABAP编程语言的优势,旨在提高应用的交互性、性能和可维护性。本教程将深入探讨Web Dynpro for ABAP...

Global site tag (gtag.js) - Google Analytics