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

F4 Help

Former Member
0 Likes
1,112

Hi

I hv given F4 help to a field uing the FM 'F4IF_INT_TABLE_VALUE_REQUEST' ,if I click F4 and select for the first time, the value is displayed,but if I click F4 again and select next value it is not displayed, it is displayin the first value only....

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

CLEAR s_pz-low.

REFRESH t_pz.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'FIELD'

dynpprog = 'ZTEST'

dynpnr = '1000'

dynprofield = 'S_PZ-LOW'

value_org = 'S'

window_title = 'TEST'

TABLES

field_tab = i_fldtab

value_tab = t_pz

return_tab = l_return

dynpfld_mapping = i_dynmap.

  • Read return table and place that on low value of S_PZ

READ TABLE l_return INDEX 1.

s_pz-low = l_return-fieldval.

Can anyone help me...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,089

Hi mamtha,

Regards,

Sravanthi

10 REPLIES 10
Read only

Former Member
0 Likes
1,089

Hi,

Refresh the internal table l_return beofre each call of the FM and check.

Read only

Former Member
0 Likes
1,089

Hi

I had tried that also, even then itz not workin...

Read only

Former Member
0 Likes
1,090

Hi mamtha,

Regards,

Sravanthi

Read only

Former Member
0 Likes
1,089

Is s_pz a select option?? In that case try clearing S_PZ and not S_PZ-LOW before calling the function module IF_INT_TABLE_VALUE_REQUEST..

If s_pz is a selct option, that will be an internal table and will not be cleared by CLEAR S_PZ-LOW statement and will hold the old contents.

this might be the reason why F4 help is showing old record.

~Piyush Patil

Read only

Former Member
0 Likes
1,089

Hi mamtha,

Just try putting F4 help using SE11 rather than calling the FM.

I think that will work surely.

If you need the procedure to do so then do let me know.

Regards,

Manish

Read only

Former Member
0 Likes
1,089

Hi

I hv tried all those but still itz not workin...I'm sendin u my code...pls check it...

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

CLEAR s_desig.

REFRESH t_desig.

clear l_return[].

IF rb_pz = 'X'.

MOVE '08' TO t_desig-desig.

MOVE 'Administration Officer' TO t_desig-text.

APPEND t_desig.

MOVE '14' TO t_desig-desig.

MOVE 'Senior Assistant' TO t_desig-text.

APPEND t_desig.

MOVE '15' TO t_desig-desig.

MOVE 'Stenographer' TO t_desig-text.

APPEND t_desig.

MOVE '16' TO t_desig-desig.

MOVE 'Assistant' TO t_desig-text.

APPEND t_desig.

MOVE '17' TO t_desig-desig.

MOVE 'Record clerk' TO t_desig-text.

APPEND t_desig.

MOVE '18' TO t_desig-desig.

MOVE 'Driver' TO t_desig-text.

APPEND t_desig.

ELSEIF rb_rz = 'X'.

MOVE '08' TO t_desig-desig.

MOVE 'Administration Officer' TO t_desig-text.

APPEND t_desig.

MOVE '10' TO t_desig-desig.

MOVE 'Development Off-I' TO t_desig-text.

APPEND t_desig.

MOVE '16' TO t_desig-desig.

MOVE 'Assistant' TO t_desig-text.

APPEND t_desig.

MOVE '18' TO t_desig-desig.

MOVE 'Driver' TO t_desig-text.

APPEND t_desig.

MOVE '19' TO t_desig-desig.

MOVE 'Sub-Staff' TO t_desig-text.

APPEND t_desig.

MOVE '20' TO t_desig-desig.

MOVE 'Full-Time Sweeper' TO t_desig-text.

APPEND t_desig.

MOVE '21' TO t_desig-desig.

MOVE 'Part-Time Sweeper' TO t_desig-text.

APPEND t_desig.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'DESIG'

dynpprog = 'ztest'

dynpnr = '1000'

dynprofield = 'S_DESIG-LOW'

value_org = 'S'

window_title = 'TEST'

TABLES

field_tab = i_fldtab

value_tab = t_desig

return_tab = l_return

dynpfld_mapping = i_dynmap.

  • Read return table and place that on low value of S_PZ

READ TABLE l_return INDEX 1.

s_desig-low = l_return-fieldval.

Read only

Former Member
0 Likes
1,089

Hi Manish

Hw can I do it in se11 if I want to use my values based on radiobutton clicked...???

Read only

Former Member
0 Likes
1,089

hi u can use follwoing code it will solve

MODULE SOURCE_HELP INPUT.

DATA: W_PROGNAME LIKE SY-REPID,

W_SCR_NUM LIKE SY-DYNNR .

DATA: RETURN_VALUES LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.

DATA: ITAB_DYNPFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE,

T_DYNPFIELDS LIKE DYNPREAD.

DATA: T_DYNAME LIKE D020S-PROG,

T_DYNUMB LIKE D020S-DNUM.

DATA: BEGIN OF INT_F4 OCCURS 0,

KUNNR TYPE VBAK-KUNNR,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

END OF INT_F4.

****GETTING RECORDS IN THE INTERNAL TABLE FOR F4 DISPLAY

  • SELECT KZDIF DTEXT INTO TABLE INT_F4

  • FROM T336T

  • WHERE LGNUM = LTAK-LGNUM AND

  • SPRAS = 'E'.

SELECT KUNNR VBELN AUDAT

INTO TABLE INT_F4

FROM VBAK

UP TO 10 ROWS.

CLEAR INT_F4.

****function module to get pop-up window of f4.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'VBELN'

DYNPPROG = W_PROGNAME

DYNPNR = W_SCR_NUM

DYNPROFIELD = 'KUNNR'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = INT_F4

RETURN_TAB = RETURN_VALUES

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ELSE .

KUNNR = RETURN_VALUES-FIELDVAL.

ENDIF.

REFRESH ITAB_DYNPFIELDS. CLEAR: ITAB_DYNPFIELDS.

T_DYNPFIELDS-FIELDNAME = 'KUNNR'.

APPEND T_DYNPFIELDS TO ITAB_DYNPFIELDS.

T_DYNUMB = SY-DYNNR.

T_DYNAME = SY-REPID.

  • This function module must have the values added to

  • the internal table that you need t oread.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = T_DYNAME

DYNUMB = T_DYNUMB

TABLES

DYNPFIELDS = ITAB_DYNPFIELDS

EXCEPTIONS

INVALID_ABAPWORKAREA = 1

INVALID_DYNPROFIELD = 2

INVALID_DYNPRONAME = 3

INVALID_DYNPRONUMMER = 4

INVALID_REQUEST = 5

NO_FIELDDESCRIPTION = 6

INVALID_PARAMETER = 7

UNDEFIND_ERROR = 8

DOUBLE_CONVERSION = 9

STEPL_NOT_FOUND = 10

OTHERS = 11.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT ITAB_DYNPFIELDS.

CASE ITAB_DYNPFIELDS-FIELDNAME.

WHEN 'KUNNR'.

ITAB_DYNPFIELDS-FIELDVALUE = KUNNR.

MODIFY ITAB_DYNPFIELDS.

ENDCASE.

ENDLOOP.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

DYNAME = T_DYNAME

DYNUMB = T_DYNUMB

TABLES

DYNPFIELDS = ITAB_DYNPFIELDS

EXCEPTIONS

INVALID_ABAPWORKAREA = 1

INVALID_DYNPROFIELD = 2

INVALID_DYNPRONAME = 3

INVALID_DYNPRONUMMER = 4

INVALID_REQUEST = 5

NO_FIELDDESCRIPTION = 6

UNDEFIND_ERROR = 7

OTHERS = 8.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

REFRESH INT_F4.

CLEAR INT_F4.

ENDMODULE. " SOURCE_HELP INPUT

give point

Edited by: krupa jani on Aug 14, 2008 3:10 PM

Read only

Former Member
0 Likes
1,089

Problem solved...

Read only

Former Member
0 Likes
1,089

Thanq ...