SAP SMARTFORMS 凭证连续打印设置操作之三利用 ALV 显示,并进行手动选择打印在 SAP 系统中,凭证常常需要连续打印,如从凭证号 100,打印至 120;要求系统在打印的时候自动按凭证号进行分页处理。下面的例子是利用表传递数据至 SMARTFORMS 中,并且利用打印程序中的表循环来实现凭证的自动分页打印处理;而 SMARTFORMS 的设置则非常的简单,按一凭证号来进行设置即可。下面进行具体的操作讲解。打印效果显示,如以下图所示:运行报表程序:运行后,出现下面的界面,这时我们就可以选择需要打印的单据号,然后再点击工具栏中的“打印”按钮 ,即可进行选择性的连续打印,如以下图:上面为显示连续打印三销售凭证,运行后如以下图所示:数据结构体的定义 zwyvbap;TCODE:SE11,此结构体在后面的程序中也要用到,是传递数据的接口。定义如以下图所示:SMARTFORMS FORM界面设置1、表格接口的数据,如以下图所示:2、表格接口表的数据如以下图所示:3、全局定义中的数据定义如以下图所示:SMARTFORMS 页和窗口的操作: 1、页头显示容。下面的操作都只进行截图显示。如以下图所示:2、MAIN 主窗口的设置:打印表体的表头显示,如以下图所示:表体循环显示:新 程 序 行 的 设 置 : 选 择 Main Window -> Create -> Flow Logic -> Program Lines 计 算统计区域的设置:页尾的设置:REPORT 完整代码清单,如以下图所示(TCODE:SE38):*&---------------------------------------------------------------------**& Report ZTEST1000012*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*REPORT ZTEST.REPORT ZP_SD_007.INCLUDE ZP_SD_007_VARL.INCLUDE ZP_SD_007_FORM.INCLUDE ZP_SD_007_ALV.START-OF-SELECTION. PERFORM GET_DATA_ALV. PERFORM SHOW_ALV TABLES GT_VBAK_ALV.*&---------------------------------------------------------------------**& 包含 ZP_SD_007_VARL*&---------------------------------------------------------------------* TABLES: VBAK. DATA: FORMNAME TYPE TDSFNAME, FM_NAME TYPE RS38L_FNAM, CONTROL TYPE SSFCTRLOP, ERRTAB TYPE TSFERROR. DATA: BEGIN OF GT_VBAK OCCURS 0. "定义表 INCLUDE TYPE ZWYVBAP. DATA: ...