🗊Презентация Условия и циклы языка ABAP

Нажмите для полного просмотра!
Условия и циклы языка ABAP, слайд №1Условия и циклы языка ABAP, слайд №2Условия и циклы языка ABAP, слайд №3Условия и циклы языка ABAP, слайд №4Условия и циклы языка ABAP, слайд №5Условия и циклы языка ABAP, слайд №6Условия и циклы языка ABAP, слайд №7Условия и циклы языка ABAP, слайд №8Условия и циклы языка ABAP, слайд №9Условия и циклы языка ABAP, слайд №10Условия и циклы языка ABAP, слайд №11Условия и циклы языка ABAP, слайд №12Условия и циклы языка ABAP, слайд №13Условия и циклы языка ABAP, слайд №14Условия и циклы языка ABAP, слайд №15Условия и циклы языка ABAP, слайд №16Условия и циклы языка ABAP, слайд №17Условия и циклы языка ABAP, слайд №18Условия и циклы языка ABAP, слайд №19Условия и циклы языка ABAP, слайд №20Условия и циклы языка ABAP, слайд №21

Содержание

Вы можете ознакомиться и скачать презентацию на тему Условия и циклы языка ABAP. Доклад-сообщение содержит 21 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Условия и циклы языка ABAP
Описание слайда:
Условия и циклы языка ABAP

Слайд 2





Условия
Операторы ветвления обеспечивают выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
В ABAP существуют следующие условные операторы:
IF
CASE
Описание слайда:
Условия Операторы ветвления обеспечивают выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения. В ABAP существуют следующие условные операторы: IF CASE

Слайд 3





IF
Оператор IF позволяет перенаправлять выполнение программы к конкретному объявленному блоку, в зависимости от значения условия. Этот блок состоит из всех команд, которые находятся между объявлением IF и до следующего объявления ELSEIF, ELSE, или ENDIF.
Описание слайда:
IF Оператор IF позволяет перенаправлять выполнение программы к конкретному объявленному блоку, в зависимости от значения условия. Этот блок состоит из всех команд, которые находятся между объявлением IF и до следующего объявления ELSEIF, ELSE, или ENDIF.

Слайд 4





Синтаксис оператора IF
IF <condition1>.
   <statement block>
ELSEIF <condition2>.
<statement block>
ELSEIF <condition3>.
   <statement block>
.....
ELSE.
   <statement block>
ENDIF.
Описание слайда:
Синтаксис оператора IF IF <condition1>.    <statement block> ELSEIF <condition2>. <statement block> ELSEIF <condition3>.    <statement block> ..... ELSE.    <statement block> ENDIF.

Слайд 5






ABAP позволяет вкладывать блоки IF ... ENDIF на любую глубину. Тем не менее, они должны начинаться и заканчиваться в том же блоке обработки. Другими словами, IF - ENDIF блок не может содержать ключевое слово событий.
Описание слайда:
ABAP позволяет вкладывать блоки IF ... ENDIF на любую глубину. Тем не менее, они должны начинаться и заканчиваться в том же блоке обработки. Другими словами, IF - ENDIF блок не может содержать ключевое слово событий.

Слайд 6





Пример работы оператора IF
DATA: TEXT1(30) VALUE 'This is the first text',
TEXT2(30) VALUE 'This is the second text',
TEXT3(30) VALUE 'This is the third text',
STRING(5) VALUE 'eco'.
IF TEXT1 CS STRING.
   WRITE / 'Condition 1 is fulfilled'.
ELSEIF TEXT2 CS STRING.
   WRITE / 'Condition 2 is fulfilled'.
ELSEIF TEXT3 CS STRING.
   WRITE / 'Condition 3 is fulfilled'.
ELSE.
   WRITE / 'No condition is fulfilled'.
ENDIF.
Описание слайда:
Пример работы оператора IF DATA: TEXT1(30) VALUE 'This is the first text', TEXT2(30) VALUE 'This is the second text', TEXT3(30) VALUE 'This is the third text', STRING(5) VALUE 'eco'. IF TEXT1 CS STRING.    WRITE / 'Condition 1 is fulfilled'. ELSEIF TEXT2 CS STRING.    WRITE / 'Condition 2 is fulfilled'. ELSEIF TEXT3 CS STRING.    WRITE / 'Condition 3 is fulfilled'. ELSE.    WRITE / 'No condition is fulfilled'. ENDIF.

Слайд 7





CASE
Чтобы выполнять различные операторные блоки в зависимости от содержания конкретных полей данных, следует использовать оператор CASE.
Описание слайда:
CASE Чтобы выполнять различные операторные блоки в зависимости от содержания конкретных полей данных, следует использовать оператор CASE.

