农妇山泉一亩田 发表于 2024-2-20 22:41:23

SAP报表简明教程

SAP报表简明教程
 
一、报表需求,根据物料编码和物料类型 查询报表。用户输入界面要求如下: 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215100406717-16174756.png 
二、开始写代码。先进入 TCODE:SE38 ,新建一个程序。 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215100448535-1300488018.png  
点击创建按钮,如下图: 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215101633070-1942175748.png
 
 
输入标题,写明 此程序的功能 作者,创建时间,点保存,
 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215100558529-1960336274.png 
输入自己事先建的 开发包, 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215100625402-584289551.png 
点击保存按钮, 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215100656416-523781295.png
 输入传输请求号,如果没有就新建一个。点击 绿色的 勾 按钮。 
进入页面,如图: 
https://img2023.cnblogs.com/blog/1049608/202312/1049608-20231215100728679-1777511019.png
  
开始写代码:
 
定义一个结构体,这个结构体 字段会展示到报表上,字段来源可以多个表。
TYPES:BEGIN OF ty_MARA,  
  MATNR TYPE MARA-MATNR,   
  MTART TYPE MARA-MTART,

  MAKTX TYPE MAKT-MAKTX,
END OF ty_MARA.

DATA lt_mara TYPE TABLE OF ty_MARA.
 
代码解释:
 
 
TYPES:BEGIN OF ty_MARA,   定义结构体的名称
MATNR TYPE MARA-MATNR,    
MATNR 是结构体字段,可以自定义,
END OF ty_MARA.  这是结尾。
DATA lt_mara TYPE TABLE OF ty_MARA.  这句是定义一个 类型是结构体ty_MARA 的内表lt_mara。 
接着写:
 
DATA ls_layout TYPE slis_layout_alv. 定义报表的显示风格
DATA lt_fieldcat TYPE slis_t_fieldcat_alv.存放输出栏位名称的列表
DATA ls_fieldcat TYPE slis_fieldcat_alv.负责整个ALV的全局属性

DEFINE fill.
  CLEAR:ls_fieldcat.
*字段名
  ls_fieldcat-fieldname = &1.
*别名
  ls_fieldcat-seltext_l = &2.
  ls_fieldcat-seltext_m = &2.
  ls_fieldcat-seltext_s = &2.
  ls_fieldcat-outputlen = &3.
  ls_fieldcat-no_zero = &4.
  ls_fieldcat-qfieldname = &5.
  APPEND ls_fieldcat TO lt_fieldcat.
END-OF-DEFINITION.

 SELECT-OPTIONS I6 FOR MARA-MATNR.  "这就是页面显示需要输入的物料

 SELECT-OPTIONS I7 FOR MARA-MTART.  "这就是页面显示需要输入物料类型

*  AND   ERDAT IN I6


INITIALIZATION.  "该事件在屏幕未显示之前执行,对程序设置值及屏幕元素进行初始化赋值。

AT SELECTION-SCREEN OUTPUT.  用于屏幕输出时的各屏幕元素值的管控
AT SELECTION-SCREEN.

START-OF-SELECTION. 该事件在单击按钮后触发
  PERFORM GET_DATA.   获取屏幕输入值 的子例程

END-OF-SELECTION.
 
 

 PERFORM frm_display_alv.  定义了一些表格风格样式的子例程


*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*&   p1        text
*&   p1        text
<em>*& 
页: [1]
查看完整版本: SAP报表简明教程