第二天、ABAP菜鸟进阶

加油努力一定会有收获。

1、定义报表建单选择控件

笔记:注意CORRESPONDING FIELDS OF 语句的使用

SELECT *
  FROM scarr
  INTO CORRESPONDING FIELDS OF TABLE it_scarr.

定义选择控件

REPORT  ZTEST_WJ_006.

TYPES:BEGIN OF ty_person,
      name(10) TYPE c,
      sfz(18) TYPE n,
      mobile(11) TYPE n,
      END OF ty_person.
DATA it_person TYPE TABLE OF ty_person.
*利用类型定义工作区
DATA it_spfli TYPE STANDARD TABLE OF spfli.
DATA wa_spfli TYPE spfli.
DATA connid TYPE spfli-connid.
DATA carrid TYPE spfli-carrid.
SELECTION-SCREEN BEGIN OF BLOCK basic WITH FRAME TITLE text-001.
*PARAMETERS pa_carr TYPE spfli-carrid OBLIGATORY.
SELECT-OPTIONS:so_carr FOR carrid.
SELECTION-SCREEN END OF BLOCK basic.
*设置选择范围
SELECTION-SCREEN BEGIN OF BLOCK advance WITH FRAME TITLE text-002.
SELECT-OPTIONS:so_conn FOR connid.
PARAMETERS:pa_int AS CHECKBOX.
PARAMETERS: pa_lim_1 RADIOBUTTON GROUP lim,
            pa_lim_2 RADIOBUTTON GROUP lim,
            pa_lim_3 RADIOBUTTON GROUP lim.
SELECTION-SCREEN END OF BLOCK advance.
IF pa_int = 'X'.
SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn.
ELSE.
  SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn
  AND spfli~countryfr = spfli~countryto.
ENDIF.
ULINE.
FORMAT COLOR COL_HEADING.
WRITE :/,sy-vline,'Carrid',
       sy-vline,'Connid',
       sy-vline,'Country From',
       sy-vline,'Country To',
       sy-vline,'International',
       sy-vline.
ULINE.
FORMAT RESET.
LOOP AT it_spfli INTO wa_spfli.
  WRITE :/ sy-vline,
         sy-vline, AT 2(7) wa_spfli-carrid COLOR COL_KEY,
         sy-vline, AT 11(7) wa_spfli-CONNID COLOR COL_KEY,
         sy-vline, AT  21(12) wa_spfli-COUNTRYFR COLOR COL_KEY,
         sy-vline, AT 35(11) wa_spfli-COUNTRYTO COLOR COL_KEY,
         sy-vline, AT 48(14) wa_spfli-CITYTO COLOR COL_KEY,
         sy-vline.
ENDLOOP.

上述知识点如下:

①、定义单选控件,使用关键字PARAMETERS,多个选项使用“:”。OBLIGATORY关键字为必输。
PARAMETERS: pa_carr1 TYPE spfli-carrid OBLIGATORY,
            pa_carr2 TYPE spfli-carrid OBLIGATORY.

效果展示:
单选筛选控件效果

②、定义范围选择控件,这里跟定义单输入框不同,要先预定义参数。这里就跟我们平时前端报表选择输入的条件类似了
DATA connid TYPE spfli-connid.
SELECT-OPTIONS:so_conn FOR connid.

在这里插入图片描述

③、定义单选选项,即单选框
PARAMETERS:pa_int AS CHECKBOX.

在这里插入图片描述

④、定义互斥单选框。多个选项但是同时只能选择一个。使用GROUP关键字进行管控。
PARAMETERS: pa_lim_1 RADIOBUTTON GROUP lim,
            pa_lim_2 RADIOBUTTON GROUP lim,
            pa_lim_3 RADIOBUTTON GROUP lim.

在这里插入图片描述

⑤、定义选项块
SELECTION-SCREEN BEGIN OF BLOCK basic WITH FRAME TITLE text-001.
PARAMETERS pa_carr TYPE spfli-carrid OBLIGATORY.
PARAMETERS: pa_carr1 TYPE spfli-carrid OBLIGATORY,
           pa_carr2 TYPE spfli-carrid OBLIGATORY.
SELECT-OPTIONS:so_carr FOR carrid.
SELECTION-SCREEN END OF BLOCK basic.

在这里插入图片描述

⑥、对于页面上的汉字描述,通过文本元素进行设置,路径如下:

在这里插入图片描述
选项块标签如下:
在这里插入图片描述
字段标签如下:
在这里插入图片描述

2、输入框定义后条件筛选如何生效。

如下所示,定义好的变量或者范围变量在前端选择后相当于一个变量,被用作字段直接使用,在SQL中可以用作限制条件,需要注意的是,如果是定义的范围,需要使用关键字IN.

IF pa_int = 'X'.
SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn.
ELSE.
  SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn
  AND spfli~countryfr = spfli~countryto.
ENDIF.

以上是第二天的笔记分享,谢谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
30天学会ABAP程序 学习ABAP并不难,有人说SAP系统重在管理思想,不在技术,通常对有编程经验的读者不用任何培训参考一些相关资料就可立即上手. 简单介绍下ABAP/4的一些特征: 1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定认为ABAP在报表开发上比Crystal report Tool要高效简单. 2.和VB一样 ,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉. 解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效. 和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行, 但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的. 当然通常编译比解释执行的速度会更快. ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAP Dumping ABAP). 3.在对数据库处理方面,除了可直接执行SQL(使用native sql,缺点是错误处理很难控制,相当于有开发环境将SQL 语句直接传给DB去执行),SAP在ABAP开发环境层还提供了一套Open SQL访问底层数据库. 4. 程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论). 5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象. 6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值