• SMARTFORM 传值的4种方法


    *& 20161019 160300
    smartform传值的方法

    • 1.通过结构 传值;

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

    • 2.Fieldsimble 传值;

    DATA:FIELD(100).
    FIELD-SYMBOLS:<FS_PRINT> TYPE ANY,
    <FS_ITEM> TYPE ANY.

    FIELD = '(ZZCPPRP_0018)GS_ALV'. "zx为程序名,output为内表名
    ASSIGN (FIELD) TO <FS_PRINT>.
    IF SY-SUBRC EQ 0.
    * WA_PRINT = <FS_PRINT>."notes:dump 【Operation not supported for incompatible data objects.
    MOVE-CORRESPONDING <FS_PRINT> TO GS_HEAD.
    ENDIF.

    FIELD = '(ZZCPPRP_0018)GT_ITEM'.
    ASSIGN (FIELD) TO <FS_ITEM>.
    IF SY-SUBRC EQ 0.
    MOVE-CORRESPONDING <FS_ITEM> TO GT_ITEM.
    ENDIF.


    Step1.创建FORM (需求:打印页面格式, 横打/竖打, 字体有无特殊要求, 有无图片 )

     

    2.设置页格式 和 样式

     

    3.如果不是用自建表传值, 表格接口可以不用修改

    4.使用 Field-symble 指针方式传值,全局定义中设置,

    FORM 类型中参考结构定义和程序的打印内表保持一致

    动态赋值, 注意输入输出参数

    然后,就是FORM 中表头,表身,表尾 的设计

    • 3.通过SAP内存( export,import )传值;

    SAP内存语句含义:
    使用EXPORT TO MEMORY语句在内存中存储数据对象。
    使用IMPORT FROM MEMORY语句从内存中读取数据对象。
    使用FREE MEMORY语句从内存中删除数据簇。

    若是传递一两个很单一的变量,比较简单的做法是在REPORT程序中用EXPORT,在SMARTFORMS中用IMPORT。
    IMPORT和EXPORT我们一般能不用就不用,后续维护难以跟踪。

    • 4.通过数据库中的簇数据库方式

    SAP数据库中的簇数据库语句含义:
    使用EXPORT TO DATABASE语句将数据对象存储到簇数据库中。
    使用IMPORT FROM DATABASE语句为数据簇生成目录表,并从簇数据库中取数据对象。
    使用DELETE FROM DATABASE语句从簇数据库中删除数据簇。

  • 相关阅读:
    vue项目的骨架及常用组件介绍
    细谈最近上线的Vue2.0项目(一)
    【请求之密】payload和formData有什么不同?
    【19道XSS题目】不服来战!
    Hexo+Coding搭建免费博客之Hexo代码上传到Coding实现公网访问站点(三)
    Hexo+Coding搭建免费博客之Next主题设置(二)
    Hexo+Coding搭建免费博客之Hexo安装部署(一)
    Openstack-Queens详细安装教程
    ESXI安装报错,No Network adapters were detected...
    VMware ESXi 5.5组件安装过程记录
  • 原文地址:https://www.cnblogs.com/rainysblog/p/7783448.html
Copyright © 2020-2023  润新知