Видел несколько вариантов реализаций большой организации с филиалами:
- Несколько балансовых единиц
- Только одна балансовая единица и несколько бизнес-сфер
Я для себя дилемму решаю таким образом – разные юридические лица должны иметь разные БЕ.
против Энтропии
Видел несколько вариантов реализаций большой организации с филиалами:
Я для себя дилемму решаю таким образом – разные юридические лица должны иметь разные БЕ.
Если вы из программы на ABAP пытаетесь получить веб-контент через HTTP, то соединение будет производиться не с компьютера клиента, а с сервера приложений. В зависимости от конфигурации локальной сети вам может понадобиться пробираться через прокси-сервер (иначе потребуется прямая видимость сервера или NAT).
При оформлении HTTP запроса можно непосредственно указать прокси-сервер:
Однако здесь есть пара моментов. Во-первых: “прошитость” настройки в коде (не приветствуется), а во-вторых: нет авторизации.
Глобальную настройку HTTP-прокси можно обнаружить в транзакции SM59:
И там уже в появившемся окошечке можно указать не только сервер/порт, но также и логин/пароль для авторизации.
Если вы тут регулярно посматриваете, то могли заметить, что основная масса исходного кода показана скриншотами. Это не защита от копирования. Связано это с тем, что инструменты для публикации иногда очень вольно могут коверкать эти исходники (не только при подготовке публикации, но и потом — при редактировании).
Инструмент может и строки склеивать, и пробелы лидирующие для "лесенки" убирать, и цветовая разметка страдать — это всё требует подхода, имеет нюансы и даже требует владения HTML.
Много раз видел побитые таким образом исходники на ресурсах типа SDN и иже с ними. Очень расстраивает.
Скриншоты же делаются проще, и с ними почти ничего не происходит — и голова не болит. Если вдруг подберу удачный инструмент или подход — то ситуация изменится.
Если мы создаём контрагента(дебитора/кредитора) в системе, то к нему очень рекомендуется делать базовые проверки, для контроля.
Самая примитивная проверка – проверка на дублирование через уникальный налоговый номер (ИНН, РНН …). Обычно для этого используется поле типа STCD1.
Для реализации у нас есть в CMOD пара очень тривиальных расширений:
SAPMF02D — Программы пользователя: основные данные дебиторов
SAPMF02K — Программы пользователей: основные данные кредиторов
Вот примерный кусок кода (для кредиторов) который нужно вставить:
Надеюсь в этом коде даже объяснять ничего не надо…
Для дебиторов – почти то же самое, только имена полей/таблиц чуточку подправить…
Есть совершенно несекретный функциональный модуль SPELL_AMOUNT, который позволяет получить необходимую для печатных вещей “сумму прописью”:
Методом проб было найдено, что для рублей пишутся слова “ХХ копеек”, хотя для остальных валют подобного эффекта не наблюдается.
Стандартная кассовая книга хоть и хороша собой, однако имеет ряд нюансов:
Предположим, что у нас есть отчёт в виде Z-разработки.
Кэширование данных отчёта нам может пригодиться в нескольких случаях, например:
Для начала допустим, что:
Бороздя просторы своих подписок, наткнулся между делом на нечто. В чём суть этого бессмысленного и беспощадного ненормального приёма программирования:
Требуется выполнить деление двух целых чисел с точностью до четырёх знаков после запятой, но используя только оператор простой замены подстроки.
В качестве базового алгоритма использован Нормальный Алгоритм Маркова, который можно реализовать на любом языке программирования. Входные значения – унарные числа.
Обуреваемый скептицизмом, решил переложить на язык ABAP.
Реально работает!
Пример кода выложил отдельно в виде SLNK.
В редакторе кода есть кнопка “Структурная печать”.
По умолчанию она выправляет отступы в тексте, однако там есть ещё опция преобразования регистра. Если душа лежит к одному из этих подходов – вперёд и с песней.
Вот наблюдаем некоторый бардак:
А вот что стало после обработки:
В окне поиска есть галочка “Регулярные выражения”:
По регулярным выражениям можно учебники писать, однако краткая вводная информация доступна по пумпочке справа от искомого текста. Можете дополнительно полистать документацию, но не обязательно саповскую – регулярные выражения (Regular Expressions, RegExp, регэкспы) используются в огромном количестве других систем в разных вариациях.
Вот несколько примеров, которые обычным поиском просто не решаются:
Поиск всех слов, начинающихся на букву Z:
\<Z\w*\>
Поиск всех “слов” из трёх знаков:
\<…\>
Поиск строк – любых вариантов из списка (bsis, bsas, bsik, bsak, bsid, bsad):
bs[ia][dks]
В практике программирования бывает необходимость выделить несколько однородных карточек в особую группу. Счета главной книги для особого использования, группа контрагентов входящих в особый “холдинг”, список материалов-синонимов и так далее.
Хорошо, если такую группировку получается легко реализовать на базе самих карточек.
Один из универсальных подходов – применение наборов (используются в Report Writer). Здесь особо без разницы, какие именно карточки хотите сгруппировать – тип данных можно указать вручную.