以前写SMARTFORMS,传内表数据的时候总要先到SE11建立一个结构,很是麻烦.
下面主要描述一下SMARTFORM是怎么从调用它的程序取相应内表的值.
首先在SMARTFORM 全局定义->类型 这个TAB页下定义个TYPES,结构跟要取的内表的结构一致.
如:types:BEGIN OF MY_TYPE,
lgnum type ltak-lgnum,
TANUM TYPE LTAK-TANUM,
LGTOR TYPE LTAK-LGTOR,
BNAME TYPE LTAK-BNAME,
…
end of my_type.
然后在 全局定义->全局数据 这个TAB页下定义一个内表和工作区,如:
GT_TABLE TYPE TABLE OF MY_TYPE
WA TYPE MY_TYPE
内表的TYPE ASSIGNMENT这一列,手动输入TYPE TABLE OF ,这个很关键.
最后在 全局定义->初始化 这个TAB页下写下面的代码:
DATA: FIELD(50).
FIELD-SYMBOLS: <f> TYPE ANY.
FIELD = ‘(ZXXXXX)OUTPUT[]‘. ”ZXXXXX为程序名,OUTPUT为内表名
ASSIGN (FIELD) TO <f>.
GT_TABLE[] = <f>.
这样,SMARTFORM就取得了ZXXXXX这个程序,OUTPUT这个内表的值,并将之赋给了GT_TABLE.
ZXXXXX程序那边不用传参数了.
DATA:SMARTFORM(30) TYPE C,
FM_NAME TYPE RS38L_FNAM.
SMARTFORM = ‘ZXXXXX’.
CALL FUNCTION ‘SSF_FUNCTION_MODULE_NAME’
EXPORTING
FORMNAME = SMARTFORM
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
WAIT UP TO 1 SECONDS.
CALL FUNCTION FM_NAME
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
Trackback: http://scnblogs.techweb.com.cn/songxianl/archives/11.html/trackback
分享到:
相关推荐
- **<structure>**: 使用的结构名。 - **1.3.3 范围表类型** - **命名格式:** `[Z_]<dataelement>_T` - **[Z_]**: 如果`<dataelement>`名称以Z开头,则可省略。 - **<dataelement>**: 使用的数据元素名。 - **...
smartform实现分页,只有一个结构,单号改变是则分页
在SAP ABAP编程中,SmartForm和ScriptForm是两种常用的文档输出技术,它们用于创建复杂的格式化报表和文档。本文将重点讨论SmartForm的输出格式设置,它提供了丰富的功能来定制文本、字段布局和数据格式。 ...
在 ZXXXXX 程序中,我们不需要传参数了,因为我们已经将内表的值传递给了 SmartForm。 此外,我们还可以使用 Export 和 Import 的方法来传递内表的值。我们可以将内表 Export 到内存或者数据库中,然后将句柄传递到...
SAP SmartForm 是在 SAP Basis Release 4.6C 中引入的工具,用于创建和维护表单。它允许用户使用简单的图形工具执行简单的修改,以满足业务流程中的需求。SAP SmartForm 的主要优点是可以减少编程工作量,使得没有...
例如,可以在模板中添加一个循环结构来遍历GT_LABEL表,并将每一条记录展示出来。 #### 示例代码解析 上述代码片段中,我们首先定义了一个字段符号`<dbcnt>`,然后通过`ASSIGN`语句将内表`(ZCHINA_TEST3)ITAB[]`的...
8. **使用实例**:创建SMARTFORM时,首先定义FORM的基本属性和接口,然后在Form Builder中构建页面结构,添加窗口和表格,最后通过全局定义处理数据逻辑。例如,在ZTEST_HXG_F3的例子中,创建了一个名为"FIRST"的...
SmartForm在设计完成后,需要转换不支持的字段类型,比如“QUAN”和“CURR”类型。转换可以通过在全局变量中增加变量并编写转换代码来实现。将不支持的字段转换成字符类型后,可以在SmartForm内部程序中使用。完成...
- `<Y>` 指程序类型代码,具体的程序类型代码可以在表格中找到: - `R` 表示报表程序。 - `P` 表示对话程序。 - `F` 表示FORM/SMARTFORM打印程序。 - `B` 表示后台作业程序。 - `I` 表示公共Include程序。 - ...
在SMARTFORM的设计中,需要设置主窗口大小是否需要边框,然后右键单击MAIN窗口,选择创建、流逻辑、循环(用于创建一个循环,LOOP 表头)。双击这个LOOP,选择数据循环头内表,然后右键单击LOOP创建表(用于输出数据...
- 报表程序命名格式:`Z<XX>_<Y>_<NN>[ADDITIVE]`,其中XX是模块名,Y是程序类型(R-报表,E-批处理,S-SmartForm,I-接口),NN是顺序号,ADDITIVE是可选的附加说明。 - Include程序命名与主程序相似,通过...
在SAP MM模块中,审批采购订单是一个关键的业务流程,确保了公司的采购活动符合预设的审批策略。为了提高效率并确保及时的信息传递,有时需要在审批过程中将采购订单(Purchase Order, PO)作为PDF附件通过电子邮件...
在SmartForm的开发过程中,我们需要创建一个新形式并定义其结构。这涉及设置形式的属性,如名称、语言和版式。接着,我们可以添加表格和段落,定义它们的列宽、行高以及数据源。数据源可以是内部表、结构或字段符号...
此外,在 SMARTFORM 中,也可以使用变量和结构来传递数据,并在输出数据时,使用这些变量和结构来控制输出的结果。 SAP SMARTFORM 的开发技术涉及到多个方面,包括结构定义、参数定义、初始化、设计表单、输出数据...
SAP中如何通过SMARTFORM 在ZEBRA 打印机打印条码
在本教程中,我们将深入探讨 SmartForm 的基本概念和使用方法。 标题 "SmartForm 打印程序.rar_SMARTFORM" 暗示了这是一个关于 SmartForm 打印程序的压缩文件,可能包含了模板和相关的指导文档,例如 "SmartForm ...
- 在Form Interface中定义SMARTFORM的接口属性,如IMPORT、EXPORT、TABLES和EXCEPTION等,这些用于从ABAP程序中调用SMARTFORM时传递参数。 - Global Definitions用于定义全局数据、FIELD SYMBOLS等初始化内容。 2...
创建Smartform需要在ABAP工作台中选择“创建”菜单,然后选择“智能表单”,输入Smartform的名称和描述信息,最后单击“创建”按钮。 制作Smartform 制作Smartform是指设计和编辑Smartform的全局设置、页和窗口、...
SAP ABAP中如何查找SmartForm对应的传输请求号,查找SmartForm对应的版本