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 написал(а): Откопайте стюардессу поделись лучше "полезным трюком" или трюком, которого нет, но полезно было бы иметь) вот нужна ли многозадачность в 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) демоны Кажется, с их появлением, начинают выполняться описанные условия многозадачности Кароч, откройте форточку. Душно) |
Автор: | 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 |
Автор: | Кодер [ Ср, май 10 2023, 15:27 ] |
Заголовок сообщения: | Re: Полезные трюки ABAP |
Цитата: нужно смотреть не на memory management, а на resource sharing. Не, ну ок. Но где сказано, что под ресурс шаринг подразумевается именно передача по ссылке, ась? Из всех описаний в тексте значится, что шаринг, например, это - разделение времени выполнения. Поднимите мне веки: про передачу по ссылки что-то не вижу Цитата: APC передают по значению ровно как и любой web-service или параллельный процесс. Это никак не относится к мульти-парадигме вообще. Вполне относится: возможность выполнения одновременно нескольких процессов, с каждым из которых юзер может взаимодействовать отдельно. Все по определению. И ресурсы шарятся (общий процессор аппсервера и общая память аппсервера). Цитата: давайте все-таки не в сап появились, а в платформе NetWeaver. Нда.. и открытая форточка не помогает, действительно Цитата: форточка не поможет, нужно просто оставить ежа (APC), сову (STARTING NEW TASK) и глобус (ABAP Daemons) в покое, и признать, что нет multitasking и multithreading ни в nw ни в abap Насколько я вижу, 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/ |