Текущее время: Вт, авг 19 2025, 16:50

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Вт, апр 03 2012, 13:52 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Коллеги абаперы, помогите запрограммировать следующий алгоритм:

дано:
три поля - дата, сумма и ID

надо
выбрать сумму в рамках одной даты которой соответствует наименьший ID

Пример:

31,01,2010 100 руб 1
31,01,2010 200 руб 2
31,01,2010 300 руб 3

В этом примере нужно выбрать сумму 100.

Программа будет использована в трансформации. Заранее спасибо :-)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Вт, апр 03 2012, 14:11 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
Откуда выбрать?
Если у Вас всегда записи начинаются с ид = 1, то просто отфильтруйте по нему.

В общем поподробнее задачу опишите:
1) Откуда грузите
2) Сколько записей может быть по одной дате
3) Как собираетесь считывать(Если, например, в разные пакеты попадёт одна дата). и тп.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Вт, апр 03 2012, 14:59 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Одна дата в разные пакеты не попадает.
Количество записей в рамках одной записи - от 2-3 до нескольких десятков, те не много
Начинаться в рамках одной даты может с чего угодно, не только с единицы.

PS

Берем из таблицы FEBKO, на основании которой сделан инфо-набор, на основании которого сделан экстрактор. При перекладывании из источника д. в одс в одном из правил пытаюсь написать подпрограмму


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Вт, апр 03 2012, 15:23 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
Если у Вас ОДС-ка оптимизированная для записи и в ключах есть дата и ид
то просто SORT по дате и id DESCENDING
В итоге у ВАС Будет перезаписываться это поле и окажется наименьший id-шник.

Решение, на самом деле не очень красивое, на мой взгляд, но простое.

Вариант 2 - это та же сортировка по дате и id
ну и удаление лишних строк(где id больше чем уже есть)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Вт, апр 03 2012, 15:32 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Dimarik написал(а):
Если у Вас ОДС-ка оптимизированная для записи и в ключах есть дата и ид
то просто SORT по дате и id DESCENDING
В итоге у ВАС Будет перезаписываться это поле и окажется наименьший id-шник.

Решение, на самом деле не очень красивое, на мой взгляд, но простое.

Вариант 2 - это та же сортировка по дате и id
ну и удаление лишних строк(где id больше чем уже есть)



А не могли бы вы написать код :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Вт, апр 03 2012, 15:46 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
SORT RESULT_PACKAGE by тут через пробел дата и id DESCENDING
то есть должно получиться на
SORT RESULT_PACKAGE BY date id DESCENDING.

Ну и ОДС-ка для записи и ключи - дата и ид.
В итоге Вы получите, что данные будут записываться все, но останется только последняя.

А вообще, мне кажется, что можно ещё в инфонаборе выбирать id-шник минимальный;)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации  Тема решена
СообщениеДобавлено: Вт, апр 03 2012, 15:50 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Dimarik написал(а):
SORT RESULT_PACKAGE by тут через пробел дата и id DESCENDING
то есть должно получиться на
SORT RESULT_PACKAGE BY date id DESCENDING.

Ну и ОДС-ка для записи и ключи - дата и ид.
В итоге Вы получите, что данные будут записываться все, но останется только последняя.

А вообще, мне кажется, что можно ещё в инфонаборе выбирать id-шник минимальный;)



Спасибо огромное :) Ща попробую - по результатам отпишу.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Ср, апр 04 2012, 11:20 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Добрый день коллеги. Подскажите а как можно решить аналогичную задачу, в случае если записи с одной и той же датой попадут в разные пакеты?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Ср, апр 04 2012, 12:21 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
Выберите Семантические группы, чтобы указать способ
компоновки пакетов данных, считываемых из источника.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Ср, апр 04 2012, 12:32 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
Есть ещё вариант. Если грузить одним потоком, то можно анализировать что было записано уже ( SELECT к записям, которые уже в ДСО ).
А дальше - либо удалять из пакета эти(если у них бОльший ИД в разрезе этой даты, либо оставлять, если меньший и они перезапишут тот, что уже был записан.
Как-то так.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Ср, апр 04 2012, 14:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
В принципе понятно, у меня была аналогичная задача, семантические группы были настроены, но должного эффекта не было, так как были ситуации когда записи по одному семантическому ключу находились в разных пакетах. Решил несколько иным способом.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Ср, апр 04 2012, 14:14 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
AlexanderGamov написал:
Решил несколько иным способом.


Ну Вы бы тогда поделились с общественностью - как?;)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Ср, апр 04 2012, 14:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Задача была уж сильно специфическая :), посему нет сильного желания распространяться, с тем чтобы общественность не уличила в криворукости :).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP Подпрограмма в трансформации
СообщениеДобавлено: Чт, апр 05 2012, 12:48 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Tiktuger написал:
Dimarik написал(а):
SORT RESULT_PACKAGE by тут через пробел дата и id DESCENDING
то есть должно получиться на
SORT RESULT_PACKAGE BY date id DESCENDING.

Ну и ОДС-ка для записи и ключи - дата и ид.
В итоге Вы получите, что данные будут записываться все, но останется только последняя.

А вообще, мне кажется, что можно ещё в инфонаборе выбирать id-шник минимальный;)



Спасибо огромное :) Ща попробую - по результатам отпишу.



Все заработало - респект :)


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

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


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

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


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

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