Go on link..

link us with ...

Tuesday, December 21, 2010

Report for Material Wise-Daily Plan v/s Actual Production Review

REPORT ZVVF_CR007_DAILYREPORT .

*---------------------------------------------------------------------*
* Report ZVVF_CR007_DAILYREPORT *
* *
* MODULE : Production Planning *
* *
*---------------------------------------------------------------------*
* Objective : Report for Material Wise-Daily Plan v/s Actual *
* Production Review *
* *
* Program : Update Tables( ) Download Data( ) Outputs List (X) *
* *
* Technical Specs No : *
* *
* Date Created : 18/02/2005 *
* *
* Author : Vinod pattaparla *
* *
* Location : VVF/Mumbai *
* *
* LDB : NOT-USED *
*---------------------------------------------------------------------*

*----------------------------------------------------------------------*
* Type-pools
*----------------------------------------------------------------------*

TYPE-POOLS : SLIS.


*----------------------------------------------------------------------*
* Tables
*----------------------------------------------------------------------*
TABLES : ZVVF_CT_MATDISP,
PBED,
PLAF,
MKPF,
MSEG.

*----------------------------------------------------------------------*
* Types
*----------------------------------------------------------------------*

TYPES : BEGIN OF TY_MAIN,
ARBPL LIKE ZVVF_CT_MATDISP-ARBPL,
KTEXT LIKE ZVVF_CT_MATDISP-KTEXT,
MATNR LIKE ZVVF_CT_MATDISP-MATNR,
MAKTX LIKE ZVVF_CT_MATDISP-MAKTX,
VERID LIKE ZVVF_CT_MATDISP-VERID,
PSTTR LIKE ZVVF_CT_MATDISP-PSTTR,
PEDTR LIKE ZVVF_CT_MATDISP-PEDTR,
VERNO LIKE ZVVF_CT_MATDISP-VERNO,
PLNUM LIKE ZVVF_CT_MATDISP-PLNUM,
GSMNG LIKE ZVVF_CT_MATDISP-GSMNG,
MEINS LIKE ZVVF_CT_MATDISP-MEINS,
****FOR MSEG
GSTRI LIKE AFKO-GSTRI,
GLTRI LIKE AFKO-GLTRI,
AUFNR LIKE MSEG-AUFNR,
MATNR1 LIKE MSEG-MATNR,
MAKTX1 LIKE MAKT-MAKTX,
MENGE LIKE MSEG-MENGE,
MEINS1 LIKE MSEG-MEINS,
ERFMG LIKE MSEG-ERFMG,
ERFME LIKE MSEG-ERFME,
END OF TY_MAIN.


TYPES : BEGIN OF TY_MKPF,
MBLNR LIKE MKPF-MBLNR,
END OF TY_MKPF.

TYPES : BEGIN OF TY_MSEG,
MBLNR LIKE MSEG-MBLNR,
AUFNR LIKE MSEG-AUFNR,
MATNR LIKE MSEG-MATNR,
MENGE LIKE MSEG-MENGE,
MEINS LIKE MSEG-MEINS,
ERFMG LIKE MSEG-ERFMG,
ERFME LIKE MSEG-ERFME,
GSTRI LIKE AFKO-GSTRI,
GLTRI LIKE AFKO-GLTRI,
AUFPL LIKE AFRU-AUFPL,
ARBID LIKE AFVC-ARBID,
ARBPL LIKE CRHD-ARBPL,
END OF TY_MSEG.

TYPES : BEGIN OF TY_AFVC,
AUFNR LIKE AFRU-AUFNR,
AUFPL LIKE AFRU-AUFPL,
ARBID LIKE AFRU-ARBID,
END OF TY_AFVC.

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

*----------------------------------------------------------------------*
*Internal tables *
*----------------------------------------------------------------------*

DATA : IT_MATDISP TYPE STANDARD TABLE OF ZVVF_CT_MATDISP WITH HEADER
LINE.
DATA : IT_MATDISP_HOLD TYPE STANDARD TABLE OF ZVVF_CT_MATDISP WITH
HEADER LINE.
DATA : IT_MKPF TYPE STANDARD TABLE OF TY_MKPF WITH HEADER LINE.
DATA : IT_MSEG TYPE STANDARD TABLE OF TY_MSEG WITH HEADER LINE.
DATA : IT_MSEG_HOLD TYPE STANDARD TABLE OF TY_MSEG WITH HEADER LINE.
DATA : IT_MAIN TYPE STANDARD TABLE OF TY_MAIN WITH HEADER LINE.
DATA : IT_MAIN1 TYPE STANDARD TABLE OF TY_MAIN WITH HEADER LINE.
DATA : IT_MAKT TYPE STANDARD TABLE OF TY_MAKT WITH HEADER LINE.

DATA : IT_AFVC TYPE STANDARD TABLE OF TY_AFVC WITH HEADER LINE.

*---------------------------------------------------------------------*
* WORK AREAS Begin with WA *
*---------------------------------------------------------------------*


*----------------------------------------------------------------------*
*Constants Begin with C_
*----------------------------------------------------------------------*

DATA : C_STEUS(4) TYPE C VALUE 'PI03'.

*---------------------------------------------------------------------*
* Data Variables Begin with w_
*
*---------------------------------------------------------------------*
*--------FOR ALV

DATA : W_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
W_LAYOUT TYPE SLIS_LAYOUT_ALV,
W_LISTHEADER TYPE SLIS_T_LISTHEADER,
W_EVENTS TYPE SLIS_T_EVENT,
W_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
W_REPID TYPE SY-REPID.


DATA : W_YEAR(4) TYPE C,
W_DATE LIKE SY-DATUM,
W_LINES TYPE I.


DATA : W_INFO(60) TYPE C VALUE
'MATERIAL WISE DAILY PLAN VS. ACTUAL PRODUCTION'.

*---------------------------------------------------------------------*
* parameters *
*---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP 1.

PARAMETERS : PR_WERKS LIKE PBIM-WERKS,
PR_PBDNR LIKE ZVVF_CT_MATDISP-PBDNR,
PR_VERSB LIKE ZVVF_CT_MATDISP-VERSB.

*---------------------------------------------------------------------*
* Select-options *
*---------------------------------------------------------------------*

SELECT-OPTIONS : SO_PSTTR FOR PLAF-PSTTR,
SO_PEDTR FOR PLAF-PEDTR.

SELECTION-SCREEN END OF BLOCK B2 .
SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.

SELECT-OPTIONS : SO_VERNO FOR ZVVF_CT_MATDISP-VERNO NO INTERVALS
NO-EXTENSION.

SELECTION-SCREEN END OF BLOCK B1.

*---------------------------------------------------------------------*
* INITIALIZATION *
*---------------------------------------------------------------------*

INITIALIZATION.

W_REPID = SY-REPID.

REFRESH : IT_MAIN.

PERFORM F003_EVENTTAB_BUILD_TEMP USING W_EVENTS[].


*---------------------------------------------------------------------*
* AT SELECTION-SCREEN output.
*---------------------------------------------------------------------*

AT SELECTION-SCREEN OUTPUT .


*---------------------------------------------------------------------*
* At selection screen *
*---------------------------------------------------------------------*

AT SELECTION-SCREEN.

PERFORM F001_VALIDATE.


*---------------------------------------------------------------------*
* START-OF-SELECTION *
*---------------------------------------------------------------------*

START-OF-SELECTION .

PERFORM F004_FIELDCAT_INIT.

PERFORM F002_DATA_FETCH.

PERFORM F005_DISPLAY_DATA USING W_LISTHEADER[].

PERFORM LEADING_ZEROS.

*---------------------------------------------------------------------*
* END-OF-SELECTION *
*---------------------------------------------------------------------*

END-OF-SELECTION.

PERFORM F006_DISPLAY_LIST.


*----------------------------------------------------------------------*
* TOP-OF-PAGE *
*----------------------------------------------------------------------*
TOP-OF-PAGE.


*----------------------------------------------------------------------*
* END-OF-PAGE *
*----------------------------------------------------------------------*
END-OF-PAGE.

*&---------------------------------------------------------------------*
*& Form F001_VALIDATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM F001_VALIDATE .

SELECT ARBPL OBJID KTEXT MATNR MAKTX VERID PSTTR PEDTR VERNO PLNUM
GSMNG MEINS
INTO CORRESPONDING FIELDS OF TABLE IT_MATDISP
FROM ZVVF_CT_MATDISP
WHERE PSTTR IN SO_PSTTR AND
PEDTR IN SO_PEDTR AND
VERNO IN SO_VERNO.

IF SY-SUBRC NE 0.

MESSAGE E002(ZMSG_C007_8_9_PP).

ENDIF.

ENDFORM. " F001_VALIDATE
*&---------------------------------------------------------------------*
*& Form F002_DATA_FETCH
*&---------------------------------------------------------------------*

FORM F002_DATA_FETCH .


IT_MATDISP_HOLD[] = IT_MATDISP[].

SORT IT_MATDISP_HOLD BY MATNR.

DELETE ADJACENT DUPLICATES FROM IT_MATDISP_HOLD COMPARING MATNR.

W_DATE = SY-DATUM.
W_YEAR = W_DATE+0(4).

SELECT MBLNR INTO CORRESPONDING FIELDS OF TABLE IT_MKPF
FROM MKPF
WHERE CPUDT IN SO_PSTTR AND
MJAHR = W_YEAR AND
VGART IN ('WF','WR').

IF SY-SUBRC = 0.

SELECT P~MBLNR P~AUFNR P~MATNR P~MENGE P~MEINS P~ERFMG P~ERFME
Q~GSTRI GLTRI
INTO CORRESPONDING FIELDS OF TABLE IT_MSEG
FROM MSEG AS P INNER JOIN
AFKO AS Q
ON P~AUFNR = Q~AUFNR
FOR ALL ENTRIES IN IT_MKPF
WHERE P~MBLNR = IT_MKPF-MBLNR AND
P~BWART IN ('101','102') AND
P~WERKS = PR_WERKS.
IF SY-SUBRC = 0.

SORT IT_MSEG BY MATNR GSTRI GLTRI.

LOOP AT IT_MSEG.
READ TABLE IT_MATDISP_HOLD WITH KEY MATNR = IT_MSEG-MATNR BINARY
SEARCH.
IF SY-SUBRC NE 0.
DELETE IT_MSEG.
ENDIF.
ENDLOOP.

IF IT_MSEG[] IS INITIAL.
MESSAGE E006(ZMSG_C007_8_9_PP).
ENDIF.

*------ FOR DISPLAY OF PROCESS ORDERS IF ONLY THEY ARE IN SAME WORK
*CENTERS.

SELECT P~AUFNR P~AUFPL
Q~ARBID
INTO CORRESPONDING FIELDS OF TABLE IT_AFVC
FROM AFRU AS P INNER JOIN
AFVC AS Q
ON P~AUFPL = Q~AUFPL
FOR ALL ENTRIES IN IT_MSEG
WHERE P~AUFNR = IT_MSEG-AUFNR AND
Q~PHFLG = 'X' AND
Q~STEUS = C_STEUS.

IF SY-SUBRC = 0.
LOOP AT IT_MSEG.
READ TABLE IT_AFVC WITH KEY AUFNR = IT_MSEG-AUFNR.
IF SY-SUBRC = 0.
IT_MSEG-ARBID = IT_AFVC-ARBID.
MODIFY IT_MSEG TRANSPORTING ARBID WHERE AUFNR =
IT_MSEG-AUFNR.
ENDIF.
ENDLOOP.
ENDIF.
ELSE.

MESSAGE E007(ZMSG_C007_8_9_PP).

ENDIF.

ENDIF.

SORT IT_MSEG BY ARBID MATNR.

LOOP AT IT_MATDISP_HOLD.

LOOP AT IT_MATDISP WHERE MATNR = IT_MATDISP_HOLD-MATNR AND
ARBPL = IT_MATDISP_HOLD-ARBPL.
MOVE IT_MATDISP-ARBPL TO IT_MAIN-ARBPL.
MOVE IT_MATDISP-KTEXT TO IT_MAIN-KTEXT.
MOVE IT_MATDISP-MATNR TO IT_MAIN-MATNR.
MOVE IT_MATDISP-MAKTX TO IT_MAIN-MAKTX.
MOVE IT_MATDISP-VERID TO IT_MAIN-VERID.
MOVE IT_MATDISP-PSTTR TO IT_MAIN-PSTTR.
MOVE IT_MATDISP-PEDTR TO IT_MAIN-PEDTR.
MOVE IT_MATDISP-VERNO TO IT_MAIN-VERNO.
MOVE IT_MATDISP-PLNUM TO IT_MAIN-PLNUM.
MOVE IT_MATDISP-GSMNG TO IT_MAIN-GSMNG.
MOVE IT_MATDISP-MEINS TO IT_MAIN-MEINS.

APPEND IT_MAIN.
MOVE-CORRESPONDING IT_MAIN TO IT_MAIN1.
APPEND IT_MAIN1.
ENDLOOP.

LOOP AT IT_MSEG WHERE MATNR = IT_MATDISP_HOLD-MATNR AND
ARBPL = IT_MATDISP_HOLD-ARBPL.
READ TABLE IT_MAIN WITH KEY MATNR = IT_MSEG-MATNR
ARBPL = IT_MSEG-ARBPL.
DELETE IT_MAIN.
READ TABLE IT_MAIN1 WITH KEY MATNR = IT_MSEG-MATNR
ARBPL = IT_MSEG-ARBPL.

IF SY-SUBRC = 0.

MOVE IT_MAIN1-ARBPL TO IT_MAIN-ARBPL.
MOVE IT_MAIN1-KTEXT TO IT_MAIN-KTEXT.
MOVE IT_MAIN1-MATNR TO IT_MAIN-MATNR.
MOVE IT_MAIN1-MAKTX TO IT_MAIN-MAKTX.
MOVE IT_MAIN1-VERID TO IT_MAIN-VERID.
MOVE IT_MAIN1-PSTTR TO IT_MAIN-PSTTR.
MOVE IT_MAIN1-PEDTR TO IT_MAIN-PEDTR.
MOVE IT_MAIN1-VERNO TO IT_MAIN-VERNO.
MOVE IT_MAIN1-PLNUM TO IT_MAIN-PLNUM.
MOVE IT_MAIN1-GSMNG TO IT_MAIN-GSMNG.
MOVE IT_MAIN1-MEINS TO IT_MAIN-MEINS.

DELETE IT_MAIN1.
ENDIF.

MOVE IT_MSEG-GSTRI TO IT_MAIN-GSTRI.
MOVE IT_MSEG-GLTRI TO IT_MAIN-GLTRI.
MOVE IT_MSEG-AUFNR TO IT_MAIN-AUFNR.
MOVE IT_MSEG-MATNR TO IT_MAIN-MATNR1.
* MOVE IT_MSEG-MAKTX TO IT_MAIN-MAKTX1.
MOVE IT_MSEG-MENGE TO IT_MAIN-MENGE.
MOVE IT_MSEG-MEINS TO IT_MAIN-MEINS1.
MOVE IT_MSEG-ERFMG TO IT_MAIN-ERFMG.
MOVE IT_MSEG-ERFME TO IT_MAIN-ERFME.
APPEND IT_MAIN.
DELETE IT_MSEG.
ENDLOOP.
CLEAR IT_MSEG.
CLEAR IT_MATDISP.
CLEAR IT_MAIN.

ENDLOOP.

SELECT MATNR MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT
FROM MAKT
FOR ALL ENTRIES IN IT_MSEG
WHERE MATNR = IT_MSEG-MATNR.


LOOP AT IT_MSEG.
*-----START AS THERE IS NO CORRESONDING WORK CENTER FOR THESE PROCESS
*ORDERS IN PLANNED ORDER DATA.

MOVE IT_MSEG-ARBPL TO IT_MAIN-ARBPL.
MOVE IT_MSEG-MATNR TO IT_MAIN-MATNR.
READ TABLE IT_MAKT WITH KEY MATNR = IT_MSEG-MATNR.
IF SY-SUBRC = 0.
MOVE IT_MAKT-MAKTX TO IT_MAIN-MAKTX.
ENDIF.

*-----END OF AS THERE IS NO CORRESONDING WORK CENTER FOR THESE PROCESS
*ORDERS IN PLANNED ORDER DATA.

MOVE IT_MSEG-GSTRI TO IT_MAIN-GSTRI.
MOVE IT_MSEG-GLTRI TO IT_MAIN-GLTRI.
MOVE IT_MSEG-AUFNR TO IT_MAIN-AUFNR.
MOVE IT_MSEG-MATNR TO IT_MAIN-MATNR1.
* MOVE IT_MSEG-MAKTX TO IT_MAIN-MAKTX1.
MOVE IT_MSEG-MENGE TO IT_MAIN-MENGE.
MOVE IT_MSEG-MEINS TO IT_MAIN-MEINS1.
MOVE IT_MSEG-ERFMG TO IT_MAIN-ERFMG.
MOVE IT_MSEG-ERFME TO IT_MAIN-ERFME.
APPEND IT_MAIN.

ENDLOOP.


REFRESH : IT_MAKT.
CLEAR : IT_MAKT.

SELECT MATNR MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT
FROM MAKT
FOR ALL ENTRIES IN IT_MAIN
WHERE MATNR = IT_MAIN-MATNR1 AND
SPRAS = 'E'.
LOOP AT IT_MAKT.
READ TABLE IT_MAIN WITH KEY MATNR1 = IT_MAKT-MATNR.
IF SY-SUBRC = 0.
IT_MAIN-MAKTX1 = IT_MAKT-MAKTX.
MODIFY IT_MAIN TRANSPORTING MAKTX1 WHERE MATNR1 = IT_MAKT-MATNR.
ENDIF.
ENDLOOP.


ENDFORM. " F002_DATA_FETCH
*&---------------------------------------------------------------------*
*& Form F003_EVENTTAB_BUILD_TEMP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_W_EVENTS[] text
*----------------------------------------------------------------------*
FORM F003_EVENTTAB_BUILD_TEMP USING RT_EVENTS TYPE SLIS_T_EVENT.

DATA : LW_EVENT TYPE SLIS_ALV_EVENT.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = RT_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

READ TABLE RT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO LW_EVENT
.

IF SY-SUBRC = 0.
MOVE W_TOP_OF_PAGE TO LW_EVENT-FORM.
APPEND LW_EVENT TO RT_EVENTS.
ENDIF.


ENDFORM. " F003_EVENTTAB_BUILD_TEMP

*&---------------------------------------------------------------------*
*& Form F004_FIELDCAT_INIT
*&---------------------------------------------------------------------*

FORM F004_FIELDCAT_INIT .

DATA : LW_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'ARBPL'.
LW_FIELDCAT-SELTEXT_M = 'Resource'.
LW_FIELDCAT-OUTPUTLEN = 8.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'KTEXT'.
LW_FIELDCAT-SELTEXT_M = 'Resource Description'.
LW_FIELDCAT-OUTPUTLEN = 40.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MATNR'.
LW_FIELDCAT-SELTEXT_M = 'Material N0'.
LW_FIELDCAT-OUTPUTLEN = 18.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MAKTX'.
LW_FIELDCAT-SELTEXT_M = 'Material Desc'.
LW_FIELDCAT-OUTPUTLEN = 40.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.


CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'VERID'.
LW_FIELDCAT-SELTEXT_M = 'Prod.Ver'.
LW_FIELDCAT-OUTPUTLEN = 4.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'PSTTR'.
LW_FIELDCAT-SELTEXT_M = 'Order start Date'.
LW_FIELDCAT-OUTPUTLEN = 10.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'PEDTR'.
LW_FIELDCAT-SELTEXT_M = 'Order End Date'.
LW_FIELDCAT-OUTPUTLEN = 10.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'VERNO'.
LW_FIELDCAT-SELTEXT_M = 'Version'.
LW_FIELDCAT-OUTPUTLEN = 12.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'PLNUM'.
LW_FIELDCAT-SELTEXT_M = 'Planned Order'.
LW_FIELDCAT-OUTPUTLEN = 10.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'GSMNG'.
LW_FIELDCAT-SELTEXT_M = 'Plnd Order Qty'.
LW_FIELDCAT-OUTPUTLEN = 13.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MEINS'.
LW_FIELDCAT-SELTEXT_M = 'UOM'.
LW_FIELDCAT-OUTPUTLEN = 4.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'GSTRI'.
LW_FIELDCAT-SELTEXT_M = 'Actual start Date'.
LW_FIELDCAT-OUTPUTLEN = 10.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'GLTRI'.
LW_FIELDCAT-SELTEXT_M = 'Actual Finish Date'.
LW_FIELDCAT-OUTPUTLEN = 10.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'AUFNR'.
LW_FIELDCAT-SELTEXT_M = 'Process Order No'.
LW_FIELDCAT-OUTPUTLEN = 12.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MATNR1'.
LW_FIELDCAT-SELTEXT_M = 'Material No'.
LW_FIELDCAT-OUTPUTLEN = 18.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MAKTX1'.
LW_FIELDCAT-SELTEXT_M = 'Material Desc'.
LW_FIELDCAT-OUTPUTLEN = 40.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.


CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MENGE'.
LW_FIELDCAT-SELTEXT_M = 'Qty In Base Unit'.
LW_FIELDCAT-OUTPUTLEN = 13.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'MEINS1'.
LW_FIELDCAT-SELTEXT_M = 'UOM'.
LW_FIELDCAT-OUTPUTLEN = 4.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'ERFMG'.
LW_FIELDCAT-SELTEXT_M = 'Qty In UOE'.
LW_FIELDCAT-OUTPUTLEN = 12.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.

CLEAR LW_FIELDCAT.
LW_FIELDCAT-FIELDNAME = 'ERFME'.
LW_FIELDCAT-SELTEXT_M = 'UOE'.
LW_FIELDCAT-OUTPUTLEN = 4.
APPEND LW_FIELDCAT TO W_FIELDCATALOG.



ENDFORM. " F004_FIELDCAT_INIT

*&---------------------------------------------------------------------*
*& Form F005_DISPLAY_DATA
*&---------------------------------------------------------------------*

FORM F005_DISPLAY_DATA USING GT_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA : LW_LISTHEADER TYPE SLIS_LISTHEADER.

CLEAR LW_LISTHEADER.
LW_LISTHEADER-TYP = 'H'.
LW_LISTHEADER-INFO = W_INFO.
APPEND LW_LISTHEADER TO GT_LISTHEADER.

**CLEAR LW_LISTHEADER.
**LW_LISTHEADER-TYP = 'S'.
**LW_LISTHEADER-INFO = W_DATE1.
***move sy-datum to LW_LISTHEADER-INFO+30(20).
**APPEND LW_LISTHEADER TO GT_LISTHEADER.
*
*
* CLEAR LW_LISTHEADER.
* LW_LISTHEADER-TYP = 'S'.
* LW_LISTHEADER-INFO = W_WERKS.
* APPEND LW_LISTHEADER TO GT_LISTHEADER.
*
* CLEAR LW_LISTHEADER.
* LW_LISTHEADER-TYP = 'S'.
* LW_LISTHEADER-INFO = W_NAME.
* APPEND LW_LISTHEADER TO GT_LISTHEADER.
*
* CLEAR LW_LISTHEADER.
* LW_LISTHEADER-TYP = 'S'.
* LW_LISTHEADER-INFO = W_VERB1.
* APPEND LW_LISTHEADER TO GT_LISTHEADER.
*




ENDFORM. " F005_DISPLAY_DATA

*&---------------------------------------------------------------------*
*& Form F006_DISPLAY_LIST
*&---------------------------------------------------------------------*

FORM F006_DISPLAY_LIST .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = W_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'ALV_BACKGROUND'
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = W_LAYOUT
IT_FIELDCAT = W_FIELDCATALOG[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = W_EVENTS[]
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_MAIN
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



ENDFORM. " F006_DISPLAY_LIST


*&--------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&--------------------------------------------------------------------*

FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = W_LISTHEADER
I_LOGO = ' '.
ENDFORM. "top_of_page

*&---------------------------------------------------------------------*
*& Form LEADING_ZEROS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

FORM LEADING_ZEROS .
LOOP AT IT_MAIN.
SHIFT IT_MAIN-MATNR LEFT DELETING LEADING '0'.
SHIFT IT_MAIN-MATNR1 LEFT DELETING LEADING '0'.
SHIFT IT_MAIN-PLNUM LEFT DELETING LEADING '0'.
SHIFT IT_MAIN-AUFNR LEFT DELETING LEADING '0'.

MODIFY IT_MAIN.
ENDLOOP.

ENDFORM. " LEADING_ZEROS

No comments:

link us...

For Visitors

if you want to publish or Add something on ERP, SAP , SAP FUNCTIONAL, SAP ABAP then mail us along with your email-id. contain must be yours

email-id :- avinashkr_raj@yahoo.com(any email)

email-id :- avinaskr_raj.abap@blogger.com ( use only gmail)