SELECT … FOR ALL ENTRIES …фильтрует результат, полученный от базы данных, по уникальности значений полей, то есть работает, как если бы была послана команда SELECT DISTINCT… .

Мой друг Александр Коновалов предложил мне обратить внимание абапствующей общественности на тот, к сожалению, малоизвестный факт, что команда
SELECTFOR ALL ENTRIES
фильтрует результат, полученный от базы данных, по уникальности значений полей, то есть работает, как если бы была послана команда
SELECT DISTINCT… .

Для демонстрации этого факта напишем программу:

* 005.Select...FOR ALL ENTRIES == Select DISTINCT
REPORT  ZQK005.
parameters dummy.
data
: begin     of gs_task
,   cityfrom type spfli-cityfrom
,   cityto   type spfli-cityto
, end       of gs_task
, gs_res  type spfli
, gt_task like standard table of gs_task
, gt_res  like standard table of gs_res
.
start-of-selection.
  gs_task-cityfrom = 'FRANKFURT'.
  gs_task-cityto   = 'NEW YORK'.
  append gs_task to gt_task.
  select connid carrid cityfrom cityto "======== +CONNID
         from spfli bypassing buffer
         into corresponding fields of table gt_res
         for all entries in gt_task
         where cityfrom = gt_task-cityfrom
           and cityto   = gt_task-cityto.
  perform gulchatay_otkroy_lichiko.
  select carrid cityfrom cityto        "======== -CONNID
         from spfli bypassing buffer
        

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти