Inventory Material Movement Report in R12.1.1
Dear All,
I am currently working in a implementation project. My client needs a Inventory Material Movement Report on Periodical Basis
Report Should show : Item Name, Item Desc, Sub Inventory, UOM, Opening Stock of that period, Receipts for that Period, Adjustments and Closing Balance.
Please suggest me how to go about this on the same. Please someone share the code if someone have any. What logic do i need to follow and where to pick the data.
It is show stopper for us now as we do not have any standard report.
Thanks,
Addy
Hi Aditya,
You can find all the information you need in mtl_material_transactions table. If you need code combination id too, you can make use of a standard view CST_INV_DISTRIBUTION_V. Other than these, you can join these tables for other info..
MTL_SYSTEM_ITEMS_B MTL,GL_CODE_COMBINATIONS GCC.
In MMT, use qty <, > 0 for receipts and issues. use group by to get opening and closing balances.
Regards,
Siva Kumar.
Similar Messages
-
Need monthly "material-wise" report on inventory status.
Hi, gurus!Good Morning.
I am pankaj recently i joined in SAP-MM.I have 4 yr.of domain exp.in SCM.
Now,i allocate to one implementation project in Textile industory.Here there two plants,out of two GoLive of one plant has been done & in April-12 there is Golive of next plant.
Now, i am working on some standered reports.here client wants monthly material wise inventory status report & Daily material movement report materialwise.
i generate the report in" S_P00_07000139 "but it didn't show materialwise,it shows all material separate.
Request to help on the same.
Regards,
Pankaj.HI,
No standard report will full fill your requirement
you have develop Z with help of ABAp consultant
for Material document table MKPF and MSEG
and check following link also it will helpful to you
[Opening Stock and Closing Stock fields and Calculation;
Regards
Kailas Ugale -
I'm creating an inventory item movement report based off the mtl_material_transactions table which will give me all the in's and out's for a specified item and org.
Which other table should I link to so I can get the source document id#'s such as job number if its a wip transaction and sales order number if its a sales order transaction.
Thanksselect wip_entity_name wip_job# from wip.wip_entities where wip_entity_id = &transaction_source_id
select order_number from oe_ordeR_headers_all where header_id = (select header_id from oe_order_lines_all where line_id = &source_line_id)
Hope this answers your question
Sandeep Gandhi
Independent Consultant
513-325-9026 -
Inventory Movement Report.
Hi all,
Could you please provide information for the report -
Inventory Movement Report. It require vendor, invoice doc, goods receipt doc, and payment details in report.
Thanks & Regards
praveen
[email protected]In which reports you found the details
-
Error message rgd. Material Movements / Inventory Management
Hello,
We have Problem to load Material Movements data in Inventory Management InfoCube.
On BW-Side we had deleted Inventory Management InfoCube content completely before we started with opening stock, Material Movements.
We have filled set up tables for opening stocks, Material Movements and Revaluation successfully on R/3 Side. We have also filled archive data for Material Movements and Revaluation in set up tables.
We have loaded the opening stock balance into InfoCube. The request containing the opening
stock has been compressed.
We are trying to load the material movements (Initialize delta) into Cube. We get the error message:
u201CThe material XXXXXXXX does not exist or is not activatedu201D.
We have analyzed these materials (from error message) and find out that these materials are already archived on R/3 side but these materials are in Master Data table on BW-Side.
How we can deal with this problem? The BW-System is SAP NetWeaver 2004s (Support
Package SAPKW70016). The SAP R/3-System is SAP ECC 6.0.
We had same proceeding in March 2008 with BW 3.0B and R/3 4.7 and had no problem at all.
Many thanksHi,
Hope u have loaded the master data in BW side and also activated the Master data i.e i assume that u have done Attribut change run.
Rgds
SVU123 -
Can anyone tell me how to run a report to include all movement history of material? Any transaction,table?
Hello,
You can see the details of material documents against respective movement type under MMBE
Enter material plant execute.
Now select the storage Location Go to Environment in SAP menu bar and hit material movement.
All the details will be displayed here.
Br,
Tushar -
Hi
We need to implement inventory cycle count report . Is there a standard business content data source for this ?
Thanks and Regards
ArunSorry I never responded. It's really just a matter of what you need to report on. ISEG has all the basic information you need like plant, material, sloc, etc... so the other tables invovled is really a case by case type of thing. I can't think of much else you would really need for generic cycle count reporting.
Also, the previous post is a good method depending on your needs. If showing difference postings and whatnot is suitable, then go with the movement type. But if you need to dig deeper into it by showing system/counted quantities as well as the difference, then the custom extractor would be the way to go. For me, I did inventory accuracy/cycle counting type of reporting that needed to consider the actual quantities, as a difference of 2 units on an inventory of 100,000 units is a lot different that 2 units difference on a balance of 100 units. But that was just my case is all.
Hope this helps.
Thanks -
Question regarding the date in MARC for a daily movement report
Hi,
I have a requirement, where i need to create a report, based on the selection screen parameters for <u>purchasing group</u> and <u>date</u> (the default is 1 minus the current date.)
The report is used to view the daily movement, relating to the selected purchasing group and date.
Where and how do i find entries for that specific date? What tables and field or fields do i use?
Points will be rewarded and all help will be greatly appreciated.
Thank You,
JohnSee the below example code :
REPORT ZQA_MOVEMENT_ANALYSIS no standard page heading.
*>>> ELEMENTS COPIED FROM REPORT BALVHT01 .
ALV
TYPE-POOLS: SLIS.
Includes
INCLUDE .
tables: mkpf, mseg, marc, mara, makt, mard.
DATA =============================================================== *
DATA: G_BOXNAM TYPE SLIS_FIELDNAME VALUE 'BOX',
G_EXPANDNAME TYPE SLIS_FIELDNAME VALUE 'EXPAND',
P_F2CODE LIKE SY-UCOMM VALUE '&ETA',
P_LIGNAM TYPE SLIS_FIELDNAME VALUE 'LIGHTS',
G_SAVE(1) TYPE C,
G_TABNAME_HEADER TYPE SLIS_TABNAME,
G_TABNAME_ITEM TYPE SLIS_TABNAME,
g_default(1) type c,
G_EXIT(1) TYPE C,
GX_VARIANT LIKE DISVARIANT,
G_VARIANT LIKE DISVARIANT.
CONSTANTS:
GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
GC_FORMNAME_ITEM_EXPAND TYPE SLIS_FORMNAME VALUE 'ITEM_EXPAND',
GC_FORMNAME_user_command type slis_formname value slis_ev_user_command.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GS_KEYINFO TYPE SLIS_KEYINFO_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GT_EVENTS TYPE SLIS_T_EVENT.
DATA: G_REPID LIKE SY-REPID.
DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
data: begin of i_movement occurs 0,
matnr like mseg-matnr,
bwart like mseg-bwart,
budat like mkpf-budat,
mblnr like mseg-mblnr,
gjahr like mseg-gjahr,
shkzg like mseg-shkzg,
menge like mseg-menge,
meins like mseg-meins,
end of i_movement.
data: begin of i_mat occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
labst like mard-labst,
meins like mara-meins,
end of i_mat.
data: begin of i_output occurs 0.
include structure ZFD_MOVEMENT_ANALYSIS.
data: end of i_output.
data i_popuptext like popuptext occurs 2 with header line.
data: v_matnr like mara-matnr.
data: x_movement like i_movement.
SELECTION-SCREEN --------------------------------------------------- *
SELECTION-SCREEN BEGIN OF BLOCK period WITH FRAME TITLE text-001.
select-options: so_budat for mkpf-budat obligatory no-extension.
SELECTION-SCREEN END OF BLOCK period.
SELECTION-SCREEN BEGIN OF BLOCK org WITH FRAME TITLE text-002.
parameters: p_werks like marc-werks obligatory default '1000',
p_lgort like mard-lgort obligatory default '1000'.
select-options: so_matnr for mseg-matnr,
so_dept for marc-zzdept,
so_kostl for mseg-kostl,
so_ekgrp for marc-ekgrp.
SELECTION-SCREEN END OF BLOCK org.
SELECTION-SCREEN SKIP 1.
Variant
SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-P01.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK 0.
INITITALIZATION ==================================================== *
INITIALIZATION.
G_REPID = SY-REPID.
G_TABNAME_ITEM = 'I_OUTPUT'.
define keyinfo
CLEAR GS_KEYINFO.
GS_KEYINFO-ITEM01 = 'MATNR'.
PERFORM E01_FIELDCAT_INIT USING GT_FIELDCAT[].
PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
PERFORM E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
PERFORM E06_T_SORT_BUILD USING GT_SORT[].
PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
Set Options: save variants userspecific or general
G_SAVE = 'A'.
PERFORM VARIANT_INIT.
Get default variant
GX_VARIANT = G_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
AT SELECTION-SCREEN ================================================ *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
PERFORM F4_FOR_VARIANT.
PAI
AT SELECTION-SCREEN.
PERFORM PAI_OF_SELECTION_SCREEN.
START-OF-SELECTION ================================================= *
start-of-selection.
perform check_background_processing.
PERFORM E05_LAYOUT_BUILD USING GS_LAYOUT. "wg. Parameters
perform get_data.
perform build_report.
perform write_report.
AT LINE SELECTION ================================================== *
at line-selection.
if sy-lsind = 1.
format intensified off.
if not i_output-matnr is initial.
v_matnr = i_output-matnr.
loop at i_movement where matnr = i_output-matnr.
write: / i_movement-mblnr hotspot on,
i_movement-bwart,
i_movement-budat,
i_movement-shkzg.
if i_movement-shkzg = 'H'.
format color col_negative.
else.
format color col_positive.
endif.
write: i_movement-menge,
i_movement-meins.
format color off.
hide: i_movement-mblnr, i_movement-gjahr.
endloop.
clear i_movement.
endif.
elseif sy-lsind = 2.
set parameter id 'MBN' field i_movement-mblnr.
set parameter id 'MJA' field i_movement-gjahr.
call transaction 'MB03' and skip first screen.
endif.
==================================================================== *
top-of-page.
perform top_of_page.
top-of-page during line-selection.
read table i_mat with key matnr = i_output-matnr.
write: i_output-matnr,
i_mat-maktx,
so_budat-low, ' to ', so_budat-high.
uline.
clear: i_mat, i_output.
*& Form write_report
text
--> p1 text
<-- p2 text
FORM write_report.
Call ABAP/4 List Viewer
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = g_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT = gs_layout
IT_FIELDCAT = gt_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS = gt_sp_group[]
IT_SORT = gt_sort[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = g_save
IS_VARIANT = g_variant
IT_EVENTS = gt_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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = i_output
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. " write_report
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data.
if so_dept[] is initial and
so_matnr[] is initial and
so_kostl[] is initial and
so_ekgrp[] is initial.
i_popuptext-text = 'Please choose a department, material number,'.
append i_popuptext.
i_popuptext-text = 'cost center or purchasing group'.
append i_popuptext.
CALL FUNCTION 'DD_POPUP_WITH_INFOTEXT'
EXPORTING
TITEL = 'Please Note'
START_COLUMN = 1
START_ROW = 1
END_COLUMN = 5
END_ROW = 3
INFOFLAG = ' '
IMPORTING
ANSWER =
TABLES
LINES = i_popuptext.
Stop execution until user enters a purch group or dept.
stop.
endif.
get all materials matching selection criteria - exclude finished
materials
select kmatnr kmaktx labst meins
from ( ( ( marc as c inner join makt as k
on cmatnr = kmatnr ) INNER JOIN mard as d
on cmatnr = dmatnr ) INNER JOIN mara as a
on cmatnr = amatnr )
into table i_mat
where c~matnr in so_matnr and
c~ekgrp in so_ekgrp and
c~zzdept in so_dept and
c~werks = p_werks and
d~werks = p_werks and
k~spras = 'E' and
d~lgort = p_lgort
order by k~matnr.
if sy-subrc = 0.
read table so_budat index 1.
loop at i_mat.
get all material movements for all materials identified since
start date on date interval selected by user
select matnr bwart budat bmblnr bgjahr shkzg menge meins
appending table i_movement
from ( mseg as b INNER JOIN mkpf as a
ON bmblnr = amblnr AND
bmjahr = amjahr )
where b~matnr = i_mat-matnr and
a~budat >= so_budat-low.
endloop.
endif.
ENDFORM. " get_data
*& Form build_report
text
--> p1 text
<-- p2 text
FORM build_report.
data: x_movement like i_movement,
v_processed_inv like mseg-menge.
sort i_movement by matnr ascending
budat descending.
loop at i_movement.
if movement after end of period specified, use movement to work
backwards to inventory at end of selected period end date
if i_movement-budat > so_budat-high.
if i_movement-shkzg = 'H'.
add i_movement-menge to i_output-ending_inv.
else.
subtract i_movement-menge from i_output-ending_inv.
endif.
endif.
compute inventory at beginning of period
if i_movement-shkzg = 'H'.
add i_movement-menge to i_output-begin_inv.
else.
subtract i_movement-menge from i_output-begin_inv.
endif.
if movement in the time period specified, summarize movements by
type
if i_movement-budat >= so_budat-low and
i_movement-budat <= so_budat-high.
if i_movement-bwart+0(1) = '1'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-purchased_inv.
else.
subtract i_movement-menge from i_output-purchased_inv.
endif.
elseif i_movement-bwart+0(1) = '2'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-transferred_inv.
else.
subtract i_movement-menge from i_output-transferred_inv.
endif.
elseif i_movement-bwart+0(1) = '4'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-transferred_inv.
else.
subtract i_movement-menge from i_output-transferred_inv.
endif.
elseif i_movement-bwart+0(2) = '55'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-scrapped_inv.
else.
subtract i_movement-menge from i_output-scrapped_inv.
endif.
elseif i_movement-bwart+0(1) = '6'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-sold_inv.
else.
subtract i_movement-menge from i_output-sold_inv.
endif.
elseif i_movement-bwart+0(1) = '7'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-cycled_inv.
else.
subtract i_movement-menge from i_output-cycled_inv.
endif.
elseif i_movement-bwart+0(2) = '96'.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-recovered_inv.
else.
subtract i_movement-menge from i_output-recovered_inv.
endif.
else.
if i_movement-shkzg = 'S'.
add i_movement-menge to i_output-other.
else.
subtract i_movement-menge from i_output-other.
endif.
endif.
endif.
Summarize data for material number and add to output list
x_movement = i_movement.
at end of matnr.
clear i_mat.
read table i_mat with key matnr = i_movement-matnr.
i_output-maktx = i_mat-maktx.
inventory at end of period = current inventory + changes since end
of period
add i_mat-labst to i_output-ending_inv.
inventory at begin of period = ending inventory + changes in
interval
add i_mat-labst to i_output-begin_inv.
build percentages for types of movements in period - the only
reason this data needs to be stored rather than computed on the
fly is for sorting of data
v_processed_inv = ( i_output-begin_inv - i_output-ending_inv )
+ i_output-purchased_inv.
if v_processed_inv <> 0.
i_output-percent_sold =
( i_output-sold_inv / v_processed_inv ) * 100 * -1.
i_output-percent_scrapped =
( i_output-scrapped_inv / v_processed_inv ) * 100 * -1.
i_output-percent_transferred =
( i_output-transferred_inv / v_processed_inv ) * 100 * -1.
i_output-percent_cycled =
( i_output-cycled_inv / v_processed_inv ) * 100 * -1.
i_output-percent_recov =
( i_output-recovered_inv / v_processed_inv ) * 100 * -1.
i_output-other =
( i_output-other / v_processed_inv ) * 100 * -1.
endif.
record material number
move i_movement-matnr to i_output-matnr.
i_output-meins = x_movement-meins.
append i_output.
clear i_output.
endat.
endloop.
clear i_movement.
ENDFORM. " build_report
FORM E01_FIELDCAT_INIT *
--> E01_LT_FIELDCAT *
FORM E01_FIELDCAT_INIT USING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME =
I_INTERNAL_TABNAME = G_TABNAME_ITEM
I_STRUCTURE_NAME = 'ZFD_MOVEMENT_ANALYSIS'
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER = 'X'
CHANGING
CT_FIELDCAT = E01_LT_FIELDCAT[].
ENDFORM.
FORM E03_EVENTTAB_BUILD *
--> E03_LT_EVENTS *
FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 1
IMPORTING
ET_EVENTS = E03_LT_EVENTS.
tell program which form to call for top of page event
READ TABLE E03_LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO E03_LT_EVENTS.
ENDIF.
tell program which form to call for item expand event
READ TABLE E03_LT_EVENTS WITH KEY NAME = slis_ev_item_data_expand
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_ITEM_EXPAND TO LS_EVENT-FORM.
APPEND LS_EVENT TO E03_LT_EVENTS.
ENDIF.
ENDFORM.
FORM E04_COMMENT_BUILD *
--> E04_LT_TOP_OF_PAGE *
FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: LS_LINE TYPE SLIS_LISTHEADER.
Listenüberschrift: Typ H
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-KEY: not used for this type
write sy-datum to LS_LINE-INFO.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-KEY: not used for this type
LS_LINE-INFO = 'FreshDirect Product Reorder Report'.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
Kopfinfo: Typ S
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = TEXT-050.
LS_LINE-INFO = TEXT-010.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
LS_LINE-KEY = TEXT-051.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
Aktionsinfo: Typ A
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
LS_LINE-KEY: not used for this type
LS_LINE-INFO = TEXT-002.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
ENDFORM.
FORM E05_LAYOUT_BUILD *
<-> E05_LS_LAYOUT *
FORM E05_LAYOUT_BUILD USING E05_LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
E05_LS_LAYOUT-F2CODE = P_F2CODE.
E05_LS_LAYOUT-ZEBRA = 'X'.
E05_LS_LAYOUT-colwidth_optimize = 'X'.
ENDFORM.
FORM E06_T_SORT_BUILD *
--> E06_LT_SORT *
FORM E06_T_SORT_BUILD USING E06_LT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
CLEAR LS_SORT.
LS_SORT-FIELDNAME = 'MATNR'.
LS_SORT-TABNAME = G_TABNAME_ITEM.
LS_SORT-SPOS = 1.
LS_SORT-UP = 'X'.
APPEND LS_SORT TO E06_LT_SORT.
ENDFORM.
FORM E07_SP_GROUP_BUILD *
--> E07_LT_SP_GROUP *
FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
CLEAR LS_SP_GROUP.
LS_SP_GROUP-SP_GROUP = 'A'.
LS_SP_GROUP-TEXT = TEXT-005.
APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
ENDFORM.
FORM TOP_OF_PAGE *
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
data v_repid like sy-repid.
write: / sy-datum, sy-uzeit,
100 'FreshDirect Material Movement Type Analysis Report'.
show parameters chosen on selection screen in header
v_repid = sy-repid.
CALL FUNCTION 'Z_WRITE_SELECTION_SCREEN'
EXPORTING
REPID = v_repid
EXCEPTIONS
REPORT_NOT_FOUND = 1
OTHERS = 2.
write column headings
format color col_heading.
write: /(18) 'Material #',
(40) 'Description',
(16) ' Beginning Inv.',
(16) ' Purchased',
(16) ' Available Inv.',
(16) ' Ending Inv.',
(16) ' Processed Inv.',
(25) ' Sold',
(25) ' Scrapped',
(25) ' Transferred',
(25) ' Cycle Counted',
(25) ' Other'.
format color off.
uline /1(278).
ENDFORM.
FORM F4_FOR_VARIANT *
FORM F4_FOR_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = G_VARIANT
I_SAVE = G_SAVE
I_TABNAME_HEADER = G_TABNAME_HEADER
I_TABNAME_ITEM = G_TABNAME_ITEM
it_default_fieldcat =
IMPORTING
E_EXIT = G_EXIT
ES_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 2.
MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
IF G_EXIT = SPACE.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
ENDIF.
ENDFORM.
*& Form PAI_OF_SELECTION_SCREEN
text
FORM PAI_OF_SELECTION_SCREEN.
IF NOT P_VARI IS INITIAL.
MOVE G_VARIANT TO GX_VARIANT.
MOVE P_VARI TO GX_VARIANT-VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT.
G_VARIANT = GX_VARIANT.
ELSE.
PERFORM VARIANT_INIT.
ENDIF.
ENDFORM. " PAI_OF_SELECTION_SCREEN
*& Form VARIANT_INIT
text
--> p1 text
<-- p2 text
FORM VARIANT_INIT.
CLEAR G_VARIANT.
G_VARIANT-REPORT = G_REPID.
ENDFORM. " VARIANT_INIT
INCLUDE ZQA_UTILITY_INCLUDE.
***INCLUDE ZQA_UTILITY_INCLUDE .
*& Form display_popup_message
text
--> p1 text
<-- p2 text
form display_popup_message using x_text1
x_text2.
data: int_popuptext like popuptext occurs 2 with header line.
int_popuptext-text = x_text1.
append int_popuptext.
int_popuptext-text = x_text2.
append int_popuptext.
call function 'DD_POPUP_WITH_INFOTEXT'
exporting
titel = 'Please Note'
start_column = 1
start_row = 1
end_column = 5
end_row = 3
tables
lines = int_popuptext.
endform. " display_popup_message
*& Form upload_data_file
text
-->P_int_INPUTDATA text
form upload_data_file tables x_inputdata
using x_filename like rlgrap-filename.
clear x_inputdata.
refresh x_inputdata.
file on UNIX app server
if x_filename+0(1) = '/'.
open dataset x_filename for input.
if sy-subrc <> 0.
perform display_popup_message using 'Error opening file'
x_filename.
stop.
else.
do.
read dataset x_filename into x_inputdata.
if sy-subrc <> 0.
exit.
endif.
append x_inputdata.
clear x_inputdata.
enddo.
endif.
close dataset x_filename.
else.
file on local PC of GUI
call function 'UPLOAD'
exporting
filename = x_filename
filetype = 'ASC'
tables
data_tab = x_inputdata
exceptions
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
guint_refuse_filetransfer = 6
others = 7
if sy-subrc <> 0.
perform display_popup_message using 'Error opening file'
x_filename.
stop.
endif.
endif.
endform. " upload_data_file
*& Form check_background_processing
text
--> p1 text
<-- p2 text
form check_background_processing.
endform. " check_background_processing
Reward Points if it is helpful
Thanks
Seshu -
hi,
i am from BI.. and i am creating a reports on production volumes.. in that i am nt able to get waht is material movements.. we have material movementa like 131/132...261/262....701/702...643/644...351/352...101/102...etc.. can u explain the signi ficance of this ... and i want to know waht is stock type:O and line category : L(3)...
i ll assign points.....
regards,
preetyHi,
When you enter a goods movement, you must always enter the movement
type. The movement type has important control functions in Inventor
Management. It is essential for
o updating the quantity fields
o updating the stock and consumption accounts
o selection of the fields used for entering documents
o printing goods receipt/issue slips
Below you will find a short description of the standard movement types.
The reversal movement type is the movement type + 1 (reversal of 101 =
102).
101 Goods receipt for purchase order or order
If the purchase order or order has not been assigned
a stock type (unrestricted-use stock, stock in qualit
blocked stock) can be entered during goods receipt.
131 Goods receipt for run schedule header
This movement type cannot be entered manually. It is generated
automatically at notification of goods receipt for a run schedule
header.
261 Goods issue for an order
This refers to all withdrawals for orders
The goods issue can be posted manually in Inventory Management or
automatically when an order is confirmed or via a delivery in
Shipping.
351 Goods issue for a stock transport order (without Shipping)
643 Goods issue for a cross-company stock transport order (Shipping)
Used only for cross-company stock transport orders with SD billing
and invoice. The quantity is withdrawn from the unrestricted-use
701 Inventory differences in unrestricted-use stock (MM-IM)
This movement is generated automatically during inventory difference
posting in Inventory Management.
Thx
Raju -
Inventory Issue: Movement type 905 creating two records in BI.
Hello Experts,
We have a problem in Inventory scenario implemented in our system.After the month load completion in Snap shot Cube,we are getting quantity mismatch between BI and ECC values.I found out that there are records exist with movement type 905 creating problem.
we have only one record in ECC while there are two records exist in BI with one have reversal indicator on it and other does not have reversal indicator.Qty is same in both of the case ,also the record which have reversal indicator have Process key 100 while the record with out reversal indicator doesn't have any process key.And in further update from ODs ZMMDS104 to ICSNAP1 ,in update rule we are adding or subtracting on the basis of process key as per standard Inventory scenario implementation.
So am i right that this Movement type is creating problem ..?
Does any one faces this issue earlier...?
and if this is issue then how to resolve this ?
Please advice as soon as possible as it becomes a high priority issue in client space.
Thanks in Advance
Regards,
Yash Raj.Hi Aduri,
Thanks for the quick reply.
I ma new to inventory field,can you please guide me how to check your advice details in the system like you
said "Recheck the Reversal Indicated Qty because if it has reverse indicator it should come from ECC or from ODS Check the Same at Change Log Table to trace the Changes."
What do you mean by "or from ODS" do you mean that ODS could create this entry ..? also this ODs ZMMDS104 is got daily loaded by delta from 2lis_03_bf . but this record is related to period 12/2008.and now we are in period 1/2009 (as i am trying to reconciling the data for last period) so i Guess there is no chance to find out this entry in change log.
Also "Try to see at DS field for the Process Key/Movement type with Reverse Indicator At ECC. "
How to check the same in data source?
Also "If you don't have the Reverse postings at ECC without process Key then you can report on the same to the Functional Team/Client. But before that make sure that you have reverse postings without process key assigned to it."
I checked in the ECC system(RSA3) There is only one record exist in for that material document it has positive quantity and material movement type 905 with movement indicator L.
Waiting for your response.
Thanks once again
Regards,
Yash Raj -
Inventory Stock movement issue
hi gurus,
can anyone provide me the query for the inventory stock movement..
here is the my requirement
Period: ex Jan-2011
opening_balance , Total issued, Total Received and closing balance.
Thank you..Hi Arun.......
Please run Inventory Audit Report. There you will get the Item cost of material as per FIFO Layer....
Its in Inventory> Inventory Reports>Inventory Audit Reports
Regards,
Rahul -
Amount not turning up for material movement type : 601 from 2lis_03_bf
Hi all,
i have loaded the inventory cube from 2lis_03_bx the quantity is turning up for movement type 601 but the amount is not getting reflected it is always blank.
If ( SOURCE_FIELDS-BWVORG EQ '000' "Other Issues
OR SOURCE_FIELDS-BWVORG EQ '101' "Returns / Vendor
OR SOURCE_FIELDS-BWVORG EQ '104' "Material Transfer
OR SOURCE_FIELDS-BWVORG EQ '105' "Stock Adjustment InvD
OR SOURCE_FIELDS-BWVORG EQ '106' "Stock Ajdustment Other
OR SOURCE_FIELDS-BWVORG EQ '110' )
"Issues from stock transfer
AND SOURCE_FIELDS-BWAPPLNM EQ 'MM'
only movements which are relevant for stock control
AND SOURCE_FIELDS-BWBREL EQ '1'
AND SOURCE_FIELDS-BWGEO <> 0
SEE OSS NOTE 630254
AND ( SOURCE_FIELDS-BSTTYP IS INITIAL OR
( SOURCE_FIELDS-BSTTYP CA 'EQ' AND
SOURCE_FIELDS-KZBWS CA 'AM' ) ).
*IF THE RETURNCODE IS NOTE EQUAL ZERO, THE RESULT WILL NOT BE UPDATED
RESULT = SOURCE_FIELDS-BWGEO.
and i can see for other movement type like 641 the amount is turning up.
Can anyone advise me on this
thanksdoes the material movement type : 601 will be updated from this data source : 2lis_03_bx nor it is from 2lis_03_um??
Can anyone advise me on this!!
thanks -
Hi all,
Is there a standard SAP report that will show values for Inventory Beginning Balance, Receipts, Issues and Ending Balance values?
Thanks!MB5B- material stock report
selcet the check boxes required and get the data for a given date -
Material consumption report for sales made artcle wise - help urgent
Hi Folks,
My client need a report which consist of
The raw material consumption report
1. Article wise (material group)
2. QTY
3. Value
4. or all sales made for foreign customers
5. Business area
Please help me
Thanks
NarasimHi,
Check COOIS report.
It will show the consumption order wise just filter Movement type 261.
Regards,
Shayam -
dear gurus,
want to know the relation of material movement types with postinghttp://help.sap.com/saphelp_47x200/helpdata/en/4d/2ba31643ad11d189410000e829fbbd/frameset.htm
The Movement Type Concept
What Is a Movement Type?
When you enter a goods movement in the system, you must enter a movement type to differentiate between the various goods movements. A movement type is a three-digit identification key for a goods movement. The following table contains examples of movement types.
Goods Movements and Movement Types
Goods movement Movement type
Goods receipt for a purchase order 101
Goods issue for a cost center 201
Release from quality inspection stock 321
Control Functions of the Movement Type
The movement type has important control functions in Inventory Management.
For example, the movement type plays an important role in
updating of quantity fields
updating of stock and consumption accounts
determining which fields are displayed during entry of a document in the system
Maybe you are looking for
-
Is there anyone of seeing if anyone is hacking your computer
I have a firewall on my router, Netbarrier and Leopards built insystem all working but I still wonder if anyone is accessing my computer. My apple firewall log shows numerous Stealth Mode connection attempts. So how do you know if someone is actually
-
Syntax error in OBIEE generated Physical query - Advance filter concept
I encountered a syntax error when running a report with the help of advanced filter concept. I am getting syntax error at the physical query generated by the OBIEE for main report. I used a sub report with the help of advanced filter concept in main
-
Ship-to party 147 not defined for sales area US DS 20
Hi, I am getting following error while creating a sales orcer with ref to contract Ship-to party 147 not defined for sales area US DS 20 Points will be rewarded for satisfactory answer. Thanks & Regards, Vinayak
-
Hi All, I have copied my file in the production ..the same file which is working in Dev server and QA server but it doesn't work in production. I am wondering that simple jsp file is not working in production. As per basis person he copied the exact
-
Steps to create rfc destination
hi, what are the steps to create rfc destination