Standard Iviews and Pages Header Translations

Hi All,
We have a requirement to change the translation of headers for standard iview and pages.
I am maintaining the translations through Portal Content Translation.
Methods tried -
1. Added the copied iviews and pages to the translation worklist and changed the translation - No impact
2. Cleared the cache - No impact
3. Restarted the portal - no impact
4. Added the standard iviews and pages to the translation worklist and changed the translation - No impact
Let me know any pointers for the same.
Regards,
Indu Garg

Hi Indu Garg ,
SAP Enterprise Portal provides a process for translating the  Texts of portal objects (iViews, pages, worksets, roles, systems, etc.)
Multilingual object metadata for portal objects that is stored in the database of the Portal Content Directory (PCD). If a property of a portal object has type text attribute, it is marked as a text and can be translated (e.g. name, description).
The translation process is supported by two tools that can be called from the content administration role. Choose Content Administration -->Portal Content Translation --> Translation Worklist Coordination or Worklist Translation. These tools are used to coordinate and to translate translation worklists.
[Translation Worklist Coordination|http://help.sap.com/saphelp_nw70/helpdata/EN/25/08174082fe1961e10000000a155106/content.htm]
[Worklist Translation|http://help.sap.com/saphelp_nw70/helpdata/EN/d4/be1640033ae569e10000000a155106/content.htm]
Regards,
srikanth

Similar Messages

  • How to change the ESS objects, iViews and Pages, translation in the portal?

    Hello everyone,
    I'd like to change the standard SAP translation for iView and Pages in the Portal level. Does anybody knows how to do this?
    My landscape is NW2004s and  ESS  for  ECC 6.0
    Regards
    Luciano

    you can change the standard SAP iViews and Pages using the Portal Content Translation feature of the Portal ( go to Content Administration->Portal Content Translation. Follow the instructions at
    http://help.sap.com/saphelp_nw04/helpdata/en/25/08174082fe1961e10000000a155106/frameset.htm
    all ESS iviews and pages have their content "ready for translation" and you can use the instructions above to translate that content.
    Tiberiu
    please award points if response was useful.

  • Crystal 6.0 : How to hide the Page footer and Page Header of the Main Report on the Sub report.

    Post Author: pranay
    CA Forum: Crystal Reports
    Hi ,
    I have a Main report and a Sub report .  When a subreport spans across multiple pages , the page header and page footer of the main report gets displayed along with it . I want to hide the Page Footer and Page Header of the main report when a sub report is displayed . Is there any way it could be acheived in Crystal Report 6.0.

    I am assuming you are talking about the JSControl dropdown menu navigation. The easiest way to hide Community pages is to disable the Below Banner View for that navigation scheme, although it also disables the Subcommunties, Related Communities and Go up to Parent Community links. If you still want these in below the banner menu you could not display Community Pages in the "In this Community" tab and only leave the "Community Members and Knowledge Directly" link in there.
    You would think that it would be better to remove the "In this Community" tab althogether but it is tricky to remove it due to the fact that there needs to be a default horizontal menu displayed all the time. Not all Communities will have a Subcommunities or Related Communities tab so these communities would not display any below banner menus at all if there is no "In this Community" tab, which could be confusing.

  • Standard iview and custom iview

    Hi,
    Have any one tried developing a custome MDM iview which displays the record details on click of a record in standard Result Set iview?
    There is a section in portal content development guide called "Configuring Data Exchange (Eventing)" which deals with this scenario.
    Please share your experience on the integration of Standard iview and custom iview.
    I have already gone through the sdn article on "Integrating MDM Item Details iView into a WebDynpro Application".
    Thanks and best regards,
    Arun prabhu S

    Custom Event Name - EPCFgetRecordByIds
    Any name will do here, so this is fine
    Event Type - EPCF ; Record Event
    Correct again
    Target (URL or Event Name) - getRecordByIds
    Again,... Any name will do here (this is what you will use in the wdDoInit to subscribe to)
    Namespace - urn:com.sap.pct.mdm.appl.masteriviews (?. not sure abt this)
    Though it should not cause an issue I would use something else, this might interfere with the standard iViews events (though they will probably have different event names). You should be able to just come up with your own namespace here
    Auto-Fire on Row Select - Yes
    Correct
    Parameter Format - Standard
    Correct
    Mapped Field - Record ID
    Here you select all fields you like to know the values of in the action-method of your webdynpro. Most likely this is record id or some other unique identifier of the record.
    Parameter name - ?
    Just give any parameter name. You will use this name to find that specific parameter in the string of your action method.
    I want the MDM record id of the selected record as an input.
    This is in the string if you configured the iView as above. Just print it to the screen on the action method.
    Can you please help me tell me how the record id gets passed from standard iview to custom iview?
    That should already happen by the subscribing to the event you did in the wdDoInit. Welcome to the wonderful world of eventing
    Jurjen

  • Searching iviews and Pages

    hi,
    I created index with portal roles search as service and assigned PCD content in repository as datasource. But when i search the iviews and pages that are created by me under portal content, TREX could not show those results. What should I do to enable iview and page search?
    Please do help me....
    Regards,
    Ganesh

    Hi Ganesh,
    > searching the iview/pages which were created
    > by the particular logged on user
    That sounds like a misunderstanding. It's not the question if the logged on user has created the elements, but if they are part of his role; who has created them doesn't matter at all.
    Re-check your siutation under this point of view.
    If you have followed all steps described on help.sap.com and still don't get the results you expect, consider opening an OSS message. I have no time at the moment to check if it's working on my site, sorry.
    Hope it helps
    Detlev

  • Handling standard iview event from web dynpro

    Hi all,
    I hav w a search iView which is SAP standard, when you click an element on the result list it triggers an event. The link contains the following:
    javascript:{jsCode="
    EPCM.storeClientData('urn:com.sap.bor:BUS1001','objid','12002');
    EPCM.storeClientData('urn:com.sap.bor:BUS1001','AllKeys','objid');
    EPCM.raiseEvent('urn:com.sap.bor:BUS1001','select','','a very long url');"};if(opener!=null&&self!=opener){opener.execJS(jsCode);}else{execJS(jsCode);};
    On the other side I'm developing a custom WebDynpro iView whick needs to handle this event. By adding to wdInit() the line WDPortalEventing.subscribe("urn:com.sap.bor:BUS1001", "select", wdThis.wdGetGetReportsListForMaterialAction());  I was able to catch the event. But I can't get the parameters from the event.
    For what i've learned browsing the forum the javascript code above stores the parameters in the "client data bag", and are not directly passed in the event.
    Is there any way to retrieve these parameters from the Web Dynpro iView ?
    Thanks in advance,
    Diego.

    Hi all,
    As a workaround I made a Portal Component application which receives the event and parameters from the standard iView and lanuchs a new event setting the aprameters in the event as Web Dynpro expects them (without using the client databag). Then I inserted this Iview in the same page as the others, but hidden. It's not elegant but is working.

  • MDM Custom Iview and Standard Iview Portal Eventing

    Hi
    I'm trying to develop a custom iview which updates a Standard MDM Result Set iview:
    I found this documentation:
    http://help.sap.com/saphelp_mdm550/helpdata/en/45/c87cfd43e56f75e10000000a1553f6/frameset.htm
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/12195312-0e01-0010-a392-debbd32e39d4
    So i created an iview which raises this event
    WDPortalEventing.fire("urn:com.sap.pct.mdm.appl.masteriviews","updateSearch","ID=115551&RefreshSearch=True");
    Then i upladed my code in the portal, created a new iview and put it in the same page with a Result Set iview. During testing when i rise the event form the custom iview, the standard Result Set catch this event but instead of update it gives the following error:
    Error occurred: Error performing search. com.sap.mdm.internal.protocol.manual.ServerException: Illegal value for parameter,  com.sap.mdm.internal.protocol.manual.ServerException: Illegal value for parameter (see log for details)
    In SDN there is a thread with the same problem (Search Standard iView + Search Custom iView) which is not solved.
    Can somebody help me ?

    sorry, I have same task and tried same code for my alias, table and field.
         WDPortalEventing.fire("urn:com.sap.pct.mdm.appl.masteriviews",
                   "updateSearch",
                   "MDMSystemAlias=NSI_PRODUCTION_ALIAS&MDMTableName=Assets&R3Code=411000000000000006&RefreshSearch=True");
    I fire event  (for my alias, table and field)
    but not any resultset or Current Search on page is catching this search.
    please provide which options  must be set made for views on page so that result set to be updated,
    I hope this may help
    does it need to add some custom event to result set?
    thanks
    Edited by: Ivan Ivanov on Aug 21, 2009 3:49 PM

  • Multi-Language - How to change labels and titles of standard iViews?

    Hi Portal Content Management Gurus,
    I would like to know how to translate the text parts of the standard SAP provided iViews in order to support multiple languages?
    I tried the Translation Worklist Coordination and Translation Worklist facilities provided in the portal. But not able to figure out where I am making the mistake. I am not able to get the translated iViews. I also checked the "include dependent objects" option. But not able to find out where will the generated resource bundles will be available.
    Can any body guide me?
    Thanks & best regds,
    Alag

    Hi Saravanan,
    I just tried changing the browser language. I am not able to see the "Content Provided by SAP" folder itself under the "Portal-Content" directory.
    (1) Is there anything else I need to do in order to see that folder?
    And when I try previewing the iViews after changing the browser language, still the iView content is displayed in English.
    (2) Can I make a copy of this iView and edit change the language property to some other language say "German"? In that case, I will have to maintain multiple copies of the same object. But I tried creating a delta link copy of the object. But was not able to edit and change the language.
    (3) Or do I have to edit it in the par file of the corresponding iView?
    best regds,
    Alagammai.

  • FF 6 "Page Setup" missing "Format & Options" and "Margins & Header/Footer" tabs

    Running 6.0.1 or 6.0.2 on FreeBSD 8.2-STABLE when I select File->Page Setup the standard popup window no longer has tabs for "Format & Options" and "Margins & Header/Footer" that I see on Windows XP when running 6.0.2 - this would be okay were it not for the fact that printing (using CUPS on FreeBSD) no longer prints the headers and footers (which I see just fine when I do Print Preview) something in FF 6.x has regressed and is affecting Page Setup.

    Yep, this I know. And have long since done this (probably before FireFox was called Mozilla). In fact my margins are set the way I want them (and have been unchanged for years - at least since 2006). That was the first thing I checked.
    The fact is ever since I upgrated to 6.01 from 5.x (which was a few weeks ago) my printing from FF6 has not included the footers and headers. As I've said, I can see my footers and headers when I perform Print Preview, but they do not appear on the printed page(s), I truly believe this is changed behaviour due to the upgrade to FF6. Next week I will try a screen capture of my Print Preview to include an image for the "Add images:" feature when posting a reply, but I don't know how to show the physical printed page lacking those same headers and footers short of shooting a photograph with a macro lens and including that as an image. Therefore for now, you will just have to take my word for the fact of missing footers and headers. Also, next week I would be able to post here my about:config settings for the margin preferences which I assure you have remained unchanged for several years. FWIW, printing from Opera 11.11 to the same printer from the same workstation where FF6 is running does include my footers and headers. To my thinking this fairly much puts the blame for this problem on FF6. Thanks.

  • CTRL-E Loads ICE Toolbars and Standard Error 404 Page

    I have a site registered with InContext.  I have one editable region in index.php.  When I click ctrl-e, ICE loads all toolbars, however instead of loading my index.php file, it displays the default standard Error 404 page within the ICE framework.
    What information do I need to supply so that someone can help.
    Thanks
    Loyce

    Okay.  I use 1and1 as my hosting provider and it seems they use sedo domain parking as a revenue stream.  So when a HTTP HEAD request is recieved it returns 200 OK even for pages that do not exist and then redirects to an ERROR 404 which contains advertisements.  I don't really like this, but you can turn it off and see a standard, generic error page or use custom error pages, however this does not change how the server handles pages that do not exist.
    Your solution to go to the InContext Editing Administration Panel and simply "Save" the site settings for this site. Will not work for me because when
    ICE automatically checks if it can use HEAD requests on my server  it finds that it can and never falls back to the alternate method  of FTP.
    If I had the option to force the use of FTP, all of my problems would vanish.
    I have a request in with 1and1 to address this issue, however I see no reason for them to comply.
    I can manually copy my index.php file to index_draft.php and everything will work again until the draft is published or deleted.  For now,  I plan to edit the ice.js file to check if the file exists and if not, copy the original.php to original_draft.php so that i can bypass this issue for now.
    Is there a way to force the HTTP HEAD request to fail on my server?
    Anyway, that is where I am so far on this..
    Mr Popa, do you have any other thoughts on this so far?
    Thanks for your time.

  • Pages 5.5.1: When opening a document created with Pages '09 (Version 4.0) with Pages 5.5.1 the page header and the page footer are deleted. How can this be prevented? Or is this a bug in Pages 5.5.1?

    Pages 5.5.1: When opening a document created with Pages '09 (Version 4.0) with Pages 5.5.1 the page header and the page footer are deleted. How can this be prevented? Or is this a bug in Pages 5.5.1?

    Same problem here (no graphics in header or footer) and the problem has been reported months ago. It is another bug/feature lost when Apple moves from 09 to the iCloud-compatible versions.  Complain to Apple, you may have better chance than me and they may finally listen to their users....

  • Master Page Header and Footer in Page Viewer Web Part

    Hi.
    I created a View in Pages Library to view specific folders.
    After that i added one Page Viewer web part to one of the aspx page.
    There in the Page Viewer web part properties Link i have provided the url of the view.
    It is displaying the folders but at the same time it is displaying the master page header and footer inside the web part.
    Now i need to display the folders alone inside the Page Viewer web part.
    Please let me know how to exclude the master page header and footer inside the Page Viewer web part?
    Regards,
    Sudheer
    Thanks & Regards, Sudheer

    I think that is the default behavior of the page viewer webpart.
    In the page viewer web part,your just enter the url of the website.So that is treated as webpage and it is displaying as per page.
    http://meritsolutions.com/meritmatters/archives/576-Displaying-a-File,-Folder-or-Web-Page-in-the-Page-Viewer-Web-Part.html
    If you want to display a folder, type in a network path to that folder under Link and the folder content will be displayed. 
    Find the more details about page viewer webpart in msdn
    http://office.microsoft.com/en-in/sharepoint-server-help/page-viewer-web-part-HA010024045.aspx

  • Page Header and Footer in Printer Friendly mode

    Hi,
    I have a report which has more than 500 rows and I want to print them.
    The printer friendly mode works fine, but is it possible that there is a page "header" and "footer" on every page which is printed?
    For example, that the column headings are on every page which was printed?
    Or that at the bottom of each page is the page number displayed?
    Does anyone have an idea?
    Thanks,
    Tim

    IE and Firefox are designed for WEB pages.
    WEB pages are on Internet. Security is important and browser should not compromise user to use it.
    Many users=Many printers!
    If you want to write app for especially one printer and know users (Intranet application) then here is what you can do:
    1) Use IE
    2) write your own ocx with interface for your needs.
    3) every user should implement this ocx in their browser.
    4) When they accept your ocx, then in this "small app" you could do as much as this user can do on their own windows. So setting printer, orientation and size is a peace of cake.
    5) make your report regarding this printer
    And this is it!
    And few other things...
    If user choose larger font then your HTML is broken!!!
    For that I think that PL/PDF or Mail merge is better solution!

  • How to set a page header and footer of an excel file i'm creating

    Hello !
    SORRY MY ENGLISH is very BAD.
    I tried to set page header and footer in Excel sheet with ABAP  ole
    DATA : BEGIN OF enter,
    x(1) TYPE x VALUE '0D',
    END OF enter.
    DATA : format(255) TYPE c.
    FORM set_page_sheet.
    CALL METHOD OF excel 'ActiveSheet' = sheet.
    CALL METHOD OF sheet 'PageSetup' = pagesetup.
    SET PROPERTY OF pagesetup 'Orientation' = xllandscape.
    SET PROPERTY OF pagesetup 'PrintTitleRows' = '$9:$12'.
    CLEAR format.
    ERROR
    CONCATENATE 'PAGESHEET' enter-x 'PAGE &P/&N' INTO format.
    ERROR
    SET PROPERTY OF pagesetup 'RightHeader' = format.
    CLEAR format.
    CONCATENATE ' Text 1 ' enter-x 'Text 2'
    enter-x 'Text 3 ' INTO format.
    SET PROPERTY OF pagesetup 'RightFooter' = format.
    FREE OBJECT pagesetup.
    ENDFORM. " set_page_sheet
    Activate report -
    ERROR - The enter-x must by data type c or another then data type x
    Thanks for answer.

    Try to define ENTER this way & try
    class cl_abap_char_utilities definition load.
    DATA : BEGIN OF enter,
    x type c value cl_abap_char_utilities=>cr_lf,
    END OF enter.
    PS : I am not 100% sure about this.

  • I need page no's and top of page header to every page

    Hi Experts,
    i need page no's and top of page header to every page
    to this report.
    i took print outs it came only page number 1 to all the pages, after took prints it seems header to all the pages
    but not displaying in output screen.
    TYPE-POOLS: SLIS.
    TABLES: MKPF,LFA1,MSEG,EKET,T001L,MAKT,S031,S032,MARA,LIPS,LIKP,T001W.
    DATA  FLAG TYPE I.
    DATA : MENGE_RE LIKE MSEG-MENGE,
           MENGE_IS LIKE MSEG-MENGE,
           MENGE_O LIKE MSEG-MENGE,
           MENGE_BAL LIKE MSEG-MENGE.
    DATA  MAGBB LIKE S031-MAGBB.
    DATA  MZUBB LIKE S031-MZUBB.
    DATA  V_MONTH LIKE S031-SPMON.
    DATA  XBLNR LIKE MKPF-XBLNR.
    DATA : BEGIN OF ITAB1 OCCURS 100,
           MATNR LIKE MAKT-MATNR,
           END OF ITAB1.
    DATA : BEGIN OF ITAB2 OCCURS 100,
    MATNR LIKE MAKT-MATNR,
    WERKS LIKE MARD-WERKS,
    LGORT LIKE MARD-LGORT,
    BUSTW LIKE MSEG-BUSTW,
    BWART LIKE MSEG-BWART,
    SHKZG LIKE MSEG-SHKZG,
    MENGE LIKE MSEG-MENGE,
    END OF ITAB2.
    DATA: PAGNO(5) TYPE C.
    DATA : PAGENO LIKE SY-PAGNO.
    DATA: STR1 TYPE DATS,
          STR2(14) TYPE C,
          STR3(10) TYPE C.
    DATA : V_MONUM LIKE T015M-MONUM,
           V_MONAM LIKE T015M-MONAM.
    TYPES:  FARBE TYPE SLIS_T_SPECIALCOL_ALV.
    DATA  V_STOCK LIKE MSEG-MENGE.
    DATA  V_STOCK1 LIKE MSEG-MENGE.
    DATA: V_MONTH1 LIKE S031-SPMON.
    DATA: OSTOCK LIKE MSEG-MENGE.
    CONSTANTS:
    GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          GT_LAYOUT   TYPE SLIS_LAYOUT_ALV,
          GS_KEYINFO  TYPE SLIS_KEYINFO_ALV,
          GT_SORT     TYPE SLIS_T_SORTINFO_ALV,
          GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          GT_EVENTS   TYPE SLIS_T_EVENT,
         G_PRINT     TYPE SLIS_PRINT_ALV.
    DATA:  LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.
    DATA: FC_HIER      TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.
    DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    DATA: GT_REPID       LIKE SY-REPID.
    DATA: GT_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    DATA: GT_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST'.
    DATA: FLD(15).
    DATA: TXT(50).
    I N I T I A L I Z A T I O N
    GT_REPID = SY-REPID.
    PAGNO = SY-PAGNO.
    PERFORM EVENTTAB_BUILD USING GT_EVENTS[].
    A T  S E L E C T I O N  S C R E E N
    *AT SELECTION-SCREEN ON BUDAT.
    PERFORM VALIDATION.
    S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
      PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
      PERFORM FETCH_DATA.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
      IF NOT ITAB2[] IS INITIAL.
        PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
       CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
           I_CALLBACK_PROGRAM = GT_REPID
           IT_FIELDCAT        = GT_FIELDCAT[]
           IT_EVENTS          = GT_EVENTS[]
           IT_SORT            = GT_SORT[]
           IS_LAYOUT          = GT_LAYOUT
         TABLES
           T_OUTTAB           = ITAB2.
      ELSE.
        MESSAGE S006(Z1).
      ENDIF.
      CLEAR : GT_LAYOUT.
    Report Selections
      DATA: BEGIN OF IT_HEADER OCCURS 10,
      WERKS LIKE MSEG-WERKS,
      NAME1 LIKE T001W-NAME1,
      MAKTX LIKE MAKT-MAKTX,
      MATNR LIKE MSEG-MATNR,
      MENGE_O LIKE MSEG-MENGE,
      END OF IT_HEADER.
      DATA: BEGIN OF ITAB OCCURS 50,
            WERKS LIKE MSEG-WERKS,
            MATNR LIKE MSEG-MATNR,
            BWART LIKE MSEG-BWART,
            LGORT LIKE MSEG-LGORT,
            EBELN LIKE MSEG-EBELN,
            XBLNR LIKE MKPF-XBLNR,
            BUDAT LIKE MKPF-BUDAT,
            MBLNR LIKE MSEG-MBLNR,
            MENGE LIKE MSEG-MENGE,
            MAKTX LIKE MAKT-MAKTX,
            XAUTO LIKE MSEG-XAUTO,
            NAME1 LIKE T001W-NAME1,
            MENGE_O LIKE MSEG-MENGE,
            SHKZG LIKE MSEG-SHKZG,
            MENGE_IS LIKE MSEG-MENGE,
            MENGE_RE LIKE MSEG-MENGE,
      END OF ITAB.
      DATA: BEGIN OF INT_DATA OCCURS 50,
            WERKS LIKE MSEG-WERKS,
            MATNR LIKE MSEG-MATNR,
            BWART LIKE MSEG-BWART,
            XBLNR LIKE MKPF-XBLNR,
            MBLNR LIKE MSEG-MBLNR,
            BUDAT LIKE MKPF-BUDAT,
            MAKTX LIKE MAKT-MAKTX,
            MENGE_O LIKE MSEG-MENGE,
            MENGE_R LIKE MSEG-MENGE,
            MENGE_TO LIKE MSEG-MENGE,
            MENGE_TI LIKE MSEG-MENGE,
            MENGE_S LIKE MSEG-MENGE,
            MENGE_ST LIKE MSEG-MENGE,
            MENGE_AD LIKE MSEG-MENGE,
            MENGE_RT LIKE MSEG-MENGE,
            MENGE_C LIKE MSEG-MENGE,
            MENGE_CL LIKE MSEG-MENGE,
            MENGE_BAL LIKE MSEG-MENGE,
            MENGE_CR LIKE MSEG-MENGE,
            NAME1 LIKE T001W-NAME1,
            MENGE_RE LIKE MSEG-MENGE,
            MENGE_IS LIKE MSEG-MENGE,
            MENGE_BAL1 LIKE MSEG-MENGE,
            SHKZG LIKE MSEG-SHKZG,
             MENGE LIKE MSEG-MENGE,
            END OF INT_DATA.
      DATA: BEGIN OF INT_DATA1 OCCURS 50,
             WERKS LIKE MSEG-WERKS,
             MATNR LIKE MSEG-MATNR,
             BWART LIKE MSEG-BWART,
             MENGE_ST LIKE MSEG-MENGE,
             MENGE_O LIKE MSEG-MENGE,
             WAMNG LIKE EKET-WAMNG,
             WEMNG LIKE EKET-WEMNG,
             MENGE LIKE MSEG-MENGE,
             RETPO LIKE EKPO-RETPO,
             UMREN LIKE EKPO-UMREN,
             UMREZ LIKE EKPO-UMREZ,
             BSTMG LIKE EKPO-MENGE,
             XBLNR LIKE MKPF-XBLNR,
       END OF INT_DATA1.
      DATA: BEGIN OF INT_DATA2 OCCURS 50,
             WERKS LIKE MSEG-WERKS,
             LGORT LIKE S031-LGORT,
             MATNR LIKE MSEG-MATNR,
             BWART LIKE MSEG-BWART,
             MENGE_IS LIKE MSEG-MENGE,
             MBWBEST LIKE S032-MBWBEST,
             MAKTX LIKE MAKT-MAKTX,
       END OF INT_DATA2.
      DATA:V_GJAHR LIKE MKPF-BUDAT.
      DATA : FLAG6 TYPE C,
        PAGENO1 LIKE SY-PAGNO,
        PAGENO2 LIKE SY-PAGNO.
      SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-064.
      SELECT-OPTIONS:
      MATNR FOR MSEG-MATNR,
      MATKL FOR MARA-MATKL OBLIGATORY,
      WERKS FOR MSEG-WERKS OBLIGATORY,
      LGORT FOR MSEG-LGORT,
    *CHARG FOR MSEG-CHARG,
      BWART FOR MSEG-BWART,
    *LIFNR FOR LFA1-LIFNR,
    *WADAT FOR LIKP-WADAT_IST,
      BUDAT FOR MKPF-BUDAT.
      SELECTION-SCREEN END OF BLOCK 0.
    *SELECTION-SCREEN SKIP 1.
    Parameters
    *SELECTION-SCREEN SKIP 1.
    Variante
    *SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-064.
      DATA: P_VARI LIKE DISVARIANT-VARIANT.
    *SELECTION-SCREEN END OF BLOCK 0.
    Layout
      SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME TITLE TEXT-060.
      DATA:   P_ZEBRA VALUE 'X'.
      SELECTION-SCREEN END OF BLOCK A.
      SELECTION-SCREEN BEGIN OF BLOCK D WITH FRAME TITLE TEXT-063.
      PARAMETERS:
                  P_EXPAND AS CHECKBOX DEFAULT ' '.
      DATA: P_DETPOP VALUE 'X' .
      SELECTION-SCREEN END OF BLOCK D.
      DATA:       G_BOXNAM TYPE SLIS_FIELDNAME VALUE  'BOX',
                  G_EXPANDNAME TYPE SLIS_FIELDNAME VALUE 'EXPAND',
                  P_F2CODE LIKE SY-UCOMM       VALUE  '&ETA',
                  P_LIGNAM TYPE SLIS_FIELDNAME VALUE  'LIGHTS',
                  G_SAVE(1) TYPE C,
                  G_TABNAME_HEADER TYPE SLIS_TABNAME,
                  G_TABNAME_ITEM   TYPE SLIS_TABNAME,
                  G_EXIT(1) TYPE C,
                  GX_VARIANT LIKE DISVARIANT,
                  G_VARIANT LIKE DISVARIANT.
    INITIALIZATION.
      GT_REPID = SY-REPID.
      G_TABNAME_HEADER = 'IT_HEADER'.
      G_TABNAME_ITEM   = 'INT_DATA'.
    define keyinfo
      CLEAR GS_KEYINFO.
      GS_KEYINFO-HEADER01 = 'MATNR'.
      GS_KEYINFO-ITEM01   = 'MATNR'.
    *GS_KEYINFO-HEADER01.
    PERFORM E01_FIELDCAT_INIT  USING GT_FIELDCAT[].
    PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
    PERFORM E04_COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
    PERFORM E06_T_SORT_BUILD   USING GT_SORT[].
    PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
    Schalter Varianten benutzerspezifisch/allgemein speicherbar setzen
    Set Options: save variants userspecific or general
      G_SAVE = 'A'.
      PERFORM VARIANT_INIT.
    Get default variant
      GX_VARIANT = G_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          I_SAVE     = G_SAVE
        CHANGING
          CS_VARIANT = GX_VARIANT
        EXCEPTIONS
          NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
    Process on value request
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
    AT SELECTION-SCREEN.
      PERFORM PAI_OF_SELECTION_SCREEN.
    START-OF-SELECTION.
    END-OF-SELECTION.
    PERFORM LAYOUT_BUILD USING GT_LAYOUT.     "wg. Parameters
    Call ABAP/4 List Viewer
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = GT_REPID
          IS_LAYOUT          = GT_LAYOUT
          IT_FIELDCAT        = GT_FIELDCAT[]
          IT_SPECIAL_GROUPS  = GT_SP_GROUP[]
          IT_SORT            = GT_SORT[]
          I_SAVE             = G_SAVE
          IS_VARIANT         = G_VARIANT
          IT_EVENTS          = GT_EVENTS[]
          I_TABNAME_HEADER   = G_TABNAME_HEADER
          I_TABNAME_ITEM     = G_TABNAME_ITEM
          IS_KEYINFO         = GS_KEYINFO
          IS_PRINT           = G_PRINT
        TABLES
          T_OUTTAB_HEADER    = IT_HEADER
          T_OUTTAB_ITEM      = INT_DATA.
          FORM E01_FIELDCAT_INIT                                        *
    -->  E01_LT_FIELDCAT                                               *
    FORM FIELDCAT_INIT
                      USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      DATA: POS TYPE I VALUE 1.
    CLEAR LS_FIELDCAT.
    LS_FIELDCAT-FIELDNAME    = 'WERKS'.
    LS_FIELDCAT-TABNAME      =  G_TABNAME_HEADER .
    LS_FIELDCAT-SELTEXT_L        = 'Plant'.
    APPEND LS_FIELDCAT TO RT_FIELDCAT.
    CLEAR LS_FIELDCAT.
    LS_FIELDCAT-FIELDNAME    = 'NAME1'.
    LS_FIELDCAT-TABNAME      =  G_TABNAME_HEADER .
    LS_FIELDCAT-SELTEXT_L        = 'Description'.
    APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_HEADER .
      LS_FIELDCAT-SELTEXT_M        = 'Material'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MAKTX'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_HEADER .
      LS_FIELDCAT-SELTEXT_M        = 'Material Description'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'XBLNR'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M        = ' Doc No.'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'BUDAT'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M        = ' Doc Date.'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'BWART'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M        = ' Mvt.'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MBLNR'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M        = ' Mat.Doc No'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_R'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = '  STO-In '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_RT'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = ' Sales Returns '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_CL'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = ' Canc of Invoice'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_AD'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = ' Adjustments '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_S'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M     = '  Sales.  '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_TO'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = '  STO-Out  '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_CR'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = ' Canc of Sal Returns'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_AD'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = 'Adjustments '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_O'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = ' Opening Balance  '.
      LS_FIELDCAT-NO_ZERO = 'X'.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MENGE_BAL'.
      LS_FIELDCAT-TABNAME      =  G_TABNAME_ITEM .
      LS_FIELDCAT-SELTEXT_M    = ' Balance   '.
      APPEND LS_FIELDCAT TO RT_FIELDCAT.
    ENDFORM.                    "E01_FIELDCAT_INIT
          FORM E02_DATA_ADD                                             *
    -->  E02_LT_SFLIGHT                                                *
          FORM E03_EVENTTAB_BUILD                                       *
    -->  E03_LT_EVENTS                                                 *
    *FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
    DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE = 1
       IMPORTING
         ET_EVENTS   = E03_LT_EVENTS.
    READ TABLE E03_LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                              INTO LS_EVENT.
    IF SY-SUBRC = 0.
       MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
       APPEND LS_EVENT TO E03_LT_EVENTS.
    ENDIF.
    *ENDFORM.                    "E03_EVENTTAB_BUILD
          FORM E04_COMMENT_BUILD                                        *
    -->  E04_LT_TOP_OF_PAGE                                            *
    FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
    Listenüberschrift: Typ H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = TEXT-001.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = TEXT-050.
      LS_LINE-INFO = TEXT-010.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      LS_LINE-KEY  = TEXT-051.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Aktionsinfo: Typ A
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'A'.
      LS_LINE-INFO = TEXT-002.
      APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
    ENDFORM.                    "E04_COMMENT_BUILD
          FORM E05_LAYOUT_BUILD                                         *
    <->  E05_LS_LAYOUT                                                 *
    FORM LAYOUT_BUILD USING LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
      LS_LAYOUT-F2CODE            = P_F2CODE.
      LS_LAYOUT-ZEBRA          = P_ZEBRA.
      LS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      IF P_EXPAND = 'X'.
        LS_LAYOUT-EXPAND_FIELDNAME     = G_EXPANDNAME.
      ELSE.
        CLEAR LS_LAYOUT-EXPAND_FIELDNAME.
      ENDIF.
      LS_LAYOUT-DETAIL_POPUP      = P_DETPOP.
    ENDFORM.                    "E05_LAYOUT_BUILD
          FORM E06_T_SORT_BUILD                                         *
    -->  E06_LT_SORT                                                   *
    *FORM E06_T_SORT_BUILD USING E06_LT_SORT TYPE SLIS_T_SORTINFO_ALV.
    DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
    CLEAR LS_SORT.
    LS_SORT-FIELDNAME = 'WERKS'.
    LS_SORT-TABNAME   = G_TABNAME_HEADER.
    LS_SORT-SPOS      = 1.
    LS_SORT-UP        = 'X'.
    APPEND LS_SORT TO E06_LT_SORT.
    CLEAR LS_SORT.
    LS_SORT-FIELDNAME = 'MATNR'.
    LS_SORT-TABNAME   = G_TABNAME_ITEM.
    LS_SORT-SPOS      = 2.
    LS_SORT-UP      = 'X'.
    APPEND LS_SORT TO E06_LT_SORT.
    *ENDFORM.                    "E06_T_SORT_BUILD
          FORM E07_SP_GROUP_BUILD                                       *
    -->  E07_LT_SP_GROUP                                               *
    FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
      DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
      CLEAR  LS_SP_GROUP.
      LS_SP_GROUP-SP_GROUP = 'A'.
      LS_SP_GROUP-TEXT     = TEXT-005.
      APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
    ENDFORM.                    "E07_SP_GROUP_BUILD
          FORM SELECTION                                                *
    FORM FETCH_DATA .
      STR3 = BUDAT-LOW+0(4).
      SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB1
                         WHERE MATNR IN MATNR AND
                         MATKL IN MATKL.
      SELECT MATNR WERKS LGORT
                         INTO TABLE ITAB2
                         FROM MARD FOR ALL ENTRIES IN ITAB1
                         WHERE WERKS IN WERKS AND
                               LGORT IN LGORT AND
                               MATNR = ITAB1-MATNR.
      SELECT SINGLE NAME1 FROM T001W INTO INT_DATA-NAME1
           WHERE WERKS = INT_DATA-WERKS.
      LOOP AT ITAB2.
        SELECT M~MATNR M~WERKS M~LGORT M~MENGE M~MBLNR  M~MJAHR M~XAUTO M~SHKZG
                       M~BWART M~EBELN N~BUDAT N~XBLNR S~NAME1
                       INTO CORRESPONDING FIELDS OF ITAB
                       FROM   MSEG AS M INNER JOIN MKPF AS N ON
                              M~MBLNR = N~MBLNR
                              AND M~MJAHR = N~MJAHR
                            INNER JOIN T001W AS S ON
                              M~WERKS = S~WERKS
                          WHERE N~BUDAT IN BUDAT AND
                             M~WERKS = ITAB2-WERKS AND
                             M~LGORT = ITAB2-LGORT AND
                             M~MATNR = ITAB2-MATNR AND
                    M~BWART IN BWART.
          APPEND ITAB.
          CLEAR ITAB.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          ITAB-MATNR = ITAB2-MATNR.
          ITAB-WERKS = ITAB2-WERKS.
          ITAB-LGORT = ITAB2-LGORT.
          ITAB-BWART = ITAB2-BWART.
          APPEND ITAB.
        ENDIF.
        CLEAR: ITAB2,ITAB.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM ITAB2 COMPARING MATNR WERKS .
      V_MONTH = BUDAT-LOW+0(6).
      SELECT * INTO CORRESPONDING FIELDS OF TABLE INT_DATA2
               FROM S032 FOR ALL ENTRIES IN ITAB2
               WHERE MATNR = ITAB2-MATNR
                     AND WERKS   = ITAB2-WERKS
                     AND LGORT   = SPACE
                     AND   MBWBEST <> SPACE.
      LOOP AT INT_DATA2 .
        SELECT SINGLE *  FROM S031
                         WHERE MATNR = INT_DATA2-MATNR AND
                               WERKS = INT_DATA2-WERKS AND
                               LGORT = SPACE AND
                               SPMON GT V_MONTH.
        MODIFY INT_DATA2.
        CLEAR: INT_DATA2, S031.
      ENDLOOP.
      DELETE INT_DATA WHERE MENGE_O IS INITIAL .
      DELETE ADJACENT DUPLICATES FROM INT_DATA COMPARING XBLNR MATNR MAKTX.
      V_MONTH1 = BUDAT-LOW+0(6).
      SORT ITAB BY  MATNR  WERKS  XBLNR .
      LOOP AT ITAB.
        XBLNR = ITAB-XBLNR.
        INT_DATA-MENGE = ITAB-MENGE.
        INT_DATA-BWART = ITAB-BWART.
        INT_DATA-XBLNR = ITAB-XBLNR.
        INT_DATA-BUDAT = ITAB-BUDAT.
        INT_DATA-MATNR = ITAB-MATNR.
        INT_DATA-MBLNR = ITAB-MBLNR.
        INT_DATA-MENGE = ITAB-MENGE.
        INT_DATA-SHKZG = ITAB-SHKZG.
        INT_DATA-MENGE_IS = ITAB-MENGE_IS.
        INT_DATA-MENGE_RE = ITAB-MENGE_RE.
        INT_DATA-MENGE_O = ITAB-MENGE_O.
        INT_DATA-NAME1 = ITAB-NAME1.
        AT NEW MATNR.
          FLAG = 1.
          IT_HEADER-MATNR = INT_DATA-MATNR.
          SELECT SINGLE MAKTX FROM MAKT INTO IT_HEADER-MAKTX WHERE
          MATNR = INT_DATA-MATNR.
          APPEND IT_HEADER.
          CLEAR IT_HEADER.
        ENDAT.
        IF FLAG = 1.
          PERFORM GET_OPENING_STOCK.
        ENDIF.
        INT_DATA-MENGE_O = OSTOCK.
        CASE ITAB-BWART.
          WHEN '101'.
            IF INT_DATA-SHKZG = 'S'.
              INT_DATA-MENGE_R = INT_DATA-MENGE_R + ITAB-MENGE.
            ENDIF.
          WHEN  '453'.
            IF INT_DATA-SHKZG = 'S'.
              IF ITAB-XAUTO = 'X'.
                INT_DATA-MENGE_RT = INT_DATA-MENGE_RT + ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN '351' OR '641'.
           IF ITAB-LGORT = 0.
             INT_DATA-MENGE_R = INT_DATA-MENGE_R + ITAB-MENGE.
           ELSE.
             INT_DATA-MENGE_TO = INT_DATA-MENGE_TO + ITAB-MENGE.
           ENDIF.
          WHEN '602' OR '642'.
            IF INT_DATA-SHKZG = 'S'.
              IF ITAB-LGORT = 0.
                INT_DATA-MENGE_CL = INT_DATA-MENGE_CL + ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN '552' OR '310'.
            IF INT_DATA-SHKZG = 'S'.
              INT_DATA-MENGE_AD = INT_DATA-MENGE_AD - ITAB-MENGE.
            ENDIF.
          WHEN '601'.
            IF INT_DATA-SHKZG = 'H'.
              INT_DATA-MENGE_S = INT_DATA-MENGE_S + ITAB-MENGE.
            ENDIF.
          WHEN  '641' .
            IF INT_DATA-SHKZG = 'H'.
              IF ITAB-LGORT = 0.
                INT_DATA-MENGE_TO = INT_DATA-MENGE_TO + ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN  '454' OR '102'.
            IF INT_DATA-SHKZG = 'H'.
              IF ITAB-XAUTO = 'X'.
                INT_DATA-MENGE_CR = INT_DATA-MENGE_CR - ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN '551' OR '309'.
            IF INT_DATA-SHKZG = 'H'.
              INT_DATA-MENGE_AD = INT_DATA-MENGE_AD + ITAB-MENGE.
            ENDIF.
            IF INT_DATA-SHKZG = 'S'.
              MENGE_O = INT_DATA-MENGE_O + ITAB-MENGE.
            ENDIF.
        ENDCASE.
        IF INT_DATA-SHKZG = 'S'.
          MENGE_RE = INT_DATA-MENGE_R + INT_DATA-MENGE_RT + INT_DATA-MENGE_CL
          + INT_DATA-MENGE_AD.
        ENDIF.
        IF INT_DATA-SHKZG = 'H'.
          MENGE_IS =  INT_DATA-MENGE_S + INT_DATA-MENGE_TO +
                        INT_DATA-MENGE_CR + INT_DATA-MENGE_AD.
        ENDIF.
        PERFORM BALANCE.
        COLLECT INT_DATA.
        CLEAR: INT_DATA,ITAB ,XBLNR, FLAG, OSTOCK.
      ENDLOOP.
      SORT INT_DATA BY XBLNR BUDAT WERKS MATNR.
      LOOP AT INT_DATA.
        READ TABLE INT_DATA2 WITH KEY MATNR = INT_DATA-MATNR
                                      WERKS = INT_DATA-WERKS.
        SELECT SINGLE * FROM MAKT WHERE MATNR = INT_DATA-MATNR.
        INT_DATA-MAKTX = MAKT-MAKTX.
        MODIFY INT_DATA.
        CLEAR: INT_DATA, INT_DATA2.
      ENDLOOP.
      LOOP AT INT_DATA WHERE  MENGE_O = 0 AND MENGE_RT = 0 AND
                            MENGE_CL = 0 AND MENGE_AD = 0 AND
                            MENGE_S = 0 AND MENGE_TO = 0 AND
                            MENGE_CR = 0 AND MENGE_R = 0 AND MENGE_BAL = 0.
        DELETE IT_HEADER WHERE MATNR = INT_DATA-MATNR.
      ENDLOOP.
      DELETE INT_DATA WHERE MENGE_O = 0 AND MENGE_RT = 0 AND
                            MENGE_CL = 0 AND MENGE_AD = 0 AND
                            MENGE_S = 0 AND MENGE_TO = 0 AND
                            MENGE_CR = 0 AND MENGE_R = 0 AND MENGE_BAL = 0.
    ENDFORM.                    "SELECTION
    *&      Form  EVENTTAB_BUILD
          text
         -->P_GT_EVENTS[]  text
    FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 1
        IMPORTING
          ET_EVENTS   = RT_EVENTS.
      READ TABLE RT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GT_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO RT_EVENTS.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
         I_LOGO             = 'ENJOYSAP_LOGO'
         IT_LIST_COMMENTARY = LT_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          I_LOGO             = 'ENJOYSAP_LOGO'
          IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.                    "TOP_OF_PAGE
          FORM F4_FOR_VARIANT                                           *
    FORM F4_FOR_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          IS_VARIANT       = G_VARIANT
          I_SAVE           = G_SAVE
          I_TABNAME_HEADER = G_TABNAME_HEADER
          I_TABNAME_ITEM   = G_TABNAME_ITEM
        IMPORTING
          E_EXIT           = G_EXIT
          ES_VARIANT       = GX_VARIANT
        EXCEPTIONS
          NOT_FOUND        = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.                    "F4_FOR_VARIANT
    *&      Form  PAI_OF_SELECTION_SCREEN
          text
    FORM PAI_OF_SELECTION_SCREEN.
      IF NOT P_VARI IS INITIAL.
        MOVE G_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
          EXPORTING
            I_SAVE     = G_SAVE
          CHANGING
            CS_VARIANT = GX_VARIANT.
        G_VARIANT = GX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                               " PAI_OF_SELECTION_SCREEN
    *&      Form  VARIANT_INIT
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT_INIT.
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = GT_REPID.
    ENDFORM.                               " VARIANT_INIT
    *&      Form  GET_OPENING_STOCK
          text
    FORM GET_OPENING_STOCK.
      SELECT SUM( MZUBB ) SUM( MAGBB )  INTO (V_STOCK, V_STOCK1)
                    FROM S031 WHERE MATNR = ITAB-MATNR AND
                                    WERKS = ITAB-WERKS AND
                                    SPMON LT V_MONTH1 AND LGORT = ITAB-LGORT.
      OSTOCK = V_STOCK1 - V_STOCK.
      IF OSTOCK < 0.
        OSTOCK = OSTOCK * -1.
      ENDIF.
    ENDFORM.                               " GET_OPENING_STOCK
    *&      Form  check
          text
    FORM CHECK.
      AUTHORITY-CHECK OBJECT 'M_IS_MATNR'
        ID 'ACTVT' DUMMY
        ID 'MATNR' FIELD MATNR-LOW.
      IF SY-SUBRC <> 0.
        MESSAGE E016(Z1) WITH MATNR-LOW.
      ENDIF.
    ENDFORM.                    "CHECK_AUTHORIZATION
    *&      Form  EVENTTAB_BUILD
          text
         -->P_GT_EVENTS[]  text
    *FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.
    DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE = 1
       IMPORTING
         ET_EVENTS   = RT_EVENTS.
    READ TABLE RT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                              INTO LS_EVENT.
    IF SY-SUBRC = 0.
       MOVE GT_TOP_OF_PAGE TO LS_EVENT-FORM.
       APPEND LS_EVENT TO RT_EVENTS.
    ENDIF.
    *ENDFORM.                    " EVENTTAB_BUILD
          FORM TOP_OF_PAGE
    *FORM TOP_OF_PAGE.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
         I_LOGO             = 'ENJOYSAP_LOGO'
         IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    *ENDFORM.                    "TOP_OF_PAGE
    *&      Form  COMMENT_BUILD
          text
         -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM COMMENT_BUILD USING LT_TOP_OF_PAGE TYPE
                           SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
      DATA: LV_PAGE_STRING(11),
             LV_PAGE_NO(3).
      PAGNO = SY-PAGNO.
      DATA: PAGNO(5) TYPE C.
      CLEAR
         LS_LINE.
      REFRESH LT_TOP_OF_PAGE.
      CLEAR
         LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY = 'Page Number'.
      PAGNO = SY-PAGNO.
      IF
        PAGNO = 0.
        PAGNO =  1.
      ENDIF.
      SHIFT PAGNO LEFT DELETING LEADING SPACE.
      LS_LINE-INFO = PAGNO.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = TEXT-001.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'A'.
      SELECT SINGLE * FROM T001W WHERE
                      WERKS IN WERKS.
      CONCATENATE 'Name Of The Plant ' '-'  T001W-NAME1 INTO
                            TXT SEPARATED BY SPACE.
      LS_LINE-INFO = TXT.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      CLEAR:TXT, LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = TEXT-002.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      IF WERKS-HIGH EQ SPACE.
        CONCATENATE 'Plant :  ' WERKS-LOW INTO TXT.
      ELSE.
        CONCATENATE 'FROM PLANT : ' WERKS-LOW 'TO PLANT : ' WERKS-HIGH INTO TXT SEPARATED  BY SPACE.
      ENDIF.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = TXT.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      IF BUDAT-HIGH EQ SPACE.
        BUDAT-HIGH = BUDAT-LOW.
      ENDIF.
      CONCATENATE 'Date : From ' BUDAT-LOW6(2) '-' BUDAT-LOW4(2) '-'
                            BUDAT-LOW0(4) 'to' BUDAT-HIGH6(2) '-'
                            BUDAT-HIGH4(2) '-' BUDAT-HIGH0(4) INTO
                            TXT SEPARATED BY SPACE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'A'.
      LS_LINE-INFO = TXT.
      APPEND LS_LINE TO  LT_TOP_OF_PAGE.
    ENDFORM.                    "COMMENT_BUILD
    *&      Form  LAYOUT_INIT
          text
         -->P_GT_LAYOUT  text
    FORM LAYOUT_INIT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
      RS_LAYOUT-DETAIL_POPUP      = 'X'.
      RS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    ENDFORM.                    " LAYOUT_INIT
    *&      Form  BALANCE
          text
    -->  p1        text
    <--  p2        text
    FORM BALANCE.
      IF INT_DATA-SHKZG = 'S'.
        MENGE_RE = INT_DATA-MENGE_O + INT_DATA-MENGE.
        INT_DATA-MENGE_BAL = MENGE_RE.
        INT_DATA-MENGE_RE = INT_DATA-MENGE.
      ELSEIF INT_DATA-SHKZG = 'H'.
        MENGE_RE =  MENGE_RE - INT_DATA-MENGE.
        INT_DATA-MENGE_BAL = MENGE_RE.
        INT_DATA-MENGE_IS = INT_DATA-MENGE.
      ENDIF.
    ENDFORM.                    " BALANCE
    Thanks & Regards,
    Sreedhar.

    Hi,
    try like this.........
      get v_linct from system varaible sy-linct
      describe table t_output lines lv_lines - Where 
      t_output is ur final internal table which is displayed
      v_pagct = ( lv_lines div v_linct ) + 3.
      write: 'PAGE NO:' , sy-pagno  ,'/', v_pagct.
    Madhavi

