SAPфорум.RU
https://www.sapboard.ru/forum/

Полезные трюки ABAP
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=87197
Страница 7 из 8

Автор:  Kengur [ Чт, апр 13 2023, 22:57 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

olegbash написал(а):
Kengur написал(а):
Откопайте стюардессу :shumlol:


поделись лучше "полезным трюком" или трюком, которого нет, но полезно было бы иметь)

вот нужна ли многозадачность в abap? и для каких целей ее бы применить?

Пожалуйста. Применял многозадачность в распараллеливании процессов через селекшен скрин. т.е. вспомогательной прогой запускаем много потоков стандартной или не стандартной проги через деление всей области на куски и запихивании их в селекшен скрин.

Так же из опыта многозадачности могу вспомнить поделки самого сапа в RA и PS. не помню уже прогу саму, но в ней в каком то 6 ехп добавили вот эту самую многозадачность. но алгоритм был кривой, и почему то прога когда по рфц запускала расчеты по СПП элементам, начинала наступать себе на пятки и выбирала и блокировала одни и те же записи сама себе.

Автор:  olegbash [ Сб, апр 22 2023, 15:33 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

в целом, круто)

а нет ли путанницы между многозадачностью мнопроцессностью и многопоточностью?

в NetWeaver только многопроцессность есть...

как делалась многозадачность?

Автор:  Kengur [ Пн, апр 24 2023, 14:30 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

В абапе многозадачность достигается только через многопоточность.

Автор:  Удав [ Вс, апр 30 2023, 22:11 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

olegbash написал(а):
как делалась многозадачность?

CALL FUNCTION ... STARTING NEW TASK ..
PERFORMING ...

Автор:  olegbash [ Вт, май 09 2023, 19:07 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Удав написал(а):
olegbash написал(а):
как делалась многозадачность?

CALL FUNCTION ... STARTING NEW TASK ..
PERFORMING ...


но в этом случае у нас запускается отдельный процесс и переменные мы передаем по значению; и общей памяти у нас нет.
разве можно это назвать многозадачность?))

Автор:  Кодер [ Ср, май 10 2023, 09:11 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Удав написал(а):
но в этом случае у нас запускается отдельный процесс и переменные мы передаем по значению; и общей памяти у нас нет.
разве можно это назвать многозадачность?))


1) В определении нет такого требования https://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C

2) Можно рассматривать процесс, который запускает остальные процессы, как место где находится та самая общая память, раз абап-память AS не устраивает.

Автор:  olegbash [ Ср, май 10 2023, 10:46 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Кодер написал(а):
Удав написал(а):
но в этом случае у нас запускается отдельный процесс и переменные мы передаем по значению; и общей памяти у нас нет.
разве можно это назвать многозадачность?))


1) В определении нет такого требования https://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C

2) Можно рассматривать процесс, который запускает остальные процессы, как место где находится та самая общая память, раз абап-память AS не устраивает.


1) а если посмотреть источники чуть более целевые, чем wikipedia?
https://www.geeksforgeeks.org/differenc ... rocessing/

2) что значит "можно рассмотреть"? философски в смысле?
в своей программе объявляю внутреннюю таблицу и хочу ее заполнить не передавая по значению данные между процессами - мне здесь память диспетчера процессов (что и есть "процесс, который запускает остальные процессы") - как поможет?

