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

selection-screen

Former Member
0 Likes
583

Hi freinds,

I have two parameters on selection-screen TEMPLATE & CRITERIA GROUP

based on the template selected ,the criteria groups belonging to that template should come as F4 help for criteria group.

I Have the logic to get the criteria groups for a template.But i dont know where to use

kindly explain me

Thanks & Regards,

sunitha.p

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
557

hi,

use criteria in At Selection Screen event and

template in At Selection Screen on value request event. or use relevant Function module

6 REPLIES 6
Read only

andreas_mann3
Active Contributor
0 Likes
557

use event AT SELECTION-SCREEN ON VALUE-REQUEST FOR field1.

and fm F4IF_INT_TABLE_VALUE_REQUEST

A.

Read only

Former Member
0 Likes
557

hi,

check this example you will get idea of how to get f4 help

TABLES: mara, makt.

DATA mat LIKE mara-matnr.

DATA: BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

END OF itab.

DATA : BEGIN OF btab OCCURS 0,

maktx LIKE makt-maktx,

END OF btab.

DATA : return LIKE ddshretval OCCURS 0 WITH HEADER LINE.

SELECT-OPTIONS: so_matnr FOR mara-matnr,

so_maktx FOR makt-maktx.

INITIALIZATION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr-low.

PERFORM matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr-high.

PERFORM matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_maktx-low.

PERFORM maktx.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_maktx-high.

PERFORM maktx.

&----


*& Form matnr

&----


  • text

----


FORM matnr.

REFRESH itab.

SELECT matnr FROM mara INTO TABLE itab.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'MATNR '

dynprofield = 'P_MATNR '

dynpprog = sy-repid

dynpnr = sy-dynnr

value_org = 'S'

TABLES

value_tab = itab

return_tab = return.

mat = return-fieldval.

UNPACK mat TO mat.

so_matnr = return-fieldval.

REFRESH return.

CLEAR return.

ENDFORM. "matnr

&----


*& Form maktx

&----


FORM maktx.

REFRESH btab.

SELECT maktx FROM makt INTO TABLE btab WHERE matnr = mat AND spras =

sy-langu.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'MAKTX'

dynprofield = 'SO_MAKTX '

dynpprog = sy-repid

dynpnr = sy-dynnr

value_org = 'S'

TABLES

value_tab = btab

return_tab = return.

so_maktx = return-fieldval.

REFRESH return.

CLEAR return.

ENDFORM. "maktx

Read only

Former Member
0 Likes
557

hi,

chk this sample code.

REPORT zresh_f4.
 
data: dynfields type table of dynpread with header line.
data: return type table of ddshretval with header line.
 
selection-screen begin of block b1 with frame title text-001 .
selection-screen begin of line.
PARAMETERS: P_BUKRS type T001-BUKRS.
selection-screen comment 30(20) BUTXT for field p_bukrs.
selection-screen end of line.
selection-screen end of block b1.
 
at selection-screen output.
 
if butxt is initial.
   select single butxt into butxt
         from t001
        where bukrs = p_bukrs.
endif.
 
 
at selection-screen on value-request for p_bukrs.
 
  call function 'F4IF_FIELD_VALUE_REQUEST'
       exporting
            tabname           = 'T001'
            fieldname         = 'BUKRS'
            dynpprog          = sy-cprog
            dynpnr            = sy-dynnr
            dynprofield       = 'P_BUKRS'
       tables
            return_tab        = return
       exceptions
            field_not_found   = 1
            no_help_for_field = 2
            inconsistent_help = 3
            no_values_found   = 4
            others            = 5.
 
  read table return with key fieldname = 'P_BUKRS'.
 
* Add it back to the dynpro.
  dynfields-fieldname = return-retfield.
  dynfields-fieldvalue =  return-fieldval.
  append dynfields.
 
* Get the company code from db and add to dynpro
  data: xt001 type t001.
 
  clear xt001.
  select single * into xt001
         from t001
        where bukrs = return-fieldval.
 
  dynfields-fieldname = 'BUTXT'.
  dynfields-fieldvalue = xt001-butxt.
  append dynfields.
 
 
* Update the dynpro values.
  call function 'DYNP_VALUES_UPDATE'
       exporting
            dyname     = sy-cprog
            dynumb     = sy-dynnr
       tables
            dynpfields = dynfields
       exceptions
            others     = 8.
 
start-of-selection.

Regards

Reshma

Read only

Former Member
0 Likes
557

Hi,

there are tow ways to show F4 help. 1. using itab. 2. referring db table field.

for ur requiremetn u should use itab.

i am giving sample codes for it ... u must fill itab based on ur condition.

F4 help – using internal table example:

DATA: BEGIN OF LI_FABGRP OCCURS 0,
FABGRP LIKE ZAPO_FABGRP-FABGRP,
BEGDA LIKE ZAPO_FABGRP-BEGDA,
END OF LI_FABGRP.

DATA : T_RETURN TYPE STANDARD TABLE OF DDSHRETVAL WITH HEADER LINE,
L_RETFIELD TYPE DFIES-FIELDNAME.

parameters : S_FABGR like ZAPO_FABGRP-FABGRP.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_FABGR.

SELECT FABGRP BEGDA FROM ZAPO_FABGRP INTO table LI_FABGRP.

SORT LI_FABGRP BY FABGRP ASCENDING BEGDA DESCENDING.

* Henter de mulige fabriksgrupper med nyeste BEGDA *indenfor hver
DELETE ADJACENT DUPLICATES FROM LI_FABGRP COMPARING FABGRP.

L_RETFIELD = 'FABGRP'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = L_RETFIELD
DYNPPROG = SY-REPID
DYNPNR = '1000'
DYNPROFIELD = 'S_FABGR'
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
TABLES
VALUE_TAB = LI_FABGRP
RETURN_TAB = T_RETURN
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.

Jogdand M B

Read only

Former Member
0 Likes
558

hi,

use criteria in At Selection Screen event and

template in At Selection Screen on value request event. or use relevant Function module

Read only

Former Member
0 Likes
557

hi

good

create two F4 search help in se11 and use those two fields into that.

Create F4 Search Help->

http://help.sap.com/saphelp_nw04/helpdata/en/a5/3eca044ac011d1894e0000e829fbbd/content.htm

thanks

mrutyun^