Текущее время: Вс, июл 27 2025, 02:30

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


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

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


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

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