天天看点

smartforms相关知识

smartforms是SAP的一个事务码,用于完成类似于SAPscript的报表工作。基本的smartforms商业报表创建,需要做两件事:1.绘制报表(表单和样式) 2.调用报表

1.绘制报表

smartforms相关知识

绘制过程略,主要是:为表单指定一个样式,在【表格接口】中定义输入输出参数,全局定义中定义数字类型的变量,创建页面--页面下创建模板--模板下创建文本,使用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

smartforms相关知识
smartforms相关知识
smartforms相关知识

一一对应的感觉。

下面我们继续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.           

继续阅读