`
evangxli
  • 浏览: 230122 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ALV & SMARTFORMS 并分页

阅读更多
1. 主界面

2. Form Attributes
设置:Style


3. Form Interface
设置:内表
代码:IT_DATA LIKE ZXLI001
IT_PURNM LIKE ZXLI002
IT_BLANKS LIKE ZXLI001


4. Global Definitions
设置:1).全局变量
  WA_DATA      TYPE ZXLI001
  WA_PURNM     TYPE ZXLI002
  G_COUNT      TYPE I
  G_CURRLINE   TYPE I
  G_TOTALLINES TYPE I
  G_CURRPAGE   TYPE I
  G_TOTALPAGE  TYPE I
  WA_BLANKS    TYPE ZXLI001
  C_X          TYPE I
2).初始化
输入参数:G_TOTALLINES, IT_DATA.
代码:DESCRIBE TABLE IT_DATA LINES G_TOTALLINES.


5. %LOOP2 表数据循环
位置:数据-〉loop循环-〉内表:IT_PURNM INTO WA_PURNM.


6. %LOOP3   计算单个凭证总页码
位置:数据-〉loop循环-〉内表:IT_DATA INTO WA_DATA.
          WHERE 条件:PUR_NUM = WA_PURNM-PURNM


7. %CODE3 累计单个凭证记录数
输入参数:G_COUNT, C_X.
代码:G_COUNT = G_COUNT + 1.
C_X = G_COUNT.


8. %CODE2 计算总页码数
输入参数:G_COUNT, G_TOTALPAGE.
代码:DATA : L_LINE TYPE I.
L_LINE = G_COUNT MOD 10.

IF L_LINE = 0.
  G_TOTALPAGE = G_COUNT DIV 10.
ELSE.
  G_TOTALPAGE = G_COUNT DIV 10 + 1.
ENDIF.

L_LINE = 0.
G_COUNT = 0.


9. %LOOP1  循环明细
位置:数据-〉loop循环-〉内表:IT_DATA INTO WA_DATA.
          WHERE 条件:PUR_NUM = WA_PURNM-PURNM


10. %CODE1 累计当前记录数
输入参数:G_COUNT, C_CURRLINE.
代码:G_COUNT = G_COUNT + 1.
G_CURRLINE = G_CURRLINE + 1.


11. %TEMPLATE2 数据明细

12. %CODE4 计算当前页码数
输入参数:G_COUNT, G_CURRPAGE.
代码:DATA : L_LINE TYPE I.
L_LINE = G_COUNT MOD 10.

IF L_LINE = 0.
  G_CURRPAGE = G_COUNT DIV 10.
ELSE.
  G_CURRPAGE = G_COUNT DIV 10 + 1.
ENDIF.


13. %CODE5 计算空行
输入参数:G_COUNT, IT_BLANKS.
代码:G_COUNT = G_COUNT MOD 10.

IF G_COUNT <> 0.
  G_COUNT = 10 - G_COUNT.
ENDIF.

CLEAR IT_BLANKS[].
DO G_COUNT TIMES.
  APPEND WA_BLANKS TO IT_BLANKS.
ENDDO.

G_COUNT = 0.


14. %LOOP4 补充打印空行
位置:数据-〉loop循环-〉内表:IT_BLANKS INTO WA_BLANKS.


15. %TEMPLATE4 空数据明细

16. %CONDITION1 分页
条件:G_CURRLINE <> G_TOTALLINES


17. %COMMAND1 强制分页
普通:Go to New Page -> %PAGE1


18. %CODE6 清除内表数据
输入参数:IT_DATA, IT_PURNM.
代码:CLEAR IT_DATA[].
CLEAR IT_PURNM[].



我还是没找到方法,把我的截图从excel表里搞出来,没有画图工具,看附件吧

其实,做sap的alv调用smartforms输出,只要一步一步来,耐心读完肯定就可以的。

1. 首先,在窗口属性设置-〉输出设置-〉Style
一般一个Style就足够用了,在T-Code smartforms第二栏,新建Style。
新建Style,在段落格式-〉右键-〉创建节点-〉如TH(Table Header)、etc.,其中设置第一页相关信息就够了,常用到的Alignment选择左、右、中,Indent中设置Left Margin 2mm,Spacing中设置Line Spacing 1ln;然后是在Header Data中设置默认的段落格式,一般选择左排列的格式;最后是创建字体格式,一般创建第二页也就是Font那页,设置字体、大小、粗体、下划线这几样,第一页Standard Setting是为了创建Bar Code而设置的。
2. 其次,在接口参数设定中。
Table也就是第三栏中设置内表like数据字典中的结构体,这样减去了缓存放入内存中调用的弊端,在数据字典中,可以设置“Z”开头的结构体,T-Code SE11的第三栏,点击创建,在第一列输入任意,第三列输入你like的地段,敲回车,这样把你所需要的结构体建立起来。
3. 再次,在定义全局变量中。
第一列全局变量,还有第四列初始化,这两个会用到,而Types没有用到,这也就是防止产生大量的缓存
4. 剩下的就是SMARTFORMS的主界面了,看附件吧!
0
0
分享到:
评论
4 楼 evangxli 2012-06-06  
niitallen 写道
为啥我就显示不出来数据呢,在smartforms中~~

应该可以的,多试试,简单的跑通一次,下次就更容易了!
3 楼 niitallen 2012-05-24  
为啥我就显示不出来数据呢,在smartforms中~~
2 楼 evangxli 2010-11-21  
mahone 写道
截图上传附近    插入文章位置
就可以把图传上去了

嘿嘿,先放word里面吧!谢谢咯!
1 楼 mahone 2010-10-19  
截图上传附近    插入文章位置
就可以把图传上去了

相关推荐

    ALV和SMARTFORMS实例

    本实例将详细介绍如何利用ALV进行数据展示,并结合SMARTFORMS实现数据打印。 首先,ALV是SAP提供的一种标准的列表显示组件,它允许开发者快速地创建和定制复杂的表格视图。在使用ALV时,通常需要以下步骤: 1. **...

    SAP ABAP ALV分页显示

    ### SAP ABAP ALV 分页显示技术解析 #### 核心知识点:SAP ABAP ALV 分页显示 本篇文章将深入分析一个基于SAP ABAP的ALV(Application List Viewer)分页显示的实现方法。ALV是SAP GUI中用于展示表格数据的一种...

    abap-ALV.rar_ABAP系统ALV_abap_abap开发alv

    REUSE_ALV_GRID_DISPLAY_LVC函数是ABAP ALV编程中常用的一个函数模块,它负责初始化并显示ALV网格。这个函数的主要步骤包括: 1. 初始化ALV:调用FUNCTION模块`REUSE_ALV_GRID_DISPLAY`,并传递必要的参数,如选择的...

    SAP ALV功能总结

    本文将重点介绍`REUSE_ALV_GRID_DISPLAY`函数,并结合具体示例来探讨其在SAP ABAP编程中的应用。 #### 二、`REUSE_ALV_GRID_DISPLAY`函数详解 `REUSE_ALV_GRID_DISPLAY`是SAP ALV的一个核心函数模块,用于展示表格...

    [SAP ABAP开发技术总结]ALV详解(Fuction ALV 和OO ALV)

    [SAP ABAP开发技术总结]ALV详解(Fuction ALV 和OO ALV) 图文并茂,详细介绍了Fuction ALV 和OO ALV的相关开发 [SAP ABAP开发技术总结]ALV详解:Function ALV(一) [SAP ABAP开发技术总结]ALV详解:Function ALV...

    alv使用 alv使用

    " 从数据库中获取数据并填充到内表 endform. form fields. " 列定义 " 定义每个列的名称、宽度、格式等 endform. form display_data. data: lo_salv_table type ref to cl_salv_table. call method cl_salv_...

    ABAP-ALV进阶

    "ABAP-ALV进阶知识点详解" ABAP-ALV进阶是指在SAP系统中使用ABAP语言开发的高级列表查看器(ALV)。ALV是SAP系统中心的列表标准,可以在ABAP程序中进行报表输出。下面是ABAP-ALV进阶的知识点详解: 一、ALV概要 ...

    ABAP OOALV学习文档

    **ALV GRID CONTROL (ALV 网格控制器)** 是实现精美屏幕显示的关键组件,它利用控制器技术并通过系统的全局类方法响应各种操作事件。 ##### 控制结构概述 - **字段目录 (Field Catalog)**:用于控制 ALV 显示的...

    ALV.rar_SAP_abaP ALV_abap_alv_sap alv

    本篇将深入探讨如何通过ABAP编程实现ALV的多层输出,并调用系统方法。 首先,我们需要理解ABAP(Advanced Business Application Programming)是SAP开发的编程语言,用于在R/3系统上构建业务应用。在ABAP中,ALV的...

    sap alv 去掉多余按钮

    然而,在某些应用场景下,ALV界面中预设的一些功能按钮可能并不符合特定业务流程的需求,比如用户可能不需要打印、导出或者某些高级查询功能,这些不必要的按钮不仅占用了屏幕空间,还可能引起用户的混淆。...

    [ABAP]Function实现ALV Table 二:ALV的弹出窗口形式

    在ABAP(Advanced Business Application Programming)中,ALV(ABAP List Viewer)是SAP提供的一种用于显示数据表的标准化接口。本篇我们将深入探讨如何使用Function来实现ALV Table的弹出窗口形式,这对于创建用户...

    SAP-SMARTFORMS-凭证连续打印设置操作之三.doc

    SAP SMARTFORMS 凭证连续打印设置操作之三 本文档介绍了如何在 SAP 系统中实现凭证连续打印设置操作,使用 SMARTFORMS FORM ...10. 通过使用 SMARTFORMS FORM,可以实现自动分页打印处理,并满足不同类型的打印需求。

    ABAP开发ALV中自定义按钮实现

    首先,我们需要定义一个报表程序,例如`ZMMR3009`,并在其中调用`REUSE_ALV_GRID_DISPLAY`函数来显示ALV。该函数接受一系列参数,如`I_CALLBACK_PROGRAM`用于指定当前程序,`I_LAYOUT`用于传递布局信息,`IT_...

    SAP ALV Grid资料整理 (很全面)

    SAP ALV Grid 是一种灵活的工具,用于显示列表,并提供了常见的列表操作通用函数,可以通过自定义选项来增强其功能。ALV Grid 控件可以创建非层次的友好交互式报表,是一个基于客户端的控件。 ALV Grid 控件的功能...

    5、Webdynpro入门之ALV

    通过本教程的学习,你应该掌握了如何在Webdynpro中集成ALV组件,并能够利用ALV来展示数据。ALV不仅提供了强大的列表展示能力,还可以通过进一步定制来满足特定的应用需求。希望本教程对你有所帮助,让你在Webdynpro...

    OO ALV 开发 实例 SAP

    - `ALV_PROCESS`方法接收`LT_TAB`作为输入参数,创建`CL_SALV_TABLE`实例,并显示ALV。 - `MAIN`方法是整个流程的入口点,它调用`GETDATA`获取数据,然后将数据传递给`ALV_PROCESS`进行ALV展示。 通过这样的设计,...

    OOALV常用功能完整简例

    代码片段中展示了如何通过SQL查询读取数据,并通过ALV展示。 “PERFORM frm_set_alv_toolbar”这一行代码表明系统中存在一个自定义的功能,用于设置ALV工具栏。工具栏可以包含各种按钮,例如用于执行特定操作的快捷...

    ABAP OOALV

    2. **DATAGS_PARENTTYPEREFTOCL_GUI_CUSTOM_CONTAINER**:此变量用于引用`CL_GUI_CUSTOM_CONTAINER`类的对象,它是ALV的容器,负责容纳ALV并控制其外观和行为。 3. **DATAGT_FIELDCATTYPELVC_T_FCAT**:此变量类型...

Global site tag (gtag.js) - Google Analytics