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

input validation .....

Former Member
0 Likes
517

Hi Experts,

in my report i ve selection-screen like, GL account, comp code, and posting. i.e,

SELECTION-SCREEN BEGIN OF BLOCK blk.

SELECT-OPTIONS: so_racct FOR glt0-racct,

so_bukrs FOR glt0-bukrs NO INTERVALS NO-EXTENSION.

PARAMETERS: p_date LIKE sy-datum.

SELECTION-SCREEN END OF BLOCK blk.

i ve done validation like this,

AT SELECTION-SCREEN ON SO_RACCT.

IF SO_RACCT-LOW IS INITIAL.

MESSAGE E000(ZGLM). " Enter at least one GL account number.

ELSEIF GLT0-RACCT = SO_RACCT AND BSEG-ALTKT = SO_RACCT.

IF SY-SUBRC <> 0.

MESSAGE E001(ZGLM). " ACCOUNT number is not found

ENDIF.

ENDIF.

then selecting data like

SELECT * FROM GLT0 INTO

CORRESPONDING FIELDS OF

TABLE gt_data WHERE

racct IN so_racct AND

bukrs IN so_bukrs AND ryear = l_len.

DELETE ADJACENT DUPLICATES FROM gt_data.

then am selecting data based on GL account(RACCT), company code(bukrs) and posting date( p_date ).

till now it is working well. but now want, they want to print all GL accounts based on comp code anf posting data . i.e if i don'r give GLaccount as inpit should take all GL accounts(SO_RACCT) based on comp code and posting date.

so how to write a validation for this....

Thanks in advance,

sudharsan.

4 REPLIES 4
Read only

former_member404244
Active Contributor
0 Likes
486

Hi,

now no need for validation of ..comment the below code..

AT SELECTION-SCREEN ON SO_RACCT.

IF SO_RACCT-LOW IS INITIAL.

MESSAGE E000(ZGLM). " Enter at least one GL account number.

ELSEIF GLT0-RACCT = SO_RACCT AND BSEG-ALTKT = SO_RACCT.

IF SY-SUBRC <> 0.

MESSAGE E001(ZGLM). " ACCOUNT number is not found

ENDIF.

ENDIF.

Now ur select query will work....

SELECT * FROM GLT0 INTO

CORRESPONDING FIELDS OF

TABLE gt_data WHERE

racct IN so_racct AND

bukrs IN so_bukrs AND ryear = l_len.

Regards,

Nagaraj

Read only

0 Likes
486

Hi nagaraj,

thanks for ur quick replay,

i have done as u told, but after executing it is going to infinite loop, its not printing anything...

so is there any other way...plz..

Regards,

sudharsan.

Read only

0 Likes
486

Hi Sudarshan,

Make your <b>date and bukrs fields</b> are mandatory.

And then write select query in At Selection-screen Event.

Read only

0 Likes
486

Hi Kumar, yes am passing values to date and bukre then am doing like below

but its not printing anything.

AT SELECTION-SCREEN.

SELECT * FROM GLT0 INTO

CORRESPONDING FIELDS OF

TABLE gt_data1 WHERE

racct IN so_racct AND

bukrs IN so_bukrs AND ryear = l_len.

DELETE ADJACENT DUPLICATES FROM gt_data.

Check again plz..

Regards,

sudharsan.