‎2009 Apr 22 9:38 AM
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
‎2009 Apr 22 9:56 AM
Hi,
May be data elements you are using have the F4 help.
regards,
Lokesh
‎2009 Apr 22 9:59 AM
Just Check attributes for that field. IF they are for password then it is showin ****
‎2009 Apr 22 11:46 AM
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
‎2009 Apr 22 11:50 AM
‎2009 Apr 27 10:23 AM
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
‎2009 Apr 27 11:21 AM
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
‎2009 Apr 27 12:54 PM
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
‎2009 Apr 27 12:59 PM
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