将内表转换为HTML Table 并发送邮件
测试程序 ,生成内表call function 转 html 并发送邮件
1. 程序ZW_ABAP_TEST01
*&———————————————————————*
*& Report ZW_ABAP_TEST01
*&
*&———————————————————————*
*&
*&
*&———————————————————————*
REPORT ZW_ABAP_TEST01.
DATA: LT_T001T TYPE STANDARD TABLE OF T001T,
LT_HTML TYPE STANDARD TABLE OF SOLI.
SELECT * FROM T001T INTO TABLE LT_T001T.
CALL FUNCTION ‘ZBC_CONVERT_TAB_TO_HTML’
TABLES
IT_TAB = LT_T001T
ET_HTML = LT_HTML.
* 前提之变量定义
DATA:
SEND_REQUEST TYPE REF TO CL_BCS,
DOCUMENT TYPE REF TO CL_DOCUMENT_BCS,
FAIL TYPE REF TO CX_BCS,
RECIPIENT TYPE REF TO IF_RECIPIENT_BCS.
DATA:
LS TYPE STRING,
MAILTO TYPE AD_SMTPADR,
MAIN_TEXT TYPE BCSY_TEXT,
TITLE TYPE SO_OBJ_DES.
TITLE = ‘动态内表转HTML表单测试邮件‘.
MAILTO = ‘admin@dev.com’.
TRY.
* 第一步: 创建发送请求
SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
* 第二步: 创建整理发送内容
DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = ‘HTM’
I_TEXT = LT_HTML
I_SUBJECT = TITLE ).
* 第三步: 添加邮件内容到发送请求
SEND_REQUEST->SET_DOCUMENT( DOCUMENT ).
* 第四步: 邮件地址转换
RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( MAILTO ).
* 第五步: 添加邮件地址到发送请求
SEND_REQUEST->ADD_RECIPIENT( RECIPIENT ).
* 第六步: 正式发送并提交作业
SEND_REQUEST->SEND( I_WITH_ERROR_SCREEN = ‘X’ ).
COMMIT WORK AND WAIT.
CATCH CX_BCS INTO FAIL.
* MESSAGE ixxx(xx) WITH fail->error_type.
ENDTRY.
二、测试结果: