Вот иногда живёшь так, думаешь на автопилоте, что если начал новый LUW то это как портал в новую вселенную:
А вот нифига, LUW может быть и новый, стек вызовов начинается с %_RFC_START, однако определённые в TOP-инклюде глобальные данные группы функций никак не инициализируются:
Вот и получается, что LUW и Internal session это не одно и то же.
Это всё тянется из тех старинных времён, когда SAP работал в терминале и выглядел примерно так:
С тех пор мало что поменялось внутри, экраны устроены та же, всё фиксированной ширины, замкнутый цикл PBO/PAI. Поэтому для значения TRUE используется крестик [X], потому что именно так он отражался на терминале.
На экране пробел от подчёркивания отличить нельзя, поэтому поля содержащие только пробелы и подчёркивания считаются пустыми. И если поле обязательное, то в него нельзя ввести только символ подчёркивания.
Со знаком «равно», видимо, тоже связана какая-то история, могу вообразить, что на некоторых системах ещё не было такой кнопки как F4, или она использовалась для других целей, поэтому для доступа к средству поиска использовалась клавиша =, почему нет.
С восклицательным знаком наверно тоже связана древняя легенда, допускаю что Ctrl+A ещё не изобрели, поэтому разработчики придумали такой «трюк», чтобы проще стирать данные в поле.
Хожу на LinkedIn просто чтобы поиграть в Queens и Crossclimb (https://www.linkedin.com/games/), вот такое у меня daily routine, рекомендую.
И пока я входил и выходил, то случайно первым постом на странице выпал чей-то текст в две строчки с тезисом, что «Entry level job» должен иметь нулевые требования к опыту.
Просто так, безапелляционно, без оговорок, без контекста, с потолка.
И у поста десять тысяч лайков, тысяча комментариев и тысяча репостов. И все там такие дружно ему поддакивают.
Вот думаю что это? Та самая «левая повестка» или просто ограниченность кругозора?
Единственный ответ, который у меня есть: «Обсудите это с вашим терапевтом с нулевым опытом», но на LinkedIn так не принято.
*----------------------------------
* (с) Слепаков
*----------------------------------
DO.
Это был тяжелый год
Был он тяжелей, чем тот
Неожиданно нам всем
Много он принес проблем
Но приходит новый год
Он нам счастья принесет
И я верю через год
Дружно скажет наш народ
ENDDO.
Если кратко, то может быть и можно, но всё очень-очень сложно.
Тут вопрос в концепции.
С одной стороны, любая программа ABAP работает только на сервере. SAP GUI работает на компьютере пользователя и отвечает только за показ результата работы и ожидание дальнейших инструкций от пользователя. Пользователь видит результат, нажимает кнопку, SAP GUI передаёт нажатие кнопки на сервер, серверная программа снова отрабатывает и даёт новый результат, отправляет его на просмотр пользователю.
Это круг PAI-PBO, который никогда не прекращается.
BTW, с точки зрения архитектуры SAP GUI — это «тонкий клиент», так как никакая прикладная логика на нём не работает, только красивое отображение и приём-передача информации на сервер и обратно.
С другой стороны, список последних введённых значений хранится только на SAP GUI (то есть на компьютере пользователя), и сервер ничего не знает про это. Так же как и не знает какого цвета кнопки. Вы можете сами включить в SAP GUI любую тему и поменять все цвета, но на работу ABAP это никак не повлияет, и сервер про это никогда не узнает.
С точки зрения ABAP-сервера, нет никакой разницы, выбираете ли вы значение из истории, или вводите его вручную заново, или вставляете из буфера обмена.
На практике существуют некоторые пользовательские функции, когда необходимо взаимодействие ABAP-сервера и SAPGUI-клиента:
Оно реализовано очень нетривиально внутри, можете убедиться.
Если поглядеть в класс CL_GUI_FRONTEND_SERVICES, например в метод CALL_METHOD, то окажется, что ничего просто так сделать не получится.
Вообще большой вопрос — умеет ли SAP GUI отдавать такую информацию или нет, документировано это или нет. В классе не видно ни одного метода, отдалённо напоминающего требуемую функциональность.
Тупик, приехали.
На крайний случай, если очень-очень хочется, чисто теоретически, можно найти на клиенте (компьютере пользователя) файл, куда пишется история, загрузить его в ABAP и распознать.
Этот файл пишется в моём случае в формате SQLite, который неизвестно как разбирать, напрямую в ABAP его анализ невозможен. Ещё неизвестно, что за защита на нём стоит, потому что внутре данные покорябаны:
Тоже приехали.
На моей памяти это задача одна из самых невозможных. Хотя казалось бы…
Снова ничего нового, кажется, но ведущие соскочили на привычные рельсы, у меня было стойкое ощущение дежа-вю. В целом согласен со всеми участниками, но у меня своя правда.
Я в текущих своих условиях вижу один довод «за» — если есть процедура Code review, то я пишу чище.
Кстати, устоявшегося термина на русском языке так и не сложилось. Википедия предлагает сразу четыре варианта:
Просмотр кода, рецензирование кода, обзор кода, ревизия кода
Позвал как-то индийский руководитель всех русскоговорящих ребят-программистов на совещание. Говорит: “Давайте писать код так, чтобы он был понятен всем, как индийский фильм без перевода!” Русские программисты ответили: “Хорошо, но только если комментарии к коду будут как русские субтитры — короткие и ясные.” В итоге, они создали самый эмоциональный код в истории — каждая функция начиналась танцами и заканчивалась мудрой поговоркой.
Позвал как-то индийский руководитель всех русскоговорящих ребят на ужин. Говорит: “У меня для вас есть специальное блюдо.” Ребята в недоумении, думают: “Наверное, карри или что-то экзотическое.” Приходят, а на столе – пельмени. Индийский руководитель говорит: “Я слышал, что это ваше традиционное блюдо, решил удивить!” Ребята в ответ: “Ого, доктор, вы нас удивили… но где же специи?” Руководитель с улыбкой: “Специи? В пельменях? Нет, я решил, что в этот раз специи – это ваше присутствие!”
Позвал как-то индийский руководитель всех русскоговорящих ребят-программистов на совещание и говорит: “У нас есть две новости — хорошая и плохая. С какой начнем?” Ребята в один голос: “С хорошей!” Глава: “Наша команда выиграла большой международный тендер!” Все аплодируют, радуются. “А теперь плохая новость,” — продолжает глава, “тендер был на лучшую программу для автоматического перевода с индийского на русский, и теперь вам всем придется учить хинди.”
Говорят, что закупать за государственный счёт иностранное программное обеспечение это теперь ещё более фу-фу-фу, чем было раньше?
1. При осуществлении государственных закупок установить изъятие из национального режима товаров и услуг, включенных в реестр доверенного программного обеспечения, и продукции электронной промышленности, происходящих из иностранных государств, за исключением товаров, не производимых на территории Республики Казахстан, а также приобретаемых на основании подпунктов 31), 32) и 33) пункта 3 статьи 39 Закона Республики Казахстан «О государственных закупках».
Интересно, что значит это для мира SAP, а также 1C заодно?
В списке доверенных есть Фаворит, интересно, насколько последний можно считать аналогом и как это может повлиять на существующий рынок?
ЗЫ. Прочитал ещё несколько раз, и будто бы если бы они все были бы в списке, то иностранных бы заклеймили, а так как в списке есть только Фаворит, то там он и останется и ничего не поменялось, никто дополнительного клейма не получил. Так что ли?
Ох уж эти крючкотворы, так напишут иной раз, что ничего не понятно.
1
GPT,Объяснипервыйпункткакбудтодляпятилетнихдетей
Представь, что у нас есть коробка с игрушками, которые мы делаем здесь, в Казахстане. Обычно, если кто-то хочет купить наши игрушки, мы говорим: “Это наши игрушки, и они особенные”. Но иногда мы говорим: “Эти игрушки приехали из другой страны, и они тоже могут быть особенными для нас”. Так вот, правило, о котором ты спрашиваешь, это как раз про то, когда мы решаем, какие игрушки из других стран могут быть для нас особенными. Но если у нас уже есть такая же игрушка, которую мы сами сделали, тогда мы выберем свою игрушку, а не ту, что приехала.