Меню

Сортировать:

Новое Популярное
Заметки старого АБАПника (46)

Комментарий от  

Олег Точенюк

  |  31 октября 2014, 00:44

"Оказывается, время поиска в хешированной таблице таки зависит от размера" - Таки не может, хеш-функция, на то и функция что она определяет положение записи, но ваше утверждение звучит так, что в зависимости от значений a, b и c, скорость расчета программой квадратичного уравнения ax^2 + bx + c = 0, таки разная и знаешь если это погонять, то в миллисекундах ты таки тоже получишь разные значения на вызов функции расчета такого уравнения.
 
Реклама, что ли: sapland.ru/books/rekomendatsii-po-optimizatsii-programm-na-yazike-abap.html там есть найденные на просторах SCN принципы организации внутренних таблиц, ну это чтобы не замерять, то что смысла замерять нет.
1. Роль и значение процессов управления ТОРО для нефтегазодобывающих предприяти (3)

Комментарий от  

Admin SAPLand

  |  30 октября 2014, 19:21

Антон Муханин 28 октября 2014, 18:11

Добрый день, Виктор!
 
Замечание, конечно, не по сути, но тем не менее...
 
1. Наименование Рисунка 1 - несогласованность "... за счет совершенствованиЕ"...
2. "Битая" перекрестная ссылка, скопированная из Word... абзац под Рисунком 2 - "... На Ошибка! Источник ссылки не найден.специально показано, что между мод... "

Антон, спасибо за внимательность. Все возможные правки уже внесли.
1. Роль и значение процессов управления ТОРО для нефтегазодобывающих предприяти (3)

Комментарий от  

Виктор Лехтцинд

  |  29 октября 2014, 11:01

Антон Муханин 28 октября 2014, 18:11

Добрый день, Виктор!
 
Замечание, конечно, не по сути, но тем не менее...
 
1. Наименование Рисунка 1 - несогласованность "... за счет совершенствованиЕ"...
2. "Битая" перекрестная ссылка, скопированная из Word... абзац под Рисунком 2 - "... На Ошибка! Источник ссылки не найден.специально показано, что между мод... "

Антон, этот материал более года блуждал до публикации, было много версий текста, поэтому ряд ссылок оказались "битыми". Я отправлял поправки по этим ссылкам, но к сожалению возможно не все попали в опубликованный текст.
1. Роль и значение процессов управления ТОРО для нефтегазодобывающих предприяти (3)

Комментарий от  

Антон Муханин

  |  28 октября 2014, 18:11

Добрый день, Виктор!
 
Замечание, конечно, не по сути, но тем не менее...
 
1. Наименование Рисунка 1 - несогласованность "... за счет совершенствованиЕ"...
2. "Битая" перекрестная ссылка, скопированная из Word... абзац под Рисунком 2 - "... На Ошибка! Источник ссылки не найден.специально показано, что между мод... "
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Олег Точенюк

  |  23 октября 2014, 13:00

Неизвестный пользователь 23 октября 2014, 08:00

Доброе утро.
 
Описание колонки: В этой колонке будет опубликована инструкция по созданию ALV отчётов с использованием шаблонов программирования Model-View-Controller.
 
Не про "словарь данных","интересная закладочка индексы", "кто-то может индекс нарисовать для быстродействия".
 
Дальше продолжать спор нет ни времени, ни желания.
 
У нас свободная демократическая страна можно просто не читать.

Логично, а я то думал что мы просто мнениями обменивались по сути вопроса работы с ALV, а оказывается мы спорили. Не знал :-)
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Багдат Кенжалиев

  |  23 октября 2014, 06:53

Неизвестный пользователь 22 октября 2014, 20:30

Добрый вечер.
 
Глава 1. Создание ALV GRID. § 1. Создание объектов словаря
Думаю логично почему в данном параграфе рассказывается о создании объектов словаря.
 
Да, можно использовать ФМ "REUSE_ALV_GRID_DISPLAY".
А можно все засунуть в 10000 строк кода без инклудов с локальными переменными.
 
