2008 Apr 30 10:10 AM
Hi all
how to create "Help Value Request". It will appear when user pressing F4 (help) on an input field to request list of available value. if user given 'Z*' ..it shows ony the value which is starting with z.
pls help me.
thanks in advance.
indu
Hi all
how to create "Help Value Request". It will appear when user pressing F4 (help) on an input field to request list of available value. if user given 'Z*' ..it shows ony the value which is starting with z.
pls help me.
thanks in advance.
indu
2008 Apr 30 10:14 AM
If it's in a report, you could use the sentence AT SELECTION SCREEN ON VALUE REQUEST.
2008 Apr 30 10:18 AM
Hi Indu,
For providing the Help value for a particular field you need to provide for this field a check table.
Reward points if helpful.
Thanks,
Asha
2008 Apr 30 10:20 AM
F4IF_INT_TABLE_VALUE_REQUEST
This function module displays a value list that you created in an ABAP program. The value list is passed to the function module as the table parameter VALUE_TAB. If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the users selection is returned to the corresponding field on the screen. If you specify the table parameter RETURN_TAB, the selection is returned into the table instead.
FM DYNP_VALUES_READ can read the values of screen fields
Have a look at below sample code:
REPORT ZTEST_F4 .
DATA : BEGIN OF ITAB OCCURS 0,
NAME LIKE KNVK-NAMEV,
E_MAIL LIKE ADR6-SMTP_ADDR,
END OF ITAB.
PARAMETER : P_EMAIL LIKE ADR6-SMTP_ADDR.
INITIALIZATION.
ITAB-NAME = 'A'.
ITAB-E_MAIL = email@removed '.
APPEND ITAB.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_EMAIL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'E_MAIL'
DYNPPROG = 'ZTEST_F4'
DYNPNR = '1000'
DYNPROFIELD = 'P_EMAIL'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ITAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
Another Code sample:
REPORT DEMO_DYNPRO_F4_HELP_MODULE.
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_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.
The screen flow logic is as follows:
PROCESS BEFORE OUTPUT.
MODULE INIT.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
PROCESS ON VALUE-REQUEST.
FIELD CONNECTION MODULE VALUE_CONNECTION.
For the Flight number field, the POV module VALUE_CONNECTION is called. The
function module DYNP_VALUE_READ transports the value of the screen field CARRIER into the program. The program then reads the corresponding values from the database table SPFLI into the internal table VALUES_TAB using a SELECT statement, and passes the internal table to F4IF_INT_TABLE_VALUE_REQUEST. This displays the internal table as input help, and places the users selection into the screen field CONNECTION.
I hope it helps.
Best Regards,
Vibha
Please mark all the helpful answers
2008 Apr 30 10:21 AM
hi chk this sample code:
TYPES:
BEGIN OF T_EKPO,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MENGE LIKE EKPO-MENGE,
NETPR LIKE EKPO-NETPR,
END OF T_EKPO,
BEGIN OF T_VALTAB,
BUKRS LIKE T001-BUKRS,
END OF T_VALTAB.
DATA: I_EKKO TYPE STANDARD TABLE OF EKKO,
I_EKPO TYPE STANDARD TABLE OF T_EKPO.
SELECTION-SCREEN BEGIN OF BLOCK B1.
SELECT-OPTIONS: S_BUKRS FOR T001-BUKRS.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON S_BUKRS.
IF S_BUKRS IS INITIAL.
MESSAGE E000(ZZ) WITH TEXT-001.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_BUKRS-LOW.
PERFORM VALUE_REQ USING S_BUKRS-LOW.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_BUKRS-HIGH.
PERFORM VALUE_REQ USING S_BUKRS-HIGH.
*&---------------------------------------------------------------------*
*& Form VALUE_REQ
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM VALUE_REQ USING P_BUKRS.
I_FIELDTAB-TABNAME = 'T001'.
I_FIELDTAB-FIELDNAME = 'BUKRS'.
APPEND I_FIELDTAB.
SELECT BUKRS
FROM T001
INTO TABLE I_VALTAB.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = I_FIELDTAB-FIELDNAME
TABLES
VALUE_TAB = I_VALTAB
FIELD_TAB = I_FIELDTAB
RETURN_TAB = I_RETTAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC = 0.
P_BUKRS = I_RETTAB-FIELDVAL.
ENDIF.
ENDFORM. " VALUE_REQregards,
madhu
2008 Apr 30 10:23 AM
Hi,
Check the below code.
parameters: p_name like p0001-ename.
data: begin of it_name occurs 0,
name like p0001-ename,
end of it_name.
data: v_num type i.
at selection-screen on value-request for p_name.
if v_num is initial.
it_name-name = 'India'.
append it_name.
it_name-name = 'China'.
append it_name.
it_name-name = 'Japan'.
append it_name.
it_name-name = 'Indonesia'.
append it_name.
v_num = v_num + 1.
endif.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'NAME'
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
DYNPROFIELD = 'P_NAME'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_NAME
RETURN_TAB = RETURN
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.
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |