Skip to Content

BOM level Reporting for Finished Goods using Function module based  Data Source  in SAP–Business Intelligence

Applies to:

SAP Business Intelligence 7.0. For more information, visit the Business Intelligence homepage

Summary

The purpose of this paper is to describe the Custom BI/BW Extractors which will incorporate the logic of extracting the Bill Of Material details for Materials(Finished Goods/Semi Finished Goods) from R/3.This specification is developed in R/3 to make available the Bill Of Material data in SAP BI which can be used for Component level reporting.

This extracted data when loaded to the single DSO provides information about each Material’s Bill Of Material (BOM) Item and Header details across different Plants in BW System.

Extractor is designed to pull Raw Materials and Packaging Materials directly tied to finished good Materials in scenario.Reporting also considered Active Materials, BOM component, Validity date for Materials

Author(s):    Sunil B Manjunath

Company:    Accenture

Created on:  15 April 2012

Author Bio

Sunil is SAP BI Consultant at Accenture Services Pvt. Limited,Kansas City – USA.He is working in BI Space from past 45 months and has rich experience in Business Datawarehouse technologies,Business Reporting,Handling client requirements and ABAP development experience.He has experience working with client in Consumer Goods and Services Industries in implementing Financials, Logistics solutions.

 
 

Table of Contents

Applies to: 1

  1. Summary. 1

Author Bio. 1

Table of Contents. 2

Abstract 3

Business Scenario. 3

Challenges: 3

Solution Benefits: 3

Development Specification: 4

Sample Example: 5

Appendix A: 6

Related Content 14

Copyright 15

 
 

Abstract

The purpose of this paper is to describe the usage of function module based Custom BI/BW Extractors which will incorporate the logic of extracting the Bill Of Material details for all Materials from R/3.This specification is developed in R/3 to make available the Bill Of Material data in SAP BI which can be used for Component level reporting.It avoids the usage of two different data Sources to store Item level and Header level data.

This extracted data when loaded to the DSO provides information about each Material’s(Finished Goods/Semi Finished Goods) Bill Of Material (BOM) across different Plants.

Extractor is designed to pull Active Valid Raw Materials and Packaging Materials directly tied to a Finished good Materials and to track quantity usage and cost level in Reports.

Business Scenario

The client had requirement of Material’s Component Level Data for COGS(Cost of Goods Sold) Model for BPC Project for planning and forecasting in BW System.

They needed to report on component(BOM) level information.The Report need to pull Raw Materials and Packaging Materials directly tied to a Finished good Materials. Raw Materials and Packaging Materials referred here are indeed components of Finished Goods Materials.Then need to calculate a simple average of all main, alternate and different Materials used by Finished Goods across different plants .

They also need to consider only Active Finished Goods Materials which indeed contains Active BOM which

are Valid.

Challenges:

  • Avoid usage of using two DataSources for pulling BOM Header and Item details which in turn require two

InfoProviders in BW System

.

  • There was a challenge to get only Active Materials considering various factors like Ignoring Materials with Deletion flags and Components which have marked for deletion,those which fall in valid period.
  • The option of getting the MAST, MARC,STKO and STPO Table entries to BW and then writing ABAP Code in BI to get item details was not a viable solution .
  • There was no Function Module in BI which would generate the components based on material and BOM combination.
  • There was no Master Data available for BOM Details.

Solution Benefits:

Avoids creation of two different extractors for storing BOM Header and Item levels.

Using this design, we can get the BOM level information details readily in the BW system without going for two separate InfoProviders for both Header and Item level data.

This BOM data in the DSO can be used across applications to report at component level data with varied Reporting.

The Changes can be handled in Function module level in Source System which reduces complexity in BW System

This minimized coding on the BI side too.

Development Specification:

BOM Extractor

  • Create a function module in ECC system which has the function module RSAX_GET_DATA_SIMPLE as the template.

Algorithm of the Function module:

  • Selections to be included are Plant, Alternative BOM, BOM Usage, Procurement Type and material.
  • Desired Selection can be chosen.
  • Select all the materials which does not have deletion flag indicator from MARC table into internal table for the selections given above.This Step is necessary to chose Active Materials without deletion Indicator.
  • Select all the relevant materials from MAST table into internal table for all the Materials chosen from above step.
  • Call the FM CS_BOM_EXPLOSION for each Finished Goods material untill all Basic Materials are resulted.
  • This FM will give all the Components, its Qty, Its UOM, Valid From,Alt Bom,BOM usage and Valid to Date for each material passed.
  • Include the logic for conversions to different data types like DATE and QUAN.
  • The ABAP source code for this FM is in Appendix A.

Assumptions:

Finished Goods Materials range starts from 700000 to 799999.

Packaging Material range starts from 600000 to 699999.

Basic(Raw) Material range starts from 400000 to 599999.

Finished Goods Materials starting from 700000 to 799999 is used for selection but however it works for other Materials too provided slight modification for code according requirement.

  • Create a new Generic DataSource of type Master data and assign it to application component PP. This Generic DataSource which will use the above function module to extract data
  • In BW Replicate Generic DataSources in BW in application component PP.
  • Create a standard DSO which will store BOM Level Information and map DSO to replicated DataSource.
  • BW Report is created to Calculate Average BOM used by finished Goods across the Plants.

Sample Example:

Finished Goods: 702000 – White Classic Bread   5lb

It is made up of Semi finished good    602000 – Dough 3lb

                            Raw Material           403000 – Wheat Flour 0.5lb

                            Raw Material            499999 – Sugar 1lb

                            Packaging Material   502000 – Thin fiber Plastic 0.5lb

Semi Finished Good 602000 in turn contain

                             Raw Material          403000 – Wheat Flour 2lb

                             Raw Material          415600 – Sugar 0.3lb

Raw Material          499999 – Water 0.7lb

The following Function module will tie all the Raw Material and Packaging tied to

Finished Goods and sum up the quantity used.

Result

Finished Goods 702000 – White Classic Bread – 5lb

Raw Material             403000 – Wheat Flour 0.5lb + 2lb – 2.5lb

Raw Material             499999 – Sugar 1lb + 0.3lb – 1.3lb

Packaging Material 502000 – Thin fiber Plastic – 0.5lb

Raw Material              499999 – Water 0.7lb

This is Recipe(BOM) for one Finished goods across Plant.This recipe may vary across different Plants.

Appendix A:

FUNCTION ZRSAX_GET_DATA_SIMPLE .

*”———————————————————————- *”*”Local Interface:

*” IMPORTING

*” VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR

*” VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL

*” VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL

*” VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL

*” VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL

*” TABLES

*” I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL

*” I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL

*” E_T_DATA STRUCTURE ZCPS_BOM_STR OPTIONAL

*” EXCEPTIONS

*” NO_MORE_DATA

*” ERROR_PASSED_TO_MESS_HANDLER

*”———————————————————————- * Auxiliary Selection criteria structure

TABLES: STKO,MAST,MARC.

DATA: L_S_SELECT TYPE SRSC_S_SELECT,

LT_DATE LIKE STKO-DATUV,

      I_QTY TYPE STPO-MENGE,

IT_QTY TYPE STPO-MENGE,

LT1_DATE LIKE STKO-DATUV,

      I1_QTY TYPE STPO-MENGE,

IT1_QTY TYPE STPO-MENGE,

L_TABIX LIKE SY-TABIX,

I_COMPONENT LIKE MAST-MATNR,

IT_COMPONENT LIKE MAST-MATNR.

DATA: L_COMP_QTY(18),

LT_COMP_QTY(18),

LT1_COMP_QTY(18).

DATA: BEGIN OF I_MAST OCCURS 0,

MATNR LIKE MAST-MATNR, “MATERIAL

WERKS LIKE MAST-WERKS, “PLANT

STLAN LIKE MAST-STLAN, “BOM USAGE

STLNR LIKE MAST-STLNR, “BOM

STLAL LIKE MAST-STLAL, “ALTERNATIVE BOM

END OF I_MAST.

DATA : I_STKO LIKE I_MAST OCCURS 0.

DATA: BEGIN OF I_MARC OCCURS 0,

       MATNR LIKE MARC-MATNR, “MATERIAL

       WERKS LIKE MARC-WERKS, “PLANT

       BESKZ LIKE MARC-BESKZ,

      END OF I_MARC.

  

