Find material Stock to given date
I have been asked to customize the standard report transaction MB5L. I have created ZPROGRAM for the report. I have an input field for date to get material stock till that date.How can i calculate material stock till the given date ?
Basically you will have to use
An "historical" table with stock at end of periods
- MBEWH Material Valuation: History
- MARDH Material Master Storage Location Segment: History
etc.
A "flow" table for movement before last period recorded and date asked for
- MSEG/MKPF Document Segment: Material
- BSIM Secondary Index, Documents for Material
<i>(Use MSEG/MKPF for quantities and BSIM for valuations its easier than matching the two files, valuation can vary without movement in MSEG and some movement in MSEG don't reflect in accounting)</i>
Regards
Similar Messages
-
Stock of a material as on given date
Hi all,
Is there any function module or any BAPI to calculate the opening and closing stock of a material as on the given date, based on which a customizing report is to be developed.. There was a Transaction MB5B to know the as on date stock, but it's taking longer time to use it in customizing report.Please let me know if any BAPI or any F.module is there to find the stock of a material as on given date.
Thanks in advance.
Edited by: Jaya on Apr 23, 2009 9:15 AMHi,
Try to develop a report using the logic of MB5B report and minimize the selection criteria
Regards,
Vikas -
Any function module to get Stock and value of material on a given date?
Hi Friends
Is there any function module available to get Stock/and value of material on a given date?
Thanks
HarishSorry I didn't elaborate the requirement.
I am asked to develop a custom report for inventory management. For range of materials it is required to display stock and value on particular date and GRs GIs for the range.
I need function module to use in Zreport.
Thanks
Harish -
Any Standard FM for material stocks on posting date using Tcode MB5B
Hi,
I need Standard FM to get material stocks on posting date using Tcode : MB5B
Stock type i am using is : Storage Location/Batch Stock
the Input i am providing is Material, Plant , Storage Location, selection date From , selecDate To.
Then i need to get data that it provides header and document item level.
Can u please tel me how do i get that material stock data on posting date and in which tables
it will be populated in the database.
ITs required can u take view and post info
Thanks & Regards
sivakumar kasa
Edited by: siva kumar kasa on Dec 21, 2010 2:30 PM
Edited by: siva kumar kasa on Dec 22, 2010 7:15 AMhi Rehan,
I have checked all settings also enhancement but there is no as such control to restrict backposting within current period
I think its self disipline action not to post backdated GI when GR is done on later date
Vishal... -
Reg : Z report for Stock on given date
Dear ABAP Guru's,
Iam in need of urgent report inorder to find Stock on given(particular) single date but not SAP standard report.That Stock Value should match the MC.9 value.Pls help meHi,
This code may help you.
*& Report ZDH_ITC_STOREP
REPORT ZDH_ITC_STOREP.
TABLES: T001L.
type-pools slis.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: GT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: GT_EVENTS TYPE SLIS_T_EVENT.
TYPES: BEGIN OF TY_FINAL,
MATNR TYPE MCHB-MATNR,
MATDES TYPE MAKT-MAKTX,
BATNO TYPE MCHB-CHARG,
UMIL TYPE MCHB-CLABS,
UCFC TYPE MCHB-CLABS,
BMIL TYPE MCHB-CSPEM,
BCFC TYPE MCHB-CLABS,
TMIL TYPE MCHB-CLABS,
TCFC TYPE MCHB-CLABS,
END OF TY_FINAL.
TYPES: BEGIN OF TY_MCHB,
MATNR TYPE MCHB-MATNR, " Material Number
CHARG TYPE MCHB-CHARG, " Batch Number
CLABS TYPE MCHB-CLABS, " Valuated Unrestricted-Use Stock
CSPEM TYPE MCHB-CSPEM, " Blocked Stock
UCFC TYPE MCHB-CLABS,
bcfc TYPE MCHB-CLABS,
END OF TY_MCHB.
*TYPES: BEGIN OF TY_MARA,
* MATNR TYPE MARA-MATNR,
* END OF TY_MARA.
TYPES: BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR, " Material Number
MAKTX TYPE MAKT-MAKTX, " MATERIAL DESCRIPTION
END OF TY_MAKT.
TYPES:BEGIN OF TY_MARM,
MATNR TYPE MARM-MATNR, "MATERIAL NUMBER
UMREN TYPE MARM-UMREN, "Denominator for conversion to base units of measure
UMREZ TYPE MARM-UMREZ, "Numerator for Conversion to Base Units of Measure
END OF TY_MARM.
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_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_MARM TYPE STANDARD TABLE OF TY_MARM,
WA_MARM TYPE TY_MARM.
data: atot, btot type MCHB-CLABS.
PARAMETERS: PA_FACT TYPE T001W-WERKS OBLIGATORY, "FACTORY
PA_DATE TYPE SY-DATUM OBLIGATORY. "DATE
SELECT-OPTIONS: SO_STLO FOR T001L-LGORT OBLIGATORY. " STORAGE LOCATION
* GETTING THE MATERIALS
SELECT MATNR CHARG CLABS CSPEM
FROM MCHB
INTO TABLE IT_MCHB
WHERE WERKS = PA_FACT
AND LGORT IN SO_STLO.
* GETTING THE BRAND DESCRIPTION FROM THE ABOVE SELECTED MATERIAL
SELECT MATNR MAKTX
FROM MAKT
INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR
AND SPRAS = 'EN'.
* GETTING THE BATCH CODE FOR THE ABOVE MATERIAL AND BRAND
SELECT MATNR UMREN UMREZ
FROM MARM
INTO TABLE IT_MARM
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR.
* CALCULATING THE TOTALS OF BLOCKED AND UNRESTRICTED QTY
LOOP AT IT_MCHB INTO WA_MCHB.
READ TABLE IT_MARM INTO WA_MARM WITH KEY MATNR = WA_MCHB-MATNR.
WA_MCHB-ucfc = ( ( WA_MARM-UMREN / WA_MARM-umrez ) * wa_mchb-clabs ).
WA_MCHB-bcfc = ( ( wa_marm-umren / wa_marm-umrez ) * wa_mchb-cspem ).
* WA_MCHB-ucfc = atot.
* WA_MCHB-bcfc = btot.
modify IT_MCHB from WA_MCHB TRANSPORTING ucfc bcfc WHERE MATNR = WA_MCHB-MATNR.
READ TABLE it_makt into wa_makt with key MATNR = WA_MCHB-matnr.
WA_FINAL-matnr = WA_MCHB-MATNR.
WA_FINAL-MATDES = wa_makt-maktx.
WA_FINAL-BATNO = wa_mchb-CHARG.
WA_FINAL-UMIL = wa_MCHB-CLABS.
wa_final-UCFC = WA_MCHB-ucfc.
wa_final-bcfc = WA_MCHB-bcfc.
wa_final-bmil = WA_MCHB-CSPEM.
WA_FINAL-tmil = WA_MCHB-clabs + WA_MCHB-CSPEM.
WA_FINAL-tcfc = WA_MCHB-ucfc + WA_MCHB-bcfc.
append wa_final to IT_FINAL.
ENDLOOP.
perform buildheader USING GT_HEADER[].
PERFORM FIELDCATINIT USING GT_FIELDCAT[].
perform alvdisplay.
PERFORM build_layout USING GS_LAYOUT.
*& Form buildheader
* text
* --> p1 text
* <-- p2 text
FORM buildheader USING RT_HEADER TYPE SLIS_T_LISTHEADER..
DATA: TP TYPE SLIS_LISTHEADER.
DATA: TEXT(20) TYPE C,
DT TYPE SY-DATUM.
TP-TYP = 'H'.
TP-INFO = 'STOCK REPORT '.
APPEND TP TO RT_HEADER.
CLEAR TP.
WRITE SY-DATUM TO DT DD/MM/YYYY.
CONCATENATE 'DATE :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO RT_HEADER.
CLEAR TP.
ENDFORM. " buildheader
*& Form alvdisplay
* text
* --> p1 text
* <-- p2 text
FORM alvdisplay .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'ZDH_ITC_STOREP'
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* 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 = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
* 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
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
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. " alvdisplay
*& Form FIELDCATINIT
* text
* --> p1 text
* <-- p2 text
FORM FIELDCATINIT USING FINIT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MATDES'.
LS_FIELDCAT-SELTEXT_L = 'BRAND'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BATNO'.
LS_FIELDCAT-SELTEXT_L = 'BATCH NO'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'UMIL'.
LS_FIELDCAT-SELTEXT_L = 'RESTRICTED'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'UCFC'.
LS_FIELDCAT-SELTEXT_L = 'UCFC'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BMIL'.
LS_FIELDCAT-SELTEXT_L = 'BLOCKED'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BCFC'.
LS_FIELDCAT-SELTEXT_L = 'BCFC'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TMIL'.
LS_FIELDCAT-SELTEXT_L = 'TOTAL MIL'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TCFC'.
LS_FIELDCAT-SELTEXT_L = 'TCFC'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
ENDFORM. " FIELDCATINIT
*& Form BUILDLAYOUT
* text
* -->P_GS_LAYOUT[] text
FORM BUILD_LAYOUT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
RS_LAYOUT-NO_INPUT = 'X'.
RS_LAYOUT-ZEBRA = 'X'.
RS_LAYOUT-COLWIDTH_OPTIMIZE = ' '.
RS_LAYOUT-NO_COLHEAD = ' '.
RS_LAYOUT-NO_VLINE = ' '.
RS_LAYOUT-INFO_FIELDNAME = 'WS_COLOR'.
ENDFORM.
" BUILDLAYOUT
HTH
Regards,
Dhruv Shah -
Modification in MB5B prg...material stock between a date range
Hi experts
I have to modify mb5b tranx prg . presently we are using date as selection criteria..but now onwards user wants G/L account along with date as selection criteria. I created one selec-option for field HKONT type hkont-bseg. Now in select queries i need ur help ..Kindly tell me where i need to use this field in my select queries to fetch RELEVANT data.
Regards
Anu
CODE:
REPORT ZRM07MLBD NO STANDARD PAGE HEADING MESSAGE-ID M7 LINE-SIZE 280.
********my change*******
tables : BSEG.
TYPE-POOLS: IMREP, " Typen Bestandsführungsreporting
SLIS. " Typen Listviewer
INCLUDE ZRM07MLDD.
DATA FLAG(1) TYPE C VALUE ' '.
DATA BAL_QTY TYPE P DECIMALS 2.
DATA BAL_AMT TYPE P DECIMALS 2.
*include: rm07mldd. " reportspezifische Datendefinitionen
"n571473
define the selection screen here "n571473
"n571473
SELECTION-SCREEN BEGIN OF BLOCK DATABASE-SELECTION
WITH FRAME TITLE TEXT-001.
Text-001: Datenbankabgrenzungen
SELECT-OPTIONS: MATNR FOR MARD-MATNR MEMORY ID MAT
MATCHCODE OBJECT MAT1,
BUKRS FOR T001-BUKRS MEMORY ID BUK,
WERKS FOR T001W-WERKS MEMORY ID WRK,
LGORT FOR T001L-LGORT,
CHARG FOR MCHB-CHARG,
BWTAR FOR MBEW-BWTAR,
BWART FOR MSEG-BWART.
PARAMETERS SOBKZ LIKE MSEG-SOBKZ.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS: DATUM FOR MKPF-BUDAT NO-EXTENSION,
**********my change**************
HKONT FOR BSEG-HKONT.
********END CHANGE************
SELECTION-SCREEN END OF BLOCK DATABASE-SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK BESTANDSART
WITH FRAME TITLE TEXT-002.
Text-002: Bestandsart
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS LGBST LIKE AM07M-LGBST RADIOBUTTON GROUP BART DEFAULT 'X'.
SELECTION-SCREEN COMMENT 4(50) TEXT-010 FOR FIELD LGBST.
Text-010: Lagerort-/Chargenbestand
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS BWBST LIKE AM07M-BWBST RADIOBUTTON GROUP BART.
SELECTION-SCREEN COMMENT 4(50) TEXT-011 FOR FIELD BWBST.
Text-011: bewerteter Bestand
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS SBBST LIKE AM07M-SBBST RADIOBUTTON GROUP BART.
SELECTION-SCREEN COMMENT 4(50) TEXT-012 FOR FIELD SBBST.
Text-012: Sonderbestand
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BESTANDSART.
Commented By Rachit Material group Not Required
improved definition of parameters for scope of list "n599218
*SELECTION-SCREEN BEGIN OF BLOCK MARA WITH FRAME TITLE TEXT-040.
**selection-screen begin of line.
*PARAMETERS P_MATKL LIKE MARA-MATKL.
**selection-screen end of line.
**SELECTION-SCREEN COMMENT 4(50) TEXT-030 for fieLD s_matkl.
*SELECTION-SCREEN END OF BLOCK MARA.
SELECTION-SCREEN BEGIN OF BLOCK LISTUMFANG
WITH FRAME TITLE TEXT-003. "Listumfang
the following 3 parameters became obsolete do not use "n599218
anymor. They are still here to inform the user about "n599218
that he is using old variants or SUBMIT commands "n599218
PARAMETERS : "n599218
XONUL LIKE AM07M-XONUL NO-DISPLAY, "n599218
XVBST LIKE AM07M-XVBST NO-DISPLAY, "n599218
XNVBST LIKE AM07M-XNVBS NO-DISPLAY. "n599218
7 new categories for the scope of list "n599218
"n599218
cat. I docs I stock on I I stock on I Parameter "n599218
I I start date I I end date I "n599218
---+--+--------++------+-------- "n599218
1 I yes I = zero I = I = zero I pa_wdzer "n599218
2 I yes I = zero I <> I <> zero I pa_wdzew "n599218
3 I yes I <> zero I <> I = zero I pa_wdwiz "n599218
4 I yes I <> zero I <> I <> zero I pa_wdwuw "n599218
5 I yes I <> zero I = I <> zero I pa_wdwew "n599218
I I I I I "n599218
6 I no I = zero I = I = zero I pa_ndzer "n599218
7 I no I <> zero I = I <> zero I pa_ndsto "n599218
"n599218
definition of the pushbutton : show or hide the following "n599218
parameters for the scope of list "n599218
SELECTION-SCREEN PUSHBUTTON /1(20) PB_LIU "n599218
USER-COMMAND LIU. "n599218
"n599218
text line : materials with movements "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN COMMENT 1(55) TEXT-072 "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / start = zero = end = zero "n599218
1 I yes I = zero I = I = zero I pa_wdzer "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDZER LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-083 : no opening stock ; no closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-083 "n599218
FOR FIELD PA_WDZER "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / start = zero = end <> zero "n599218
2 I yes I = zero I <> I <> zero I pa_wdzew "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDZEW LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-084 : no opening stock ; with closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-084 "n599218
FOR FIELD PA_WDZEW "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / start stock <> 0 / end stock = 0 "n599218
3 I yes I <> zero I <> I = zero I pa_wdwiz "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDWIZ LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-085 : with opening stock ; no closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-085 "n599218
FOR FIELD PA_WDWIZ "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / with start and end stocks / different "n599218
4 I yes I <> zero I <> I <> zero I pa_wdwuw "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDWUW LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
with opening stock ; with closing stock ; changed "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-086 "n599218
FOR FIELD PA_WDWUW "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / with start and end stock / equal "n599218
5 I yes I <> zero I = I <> zero I pa_wdwew "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDWEW LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
with opening stock ; with closing stock ; non-changed "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-087 "n599218
FOR FIELD PA_WDWEW "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
text line : materials without movements "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN COMMENT 1(55) TEXT-073 "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
materials without movements / stocks = zero "n599218
6 I no I = zero I = I = zero I pa_ndzer "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_NDZER LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-083 : no opening stock ; no closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-083 "n599218
FOR FIELD PA_NDZER "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
materials without movements / with start or end stock "n599218
7 I no I <> zero I = I <> zero I pa_ndsto "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_NDSTO LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
with opening stock ; with closing stock ; non-changed "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-087 "n599218
FOR FIELD PA_NDSTO "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
SELECTION-SCREEN END OF BLOCK LISTUMFANG.
SELECTION-SCREEN BEGIN OF BLOCK EINSTELLUNGEN
WITH FRAME TITLE TEXT-068. "Settings
parameter for totals only - hierseq. list
corresponding display variant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS XSUM LIKE AM07M-XSUM.
SELECTION-SCREEN COMMENT 4(60) TEXT-090 FOR FIELD XSUM.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(30) TEXT-091 FOR FIELD PA_SUVAR.
*Commented by Rachit
SELECTION-SCREEN POSITION 40.
PARAMETERS: PA_SUVAR LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF LINE.
parameter for totals only - flat list + corresponding display variant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS PA_SUMFL LIKE AM07M-XSUM.
SELECTION-SCREEN COMMENT 4(60) TEXT-092 FOR FIELD PA_SUMFL.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(30) TEXT-091 FOR FIELD PA_SFLVA.
SELECTION-SCREEN POSITION 40.
PARAMETERS: PA_SFLVA LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS XCHAR LIKE AM07M-XCHRG.
SELECTION-SCREEN COMMENT 4(50) TEXT-015 FOR FIELD XCHAR.
Text-015: nur chargenpflichtige Materialien
Das Kennzeichen 'xchar' bestimmt die Art der Listausgabe entweder
auf Material- oder Chargenebene.
SELECTION-SCREEN END OF LINE.
the function "No reversal movements" is only "n571473
available from relaese 4.5B and higher "n571473
( TEXT-026 : No reversal movements ) "n571473
SELECTION-SCREEN BEGIN OF LINE. "n571473
SELECTION-SCREEN POSITION 1. "n571473
PARAMETERS NOSTO LIKE AM07M-NOSTO. "n571473
SELECTION-SCREEN COMMENT 4(50) TEXT-026 "n571473
FOR FIELD NOSTO. "n571473
SELECTION-SCREEN END OF LINE. "n571473
SELECTION-SCREEN END OF BLOCK EINSTELLUNGEN.
*Rachit
SELECTION-SCREEN BEGIN OF BLOCK LISTE WITH FRAME TITLE TEXT-040.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK LISTE.
HAUPTPROGRAMM *********************************
F4-Hilfe für Reportvariante -
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
PERFORM F4_FOR_VARIANT.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_SFLVA.
PERFORM VARIANT_VALUE_REQUEST_F4
USING PA_SFLVA G_S_VARI_SUMFL.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_SUVAR.
PERFORM VARIANT_VALUE_REQUEST_F4
USING PA_SUVAR G_S_VARI_SUMHQ.
"n599218
INITIALIZATION "n599218
"n599218
"n599218
INITIALIZATION.
CLEAR : G_S_VARI_SUMHQ, G_S_VARI_SUMFL.
REPID = SY-REPID.
VARIANT_SAVE = 'A'.
preprae the working areas for the variants
MOVE : REPID TO G_S_VARI_SUMHQ-REPORT,
'SUHQ' TO G_S_VARI_SUMHQ-HANDLE,
REPID TO G_S_VARI_SUMFL-REPORT,
'SUFL' TO G_S_VARI_SUMFL-HANDLE.
MOVE-CORRESPONDING : G_S_VARI_SUMHQ TO G_S_VARI_SUMHQ_DEF,
G_S_VARI_SUMFL TO G_S_VARI_SUMFL_DEF.
PERFORM GET_THE_DEFAULT_VARIANT
USING PA_SFLVA
G_S_VARI_SUMFL
G_S_VARI_SUMFL_DEF.
PERFORM GET_THE_DEFAULT_VARIANT
USING PA_SUVAR
G_S_VARI_SUMHQ
G_S_VARI_SUMHQ_DEF.
PERFORM INITIALISIERUNG.
get the parameters from the last run "n547170
PERFORM ESDUS_GET_PARAMETERS. "n547170
set flag when INITILIZATION is processed
MOVE 'X' TO G_FLAG_INITIALIZATION.
"n599218
AT SELECTION-SCREEN "n599218
"n599218
Prüfung der eingegebenen Selektionsparameter, -
Berechtigungsprüfung -
AT SELECTION-SCREEN.
the following 3 parameters XONUL, XVBST, and XNVBST "n599218
became obsolete; send error when they should be filled. "n599218
This could be possible if the user works with old "n599218
selection variants or this report is launched by a "n599218
SUBMIT command "n599218
IF XONUL IS INITIAL AND "n599218
XVBST IS INITIAL AND "n599218
XNVBST IS INITIAL. "n599218
ok, the old parameters are empty "n599218
ELSE. "n599218
text-088 : note 599218 : obsolete parameter used "n599218
MESSAGE E895 WITH TEXT-088. "n599218
ENDIF.
did the user hit the pushbutton "Category" ? "n599218
CASE SSCRFIELDS-UCOMM. "n599218
WHEN 'LIU '. "n599218
yes, the pushbutton "Category" was hit "n599218
IF G_FLAG_STATUS_LIU = C_HIDE. "n599218
show the 7 parameters on the selection srceen "n599218
MOVE C_SHOW TO G_FLAG_STATUS_LIU. "n599218
ELSE. "n599218
hide the 7 paramaters "n599218
MOVE C_HIDE TO G_FLAG_STATUS_LIU. "n599218
ENDIF. "n599218
ENDCASE. "n599218
"n599218
go on only if the user wants to launch this report "n599218
CHECK : SY-UCOMM = 'ONLI' OR "n599218
SY-UCOMM = 'PRIN' OR "n599218
SY-UCOMM = 'SJOB'. "n599218
only one sum function can be processed
IF XSUM = 'X' AND
PA_SUMFL = 'X'.
SET CURSOR FIELD 'XSUM'.
select one sum list only
MESSAGE E895 WITH TEXT-093.
ENDIF.
PERFORM EINGABEN_PRUEFEN.
SET CURSOR FIELD 'PA_SFLVA'.
PERFORM VARIANT_CHECK_EXISTENCE
USING PA_SFLVA
G_S_VARI_SUMFL
G_S_VARI_SUMFL_DEF.
SET CURSOR FIELD 'PA_SUVAR'.
PERFORM VARIANT_CHECK_EXISTENCE
USING PA_SUVAR
G_S_VARI_SUMHQ
G_S_VARI_SUMHQ_DEF.
check whether FI summarization is active and other "n547170
restrictions could deliver wrong results "n547170
PERFORM F0800_CHECK_RESTRICTIONS. "n547170
- the user wants to surpress the reversal movements : "n497992
process warning M7 392 "n497992
IF NOT NOSTO IS INITIAL. "n497992
emerge warning ? "n497992
CALL FUNCTION 'ME_CHECK_T160M' "n497992
EXPORTING "n497992
I_ARBGB = 'M7' "n497992
I_MSGNR = '392' "n497992
EXCEPTIONS "n497992
NOTHING = 0 "n497992
OTHERS = 1. "n497992
"n497992
IF SY-SUBRC <> 0. "n497992
SET CURSOR FIELD 'NOSTO'. "n497992
to surpress the reversal movements could cause ... "n497992
MESSAGE W392. "n497992
ENDIF. "n497992
ENDIF. "n497992
carry out special authotity check for the tax auditor "n547170
PERFORM TPC_CHECK_TAX_AUDITOR. "n547170
does the user wants a selection via company code or a plant ?
fill range table g_ra_werks
REFRESH : G_RA_BWKEY, G_RA_WERKS, G_T_ORGAN.
CLEAR : G_RA_BWKEY, G_RA_WERKS, G_T_ORGAN, G_S_ORGAN.
REFRESH : G_0000_RA_BWKEY, G_0000_RA_WERKS, G_0000_RA_BUKRS.
CLEAR : G_0000_RA_BWKEY, G_0000_RA_WERKS, G_0000_RA_BUKRS.
DESCRIBE TABLE BUKRS LINES G_F_CNT_LINES_BUKRS.
DESCRIBE TABLE WERKS LINES G_F_CNT_LINES_WERKS.
IF G_F_CNT_LINES_BUKRS > 0 OR
G_F_CNT_LINES_WERKS > 0.
fill range tables for the CREATION OF TABLE G_T_ORGAN
MOVE : WERKS[] TO G_0000_RA_WERKS[],
BUKRS[] TO G_0000_RA_BUKRS[].
PERFORM F0000_CREATE_TABLE_G_T_ORGAN
USING C_ERROR.
ENDIF.
save the parameters of this run "n547170
PERFORM ESDUS_SAVE_PARAMETERS. "n547170
"n599218
AT SELECTION-SCREEN OUTPUT "n599218
"n599218
"n599218
AT SELECTION-SCREEN OUTPUT. "n599218
"n599218
IF G_FLAG_INITIALIZATION IS INITIAL. "n599218
the process time INITIALIZATION was not done, so "n599218
carry out the functions here "n599218
MOVE 'X' TO G_FLAG_INITIALIZATION. "n599218
"n599218
PERFORM INITIALISIERUNG. "n599218
"n599218
get the parameters from the last run "n599218
PERFORM ESDUS_GET_PARAMETERS. "n599218
ENDIF. "n599218
"n599218
how to handle the 7 paramaters for the scope of list ? "n599218
LOOP AT SCREEN. "n599218
modify the selection screen "n599218
CASE SCREEN-GROUP1. "n599218
WHEN 'LIU'. "n599218
IF G_FLAG_STATUS_LIU = C_SHOW. "n599218
SCREEN-ACTIVE = '1'. "show parameters "n599218
ELSE. "n599218
SCREEN-ACTIVE = '0'. "Hide parameters "n599218
ENDIF. "n599218
"n599218
MODIFY SCREEN. "n599218
ENDCASE. "n599218
ENDLOOP. "n599218
"n599218
adapt the icon on the pushbutton depending on the status "n599218
CASE G_FLAG_STATUS_LIU. "n599218
WHEN C_HIDE. "n599218
MOVE TEXT-081 TO PB_LIU. "@0EQ@ Scope ... "n599218
WHEN C_SHOW. "n599218
MOVE TEXT-082 TO PB_LIU. "@0HQ@ Scope ... "n599218
WHEN OTHERS. "n599218
ENDCASE. "n599218
"n599218
"n599218
START-OF-SELECTION
START-OF-SELECTION.
*SET PF-STATUS 'TEST'.
create the title line
If no date is given at all, the range is set to the maximum
extend (1.1.0000 - 31.12.9999).
If only datum-low is set, it is interpreted as the day for
which the analysis is wanted --> datum-high is filled up.
IF DATUM-LOW IS INITIAL.
DATUM-LOW = '00000101'.
IF DATUM-HIGH IS INITIAL.
DATUM-HIGH = '99991231'.
ENDIF.
ELSE.
IF DATUM-HIGH IS INITIAL.
DATUM-HIGH = DATUM-LOW.
ENDIF.
ENDIF.
MOVE: DATUM-LOW(4) TO JAHRLOW,
DATUM-LOW+4(2) TO MONATLOW,
DATUM-LOW+6(2) TO TAGLOW,
DATUM-HIGH(4) TO JAHRHIGH,
DATUM-HIGH+4(2) TO MONATHIGH,
DATUM-HIGH+6(2) TO TAGHIGH.
SET TITLEBAR 'MAN'
WITH TAGLOW MONATLOW JAHRLOW TAGHIGH MONATHIGH JAHRHIGH.
create the headlines using the titelbar "n599218
PERFORM CREATE_HEADLINE. "n599218
calculate the offsets for the list header
PERFORM CALCULATE_OFFSETS.
for the representation of tied empties "n547170
PERFORM F0700_PREPARE_TIED_EMPTIES. "n547170
create table g_t_mseg_fields with the names of all
wanted fields from MSEG and MKPF
PERFORM F0300_GET_FIELDS.
set a break-point : is IS-OIL active ? "n599218 A
"n599218 A
check whether this is a IS-OIL system "n599218 A
PERFORM CHECK_IS_OIL_SYSTEM. "n599218 A
"n599218 A
IF G_FLAG_IS_OIL_ACTIVE = 'X'. "IS-OIL ? "n599218 A
the 2 IS-OIL specific data fields will be inserted into "n599218 A
working table G_T_MSEG_FIELDS. Then these fields will "n599218 A
transported from database table MSEG, too "n599218 A
APPEND 'MSEG~OIGLCALC' TO G_T_MSEG_FIELDS. "n599218 A
APPEND 'MSEG~OIGLSKU' TO G_T_MSEG_FIELDS. "n599218 A
ENDIF. "n599218 A
create the ALV fieldcatalog for the main list always
MOVE 'G_T_BELEGE' TO G_F_TABNAME.
PERFORM F0400_CREATE_FIELDCAT.
do not print the ALV-statistics and selection criteria
CLEAR G_S_PRINT.
G_S_PRINT-NO_PRINT_SELINFOS = 'X'.
G_S_PRINT-NO_PRINT_LISTINFOS = 'X'."
create the range table for the storage location
PERFORM F0600_CREATE_RANGE_LGORT.
- show the current activity and the progress "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-063. "Reading current stocks "n599218
get the stock tables
PERFORM AKTUELLE_BESTAENDE.
PERFORM TABELLEN_LESEN.
- show the current activity and the progress "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-064. "Reading MM documents "n599218
PERFORM F1000_SELECT_MSEG_MKPF.
PERFORM BELEGSELEKTION.
END-OF-SELECTION
END-OF-SELECTION.
results of all the autority checks
PERFORM F9100_AUTH_PLANT_RESULT.
- show the current activity and the progress "n599218
IF BWBST = 'X'. "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-066. "Calculating Stocks and Values "n599218
ELSE. "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-067. "Calculating Stocks "n599218
ENDIF. "n599218
PERFORM SUMMEN_BILDEN.
PERFORM BESTAENDE_BERECHNEN.
PERFORM LISTUMFANG.
- show the current activity and the progress "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-065. "Preparing list output "n599218
stop if table bestand is empty
LOOP AT BESTAND.
SELECT SINGLE MATKL FROM MARA INTO CORRESPONDING FIELDS OF BESTAND
WHERE
MATNR = BESTAND-MATNR.
MODIFY BESTAND INDEX SY-TABIX.
ENDLOOP.
DESCRIBE TABLE BESTAND LINES G_F_CNT_LINES.
IF G_F_CNT_LINES IS INITIAL.
Keinen Eintrag zu den Suchbegriffen gefunden/selektiert
MESSAGE S083.
perform anforderungsbild.
ELSE.
process log function if the use is a tax auditor "n555246
and the database selection was successful "n555246
IF G_FLAG_TPCUSER = '1'. "n555246
PERFORM TPC_WRITE_LOG. "n555246
ENDIF. "n555246
PERFORM FELDGRUPPEN_AUFBAUEN.
sort table with header data per material
IF BWBST IS INITIAL.
SORT BESTAND BY MATNR WERKS CHARG.
ELSE.
SORT BESTAND BY MATNR BWKEY.
ENDIF.
which function does the user want ?
IF XSUM = 'X'.
hierseq. alv with sums
PERFORM CREATE_TABLE_TOTALS_HQ.
PERFORM CREATE_FIELDCAT_TOTALS_HQ.
PERFORM ALV_HIERSEQ_LIST_TOTALS.
ENDIF.
IF FLAG NE 'X'.
IF PA_SUMFL = 'X'.
elseif pa_sumfl = 'X'.
show the sums only in a flat ALV
PERFORM CREATE_TABLE_TOTALS_FLAT.
PERFORM CREATE_FIELDCAT_TOTALS_FLAT.
PERFORM ALV_FLAT_LIST_SUMS_ONLY.
ELSE.
display the full list using the APPEND ALV
PERFORM BESTAENDE_AUSGEBEN.
ENDIF.
ENDIF.
FLAG = ' '.
ENDIF.
CLEAR: G_T_MSEG_LEAN, G_T_BSIM_LEAN, BESTAND. "n443935
*& PF_STATUS_SET_TOTALS
FORM PF_STATUS_SET_TOTALS "#EC CALLED
USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD' EXCLUDING EXTAB.
ENDFORM. "PF_STATUS_SET_TOTALS
user_parameters_save
FORM USER_PARAMETERS_SAVE.
GET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
GET PARAMETER ID 'WRK' FIELD G_SAVE_PARAMS-WERKS.
GET PARAMETER ID 'MAT' FIELD G_SAVE_PARAMS-MATNR.
GET PARAMETER ID 'CHA' FIELD G_SAVE_PARAMS-CHARG.
GET PARAMETER ID 'BLN' FIELD G_SAVE_PARAMS-BELNR.
GET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
GET PARAMETER ID 'GJR' FIELD G_SAVE_PARAMS-GJAHR.
ENDFORM. "user_parameters_save
user_parameters_restore
FORM USER_PARAMETERS_RESTORE.
SET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
SET PARAMETER ID 'WRK' FIELD G_SAVE_PARAMS-WERKS.
SET PARAMETER ID 'MAT' FIELD G_SAVE_PARAMS-MATNR.
SET PARAMETER ID 'CHA' FIELD G_SAVE_PARAMS-CHARG.
GET PARAMETER ID 'BLN' FIELD G_SAVE_PARAMS-BELNR.
GET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
GET PARAMETER ID 'GJR' FIELD G_SAVE_PARAMS-GJAHR.
ENDFORM. "user_parameters_restore
*& USER_COMMAND_TOTALS
FORM USER_COMMAND_TOTALS "#EC CALLED
USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CLEAR G_S_BESTAND_KEY.
CASE R_UCOMM.
WHEN '&GRPT'.
SORT BESTAND BY BWKEY MATKL.
FLAG = 'X'.
PERFORM GRP_TOTAL(ZGRP_TOTAL) TABLES BESTAND.
IF FLAG = 'X'.
EXIT.
ENDIF.
WHEN '&STR'.
IF BWBST = 'X'.
IF FLAG = 'X'.
clear: LGBST,BWBST ,SBBST.
PERFORM GRP_TOTAL(ZGRP_TOTAL1) TABLES BESTAND.
SUBMIT ZRM07MLBD2 WITH LGBST = 'X'
WITH WERKS = '1000'
WITH BUKRS = '1001'
WITH XSUM = 'X'
WITH PA_WDZER = PA_WDZER
WITH PA_WDZEW = PA_WDZEW
WITH PA_WDWIZ = PA_WDWIZ
WITH PA_WDWUW = PA_WDWUW
WITH PA_WDWEW = PA_WDWEW
WITH PA_NDZER = PA_NDZER
WITH PA_NDSTO = PA_NDSTO
WITH LGORT IN LGORT
WITH DATUM IN DATUM
WITH MATNR IN MATNR VIA SELECTION-SCREEN
AND RETURN.
CLEAR: LGBST.
ELSE.
MESSAGE E345(0) WITH 'First see the grp total'.
ENDIF.
ELSE.
MESSAGE E345(0) WITH 'Stock type chosen was not valuated'.
ENDIF.
Quarter Ending----
WHEN '&QTRE'.
TYPES: BEGIN OF TY_MTART,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
END OF TY_MTART.
DATA: L_REC_QTY TYPE P DECIMALS 3,
L_ISS_QTY TYPE P DECIMALS 3,
L_REC_AMT TYPE P DECIMALS 3,
L_ISS_AMT TYPE P DECIMALS 3,
L_OTHERS_QTY TYPE P DECIMALS 3,
L_SALE_QTY TYPE P DECIMALS 3,
L_SALE_AMT TYPE P DECIMALS 3,
L_OTHERS_AMT TYPE P DECIMALS 3.
DATA: IT_MAKT TYPE STANDARD TABLE OF MAKT WITH HEADER LINE,
IT_T023T TYPE STANDARD TABLE OF T023T WITH HEADER LINE,
IT_T134 TYPE STANDARD TABLE OF T134T WITH HEADER LINE.
DATA: IT_MTART TYPE STANDARD TABLE OF TY_MTART WITH HEADER LINE.Dear Experts,
Thanks all for the reply.
I have followed the OSS notes 194788
Only enter the selection criteria which are required for the selection of the stock management unit for which the opening stock balance and closing stock should be determined.
In MB5B I key in selection criteria which are :
material number : xxxxxx
company code : 1000
plant : 1500
batch : xxxxxx
special stock indicator : orders on hand
selection date : 01.08.2009 to current date
stock type :special stock
and the result comes out :
there is initial balance of 3000 kg on 01.08.2009 - INCORRECT ( our team never enter this initial balance but still came out )
therefore the stock of current date also WRONG
if the total stock is adjusted using stock take , the accounting journal will be created, and reduce the financial asset with the same amount of 3000 kg (WRONG EFFECT)
how to solve this issue without affecting the accounting journal ?
Thanks
Pauline -
Find opening stock as on date storage locationwise.
Hi,
Whether below mentioned logic is correct to find out storage locationwise stock.If its wrong please reply.
TABLES : WB2_V_MKPF_MSEG2,MACKW.
RANGES : O_DATE FOR SY-DATUM.
DATA : BEGIN OF ITAB OCCURS 0.
INCLUDE STRUCTURE WB2_V_MKPF_MSEG2.
DATA : MTART TYPE MACKW-MTART.
DATA : END OF ITAB.
DATA : BEGIN OF IT_COL OCCURS 0,
MATNR_I TYPE WB2_V_MKPF_MSEG2-MATNR_I,
LGORT_I TYPE WB2_V_MKPF_MSEG2-LGORT_I,
MENGE_I TYPE WB2_V_MKPF_MSEG2-MENGE_I,
MEINS_I TYPE WB2_V_MKPF_MSEG2-MEINS_I,
LGOBE TYPE T001L-LGOBE,
END OF IT_COL.
SELECT-OPTIONS: S_BUKRS FOR WB2_V_MKPF_MSEG2-BUKRS_I,
S_WERKS FOR WB2_V_MKPF_MSEG2-WERKS_I,
S_MATNR FOR WB2_V_MKPF_MSEG2-MATNR_I,
S_MTART FOR MACKW-MTART,
S_BUDAT FOR WB2_V_MKPF_MSEG2-BUDAT
NO-EXTENSION NO INTERVALS.
O_DATE-SIGN = 'I'.
O_DATE-OPTION = 'BT'.
O_DATE-LOW = '19780218'.
O_DATE-HIGH = S_BUDAT-LOW - 1.
APPEND O_DATE.
START-OF-SELECTION.
SELECT * FROM WB2_V_MKPF_MSEG2 AS A INNER JOIN MACKW
AS B ON B~MATNR = A~MATNR_I AND B~WERKS = A~WERKS_I
INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE
A~MATNR_I IN S_MATNR AND A~WERKS_I IN S_WERKS AND
A~BUKRS_I IN S_BUKRS AND
A~BUDAT IN O_DATE AND
B~MTART IN S_MTART.
SORT ITAB BY BUDAT WERKS_I MTART MATNR_I .
LOOP AT ITAB.
IF ITAB-SHKZG_I = 'H'.
ITAB-MENGE_I = ITAB-MENGE_I * -1.
ENDIF.
MODIFY ITAB.
ENDLOOP.
LOOP AT ITAB.
MOVE : ITAB-MATNR_I TO IT_COL-MATNR_I,
ITAB-LGORT_I TO IT_COL-LGORT_I,
ITAB-MENGE_I TO IT_COL-MENGE_I.
COLLECT IT_COL.
ENDLOOP.
LOOP AT IT_COL.
WRITE : / IT_COL-LGORT_I,IT_COL-MATNR_I,IT_COL-MENGE_I.
ENDLOOP.
Regards,
Bathri.
Edited by: Bathrinath Sankaranarayanan on Jun 5, 2009 7:36 PM
Edited by: Bathrinath Sankaranarayanan on Jun 5, 2009 7:38 PM
Moderator message - Please ask a specific question - like I expect results that look like this, but I get this. You are the one that can test this. People on the forum can't do much more than desk check your code for you.
Post locked
Edited by: Rob Burbank on Jun 5, 2009 1:41 PMSure - write a program.
Rob -
Help needed in finding max of a given dates
I have stored a list of dates in an arraylist.
I need to find the maximum or the latest date from the list.This "feature" was not documented (at least I haven't seen one for the last few months) and has been abused by some retard(s?) for CSS injection, so Sun chose to fix it by removing it ...
-
Finding epoch seconds for given date.
Hi,
I could able to find out the epoch seconds for particular date in linux using
date -d 'Apr 2 2005 15:31:17' '+%s'
But I am looking for the commands in solaris which does the same work.
I will be thank full if some one could help me.
I tried to do manual......but epoch seconds that I get are differing..
I found following snippet in mktime function
556 unsigned long
557 mktime(const unsigned int year0, const unsigned int mon0,
558 const unsigned int day, const unsigned int hour,
559 const unsigned int min, const unsigned int sec)
560 {
561 unsigned int mon = mon0, year = year0;
562
563 /* 1..12 -> 11,12,1..10 */
564 if (0 >= (int) (mon -= 2)) {
565 mon += 12; /* Puts Feb last since it has leap day */
566 year -= 1;
567 }
568
569 return ((((unsigned long)
570 (year/4 - year/100 + year/400 + 367*mon/12 + day) +
571 year*365 - 719499
572 )*24 + hour /* now have hours */
573 )*60 + min /* now have minutes */
574 )*60 + sec; /* finally seconds */
575 }
but could not make out why 367*mon/12.....instead of 365, I could not locate
the position where previous months days in this year added.
Is 719499 is number of days from 0th year to 1970 ?
Thank you,
Sateesh.Hi Darren,
Regarding the first option of OS command
date ...'+%s' works in linux only. It will not
work in Solaris. So if I get some command in solaris
which does same work it will be great.Most distributions that use a Linux kernel distribute the gnu 'date' program. That program works the same on Solaris as it does on Linux. That's why I suggested it to you earlier.
# /build/coreutils-5.93/bin/date '+%s'
1177951907
# uname -rsv
SunOS 5.8 Generic_117350-43
Darren -
Bapi for customer wise material stock on date
hi all,
is there any bapi to find customer wise material stock as on date.as logic as MB5BHi Kumar,
MB5B is a report RM07MLBD u can copy it to Z, do the logic as you required.. instead of searching for new.. & buliding the logic from the scratch.. so that u will get all the Functionality of MB5B
Regards -
Table for Stock on Specific Date in the Past.
Hi ..,
Please give me the Name of the Table to find the stock on Specific Date for a given material in the Past. like the T.code we use MB5B.
regards.Hi
MB5B uses a list of tables & logic to get the Stock for a particular posting date.
if you want the stock run this report in your Z- report & export the Values to your Z-report & use them accordingly.
Hope this helps
Thanks & Regards
Kishore -
Is There Any FM To Find Opening Stock in Given Date
Hi Sreedhar,
Check BAPI_MATERIAL_AVAILABILITY.
This function needs to imput Plant, Material number, Unit (usually ST) and Check rule (this is comming from customizing).
You need to append first entry into WMDVSX table with REQ_DATE = your datum to which you need to know how many
stocks are confirmed by Disposition. After executing you just read the first entry in the table WMDVEX, in the field
COM_QTY you can find the quantity confirmed. This works in many of our programs well -
How To Find Opening Stock And Value For a Material
Hi Experts,
How To Find Opening Stock And Value For a Material in Given Dates
Moderator Message: Search.
Edited by: kishan P on Sep 15, 2010 4:05 PMThanks For Answering.....
But I Need Any Function Module To Get Opening Stock And Value For Given Material With in Dates. -
Stock report with value and qauntity for given date not month wise
Hi gems,
can any body give me the standard report for Stock value and qauntity for given date not month wise at storage location levelHi
check the report S_P00_07000139 with the option inventory and raw material report- detail and selection date (from, to date same). List will give opening & closing balances with goods movment and their values.
Thanks -
How to get a opening stock of a material on a particular date
Hi,
Could you pls provide me the logic of how to get the opening stock of the material on a particular date. I searched the forum and found the logic to fetch the closing stock at a given period but not for a date.
An immediate response would be really appreciated.
Thanks
HarrisDear,
Please read following part of my code
FORM GET_OPENING .
IF IT_FINAL[] IS NOT INITIAL.
SELECT * FROM MARD
INTO CORRESPONDING FIELDS OF TABLE IT_MARD
FOR ALL ENTRIES IN IT_FINAL
WHERE MATNR = IT_FINAL-MATNR
AND WERKS = '1000'.
SELECT A~MBLNR A~MJAHR A~BUDAT B~WAERS B~ZEILE B~BWART B~MATNR B~WERKS B~LGORT B~CHARG B~SHKZG B~MENGE B~MEINS B~BUSTM B~XAUTO
INTO CORRESPONDING FIELDS OF TABLE IT_MKPF
FROM MKPF AS A JOIN MSEG AS B
ON A~MANDT = B~MANDT
AND A~MBLNR = B~MBLNR
AND A~MJAHR = B~MJAHR
FOR ALL ENTRIES IN IT_FINAL
WHERE B~MATNR = IT_FINAL-MATNR
AND A~BUDAT GE P_BUDAT-LOW
AND B~WERKS = '1000'.
ENDIF.
AKTDAT = SY-DATLO + 30.
IF NOT ( P_BUDAT-HIGH IS INITIAL OR P_BUDAT-HIGH > AKTDAT ).
LOOP AT IT_MKPF INTO WA_MKPF WHERE BUDAT > P_BUDAT-HIGH.
MOVE-CORRESPONDING WA_MKPF TO IT_MKPF1.
APPEND IT_MKPF1.
DELETE IT_MKPF.
ENDLOOP.
ENDIF.
SORT IT_MKPF1 BY WERKS MATNR SHKZG.
LOOP AT IT_MKPF1.
IF ( IT_MKPF1-XAUTO IS INITIAL ) OR
( IT_MKPF1-BUSTM <> 'MA02' AND IT_MKPF1-BUSTM <> 'MA05' ) .
MOVE-CORRESPONDING IT_MKPF1 TO IT_MAT.
COLLECT IT_MAT.
ELSE.
DELETE IT_MKPF1.
ENDIF.
ENDLOOP.
SORT IT_MKPF BY WERKS MATNR SHKZG DESCENDING.
LOOP AT IT_MKPF INTO WA_MKPF.
IF ( WA_MKPF-XAUTO IS INITIAL ) OR
( WA_MKPF-BUSTM <> 'MA02' AND
WA_MKPF-BUSTM <> 'MA05' ).
MOVE-CORRESPONDING WA_MKPF TO T_MAT.
COLLECT T_MAT.
ELSE.
DELETE IT_MKPF.
ENDIF.
ENDLOOP.
LOOP AT IT_MARD.
CLEAR IT_MAT-MENGE.
MOVE-CORRESPONDING IT_MARD TO FINAL.
READ TABLE IT_MAT WITH KEY WERKS = IT_MARD-WERKS
LGORT = IT_MARD-LGORT
MATNR = IT_MARD-MATNR
SHKZG = 'S'.
FINAL-ENDMENGE = IT_MARD-LABST + IT_MARD-INSME + IT_MARD-SPEME + IT_MARD-EINME + IT_MARD-RETME - IT_MAT-MENGE.
CLEAR IT_MAT-MENGE.
READ TABLE IT_MAT WITH KEY WERKS = IT_MARD-WERKS
LGORT = IT_MARD-LGORT
MATNR = IT_MARD-MATNR
SHKZG = 'H'.
FINAL-ENDMENGE = FINAL-ENDMENGE + IT_MAT-MENGE.
COLLECT FINAL.
ENDLOOP.
LOOP AT FINAL.
CLEAR T_MAT-MENGE.
READ TABLE T_MAT WITH KEY WERKS = FINAL-WERKS
MATNR = FINAL-MATNR
SHKZG = 'S'.
MOVE T_MAT-MENGE TO FINAL-SOLL.
CLEAR T_MAT-MENGE.
READ TABLE T_MAT WITH KEY WERKS = FINAL-WERKS
MATNR = FINAL-MATNR
SHKZG = 'H'.
MOVE T_MAT-MENGE TO FINAL-HABEN.
FINAL-ANFMENGE = FINAL-ENDMENGE - FINAL-SOLL + FINAL-HABEN.
MODIFY FINAL.
ENDLOOP.
LOOP AT FINAL.
WA_FINAL1-MATNR = FINAL-MATNR.
WA_FINAL1-MEINS = FINAL-MEINS.
WA_FINAL1-OP_MENGE = FINAL-ANFMENGE.
WA_FINAL1-RE_MENGE = FINAL-SOLL.
WA_FINAL1-IS_MENGE = FINAL-HABEN.
WA_FINAL1-CL_MENGE = FINAL-ENDMENGE.
* WA_FINAL-LGORT = FINAL-LGORT.
* READ TABLE IT_MAKT WITH KEY MATNR = FINAL-MATNR.
* MOVE IT_MAKT-MAKTX TO WA_FINAL-MAKTX.
APPEND WA_FINAL1 TO IT_FINAL1.
ENDLOOP.
ENDFORM. " GET_OPENING
Maybe you are looking for
-
Oracle9i installation error on Redhat 9
Dear all, I'm trying to install oracle9i(9.2.0.1) on redhat, after a few second the installer does nothing. I check the log file, it shows : java.lang.UnsatisfiedLinkError: /tmp/OraInstall2003-05-01_11-59-11AM/libactionUnix22.so: /tmp/OraInstall2003-
-
User-Exit/Badi for F-47/F-58
Hi All, I have a developed a custom workflow for f-47 (vendor down payment request). Now whenever the document is approved/rejected the status is stored in a custom ztable. This document is posted in f-58. My requirement is whenver the document is re
-
I have been having odd things happen when scolling, only starting in the last week or so. When I scroll down the page, I get partway down and then the upper part stops scrolling and the lower part scrolls under it. The opposite thing happens if I scr
-
Unable to view conversation pictures in specific c...
Using the newest version of Skype (7.0.0.102), in most group conversations, I am able to change the concersation picture and have it update immediately. However, in others, attempting to change the picture results in no change on my end. One user in
-
Humanworkflow callback to different process
Hi All, I have come up with a requirement I am runing on SOA 10.1.1.3.3 I have BPELProcess1 which call BPELProcess2 In BPELProcess2, we create human tasks with its parent process( BPELProcess1) details that means we modify below copy rules in *<taskn