Слайд 8





Синтаксис оператора CASE
CASE <f>.
   WHEN <f1>.
        <statement block>
WHEN <f2>.
        <statement block>
WHEN <f3>.
        <statement block>
WHEN...
  ......
   WHEN OTHERS.
        <statement block>
ENDCASE.
Описание слайда:
Синтаксис оператора CASE CASE <f>.    WHEN <f1>.         <statement block> WHEN <f2>.         <statement block> WHEN <f3>.         <statement block> WHEN...   ......    WHEN OTHERS.         <statement block> ENDCASE.

Слайд 9






Ветвление с использованием CASE является сокращенной формой подобного ветвления с использованием IF:
IF <f> = <f1>.
   <statement block>
ELSEIF <f> = <f2>.
   <statement block>
ELSEIF <f> = <f3>.
   <statement block>
ELSEIF <f> =...
  ...
ELSE.
   <statement block>
ENDIF.
Описание слайда:
Ветвление с использованием CASE является сокращенной формой подобного ветвления с использованием IF: IF <f> = <f1>.    <statement block> ELSEIF <f> = <f2>.    <statement block> ELSEIF <f> = <f3>.    <statement block> ELSEIF <f> =...   ... ELSE.    <statement block> ENDIF.

Слайд 10






ABAP позволяет вкладывать блоки CASE... ENDCASE и объединять их с блоками IF... ENDIF . Тем не менее, они должны начинаться и заканчиваться в том же блоке обработки.
Описание слайда:
ABAP позволяет вкладывать блоки CASE... ENDCASE и объединять их с блоками IF... ENDIF . Тем не менее, они должны начинаться и заканчиваться в том же блоке обработки.

Слайд 11





Пример
DATA: TEXT1 VALUE 'X',
TEXT2 VALUE 'Y',
TEXT3 VALUE 'Z',
STRING VALUE 'A'.
CASE STRING.
  WHEN TEXT1.
     WRITE: / 'String is', TEXT1.
  WHEN TEXT2.
     WRITE: / 'String is', TEXT2.
  WHEN TEXT3.
     WRITE: / 'String is', TEXT3.
  WHEN OTHERS.
     WRITE: / 'String is not', TEXT1, TEXT2, TEXT3.
ENDCASE.
Описание слайда:
Пример DATA: TEXT1 VALUE 'X', TEXT2 VALUE 'Y', TEXT3 VALUE 'Z', STRING VALUE 'A'. CASE STRING.   WHEN TEXT1.      WRITE: / 'String is', TEXT1.   WHEN TEXT2.      WRITE: / 'String is', TEXT2.   WHEN TEXT3.      WRITE: / 'String is', TEXT3.   WHEN OTHERS.      WRITE: / 'String is not', TEXT1, TEXT2, TEXT3. ENDCASE.

Слайд 12





Циклы
В цикле, блок операторов выполняется несколько раз подряд. Существует три вида циклов в ABAP:
	· Безусловные циклы, использующие оператор DO.
	· Цикл DO N TIMES.
	· Условные циклы, использующие оператор WHILE.
Описание слайда:
Циклы В цикле, блок операторов выполняется несколько раз подряд. Существует три вида циклов в ABAP: · Безусловные циклы, использующие оператор DO. · Цикл DO N TIMES. · Условные циклы, использующие оператор WHILE.

Слайд 13





Безусловные циклы
Для обработки блока операторов несколько раз, можно использовать следующую конструкцию:
DO [n TIMES] ... 
  [statement_block]
ENDDO.
Используют дополнение TIMES чтобы ограничить количество проходов цикла до n.
Если не указать ни каких дополнений, блок оператора будет повторятся до тех пор, пока не достигнет завершающих операторов, таких как EXIT или STOP. Системное поле sy-index содержит число проходов цикла, включая проход текущего цикла.
Описание слайда:
Безусловные циклы Для обработки блока операторов несколько раз, можно использовать следующую конструкцию: DO [n TIMES] ... [statement_block] ENDDO. Используют дополнение TIMES чтобы ограничить количество проходов цикла до n. Если не указать ни каких дополнений, блок оператора будет повторятся до тех пор, пока не достигнет завершающих операторов, таких как EXIT или STOP. Системное поле sy-index содержит число проходов цикла, включая проход текущего цикла.

Слайд 14





Оператор DO
Синтаксис:
DO.
<statement block>
ENDDO.
Пример:
DO.
WRITE sy-index.
 IF sy-index = 3.
 EXIT.
 ENDIF.
