REPORT传值到SMARTFORMS的三种方式

1.最通常的用法是通过SE11中建立STRUCTURE,在REPORT中申明此结构的数据类型,在SMARTFORMS中的FORM接口申明同样的结构后就可以传值了

2.第二种是不用建立STRUCTURE,省了一个建表的麻烦,不过还是挺麻烦的!

1).程序中申明一个TYPE

2).SMARTFORMS中在全局定义中要在三处地方进行相应的操作

***全局定义的类型中进行和REPORT中相同的类型申明

程序中:

DATA:begin OF it_head,
       FKDAT TYPE VBRK-FKDAT,
       VBELN TYPE VBRK-VBELN,
      we_kunnr type vbpa-kunnr,
      we_name1 type kna1-name1,
      we_name2 type kna1-name2,
      we_STR_SUPPL1 type ADRC-STR_SUPPL1, "街道2
      WE_STR_SUPPL2 TYPE ADRC-STR_SUPPL2, "街道3
      we_STREET type ADRC-STREET, "街道
      we_HOUSE_NUM1 type ADRC-HOUSE_NUM1, "门牌号
      we_POST_CODE1 TYPE ADRC-POST_CODE1, "邮政编码
      we_CITY1 type ADRC-CITY1, "城市
      we_COUNTRY type ADRC-COUNTRY,"国家
      we_REGION type ADRC-REGION, "地区
     END OF It_head.

SMARTFORMS全局定义的类型中:

TYPES:begin OF WY_head,
       FKDAT TYPE VBRK-FKDAT,
       VBELN TYPE VBRK-VBELN,
      we_kunnr type vbpa-kunnr,
      we_name1 type kna1-name1,
      we_name2 type kna1-name2,
      we_STR_SUPPL1 type ADRC-STR_SUPPL1, "街道2
      WE_STR_SUPPL2 TYPE ADRC-STR_SUPPL2, "街道3
      we_STREET type ADRC-STREET, "街道
      we_HOUSE_NUM1 type ADRC-HOUSE_NUM1, "门牌号
      we_POST_CODE1 TYPE ADRC-POST_CODE1, "邮政编码
      we_CITY1 type ADRC-CITY1, "城市
      we_COUNTRY type ADRC-COUNTRY,"国家
      we_REGION type ADRC-REGION, "地区
    END OF  WY_head.

这两个结构是要一样的,因为在传值时会把相同字段的进行传递。

***全局定义的全局数据中申明变量,申明的类型是在全局定义中定义的类型,若是申明一个内表,把TYPE改成TYPE TABLE OF 就OK了。

      WA_HEAD  TYPE    WY_HEAD

***全局定义的初始化中进行数据的传递操作,也就是把REPORT中的值传到SMARTFORMS中

    DATA: FIELD(70) type c.
FIELD-SYMBOLS:      <wa> type any.

FIELD = '(ZSDST0009)IT_HEAD[]'.                      "要加程序名哦,不然哪里来,在调用SMART中和全局数据啥关系都没有
ASSIGN (field) TO <WA>.
IF SY-SUBRC = 0.
  WA_HEAD[] = <WA>.
endif.

IF <WA> is ASSIGNED.
  UNASSIGN <WA>.
ENDIF.

这是值的初始化也就是值传递的过程。

3.若是传递一两个很单一的变量,比较简单的做法是在REPORT中 EXPORT这个变量,在SMARTFORMS中IMPORT这个变量,两句话搞定.

说来说去,这个SMARTFORMS还是挺难用的,麻烦!不在麻烦中解决麻烦,就在麻烦中纠结吧!

   

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/easyjosn/archive/2010/01/10/5171111.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值