Текущее время: Сб, май 02 2026, 08:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Чт, июн 07 2012, 18:25 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
Я иногда "бэкаплю" свои разработки в Excel при помощи такого нехитрого инструмента:
Code:
TYPES:  BEGIN OF st_code,
          progname  TYPE reposrc-progname,  "KEY: tadir-obj_name,
          r3state   TYPE reposrc-r3state,   "KEY: ABAP: статус программы (активно, сохранено, перенесено...)
          versdata  TYPE sy-datum,
          verstime  TYPE sy-uzeit,
          line_num  TYPE i.                 "KEY
        INCLUDE STRUCTURE abaptxt255.
TYPES:  END OF st_code.

"таблица 'Перечень программ' (заголовки)
DATA it_src TYPE STANDARD TABLE OF reposrc.
DATA wa_src LIKE LINE OF it_src.

"таблица 'Строки кода программ' (позиции)
DATA it_code  TYPE STANDARD TABLE OF st_code.
DATA wa_code  LIKE LINE OF it_code.

DATA it_abap  TYPE abaptxt255_tab.
DATA wa_abap  LIKE LINE OF it_abap.

"эти два поля как бы играют роль "номера версии"
DATA versdata  TYPE sy-datum.
DATA verstime  TYPE sy-uzeit.

DATA abaplines_cnt TYPE i.


START-OF-SELECTION.

  versdata = sy-datum.
  verstime = sy-uzeit.

  SELECT * FROM reposrc INTO TABLE it_src
      WHERE ( progname LIKE 'Z%' OR progname LIKE 'SAPLZ%' OR progname LIKE 'LZ%' )
        "AND cnam = '<ваш имя пользователя>' "создатель
        AND unam = 'IVANOV' "изменятель
        "AND progname = 'Z...'
        .

  SORT it_src BY progname r3state.
  LOOP AT it_src INTO wa_src.

    READ REPORT wa_src-progname INTO it_abap.

    LOOP AT it_abap INTO wa_abap.
      CLEAR wa_code.
      wa_code-line_num = sy-tabix.
      wa_code-progname = wa_src-progname.
      wa_code-r3state  = wa_src-r3state.
      wa_code-versdata = versdata.
      wa_code-verstime = verstime.
      wa_code-line     = wa_abap-line.
      APPEND wa_code TO it_code.
    ENDLOOP.

  ENDLOOP.

  abaplines_cnt = LINES( it_code ).
  WRITE: / abaplines_cnt.

  "и далее слив таблиц it_src и it_code в Excel


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Чт, июн 07 2012, 21:11 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 11 2008, 17:36
Сообщения: 84
Откуда: Moscow
Пол: Мужской
Можно. READ REPORT, как уже указали.
Если программа с инклудами, то нужно самому искать эти инклуды в коде или с помощью группы функций SEUA.

_________________
CONTINUE OBSERVATION OF... INTERRUPTION!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 09:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Gustav написал:
Я иногда "бэкаплю" свои разработки в Excel

Зачем?
При деблокировании запросов сохраняются версии. Можно и временные версии создавать ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 10:25 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Удав написал(а):
При деблокировании запросов сохраняются версии. Можно и временные версии создавать ;)

Только надо учесть, что временные версии после деблокирования запроса теряются.
А бэкап может потребоваться, при наличии некоторого бардака и/или здоровой паранойи :) у коллег был случай когда один замечательный человек вкатил на сервер разработки очередь запросов из теста, соответственно пропало все что было нажито непосильным трудом и еще не деблокировано

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 11:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
Gustav написал:
Я иногда "бэкаплю" свои разработки в Excel
Удав написал(а):
Зачем?
ArmAnn написал:
бэкап может потребоваться, при наличии некоторого бардака и/или здоровой паранойи :)

Подумал, рассудил. Побуждает "бэкапить" в Excel меня примерно следующее:

1. Здоровая паранойя :)

2. Некоторые исследовательские примеры мастерю не в системе разработки, а в тестовой системе - по причине значительно большей актуальности данных. И просто потерять эти примеры в результате перезаливки данных из продуктива мне будет обидно. Обычно эти примеры ограничиваются одним report'ом, т.е. без текстов, инклудов и т.п. А просто копипастить их потом в разработку - иногда можно забыть, иногда нет особой необходимости.

