Aging stock
Hi friends,
Please let me know what is the meaning if "Aging Stock"...its not technica...quite functional....please reply me ASAP...
I used below Tables :
tables: mara, " General Material Data
marc, " Plant Data for Material
mard, " Storage Location Data for Mataerial
mvke,
makt, " Material Description
mkpf, " Header: Material Document
resb, " Reservation/dependent requirements
mseg. " Document Segment: Material
Selection-screen :
material #
Vendor
Material type
storage location
Plant
Output is
Material
Material Description
Current plant stock
Expired stock
Effective Availible Stock
Reward points if it is available
Thanks
Seshu
Similar Messages
-
Dear All,
Anybody can share the Logic/Functional spec for developing the Stock Aging Report based on the receipt for the current stock which is available in trading plant.
Thank You,
Mani.Hi,
***Logic behind ***
This is define in overall stock on value based, suppose a material is received in Feb-month, same material is received in Jan-2007 , DEC-2007 also.The total value of this inventory is say 90 lakhs, ( 30 lakhs of each month) so system will show inventory aging as below
stock aging less than 30 days, 90 lakhs
stock aging more than 30 days but below 60 days 60 lakhs
stock ageing more than 60 days but below 90 days 30 lakhs
Assuming that no issue taken place if issue is taken place, it will be deducted by default FIFO method. You may have to develop an ABAP report.
Regards,
Biju K -
Ageing stock - analysis per warehouse
Hi there,
could you pls let me know whether there is any transaction that gives stock ageing analysis not for plant, but only for specified warehouse?
thanks a lot for help.
IHi,
In the Standard, Stock Ageing Analysis can be carried out at Plant level.
T Code - MC46.
Regards,
Bijoy Kumar -
Dear Master
Anybody can help me how to get the report for all stock having ageing stock more than 48 month?
What is the T Code I can use?
Thank you
paritz, the newbie in SAPDear All
When I run MB5m, it does not show anything, please let me know which scope of list I must select in order to get the more than 48 months stock.
MB5B can give me the information of posting date, however I can't understand, which qty I can assume it is the stock.
paritz, the newbie in SAP -
How to include maintaince view in da report
I did a report for Audit Inventory Ageing Company-wise Summary i am getting the output of the report well. what I need is that i should include a field WGBEZ of the maintaince view V023 so that to display material group description. where & how should i write the code in my code. kindly give suggestions. i here with attaching my code.
Title : Aged Stock
Description : 'Audit Inventory Ageing Company-wise Summary
REPORT ZMMR0024MOD LINE-SIZE 170 NO STANDARD PAGE HEADING .
TYPE-POOLS : SLIS.
TABLES : T001,
T023,
T001K,
MARA,
marv,
MAKT,
MBEW,
MSEG,
ekpo.
Constants
CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'TOP_OF_PAGE'.
Internal Tables
DATA : BEGIN OF GT_FINAL OCCURS 0,
MATKL LIKE MARA-MATKL,
MATNR LIKE MARA-MATNR,
WGBEZ LIKE V023-WGBEZ,
LBKUM LIKE MBEW-LBKUM,
tot_val type p decimals 2,
MAKTX LIKE MAKT-MAKTX,
tot_amt type p decimals 2,
price type p decimals 2,
meins like mara-meins,
END OF GT_FINAL,
DETAIL_FINAL LIKE GT_FINAL OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF MAT_FINAL OCCURS 0,
MATKL LIKE MARA-MATKL,
TOT_VAL LIKE MSEG-MENGE,
TOT_AMT LIKE MBEW-SALK3,
PRICE LIKE MBEW-SALK3,
meins like mara-meins,
END OF MAT_FINAL.
DATA : BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MATKL LIKE MARA-MATKL,
MAKTX LIKE MAKT-MAKTX,
WGBEZ LIKE V023-WGBEZ,
MEINS LIKE MARA-MEINS,
LBKUM LIKE MBEWH-LBKUM,
TOT_AMT LIKE MBEW-SALK3,
END OF I_MARA.
DATA : BEGIN OF I_MKPF_MSEG OCCURS 0,
MATNR LIKE MARA-MATNR,
MBLNR LIKE MSEG-MBLNR,
ZEILE LIKE MSEG-ZEILE,
MENGE LIKE MSEG-MENGE,
BWART LIKE MSEG-BWART,
BUDAT LIKE MKPF-BUDAT,
NET_VAL LIKE MSEG-MENGE,
ebeln like mseg-ebeln,
ebelp like mseg-ebelp,
lfbnr like mseg-lfbnr,
lfpos like mseg-lfpos,
SHKZG LIKE MSEG-SHKZG,
meins like mara-meins,
END OF I_MKPF_MSEG,
WA_TEMP LIKE I_MKPF_MSEG.
DATA : BEGIN OF I_MBEWH OCCURS 0,
MATNR LIKE MARA-MATNR,
LBKUM LIKE MBEW-LBKUM,
SALK3 LIKE MBEW-SALK3,
BWKEY LIKE MBEW-BWKEY,
END OF I_MBEWH.
DATA : I_MBEWH1 LIKE I_MBEWH OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF I_TEMP OCCURS 0,
MATNR LIKE MARA-MATNR,
NET_VAL LIKE MSEG-MENGE,
meins like mara-meins,
END OF I_TEMP.
RANGES : RANGE_WERK FOR T001W-WERKS,
RANGE_DATE FOR SY-DATUM,
S_BWTAR FOR BWTAR.
DATA : PERIOD LIKE BAPI0002_4-FISCAL_PERIOD,
FISCAL_YEAR LIKE BAPI0002_4-FISCAL_YEAR,
CUR_VAL LIKE MSEG-MENGE,
NET_VAL LIKE MSEG-MENGE,
TOT_VAL LIKE MSEG-MENGE,
TOT_QTY LIKE MSEG-MENGE,
TOT_AMT1 LIKE MBEW-SALK3,
RES_DATE LIKE SY-DATUM,
NUM LIKE MBEW-SALK3,
UOM LIKE MARA-MEINS.
Data declarations for alv
DATA : GV_PAGE TYPE N VALUE 0.
DATA : GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GT_FILTER TYPE SLIS_T_FILTER_ALV,
GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE,
GV_REPID LIKE SY-REPID,
GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
GV_SAVE(1) TYPE C,
GT_VARIANT LIKE DISVARIANT,
GV_DOMNAME LIKE DD07V-DOMNAME,
GV_DOMVAL LIKE DD07V-DOMVALUE_L,
GW_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
Selection screen
SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE TEXT-001.
PARAMETERS : GS_BUKRS LIKE T001K-BUKRS OBLIGATORY.
SELECT-OPTIONS : GS_MATKL FOR MARA-MATKL,
GS_MATNR FOR MARA-MATNR.
PARAMETERS : gs_ped like s031-spmon OBLIGATORY,
GS_DAYS(3) TYPE n,
MG1 RADIOBUTTON GROUP GR1,
MT2 RADIOBUTTON GROUP GR1.
SELECTION-SCREEN END OF BLOCK SEL.
Validations on selection screen
AT SELECTION-SCREEN ON GS_BUKRS.
PERFORM F00_VALIDATE_COMPANY_CODE.
AT SELECTION-SCREEN ON GS_MATKL.
IF NOT GS_MATKL[] IS INITIAL.
PERFORM F01_VALIDATE_MATERIAL_GROUP.
ENDIF.
AT SELECTION-SCREEN ON GS_MATNR.
IF NOT GS_MATNR[] IS INITIAL.
PERFORM F01_VALIDATE_MATERIAL.
ENDIF.
AT SELECTION-SCREEN ON GS_days.
if gs_days = ''.
gs_days = 0.
endif.
START-OF-SELECTION.
GV_REPID = SY-REPID.
PERFORM F20_EVENTTAB_BUILD CHANGING GT_EVENTS[].
PERFORM F30_SELECT_PRIMARY_DATA.
IF MG1 = 'X'.
PERFORM F11_DATA_FORMAT_GROUP.
PERFORM F50_MATERIAL_GROUP_DATA.
PERFORM F40_DISPLAY_REPORT TABLES MAT_FINAL.
ELSEIF MT2 = 'X'.
PERFORM F10_DATA_FORMAT_MAT.
PERFORM F40_DISPLAY_REPORT TABLES GT_FINAL.
ENDIF.
*& Form F20_EVENTTAB_BUILD
FORM F20_EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS: LC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'TOP_OF_PAGE',
LC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
'USER_COMMAND'.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVENTS.
note : lt_events has all the events
READ TABLE 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 LT_EVENTS.
ENDIF.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE LC_FORMNAME_USER_COMMAND TO LS_EVENT-FORM.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
ENDFORM. "F20_EVENTTAB_BUILD
*& Form F12_E04_COMMENT_BUILD
FORM F12_E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE
SLIS_T_LISTHEADER.
DATA : LS_LINE TYPE SLIS_LISTHEADER,
LV_TEXT(100) TYPE C,
LV_DAYLOW(2) TYPE C,
LV_MONTHLOW(2) TYPE C,
LV_YEARHIGH(4) TYPE C,
LV_DAYHIGH(2) TYPE C,
LV_MONTHHIGH(2) TYPE C,
LV_YEARLOW(4) TYPE C,
LV_DATFORMAT1(10),
LV_DATFORMAT2(10).
CONCATENATE 'Company Code :' ' ' GS_BUKRS
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
IF NOT GS_MATKL[] IS INITIAL.
IF GS_MATKL-HIGH IS INITIAL AND NOT GS_MATKL-LOW IS INITIAL.
CONCATENATE 'Material Group :' ' ' GS_MATKL-LOW
INTO LV_TEXT SEPARATED BY SPACE.
ELSE .
CONCATENATE 'Material Group :' GS_MATKL-LOW ' to'
GS_MATKL-HIGH INTO LV_TEXT SEPARATED BY SPACE.
ENDIF.
ENDIF.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
IF NOT GS_MATNR[] IS INITIAL.
IF GS_MATNR-HIGH IS INITIAL AND NOT GS_MATNR-LOW IS INITIAL.
CONCATENATE 'Material :' ' ' GS_MATNR-LOW
INTO LV_TEXT SEPARATED BY SPACE.
ELSE .
CONCATENATE 'Material :' GS_MATNR-LOW ' to'
GS_MATNR-HIGH INTO LV_TEXT SEPARATED BY SPACE.
ENDIF.
ENDIF.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
LV_YEARLOW = gs_ped+0(4).
LV_MONTHLOW = gs_ped+4(2).
LV_DAYLOW = gs_ped+6(2).
CONCATENATE LV_DAYLOW LV_MONTHLOW LV_YEARLOW INTO LV_DATFORMAT1
*SEPARATED BY '.'.
CONCATENATE 'Key month : ' gs_ped
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
CONCATENATE 'Number of days :' ' ' GS_DAYS
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
GV_PAGE = GV_PAGE + 1.
CONCATENATE 'PAGE NO : ' ' ' GV_PAGE
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
ENDFORM. "F12_E04_COMMENT_BUILD
FORM TOP_OF_PAGE *
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGE
*& Form validate_sales_organization
text
FORM F00_VALIDATE_COMPANY_CODE .
SELECT SINGLE BUKRS
FROM T001
INTO T001-BUKRS
WHERE BUKRS = GS_BUKRS.
IF SY-SUBRC = 0.
ELSE.
MESSAGE E000(ZCBOM) WITH 'Please enter the valid material group'.
ENDIF.
ENDFORM. " validate_sales_organization
*& Form VALIDATE_PLANT
text
--> p1 text
<-- p2 text
FORM F01_VALIDATE_MATERIAL_GROUP.
SELECT SINGLE MATKL
FROM T023
INTO T023-MATKL
WHERE MATKL IN GS_MATKL.
IF SY-SUBRC = 0.
ELSE.
MESSAGE E000(ZCBOM) WITH 'Please enter the valid material group'.
ENDIF.
ENDFORM. " VALIDATE_PLANT
*& Form VALIDATE_MATERIAL
text
--> p1 text
<-- p2 text
FORM F01_VALIDATE_MATERIAL.
SELECT SINGLE MATNR
FROM MARA
INTO MARA-MATNR
WHERE MATNR IN GS_MATNR.
IF SY-SUBRC = 0.
ELSE.
MESSAGE E000(ZCBOM) WITH 'Please enter the valid material '.
ENDIF.
ENDFORM. " VALIDATE_MATERIAL
*& Form F40_DISPLAY_REPORT
FORM F40_DISPLAY_REPORT TABLES IT.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND '
IT_FIELDCAT = GT_FIELDCAT[]
IT_SPECIAL_GROUPS = GT_SP_GROUP[]
IT_SORT = GT_SORT[]
I_SAVE = GV_SAVE
IS_VARIANT = GT_VARIANT
IT_EVENTS = GT_EVENTS[]
TABLES
T_OUTTAB = IT. "it_1.
CLEAR:GT_FIELDCAT.
REFRESH:GT_FIELDCAT.
ENDFORM. " F40_DISPLAY_REPORT
*& Form F30_SELECT_PRIMARY_DATA
text
FORM F30_SELECT_PRIMARY_DATA .
subroutine to get the actual data
to get the plants for the given company code
data : temp_bukrs like BAPI0002_2-COMP_CODE,
temp_date like BAPI0002_4-POSTING_DATE.
data : last_day(2) type n,
from_date like sy-datum,
temp_date1 like sy-datum,
cal_month(2) type n,
cal_year(4) type n.
SELECT DISTINCT BWKEY FROM T001K INTO RANGE_WERK-LOW WHERE BUKRS = GS_BUKRS.
RANGE_WERK-SIGN = 'I'.
RANGE_WERK-OPTION = 'EQ'.
APPEND RANGE_WERK.
ENDSELECT.
*selecting material that is relevant to the selection criteria
SELECT MARA~MATNR MATKL MEINS MAKTX
FROM MARA JOIN MAKT
ON MAKTMATNR = MARAMATNR
INTO CORRESPONDING FIELDS OF TABLE I_MARA
WHERE MARA~MATNR IN GS_MATNR
AND MATKL IN GS_MATKL
AND MAKT~SPRAS = 'EN'.
temp_bukrs = gs_bukrs.
cal_month = gs_ped+4(2).
cal_year = gs_ped+0(4).
concatenate cal_year cal_month '01' into temp_date.
*temp_date = temp_date1.
CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
EXPORTING
COMPANYCODEID = temp_bukrs
POSTING_DATE = temp_date
IMPORTING
FISCAL_YEAR = fiscal_year
FISCAL_PERIOD = period.
select single * from marv into marv where bukrs = temp_bukrs.
temp_date1 = temp_date.
if sy-subrc = 0.
if ( marv-lfmon ne period or marv-lfgja ne fiscal_year ).
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = temp_date
IMPORTING
LAST_DAY_OF_MONTH = from_date
EXCEPTIONS
DAY_IN_NO_DATE = 1
OTHERS = 2.
else.
from_date = sy-datum.
endif.
endif.
to define the range for posting date
RES_DATE = from_date - GS_DAYS.
RANGE_DATE-LOW = RES_DATE.
RANGE_DATE-HIGH = from_date.
RANGE_DATE-OPTION = 'BT'.
RANGE_DATE-SIGN = 'I'.
APPEND RANGE_DATE.
to select documents and their quantities for the given range of posting dates
with goods movement type 101 105 657 453 459 501 521 and their reversals
if range_date-low ne range_date-high.
SELECT MSEG~MATNR MSEG~MBLNR MSEG~ZEILE MSEG~MENGE MSEG~BWART mseg~ebeln mseg~ebelp
MKPF~BUDAT MSEG~SHKZG
FROM MKPF
JOIN MSEG ON MSEG~MBLNR = MKPF~MBLNR
AND MSEG~MJAHR = MKPF~MJAHR
INTO CORRESPONDING FIELDS OF TABLE I_MKPF_MSEG
FOR ALL ENTRIES IN I_MARA
WHERE MSEG~MATNR = I_MARA-MATNR
AND MSEG~WERKS IN RANGE_WERK
AND MKPF~BUDAT IN RANGE_DATE
AND MSEG~BWART IN ('101','105','657','453','459','501','521','561','309','701','712', "711
'102','106','658','454','460','502','522','562').
DELETE I_MKPF_MSEG WHERE ( BWART = '309' AND SHKZG = 'H')
or ( bwart = '453' and shkzg = 'H')
or ( bwart = '454' and shkzg = 'S').
endif.
SORT I_MKPF_MSEG BY MATNR MBLNR.
LOOP AT I_MKPF_MSEG.
if i_mkpf_mseg-bwart = '101' or i_mkpf_mseg-bwart = '102'.
select single * from ekpo where ebeln = i_mkpf_mseg-ebeln
and ebelp = i_mkpf_mseg-ebelp.
if ekpo-pstyp = 7.
delete i_mkpf_mseg where ebeln = i_mkpf_mseg-ebeln
and ebelp = i_mkpf_mseg-ebelp.
CLEAR I_MKPF_MSEG-MENGE.
endif.
endif.
IF ( I_MKPF_MSEG-BWART = '101' OR I_MKPF_MSEG-BWART = '105' OR I_MKPF_MSEG-BWART = '712' OR
I_MKPF_MSEG-BWART = '657' OR I_MKPF_MSEG-BWART = '453' OR "I_MKPF_MSEG-BWART = '711' OR
I_MKPF_MSEG-BWART = '459' OR I_MKPF_MSEG-BWART = '501' OR I_MKPF_MSEG-BWART = '701' OR
I_MKPF_MSEG-BWART = '521' OR I_MKPF_MSEG-BWART = '561' OR I_MKPF_MSEG-BWART = '309').
NET_VAL = NET_VAL + I_MKPF_MSEG-MENGE.
ENDIF.
IF ( I_MKPF_MSEG-BWART = '102' OR I_MKPF_MSEG-BWART = '106' OR
I_MKPF_MSEG-BWART = '658' OR I_MKPF_MSEG-BWART = '454' OR
I_MKPF_MSEG-BWART = '460' OR I_MKPF_MSEG-BWART = '502' OR
I_MKPF_MSEG-BWART = '522' OR I_MKPF_MSEG-BWART = '562').
NET_VAL = NET_VAL - I_MKPF_MSEG-MENGE.
ENDIF.
WA_TEMP = I_MKPF_MSEG.
AT END OF MATNR.
I_TEMP-MATNR = WA_TEMP-MATNR.
I_TEMP-NET_VAL = NET_VAL.
APPEND I_TEMP.
CLEAR NET_VAL.
ENDAT.
ENDLOOP.
SORT I_MARA BY MATNR.
SORT I_TEMP BY MATNR.
SELECT MATNR LBKUM SALK3 BWKEY
FROM MBEWH
INTO CORRESPONDING FIELDS OF TABLE I_MBEWH
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND BWKEY IN RANGE_WERK
AND BWTAR IN S_BWTAR
AND LFGJA = FISCAL_YEAR
AND LFMON = PERIOD.
SELECT MATNR LBKUM SALK3 BWKEY
FROM MBEW
INTO CORRESPONDING FIELDS OF TABLE I_MBEWH1
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND BWKEY IN RANGE_WERK.
AND LFMON = PERIOD
AND LFGJA = FISCAL_YEAR.
SORT I_MBEWH BY MATNR BWKEY.
SORT I_MBEWH1 BY MATNR BWKEY.
LOOP AT I_MBEWH.
LOOP AT I_MBEWH1 WHERE MATNR = I_MBEWH-MATNR
AND BWKEY = I_MBEWH-BWKEY.
DELETE I_MBEWH1.
ENDLOOP.
ENDLOOP.
APPEND LINES OF I_MBEWH1 TO I_MBEWH.
CLEAR : I_MBEWH1.
REFRESH I_MBEWH1.
SORT I_MBEWH BY MATNR.
LOOP AT I_MBEWH .
I_MBEWH1 = I_MBEWH.
AT END OF MATNR.
SUM.
I_MBEWH1-LBKUM = I_MBEWH-LBKUM.
I_MBEWH1-SALK3 = I_MBEWH-SALK3.
APPEND I_MBEWH1.
ENDAT.
ENDLOOP.
DELETE I_MBEWH1 WHERE LBKUM <= 0.
LOOP AT I_MARA.
CLEAR : CUR_VAL,
NUM,
TOT_VAL,
TOT_AMT1,
I_MBEWH1.
GT_FINAL-MATNR = I_MARA-MATNR.
GT_FINAL-MATKL = I_MARA-MATKL.
GT_FINAL-MAKTX = I_MARA-MAKTX.
gt_final-meins = I_MARA-MEINS.
READ TABLE I_MBEWH1 WITH KEY MATNR = I_MARA-MATNR.
GT_FINAL-LBKUM = I_MBEWH1-LBKUM.
to get the net inward movement vale that is to be subtracted from current value
READ TABLE I_TEMP WITH KEY MATNR = I_MARA-MATNR.
IF SY-SUBRC = 0 .
IF GT_FINAL-LBKUM > 0.
TOT_VAL = gt_final-lbkum - I_TEMP-NET_VAL.
if tot_val gt 0.
GT_FINAL-TOT_VAL = TOT_VAL.
GT_FINAL-PRICE = I_MBEWH1-SALK3 / gt_final-lbkum."TOT_VAL.
GT_FINAL-TOT_AMT = GT_FINAL-PRICE * GT_FINAL-TOT_VAL.
APPEND GT_FINAL.
endif.
ENDIF.
else.
if gt_final-lbkum > 0.
gt_final-tot_val = gt_final-lbkum.
GT_FINAL-PRICE = I_MBEWH1-SALK3 / gt_final-lbkum.
GT_FINAL-TOT_AMT = GT_FINAL-PRICE * GT_FINAL-TOT_VAL.
APPEND GT_FINAL.
endif.
ENDIF.
ENDLOOP.
DELETE GT_FINAL WHERE LBKUM LE 0.
ENDFORM. " F30_SELECT_PRIMARY_DATA
*& Form f10_DATA_FORMAT
text
FORM F10_DATA_FORMAT_MAT .
populating the field catalog table
MATNR
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATNR' 'MATNR' '1'
TEXT-003 'GT_FINAL' '15'.
MAKTX
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATKL' 'MATKL' '2'
TEXT-004 'GT_FINAL' '24'.
DESC
PERFORM F11_E01_FIELDCAT_INIT USING 'MAKT' 'MAKTX' 'MAKTX' '3'
TEXT-005 'GT_FINAL' '35'.
Material Group Decription
PERFORM F11_E01_FIELDCAT_INIT USING 'V023' 'WGBEZ' 'WGBEZ' '3'
TEXT-005 'GT_FINAL' '20'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_VAL' 'MENGE' '4'
TEXT-006 'GT_FINAL' '15'.
MEINS
PERFORM F11_E01_FIELDCAT_INIT USING '' 'MEINS' 'MEINS' '4'
TEXT-008 'GT_FINAL' '15'.
TOTAL COST
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_AMT' 'SALK3' '5'
TEXT-007 'GT_FINAL' '24'.
PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
GV_SAVE = 'A'.
CLEAR GT_EVENTS.
REFRESH GT_EVENTS.
GT_EVENTS-NAME = 'TOP_OF_PAGE'.
GT_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND GT_EVENTS.
ENDFORM. " f10_DATA_FORMAT
*& Form F11_E01_FIELDCAT_INIT
text
FORM F11_E01_FIELDCAT_INIT USING T1 T2 T3 T4 T5 T6 T7.
CLEAR GW_FIELDCAT.
GW_FIELDCAT-REF_TABNAME = T1.
GW_FIELDCAT-FIELDNAME = T2.
GW_FIELDCAT-REF_FIELDNAME = T3.
GW_FIELDCAT-COL_POS = T4.
GW_FIELDCAT-SELTEXT_L = T5.
GW_FIELDCAT-TABNAME = T6.
GW_FIELDCAT-OUTPUTLEN = T7.
APPEND GW_FIELDCAT TO GT_FIELDCAT.
ENDFORM. " F11_E01_FIELDCAT_INIT
*& Form f40_material_group_data
text
--> p1 text
<-- p2 text
FORM F50_MATERIAL_GROUP_DATA .
SORT GT_FINAL BY MATKL.
LOOP AT GT_FINAL.
TOT_QTY = GT_FINAL-TOT_VAL + TOT_QTY.
TOT_AMT1 = GT_FINAL-TOT_AMT + TOT_AMT1.
UOM = GT_FINAL-MEINS.
AT END OF MATKL.
MAT_FINAL-MATKL = GT_FINAL-MATKL.
MAT_FINAL-TOT_VAL = TOT_QTY.
MAT_FINAL-TOT_AMT = TOT_AMT1.
MAT_FINAL-MEINS = UOM.
APPEND MAT_FINAL.
CLEAR : TOT_QTY,
TOT_AMT1.
ENDAT.
ENDLOOP.
ENDFORM. " f40_material_group_data
*& Form BUILD_DETAIL
text
--> p1 text
<-- p2 text
FORM BUILD_DETAIL .
DETAIL_FINAL[] = GT_FINAL[].
DELETE DETAIL_FINAL WHERE MATKL NE MAT_FINAL-MATKL.
ENDFORM. " BUILD_DETAIL
*& Form f11_data_format_group
text
--> p1 text
<-- p2 text
FORM F11_DATA_FORMAT_GROUP .
MATNR
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATNR' 'MATNR' '1'
TEXT-003 'GT_FINAL' '15'.
REFRESH GT_FIELDCAT[].
MAKTX
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATKL' 'MATKL' '2'
TEXT-004 'MAT_FINAL' '24'.
DESC
PERFORM F11_E01_FIELDCAT_INIT USING 'MAKT' 'MAKTX' 'MAKTX' '3'
TEXT-005 'GT_FINAL' '35'.
Material Group Decription
PERFORM F11_E01_FIELDCAT_INIT USING 'V023' 'WGBEZ' 'WGBEZ' '3'
TEXT-005 'GT_FINAL' '20'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_VAL' 'MENGE' '4'
TEXT-006 'MAT_FINAL' '15'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'MEINS' 'MEINS' '5'
TEXT-008 'MAT_FINAL' '15'.
TOTAL COST
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_AMT' 'SALK3' '6'
TEXT-007 'MAT_FINAL' '24'.
PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
GV_SAVE = 'A'.
CLEAR GT_EVENTS.
REFRESH GT_EVENTS.
GT_EVENTS-NAME = 'TOP_OF_PAGE'.
GT_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND GT_EVENTS.
ENDFORM. " f11_data_format_group
*& Form DETAIL_FORMAT_FIELDCAT
text
--> p1 text
<-- p2 text
FORM DETAIL_FORMAT_FIELDCAT .
REFRESH GT_FIELDCAT[].
MATNR
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATNR' 'MATNR' '1'
TEXT-003 'DETAIL_FINAL' '15'.
MAKTL
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATKL' 'MATKL' '2'
TEXT-004 'DETAIL_FINAL' '24'.
MAKTX
PERFORM F11_E01_FIELDCAT_INIT USING 'MAKT' 'MAKTX' 'MAKTX' '3'
TEXT-005 'DETAIL_FINAL' '35'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_VAL' 'MENGE' '4'
TEXT-006 'DETAIL_FINAL' '15'.
UOM
PERFORM F11_E01_FIELDCAT_INIT USING '' 'MEINS' 'MEINS' '5'
TEXT-008 'DETAIL_FINAL' '15'.
TOTAL COST
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_AMT' 'SALK3' '6'
TEXT-007 'DETAIL_FINAL' '24'.
PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
GV_SAVE = 'A'.
CLEAR GT_EVENTS.
REFRESH GT_EVENTS.
GT_EVENTS-NAME = 'TOP_OF_PAGE'.
GT_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND GT_EVENTS.
ENDFORM. " DETAIL_FORMAT_FIELDCAT
FORM USER_COMMAND *
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'. "doubleclick
IF RS_SELFIELD-TABNAME = 'MAT_FINAL'.
READ TABLE MAT_FINAL INDEX RS_SELFIELD-TABINDEX .
PERFORM BUILD_DETAIL.
PERFORM DETAIL_FORMAT_FIELDCAT.
PERFORM F20_EVENTTAB_BUILD CHANGING GT_EVENTS[].
PERFORM F40_DISPLAY_REPORT TABLES DETAIL_FINAL.
CLEAR DETAIL_FINAL[].
ENDIF.
CLEAR R_UCOMM.
ENDCASE.
ENDFORM. "USER_COMMANDHi,
Done with the help of abaper.
Thanks & Regards,
Sandeep -
How to perform Descending Order function on a DATE column in Analytical View
Hi,
I have the below requirement
For the article/site having a+ stock quantity from table MARD field LABST, check the last goods movement date as a receipt table MSEG field SHKZG value "H". To get this information fetch the data from the table MSEG & MKPF. The lead time from that date till the present date is the ageing information. Show the output sorted on the duration as ageing information.
Created a calculate column with the below code and it is populating data i.e. multiple records for the same item for different dates like
daysbetween(date("BUDAT"),date("CURRENT_DATE"))
MC25001;1001;08;DC01;;H;WL;20150317;20150317;000000000000000233;2015-04-20;34;1,003
MC25001;1001;08;DC01;;H;WL;20150312;20150312;000000000000000233;2015-04-20;39;2,006
MC25001;1001;08;DC01;;H;WL;20141203;20141203;000000000000000233;2015-04-20;138;3,009
MC25001;1001;08;DC01;;H;WL;20150409;20150409;000000000000000233;2015-04-20;11;1,003
MC25001;1001;08;DC01;;H;WL;20141201;20141201;000000000000000233;2015-04-20;140;1,003
Now I have to sort the date (BUDAT) (highlighted in bold above) to be sorted in Descending and then take the first record and then apply the the above formula to get the aging stock.
Any suggestions?
Best Regards,
VijayaHi,
But I don't think you need to go for scripting view. What you can do here is create one more calculation view , insert this analytical view in the projection and select date as measure and pick max value and then create one calculated column and put your logic.
I hope i got your requirement correctly.
BR
Sumeet -
Hi Experts,
Needs Ur Valuable Suggestion on this.
My Client wants Few PURCHASE REPORTS
1. GOODS INWARD
Inputs will be -1) DATE WISE FROM DATE TO to date
-2) With Respect to One Supplier Vendor Or all for that month
-3) With respect to Regular Purchase/Consignment Purchase/etc.
With all these inputs which report i can get ?
2. Purchase register.
Inputs will be -1) DATE WISE FROM DATE TO to date
-2) With Respect to One Supplier Vendor Or all for that month
-3) With respect to Regular Purchase/Consignment Purchase/etc.
With all these inputs which report i can get ?
3. GOODS INWARD PRINT
-1)Goods Inward Print.
-2)Invoice Print.
4. PURCHASE INWARD PRINT DETAILS
5 LIST OF ITEMS TO RETURN BEFORE RETURN DUE DATE.
Required a report which should state the age of Material from the date of Goods inward.
- AGING STOCK, eg if we want to see the report for the Materials which are in stock from last 120 days or n number of days.
- and one report which shows the due return date mentioned in MIGO.
6. PURCHASE RETURN REGISTER
- DATEWISE/Vendorwise/
7. PURCHASE ANALYSIS VENDOR WISE : It shows the Material sold til date and Materials in stock till date against Vendors individual invoices or together
( Vendor wise , Goods inward wise).
Best Regards
Javeed AhamedHi,
1. GOODS INWARD--MB51
2. Purchase register---ME2M
3. GOODS INWARD PRINT
-1)Goods Inward Print.-MB03 or MB90
-2)Invoice Print.-MR90
4. PURCHASE INWARD PRINT DETAILS
5 LIST OF ITEMS TO RETURN BEFORE RETURN DUE DATE.
Required a report which should state the age of Material from the date of Goods inward.
- AGING STOCK, eg if we want to see the report for the Materials which are in stock from last 120 days or n number of days.--MC46
- and one report which shows the due return date mentioned in MIGO.
6. PURCHASE RETURN REGISTER --MB51
- DATEWISE/Vendorwise/
7. PURCHASE ANALYSIS VENDOR WISE : It shows the Material sold til date and Materials in stock till date against Vendors individual invoices or together
( Vendor wise , Goods inward wise). -
Library of Crystal Reports (not Layouts) for 8.8
Hello All,
Is there a library of sample CRystal Reports for SBO 8.8.
I don't mean Layouts.
I mean Crystal Reports for typical business reports like Ageing, Stock LIstings, SAles Analysis etc..Hi Christian
Here is the latest version for you with 64 Bit compatibility 2.0.0.7
[Crystal Add-On with 64 Bit Compatibility|https://sapmats-de.sap-ag.de/download/download.cgi?id=0G5XHIZJQPZGO012YOH7W95H7M7SA4UOHHZZ28HQZGMOO5OH8R] -
How to sending simple text in the mail body
Hi friends,
How to send simple text in the mail body through ABAP code
plz send me the related code and setting for that mail.
Thanks&Regards,
Srinivastry this...
FORM send_file_as_email_attachment .
DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
DATA: reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE.
DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.
DATA : i_body TYPE soli_tab WITH HEADER LINE.
DATA: it_attach LIKE it_display1 OCCURS 0 WITH HEADER LINE.
DATA: doc_chng LIKE sodocchgi1.
DATA: tab_lines LIKE sy-tabix.
DATA: att_lines TYPE i.
DATA: lv_lines TYPE i.
DATA: file TYPE string.
data: g_datum like sy-datum.
data: g_datum1(10) type c.
DATA: len TYPE n.
LOOP AT it_email.
CLEAR : objpack,
objhead,
objbin,
objtxt,
reclist.
REFRESH: objpack,
objhead,
objbin,
objtxt,
reclist.
g_datum = sy-datum - 1.
concatenate g_datum6(2) '.' g_datum4(2) '.' g_datum+0(4) into
g_datum1.
doc_chng-obj_descr = 'Aged Stock more than 45 Days'.
CONCATENATE 'Aged Stock more than 45 Days' '-' it_email-vkbur INTO
doc_chng-obj_descr.
CONCATENATE 'Please find enclosed Aged Stock Details ( >45days ) report as on'
g_datum1
INTO objtxt-line SEPARATED BY space.
APPEND objtxt.
objtxt-line = ' '.
APPEND objtxt.
objtxt-line = 'Regards'.
APPEND objtxt.
objtxt-line = 'LIS SAP Projects'.
APPEND objtxt.
objtxt-line =
'PS: Pls send feedback for futher improvements to SAP office.'.
APPEND objtxt.
DESCRIBE TABLE objtxt LINES tab_lines.
READ TABLE objtxt INDEX tab_lines.
doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 1.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'TXT'.
objpack-obj_name = 'Run_prog'.
objpack-obj_descr = 'Agestock.txt'.
lv_lines = tab_lines.
APPEND objpack.
*CONCATENATE 'Plant' 'Material Number' 'Qty(More than 45days)'
*'Amount' INTO
it_display SEPARATED BY space.
append objbin.
clear: objbin.
CLEAR:it_display2.
REFRESH it_display2.
it_display2-werks = 'Plant|'.
it_display2-matnr = 'Material Number'.
it_display2-qty = '|Qty > 45 days'.
it_display2-amount = ' |Amount'.
APPEND it_display2.
it_display2-werks = ''.
it_display2-matnr = ''.
it_display2-qty = ''.
it_display2-amount = ''.
APPEND it_display2.
CLEAR : it_display2.
sort it_display1 by amount descending.
LOOP AT it_display1 WHERE werks = it_email-vkbur.
AT FIRST.
*CONCATENATE 'Plant ' 'Material Number' 'Qty(More than 45days)'
*'Amount' INTO
objbin-line SEPARATED BY space.
append objbin.
clear: objbin.
ENDAT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = it_display1-matnr
IMPORTING
output = it_display1-matnr.
it_display1-qty = TRUNC( it_display1-qty ).
MOVE-CORRESPONDING it_display1 TO it_display2.
APPEND it_display2.
CLEAR:it_display1,it_display2,objbin.
CLEAR:it_display1.
ENDLOOP.
objbin[] = it_display2[].
DESCRIBE TABLE objbin LINES tab_lines.
objhead = 'Suug'.
APPEND objhead.
objpack-transf_bin = 'X'.
objpack-head_start = 3.
objpack-head_num = 1.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'RAW'.
objpack-obj_name = 'Run_prog'.
objpack-obj_descr = 'Agestock.txt'.
APPEND objpack.
reclist-receiver = '[email protected]'.
reclist-rec_type = 'U'.
APPEND reclist.
=====================================================================
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = doc_chng
commit_work = 'X'
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
receivers = reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
OTHERS = 99.
CLEAR : it_email.
ENDLOOP.
ENDFORM. "send_mail
Message was edited by:
Sugumar Ganesan -
Serious Problem with Dtae Charecter
Hi all,
i have got a problem with one of my date characteristic called LAST SOLD DATE. this last sold date is used in the Age Stock analysis in inventory. the report which shows the age of the stock and the present stock up to the variable date,
the report runs fine and data is correct. but when i drill down the last sold date it gives me Negative stock values which is not true.
LAST SOLD DATE: this is a enhancement to the 2lis_03_BF an2lis_03_bx data sources. this is the date on which a particular material is dispatched last time. the code which brings this data is: Inventory 2LIS_03_BF
WHEN '2LIS_03_BF'.
added for last sold date
lt_mc03bf0_tmp[] = c_t_data[].
SORT lt_mc03bf0_tmp BY matnr.
DELETE ADJACENT DUPLICATES FROM lt_mc03bf0_tmp
COMPARING matnr.
IF NOT lt_mc03bf0_tmp[] IS INITIAL.
SELECT vbeln
matnr
erdat
FROM lips
INTO TABLE it_lips1
FOR ALL ENTRIES IN lt_mc03bf0_tmp
WHERE matnr = lt_mc03bf0_tmp-matnr.
IF sy-subrc EQ 0.
SORT it_lips1 BY matnr erdat DESCENDING.
DELETE ADJACENT DUPLICATES FROM it_lips1
COMPARING matnr.
ENDIF.
ENDIF.
Get Last sold date from LIKP table
IF NOT it_lips1[] IS INITIAL.
SELECT vbeln
lfdat
FROM likp
INTO TABLE it_likp
FOR ALL ENTRIES IN it_lips1
WHERE vbeln = it_lips1-vbeln.
IF sy-subrc EQ 0.
SORT it_likp BY vbeln.
ENDIF.
ENDIF.
SORT it_lips1 BY matnr.
End added for last sold da
the issue i think is the report when last sold date used gives all the dispatched dates stock for that material giving negative figures rather than only the latest date.
i need help in how to get only the latest or the maximum sold date for a particular material instead of all the existing dates. thank you in advanceyes i have loaded the BX data and BF. as i can explain a bit more. my last sold date is looking at my fact data so it effects the key figure when it is drill down. if i can make it independent of the fact data and only looking at my material, and make it to give maximum date only i think i will be sorted. can you or any one please through some suggestions on it
thanx -
Ageing Report(STOCK IN HAND)
Dear All,
Can I have ageing report for stock in hands (Lot based ) in PP/MM
modules.
Kindly give your advises .
Thanks In Advance
Rakesh SehgalHi Rakesh,
pls check below two tcodes
1. MC46 - Slow Moving Items
2. MC50 - Dead stock items
Regards,
Sankaran -
Urgent: Regarding Stock Ageing report
hi,
i want to have stock ageing report in which i want to have the deatils :-
This is the material which is present in the palnt from dis <b>date</b> and further details of it consumption. plzz tell the <b>tcode</b> for it.
plzz help me out as it is most urgent to me..
regards,
ric.s
Message was edited by:
ric .sHi
The report MC.9 shows Last movement date/Last receipt date / Last issue date.
In period to analyze give appropriate date range
Or
check MSEG & MARD table to get details about material documents with date
Vishal... -
Report for material aging in stock
Hi ,
I need to create batchwise material aging report availible in stock. I am fatching most of fields from mseg table and I am taking ERFMG from mseg for stock availibility.
Is am going in right direction. please guide me for this.
Regards,
Seema.
Moderator Message: Why dont you consult your Functional Consultant on this?
Edited by: kishan P on May 19, 2011 12:31 PMRe: Opening & Closing Stock in transit
STOCK IN TRANSIT
Re: reverse the Stock in transit
In- transit stock -
Standard Report for stock Aging
Hello all,
can anyone plz let us know that is there any standard report in SAP for stock aging? actually i have to see the materials quantity whose 311 movement not done after 321 and also from how many days it is pending.
Kindly help and tell how can i find those materials quantity, while user also do 311 for partial quantity?
Regards.Hi @ABAP@
Check the followings...
MB24 - Reservations for Material
MB25 - Reservations for Account Assignment
MB51 - Material Document List
MB52 - List of Warehouse Stocks on Hand MB53 - Display Plant Stock Availability
MB54 - Consignment Stocks
MB56 - Analyze Batch Where-Used List
MB57 - Build Up Batch Where-Used List
MB58 - Consgmt and Ret. Packag. at Customer
MB59 - Material Document List
MB5B - Stocks for Posting Date
MB5C - Pick-Up List
MB5L - List of Stock Values: Balances
MB5M - ShL.exp/prod.date
MB5S - Display List of GR/IR Balances
MB5W - List of Stock Values
MB9A - Analyze Archived Material Documents
MBAL - Material Documents: Read Archive
MBGR - Display Material Documents by Movement Reason
MBSI - Find Inventory Sampling
MBSM - Display Cancelled Material Documents
MMBE - Stock Overview
MD07 - Current Material Overview
MR51 - Material Line Items
MRKO - Settle Consignment/Pipeline Liabilities
MB5T - Stock in transit CC -
Dear all,
We are on SAP B1 2007 PL42 and using Moving average as our cost valuation method.
It doesn't have an inbuilt stock aging report, I have searched through the forum but none of the queries arebshowing the correct aging of stocks. Could anyone have a query/report/addon for stock aging?
Kind Regards,
AsifHi,
Try this one,with warehouse code as input parameter
select b.code, b.name, b.Wh, b.Bal, b.Val,
isnull(case when b.days <30 then b.bal end,0)'0-30 Days' ,
isnull(case when b.days between 30 and 60 then b.bal end,0) '30-60 Days',
isnull(case when b.days between 60 and 90 then b.bal end,0) '60-90 Days',
isnull(case when b.days between 90 and 120 then b.bal end,0) '90-120 Days',
isnull(case when b.days between 120 and 150 then b.bal end,0) '120-150 Days',
isnull(case when b.days between 150 and 180 then b.bal end,0) '150-180 Days',
isnull(case when b.days >180 then b.bal end,0) 'Above 180 Days'
from (
select a.code,a.name,a.wh,a.bal,a.val,datediff(dd,dt,getdate())'days'
from (
select max(t0.itemcode)'Code',max(t0.Dscription)'Name',
max(t0.Warehouse)'Wh',
sum(t0.inqty-t0.outqty)'Bal',sum(t0.transvalue)'Val',max(t0.docdate)'dt'
from oinm t0 inner join oitm t1 on t0.itemcode=t1.itemcode
where t0.warehouse='[%1]'
group by t0.itemcode
)a
)b order by code
Maybe you are looking for
-
A tela da Configuração do Grupo de item aparece fora da tela de acesso
Grupo, Gostaria de ajuda, o servidor do meu cliente caiu e estava usando o cadastramento do grupo de item, agora quando tento abrir ele pararece no alto sem poder ser inserido os cadastros, já tentei de todas as formas baixar a tela mais não tive suc
-
How do I add more storage on my iPad?
How do I add storage on my iPad? I can't update several apps because my storage is not sufficient.
-
How to move cursor to a particular field in a form when the form opens
Hi All, Using Forms Personalization how to move the cursor to a particular field in a form when the form opens.We are using Oracle Applications 11.5.10.2 Please let me know as soon as possible. Thanks, --John.
-
Hey, I have been testing my applications I have written in java since Windows 7 RC's had first started being released. Finally after installing the retail ultimate edition... the results from Java GUI related stuff is still as it was since Windows 7'
-
How can I get client IP address in portlet (servlet) ?
How can I get client IP address in portlet (servlet) ? request.getRemoteAddr() return server IP. May be I must use Portal API, which extend Servlet classes, but I can't find this. Can any help me?