Maybe you are looking for

  • Using LoadRunner for WebDynpro for Java Tests

    Hi, We're develoing WD4J applications and want to test those applications with LoadRunner. I can create Vuser Scripts and Run them with multiple users via Loadrunner Controller successfully but here are my questions; - I've tested a PHP application w

  • Associating oc4j instance with OID

    Hi All, I am trying to associate oc4j instance with OID in enterprise manager (as a first step towards configuring workflow identity service with OID). But I am getting the following error whenever I tried An error occurred while attempting to associ

  • Sending 2 data, is it possible?

    Hi, Is it possible to send two data in the same txt file? Lets say, i have specific members from several dimensions and Im always sending 1 data register... Dims: Account, time, version, company, rate Price= $100 1 Data: AccountA,2011.Jan,Bdg11,Compa

  • KM access error: RSO_MORM_CHECK_AUTHORITY

    Hi, We're on BI + portal 2004s, SP14 and having a problem where access to KM-folders results in the following error: Runtime Error An exception occured while processing the request. Additional information: Error while executing function module: RSO_M

  • What is the easiest way to upgrade 100  Ipads to IOS5.

    Got 100 brand new Ipads, want to upgrade them all to IOS 5.  Right now I'm having to register every one, naming them all like they should be, and then manually upgrading each one.  Please tell me there is an easier way.  I see Lion Server lets you ma