Application Development and Automation 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: 
Read only

Generating Random Numbers

Former Member
0 Likes
1,776

Hi,

I want to generate random number in my program. how can i generate random number.

Regards

Piyush

3 REPLIES 3
Read only

Former Member
0 Likes
741

Hi,

Generating Random Numbers

Function Module QF05_RANDOM_INTEGER can give a random number for a given minimum and maximum values. Study the code below:

Code

REPORT ZRANDOM.

DATA RANINT LIKE QF00-RAN_INT.

PARAMETERS: P_MAX LIKE QF00-RAN_INT DEFAULT 100,

P_MIN LIKE QF00-RAN_INT DEFAULT 1,

P_TIMES TYPE I DEFAULT 10.

WRITE:/ 'RANDOM NUMBER'.

ULINE.

DO P_TIMES TIMES.

CALL FUNCTION 'QF05_RANDOM_INTEGER'

EXPORTING

RAN_INT_MAX = P_MAX

RAN_INT_MIN = P_MIN

IMPORTING

RAN_INT = RANINT

EXCEPTIONS

INVALID_INPUT = 1

OTHERS = 2.

IF SY-SUBRC EQ 0.

WRITE:/ RANINT.

ELSE.

WRITE:/ 'UNABLE TO GENERATE RANDOM NUMBER'.

ENDIF.

ENDDO.

Regards,

Jagadish

Read only

Former Member
0 Likes
741

Hi,

Check the following FM:

SXMS_CREATE_RANDOM_NUMBER

QF05_RANDOM

QF05_RANDOM_INTEGER ---> This may suits for you requirement.

Regards,

Raghu

Read only

Former Member
0 Likes
741

hai

if we generate no based on number range defined in SPRO

use FM NUMBER_GET_NEXT

before define number range using SNRO transation.

or generate random numbers using this function module, QF05_RANDOM_INTEGER, can be used to generate a random number. Sample program using the function module is shown below:

REPORT zrandom_test.

DATA:

number TYPE i.

CALL FUNCTION 'QF05_RANDOM_INTEGER'

EXPORTING

ran_int_max = 1000

ran_int_min = 1

IMPORTING

ran_int = number

EXCEPTIONS

invalid_input = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

WRITE 😕 'Next available number is: ', number.

thanks

sitaram