Skip to Content
0
Former Member
Sep 08, 2007 at 06:11 AM

Re: URGENT: REGARDING ALV REPORT

44 Views

hi,

i am making dis report :-

TABLES : VBAK,ABAP,VBEP,VBKD,MARA,KNA1,MAKT.

*Varriable declaration.

TYPE-POOLS SLIS.

DATA : POS TYPE I.

DATA REPID LIKE SY-REPID.

DATA : F1 TYPE SLIS_T_FIELDCAT_ALV,

F2 TYPE SLIS_FIELDCAT_ALV,

L_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA L_POS TYPE I VALUE 1. "position of the column

DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

**DATA GT_SORT TYPE SLIS_T_SORTINFO_ALV.

DATA: GT_EVENTS TYPE SLIS_T_EVENT,

FS_EVENTCAT LIKE LINE OF GT_EVENTs.

  • INTERNAL TABLE FOR SALES ORDER *****************

DATA : BEGIN OF ITSO OCCURS 0,

VBELN LIKE VBAK-VBELN,

ERDAT LIKE VBAK-ERDAT,

BSTNK LIKE VBAK-BSTNK,

KUNNR LIKE VBAK-KUNNR,

MATNR LIKE VBAP-MATNR,

POSNR LIKE VBAP-POSNR,

WMENG LIKE VBEP-WMENG,

NTGEW LIKE MARA-NTGEW,

BRGEW LIKE MARA-BRGEW,

GEWEI LIKE MARA-GEWEI,

SPART LIKE VBAK-SPART,

BMENG LIKE VBEP-BMENG,

EDATU LIKE VBEP-EDATU,

BSTKD LIKE VBKD-BSTKD,

WERKS LIKE VBAP-WERKS,

MEINS LIKE MARA-MEINS,

KWMENG LIKE VBAP-KWMENG,

KLMENG LIKE VBAP-KLMENG,

END OF ITSO.

  • Heading of the report.

data: t_heading type slis_t_listheader.

***********PARAMETERS***************

PARAMETERS : PLANT LIKE VBAP-WERKS OBLIGATORY.

*********SELECTION SCREEN OPTIONS*********

SELECT-OPTIONS : SO_ORD FOR VBAK-VBELN,

SO_PARTY FOR VBAK-KUNNR,

IT_M FOR MARA-MATNR,

DIV FOR VBAK-SPART,

SO_DATE FOR VBAK-ERDAT,

S_DATE FOR VBEP-EDATU. .

START-OF-SELECTION.

SELECT DISTINCT AVBELN AERDAT ABSTNK AKUNNR BSPART BMATNR BPOSNR BWERKS BKWMENG BKBMENG CNTGEW CBRGEW CGEWEI DWMENG DBMENG DEDATU D~VBELN

FROM VBAK AS A INNER JOIN VBAP AS B ON BVBELN = AVBELN

INNER JOIN MARA AS C ON CMATNR = BMATNR

INNER JOIN VBEP AS D ON DWMENG > 0 AND DVBELN = AVBELN AND DPOSNR = B~POSNR

INTO CORRESPONDING FIELDS OF TABLE ITSO

WHERE AVBELN IN SO_ORD AND AKUNNR IN SO_PARTY AND BSPART IN DIV AND AERDAT IN SO_DATE AND DEDATU IN S_DATE AND BMATNR IN IT_M AND B~WERKS = PLANT.

IF SY-SUBRC <> 0.

MESSAGE E899(M3) WITH 'No records'.

ENDIF.

perform f_build_eventcat.

PERFORM LAYOUT.

END-OF-SELECTION.

FORM LAYOUT.

PERFORM FCAT USING 'WERKS' 'ITSO' '' 'PLANT ' 'WERKS' 'VBAP' ''.

PERFORM FCAT USING 'VBELN' 'ITSO' '' 'S.O.NO. ' 'VBELN' 'VBAK' ''.

PERFORM FCAT USING 'ERDAT' 'ITSO' '' 'S.O.DATE' 'ERDAT' 'VBAK' ''.

PERFORM FCAT USING 'BSTNK' 'ITSO' '' 'P.O.N.O' 'BSTNK' 'VBAK' ''.

PERFORM FCAT USING 'KUNNR' 'ITSO' '' 'PARTY ' 'KUNNR' 'VBAP' ''.

PERFORM FCAT USING 'MATNR' 'ITSO' '' 'MAT.NO.' 'MATNR' 'MARA' ''.

PERFORM FCAT USING 'WMENG' 'ITSO' '' 'S.O.QTY' 'WMENG' 'VBEP' ''.

REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = F1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = GT_EVENTS[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IT_EXCEPT_QINFO =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITSO

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

ENDFORM. " LAYOUT

&----


*& Form FCAT

&----


FORM FCAT USING P_FIELD P_TABLE P_SUM P_TEXT P_RFIELD P_RTABLE P_DISP.

ADD 1 TO POS.

F2-COL_POS = POS.

F2-FIELDNAME = P_FIELD.

F2-TABNAME = P_TABLE.

F2-SELTEXT_L = P_TEXT.

F2-REF_FIELDNAME = P_RFIELD.

F2-REF_TABNAME = P_RTABLE.

F2-DO_SUM = P_SUM.

F2-NO_OUT = P_DISP.

APPEND F2 TO F1.

CLEAR F2.

ENDFORM. " FCAT

FORM F_BUILD_EVENTCAT .

CLEAR: GT_EVENTS. REFRESH: GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'TOP_OF_PAGE'.

FS_EVENTCAT-FORM = 'F_REPORT_HEADER_ALV'.

APPEND FS_EVENTCAT TO GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'END_OF_LIST'.

FS_EVENTCAT-FORM = 'F_WRITE_SUMMARY'.

APPEND FS_EVENTCAT TO GT_EVENTS.

ENDFORM. " F_BUILD_EVENTCAT

and i want to add dis code: -

DATA: B_QTY TYPE P LENGTH 7 DECIMALS 3,

B_GR_W TYPE P LENGTH 5 DECIMALS 3,

B_NT_W TYPE P LENGTH 5 DECIMALS 3,

ITEM_NTW TYPE P LENGTH 5 DECIMALS 3,

ITEM_GRW TYPE P LENGTH 5 DECIMALS 3,

ITEM_DISP TYPE P LENGTH 5 DECIMALS 3,

CNT(5) TYPE N.

CNT = 0.

DATA : V_SOSTAT TYPE C,

V_NETWT LIKE MARA-NTGEW,

V_GRWT LIKE MARA-BRGEW,

V_DESPQTY TYPE P LENGTH 5 DECIMALS 3,

V_TSONWT TYPE P LENGTH 5 DECIMALS 3,

V_TSOGWT TYPE P LENGTH 5 DECIMALS 3,

V_TSINWT TYPE P LENGTH 5 DECIMALS 3,

V_TBALNWT TYPE P LENGTH 5 DECIMALS 3,

V_TBALGWT TYPE P LENGTH 5 DECIMALS 3.

V_TSONWT = 0.

V_TSOGWT = 0.

V_TSINWT = 0.

V_TBALNWT = 0.

V_TBALGWT = 0.

*LOOP AT ITSO.

  • loop at t_data.

  • if t_data-bmeng = 0.

  • V_SOSTAT = 'A'.

  • ELSEIF t_data-WMENG <> t_data-BMENG.

  • V_SOSTAT = 'B'.

  • ELSE.

  • V_SOSTAT = 'C'.

  • ENDIF.

  • if ( PEND = 'X' AND ( V_SOSTAT = 'A' OR V_SOSTAT = 'B' ) ) OR ( UNTC = 'X' AND V_SOSTAT = 'A' ) OR ( COMP = 'X' AND V_SOSTAT = 'C' ) OR ALL_E = 'X'.

  • CNT = CNT + 1.

  • IF ITSO-BMENG = 0.

  • if wa_data-bmeng = 0.

  • V_SOSTAT = 'A'.

  • ELSEIF ITSO-WMENG <> ITSO-BMENG.

  • V_SOSTAT = 'B'.

  • ELSE.

  • V_SOSTAT = 'C'.

  • ENDIF.

  • if ( PEND = 'X' AND ( V_SOSTAT = 'A' OR V_SOSTAT = 'B' ) ) OR ( UNTC = 'X' AND V_SOSTAT = 'A' ) OR ( COMP = 'X' AND V_SOSTAT = 'C' ) OR ALL_E = 'X'.

  • CNT = CNT + 1.

  • SELECT SINGLE MAKTX FROM MAKT INTO V_ITEM WHERE MATNR = ITSO-MATNR.

  • SELECT SINGLE NAME1 FROM KNA1 INTO V_ADDR WHERE KUNNR = ITSO-KUNNR.*

  • IF ITSO-GEWEI = 'G'.

  • V_NETWT = ITSO-NTGEW / 1000.

  • V_GRWT = ITSO-BRGEW / 1000.

  • ELSEIF ITSO-GEWEI = 'KG'.

  • V_NETWT = ITSO-NTGEW.

  • V_GRWT = ITSO-BRGEW.

  • ELSEIF ITSO-GEWEI = 'TO'.

  • V_NETWT = ITSO-NTGEW * 1000.

  • V_GRWT = ITSO-BRGEW * 1000.

  • ENDIF.

  • V_DESPQTY = ITSO-BMENG.

  • ITEM_NTW = V_NETWT * ITSO-WMENG / 1000.

  • ITEM_GRW = V_GRWT * ITSO-WMENG / 1000.

  • ITEM_DISP = V_NETWT * V_DESPQTY / 1000.

  • B_QTY = ITSO-WMENG - V_DESPQTY.

  • B_NT_W = V_NETWT * B_QTY / 1000.

  • B_GR_W = V_GRWT * B_QTY / 1000.

HOW CAN I DISPLAY IT is a calculation stored in d variable.

providing dis solution to dis problem will b rewarded....