SAP R/3 GUI под Linux (linux x gui java)
Ключевые слова: linux, x, gui, java, (найти похожие документы)
From: Ilya Kuznecov <kuznecov@blok-caf.ru>
Subject: SAP R/3 GUI под Linux
Оригинал: http://www.rootshell.be/~chumpa/sapgui-linux-howto/sapgui-linux-howto.html
SAP R/3 GUI for Linux HOWTO
Красноглазым линуксоидам посвящается ...
Ilya Kuznecov
$Revision: 1.1 $
Copyright © 2001, 2002
$Date: 2002/12/24 09:50:24 $
_________________________________________________________________
Содержание
Вступление
I. "Родной" sapgui
II. SAPGui for java
III. Postscript-печать по-русски
IV. SAPVim, или unix way productivity tools
A. Файлы окружения для sapgui-40B-2.i386.rpm
/usr/sap/bin/DEV
/usr/sap/DEV/SYS/profile/DEFAULT.PFL
/home/kuznecov/.SAPGR_kuznecov
/home/kuznecov/.SAPTkuznecovALT
B. SAPGui for Java
/usr/sap/bin/platingui
C. Adobe Glyph List для русской кодировки cp1251
D. PatchA -- заплатка для Abap lists
E. PatchB -- заплатка для SapScript
V. Планы на будущее и так далее
Вступление
Я описываю на собственном опыте использование линукса для работы с
клиентской частью SAP R/3. На серверной стороне SAP R/3 линукс
работает успешно и без нареканий (правда, не у меня -- мы используем
HP-UX). Однако приоритет для SAP AG в клиентской части -- windows, и
решения для линукс вызывают много вопросов у пользователей.
Цель -- помочь саперам-линуксоидам с настройками программ и решением
типичных проблем. Помимо sapgui также описываются настройки печати на
Postscript-принтеры с кириллическими символами.
Рассматриваемый системный ландшафт: система DEV, запущенная на сервере
sapr3.
В решении проблем по изложенным темам участвовали:
* Владимир Вязовцев -- прислал мне настройки для sapgui-40B-2, с
которым я поначалу возиться не хотел
* Антон Коваленко -- подсказал, как надо подправить postscript,
чтобы поставить в соответствие русским кодам afii-символы
* Иван Шмыков -- настраивал sapgui for java
* Александр из Карлсруэ -- прислал sapvim
"Родной" sapgui
Родной ты наш, motiff-ный клиент .. Как жаль, что твоя история
наполовину закончилась с 40B-2 .. Однако выкидывать я его не стал:
* Он лёгкий и быстрый
* Только он (под линуксом) умеет показывать предварительный просмотр
созданных формуляров (SAPScript)
Очень жаль, но пока я не сумел заставить его показывать SAPgraphic
(хотя /usr/sap/bin/gmupx запускается) и даже начинает что-то
показывать.
Итак, скачанный sapgui-40B-2.i386.rpm устанавливаем и начинаем
настраивать. У нас появился /usr/sap, в котором делаем нечто вроде
(часть файлов появится самостоятельно):
./DEV
./DEV/D00
./DEV/D00/work
./DEV/SYS
./DEV/SYS/exe
./DEV/SYS/exe/run
./DEV/SYS/global
./DEV/SYS/global/netscape
./DEV/SYS/profile
./DEV/SYS/profile/DEFAULT.PFL
./bin
./bin/DEV
./bin/gmupx
./bin/lgtst
./bin/sapgui
/usr/sap/DEV -- это каталог с параметрами системы DEV, /usr/bin/DEV --
запускаемый файл системы DEV. Настройте файлы так, как написано в
приложении, настройте iso8859-5 шрифты xfs -- и у вас должно
заработать (запускайте /usr/sap/bin/DEV).
SAPGui for java
Это новомодный "универсальный" gui. Он частично кроссплатформенный
(библиотеки и sapgraphic компилируются под линукс в виде .so),
достаточно капризный, достаточно усечённый, но будущее за ним.
Несмотря на то, что SAP AG рекомендует _для гуя_ IBM Java 2-13 и выше
(для Download Manager они, наоборот, требуют Sun JVM) -- в моих
условиях IBM'овские джавы глючили по-чёрному. И шрифты корёжат, и
фокус ввода теряют, и вдруг подвисают на несколько секунд.. В общем,
сейчас у меня j2se-1.4-blackdown (ветка Sun jvm), которой я вполне
доволен. Работает стабильно, и ладно.
Итак, вы установили jvm и PlatinGUI-Linux-620r8.jarПосле этого я
рекомендую создать файл /usr/sap/bin/platingui (см.приложение). Пути к
jvm и PlatinGUI указывайте в нём. Я рекомендую не модифицировать
/usr/sap/SAPGUI for Java/6.20rev8/bin/guilogon вообще ни капельки,
потому что уже имел печальный опыт -- после удаления строки "unset
LANG" часть элементов управления (TreeControl, например) перестала
работать. Я грешил на glibc, kernel, jvm, и т.д. (потому что как раз
переехал с ASPLinux где это прокатывало на ALM 2.2), а оказалось, что
саповские элементы управления завязаны на локаль причудливым образом.
Итак, запускайте /usr/sap/bin/platingui, он должен работать. Кириллица
в SAPGraphics у вас скорее всего не появится сразу, потому что шрифт
fixed отдаваемый xfs стоит не первым в списке (iso8859-1, а не
iso8859-5). Шаманьте настройками /etc/X11/fs/config, это весьма
безрадостное дело, но иного выхода пока нет. У меня появилась часть
надписей (которая шрифтом fixed), остальные -- нет (Courier).
Postscript-печать по-русски
Помимо тыканья в кнопочки и менюшечки надо и печатать. До прихода
линукса на мой десктоп мы пользовались только SAPlpd windows frontend
printer. Русская печать на постскрипт-принтеры не работала. Когда я
работал с НТ4, я ставил себе Acrobat PDF printer по умолчанию и
работал через него (физическая печать на бумагу из R/3 мне нужна редко
-- в основном, мне проще отлаживать формуляры и списки через файлы
изображений).
Для начала вы должны примерно представлять себе протоколы печати в
Unix-системах. Я сделал всё на lpr/lpd и cups системах печати.
Предварительно настройте печать без SAP R/3 и отладьте её (например, с
помощью ghostscript, gv, open office).
Создание типа устройства. Идём в /nSPAD, там включаем "полное
администрирование". Заходим в "типы устройств" и копируем определение
принтера POSTSCPT в ZPST1251 (вы должны скопировать и тип устройства,
и форматы, и операторы управления печатью). Затем проставьте набор
знаков 1504 в три поля ввода.
Создание принтеров. В той же транзакции SPAD заходим в "устройства
вывода". Здесь вам необходимо определиться, какой метод печати вы
будете использовать:
* L -- если принтер существует на сервере приложений, на котором
запущена система DEV
* F -- если принтер существует на presentation сервере (то есть на
вашем sapgui, с которого вы работаете).
Я рекомендую использовать оба эти механизма одновременно (или как
минимум -- L), потому что это удобнее отлаживать и проверять.
Настройка принтера с L-доступом. Здесь вам не обойтись без
администратора и, возможно, shell-доступа к серверу приложений. Как
это сделано на моём HP-UX 11:
% lpshut
% lpadmin -pkuw1 -v/dev/null -mrmodel -orm192.168.1.6 -orpfile
% lpadmin -php4050 -v/dev/null -mrmodel -orm192.168.1.6 -orphp4050
% touch /tmp/kuw3
% lpadmin -pkuw3 -v/tmp/kuw3 -mpostscript
% enable kuw1
% accept kuw1
% enable kuw3
% accept kuw3
% enable hp4050
% accept hp4050
% lpsched
(Всю премудрость по администрированию принтеров очень подробно описали
Эви Немет и товарищи в "UNIX administration handbook")
Данные команды создают 3 принтера:
* kuw1 (печатает на машину 192.168.1.6 на принтер file через
интерфейс rmodel)
* hp4050 (печатает на машину 192.168.1.6 на принтер hp4050 через
интерфейс rmodel)
* kuw3 (печатает в локальный файл /tmp/kuw2 через интерфейс
postscript)
Для чего так много? Исключительно для отладки. Содержимое /tmp/kuw3
помогло мне понять -- работает ли печать L-методом вообще и какое
содержимое postscript-файла выдаёт R/3.
Что касается остальных принтеров: на моей рабочей машине 192.168.1.6
подняты cups и cups-lpd, созданы 2 принтера: file (печатает в
локальный файл) и hp4050 (печатает на принтер). Печать на hp4050
окольным путём (через cups) необязательно, мне так проще управлять
настройками принтера и рулить очередью.
Теперь настраиваем со стороны SAP R/3: создаём те же принтеры, что и
на сервере приложений. А именно:
* принтер kuw1 (тип устройства ZPST1251, хост sapr3, принтер kuw1,
метод доступа L)
* принтер hp4050 (тип устройства ZPST1251, хост sapr3, принтер
hp4050, метод доступа L)
* принтер kuw3 (тип устройства ZPST1251, хост sapr3, принтер kuw3,
метод доступа L)
После этого можете пробовать выводить на печать abap lists (через
SE38, например) и sapscripts (через SE71 -> Утилиты -> Тестовая
печать). На этом этапе вы должны добиться печати содержимого (вместо
русских букв будут выводиться умляуты -- по-крайней мере, для версии
40B). Повторюсь, проще всего убедиться в этом для принтера kuw3
контролем файла /tmp/kuw3 и утилитой lpstat.
Заработало для kuw3 -- проверьте для ваших "локальных" принтеров kuw1
и hp4050. Начинаем разбираться с умляутами. В общем, проблема в том,
что SAP R/3 выводит нормальные восьмибитные русские символы (в нашем
случае -- в саповской кодировке 1504, что соответствует
microsoft-1251), но делает для них неправильные ссылки в шрифтах
SAPvector (abap lists) или SAPcodes (sapscript). Наиболее правильный
способ -- подправить шрифты для нашего типа устройства ZPST1251 (в
транзакции SE73). Я нашёл этот способ уже после решения проблемы
способом подмены определений символов. Итак, мы построим фильтр на
стороне сервера приложений DEV таким образом, чтобы заменять
определения шрифта. Я написал примитивный sh-скрипт /tmp/ps1251.sh:
#!/bin/sh
#$1 is filename of print task
echo $1 >>/tmp/print.list
/usr/bin/fgrep -q '/SAPvector' $1 >/dev/null 2>&1
if [ "$?" = "0" ]; then
/usr/bin/patch $1 /tmp/patchA >/dev/null 2>&1
/usr/bin/rm -f $1.orig
fi
/usr/bin/fgrep -q '/SAPcodes' $1 >/dev/null 2>&1
if [ "$?" = "0" ]; then
/usr/bin/patch $1 /tmp/patchB >/dev/null 2>&1
/usr/bin/rm -f $1.orig
fi
Принцип работы следующий: в /tmp/print.list попадают названия файлов
печати (удобно для отладки). Если в файле $1 есть строка '/SAPvector',
то мы предполагаем что это abap list и патчим его лекарством из
/tmp/patchA. Если этот постскрипт содержит '/SAPcodes' -- то патчим из
/tmp/patchB (смотри приложения). Исходным материалом служит Adobe
Glyph List, в котором прописано соответствие символов с кодами 128-255
кодировки cp1251 и картой символов postscript. Чтобы этот скрипт
/tmp/ps1251.sh был задействован сервером приложений, вы должны вызвать
его либо подправив пареметр rspo/host_spool/print выбранного профиля
для устройства вывода (уровень SAP R/3), либо напрямую в
скрипте-интерфейсе вывода принтера (уровень сервера приложений). Мне
было проще пойти вторым путём (поскольку в первом случае надо
перезапускать сервер R/3, что очень коряво в рабочее время). Итак, для
второго способа находим интерфейс принтера. В моём случае это файлы
/etc/lp/interface/{hp4050,kuw1,kuw3}. Для интерфейса rmodel (принтеры
hp4050 и kuw1) я вставил:
/tmp/ps1251.sh $1
перед командой
/usr/sbin/rlp -I$requestid $BSDC $BSDJ $BSDT $BSDi $BSD1 $BSD2
$BSD3 $BSD4 $BSDw $BSDformat $BSDh $1
Надеюсь, смысл понятен -- пропатчить постскриптовский код перед
отправкой его на удалённый принтер. Пробуем -- русские символы должны
появиться.
Второй способ печати (менее болезненный для сервера приложений и
вашего системного администратора) - вывод на печать F-способом (печать
на хосте внешнего интерфейса). Снова заходим в "типы устройств" и
создаём принтер FRPS (Frontend postscript), в котором указываем тип
устройства ZPST1251, принтер хоста file (saplpd для windows использует
имя __DEFAULT) и метод доступа "F". Печать умляутов должна работать.
Здесь по идее я должен был рассказать, как я заставил свой локальный
CUPS патчить умляуты, но -- мне это пока не удалось. Вносить изменения
в CUPS потруднее, чем в lpr/lpd. Можно написать System V interface
script и использовать его в lpadmin на линуксе (параметр -i в lpadmin
вместо ppd-определения), однако работающего решения я пока не добился
(некогда -- пока более насущно разобраться с sapgraphics). Если кто-то
решит эту проблему -- с благодарностью документирую для широкой
публики.
SAPVim, или unix way productivity tools
(Здесь я изложу настройки для vim/saprfc, чтобы вы могли работать с
abap sources из vim'a.)
Приложение A. Файлы окружения для sapgui-40B-2.i386.rpm
Содержание
/usr/sap/bin/DEV
/usr/sap/DEV/SYS/profile/DEFAULT.PFL
/home/kuznecov/.SAPGR_kuznecov
/home/kuznecov/.SAPTkuznecovALT
/usr/sap/bin/DEV
#!/bin/sh
export SAP_CODEPAGE=1500
export LANG=ru_RU.ISO8859-5
export LANGUAGE=ru_RU.ISO8859-5
export SAPSYSTEM=00
export SAPSYSTEMNAME=DEV
server=sapr3
port=3200
sapgui /H/$server/S/$port pf=/usr/sap/DEV/SYS/profile/DEFAULT.PFL
Что из этих переменных окружения лишнее -- решайте сами.
/usr/sap/DEV/SYS/profile/DEFAULT.PFL
SAPSYSTEMNAME=DEV
abap/locale_all/needed=ru_RU.ISO8859-5
abap/locale_ctype=ru_RU.ISO8859-5
saptemu/locale=ru_RU.ISO8859-5
saptemu/Codepage=1500
saptemu/CharSet=iso8859-5
saptemu/FixFontMask=c
saptemu/PropFontMask=p
saptemu/UseInputMethod=1
saptemu/GraphFont=fixed
gmux/font=fixed
graph/font=fixed
graph/lang=ru
dir/executables=/usr/sap/DEV/SYS/exe/run
rdisp/workdir=/usr/sap/DEV/D00/work
zcsa/installed_languages=ER
zcsa/system_language=R
zcsa/second_language=E
Здесь опять-таки часть лишнего. Смотрите в транзакции RZ10..RZ11 и
думайте, что из этого действительно необходимо. Файл отражает мои
эксперименты с настройками, но он рабочий.
/home/kuznecov/.SAPGR_kuznecov
GraphFont0: fixed;
GraphFont1: fixed;
GraphFont2: fixed;
GraphFont3: fixed;
GraphFont4: fixed;
GraphFont5: fixed;
GraphFont6: fixed;
Имя файла: .SAPGR_xxxxxxx, где xxxxx -- имя пользователя.
/home/kuznecov/.SAPTkuznecovALT
Norm 0 0 0
Prot 0 0 0
IntNorm 44632 0 0
IntProt 9887 19209 45197
MatchcodeBackground 44349 58191 65535
InputBackground 65535 65535 65535
InputIntensiveBg 61863 60450 47739
FieldBackColor 48586 49434 48021
MenuForeground 0 0 0
MenuBackground 40677 46891 47456
MessageBackground 65535 65535 65535
ToolbarForeground 0 0 0
ToolbarBackground 32203 45197 51694
Color1 43908 51117 57015
Color2 62258 62258 62258
Color3 65535 65535 45875
Color4 43908 54394 54394
Color5 49151 58982 39321
Color6 62258 36044 36044
Color7 58326 51117 60292
Color1Inv 0 0 65535
Color2Inv 30801 30801 30801
Color3Inv 65535 65535 0
Color4Inv 0 65535 65535
Color5Inv 0 65535 0
Color6Inv 65535 0 0
Color7Inv 65535 0 65365
Color1Int 32112 42589 53083
Color2Int 54394 54394 54394
Color3Int 65535 65535 32768
Color4Int 34734 50462 50462
Color5Int 39321 52428 26214
Color6Int 60948 24903 24248
Color7Int 50462 38666 53083
FocusBackground 65535 65535 65535
ButtonareaForeground 0 0 0
ButtonareaBackground 32203 45197 51694
TextFont: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-5
TextPropFont: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-5
MenuFont: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-5
ShowElapseTime: 0
AutoTab: 1
OnlyFixFonts: 0
ShowClient: 1
NewFrameLayout: 0
UseBigToolbarIcons: 0
UseBigButtonAreaIcons: 0
MaxDialogboxWidth: 1
AltAMenu: 1
Имя файла: .SAPTxxxxxxxYYY, где xxxxx -- имя пользователя, YYY --
XServerVendor. Известные мне системы поступают так:
* Мой ALT Master 2.2 XFree 4.2.1 "из коробки" -- ~/.SAPTkuznecovALT
* Мой предыдущий ASP Linux 7.2 XFree 4.1 "из коробки" --
~/.SAPTkuznecov
* Red Hat (версию системы и иксов не знаю) Виктора Вязовцева --
~/.SAPTroot
Приложение B. SAPGui for Java
Содержание
/usr/sap/bin/platingui
/usr/sap/bin/platingui
#!/bin/sh
cd '/usr/sap/SAPGUI for Java/6.20rev8/bin'
export SAP_CODEPAGE=1500
export SAPSYSTEM=00
export SAPSYSTEMNAME=DEV
server=sapr3
port=3200
PLATIN_JAVA=/usr/lib/j2se1.4-blackdown/jre/bin/java PLATIN_JAVA_VER=1.4 ./guilo
gon
Приложение C. Adobe Glyph List для русской кодировки cp1251
128 /afii10051
129 /afii10052
130 /quotesinglbase
131 /afii10100
132 /quotedblbase
133 /ellipsis
134 /dagger
135 /daggerdbl
136 /Euro
137 /perthousand
138 /afii10058
139 /guilsinglleft
140 /afii10059
141 /afii10061
142 /afii10060
143 /afii10145
144 /afii10099
145 /quoteleft
146 /quoteright
147 /quotedblleft
148 /quotedblright
149 /bullet
150 /endash
151 /emdash
152 /
153 /trademark
154 /afii10106
155 /guilsinglright
156 /afii10107
157 /afii10109
158 /afii10108
159 /afii10193
160 /space
161 /afii10062
162 /afii10110
163 /afii10057
164 /currency
165 /afii10050
166 /brokenbar
167 /section
168 /afii10023
169 /copyright
170 /afii10053
171 /guillemotleft
172 /logicalnot
173 /hyphen
174 /registered
175 /afii10056
176 /degree
177 /plusminus
178 /afii10055
179 /afii10103
180 /afii10098
181 /mu
182 /paragraph
183 /periodcentered
184 /afii10071
185 /afii61352
186 /afii10101
187 /guillemotright
188 /afii10105
189 /afii10054
190 /afii10102
191 /afii10104
192 /afii10017
193 /afii10018
194 /afii10019
195 /afii10020
196 /afii10021
197 /afii10022
198 /afii10024
199 /afii10025
200 /afii10026
201 /afii10027
202 /afii10028
203 /afii10029
204 /afii10030
205 /afii10031
206 /afii10032
207 /afii10033
208 /afii10034
209 /afii10035
210 /afii10036
211 /afii10037
212 /afii10038
213 /afii10039
214 /afii10040
215 /afii10041
216 /afii10042
217 /afii10043
218 /afii10044
219 /afii10045
220 /afii10046
221 /afii10047
222 /afii10048
223 /afii10049
224 /afii10065
225 /afii10066
226 /afii10067
227 /afii10068
228 /afii10069
229 /afii10070
230 /afii10072
231 /afii10073
232 /afii10074
233 /afii10075
234 /afii10076
235 /afii10077
236 /afii10078
237 /afii10079
238 /afii10080
239 /afii10081
240 /afii10082
241 /afii10083
242 /afii10084
243 /afii10085
244 /afii10086
245 /afii10087
246 /afii10088
247 /afii10089
248 /afii10090
249 /afii10091
250 /afii10092
251 /afii10093
252 /afii10094
253 /afii10095
254 /afii10096
255 /afii10097
Приложение D. PatchA -- заплатка для Abap lists
42,148c42,169
< 128 /grave
< 129 /acute
< 130 /circumflex
< 131 /tilde
< 132 /ogonek
< 133 /breve
< 134 /dotaccent
< 135 /dieresis
< 136 /ring
< 137 /cedilla
< 138 /hungarumlaut
< 139 /caron
< 161 /exclamdown
< 162 /cent
< 163 /sterling
< 164 /currency
< 165 /yen
< 166 /brokenbar
< 167 /section
< 168 /dieresis
< 169 /copyright
< 170 /ordfeminine
< 171 /guillemotleft
< 172 /logicalnot
< 173 /minus
< 174 /registered
< 175 /macron
< 176 /degree
< 177 /plusminus
< 178 /twosuperior
< 179 /threesuperior
< 180 /quotesingle
< 181 /mu
< 182 /paragraph
< 183 /periodcentered
< 184 /cedilla
< 185 /onesuperior
< 186 /ordmasculine
< 187 /guillemotright
< 188 /onequarter
< 189 /onehalf
< 190 /threequarters
< 191 /questiondown
< 192 /Agrave
< 193 /Aacute
< 194 /Acircumflex
< 195 /Atilde
< 196 /Adieresis
< 197 /Aring
< 198 /AE
< 199 /Ccedilla
< 200 /Egrave
< 201 /Eacute
< 202 /Ecircumflex
< 203 /Edieresis
< 204 /Igrave
< 205 /Iacute
< 206 /Icircumflex
< 207 /Idieresis
< 208 /Eth
< 209 /Ntilde
< 210 /Ograve
< 211 /Oacute
< 212 /Ocircumflex
< 213 /Otilde
< 214 /Odieresis
< 215 /multiply
< 216 /Oslash
< 217 /Ugrave
< 218 /Uacute
< 219 /Ucircumflex
< 220 /Udieresis
< 221 /Yacute
< 222 /Thorn
< 223 /germandbls
< 224 /agrave
< 225 /aacute
< 226 /acircumflex
< 227 /atilde
< 228 /adieresis
< 229 /aring
< 230 /ae
< 231 /ccedilla
< 232 /egrave
< 233 /eacute
< 234 /ecircumflex
< 235 /edieresis
< 236 /igrave
< 237 /iacute
< 238 /icircumflex
< 239 /idieresis
< 240 /eth
< 241 /ntilde
< 242 /ograve
< 243 /oacute
< 244 /ocircumflex
< 245 /otilde
< 246 /odieresis
< 247 /divide
< 248 /oslash
< 249 /ugrave
< 250 /uacute
< 251 /ucircumflex
< 252 /udieresis
< 253 /yacute
< 254 /thorn
< 255 /ydieresis
---
> 128 /afii10051
> 129 /afii10052
> 130 /quotesinglbase
> 131 /afii10100
> 132 /quotedblbase
> 133 /ellipsis
> 134 /dagger
> 135 /daggerdbl
> 136 /Euro
> 137 /perthousand
> 138 /afii10058
> 139 /guilsinglleft
> 140 /afii10059
> 141 /afii10061
> 142 /afii10060
> 143 /afii10145
> 144 /afii10099
> 145 /quoteleft
> 146 /quoteright
> 147 /quotedblleft
> 148 /quotedblright
> 149 /bullet
> 150 /endash
> 151 /emdash
> 152 /
> 153 /trademark
> 154 /afii10106
> 155 /guilsinglright
> 156 /afii10107
> 157 /afii10109
> 158 /afii10108
> 159 /afii10193
> 160 /space
> 161 /afii10062
> 162 /afii10110
> 163 /afii10057
> 164 /currency
> 165 /afii10050
> 166 /brokenbar
> 167 /section
> 168 /afii10023
> 169 /copyright
> 170 /afii10053
> 171 /guillemotleft
> 172 /logicalnot
> 173 /hyphen
> 174 /registered
> 175 /afii10056
> 176 /degree
> 177 /plusminus
> 178 /afii10055
> 179 /afii10103
> 180 /afii10098
> 181 /mu
> 182 /paragraph
> 183 /periodcentered
> 184 /afii10071
> 185 /afii61352
> 186 /afii10101
> 187 /guillemotright
> 188 /afii10105
> 189 /afii10054
> 190 /afii10102
> 191 /afii10104
> 192 /afii10017
> 193 /afii10018
> 194 /afii10019
> 195 /afii10020
> 196 /afii10021
> 197 /afii10022
> 198 /afii10024
> 199 /afii10025
> 200 /afii10026
> 201 /afii10027
> 202 /afii10028
> 203 /afii10029
> 204 /afii10030
> 205 /afii10031
> 206 /afii10032
> 207 /afii10033
> 208 /afii10034
> 209 /afii10035
> 210 /afii10036
> 211 /afii10037
> 212 /afii10038
> 213 /afii10039
> 214 /afii10040
> 215 /afii10041
> 216 /afii10042
> 217 /afii10043
> 218 /afii10044
> 219 /afii10045
> 220 /afii10046
> 221 /afii10047
> 222 /afii10048
> 223 /afii10049
> 224 /afii10065
> 225 /afii10066
> 226 /afii10067
> 227 /afii10068
> 228 /afii10069
> 229 /afii10070
> 230 /afii10072
> 231 /afii10073
> 232 /afii10074
> 233 /afii10075
> 234 /afii10076
> 235 /afii10077
> 236 /afii10078
> 237 /afii10079
> 238 /afii10080
> 239 /afii10081
> 240 /afii10082
> 241 /afii10083
> 242 /afii10084
> 243 /afii10085
> 244 /afii10086
> 245 /afii10087
> 246 /afii10088
> 247 /afii10089
> 248 /afii10090
> 249 /afii10091
> 250 /afii10092
> 251 /afii10093
> 252 /afii10094
> 253 /afii10095
> 254 /afii10096
> 255 /afii10097
Смещения (см. первую строку патча) действительны для моих условий. В
случае несоответствий вы должны самостоятельно получить патч
последовательностью действий:
# имеем постскрипт в файле /tmp/kuw3.
# копируем /tmp/kuw3 в /tmp/kuw3.new
% diff /tmp/kuw3 /tmp/kuw3.new > /tmp/patchA
Приложение E. PatchB -- заплатка для SapScript
79,176c79,207
< 16#80 /grave 16#81 /acute 16#82 /circumflex 16#83 /tilde
< 16#84 /ogonek 16#85 /breve 16#86 /dotaccent 16#87 /dieresis
< 16#88 /ring 16#89 /cedilla 16#8A /hungarumlaut 16#8B /caron
< 16#A1 /exclamdown
< 16#A2 /cent
< 16#A3 /sterling
< 16#A4 /currency
< 16#A5 /yen
< 16#A6 /brokenbar
< 16#A7 /section
< 16#A8 /dieresis
< 16#A9 /copyright
< 16#AA /ordfeminine
< 16#AB /guillemotleft
< 16#AC /logicalnot
< 16#AD /minus
< 16#AE /registered
< 16#AF /macron
< 16#B0 /degree
< 16#B1 /plusminus
< 16#B2 /twosuperior
< 16#B3 /threesuperior
< 16#B4 /quotesingle
< 16#B5 /mu
< 16#B6 /paragraph
< 16#B7 /periodcentered
< 16#B8 /cedilla
< 16#B9 /onesuperior
< 16#BA /ordmasculine
< 16#BB /guillemotright
< 16#BC /onequarter
< 16#BD /onehalf
< 16#BE /threequarters
< 16#BF /questiondown
< 16#C0 /Agrave
< 16#C1 /Aacute
< 16#C2 /Acircumflex
< 16#C3 /Atilde
< 16#C4 /Adieresis
< 16#C5 /Aring
< 16#C6 /AE
< 16#C7 /Ccedilla
< 16#C8 /Egrave
< 16#C9 /Eacute
< 16#CA /Ecircumflex
< 16#CB /Edieresis
< 16#CC /Igrave
< 16#CD /Iacute
< 16#CE /Icircumflex
< 16#CF /Idieresis
< 16#D0 /Eth
< 16#D1 /Ntilde
< 16#D2 /Ograve
< 16#D3 /Oacute
< 16#D4 /Ocircumflex
< 16#D5 /Otilde
< 16#D6 /Odieresis
< 16#D7 /multiply
< 16#D8 /Oslash
< 16#D9 /Ugrave
< 16#DA /Uacute
< 16#DB /Ucircumflex
< 16#DC /Udieresis
< 16#DD /Yacute
< 16#DE /Thorn
< 16#DF /germandbls
< 16#E0 /agrave
< 16#E1 /aacute
< 16#E2 /acircumflex
< 16#E3 /atilde
< 16#E4 /adieresis
< 16#E5 /aring
< 16#E6 /ae
< 16#E7 /ccedilla
< 16#E8 /egrave
< 16#E9 /eacute
< 16#EA /ecircumflex
< 16#EB /edieresis
< 16#EC /igrave
< 16#ED /iacute
< 16#EE /icircumflex
< 16#EF /idieresis
< 16#F0 /eth
< 16#F1 /ntilde
< 16#F2 /ograve
< 16#F3 /oacute
< 16#F4 /ocircumflex
< 16#F5 /otilde
< 16#F6 /odieresis
< 16#F7 /divide
< 16#F8 /oslash
< 16#F9 /ugrave
< 16#FA /uacute
< 16#FB /ucircumflex
< 16#FC /udieresis
< 16#FD /yacute
< 16#FE /thorn
< 16#FF /ydieresis
---
> 128 /afii10051
> 129 /afii10052
> 130 /quotesinglbase
> 131 /afii10100
> 132 /quotedblbase
> 133 /ellipsis
> 134 /dagger
> 135 /daggerdbl
> 136 /Euro
> 137 /perthousand
> 138 /afii10058
> 139 /guilsinglleft
> 140 /afii10059
> 141 /afii10061
> 142 /afii10060
> 143 /afii10145
> 144 /afii10099
> 145 /quoteleft
> 146 /quoteright
> 147 /quotedblleft
> 148 /quotedblright
> 149 /bullet
> 150 /endash
> 151 /emdash
> 152 /
> 153 /trademark
> 154 /afii10106
> 155 /guilsinglright
> 156 /afii10107
> 157 /afii10109
> 158 /afii10108
> 159 /afii10193
> 160 /space
> 161 /afii10062
> 162 /afii10110
> 163 /afii10057
> 164 /currency
> 165 /afii10050
> 166 /brokenbar
> 167 /section
> 168 /afii10023
> 169 /copyright
> 170 /afii10053
> 171 /guillemotleft
> 172 /logicalnot
> 173 /hyphen
> 174 /registered
> 175 /afii10056
> 176 /degree
> 177 /plusminus
> 178 /afii10055
> 179 /afii10103
> 180 /afii10098
> 181 /mu
> 182 /paragraph
> 183 /periodcentered
> 184 /afii10071
> 185 /afii61352
> 186 /afii10101
> 187 /guillemotright
> 188 /afii10105
> 189 /afii10054
> 190 /afii10102
> 191 /afii10104
> 192 /afii10017
> 193 /afii10018
> 194 /afii10019
> 195 /afii10020
> 196 /afii10021
> 197 /afii10022
> 198 /afii10024
> 199 /afii10025
> 200 /afii10026
> 201 /afii10027
> 202 /afii10028
> 203 /afii10029
> 204 /afii10030
> 205 /afii10031
> 206 /afii10032
> 207 /afii10033
> 208 /afii10034
> 209 /afii10035
> 210 /afii10036
> 211 /afii10037
> 212 /afii10038
> 213 /afii10039
> 214 /afii10040
> 215 /afii10041
> 216 /afii10042
> 217 /afii10043
> 218 /afii10044
> 219 /afii10045
> 220 /afii10046
> 221 /afii10047
> 222 /afii10048
> 223 /afii10049
> 224 /afii10065
> 225 /afii10066
> 226 /afii10067
> 227 /afii10068
> 228 /afii10069
> 229 /afii10070
> 230 /afii10072
> 231 /afii10073
> 232 /afii10074
> 233 /afii10075
> 234 /afii10076
> 235 /afii10077
> 236 /afii10078
> 237 /afii10079
> 238 /afii10080
> 239 /afii10081
> 240 /afii10082
> 241 /afii10083
> 242 /afii10084
> 243 /afii10085
> 244 /afii10086
> 245 /afii10087
> 246 /afii10088
> 247 /afii10089
> 248 /afii10090
> 249 /afii10091
> 250 /afii10092
> 251 /afii10093
> 252 /afii10094
> 253 /afii10095
> 254 /afii10096
> 255 /afii10097
>
Смотри примечание к предыдущему приложению
Планы на будущее и так далее
Нерешённые проблемы
1. Работа с sapgraphic из-под sapgui for java по-русски
2. Патч для постскрипта на уровне cups
3. Безпатчевый вывод русского посткрипта (правильные AFM в транзакции
SE73)
Также заслуживают интереса вопросы: saprfc-модуль для php4, sap2cups
by Axel Schwarzer, может что-то ещё. Пишите на kuznecov@blok-caf.ru
или в fido7.ru.sap-r3 -- обсудим.
1, chumpa (?), 10:00, 19/05/2003 [ответить]
| +/– |
2модератор:
просьба убрать ключевое слово freebsd и добавить linux. Собственно для freebsd я ничего не писал. | |
|