ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SmartFomrs表单应用之一:简单表单

SmartFomrs表单应用之一:简单表单

原创 Linux操作系统 作者:qy1141 时间:2009-06-05 16:39:43 0 删除 编辑

Smartform在SAP的表单设计中有着不可替代的作用,本文主要讲解如何制作简单的Smartforms表单,包括以下几个部分。

一、创建样式style。在Smartforms表单的设计中需要使用。

二、Smartform表单设计。

三、在报表中调用Smartforms。

以下就上面三部分逐步讲解。

1、创建样式Style。事务码:SMARTFORMS。

选择 样式 输入sytle名称:ZQUY_TEST,点击创建按钮,在style中可以设置表头数据的格式、段落格式以及字符格式,根据具体需求自己创建。效果图如下:

2、创建表单。事务码:Smartforms。Forms表单有两部分组成,如图:

2.1、表格属性:用来设置页格式、样式、输出格式等信息。其中页格式可以在事务:SPAD中自定义,(完全管理-->设备类型-->页格式中)。本次设置A4页格式,样式就用上文自定义的格式:ZQUY_STYLETEST,如下图所示

2.2、表格接口

这里定义表单的输入、输出参数、表参数和定义异常。我们在这里定义表单数,如图:

其中ZSMART_DATA为自定义结构。主要是人事信息等。

2.3、全局定义

2.4、表单设计。

2.4.1、在Main主窗口下,首先设置窗口的左边距、上边距、高度、宽度,经本人多年的经验,对A4纸张建议如下设置:
左边距:0.50 、 上边距:0.75、  宽度:19.40、 高度:28.20

2.4.2、创建表,定义数据显示的格式。双击创建的表,在右边窗口中点击,定义表格的行类型。我们定义两个行类型,L2和L5,

L2行类型定义每行有2列,L5行类型定义每行有5列,如图所示:

设置表格的数据,点击数据一栏,如下设置:

创建两行,分别使用L2和L5行类型。在每行的列下面分别创建文本来显示数据。

使用表接口传递的数据作为显示,点击Smartforms工具栏中的按钮获取数据。

将自定义结构中的字段拖到需要显示的文本,并设置文本的样式即可。

3、在报表中调用Smartforms。代码如下:

REPORT  z_smartforms_test001.
DATA:fm_name TYPE rs38l_fnam,
       out_options TYPE ssfcompop,
       ctrl_params TYPE ssfctrlop,
       fname TYPE tdsfname,
       items LIKE zsmart_data OCCURS 10 WITH HEADER LINE.

START-OF-SELECTION.
  fname = 'ZQUY_TEST001'.
  PERFORM. getdata.
  PERFORM. set_form.
  PERFORM. dis_form.

*&---------------------------------------------------------------------*
*&      Form  getdata
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM. getdata .
  items-num1 = '*8000**'.
  items-name = '***'.
  items-sex = '男'.
  items-degree = '本科'.
  items-tel = '1111111111111'.
  items-com = '*利集团***'.
  items-dept = '*海信息******'.
  APPEND items.
ENDFORM.                    " getdata
*&---------------------------------------------------------------------*
*&      Form  set_form
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM. set_form. .
*  通过smartforms的表单名得到表单程序名
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING
  formname                 = fname
*   VARIANT                  = ' '
*   DIRECT_CALL              = ' '
  IMPORTING
  fm_name                  = fm_name
  EXCEPTIONS
  no_form                  = 1
  no_function_module       = 2
  OTHERS                   = 3
  .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    STOP.
  ENDIF.
*  设置假脱机相关设置
*  out_options-TDDEST = 'ZGEE'.
  out_options-tdimmed = 'X'.
  out_options-tddelete = 'X'.

* 设置打印参数
  ctrl_params-preview = 'X'.
  ctrl_params-no_dialog = 'X'.

ENDFORM.                    " set_form
*&---------------------------------------------------------------------*
*&      Form  dis_form
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM. dis_form. .
  CALL FUNCTION fm_name
    EXPORTING
      control_parameters = ctrl_params
      output_options     = out_options
      user_settings      = ''
    TABLES
      items                    = items
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    STOP.
  ENDIF.

ENDFORM.                    " dis_form

注:在运行程序之前,先运行SU3,设置输出设备,并设置本机的默认打印机。

调用的效果图:

直接点打印即可。

 

 

 

 

11.jpg

11.jpg

11.jpg

11.jpg

11.jpg

11.jpg

11.jpg

11.jpg

11.jpg

11.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11377579/viewspace-605275/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-11

  • 博文量
    13
  • 访问量
    40834