Текущее время: Ср, авг 20 2025, 16:35

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Данные 7 инфотипа в расчете
СообщениеДобавлено: Чт, окт 23 2008, 16:18 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 08 2006, 14:05
Сообщения: 105
Откуда: Россия
Добрый день, всем!

Уважаемые подскажите, пожалуйста, как в правиле расчета (ERP2005) достать значение поля ARBST "Ежедневные рабочие часы" 7-ого инфотипа.
Пыталась следующим образом:
TABLEP0007
NUM=BARBST
Но система возвращает нулевое/пустое значение.
В чем может быть ошибка?

_________________
Чем больше я узнаю, тем больше я понимаю как мало я знаю...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 24 2008, 08:31 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
А вот сами подумайте. В момент расчета в таблице p0007, к которой Вы хотите обратиться, будут все записи из ИТ0007. Даже относящихся к текущему расчетному периоду может быть несколько.
Из какой именно записи Вы хотите прочитать поле ARBST ?

Технически на ABAPе прямо прочитать одно поле из таблицы нельзя.
Есть подход, когда таблица объявляется со специальной структурой - "Заголовок таблицы", в можно считать любую запись таблицы, а уже от туда получить доступ к отдельным полям. В доступе к ИТ обычно используется именно этот подход.

Последовательность операций
TABLEP0007
NUM=BARBST
просто считывает поле ARBST из заголовка таблицы P0007. Что в данный момент времени находится в этом заголовке - неизвестно. Поэтому Вы и получаете такой результат.
Вам нужно каким-то образом сначало считать необходимую запись.

Пример.
У меня в схеме есть функция ZLIT (считывает данные оценки времени) в правиле которого встречаются операции
TABLEZH
VALEN 1
VARGBIFTYP
Эта конструкция работает потому, что ZLIT на самом деле это цикл по таблице ZH, который в итерации для каждой записи вызывает мое правило обработки. Поэтому в заголовке таблицы ZH каждый вызов будет лежать новая запись.
Если же я попытаюсь использовать конструкцию TABLEZH...VARGBIFTYP вне функция ZLIT, то получу неопределенный результат.

Твое поле ARBST переносится в таблицу WPBP. Поэтому это поле будет доступно в конструкции (WPBP обычно синхронизируется по текущей записи, по крайней мере в PIT-е будет работать)

TABLEWPBP
NUM=BARBST

Либо оно доступно где-нибудь в NUM=G* (ищи в доках)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 24 2008, 12:03 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 08 2006, 14:05
Сообщения: 105
Откуда: Россия
RoustR, спасибо за развернутый ответ!!!

Просто полагала, что в обработке NUM уже заложено чтение записи из ИТ по соответствующему разделению WPBP текущего ВО. :oops:
Именно через чтение поля из WPBP я и сделала в итоге.
Не зря все таки есть поговорка: "Утро вечера мудренее". :)

_________________
Чем больше я узнаю, тем больше я понимаю как мало я знаю...


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

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


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

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


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

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