在WebDyn Pro ABAP中显示从应用程序服务器显示PDF



我正在研究一个报告,其中包含允许用户到达新页面的操作。在此新页面中,必须显示存储在应用程序服务器上的PDF。

在pdf视图上,我创建了一个与我的上下文链接的交互式表单(pdf_data-pdf:xstring)

   gv_filepath = '/tmp/test.pdf'.

   " Open the file in binary mode
   OPEN DATASET gv_filepath FOR INPUT IN BINARY MODE.

   IF sy-subrc = 0.
     READ DATASET gv_filepath INTO gv_filedata.

       IF sy-subrc = 0.
            CLOSE DATASET gv_filepath. "Close the file
            " Convert the file from hex-string to Binary format
            CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
              EXPORTING
                buffer        = gv_filedata
              IMPORTING
                output_length = gv_filesize
              TABLES
                binary_tab    = gt_bin_data.

在这里,我不知道该怎么办....


        lo_node = wd_context->get_child_node( 'PDF_DATA' ).
        lo_node->set_attribute( name = 'PDF' value = ?).
        wd_comp_controller->gestion_affichage( ).
     ENDIF.
   ENDIF.

请建议我如何处理?

有几种实现此目标的方法:

  • 使用Filedownload元素,并在上下文元素的电源方法中执行您上面描述的操作。这可能是实现此目的的最简单方法,但是它可能具有不显示文件的缺点,而是提供下载。尽管它非常容易实施,但值得尝试一下。
  • 创建一个新的ICF服务(不是WebDynPro应用程序!),该服务将在要求时用适当的MIME类型返回PDF文件。然后,用该服务的URL打开一个新的浏览器窗口。
  • 和以前一样,但请使用iFrame元素在就位显示PDF文件。请注意,此元素的使用是不鼓励的(尽管可能只是将客户推向EP ...?)。

在Web Dynpro ABAP页面中显示PDF文件,

  • InteractiveForm 控制到视图
  • PDFSource 绑定到包含PDF Content
  • 的上下文节点
  • 将PDF文件加载到上下文节点

这是一个带有屏幕拍摄的示例

好吧,我解决了我的同事的问题,谢谢我只需要在打开数据集之后添加以下代码

 CLEAR l_len.
   CLEAR l_data_tab.
   DO.
     READ DATASET gv_filepath INTO l_data actual LENGTH l_len.
     IF sy-subrc <> 0.
       IF l_len > 0.
         file_size = file_size + l_len.
         APPEND l_data to l_data_tab.
       ENDIF.
       EXIT.
     ENDIF.
     file_size = file_size + l_len.
     APPEND l_data to l_data_tab.
   ENDDO.

相关内容

  • 没有找到相关文章

最新更新