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 in modulepool

Former Member
0 Likes
963

Hi Experts,

i have deleted standard f4 help in my program and i have added few values in particular field.however if i clicked that f4 help it displayed only ****** instead of added valus. can anybody help me how to do it.

Thanks

rajesh

8 REPLIES 8
Read only

Former Member
0 Likes
949

Hi,

May be data elements you are using have the F4 help.

regards,

Lokesh

Read only

Former Member
0 Likes
949

Just Check attributes for that field. IF they are for password then it is showin ****

Read only

0 Likes
949

Hi,

i forget to say the message is displayed when pressing f4.

"Internal unit nos, language EN is not maintained" . i dont know what is the problem.

Regards,

rajesh

Read only

Former Member
0 Likes
949

what is the F4 help and show the code what you are doing..?

Read only

0 Likes
949

Hi vijay,

I have done module pool program for gate passout in that i used table control for material move . fourth column i have used unit of measure. here i attached my coding

DATA: BEGIN OF IT_GPRGP1 OCCURS 0,

MEINS LIKE MSEG-MEINS,

END OF IT_GPRGP1.

&----


*& MODULE f4_GPRGP1 INPUT

&----


  • text

----


MODULE f4_GPRGP1 INPUT.

IF IT_GPRGP1[] IS INITIAL.

PERFORM APPEND_IT_GPRGP1.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = text-s08

  • PVALKEY = ' '

dynpprog = 'SAPMZGPRGPN'

dynpnr = '2000'

dynprofield = 'IT_ITEM-MEINS'

  • STEPL = 0

window_title = text-s08

  • VALUE = ' '

value_org = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = IT_GPRGP1

  • FIELD_TAB =

return_tab = it_return_tab .

  • DYNPFLD_MAPPING =

  • 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.

  • ENDIF.

ENDMODULE. "f4_GPRGP INPUT.

&----


*& Form APPEND_IT_GPRGP1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM APPEND_IT_GPRGP1 .

*CLEAR IT_GPRGP1.

IT_GPRGP1-MEINS = 'Kg'.

APPEND IT_GPRGP1.

CLEAR IT_GPRGP1.

IT_GPRGP1-MEINS = 'Pcs'.

APPEND IT_GPRGP1.

CLEAR IT_GPRGP1.

IT_GPRGP1-MEINS = 'Nos'.

APPEND IT_GPRGP1.

CLEAR IT_GPRGP1.

ENDFORM. " APPEND_IT_GPRGP1

if i press f4 displayed the message " launguage EN is not maintained . please give me some solutions.

Thanks

rajesh

Read only

Former Member
0 Likes
949

Hi,

Please ensure that search help attribute for that particular field is blank.

check th following sample code

sample code:-

TYPES: BEGIN OF VALUES,

CARRID TYPE SPFLI-CARRID,

CONNID TYPE SPFLI-CONNID,

END OF VALUES.

DATA: CARRIER(3) TYPE C,

CONNECTION(4) TYPE C.

DATA: PROGNAME LIKE SY-REPID,

DYNNUM LIKE SY-DYNNR,

DYNPRO_VALUES TYPE TABLE OF DYNPREAD,

FIELD_VALUE LIKE LINE OF DYNPRO_VALUES,

VALUES_TAB TYPE TABLE OF VALUES.

CALL SCREEN 100.

MODULE INIT OUTPUT.

PROGNAME = SY-REPID.

DYNNUM = SY-DYNNR.

CLEAR: FIELD_VALUE, DYNPRO_VALUES.

FIELD_VALUE-FIELDNAME = 'CARRIER'.

APPEND FIELD_VALUE TO DYNPRO_VALUES.

ENDMODULE.

MODULE CANCEL INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE VALUE_CARRIER INPUT.

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

TABNAME = 'DEMOF4HELP'

FIELDNAME = 'CARRIER1'

DYNPPROG = PROGNAME

DYNPNR = DYNNUM

DYNPROFIELD = 'CARRIER'.

ENDMODULE.

MODULE VALUE_CONNECTION INPUT.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = PROGNAME

DYNUMB = DYNNUM

TRANSLATE_TO_UPPER = 'X'

TABLES

DYNPFIELDS = DYNPRO_VALUES.

READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.

SELECT CARRID CONNID

FROM SPFLI

INTO CORRESPONDING FIELDS OF TABLE VALUES_TAB

WHERE CARRID = FIELD_VALUE-FIELDVALUE.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'CONNID'

DYNPPROG = PROGNAME

DYNPNR = DYNNUM

DYNPROFIELD = 'CONNECTION'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = VALUES_TAB.

ENDMODULE.

Thanks & Regards,

Sateesh.

Edited by: sateesh kumar on Apr 27, 2009 12:22 PM

Read only

Former Member
0 Likes
949

see the following example

MODULE module_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 : fd_name LIKE help_info-dynprofld.

DATA: BEGIN OF int_f4 OCCURS 0,

kunnr TYPE kna1-kunnr,

name1 TYPE kna1-name1,

land1 TYPE kna1-land1,

regio TYPE kna1-regio,

adrnr TYPE kna1-adrnr,

END OF int_f4.

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

SELECT kunnr name1 land1 regio adrnr

INTO TABLE int_f4

FROM kna1

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 = 'KUNNR'

dynpprog = w_progname

dynpnr = w_scr_num

dynprofield = 'TB_WA-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 s000(zsn) WITH 'could not find the values'.

  • 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 = 'TB_WA-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.

break developer.

LOOP AT itab_dynpfields.

CASE itab_dynpfields-fieldname.

WHEN 'TB_WA-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

Read only

Former Member
0 Likes
949

Hi,


PROCESS AFTER INPUT.

* Main Flow Logic
  MODULE user_command_2010.

*F4 Help
PROCESS ON VALUE-REQUEST.
  FIELD w_mchb_charg MODULE f4_batch_number_validate.  "Add your Custom field heree

MODULE f4_batch_number_validate INPUT.

*passw your values to Internal table
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
        retfield    = 'MATNR'
        dynpprog    = sy-repid
        dynpnr      = '2010'
        dynprofield = 'W_MCHB_MATNR'
        value_org   = 'S'
      TABLES
        value_tab   = t_matnr.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

ENDMODULE.    

regards,

Prabhudas