DATA: I_STBP LIKE CSXGEN OCCURS 0 WITH HEADER LINE,

       IT_STBP LIKE CSXGEN OCCURS 0 WITH HEADER LINE,

       IT1_STBP LIKE CSXGEN OCCURS 0 WITH HEADER LINE,

      I_STBD LIKE CSXDOC OCCURS 0 WITH HEADER LINE,

      I_STBE LIKE CSXEQUI OCCURS 0 WITH HEADER LINE,

      I_STBK LIKE CSXKLA OCCURS 0 WITH HEADER LINE,

      I_STBM LIKE CSXMAT OCCURS 0 WITH HEADER LINE,

      I_STBT LIKE CSXTPL OCCURS 0 WITH HEADER LINE,

      V_LOEKZ TYPE STKO-LOEKZ,

      RES_QTY TYPE EKPO-MENGE,

      ZCPS_BOM_TAB LIKE ZCPS_BOM_STR OCCURS 0 WITH HEADER LINE.

RANGES: R_MATNR FOR MAST-MATNR,

R_WERKS FOR MAST-WERKS,

R_STLAN FOR MAST-STLAN,

R_BESKZ FOR MARC-BESKZ,

R_STLAL FOR MAST-STLAL.

* Maximum number of lines for DB table

STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,

S_COUNTER_DATAPAKID LIKE SY-TABIX.

* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
IF I_INITFLAG = SBIWA_C_FLAG_ON.
************************************************************************
* Initialization: check input parameters
* buffer input parameters
* prepare data selection
************************************************************************
* Check DataSource validity
CASE I_DSOURCE.
WHEN ‘ZCPS_BOM_ITM’.
WHEN OTHERS.
IF 1 = 2. MESSAGE E009(R3). ENDIF.
* this is a typical log call. Please write every error message like this
LOG_WRITE
‘E’ “message type
‘R3’ “message class
‘009’ “message number
I_DSOURCE
“message variable 1
‘ ‘. “message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.

APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.
* Fill parameter buffer for data extraction calls
S_S_IF-REQUNR = I_REQUNR.
S_S_IF-DSOURCE = I_DSOURCE.
S_S_IF-MAXSIZE = I_MAXSIZE.
* Fill field list table for an optimized select statement
* (in case that there is no 1:1 relation between InfoSource fields
* and database table fields this may be far from being trivial)
APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
ELSE. “Initialization mode or data extraction ?
************************************************************************
* Data transfer: First Call OPEN CURSOR + FETCH
* Following Calls FETCH only
************************************************************************
* First data package -> OPEN CURSOR
IF S_COUNTER_DATAPAKID = 0.
CLEAR: R_MATNR,
R_WERKS,
R_STLAN,
R_BESKZ,

R_STLAL.
REFRESH: R_MATNR,
R_WERKS,
R_STLAN,
R_BESKZ,

R_STLAL.
*– Material Number
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘MATNR’.
MOVE-CORRESPONDING L_S_SELECT TO R_MATNR.
APPEND R_MATNR.
ENDLOOP.
*– Plant
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘WERKS’.
MOVE-CORRESPONDING L_S_SELECT TO R_WERKS.
APPEND R_WERKS.
ENDLOOP.
*– Item Category
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘STLAN’.
MOVE-CORRESPONDING L_S_SELECT TO R_STLAN.
APPEND R_STLAN.
ENDLOOP.
*– Alternative BOM
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘BOM_ALT’.
MOVE-CORRESPONDING L_S_SELECT TO R_STLAL.
APPEND R_STLAL.
ENDLOOP.
*– Procurement Type
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘BESKZ’.
MOVE-CORRESPONDING L_S_SELECT TO R_BESKZ.
APPEND R_BESKZ.
ENDLOOP.

* Consider the only Active Materials     

SELECT * INTO CORRESPONDING FIELDS OF TABLE I_MARC FROM MARC
WHERE WERKS IN R_WERKS AND MATNR IN R_MATNR
AND BESKZ IN R_BESKZ AND LVORM NE ‘X’.

SELECT * INTO CORRESPONDING FIELDS OF TABLE I_MAST
FROM MAST FOR ALL ENTRIES IN I_MARC WHERE WERKS EQ I_MARC-WERKS AND MATNR EQ I_MARC-MATNR.
IF SY-SUBRC EQ 0.
SORT I_MAST BY WERKS MATNR STLNR.
DELETE I_MAST WHERE WERKS = .
ENDIF.

