飞吧,我们一起飞吧

飞吧,我们一起飞吧

导航

SMARTFORMS的调用方法(作者:曹玉平)

  想要在ABAP程序中调用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  飞吧,我们一起飞吧  阅读(1837)  评论(0编辑  收藏  举报