Public / Private option in report tree

Hi all,
I'm creating a report tree using transaction SERP. While creating nodes in the report tree, I came across some configuration options.
One of which is the node attributes. Under this attribute, there are node type and authorization groups.
In node type, there is public and private option.
In authorization groups, there are inherited and new.
How are these options related and how does the different configuration affect access to these nodes?
Appreciate any help on this matter
Best Regards,
r3venant

bump

Similar Messages

  • ZReport addition in report tree.

    Hi Everybody,
    Can anyone suggest the steps to be followed for adding a zprogram in a report tree(sret)?
    Thanks in advance
    Nazmul

    hi check this....
    REPORT  ZVENKATTEST0.
    TABLES:PA0002,PA0008.
    TYPE-POOLS:SLIS.
    CONSTANTS:C VALUE 'X'.
    DATA:BEGIN OF IT_PA0008 OCCURS 0,
         PERNR LIKE PA0008-PERNR,
         BEGDA LIKE PA0008-BEGDA,
         ENDDA LIKE PA0008-ENDDA,
         PREAS LIKE PA0008-PREAS,
         ANSAL LIKE PA0008-ANSAL,
         LGA01 LIKE PA0008-LGA01,
         EXPAND TYPE XFELD,
         END OF IT_PA0008.
    DATA:BEGIN OF IT_PA0002 OCCURS 0,
         PERNR LIKE PA0002-PERNR,
         VORNA LIKE PA0002-VORNA,
         NACHN LIKE PA0002-NACHN,
         GBDAT LIKE PA0002-GBDAT,
         GBLND LIKE PA0002-GBLND,
         SPRSL LIKE PA0002-SPRSL,
         PERID LIKE PA0002-PERID,
         END OF IT_PA0002.
    DATA: WA_FIELD_CAT TYPE SLIS_FIELDCAT_ALV,
          IT_FIELD_CAT TYPE SLIS_T_FIELDCAT_ALV,
          WA_KEYINFO TYPE SLIS_KEYINFO_ALV,
          IT_LAYOUT TYPE SLIS_LAYOUT_ALV.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS:S_PERNR FOR PA0002-PERNR NO INTERVALS.
    SELECTION-SCREEN: SKIP.
    PARAMETERS:P_EXPAND AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK B1.
    START-OF-SELECTION.
    PERFORM SELECT_DATA.
    PERFORM BUILD_FIELD_CAT.
    PERFORM DISPLY_DATA.
    *&      Form  SELECT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM SELECT_DATA .
    SELECT PERNR
           BEGDA
           ENDDA
           PREAS
           ANSAL
           LGA01
           FROM PA0008
           INTO CORRESPONDING FIELDS OF TABLE IT_PA0008
           UP TO 10 ROWS.
    IF NOT IT_PA0008[] IS INITIAL.
    SELECT PERNR
           VORNA
           NACHN
           GBDAT
           GBLND
           SPRSL
           PERID
           FROM PA0002
           INTO CORRESPONDING FIELDS OF TABLE IT_PA0002
           FOR ALL ENTRIES IN IT_PA0008
           WHERE PERNR = IT_PA0008-PERNR.
    ENDIF.
    SORT IT_PA0008 BY PERNR.
    ENDFORM.                    " SELECT_DATA
    *&      Form  BUILD_FIELD_CAT
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELD_CAT .
        WA_FIELD_CAT-TABNAME = 'PA0008'.
        WA_FIELD_CAT-FIELDNAME = 'PERNR'.
        WA_FIELD_CAT-SELTEXT_L = 'personnelno'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0008'.
        WA_FIELD_CAT-FIELDNAME = 'BEGDA'.
        WA_FIELD_CAT-SELTEXT_L = 'begindate'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0008'.
        WA_FIELD_CAT-FIELDNAME = 'ENDDA'.
        WA_FIELD_CAT-SELTEXT_L = 'enddate'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0008'.
        WA_FIELD_CAT-FIELDNAME = 'PREAS'.
        WA_FIELD_CAT-SELTEXT_L = 'reason'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0008'.
        WA_FIELD_CAT-FIELDNAME = 'ANSAL'.
        WA_FIELD_CAT-SELTEXT_L = 'annualsalary'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0008'.
        WA_FIELD_CAT-FIELDNAME = 'LGA01'.
        WA_FIELD_CAT-SELTEXT_L = 'wagetype'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0002'.
        WA_FIELD_CAT-FIELDNAME = 'VORNA'.
        WA_FIELD_CAT-SELTEXT_L = 'firstname'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0002'.
        WA_FIELD_CAT-FIELDNAME = 'NACHN'.
        WA_FIELD_CAT-SELTEXT_L = 'lastname'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0002'.
        WA_FIELD_CAT-FIELDNAME = 'GBDAT'.
        WA_FIELD_CAT-SELTEXT_L = 'birhtdate'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0002'.
        WA_FIELD_CAT-FIELDNAME = 'GBLND'.
        WA_FIELD_CAT-SELTEXT_L = 'birthcountry'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0002'.
        WA_FIELD_CAT-FIELDNAME = 'SPRSL'.
        WA_FIELD_CAT-SELTEXT_L = 'languageused'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
        WA_FIELD_CAT-TABNAME = 'PA0002'.
        WA_FIELD_CAT-FIELDNAME = 'PERID'.
        WA_FIELD_CAT-SELTEXT_L = 'personnelid'.
        APPEND WA_FIELD_CAT TO IT_FIELD_CAT.
    ENDFORM.                    " BUILD_FIELD_CAT
    *&      Form  DISPLY_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLY_DATA .
      IT_LAYOUT-GROUP_CHANGE_EDIT = C.
      IT_LAYOUT-COLWIDTH_OPTIMIZE = C.
      IT_LAYOUT-ZEBRA             = C.
      IT_LAYOUT-DETAIL_POPUP      = C.
      IT_LAYOUT-GET_SELINFOS      = C.
      IF P_EXPAND = C.
      IT_LAYOUT-EXPAND_FIELDNAME  = 'EXPAND'.
      ENDIF.
      WA_KEYINFO-HEADER01 = 'PERNR'.
      WA_KEYINFO-ITEM01 = 'PERNR'.
    wa_keyinfo-item02 = 'SUBTY'.
    CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = SY-CPROG
          IS_LAYOUT               = IT_LAYOUT
          IT_FIELDCAT             = IT_FIELD_CAT
          I_TABNAME_HEADER        = 'PA0008'
          I_TABNAME_ITEM          = 'PA0002'
          IS_KEYINFO              = WA_KEYINFO
        TABLES
          T_OUTTAB_HEADER         = IT_PA0008
          T_OUTTAB_ITEM           = IT_PA0002.
    ENDFORM.                    " DISPLY_DATA

  • Adding report/program to Report Tree

    Hello,
    Could anyone provide step by step info on how to add a program to report tree. I tried SARP, OKLB but could not find any option to add.

    Hello,
    Thanks for the information.
    I tried SE43N and it is allowing me to add a report that also have a transaction code.
    The challenge, the structure/drilldown what i see there is not the same as the one i see in SARP transaction.
    I need to add in a particular node in SARP.  Any linkage between these two?

  • Report tree migration

    Hi all,
    I performed a report tree migration within the test client so the report tree which was in SERP is now in the area menu SE43.
    However, it is just the structure of the tree that was migrated.
    There aren't any private nodes and non of the report are executable.
    Also there wasn't any transaction code assigned to any of the report ( i thought this was mean't to be assigned automatically by the system).
    Has any one encountered this.
    Thanks for your help.
    Will assign points.

    HI,
    since from Rel.40A,there are some changes. Reports are included in Area Menus of applications. You can find out the relevant area menus for variuos reports in
    trx.SE43N, and if F4,you can have list of all areas menus,including for reports
    for various appliactions wise.
    If you want to  migrate your 'Report tree' created before, you nedd to use transaction RTTREE_MIGRATION.
    In the transaction RTTREE_MIGRATION, all the reporting trees proposed are standard reporting trees, and not customer reporting trees !!!
    Purpose of this:
    This report transforms report trees that were created using old version of Trx.SERP(Rel.45B and older) to the area menu structure.
    before adapting this read CAREFULLY all the documentation, clicking icon 'I' in the trx. before doing.
    You can still view the old report tree in trx. SARP.
    You may also read the documentation of release notes under 46A. path:help.sap.com  >46B->Relase notes  >release notes 46A  > BC->FES  >BC-FES-SEM  >changes to Area menus and Report tree.
    Please refer to the notes, 205771 and 207924
    Also read the Release information BC_46_REPTREEMIG2. You find this information in every system under Help -> Release notes -> Complete list from Rel. 4.x -> Release notes as at 4.6A, Component BC-FES-SEM,  document "Change to area menus and report trees".
    I hope, that this information will help you to solve the issue.
    Please assign points if it useful
    Regards
    Ravinagh Boni

  • Report tree query

    Hi All,
    I want to execute seperately a report which is displayed in report tree,
    the program name it shows is something like FBRX01GLPCTSFINSTAT-FA-X.
    What does this name signifies ?
    Thanks.

    Report Tree:
    An ABAP reporting tree program that allows the user to press enter or double click on any line. The report is updated with new internal table data and re-written. The cursor and paging returns to the exact same line the user was on, even though the report was re-written from the internal table. Input fields are filled with data based on ENTER of DOUBLE CLICK. [+] and [-] is displayed on each line and changes if user selects to expand/collapse.
    Here, you specify the name of the tree to be used for report selection in the application menu. SAP supplies one default tree per application, but customers can create their own trees and overwrite the SAP tree.
    Under Extras -> Control, you can define whether the reports in the tree are to be displayed in a selection window or on a separate screen. To suppress the processing of report trees for the relevant application by choosing Inactive . When you call report selection in the application menu, the list selected in the report list is then displayed.
    It is also possible to deactivate the report tree for any end-user in any application by setting the user parameter 'KBT' to 'X'.
    Transporting the Tree Sructure
    When you change a tree, it is included in a transport request (transport object R3TR SRTR). The following are then transported:
    • The tree structure all the texts
    • Node entries (the names of the reports and variants)
    The following are not automatically transported:
    • User-specific settings (initial position, sub.trees, visible entries)
    • Saved lists
    When you change a node, it is also included in a transport request. The following are then transported:
    • Node entries (the names of the reports and variants)
    Manual Transport (for Special Cases)
    The tree structure is stored in the table SERPTREE. A tree structure can only be transported as a whole, and the transport request should contain the following entry:
    • R3TR TABU SERPTREE and SERPT. Function R transports all trees from the source system and overwrites those in the target system.
    • R3TR TABU SERPTREE und SERPT. Function K transports only those trees specified on the next screen. You must enter function R. You can only specify the tree ID; the node ID must be specified generically.
    If you want to overwrite a tree structure in the target system, the node contents (table SREPOVARI, see below) and the user-specific views (table SERPENTR and SREPOUSER, see below) should also be transported, or at least deleted in the target system.
    Transporting Node Contents
    The contents of report tree nodes (reports and variants) are stored in the table SREPOVARI. In this case, you should make the following entry in the transport request:
    • R3TR TABU SREPOVARI. Function R transports the contents of all nodes of all trees from the source system and overwrites those in the target system.
    • R3TR TABU SREPOVARI. Function K transports only the node contents specified in the next screen. You enter function R here.
    If you want to overwrite a node in the target system, the user-specific views (table SREPOUSER, see below) should also be transported, or at least deleted in the target system.
    Transporting User-Specific Views
    The views of the report tree are stored in the table SERPENTR. You must make the following entry in the transport request:
    • R3TR TABU SERPENTR. Function R transports the views of all users of all trees from the source system and overwrites those in the target system.
    • R3TR TABU SERPENTR. Function K transports only those views specified on the next screen. You enter function R here.
    The views of the nodes are stored in the table SREPOUSER. You must make the following entry in the transport request:
    • R3TR TABU SREPOUSER. Function R transports the view of all users of all nodes from the source system and overwrites those in the target system.
    • R3TR TABU SREPOUSER. Function K transports only those views specified on the next screen. You enter function R here.
    Delete country-specific reports from report tree
    Example
    Deleting country-specific personnel reports from the report tree, for example, deleting the reports for USA.
    Further notes
    Selection criteria on the selection screen:
    • Reports to be deleted: Specify the report name (optional)
    • Report tree: for example, SAP1 for the tree displayed when you choose Information systems -> Gen.report selection.
    • Delete also in user trees: Default = checkbox selected.
    • Change database: Test mode = Checkbox not selected, i.e. no database updates.
    When you execute the report, you get a list of all countries for which country-specific reports can be deleted. You then select the countries for which you want to delete reports.
    • To delete single reports, choose Country-spec. report. To delete all country-specific reports for the countries selected, choose Delete tree area.
    • When you choose Delete tree area, you are prompted to confirm the deletion. The selected reports are then deleted and the system displays a log of the deleted reports (also in test mode).
    Working with Reports in the Report Tree
    Prerequisites
    Once you have accessed General Report Selection, you can expand the report tree structure to find the reports you want to start and perform other related functions:
    You can:
    • Start reports
    • Start reports in the background
    • Find reports
    • Display report attributes
    • Display report variants
    • Display report documentation
    • Access and start reports that do not appear in the report tree
    Procedure
    Starting Reports
    1. Expand the report tree structure until you reach the required report
    2. Position the cursor on the report and choose Execute (or double-click on the report)
    If the report has no selection screen, the resulting list is displayed immediately.
    If the report has a selection screen, go to step 3.
    3. Enter your selection criteria and choose Execute
    For an example of how to start a report in General Report Selection, see:
    Starting a Report in the Report Tree: Example
    Starting Reports in the Background
    Only reports, for which variants exist, can be started in the background. You must also schedule a background job.
    To start a report in the background:
    1. Expand the report tree structure until you reach the required report
    2. Position the cursor on the report and choose Execute in background
    For more information about working with variants and scheduling background jobs, see:
    Variants
    Background Processing
    Searching For Reports
    To find a particular report in the report tree structure:
    1. Choose Edit &#61614; Find &#61614; Objects
    2. Enter your search criteria
    You can enter basic search criteria and, for ABAP reports only, additional search criteria.
    Basic Search Criteria
    Search criterion Remarks
    Report name This is the technical name of the report (for ABAP report, Report Writer reports, and transactions), or the user group for queries.
    Extended report name This is the technical name of the report (for drilldown reports or report portfolio reports), or the query name for queries.
    Title This is the report title. Here, the system searches for a title that matches the user's entry exactly.
    Node This is the technical name of a node in the report tree.
    You can specify additional selection criteria for ABAP reports as specified in the program attributes:
    Additional Search Criteria
    Search criterion
    Application
    Logical database
    Created by
    Last changed by
    To determine the area in which you want to search for a report, check the appropriate boxes as follows:
    Restrict Search Area
    Restrict to… Action
    Whole report tree Enter the technical name of the root node and select Find in subordinate nodes.
    Sub-tree Enter the technical name of the sub-tree node and select Find in subordinate nodes.
    Node Enter the technical name of the node and select Find in subordinate nodes.
    You can search for a report using one or more character strings that appear in the report documentation, but this is very time-intensive.
    You can also perform generic searches using *.
    3. Choose Execute
    The list of results is sorted by node.
    Displaying Report Attributes
    To display the attributes of a report in the report tree structure:
    1. Position the cursor on the relevant report
    2. Choose Edit &#61614; Node attributes
    You see the following information (if present):
    &#61601; Report type
    &#61601; Technical name of the underlying executable program
    &#61601; Extended report name
    &#61601; Report variant
    Checkboxes also indicate whether:
    &#61601; The report is started using a variant
    &#61601; The selection screen of the report is skipped
    Displaying Report Variants
    If a report has variants, these are listed as subordinate nodes. You can start variants just like any other reports.
    To display the variants of a report in a different way:
    1. Position the cursor on the relevant report
    2. Choose Goto &#61614; Variants
    3. Ensure that the Variants field is left blank and get a list of possible entries
    4. Choose Display
    You see a list of variants defined for the report.
    If you want to start a report in the background, you must create a variant first.
    For more information about working with variants, see:
    Variants
    Displaying Report Documentation
    To display detailed documentation about a report:
    1. Position the cursor on the relevant report
    2. Choose Goto &#61614; Documentation
    Starting Reports not in the Report Tree
    If the report you want to start is not in the report tree, and you cannot access it through other menus, you can start it by running the underlying executable program. To do this, you need to know the program name:
    1. Choose Goto &#61614; General reporting
    2. Enter the program name
    3. Choose Execute
    For further information about working with reports, see:
    Reports
    Starting a Report in the Report Tree: Example
    To get a list of the remaining leave entitlement of various employees:
    1. On the General Report Selection screen, expand the tree structure by choosing Human Resources &#61614; Time management &#61614; Absence
    2. Place the cursor on the Leave Overview report and choose Execute (or double-click the report)
    3. Enter your selection criteria and execute the report
    The system displays the results on the screen.
    Report Variants
    Definition
    Group of selection criteria that has been saved. A report can have several different variants, with each variant retrieving different types of information. For example, a vendor report might have one variant for U.S. vendors and another variant for European vendors.
    Use
    Instead of entering the same values in the selection criteria input fields each time you execute a report, you can enter the values once and then save the selection criteria as a variant. The next time you execute the report, you only need to enter the variant name, not the selection criteria. If you use variants, the selection criteria screen is already filled with data.
    To execute certain reports, you must use a variant. In this case, a system message prompts you to do so. Although you are not always required to use variants or selection criteria, it is a good idea to use them when possible. Your resulting lists will be smaller and take less time for the system to process.
    Background Processing
    Use
    In background processing, the SAP System automatically runs any report or program that you can start interactively.
    When you schedule a job in the background processing system, you must specify:
    • The ABAP report or external program that should be started
    • The start time
    • The printing specifications
    The background processing system starts your job and runs the program(s) that you specify. Afterwards, you can check whether your job was executed successfully and display a log of any system messages.
    Suppose you need to run a report of customers whose bills are overdue.You can:
    o Start the report yourself from the ABAP Editor. If you do this, the system runs the report interactively, in a session at your PC or workstation. While the report is being processed, your computer response time may be slower.
    o Or, you can have the background processing system run the report. To do this, you must create a background job that tells the system what you want it to do.
    The background processing system runs your "late bills" report according to your instructions. The list generated by the report is either printed directly or is waiting for you in the SAP output controller (see Using the Output Controller).You can also check in the background processing system whether the report ran correctly.
    Features
    • Running a report in the background does not tie up the SAP sessions you are currently working with.
    When you start a report interactively, your current SAP session is blocked for further input for as long as the report runs.
    When you start the report in the background, running the report does not influence your interactive work with the SAP System.
    • You can shift the execution of reports to the evening or other periods of low load on the SAP System.
    You can schedule a report or external program to run at any time that the SAP System is active. You can also set up reports to run automatically on a regular basis (for example, on the last day of each month).
    • Background processing is the only way you can execute long-running jobs.
    To prevent tying up system resources with interactive sessions for long reports, the SAP System has a built-in time limit on interactive sessions. If a single ABAP report runs for more than 5 minutes continuously in an interactive session, the SAP System terminates the report automatically.
    The background processing system executes long-running ABAP reports more efficiently. Often, such reports are automatically scheduled for execution in the background. In this case, you do not need to schedule them for background processing yourself.
    Reports
    Use
    When you are working in the SAP System, you may want to access information from the database. To do this, you use reports.
    In this documentation, report refers to the report program, and list refers to the output – that is, the results of the report.
    Some reports display information; others allow you to perform analyses.
    A report must be started, or executed. In many cases, the SAP System automatically executes a report. Sometimes, however, you will want to execute a report yourself.
    In addition to report programs, the SAP System provides numerous reporting tools, each of which has its own set of procedures for executing report programs.
    This documentation describes report programs only. For an introduction to the SAP reporting tools, refer to the Reporting Made Easy guidebooks (Release 4.0B). You can find these guidebooks at: www.saplabs.com/rme .
    <b>Kindly reward this if found useful</b>

  • Report tree issue

    I am trying to change the discription in the report tree that has been built.
    As of now the report tree shows the description which is linked to the reports.
    My issue is that i need to give some other description and not the one which is linked to the reports.
    Can someone tell me how can this be done??

    I am using transaction gd00. I have to change the description. How can this be done??

  • I downloaded a song from i-tunes.  It plays on my computer, but won't play on my i-phone.  Any suggestions on how to fix this? Or how can I re-download the song without getting charged a second time.  I could not find an option to "report a problem".

    I downloaded a song from i-tunes.  It plays on my computer, but won't play on my i-phone.  Any suggestions on how to fix this? Or how can I re-download the song without getting charged a second time.  I could not find an option to "report a problem".

    I could not find an option to "report a problem".
    Log in to the Store. Click on "Account" in your Quick Links. When you're in your Account information screen, go down to Purchase History and click "See all".
    Find the item that is not playing properly. If you can't see "Report a Problem" next to the entry, click the "Report a problem" button. Now click the "Report a Problem" link next to the item.
    (Not entirely sure what happens after you click that link, but fingers crossed it should be relatively straightforward.)

  • Error while creating folder inside the Public & Private Folders

    Dear Gurus,
    I am trying to create a new folder under Public & Private folder. But system is giving the error as " Please enter complete document key. Rollback was unsuccessful; the document is not assigtned to the folder."
    But system is creating the folder outside the Public & Private folder.Created folder is visible only in the serach result. I am not able to delete the folder also from the serach result.
    Request your inputs on how can I solve this issue
    Regards
    Damodar Pai

    Dear Gurus,
    Problem got solved. There is one more table DOST which is linked to DRAW & DRAT. We deleted the vales of DOST & tried. It is wokring now.
    Thanks for your precious inputs.
    Regards
    Damodar Pai
    Edited by: damspai on Aug 25, 2009 9:37 AM

  • Background Processing Option in Report

    Hi Fellow Abapers,
    I need to edit a report whereby there is an option to display further fields. Now if they select this option, the report NEEDS to run in the background and output to the file. This will later be retrieved byt the SAP Output Controller (Which there is already a program). It is a must.
    Does anybody have any links, codes, tips? Helpful posters will be awarded.

    Hi You can do that programatically, no need to say execute it in background from se38. Make sure you are not using file download but use open dataset. here is the sample program. Just copy and paste this in test program and check it. hope this will be helpfull. this report reads only materials for plant and there is an option on the selection screen to print or email or you can write it to spool. ofcourse it does automatically and then you can retrieve or print from SP01 but in your case you have to write to application server.
    REPORT  ysam_test5 MESSAGE-ID zsummit.
    DATA: marc TYPE marc.
    TYPES: BEGIN OF t_marc,
           matnr TYPE matnr,
           werks TYPE werks_d,
           mmsta TYPE mmsta,
           maabc TYPE maabc,
           END OF t_marc.
    DATA: it_marc TYPE TABLE OF t_marc,
          wa_marc TYPE t_marc.
    DATA  : gr_table   TYPE REF TO cl_salv_table.
    DATA  : gr_functions TYPE REF TO cl_salv_functions_list.
    *fields used for variant create
    DATA: wa_var_desc         TYPE varid,
          it_var_contents     TYPE TABLE OF rsparams,
          it_var_text         TYPE TABLE OF varit,
          wa_var_text         TYPE varit,
          w_var_varname       TYPE variant.
    *printer information
    DATA: wa_print_options TYPE fpm_parcon,
          wa_arc_options   TYPE fpm_parcon,
          w_print_options  TYPE pri_params.
    *email information
    INCLUDE <cntn01>.
    DATA: w_recipient     TYPE swc_object,
          w_recipient_obj TYPE swotobjid.
    *container macro
    swc_container      w_swc_container.
    *batch job information
    INCLUDE lbtchdef.
    DATA: w_job       TYPE tbtcjob.
    *constants
    CONSTANTS: c_on VALUE 'X',
               c_off VALUE space,
               c_int(11) VALUE ' 0123456789'.
    SELECTION-SCREEN BEGIN OF BLOCK main with frame.
    SELECT-OPTIONS: s_matnr FOR marc-matnr,
                    s_werks FOR marc-werks.
    SELECTION-SCREEN BEGIN OF BLOCK back WITH FRAME TITLE text-ss2.
    PARAMETERS: p_fore RADIOBUTTON GROUP proc DEFAULT 'X', "foreground
                p_ball radiobutton group proc,
                p_berr radiobutton group proc.
    SELECTION-SCREEN END OF BLOCK back.
    SELECTION-SCREEN BEGIN OF BLOCK mail WITH FRAME TITLE text-ss3.
    PARAMETERS: p_print RADIOBUTTON GROUP mail DEFAULT 'X',
                p_email RADIOBUTTON GROUP mail.
    SELECTION-SCREEN END OF BLOCK mail.
    SELECTION-SCREEN END OF BLOCK main.
    START-OF-SELECTION.
      IF sy-batch = c_off AND p_fore = c_off.
        PERFORM create_variant.
        PERFORM build_print_parameters.
        IF p_email = c_on.
          PERFORM build_email_container.
        ENDIF.
        PERFORM open_job.
        PERFORM submit_job.
        PERFORM close_job.
        MESSAGE i000 WITH 'Job' w_job-jobname
                          'has been submitted'.
        perform delete_variant.
        EXIT.
      ENDIF.
    perform select_data.
    END-OF-SELECTION.
      PERFORM salv_grid.
    *&      Form  salv_grid
          text
    FORM salv_grid .
      DATA:      lref TYPE REF TO cx_root .
      DATA:      lr_layout TYPE REF TO cl_salv_layout,
                 ls_key    TYPE salv_s_layout_key.
      TRY.
          cl_salv_table=>factory(
            IMPORTING
              r_salv_table   = gr_table
            CHANGING
              t_table        = it_marc ).
        CATCH cx_salv_msg INTO lref.
      ENDTRY.
    ***Sub Total
    PERFORM sub_total.
    ***Layout
      lr_layout = gr_table->get_layout( ).
      ls_key-report = sy-cprog.
      lr_layout->set_key( ls_key ).
      lr_layout->set_default( 'X' ).
      lr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
    ***toolbar
      gr_functions = gr_table->get_functions( ).
      gr_functions->set_all( 'X' ).
    *final display
      gr_table->display( ).
    ENDFORM.                    " salv
    *&      Form  sub_total
    FORM sub_total .
      DATA: lr_aggregations TYPE REF TO cl_salv_aggregations.
      lr_aggregations = gr_table->get_aggregations( ).
      lr_aggregations->clear( ).
      TRY.
          lr_aggregations->add_aggregation( columnname = 'Z_BALANCE_REM' ).
        CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing.
      ENDTRY.
      TRY.
          lr_aggregations->add_aggregation( columnname = 'Z_PAY_AMT' ).
        CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing.
      ENDTRY.
    ENDFORM.                    " sub_total
    *&      Form  select_data
    form select_data .
    select matnr werks mmsta maabc into table it_marc
           from marc
           where matnr in s_matnr
             and werks in s_werks.
    endform.                    " select_data
    *&      Form  create_variant
    form create_variant .
      CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
        EXPORTING
          curr_report           = sy-cprog
        TABLES
          selection_table       = it_var_contents
       EXCEPTIONS
         not_found             = 1
         no_report             = 2
         OTHERS                = 3
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CONCATENATE sy-datum sy-timlo INTO w_var_varname.
      wa_var_desc-mandt = sy-mandt.
      wa_var_desc-report = sy-cprog.
      wa_var_desc-variant = w_var_varname.
      wa_var_desc-transport = 'F'.
      wa_var_desc-environmnt = 'A'.
      wa_var_desc-version = '1'.
      wa_var_text-mandt = sy-mandt.
      wa_var_text-langu = sy-langu.
      wa_var_text-report = sy-cprog.
      wa_var_text-variant = w_var_varname.
      CONCATENATE 'Batch Job Variant -' sy-uname INTO wa_var_text-vtext.
      APPEND wa_var_text TO it_var_text.
      CALL FUNCTION 'RS_CREATE_VARIANT'
        EXPORTING
          curr_report                     = sy-cprog
          curr_variant                    = w_var_varname
          vari_desc                       = wa_var_desc
        TABLES
          vari_contents                   = it_var_contents
          vari_text                       = it_var_text
       EXCEPTIONS
         illegal_report_or_variant       = 1
         illegal_variantname             = 2
         not_authorized                  = 3
         not_executed                    = 4
         report_not_existent             = 5
         report_not_supplied             = 6
         variant_exists                  = 7
         variant_locked                  = 8
         OTHERS                          = 9
      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.                    " create_variant
    *&      Form  build_print_parameters
    form build_print_parameters .
      IF p_print = c_on.
        CALL FUNCTION 'MAINTAIN_PRINT_PARAMETERS'
          EXPORTING
            i_title_text         = 'Select your printer'
          CHANGING
            c_pri_params         = wa_print_options
            c_arc_params         = wa_arc_options
          EXCEPTIONS
            parameters_not_valid = 1
            OTHERS               = 2.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Print parameters could not be gathered'.
        ENDIF.
      ENDIF.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CALL FUNCTION 'CHECK_PRINT_PARAMETERS'
        EXPORTING
          i_title_text               = 'Select your printer'
          i_pri_params               = wa_print_options
          i_arc_params               = wa_arc_options
       IMPORTING
         e_pri_params                = w_print_options
       EXCEPTIONS
         parameters_not_valid       = 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.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH 'Print parameters could not be assigned'.
      ENDIF.
      IF p_print = c_on.
        w_print_options-primm = c_on.
      ELSE.
        w_print_options-primm = c_off.
      ENDIF.
    endform.                    " build_print_parameters
    *&      Form  build_email_container
    form build_email_container .
      swc_create_object w_recipient 'RECIPIENT' space.
      swc_clear_container w_swc_container.
      swc_set_element w_swc_container 'AddressString' sy-uname.
      IF sy-subrc NE 0.
        MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      swc_set_element w_swc_container 'TypeId' 'B'.
      IF sy-subrc NE 0.
        MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      swc_call_method w_recipient 'CreateAddress' w_swc_container.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH 'Could not determine email address'.
      ENDIF.
      swc_set_element w_swc_container 'SendExpress' 'X'.
      IF sy-subrc NE 0.
        MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
                          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      swc_call_method w_recipient 'SetExpress' w_swc_container.
      swc_call_method w_recipient 'Save' w_swc_container.
      swc_object_to_persistent w_recipient w_recipient_obj.
    endform.                    " build_email_container
    *&      Form  open_job
    form open_job .
      CONCATENATE sy-cprog '-' sy-uname INTO w_job-jobname.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname          = w_job-jobname
          jobclass         = 'A'
        IMPORTING
          jobcount         = w_job-jobcount
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
      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.                    " open_job
    *&      Form  submit_job
    form submit_job .
      CALL FUNCTION 'JOB_SUBMIT'
        EXPORTING
          authcknam               = sy-uname
          jobcount                = w_job-jobcount
          jobname                 = w_job-jobname
          priparams               = w_print_options
          report                  = 'YSAM_TEST5'
          variant                 = w_var_varname
        EXCEPTIONS
          bad_priparams           = 1
          bad_xpgflags            = 2
          invalid_jobdata         = 3
          jobname_missing         = 4
          job_notex               = 5
          job_submit_failed       = 6
          lock_failed             = 7
          program_missing         = 8
          prog_abap_and_extpg_set = 9
          OTHERS                  = 10.
      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.                    " submit_job
    *&      Form  close_job
    form close_job .
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount             = w_job-jobcount
          jobname              = w_job-jobname
          strtimmed            = c_on
          recipient_obj        = w_recipient_obj
        EXCEPTIONS
          cant_start_immediate = 1
          invalid_startdate    = 2
          jobname_missing      = 3
          job_close_failed     = 4
          job_nosteps          = 5
          job_notex            = 6
          lock_failed          = 7
          invalid_target       = 8
          OTHERS               = 9.
      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.                    " close_job
    *&      Form  delete_variant
    form delete_variant .
    CALL FUNCTION 'RS_VARIANT_DELETE'
      EXPORTING
        report                     = sy-cprog
        variant                    = w_var_varname
       FLAG_CONFIRMSCREEN         = 'X'
       FLAG_DELALLCLIENT          = 'X'
    IMPORTING
      VARIANT                    =
    EXCEPTIONS
       NOT_AUTHORIZED             = 1
       NOT_EXECUTED               = 2
       NO_REPORT                  = 3
       REPORT_NOT_EXISTENT        = 4
       REPORT_NOT_SUPPLIED        = 5
       VARIANT_LOCKED             = 6
       VARIANT_NOT_EXISTENT       = 7
       NO_CORR_INSERT             = 8
       VARIANT_PROTECTED          = 9
       OTHERS                     = 10
    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.                    " delete_variant

  • How to diable the default option of report-based total (when applicable)

    Hi,
    Anybody know how to diable the default option of report-based total (when applicable)?
    By default this aggregation rule option is checked.
    There should be some configuration tag in instanceconfig.xml or somewhere else, such as <ReportAggregateEnabled>true</ReportAggregateEnabled>?
    Regards,
    Tina

    you can change this from admin tool,
    open admin tool,
    business model and mapping
    find your column in the model
    double click your column, click on aggregation, >> default rule >> none.
    but if you do this, you cant make any sum operation.

  • Regarding excel download from ALV report tree

    Hi Experts,
    I have a ALV report tree program. In that i need the functionality to download report output in excel file.
    Can any body suggest how can i achieve download to excel functionality in it.
    Any useful suggestion will be appreciated.
    Thanks in advance,
    Akash

    The data for the tree exist in the NODE table in a different format. So, even you download that table, it will not be downloaded in the TREE format. So, the user will not be able to understand the data unlike the case of a ALV GRID.
    Whether it is a TREE / GRID, ultimately its the data of a internal table, that gets downloaded. But in case a TREE, we don't have the data in a straight forward way . i thnk it is not possible . i am not sure too for this .

  • Want to change Public, private and vip address on RAC 10g R2 windows 2003

    The network section told us the configuration of the network who support our cluster will have to change all ip address.
    We are looking for a complet document who give all the step by step instructions how to make this change.
    We have to change the Public, private and VIP at the same time of our 3 nodes cluster.
    We know the OCRCFG will be impact. So we will take backup of it first.
    Can someone are able to indicate us how to procede to execute this task.
    Thanks

    Hi,
    i check the Note:283684.1 you give me, but it didn't give all the answers to my problem.
    I finally found a recipe to make the job. I would like to tell you it's not supported be Oracle, but it work very well
    Don't forget to take a good backup of the ocrcfg and vote disk before you start.
    Here we go:
    Stop all Oracle service on all nodes before the change of the address, the low format of the ocrcfg and vote disk
    change the address in the file host in C:\WINDOWS\system32\drivers\etc with the new address
    change the ip address in the window network definition connection with the new address
    ocopy \\.\ocrcfg d:\backup\ocrcfg.dmp
    ocopy \\.\votedsk1 d:\backup\votedsk1.dmp
    rem go to directory of the cluster binary crs\bin
    cd /D D:\Oracle\Ora10g\crs/bin
    rem Format raw ocrcfg and vote disk
    LogPartFormat.exe \\.\ocrcfg /q
    LogPartFormat.exe \\.\votedsk1 /q
    rem Run in prompt mode the cluster setup
    rem crssetup.exe config -nn %s_nodenumberlist% -pn %s_privatenamelist% -ch %ORA_CRS_HOME% -oh %s_OracleHome% -c %s_clustername% -l "%s_languageid%" -q %s_votedisklist% -g %s_usergroup%
    rem example for 2 node
    crssetup.exe config -nn host_name_node_1 ,1,host_name_node_2,2 -pn host_name_node_1-priv,1,host_name_node_2-priv,2 -ch D:\Oracle\Ora10g\crs -oh D:\Oracle\Ora10g\crs -c crs_lab -l "CANADIAN FRENCH_CANADA.WE8MSWIN1252"; -q "\\.\votedsk1"
    rem ensures that all nodes are configured with the same port for the ONS
    racgons.exe add_config host_name_node_1:6200 host_name_node_2:6200
    rem oifcfg to direct components to use specific network interfaces
    oifcfg.exe setif -global "Public"/10.200.5.0:public "Prive"/192.169.255.0:cluster_interconnect
    rem to rebuild the vip address vipca in wondow componant and make the incription in the cluster (in prompt mode or online)
    rem at the same time it will create the gsd and ons service
    vipca.bat -silent -nodelist "host_name_node_1,host_name_node_2" -nodevips "host_name_node_1/host_name_node_1-vip/255.255.255.0/Public,host_name_node_2/host_name_node_2-vip/255.255.255.0/Public";
    rem vipca
    rem check the state of the crs services (inscription)
    crs_stat -t
    rem now make the registration of the listener in the cluster.
    rem important don't use the prompt command below, it will give you a crs-0223 error at the startup service
    Rem to solve this problem use netca on line
    rem crs_register ora.host_name_node_1.LISTENER_host_name_node_1.lsnr -dir D:\Oracle\Ora10g\crs\crs\profile
    rem crs_register ora.host_name_node_2.LISTENER_host_name_node_2.lsnr -dir D:\Oracle\Ora10g\crs\crs\profile
    rem srvctl start nodeapps -n host_name_node_1
    ren srvctl start nodeapps -n host_name_node_2
    netca
    rem check the state of the crs services (inscription)
    crs_stat -t
    rem start oracle object service and cluster volume before registering and accessing to asm services
    sc \\host_name_node_1 start ”Oracle Object Service”
    sc \\host_name_node_1 start OracleClusterVolumeService
    sc \\host_name_node_2 start ”Oracle Object Service”
    sc \\host_name_node_2 start OracleClusterVolumeService
    rem go the the rdbms directory to make the registration of asm and the database
    set ORACLE_HOME=D:\Oracle\Ora10g\rdbms
    rem add the service asm in the cluster in my case asm1 and asm2 for my 2 nodes
    srvctl add asm -n host_name_node_1 -i +ASM1 -o %ORACLE_HOME%
    srvctl add asm -n host_name_node_2 -i +ASM2 -o %ORACLE_HOME%
    rem start the asm service on each node
    srvctl start asm -n host_name_node_1
    srvctl start asm -n host_name_node_2
    rem check the state of the crs services (inscription)
    crs_stat -t
    rem go to the bin directory of rdbms directory to make the registration of the database
    cd /D D:\Logiciels\Oracle\Ora10g\rdbms/bin
    rem register the database (in my case labotary lab) and the to database service (lab1 and lab2) of each node
    srvctl add database -d lab -o %ORACLE_HOME%
    srvctl add instance -d lab -i lab1 -n host_name_node_1
    srvctl add instance -d lab -i lab2 -n host_name_node_2
    rem finally start the database
    srvctl start database -d lab
    rem go to directory of the cluster binary crs\bin
    rem all the services
    cd /D D:\Logiciels\Oracle\Ora10g\crs/bin
    rem you can go in the database with sqlplus and check all your components
    crs_stat -t
    I hope this will help someone who are in the same situation
    Edited by: ron_berube on 2008-12-12 09:21
    Edited by: ron_berube on 2008-12-12 10:08
    Edited by: ron_berube on 2008-12-13 08:25
    Edited by: ron_berube on 2008-12-18 10:49

  • Help required to attach CO-PA reports to Report Tree.

    HI experts,
    Me and my functional are in urgent need of important information. My functional has generate CO-PA reports and now they have asked us to attach those reports to a report tree. My problem is that I have got the transaction SERP which seems useful in attaching the reports the tree. Kindly suggest what is to be done.
    Points will be rewarded.
    Thanks and Regards,
    Saurabh Chhatre

    Hi,
    Check the following links:
    http://www.sap-img.com/abap/tree-type-report-in-abap.htm
    http://www.sap-img.com/ge002.htm
    Regards,
    Bhaskar

  • How to add a report to HR Report tree

    Hello Friends,
                         I need to add a report to HR Report tree.
    Guide me how to do it.
    Cheers
    Senthil

    Use transaction SE43 and SE43N.
    Check this threads
    How to add a report into the tree??
    Adding report/program to Report Tree
    Manoj.

  • Is a Public/Private Key Pair possible in SAP?

    I have a web service that I would like to run as part of a nightly script. I currently use username/password authentication, but it is not acceptable to have them hard coded, due to Sarbanes-Oxley rules. SAP's site claims to support authentication with x.509 certificates, but is unclear on the implementation details. How could I go about setting up and using a public/private key pair in SAP?

    Not really a portal question, and maybe you'll get a better result in a security forum...
    However, briefly, yes, the AS Java supports X509 certificates as an authentication mechansm. You need to use Visual Admin to generate a server side certificate, then you need the client side to register its own X509 certificate and then in the Java user admin you need to associate the client certificate with a known user. Now when the client executes the web service call it can pass the certificate and the AS Java will back translate the certificate to a real username.

Maybe you are looking for

  • How do I save as a .mp4 file?

    how do you save your edited video as a .mp4?

  • G5 iSight issue

    Please read this. http://macteens.com/forums/index.php?showtopic=9368&st=0 This is about my mac, to take or not to take in for service? Can I fix this on my own?

  • Firefox cannot load administrator of websites

    Firefox cannot load administrator of websites. I get a empty page Firefox load the website but not the administrator. None of the websites administrator

  • Problem with an Interface....

    We have configured, and reconfigured and inteface on one of our Solaris 9, Netra 240 servers. We are having problems with bge0. It does not want to come to the state of RUNNING. ifconfig shows us: bge0: flags=1000803<UP,BROADCAST,MULTICAST,IPv4> mtu

  • Hp pen drive recovery

    zdszd