Текущее время: Вс, июл 20 2025, 18:33

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


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

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


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

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