LOOP AT I_MAST.

* Consider the only Active BOM Active Components    

SELECT SINGLE LOEKZ FROM STKO INTO V_LOEKZ WHERE  STLNR = I_MAST-STLNR AND STLAL = I_MAST-STLAL.
IF sy-subrc = 0.
IF V_LOEKZ EQ ‘X’.
CONTINUE.
ENDIF.
ENDIF.

* Function Module which outputs the components of Finished Goods(Semi Finished Goods)

   

CALL FUNCTION ‘CS_BOM_EXPLOSION’
EXPORTING
*AUMNG                       = ‘0.000’
CAPID                       = 
‘    ‘
CUOBJ                       =
‘000000000000000’
DATUV                       = SY-DATUM
EMENG                       =
‘1’
MKTLS                       =
‘X’
MTNRV                       =  I_MAST-MATNR
STLAL                       =  I_MAST-STLAL
STLAN                       =
‘1’
STPST                       =
0
SVWVO                       =
‘X’
WERKS                       = I_MAST-WERKS
VBPOS                       =
‘000000’
VRSVO                       =
‘X’

TABLES
STBD                        = I_STBD
STBE                        = I_STBE

STBK                        = I_STBK
STBM                        =  I_STBM
STBP                        = I_STBP
  STBT                        = I_STBT
EXCEPTIONS
  ALT_NOT_FOUND               =
1
  CALL_INVALID                =
2
  MISSING_AUTHORIZATION       =
3
  NO_BOM_FOUND                =
4
NO_PLANT_DATA               =
5
  NO_SUITABLE_BOM_FOUND       =
6
  OBJECT_NOT_FOUND            =
7
  CONVERSION_ERROR            =
8
*OTHERS                      = 9
.


IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT I_STBP.

IF I_STBP-OBJNR EQ .
CONTINUE.
ENDIF.

* Material 700000 and 799999 , 600000 and 699999 represent Finished Goods and Semi Finished Goods respectively(this can be generalized according to different requirement) in this code  

I_COMPONENT = I_STBP-OBJNR.
IF I_COMPONENT BETWEEN ‘600000’ AND ‘699999’ OR  I_COMPONENT BETWEEN ‘700000’ AND ‘799999’.

IF I_STBP-MNGLG EQ ‘0’.
I_STBP-MNGLG =
‘0.001’.
ENDIF.

CALL FUNCTION ‘CS_BOM_EXPLOSION’
EXPORTING

AUMNG                       = ‘0’
CAPID                       =
‘   ‘
CUOBJ                       =
‘000000000000000’
DATUV                       = SY-DATUM
EMENG                       = I_STBP-MNGLG
MKTLS                       =
‘X’
MTNRV                       = I_COMPONENT
STLAL                       = I_STBP-STLAL
STLAN                       =
‘1’
STPST                       =
‘0’
SVWVO                       =
‘X’
WERKS                       = i_mast-werks
VBPOS                       =
0
VRSVO                       =
‘X’

TABLES

STBD                        = I_STBD
  STBE                        =  I_STBE
  STBK                        =  I_STBK
  STBM                        =  I_STBM
STBP                        = IT_STBP
  STBT                        = I_STBT
EXCEPTIONS
ALT_NOT_FOUND               =
1
CALL_INVALID                =
2
MISSING_AUTHORIZATION       =
3
NO_BOM_FOUND                =
4
NO_PLANT_DATA               =
5
NO_SUITABLE_BOM_FOUND       =
6
OBJECT_NOT_FOUND            =
7
CONVERSION_ERROR            =
8
OTHERS                      = 9
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT IT_STBP.
IT_COMPONENT = IT_STBP-OBJNR.
IF IT_COMPONENT EQ .
CONTINUE.
ENDIF.

IF IT_COMPONENT BETWEEN ‘600000’ AND ‘699999’ OR  IT_COMPONENT BETWEEN ‘700000’ AND ‘799999’.

IF IT_STBP-MNGLG EQ ‘0’.
IT_STBP-MNGLG =
‘0.001’.
ENDIF.
CALL FUNCTION ‘CS_BOM_EXPLOSION’
EXPORTING

CAPID                       = ‘    ‘
DATUV                       = SY-DATUM
*
EMENG                       = IT_STBP-MNGLG
MKTLS                       =
‘X’
MTNRV                       = IT_COMPONENT
STLAL                       = IT_STBP-STLAL
STLAN                       =
‘1’
STPST                       =
0
SVWVO                       =
‘X’
WERKS                       = i_mast-werks
VBPOS                       =
0
VRSVO                       =
‘X’

TABLES

   STBD                        = I_STBD
  STBE                        = I_STBE
STBK                        = I_STBK
  STBM                        = I_STBM
STBP                        = IT1_STBP
  STBT                        = I_STBT
EXCEPTIONS
ALT_NOT_FOUND               =
1
CALL_INVALID                =
2
MISSING_AUTHORIZATION       =
3
NO_BOM_FOUND                =
4
NO_PLANT_DATA               =
5
NO_SUITABLE_BOM_FOUND       =
6
OBJECT_NOT_FOUND            =
7
CONVERSION_ERROR            =
8
OTHERS                      = 9
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

MOVE-CORRESPONDING I_MAST TO ZCPS_BOM_TAB.
LOOP AT IT1_STBP.
IF IT1_STBP-OBJNR EQ .
CONTINUE.
ENDIF.

LT1_COMP_QTY = IT1_STBP-MNGLG.
REPLACE ALL OCCURRENCES OF ‘,’ IN LT1_COMP_QTY WITH SPACE.
CONDENSE LT1_COMP_QTY.

IT1_QTY = LT1_COMP_QTY.

MOVE-CORRESPONDING I_MAST TO ZCPS_BOM_TAB.
“Individual mapping is done as the valid to and from date is not in BW format
*                 ZCPS_BOM_TAB-STLAL = IT1_STBP-STLAL.
ZCPS_BOM_TAB-POSTP = IT1_STBP-STLTY.
ZCPS_BOM_TAB-STLNR = IT1_STBP-STLNR.
ZCPS_BOM_TAB-POSNR = IT1_STBP-POSNR.
ZCPS_BOM_TAB-STLKN = IT1_STBP-STLKN.
ZCPS_BOM_TAB-STPOZ = IT1_STBP-STPOZ.
ZCPS_BOM_TAB-IDNRK = IT1_STBP-OBJNR.
ZCPS_BOM_TAB-MENGE = IT1_QTY.
ZCPS_BOM_TAB-MEINS = IT1_STBP-MEINS.

ZCPS_BOM_TAB-DATUV+0(4) = IT1_STBP-DATUV+0(4).
ZCPS_BOM_TAB-DATUV+
4(2) = IT1_STBP-DATUV+4(2).
ZCPS_BOM_TAB-DATUV+
6(2) = IT1_STBP-DATUV+6(2).
ZCPS_BOM_TAB-DATUB+
0(4) = IT1_STBP-DATUB+0(4).
ZCPS_BOM_TAB-DATUB+
4(2) = IT1_STBP-DATUB+4(2).
ZCPS_BOM_TAB-DATUB+
6(2) = IT1_STBP-DATUB+6(2).
APPEND ZCPS_BOM_TAB.
ENDLOOP.
REFRESH IT1_STBP.
ELSE.
MOVE-CORRESPONDING I_MAST TO ZCPS_BOM_TAB.
LT_COMP_QTY = IT_STBP-MNGLG.
REPLACE ALL OCCURRENCES OF ‘,’ IN LT_COMP_QTY WITH SPACE.
CONDENSE LT_COMP_QTY.

IT_QTY = LT_COMP_QTY.

MOVE-CORRESPONDING I_MAST TO ZCPS_BOM_TAB.
“Individual mapping is done as the valid to and from date is not in BW format
*                  ZCPS_BOM_TAB-STLAL = IT_STBP-STLAL.
ZCPS_BOM_TAB-POSTP = IT_STBP-STLTY.
ZCPS_BOM_TAB-STLNR = IT_STBP-STLNR.
ZCPS_BOM_TAB-POSNR = IT_STBP-POSNR.
ZCPS_BOM_TAB-STLKN = IT_STBP-STLKN.
ZCPS_BOM_TAB-STPOZ = IT_STBP-STPOZ.
ZCPS_BOM_TAB-IDNRK = IT_STBP-OBJNR.
ZCPS_BOM_TAB-MENGE = IT_QTY.
ZCPS_BOM_TAB-MEINS = IT_STBP-MEINS.
ZCPS_BOM_TAB-DATUV+
0(4) = IT_STBP-DATUV+0(4).
ZCPS_BOM_TAB-DATUV+
4(2) = IT_STBP-DATUV+4(2).
ZCPS_BOM_TAB-DATUV+
6(2) = IT_STBP-DATUV+6(2).
ZCPS_BOM_TAB-DATUB+
0(4) = IT_STBP-DATUB+0(4).
ZCPS_BOM_TAB-DATUB+
4(2) = IT_STBP-DATUB+4(2).
ZCPS_BOM_TAB-DATUB+
6(2) = IT_STBP-DATUB+6(2).
APPEND ZCPS_BOM_TAB.
ENDIF.

ENDLOOP.
REFRESH IT_STBP.

ELSE.

L_COMP_QTY = I_STBP-MNGLG.
REPLACE ALL OCCURRENCES OF ‘,’ IN L_COMP_QTY WITH SPACE.
CONDENSE L_COMP_QTY.

I_QTY = L_COMP_QTY.

MOVE-CORRESPONDING I_MAST TO ZCPS_BOM_TAB.
“Individual mapping is done as the valid to and from date is not in BW format
*                 ZCPS_BOM_TAB-STLAL = I_STBP-STLAL.
ZCPS_BOM_TAB-POSTP = I_STBP-STLTY.
ZCPS_BOM_TAB-STLNR = I_STBP-STLNR.
ZCPS_BOM_TAB-POSNR = I_STBP-POSNR.
ZCPS_BOM_TAB-STLKN = I_STBP-STLKN.
ZCPS_BOM_TAB-STPOZ = I_STBP-STPOZ.
ZCPS_BOM_TAB-IDNRK = I_STBP-OBJNR.
ZCPS_BOM_TAB-MENGE = I_QTY.
ZCPS_BOM_TAB-MEINS = I_STBP-MEINS.

x
ZCPS_BOM_TAB-DATUV+
0(4) = I_STBP-DATUV+0(4).
ZCPS_BOM_TAB-DATUV+
4(2) = I_STBP-DATUV+4(2).
ZCPS_BOM_TAB-DATUV+
6(2) = I_STBP-DATUV+6(2).
ZCPS_BOM_TAB-DATUB+
0(4) = I_STBP-DATUB+0(4).
ZCPS_BOM_TAB-DATUB+
4(2) = I_STBP-DATUB+4(2).
ZCPS_BOM_TAB-DATUB+
6(2) = I_STBP-DATUB+6(2).

APPEND ZCPS_BOM_TAB.
ENDIF.
ENDLOOP.
REFRESH I_STBP.
ENDLOOP.

ENDIF. “First data package ?

*    IF I_STBP IS INITIAL.
*      RAISE NO_MORE_DATA.
*    ENDIF.
APPEND LINES OF ZCPS_BOM_TAB TO E_T_DATA.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID +
1.
REFRESH ZCPS_BOM_TAB.
ENDIF.
ENDFUNCTION.

 
 

Related Content

You must include at least 3 references to SDN documents or web pages.

http://help.sap.com/saphelp_470/helpdata/en/ea/e9bca64c7211d189520000e829fbbd/frameset.htm

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0af489e-72b1-2b10-159d-abb8058fb88d?QuickLink=index&overridelayout=true

http://help.sap.com/saphelp_470/helpdata/en/ea/e9bca64c7211d189520000e829fbbd/frameset.htm

 
 

Copyright

© Copyright 2011 SAP AG. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.

Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.

Java is a registered trademark of Oracle Corporation.

JavaScript is a registered trademark of Oracle Corporation, used under license for technology invented and implemented by Netscape.

SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.

Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.

All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies (“SAP Group”) for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Bhagyesh Ravange

    Hello Sunil,

    First of all nice document. I also want to know whether we can get all the semi-finished tied to finished goods.

    Regards

    Bhagyesh Ravange

    (0) 

Leave a Reply