Текущее время: Ср, июл 23 2025, 16:47

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: проверить наличие ВО в RT при обработке правила
СообщениеДобавлено: Пт, июл 27 2007, 17:18 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Коллеги, доброго времени суток,
подскажите пожалуйста, можно ли в правиле проверять наличие ВО в RT и если он существует, подставлять значения из RT. Как это сделать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 20:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 03 2006, 22:00
Сообщения: 266
Откуда: Отсюда
1. AMT=E 1000 или AMT= R 1000 (в зависимости от требований по анализу сплитов)
2. Или написать отдельное правило, которое будет обрабатываться функцией PRT, а в правиле создать подправило, для обработки нужного вида оплаты.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 30 2007, 13:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Meanv, спасибо за ответ, хочу уточнить, я пытаюсь в правиле проверять наличие ВО:
AMT=E 9AVR
а затем я хочу проверить есть ли что-то в АМТ и делаю проверку
AMT?0
но складывается впечатление, что система просто в первой строчке ничего не берет из RT, т.к. все время в AMT ноль, хотя я считаю в продуктиве за несколько периодов.

Может есть другой способ проверки? Или я не правильно что-то делаю?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 30 2007, 14:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 23 2005, 12:50
Сообщения: 942
Пол: Мужской
Для отладки правила попробуй вставить операцию PRINT (позволяет выводить в журнал значения полей текущей строки таблицы ОТ) или функцию PRINT NP RT (выводит таблицу RT).

_________________
Нет таких денег, за которые кто-то будет работать лучше, чем энтузиасты бесплатно. Пол Грэм.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 30 2007, 14:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Macros, спасибо, оказалось, что RT еще пустая, тогда возникает вопрос, как можно прочитать ВО, который есть в кластере, но он почему то отсутствует в ORT и LRT?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 30 2007, 14:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 23 2005, 12:50
Сообщения: 942
Пол: Мужской
Что значит есть в кластере? В предыдущем месяце?
Если так, то функция IMPRT со вторым параметром "L" загружает RT из предыдущего месяца в таблицу ORT, в LRT попадают в/о из ORT например в зависимости от значения 6-го класса обработки (правило и функция PORT)...

_________________
Нет таких денег, за которые кто-то будет работать лучше, чем энтузиасты бесплатно. Пол Грэм.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 30 2007, 16:13 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Получилось следующим образом, у моего ВО поправил класс обработки: в 6-м поставил значение 3, а потом в правиле проверил как подсказал Meanv: AMT=E 9AVR
НО возник еще один вопрос, как перезаписать значения одного ВО другим? ADDWT добавляет, WGTYP=мойВО тоже, как это можно сделать? Интересует именно перезаписать. Пробовал вначале делать:
WGTYP=0K19
ZERO=NRA <- при проверке правила ругается (пишет: не допускается разновидность параметров)
ADDWT 0K19


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 07:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 23 2005, 12:50
Сообщения: 942
Пол: Мужской
ZERO= NRA (пробел обязателен)
Твое правило будет пытаться добавить пустой в/о?
Так вроде не выйдет.
Если нужно убрать конкретную запись из RT и в место нее добавить такую же, но с другим кодом в/о, я бы использовал функцию PRT с подправилом на обработку в/о 9AVR:
WGTYP=0K19
ADDWT *

Если нужно оставить 9AVR, тогда так:
ADDWT *
WGTYP=0K19
ADDWT *

_________________
Нет таких денег, за которые кто-то будет работать лучше, чем энтузиасты бесплатно. Пол Грэм.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 10:41 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 03 2006, 22:00
Сообщения: 266
Откуда: Отсюда
Дима написал:
Получилось следующим образом, у моего ВО поправил класс обработки: в 6-м поставил значение 3, а потом в правиле проверил как подсказал Meanv: AMT=E 9AVR
НО возник еще один вопрос, как перезаписать значения одного ВО другим? ADDWT добавляет, WGTYP=мойВО тоже, как это можно сделать? Интересует именно перезаписать. Пробовал вначале делать:
WGTYP=0K19
ZERO=NRA <- при проверке правила ругается (пишет: не допускается разновидность параметров)
ADDWT 0K19


amt=e 0K19
num=e 0K19
rte=e 0K19
elimi *
subwte 0K19
reset *
zero= nr
amt=e 9AVR
addwte 9AVR

Данный пример будет работать, если ВО 0K19 хранится в RT без сплитов, иначе после subwte 0K19 в RT создастся новая завись с обратным знаком по суммам.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 14:16 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Коллеги, большое спасибо за помошь, реализовал одним правилом следующим образом:
для ВО 0K19
Code:
000010            D ZERO=&Z9AVADDWT&Z9AVAMT=E 9AVRAMT?0                         
000020 *            AMT=& Z9AVADDWT 0K19                                         
000030 >            ZERO= NRA NUM=E 9AVRRTE=E 9AVRAMT=E 9AVRADDWT 0K19           


для ВО 9AVR
Code:
000010            D AMT=E 9AVRAMT?0                                             
000020 *                                                                         
000030 =            ZERO= NRA NUM=Z 0K19RTE=Z 0K19AMT=Z 0K19ADDWT 9AVR           


а задача стояла такая: нужно было проверять есть ли ВО 9AVR и если нет, то записывать в него из 0K19, а если есть, то наоборот из 9AVR в 0K19.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB