SAP Function Modules

CS_WHERE_USED_MAT SAP Function module - Bills of material; where-used list







CS_WHERE_USED_MAT is a standard SAP function module available within R/3 SAP systems depending on your version and release level. Below is the pattern details for this FM showing its interface including any import and export parameters, exceptions etc as well as any documentation contributions (Comments) specific to the object.

See here to view full function module documentation and code listing, simply by entering the name CS_WHERE_USED_MAT into the relevant SAP transaction such as SE37 or SE80.

Associated Function Group: CSS5
Released Date: Not Released
Processing type: Normal fucntion module
Normal function module settings


Pattern for FM CS_WHERE_USED_MAT - CS WHERE USED MAT





CALL FUNCTION 'CS_WHERE_USED_MAT' "Bills of material; where-used list
  EXPORTING
    datub =                     " rc29l-datub   Date 'valid to'
    datuv =                     " rc29l-datuv   Date 'valid from'
    matnr =                     " rc29l-matnr   Material
*   postp = SPACE               " rc29l-postp   Item category
*   retcode_only = SPACE        " csdata-xfeld  no data - only set return code
*   stlan = SPACE               " rc29l-stlan   BOM usage
*   werks = SPACE               " rc29l-werks   Plant
*   mclmt = SPACE               " stzu-stuez
*   mnstl = SPACE               " stzu-stlnr
*   mxstl = SPACE               " stzu-stlnr
*   stltp = SPACE               " rc29a-atabr
*   newsi = SPACE               " csdata-xfeld
  IMPORTING
    topmat =                    " mc29s         Data on the initial material
  TABLES
    wultb =                     " stpov         WHERE-USED list table (items)
    equicat =                   " cscequi       Assembly table: equipments
    kndcat =                    " cscknd        Assembly table: sales orders
    matcat =                    " cscmat        Assembly table: materials
    stdcat =                    " cscstd        Assembly table: standard objects
    tplcat =                    " csctpl        Assembly table: functional locations
*   prjcat =                    " cscprj
  EXCEPTIONS
    CALL_INVALID = 1            "               Function module call incomplete or invalid
    MATERIAL_NOT_FOUND = 2      "               Material not available
    NO_WHERE_USED_REC_FOUND = 3  "              no where used record available
    NO_WHERE_USED_REC_SELECTED = 4  "           no where used record selected
    NO_WHERE_USED_REC_VALID = 5  "              no valid where used record available
    .  "  CS_WHERE_USED_MAT

ABAP code example for Function Module CS_WHERE_USED_MAT





The ABAP code below is a full code listing to execute function module CS_WHERE_USED_MAT including all data declarations. The code uses the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the original method of declaring data variables up front. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8).

DATA:
ld_topmat  TYPE MC29S ,
it_wultb  TYPE STANDARD TABLE OF STPOV,"TABLES PARAM
wa_wultb  LIKE LINE OF it_wultb ,
it_equicat  TYPE STANDARD TABLE OF CSCEQUI,"TABLES PARAM
wa_equicat  LIKE LINE OF it_equicat ,
it_kndcat  TYPE STANDARD TABLE OF CSCKND,"TABLES PARAM
wa_kndcat  LIKE LINE OF it_kndcat ,
it_matcat  TYPE STANDARD TABLE OF CSCMAT,"TABLES PARAM
wa_matcat  LIKE LINE OF it_matcat ,
it_stdcat  TYPE STANDARD TABLE OF CSCSTD,"TABLES PARAM
wa_stdcat  LIKE LINE OF it_stdcat ,
it_tplcat  TYPE STANDARD TABLE OF CSCTPL,"TABLES PARAM
wa_tplcat  LIKE LINE OF it_tplcat ,
it_prjcat  TYPE STANDARD TABLE OF CSCPRJ,"TABLES PARAM
wa_prjcat  LIKE LINE OF it_prjcat .


DATA(ld_datub) = 20210129

DATA(ld_datuv) = 20210129

DATA(ld_matnr) = some text here

DATA(ld_postp) = some text here

DATA(ld_retcode_only) = some text here

DATA(ld_stlan) = some text here

DATA(ld_werks) = some text here

SELECT single STUEZ
FROM STZU
INTO @DATA(ld_mclmt).


SELECT single STLNR
FROM STZU
INTO @DATA(ld_mnstl).


SELECT single STLNR
FROM STZU
INTO @DATA(ld_mxstl).


DATA(ld_stltp) = some text here

DATA(ld_newsi) = some text here

"populate fields of struture and append to itab
append wa_wultb to it_wultb.

"populate fields of struture and append to itab
append wa_equicat to it_equicat.

"populate fields of struture and append to itab
append wa_kndcat to it_kndcat.

"populate fields of struture and append to itab
append wa_matcat to it_matcat.

"populate fields of struture and append to itab
append wa_stdcat to it_stdcat.

"populate fields of struture and append to itab
append wa_tplcat to it_tplcat.

"populate fields of struture and append to itab
append wa_prjcat to it_prjcat. . CALL FUNCTION 'CS_WHERE_USED_MAT' EXPORTING datub = ld_datub datuv = ld_datuv matnr = ld_matnr * postp = ld_postp * retcode_only = ld_retcode_only * stlan = ld_stlan * werks = ld_werks * mclmt = ld_mclmt * mnstl = ld_mnstl * mxstl = ld_mxstl * stltp = ld_stltp * newsi = ld_newsi IMPORTING topmat = ld_topmat TABLES wultb = it_wultb equicat = it_equicat kndcat = it_kndcat matcat = it_matcat stdcat = it_stdcat tplcat = it_tplcat * prjcat = it_prjcat EXCEPTIONS CALL_INVALID = 1 MATERIAL_NOT_FOUND = 2 NO_WHERE_USED_REC_FOUND = 3 NO_WHERE_USED_REC_SELECTED = 4 NO_WHERE_USED_REC_VALID = 5 . " CS_WHERE_USED_MAT
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 2. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 3. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 4. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 5. "Exception "Add code for exception here ENDIF.







ABAP code to compare 7.40 inline data declaration with original syntax

The below ABAP code uses the older none in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. It may also be useful if you are using an older version of SAP as some of the newer syntax above, such as the @DATA is not available until 4.70 EHP 8.

DATA:
ld_topmat  TYPE MC29S ,
ld_datub  TYPE RC29L-DATUB ,
it_wultb  TYPE STANDARD TABLE OF STPOV ,
wa_wultb  LIKE LINE OF it_wultb,
ld_datuv  TYPE RC29L-DATUV ,
it_equicat  TYPE STANDARD TABLE OF CSCEQUI ,
wa_equicat  LIKE LINE OF it_equicat,
ld_matnr  TYPE RC29L-MATNR ,
it_kndcat  TYPE STANDARD TABLE OF CSCKND ,
wa_kndcat  LIKE LINE OF it_kndcat,
it_matcat  TYPE STANDARD TABLE OF CSCMAT ,
wa_matcat  LIKE LINE OF it_matcat,
ld_postp  TYPE RC29L-POSTP ,
it_stdcat  TYPE STANDARD TABLE OF CSCSTD ,
wa_stdcat  LIKE LINE OF it_stdcat,
ld_retcode_only  TYPE CSDATA-XFELD ,
it_tplcat  TYPE STANDARD TABLE OF CSCTPL ,
wa_tplcat  LIKE LINE OF it_tplcat,
ld_stlan  TYPE RC29L-STLAN ,
ld_werks  TYPE RC29L-WERKS ,
it_prjcat  TYPE STANDARD TABLE OF CSCPRJ ,
wa_prjcat  LIKE LINE OF it_prjcat,
ld_mclmt  TYPE STZU-STUEZ ,
ld_mnstl  TYPE STZU-STLNR ,
ld_mxstl  TYPE STZU-STLNR ,
ld_stltp  TYPE RC29A-ATABR ,
ld_newsi  TYPE CSDATA-XFELD .


ld_datub = 20210129

"populate fields of struture and append to itab
append wa_wultb to it_wultb.

ld_datuv = 20210129

"populate fields of struture and append to itab
append wa_equicat to it_equicat.

ld_matnr = some text here

"populate fields of struture and append to itab
append wa_kndcat to it_kndcat.

"populate fields of struture and append to itab
append wa_matcat to it_matcat.

ld_postp = some text here

"populate fields of struture and append to itab
append wa_stdcat to it_stdcat.

ld_retcode_only = some text here

"populate fields of struture and append to itab
append wa_tplcat to it_tplcat.

ld_stlan = some text here

ld_werks = some text here

"populate fields of struture and append to itab
append wa_prjcat to it_prjcat.

SELECT single STUEZ
FROM STZU
INTO ld_mclmt.


SELECT single STLNR
FROM STZU
INTO ld_mnstl.


SELECT single STLNR
FROM STZU
INTO ld_mxstl.


ld_stltp = some text here

ld_newsi = some text here

Contribute (Add Comments)

Please help keep this info upto date and use the comments section below to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name CS_WHERE_USED_MAT or its description.