sap bi inventory datasource

5
WHEN '2LIS_03_BF' . IF NOT C_T_DATA[] IS INITIAL . TYPES : BEGIN OF TY_MSEG , MBLNR TYPE MBLNR , MJAHR TYPE MJAHR , ZEILE TYPE MBLPO , END OF TY_MSEG , BEGIN OF TY_CHARACTERSITICS , INSTANCE TYPE IBIN - INSTANCE , IN_RECNO TYPE IBIN - IN_RECNO , ATINN TYPE CABN - ATINN , ATNAM TYPE CABN - ATNAM , ATWRT TYPE IBSYMBOL - ATWRT , ATFLV TYPE IBSYMBOL - ATFLV , MSEHI TYPE CABN - MSEHI , END OF TY_CHARACTERSITICS . DATA : GT_CHARACTERSITICS TYPE STANDARD TABLE OF TY_CHARACTERSITICS , GW_CHARACTERSITICS TYPE TY_CHARACTERSITICS , C1 TYPE CURSOR , LT_MSEG TYPE TABLE OF TY_MSEG , LW_MSEG TYPE TY_MSEG . CLEAR : LW_MSEG , LT_MSEG . LOOP AT C_T_DATA INTO L_S_BF . LW_MSEG - MBLNR = L_S_BF - MBLNR . LW_MSEG - MJAHR = L_S_BF - MJAHR . LW_MSEG - ZEILE = L_S_BF - ZEILE . APPEND LW_MSEG TO LT_MSEG . CLEAR LW_MSEG . ENDLOOP . SELECT MAT_KDAUF MAT_KDPOS USNAM_MKPF FROM MSEG INTO TABLE IT_MSEG FOR A LL ENTRIES IN LT_MSEG WHERE MBLNR = LT_MSEG - MBLNR AND MJAHR = LT_MSEG - MJAHR AND ZEILE = LT_MSE G - ZEILE . IF SY - SUBRC = 0 AND NOT IT_MSEG[] IS INITIAL . SELECT CUOBJ KTGRM FROM VBAP INTO TABLE IT_VBAP FOR ALL ENTRIES IN IT_ MSEG WHERE VBELN = IT_MSEG - MAT_KDAUF AND POSNR = IT_MSEG - MAT_KDPOS . IF SY - SUBRC = 0 AND NOT IT_VBAP[] IS INITIAL . OPEN CURSOR C1 FOR SELECT A ~ INSTANCE

Upload: santubhandari

Post on 14-Nov-2015

33 views

Category:

Documents


2 download

DESCRIPTION

SAP BI Inventory Datasource Customization.

TRANSCRIPT

WHEN'2LIS_03_BF'.