Данная инструкция на простейших примерах объясняет как создавать сложные ALV отчеты с 2,3,4 alv на одном экране, которые взаимодействуют
друг с другом. В главах 2 и 3 примеры с двумя ALV.
 
Вся информация об инструкции sapland.ru/blogs/phaizullin
 
Просьба дождаться выхода хотя бы первой главы и делать выводы.

Доброе утро,
 
Шамиль, может после окончания всех статей по данной теме Вы скинете все в один PDF файл. Чтобы можно было читать офлайн.
 
С уважением,
Багдат.
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Олег Точенюк

  |  22 октября 2014, 22:49

Неизвестный пользователь 22 октября 2014, 20:30

Добрый вечер.
 
Глава 1. Создание ALV GRID. § 1. Создание объектов словаря
Думаю логично почему в данном параграфе рассказывается о создании объектов словаря.
 
Да, можно использовать ФМ "REUSE_ALV_GRID_DISPLAY".
А можно все засунуть в 10000 строк кода без инклудов с локальными переменными.
 
Данная инструкция на простейших примерах объясняет как создавать сложные ALV отчеты с 2,3,4 alv на одном экране, которые взаимодействуют
друг с другом. В главах 2 и 3 примеры с двумя ALV.
 
Вся информация об инструкции sapland.ru/blogs/phaizullin
 
Просьба дождаться выхода хотя бы первой главы и делать выводы.

Да можно все конечно объединить в колонке, что-то типа от обезьяны до профессионального SAP консультанта, но вот именно к работе с ALV это будет мало соотносимо. Если вы переживаете, что сама по себе работа с ALV таблицами не тема колонки, то зря, одно из описаний, что я видел, тянуло страниц на 170 десятого шрифта, да и то, там много интересных тем было упущено. Поэтому я бы не распылялся на расскажу про все что знаю, а брал бы тему ALV и старался бы ее раскрыть, а так вы про словарь данных не рассказали собственно ничего, например там дальше когда объявляете свой тип таблицы через словарь, интересная закладочка индексы есть, вот вы про нее ничего не сказали... а ведь кто-то может индекс нарисовать для быстродействия, а потом получить проблемы при отражении такой таблицы через ALV-компоненты. Так что я просто к тому что не надо распыляться. Словарь данных сам по себе штука очень мощная, начиная с определения доменов данных и дальше по восходящей.
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Багдат Кенжалиев

  |  22 октября 2014, 14:56

По-моему, самое простое это воспользоваться ФМ "REUSE_ALV_GRID_DISPLAY" или на худой конец использовать класс "cl_salv_table". Согласен с Олегом Точенюком, зачем плодить объекты словаря.
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Олег Точенюк

  |  20 октября 2014, 16:11

Александр Дублин 20 октября 2014, 09:35

Это только часть главы. Будет еще продолжение. Много продолжений ...

Да дело то не в этом что это часть, просто вот эта часть к созданию ALV-таблицы, точнее выводу данных не имеет никакого отношения. Это скажем так ближе к описанию BC430 - Словарь данных и работа с ним. Можно же было вообще начать с ... ну скажем так описания SAP Logon-а
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Александр Дублин

  |  20 октября 2014, 09:35

Олег Точенюк 20 октября 2014, 00:15

Цель данной главы создать ALV Grid - Серьезно? После прочтения цель данной главы создание объектов словаря данных, а вот лично ALVGrid-у вроде как все равно что выводить, пользовательскую таблицу или уже существующую, или в вообще локально объявленную. А то молодежь же офигеет и кинется на каждый чих таблицы плодить в словаре данных. Вопрос зачем?

Это только часть главы. Будет еще продолжение. Много продолжений ...
Глава 1. Создание ALV GRID. Часть 1 (10)

Комментарий от  

Олег Точенюк

  |  20 октября 2014, 00:15