3. Всевозможные "KPI-айные" подсчеты, которые периодически любит устраивать руководство - строки кода, символы кода, пустые строки, строки комментариев и т.п.

4. Наконец, возможность увидеть весь код глобального класса как код локального, т.е. в одном месте. Мне известно, что можно локальный класс превратить в глобальный полезной командой: SE24 \ Тип объекта \ Импортировать \ Локальные программные классы. Обратная операция - из глобального сделать локальный - мне неизвестна, как неизвестна и возможность вывести весь код глобального в единый обзор.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 11:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
ArmAnn написал:
один замечательный человек вкатил на сервер разработки очередь запросов из теста, соответственно пропало все что было нажито непосильным трудом и еще не деблокировано

А как же backup системы разработки? :o

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 12:07 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Gustav написал:
Обратная операция - из глобального сделать локальный - мне неизвестна, как неизвестна и возможность вывести весь код глобального в единый обзор.

В версии 7.02 это уже реализовано, в SE24 появилась соответствующая кнопка


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 13:58 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Удав написал(а):
ArmAnn написал:
один замечательный человек вкатил на сервер разработки очередь запросов из теста, соответственно пропало все что было нажито непосильным трудом и еще не деблокировано

А как же backup системы разработки? :o
там был как раз случай некоторого бардака :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 18:34 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Gustav написал:
Я иногда "бэкаплю" свои разработки в Exce
А почему в Excel? Чем текстовые файлы хуже?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Пт, июн 08 2012, 22:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
LAT написал(а):
Gustav написал:
Я иногда "бэкаплю" свои разработки в Exce
А почему в Excel? Чем текстовые файлы хуже?

:) потому что Excel - а б а ж а ю! Ну а если посерьезнее, то выкидываю даже не столько для хранения, сколько для анализа. А в текстовом файле - что анализировать? Все равно придется в Excel тащить. Если же Вы о возможных скоростях выгрузки (дескать, текстовый всяко быстрее), то за год у меня сложился весьма приличный алгоритм экспорта, который миллион записей кода выкидывает в Excel в пределах 5 минут. А уж моих-то несколько десятков тысяч - вообще за считанные секунды, так что - вот... Не XML, обычное OLE2; и, кстати, выводится в несохраненный файл, т.е. просто в память - и мне это особенно по душе против текстового.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Чт, июл 24 2014, 11:34 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Gustav написал:
...
4. Наконец, возможность увидеть весь код глобального класса как код локального, т.е. в одном месте. Мне известно, что можно локальный класс превратить в глобальный полезной командой: SE24 \ Тип объекта \ Импортировать \ Локальные программные классы. Обратная операция - из глобального сделать локальный - мне неизвестна, как неизвестна и возможность вывести весь код глобального в единый обзор.

Вот, случайно наткнулся, есть программа SEO_SHOW_CLIF_INCLUDES.
Позволяет генерить АБАП-код всего глобального класса.
Проверил в 4.6D и 7.01 - работает.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Чт, июл 24 2014, 12:36 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
В 7.31 не работает. При запуске выдает ошибку "Invalid parameter OBJECT/OBJECTCLASS" (внутри ФМ-а RS_ACCESS_PERMISSION).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Чт, июл 24 2014, 13:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
LAT написал(а):
В 7.31 не работает. При запуске выдает ошибку "Invalid parameter OBJECT/OBJECTCLASS" (внутри ФМ-а RS_ACCESS_PERMISSION).

Ну, в 7.31 уже в SE24 для этого есть кнопочка "На базе исходного текста".

Хотя вот таким премом можно и старую прогу заставить работать:
Code:
REPORT ZSHOW_CLIF_INCLUDES.

Parameters:
  p_Class type seoclsname.
Submit SEO_SHOW_CLIF_INCLUDES
  with p_class = p_Class.

Однако осторожно! Похоже у неё появилась возможность сохранять исходник. Вопрос - куда, в глобальный класс?! Не зря, видимо, доступ закрыли, спрятав сел. параметр.
И к стандартным классам (не Z) все равно не дает доступа, видимо из-за возможности сохранять.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ к исходному коду ABAP программ из другой программы
СообщениеДобавлено: Чт, июл 24 2014, 14:58 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Кстати, эту программу можно вызвать из SE24, введя команду show_clif.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

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


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

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