Видел несколько вариантов реализаций большой организации с филиалами:
- Несколько балансовых единиц
- Только одна балансовая единица и несколько бизнес-сфер
Я для себя дилемму решаю таким образом – разные юридические лица должны иметь разные БЕ.
против Энтропии
Видел несколько вариантов реализаций большой организации с филиалами:
Я для себя дилемму решаю таким образом – разные юридические лица должны иметь разные БЕ.
Если вы из программы на ABAP пытаетесь получить веб-контент через HTTP, то соединение будет производиться не с компьютера клиента, а с сервера приложений. В зависимости от конфигурации локальной сети вам может понадобиться пробираться через прокси-сервер (иначе потребуется прямая видимость сервера или NAT).
При оформлении HTTP запроса можно непосредственно указать прокси-сервер:
Однако здесь есть пара моментов. Во-первых: “прошитость” настройки в коде (не приветствуется), а во-вторых: нет авторизации.
Глобальную настройку HTTP-прокси можно обнаружить в транзакции SM59:
И там уже в появившемся окошечке можно указать не только сервер/порт, но также и логин/пароль для авторизации.
Если вы тут регулярно посматриваете, то могли заметить, что основная масса исходного кода показана скриншотами. Это не защита от копирования. Связано это с тем, что инструменты для публикации иногда очень вольно могут коверкать эти исходники (не только при подготовке публикации, но и потом — при редактировании).
Инструмент может и строки склеивать, и пробелы лидирующие для "лесенки" убирать, и цветовая разметка страдать — это всё требует подхода, имеет нюансы и даже требует владения HTML.
Много раз видел побитые таким образом исходники на ресурсах типа SDN и иже с ними. Очень расстраивает.
Скриншоты же делаются проще, и с ними почти ничего не происходит — и голова не болит. Если вдруг подберу удачный инструмент или подход — то ситуация изменится.
Если мы создаём контрагента(дебитора/кредитора) в системе, то к нему очень рекомендуется делать базовые проверки, для контроля.
Самая примитивная проверка – проверка на дублирование через уникальный налоговый номер (ИНН, РНН …). Обычно для этого используется поле типа STCD1.
Для реализации у нас есть в CMOD пара очень тривиальных расширений:
SAPMF02D — Программы пользователя: основные данные дебиторов
SAPMF02K — Программы пользователей: основные данные кредиторов
Вот примерный кусок кода (для кредиторов) который нужно вставить:
Надеюсь в этом коде даже объяснять ничего не надо…
Для дебиторов – почти то же самое, только имена полей/таблиц чуточку подправить…
Сложилась такая ситуация: сотруднику в командировке понадобилось получить большой объём данных, и чем раньше – тем лучше.
Дано: объём данных 10гб. Входящий канал – 200к, есть некоторые ограничения. В офисе исходящий канал 50к, ограничений нет. На крайний случай есть домашний канал – 100к исходящего канала.
Решение первое: порезать по частям и заливать на бесплатные файлопомойки.
Во-первых, пока не зальёшь полностью кусок, скачать нельзя.
Во-вторых – не безопасно, без докачки, таймауты.
В-третьих, для меньшей ручной работы и постоянного мониторинга требуется дополнительный софт.
Решение второе: порезать по частям и поднять файлы на локальном http/ftp сервере.
Если необходимо разделить файлы на два исходящих канала – требуются дополнительные движения извилин и мониторинг.
Для надёжности требуется контроль целостности. Если контроль не сошёлся – требуется перекачивать весь том. Если в архиве большой файл размазан на несколько томов, то проверка целостности может потребовать все тома. Требуется работа мозга или рук для правильной нарезки и выверки. Контролировать нумерованные тома легче, чем отдельные файлы – но это не значит что их не надо контролировать вообще.
Решение третье: торрента и p2p-соединения.
1. На исходящем канале поднимается торрента (в виде мю-торрента, легковесного клиента).
2. В мю-торренте подбирается исходящий порт, видимый для клиента. В случае ограничения можно выбрать “полезные” порты: 80, 8080, 443 и подобные. Если требуется, порт необходимо открыть(прокинуть) на мопеде через “порт-форвардинг”. Порт тестируется (получателем) через браузер до достижения успешного результата в виде “инвалид реквест”.
3. В качестве вспомогательного инструмента можно воспользоваться сервисом типа динднс, это безусловно полезно если провайдер интернета даёт динамический айпи-адрес. Да и вообще динднс в хозяйстве может пригодиться.
4. Создаётся торрент-файл для целевой папки. Треккер в него прописывать не надо (впрочем можно копнуть сюда). Добавляем веб-сиды для “раздающих”.
5. Торрент-файл отправляем (по почте) получателю и подкладываем в мю-торрент, перехешируем и запускаем.
6. На входящем канале получатель также ставит мю-торренту и добавляет торрент файл. Сразу всё может и не зафырчит, следует вручную добавить раздающего на закладке Пиры. Требуется указать его в виде ip-адрес:порт (см пункты 2 и 3).
7. Затем с файлами и торрент-файлом перемещаемся к домашней точке раздачи. Пробегаемся по пунктам 1-2-3-5.
Результат – достигается суммарная исходящая скорость 50к+100к, нет особой возни с балансировкой, томами и файлами, контроль целостности достигается микроблоками и легко исправляется. Архивация не требуется в целях контроля целостности, только для сжатия данных. Папка с тучей файлов или один большой файл – также особого значения не имеет.
Другие решения: например, можно попробовать работать через файлосинхронизационные сервисы совместно с хранилищами – хостинг, лайв, гугл, дропбокс и так далее по списку.
Есть совершенно несекретный функциональный модуль SPELL_AMOUNT, который позволяет получить необходимую для печатных вещей “сумму прописью”:
Методом проб было найдено, что для рублей пишутся слова “ХХ копеек”, хотя для остальных валют подобного эффекта не наблюдается.
Стандартная кассовая книга хоть и хороша собой, однако имеет ряд нюансов:
Предположим, что у нас есть отчёт в виде Z-разработки.
Кэширование данных отчёта нам может пригодиться в нескольких случаях, например:
Для начала допустим, что:
Переслушиваю читанный давно роман. Пелевин. Чапаев и Пустота.
– А вот скажите, – заговорил он, – чего хочет человек, вернувшийся домой из опасного путешествия, после того как утолит жажду и голод?
– Не знаю, – сказал Сердюк. – У нас обычно телевизор включают.
– Не-е-е, – сказал Кавабата. – Мы в Японии производим лучшие телевизоры в мире, но это не мешает нам осознавать, что телевизор – это просто маленькое прозрачное окошко в трубе духовного мусоропровода. Я не имел в виду тех несчастных, которые всю жизнь загипнотизированно смотрят на бесконечный поток помоев, ощущая себя живыми только тогда, когда узнают банку от знакомых консервов. Речь идет о тех людях, которые достойны упоминания в нашей беседе.
– Так как же ты, Петька, дошел до такой жизни, что спрашиваешь меня, своего боевого командира, всегда ли то, что происходит у тебя в голове, – это то, что происходит у тебя в голове, или не всегда?
Он взял со стола две луковицы и принялся молча чистить их. Одну он ободрал до белизны, а со второй снял только верхний слой шелухи, обнажив красно-фиолетовую кожицу.
– Гляди, Петька, – сказал он, кладя их на стол перед собой. – Вот перед тобой две луковицы. Одна белая, а другая красная.
Александр Скляр в качестве чтеца — силён, бесспорно.
Бороздя просторы своих подписок, наткнулся между делом на нечто. В чём суть этого бессмысленного и беспощадного ненормального приёма программирования:
Требуется выполнить деление двух целых чисел с точностью до четырёх знаков после запятой, но используя только оператор простой замены подстроки.
В качестве базового алгоритма использован Нормальный Алгоритм Маркова, который можно реализовать на любом языке программирования. Входные значения – унарные числа.
Обуреваемый скептицизмом, решил переложить на язык ABAP.
Реально работает!
Пример кода выложил отдельно в виде SLNK.