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=" ...
随机推荐
- QT学习二:工具栏
QT 的工具栏提供 Dock 功能.文字/图标显示排列的功能. void MainWindow::createToolBar(void) { QToolBar *toolBar = new QToo ...
- Html打印需要内容块(Js实现)
首先在head里面加入下面一段js代码: function preview(oper) { ) { bdhtml = window.document.body.innerHTML; //获取当前页的h ...
- 设计模式之里氏替换原则(LSP)
在java等面向对象编程语言里面,我想继承性应该是一大特色吧!所以今天所要讲解的里氏替换原则主要是针对这一特性而提出来的,当我们定义对象的时候,尽量找出对象之间的相同点,然后将其抽象成基类对象.比如水 ...
- AngularCSS 的引入: CSS On-Demand for AngularJS
1) Include the required JavaScript libraries in your index.html (ngRoute and UI Router are optional) ...
- vSphere ESXi主机配置iSCSI存储
vSphere ESXi主机配置iSCSI存储 vSphere ESXi主机一般连接的存储类型有光纤存储.iSCSI存储两类.本次案例为iSCSI存储连接ESXi主机的配置. 案例环境:ESXi主机通 ...
- 通过Get方式传递数据
1:因为get传参数有个特点就是不能超过256字节.如果数据大的话会溢出. 解决办法: $data=json_encode($data_array); 然后在拼接超链接: <a href=&qu ...
- Python 爬虫实战2 百度贴吧帖子
爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖内容 将抓取到的内容分析并保存到文件 1.URL格式的确定 首先, ...
- sql server case when then
http://blog.csdn.net/wuxiaokaixinguo/article/details/8895187
- MTK驱动探索:mtk6582添加tp驱动s3203
代码从mtk6589平台移植,ic为用户定制. 解决的问题有: 一.build err:主要原因是89和82平台函数和宏定义冲突,如: extern void mt_eint_unmask(unsig ...
- 怎么用源程序把ChemDraw结构复制到Word文档
在学习化学过程中,不可避免的会接触到各种化学结构.这个时候就需要通过绘制化学结构来进行这方面的学习和传播.ChemDraw Professional 15就可以辅助完成这方面的工作.很多的用户朋友会通 ...