‎2007 Jun 23 5:43 AM
hi freinds,
i m running ALV its running fine IN Quality and Testing Server................
but when i m running in Production.giving Short Dump.when clicking on SUM or Export on ALV tool barthat <b>Field Symbol Yet Not been Assigned...... </b>
Thanks in advance......
Regards,
Imran
‎2007 Jun 23 5:46 AM
Hi Imran,
Are you using ALV list or GRID. If using LIST then just use GRID as it is much stable for all kind of data types.
If still issue not resolved paste your code here.
Reward points if useful.
Regards,
Atish
‎2007 Jun 23 5:46 AM
Hi Imran,
Are you using ALV list or GRID. If using LIST then just use GRID as it is much stable for all kind of data types.
If still issue not resolved paste your code here.
Reward points if useful.
Regards,
Atish
‎2007 Jun 23 6:13 AM
hi dear
i though u transport more than one request to Quality server and u put to production server only last request only
i assumed relevant field symbol is not in the production server.
so get all you transported requests to Quality server and transport those to production with there order
after that create new request from development server and transport that also quality and production
this will solve your problem
Rewards if its work.
‎2007 Jun 23 7:28 AM
hi,
its not like that..........................there is only one request.........
its working in quality and devlopment but problem is when running in production.........
Regards,
Imran
‎2007 Jun 23 10:55 AM
‎2007 Jun 23 11:05 AM
hi,
this is my code..........
REPORT ZSD_STOCK_AGE.
&----
*& External Table Declaration
*&
&----
TABLES: MARC,MCHB,MCH1.
&----
*& Type Pools Declaration
*&
&----
TYPE-POOLS: SLIS.
&----
*& Internal Table Declaration
*&
&----
DATA:BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
XCHAR LIKE MARC-XCHAR,
END OF IT_MARC,
BEGIN OF IT_MCHB OCCURS 0,
MATNR LIKE MCHB-MATNR,
WERKS LIKE MCHB-WERKS,
CHARG LIKE MCHB-CHARG,
CLABS LIKE MCHB-CLABS,
LWEDT LIKE MCH1-LWEDT,
LGORT LIKE MCHB-LGORT,
DAYS TYPE I,
END OF IT_MCHB,
IT_MCHB1 LIKE IT_MCHB OCCURS 0 WITH HEADER LINE,
BEGIN OF IT_MCH1 OCCURS 0,
MATNR LIKE MCH1-MATNR,
CHARG LIKE MCH1-CHARG,
LWEDT LIKE MCH1-LWEDT,
VFDAT LIKE MCH1-VFDAT,
CLABS LIKE MCHB-CLABS,
DAYS TYPE I,
END OF IT_MCH1,
IT_MCH2 LIKE IT_MCH1 OCCURS 0 WITH HEADER LINE,
BEGIN OF IT_FINAL OCCURS 0,
MATNR LIKE MCHB-MATNR,
MAKTX LIKE MAKT-MAKTX,
TOTAL LIKE MARD-LABST,
TOTALP LIKE MBEW-VERPR,
UNSALEABLE LIKE MCHB-CLABS,
UNSALEABLEP LIKE MBEW-VERPR,
WMAAB LIKE MAW1-WMAAB,
ZSUBCAT1 LIKE T023T-WGBEZ,
ZSUBCAT2 LIKE T023T-WGBEZ,
ZSUBCAT3 LIKE T023T-WGBEZ,
0TO15 LIKE MCHB-CLABS,
0TO15P LIKE MBEW-VERPR,
15TO30 TYPE MCHB-CLABS,
15TO30P TYPE MBEW-VERPR,
30TO60 TYPE MCHB-CLABS,
30TO60P TYPE MBEW-VERPR,
60TO90 TYPE MCHB-CLABS,
60TO90P TYPE MBEW-VERPR,
GT90 TYPE MCHB-CLABS,
GT90P TYPE MBEW-VERPR,
TOTALSTOCK LIKE MCHB-CLABS,
TOTALSTOCKP LIKE MBEW-VERPR,
MHDHB LIKE MARA-MHDHB,
IPRKZ LIKE MARA-IPRKZ,
MATKL LIKE MARA-MATKL,
VERPR LIKE MBEW-VERPR,
END OF IT_FINAL,
BEGIN OF IT_MARA_BATCH OCCURS 0,
MATNR LIKE MARA-MATNR,
XCHPF LIKE MARA-XCHPF,
MATKL LIKE MARA-MATKL,
END OF IT_MARA_BATCH,
BEGIN OF IT_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
XCHPF LIKE MARA-XCHPF,
END OF IT_MARA,
BEGIN OF IT_MSEG OCCURS 0,
MBLNR LIKE MSEG-MBLNR,
MATNR LIKE MSEG-MATNR,
EBELN LIKE MSEG-EBELN,
EBELP LIKE MSEG-EBELP,
WERKS LIKE MSEG-WERKS,
BWART LIKE MSEG-BWART,
HSDAT LIKE MSEG-HSDAT,
ERFMG LIKE MSEG-ERFMG,
END OF IT_MSEG,
BEGIN OF IT_MARD OCCURS 0,
MATNR LIKE MARD-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF IT_MARD,
BEGIN OF IT_MARD1 OCCURS 0,
MATNR LIKE MARD-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF IT_MARD1,
BEGIN OF IT_EKBE OCCURS 0,
EBELN LIKE EKBE-EBELN,
EBELP LIKE EKBE-EBELP,
MATNR LIKE EKBE-MATNR,
BELNR LIKE EKBE-BELNR,
BEWTP LIKE EKBE-BEWTP,
MENGE LIKE EKBE-MENGE,
BUDAT LIKE EKBE-BUDAT,
END OF IT_EKBE,
BEGIN OF IT_FINAL2 OCCURS 0,
MATNR LIKE MARD-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
BUDAT LIKE EKBE-BUDAT,
ERFMG LIKE MSEG-ERFMG,
DAYS TYPE I,
END OF IT_FINAL2,
IT_FINAL3 LIKE IT_FINAL2 OCCURS 0 WITH HEADER LINE,
BEGIN OF IT_MKPF OCCURS 0,
MBLNR LIKE MKPF-MBLNR,
VGART LIKE MKPF-VGART,
BUDAT LIKE MKPF-BUDAT,
END OF IT_MKPF.
DATA:C_15 LIKE MARD-LABST,
C_30 LIKE MARD-LABST,
C_60 LIKE MARD-LABST,
C_90 LIKE MARD-LABST,
C_T LIKE MARD-LABST.
DATA: I_CLASS TYPE KLAH-CLASS.
DATA: DATEN TYPE TABLE OF GHCL WITH HEADER LINE.
DATA: BEGIN OF INDEX OCCURS 0,
TABIX TYPE SY-TABIX,
END OF INDEX.
DATA:TOTAL LIKE MARD-LABST.
&----
*& ALV Data Declaration
*&
&----
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELDCAT LIKE LINE OF IT_FIELDCAT.
DATA : T_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA : IT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA : G_SAVE(1) TYPE C VALUE 'A',
GX_SAVE(1) TYPE C VALUE 'A',
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GX_VARIANT LIKE DISVARIANT,
G_VARIANT LIKE DISVARIANT,
T_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
T_I_EVENT TYPE SLIS_ALV_EVENT.
DATA : L_LIST(105) TYPE C, "Store the Top-of-page headings
L_DATEFROM(10) TYPE C, "Store date in top-of-page
L_DATETO(10) TYPE C. "Store date in top-of-page
&----
*& Selection Screen
*&
&----
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT_000.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_001.
PARAMETERS: P_WERKS LIKE MARC-WERKS OBLIGATORY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_002.
PARAMETERS: P_DATE LIKE SY-DATUM DEFAULT SY-DATUM OBLIGATORY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT_008.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_0TO15 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT (72) TEXT_003 FOR FIELD R_0TO15.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_15TO30 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT (72) TEXT_004 FOR FIELD R_15TO30.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_30TO60 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT (72) TEXT_005 FOR FIELD R_30TO60.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_60TO90 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT (72) TEXT_006 FOR FIELD R_60TO90.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_GT90 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT (72) TEXT_007 FOR FIELD R_GT90.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_ALL RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT (72) TEXT_009 FOR FIELD R_GT90.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN: END OF BLOCK B2.
&----
*& Initialization Event
*&
&----
INITIALIZATION.
TEXT_000 = 'Selection Criteria'.
TEXT_001 = 'Site'.
TEXT_002 = 'Date'.
TEXT_008 = 'Ageing Analysis'.
TEXT_003 = '0 TO 15 DAYS'.
TEXT_004 = '15 TO 30 DAYS'.
TEXT_005 = '30 TO 60 DAYS'.
TEXT_006 = '60 TO 90 DAYS'.
TEXT_007 = 'GREATER THAN 90 DAYS'.
TEXT_009 = 'ALL'.
AT SELECTION-SCREEN.
*IF S_DATE IS INITIAL AND S_MATNR IS INITIAL AND S_CHARG IS INITIAL AND S_MBLNR IS INITIAL.
MESSAGE 'Enter Either Date or Article or Batch or G.R.Number' type 'E'.
ENDIF.
&----
*& Start Of Selection
*&
&----
START-OF-SELECTION.
PERFORM READ_DATA.
IF IT_FINAL[] IS NOT INITIAL.
PERFORM ALV_FIELDCAT.
PERFORM GET_EVENTS.
PERFORM SUB_COMMENT_BUILD USING T_LIST_TOP_OF_PAGE.
PERFORM ALV_DISPLAY.
ENDIF.
&----
*& Form READ_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM READ_DATA .
*************NON BATCH ARTICLE************
SELECT MATNR XCHPF
FROM MARA
INTO CORRESPONDING FIELDS OF TABLE IT_MARA
WHERE XCHPF <> 'X'.
*******BATCH ARTICLE DATA******************
SELECT MATNR XCHPF
FROM MARA
INTO CORRESPONDING FIELDS OF TABLE IT_MARA_BATCH
WHERE XCHPF = 'X'.
*IF IT_MARA_BATCH[] IS NOT INITIAL.
*
*SELECT MATNR WERKS XCHAR
FROM MARC
INTO CORRESPONDING FIELDS OF TABLE IT_MARC
FOR ALL ENTRIES IN IT_MARA_BATCH
WHERE XCHAR = 'X'
AND WERKS = P_WERKS
AND MATNR = IT_MARA_BATCH-MATNR.
*
*ENDIF.
IF IT_MARA_BATCH[] IS NOT INITIAL.
SELECT MATNR WERKS CHARG CLABS LGORT
FROM MCHB
INTO CORRESPONDING FIELDS OF TABLE IT_MCHB
FOR ALL ENTRIES IN IT_MARA_BATCH
WHERE MATNR = IT_MARA_BATCH-MATNR
AND WERKS = P_WERKS
AND LGORT = 'SL01'.
ENDIF.
IF IT_MARA_BATCH[] IS NOT INITIAL.
SELECT MATNR WERKS CHARG CLABS LGORT
FROM MCHB
INTO CORRESPONDING FIELDS OF TABLE IT_MCHB1
FOR ALL ENTRIES IN IT_MARA_BATCH
WHERE MATNR = IT_MARA_BATCH-MATNR
AND WERKS = P_WERKS
AND LGORT <> 'SL01'.
ENDIF.
LOOP AT IT_MCHB.
SELECT LWEDT
FROM MCH1
INTO IT_MCHB-LWEDT
WHERE MATNR = IT_MCHB-MATNR
AND CHARG = IT_MCHB-CHARG.
MODIFY IT_MCHB TRANSPORTING LWEDT.
ENDSELECT.
ENDLOOP.
*IF IT_MCHB[] IS NOT INITIAL.
SELECT SINGLE LWEDT
FROM MCH1
INTO IT_MCHB-LWEDT
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR
AND CHARG = IT_MCHB-CHARG.
*ENDIF.
****************STOCK*****************
*LOOP AT IT_MCH1.
SELECT CLABS
FROM MCHB
INTO IT_MCH1-CLABS
WHERE MATNR = IT_MCH1-MATNR
AND CHARG = IT_MCH1-CHARG.
*
MODIFY IT_MCH1 TRANSPORTING CLABS.
*ENDSELECT.
*ENDLOOP.
*************FINDING DAYS*************************
LOOP AT IT_MCHB.
CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'
EXPORTING
BEGDA = IT_MCHB-LWEDT
ENDDA = P_DATE
TAB_MODE = ' '
IMPORTING
DAYS = IT_MCHB-DAYS
C_WEEKS =
C_MONTHS =
C_YEARS =
WEEKS =
MONTHS =
YEARS =
D_MONTHS =
MONTH_TAB =
.
MODIFY IT_MCHB TRANSPORTING DAYS.
ENDLOOP.
*****************CALCULATING MATERIAL WISE DAYS****************
LOOP AT IT_MCHB." WHERE LGORT EQ 'SL01'..
*IF IT_MCHB-LGORT = 'SL01'.
IT_MCH2-MATNR = IT_MCHB-MATNR.
IT_MCH2-CHARG = IT_MCHB-CHARG.
IT_MCH2-LWEDT = IT_MCHB-LWEDT.
IT_MCH2-DAYS = IT_MCHB-DAYS.
IT_MCH2-VFDAT = IT_MCHB-VFDAT.
IT_MCH2-CLABS = IT_MCHB-CLABS.
APPEND IT_MCH2.
AT END OF MATNR.
SUM.
PERFORM CALC_DAYS.
ENDAT.
ENDIF.
ENDLOOP.
********************UNSALEABLE*****************
LOOP AT IT_MCHB1.
AT END OF MATNR.
SUM.
IT_FINAL-UNSALEABLE = IT_MCHB1-CLABS.
MODIFY IT_FINAL TRANSPORTING UNSALEABLE WHERE MATNR = IT_MCHB1-MATNR..
ENDAT.
ENDLOOP.
*
************NONBATCH DATA************************
SELECT MBLNR VGART BUDAT
FROM MKPF
INTO CORRESPONDING FIELDS OF TABLE IT_MKPF
WHERE VGART = 'WE'.
IF IT_MARA[] IS NOT INITIAL.
SELECT MBLNR MATNR EBELN EBELP WERKS BWART HSDAT ERFMG
FROM MSEG
INTO CORRESPONDING FIELDS OF TABLE IT_MSEG
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR
AND WERKS = P_WERKS
AND BWART = '101'.
ENDIF.
*IF IT_MSEG[] IS NOT INITIAL.
SELECT EBELN EBELP BEWTP BELNR MENGE BUDAT
FROM EKBE
INTO CORRESPONDING FIELDS OF TABLE IT_EKBE
FOR ALL ENTRIES IN IT_MSEG
WHERE BELNR = IT_MSEG-MBLNR
AND EBELN = IT_MSEG-EBELN
AND EBELP = IT_MSEG-EBELP
AND BEWTP = 'E'.
*ENDIF.
IF IT_MSEG[] IS NOT INITIAL.
SELECT MATNR WERKS LGORT LABST
FROM MARD
INTO CORRESPONDING FIELDS OF TABLE IT_MARD
FOR ALL ENTRIES IN IT_MSEG
WHERE MATNR = IT_MSEG-MATNR
AND WERKS = IT_MSEG-WERKS
AND LGORT = 'SL01'.
ENDIF.
IF IT_MSEG[] IS NOT INITIAL.
SELECT MATNR WERKS LGORT LABST
FROM MARD
INTO CORRESPONDING FIELDS OF TABLE IT_MARD1
FOR ALL ENTRIES IN IT_MSEG
WHERE MATNR = IT_MSEG-MATNR
AND WERKS = IT_MSEG-WERKS
AND LGORT <> 'SL01'.
ENDIF.
DATA: C TYPE I VALUE 0.
LOOP AT IT_MSEG.
READ TABLE IT_MKPF WITH KEY MBLNR = IT_MSEG-MBLNR.
READ TABLE IT_MARD WITH KEY MATNR = IT_MSEG-MATNR WERKS = IT_MSEG-WERKS." LGORT = 'SL01'.
IF SY-SUBRC = 0.
IT_FINAL2-MATNR = IT_MARD-MATNR.
IT_FINAL2-WERKS = IT_MARD-WERKS.
IT_FINAL2-LGORT = IT_MARD-LGORT.
IT_FINAL2-LABST = 0.
IT_FINAL2-BUDAT = IT_MKPF-BUDAT.
IT_FINAL2-ERFMG = IT_MSEG-ERFMG.
APPEND IT_FINAL2.
ENDIF.
ENDLOOP.
*************NON SL01***********************************************
***************STOCK CALCULATION FOR NONBATCH ARTICLE*******************
LOOP AT IT_FINAL2.
CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'
EXPORTING
BEGDA = IT_FINAL2-BUDAT
ENDDA = P_DATE
TAB_MODE = ' '
IMPORTING
DAYS = IT_FINAL2-DAYS
C_WEEKS =
C_MONTHS =
C_YEARS =
WEEKS =
MONTHS =
YEARS =
D_MONTHS =
MONTH_TAB =
.
MODIFY IT_FINAL2 TRANSPORTING DAYS.
ENDLOOP.
SORT IT_FINAL2 DESCENDING.
LOOP AT IT_FINAL2.
IT_FINAL3-MATNR = IT_FINAL2-MATNR.
IT_FINAL3-WERKS = IT_FINAL2-WERKS.
IT_FINAL3-LGORT = IT_FINAL2-LGORT.
IT_FINAL3-LABST = IT_FINAL2-LABST.
IT_FINAL3-BUDAT = IT_FINAL2-BUDAT.
IT_FINAL3-DAYS = IT_FINAL2-DAYS.
IT_FINAL3-ERFMG = IT_FINAL2-ERFMG.
APPEND IT_FINAL3.
AT END OF MATNR.
IT_FINAL-TOTAL = IT_FINAL2-LABST.
SUM.
PERFORM CALC_TOTAL_STOCK.
ENDAT.
ENDLOOP.
************TOTAL STOCK*********************
LOOP AT IT_MARD.
IT_FINAL-TOTAL = IT_MARD-LABST.
MODIFY IT_FINAL TRANSPORTING TOTAL WHERE MATNR = IT_MARD-MATNR.
ENDLOOP.
********************UNSALEABLE*****************
LOOP AT IT_MARD1.
CLEAR IT_FINAL-UNSALEABLE WHERE MATNR = IT_MARD1-MATNR.
IT_FINAL-UNSALEABLE = IT_MARD1-LABST.
MODIFY IT_FINAL TRANSPORTING UNSALEABLE WHERE MATNR = IT_MARD1-MATNR..
ENDLOOP.
***************TOTAL SHELF LIFE*********************
LOOP AT IT_FINAL.
SELECT SINGLE MHDHB IPRKZ MATKL
FROM MARA
INTO (IT_FINAL-MHDHB,IT_FINAL-IPRKZ,IT_FINAL-MATKL )
WHERE MATNR = IT_FINAL-MATNR.
SELECT SINGLE MAKTX
FROM MAKT
INTO IT_FINAL-MAKTX
WHERE MATNR = IT_FINAL-MATNR
AND SPRAS = 'EN'.
MODIFY IT_FINAL TRANSPORTING MHDHB MAKTX MATKL.
ENDLOOP.
*****************MECHANT CATAGARY********************
LOOP AT IT_FINAL.
I_CLASS = IT_FINAL-MATKL.
CALL FUNCTION 'CLHI_STRUCTURE_CLASSES'
EXPORTING
I_KLART = '026'
I_BATCH = 'X'
I_BUP = 'X'
I_CLASS = I_CLASS
I_LANGUAGE = 'E'
I_TDWN = ''
I_NO_CLASSIFICATION = 'X'
I_GRAPHIC = ''
I_DATE = SY-DATUM
I_NO_OBJECTS = 'X'
I_SORT_BY_CLASS = 'X'
I_STRUCTURED_LIST = 'X'
TABLES
DATEN = DATEN
INDEX = INDEX
EXCEPTIONS
CLASS_NOT_VALID = 1
CLASSTYPE_NOT_VALID = 2
OTHERS = 3.
READ TABLE DATEN WITH KEY STUFE = '1'.
IF SY-SUBRC = 0.
IT_FINAL-ZSUBCAT1 = DATEN-CLTX1.
ENDIF.
READ TABLE DATEN WITH KEY STUFE = '2'.
IF SY-SUBRC = 0.
IT_FINAL-ZSUBCAT2 = DATEN-CLTX1.
ENDIF.
READ TABLE DATEN WITH KEY STUFE = '3'.
IF SY-SUBRC = 0.
IT_FINAL-ZSUBCAT3 = DATEN-CLTX1.
ENDIF.
SELECT SINGLE WMAAB FROM MAW1
INTO IT_FINAL-WMAAB
WHERE MATNR = IT_FINAL-MATNR.
MODIFY IT_FINAL TRANSPORTING ZSUBCAT1 ZSUBCAT2 ZSUBCAT3 WMAAB.
ENDLOOP.
************************************************************************
****************MOVING PRICE******************************************
LOOP AT IT_FINAL.
SELECT SINGLE VERPR
FROM MBEW
INTO IT_FINAL-VERPR
WHERE MATNR = IT_FINAL-MATNR
AND BWKEY = P_WERKS.
MODIFY IT_FINAL TRANSPORTING VERPR.
ENDLOOP.
LOOP AT IT_FINAL.
IT_FINAL-0TO15P = IT_FINAL-VERPR * IT_FINAL-0TO15.
IT_FINAL-15TO30P = IT_FINAL-VERPR * IT_FINAL-15TO30.
IT_FINAL-30TO60P = IT_FINAL-VERPR * IT_FINAL-30TO60.
IT_FINAL-60TO90P = IT_FINAL-VERPR * IT_FINAL-60TO90.
IT_FINAL-GT90P = IT_FINAL-VERPR * IT_FINAL-GT90.
IT_FINAL-TOTALP = IT_FINAL-TOTAL * IT_FINAL-VERPR.
IT_FINAL-UNSALEABLEP = IT_FINAL-UNSALEABLE * IT_FINAL-VERPR.
IT_FINAL-TOTALSTOCK = IT_FINAL-TOTAL + IT_FINAL-UNSALEABLE.
IT_FINAL-TOTALSTOCKP = IT_FINAL-TOTALSTOCK * IT_FINAL-VERPR.
MODIFY IT_FINAL TRANSPORTING 0TO15P 15TO30P 30TO60P 60TO90P GT90P TOTALP UNSALEABLEP TOTALSTOCK TOTALSTOCKP.
ENDLOOP.
************************************************************************
**************CONVERSION OF ARTICLE*************
LOOP AT IT_FINAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FINAL-MATNR
IMPORTING
OUTPUT = IT_FINAL-MATNR
.
MODIFY IT_FINAL TRANSPORTING MATNR.
ENDLOOP.
*******************************************************
DELETE IT_FINAL WHERE TOTAL = 0.
ENDFORM. " READ_DATA
&----
*& Form ALV_FIELDCAT
&----
text
----
--> p1 text
<-- p2 text
----
FORM ALV_FIELDCAT .
DATA: COUNTER TYPE I.
*& 1. Article Number
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Article Number'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*& 1. Article Number
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'MAKTX'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Article Description'.
WA_FIELDCAT-OUTPUTLEN = 30.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*& 1. Article Number
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'TOTAL'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Saleable Stock'.
WA_FIELDCAT-OUTPUTLEN = 20.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'TOTALP'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Saleable Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 20.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*& 1. Article Number
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'UNSALEABLE'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Unsaleable Stock'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'UNSALEABLEP'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Unsaleable Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 20.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'WMAAB'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'ABC Indicator'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'ZSUBCAT1'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'SUB_CAT_1'.
WA_FIELDCAT-OUTPUTLEN = 20.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'ZSUBCAT2'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'SUB_CAT_2'.
WA_FIELDCAT-OUTPUTLEN = 20.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'ZSUBCAT3'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'SUB_CAT_3'.
WA_FIELDCAT-OUTPUTLEN = 20.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'VERPR'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Moving Price'.
WA_FIELDCAT-OUTPUTLEN = 30.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
*
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
IF R_0TO15 = 'X' OR R_ALL = 'X'.
*& 2. 0 to 15 days
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '0TO15'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = '0 TO 15 DAYS'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '0TO15P'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDIF.
IF R_15TO30 = 'X' OR R_ALL = 'X'.
*& 3. 15 to 30 days
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '15TO30'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = '15 TO 30 DAYS'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '15TO30P'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDIF.
IF R_30TO60 = 'X' OR R_ALL = 'X'.
*& 4. 30 TO 60 DAYS
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '30TO60'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = '30 TO 60 DAYS'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '30TO60P'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDIF.
IF R_60TO90 = 'X' OR R_ALL = 'X'.
*& 5.60 TO 90 DAYS
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '60TO90'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = '60 TO 90 DAYS'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = '60T90P'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDIF.
IF R_GT90 = 'X' OR R_ALL = 'X'.
*& 6. GREATER THAN 90 DAYS
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'GT90'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'GREATER THAN 90 DAYS'.
WA_FIELDCAT-OUTPUTLEN = 25.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'GT90P'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDIF.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'TOTALSTOCK'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Total Stock'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'TOTALSTOCKP'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Total Stock Value'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*& 6. TOTAL SHELF LIFE
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'MHDHB'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Total Shelf Life'.
WA_FIELDCAT-OUTPUTLEN = 25.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*& 6. TOTAL SHELF LIFE
COUNTER = COUNTER + 1.
WA_FIELDCAT-COL_POS = COUNTER.
WA_FIELDCAT-FIELDNAME = 'IPRKZ'.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_L = 'Shelf Life Expiration Period'.
WA_FIELDCAT-OUTPUTLEN = 25.
WA_FIELDCAT-NO_ZERO = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " ALV_FIELDCAT
&----
*& Form GET_EVENTS
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS[]
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO IT_EVENTS.
IF SY-SUBRC = 0.
MOVE T_FORMNAME_TOP_OF_PAGE TO IT_EVENTS-FORM.
APPEND IT_EVENTS.
ENDIF.
ENDFORM. " GET_EVENTS
&----
*& Form top_of_page
&----
text
----
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_LIST_TOP_OF_PAGE.
ENDFORM. "top_of_page
&----
*& Form SUB_COMMENT_BUILD
&----
text
----
-->P_T_LIST_TOP_OF_PAGE text
----
FORM SUB_COMMENT_BUILD USING I_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: LS_LINE TYPE SLIS_LISTHEADER.
DATA: WRK_NAME TYPE KNA1-NAME1.
DATA: V_NAME1 LIKE T001W-NAME1.
WRK_NAME = 'R.K.Foodland Pvt Ltd, Mumbai'.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = WRK_NAME.
APPEND LS_LINE TO I_TOP_OF_PAGE.
LS_LINE-TYP = 'H'.
CONCATENATE 'Stock Ageing Report' V_NAME1 INTO LS_LINE-INFO SEPARATED BY SPACE.
APPEND LS_LINE TO I_TOP_OF_PAGE.
WRITE S_DATE-LOW DD/MM/YYYY TO L_DATEFROM.
WRITE S_DATE-HIGH DD/MM/YYYY TO L_DATETO.
CLEAR: LS_LINE, L_LIST.
*
IF S_DATE-HIGH IS NOT INITIAL.
CONCATENATE 'Date : ' L_DATEFROM ' To . '
L_DATETO INTO L_LIST.
*
ELSEIF S_DATE-HIGH IS INITIAL AND S_DATE-LOW IS NOT INITIAL.
*
CONCATENATE 'Date : ' L_DATEFROM INTO L_LIST.
*
ENDIF.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = L_LIST.
APPEND LS_LINE TO I_TOP_OF_PAGE.
ENDFORM. " SUB_COMMENT_BUILD
&----
*& Form ALV_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM ALV_DISPLAY.
GS_LAYOUT-ZEBRA = 'X'.
GS_LAYOUT-DETAIL_POPUP = 'X'.
GS_LAYOUT-DETAIL_INITIAL_LINES = 'X'.
GS_LAYOUT-NO_VLINE = 'X'.
GS_LAYOUT-NO_HLINE = 'X'.
GS_LAYOUT-NUMC_SUM = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT
IT_EVENTS = IT_EVENTS[]
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = GS_LAYOUT
I_SAVE = G_SAVE
IS_VARIANT = GX_VARIANT
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
TABLES
T_OUTTAB = IT_FINAL[].
ENDFORM. " ALV_DISPLAY
&----
*& Form FORM_VBFA2
&----
text
----
--> p1 text
<-- p2 text
----
FORM FORM_VBFA2 .
LOOP AT IT_VBFA2.
C = C + 1.
*
AT END OF VBELN.
SUM.
*
C1 = C.
C_RFMNG = IT_VBFA-RFMNG.
CLEAR C.
ENDAT.
*
IF C IS INITIAL.
*
IT_VBFA1-VBELV = IT_VBFA-VBELV.
IT_VBFA1-POSNV = IT_VBFA-POSNV.
IT_VBFA1-VBELN = IT_VBFA-VBELN.
IT_VBFA1-RFMNG = C_RFMNG.
IT_VBFA1-C = C1.
*
APPEND IT_VBFA1.
*
CLEAR: C1,C_RFMNG.
*
.
ENDIF.
*
ENDLOOP.
ENDFORM. " FORM_VBFA2
&----
*& Form CALC_DAYS
&----
text
----
--> p1 text
<-- p2 text
----
FORM CALC_DAYS .
IT_FINAL-MATNR = IT_MCHB-MATNR.
IT_FINAL-TOTAL = IT_MCHB-CLABS.
LOOP AT IT_MCH2.
IF IT_MCH2-DAYS LE '15'.
C_15 = C_15 + IT_MCH2-CLABS.
ENDIF.
IF IT_MCH2-DAYS GT '15' AND IT_MCH2-DAYS LE '30'.
C_30 = C_30 + IT_MCH2-CLABS.
ENDIF.
IF IT_MCH2-DAYS GT '30' AND IT_MCH2-DAYS LE '60'.
C_60 = C_60 + IT_MCH2-CLABS.
ENDIF.
IF IT_MCH2-DAYS GT '60' AND IT_MCH2-DAYS LE '90'.
C_90 = C_90 + IT_MCH2-CLABS.
ENDIF.
IF IT_MCH2-DAYS GT '90'.
C_T = C_T + IT_MCH2-CLABS.
ENDIF.
ENDLOOP.
IT_FINAL-0TO15 = C_15.
IT_FINAL-15TO30 = C_30.
IT_FINAL-30TO60 = C_60.
IT_FINAL-60TO90 = C_90.
IT_FINAL-GT90 = C_T.
APPEND IT_FINAL.
CLEAR IT_MCH2[].
CLEAR: C_15,C_30,C_60,C_90,C_T.
ENDFORM. " CALC_DAYS
&----
*& Form CALC_TOTAL_STOCK
&----
text
----
--> p1 text
<-- p2 text
----
FORM CALC_TOTAL_STOCK .
DATA: F TYPE I VALUE 0.
IT_FINAL-MATNR = IT_FINAL2-MATNR.
IT_FINAL-UNSALEABLE = IT_FINAL2-LABST.
LOOP AT IT_MARD WHERE MATNR = IT_FINAL2-MATNR.
TOTAL = IT_MARD-LABST.
IF SY-SUBRC = 0.
LOOP AT IT_FINAL3.
IF IT_FINAL3-DAYS LE '15'.
IT_FINAL-0TO15 = IT_FINAL-0TO15 + IT_FINAL3-LABST.
TOTAL = TOTAL - IT_FINAL3-ERFMG.
IF F = 0.
IF TOTAL GE 0.
C_15 = C_15 + IT_FINAL3-ERFMG.
ELSE.
F = 1.
C_15 = C_15 + TOTAL + IT_FINAL3-ERFMG.
ENDIF.
ENDIF.
ENDIF.
IF IT_FINAL3-DAYS GT '15' AND IT_FINAL2-DAYS LE '30'.
IT_FINAL-15TO30 = IT_FINAL-15TO30 + IT_FINAL3-LABST.
TOTAL = TOTAL - IT_FINAL3-ERFMG.
IF F = 0.
IF TOTAL GE 0.
C_30 = C_30 + IT_FINAL3-ERFMG.
ELSE.
F = 1.
C_30 = C_30 + TOTAL + IT_FINAL3-ERFMG.
ENDIF.
ENDIF.
ENDIF.
IF IT_FINAL3-DAYS GT '30' AND IT_FINAL3-DAYS LE '60'.
IT_FINAL-30TO60 = IT_FINAL-30TO60 + IT_FINAL3-LABST.
TOTAL = TOTAL - IT_FINAL3-ERFMG.
IF F = 0.
IF TOTAL GE 0.
C_60 = C_60 + IT_FINAL3-ERFMG.
ELSE.
F = 1.
C_60 = C_60 + TOTAL + IT_FINAL3-ERFMG.
ENDIF.
ENDIF.
ENDIF.
IF IT_FINAL3-DAYS GT '60' AND IT_FINAL3-DAYS LE '90'.
IT_FINAL-60TO90 = IT_FINAL-60TO90 + IT_FINAL3-LABST.
TOTAL = TOTAL - IT_FINAL3-ERFMG.
IF F = 0.
IF TOTAL GE 0.
C_90 = C_90 + IT_FINAL3-ERFMG.
ELSE.
F = 1.
C_90 = C_90 + TOTAL + IT_FINAL3-ERFMG.
ENDIF.
ENDIF.
ENDIF.
IF IT_FINAL3-DAYS GT '90'.
IT_FINAL-GT90 = IT_FINAL-GT90 + IT_FINAL3-LABST.
TOTAL = TOTAL - IT_FINAL3-ERFMG.
IF F = 0.
IF TOTAL GE 0.
C_T = C_T + IT_FINAL3-ERFMG.
ELSE.
F = 1.
C_T = C_T + TOTAL + IT_FINAL3-ERFMG.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
IT_FINAL-0TO15 = C_15.
IT_FINAL-15TO30 = C_30.
IT_FINAL-30TO60 = C_60.
IT_FINAL-60TO90 = C_90.
IT_FINAL-GT90 = C_T.
APPEND IT_FINAL.
CLEAR:C_15,C_30,C_60,C_90,C_T.
CLEAR IT_FINAL3[].
ENDFORM. " CALC_TOTAL_STOCK
Regards,
Imran
‎2007 Jun 23 11:15 AM
hi,
when i m Clicking Total,LOCAl file in Quality its Working Fine..without any dump........
Thanks,
Imran
‎2007 Jun 23 12:27 PM
‎2007 Jun 23 7:25 PM