一、准备工作

   1、新建include程序

      1> include程序名字:ZDD_INC_0104

      2> ZDD_INC_0104  程序中的内容为

         

   2、使用T-CODE :SE11新建两个数据库表ZTDD、ZTDD2

    

    新建完数据库表后往表中添加数据即可

    3、新建一个程序名为:ZDD_TEST_0104

      REPORT ZDD_TEST_0104.
      INCLUDE ZDD_INC_0104.
      TABLES:ZTDD,ZTDD2.

      TYPES:BEGIN OF ZITAB,
              NAME LIKE ZTDD-NAME,
              AGE  LIKE ZTDD-AGE,
              SCHOOL LIKE ZTDD2-SCHOOL,
            YEARTOSCHOOL   LIKE ZTDD2-YEARTOSCHOOL,
        END OF ZITAB.
      DATA:ZITAB_ZTDD TYPE ZITAB OCCURS 0.
      DATA:WA_ZTDD TYPE ZITAB.
      DATA:fm_name TYPE rs38l_fnam.
        DATA:itemsname(32) TYPE c.

    START-OF-SELECTION.
      SELECT-OPTIONS: age FOR ZTDD-AGE.

     PERFORM GETDATA.
        PERFORM PRINT_DATA.
    END-OF-SELECTION.
    FORM GETDATA.
       SELECT z1~NAME z1~AGE z2~SCHOOL z2~YEARTOSCHOOL
           INTO CORRESPONDING FIELDS OF TABLE ZITAB_ZTDD
           FROM ZTDD as z1 INNER JOIN ZTDD2 AS z2
           ON z1~NAME = z2~NAME
           WHERE z1~AGE in  age.

  ENDFORM.

  FORM PRINT_DATA.
         call function 'SSF_FUNCTION_MODULE_NAME'
       EXPORTING
         formname = 'ZDD_FORM_1231'
       IMPORTING
          fm_name = fm_name
       EXCEPTIONS
           no_form = 1
           no_function_module = 2
           OTHERS = 3.

  CONCATENATE 'ZSPMMF1002IT' SY-UZEIT INTO itemsname.
   savebuffer ZITAB_ZTDD[] itemsname.
*调用 smartForms
   call function fm_name
     EXPORTING
         ptr_items = itemsname   "这个ptr_items是smartforms中表接口的参数,下面会有描述
     EXCEPTIONS
         formatting_error = 1
         internal_error = 2
         send_error = 3
         user_canceled = 4.
     clearbuffer itemsname.
  ENDFORM.

程序里的内容就到此为止了,下面是smartforms里的内容了

================================================================================================================

   4、使用T-CODE :smartforms新建一个为:ZDD_FORM_1231的表单,样式随便选择

     1>  定义表格接口—>导入

        

      2>  全局定义中的设置

        全局定义—>类型

        

        全局定义—>全局数据

        

        全局定义—>初始化

        

        全局定义—>格式化程序

        

      到此全局定义中的设置完毕了,下面是要在窗口中显示内容了

==========================================================================================================

   5、先在主窗口中新建个一个表

      

      1>  在表头里新建一个新行,行类型就选%LTYPE1即出现四个新列,然后在每一个列里右击新建文本,内容依次为:姓名、年龄、学校、入学日期等文本

      

      2>  双击新表1—>数据

       

      3>  在主要区域里新建一个行,选择行类型为%LTYPE1,然后出现四个列,在每一个列的文本中输入变量参数字段

      

      注意:在全局数据中有两个参数:wa_items和IT_ITEMS,wa_items在smartforms中是工作区,it_items是内表结构

二、演示结果

      

      

      

        

      

