cancel
Showing results for 
Search instead for 
Did you mean: 

I_STEP=3 this is urgent , please help.

Former Member
0 Kudos

Hi ,

I was writing a user exit .Now in the popup(selection screen) , there are two Multiple single options/Optional user entry variables, A and B.The requirement is that either one of them should be given for the query to run.

if both of them are not given , the user will be shown an error message and the query selection scrren to be shown again .

I cannot make any of them mandatory(that is also within the requirement).

Now how do i use I_STEP 3 to solve this problem .

I was under the impression the following piece of code should work.

if i_step = 2.

....... (Some other manipulation which is working) ......

endif.

if i_step=3 .

read variable a.

read variable b.

if a is iniitial and b is initial .

message e001(zz).

endif.

endif.

However it is of no use as the program is not going to I_STEP=3.

I would like to be informed whether my logic or method is incorrect .What is the correct procedure to achieve this .

Thanks in advance .

Devraj

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Logic is correct and I_STEp 3 is the correct step for checking this. Set a break point in the exit and make sure it is going to the exit and reading your variable values.

Thanks

Former Member
0 Kudos

Hi Deepu ,

I was checking it in the debug mode and the initial problem was the value if i_step is not comng to 3 , first it is going to 1 , doing what it needs to do , then 2 then after i enter relevant values of variables (other than a and b as mentioned) it is going out and i_step is not taking the value 3 .

is there any specific condition when it goes to i_step 3 ? as fas as i know it should chek i_step 1 then 2 and then 3 .but such things are not happening here .

Regards .

Devraj

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello friends ,

one of the problems have been solved .according to the doc searched on SDN i_step = 3 comes after all variable processing (each and every variable proceeing in ZXRSRU01) and processed only once .

so if i write my piece of code after all processing it is working .

Regards ,

Devraj

Former Member
0 Kudos

Hi ,

Also can anyone help me on how to give a popup in the B Ex.Analyzer . As the Analyzer opens using MS Excel , there is no status bar and the following

messsage e001(ZZ) .

is not working .Can anyone help me on how to use a pop-up ? as to what the syntax is and how to use it ?

Eg: i want the following message to popup if there is wrong input "Please enter the correct values for variables A and B".

Regards ,

Devraj.

mansi_dandavate
Active Contributor
0 Kudos

Hi Devraj,

Take a look at the following which i have used.

we check the value for order status and if it is not equal to CLSD or TECO an error is displayed.

DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT,

LOC_VAR_RANGE1 LIKE RRRANGEEXIT.

IF I_STEP = 3.

LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'YQVORDST'.

IF LOC_VAR_RANGE-LOW NE 'CLSD' AND

LOC_VAR_RANGE-LOW NE 'TECO'.

CALL FUNCTION 'RRMS_MESSAGE_HANDLING'

EXPORTING

I_CLASS = 'RSBBS'

I_TYPE = 'I'

I_NUMBER = '000'

I_MSGV1 = ' Select either CLSD OR TECO '.

RAISE no_replacement.

Endif.

Endloop.

Former Member
0 Kudos

hi Mansi ,

Thank you for that invaluable piece of code.It is really helpful,but the problem now is that the program is not going to i_step = 3 .

When i am debugging my query in RSRT , the value of I_STEP is firstly 1 then 2 and then it exits .

I want to know is there and specific format for i_step , i.e when it executes and things like that ?

Thank you again for your help.

Regards ,

Devraj

Former Member
0 Kudos

Devraj,

I am talking about this solution at ASUG next week. Include a RAISE AGAIN after the message and it will return the user to the selection screen.

-John

Former Member
0 Kudos

Hi John ,

Thanks for the help .

I will use the keyword "Raise Again ." after the task is completed.However the initial problem is the program is not going to i_step=3.

it is executing for 1 and 2 and then exiting.

is there and specific condition when it goes to 3 ?

Regards .

Devraj