Цель данной главы создать ALV Grid - Серьезно? После прочтения цель данной главы создание объектов словаря данных, а вот лично ALVGrid-у вроде как все равно что выводить, пользовательскую таблицу или уже существующую, или в вообще локально объявленную. А то молодежь же офигеет и кинется на каждый чих таблицы плодить в словаре данных. Вопрос зачем?
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Олег Точенюк

  |  09 октября 2014, 00:50

Вячеслав Шиболов 08 октября 2014, 13:20

Мне кажется, что вы решаете задачу с разных позиций: программиста и администратора. У администратора задача найти решение применяя инструменты, имеющиеся в наличии. Ребята просто нашли решение без ABAP-а.
 
Хотя умение программировать значительно расширяет набор инструментов. :)

Да но задача как заметил Олег решена не совсем корректно, это к рабочим дням относится. Далее у такого решения есть тот минус, что нужно не забывать о существовании внешнего планировщика заданий, таким образом вместо одной точки контроля, у нас получается две, собственно сам внешний планировщик операционной системы и запланированные задачи внутри ERP. С точки зрения надежности, это уже минус.
 
PS: С другой стороны, задача решена, решение устраивает, значит все отлично.
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Вячеслав Шиболов

  |  08 октября 2014, 13:20

Олег Точенюк 07 октября 2014, 20:48

Да именно, на селекционном экране можно вообще диапазон времени задать внутри проверить вхождение даты запуска в заданный диапазон времени и дергать ваше событие, которое запустит повешенное на событие программу, там если чуть посидеть денек, то можно вообще универсальную запускалку сделать.

Мне кажется, что вы решаете задачу с разных позиций: программиста и администратора. У администратора задача найти решение применяя инструменты, имеющиеся в наличии. Ребята просто нашли решение без ABAP-а.
 
Хотя умение программировать значительно расширяет набор инструментов. :)
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Олег Точенюк

  |  07 октября 2014, 20:48

Олег Башкатов 07 октября 2014, 18:53

Андрей, например, запускать программу каждые два часа.
и вначале программы проверять стоит ли выполнять программу дальше или делать EXIT.
 
если программа запустилась и видит, что сейчас 18:00, она просто завершает работу.
а если сейчас 12:00 - то продолжает работу.
 
и, кстати, так можно сделать запуск действительно по рабочим дням, т.е. по рабочим дням согласно производственному календарю (а у Вас по Пон,Вт,Ср,Чт,Пт)

Да именно, на селекционном экране можно вообще диапазон времени задать внутри проверить вхождение даты запуска в заданный диапазон времени и дергать ваше событие, которое запустит повешенное на событие программу, там если чуть посидеть денек, то можно вообще универсальную запускалку сделать.
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Олег Башкатов

  |  07 октября 2014, 18:53

Андрей Красовский 07 октября 2014, 09:59

Почему то складывается ощущение, что мы обсуждаем разные темы :-( Вы можете написать любую программу, но объясните, как будет запускаться вами написанная программа с 8-00 до 17-00 каждые 2 часа с понедельника по пятницу?

Андрей, например, запускать программу каждые два часа.
и вначале программы проверять стоит ли выполнять программу дальше или делать EXIT.
 
если программа запустилась и видит, что сейчас 18:00, она просто завершает работу.
а если сейчас 12:00 - то продолжает работу.
 
и, кстати, так можно сделать запуск действительно по рабочим дням, т.е. по рабочим дням согласно производственному календарю (а у Вас по Пон,Вт,Ср,Чт,Пт)
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Андрей Красовский

  |  07 октября 2014, 09:59

Олег Точенюк 06 октября 2014, 18:18

Да какое же у меня решение, небольшая программка на абапе да и всех делов... :-) хоть от фазы луны запускайся, главное до этой самой фазы достучаться.

Почему то складывается ощущение, что мы обсуждаем разные темы :-( Вы можете написать любую программу, но объясните, как будет запускаться вами написанная программа с 8-00 до 17-00 каждые 2 часа с понедельника по пятницу?
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Олег Точенюк

  |  06 октября 2014, 18:18

Андрей Красовский 06 октября 2014, 17:34

"...запускать программу в фоновом режиме..." имеется ввиду ABAP программу или несколько ABAP программ

Да какое же у меня решение, небольшая программка на абапе да и всех делов... :-) хоть от фазы луны запускайся, главное до этой самой фазы достучаться.
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Андрей Красовский

  |  06 октября 2014, 17:34

Андрей Красовский 06 октября 2014, 17:26

Олег, поясняю, суть статьи - решить задачу: "запускать программу в фоновом режиме каждые 2 часа в рабочее время, т.е. с 8 до 17 часов, и только с понедельника по пятницу. ...чтобы периодически выполняемая программа планировалась с помощью ОДНОГО фонового задания".
В статье описано решение такой нехитрой задачи и добавлено описание утилиты sapevt взятое из help.sap.com/saphelp_nw04s/helpdata
И нам действительно не нужно использовать параметр -p.
А если копнуть тему глубже, то у SAP есть свое решение такой задачи и называется оно: SAP Central Process Scheduling by Redwood (SAP CPS). Будем надеяться что и на эту тему в скором времени появится статья.
 
P.S. Если у вас есть свои варианты решение нашей задачи - будем рады узнать их.

"...запускать программу в фоновом режиме..." имеется ввиду ABAP программу или несколько ABAP программ
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Андрей Красовский

  |  06 октября 2014, 17:26

Олег, поясняю, суть статьи - решить задачу: "запускать программу в фоновом режиме каждые 2 часа в рабочее время, т.е. с 8 до 17 часов, и только с понедельника по пятницу. ...чтобы периодически выполняемая программа планировалась с помощью ОДНОГО фонового задания".
В статье описано решение такой нехитрой задачи и добавлено описание утилиты sapevt взятое из help.sap.com/saphelp_nw04s/helpdata
И нам действительно не нужно использовать параметр -p.
А если копнуть тему глубже, то у SAP есть свое решение такой задачи и называется оно: SAP Central Process Scheduling by Redwood (SAP CPS). Будем надеяться что и на эту тему в скором времени появится статья.
 
P.S. Если у вас есть свои варианты решение нашей задачи - будем рады узнать их.
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

Комментарий от  

Олег Точенюк

  |  06 октября 2014, 16:36

Олег Точенюк 06 октября 2014, 16:26

-p <EVTPRM>: Опциональный аргумент для события EVT, который квалифицирует событие. EVTPRM не определён в системе SAP.
 
Прочитал пару раз, но так и не понял, как параметр который квалифицирует событие, может быть не определенным в системе SAP, и вообще кто кем и чем определяет это дело у вас? Что-то мне кажется что или я или вы немного не поняли что это такое. Это именно параметр, который можно передать при вызове, а зачем считать в абап программе, т.е. если бы вам нужно было например передавать каждый раз при вызове sap-события имя виндовой машины машины которая вызвала событие или путь рабочего каталога или много чего другого, то вы могли бы после ключа -p указать это значение в качестве строки и затем в программе используя:
 
CALL FUNCTION 'BP_EVENT_RAISE'
       EXPORTING
            eventid                = '<имя события>'
            eventparm              = eventparm
       EXCEPTIONS
            bad_eventid            = 1
            eventid_does_not_exist = 2
            eventid_missing        = 3
            raise_failed           = 4
            OTHERS                 = 5.
 
Получить переданное значение и соответственно дальше уже отработать в зависимости от полученного значения, ну это если у вас программа своя или стандартная которая предполагает какие-то параметры.
 
PS: Вообще, если честно, не заметил не стандартного подхода к планированию фоновых заданий, все полностью в рамках стандарта. А это, краткая инструкция по использованию консольной утилиты sapevt

Не тот ФМ скопировал, предыдущий для инициализации события из ABAP-программы:
 
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
     IMPORTING
          eventid         = event_id
          eventparm       = eventparm
     EXCEPTIONS
          no_runtime_info = 1