Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

how to find a next bigger no from the list of random numbers

former_member459141
Participant
0 Kudos

hi abapers

can u plz tell me how to find the next bigger no from the given list if some input is given

the list is 1,2,3,4,8,9

the input given to the list is 5 and the output should come 8

i used select endselect but the output is coming 9 i want it 8

how to do it?

2 REPLIES 2

asik_shameem
Active Contributor
0 Kudos

Hi

Do like this.

REPORT ztest.

DATA: BEGIN OF itab OCCURS 10,
        number TYPE i,
      END OF itab.

DATA: gv_max TYPE i.

PARAMETERS: num TYPE i.

itab-number = 1.  APPEND itab.
itab-number = 2.  APPEND itab.
itab-number = 5.  APPEND itab.
itab-number = 6.  APPEND itab.
itab-number = 35. APPEND itab.
itab-number = 50. APPEND itab.

SORT itab BY number.

LOOP AT itab.

  IF itab-number GT num.
    EXIT.
  ENDIF.

ENDLOOP.

gv_max = itab-number.

WRITE:/ gv_max.

former_member585060
Active Contributor
0 Kudos

Try this way

****************************************************************

PARAMETERS : p_num TYPE i.

TYPES : BEGIN OF ty_itab,

num TYPE i,

END OF ty_itab.

DATA : it_itab TYPE TABLE OF ty_itab,

wa_itab TYPE ty_itab.

DATA : a TYPE i.

wa_itab-num = '1'.

APPEND wa_itab TO it_itab.

wa_itab-num = '2'.

APPEND wa_itab TO it_itab.

wa_itab-num = '3'.

APPEND wa_itab TO it_itab.

wa_itab-num = '4'.

APPEND wa_itab TO it_itab.

wa_itab-num = '8'.

APPEND wa_itab TO it_itab.

wa_itab-num = '9'.

APPEND wa_itab TO it_itab.

SORT it_itab ASCENDING BY num.

LOOP AT it_itab INTO wa_itab.

IF wa_itab-num GT p_num.

a = wa_itab-num.

EXIT.

ENDIF.

ENDLOOP.

WRITE : / a.