SMARTFORMS的调用方法(作者:曹玉平)
得第二个模块的名称。第二个功能模块是才是SMARTFORM,但在ABAP调用先激活它,
否则是无法调用的。
具体流程是:
1.在Form Builder中,选择Environment----->Function module Name of the function module.,记下该模块的名称,可以用CTRL +Y 和CTRL+C 功能键的组合拷贝。
2.然后在声明一个rs381_fnam的变量fm_name,该变量用于保存SMARTFORMS生成的模块名:DATA fm_name TYPE rs381_fnam.
3.使用功能模块SSF_FIELD_LIST返回所需要的格式接口,有时可通过该接口中的信息来限定数据选择范围。
4.调用功能模块SSF_FUNCTION_MODULE_NAME,将SMARTFORMS名作为输入参数传进该模块,用于返回实际需要使用的SMARTFORMS的功能模块名称。
CALL FUNCTION ‘SS_FUNCTION_MODULE_NAME’
EXPORTING
FORMNAME = ‘SF_0001’
IMPORTING
FM_FORM = fm_name
EXCEPTION
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBC <> 0 .
<Error handing>
ENDIF.
5.调用FORM模块,使用ABAP编辑器的CALL FUNCTION 中的插入功能,将步骤1中得到的FORM模块名称添加到其中(目的是为了避免手工输入所有参数接口),并将该值赋给步骤2中定义的变量fm_name.下面的代码中,向SMARTFORMS传递三个变量到参数G_CARRID,G_CONNID,G_FLDATE和一个内表至GT_SBOOK,这些参数是在该SMARTFORMS中的INTERFACE部分定义好了的。
CALL FUNCTION fm_nam
EXPORTING
*
*
*
*
*
G_CARRID = <VARIANT1>
G_CONNID=<VARIANT2>
G_FLDATE=<VARIANT3>
*IMPORTING
*
*
*
TABLES
GT_SBOOK = <INTERNAL TABLE>
EXCEPTIONS
IF SY-SUBRC <>0.
<error handling>
ENDIF.
曹玉平:男 湖南郴州桥口排塘曹家
posted on 2006-03-17 00:07 飞吧,我们一起飞吧 阅读(1885) 评论(0) 编辑 收藏 举报