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语句从簇数据库中删除数据簇。
SMARTFORM 传值的4种方法的更多相关文章
- MVC控制器向View视图传值的三种方法
首先创建一个MVC的项目,其中需要一个控制器(TestController),三个视图(index,edit,detail) 1.项目结构如下:
- android fragment传递参数_fragment之间传值的两种方法
在Activity中加载Fragment的时候.有时候要使用多个Fragment切换.并传值到另外一个Fragment.也就是说两个Fragment之间进行参数的传递.查了很多资料.找到两种方法.一种 ...
- React Router v4 页面传值的三种方法
传值方法 1.props.params 使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path: <Route path='/user/: ...
- Angular--页面间切换及传值的四种方法
1. 基于ui-router的页面跳转传参(1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(producers.html)放置了多个produce ...
- GRIDVIEW传值的两种方法
第一种方法:在onselectedindexchanged中写事件 第二种方法:OnRowCommand事件 前端页面: <%@ Page Language="C#" Aut ...
- WinForm窗体间如何传值的几种方法
(转) 窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 公共静态变量: 使用共有属性: 使用委托与事件: 通过构造函数把主窗体传递到从窗体中: 一.通过静态变量 特点: ...
- 2019-3-26WinForm窗体间如何传值的几种方法
窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 公共静态变量: 使用共有属性: 使用委托与事件: 通过构造函数把主窗体传递到从窗体中: 一.通过静态变量 特点:传值是双 ...
- C#跨窗体传值的几种方法分析(很详细)
创建一个Winform窗体应用程序项目,然后添加一个Form2窗体. 在Form1和Form2中各添加一个textBox和button: 单击Form1中的button1,弹出Form2,然后要做的就 ...
- struts2前后台传值的三种方法
原文地址: http://laokaddk.blog.51cto.com/368606/1340816 多的不说,直接上代码; struts.xml代码: <?xml version=" ...
随机推荐
- unity, UGUI Image shader
Image组件的Material成员默认是空,如果想为Image添加shader,只需新建material赋给Material即可. 另外注意,用于UI组件的shader都要包含一句:ZTest ...
- ModelSim 使用笔记1
ModelSim 使用笔记1 ModelSim提供了简单仿真方式,还有一种要建立project,目前这种方式暂时够我用了. 总结了以下,做了一个简单的<modelsim quick star ...
- 李洪强漫谈iOS开发[C语言-002]-开发概述程序的本质与简单执行过程
李洪强iOS开发之应用程序的本质与简单执行过程 什么叫程序? 就是一段执行指令 程序的两个状态: 保存状态(保存到硬盘上) 运行状态(由CPU执行) 代码可以执行吗? CPU(中央处理器-> ...
- virtualenv下使用matplotlib
Unable to “import matplotlib.pyplot as plt” in virtualenv (PyMVPA) SimilarFacedeMacBook-Pro:PyMVPA ...
- Chrome插件开发之manifest.json
广而告之: Chrome插件之一键保存网页为PDF1.1发布 http://www.cnblogs.com/bdstjk/p/3179543.html 最近做“一键保存网页为PDF”过程中,对Chro ...
- 中移苏研DCOS实践之路完整篇
一.实践背景 1.1现网生产系统存在的问题 在中国移动内部各省市公司,由于技术迭代.设备更新的原因,设备繁杂,有x86server .VMware虚拟机.OpenStack虚拟机以及不同厂商的物理机( ...
- java 调用cmd命令
public class Port{ public static void main(String[] args) { Runtime runtime=Runtime.getRuntime(); tr ...
- Servlet Session 跟踪
HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录. 但是仍然有以下三种方式来维持 ...
- 用VS2010进行CMAKE的时候“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”
由于要编译LTP,LTP在MINGW下又不能编译,所以忍痛安装了VS2010+CMAKE. 由于VS在本科时候虐我千百遍,所以一直心存阴影... 转入正题,当cmake的时候, 它提示 “LINK : ...
- GoogleMap-------解决不能使用问题
前言:由于中国大部分Android手机中的Google服务都被阉割掉了,所以导致GoogleMap无法使用,可以用一下方法解决. 1.不能使用GoogleMap 2.若手机上装有安装市场之类的软件可搜 ...