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

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


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

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


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

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