不在se11建结构smartforms传值方法

通常我们在做smartforms时都會自己建一个结构,以方便适用,
但是有时候多建个结构很麻烦,
我们在程序里都建了Internal table的结构了,
其实我们可以不建这个结构。 

在smartforms的 global settings->global definitions 里有个 types。 
我们可以在这里定义一个和程序里Internal table一样的结构。
但是,在form interface 里定义参数的时候不是刚才定义的结构,激活的时候会报错。

例如:在程式中定义一个Internal table
*** Internal table for item
DATA: BEGIN OF it_item OCCURS 0,
ebeln LIKE zpudnrlma0001-ebeln,
ebelp LIKE zpudnrlma0001-ebelp,
matnr LIKE ekpo-matnr,
maktx LIKE makt-maktx,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
lgort LIKE ekpo-lgort,
lgpbe LIKE mard-lgpbe,
werks LIKE ekpo-werks,
labst LIKE mard-labst,
END OF it_item.

转data到smartforms

CALL FUNCTION func_module_name
EXPORTING
control_parameters = control_parameters
wa_header = wa_header
it_item = it_item[]
IMPORTING
document_output_info = l_ssfcrespd
EXCEPTIONS
user_canceled = 4.

到smartforms定义Internal table
path: global settings->global definitions->types
*** Internal table for item
TYPES: BEGIN OF st_item,
ebeln LIKE zpudnrlma0001-ebeln,
ebelp LIKE zpudnrlma0001-ebelp,
matnr LIKE ekpo-matnr,
maktx LIKE makt-maktx,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
lgort LIKE ekpo-lgort,
lgpbe LIKE mard-lgpbe,
werks LIKE ekpo-werks,
labst LIKE mard-labst,
END OF st_item.
TYPES: tt_item TYPE STANDARD TABLE OF st_item.

然后再定义smartforms的Internal table
path: global settings->form interface->import
IT_ITEM TYPE TT_ITEM

输出时用& IT_ITEM-ebeln&就可以了.

http://blog.sina.com.cn/sapliumeng
原文地址:https://www.cnblogs.com/senlinmu110/p/3802172.html