动态确定where clause condition的一段例子

   DATA: where_line(40TYPE c,
        where_table LIKE TABLE OF where_line.
* Checking the output parameters
  CASE mark.
    WHEN all.
** Radiobutton ALL is marked
*      SELECT * FROM dv_flights INTO TABLE it_flights
*        WHERE carrid IN so_car
*          AND connid IN so_con
*          AND fldate IN so_fdt.


    WHEN national.
      where_line = 'countryto = dv_flights~countryfr'.
      APPEND where_line TO where_table.
      CONCATENATE 'AND countryto =' ''''
             INTO where_line SEPARATED BY SPACE.
      CONCATENATE where_line country '''' INTO where_line.
      APPEND where_line TO where_table.
* Radiobutton NATIONAL is marked
*      SELECT * FROM dv_flights INTO TABLE it_flights
*        WHERE carrid IN so_car
*          AND connid IN so_con
*          AND fldate IN so_fdt
*          AND countryto = dv_flights~countryfr
*          AND countryto = country.



    WHEN internat.
      where_line = 'countryto <> dv_flights~countryfr'.
      APPEND where_line TO where_table.
* Radiobutton INTERNAT is marked
*      SELECT * FROM dv_flights INTO TABLE it_flights
*        WHERE carrid IN so_car
*          AND connid IN so_con
*          AND fldate IN so_fdt
*          AND countryto <> dv_flights~countryfr.
  ENDCASE.
  SELECT * FROM dv_flights INTO TABLE it_flights
        WHERE carrid IN so_car
          AND connid IN so_con
          AND fldate IN so_fdt
          AND (where_table).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值