ABAP2XLSX
Началось всё с осмотра одной разработки – abap2xlsx. Ещё один движок экспорта данных в Excel. Движок как движок – есть преимущества и недостатки.
Фишки:
- Экспорт происходит через обработку XML. Никаких OLE, CSV, HTML, макросов и прочих костылей
- Теоретически – самый быстрый вариант при большом количестве данных
- Теоретически доступны все возможности, если написать к ним верные обёртки – они не все написаны, но кое-что планируется по roadmap
- Клиент не участвует в обработке – файл полностью генерируется на сервере
Недостатки:
- Пока только развивается – ещё не совсем понятно, что из этого выйдет
- До поддержки шаблонного подхода похоже ещё очень далеко – ещё несколько мажорных версий по roadmap (если я правильно понимаю фразу “v.3.0 — Add xlsx reader”
Выводы:
- уже можно использовать в качестве замены чистому OLE-подходу
- не годится для Excel 2003 в общем случае – требуется установка адд-она на клиентскую машину
Ничего особенно удивительного, но это погрузило меня в другое – целую кучу другого.
http://code.google.com/p/abap2xlsx/
Google Code
http://code.google.com/
Больше напомнило, чем удивило. Goole Code является альтернативой старому SourceForge. Просто и доступно, как и всё что Гугл делает. Что там есть:
- страница проекта
- документация в стиле Wiki
- раздел файлов для загрузки
- баготреккер
- репозитарий на базе SVN
А что ещё нужно для коллективной работы над исходниками?
Google Wave
http://wave.google.com/
Данный способ колаборации анонсирован уже давно, но открыт публично совсем недавно. Однако его вполне можно использовать и для обсуждения моментов вокруг проектов. Волны - как заменитель тредов на форуме или чата. Почему бы и нет.
ZSAPLINK
http://code.google.com/p/saplink/
ZSAPLINK – это движок, через который можно обмениваться разработками. Интересный проект со своими заморочками.
Основная задача: формировать что-то вроде запросов – некоторый файл в формате XML, в котором лежат объекты разработки (отчёты, классы, таблицы, группы функций и так далее).
Этот файл можно получить из одной системы и развернуть на другой системе.
Как альтернатива файлам запросов имеет некоторые преимущества:
- не требует деблокирования
- не требует вмешательства администатора системы и транспортной системы
- работает также и с локальными объектами
- прозрачность файла-контейнера – формат XML
- контейнер можно нормально класть в репозитарий (SVN) со всеми вытекающими
- контейнер дополняем
В качестве заморочек можно отметить, что движку неизвестны все типы объектов разработки. К основным единицам разработки сделаны “плагины”, а к остальным плагины пока никто не написал – к таким можно отнести например объекты авторизации, диапазоны номеров и другие мелочные штучки.
Ещё из заморочек можно упомянуть необходимость ручной активации всех перенесённых объектов.
Тем не менее — полезная штука.
Есть к ней и альтернатива ZAPLINK – что-то похожее, но со своими заморочками.
Шахматы – ZSAPChess
http://code.google.com/p/sapchess/
Реализованы шахматы как таковые. Игрок-против-компьютера, Игрок-против-игрока, три уровня сложности. Реально работает на голом ABAP-коде. Интерфейс пользователя построен на ABAP-списках. Работает достаточно удобно, однако самым нехорошим моментом являются слабые различия фигур. Вот кратенький скриншот:
Я уже нашел местечко в исходном коде, где можно исправлять внешний вид фигур в символьной части, а вот цветовая раскраска, вероятно, потребует большей вдумчивости. Я сначала попробовал воспользоваться псевдографикой, однако некоторые символы почему-то становятся толще стандартных моноширинных, и доска ползёт и коверкается.
На низком уровне сложности выигрывается теоретически на раз-два-три, но есть какие-то глюки, в результате которых меня выбрасывает в дамп во второй половине игры. Скорее всего, какие-то хитрости при смене очередности хода – там достаточно замудрёно сделано. Так что выиграть не удалось пока.
SAP-Commander
http://code.google.com/p/sapcommander/
Двух-панельный файловый интерфейс с базовой функциональностью – F5-F6-F7-F8.
Панели могут показывать как локальный компьютер, так и сервер приложений. Админам должно быть полезно – например, перегонять файлы запросов на удалённый сервер. Только вот опасная штука – обычным людям рулить на сервере приложений лучше не давать.
ZAKE
А это просто штука, которая позволяет работать с SVN-клиентом. Работает в паре с ZSAPLink.
В самом ABAP необходимости в SVN/CVS необходимости нет, потому что:
- Исходный код и прочие объекты репозитария уже централизованно хранятся на сервере, а не локально
- имеется версионный контроль
- имеется система переносов
А пригодиться это может в двух случаях:
- если ввязаться в какой-то проект на том же Google Code
- если есть несколько систем с большим перечнем общих разработок универсального характера – тут синхронизация через SVN поможет
Пока такой необходимости нет.
ABAP Report Wizard
http://code.google.com/p/abap-report-wizard/
Забавный генератор отчетов в виде мастера.
Основные шаги:
- С помощью визуального редактора добавляются таблицы и выстраиваются связи между ними
- Галочками отмечаются поля, которые необходимо вынести на селективный экран
- Галочками отмечаются поля, которые надо вынести на экран
В результате работы этого мастера в исходный код вставляется заготовка, которая работает практически без доработки напильником – выводит достаточно приличный ALV-отчет.
Заготовка содержит:
- Селективный экран
- Описание внутренней таблицы
- Выборку данных (select … inner join …)
- Подготовку и вывод ALV-grid
Ну а затем можно уже и напильником.
Впрочем, существуют и стандартные средства получения отчетов без программирования. Однако и в качестве примера тоже польза есть, например: реализация мастера, реализация вставки модели в исходный код, реализация редактора диаграммы.
Есть к нему ещё более специализированная штука (ABAP Join Wizard), которая только выдаёт заготовку сложной выборки – описание внутренней таблицы и соответствующий оператор select.
Вот такая забавная штука.