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

'DYNP_VALUES_UPDATE'

Former Member
0 Likes
2,428

Hello experts,

i m developing one screen , in that i put one F4 help, there are two fields doc & doc Date.

i want when user select that doc no. corresponding date will appear in date field.I m using FM 'DYNP_VALUES_UPDATE'

to update.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'

exporting

retfield = 'EXNUM'

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'ZBOE_NO'

window_title = 'BOE Details'

value_org = 'S'

display = 'F'

tables

value_tab = i_j_1iexchdr

return_tab = return.

*refresh dynfields.

READ TABLE RETURN INTO W_RETURN INDEX 1.

EXDAT = RETURN-FIELDVAL.

READ TABLE i_j_1iexchdr WITH KEY exdat = exdat.

IF SY-SUBRC = 0.

DYNFIELDS-FIELDNAME = 'ZBOE_DATE'.

DYNFIELDS-FIELDVALUE = I_J_1IEXCHDR-EXDAT.

append dynfields.

CLEAR DYNFIELDS.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

dyname = sy-cprog

dynumb = sy-dynnr

tables

dynpfields = dynfields

EXCEPTIONS

others = 8.

endif.

Plz suggest where i m wrong

Aastha

4 REPLIES 4
Read only

venkat_o
Active Contributor
0 Likes
1,272

Hi,


*refresh dynfields.
READ TABLE RETURN INTO W_RETURN INDEX 1.
EXDAT = RETURN-FIELDVAL.

READ TABLE i_j_1iexchdr WITH KEY exdat = exdat.
IF SY-SUBRC = 0.
   DYNFIELDS-FIELDNAME    = 'ZBOE_DATE'.
   DYNFIELDS-FIELDVALUE   = I_J_1IEXCHDR-EXDAT.
    append dynfields.
   CLEAR DYNFIELDS.
<li>Try to change the above one to below one.Because F4 help is written for EXNUM. Based on EXNUM ,u have to get date.
READ TABLE RETURN INTO W_RETURN INDEX 1.
EXNUM = RETURN-FIELDVAL.

READ TABLE i_j_1iexchdr WITH KEY EXNUM = EXNUM.
IF SY-SUBRC = 0.
   DYNFIELDS-FIELDNAME    = 'ZBOE_DATE'.
   DYNFIELDS-FIELDVALUE   = I_J_1IEXCHDR-EXDAT.
    append dynfields.
   CLEAR DYNFIELDS.
Thanks Venkat.O

Read only

Former Member
0 Likes
1,272

Hello Venkat,

when i replace with ur code, Its not picking value for exnum from F4 help of exnum

call function 'F4IF_INT_TABLE_VALUE_REQUEST'

exporting

retfield = 'EXNUM'

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'ZBOE_NO'

window_title = 'BOE Details'

value_org = 'S'

display = 'F'

tables

value_tab = i_j_1iexchdr

return_tab = return.

*refresh dynfields.

READ TABLE RETURN INTO W_RETURN INDEX 1.

EXnum = RETURN-FIELDVAL.

READ TABLE i_j_1iexchdr WITH KEY exnum = exnum.

IF SY-SUBRC = 0.

DYNFIELDS-FIELDNAME = 'ZBOE_DATE'.

DYNFIELDS-FIELDVALUE = I_J_1IEXCHDR-EXDAT.

append dynfields.

CLEAR DYNFIELDS.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

dyname = sy-cprog

dynumb = sy-dynnr

tables

dynpfields = dynfields

EXCEPTIONS

others = 8.

endif.

Suggest,

Aastha

Read only

venkat_o
Active Contributor
0 Likes
1,272

Hi Aastha, Try this way. Just execute it and change your program accordingly.


 REPORT ZVENKAT_F4_FOR_PARAMETERS MESSAGE-ID ZMSG .
TYPES:BEGIN OF T_T001W,
      WERKS       TYPE T001W-WERKS,
      NAME1       TYPE T001W-NAME1,
     END OF T_T001W,
     T_RETURN_TAB  TYPE DDSHRETVAL.
DATA:W_T001W      TYPE T_T001W,
    W_RETURN_TAB TYPE T_RETURN_TAB.
DATA:I_T001W      TYPE STANDARD TABLE OF T_T001W,
    I_RETURN_TAB TYPE STANDARD TABLE OF T_RETURN_TAB.
DATA:W_DYNPFIELDS TYPE DYNPREAD,
    I_DYNPFIELDS LIKE STANDARD TABLE OF DYNPREAD.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS :P_WERKS TYPE T001W-WERKS,
           P_NAME1 TYPE T001W-NAME1.
SELECTION-SCREEN END OF BLOCK B1.
"F4 Help for Werks

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WERKS.
 IF I_T001W[] IS INITIAL.
   SELECT WERKS NAME1
   FROM T001W
   INTO TABLE I_T001W.
 ENDIF.
 "Function module for F4 help
 CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
   EXPORTING
     RETFIELD    = 'WERKS'   "field name on f4 help window
     DYNPPROG    = SY-REPID
     DYNPNR      = SY-DYNNR
     DYNPROFIELD = 'P_WERKS' "Screen field name
     VALUE_ORG   = 'S'
   TABLES
     VALUE_TAB   = I_T001W
     RETURN_TAB  = I_RETURN_TAB.
 READ TABLE I_RETURN_TAB INTO W_RETURN_TAB INDEX 1.
 P_WERKS = W_RETURN_TAB-FIELDVAL.
 READ TABLE I_T001W INTO W_T001W WITH KEY WERKS = P_WERKS.
 IF SY-SUBRC = 0.
   W_DYNPFIELDS-FIELDNAME    = 'P_NAME1'.
   W_DYNPFIELDS-FIELDVALUE   = W_T001W-NAME1.
   APPEND W_DYNPFIELDS TO I_DYNPFIELDS.
   CLEAR W_DYNPFIELDS.
   "DYNP_VALUES_UPDATE
   CALL FUNCTION 'DYNP_VALUES_UPDATE'
     EXPORTING
       DYNAME     = SY-REPID
       DYNUMB     = SY-DYNNR
     TABLES
       DYNPFIELDS = I_DYNPFIELDS.
 ENDIF.
Thanks Venkat.O

Read only

venkat_o
Active Contributor
0 Likes
1,272

what was wrong in the code?

Thanks

Venkat.O