SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Преобразование ranges из BT в EQ



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
stn
Участник
Участник



Joined: 18 Jan 2008
Posts: 31

PostPosted: Wed Mar 04, 2009 11:50 am    Post subject: Преобразование ranges из BT в EQ Reply with quote

Здравствуйте!
Для ускорения выборки по bsis, bsas
нужно создать ranges с годами путем преобразования ranges
DATA: r_budat FOR bsis-budat.
со значениями BT, например
01.10.2004 - 31.05.2005
01.10.2007 - 15.01.2009
(не исключается, что пользователь введет exclude значения)

в ranges
DATA: r_gjahr FOR bsis-gjahr.
со значениями EQ
2004
2005
2007
2008
2009
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Mar 04, 2009 1:25 pm    Post subject: Reply with quote

Может быть легче индекс с использованием BUDAT создать?
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 80
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Wed Mar 04, 2009 1:51 pm    Post subject: Reply with quote

Ничего умнее перебора по интервалу дат в голову не приходит. Sad

Code:
TABLES: bsis.
DATA: l_max_date TYPE bsis-budat.
RANGES lr_gjahr FOR bsis-gjahr.

SELECT-OPTIONS: so_budat FOR bsis-budat.

l_max_date = sy-datum + 365 * 10.

lr_gjahr-sign = 'I'.
lr_gjahr-option = 'EQ'.

bsis-budat = '19900101'.
DO.
  IF bsis-budat > l_max_date.
    EXIT.
  ENDIF.
  IF bsis-budat IN so_budat.
    lr_gjahr-low = bsis-budat+0(4).
    COLLECT lr_gjahr.
  ENDIF.
  bsis-budat = bsis-budat + 1.
ENDDO.

LOOP AT lr_gjahr.
  WRITE: / lr_gjahr-low.
ENDLOOP.
Back to top
View user's profile Send private message Blog Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.