Regarding a report/urgent

hi friends
I have a report and i need to create a ODS on the report.please help me out in finding the characteristics,keyfigures,time char in the report
The fields in the report are
Consolidated
4,923,365
MRO (incl Litemor)
4,678,160
USABB
245,205
ACQ1
ACQ2
ACQ3
ACQ4
ACQ5
ACQ6
These fields from ACQ1-ACQ6 have no values.
PRD
1
WK
1
day-prd
1
day-wk
1
consolidated
4.621%
MRO (incl Litemor)
4.585%
USABB
5.305%
My second question
How to create a datastore object in BI7 help me out with the steps and how to generate a 0recordmode for it?Does the 0recordmode activates automatically or we have to create it .

hi sivaram,
may be we can guess however to be precise u can do reverse engineering.
trace the source of the existing query ie the infoprovider  and try to address the fields.
byebye

Similar Messages

  • Regarding YSDT report

    hi
        YSDT tcode is used for sales summary report in that  for cancel of invoices the  values shoul be in minus for all it is coming but only for higher edu cess it is showing in+
    plz pass some hints regarding this
    very urgent
    regards
    kiran

    Hi
    Kiran
                        Please go thr. the programme and don't consider that invoices which are cancelled. For this purpose please refer the J_1IEXCHDR table and take the field of 'Status' where invoice is cancel. Fetch all the data form the said table and delete all the entries where invoice status is Cancel ( for cancel pl take F4 help for the status field value ). Same way if you are fetching the billing doc. in report please delete all entries where VBRK-FKSTO # BLANK.
    By doing the necessary chagnes with the help of ABAPer you will not get the details of the cancel excise invoices in the report.
    All yr problem will be solved.
    Hope this will help you.
    If help pl don't forget to answer the question by rewarding full points.
    All the best.
    Thx.

  • Help needed regarding ALV report

    Hi,
    I have a query regarding ALV report.
    The requirement is as follows:-
    When the user executes the ALV report and if he sums one numeric field column values and filters out some of the field columns ( for example there r 5 columns in the report and the user has filtered out 2 of them and viewing only 3 columns)
    and now the requirements is that when the user runs the report later he should see the modified report ( i mean only 3 cloumns and the total value of the column which he has made) but not the original output which was there when the report was developed.
    First of all i wanna know is it possible to do r not. If yes then how
    Hope u have got what i want.
    eagerly waiting for ur reply.
    regards,
    maqsood

    Hi
    Yes you can! You have to manage the layout variant.
    So when you call your ALV you have to set the parameter I_SAVE = 'A'.
    In this way you'll allow the user to save the variants for layout.
    After you has to have a chance to choose the variant in selection-screen.
    See the demo program BCALV_GRID_11 to manage the variant in selection-screen.
    Max

  • Regarding Interactive reports

    Hi All,
    Yesterday i submitted a query regarding Interactive reports.and i recieved lots of reply .But the replies are all about ALV interactive report.I want to know just about the interactive reports where ew use AT LINE OF SELECTION, HIDE e.c.
    PLZ send methe documents related that.
    Thanks and Regards
    RASHMI

    Hi
    Interactive Reports
    As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers. And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed.
    We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21). Events associated with Interactive Reports are: 1. AT LINE-SELECTION 2. AT USER-COMMAND 3. AT PF<key> 4. TOP-OF-PAGE DURING LINE-SELECTION. HIDE statement holds the data to be displayed in the secondary list. sy-lisel : contains data of the selected line. sy-lsind : contains the level of report (from 0 to 21)
    Interactive Report Events:
    AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist.
    AT PFn: For predefined function keys...
    AT USER-COMMAND : It provides user functions keys.
    REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE
    HEADING.
    *TABLES DECLARATION
    TABLES : KNA1, VBAK, VBAP.
    *SELECT OPTIONS
    SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.
    *INITIALIZATION
    INITIALIZATION.
    CUST_NO-LOW = '01'.
    CUST_NO-HIGH = '5000'.
    CUST_NO-SIGN = 'I'.
    CUST_NO-OPTION = 'BT'.
    APPEND CUST_NO.
    *SELECTION SCREEN VALIDATION
    AT SELECTION-SCREEN ON CUST_NO.
    LOOP AT SCREEN.
    IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.
    MESSAGE E001(ZTJ1).
    ENDIF.
    ENDLOOP.
    *BASIC LIST SELECTION
    START-OF-SELECTION.
    SELECT KUNNR NAME1 ORT01 LAND1 INTO
    (KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)
    FROM KNA1
    WHERE KUNNR IN CUST_NO.
    WRITE:/1 SY-VLINE,
    KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
    16 SY-VLINE,
    KNA1-NAME1 UNDER 'NAME',
    61 SY-VLINE,
    KNA1-ORT01 UNDER 'CITY',
    86 SY-VLINE,
    KNA1-LAND1 UNDER 'COUNTRY',
    103 SY-VLINE.
    HIDE: KNA1-KUNNR.
    ENDSELECT.
    ULINE.
    *SECONDARY LIST ACCESS
    AT user-command.
    IF SY-UCOMM = 'IONE'.
    PERFORM SALES_ORD.
    ENDIF.
    IF SY-UCOMM = 'ITWO'.
    PERFORM ITEM_DET.
    ENDIF.
    *TOP OF PAGE
    TOP-OF-PAGE.
    FORMAT COLOR 1.
    WRITE : 'CUSTOMER DETAILS'.
    FORMAT COLOR 1 OFF.
    ULINE.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'CUSTOMER NO.',
    16 SY-VLINE,
    18 'NAME',
    61 SY-VLINE,
    63 'CITY',
    86 SY-VLINE,
    88 'COUNTRY',
    103 SY-VLINE.
    ULINE.
    FORMAT COLOR 3 OFF.
    *TOP OF PAGE FOR SECONDARY LISTS
    TOP-OF-PAGE DURING LINE-SELECTION.
    *TOP OF PAGE FOR 1ST SECONDARY LIST
    IF SY-UCOMM = 'IONE'.
    ULINE.
    FORMAT COLOR 1.
    WRITE : 'SALES ORDER DETAILS'.
    ULINE.
    FORMAT COLOR 1 OFF.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'CUSTOMER NO.',
    16 SY-VLINE,
    18 'SALES ORDER NO.',
    40 SY-VLINE,
    42 'DATE',
    60 SY-VLINE,
    62 'CREATOR',
    85 SY-VLINE,
    87 'DOC DATE',
    103 SY-VLINE.
    ULINE.
    ENDIF.
    FORMAT COLOR 3 OFF.
    *TOP OF PAGE FOR 2ND SECONDARY LIST
    IF SY-UCOMM = 'ITWO'.
    ULINE.
    FORMAT COLOR 1.
    WRITE : 'ITEM DETAILS'.
    ULINE.
    FORMAT COLOR 1 OFF.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'SALES ORDER NO.',
    40 SY-VLINE,
    42 'SALES ITEM NO.',
    60 SY-VLINE,
    62 'ORDER QUANTITY',
    103 SY-VLINE.
    ULINE.
    ENDIF.
    FORMAT COLOR 3 OFF.
    *END OF PAGE
    END-OF-PAGE.
    ULINE.
    WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',
    SY-PAGNO.
    SKIP.
    *& Form SALES_ORD
    *& FIRST SECONDARY LIST FORM
    FORM SALES_ORD .
    SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO
    (VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)
    FROM VBAK
    WHERE KUNNR = KNA1-KUNNR.
    WRITE:/1 SY-VLINE,
    VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
    16 SY-VLINE,
    VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,
    40 SY-VLINE,
    VBAK-ERDAT UNDER 'DATE',
    60 SY-VLINE,
    VBAK-ERNAM UNDER 'CREATOR',
    85 SY-VLINE,
    VBAK-AUDAT UNDER 'DOC DATE',
    103 SY-VLINE.
    HIDE : VBAK-VBELN.
    ENDSELECT.
    ULINE.
    ENDFORM. " SALES_ORD
    *& Form ITEM_DET
    *& SECOND SECONDARY LIST FORM
    FORM ITEM_DET .
    SELECT VBELN POSNR KWMENG INTO
    (VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)
    FROM VBAP
    WHERE VBELN = VBAK-VBELN.
    WRITE : /1 SY-VLINE,
    VBAP-VBELN UNDER 'SALES ORDER NO.',
    40 SY-VLINE,
    VBAP-POSNR UNDER 'SALES ITEM NO.',
    60 SY-VLINE,
    VBAP-KWMENG UNDER 'ORDER QUANTITY',
    103 SY-VLINE.
    ENDSELECT.
    ULINE.
    ENDFORM. " ITEM_DET
    REPORT demo_list_at_pf.
    START-OF-SELECTION.
    WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.
    AT pf5.
    PERFORM out.
    AT pf6.
    PERFORM out.
    AT pf7.
    PERFORM out.
    AT pf8.
    PERFORM out.
    FORM out.
    WRITE: 'Secondary List by PF-Key Selection',
    / 'SY-LSIND =', sy-lsind,
    / 'SY-UCOMM =', sy-ucomm.
    ENDFORM.
    After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:
    Secondary List by PF-Key Selection
    SY-LSIND = 14
    SY-UCOMM = PF06
    Example for AT USER-COMMAND.
    REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.
    START-OF-SELECTION.
    WRITE: 'Basic List',
    / 'SY-LSIND:', sy-lsind.
    TOP-OF-PAGE.
    WRITE 'Top-of-Page'.
    ULINE.
    TOP-OF-PAGE DURING LINE-SELECTION.
    CASE sy-pfkey.
    WHEN 'TEST'.
    WRITE 'Self-defined GUI for Function Codes'.
    ULINE.
    ENDCASE.
    AT LINE-SELECTION.
    SET PF-STATUS 'TEST' EXCLUDING 'PICK'.
    PERFORM out.
    sy-lsind = sy-lsind - 1.
    AT USER-COMMAND.
    CASE sy-ucomm.
    WHEN 'FC1'.
    PERFORM out.
    WRITE / 'Button FUN 1 was pressed'.
    WHEN 'FC2'.
    PERFORM out.
    WRITE / 'Button FUN 2 was pressed'.
    WHEN 'FC3'.
    PERFORM out.
    WRITE / 'Button FUN 3 was pressed'.
    WHEN 'FC4'.
    PERFORM out.
    WRITE / 'Button FUN 4 was pressed'.
    WHEN 'FC5'.
    PERFORM out.
    WRITE / 'Button FUN 5 was pressed'.
    ENDCASE.
    sy-lsind = sy-lsind - 1.
    FORM out.
    WRITE: 'Secondary List',
    / 'SY-LSIND:', sy-lsind,
    / 'SY-PFKEY:', sy-pfkey.
    ENDFORM.
    When you run the program, the system displays the following basic list with a the page header defined in the program:
    You can trigger the AT LINE-SELECTION event by double-clicking a line. The system sets the status TEST and deactivates the function code PICK. The status TEST contains function codes FC1 to FC5. These are assigned to pushbuttons in the application toolbar. The page header of the detail list depends on the status.
    Here, double-clicking a line no longer triggers an event. However, there is now an application toolbar containing five user-defined pushbuttons. You can use these to trigger the AT USER-COMMAND event. The CASE statement contains a different reaction for each pushbutton.
    For each interactive event, the system decreases the SY-LSIND system field by one, thus canceling out the automatic increase. All detail lists now have the same level as the basic list and thus overwrite it. While the detail list is being created, SY-LSIND still has the value 1.
    Regards
    Anji

  • Hi Sir! I have some questions regarding word report generation please.1.How can i add border to a word page?.2.How can i add grid lines to a table generated in word report?.3.How can i add border to a table of word report?.Thanks Imran Pakistan

    Hi !
    Sir I have some questions regarding word report generation using(C language in labwindows) Please.
    1.How can i add border to a word page?.
    2.How can i add border and grid lines to a table generated in word report(Not the " cvi table control" inserted from gui,i am asking about the table generated in word report)?
    3.How can i fill a cell of word report table withe the data type other than "character"?.
    And sir one question about use of timer in cvi labwindows please.
    Sir i'm trying to set minimum delay interval of timer control to 1millisecond(0.001s),as i set ,timer don't cares of the interval that is set by me it responds only to the default minimum time interval which is i think 10milliseconds(i'am using windows xp service pack3 version 2002).
    Regards
    Imran
    Pakistan
    Solved!
    Go to Solution.

    Hello sir!
    Sir i'm using daq6251.But Sir before implimenting it to my final application now i'm just trying to achieve 1millisecond time interval for timer in a vary simple programe i mean at this time no hardware (daq device) is  involved i,m just trying to achieve minimum time interval of 1millisecond.
    Sir i read form "help" of labwindows how this time interval can be set,i'm trying for,as described in help notes but i could'nt.I'm attaching a screen shot sir for you it may helpful for you to explain me.
    And sir also waiting for your kind reply regarding word report generation.
    Thanks.
    Imran.
    Attachments:
    screen_shot_rigistry.docx ‏65 KB

  • Query regarding Crystal Reports Server

    Hi,
    I am new to Crystal Reports.
    I have created a couple of .rpt files using CR2008 and I am loading these report files in my aspx pages using CrystalReportViewer control.
    I am planning to host my webApp on IIS in production environment. Maximum simultaneous/concurrent connections to my reports would be 1 or 2.
    My question is:
    1. Do I need Crystal Reports Server in this scenario?
    2. In future if the number of concurrent users to report increases then do I need to go for Crystal Reports Server? Will just buying and installing the Crystal reports server on production server work? or will I have to do some configuration or some other changes in the existing deployed reports? OR Will I have to deploy my existing reports on Crystal Report Server again?
    Any help will be highly appreciated.
    Thanks in advance,
    Manish

    Manish, please do not cross post:
    Query regarding Crystal Reports Server
    See the [Rules of Engagement|http://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement] for more details.
    Marking this thread as answered and locking...
    - Ludek

  • Urgent: regarding ALV  report display problem

    hi,
    There are 3 problems:-
    1.) I had made a ALV report in which i have to display 'POSTING DATE' (iseg-budat) when we execute the report i.e. it should be displayed as  PERIOD :- _______  to _______ on alv report ..
    2.)the 2nd problem is dat when i use the '  wa_fieldcat-no_zero = 'X'.  It eliminates all the leading zeros which are present which is okay when i it displays material no.. but the problem is dat it also deletes the other fields where the values are to be zeros.
    i had used this FM:-
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
       INPUT = ITS1-MATNR
       IMPORTING
       OUTPUT = ITS1-MATNR.
    so that only matnr field are to be 0's.
    3.) I want to delete the rows which use to contain the values 0's as there are no calculations are performing as these are displayed .
    ANYbody having solution of this problem ,plzzzz provide the soluion of it as it is most urgent to me and dat person will definately rewarded.
    regards,
    ric.s

    hi kiran,
    thanks for ur response. here is d code which i am using it and plzz help me to figure out where i have to make changes:-
    REPORT  ZTEST03.
    TABLES: ISEG,MARA.
    TYPE-POOLS : SLIS.
    INTERNAL TABLE FOR INVENTORY STOCK *****************
    DATA: BEGIN OF ITS1 OCCURS 0,
          MATNR LIKE ISEG-MATNR,
          MEINS LIKE ISEG-MEINS,
          MENGE LIKE ISEG-MENGE,
          WRTZL LIKE ISEG-WRTZL,
          BUCHM LIKE ISEG-BUCHM,
          WRTBM LIKE ISEG-WRTBM,
          WERKS LIKE ISEG-WERKS,
          BUDAT LIKE ISEG-BUDAT,
          MTART LIKE MARA-MTART,
          ITEMDESC LIKE MAKT-MAKTX,
          DIFFQTY LIKE ISEG-BUCHM,
          DIFFVALUE LIKE ISEG-WRTBM,
          END OF ITS1.
    data: t_heading type slis_t_listheader.
    SELECTION-SCREEN BEGIN OF BLOCK PAR1 WITH FRAME TITLE TEXT-001.
    *********PARAMETERS*********
    PARAMETERS : PLANT LIKE ISEG-WERKS OBLIGATORY.
    *********SELECTION SCREEN OPTIONS*********
    SELECT-OPTIONS : R_DATE FOR ISEG-BUDAT,
                     M_TYPE  FOR MARA-MTART,
                     IT_M FOR MARA-MATNR.
    *********DEFINING VARIABLES*********
      SELECTION-SCREEN END OF BLOCK par1.
    TOP-OF-PAGE.
         PERFORM PG_HEADER.
    START-OF-SELECTION.
    SELECT DISTINCT A~MATNR A~MEINS A~MENGE A~WRTZL A~BUCHM A~WRTBM A~WERKS A~BUDAT B~MTART
       FROM ISEG AS A INNER JOIN MARA AS B ON B~MATNR = A~MATNR
         INTO CORRESPONDING FIELDS OF TABLE ITS1 WHERE B~MATNR = A~MATNR  AND B~MEINS = A~MEINS AND A~WERKS = PLANT AND A~BUDAT IN R_DATE AND B~MTART IN M_TYPE AND B~MATNR IN IT_M.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
       INPUT = ITS1-MATNR
       IMPORTING
       OUTPUT = ITS1-MATNR.
      SORT ITS1 BY MATNR.
      DELETE ADJACENT DUPLICATES  FROM  ITS1 WHERE MENGE = 0 AND BUCHM = 0.
    LOOP AT ITS1.
         ITS1-DIFFQTY = ITS1-MENGE - ITS1-BUCHM.
         ITS1-DIFFVALUE = ITS1-WRTZL - ITS1-WRTBM.
         SELECT SINGLE MAKTX FROM MAKT INTO ITS1-ITEMDESC WHERE MATNR = ITS1-MATNR.
         MODIFY ITS1.
    ENDLOOP.
    PERFORM PRN_SMSTOCK_ALV.
    WRITING DATA FROM D TABLES**********
    FORM PG_HEADER.
    WRITE : 'PHYSICAL INVENTORY AUDIT REPORT             PLANT : ', PLANT.
    ENDFORM.
    *&      Form  PRN_SMSTOCK_ALV
          text
    -->  p1        text
    <--  p2        text
    form PRN_SMSTOCK_ALV .
    data: w_title   type lvc_title,
          w_repid   type syrepid,
          w_comm    type slis_formname,
          w_status  type slis_formname,
          x_layout  type slis_layout_alv,
          t_event    type slis_t_event,
          t_fieldcat type slis_t_fieldcat_alv,
          t_sort     type slis_t_sortinfo_alv.
    refresh t_fieldcat.
    refresh t_event.
    refresh t_sort.
    clear x_layout.
    clear w_title.
      perform set_fieldcat2 using:
    1  'MTART'     'MTART'     'MARA'  '15'  space 'MATERIAL TYPE'        space  space  space space space space space space SPACE t_fieldcat 'L' 'C',
    2  'MATNR'     'MATNR'     'MARA'  '13'  space 'MATERIAL NO. '        space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    3  'ITEMDESC'  'MAKTX'     'MAKT'  '25'  space 'MATERIAL DESCRIPTION' space  space  space space space space space space SPACE t_fieldcat 'L' 'C',
    4  'MEINS'     'MEINS'     'MARA'  '5'   space 'UOM'                  space  space  space space space space space space SPACE t_fieldcat 'C' 'C',
    5  'MENGE'     'MENGE'     'ISEG'  '13'  space 'ORG.INV.QTY'          space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    6  'WRTZL'     'WRTZL'     'ISEG'  '13'  space 'ORG.INV.VALUE'        space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    7  'BUCHM'     'BUCHM'     'ISEG'  '13'  space 'PHY.INV.QTY'          space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    8  'WRTBM'     'WRTBM'     'ISEG'  '13'  space 'PHY.INV.VALUE'        space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    9  'DIFFQTY'   'MENGE'     'ISEG'  '13'  space 'DIFF.INV.QTY'         space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    10 'DIFFVALUE' 'WRTZL'     'ISEG'  '13'  space 'DIFF.INV.VALUE'       space  space  space space space space space space SPACE t_fieldcat SPACE 'P'.
    x_layout-zebra = 'X'.
    perform set_top_page_heading using t_heading t_event.
    perform set_events using t_event.
      w_status = ''.
      w_repid = sy-repid.
      w_comm   = 'USER_COMMAND'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       = w_repid
          it_fieldcat              = t_fieldcat
          i_Callback_top_of_page   = 'Top-of-page'
          is_layout                = x_layout
          it_sort                  = t_sort
          i_callback_pf_status_set = w_status
          i_callback_user_command  = w_comm
          i_save                   = 'X'
          it_events                = t_event
          i_grid_title             = w_title
          tables
          t_outtab                 = ITS1
        exceptions
          program_error            = 1
          others                   = 2.
    if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    ENDFORM.
    FORM set_fieldcat2 USING
          p_colpos p_fieldname p_ref_fieldname p_ref_tabname
          p_outputlen p_noout
          p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
          p_hotspot p_showasicon p_checkbox p_edit
          p_dosum
          t_fieldcat TYPE slis_t_fieldcat_alv
          P_JUST
          P_FTYPE.
      DATA: wa_fieldcat TYPE slis_fieldcat_alv.
      CLEAR wa_fieldcat.
    General settings
      wa_fieldcat-fieldname = p_fieldname.
    wa_fieldcat-no_zero = 'X'.
      wa_fieldcat-col_pos = p_colpos.
      wa_fieldcat-no_out = p_noout.
      wa_fieldcat-hotspot = p_hotspot.
      wa_fieldcat-checkbox = p_checkbox.
      wa_fieldcat-icon = p_showasicon.
      wa_fieldcat-do_sum = p_dosum.
    Set output length.
      IF NOT p_outputlen IS INITIAL.
        wa_fieldcat-outputlen = p_outputlen.
      ENDIF.
    Set text headers.
    IF NOT p_seltext_m IS INITIAL.
        wa_fieldcat-seltext_m = p_seltext_m.
    ENDIF.
    IF NOT p_seltext_l IS INITIAL.
        wa_fieldcat-seltext_l = p_seltext_l.
    ENDIF.
    IF NOT p_seltext_s IS INITIAL.
        wa_fieldcat-seltext_s = p_seltext_s.
    ENDIF.
      IF NOT p_reptext_ddic IS INITIAL.
        wa_fieldcat-reptext_ddic = p_reptext_ddic.
      ENDIF.
    IF NOT p_ddictxt IS INITIAL.
        wa_fieldcat-ddictxt = p_ddictxt.
    ENDIF.
      IF NOT P_JUST IS INITIAL.
        WA_FIELDCAT-JUST = P_JUST.
      ENDIF.
    Set as editable or not.
      IF NOT p_edit IS INITIAL.
        wa_fieldcat-input     = 'X'.
        wa_fieldcat-edit     = 'X'.
      ENDIF.
      APPEND wa_fieldcat TO t_fieldcat.
    ENDFORM.                   "set_fieldcat2
    ======================== Subroutines called by ALV ================
    *&      Form  top_of_page
          Called on top_of_page ALV event.
          Prints the heading.
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
         exporting
              it_list_commentary = t_heading.
    ENDFORM.
    form set_top_page_heading using t_heading type slis_t_listheader
                                    t_events  type slis_t_event.
    data: x_heading type slis_listheader,
          x_event   type line of slis_t_event.
    Report title
      clear t_heading[].
      clear x_heading.
      x_heading-typ = 'H'.
      x_heading-info = 'PHYSICAL INVENTORY AUDIT REPORT'.
      append x_heading to t_heading.
    Plant Name
    clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'PLANT: '.
      x_heading-info = its1-werks.
      append x_heading to t_heading.
    Posting Date
    *clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'POSTING DATE: '.
    x_heading-info = ITS1-BUDAT.
    append x_heading to t_heading.
    Control Date
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'CONTROL No: '.
    x_heading-info = its1-werks.
    append x_heading to t_heading.
    Control date
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'CONTROL DATE: '.
    x_heading-info = its1-werks.
    append x_heading to t_heading.
    User who is running the report
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'User: '.
    x_heading-info = sy-uname.
    append x_heading to t_heading.
    Date of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Date: '.
      write sy-datum to x_heading-info.
      append x_heading to t_heading.
    Time of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Time: '.
      write sy-uzeit to x_heading-info.
      append x_heading to t_heading.
    Top of page event
      x_event-name = slis_ev_top_of_page.
      x_event-form = 'TOP_OF_PAGE'.
      append x_event to t_events.
    endform.
    form set_events using t_events type slis_t_event.
    data: x_event   type line of slis_t_event.
    endform.
    plzzz help me out as it is most urgent to me.
    regards,
    ric.s

  • URGENT: - REGARDING ALV REPORT

    hi,
        i had made dis report in ALV and i want to display d heading format as follows:-
            NAME:- TEST PROGRAM
            date: - 21.05.2007
            time:- 1:30:23 am
    moreover i want to see the print perview of it but it is giving runtime error.
    plz help me in solving dis problem and he or she will be definately rewarded..
    *& Report  ZMFTEST5
    REPORT  ZMFTEST5 no standard page heading LINE-SIZE 310.
    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_EVENTS TYPE SLIS_T_EVENT,
    FS_EVENTCAT LIKE LINE OF GT_EVENTs.
    DATA : T_HEADING TYPE slis_t_listheader.
    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,
    BALQTY LIKE VBAP-KLMENG,
    SOGWT LIKE MARA-BRGEW,
    SONWT LIKE MARA-BRGEW,
    SINWT LIKE MARA-BRGEW,
    BALGWT LIKE MARA-BRGEW,
    BALNWT LIKE MARA-BRGEW,
    DISPNWT LIKE MARA-BRGEW,
    PARTYNAME LIKE KNA1-NAME1,
    ITEMDESC LIKE MAKT-MAKTX,
    STATUS TYPE C,
    END OF ITSO.
    DATA:B_QTY TYPE P LENGTH 7 DECIMALS 3.
    ***********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 A~VBELN A~ERDAT A~BSTNK A~KUNNR B~SPART B~MATNR B~POSNR B~WERKS B~KWMENG B~KBMENG C~NTGEW C~BRGEW C~GEWEI D~WMENG D~BMENG D~EDATU D~VBELN
    FROM VBAK AS A INNER JOIN VBAP AS B ON B~VBELN = A~VBELN
    INNER JOIN MARA AS C ON C~MATNR = B~MATNR
    INNER JOIN VBEP AS D ON D~WMENG > 0 AND D~VBELN = A~VBELN AND D~POSNR = B~POSNR
    INTO CORRESPONDING FIELDS OF TABLE ITSO
    WHERE A~VBELN IN SO_ORD AND A~KUNNR IN SO_PARTY AND B~SPART IN DIV AND A~ERDAT IN SO_DATE AND D~EDATU IN S_DATE AND B~MATNR IN IT_M AND B~WERKS = PLANT.
    IF SY-SUBRC <> 0.
    MESSAGE E899(M3) WITH 'No records'.
    ENDIF.
    DATA : V_NETWT LIKE MARA-NTGEW,
           V_GRWT LIKE MARA-NTGEW,
           V_SOSTAT TYPE C.
    LOOP AT ITSO.
      if ITSO-bmeng = 0.
        V_SOSTAT = 'A'.
      ELSEIF ITSO-WMENG <> ITSO-BMENG.
        V_SOSTAT = 'B'.
      ELSE.
        V_SOSTAT = 'C'.
      ENDIF.
      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.
      ITSO-STATUS = V_SOSTAT.
      ITSO-SOGWT = V_GRWT * ITSO-WMENG / 1000.
      ITSO-SONWT = V_NETWT * ITSO-WMENG / 1000.
      ITSO-SINWT = V_GRWT * ITSO-BMENG / 1000.
      ITSO-BALGWT = V_GRWT * ( ITSO-WMENG - ITSO-BMENG )  / 1000.
      ITSO-BALNWT = V_NETWT * ( ITSO-WMENG - ITSO-BMENG )  / 1000.
      ITSO-DISPNWT = V_NETWT * ITSO-BMENG  / 1000.
      ITSO-BALQTY = ITSO-WMENG - ITSO-BMENG.
      SELECT SINGLE NAME1 FROM KNA1 INTO ITSO-PARTYNAME WHERE KUNNR = ITSO-KUNNR.
      SELECT SINGLE MAKTX FROM MAKT INTO ITSO-ITEMDESC WHERE MATNR = ITSO-MATNR.
      MODIFY ITSO.
    ENDLOOP.
    perform f_build_eventcat.
    PERFORM LAYOUT using t_heading.
    END-OF-SELECTION.
    FORM LAYOUT using t_heading  type slis_t_listheader.
    data : t_event    type slis_t_event.
    PERFORM FCAT USING 'WERKS'     'ITSO' '' 'PLANT '               'WERKS'     'VBAP' ''.
    PERFORM FCAT USING 'VBELN'     'ITSO' '' 'SO 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 'PARTYNAME' 'ITSO' '' 'PARTY DESCRIPTION'    'PARTYNAME' ''     ''.
    PERFORM FCAT USING 'ITEMDESC'  'ITSO' '' 'MATERIAL DESCRIPTION' 'ITEMDESC'  ''     ''.
    PERFORM FCAT USING 'MATNR'     'ITSO' '' 'MAT.NO. '             'MATNR'     'MARA' ''.
    PERFORM FCAT USING 'POSNR'     'ITSO' '' 'LINE.ITEM'            'POSNR'     'VBAP' ''.
    PERFORM FCAT USING 'WMENG'     'ITSO' '' 'S.O.QTY'              'WMENG'     'VBEP' '' .
    PERFORM FCAT USING 'EDATU'     'ITSO' '' 'SCH.DATE'             'EDATU'     'VBEP' ''.
    PERFORM FCAT USING 'SONWT'     'ITSO' '' 'S.O.NWT '             'P'         ''     ''.
    PERFORM FCAT USING 'SOGWT'     'ITSO' '' 'S.O.GWT '             'P'         ''     ''.
    PERFORM FCAT USING 'SPART'     'ITSO' '' 'DIV    '              'SPART'     'VBAP' ''.
    PERFORM FCAT USING 'BMENG'     'ITSO' '' 'DISP.QTY'             'BMENG'     'VBEP' ''.
    PERFORM FCAT USING 'DISPNWT'   'ITSO' '' 'DISP.NT.WT '          'P'         ''     ''.
    PERFORM FCAT USING 'BALQTY'    'ITSO' '' 'BAL.QTY.'             'P'         ''     ''.
    PERFORM FCAT USING 'BALNWT'    'ITSO' '' 'BAL.NT.WT '           'P'         ''     ''.
    PERFORM FCAT USING 'BALGWT'    'ITSO' '' 'BAL.GR.WT '           'P'         ''     ''.
    PERFORM FCAT USING 'STATUS'    'ITSO' '' 'STATUS'               'STATUS'    ''     ''.
    refresh t_event.
    *perform set_top_page_heading using t_heading t_event.
    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
      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.
    *FORM F_REPORT_HEADER_ALV.
    *CALL FUNCTION 'Z_HEAD_PRINT'
    EXPORTING
    WRITE: / TITLE1 = 'XYZ Limited'
    TITLE2 = 'Sales Order Report'
    TITLE3 = 'Created on '
    COLOR = 'X'.
    *ENDFORM.
    FORM F_WRITE_SUMMARY .
    write:/ 'Welcome to XYZ Limited'.
    write:/ 'This is a test program to display Report in ALV Format'.
    ENDFORM.
    *&      Form  set_top_page_heading
          text
         -->P_T_HEADING  text
    *form set_top_page_heading  using    t_heading
                                       t_events  type slis_t_event.
    *data: x_heading type slis_listheader,
         x_event   type line of slis_t_event.
    Report title
    clear t_heading[].
    clear x_heading.
    x_heading-typ = 'H'.
    x_heading-info = ''(001).
    append x_heading to t_heading.
    t_heading-info = 'TEST'.
    t_heading-typ = 'H'.
    Program name
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Program: '.
    x_heading-info = sy-repid.
    append x_heading to t_heading.
    User who is running the report
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'User: '.
    x_heading-info = sy-uname.
    append x_heading to t_heading.
    Date of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Date: '.
    write sy-datum to x_heading-info.
    append x_heading to t_heading.
    Time of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Time: '.
    write sy-uzeit to x_heading-info.
    append x_heading to t_heading.
    Top of page event
    x_event-name = slis_ev_top_of_page.
    x_event-form = 'TOP_OF_PAGE'.
    append x_event to t_events.
    *endform.                    " set_top_page_heading

    Hi,
    i had change ur code just copy this and try,i hope it will work.
    REPORT ZMFTEST5 no standard page heading LINE-SIZE 310.
    TABLES : VBAK,ABAP,VBEP,VBKD,MARA,KNA1,MAKT.
    *Varriable declaration.
    TYPE-POOLS SLIS.
    DATA : POS TYPE I.
    DATA REPID LIKE SY-REPID.
    ****************CHANGES**************
    DATA : FDATE TYPE STRING,
           FTIME TYPE STRING,
           FNAME TYPE STRING.
    ****************CHANGES**************
    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_EVENTS TYPE SLIS_T_EVENT,
    FS_EVENTCAT LIKE LINE OF GT_EVENTs.
    DATA : T_HEADING TYPE slis_t_listheader.
    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,
    BALQTY LIKE VBAP-KLMENG,
    SOGWT LIKE MARA-BRGEW,
    SONWT LIKE MARA-BRGEW,
    SINWT LIKE MARA-BRGEW,
    BALGWT LIKE MARA-BRGEW,
    BALNWT LIKE MARA-BRGEW,
    DISPNWT LIKE MARA-BRGEW,
    PARTYNAME LIKE KNA1-NAME1,
    ITEMDESC LIKE MAKT-MAKTX,
    STATUS TYPE C,
    END OF ITSO.
    DATA:B_QTY TYPE P LENGTH 7 DECIMALS 3.
    ***********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 A~VBELN A~ERDAT A~BSTNK A~KUNNR B~SPART B~MATNR B~POSNR B~WERKS B~KWMENG B~KBMENG C~NTGEW C~BRGEW C~GEWEI D~WMENG D~BMENG D~EDATU D~VBELN
    FROM VBAK AS A INNER JOIN VBAP AS B ON B~VBELN = A~VBELN
    INNER JOIN MARA AS C ON C~MATNR = B~MATNR
    INNER JOIN VBEP AS D ON D~WMENG > 0 AND D~VBELN = A~VBELN AND D~POSNR = B~POSNR
    INTO CORRESPONDING FIELDS OF TABLE ITSO
    WHERE A~VBELN IN SO_ORD AND A~KUNNR IN SO_PARTY AND B~SPART IN DIV AND A~ERDAT IN SO_DATE AND D~EDATU IN S_DATE AND B~MATNR IN IT_M AND B~WERKS = PLANT.
    IF SY-SUBRC <> 0.
    MESSAGE E899(M3) WITH 'No records'.
    ENDIF.
    DATA : V_NETWT LIKE MARA-NTGEW,
    V_GRWT LIKE MARA-NTGEW,
    V_SOSTAT TYPE C.
    LOOP AT ITSO.
    if ITSO-bmeng = 0.
    V_SOSTAT = 'A'.
    ELSEIF ITSO-WMENG <> ITSO-BMENG.
    V_SOSTAT = 'B'.
    ELSE.
    V_SOSTAT = 'C'.
    ENDIF.
    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.
    ITSO-STATUS = V_SOSTAT.
    ITSO-SOGWT = V_GRWT * ITSO-WMENG / 1000.
    ITSO-SONWT = V_NETWT * ITSO-WMENG / 1000.
    ITSO-SINWT = V_GRWT * ITSO-BMENG / 1000.
    ITSO-BALGWT = V_GRWT * ( ITSO-WMENG - ITSO-BMENG ) / 1000.
    ITSO-BALNWT = V_NETWT * ( ITSO-WMENG - ITSO-BMENG ) / 1000.
    ITSO-DISPNWT = V_NETWT * ITSO-BMENG / 1000.
    ITSO-BALQTY = ITSO-WMENG - ITSO-BMENG.
    SELECT SINGLE NAME1 FROM KNA1 INTO ITSO-PARTYNAME WHERE KUNNR = ITSO-KUNNR.
    SELECT SINGLE MAKTX FROM MAKT INTO ITSO-ITEMDESC WHERE MATNR = ITSO-MATNR.
    MODIFY ITSO.
    ENDLOOP.
    perform f_build_eventcat.
    PERFORM LAYOUT using t_heading.
    END-OF-SELECTION.
    FORM LAYOUT using t_heading type slis_t_listheader.
    data : t_event type slis_t_event.
    PERFORM FCAT USING 'WERKS' 'ITSO' '' 'PLANT ' 'WERKS' 'VBAP' ''.
    PERFORM FCAT USING 'VBELN' 'ITSO' '' 'SO 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 'PARTYNAME' 'ITSO' '' 'PARTY DESCRIPTION' 'PARTYNAME' '' ''.
    PERFORM FCAT USING 'ITEMDESC' 'ITSO' '' 'MATERIAL DESCRIPTION' 'ITEMDESC' '' ''.
    PERFORM FCAT USING 'MATNR' 'ITSO' '' 'MAT.NO. ' 'MATNR' 'MARA' ''.
    PERFORM FCAT USING 'POSNR' 'ITSO' '' 'LINE.ITEM' 'POSNR' 'VBAP' ''.
    PERFORM FCAT USING 'WMENG' 'ITSO' '' 'S.O.QTY' 'WMENG' 'VBEP' '' .
    PERFORM FCAT USING 'EDATU' 'ITSO' '' 'SCH.DATE' 'EDATU' 'VBEP' ''.
    PERFORM FCAT USING 'SONWT' 'ITSO' '' 'S.O.NWT ' 'P' '' ''.
    PERFORM FCAT USING 'SOGWT' 'ITSO' '' 'S.O.GWT ' 'P' '' ''.
    PERFORM FCAT USING 'SPART' 'ITSO' '' 'DIV ' 'SPART' 'VBAP' ''.
    PERFORM FCAT USING 'BMENG' 'ITSO' '' 'DISP.QTY' 'BMENG' 'VBEP' ''.
    PERFORM FCAT USING 'DISPNWT' 'ITSO' '' 'DISP.NT.WT ' 'P' '' ''.
    PERFORM FCAT USING 'BALQTY' 'ITSO' '' 'BAL.QTY.' 'P' '' ''.
    PERFORM FCAT USING 'BALNWT' 'ITSO' '' 'BAL.NT.WT ' 'P' '' ''.
    PERFORM FCAT USING 'BALGWT' 'ITSO' '' 'BAL.GR.WT ' 'P' '' ''.
    PERFORM FCAT USING 'STATUS' 'ITSO' '' 'STATUS' 'STATUS' '' ''.
    refresh t_event.
    *perform set_top_page_heading using t_heading t_event.
    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
    I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP'
    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.
    *FORM F_REPORT_HEADER_ALV.
    *CALL FUNCTION 'Z_HEAD_PRINT'
    EXPORTING
    WRITE: / TITLE1 = 'XYZ Limited'
    TITLE2 = 'Sales Order Report'
    TITLE3 = 'Created on '
    COLOR = 'X'.
    *ENDFORM.
    FORM F_WRITE_SUMMARY .
    write:/ 'Welcome to XYZ Limited'.
    write:/ 'This is a test program to display Report in ALV Format'.
    ENDFORM.
    FORM TOP.
      DATA: WT_HEADER TYPE SLIS_T_LISTHEADER,
            WA_HEADER TYPE SLIS_LISTHEADER.
    CONCATENATE 'DATE:-' SY-DATUM INTO FDATE.
    CONCATENATE 'TIME:-' SY-UZEIT INTO FTIME.
    FNAME = 'NAME:- TEST'.
      WA_HEADER-TYP = HEADER.
      WA_HEADER-INFO = FNAME.
      APPEND WA_HEADER TO WT_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = HEADER.
      WA_HEADER-INFO = FDATE.
      APPEND WA_HEADER TO WT_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = HEADER.
      WA_HEADER-INFO = FTIME.
      APPEND WA_HEADER TO WT_HEADER.
      CLEAR WA_HEADER.
    ENDFORM.                   
    *& Form set_top_page_heading
    text
    -->P_T_HEADING text
    *form set_top_page_heading using t_heading
    t_events type slis_t_event.
    *data: x_heading type slis_listheader,
    x_event type line of slis_t_event.
    Report title
    clear t_heading[].
    clear x_heading.
    x_heading-typ = 'H'.
    x_heading-info = ''(001).
    append x_heading to t_heading.
    t_heading-info = 'TEST'.
    t_heading-typ = 'H'.
    Program name
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Program: '.
    x_heading-info = sy-repid.
    append x_heading to t_heading.
    User who is running the report
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'User: '.
    x_heading-info = sy-uname.
    append x_heading to t_heading.
    Date of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Date: '.
    write sy-datum to x_heading-info.
    append x_heading to t_heading.
    Time of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Time: '.
    write sy-uzeit to x_heading-info.
    append x_heading to t_heading.
    Top of page event
    x_event-name = slis_ev_top_of_page.
    x_event-form = 'TOP_OF_PAGE'.
    append x_event to t_events.
    *endform. " set_top_page_heading
    *please do reward points if helpful
    Thanks and Regards,
    S.N.Venkatesh

  • Urgent: regarding vendor report(tables)

    Hi,
    I am making a report in which i have to display the status of a vendor payment is done or not. I know that there are 2 tables which are going to be used i.e. BSIK n BSAK (for open items n cleared items) . i want to know is there any necessity of other tables such as BSIS n BSAS as they are the 1nes which are on the basis of g/l account (open n clear items).
    Plzz provide me guidelines for it as help will be deifnately rewarded.

    Hi,
    Actually i have to show the status of the vendor payment is done or not. r u sure the use of BSAS n BSIS table. what is the difference b/w VENDOR LINE ITEM DISPLAY  - FBL2N and G/L Line item display -FBL3N.
    This thing is making me confuse that the necessity of the tables as i have to display the payment  of the vendors accoring to the MIGO ( in which the  vendors are mentioned. for this thing i am taking XBLNR field from MKPF as it the common field b/w BKPF and after that taking the BELNR and XBLNR from BKPF to the BSAK n BSIK table.
    Plzz tell me that i am using correct relationship among the tables also.It is really urgent to me .
    Edited by: abaper2008 on May 23, 2008 6:49 AM
    Edited by: abaper2008 on May 23, 2008 7:08 AM

  • URGENT: REGARDING ROUTING REPORT(plzz help me out)

    Hi,
    I am making a report in which i have to display the stock during the routing i.e. in CA03 we get to know which are the operations are implemented on a material. the requirement is if there are 50 pcs of material are in 1st operation and only 10 materials are able to reach next stage of operations ,then how many pcs of a material are left among them? i want to know which are the tables used for these qtys as i am checking that in CA03  the values are in structure and i want to know in which tables these quantities to be present.
    plzz help me out as it is really urgent and help will be definitely rewarded.
    Edited by: ric .s on Apr 1, 2008 7:45 AM

    hi,
    can anybody tell me which are the tables used in the routing?

  • Regarding report(urgent)

    Hi experts,
    i need to add some fields to output of the report.
    here i am giving the fields required to add and giving the code below please build the code
    , we need to add the following data in the report output.
        > GR Document (RSEG-LFBNR)
        > GR date (MKPF-BLDAT)
        > Quantity (MSEG-ERFMG)
        > Amount in LC(MSEG-DMBTR)
        > GL Account (MSEG-SAKTO)
    Logic in getting the record:
        > for each invoice no(RESG-BELNR) of a PO Line(EKKO-EBELN,EKPO-EBELP), get GR no (RSEG-LFBNR) and doc. year(RSEG-LFGJA),  
        > select the matching record in MSEG using the GR no and year  (RSEG-LFBNR = MKPF-MBLNR & RSEG-LFGJA=MKPF-MJAHR,                                                                               
    EKKO-EBELN=RSEG- EBELN,EKPO-EBELP=RSEG-EBELP)
        > select the matching record in MKPF using the GR no and year (RSEG-LFBNR = MKPF-MBLNR & RSEG-LFGJA=MKPF-MJAHR)
    here iam giving my code  we have to add thos fields into this code:
    TABLES: ekko,   "Purchasing Document Header
            ekpo,   "Purchasing Document Item
            rbkp.   "Document Header: Invoice Receipt
    Type-Pools
    TYPE-POOLS : slis.   " Has to be declared to use ALVs
    To hold ALV field catgory data
    DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
           wa_fieldcat LIKE LINE OF it_fieldcat.
    Internal tables declarations
    Internal table to hold Report data
    DATA: BEGIN OF it_output OCCURS 0,
           dir_indir(9),
           bukrs LIKE ekko-bukrs,    "company code
           ebeln LIKE ekko-ebeln,    "Purchasing Document Number
           ebelp LIKE ekpo-ebelp,    "Item
           aedat LIKE ekko-aedat,    "Date on which the record was created
           belnr LIKE rseg-belnr,    "Accounting document number
           bldat LIKE rbkp-bldat,    "Document date in document
           budat LIKE rbkp-budat,    "Posting date in the document
           wrbtr LIKE rseg-wrbtr,    "Amount in document currency
           curr  LIKE t880-curr,     "Price unit (Local Curr)
           bednr LIKE ekpo-bednr,    "Requirement tracking number
           lifnr LIKE ekko-lifnr,    "Vendor's account number
           name1 LIKE lfa1-name1,                               "name1
           name2(30),                "preparer name
           name3(30),                "requester name
           gjahr LIKE rseg-gjahr,    "Fiscal year
           ernam LIKE ekko-ernam,    "Name of Person who Created the Object
           kursf LIKE rbkp-kursf,    "Exchange rate
           shkzg LIKE rseg-shkzg,    "Debit/credit indicator
           banfn LIKE ekpo-banfn,    "Purchase requisition number
            bnfpo like eban-bnfpo,
           knttp LIKE ekpo-knttp,    "account assignment category
          END OF it_output.
    Selection Screen
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_bukrs LIKE ekko-bukrs OBLIGATORY.
    Parameters: P_knttp like ekpo-knttp as checkbox default 'X'.
    SELECT-OPTIONS: s_invdat FOR rbkp-bldat,    "Document date in document
                    s_vendor FOR ekko-lifnr,    "Vendor's account number
                    s_purcdo FOR ekko-ebeln,    "Purchasing Document no
                    s_credat FOR ekko-aedat OBLIGATORY,"create date
                    s_plant  FOR ekpo-werks,    "Plant
                    s_doctyp FOR ekko-bsart,    "Purchasing document type
                    s_purorg FOR ekko-ekorg,    "Purchasing organization
                    s_trcnum FOR ekpo-bednr,    "Requirement tracking number
                    s_knttp  FOR ekpo-knttp.    "account assignment category
    SELECTION-SCREEN: END OF BLOCK b1.
    DATA: count TYPE i VALUE 0.            " Used to count records
              INITIALIZATION                                             *
    INITIALIZATION.
    At Selection Screen
    AT SELECTION-SCREEN.
    Checking for the input values of selection screen fields.
      PERFORM validate_params.
    Start Of Selection
    START-OF-SELECTION.
    if p_knttp = 'X'.
    PERFORM get_data.
    else.
    skip.
    *message e021 with 'no output'.
    endif.
      PERFORM get_data.
    End Of Selection
    END-OF-SELECTION.
    SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
      PERFORM merge_fieldcatalog.
      PERFORM modify_fieldcat.
      PERFORM alv_report.
          FORM validate_params                                          *
    FORM validate_params.
    Validate company code
      SELECT SINGLE COUNT(*) FROM t001 WHERE bukrs = p_bukrs.
      IF sy-subrc <> 0.
        MESSAGE e021 WITH 'Please enter a valid Company code'.
      ENDIF.
    *Validate Vendor.
      SELECT SINGLE COUNT(*) FROM lfa1 WHERE lifnr IN s_vendor.
      CASE sy-subrc.
        WHEN 0.
        WHEN OTHERS.
          MESSAGE e021 WITH 'Please enter a valid Vendor'.
      ENDCASE.
    *Validate PO doc type
      SELECT SINGLE COUNT(*) FROM t161 WHERE bsart IN s_doctyp.
      CASE sy-subrc.
        WHEN 0.
        WHEN OTHERS.
          MESSAGE e021 WITH 'Please enter a valid PO Doc. Type'.
      ENDCASE.
    *Validate plant
      SELECT SINGLE COUNT(*) FROM t001w WHERE werks IN s_plant.
      CASE sy-subrc.
        WHEN 0.
        WHEN OTHERS.
          MESSAGE e021 WITH 'Please enter a valid Plant. Type'.
      ENDCASE.
    *Validate Purch. Org
      SELECT SINGLE COUNT(*) FROM t024e WHERE ekorg IN s_purorg.
      CASE sy-subrc.
        WHEN 0.
        WHEN OTHERS.
          MESSAGE e021 WITH 'Please enter a valid Purch. Org.'.
      ENDCASE.
    ENDFORM.                               " PERFORM VALIDATE_PARAMS.
          FORM get_data                                                 *
    FORM get_data.
      DATA: l_persnumber LIKE usr21-persnumber.
    Get PO data
      SELECT a~bukrs a~ebeln b~ebelp a~aedat a~lifnr a~ernam
             b~knttp b~bednr b~banfn
             c~belnr c~wrbtr c~gjahr c~shkzg
             d~bldat d~budat d~kursf
             e~dir_indir
      INTO CORRESPONDING FIELDS OF TABLE it_output
      FROM ekko AS a
      JOIN ekpo AS b ON b~ebeln = a~ebeln
      JOIN rseg AS c ON c~ebeln = b~ebeln
                    AND c~ebelp = b~ebelp
                    AND c~bukrs = a~bukrs
      JOIN rbkp AS d ON d~belnr = c~belnr
                    AND d~gjahr = c~gjahr
      LEFT JOIN zpo_dirindir AS e ON e~knttp = b~knttp
      WHERE a~bukrs = p_bukrs
        AND a~lifnr IN s_vendor
        AND a~ebeln IN s_purcdo
        AND a~bsart IN s_doctyp
        AND a~ekorg IN s_purorg
        AND a~aedat IN s_credat
        AND b~knttp IN s_knttp
        AND b~werks IN s_plant
        AND b~bednr IN s_trcnum.
      LOOP AT it_output.
      Get posting date, Doc. date & Curr. Key
        IF it_output-kursf > 0.
          it_output-wrbtr = it_output-wrbtr * it_output-kursf.
          else.
          if it_output-kursf < 0.
         it_output-wrbtr =   it_output-Wrbtr * ( 1 / it_output-kursf ).
           it_output-wrbtr = abs( it_output-wrbtr ).
          endif.
        ENDIF.
      get local currency
        SELECT SINGLE waers INTO it_output-curr FROM t001
                 WHERE bukrs = it_output-bukrs.
      Get vendor name.
        SELECT SINGLE name1 FROM lfa1 INTO it_output-name1
        WHERE lifnr = it_output-lifnr.
      Get PO created person name
        SELECT SINGLE persnumber INTO l_persnumber FROM usr21
         WHERE bname = it_output-ernam.
        IF sy-subrc = 0.
          SELECT SINGLE name_text FROM adrp INTO it_output-name2
           WHERE persnumber = l_persnumber.
       ELSE.
          it_output-name2 = it_output-ernam.
        ENDIF.
      Get get requested by from Unloading point in PO
      else PR created by (If PR exists)
        CASE it_output-dir_indir.
          WHEN 'I'.
          Take requested by from Unloading point.
            SELECT SINGLE ablad INTO it_output-name3 FROM ekkn
             WHERE ebeln = it_output-ebeln
               AND ebelp = it_output-ebelp .
          WHEN 'D'.
           SELECT SINGLE ernam INTO it_output-name3 FROM eban
            WHERE banfn = it_output-banfn
                     AND ebelp = it_output-ebelp.
           IF sy-subrc <> 0.
             MOVE it_output-ernam TO it_output-name3.
           ENDIF.
           SELECT SINGLE persnumber INTO l_persnumber FROM usr21
               WHERE bname = it_output-name3.
           IF sy-subrc = 0.
             SELECT SINGLE name_text FROM adrp INTO it_output-name3
              WHERE persnumber = l_persnumber.
           ENDIF.
    select single ernam into  it_output-name3 from eban where
         banfn = it_output-banfn and bnfpo = it_output-bnfpo.
                 move it_output-name3 to it_output-name3.
                if sy-subrc = 0.
            SELECT SINGLE PERSNUMBER INTO L_PERSNUMBER FROM USR21
                WHERE BNAME = it_output-name3.
            IF SY-SUBRC = 0.
              SELECT SINGLE NAME_TEXT FROM ADRP INTO it_output-name3
               WHERE PERSNUMBER = L_PERSNUMBER.
            ELSE.          it_output-name3 = it_output-name3.
            endif.
          else.
            SELECT SINGLE PERSNUMBER INTO L_PERSNUMBER FROM USR21
                    WHERE BNAME = it_output-ernam.
            IF SY-SUBRC = 0.
              SELECT SINGLE NAME_TEXT FROM ADRP INTO it_output-name3
               WHERE PERSNUMBER = L_PERSNUMBER.
            ELSE.
              it_output-name3 = it_output-ernam.
            endif.
          endif.
        ENDCASE.
      translate direction indicator to Indirect or Direct
        CASE it_output-dir_indir.
          WHEN 'I'. it_output-dir_indir = 'Indirect'.
          WHEN 'D'. it_output-dir_indir = 'Direct'.
        ENDCASE.
        MODIFY it_output.
      ENDLOOP.
    ENDFORM.
    FORM MERGE_FIELDCATALOG                                             *
    FORM merge_fieldcatalog.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                i_program_name         = sy-cprog
                i_internal_tabname     = 'IT_OUTPUT'
                i_inclname             = sy-cprog
           CHANGING
                ct_fieldcat            = it_fieldcat[]
           EXCEPTIONS
                inconsistent_interface = 1
                program_error          = 2
                OTHERS                 = 3.
    ENDFORM. " MERGE_FIELDCATALOG
          FORM modify_fieldcat                                          *
    FORM modify_fieldcat.
      DATA: wa_fieldcat TYPE slis_fieldcat_alv.
      LOOP AT it_fieldcat INTO wa_fieldcat.
        CASE wa_fieldcat-fieldname.
          WHEN 'DIR_INDIR'.
            wa_fieldcat-seltext_m = 'Direct/Indirect'.
          WHEN 'NAME2'.
            wa_fieldcat-seltext_m = 'PREPARER NAME'.
          WHEN 'NAME3'.
            wa_fieldcat-seltext_m = 'REQUESTER NAME'.
          WHEN 'BEDNR'.
            wa_fieldcat-seltext_m = 'SSP PO'.
          WHEN 'AEDAT'.
            wa_fieldcat-seltext_m = 'PO DOCUMENT DATE'.
          WHEN 'BLDAT'.
            wa_fieldcat-seltext_m = 'INVOICE DOCU DATE'.
          WHEN 'BUDAT'.
            wa_fieldcat-seltext_m = 'POSTAGE DATE'.
          WHEN 'WRBTR'.
            wa_fieldcat-seltext_m = 'LOCAL AMOUNT'.
            wa_fieldcat-cfieldname = 'CURR'.
            wa_fieldcat-ctabname   =  wa_fieldcat-tabname.
          WHEN 'CURR'.
            wa_fieldcat-seltext_m = 'LOCAL CURR'.
          WHEN 'NAME1'.
            wa_fieldcat-seltext_m = 'VENDOR NAME'.
        ENDCASE.
        MODIFY it_fieldcat FROM wa_fieldcat.
      ENDLOOP.
    ENDFORM.
          FORM ALV_REPORT                                               *
    FORM alv_report.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program = sy-cprog
                it_fieldcat        = it_fieldcat[]
           TABLES
                t_outtab           = it_output[].
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

    Very sorry to say this Venu ...
    This is a forum to ask doubts .. "Not get your work done for Free"
    Kindly try to do it yourself first & then if you are stuck somewhere fell free to shout for help
    Best regards,
    Gaurav

  • Re: URGENT: REGARDING ALV REPORT

    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....

    take a marker and write calculation....!!!!
    waiting for reward point.........

  • VERY URGENT:REGARDING ALV REPORT

    HI,
    I am making Interactive alv report in which i have to display 3 views in a single report i.e.
    1.) I  have to display :-
    RAW MATERIAL      DAYS
    BOP                        DAYS
    Here days are the difference b/w the Material Doc. Date and Requsition Approval date.
    (which  i have already calculated.)
    2.) When i double click the raw material or bop option then material no and days are to be dislplayed.
    3.)  After double clicking the material then the its migo status and requsition status to be dislplayed .(this thing i had performed )
    My main problem is dat i have to write it all in a single ALV but its little confusing to me as i am doing this kind of report for first time.
    If anybody provide me useful or solved awnser ,he or she will be definately rewarded.
    Message was edited by:
            ric .s

    hi ric.s
    check this prog
    *& Report  ZSAMP_INTERCTIVE                                            *
    REPORT  zsamp_interctive                        .
    TABLES: mara,vbap.
    DATA : BEGIN OF itab OCCURS 0,
           matnr LIKE mara-matnr,
           ernam LIKE mara-ernam,
           END OF itab.
    DATA :  BEGIN OF itab1 OCCURS 0,
            matnr LIKE vbap-matnr,
            vbeln LIKE vbap-vbeln,
            END OF itab1.
    DATA: fld(20) TYPE c,val LIKE mara-matnr .
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: m FOR mara-matnr OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    *AT SELECTION-SCREEN ON m.
    SELECT SINGLE matnr FROM mara INTO mara-matnr WHERE matnr = m.
    IF sy-subrc NE 0.
       MESSAGE e000(zz) WITH 'invalid ' mara-matnr 'in your ' 'selection'.
    ENDIF.
    START-OF-SELECTION.
      SELECT matnr ernam INTO TABLE itab FROM mara WHERE matnr IN m.
      SELECT matnr vbeln INTO TABLE itab1 FROM vbap FOR ALL ENTRIES IN itab
      WHERE matnr = itab-matnr.
    END-OF-SELECTION.
      LOOP AT itab.
        WRITE:/20 itab-matnr,40 itab-ernam.
       hide itab-matnr.
        CLEAR itab-matnr.
      ENDLOOP.
    AT LINE-SELECTION.
      GET CURSOR FIELD fld  VALUE val.
      CASE fld.
        WHEN 'ITAB-MATNR'.
          WRITE:/ val.
      ENDCASE.
      CASE sy-lsind.
        WHEN '1'.
          SET PF-STATUS 'XX2'.
          SET TITLEBAR 'XX2'.
          IF itab1[] IS INITIAL.
            WRITE:/ 'no data found for itab1 in first secondary list'.
          ENDIF.
          LOOP AT itab1.
            WRITE:/30 itab1-matnr,60 itab1-vbeln.
           hide itab1-matnr.
          ENDLOOP.
        WHEN '2'.
          SET PF-STATUS 'XX2'.
          SET TITLEBAR 'XX2'.
          LOOP AT itab.
            WRITE:/30 itab-matnr,60 itab-ernam.
          ENDLOOP.
      ENDCASE.
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'SET'.
          IF sy-lsind = 1.
            WINDOW STARTING AT 5 3 ENDING AT 40 10.
            WRITE 'Select line for a second window'.
          ELSEIF sy-lsind = 2.
            WINDOW STARTING AT 45 10 ENDING AT 60 12.
            WRITE 'Last window'.
          ENDIF.
        WHEN 'BACK'.
        sy-lsind = sy-lsind - 1.
        WHEN 'ABC'.
          WRITE:/ 'iam great'.
       WHEN 'DOWNLOAD'.
          CALL FUNCTION 'GUI_DOWNLOAD'
            EXPORTING
            BIN_FILESIZE                    =
              filename                        = 'c:\temp.txt'
              filetype                        = 'DAT'
            TABLES
              data_tab                        = itab
           FIELDNAMES                      =
           EXCEPTIONS
             file_write_error                = 1
             no_batch                        = 2
             gui_refuse_filetransfer         = 3
             invalid_type                    = 4
             no_authority                    = 5
             unknown_error                   = 6
             header_not_allowed              = 7
             separator_not_allowed           = 8
             filesize_not_allowed            = 9
             header_too_long                 = 10
             dp_error_create                 = 11
             dp_error_send                   = 12
             dp_error_write                  = 13
             unknown_dp_error                = 14
             access_denied                   = 15
             dp_out_of_memory                = 16
             disk_full                       = 17
             dp_timeout                      = 18
             file_not_found                  = 19
             dataprovider_exception          = 20
             control_flush_error             = 21
             OTHERS                          = 22.
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
      ENDCASE.
    TOP-OF-PAGE DURING  LINE-SELECTION.
      CASE sy-lsind.
        WHEN '1'.
          WRITE:/ 'this is secondary list'.
      ENDCASE.

  • Re: URGENT: REGARDING ALV REPORT OUTLOOK

    HI,
    I am making alv report in which d simple format is used and its output is used to be appear to be simple and  now i want to make its output more gud,can anybody tell me d solution of dis problem,reply useful will be definately rewarded....
    REPORT  ZMFTEST5 no standard page heading LINE-SIZE 310.
    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 'VBELN'    'ITSO'  '' 'S.O.NO. '  'VBELN'     'VBAK' ''.
      PERFORM FCAT USING 'WERKS'    'ITSO'  '' 'PLANT  '   'WERKS'     'VBAP' ''.
      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_LIST_DISPLAY'
        EXPORTING
             I_CALLBACK_PROGRAM       = REPID
             IT_FIELDCAT              = F1
            IT_SORT                  = GT_SORT
             I_SAVE                   = 'X'
             IT_EVENTS                = GT_EVENTS[]
         TABLES
              T_OUTTAB                 = ITSO.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Top of page heading
    perform set_top_page_heading using t_heading t_event.
    Events
    perform set_events using t_event.
    GUI Status
    w_status = ''.
    w_repid = sy-repid.
    Title
    w_title = <<If you want to set a title for
                the ALV, please, uncomment and edit this line>>.
    User commands
    w_comm   = 'USER_COMMAND'.
    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
    *&      Form  F_WRITE_SUMMARY
          Write summary before exit
    FORM F_WRITE_SUMMARY .
    write:/ 'Welcome to XYZ Limited'.
    write:/ 'This is a test program to display Report in ALV Format'.
    ENDFORM.

    Just check the program :
    REPORT ZMFTEST5 no standard page heading LINE-SIZE 310.
    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 B~POSNR
    BWERKS BKWMENG BKBMENG CNTGEW CBRGEW CGEWEI DWMENG DBMENG
    DEDATU DVBELN
    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 B~SPART IN DIV AND
    AERDAT IN SO_DATE AND DEDATU IN S_DATE AND BMATNR IN IT_M AND BWERKS
    = 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 'VBELN' 'ITSO' '' 'S.O.NO. ' 'VBELN' 'VBAK' ''.
    PERFORM FCAT USING 'WERKS' 'ITSO' '' 'PLANT ' 'WERKS' 'VBAP' ''.
    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
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Top of page heading
    perform set_top_page_heading using t_heading t_event.
    Events
    perform set_events using t_event.
    GUI Status
    w_status = ''.
    w_repid = sy-repid.
    Title
    w_title = <<If you want to set a title for
    the ALV, please, uncomment and edit this line>>.
    User commands
    w_comm = 'USER_COMMAND'.
    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
    *& Form F_WRITE_SUMMARY
    Write summary before exit
    FORM F_WRITE_SUMMARY .
    write:/ 'Welcome to XYZ Limited'.
    write:/ 'This is a test program to display Report in ALV Format'.
    ENDFORM.
    Thanks
    Seshu

  • Really urgent: regarding MM04 REPORT

    hi,
    i had made dis code  and i am not able to display the proper out put,plzz help me for idsplaying the output of program <REMOVED BY MODERATOR>.
    CODE:-
    REPORT ZNEW01 no standard page heading LINE-SIZE 310.
    TABLES: cdhdr,cdpos.
    DATA : BEGIN OF itab OCCURS 0,
    objectclas LIKE cdhdr-objectclas,
    objectid LIKE cdhdr-objectid,
    username LIKE cdhdr-username,
    udate LIKE cdhdr-udate,
    utime LIKE cdhdr-utime,
    tcode LIKE cdhdr-tcode,
    change_ind LIKE cdhdr-change_ind,
    changenr LIKE cdhdr-changenr,
    END OF itab.
    DATA: BEGIN OF itab1 OCCURS 0,
    OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
    objectid LIKE cdpos-objectid,
    changenr LIKE cdpos-changenr,
    fname LIKE cdpos-fname,
    chngind LIKE cdpos-chngind,
    value_new LIKE cdpos-value_new,
    value_old LIKE cdpos-value_old,
    END OF itab1.
    DATA : BEGIN OF it_final OCCURS 0,
            objectclas LIKE cdhdr-objectclas,
            objectid   LIKE cdhdr-objectid,
            username   LIKE cdhdr-username,
            udate      LIKE cdhdr-udate,
            utime      LIKE cdhdr-utime,
            tcode      LIKE cdhdr-tcode,
            change_ind LIKE cdhdr-change_ind,
            changenr   LIKE cdhdr-changenr,
            fname LIKE cdpos-fname,
            chngind LIKE cdpos-chngind,
            value_new LIKE cdpos-value_new,
            value_old LIKE cdpos-value_old,
         end of it_final.
    select-options : m_date for cdhdr-udate.
    SELECT objectclas objectid username udate utime tcode change_ind changenr
          FROM cdhdr
          INTO TABLE itab WHERE objectclas = 'MATERIAL' AND
                                change_ind = 'U' AND
                                     udate IN m_date.
    IF NOT itab[] IS INITIAL.
    SELECT objectclas objectid changenr fname chngind value_new value_old
            FROM cdpos
            INTO TABLE itab1
            FOR ALL ENTRIES IN itab
            WHERE changenr = itab-changenr and chngind = itab-change_ind.
    ENDIF.
    *corresponding fields of
    LOOP AT itab1.
    READ TABLE itab WITH KEY changenr = itab1-changenr.
    it_final-objectid = itab-objectid.
    it_final-username = itab-username.
    it_final-udate    = itab-udate.
    it_final-tcode    =  itab-tcode.
    * it_final-fname    =  itab1-fname.
    it_final-chngind  = itab1-chngind.
    it_final-value_old =  itab1-value_old.
    it_final-value_new =  itab1-value_new.
    APPEND it_final.
    CLEAR it_final.
    ENDLOOP.
    loop at it_final.
    write : / it_final-objectid,it_final-username,it_final-udate,it_final-tcode,it_final-chngind,it_final-value_old,it_final-value_new.
    endloop.
    Edited by: Alvaro Tejada Galindo on Feb 14, 2008 5:15 PM

    Hi ..
    I think refer to table MAST--material link to BOM.
    U also refer t othe following tables of MM if necessary....
    MARA - Material Master: General data
    MAKT - Material Master: Description
    MARM - Material Master: Unit of Measure
    MAPE - Material master: Export control file 
    MARC - Material master: Plant data
    MARD - Material master: Storage location 
    MAST - Material link to BOM
    MBEW - Material valuation
    MLGN – Material Master: WM Inventory
    MLGT – Material Master: WM Inventory type
    MDIP - Material: MRP profiles (field contents) 
    MKOP - Consignment price segment (old versions of SAP)
    EBEW - Valuation of sales order stock
    QBEW - Valuation of project stock
    MVER – Material Master: Consumption <Plant>
    DVER – Material Master: Consumption <MRP Area>
    MVKE – Material Master: Sales <Sales Org, Distr Ch>
    MLAN - Material Master: Tax indicator
    MARC - Material Master: Plant data
    MAPR – Material Master: Forecast
    MARD – Material Master: Storage Location
    MCH1 – Material Master: X Plant Batches
    MCHA – Material Master: Batches
    MCHB – Material Master: Batch Stock
    MDMA - MRP Area data
    DBVM - MRP Planning File Entry: MRP Area
    MOFF - Outstanding Material Master Records (Maintenance status)
    MARCH - Material Master C Segment: History
    MARDH - Material Master Storage Location Segment: History
    MBEWH - Material Valuation: History
    MCHBH - Batch Stocks: History
    MKOLH - Special Stocks from Vendor: History
    MSCAH - Sales Order Stock at Vendor: History
    MSKAH - Sales Order Stock: History
    MSKUH - Special Stocks at Customer: History
    MSLBH - Special Stocks at Vendor: History
    MSPRH - Project Stock: History
    MSSAH - Total Sales Order Stocks: History
    MSSQH - Total Project Stocks: History
    thnx
    Sravani
    Plz reward points if helpful....

Maybe you are looking for