2008 Mar 29 4:51 PM
hi all,
I am new to sap, i have excersice to find non moving materials
what are non moving materials and what are related tables
hi all,
I am new to sap, i have excersice to find non moving materials
what are non moving materials and what are related tables
2008 Mar 29 7:33 PM
hi.. this report can guide u.
*&----
*
*& Report ZMAT113 *
*& *
*&----
*
*& *
*& *
*&----
*
REPORT ZMAT113 .
*----
*
MODULE : Material Management
*----
*
Objective : Report for Non-Moving Materials . *
*
This is Report is Generated to Know the *
Non-Moving Materials in particular period *
for a particular Plant and Storage location. *
*
Program : Updates Tables ( ) Downloads data ( ) *
Outputs List ( X ) Uploads data ( ) *
*
Technical Spec No *
Date Created 16.03.2005 *
Author *
Location *
LDB ..... *
*----
*
External Dependencies *
*----
*
*
*----
*
Amendment History *
*----
*
Who Change ID Reason *
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ *
XXXXXXXXX AADDMMYYYY Where XXXX = Developers Name................. *
AA- Developers Initial ................................ *
....................................................... *
...................................................... *
...................................................... *
*----
*
TYPE-POOLS : slis.
TABLES : mseg,"Document Segment: Material
mara,
makt,
mkpf,
mbew,
t001w.
DATA : BEGIN OF it_nonmov OCCURS 0,
matnr LIKE mseg-matnr,
mblnr LIKE mseg-mblnr,
bwart LIKE mseg-bwart,
menge LIKE mseg-menge,
meins LIKE mara-meins,
dmbtr LIKE mseg-dmbtr,
lbkum LIKE mbew-lbkum,
salk3 LIKE mbew-salk3,
bwkey LIKE mbew-bwkey,
bwtar LIKE mbew-bwtar,
budat LIKE mkpf-budat,
maktx LIKE makt-maktx,
END OF it_nonmov.
DATA : it_nonmov1 LIKE it_nonmov OCCURS 0 WITH HEADER LINE.
DATA : it_fcat TYPE slis_t_fieldcat_alv ,
wa_fcat TYPE slis_fieldcat_alv.
DATA : lh TYPE slis_t_listheader,
ls TYPE slis_listheader.
DATA : w_var TYPE i VALUE 1.
DATA : var(10).
DATA : var1(10).
DATA : var2(80).
DATA : l_repid LIKE trdir-name.
l_repid = 'ZMM001_NON_MOVING'.
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-005.
SELECT-OPTIONS : so_matnr FOR mara-matnr.
PARAMETERS : p_werks LIKE mseg-werks OBLIGATORY,
p_lgart LIKE mseg-lgort OBLIGATORY.
SELECT-OPTIONS : so_budat FOR mkpf-budat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block1.
AT SELECTION-SCREEN.
SELECT SINGLE * FROM t001w INTO t001w
WHERE werks = p_werks.
IF sy-subrc NE 0.
MESSAGE e001(znm) WITH 'Enter Valid Plant'.
ENDIF.
START-OF-SELECTION.
ls-typ = 'H'.
ls-info = 'Non Moving Materials'.
APPEND ls TO lh.
ls-typ = 'S'.
WRITE SO_BUDAT-LOW TO VAR USING EDIT MASK '__/__/____'.
WRITE SO_BUDAT-HIGH TO VAR1 USING EDIT MASK '__/__/____'.
CONCATENATE 'FROM THIS DATE' '--' var
' To' '--' var1 INTO var2.
ls-info = var2.
APPEND ls TO lh.
CLEAR it_nonmov.
REFRESH it_nonmov[].
CLEAR it_fcat.
REFRESH it_fcat[].
PERFORM f001_fieldcat.
SELECT amatnr bmblnr bbwart bmenge bmeins bdmbtr
clbkum csalk3 INTO CORRESPONDING FIELDS OF TABLE it_nonmov
FROM mara AS a
INNER JOIN mseg AS b ON amatnr = bmatnr
INNER JOIN mbew AS c ON bmatnr = cmatnr
WHERE clbkum GT 0 AND bmatnr IN so_matnr
AND c~bwkey = p_werks .
DELETE ADJACENT DUPLICATES FROM it_nonmov .
SORT it_nonmov BY matnr.
LOOP AT it_nonmov .
SELECT SINGLE budat FROM mkpf INTO it_nonmov-budat
WHERE budat IN so_budat
AND mblnr EQ it_nonmov-mblnr.
MODIFY it_nonmov INDEX sy-tabix .
IF it_nonmov-budat IS INITIAL.
DELETE it_nonmov.
CLEAR it_nonmov.
ENDIF.
ENDLOOP.
IF it_nonmov[] IS INITIAL.
SELECT amatnr ameins blbkum bsalk3 bbwkey bbwtar c~maktx INTO
CORRESPONDING FIELDS OF TABLE it_nonmov
FROM mara AS a INNER JOIN
mbew AS b ON amatnr = bmatnr INNER JOIN
makt AS c ON bmatnr = cmatnr
WHERE a~matnr IN so_matnr AND bwkey = p_werks.
DELETE it_nonmov WHERE bwtar IS NOT INITIAL .
SORT it_nonmov BY lbkum.
DELETE it_nonmov WHERE lbkum IS INITIAL.
ENDIF.
END-OF-SELECTION.
PERFORM f002_print.
*&----
*
*& Form f001_fieldcat
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM f001_fieldcat .
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'MATNR'.
wa_fcat-ref_fieldname = 'MATNR'.
wa_fcat-ref_tabname = 'MARA'.
wa_fcat-seltext_m = 'Material No'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'MAKTX'.
wa_fcat-ref_fieldname = 'MAKTX'.
wa_fcat-ref_tabname = 'MAKT'.
wa_fcat-seltext_m = 'Material Description'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'BWKEY'.
wa_fcat-seltext_m = 'Plant'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'DMBTR'.
wa_fcat-seltext_m = 'Amount'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'LBKUM'.
wa_fcat-ref_fieldname = 'LBKUM'.
wa_fcat-ref_tabname = 'MBEW'.
wa_fcat-seltext_m = 'Storage Qty'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'MEINS'.
wa_fcat-seltext_m = 'UOM'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_NONMOV'.
wa_fcat-fieldname = 'SALK3'.
wa_fcat-ref_fieldname = 'SALK3'.
wa_fcat-ref_tabname = 'MBEW'.
wa_fcat-seltext_m = 'Value of total stock'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_PRINT'.
wa_fcat-fieldname = 'BUDAT'.
wa_fcat-seltext_m = 'Date'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ENDFORM. " f001_fieldcat
*&----
*
*& Form f002_print
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM f002_print .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = l_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'TOP'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = it_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_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_nonmov
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. " f002_print
*&----
*
*& Form top
*&----
*
text
*----
*
FORM top.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = lh
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM. "top