FORM mail .
\打印参数 DATA:fm_name TYPE rs38l_fnam, DATA :l_page TYPE i.
DATA:fm_name TYPE rs38l_fnam.
DATA: ls_control_param TYPE ssfctrlop,
ls_composer_param TYPE ssfcompop. DATA lv_menge LIKE it_lips-lfimg.
DATA: lt_likp LIKE it_likp OCCURS 0 WITH HEADER LINE, lt_lips LIKE it_lips OCCURS 0 WITH HEADER LINE. DATA wa_lips LIKE LINE OF it_lips.
DATA:out_tab LIKE TABLE OF it_likp WITH HEADER LINE. DATA lv_vbeln TYPE vbeln_vl. DATA: gs_control TYPE ssfctrlop. DATA: gs_compop TYPE ssfcompop. DATA: gs_return TYPE ssfcrescl.
DATA: control_parameters TYPE ssfctrlop. DATA: job_output_info TYPE ssfcrescl. DATA: job_output_options TYPE ssfcresop.
\转OTF
DATA: gt_otf TYPE itcoo OCCURS 0 WITH HEADER LINE, gt_tline TYPE tline OCCURS 0 WITH HEADER LINE, gt_record LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA: g_len_in TYPE i, \文件大小(邮件附件大小) g_lines_txt TYPE i, \邮件文本行数 g_lines_bin TYPE i. \邮件附件行数 DATA: g_benfile TYPE xstring.
DATA: g_object(50) TYPE c.\邮件主题
DATA pdf_name TYPE string.
DATA: gt_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE, \邮件内容 正文+附件 gt_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE, \正文内容 gt_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE, \附件内容 gt_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,\收件人 wa_doc_chng TYPE sodocchgi1. \邮件属性 LOOP AT it_alv WHERE check = 'X'. IF it_alv-dflag = 'X'.
MESSAGE '所选的打印条目中含有被冻结的客户,请申请临时信用额度之后再进行打印!' TYPE 'E'. ENDIF.
READ TABLE out_tab WITH KEY vbeln = it_alv-vbeln. IF sy-subrc <> 0.
LOOP AT it_likp WHERE vbeln = it_alv-vbeln. out_tab = it_likp.
out_tab-vgbel = it_alv-vgbel. APPEND out_tab. ENDLOOP. ENDIF. ENDLOOP.
*獲取表頭數量
l_page = LINES( out_tab ).
*如果表頭數量為0,則彈出警告‘NO DATA FOUND’ IF l_page = 0.
MESSAGE s001 WITH '没有数据被选择,请选择!' DISPLAY LIKE 'E'. EXIT. ENDIF.
LOOP AT out_tab.
IF out_tab-bahns = ''.
out_tab-bahns = '盖章+签字'. MODIFY out_tab. ENDIF. ENDLOOP.
gs_control-no_open = 'X'. gs_control-no_close = 'X'. gs_control-getotf = 'X'. gs_control-langu = '1'. gs_control-no_dialog = 'X'.
gs_compop-tdnoprev = 'X'. LOOP AT out_tab. CLEAR lt_likp[].
MOVE out_tab TO lt_likp.
\ lt_likp-bldat = '20121001'. \更改打印日期 APPEND lt_likp. CLEAR lt_lips[].
LOOP AT it_lips2 WHERE vbeln EQ lt_likp-vbeln. MOVE it_lips2 TO lt_lips.
WRITE lt_lips-lfimg TO lt_lips-lfimg_c DECIMALS 3. CONDENSE lt_lips-lfimg_c. APPEND lt_lips. ENDLOOP.
CLEAR lv_menge. CLEAR lv_vbeln.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING
formname = 'ZZKTEST1' \附件-采购合同条款 IMPORTING
fm_name = 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. ENDIF.
CALL FUNCTION 'SSF_OPEN' EXPORTING
output_options = gs_compop control_parameters = gs_control user_settings = 'X' IMPORTING
job_output_options = 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. ENDIF.
CALL FUNCTION fm_name EXPORTING
output_options = gs_compop control_parameters = gs_control user_settings = ' ' IMPORTING
job_output_info = gs_return TABLES
it_head = lt_likp it_body = lt_lips 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. ELSE. ENDIF.
CALL FUNCTION 'SSF_CLOSE' IMPORTING
job_output_info = job_output_info EXCEPTIONS
formatting_error = 1 internal_error = 2 send_error = 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. ELSE.
APPEND LINES OF job_output_info-otfdata TO gt_otf. ENDIF. ENDLOOP.
CALL FUNCTION 'CONVERT_OTF' EXPORTING
format = 'PDF' pdf_username = 'TIANCZ' IMPORTING
bin_filesize = g_len_in bin_file = g_benfile TABLES
otf = gt_otf lines = gt_tline EXCEPTIONS
err_max_linewidth = 1 err_format = 2 err_conv_not_possible = 3 err_bad_otf = 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. ENDIF.
相关推荐: