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

selectio-screen

Former Member
0 Likes
389

hi,

i have created two selection screen using at selection screen out put how to validate this selection screen. use at selection screen menas it can't go anathor selection screen

2 REPLIES 2
Read only

Former Member
0 Likes
352

Hi,

see the selection screen and the fields validation..

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

  • Select-Options

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

selection-screen: begin of block b with frame.

selection-screen : begin of block b1 with frame title text-001.

select-options:s_bukrs for t001-bukrs no intervals no-extension

obligatory,

s_vkorg for tvko-vkorg no intervals no-extension,

s_vtweg for tvtw-vtweg no intervals no-extension,

s_spart for tspa-spart no intervals no-extension,

s_werks for t001w-werks no intervals no-extension,

s_kunag for kna1-kunnr,

s_vbeln for vbuk-vbeln,

s_fkart for tvfk-fkart,

s_fkdat for vbrk-fkdat obligatory.

selection-screen end of block b.

*******At Selection Screen********************************************

at selection-screen.

  • At Selection Screen on Value Request

at selection-screen on value-request for p_file.

perform f4_help.

  • Checking for the input values of selection screen.

perform screen_check.

&----


*& Form screen_check

&----


  • Ckecking for Selection Screen fields Validation

----


form screen_check.

  • Validation of Sales Organization

clear tvko.

if not s_vkorg-low is initial.

select vkorg from tvko up to 1 rows

into tvko-vkorg

where vkorg in s_vkorg.

endselect.

if sy-subrc ne 0.

message e009. " Invalid Sales Organization

endif.

endif.

  • Validation of Distribution Channel

clear tvtw.

if not s_vtweg-low is initial.

select vtweg from tvtw up to 1 rows

into tvtw-vtweg

where vtweg in s_vtweg.

endselect.

if sy-subrc ne 0.

message e010. " Invalid Distribution Channel

endif.

endif.

  • Validation of Division

clear tspa.

if not s_spart-low is initial.

select spart from tspa up to 1 rows

into tspa-spart

where spart in s_spart.

endselect.

if sy-subrc ne 0.

message e011. " Invalid Division

endif.

endif.

  • Validation for company code

clear t001.

if not s_bukrs-low is initial.

select single bukrs from t001

into t001-bukrs

where bukrs in s_bukrs.

if sy-subrc <> 0.

message e007. " Enter valid Company Code

endif.

endif.

  • Validation of billing Document Type

clear tvfk.

if not s_fkart is initial.

select fkart from tvfk up to 1 rows

into tvfk-fkart

where fkart in s_fkart.

endselect.

if sy-subrc ne 0.

message e012. " Invalid Billing Document Type

endif.

endif.

  • Validation of Billing Document Number

clear vbuk.

if not s_vbeln is initial.

select vbeln from vbuk up to 1 rows

into vbuk-vbeln

where vbeln in s_vbeln and

vbtyp = 'M'.

endselect.

if sy-subrc ne 0.

message e013. " Invalid Billing Doc Number

endif.

endif.

  • Validation of Customer

clear kna1.

if not s_kunag is initial.

select kunnr from kna1 up to 1 rows

into kna1-kunnr

where kunnr in s_kunag.

endselect.

if sy-subrc ne 0.

message e014. " Invalid Customer Number

endif.

endif.

  • Validation of Plant

clear t001w.

if not s_werks is initial.

select werks from t001w up to 1 rows

into t001w-werks

where werks in s_werks.

endselect.

if sy-subrc ne 0.

message e004. " Invalid Plant Number

endif.

endif.

  • Validation for File path to download

if p_dwnlod = 'X'.

if p_file is initial.

message e006. " Enter the Valid file path to Download

endif.

endif.

endform. "screen_check

reward if useful

regards,

ANJI

Read only

Former Member
0 Likes
352

hi jaya,

try using the sample code below for validating ur selection screen.

<u><b>declaration</b></u>

data : it_sectgrp TYPE TABLE OF ty_sectgrp,

it_secgr TYPE TABLE OF dynpread,

it_sector TYPE TABLE OF ty_sector,

it_sector1 TYPE TABLE OF ty_sector,

wa_secgr TYPE dynpread,

wa_sectgrp TYPE ty_sectgrp,

<b>

----


*

  • Selection-screen : Parameters Begin with PR_

*----


</b>

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .

PARAMETERS : pr_secg TYPE zz_sectgrpc OBLIGATORY ,

pr_sec TYPE zz_sectorc OBLIGATORY .

SELECTION-SCREEN END OF BLOCK b1 .

<u><b>----


*

  • INITIALIZATION

*----


</b></u>

INITIALIZATION.

REFRESH it_sectgrp.

SELECT sectgrp

FROM zpat003_sector

INTO TABLE it_sectgrp

WHERE sectgrp <> space.

**..... ONLY REQUIRED FIELDS ARE VALIDATED IN THE WHERE CONDITION

SORT it_sectgrp BY sectgrp.

DELETE ADJACENT DUPLICATES FROM it_sectgrp.

wa_secgr-fieldname = c_sectorgrp.

APPEND wa_secgr TO it_secgr.

<u><b>************************************************************************

  • AT SELECTION-SCREEN ON VALUE-REQUEST

************************************************************************</b></u>

<b>AT SELECTION-SCREEN ON VALUE-REQUEST FOR pr_secg.</b>

gw_retfield = c_sectgrp.

gw_dynprofield = c_sectorgrp.

PERFORM f012_get_help_values

TABLES it_sectgrp

CHANGING gw_retfield gw_dynprofield.

<b>************************************************************************

  • AT SELECTION-SCREEN ON VALUE-REQUEST

************************************************************************</b>

AT SELECTION-SCREEN ON VALUE-REQUEST FOR pr_sec.

<u><b>VALIDATIONS</b></u>

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = sy-cprog

dynumb = sy-dynnr

TABLES

dynpfields = it_secgr.

READ TABLE it_secgr INTO wa_secgr INDEX c_1.

REFRESH it_sector.

IF wa_secgr-fieldvalue IS NOT INITIAL.

SELECT sector

FROM zpat003_sector

INTO TABLE it_sector

WHERE sectgrp = wa_secgr-fieldvalue.

ELSE.

SELECT sector

FROM zpat003_sector

INTO TABLE it_sector

WHERE sectgrp <> space.

ENDIF.

<b>**..... ONLY REQUIRED FIELDS ARE VALIDATED IN THE WHERE CONDITION</b>

SORT it_sector BY sector.

DELETE ADJACENT DUPLICATES FROM it_sector.

gw_retfield = c_sector1.

gw_dynprofield = c_sector.

PERFORM f012_get_help_values

TABLES it_sector

CHANGING gw_retfield gw_dynprofield .

<u><b>************************************************************************

  • AT SELECTION-SCREEN.

************************************************************************</b></u>

<b>AT SELECTION-SCREEN.</b>

CLEAR wa_sectgrp.

READ TABLE it_sectgrp INTO wa_sectgrp

WITH KEY sectgrp = pr_secg .

IF wa_sectgrp IS INITIAL.

MESSAGE text-002 TYPE text-003 .

ENDIF.

REFRESH it_sector1.

SELECT sector

FROM zpat003_sector

INTO TABLE it_sector1

WHERE sectgrp = pr_secg AND

sector = pr_sec.

IF it_sector1[] IS INITIAL.

MESSAGE text-004 TYPE text-003.

ENDIF.<u></u>

hop this helps u

rewars points if useful

Ginni