REPORT ztest.
TYPE-POOLS: sscr.
TABLES: adr6.
*--------------------------------------------------------------------*
*SELECTION SCREEN
*--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
PARAMETERS p_indi(1) NO-DISPLAY.
SELECT-OPTIONS s_addr FOR adr6-smtp_addr NO INTERVALS.
SELECTION-SCREEN END OF BLOCK blk.
*--------------------------------------------------------------------*
*INTERNAL TABLE
*--------------------------------------------------------------------*
DATA: itab_list TYPE STANDARD TABLE OF abaplist,
itab_html TYPE STANDARD TABLE OF w3html.
*--------------------------------------------------------------------*
*AT SELECTION SCREEN OUTPUT
*--------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
DATA: l_restrict TYPE sscr_restrict,
l_option TYPE sscr_opt_list,
l_ass TYPE sscr_ass.
l_option-name = 'KEY1'.
l_option-options-eq = 'X'.
APPEND l_option TO l_restrict-opt_list_tab.
l_ass-kind = 'S'.
l_ass-name = 'S_ADDR'.
l_ass-sg_main = 'I'.
l_ass-sg_addy = space.
l_ass-op_main = 'KEY1'.
APPEND l_ass TO l_restrict-ass_tab.
CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
restriction = l_restrict
EXCEPTIONS
too_late = 1
repeated = 2
selopt_without_options = 3
selopt_without_signs = 4
invalid_sign = 5
empty_option_list = 6
invalid_kind = 7
repeated_kind_a = 8
OTHERS = 9.
*--------------------------------------------------------------------*
*START-OF-SELECTION
*--------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM write_report.
PERFORM convert_2_html.
PERFORM send_email.
*&---------------------------------------------------------------------*
*& Form WRITE_REPORT
*&---------------------------------------------------------------------*
FORM write_report.
WRITE: / 'Hello World!' COLOR 1 INTENSIFIED ON.
ENDFORM. "WRITE_REPORT
*&---------------------------------------------------------------------*
*& Form convert_2_html
*&---------------------------------------------------------------------*
FORM convert_2_html.
CHECK p_indi IS INITIAL.
SUBMIT zncsi528 WITH p_indi = 'X'
EXPORTING LIST TO MEMORY
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = itab_list
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
CALL FUNCTION 'WWW_HTML_FROM_LISTOBJECT'
EXPORTING
report_name = 'ZTEST'
TABLES
html = itab_html
listobject = itab_list.
ENDIF.
ENDFORM. "convert_2_html
*&---------------------------------------------------------------------*
*& Form send_email
*&---------------------------------------------------------------------*
FORM send_email.
DATA: l_send_request TYPE REF TO cl_bcs,
l_zip TYPE REF TO cl_abap_zip,
l_sender TYPE REF TO cl_sapuser_bcs,
l_recipient TYPE REF TO cl_cam_address_bcs,
l_body_text TYPE bcsy_text,
l_obj_len TYPE so_obj_len,
l_subject TYPE so_obj_des,
l_exception TYPE REF TO cx_bcs,
l_message TYPE string,
l_content TYPE solix_tab,
l_html_xstr TYPE xstring,
l_zip_xstr TYPE xstring,
l_len TYPE i,
l_document TYPE REF TO cl_document_bcs.
CHECK p_indi IS INITIAL AND itab_html[] IS NOT INITIAL.
CHECK itab_html[] IS NOT INITIAL AND s_addr[] IS NOT INITIAL.
TRY.
l_send_request = cl_bcs=>create_persistent( ).
l_subject = 'cl_abap_zip & cl_bcs example'.
APPEND: '<HTML><BODY>' TO l_body_text,
'Hi,' TO l_body_text,
'<p>Pls refer to the attached. Thanks.' TO l_body_text,
'</BODY><HTML>' TO l_body_text.
l_document = cl_document_bcs=>create_document(
i_type = 'HTM'
i_text = l_body_text
i_subject = l_subject
).
CALL METHOD cl_bcs_convert=>txt_to_xstring
EXPORTING
it_soli = itab_html[]
RECEIVING
ev_xstring = l_html_xstr.
CREATE OBJECT l_zip.
CALL METHOD l_zip->add
EXPORTING
name = 'cl_abap_zip & cl_bcs example.html'
content = l_html_xstr.
CALL METHOD l_zip->save
RECEIVING
zip = l_zip_xstr.
CALL METHOD cl_bcs_convert=>xstring_to_solix
EXPORTING
iv_xstring = l_zip_xstr
RECEIVING
et_solix = l_content.
l_obj_len = XSTRLEN( l_zip_xstr ).
CALL METHOD l_document->add_attachment
EXPORTING
i_attachment_size = l_obj_len
i_attachment_type = 'ZIP'
i_attachment_subject = l_subject
i_att_content_hex = l_content.
l_send_request->set_document( l_document ).
l_sender = cl_sapuser_bcs=>create( sy-uname ).
LOOP AT s_addr.
l_recipient = cl_cam_address_bcs=>create_internet_address( s_addr-low ).
CALL METHOD l_send_request->add_recipient
EXPORTING
i_recipient = l_recipient.
ENDLOOP.
CALL METHOD l_send_request->set_send_immediately( 'X' ).
CALL METHOD l_send_request->send(
EXPORTING
i_with_error_screen = 'X'
).
COMMIT WORK.
CATCH cx_bcs INTO l_exception.
l_message = l_exception->get_text( ).
MESSAGE l_message TYPE 'E'.
ENDTRY.
ENDFORM. "send_email
分享到:
相关推荐
标题中的"ZUI2_JSON2_/UI2/CL_JSON_ui2/cl_json_abap_Ui2_cl_json_zui2_json_源"可能指的是一个与ZUI2相关的项目,它利用了ABAP类/UI2/CL_JSON来解析和生成JSON数据。描述中提到,我们需要用到这个类来将JSON格式的...
- 使用`cl_abap_tabledescr`类创建动态内表的描述符,并通过`cl_abap_table_descr=>create`方法生成内表。 在进行动态更新时,需要注意以下要点: - 当使用`MODIFY`语句时,确保更新的字段不是系统表的关键字段。...
标题“abap-ALV.rar_ABAP系统ALV_abap_abap开发alv”暗示我们将深入探讨ABAP ALV的使用,特别是在ABAP系统中的应用以及如何进行开发。 描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,...
《SAP ABAP 4.7开发指南》 在企业级信息技术领域,SAP系统扮演着至关重要的角色,尤其在企业资源规划(ERP)方面。SAP ABAP(Advanced Business Application Programming)是SAP系统中的一种编程语言,用于开发、...
标题中的"ZDE_HTML.rar_abap_abap html_abap html"表明这是一个关于ABAP(一种用于SAP系统的编程语言)与HTML交互的资源压缩包。这个压缩包可能包含了将ABAP程序产生的数据转换为HTML格式的相关教程或代码示例。 ...
### SAP-ABAP-OO 实现 CL-SALV-TABLE 的关键知识点 #### 1. ABAP 面向对象的 ALV 显示方法 在 SAP 的 ABAP 环境中,ALV (Application List Viewer) 是一种非常常用的技术,用于在屏幕上以表格的形式展示数据。传统...
ABAP(Allgemeiner Berichtsaufbereitungsprozessor)是一种专为SAP系统设计的编程语言,起源于20世纪80年代,起初作为报表语言用于SAP R/2系统,后来成为SAP R/3平台的核心开发语言。它引入了逻辑数据库的概念,...
同时,调用系统方法是ABAP编程中常见操作,例如`cl_salv_table`类提供的方法,可以用于调整列的顺序、隐藏列、排序数据等。例如,隐藏某一列: ```abap lo_salv_table->get_column( 'MATNR' )->hide( ). ``` 或者,...
这是实战SAP程序开发_从实例学SAP_ABAP编程的清晰版本
在ABAP编程中,ALV (ABAP List Viewer) 是一个强大的工具,用于展示和编辑数据表。在处理用户输入时,我们有时需要对特定字段应用格式化或限制,这时`EDIT_MASK`就派上用场了。`EDIT_MASK`是ABAP中的一种功能,允许...
ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。...
标题中的"Schedule-of-the-contract.rar_The Contract_abap_abap hr"暗示了这是一个与SAP HR模块相关的项目,特别是涉及到合同的详细信息管理和报告。在这个项目中,开发者使用ABAP(Advanced Business Application ...
标题中的"SAP_ABAP.rar"表明这是一个与SAP ABAP相关的压缩文件,可能包含了关于SAP ABAP开发的文档或代码示例。ERP SAP ABAP指的是SAP企业资源规划系统中的ABAP编程语言,它是SAP系统核心开发的重要工具。"ERP_SAP...
这个文档集包含了ABAP的所有核心概念、语法、函数模块、类库、表单以及报告编写等多方面的内容,旨在帮助用户理解和掌握ABAP编程。 在ABAP DOCU HTML中,你可以找到以下几个重要的知识领域: 1. **ABAP基本语法**...
SAP ABAP 开发PPT l  了解ABAP l        ABAP语法概述 l        ABAP语言的数据类型 l        ABAP的语法格式 l        结构类型和结构体 l&...
5. **大数据导出**:在处理大数据时,ABAP提供多种工具,如`CL_BCS`(Business Communication Services)用于生成Excel文件,或者`CL_GUI_FRONTEND_SERVICES`类的`DOWNLOAD_FILE`方法进行文件下载。对于大规模数据,...
SAP_ABAP_BADI SAP_ABAP_BADI 是 SAP 系统中的一种业务增强工具,BADi 全称为 Business Add-In,意为业务增强接口。它允许开发者对 SAP 系统进行业务增强和定制,使得系统更加灵活和实用。 从标题"SAP_ABAP_BADI...
abap编程手册.doc ABAP开发规范及命名规则V20.doc
在ABAP中,我们需要先读取下载的ZIP文件到内存,然后用`CL_ZIP`类来解压。下面是一个基本的流程: ```abap DATA: lv_zip_content TYPE xstring, lo_zip TYPE REF TO cl_zip. READ FILE lv_file_name INTO lv_zip_...
abap包括各个业务模块,其中包括PP、SD、MM、QM等常用表