• SAP SMARTFORMS-基于内存方式在report程序中传递数据到smartforms显示


    一、准备工作

       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(32TYPE 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是内表结构

    二、演示结果

          

          

          

     

            

          

     

  • 相关阅读:
    软件工程课程总结
    《构建之法》部分读书笔记
    软件工程课程作业
    本周软件工程课程感想
    软件工程课设迭代开发第八天
    软件工程课设迭代开发第五至七天
    软件工程课设迭代开发第四天
    软件工程课设迭代开发第三天
    软件工程课设迭代开发第二天
    Bresenham中点画圆法与二阶差分算法
  • 原文地址:https://www.cnblogs.com/eagle-dtq/p/5099505.html
Copyright © 2020-2023  润新知