IFNOTC_T_DATA[]ISINITIAL.TYPES:BEGINOFTY_MSEG,MBLNRTYPEMBLNR,MJAHRTYPEMJAHR,ZEILETYPEMBLPO,ENDOFTY_MSEG,BEGINOFTY_CHARACTERSITICS,INSTANCETYPEIBIN-INSTANCE,IN_RECNOTYPEIBIN-IN_RECNO,ATINNTYPECABN-ATINN,ATNAMTYPECABN-ATNAM,ATWRTTYPEIBSYMBOL-ATWRT,ATFLVTYPEIBSYMBOL-ATFLV,MSEHITYPECABN-MSEHI,ENDOFTY_CHARACTERSITICS.DATA:GT_CHARACTERSITICSTYPESTANDARDTABLEOFTY_CHARACTERSITICS,GW_CHARACTERSITICSTYPETY_CHARACTERSITICS,C1TYPECURSOR,LT_MSEGTYPETABLEOFTY_MSEG,LW_MSEGTYPETY_MSEG.CLEAR:LW_MSEG,LT_MSEG.LOOPATC_T_DATAINTOL_S_BF.LW_MSEG-MBLNR=L_S_BF-MBLNR.LW_MSEG-MJAHR=L_S_BF-MJAHR.LW_MSEG-ZEILE=L_S_BF-ZEILE.APPENDLW_MSEGTOLT_MSEG.CLEARLW_MSEG.ENDLOOP.SELECTMAT_KDAUFMAT_KDPOSUSNAM_MKPFFROMMSEGINTOTABLEIT_MSEGFORALLENTRIESINLT_MSEGWHEREMBLNR=LT_MSEG-MBLNRANDMJAHR=LT_MSEG-MJAHRANDZEILE=LT_MSEG-ZEILE.IFSY-SUBRC=0ANDNOTIT_MSEG[]ISINITIAL.SELECTCUOBJKTGRMFROMVBAPINTOTABLEIT_VBAPFORALLENTRIESINIT_MSEGWHEREVBELN=IT_MSEG-MAT_KDAUFANDPOSNR=IT_MSEG-MAT_KDPOS.IFSY-SUBRC=0ANDNOTIT_VBAP[]ISINITIAL.OPENCURSORC1FORSELECTA~INSTANCEA~IN_RECNOC~ATINND~ATNAMC~ATWRTC~ATFLVD~MSEHIFROMIBINASAINNERJOINIBINVALUESASBONA~IN_RECNO=B~IN_RECNOINNERJOINIBSYMBOLASCONB~SYMBOL_ID=C~SYMBOL_IDINNERJOINCABNASDONC~ATINN=D~ATINNFORALLENTRIESINIT_VBAPWHEREINSTANCEEQIT_VBAP-CUOBJAND(D~ATNAMEQ'S_MKT_SEGMENT'ORD~ATNAMEQ'S_PROD_SEGMENT_CODE'ORD~ATNAMEQ'S_QUALITY_LEVEL'ORD~ATNAMEQ'S_NCO'ORD~ATNAMEQ'S_NATURE_OF_PURCHASE').DO.FETCHNEXTCURSORC1APPENDINGCORRESPONDINGFIELDSOFTABLEGT_CHARACTERSITICSPACKAGESIZE1000.IFSY-SUBRCNE0.CLOSECURSORC1.EXIT.ENDIF.ENDDO.ENDIF.ENDIF.ENDIF.SORTGT_CHARACTERSITICSBYINSTANCEATNAM.

LOOPATC_T_DATAINTOL_S_BF.L_TABIX=SY-TABIX.

SELECTSINGLEMAT_KDAUFMAT_KDPOSUSNAM_MKPFFROMMSEGINTOWA_MSEGWHEREMBLNR=L_S_BF-MBLNR"CreatedbySantuBhandariANDZEILE=L_S_BF-ZEILEANDMJAHR=L_S_BF-MJAHR."Workareaaddedon28.03.2015.IFSY-SUBRC=0.L_S_BF-ZZKDAUF=WA_MSEG-MAT_KDAUF.L_S_BF-ZZKDPOS=WA_MSEG-MAT_KDPOS.L_S_BF-ZZUSNAM=WA_MSEG-USNAM_MKPF. CLEARV_VBELN.CLEARV_POSNR.V_VBELN=MSEG-MAT_KDAUF.V_POSNR=MSEG-MAT_KDPOS.SELECTSINGLEVKORGVTWEGSPARTFROMVBAKINTOWA_VBAKWHEREVBELN=V_VBELN."CreatedbySantuBhandariIFSY-SUBRC=0."Workareaaddedon28.03.2015.L_S_BF-ZZVKORG=WA_VBAK-VKORG.L_S_BF-ZZVTWEG=WA_VBAK-VTWEG.L_S_BF-ZZSPART=WA_VBAK-SPART.ENDIF.SELECTSINGLECUOBJKTGRMFROMVBAPINTOWA_VBAPWHEREVBELN=V_VBELN ANDPOSNR=V_POSNR.IFSY-SUBRC=0.L_S_BF-ZZCUOBJ=WA_VBAP-CUOBJ.L_S_BF-ZZKTGRM=WA_VBAP-KTGRM.CLEARV_CUOBJ.V_CUOBJ=VBAP-CUOBJ.ENDIF.

