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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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