chili 默默学编程

FI配置(19)报表开发学习


如下是一个简单的展示物料编码和物料描述的报表:(T-CODE: SE38进入到程序创建界面,见图6)

1. 注释行用 * 开始即可,如第一行:*& Report ZTEST02 即为注释

2. 每一句都以关键字开头,点号 . 结尾,不区分大小写

3. REPORT是报表关键字,后面接报表名称

4. type-pools是类型池,相当于一个package,系统定义的,申明了以后就可以直接用slis里面定义好的函数、类、消息等,双击slis可以看到它包含的详细信息,不过现在我还看不懂。(typepools : slis里面的东西见下面的图2)

5. lvc_t_fact:存放自定义列属性的表类型,有用到哪些属性后面再说。lvc_s_fact:lvc_t_fact 类型的结构类型,定义一个表,就得定义一个表结构。

6. gs_out:定义一个输出结构体,对应的输出内表是gt_out,结构体里面包含两个字段:martnr和maktx,两个字段的字段类型分别与系统表mara的字段matnr和表makt的字段maktx类型一致。

7. lvc_s_layo:存放布局结构

8. define:定义宏(子程序),宏里面定义结构体gs_fcat中的两个字段fieldname和reptext分别取自位置1和位置2。

9. selection-screen:用户与SAP之间的通信交互通过对屏幕的操作来实现,selection screen即为创建屏幕元素的一种办法。屏幕元素包括两个字段:s_matnr和s_maktx,这两个字段分别取自表mara的字段matnr和表makt的字段maktx,连接符 - 用来连接表和字段,s_matnr和s_maktx即为数据输入域的变量,程序运行时,可以对这两个变量定义取值范围。

10. select-options:创建数据输入域,通过内表形式实现多值输入。另外一种办法是通过PARAMETERS实现,但是PARAMETERS 只能通过单个数据输入。

11. block:主要是用来设计屏幕的框线,保证屏幕的外观效果。

12. start-of-selection:程序执行的入口,程序从这里开始执行。select语句使用SQL语言,将系统表字段对应的数据取到对应的屏幕展示表的字段中,spras表示语言代码字段,取值1表示中文。makt表结构参见图3.

13. call fuction将展示表进行输出。函数REUSE_ALV_GRID_DISPLAY_LVC的功能就是将数据展示出来,这个函数有很多参数,参数的使用说明后期再学习。

14. Open SQL执行成功后,会返回代码 SY-SUBRC = 0, 如果失败 SY-SUBRC <> 0,所以如果 SY-SUBRC <> 0就表示执行有误。所以如果有报错,可以输出对应的报错信息,这里略去没有写,因为已经运行过了不会报错。

15. 程序写完后需要检查,检查无误后激活,激活后才能执行。(详见图4)

Image

                                             图1. report语法界面

Image

                                             图2. type-pools:slis里面的内容

Image

                                                                图3. makt表结构

Image

                                                             图4. 程序检查,激活,执行

Image

                                                           图5. 程序执行时需要选择字段值或者字段值的范围

Image

                                                       图6. T-CODE: SE38进入到程序创建和执行界面 


reply ( 0 )