Skip to Content
0
Former Member
Sep 17, 2007 at 07:41 AM

Urgent Help

31 Views

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.