Автор:  Friday [ Ср, май 10 2023, 11:56 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Я игрался с многозадачностью в HCM - надо собирать инфу по каждому сотруднику и работа в несколько потоков шла быстрее. Но это на уровне игрушки - в продуктив изменения не пошли. Использовался фреймворк SPTA.
На реальной задаче также использовалась распараллеливание - в общем-то по аналогичному принципу. Вот там реально была необходимость обработки большого количества объектов

Автор:  Кодер [ Ср, май 10 2023, 12:17 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

<em>Кодер</em> написал(а):
а если посмотреть источники чуть более целевые, чем wikipedia?
https://www.geeksforgeeks.org/differenc ... rocessing/


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

Но вообще, ниоч попытка натянуть на трехзвенку понятия, которые имеют отношения к персоналке\одному серверу, как мне кажется

Автор:  olegbash [ Ср, май 10 2023, 12:30 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Кодер написал(а):
<em>Кодер</em> написал(а):
а если посмотреть источники чуть более целевые, чем wikipedia?
https://www.geeksforgeeks.org/differenc ... rocessing/


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

Но вообще, ниоч попытка натянуть на трехзвенку понятия, которые имеют отношения к персоналке\одному серверу, как мне кажется


это где там говорится, что у каждого своя? написано, что share a common ...
Цитата:
In a more general sense, multitasking refers to having multiple programs, processes, tasks, threads running at the same time. This term is used in modern operating systems when multiple tasks share a common processing resource (e.g., CPU and Memory).


может стоит честно признать, что в net weaver нет multitasking?...

Цитата:
Но вообще, ниоч попытка натянуть на трехзвенку понятия, которые имеют отношения к персоналке\одному серверу, как мне кажется

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

Автор:  olegbash [ Ср, май 10 2023, 12:38 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Friday написал(а):
Я игрался с многозадачностью в HCM - надо собирать инфу по каждому сотруднику и работа в несколько потоков шла быстрее. Но это на уровне игрушки - в продуктив изменения не пошли. Использовался фреймворк SPTA.
На реальной задаче также использовалась распараллеливание - в общем-то по аналогичному принципу. Вот там реально была необходимость обработки большого количества объектов


любое распараллеливание обработки не является многозадачностью.
но фреймворк SPTA, действительно, стоит включить в полезные трюки.

Автор:  Кодер [ Ср, май 10 2023, 14:47 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Цитата:
это где там говорится, что у каждого своя? написано, что share a common ...

В начале статьи сводная табла. В графе про память прям вот написано
Цитата:
Each task has its own memory space

Т.е. да. ресурсы шарятся. Ага. Ресурсы всего аппсервера
Цитата:
может стоит честно признать, что в net weaver нет multitasking?...

неа, потому что (опять цитата с твоего же ресурса)
Цитата:
Multitasking – As the name itself suggests, multitasking refers to execution of multiple tasks (say processes, programs, threads etc.)

Цитата:
не понял утверждения. multitasking - это не про то, сколько серверов в архитектуре, а как используются процессор и память в одном потоке. потоки могут быть хоть где и в любой архитектуре.

Там же в тексте значится, что под многозадачностью понимается не только одномоментное выполнение(и то его нет, т.к. в тексте речь идет о разделении времени выполнения) нескольких задач, но и то, что с каждой из них можно в этот момент взаимодействовать. Т.е. для платформы netweaver как раз многозадачность есть. А вот для одной программы - уже чот нет.
... Но тут я вспомнил, что в сап появились
1) APC
2) демоны
Кажется, с их появлением, начинают выполняться описанные условия многозадачности :lol:
Кароч, откройте форточку. Душно)

Автор:  olegbash [ Ср, май 10 2023, 15:09 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

нужно смотреть не на memory management, а на resource sharing.
потому как в каждой локальной подпрограмме/метода всегда определяется локальная область. а таск - это по сути и есть вызов функции/подпрограммы/метода

APC передают по значению ровно как и любой web-service или параллельный процесс. Это никак не относится к мульти-парадигме вообще.


Цитата:
... Но тут я вспомнил, что в сап появились

давайте все-таки не в сап появились, а в платформе NetWeaver.
сап - компания.
NetWeaver - техническая платформа.

Цитата:
Кароч, откройте форточку. Душно)


форточка не поможет, нужно просто оставить ежа (APC), сову (STARTING NEW TASK) и глобус (ABAP Daemons) в покое, и признать, что нет multitasking и multithreading ни в nw ни в abap :D

Автор:  Кодер [ Ср, май 10 2023, 15:27 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

Цитата:
нужно смотреть не на memory management, а на resource sharing.

Не, ну ок. Но где сказано, что под ресурс шаринг подразумевается именно передача по ссылке, ась? Из всех описаний в тексте значится, что шаринг, например, это - разделение времени выполнения. Поднимите мне веки: про передачу по ссылки что-то не вижу
Цитата:
APC передают по значению ровно как и любой web-service или параллельный процесс. Это никак не относится к мульти-парадигме вообще.

Вполне относится: возможность выполнения одновременно нескольких процессов, с каждым из которых юзер может взаимодействовать отдельно. Все по определению. И ресурсы шарятся (общий процессор аппсервера и общая память аппсервера).
Цитата:
давайте все-таки не в сап появились, а в платформе NetWeaver.

Нда.. и открытая форточка не помогает, действительно :lol:
Цитата:
форточка не поможет, нужно просто оставить ежа (APC), сову (STARTING NEW TASK) и глобус (ABAP Daemons) в покое, и признать, что нет multitasking и multithreading ни в nw ни в abap :D

Насколько я вижу, nw вцелом как раз вполне соответствует и мультаскингу и мультитредингу. Но, видимо, не договоримся

Автор:  olegbash [ Ср, май 10 2023, 15:40 ]
Заголовок сообщения:  Re: Полезные трюки ABAP

да причем тут договоримся?) у меня нет цели убедить в чем-то ... можете считать, что abap и big data может... и LLM.

скажем так: где в справке по abap сказано, что поддерживается multithreading и multitasking?
если такое есть, то документация не могла такое пройти стороной..


касательно передачи по ссылке:
это означает, что таски работают с одним и тем же объектом, а не с его копией.
тогда и счеты(excel и подобные) с abap application server делают мульти-парадигму. ведь мы же можем выгрузить в excel и потом загрузить обратно?)

Страница 7 из 8 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/