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

Table Maintenance

Former Member
0 Likes
429

The requirement is, I have 3 fields on the screen. User provides the inputs in first 2 fields.

Now, I would like to search the possible values for the 3rd field based on the values entered in the first 2 fields.

On the search help I have 3 fields. Here, I have to default the first 2 fields with the values entered by the user in the first 2 fields on the

screen. I know that I can do it in the PRESEL callcontrol-step, but the problem is I am not able to capture the values of the first 2 fields from

the screen

3 REPLIES 3
Read only

Former Member
0 Likes
397

hi Praveen,

use function module DYNP_VALUES_READ to get the field values on runtime.

hope this helps,

Sajan Joseph.

Read only

Former Member
0 Likes
397

Hi ,

Please follow the following example this should help you out .

*----- sample code starts

Read the value selected in the drop down

2.

Displaying the pop up window when the user uses F4 help

3.

Populate the values in the parameters

Code for Selection Screen

&----


*& REPORT Z_SDN_SEL *

&----


REPORT Z_SDN_SEL .

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

  • TYPE POOLS DECL'ON *

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

TYPE-POOLS : VRM.

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

  • TABLES *

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

TABLES: ZBANKCODE,

ZUSERDATA,

ZUSERDETAILS,

ZSELORD,

ZBUYORD,

ZEXCH,

SSCRFIELDS.

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

  • DATA DECLARATIONS AND VARIABLES *

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

DATA : V TYPE VRM_VALUES.

DATA : DROPDOWN LIKE LINE OF V.

  • VARS FOR DYNAMIC SCREEN POPULATION

DATA: PROGNAME TYPE SY-REPID,

DYNNUM TYPE SY-DYNNR,

DYNPRO_VALUES TYPE TABLE OF DYNPREAD,

FIELD_VALUE LIKE LINE OF DYNPRO_VALUES.

DATA: RETURN TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.

DATA: DYNFIELDS TYPE TABLE OF DYNPREAD WITH HEADER LINE.

  • VARS FOR SELECTION-SCREEN POPULATION

DATA: T_CODE LIKE ZEXCH-STOCK.

DATA: T_CURRPR LIKE ZEXCH-CURRPR.

DATA: T_CHAR(10).

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

  • INTERNAL TABLES *

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

DATA: BEGIN OF TEMP_ITAB OCCURS 0,

ST_CODE LIKE ZEXCH-STOCK,

ST_NAME LIKE ZEXCH-ST_NAME,

CURRPR LIKE ZEXCH-CURRPR,

END OF TEMP_ITAB.

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

  • SELECTION-SCREEN *

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

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 1.

SELECTION-SCREEN COMMENT 1(10) TEXT-R01 FOR FIELD BUY.

PARAMETERS: BUY RADIOBUTTON GROUP G1.

SELECTION-SCREEN POSITION 16.

SELECTION-SCREEN COMMENT 16(10) TEXT-R02 FOR FIELD SELL.

PARAMETERS: SELL RADIOBUTTON GROUP G1.

SELECTION-SCREEN END OF LINE.

PARAMETERS: EXCH(3) TYPE C AS LISTBOX VISIBLE LENGTH 10,

  • EXCHANGE CHECKBOX

ST_NAME LIKE ZEXCH-ST_NAME ,

  • STOCK NAME FROM EXCHANGE

ST_CODE LIKE ZEXCH-STOCK,

  • STOCK ID FROM EXCHANGE

CURRPR LIKE ZEXCH-CURRPR ,

  • LAST TRADED PRICE

LIMPR LIKE ZBUYORD-LIMPR,

  • PRICE AT WHICH USER WANTS TO BUY

QTY LIKE ZBUYORD-QTY.

  • QUANTITY THE USER WANTS TO BUY

SELECTION-SCREEN END OF BLOCK B1.

INITIALIZATION.

  • VARS FOR DYNAMIC SCREEN POPULATION

PROGNAME = SY-REPID.

DYNNUM = SY-DYNNR.

  • VARS FOR POPULATION OF DROPDOWN

DROPDOWN-KEY = '1'.

DROPDOWN-TEXT = 'BSE'.

APPEND DROPDOWN TO V.

DROPDOWN-KEY = '2'.

DROPDOWN-TEXT = 'NSE'.

APPEND DROPDOWN TO V.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = 'EXCH'

VALUES = V

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2.

Read the value in the drop down

AT SELECTION-SCREEN ON VALUE-REQUEST FOR ST_NAME.

CLEAR: FIELD_VALUE, DYNPRO_VALUES.

REFRESH DYNPRO_VALUES.

FIELD_VALUE-FIELDNAME = 'EXCH'.

APPEND FIELD_VALUE TO DYNPRO_VALUES.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = SY-CPROG

DYNUMB = SY-DYNNR

TRANSLATE_TO_UPPER = 'X'

TABLES

DYNPFIELDS = DYNPRO_VALUES.

READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.

IF FIELD_VALUE-FIELDVALUE IS NOT INITIAL.

IF SY-SUBRC = 0 AND FIELD_VALUE-FIELDVALUE = 1.

FIELD_VALUE-FIELDVALUE = 'BSE'.

ELSEIF SY-SUBRC = 0 AND FIELD_VALUE-FIELDVALUE = 2.

FIELD_VALUE-FIELDVALUE = 'NSE'.

ENDIF.

SELECT STOCK ST_NAME

CURRPR

FROM

ZEXCH

INTO TABLE TEMP_ITAB

WHERE EXCH = FIELD_VALUE-FIELDVALUE.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'ST_NAME'

DYNPPROG = SY-CPROG

DYNPNR = SY-DYNNR

DYNPROFIELD = 'ST_NAME'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = TEMP_ITAB

RETURN_TAB = RETURN.

Populate the values in the selection screen parameters dynamically

SELECT STOCK CURRPR

FROM ZEXCH

INTO (T_CODE, T_CURRPR)

WHERE ST_NAME = RETURN-FIELDVAL.

ENDSELECT.

CLEAR DYNPRO_VALUES[].

FIELD_VALUE-FIELDNAME = 'ST_NAME'.

FIELD_VALUE-FIELDVALUE = RETURN-FIELDVAL.

APPEND FIELD_VALUE TO DYNPRO_VALUES .

FIELD_VALUE-FIELDNAME = 'ST_CODE'.

FIELD_VALUE-FIELDVALUE = T_CODE.

APPEND FIELD_VALUE TO DYNPRO_VALUES .

FIELD_VALUE-FIELDNAME = 'CURRPR'.

FIELD_VALUE-FIELDVALUE = T_CURRPR.

APPEND FIELD_VALUE TO DYNPRO_VALUES .

  • UPDATE THE DYNPRO VALUES.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

DYNAME = SY-CPROG

DYNUMB = SY-DYNNR

TABLES

DYNPFIELDS = DYNPRO_VALUES.

ENDIF.

*---- sample code ends

You can also refere to the following documentation .

http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbaac935c111d1829f0000e829fbfe/frameset.htm

STill if you have any issues let me know

Read only

Former Member
0 Likes
397

I have written the code to show the F4 help in the POV event of the screen generated by table maintenance generator. I am not able to capture the values of the first 2 fields using DYNP_READ_VALUES. And I want the values of the first two fields to show the f4 values for the third field using a select query

Please help me out here.