smartform实例图解Word文件下载.docx
《smartform实例图解Word文件下载.docx》由会员分享,可在线阅读,更多相关《smartform实例图解Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
然后开始编写代码。
Report代码如下:
(代码内容不再讲解)
*&
---------------------------------------------------------------------*
ReportZTEST_22_RSF0001
REPORTZTEST_22_RSF0001NOSTANDARDPAGEHEADINGLINE-SIZE150
MESSAGE-IDZBSUN.
DATA:
G_TAB_TESTLIKESTANDARDTABLEOFSFLIGHT,
G_REC_TESTTYPESFLIGHT.
FM_NAMETYPERS38L_FNAM.
SELECTION-SCREENBEGINOFBLOCKBLOCK1WITHFRAME.
SELECT-OPTIONSS_LINEFORG_REC_TEST-CARRIDNOINTERVALS.
SELECT-OPTIONSS_DATEFORG_REC_TEST-FLDATE.
SELECTION-SCREENENDOFBLOCKBLOCK1.
INITIALIZATION.
REFRESHG_TAB_TEST.
CLEAR:
G_REC_TEST,
FM_NAME.
START-OF-SELECTION.
SELECT*
INTOTABLEG_TAB_TEST
FROMSFLIGHT
WHERECARRIDINS_LINE
ANDFLDATEINS_DATE.
IFSY-SUBRC<
>
0.
MESSAGEE001WITH'
NODATA'
.
*Nodataselected.
ENDIF.
END-OF-SELECTION.
CALLFUNCTION'
SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME='
ZTEST_22_SF0001'
*VARIANT='
'
*DIRECT_CALL='
IMPORTING
FM_NAME=FM_NAME
*EXCEPTIONS
*NO_FORM=1
*NO_FUNCTION_MODULE=2
*OTHERS=3
.
*MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
*WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
CALLFUNCTIONfm_name
*EXPORTING
*ARCHIVE_INDEX=
*ARCHIVE_PARAMETERS=
*CONTROL_PARAMETERS=
*MAIL_APPL_OBJ=
*MAIL_RECIPIENT=
*MAIL_SENDER=
*OUTPUT_OPTIONS=
*USER_SETTINGS='
X'
*IMPORTING
*DOCUMENT_OUTPUT_INFO=
*JOB_OUTPUT_INFO=
*JOB_OUTPUT_OPTIONS=
TABLES
G_TAB_TEST=G_TAB_TEST
EXCEPTIONS
FORMATTING_ERROR=1
INTERNAL_ERROR=2
SEND_ERROR=3
USER_CANCELED=4
OTHERS=5.
IFSY-SUBRC<
*<
errorhandling>
ENDIF.
2.创建smartform程序。
smartforms。
输入要创建的smartform程序的名称(这个名称要和report程序调用的名称一致)。
然后点击“创建按钮”。
输入内表的名称和类型
双击“表格接口”,输入一个内表的名称(这个名称要和report程序调用时的变量名必须一致,表的类型也必须一致)。
然后点击“全局定义”。
输入工作区的名称和类型
输入一个工作区的名称和类型,类型必须和内表的类型一致。
然后点击“页和窗口à
page->
mainwindow”然后输入一个名称(FIRST),如下图。
然后在“FIRST”上右键创建一个table,创建table后会自动生成“表头”,“主要区域”和“脚标”。
点击“细节”按钮
输入table名称
设置要显示的列数和每列的宽度,总列数的宽度要小于表的宽度。
我设置了4列,每列的宽度为4厘米。
然后点击“数据”。
输入刚才在“表格接口”中输入的内表名称和在“全局定义”中输入的工作区名称。
列的名称
然后在“主要区域”上右键创建一个tableline(表行)。
输入一个名称,选择刚才你设置的显示格式(LINE1),选择后会自动生成你刚才设置列数,然后修改每一列的名称。
(我刚才设置了4列)
显示格式
在每一个列的下面创建一个“文本”并修改文本的名称。
然后双击文本。
点击
输入“&
G_REC_TEST-CARRID&
”,也就是刚才的内表指向一个字段。
以同样的方法设置其他的列。
表头的设置和上面的操作基本相似。
就是在给相应的列赋值时更简单些。
直接输入要显示的列的名称
脚标设置也相似。
设置表格线:
选择你要设置的表格线的格式
然后保存并激活你程序,运行结果: