SAP Function Modules

CS_BOM_EXPLOSION_MAT SAP Function module - BOM explosion (old version); as of 3.0, use CS_BOM_EXPL_MAT_V2







CS_BOM_EXPLOSION_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_BOM_EXPLOSION_MAT into the relevant SAP transaction such as SE37 or SE80.

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


Pattern for FM CS_BOM_EXPLOSION_MAT - CS BOM EXPLOSION MAT





CALL FUNCTION 'CS_BOM_EXPLOSION_MAT' "BOM explosion (old version); as of 3.0, use CS_BOM_EXPL_MAT_V2
* EXPORTING
*   aclas = SPACE               " tappl-applclass  Application class
*   altvo = SPACE               " csdata-xfeld  Alternative priority
*   aufsw = SPACE               " csdata-xfeld  Determine and enter order level an path
*   aumgb = SPACE               " csdata-xfeld  Calculate scrap quantity
*   aumng = 0                   " stko-bmeng    Scrap quantity
*   auskz = SPACE               " csdata-xfeld  Take scrap into account
*   bagrp = SPACE               " mara-matnr    Assembly restriction
*   beikz = SPACE               " stpo-beikz    Material Provision Indicator
*   bessl = SPACE               " csdata-xfeld  Material provision selection indicator
*   bgixo = SPACE               " csdata-xfeld  Load assembly information for exploded assemblies only
*   brems = SPACE               " csdata-xfeld  Limited explosion
*   capid = 'STD1'              " tc04-capid    Application ID
*   cospr = SPACE               " csdata-xfeld  Internal: (CO) order-spec. MatPreRead
*   cuobj = 000000000000000     " marc-cuobj    Configuration
*   datuv = 00000000            " stko-datuv    Valid On
*   delnl = SPACE               " csdata-xfeld  Delete items not kept in stock from list
*   emeng = 0                   " stko-bmeng    Required quantity
*   erskz = SPACE               " stpo-erskz    Spare part indicator
*   erssl = SPACE               " csdata-xfeld  Spare part selection indicator
*   fbstp = SPACE               " csdata-xfeld  Limited multi-level - stop explosion at externally procured item
*   mbwls = SPACE               " csdata-xfeld  Read Material Valuation
*   mdmps = SPACE               " csdata-xfeld  Limited multi-level - explode phantom assemblies at least
*   mehrs = SPACE               " csdata-xfeld  Multi-level explosion
*   mkmat = SPACE               " csdata-xfeld  Limited multi-level; explode KMAT
*   mtnrv = SPACE               " mara-matnr    Material
*   postp = SPACE               " stpo-postp    Item category
*   rndkz = SPACE               " csdata-xfeld  Round off: ' '=always, '1'=never, '2'=only levels > 1
*   rvrel = SPACE               " stpo-rvrel    Relevant to sales
*   sanfr = SPACE               " stpo-sanfe    Production
*   sanin = SPACE               " stpo-sanin    Plant maintenance
*   sanka = SPACE               " stpo-sanka    Costing
*   sanko = SPACE               " stpo-sanko    Engineering/design
*   sanvs = SPACE               " stpo-sanvs    Shipping
*   schgt = SPACE               " stpo-schgt    Bulk material
*   stkkz = SPACE               " stpo-stkkz    PM assembly
*   stlal = SPACE               " stko-stlal    Alternative BOM
*   stlan = SPACE               " stzu-stlan    BOM usage
*   werks = SPACE               " marc-werks    Plant
  IMPORTING
    topmat =                    " cstmat        Data for start material
  TABLES
    stb =                       " stpol         Collective item data table
  EXCEPTIONS
    ALT_NOT_FOUND = 1           "               Alternative not found
    CALL_INVALID = 2            "               Incorrect parameter combination
    MATERIAL_NOT_FOUND = 3      "               Material Does Not Exist
    MISSING_AUTHORIZATION = 4   "               No authorization (bill of material)
    NO_BOM_FOUND = 5            "               There is no bill of materials for this material
    NO_PLANT_DATA = 6           "               Material not maintained in plant
    NO_SUITABLE_BOM_FOUND = 7   "               Bill of material does not exist
    .  "  CS_BOM_EXPLOSION_MAT

ABAP code example for Function Module CS_BOM_EXPLOSION_MAT





The ABAP code below is a full code listing to execute function module CS_BOM_EXPLOSION_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 CSTMAT ,
it_stb  TYPE STANDARD TABLE OF STPOL,"TABLES PARAM
wa_stb  LIKE LINE OF it_stb .


SELECT single APPLCLASS
FROM TAPPL
INTO @DATA(ld_aclas).


DATA(ld_altvo) = some text here

DATA(ld_aufsw) = some text here

DATA(ld_aumgb) = some text here

SELECT single BMENG
FROM STKO
INTO @DATA(ld_aumng).


DATA(ld_auskz) = some text here

SELECT single MATNR
FROM MARA
INTO @DATA(ld_bagrp).


SELECT single BEIKZ
FROM STPO
INTO @DATA(ld_beikz).


DATA(ld_bessl) = some text here

DATA(ld_bgixo) = some text here

DATA(ld_brems) = some text here

SELECT single CAPID
FROM TC04
INTO @DATA(ld_capid).


DATA(ld_cospr) = some text here

SELECT single CUOBJ
FROM MARC
INTO @DATA(ld_cuobj).


SELECT single DATUV
FROM STKO
INTO @DATA(ld_datuv).


DATA(ld_delnl) = some text here

SELECT single BMENG
FROM STKO
INTO @DATA(ld_emeng).


SELECT single ERSKZ
FROM STPO
INTO @DATA(ld_erskz).


DATA(ld_erssl) = some text here

DATA(ld_fbstp) = some text here

DATA(ld_mbwls) = some text here

DATA(ld_mdmps) = some text here

DATA(ld_mehrs) = some text here

DATA(ld_mkmat) = some text here

SELECT single MATNR
FROM MARA
INTO @DATA(ld_mtnrv).


SELECT single POSTP
FROM STPO
INTO @DATA(ld_postp).


DATA(ld_rndkz) = some text here

SELECT single RVREL
FROM STPO
INTO @DATA(ld_rvrel).


SELECT single SANFE
FROM STPO
INTO @DATA(ld_sanfr).


SELECT single SANIN
FROM STPO
INTO @DATA(ld_sanin).


SELECT single SANKA
FROM STPO
INTO @DATA(ld_sanka).


SELECT single SANKO
FROM STPO
INTO @DATA(ld_sanko).


SELECT single SANVS
FROM STPO
INTO @DATA(ld_sanvs).


SELECT single SCHGT
FROM STPO
INTO @DATA(ld_schgt).


SELECT single STKKZ
FROM STPO
INTO @DATA(ld_stkkz).


SELECT single STLAL
FROM STKO
INTO @DATA(ld_stlal).


SELECT single STLAN
FROM STZU
INTO @DATA(ld_stlan).


SELECT single WERKS
FROM MARC
INTO @DATA(ld_werks).


"populate fields of struture and append to itab
append wa_stb to it_stb. . CALL FUNCTION 'CS_BOM_EXPLOSION_MAT' * EXPORTING * aclas = ld_aclas * altvo = ld_altvo * aufsw = ld_aufsw * aumgb = ld_aumgb * aumng = ld_aumng * auskz = ld_auskz * bagrp = ld_bagrp * beikz = ld_beikz * bessl = ld_bessl * bgixo = ld_bgixo * brems = ld_brems * capid = ld_capid * cospr = ld_cospr * cuobj = ld_cuobj * datuv = ld_datuv * delnl = ld_delnl * emeng = ld_emeng * erskz = ld_erskz * erssl = ld_erssl * fbstp = ld_fbstp * mbwls = ld_mbwls * mdmps = ld_mdmps * mehrs = ld_mehrs * mkmat = ld_mkmat * mtnrv = ld_mtnrv * postp = ld_postp * rndkz = ld_rndkz * rvrel = ld_rvrel * sanfr = ld_sanfr * sanin = ld_sanin * sanka = ld_sanka * sanko = ld_sanko * sanvs = ld_sanvs * schgt = ld_schgt * stkkz = ld_stkkz * stlal = ld_stlal * stlan = ld_stlan * werks = ld_werks IMPORTING topmat = ld_topmat TABLES stb = it_stb EXCEPTIONS ALT_NOT_FOUND = 1 CALL_INVALID = 2 MATERIAL_NOT_FOUND = 3 MISSING_AUTHORIZATION = 4 NO_BOM_FOUND = 5 NO_PLANT_DATA = 6 NO_SUITABLE_BOM_FOUND = 7 . " CS_BOM_EXPLOSION_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 ELSEIF SY-SUBRC EQ 6. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 7. "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 CSTMAT ,
ld_aclas  TYPE TAPPL-APPLCLASS ,
it_stb  TYPE STANDARD TABLE OF STPOL ,
wa_stb  LIKE LINE OF it_stb,
ld_altvo  TYPE CSDATA-XFELD ,
ld_aufsw  TYPE CSDATA-XFELD ,
ld_aumgb  TYPE CSDATA-XFELD ,
ld_aumng  TYPE STKO-BMENG ,
ld_auskz  TYPE CSDATA-XFELD ,
ld_bagrp  TYPE MARA-MATNR ,
ld_beikz  TYPE STPO-BEIKZ ,
ld_bessl  TYPE CSDATA-XFELD ,
ld_bgixo  TYPE CSDATA-XFELD ,
ld_brems  TYPE CSDATA-XFELD ,
ld_capid  TYPE TC04-CAPID ,
ld_cospr  TYPE CSDATA-XFELD ,
ld_cuobj  TYPE MARC-CUOBJ ,
ld_datuv  TYPE STKO-DATUV ,
ld_delnl  TYPE CSDATA-XFELD ,
ld_emeng  TYPE STKO-BMENG ,
ld_erskz  TYPE STPO-ERSKZ ,
ld_erssl  TYPE CSDATA-XFELD ,
ld_fbstp  TYPE CSDATA-XFELD ,
ld_mbwls  TYPE CSDATA-XFELD ,
ld_mdmps  TYPE CSDATA-XFELD ,
ld_mehrs  TYPE CSDATA-XFELD ,
ld_mkmat  TYPE CSDATA-XFELD ,
ld_mtnrv  TYPE MARA-MATNR ,
ld_postp  TYPE STPO-POSTP ,
ld_rndkz  TYPE CSDATA-XFELD ,
ld_rvrel  TYPE STPO-RVREL ,
ld_sanfr  TYPE STPO-SANFE ,
ld_sanin  TYPE STPO-SANIN ,
ld_sanka  TYPE STPO-SANKA ,
ld_sanko  TYPE STPO-SANKO ,
ld_sanvs  TYPE STPO-SANVS ,
ld_schgt  TYPE STPO-SCHGT ,
ld_stkkz  TYPE STPO-STKKZ ,
ld_stlal  TYPE STKO-STLAL ,
ld_stlan  TYPE STZU-STLAN ,
ld_werks  TYPE MARC-WERKS .


SELECT single APPLCLASS
FROM TAPPL
INTO ld_aclas.


"populate fields of struture and append to itab
append wa_stb to it_stb.

ld_altvo = some text here

ld_aufsw = some text here

ld_aumgb = some text here

SELECT single BMENG
FROM STKO
INTO ld_aumng.


ld_auskz = some text here

SELECT single MATNR
FROM MARA
INTO ld_bagrp.


SELECT single BEIKZ
FROM STPO
INTO ld_beikz.


ld_bessl = some text here

ld_bgixo = some text here

ld_brems = some text here

SELECT single CAPID
FROM TC04
INTO ld_capid.


ld_cospr = some text here

SELECT single CUOBJ
FROM MARC
INTO ld_cuobj.


SELECT single DATUV
FROM STKO
INTO ld_datuv.


ld_delnl = some text here

SELECT single BMENG
FROM STKO
INTO ld_emeng.


SELECT single ERSKZ
FROM STPO
INTO ld_erskz.


ld_erssl = some text here

ld_fbstp = some text here

ld_mbwls = some text here

ld_mdmps = some text here

ld_mehrs = some text here

ld_mkmat = some text here

SELECT single MATNR
FROM MARA
INTO ld_mtnrv.


SELECT single POSTP
FROM STPO
INTO ld_postp.


ld_rndkz = some text here

SELECT single RVREL
FROM STPO
INTO ld_rvrel.


SELECT single SANFE
FROM STPO
INTO ld_sanfr.


SELECT single SANIN
FROM STPO
INTO ld_sanin.


SELECT single SANKA
FROM STPO
INTO ld_sanka.


SELECT single SANKO
FROM STPO
INTO ld_sanko.


SELECT single SANVS
FROM STPO
INTO ld_sanvs.


SELECT single SCHGT
FROM STPO
INTO ld_schgt.


SELECT single STKKZ
FROM STPO
INTO ld_stkkz.


SELECT single STLAL
FROM STKO
INTO ld_stlal.


SELECT single STLAN
FROM STZU
INTO ld_stlan.


SELECT single WERKS
FROM MARC
INTO ld_werks.

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_BOM_EXPLOSION_MAT or its description.