Текущее время: Вт, июн 24 2025, 20:00

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Небольшая подпрограмма (form debug) для дебага таблиц
СообщениеДобавлено: Вт, окт 20 2015, 15:27 
Специалист
Специалист

Зарегистрирован:
Ср, окт 07 2015, 12:36
Сообщения: 124
Всем добрый день.

Возможно, это и не стОит отдельной темы, но люди иногда ищут именно по названию темы. Да, в плане кода, выглядит это всё отвратительно, но мне пригодилось =) Вообщем, эта форма выводит некоторые системные поля отдельным сообщением. Ничего особенного, но может кому-нибудь будет полезно. А если кто-то подскажет как можно это всё написать лучше - буду только благодарен. Поидее блок CONCATENATE - APPEND можно вынести и отдельно, но мне кажется здесь это не нужно. Собственно, это всё так выглядит из-за того, что я не смог найти символ перевода каретки в АБАП; можно было обойтись тогда и одной строкой вместо таблицы.

Code:
FORM debug.
  DATA: sy_table   LIKE tline OCCURS 12 WITH HEADER LINE,
        temp(4)    TYPE c.

  WRITE sy-tabix TO temp.
  CONCATENATE 'Строка таблицы______________' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-fdpos TO temp.
  CONCATENATE 'Положение текстовой строки__' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-dynnr TO temp.
  CONCATENATE 'Номер текущего экрана_______' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-pfkey TO temp.
  CONCATENATE 'Текущий GUI статус__________' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-pagno TO temp.
  CONCATENATE 'Текущая страница____________' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-colno TO temp.
  CONCATENATE 'Текущий столбец_____________' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-linno TO temp.
  CONCATENATE 'Текущая строка списка_______' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-linct TO temp.
  CONCATENATE 'Число строк в списке________' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-cucol TO temp.
  CONCATENATE 'Положение курсора(столбец)__' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-curow TO temp.
  CONCATENATE 'Положение курсора(строка)___' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-lsind TO temp.
  CONCATENATE 'Номер стекового списка______' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-winco TO temp.
  CONCATENATE 'Столбец курсора в окне______' temp INTO sy_table.  APPEND sy_table.
  WRITE sy-winro TO temp.
  CONCATENATE 'Строка курсора в окне_______' temp INTO sy_table.  APPEND sy_table.

  CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY_OK'
    EXPORTING
      endpos_col    = 32
      endpos_row   = 10
      startpos_col   = 1
      startpos_row  = 1
      titletext          = ''
    TABLES
      valuetab        = sy_table.
ENDFORM.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Небольшая подпрограмма (form debug) для дебага таблиц
СообщениеДобавлено: Вт, окт 20 2015, 16:05 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
для дебаженья вообщето есть специальные команды вроде ASSERT - и соответствующая транзакция-монитор надебаженного. Там профит что не надо диалоговые огороды городить, и включать/выключать вывод дебаг-сообщений можно централизованно.

выводить msgbox-ы на экран - я так понимаю это "Колхозъ" по саповским канонам :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Небольшая подпрограмма (form debug) для дебага таблиц
СообщениеДобавлено: Ср, окт 21 2015, 04:57 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Символ перевода строки: CL_ABAP_CHAR_UTILITIES=>NEWLINE. Хотя, наверное, в данном случае не поможет.

Если хочется поколхозить можно еще так:
Code:
data: ld_xml type xstring.
call transformation id source val = sy
                              result xml ld_xml.
cl_abap_browser=>show_xml(
            exporting
              xml_xstring  = ld_xml
          ).


Вместо sy может быть что угодно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB