Skip to Content
0
Dec 16, 2008 at 10:59 AM

header settings

63 Views

Dear Experts,

I want to set my header, i dont want to repet my header and i want to set my page header and footer with page number,and in this report i want achive the unit of mesure converstions.

Thanks.

*&---------------------------------------------------------------------*
*& Report  Z_STOCK_HOLDING_REPORT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_STOCK_HOLDING_REPORT
NO STANDARD PAGE HEADING
LINE-SIZE 128
LINE-COUNT 64.

*TYPE-POOLS : SLIS.
*******************************************
TABLES :MARA,MCHB,MAKT,MARD,MDSM,VBBE.
**********************************************
*SELECTION SCREEN                            *
************************************************
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME.
select-options:MATNO FOR MCHB-MATNR.
SELECT-OPTIONS:PLANT FOR MCHB-WERKS.
select-options:SLOC  FOR MCHB-LGORT.
select-options:BATCH FOR MCHB-CHARG.
SELECTION-SCREEN END OF BLOCK BLK2.
********************************************
*FIELDCAT DECLARATION
*******************************************
*DATA : T_FCAT TYPE SLIS_T_FIELDCAT_ALV,
*       W_FCAT TYPE SLIS_FIELDCAT_ALV.
*
*

*DATA flag(1) TYPE c VALUE 'X'.
*******************************************************

TYPES :  BEGIN OF TY_FINAL,
          MATNO     TYPE MCHB-MATNR,
          MGP       TYPE MARA-MATKL,
          Mplant    type mchb-werks,
          MATDES    TYPE MAKT-MAKTX,
          BOU       TYPE MARA-MEINS,
          ONORDER   TYPE MarD-labst,
          ONHAND    TYPE mard-labst,
          ALOC      TYPE vbbe-omeng,
          ABLE      TYPE MARD-LABST,

          END OF TY_FINAL.

*******************************************
*MODIFIED.
*****************************************
TYPES :BEGIN OF TY_MCHB,
       MATNR TYPE MCHB-MATNR,
       WERKS TYPE MCHB-WERKS,
       LGORT TYPE MCHB-LGORT,
       CHRGE TYPE MCHB-CHARG,
*       CLABS TYPE MCHB-CLABS,
       END OF TY_MCHB.
**************END***************************
TYPES : BEGIN OF TY_MARA,
        MATNR TYPE MARA-MATNR,
*        WERKS TYPE MARA-WERKS,
        MATKL TYPE MARA-MATKL,
        MEINS TYPE MARA-MEINS,
        END OF TY_MARA.

TYPES : BEGIN OF TY_MAKT,
        MATNR TYPE MAKT-MATNR,
        MAKTX TYPE MAKT-MAKTX,
        END OF TY_MAKT.

TYPES : BEGIN OF TY_MARD,
        MATNR TYPE MARD-MATNR,
        LABST TYPE MARD-LABST,
*        lvorm  TYPE MARD-lvorm,
*        INSME TYPE MARD-INSME,
        END OF TY_MARD.

TYPES : BEGIN OF TY_MDSM,
        MATNR TYPE MDSM-MATNR,
        BDMNG TYPE MDSM-BDMNG,
        END OF TY_MDSM.

TYPES : BEGIN OF TY_vbbe,
        MATNR TYPE vbbe-MATNR,
        omeng TYPE vbbe-omeng,
        END OF TY_vbbe.

data :begin of stab occurs 0,
      matnr type mard-matnr,
      WERKS TYPE MARD-WERKS,
      LGORT TYPE MARD-LGORT,
      labst type mard-labst,
      end of stab.

      data : temp like mard-labst.
             temp = 0.



**********************************************
DATA : IT_FINAL TYPE STANDARD TABLE OF TY_FINAL,
       WA_FINAL TYPE TY_FINAL.


DATA : IT_MCHB TYPE STANDARD TABLE OF TY_MCHB,
       WA_MCHB TYPE TY_MCHB.

data : it_vbbe type standard table of ty_vbbe,
       wa_vbbe type ty_vbbe.

DATA : IT_MARA TYPE STANDARD TABLE OF TY_MARA,
       WA_MARA TYPE TY_MARA.

DATA : IT_MAKT TYPE STANDARD TABLE OF TY_MAKT,
       WA_MAKT TYPE TY_MAKT.


DATA : IT_MARD TYPE STANDARD TABLE OF TY_MARD,
        WA_MARD TYPE TY_MARD.


DATA :IT_MDSM TYPE STANDARD TABLE OF TY_MDSM,
      WA_MDSM TYPE TY_MDSM.


*DATA : IT_SORT TYPE SLIS_T_SORTINFO_ALV,
*       WA_SORT TYPE SLIS_SORTINFO_ALV.

******************************************************************
*DATA : T_HEAD TYPE SLIS_T_LISTHEADER,
*       W_HEAD TYPE SLIS_LISTHEADER.
*
*       W_HEAD-TYP = 'H'.
*       W_HEAD-INFO = 'MY STOCK HOLDING REPORT'.
*       APPEND W_HEAD TO T_HEAD.
*
*DATA : T_EVENTS TYPE SLIS_T_EVENT,
*       W_EVENTS TYPE SLIS_ALV_EVENT.
*
*       W_EVENTS-NAME = 'TOP_OF_PAGE'.
*       W_EVENTS-FORM = 'TOP'.
*       APPEND W_EVENTS TO T_EVENTS.

**********************************************************
 SELECT MATNR
        WERKS
        LGORT
        CHARG
*        clabs
        FROM MCHB
        INTO  TABLE IT_MCHB
        WHERE MATNR IN MATNO
        AND WERKS IN plant
        and LGORT IN SLOC
        AND CHARG in BATCH
         AND MATNR NE 0
         AND MATNR NE ''.

***********************************************
CHECK not IT_mchb IS INITIAL.

SELECT MATNR
       LABST
*       lvorm
       FROM MARD
       INTO  TABLE IT_MARD
       FOR ALL ENTRIES IN IT_MCHB
       WHERE MATNR = IT_MCHB-MATNR
       AND LVORM NE 'X'.
*       AND LABST NE 0.

CHECK not IT_mard IS INITIAL.

SELECT  MATNR
        MAKTX
        FROM MAKT
        INTO TABLE IT_MAKT
        FOR ALL ENTRIES IN IT_MCHB
        WHERE MATNR = IT_MCHB-MATNR
        AND SPRAS = 'EN'.

*READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_MCHB-MATNR.


CHECK not IT_MAKT IS INITIAL.

************************************************
  SELECT MATNR
         MATKL
         MEINS
         FROM MARA
         INTO TABLE  IT_MARA
         for all entries in it_mchb
         WHERE matnr  = it_mchb-matnr.


**
CHECK not IT_MAra IS INITIAL.
****************************************************
*********************************************************
*CHECK not  IT_MARD is  INITIAL.

*SELECT MATNR
*       BDMNG
*       FROM MDSM
*       INTO TABLE IT_MDSM
*       FOR ALL ENTRIES IN IT_MCHB
*       WHERE MATNR  = IT_MCHB-MATNR.
***********************************************************

SELECT MATNR
       OMENG
       FROM VBBE
       INTO  TABLE IT_VBBE
       FOR ALL ENTRIES IN IT_MCHB
       WHERE MATNR = IT_MCHB-MATNR.
**************************************************************
 sort it_final by matno mplant MGP.
 LOOP AT IT_MCHB INTO WA_MCHB.
 select matnr WERKS LGORT labst into table stab
        from mard  where matnr = wa_mchb-matnr
            AND    WERKS = WA_MCHB-WERKS
            AND    LGORT = WA_MCHB-LGORT.
        sort stab.
        loop at stab.
*        IF TEMP GT 0.
        temp = temp + stab-labst.

 READ TABLE IT_MARA INTO WA_MARA WITH KEY MATNR = WA_MCHB-MATNR.
 READ TABLE IT_MARD INTO WA_MARD WITH KEY MATNR = WA_MCHB-MATNR.
 READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_MCHB-MATNR.
 READ TABLE IT_VBBE INTO WA_VBBE WITH KEY MATNR = WA_MCHB-MATNR.
   WA_FINAL-MATNO    = WA_MCHB-MATNR.
   WA_FINAL-MGP      = WA_MARA-MATKL.
   WA_FINAL-MPLANT   = WA_MCHB-WERKS.
   WA_FINAL-MATDES   = WA_MAKT-MAKTX.
   WA_FINAL-BOU      = WA_MARA-MEINS.
   WA_FINAL-ONORDER  = WA_mard-labst.
   WA_FINAL-ONHAND  =  temp."wa_mard-labst.
   wa_final-aloc     =  wa_vbbe-omeng.
   WA_final-ABLE     = WA_FINAL-ONHAND - WA_final-ALOC.
   DELETE adjacent DUPLICATES FROM IT_FINAL COMPARING MATNO MPLANT.
*  ENDIF.
   endloop.
   CLEAR TEMP.
   APPEND WA_FINAL TO IT_FINAL.
   ENDLOOP.
   CLEAR WA_FINAL.

sort it_final.
loop at it_final into wa_final.

write  :/03  wa_final-matno,
         18  wa_final-mgp,
         24  wa_final-mplant,
         30  wa_final-matdes,
         65  wa_final-bou,
         70  wa_final-onorder,
         85  wa_final-onhand,
         100  wa_final-aloc,
         115 wa_final-able.

         at end of mgp.
         sum.
         uline :/90(10).
         write :/77 'SubTotal:',85 wa_final-onhand.
         uline :/90(10).
         endat.
endloop.

top-of-page.
WRITE : 50 'STOCK HOLDING REPORT'.
ULINE : /02(180).
write  :/04 'MATNO',
         17 'MGP',
         22 'MPLANT',
         38 'MATDES',
         63 'BOUM',
         72 'ONORDER',
         90 'ONHAND',
         105 'ALLOCCATED',
         120 'AVAILABLE'.
ULINE : /02

Edited by: Julius Bussche on Mar 1, 2009 11:14 AM

Code tags added