More than one reference characteristics Exception Aggregation

Hi All,
Is it possible to use more than one reference characteristics in reports for Exception Aggregation?
Thanks In Advance

Hi PPMM,
Did you resolve this issue?
Thanks,
Pam

Similar Messages

  • How to select more than one free characteristics in web report?

    Hi,
    From the performance point of view, I want to select more than one free characteristics to be displayed in WEB report.
    I know in BEx Analyzer, we can do this by right mouse click and choose' query property' from the context menu, all the free characteristics are displayed in the popup window. But in WEB report these free char don't displayed in the 'query property' popup window.
    Could anyone tell me how to implement this in WEB report?
    Eileen

    Hi,
    each free characteristics in the list has two functions beside it, 'drilldown in rows' and 'drilldown in columns', but this functions as select only one free characteristics, each time you select one, the report will be loaded again.
    if I want to select like 10 free characteristics, the report will be refreshed and reloaded 10 times.
    my question is that how can I select these 10 free characteristics once to improve the performance.
    your help will be appreciated. Thanks.
    Eileen

  • How can I reference more than one jar file

    hi, In an applet, I use
    Archive = "foo.jar" to reference this jar file.
    But how can I reference more than one file?
    Thanks.

    Suggestion: spend a few minutes reading the tutorials.
    http://java.sun.com/docs/books/tutorial/applet/appletsonly/html.html
    You can specify multiple archive files by separating them with commas:
    <APPLET CODE="myapplet.class" ARCHIVE="file1, file2"     WIDTH=anInt HEIGHT=anInt>
    </APPLET>

  • Can't SSAS engines make use of more than one aggregation to answer a query?!

    I have a very simple cube (just for testing and training) . This cube contains two dimensions: [Dim Soccer Player] contains one attribute hierarchy [player name], the other dimension
    is [Dim Match Acts] contains also one attribute [Acts] which has values like fouls, goals, saves, tackles… etc. And of course a Fact that contains one measure of Just Count ... that simple ... so this cube can
    answers a question like how many goals scored by "Messi", for example ... a very simple trivial cube.
    I'm testing aggregations and their effect. so first I've designed one aggregation (Aggregation 0) on the granularity level of [Player name], then
    I run a query to get the count of ALL the[Acts] done by each [Player name] ... I've checked the SQL Profiler and I found that the aggregation was used.
    Then I cleared the cache, and I run another query, but this time to get just the number of Fouls committed by each [Player name], I checked the Profiler but the Aggregation 0 was NOT used.
    I went back to the aggregations design tab in BIDS, and I added another new aggregation (Aggregation 1) on the level of [Acts], so now I have two aggregation one on the granularity level of
    [Player name] and the second on the level of the [Acts].... I cleared the cache again and rerun the last query. NONE of the aggregation was used!
    In the third test I deleted Aggregation 1 and added [Acts] to Aggregation 0. so Aggregation 0 now on both [Player name] AND [Acts]... cleared the cache and rerun the last query. Aggregation
    0 appeared again.
    I just want to make sure (and if possible know why) the SSAS engine can't make use of and combine more than one aggregation to serve a query (point number 2), and that to design an aggregation
    that will serve a query which contains attributes from different dimensions, I have to add ALL the attributes in that query in that one aggregation, like point 3 ... is this true?!

    I think you are on the right track. You need to include all the attributes used in one query in the same aggregation (like #3) for it to be used. Example #2 works as I would expect. Queries above the grain of the agg (query by player name and an agg by
    player/act can be used) can be used. Queries below grain of the agg (example #2) can't use the agg.
    http://artisconsulting.com/Blogs/GregGalloway

  • Activate more than one Aggregation Level

    Hello experts,
    We use the Integrated Planning and we have more than 80 Aggregation Levels. When the MultiProvider is deactived because of adding a new InfoObject, all our Aggregation Levels are deactivated.
    Is there a possibility to activate more than one Aggregation Level at once? Maybe a special report?
    Thank you.

    Hi,
    please check:
    [Re: Activate all the Aggregation level of underlying multi provider]
    Gregor wrote a small program and posted it to the forum. Please note: There is no support for this tool.
    Bye Matthias

  • Exception MDSLockedSessionManager already registered. Can't register more than one.

    I've migrated my application from 11.1.2.1 to 12.1.2 using JDev 12c.
    I can deploy it to my standalone weblogic  without problem.
    But when I access it I get exception:
    java.lang.Exception: MDSLockedSessionManager already registered. Can't register more than one.
            at oracle.adf.share.mds.MDSTransManager.registerMDSLockedSessionManagerInst(MDSTransManager.java:131)
            at oracle.adf.share.mds.MDSTransManager.registerMDSLockedSessionManager(MDSTransManager.java:123)
    The stack trace starts in my custom filter:
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {
                chain.doFilter(request, response);
    What do I wrong?
    Thanks,
    Lukas

    Check all meta data in any descriptors. I bet there is a duplicate entry in one of them (e.g. weblogic-application.xml)...
    Timo

  • What is the exception for finding more than one row?

    What is the exception if you do a select and get more than one row? no_data_found is the exception for not finding any, what is the exception for finding "too much". Thx

    Funnily enough there is a complete list of predefined exceptions in the documentation .
    Cheers, APC

  • More than one throws exception

    Please I have a doubt...and I cant find in my directories the documentation that I had installed!!!
    So the doubt is: how can I throw more than one exception...what is the syntax?!

    You can't throw more than one exception, the 'throw' keyword only takes one Throwable. If you mean, how do you declare a method as throwing more than one exception, the exceptions are comma seperated.
       public void foo () throws OneException, TwoException, ThreeException
           }

  • Hotspot on more than one fields in ALV Report

    I want to add Hotspot on more than one field in ALV,
      one field is Vbeln , one is BSTNK, one is matnr and so on.
    i have used form user_command.and have written coding for Vbeln (on vbeln i am showing transaction VA02)
    i want to pass an eror mesaage when user clicks on bstnk or matnr.
    Thanks

    Hi Lovleen,
    *Global definitions  *
    Data Types
    type-pools: slis.
    types: begin of tp_data,
    ebeln like ekko-ebeln,
    *matnr like ekko-matnr,
    *meins like ekko-meins,
    lifnr like lfa1-lifnr,
    chk1,
           end of tp_data,
           tp_tbl_data type standard table of tp_data.
    Constants
    Data objects (variable declarations and definitions)
    Report data to be shown.
    data: it_data type standard table of tp_data.
    Heading of the report.
    data: t_heading type slis_t_listheader.
    ======================= Selection Screen ==========================
    selection-screen: begin of block b1 with frame title text-t01.
    DATA: w_aux_ebeln like ekko-ebeln.
    SELECT-OPTIONS s_ebeln for w_aux_ebeln
    DEFAULT 1000 .
    DATA: w_aux_lifnr like lfa1-lifnr.
    SELECT-OPTIONS s_lifnr for w_aux_lifnr
    DEFAULT 00000001000 .
    selection-screen: end of block b1.
    ======================== Event Blocks =============================
    at selection-screen.
    start-of-selection.
      perform get_data using it_data.
    end-of-selection.
      perform build_alv using it_data t_heading.
    ======================== Subroutines ==============================
    *&      Form  get_data
          Gets the information to be shown in the report.
    form get_data using t_data type tp_tbl_data.
    SELECT e~ebeln
    *e~matnr
    *e~meins
    l~lifnr
    INTO CORRESPONDING FIELDS OF TABLE t_data
    FROM ekko as e
    inner join lfa1 as l on elifnr = llifnr
    WHERE e~ebeln in s_ebeln
    AND l~lifnr in s_lifnr
    endform.                    " get_data
    *&      Form  build_alv
          Builds and display the ALV Grid.
    form build_alv using t_data type tp_tbl_data
                         t_heading  type slis_t_listheader.
    ALV required data objects.
    data: w_title   type lvc_title,
          w_repid   type syrepid,
          w_comm    type slis_formname,
          w_status  type slis_formname,
          x_layout  type slis_layout_alv,
          t_event    type slis_t_event,
          t_fieldcat type slis_t_fieldcat_alv,
          t_sort     type slis_t_sortinfo_alv.
    refresh t_fieldcat.
    refresh t_event.
    refresh t_sort.
    clear x_layout.
    clear w_title.
    Field Catalog
      perform set_fieldcat2 using:
    1 'CHK1' 'XFELD' space space space 'Select' 'Select this row' 'Sel'
    'Select this row' space space space 'X' 'X' space t_fieldcat,
    2 'EBELN' 'EBELN' 'EKKO' space space  space  space  space  space space
    space space space space space t_fieldcat ,
    3 'MATNR' 'MATNR' 'EKKO' space space  space  space  space  space space
    space space space space space t_fieldcat ,
    4 'MEINS' 'MEINS' 'EKKO' space space  space  space  space  space space
    space space space space space t_fieldcat ,
    5 'LIFNR' 'LIFNR' 'LFA1' space space  space  space  space  space space
    space space space space space t_fieldcat .
    Layout
    x_layout-zebra = 'X'.
    Top of page heading
      perform set_top_page_heading using t_heading t_event.
    Events
      perform set_events using t_event.
    GUI Status
      w_status = ''.
      w_repid = sy-repid.
    Title
    w_title = <<If you want to set a title for
                the ALV, please, uncomment and edit this line>>.
    User commands
      w_comm   = 'USER_COMMAND'.
    Order
    Example
    PERFORM set_order USING '<field>' 'IT_DATA' 'X' space space t_sort.
    Displays the ALV grid
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       = w_repid
          it_fieldcat              = t_fieldcat
          is_layout                = x_layout
          it_sort                  = t_sort
          i_callback_pf_status_set = w_status
          i_callback_user_command  = w_comm
          i_save                   = 'X'
          it_events                = t_event
          i_grid_title             = w_title
        tables
          t_outtab                 = t_data
        exceptions
          program_error            = 1
          others                   = 2.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    endform.                    " build_alv.
    *&      Form  set_top_page_heading
          Creates the report headings.
    form set_top_page_heading using t_heading type slis_t_listheader
                                    t_events  type slis_t_event.
    data: x_heading type slis_listheader,
          x_event   type line of slis_t_event.
    Report title
      clear t_heading[].
      clear x_heading.
      x_heading-typ = 'H'.
      x_heading-info = ''(001).
      append x_heading to t_heading.
    Program name
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Program: '.
      x_heading-info = sy-repid.
      append x_heading to t_heading.
    User who is running the report
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'User: '.
      x_heading-info = sy-uname.
      append x_heading to t_heading.
    Date of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Date: '.
      write sy-datum to x_heading-info.
      append x_heading to t_heading.
    Time of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Time: '.
      write sy-uzeit to x_heading-info.
      append x_heading to t_heading.
    Top of page event
      x_event-name = slis_ev_top_of_page.
      x_event-form = 'TOP_OF_PAGE'.
      append x_event to t_events.
    endform.
    *&      Form  set_events
          Sets the events for ALV.
          The TOP_OF_PAGE event is alredy being registered in
          the set_top_page_heading subroutine.
    form set_events using t_events type slis_t_event.
    data: x_event   type line of slis_t_event.
    Example
    clear x_event.
    x_event-name = .
    x_event-form = .
    append x_event to t_event.
    endform.
    *&      Form  set_order
          Adds an entry to the order table.
    FORM set_order USING p_fieldname p_tabname p_up p_down p_subtot
                         t_sort TYPE slis_t_sortinfo_alv.
      DATA: x_sort TYPE slis_sortinfo_alv.
      CLEAR x_sort.
      x_sort-fieldname = p_fieldname.
      x_sort-tabname   = p_tabname.
      x_sort-up = p_up.
      x_sort-down = p_down.
      x_sort-subtot = p_subtot.
      APPEND x_sort TO t_sort.
    ENDFORM.                    "set_order
    *&      Form  set_fieldcat2
          Adds an entry to the field catalog.
       p_colpos: Column position.
       p_fieldname: Field of internal table which is being described by
    *            this record of the field catalog.
       p_ref_fieldname: (Optional) Table field / data element which
    *                describes the properties of the field.
    *                If this field is not given, it is copied from
    *                the fieldname.
       p_ref_tabname: (Optional) Table which holds the field referenced
    *              by <<p_ref_fieldname>>.
                      If this is not given, the parameter
                      <<p_ref_fieldname>> references a data element.
       p_outputlen: (Optional) Column width.
       p_noout: (Optional) If set to 'X', states that the field is not
    *           showed initially. If so, the field has to be
                included in the report at runtime using the display
                options.
       p_seltext_m: (Optional) Medium label to be used as column header.
       p_seltext_l: (Optional) Long label to be used as column header.
       p_seltext_s: (Optional) Small label to be used as column header.
       p_reptext_ddic: (Optional) Extra small (heading) label to be
    *                used as column header.
       p_ddictxt: (Optional) Set to 'L', 'M', 'S' or 'R' to select
                  whether to use SELTEXT_L, SELTEXT_M, SELTEXT_S,
                  or REPTEXT_DDIC as text for column header.
       p_hotspot: (Optional) If set to 'X', this field will be used
    *             as a hotspot area for cursor, alolowing the user
    *          to click on the field.
       p_showasicon: (Optional) If set to 'X', this field will be shown
                     as an icon and the contents of the field will set
    *             which icon to show.
       p_checkbox: (Optional) If set to 'X', this field will be shown
                   as a checkbox.
       p_edit: (Optional) If set to 'X', this field will be editable.
       p_dosum: (Optional) If set to 'X', this field will be summed
                (aggregation function) according to the grouping set
                by the order functions.
       t_fieldcat: Table which contains the whole fieldcat.
    FORM set_fieldcat2 USING
          p_colpos p_fieldname p_ref_fieldname p_ref_tabname
          p_outputlen p_noout
          p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
          p_hotspot p_showasicon p_checkbox p_edit
          p_dosum
          t_fieldcat TYPE slis_t_fieldcat_alv.
      DATA: wa_fieldcat TYPE slis_fieldcat_alv.
      CLEAR wa_fieldcat.
    General settings
      wa_fieldcat-fieldname = p_fieldname.
      wa_fieldcat-col_pos = p_colpos.
      wa_fieldcat-no_out = p_noout.
      wa_fieldcat-hotspot = p_hotspot.
      wa_fieldcat-checkbox = p_checkbox.
      wa_fieldcat-icon = p_showasicon.
      wa_fieldcat-do_sum = p_dosum.
    Set reference fieldname, tablenam and rollname.
    If p_ref_tabname is not given, the ref_fieldname given
       is a data element.
    If p_ref_tabname is given, the ref_fieldname given is a
       field of a table.
    In case ref_fieldname is not given,
       it is copied from the fieldname.
      IF p_ref_tabname IS INITIAL.
        wa_fieldcat-rollname =   p_ref_fieldname.
      ELSE.
        wa_fieldcat-ref_tabname = p_ref_tabname.
        IF p_ref_fieldname EQ space.
          wa_fieldcat-ref_fieldname =   wa_fieldcat-fieldname.
        ELSE.
          wa_fieldcat-ref_fieldname =   p_ref_fieldname.
        ENDIF.
      ENDIF.
    Set output length.
      IF NOT p_outputlen IS INITIAL.
        wa_fieldcat-outputlen = p_outputlen.
      ENDIF.
    Set text headers.
      IF NOT p_seltext_m IS INITIAL.
        wa_fieldcat-seltext_m = p_seltext_m.
      ENDIF.
      IF NOT p_seltext_l IS INITIAL.
        wa_fieldcat-seltext_l = p_seltext_l.
      ENDIF.
      IF NOT p_seltext_s IS INITIAL.
        wa_fieldcat-seltext_s = p_seltext_s.
      ENDIF.
      IF NOT p_reptext_ddic IS INITIAL.
        wa_fieldcat-reptext_ddic = p_reptext_ddic.
      ENDIF.
      IF NOT p_ddictxt IS INITIAL.
        wa_fieldcat-ddictxt = p_ddictxt.
      ENDIF.
    Set as editable or not.
      IF NOT p_edit IS INITIAL.
        wa_fieldcat-input     = 'X'.
        wa_fieldcat-edit     = 'X'.
      ENDIF.
      APPEND wa_fieldcat TO t_fieldcat.
    ENDFORM.                   "set_fieldcat2
    ======================== Subroutines called by ALV ================
    *&      Form  top_of_page
          Called on top_of_page ALV event.
          Prints the heading.
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
        i_logo             = <<If you want to set a logo, please,
                             uncomment and edit this line>>
          it_list_commentary = t_heading.
    endform.                    " alv_top_of_page
    *&      Form  user_command
          Called on user_command ALV event.
          Executes custom commands.
    form user_command using r_ucomm     like sy-ucomm
                            rs_selfield type slis_selfield.
    Example Code
    Executes a command considering the sy-ucomm.
    CASE r_ucomm.
       WHEN '&IC1'.
         Set your "double click action" response here.
         Example code: Create and display a status message.
         DATA: w_msg TYPE string,
               w_row(4) TYPE n.
         w_row = rs_selfield-tabindex.
         CONCATENATE 'You have clicked row' w_row
                     'field' rs_selfield-fieldname
                     'with value' rs_selfield-value
                     INTO w_msg SEPARATED BY space.
         MESSAGE w_msg TYPE 'S'.
    ENDCASE.
    End of example code.
    endform.                    "user_command
    Reward Points if useful.
    Regards,
    Manoj Kumar

  • Upgraded to iOS 6 and now I can't open anything in the kindle app? I have to say that I have had my ipad3 for 6 months and intensely dislike the problems with using it. Also is there any way of opening more than one screen as it is hopeless otherwise?

    I Have had my iPad for 6 months as I cannot access my work emails using windows. I have to say that it is the most unhelpful device I have ever used and although it looks like there isn't an answer for some of the questions I have asked below, I thought I would try!
    1) I have upgraded to ios6 and the kindle app will open but crashes and disappears when I try to access a book?
    2) is there any way I can open more than one page at a time, as opening one at a time is hopeless?
    3) Is there any way you can replicate the right click function on word? As pasting and copying on the iPad is irritating to say the least!
    4) why can't my Samsung 11 phone connect to my iPad via Bluetooth? A they can't seem to 'see' each other? I may have turned a setting off when I was recently abroad and didn't want huge roaming charges.
    5) Why do the submit buttons on some websites not work and how can I get them to? I never have a problem with windows, but it is often a problem with the iPad.
    6) I have several websites which I have built and usually upgrade on the windows desktop, usually through Internet explorer, but I can't access the sites properly on the iPad (I can see them but can't alter them) and when sending emails through the websites they won't show the page and I can't navigate the page (the size of the email page is bigger than the iPad screen, but I can't either shrink the page to size or move the page around as you normally would on the pad, any ideas?
    7) finally, when roaming abroad recently, I had no problems using the wifi, but when trying to use the cellular data (using the roaming function) I could not get it to work? The ipad seemed to be connected to the network with no problems, but wouldn't actually update the emails? I tried turning it on and off, but that didn't make a difference. My kindle and mobile phone (both also on 3G ) worked great, it was just (as usual) the ipad playing up.
    8) when wanting to alter part of a sentence, I can't always get the cursor in the right place? Sometimes it is simple the wrong line, but often it will only go at the end or start of a word and not where I want it. Is there any way of making it more exact? Again I never have a problem with moving the cursor on windows, either by mouse or on the touch screen function on windows 7. Any ideas? As after pressing the screen multiple times I just want to throw it out of the window!
    IT might just be that I don't have the correct settings (I am a technophobe) but I absolutely hate the iPad and only have it for work emails, it is so annoying that I can get my mobile phone and kindle3g to work fine, but always have problems with the iPad. I am sure it could be good (and for reading emails on the go in the uk it is great, as I like the key board) but it just seems to make everything else difficult.
    i Hope you can help and sorry for asking questions others have, but I am just hoping that something new might have been developed!
    thanks,
    K
    Message was edited by: K Paton

    1) I have upgraded to ios6 and the kindle app will open but crashes and disappears when I try to access a book?
    Try rebooting your iPad, that should fix he issue. I that doesn't work, delete the app and re-download it.  The Kindle books should all be in he Kindle cloud services and you can get them again. I have an iPad2 w/ Kindle app and it works just fine - no issues.
    2) is there any way I can open more than one page at a time, as opening one at a time is hopeless?
    Page as in a kindle book way? turn iPad to landscape position from portrait position. If, however, you mean open more than one application at a time, then no. And not hopeless, as it takes a bit of time to get used to, going from a desktop/laptop format to tablet format.
    3) Is there any way you can replicate the right click function on word? As pasting and copying on the iPad is irritating to say the least!
    It's actually fairly easy. Press down on the word, then you can expand by drawing your finger to cover word/sentence/paragraph/page, hit select or select all then it gives you the option to cut, copy, paste, define. If you want to use a word processing app on the iPad, Pages is a good application.
    4) why can't my Samsung 11 phone connect to my iPad via Bluetooth? A they can't seem to 'see' each other? I may have turned a setting off when I was recently abroad and didn't want huge roaming charges.
    It's the connection on your phone. Samsung Galaxy SII? Android software?  What you have to do is go to the phone's settings and connect via wireless, not Bluetooth. Go to System Settings (on phone) and under Wireless and Networks click 'more' and go to the Tethering and Portable Hotspot option. Set up your mobile wifi hotspot,  name it though it will probably come up with 'AndroidAP', choose a WPA2 security level and put in a password. Go back to previous screen and turn on 'Portable Wi-Fi Hotspot' box. Then on your iPad in the Settings - Wi-Fi section, it should then recognize your phone for tethering. If it's a Windows Phone 7,  I don't know the layout of that software, but presumeably similar.
    5) Why do the submit buttons on some websites not work and how can I get them to? I never have a problem with windows, but it is often a problem with the iPad.
    Sometimes the issue is with the website design, not all websites are optimized for mobile devices - not just iPad but also Android devices. It happens. They're getting there, but occasionally the page might need a refresh.
    6) I have several websites which I have built and usually upgrade on the windows desktop, usually through Internet explorer, but I can't access the sites properly on the iPad (I can see them but can't alter them) and when sending emails through the websites they won't show the page and I can't navigate the page (the size of the email page is bigger than the iPad screen, but I can't either shrink the page to size or move the page around as you normally would on the pad, any ideas?
    It depends on what you use to build the websites on the computer. Recommend a free program on the computer called CoffeeCup Free HTML Editor. I don't recommend using IE period; Firefox or Chrome are my choices on Windows machines. I have two websites that I manage, both using this program. I'm assuming that when you mean you can't access the sites on the iPad you mean to update them? Ostensible there are apps to let you do this. What format are the sites? Without seeing what exactly you mean and what you want to do, it's hard to explain.
    As for seeing full page while emailing within a site, turn iPad to portrait mode, and try to finger-pinch touch the screen to see if that will bring the fuller page  into view. Other option is opening a second tab with same website and just go between tabs to reference material.
    7) finally, when roaming abroad recently, I had no problems using the wifi, but when trying to use the cellular data (using the roaming function) I could not get it to work? The ipad seemed to be connected to the network with no problems, but wouldn't actually update the emails? I tried turning it on and off, but that didn't make a difference. My kindle and mobile phone (both also on 3G ) worked great, it was just (as usual) the ipad playing up.
    If you were outside the US or Canada, my guess is the problem lies within the SIM card in your iPad. If you were outside North America, there are different band levels - I'm guessing you have a SIM thats locked to a particular provider. Band level frequencies differ per country/continent, so a SIM card that will work in Canada/US will not likely work in UK/Europe/Asia/Australia, etc. you will be able to get your emails again when back on a wifi network. Mobile phone may have a different type SIM card (GSM/HSPA) from your iPad SIM. Also, check your email settings.
    8) when wanting to alter part of a sentence, I can't always get the cursor in the right place? Sometimes it is simple the wrong line, but often it will only go at the end or start of a word and not where I want it. Is there any way of making it more exact? Again I never have a problem with moving the cursor on windows, either by mouse or on the touch screen function on windows 7. Any ideas? As after pressing the screen multiple times I just want to throw it out of the window!
    Moving the cursor on a sentence is a matter of putting your finger on the screen where you want it. It's exceptionally easy to do. I'm using the Notes app to write this whole segment and I just need to put my finger where I want to change things and presto it's ready for me to change where I want it.
    Here's a solution: sell your iPad (after you wipe your data off it) to someone who will appreciate it, and put your money towards the Windows Surface Tablet out later this year/early next year, where you can (reportedly) connect a mouse to it. It will have some of the Windows 7/8 functionality that you're more familiar with, or get a netbook.
    - Ceridwyn2

  • Using a ommand to generate more than one row of data in utl file

    Hi Guys
    This might be a pretty long one. But I require help with regards to using outer and inner loops within my code.
    Here is the task:
    Each account involved with the DCA Allocation has an entry in the DCAACCOUNTALLOCATION table to track its progress. The STATUS value of the entry shows the position of the account in the DCA Allocation process.
    The status entry being tested is 3.
    Below is the code:
    create or replace
    PROCEDURE DCA_BMW_OUT
    IS
    -- Declare all variables as reference
    v_out_file UTL_FILE.FILE_TYPE;
    v_row_Count NUMBER;
    r_bmw NUMBER;
    v_out_directory all_directories.directory_path%type;
    v_out_filehandle UTL_FILE.FILE_TYPE := NULL;
    v_out_buffer varchar2 (32767);
    v_records NUMBER;
    body_output varchar2(32759 BYTE);
    dictionary_guarantorsexist varchar2 (1 Char);
    -- Text required within this part of the procedure
    v_body varchar2(32767 BYTE);
    v_header VARCHAR2(32759 BYTE);
    BEGIN
    FOR r_bmw IN
    ( SELECT *
    FROM dcaadditionaldata
    WHERE directory_name IS NOT NULL
    ) LOOP
    BEGIN
    -- Output file to be added into the directory specified
    v_out_file := utl_file.fopen (r_bmw.directory_name, 'DCAExport_1_' || TRIM(TO_CHAR(SYSDATE,'DDMMYYYY_HH24MISS')) || '.txt', 'W');
    -- The Header data which will be outputted to the file
    v_header := 'KennzeichenBrgschaftsforderungGesamtforderung|Währung|Übergabedatum|DifferenzierungAnwalts-oderInkassofall|MainMarktpartnernummer|
    MainAnrede|MainTitel|MainName|MainVorname|MainStraße|MainHausnummer|MainPLZ|MainOrt|MainLand|MainGeburtsdatum|MainTelefonnr.Schuldner|G1Marktpartnernummer
    G1Anrede      G1Titel      G1Name      G1Vorname      G1Straße      G1Hausnummer      G1PLZ      G1Ort      G1Land      G1Geburtsdatum      G1Telefonnr.Schuldner      G2Marktpartnernummer      G2Anrede      G2Titel
    G2Name|G2Vorname|G2Straße|G2Hausnummer|G2PLZ|G2Ort|G2Land|G2Geburtsdatum|G2Telefonnr.Schuldner|G3Marktpartnernummer|G3Anrede|G3Titel|G3Name|G3Vorname|
    G3Straße|G3Hausnummer|G3PLZ|G3Ort|G3Land|G3Geburtsdatum|G3Telefonnr.Schuldner|G4Marktpartnernummer|G4Anrede|G4Titel|G4Name|G4Vorname|G4Straße|G4Hausnummer|
    G4PLZ|G4Ort|G4Land|G4Geburtsdatum|G4Telefonnr Schuldner|G5Marktpartnernummer|G5Anrede|G5Titel|G5Name|G5Vorname|G5Straße|G5Hausnummer|G5PLZ|G5Ort|G5Land|
    G5Geburtsdatum|G5Telefonnr.Schuldner|Kundennr.|Bestandsnr.|Finanzierungsnr.|KennzeichenFinanzierung/Leasing|Kennzeichenprivat/gewerblich|
    reguläresVertragsende|Laufzeit|Vertragsdatum|Vertragsstatus|Ratenbetrag|Filiale/Gebiet|Finanzierungstyp|BankverbindungKonto|BankverbindungBLZ|
    RSVKennzeichen|Kündigungsdatum|Modell|Fahrgestellnummer|KFZKennzeichen|KFZZulassungsdatum|CoD1Marktpartnernummer|CoD1Anrede|CoD1Titel|CoD1Name|
    CoD1Vorname|CoD1Straße|CoD1Hausnummer|CoD1PLZ|CoD1Ort|CoD1Land|CoD1Geburtsdatum|CoD1Telefonnr.Schuldner|CoD2Marktpartnernummer|CoD2Anrede|CoD2Titel|
    CoD2Name|CoD2Vorname|CoD2Straße|CoD2Hausnummer|CoD2PLZ|CoD2Ort|CoD2Land|CoD2Geburtsdatum|CoD2Telefonnr.Schuldner|CoD3Marktpartnernummer|CoD3Anrede|
    CoD3Titel|CoD3Name|CoD3Vorname|CoD3Straße|CoD3Hausnummer|CoD3PLZ|CoD3Ort|CoD3Land|CoD3Geburtsdatum|CoD3Telefonnr.Schuldner|CoD4Marktpartnernummer|
    CoD4Anrede|CoD4Titel|CoD4Name|CoD4Vorname|CoD4Straße|CoD4Hausnummer|CoD4PLZ|CoD4Ort|CoD4Land|CoD4Geburtsdatum|CoD4Telefonnr.Schuldner|
    CoD5Marktpartnernummer|CoD5Anrede|CoD5Titel|CoD5Name|CoD5Vorname|CoD5Straße|CoD5Hausnummer|CoD5PLZ|CoD5Ort|CoD5Land|CoD5Geburtsdatum|
    CoD5Telefonnr.Schuldner Y|Y|5830,99|EUR|20/08/2009|DCA|4|123456|Herr||Mueller|Rainer|Messigasse|33|84432|Filz|Deutschland|01/07/1957|08912345|234567|Frau|Dr|Mueller|Rita|Messigasse|33|84432|Filz|Deutschland|13/12/1955|08912345|||||||||||||||||||||||||||||||||||||||||||||||||76543|5000234567||Lease|Privat|12/12/2013|60|12/12/2008||250,50|US|Rate|1234567890|32343450|N||BMW 320 i|W34567890PA34567|M-H-3456|09/12/2008||||||||||||||||||||||||
    N|450,80|EUR|20/08/2009|DCA|4|987654|Frau||Meier|Heide|Beinstr.|44|86353|Laus|Deutschland|03/06/1949|08987654|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||87654||8765675585|Loan|Gewerblich|14/03/2012|72|14/03/2006||500,01|DF|Select|976579657|32343450|N||BMW 500 sl|W94567890PA34568|M-H-3457|10/03/2006|34343434|Herr|Dipl|Meier|Rudolf|Heislestr.|69|85433|Maus|Deutschland|28/05/1945|08934567|234567|Frau|Dr|Mueller|Rita|Messigasse|33|84432|Filz|Deutschland|13/12/1955|08912345
    Y|33970,50|EUR|20/08/2009|Lawyer|4|64646464|Frau||Schmidt|Susanne|Hueftgasse|55|89363|Maus|Deutschland|23/08/1933|08934567|34343434|Herr|Dipl|Meier|Rudolf|Heislestr.|69|85433|Maus|Deutschland|28/05/1945|08934567|234567|Frau|Dr|Mueller|Rita|Messigasse|33|84432|Filz|Deutschland|13/12/1955|08912345|||||||||||||||||||||||||||||||||||||98757|5000785675||Lease|Privat|11/11/2009|48|11/11/2005||380,70|GH|Zielrate|234567899|32343450|Y||BMW 380 s|W54567890PA34569|M-H-3458|07/11/2005||||||||||||||||||||||||
    N|10040,20|EUR|20/08/2009|Lawyer|4|4865465|Herr||Schulz|Karl|Nasenweg|77|83354|Schuh|Deutschland|18/01/1965|08972545|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||46789|50004765787||Lease|Privat|16/09/2012|60|16/09/2007||1234,56|OS|ZUS|98765432|32343450|Y||BMW 280 i|W74567890PA34570|M-H-3459|12/09/2007||||||||||||||||||||||||';
    utl_file.PUT_LINE(v_out_file,v_header,TRUE);
    -- Below will output a row of data which satisfy the requirements.
    FOR body_output IN
    ( SELECT
    AccountDetails.CUSTOMERNUMBER, AccountDetails.ACCOUNTNUMBER, CUSTOMERDETAILS.CDTITLE, CUSTOMERDETAILS.CDFIRSTNAME, CUSTOMERDETAILS.CDLASTNAME, AccountDetails.ACCOUNTTYPE,
    AccountDetails.ORIGINALCONTRACTENDDATE, AccountDetails.CONTRACTTERM, AccountDetails.CONTRACTENDDATE, AccountDetails.BRANCHAREA, AccountDetails.PRODUCTTYPE,
    AccountDetails.HOUSEBANKACCOUNT, AccountDetails.CARMODEL, AccountDetails.CARLICENCE, AccountDetails.ARREARSBALANCE, AccountDetails.CODEBTOR, AccountDetails.GUARANTORNUMBER
    FROM AccountDetails
    JOIN CUSTOMERDETAILS ON AccountDetails.CUSTOMERNUMBER = CUSTOMERDETAILS.CUSTOMERS1
    WHERE EXISTS
    ( SELECT *
    FROM Dcaaccountallocation
    JOIN DebtEpisodes ON DebtEpisodes.ACCOUNTID = Dcaaccountallocation.ACCOUNTID
    WHERE Dcaaccountallocation.dcaid = 41
    AND Dcaaccountallocation.status = 3
    AND DebtEpisodes.DCASentDate IS NULL
    AND Dcaaccountallocation.ACCOUNTID = AccountDetails.ACCOUNTNUMBER
    AND DebtEpisodes.DCAORLAWYER = 'DCA'
    LOOP
    UTL_FILE.PUT_LINE (v_out_file,
    body_output.CUSTOMERNUMBER|| '|' || body_output.ACCOUNTNUMBER|| '|' ||body_output.CDTITLE|| '||' ||body_output.CDFIRSTNAME || '|||||' ||
    body_output.CDLASTNAME|| '||||' || body_output.ACCOUNTTYPE|| '|' ||body_output.ORIGINALCONTRACTENDDATE|| '||||' ||body_output.CONTRACTTERM || '|||||' ||
    body_output.CONTRACTENDDATE|| '|' || body_output.BRANCHAREA|| '||' ||body_output.PRODUCTTYPE|| '||' ||
    body_output.HOUSEBANKACCOUNT|| '|||' || body_output.CARMODEL|| '||||' ||body_output.CARLICENCE|| '|' ||
    body_output.ARREARSBALANCE|| '||||' || body_output.CODEBTOR|| '|' ||body_output.GUARANTORnumber);
    END LOOP;
    UTL_FILE.fclose (v_out_file);
    EXCEPTION
    WHEN OTHERS THEN
    UTL_FILE.put_line (v_out_file, 'failed');
    -- If any errors occur when closing the file, then we close the opened file.
    IF utl_file.is_open(v_out_file) THEN
    UTL_FILE.fclose (v_out_file);
    END IF;
    END;
    UPDATE DebtEpisodes
    SET handoverdate = null
    WHERE DCAORLAWYER = 'DCA'
    AND accountid IN
    ( SELECT accountid
    FROM Dcaaccountallocation
    WHERE Dcaaccountallocation.status = 3
    AND Dcaaccountallocation.dcaid = 41
    END LOOP;
    END DCA_BMW_OUT;
    Currently, the above codes issue is that although many rows of data have been inputted in all the tables, with regards to the select criteria above (in italics), it only produces one row of data when i expect more than one to appear.
    If the query only outputs one row but you're expecting it to produce more than one row, then you need to dissect the statement to find out where the output is being unduly restricted
    I was told maybe an outerloop or an inner loop would do the trick, but really stuck on how and where to put it.
    Hope this makes sense guys and I would really appreciate your time.
    Thanks

    if i run this particular code
    ( SELECT
    AccountDetails.CUSTOMERNUMBER, AccountDetails.ACCOUNTNUMBER, CUSTOMERDETAILS.CDTITLE, CUSTOMERDETAILS.CDFIRSTNAME, CUSTOMERDETAILS.CDLASTNAME, AccountDetails.ACCOUNTTYPE,
    AccountDetails.ORIGINALCONTRACTENDDATE, AccountDetails.CONTRACTTERM, AccountDetails.CONTRACTENDDATE, AccountDetails.BRANCHAREA, AccountDetails.PRODUCTTYPE,
    AccountDetails.HOUSEBANKACCOUNT, AccountDetails.CARMODEL, AccountDetails.CARLICENCE, AccountDetails.ARREARSBALANCE, AccountDetails.CODEBTOR, AccountDetails.GUARANTORNUMBER
    FROM AccountDetails
    JOIN CUSTOMERDETAILS ON AccountDetails.CUSTOMERNUMBER = CUSTOMERDETAILS.CUSTOMERS1
    WHERE EXISTS
    ( SELECT *
    FROM Dcaaccountallocation
    JOIN DebtEpisodes ON DebtEpisodes.ACCOUNTID = Dcaaccountallocation.ACCOUNTID
    WHERE Dcaaccountallocation.dcaid = 41
    AND Dcaaccountallocation.status = 2
    AND DebtEpisodes.DCASentDate IS NULL
    AND Dcaaccountallocation.ACCOUNTID = AccountDetails.ACCOUNTNUMBER
    AND DebtEpisodes.DCAORLAWYER = 'DCA'
    This returns 1 row of data
    However if i run a small part of the above code...
    SELECT *
    FROM Dcaaccountallocation
    JOIN DebtEpisodes ON DebtEpisodes.ACCOUNTID = Dcaaccountallocation.ACCOUNTID
    WHERE Dcaaccountallocation.dcaid = 41
    AND Dcaaccountallocation.status = 2
    It returns a lot of rows with a status of 2
    Now i presume what I am going to do is to ensure that all the fields provide satisfactory requirements, with regards to the above code. Although I have many records in all the stated tables already.
    :(

  • Can a Method listen to more than one event in ABAP OO ?

    Hi,
    is it possible to prepare/register a handler method for e.g two events of two different classes ?
    Or can a method generally listen to only one event ?
    It seems that the syntax allows only one event ?
    methods event_handler for event my_event of my_class.
    Thanks for help in advance
    Olaf

    An event can refer to more than one object but you have to instantiate the objects
    for example   I have 2 grids and want to handle events depending on which grid
    the user is selecting / requesting actions on. (I've just posted the relevant bits coded here as data extraction etc you can code normally).
    FORM instantiate_grid
    * Create Grid container
    * Instantiate Grid class
    * Instantiate Event Handler class
    * Display the Grid
       USING  grid_container  TYPE REF TO cl_gui_custom_container
              class_object  TYPE REF TO cl_gui_alv_grid
              container_name TYPE scrfname.
    * create the container
      CREATE OBJECT grid_container
      EXPORTING container_name = container_name.
    * Create the ALV grid object using
    * container just created
      CREATE OBJECT  class_object
      EXPORTING
         i_parent = grid_container.
    *  Exclude the SUM function from the GRID toolbar
      ls_exclude = cl_gui_alv_grid=>mc_fc_sum.
      APPEND ls_exclude TO lt_exclude.
    * Instantiate our handler class
    * lcl_event_handler
      CALL METHOD class_object->register_edit_event
        EXPORTING
          i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      CREATE OBJECT g_handler.
      SET HANDLER g_handler->handle_double_click FOR class_object.
      SET HANDLER g_handler->handle_hotspot_click FOR class_object.
      SET HANDLER g_handler->handle_toolbar FOR class_object.
      SET HANDLER g_handler->handle_user_command FOR class_object.
      SET HANDLER g_handler->handle_data_changed FOR class_object.
      SET HANDLER g_handler->handle_data_changed_finished FOR class_object.
    ENDFORM.                    "instantiate_grid
    MODULE status_0100 OUTPUT.
      IF grid_container IS INITIAL.
        PERFORM instantiate_grid
           USING grid_container
                 grid1
                 'CCONTAINER1'.
    * Grid title Primary Grid
        struct_grid_lset-grid_title = 'Delimit Old org Units - Selection'.
        struct_grid_lset-edit =  'X'.
        struct_grid_lset-sel_mode = 'D'.
        PERFORM display_grid
         USING
            grid1
             <dyn_table>
             it_fldcat.
      ENDIF.
      SET PF-STATUS '001'.
      SET TITLEBAR '000' WITH 'Delimit Old Org Units'.
    ENDMODULE.                    "status_0100 OUTPUT
    * PAI module
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
          LEAVE PROGRAM.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANC'.
          LEAVE PROGRAM.
        WHEN 'RETURN'.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                    "user_command_0100 INPUT
    MODULE status_0200 OUTPUT.
      IF grid_container1 IS INITIAL.
        PERFORM instantiate_grid
           USING grid_container1
                 grid2
                 'CCONTAINER2'.
    * Grid title  secondary grid
        struct_grid_lset-grid_title = 'Delimited Objects'.
        struct_grid_lset-edit =  ' '.
        PERFORM display_grid
         USING
            grid2
             <dyn_table1>
             it_fldcat1.
      SET PF-STATUS '001'.
      SET TITLEBAR '000' WITH 'Org Units Delimited'.
    endif.
    ENDMODULE.                    "status_0200 OUTPUT
    In your local event handling class use the variable SENDER to  determine which grid / object triggered the event
    for example
    CLASS lcl_event_handler DEFINITION .
      PUBLIC SECTION .
        METHODS:
    **Hot spot Handler
        handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
                          IMPORTING e_row_id e_column_id es_row_no,
    **Double Click Handler
        handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
                                        IMPORTING e_row e_column es_row_no
                                        sender,
    ** Toolbar handler.
    handle_toolbar
            FOR EVENT toolbar OF cl_gui_alv_grid
                IMPORTING e_object e_interactive
                sender,
    * button press
        handle_user_command
            FOR EVENT user_command OF cl_gui_alv_grid
                IMPORTING e_ucomm
                 sender,
    * data changed
    handle_data_changed
        FOR EVENT data_changed OF cl_gui_alv_grid
          IMPORTING er_data_changed,
    *data changed finished
    handle_data_changed_finished
         FOR EVENT data_changed OF cl_gui_alv_grid,
    download_to_excel.
    ENDCLASS.                    "lcl_event_handler DEFINITION
    * Implementation methods for lcl_event_handler
    CLASS lcl_event_handler IMPLEMENTATION.
    *Handle Hotspot Click
    * When a "hotspotted"cell is double clicked
    * Hotspot indicatore needs to be set in
    * the field catalog.
    * Not required for this application.
      METHOD handle_hotspot_click .
        PERFORM mouse_click
          USING e_row_id
                e_column_id.
        CALL METHOD grid1->get_current_cell
          IMPORTING
            e_row     = ls_row
            e_value   = ls_value
            e_col     = ls_col
            es_row_id = ls_row_id
            es_col_id = ls_col_id
            es_row_no = es_row_no.
        CALL METHOD grid1->refresh_table_display.
        CALL METHOD grid1->set_current_cell_via_id
          EXPORTING
            is_column_id = e_column_id
            is_row_no    = es_row_no.
      ENDMETHOD.                    "lcl_event_handler
    *Handle Double Click
      METHOD  handle_double_click.
        CASE sender.
          WHEN grid1.
    * returns cell double clicked  FROM GRID 1
    * Ignore any event from GRID 2
            PERFORM double_click
               USING e_row
               e_column.
        ENDCASE.
      ENDMETHOD.                    "handle_double_click
    * Add our buttons to standard toolbar
      METHOD handle_toolbar.
        CASE sender.
    * Only add functionality to PRIMARY GRID (GRID 1)
          WHEN grid1.
    * append a separator to normal toolbar
            CLEAR ls_toolbar.
            MOVE 3 TO ls_toolbar-butn_type.
            APPEND ls_toolbar TO e_object->mt_toolbar.
    * Delimit Org
            CLEAR ls_toolbar.
            MOVE 'PROC' TO ls_toolbar-function.
            MOVE icon_railway TO ls_toolbar-icon.
            MOVE 'DELIMIT' TO ls_toolbar-quickinfo.
            MOVE 'DELIMIT ORG UNIT' TO ls_toolbar-text.
            MOVE ' ' TO ls_toolbar-disabled.
            APPEND ls_toolbar TO e_object->mt_toolbar.
    * Select All Rows
            MOVE 'SELE' TO ls_toolbar-function.
            MOVE icon_select_all TO ls_toolbar-icon.
            MOVE 'ALL CELLS' TO ls_toolbar-quickinfo.
            MOVE 'ALL CELLS' TO ls_toolbar-text.
            MOVE ' ' TO ls_toolbar-disabled.
            APPEND ls_toolbar TO e_object->mt_toolbar.
    * Deselect all Rows.
            MOVE 'DSEL' TO ls_toolbar-function.
            MOVE icon_deselect_all TO ls_toolbar-icon.
            MOVE 'DESELECT ALL' TO ls_toolbar-quickinfo.
            MOVE 'DESELECT ALL' TO ls_toolbar-text.
            MOVE ' ' TO ls_toolbar-disabled.
            APPEND ls_toolbar TO e_object->mt_toolbar.
            ENDCASE.
         move  0 to ls_toolbar-butn_type.
         move 'EXCEL' to ls_toolbar-function.
         move  space to ls_toolbar-disabled.
         move  icon_xxl to ls_toolbar-icon.
         move 'Excel' to ls_toolbar-quickinfo.
         move  'EXCEL' to ls_toolbar-text.
         append ls_toolbar to e_object->mt_toolbar.
      ENDMETHOD.                    "handle_toolbar
      METHOD handle_user_command.
    * Entered when a user presses a Grid toolbar
    * standard toolbar functions processed
    * normally
       g_sender = sender.
        CASE e_ucomm.
          WHEN 'PROC'.    "Process selected data
            PERFORM get_selected_rows.
          WHEN 'SELE'.
            PERFORM select_all_rows.
          WHEN 'DSEL'.
            PERFORM deselect_all_rows.
          WHEN 'EXCEL'.
              call method me->download_to_excel.
            WHEN OTHERS.
        ENDCASE.
      ENDMETHOD.                    "handle_user_command
      METHOD handle_data_changed.
    * only entered on data change  Not req for ths app.
        PERFORM data_changed USING er_data_changed.
      ENDMETHOD.                    "data_changed
      METHOD handle_data_changed_finished.
    * only entered on data change finished  Not req for ths app.
        PERFORM data_changed_finished.
      ENDMETHOD.                    "data_changed_finished
    * Interactive download to excel
      method download_to_excel.
      field-symbols:
       <qs0>   type standard table,
       <qs1>   type standard table.
      data: G_OUTTAB1 type ref to data,
            g_fldcat1 type ref to data,
            LS_LAYOUT type KKBLO_LAYOUT,
            LT_FIELDCAT type KKBLO_T_FIELDCAT,
            LT_FIELDCAT_WA type KKBLO_FIELDCAT,
            L_TABNAME type SLIS_TABNAME.
    case g_sender.
      when grid1.
         get reference of <dyn_table> into g_outtab1.
         get reference of it_fldcat into g_fldcat1.
       when grid2.
       get reference of <dyn_table1> into g_outtab1.
         get reference of it_fldcat1 into g_fldcat1.
    endcase.
       assign g_outtab1->* to <qs0>.
        assign g_fldcat1->* to <qs1>.
           call function  'LVC_TRANSFER_TO_KKBLO'
          exporting
            it_fieldcat_lvc   = <qs1>
    *     is_layout_lvc     = m_cl_variant->ms_layout
             is_tech_complete  = ' '
          importing
            es_layout_kkblo   = ls_layout
            et_fieldcat_kkblo = lt_fieldcat.
        loop at lt_fieldcat into lt_fieldcat_wa.
          clear lt_fieldcat_wa-tech_complete.
          if lt_fieldcat_wa-tabname is initial.
            lt_fieldcat_wa-tabname = '1'.
            modify lt_fieldcat from lt_fieldcat_wa.
          endif.
          l_tabname = lt_fieldcat_wa-tabname.
        endloop.
        call function 'ALV_XXL_CALL'
             exporting
                  i_tabname           = l_tabname
                  is_layout           = ls_layout
                  it_fieldcat         = lt_fieldcat
                  i_title             = sy-title
             tables
                  it_outtab           = <qs0>
             exceptions
                  fatal_error         = 1
                  no_display_possible = 2
                  others              = 3.
        if  sy-subrc <> 0.
          message id sy-msgid type 'S' number sy-msgno
                 with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.
    endmethod.
    ENDCLASS.                    "lcl_event_handler IMPLEMENTATION
    The sender instance is a variable such as  g_sender type ref to cl_gui_alv_grid.       "Sender instance.
    The above example is for OO ALV grids but should work for other interactive cases where a User presses a key or does a mouse action.
    Cheers
    jimbo

  • GL account balance splitting in more than one line item in FSV

    Friends,
    While going through the FSV, gl account balance is splitting in more than one line item with same account name.  But if we total the line items ultimately it is tallying with GL balance.  What might be the reason.  Why it is splitting the balance in more line items with same name and same account number.

    Dear,
    You might be having Document Splitting Activation.with Bussiness Area/ Segment wise/Profit Center Wise. For this please Check - Path > Spro > SAP reference IMG > Financial Accounting (New) > General Ledger Accounting (New) > Business transactions > Document Splitting > Define Document Splitting Characteristics for General Ledger Accounting.
    Please go through this & will  be able see the Document Splitting is based on Bussiness Area/ Segment wise/Profit Center wise or may be both.
    T & R,
    Madhuri Panda

  • More than one Detail table in the Master Detail forms!

    Hi,
    I need to have more than one Detail table in Master Detail Forms.
    I want to see the details of the rows of the first Detail table in the Second Detail table. Please guide me to do this.
    Sincerely yours,
    Mozhdeh

    You can do one of two things
    1) Depends on the nature of your data model. I was able to manage many to many
    relationships using views and instead of triggers. This solution is somewhat complex but can work in certain situations.
    2)Works for situations where master record exists. create a page with mulitple portlets syncronized on some related key.
    create the following package to use on the md forms to place on the one page to be rendered.
    -- this package will facilitate the storage and retrieval of keys used by the related forms.
    create or replace package session_var
    IS
    session_parms portal30.wwsto_api_session;
    g_domain varchar2(2000) := portal30.wwctx_api.get_user;
    function get_id (id in varchar2) return number;
    PROCEDURE SET_ID
    (ID in VARCHAR2
    ,p_val in VARCHAR2
    ,P_URL in VARCHAR2
    END SESSION_VAR;
    create or replace package body session_var
    IS
    --pkg body
    function get_id(id in varchar2) return number is
    l_store_session portal30.wwsto_api_session;
    l_id number;
    begin
    l_store_session := portal30.wwsto_api_session.load_session(
    p_domain => session_var.g_domain,
    p_sub_domain => 'your domain');
    l_id := l_store_session.get_attribute_as_varchar2( p_name => id);
    return l_id;
    end get_id;
    PROCEDURE SET_ID
    (ID in VARCHAR2
    ,p_val in VARCHAR2
    ,P_URL in VARCHAR2
    IS
    l_store_session portal30.wwsto_api_session;
    begin
    l_store_session := portal30.wwsto_api_session.load_session(
    p_domain => session_var.g_domain,
    p_sub_domain => 'your domain');
    l_store_session.set_attribute(
    p_name => id,
    p_value => p_val );
    l_store_session.save_session;
    * Redirect to the page using p_url;
    portal30.wwv_redirect.url(P_URL);
    end set_id;
    END SESSION_VAR;
    --the form master detail form, section  before display page enter the following code and publish as portlet.
    declare
    l_fs varchar2(4000);
    l_s varchar2(4000);
    v_con_id number;
    begin
    v_con_id :=rfq.session_var.get_id('CON_ID'); -- primary key and key used to relate details
    p_session.set_shadow_value( p_block_name => 'MASTER_BLOCK',
    p_attribute_name => 'A_CON_ID', -- attribute on form related to primary key
    p_value => '= '|| v_con_id,
    p_language => portal30.wwctx_api.get_nls_language ,
                   p_index => 1
    l_fs := p_session.get_value_as_varchar2(p_block_name => 'MASTER_BLOCK', p_attribute_name => '_FORM_STATE');
    l_s := p_session.get_value_as_varchar2(p_block_name => 'MASTER_BLOCK', p_attribute_name => '_STATUS');
    if l_fs = 'SAVE' and l_s is null then
    WWV_MASTER_GENSYS_1(p_block_name => p_block_name,
    p_object_name => p_object_name,
    p_instance => p_instance,
    p_event_type => p_event_type,
    p_user_args => p_user_args,
    p_session => p_session);
    p_session.save_session;
    end if;
    if l_fs = 'QUERY_AND_SAVE' and l_s is null then
    WWV_MASTER_GENSYS_1(p_block_name => p_block_name,
    p_object_name => p_object_name,
    p_instance => p_instance,
    p_event_type => p_event_type,
    p_user_args => p_user_args,
    p_session => p_session);
    p_session.save_session;
    end if;
    exception
    when others then
    PORTAL30.wwerr_api_error.add(PORTAL30.wwerr_api_error.DOMAIN_WWV,'app','generic','onLink', p1 => sqlerrm);
    raise;
    end;
    --then create other md forms and publish as portlets in a similar manner.
    -- create a form (form_session_vars) to call procedure session_vars and place the following code in the
    addiontional pl/sql tab
    WWV_GENSYS_1(
    p_block_name => p_block_name ,
    p_object_name => p_object_name,
    p_instance => p_instance ,
    p_event_type => p_event_type ,
    p_user_args => p_user_args ,
    p_session => p_session);
    --then create a page and place the md forms created above as portlets on the page.
    --create a link and target the form_session_vars and in the link target inputs
    enter the values for your user parameters
    id= CON_ID --"your primary key name"
    p_url= url/page/"your_page"
    --finally create a report (QBE or standard).
    in the column formation section use the link created earlier to direct the user to the target page.
    How it works.
    When the link is selected the form_session_Var is called and automatically runs setting the primary key values
    in the user session store. The step is required or the resulting page will not render properly. Then the user is redirected to the page where the portlets are rendered. The portlets start rendering, the before display page calls the session vars package to retrieve the key and put the form into query_update mode returning the data.
    The portlets finish in query_and_save mode with details in update mode, the allowable insert, delete and none actions will be available for the details.
    benefits: The session_Var package code is resuable as well as the form form_session_Var and the link. passing the key name and values are done at the report level and detailed in the report links. the md forms will need to reference their related keys.

  • Javax.jbi.messaging.MessagingException: More than one operation defined

    Hi,
    i had already implemented a web service consisting of 6 methods that works fine. Now i want to access this service via JBI. Therefore i developed a service assembly containing only of a soap binding component. When i try to access the jbi environment via the inbound endpoint OpenESB throws following exception:
    [#|2006-07-26T16:23:50.531+0200|WARNING|sun-appserver-pe9.0|com.sun.jbi.component.com.sun.httpsoapbc-1.0-2com.sun.jbi.httpsoapbc.embedded.GrizzlyRequestProcessor|_ThreadID=32;_ThreadName=httpWorkerThread-12010-2;_RequestID=a33dbb24-d088-4a6a-9642-96187c32bb36;|Exception in processing request.
    javax.jbi.messaging.MessagingException: More than one operation defined. Unable to resolve operation: {http://service}UseRepositoryService,UseRepository,inbound
         at com.sun.jbi.httpsoapbc.InboundMessageProcessor.execute(InboundMessageProcessor.java:214)
         at com.sun.jbi.httpsoapbc.embedded.GrizzlyRequestProcessor.processAsynchRequest(GrizzlyRequestProcessor.java:214)
         at com.sun.jbi.httpsoapbc.embedded.GrizzlyRequestProcessor.service(GrizzlyRequestProcessor.java:173)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
         at com.sun.jbi.httpsoapbc.embedded.JBIGrizzlyAsyncFilter.doFilter(JBIGrizzlyAsyncFilter.java:70)
         at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:143)
         at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:132)
         at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:81)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
         at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    How can i specify in my service assembly that if i send a SOAP request for method X on my client that OpenESB routes this message to the correct Outbound endpoint?
    Thank you
    Thomas

    Hello Andi,
    thanks for your reply. To exclude the soap action error i will post the complete wsdl file now. But in my opinion every operation has its own input and output definition.
    The consumer wsdl:
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://service" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://service" xmlns:intf="http://service" xmlns:tns1="http://types" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!--WSDL created by Apache Axis version: 1.2.1
    Built on Jun 14, 2005 (09:15:57 EDT)-->
    <wsdl:types>
    <schema elementFormDefault="qualified" targetNamespace="http://service" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://types"/>
    <element name="loadEcore">
    <complexType>
    <sequence>
    <element name="ecoreId" type="xsd:long"/>
    </sequence>a
    </complexType>
    </element>
    <element name="loadEcoreResponse">
    <complexType>
    <sequence>
    <element name="loadEcoreReturn" type="xsd:base64Binary"/>
    </sequence>
    </complexType>
    </element>
    <element name="loadInstance">
    <complexType>
    <sequence>
    <element name="instanceId" type="xsd:long"/>
    </sequence>
    </complexType>
    </element>
    <element name="loadInstanceResponse">
    <complexType>
    <sequence>
    <element name="loadInstanceReturn" type="xsd:base64Binary"/>
    </sequence>
    </complexType>
    </element>
    <element name="loadInstanceForProject">
    <complexType>
    <sequence>
    <element name="instanceId" type="xsd:long"/>
    </sequence>
    </complexType>
    </element>
    <element name="loadInstanceForProjectResponse">
    <complexType>
    <sequence>
    <element name="loadInstanceForProjectReturn" type="xsd:base64Binary"/>
    </sequence>
    </complexType>
    </element>
    <element name="deleteInstance">
    <complexType>
    <sequence>
    <element name="instanceId" type="xsd:long"/>
    </sequence>
    </complexType>
    </element>
    <element name="deleteInstanceResponse">
    <complexType>
    <sequence>
    <element name="deleteInstanceReturn" type="xsd:boolean"/>
    </sequence>
    </complexType>
    </element>
    <element name="getAllInstancesFromDB">
    <complexType/>
    </element>
    <element name="getAllInstancesFromDBResponse">
    <complexType>
    <sequence>
    <element maxOccurs="unbounded" name="getAllInstancesFromDBReturn" type="tns1:InstancePackageValueBean"/>
    </sequence>
    </complexType>
    </element>
    <element name="saveInstance">
    <complexType>
    <sequence>
    <element name="resourceBytes" type="xsd:base64Binary"/>
    <element name="fileName" type="xsd:string"/>
    </sequence>
    </complexType>
    </element>
    <element name="saveInstanceResponse">
    <complexType>
    <sequence>
    <element name="saveInstanceReturn" type="xsd:boolean"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    <schema elementFormDefault="qualified" targetNamespace="http://types" xmlns="http://www.w3.org/2001/XMLSchema">
    <complexType name="InstancePackageValueBean">
    <sequence>
    <element name="ecoreId" type="xsd:long"/>
    <element name="fileName" nillable="true" type="xsd:string"/>
    <element name="id" type="xsd:long"/>
    <element name="name" nillable="true" type="xsd:string"/>
    <element name="usedModels" nillable="true" type="xsd:string"/>
    </sequence>
    </complexType>
    </schema>
    </wsdl:types>
    <wsdl:message name="loadEcoreRequest">
    <wsdl:part element="impl:loadEcore" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="loadEcoreResponse">
    <wsdl:part element="impl:loadEcoreResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="saveInstanceResponse">
    <wsdl:part element="impl:saveInstanceResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="loadInstanceForProjectResponse">
    <wsdl:part element="impl:loadInstanceForProjectResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="loadInstanceResponse">
    <wsdl:part element="impl:loadInstanceResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="getAllInstancesFromDBRequest">
    <wsdl:part element="impl:getAllInstancesFromDB" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="loadInstanceRequest">
    <wsdl:part element="impl:loadInstance" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="getAllInstancesFromDBResponse">
    <wsdl:part element="impl:getAllInstancesFromDBResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="loadInstanceForProjectRequest">
    <wsdl:part element="impl:loadInstanceForProject" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="saveInstanceRequest">
    <wsdl:part element="impl:saveInstance" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="deleteInstanceRequest">
    <wsdl:part element="impl:deleteInstance" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="deleteInstanceResponse">
    <wsdl:part element="impl:deleteInstanceResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:portType name="UseRepository">
    <wsdl:operation name="loadEcore">
    <wsdl:input message="impl:loadEcoreRequest" name="loadEcoreRequest"/>
    <wsdl:output message="impl:loadEcoreResponse" name="loadEcoreResponse"/>
    </wsdl:operation>
    <wsdl:operation name="loadInstance">
    <wsdl:input message="impl:loadInstanceRequest" name="loadInstanceRequest"/>
    <wsdl:output message="impl:loadInstanceResponse" name="loadInstanceResponse"/>
    </wsdl:operation>
    <wsdl:operation name="loadInstanceForProject">
    <wsdl:input message="impl:loadInstanceForProjectRequest" name="loadInstanceForProjectRequest"/>
    <wsdl:output message="impl:loadInstanceForProjectResponse" name="loadInstanceForProjectResponse"/>
    </wsdl:operation>
    <wsdl:operation name="deleteInstance">
    <wsdl:input message="impl:deleteInstanceRequest" name="deleteInstanceRequest"/>
    <wsdl:output message="impl:deleteInstanceResponse" name="deleteInstanceResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getAllInstancesFromDB">
    <wsdl:input message="impl:getAllInstancesFromDBRequest" name="getAllInstancesFromDBRequest"/>
    <wsdl:output message="impl:getAllInstancesFromDBResponse" name="getAllInstancesFromDBResponse"/>
    </wsdl:operation>
    <wsdl:operation name="saveInstance">
    <wsdl:input message="impl:saveInstanceRequest" name="saveInstanceRequest"/>
    <wsdl:output message="impl:saveInstanceResponse" name="saveInstanceResponse"/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="UseRepositorySoapBinding" type="impl:UseRepository">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="loadEcore">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="loadEcoreRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="loadEcoreResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="loadInstance">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="loadInstanceRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="loadInstanceResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="loadInstanceForProject">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="loadInstanceForProjectRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="loadInstanceForProjectResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="deleteInstance">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="deleteInstanceRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="deleteInstanceResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAllInstancesFromDB">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="getAllInstancesFromDBRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="getAllInstancesFromDBResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveInstance">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="saveInstanceRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="saveInstanceResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="UseRepositoryService">
    <wsdl:port binding="impl:UseRepositorySoapBinding" name="UseRepository">
    <wsdlsoap:address location="http://localhost:12010/service/repository"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    Except for the service name, port, address etc the provider wsdl is the same.
    Could you tell me if it works when i will only use one operation for example?
    I had already implemented a service assembly which contained only one operation. That SA worked fine.
    If the Service Assembly and Binding Component descriptors had wrong references e.g. the wrong interface-name, would OpenESB throws an exception while deployment?
    In addition, could you tell me a good link to a nice bpel engine example? How is the interaction between client ans service using the bpel engine?
    I think using the SoapBC the interaction is following:
    Client --> BC --> Service
    With Bpel engine?
    Client --> BC --> bpel --> BC2 --> service?
    Thanks a lot
    Thomas

Maybe you are looking for

  • How to pass parameter as http POST in pageContext.setForwardURL

    Hi, I need to call a third party application page in my custom OAF page. I need to pass parameter to this third party page using POST method. I am using following command to call that - HashMap hm = new HashMap(); hm.put("FirstName",firstName ); hm.p

  • Inserting Photoshop photo into a Word document

    I'm trying to insert a photoshop photo into a Word document but having no luck. When I get to the photo I want the Insert button vanishes. Please help!!

  • Error using XSQL 10 servlet

    I am using the XSQL servlet from the xdk_nt_10_1_0_2_0_production.zip package. When I run a example I always get the following error (NoSuchMethodError) I am using the xmlparserv2.jar from the xdk\lib dir. What could be wrong? java.lang.NoSuchMethodE

  • Which replacement HD do I need to buy?

    The hard drive in my old iMac 20" (Ambient Light Sensor May 2005 model) has died and I need to buy a replacement. Can I check that I am buying the right part? I was going to buy a SATA 3.5" 250Gb and was thinking about getting this one: Seagate ST325

  • Is there any way to revert to the previous version of Firefox.

    when i try to open my webmail, using the appropriate password i get the following message: https://webmail.primus.ca/parse.php?file=html/english/xp/xp.html&frame=1 I'd hardly find it necessary to contact the web provider, except for that, so i'd be c