SAP SMARTFORMS-基于内存方式在report程序中传递数据到smartforms显示的更多相关文章

  1. Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页

    Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页 在FireMonkey iOS应用程序中的Tab Tab由FMX.TabControl.TTabControl定 ...

  2. ASP.NET MVC中如何以ajax的方式在View和Action中传递数据

    前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建 MVC&AJax&JSon示例,这一篇单独讲解如何在View和A ...

  3. 【Android进阶】怎样使用文件来保存程序中的数据

    在程序中.有非常多保存和获取数据的方法,本篇文章,主要介绍使用文件系统对程序中的数据进行保存和读取的操作 我直接写了一个帮助类,进行文件的写入和读取操作 /** * 用于在文件里保存程序数据 * * ...

  4. H5 页面与小程序之间 传递数据

    H5 页面与小程序之间 传递数据 小程序里面的 H5页面与小程序之间怎么传递数据 webview与小程序之间的实时通信 webview主动发消息给小程序 webview可以利用jssdk提供的 wx. ...

  5. BLOCK方式实现OC程序中多个页面判定用户是否登录

    在程序中经常会遇到这种情况,用户刚进入我们软件的时候我们是无需要求用户登录的,但是在下面的页面中,例如收藏,购买等页面的时候,显然在多个页面需要多次判定用户是否登录.试着用block简单的实现了一下该 ...

  6. VC++ 在两个程序中 传递字符串等常量值的方法:使用了 WM_COPYDATA 消息的

    消息作用:    在进程间共享数据(内部通过创建内存映射文件) 消息介绍:需要用到的数据结构/类型:typedef struct tagCOPYDATASTRUCT {    ULONG_PTR dw ...

  7. iPhone应用程序间传递数据

    前一篇简单的介绍了iPhone应用程序间通信,主要是通过在被调用应用的Info.plist中加入URL方案,在应用中通过openUrl来实现程序的调用.而应用程序间的数据传递则可以更具url来实现,例 ...

  8. 如何在原生微信小程序中实现数据双向绑定

    官网:https://qiu8310.github.io/minapp/ 作者:Mora 在原生小程序开发中,数据流是单向的,无法双向绑定,但是要实现双向绑定的功能还是蛮简单的! 下文要讲的是小程序框 ...

  9. 使用Microsoft.ExceptionMessageBox.dll捕获WinForm程序中异常信息并弹窗显示

    WinForm程序开发中,在开发模式下对于异常的处理一般都是通过调试的方式来查找异常发生的未知与原因. 下面以“除数为0”的情况来具体说明. Button按钮事件如下: private void bu ...

随机推荐

  1. 如何向git账号上提交代码

    官方说明:https://help.github.com/articles/generating-ssh-keys/ 1,为Github账户设置SSH key 文章地址:http://zuyunfei ...

  2. 如何判断一个变量是否是utf-8

    //判断传入的字符是否是utf-8  function is_utf8($word){   if (preg_match("/^([".chr(228)."-" ...

  3. shell学习之路:流程控制(for)

    for循环的语法: 1.  for 变量 in 值1 值2 值3.... do 程序 done 例如:下列脚本会分别打印4次 分别是morning noon afternoon evening的值 # ...

  4. jQuery.validator 验证规则详解

    前言:jQuery.validator是一款非常不错的表单验证插件,验证方式非常简单方便,它还对HTML5做了兼容处理,了解了验证规则,就基本掌握了它的使用,下面就让我一一道来 jQuery.vali ...

  5. Materialize一款不错的框架(装逼必备,想想一帮渣渣们还在说bootstrap的时候,你用materialize,高端洋气,别人仰望着,同事们鄙视的看着你还能不能愉快的玩耍的时候,那种孤高的感觉!-_-//意淫结束)

    这个materialize感觉比bootstrap好一点 当然啦中文文档还木有!所以想搞个materialize中文网的可以抢先咯! materialize是谷歌设计制作的一款框架. HOHO,出去别 ...

  6. C#3.0 特性

    C#3.0特性 隐式类型的本地变量和数组 对象初始值设定项 集合初始值设定项 扩展方法 匿名类型 lambda表达式 查询关键字 自动实现的属性 分布方法定义 lambda表达式与表达式树 https ...

  7. ajax基础了解

    使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据.这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息.AJAX即“Asynchronous JavaSc ...

  8. Swift2.1 语法指南——高级操作符

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  9. Mysql BLOB和TEXT类型

      BLOB是一个二进制大对象,可以容纳可变数量的数据.有4种BLOB类型:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB.它们只是可容纳值的最大长度不同. A binary la ...

  10. MySQL中的运算符

    一.算法运算符: (A) 除法运算和模运算中,如果除数为0,非法,返回结果为NULL. 二.比较运算符: (A) 比较结果不确定是返回NULL. (B) 比较运算符可以用于比较数字.字符串和表达式.数 ...