cancel
Showing results for 
Search instead for 
Did you mean: 

Number Range Filter

mv1985
Participant
0 Kudos

Hello,

We have a requirement that sales orders starting with 25 ( 25xxxxx)  and 28 ( 28xxxx) should be update only in Infocube rest other series to be ignored. Or if this can achieved at Query Level ?

Please help,

Regards,

VM

Accepted Solutions (1)

Accepted Solutions (1)

ccc_ccc
Active Contributor
0 Kudos

Hi Mv,

Business requirement may take deadly turn at any of time, today they are asking you sales order start with 25* and 28*, in future they may ask you 21* and 22* etc that time its very difficult job to extract data again to cube start with 21 and 22 ( and this is very bad data modeling ), so you always look at future requirement so please extract all sales order into cube and restrict at report level as per requirement.

As suggested by the Raman 3rd point restricting at BEx level.

OR


Create one more characteristics for same cube and write routine and fill 25, 28 , 21, 22 based on sales order number, you can create direct variable to restrict data at BEx level or filter directly at designer level.


OR 

You can crate customer for newly created infoobject based country/user/region etc fill the variable like 25 or 28 etcc.



Please check all possibility before proceeding.

Thank you,

Nanda

Former Member
0 Kudos

Hi Nanda,

Yes, you were right business can ask anything at any time...better to go for 3rd option...Maintain those filters in BEx QD level...

Thaks

Ajay.D

Answers (6)

Answers (6)

mv1985
Participant
0 Kudos

Thanks a lot everyone,

I applied global filter for values 250000 to 289999 covering entire range at BEx level. It worked and as suggested by all experts here, futureproof.

Regards,

m

former_member185132
Active Contributor
0 Kudos

I fully agree with Nanda that it is best to avoid this kind of hardcoded filtering of Sales Orders. It's better to achieve this in the reporting layer. Even if the current user only want 25* and 28* orders tomorrow he could come up with a requirement to also include say 30* orders.

Especially, this scenario looks like it could be related to a document type (or some other characteristic on the Sales Order). Usually in the source system, they have a way of numbering the orders so the numbers stand for a particular doc type. For instance, 25* orders could be doc type A while 28* orders could be doc type B.

Please find out if such a scenario exists for your requirement - because if it does, the whole problem becomes much easier and all you need to do is to filter based on the doc type.

ccc_ccc
Active Contributor
0 Kudos

Hi Mv,

Business requirement may take deadly turn at any of time, today they are asking you sales order start with 25* and 28*, in future they may ask you 21* and 22* etc that time its very difficult job to extract data again to cube start with 21 and 22 ( and this is very bad data modeling ), so you always look at future requirement so please extract all sales order into cube and restrict at report level as per requirement.

As suggested by the Raman 3rd point restricting at BEx level.

OR


Create one more characteristics for same cube and write routine and fill 25, 28 , 21, 22 based on sales order number, you can create direct variable to restrict data at BEx level or filter directly at designer level.


OR 

You can crate customer for newly created infoobject based country/user/region etc fill the variable like 25 or 28 etcc.



Please check all possibility before proceeding.

Thank you,

Nanda

Loed
Active Contributor
0 Kudos

Hi MV,

Just filter the SALES ORDER object in your DTP with these values:

2500000 - 2599999

2800000 - 2899999

Regards,

Loed

RamanKorrapati
Active Contributor
0 Kudos

Hi Loed,

at DTP level, is it possible to maintain multple ranges for sales order?

Thanks

Loed
Active Contributor
0 Kudos

Hi Raman,

Sorry I can't check it right now since I'm at home..If there is none, we can do this using the routine filter in DTP as you have suggested..

OR

He may do this in START ROUTINE:

DELETE SOURCE_PACKAGE

where

(SALES_ORDER < 2500000) OR

(SALES_ORDER > 2599999 AND SALES_ORDER < 2800000) OR

(SALES_ORDER > 2899999)


Regards,

Loed

0 Kudos

better filter in DTP, faster than start routine  in transformation

Loed
Active Contributor
0 Kudos

Hi Raman,

Just checked that we can filter MULTIPLE RANGES in DTP filter..

Regards,

Loed

RamanKorrapati
Active Contributor
0 Kudos

Hi,

Assuming as you need sales order which start with 25 and 28 series.

Sales order number length is 10 digits

3 Ways you can achieve you requirement.

1. at Info pack level - Here we can use selections on sales order - 2500000000  - 2599999999 , 28000000 - 2899999999

2. at DTP level you can maintain filter routine on sales order by using proper series numbers.

3. at bex level you can restrctic sales orders by using select options like

sales order -->rigth click-->restrict--> you can give ranges like between 2500000000- 2599999999.

similurly you can gave between range 2800000000 to 2899999999.

Thanks

0 Kudos

If the infocube is used by you, better set the filter in DTP with the sales order number range

25000000 to 28000000