ENDDO.
На выходе получим:
1 2 3
Здесь цикл проходит обработку 3 раза и затем покидает ее после оператора EXIT.
Описание слайда:
Оператор DO Синтаксис: DO. <statement block> ENDDO. Пример: DO. WRITE sy-index. IF sy-index = 3. EXIT. ENDIF. ENDDO. На выходе получим: 1 2 3 Здесь цикл проходит обработку 3 раза и затем покидает ее после оператора EXIT.

Слайд 15





Пример с двумя вложенными циклами с дополнением TIMES
DO 2 TIMES.
WRITE sy-index.
 SKIP.
 DO 3 TIMES.
 WRITE sy-index.
 ENDDO.
 SKIP.
ENDDO.
На выходе получим:
1
1 2 3
2
1 2 3
Внешний цикл обрабатывается дважды, внутренний цикл обрабатывается три раза. Системное поле sy-index содержит номер прохода для каждого цикла в отдельности.
Описание слайда:
Пример с двумя вложенными циклами с дополнением TIMES DO 2 TIMES. WRITE sy-index. SKIP. DO 3 TIMES. WRITE sy-index. ENDDO. SKIP. ENDDO. На выходе получим: 1 1 2 3 2 1 2 3 Внешний цикл обрабатывается дважды, внутренний цикл обрабатывается три раза. Системное поле sy-index содержит номер прохода для каждого цикла в отдельности.

Слайд 16





Условные циклы
Чтобы повторить блок операторов, пока определенное условие истинно, используют следующую конструкцию:
WHILE log_exp 
  [statemaent_block]
ENDWHILE.
log_exp может быть любым логическим выражением. Блок операторов между WHILE и ENDWHILE повторяется пока условие верно или до тех пор, пока не достигнет завершающих операторов таких как EXIT или STOP.
Можно использовать вложенные циклы WHILE на любую глубину, и объединять их с другой формой цикла.
Описание слайда:
Условные циклы Чтобы повторить блок операторов, пока определенное условие истинно, используют следующую конструкцию: WHILE log_exp [statemaent_block] ENDWHILE. log_exp может быть любым логическим выражением. Блок операторов между WHILE и ENDWHILE повторяется пока условие верно или до тех пор, пока не достигнет завершающих операторов таких как EXIT или STOP. Можно использовать вложенные циклы WHILE на любую глубину, и объединять их с другой формой цикла.

Слайд 17





Пример условного цикла
REPORT demo_flow_control_while.
DATA: length  TYPE i VALUE 0,
 strl  TYPE i VALUE 0,
 string(30) TYPE c VALUE 'Test String'.
strl = strlen( string ).
WHILE string NE space.
 WRITE string(1).
 length = sy-index.
 SHIFT string.
ENDWHILE.
WRITE: / 'STRLEN: ', strl.
WRITE: / 'Length of string:', length.
Вывод выглядит следующим образом:
T e s t  S t r i n g
STRLEN: 11
Length of String: 11
Здесь цикл WHILE используется для определения длины строки символов. Это достигается путем сдвига строки на одну позицию влево при каждом входе в цикл и обрабатывается до тех пор, пока он содержит только пробелы.
Описание слайда:
Пример условного цикла REPORT demo_flow_control_while. DATA: length TYPE i VALUE 0, strl TYPE i VALUE 0, string(30) TYPE c VALUE 'Test String'. strl = strlen( string ). WHILE string NE space. WRITE string(1). length = sy-index. SHIFT string. ENDWHILE. WRITE: / 'STRLEN: ', strl. WRITE: / 'Length of string:', length. Вывод выглядит следующим образом: T e s t  S t r i n g STRLEN: 11 Length of String: 11 Здесь цикл WHILE используется для определения длины строки символов. Это достигается путем сдвига строки на одну позицию влево при каждом входе в цикл и обрабатывается до тех пор, пока он содержит только пробелы.

Слайд 18





