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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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