| # Определение настроек преобразования (ecedi5111s000) Используйте этот сеанс чтобы записи полей, порядка и опций для преобразования входящих сообщений. Примечание Этот сеанс защищен, поэтому он не выполняется совместно с другими задействованными сеансами. Связанные темы Использование настроек преобразования (определения) Организация Код, обозначающий набор стандартов (таких как ANSI X12, UN/EDIFACT, и VDA), используемых в EDI коммуникации. EDI-сообщение Входящие и/или исходящие сообщения, поддерживаемые данным приложением. Эти сообщения могут быть активными (т.е. действительно используемыми в компании) или не активными. Связанные темы Использование поддерживаемых EDI-сообщений Направление Направление EDI-сообщения. Тип поля Формат ASCII-файлов. Примечание Настройки преобразования можно создать для файлов, в которых поля разделены «разделителями» полей, или имеют фиксированную длину. Настройка преобразования Код, подтверждающий настройку преобразования. Назначение Назначение поля во входящем сообщении, как определено в Установочные параметры преобразования (взаимосвязи) (ecedi5112m000) сеансе. Поле Название поля, например, tdsls400.ofbp. Порядков. номер Порядковый номер поля. Такое же поле может встретиться неоднократно. Если поле встретилось только один раз во время настроек преобразования, то для него можно установить 0 или 1. Если поле встречается неоднократно при настройке преобразования, то можно выставить больший порядковый номер, увеличивая его на единицу для каждого поля во время настройки преобразования. Порядк.но.обработки Порядок обработки полей. Уров. Уровень, определенный в Установочные параметры преобразования (взаимосвязи) (ecedi5112m000) сеансе. Начальн.позиция Место поля в списке Примечание Если поле «Тип поля» в Сети (ecedi0120s000) сеансе имеет фиксированную длину, то курсор должен быть установлен в начале поля. Если поле «Тип поля» в Сети (ecedi0120s000) сеансе с разделителями, то нужно ввести номер поля, начиная с 1. Элемент Элемент индекса для поля индекса или начальное положение в строке для переменных Пример поля индекса В случае со строкой переменных, начальное положение в строке может указываться. Это поле, в комбинации с полем длины, позволяет указать часть строки (например, строка "ABCDEFGHIJKLMNOP» со значением 3 и длиной 5 произведет следующий результат: "CDEFG").
Поле tdsls400.disc (стандартная глубина = 5 уровней)
Уров. | 1 | 10
| 2 | 15
| 3 | 8
| 4 | 5
| 5 | 7
Значение 0 выдает все поле: 010015008005007. Эта опция используется только для внутренней коммуникации. Значения 1 и 3 дают отлько следующие элементы: 010 и 008. эти данные означают, что поле может также использоваться для внешней коммуникации. Высота бум. Длина поля. Читать след.запись Если этот флаг установлен, то новая запись будет прочитана на этом уровне для входящих сообщений, а новая запись таблицы, которая сделана в поле, будет читаться для исходящих сообщений. Если этот флаг сброшен, то новые записи не будут читаться, а текущие записи останутся активными. Примечание Это поле показывает, должна ли читаться новая запись для обработки содержимого поля. На основе значения этого поля можно определить, когда новая строка готова для чтения из того же файла. Итерац.уровень Порядковый номер показывает, куда должен двигаться курсор после обработки поля. Это поле используется только, если эта запись предназначена для последнего поля итеративного уровня или для последнего поля настроек преобразования. Пример Например: Вы хотите ввести текстовое поле , которое содержит данные из файла ASCII в заголовок заказа, который выполняется итеративно. Как только последнее текстовое поле заполнено, курсор возвращается в поле с порядковым номером 3, используя порядковый номер поля. Ключ и три текстовых поля включены в каждую строку уровня 2.
Поле | Уров. | Порядковый номер | Итеративный уровень
№ заказа | 1 | 1 |
Ссылка | 1 | 2 |
Текстовое поле | 2 | 3 |
Текстовое поле | 2 | 4 |
Текстовое поле | 2 | 5 | 3
Неправильный ключ Порядковый номер, показывающий, куда должен двигаться курсор, если ключ не действительный или изменяется. Это поле заполняется только, если в «Новая запись» указано «Да». Пример 1 - итеративная обработка После обработки всех текстовых полей читается номер клиента Уровень 2 - итеративный.
Поле | Уров. | Последовательность в | Назад | Назад | Нов.
Итер. | Запись ключа |  |  |  |
№ заказа | 1 | 1 |  |  |
Ссылка | 1 | 2 |  |  |
Текстовое поле | 2 | 3 |  | 6 | Да
Текстовое поле | 2 | 4 |  |  |
Текстовое поле | 2 | 5 | 3 |  |
Клиент | 1 | 6 |  |  |
Пример 2 - последовательная обработка После заполнения всех строк заказа (уровень 2), можно вводить новый заказ (уровень 1).
Поле | Уров. | Последовательность в | Назад | Назад | Нов.
Итер. | Запись ключа |  |  |  |
№ заказа | 1 | 1 |  |  | Да
Ссылка | 1 | 2 |  |  |
Клиент | 1 | 3 |  |  |
Изделие | 2 | 4 |  | 1 | Да
Кол-во | 2 | 5 |  |  |
Дата доставки | 2 | 6 | 4 |  |
Сделать запись Если этот флаг установлен, запись должна быть добавлена в соответствующую таблицу после того, как поле для входящего сообщения будет обработано, и зависит от резултата выданного выражения. Назначение поля (верхнее, заголовок или строка) определяет таблицу, в которой сохраняются сообщения. Пример 1
Поле | Назначение | Запись
№ заказа | заголовок |
Ссылка | заголовок |
Клиент | заголовок | Да
Изделие | строка |
Кол-во | строка |
Дата доставки | строка | Да
Поля, обработанные после команды с одинаковым назначением, не добавляются в соответствующую таблицу. Нельзя записать несколько команд для одной записи (напр., строка заказа) Согласно иерархии адресов, LN проверяет, записаны ли все приоритетные адреса. Если приоритетный адрес не записан, то соответствующие адреса записываются перед определенным записанным адресом. Иерархия - это: Верхняя строка Заголовок Строка Пример 2
Поле | Назначение | Запись
№ заказа | заголовок |
Ссылка | заголовок |
Клиент | заголовок |
Изделие | строка |
Кол-во | строка |
Дата доставки | строка | Да
Так как заголовок еще не записан, то сначала пишется заголовок, за которым идет строка. Если отсутствует верхняя строка, то строка записывается пред верхней строкой. Оценка Код .оценочного выражения. Это выражение определяет, будет ли поле включено в сообщение. Это логическое выражение, и оно приводится к результату «верный» или «ложный». Значение по умолчанию для этого поля - 1, верно. Выражение выполняется до размещения поля в сообщении. Другими словами, всегда выполняется соответствующее чтение и запись команд. Фактически, выражение - это уравнение. Например, для поля «Склад» в заказе на покупку выражение может быть «strip((tdpur400.cwar) <> "»» Это выражение верно, если поле «склад» не заполнено. В выражении могут использоваться следующие знаки операций: Следующим показаны знаки в порядке приоритета: () - (обратный знак) * / \ & + - (складывать - вычитать) = > < <> <= >= НЕТ И ИЛИ ?: Выражение может содержать следующие постоянные:
PI | 3,1415926535..
TRUE | Всегда верно.
FALSE | Всегда ложно.
Выражение может содержать следующие постоянные: Могут также использоваться числовые значения: a IN [10,20] is equal to.a>=20 AND a<=30 a IN [10,20][30,40][50,60] is equal to a>=10 AND a<=20 OR a>=30 AND a<=40 OR a>=50 AND a<=60 Арифметические примеры
() | скобки (приоритет) |
- | перемена знака (требуется переменная) | a=-b
* | умножение | 3*5=15
/ | деление | 6/2=3
\ | остаток после деления | 8\3=2
& | знаки связи | "A"&"B"="AB"
+ | сложение | 2+3=5
- | вычитание | 3-2=1
Примеры отношений (сравнение)
= или EQ | равно | 3=5 - ложно
<> или NE | не равно . | 3<>5 - верно
> или GT | больше чем | 3>5 - ложно
< или LT | меньше чем | 3<5 - верно
>= или GE | больше чем или равно | 3>=5 - ложно
<= или LE | больше чем или равно | 3<=5 - верно
Пример логики
И | и (оба верные) | a=b И b=c
ИЛИ | или (один из двух верный) | a=b ИЛИ a=c
НЕТ | нет (неверно) | НЕТ (a=b И b=c)
Прочие: условие?верно:ложно если <условие> верно, то <верно> выполняется, в противном случае <ложно> (всегда ставьте скобки вокруг <условие>, потому что оно имеет самый низкий приоритет) Функций
abs(N) | Производит абсолютное значение N
acos(N) | Производит угол (в радиалах), в котором N - косинус.
asc(S) | Производит общее значение знаков ASCII в S, asc("ABC")=65+66+67=198
asin(N) | Производит угол (в радиалах), в котором N - синус.
atan(N) | Производит угол (в радиалах), в котором N - тангенс.
chr(N) | Производит знаки, в которых N является значением ASCII, знак (65)="A"
cos(N) | Производит косинус угла N (в радиалах).
cosh(N) | Производит гиперболический косинус угла N (в радиалах).
дата() | Производит текущую дату
дата (Г.М.Д) | Производит дату в формате: Д., М. и Г.
exp(N) | Производит 2.718128.. в степени N
int(N) | Производит целое число N (округленное в меньшую сторону)
len(S) | Производит число знаков в S, len("ABC")=3.
log(N) | Производит натуральный логарифм N
log10(N) | Производит 10-значный логарифм N
max(N,M) | Производит большее значение для N или М.
min(N,M) | Производит меньшее значение для N или М.
pos(S,T) | Производит первую позицию, где T входит в S, pos("ABCDEFEF","EF")=5.
pow(N,M) | Производит N в степени M.
округленный(N,D,M) | Производит значение N, округленным до D десятичных знаков. Если M=0, , то N округляется в меньшую сторону, округление(1.99,2,0)=1.00. Если M=1, то N , округляется как обычно, округление (1.49,2,1)=1.00 и округление (1.50,2,1)=2.00. Если M=2, то N округляется в большую сторону, округление (1.01,2,2)=2.00.
rpos(S,T) | Производит последнюю позицию, где T входит в S, посл. позиция ("ABCDEFEF,"EF")=7.
sin(N) | Производит синус угла N (в радиалах).
sinh(N) | Производит гиперболический синус угла N (в радиалах).
sqrt(N) | Производит неотрицательный квадратный корень из N.
str(N) | Созданет строку N, стрк. (1,04)="1,04"
strip(S) | Возвраращает S без последующих пробелов.
tan(N) | Производит тангес угла N (в радиалах).
tanh(N) | Производит гиперболический тангес угла N (в радиалах).
время() | Производит текущее время в формате ЧЧММ.
знач.(S) | Производит числовое значение S, val("1.04")=1.04.
Назначение Код назначенного выражения. Результат выражения записывается в ASCII-файл (исходящие сообщения), которое обновляется в LN приложении (входящие сообщения). Например, если вы хотите ввести Запланир.дата поставки в значение за два дня до Запл.дата поступл., вы можете присвоить следующее назначенное выражение для Запланир.дата поставки Поле: tdsls400.prdt - 172800. Примечание Дни должны записываться в секундах, потому что дни обрабатываются в программе как данные в формате UTC. Например, 172800 обозначает два дня. Любое поле таблицы, соотнесенное с назначенным выражением, должно быть обрботано раньше поля, для которого предназначено назначенное выражение. Поле, на которое есть ссылка в назначенном выражении, должно иметь меньший номер в очереди обработки, , как определено в настройках преобразования. Как в предыдущем примере, поле «tdsls400.prdt» должно иметь меньший номер в очереди обработки, чем поле «tdsls400.ddat» , как определено в настройках преобразования. Конвертировать Если этот флаг установлен, то используется соответствующая таблица для преобразования поля. Если этот флаг сброшен, то код подбирается из соответствующих кодов в LN и не требует преобразования. Примечание Любое поле, включаемое во входящее сообщение, может быть преобразованно. Если этот флаг не установлен, то код в сообщении отождествляется с одним из. LN и не требует преобразования. Действие по ош.в преобраз. Действие будет применяться только в случае ошибки во входящих сообщений. Примечание Выбранное значение должно поддерживаться сеансом обработки. Код таблицы Код, который вы хотите включить в сообщение. Например, вы хотите ввести код в текстовое поле. Эта таблица содержит код А и описание начисления. Текстовое поле прочитает «Описание: начисление». Если код не найден,то текстовое поле будет содержать код вместо описания Примечание Эта поле доступно, только если запись предназначена для текстового поля. Описание поля Если поле является текстовым, то введите желаемую текстовую строку, которая должна появиться до фактического содержимого в текстовом поле. Например, если вы введете «Описание» в это поле, а его содержание «Клапан дизельного двигателя», то конечный текст будет читаться как «Описание: Клапан дизельного двигателя». Поле действия Как будут обрабатываться поля входящих сообщений. Знач.при пустом поле Значение, которое будет использовано для замены пустого поля в EDI-сообщении. Старт.позиция классиф. Начальное положение первого квалификатора. Некоторые коды приобразований в ERP EDI требуют ИД кода. ИД кодов - это квалификаторы, используемые в преобразовании кодов, которые позволяют вам преобразовывать дополнительные спецификации данных и передаются первой позиции квалификатора определений настройки преобразования. Примечание Если поле «Тип поля» в Сети (ecedi0120s000) сеансе имеет фиксированную длину, то курсор должен быть установлен в начале поля. Если поле «Тип поля» в Сети (ecedi0120s000) сеансе с разделителями, то нужно ввести номер поля, начиная с 1. Длина классиф. Длина квалификатора. Примечание Это значение может быть введено, только если тип поля - «Поле фиксированной длины», как определено в Сети (ecedi0520m000) сеансе. Не конвертировать классиф. Значение квалификатора, которое не задает преобразование. Например, допустим, что значение SC задано здесь. Если сообщение содержит значение квалификатора SC, то преобразования не будет, если сообщение содержит какое-либо другое значение, то значение будет преобразовано. Примечание Если читаемое значение равно значению квалификатора, то таблица преобразований не применяется, будет использован читаемый файл. Это происходит в том случае, если обе стороны используют EAN-коды изделия. Классиф.по умолч. Значение, которое используется в случае отсутствия квалификатора в полученном сообщении. Поле Картографическая информация для этого описательного поля и соответствующий елемент данных в EDI-сообщении. Это описательное поле используется только для информации и описания. Классификатор 1 Картографическая информация для первого квалификатора и соответствующий елемент данных в EDI-сообщении. Классификатор 2 Картографическая информация для второго квалификатора и соответствующий елемент данных в EDI-сообщении. |