Завершающиеся циклы
ABAP содержит завершающие операторы, которые позволяют завершить цикл досрочно. Существует две категории завершающих операторов – те, которые применяются только к циклу, и те, которые распространяются на весь блок обработки, в котором происходит цикл. Операторы STOP и REJECT относятся к последней группе.
Завершающие операторы, которые применяются только к циклу, в котором они произведены это CONTINUE, CHECK и EXIT. Можно использовать только оператор CONTINUE. CHECK и EXIT, с другой стороны, являются контекстно-зависимыми. В цикле они применяются только для выполнения самого цикла. За пределами цикла, они завершают весь процесс обработки блока, в котором они возникают (подпрограммы, диалог, модуль, событие блока, и так далее).
CONTINUE, CHECK и EXIT могут быть использованы во всех видах цикла в АВАР (DO, DO N TIMES, WHILE).
Описание слайда:
Завершающиеся циклы ABAP содержит завершающие операторы, которые позволяют завершить цикл досрочно. Существует две категории завершающих операторов – те, которые применяются только к циклу, и те, которые распространяются на весь блок обработки, в котором происходит цикл. Операторы STOP и REJECT относятся к последней группе. Завершающие операторы, которые применяются только к циклу, в котором они произведены это CONTINUE, CHECK и EXIT. Можно использовать только оператор CONTINUE. CHECK и EXIT, с другой стороны, являются контекстно-зависимыми. В цикле они применяются только для выполнения самого цикла. За пределами цикла, они завершают весь процесс обработки блока, в котором они возникают (подпрограммы, диалог, модуль, событие блока, и так далее). CONTINUE, CHECK и EXIT могут быть использованы во всех видах цикла в АВАР (DO, DO N TIMES, WHILE).

Слайд 19





Безусловное завершение прохождения цикла
Чтобы сразу и безусловно завершить прохождение простого цикла, используется оператор CONTINUE в блоке цикла.
После заявления, система игнорирует все оставшиеся инструкции в нынешнем блоке, и начинается прохождение следующего цикла.
Пример:
DO 4 TIMES.
 IF sy-index = 2.
 CONTINUE.
 ENDIF.
 WRITE sy-index.
ENDDO.
На выходе получим:
1 3 4
Второе прохождение цикла завершается без оператора WRITE.
Описание слайда:
Безусловное завершение прохождения цикла Чтобы сразу и безусловно завершить прохождение простого цикла, используется оператор CONTINUE в блоке цикла. После заявления, система игнорирует все оставшиеся инструкции в нынешнем блоке, и начинается прохождение следующего цикла. Пример: DO 4 TIMES. IF sy-index = 2. CONTINUE. ENDIF. WRITE sy-index. ENDDO. На выходе получим: 1 3 4 Второе прохождение цикла завершается без оператора WRITE.

Слайд 20





Условное завершение прохождения цикла
Чтобы завершить простой цикл условно, используют оператор CHECK condition в блоке операторов цикла.
Если условие не истинно, все оставшиеся операторы в нынешнем блоке после оператора CHECK игнорируются, и начинается следующее прохождение цикла, условием(condition) может быть любое логическое выражение.
DO 4 TIMES.
 CHECK sy-index BETWEEN 2 and 3.
 WRITE sy-index.
ENDDO.
На выходе получим:
 2 3
Первое и четвертое прохождение цикла прекращаются без оператора WRITE, потому что sy-index находится между 2 и 3.
Описание слайда:
Условное завершение прохождения цикла Чтобы завершить простой цикл условно, используют оператор CHECK condition в блоке операторов цикла. Если условие не истинно, все оставшиеся операторы в нынешнем блоке после оператора CHECK игнорируются, и начинается следующее прохождение цикла, условием(condition) может быть любое логическое выражение. DO 4 TIMES. CHECK sy-index BETWEEN 2 and 3. WRITE sy-index. ENDDO. На выходе получим: 2 3 Первое и четвертое прохождение цикла прекращаются без оператора WRITE, потому что sy-index находится между 2 и 3.

Слайд 21





Выход из цикла
Чтобы завершить весь цикл сразу и безусловно, используется оператор EXIT в блоке операторов цикла.
После этого оператора, цикл завершается, и обработка возобновляется после закрытия оператора цикла структуры(ENDDO, ENDWHILE, ENDLOOP, ENDSELECT). Во вложенных циклах, только текущий цикл завершается.
DO 4 TIMES.
 IF sy-index = 3.
 EXIT.
 ENDIF.
 WRITE sy-index.
ENDDO.
На выходе получим:
 1 2
В третьем прохождении цикла, цикл завершает работу, прежде написать оператора WRITE.
Описание слайда:
Выход из цикла Чтобы завершить весь цикл сразу и безусловно, используется оператор EXIT в блоке операторов цикла. После этого оператора, цикл завершается, и обработка возобновляется после закрытия оператора цикла структуры(ENDDO, ENDWHILE, ENDLOOP, ENDSELECT). Во вложенных циклах, только текущий цикл завершается. DO 4 TIMES. IF sy-index = 3. EXIT. ENDIF. WRITE sy-index. ENDDO. На выходе получим: 1 2 В третьем прохождении цикла, цикл завершает работу, прежде написать оператора WRITE.



Похожие презентации
Mypresentation.ru
Загрузить презентацию