Текущее время: Вт, июл 22 2025, 17:00

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 11:47 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
Добрый день.

При создании некотрых документов FI есть необходимость схлопнуть некоторые позиции. С помощью замещений, насколько я понял, можно только подменять значения в позициях, но нельзя влиять на количество создаваемых позиций.

Каким способом можно схлопнуть позиции при создании FI-документа?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 11:54 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Два вопроса:

1. Для чего это надо сделать?
Если для отчётов, то можно воспользоваться специальными регистрами или гибкой главной книгой. Кроме того, во многих итоговых таблицах они и так будут "схлопнуты".

2. Кто генерирует эти FI документы?
Например, в большинстве внешних относительно FI подсистем можно регулировать столбцы агрегации при передаче в FI.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 11 2007, 15:45 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
Проводки генерируются модулем FI-AA.

При окончательном расчете НКС, который строился несколько лет, возникла корректировка стоимости ОС (отрицательная). При вводе объекта НКС в эксплуатацию SAP формирует две проводки: 0803*->01* (старый запас) и 0803*->01* (новый запас). В нашем из за отрицательной величины нового запаса (т.к. была корректировка), по 01* счету проводится отрицательная сумма.

При передаче такого ОС в другую БЕ отрицательная сумма на 01-м счете воспринимается как амортизация.

Чтобы избежать данной проблемы, я предполагаю на этапе ввода в эксплуатацию схлопнуть эти две суммы (чтобы на 01-й счет попала уже одна положительная сумма).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 16:20 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 08 2007, 15:57
Сообщения: 51
profiteer написал(а):
Каким способом можно схлопнуть позиции при создании FI-документа?


народ, для нерусских: что такое схлопнуть?
:)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 16:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Graf написал(а):
народ, для нерусских: что такое схлопнуть?
:)

Для ABAPеров это означает "сделать COLLECT" ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 11 2007, 17:36 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
В openFI 1120 же приходит BSEG. Там можно и порезать, теоретически.
Т.е. я не вижу никаких причин, которые могли бы помешать это сделать, но на практике, конечно же, не осуществлял :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 19:25 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 08 2007, 15:57
Сообщения: 51
Удав написал(а):
Graf написал(а):
народ, для нерусских: что такое схлопнуть?
:)

Для ABAPеров это означает "сделать COLLECT" ;)

во уморили умельцы русские... :)
в новом компендиуме к ерп 2004 стоит: collect употреблять с осторожностью, obsolete. да и не преформантный он...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 20:09 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Graf написал(а):
в новом компендиуме к ерп 2004 стоит: collect употреблять с осторожностью, obsolete. да и не преформантный он...

а ссылку или цитату можно?

Вот цитаты из SAP Library (для выбранной вами версии ERP 2004). В Obsolete Statements for Internal Tables говорится лишь о двух конструкциях SEARCH itab FOR str options. и WRITE f TO itab INDEX idx.. Далее в Using Header Lines as Work Areas говорится лишь об устаревшей конструкции COLLECT itab.. В Appending Summarized Lines нет ни слова, что конструкция COLLECT wa INTO itab. является устаревшей или что её следует избегать.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 22:40 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 08 2007, 15:57
Сообщения: 51
Tetty написал:
Graf написал(а):
в новом компендиуме к ерп 2004 стоит: collect употреблять с осторожностью, obsolete. да и не преформантный он...

а ссылку или цитату можно?
...В Appending Summarized Lines нет ни слова, что конструкция COLLECT wa INTO itab. является устаревшей или что её следует избегать.

действительно, не всегда, прошу прощения:
инфо стоит не в интернете, а в новом германоязычном учебнике ABAP Objects, SAP Press, Autor>Horst Keller, Sascha Krueger,сентябрь 2006, страница 356-357, перевод: "Collect: COLLECT line INTO ltab ...
Дерективу COLLECT лучше всего употреблять в работе c Hash-таблицами. Применение в работе с STANDARD-таблицами может привести к ошибкам и является устаревшим" . то есть беру часть обратно, "схлопывайте и размножайте", только хэши :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 23:42 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Graf написал(а):
действительно, не всегда, прошу прощения:
инфо стоит не в интернете, а в новом германоязычном учебнике ABAP Objects, SAP Press, Autor>Horst Keller, Sascha Krueger,сентябрь 2006, страница 356-357, перевод: "Collect: COLLECT line INTO ltab ...
Дерективу COLLECT лучше всего употреблять в работе c Hash-таблицами. Применение в работе с STANDARD-таблицами может привести к ошибкам и является устаревшим" . то есть беру часть обратно, "схлопывайте и размножайте", только хэши :)
Видимо формат книги не позволил авторам объяснить, что:
Для добавления записи в STANDARD таблицу COLLECT`у в худшем случае придётся просмотреть все записи таблицы. Поэтому скорость добавления новых записей будет очень низкой.
Вторая проблема кроется в возможности использования таблиц без уникальных ключей. В такую таблицу могут быть добавлены повторяющиеся (по ключу) записи в обход COLLECT. (Вопрос на "отлично" - как поведёт себя COLLECT при добавлении еще одной записи, если уже были несколько с добавляемым ключом?)
Хэш-таблицы могут быть только с уникальными ключами, при этом максимальна скорость доступа к отдельным строкам, поэтому COLLECT будет работать максимально эффективно. (Для SORTED таблицы с уникальным ключом скорость добавления будет ниже.)
Поэтому и написали об использовании COLLECT с HASHED таблицами.
Сам же COLLECT работает отлично и с SORTED, и со STANDARD таблицами. К ошибкам может привести его необдуманное использование. Но без головы на плечах даже HASHED таблицы не помогут...

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Пт, май 11 2007, 23:48 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 08 2007, 15:57
Сообщения: 51
Tetty написал:
(Вопрос на "отлично" - как поведёт себя COLLECT при добавлении еще одной записи, если уже были несколько с добавляемым ключом?)

никак, если поля не нумеричные, запись игнорируется


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Сб, май 12 2007, 09:46 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Graf, вот пример абсолютно корректного куска кода, где COLLECT выполняется уже после того как были добавлены две записи с одинаковыми ключевыми полями:
data: begin of wa,
val type i,
end of wa,
tab like table of wa.
wa-val = 1.
insert wa into table tab.
insert wa into table tab.
collect wa into tab.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Сб, май 12 2007, 09:57 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 08 2007, 15:57
Сообщения: 51
Tetty написал:
Graf, вот пример абсолютно корректного куска кода, где COLLECT выполняется уже после того как были добавлены две записи с одинаковыми ключевыми полями:
data: begin of wa,
val type i,
end of wa,
tab like table of wa.
wa-val = 1.
insert wa into table tab.
insert wa into table tab.
collect wa into tab.

не вижу ключевых полей...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Сб, май 12 2007, 10:03 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Graf
не вижу ключевых полей...
Множество ключевых полей - пустое, но это не значит, что их нет. Если необходимо, то можно добавить, например, в структуру key type c.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Схлопнуть позиции при создании документа FI
СообщениеДобавлено: Сб, май 12 2007, 12:27 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 08 2007, 15:57
Сообщения: 51
Tetty написал:
Graf, вот пример абсолютно корректного куска кода, где COLLECT выполняется уже после того как были добавлены две записи с одинаковыми ключевыми полями:
data: begin of wa,
val type i,
end of wa,
tab like table of wa.
wa-val = 1.
insert wa into table tab.
insert wa into table tab.
collect wa into tab.

а теперь задекларируем итаб, который ДЕЙСТВИТЕЛьНО содержит ключи(KEY):
...tralivali,
tab LIKE STANDARD TABLE OF wa WITH KEY val.
tralivali...
;)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.

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


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

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


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

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