在工作中,我们常常会遇到以邮件附件的方式发送SAP的订单,出库单或者发票等信息给客户。我这里将实现摘抄下来,供大家参考:
1、设计订单打印smarfform(这就不累述了)
2、设计订单打印程序:几个关键代码照抄如下:
2.1 调用打印程序生成PDF
*---------------------------------------------------------------------*
* FORM PROCESSING *
*---------------------------------------------------------------------*
FORM processing.
DATA: it_otf TYPE STANDARD TABLE OF itcoo,
lt_docs TYPE STANDARD TABLE OF docs,
lt_lines TYPE STANDARD TABLE OF tline.
........
*获取smartform的函数
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lf_formname
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
* error handling
retcode = sy-subrc.
IF sy-subrc = 1.
MESSAGE e006(/kyk/ops_sd) INTO g_dummy.
ENDIF.
IF sy-subrc = 2.
MESSAGE e007(/kyk/ops_sd) WITH lf_formname INTO g_dummy.
ENDIF.
PERFORM protocol_update.
RETURN.
ENDIF.
*准备打印的数据
tvbdpa1[] = tvbdpa[].
REFRESH tvbdpa.
LOOP AT gt_items INTO gs_items.
READ TABLE tvbdpa1 INTO ls_tvbdpa WITH KEY posnr = gs_items-posnr.
IF sy-subrc = 0.
APPEND ls_tvbdpa TO tvbdpa.
ENDIF.
ENDLOOP.
*调用smartform的函数,输出
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
&