воскресенье, 15 сентября 2013 г.

Regular Expressions In ABAP

Базовый список информационных материалов содержится в статье по адресу http://sapignite.com/regex-in-abap/.
Но я обнаружил, что хорошего документа про RegEx в ABAP нет в списке материалов. Поэтому привожу его название - "Regular Expressions for Information Processing in ABAP", Ralph Benzinger.

четверг, 30 мая 2013 г.

Smartforms basics

Вчера первый раз пришлось работать с Smartforms.
Начальные данные по этой технологии можно почерпнуть из курск BC470.
Но для создания достаточно сложной формы этих знаний оказывается недостаточно, постоянно наступаешь на какие-нибудь "грабли". Приходится выполнять поиск решений проблем. Хотя в курсе написано, что транзакция smartforms построена с поддержкой WYSIWYG. Поработав с этой транзакцией, могу сказать теперь, что это жалкое подобие WYSIWYG средств. Инструмент очень отсталый.
Хорошая подборка статей по теме Smartforms есть на веб-сайте http://saptechnical.com/.

воскресенье, 26 мая 2013 г.

Глупость в Screen Painter

Не смог найти решения следующей проблемы. В Screen Painter можно задавать текст для элементов экрана. Но когда вводится текст с пробелами, пробелы заменяются на знак подчёркивания. А если нужен знак подчёркивания?! Причина, по которой вместо пробела стоит знак подчёркивания, непонятна. Это как-то не логично...

вторник, 26 марта 2013 г.

SAP Application Log

Инструмент формирования различных журналов при выполнении программ. Может интегрироваться в cl_gui_container. Много примеров использования этого инструмента в наборе программ SBAL*.
По ссылке http://zevolving.com/2011/09/application-log-ii-new/ есть хороший материал по созданию журналов с примерами кода.

воскресенье, 24 марта 2013 г.

TABLES keyword

Если идёт обмен данными между полями ввода экрана и программой и имя поля ссылается на структурный тип (или прозрачную таблицу DDIC), то необходимо не DATA использовать, а TABLES. Тогда идёт правильно обмен.

понедельник, 4 февраля 2013 г.

Генераторы псевдослучайных чисел в SAP

В системе SAP имеется группа функций QF05 - генераторы псевдослучайных чисел.
Ниже простой пример использования.

CLASS lcl_bl_controller IMPLEMENTATION.
  METHOD entry_point.
    DATA: seed TYPE qf00-ran_seed,
          number TYPE qf00-ran_number.
    DO 100 TIMES.
      CALL FUNCTION 'QF05_RANDOM'
        IMPORTING
          ran_number = number.
      WRITE: / 'Pseudo random value = ', number.
    ENDDO.

    DATA int_number TYPE qfranint.
    DO 100 TIMES.
      CALL FUNCTION 'QF05_RANDOM_INTEGER'
       EXPORTING
         RAN_INT_MAX         = 6
         RAN_INT_MIN         = 1
       IMPORTING
         RAN_INT             = int_number.
      WRITE: / 'Pseudo random value = ', int_number.
    ENDDO.
  ENDMETHOD.                    "entry_point
ENDCLASS.                    "lcl_bl_controller IMPLEMENTATION