首先明白什么是SmartForms,SAP为了满足企业各种各样的报表的需求,不仅提供了如ALV,Report等生成表格式的报表工具,还提供了SAPscript和SmartForms工具来帮助企业制作各种各样的格式化报表,比如在此类报表中可以加入公司图标,公司地址等信息。

    SmartForms提供给我们3中工具,Form Bulider,Text Module,Style,Text Module用于建立Form中的文本节点,Style用于创建报表样式,一般包括表头样式,字体样式,段落样式等,字体样式用于控制字体,段落样式用于控制段落格式,除此之外要明白的是SmartForms用节点的形式来组织各个元素,并且节点的处理顺序是不分等级的从上到下,且为了增加灵活性,SmartForms还给我们提供了一些逻辑节点,比如说Alternative节点,帮助我们更灵活的处理节点。

SmartForms简介_休闲

    每一个SmartForms在激活时都会生成一个Function Module,而我们在Form Interface中定义的接口也就是该功能模块的接口,下面介绍如何在Report程序中调用一个已经定义好的SmartForms,已知其名字为MySmartForms。

REPORT  z_usesf                                 .

DATA fm_name TYPE rs38l_fnam."定义一个rs38l_fnam类型的变量存储功能模块名

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

  EXPORTING"输入参数,传递SmartForms名子

    formname = 'MySmartForms'

  IMPORTING:"输出参数,返回SmartForms激活时生成的功能模块名

    fm_name  = fm_name.

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."调用返回的功能模块,如果在SmartForms中定义了参数接口的话呢,此处还要指定参数接口的名称。