Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV Dump

Former Member
0 Likes
956

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
926

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

8 REPLIES 8
Read only

Former Member
0 Likes
927

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

Read only

Former Member
0 Likes
926

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.

Read only

0 Likes
926

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

Read only

0 Likes
926

hi freinds,

still getting the same Dump.........

Regards,

Imran

Read only

0 Likes
926

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

Read only

0 Likes
926

hi,

when i m Clicking Total,LOCAl file in Quality its Working Fine..without any dump........

Thanks,

Imran

Read only

Former Member
0 Likes
926

Solved the Problem

Read only

0 Likes
926

How?