Hi,
Refere this code.
INPUT FIELDS:
*******************
1.MATNR(MATERIAL NUMBER), 2. WERKS(PLANT), 3.STLAN(BOM USAGE),4.DATUV(VALID FROM), 5. DATUB(VALID TO).
I want to use 'CS_WHERE_USED_MAT' this function module here to get the detail where the material is using now. I don't know how to use this function module, please any one help me.
TABLES: MARC,T439G.
SELECTION-SCREEN BEGIN OF BLOCK MATERIAL WITH FRAME TITLE T1.
SELECT-OPTIONS: MATNR FOR MARC-MATNR.
PARAMETERS: WERKS LIKE MARC-WERKS, "OBLIGATORY.
STLAN LIKE MARC-STLAN," OBLIGATORY.
DATUV LIKE T439G-DATUV,
DATUB LIKE T439G-DATUB.
SELECTION-SCREEN END OF BLOCK MATERIAL.
INITIALIZATION.
T1 = 'MATERIAL DETAILS'.
DATA : TEMPMATCAT LIKE CSCMAT OCCURS 0 WITH HEADER LINE.
DATA: CHOISE TYPE I,
FLAG TYPE I,
VALUE_LOW LIKE DYNPREAD-FIELDVALUE,
VALUE_HIGH LIKE DYNPREAD-FIELDVALUE,
TFLD_NAME TYPE STRING,
SFLD_NAME TYPE STRING.
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
STLAN LIKE MARC-STLAN,
END OF ITAB.
DATA: DYNFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR WERKS.
FLAG = 1.
PERFORM FUNCTION_POV.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR STLAN.
FLAG = 2.
PERFORM FUNCTION_POV.
FORM FUNCTION_POV.
DYNFIELDS-FIELDNAME = 'MATNR-LOW' .
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'MATNR-HIGH' .
APPEND DYNFIELDS.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
TABLES
DYNPFIELDS = DYNFIELDS
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.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'MATNR-LOW'.
VALUE_LOW = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'MATNR-HIGH'.
VALUE_HIGH = DYNFIELDS-FIELDVALUE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = VALUE_LOW
IMPORTING
OUTPUT = VALUE_LOW.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = VALUE_HIGH
IMPORTING
OUTPUT = VALUE_HIGH.
DATA : RET_TAB TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.
IF VALUE_HIGH <> SPACE.
SELECT MATNR WERKS STLAN FROM MARC INTO TABLE ITAB WHERE MATNR BETWEEN VALUE_LOW AND VALUE_HIGH.
ELSE.
SELECT MATNR WERKS STLAN FROM MARC INTO TABLE ITAB WHERE MATNR = VALUE_LOW." AND VALUE_HIGH.
ENDIF.
IF FLAG = 1.
TFLD_NAME = 'WERKS'.
SFLD_NAME = 'WERKD'.
PERFORM FUNCTION1.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'WERKS' "Original table name FIELD
DYNPROFIELD = 'WERKS' "Screen field name
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ITAB
RETURN_TAB = RET_TAB
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.
ENDIF.
IF FLAG = 2.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'STLAN' "Original table name
DYNPROFIELD = 'STLAN' "Screen field name
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ITAB
RETURN_TAB = RET_TAB
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.
ENDIF.
ENDFORM.