READTABLEGT_CHARACTERSITICSINTOGW_CHARACTERSITICSWITHKEYINSTANCE=V_CUOBJATNAM='S_MKT_SEGMENT'BINARYSEARCH.IFSY-SUBRC=0.L_S_BF-ZZMKT_SEG=GW_CHARACTERSITICS-ATWRT.ENDIF.READTABLEGT_CHARACTERSITICSINTOGW_CHARACTERSITICSWITHKEYINSTANCE=V_CUOBJATNAM='S_PROD_SEGMENT_CODE'BINARYSEARCH.IFSY-SUBRC=0.L_S_BF-ZZPROD_SEG=GW_CHARACTERSITICS-ATWRT.ENDIF.READTABLEGT_CHARACTERSITICSINTOGW_CHARACTERSITICSWITHKEYINSTANCE=V_CUOBJATNAM='S_QUALITY_LEVEL'BINARYSEARCH.IFSY-SUBRC=0.L_S_BF-ZZQMLVL=GW_CHARACTERSITICS-ATWRT.ENDIF.READTABLEGT_CHARACTERSITICSINTOGW_CHARACTERSITICSWITHKEYINSTANCE=V_CUOBJATNAM='S_NCO'BINARYSEARCH.IFSY-SUBRC=0.L_S_BF-ZZNCO=GW_CHARACTERSITICS-ATWRT.ENDIF.READTABLEGT_CHARACTERSITICSINTOGW_CHARACTERSITICSWITHKEYINSTANCE=V_CUOBJATNAM='S_NATURE_OF_PURCHASE'BINARYSEARCH.IFSY-SUBRC=0.L_S_BF-ZZNOPUR=GW_CHARACTERSITICS-ATWRT.ENDIF.

ENDIF.REFRESHI_CONFOUT1[].CALLFUNCTION'VB_BATCH_VALUES_FOR_OUTPUT'EXPORTINGMATERIAL=L_S_BF-MATNRPLANT=L_S_BF-WERKSBATCH=L_S_BF-CHARGLANGUAGE='E'

TABLESCLASSIFICATION=I_CONFOUT1[]*ET_CONF_WITH_AUTHOR=EXCEPTIONSNO_CLASSIFICATION_DATA=1OTHERS=2.IFSY-SUBRC=0.READTABLEI_CONFOUT1INTOWA_CONFOUT1WITHKEYATNAM='S_WIDTH_NOM_MM'.IFSY-SUBRC=0.REPLACEALLOCCURRENCESOF'mm'INWA_CONFOUT1-ATWRTWITH''.REPLACEALLOCCURRENCESOF','INWA_CONFOUT1-ATWRTWITH''.CONDENSEWA_CONFOUT1-ATWRTNO-GAPS.

V_ATWRT=WA_CONFOUT1-ATWRT.LV_CHECK=V_ATWRT.IFLV_CHECKLT'600'.SELECTSINGLE*FROMZCHAPTER_IDWHEREMATNR=L_S_BF-MATNRANDWERKS=L_S_BF-WERKS.IFSY-SUBRC=0.L_S_BF-ZZJ_1ICHID=ZCHAPTER_ID-J_1ICHID.ENDIF.ELSEIFV_ATWRTGE'600'.SELECTSINGLE*FROMJ_1IMTCHIDWHEREMATNR=L_S_BF-MATNRANDWERKS=L_S_BF-WERKS.IFSY-SUBRC=0.L_S_BF-ZZJ_1ICHID=J_1IMTCHID-J_1ICHID.ENDIF.ENDIF.ENDIF.ENDIF.MODIFYC_T_DATAFROML_S_BFINDEXL_TABIX.ENDLOOP