smartforms是SAP的一个事务码,用于完成类似于SAPscript的报表工作。基本的smartforms商业报表创建,需要做两件事:1.绘制报表(表单和样式) 2.调用报表
1.绘制报表
绘制过程略,主要是:为表单指定一个样式,在【表格接口】中定义输入输出参数,全局定义中定义数字类型的变量,创建页面--页面下创建模板--模板下创建文本,使用table显示二维表的数据。
2.调用报表
写一个report,获取报表所需的二维数据,然后获取smartform对应的function module,代码如下所示
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = P_FORM "输入:smartform名
IMPORTING
FM_NAME = lv_fname "输出:对应的function module名
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.
这样我们获取了smartform对应的function module的名字
其实我们可以通过smartforms界面上的如下操作,可视化看到对应的function module
一一对应的感觉。
下面我们继续report对smartform的调用
CALL FUNCTION lv_fname
EXPORTING
control_parameters = ls_control
iv_a = lv_a
iv_b = lv_b
iv_c = lv_c
TABLES
it_data = lt_form[]
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4.