[Event] Event Container and Table

Hi,
It seems possible to pass a table as parameter in an event: I just have to put the appropriate type in the Event parameters in my class.
But, how do I fill this table with the Event container ?? I only see a SET method which does not seem to do any APPEND... Is there a specific method for table parameters of events ?
Here is the <i>usual</i> call :
  TRY.
      CALL METHOD l_event_container->set
        EXPORTING
          name  = 'NAME'
          value = w_name.
*         UNIT  =
*       IMPORTING
*         RETURNCODE =
    CATCH cx_swf_cnt_container.
  ENDTRY.
Thanks in advance for your replies !
Message was edited by: Guillaume Garcia

thanks for suggestions but the problem seems to be due to the new FM interface ( SWE_CD_TEMPLATE_CONTAINER_FB_2 )
which handles  BOR-References  as compared to the old ( SWE_CD_TEMPLATE_CONTAINER_FB ).
When i use the old and populate multine element into the EVENT_CONTAINER which is defined in interface as  table structure SWCONT it works fine.
There must be a SAP NOTE but no time to investigate further
cheers
Trev

Similar Messages

  • Event container element creation

    Hi,
    I am implementing PO WOrkflow I want to know how to create parameter/element in the event container
    as for PO Workflow I have to create the release code parameter in the event container and then according process the same.
    Please tell me in which transaction i can create the event container element?
    Prince

    Thanx.. Solved

  • Include char 10000 in event container

    Hi All  ,
    I want to pass long text to work flow through an event .
    so i want to create a parameter of atleast 10000 ( not sure how much length text will come ) chars in to the event container .
    But i am getting error ' Field ZSOBJ-ZLONG is too long to be included in the container '.
    So is there any alternate solution for this ??
    Regards,
    Sijin K P.

    Tried to use LSO_CP_SCORMLASTRINGVALUE-LSTRVALUE  of length 4096 .
    But still giving the same above error message .
    My requirement is to pass long text which present in change master tab to workflow .
    called this workflow through an event which will get triggerd  from  user exit .
    So i will get this long text from user exit and need to pass this long text to event container  and then bind to workflow.
    For this need to create  a parameter of the same type ( 10000 char ) in event container .
    Regards,
    Sijin K P.

  • Can any body tell me about event container in workflows

    hi Experts,
                      could you please tell me some details about event container concept. is there a way to see event container in SWO1 transaction. how can we create event container when we create new events.

    Hi Praveen,
    Event container is the container which stores the values of the BO attaribures which get assigned to that instance of the BO.
    If you go to SWO1 transaction and check the BO for which the event is triggered, you would see all the possible attributes than can be assigned.
    To pass the values of the BO event container to the workflow, you need to maintain the necessary binding between the BO event container and the workflow container. This can be done in the 'Basic Data', Start Events tab. If you click on automatic binding, the system would prompt for a default binding. You could opt to use that or create your own binding. Make sure that the datatypes match.
    After mapping the event container to workflow container, you can check in the workflow log for the values passed to the workflow container. If you like to directly check the values stored in the event container, go to SWO1 and simulate an instance of the BO. You can then check the values there.
    Hope this helps!
    Regards,
    Saumya

  • Logic regarding EVENTS OnFilter and OnLeadSelect for table ui element

    provide me logic regarding EVENTS OnFilter and OnLeadSelect for table ui element for webdynpro abap application.

    OnLeadSelect - What kind of logic do you want?  There are many different things that you could do inthe OnLeadSelect
    onFilter- Generally you use IF_WD_TABLE_METHOD_HNDL~APPLY_FILTER  to perform the filter operation.
    In the onFilter itself you probably just have one line of code:
    wd_this->table_method_hndl->apply_filter( ).
    In your WDDOMODIFYVIEW you probably have this code to capture the table_method_hndl object:
    if first_time = abap_true.
      * Get reference of the table view element
      l_table ?= view->get_element( 'TABLE' ).
    * Get reference to the Filter & Sorting API
      wd_this->table_method_hndl ?= l_table->_method_handler.
    endif.

  • Events move_contol and size_control in class cl_gui_dialogbox_container

    Hello,
    Here's quite a tricky problem, which I could need some help for.
    I have an object of class cl_gui_dialogbox_container with some HTML in it. The users can resize and move the control on the screen. Now position and size shall be kept in a dictionary table for each user.
    I've registered the three events close, move_contol and size_control
      CALL METHOD gc_dialogbox->set_registered_events
        EXPORTING
          events                    = gt_events
    with event_ids 8, 11 and 12 and set the three handlers, e.g.
      SET HANDLER cl_event_receiver_tree=>handle_close
      FOR gc_dialogbox.
    I created three corresponding methods handle_close, handle_move_control and handle_size_control.
    Well, so far for what I've done. Now the results:
    If I close the dialogue box, ABAP correctly jumps into method handle_close. But at that point, the control has already been closed! So I can't read size and position any more.
    If I move or rezise the window, nothing at all happens... Not even the debugger would pop up if I do anything with the box.
    Does anyone here know how to do this?
    Thanks!
    Jan
    Edited by: Jan Krohn on Nov 22, 2008 3:17 PM

    A quick update in case anyone else is looking for a solution:
    I've still not found out how to handle the events move_control and size_control.
    However, when handling close_control, it's possible to catch size and position:
    call the methods to obtain size and/or position
    call a cfw flush
    only then the parameters will be filled with the correct values.
    Important: This must happen after the close button has been pressed, but before the control will be destroyed. So put it in the correct place in your source code.

  • OO ALV validation check without event DATA_CHANGED and results via popup

    Hi Gurus,
    I'm working on SAP ECC 6.0 and I'm facing a problem during the ALV validation check. My requirement is to show an ALV with one editable field. In addition I have to pre-initialize this field in order to give a reference value to the user, but this is not always correct, or better, this field represent the maximum amount available, but, because of other validation checks, this field is not always correct (and it's ok, it's not a problem), and if it is greater than another amount I have to display an error.
    I was thinking about catching the event DATA_CHANGED and do the checks inside of it. It works but not completely, because if the user do not change anything the event is not raised and I cannot do my checks.
    My solution is to do the checks without catching the DATA_CHANGED event and display the errors in a separate popup window.
    The checks are ok, but I have problems during the displaying of the results: I would like to use the class CL_ALV_CHANGED_DATA_PROTOCOL in order to display the errors, I tried creating the Object:
      Data: go_Error Type Ref To CL_ALV_CHANGED_DATA_PROTOCOL.
      Create Object go_Error
        Exporting
    *      i_container =
          i_calling_alv = go_0200_Alv
    giving it a reference to the ALV (the go_0200_Alv is my CL_GUI_ALV_GRID object).
    Then I did many Call Methods to the Add_Protocol_Entry to add the message in the protocol and then display them calling the Display_Protocol Method of my "go_Error".
    The Popup is shown and the "links" to the ALV are correct (if I double click a message it selects the corresponding row of the ALV, but (and it's my problem) I cannot see the Description of the Column with the error: the popup window is an ALV grid itself with 3 columns ("Message Type", "Name of the Column" and "Message Text") where I can see correctly the Message Type and the Message Text but not the name of the column.
    Debugging the code I found that If I catch the event, the parameter er_Data_Changed (the class CL_ALV_CHANGED_DATA_PROTOCOL) is filled with some other informations like Modified Rows and other attributes like FieldCatalog, Row-ID, so I thought the problem was related to that, and that's why I replicated the whole case in my processing, filling every table I would see if I use the "standard way" for validation. Bu it didn't correct the error. I still don't see the name of the Column.
    This is my code, it's only the part interested, If you need other informations, please ask me and I will copy them.
    form CHECK_ALV_0200_0110 Changing pc_Error Type Char01.
      Data: lt_MatchK1 Type tp_Matches1_Key_t,
            l_Message  Type Char100,
            l_MessX    Type String,
            l_QtaRes   Type ZDM_AMT_ASSIGNED,
            l_QtaAcc   Type ZDM_AMT_ACCRUED,
            l_QtaStep  Type ZDM_AMT_ASSIGNED.
      Field-Symbols: <fs_Table>    Type Standard Table,
                     <fs_Master>   Type Standard Table,
                     <fs_Mod_Cell> Type LVC_S_MODI,
                     <fs_Line>     Type Any,
                     <fs_Field>    Type Any,
                     <fs_Any>      Type Any.
      Data lt_Matches_Alv_Mod Type tp_Matches1_Alv_t.
      Data ls_Modi Type LVC_S_MODI.
      Data: l_Row_ID Type I,
            l_Tabix  Type I.
      Field-Symbols: <fs_Match_ALV> Type tp_Matches1_Alv_s.
      Free go_Error.
      CREATE OBJECT go_Error
        EXPORTING
    *      i_container =
          i_calling_alv = go_0200_Alv
    * Validation Checks
      Clear pc_Error.
      Clear ls_Modi.
      Loop At gt_Matches1_Alv Assigning <fs_Match_ALV>.
        l_Tabix = Sy-Tabix.
        Check <fs_Match_ALV>-Status Eq con_Status_Temp.
    *   Set the Modified Row for the CL_ALV_CHANGED_DATA_PROTOCOL object
          Append <fs_Match_ALV> To lt_Matches_Alv_Mod.
          Add 1 To ls_Modi-Row_Id.
          ls_Modi-FieldName = 'AMT_DEDUCTED'.
          Write <fs_Match_ALV>-Amt_Deducted To ls_Modi-Value Currency <fs_Match_ALV>-Waers.
          Condense ls_Modi-Value No-Gaps.
          ls_Modi-Tabix = l_Tabix.
          Append ls_Modi To: go_Error->mt_Mod_Cells,
                             go_Error->mt_Good_Cells.
          l_Row_ID = ls_Modi-Row_Id.
        Clear l_Message.
        If <fs_Match_ALV>-Amt_Deducted Eq 0.
          pc_Error = con_X.
          CALL METHOD go_Error->Add_Protocol_Entry
            EXPORTING
              i_msgid     = 'ZDMV'
              i_msgty     = 'E'
              i_msgno     = '005'
    *          i_msgv1     =
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
              i_fieldname = 'AMT_DEDUCTED'
              i_row_id    = l_Row_ID
    *          i_tabix     =
          Continue.
        EndIf.
        Case g_Dynnr.
          When '0110'.
            Perform Get_ResQtaDispute1 Using lt_MatchK1
                                             <fs_Match_ALV>
                                       Changing l_QtaRes.
            Perform Get_ResQtaAccrued1 Using <fs_Match_ALV>
                                       Changing l_QtaAcc.
    *      When '0111'.
    *        Perform Get_ResQtaDispute2 Using lt_MatchK2
    *                                         <fs_Match_ALV>
    *                                   Changing l_QtaRes.
    *        Perform Get_ResQtaAccrued2 Using <fs_Match_ALV>
    *                                   Changing l_QtaAcc.
        EndCase.
        Add <fs_Match_ALV>-Amt_Deducted To l_QtaStep.
        If l_QtaStep > l_QtaRes.
    *     Store the Error
          pc_Error = con_X.
          Write l_QtaRes To l_Message Currency <fs_Match_ALV>-Waers.
          Condense l_Message No-Gaps.
          CALL METHOD go_Error->Add_Protocol_Entry
            EXPORTING
              i_msgid     = 'ZDMV'
              i_msgty     = 'E'
              i_msgno     = '002'
              i_msgv1     = l_Message
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
              i_fieldname = 'AMT_DEDUCTED'
              i_row_id    = l_Row_ID
    *          i_tabix     =
        EndIf.
        If l_QtaStep > l_QtaAcc.
    *     Store the Error
          pc_Error = con_X.
          Write l_QtaAcc To l_Message Currency <fs_Match_ALV>-Waers.
          Condense l_Message No-Gaps.
          CALL METHOD go_Error->Add_Protocol_Entry
            EXPORTING
              i_msgid     = 'ZDMV'
              i_msgty     = 'E'
              i_msgno     = '002'
              i_msgv1     = l_Message
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
              i_fieldname = 'AMT_DEDUCTED'
              i_row_id    = l_Row_ID
    *          i_tabix     =
        EndIf.
      EndLoop.
      If pc_Error Eq con_X.
    *   If there was at least one error, Display the Popup
        go_Error->mt_FieldCatalog[]   = gt_0200_FCat[].
        go_Error->ms_Layout-Zebra     = con_X.
        Get Reference Of lt_Matches_Alv_Mod[] Into go_Error->Mp_Mod_Rows.
        CALL METHOD go_error->display_protocol
    *      EXPORTING
    *        i_container        =
    *        i_display_toolbar  =
    *        i_optimize_columns =
      EndIf.
    EndForm.
    Do you know if there is a particular issue about that? Or, maybe, I'm doing something wrong...
    Please help me
    Regards,
    Claudio
    Edited by: Claudio Distrutti on Oct 31, 2008 12:38 PM

    Hello Claudio
    Nobody prevents you from calling your event handler method go_grid->HANDLE_DATA_CHANGED directly!
    What do I mean with that?
    I assume you are calling method go_grid->CHECK_CHANGED_DATA at the beginning of the PAI module to catch any changes from the editable ALV grid. Within the event handler method you do your validation and send the error popup if necessary.
    Now when the user closes the error popup and pushes e.g. the SAVE button then I can happen that method HANDLE_DATA_CHANGED does not trigger event DATA_CHANGED because nothing was indeed changed on the ALV grid. Yet the invalid value is still there.
    However within the FORM routine for saving the data you can just call your event handler method directly:
    FORM save_data.
    CALL METHOD go_grid->handle_data_changed
        EXPORTING
    *      er_data_changed =
          e_ucomm = 'SAVE'.
    ENDFORM.
    Now within your event handler method you always know when the method was called because if method CHECK_CHANGED_DATA triggers event DATA_CHANGED the IMPORTING parameter ER_DATA_CHANGED is bound whereas it is empty when the method is called from your SAVE routine.
    METHOD handle_data_changed.
      DATA: lo_log   TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
        IF ( er_data_changed IS BOUND ).
          lo_log = er_data_changed.
        ELSE.
          CREATE OBJECT lo_log.
        ENDIF.
    " Do the validations and send error log if necessary
      lo_log->DISPLAY_PROTOCOL( ).
    ENDMETHOD.
    Regards
      Uwe

  • Extra event container element in BUS2203

    HI All,
    I have a standard workflow template WS10400002 which has some start condtions defined. If you check in the binding between event container --> workflow container, there is a extra element for "Gross Amount(USD)". Kindly let me know how we can have an extra element.
    I copied the template to my Z template and there that extra element is not available.
    Kindly check in your systems and let me know.
    There is no delegation of BO done.
    Thanks & Regards,
    Srinivas Rao.

    Hi Pavan,
    Thanks for the reply. I will make my question more clearer.
    I dont want to do anything right noew regarding start condition set up . It is already done in the STANDARD template WS10400002. What I wish to understand is, when you will check the template in your system and check the event-> workflow binding, you will notice that there is extra container element "Gross Amount(USD)". Where did this come from ?
    I hope I am clear this time..
    Waiting for your reply..

  • Problem while bringing Google Calendar events to Oracle Tables

    Hi Friends,
    I have written the following code to bring the Google Calendar Events to Oracle Tables...
    CREATE OR REPLACE procedure XX_DEV.authenticate_service_test(p_email in varchar2,p_password in varchar2)
    is
    l_request utl_http.req;
    l_response utl_http.resp;
    l_params varchar2(255);
    l_resp_data VARCHAR2(4000);-- CHARACTER SET;
    l_auth_token VARCHAR2(4000);
    l_cal_entry CLOB;
    v_response_xml XMLType;
    v_entry_id varchar2(100);
    xml_result xmltype;
    cnt number:= 0;
    v_xmldoc CLOB;
    v_start_time date;
    v_end_time date;
    cursor c1 is select x.title title, x.content content, x.where where, x.start_time start_time, x.end_time end_time, x.entry_id entry_id from
    xmltable('feed/entry'
    passing xmltype(v_xmldoc)
    columns title varchar2(1000) path '/entry/title/text()'
    ,content clob path '/entry/content/text()'
    ,where clob path '/entry/gd-where/@valueString'
    ,start_time varchar2(100) path '/entry/gd-when/@startTime'
    ,end_time varchar2(100) path '/entry/gd-when/@endTime'
    ,entry_id varchar2(1000) path '/entry/id'
    ) x ;
    begin
    -- access the oracle wallet to allow us to make an https request
    utl_http.set_wallet(path => 'file:/u01/app/oracle/product/11.2.0/owm/wallets/oracle11/',password => 'srisys123');
    -- set up the request body with our credentials
    l_params := 'Email=' || p_email || '&Passwd=' || p_password ||'&service=cl' || '&source=e-DBA-test-1.0';
    l_request := utl_http.begin_request('https://www.google.com/accounts/ClientLogin','POST','HTTP/1.1');--accounts/ClientLogin
    -- set the request headers
    utl_http.set_header(l_request,'Content-Type','application/x-www-form-urlencoded');
    utl_http.set_header(l_request,'Content-Length',length(l_params));
    -- write out the request body
    utl_http.write_text( l_request, l_params );
    -- get the response
    l_response := utl_http.get_response( r => l_request );
    dbms_output.put_line('Status Code: '||l_response.status_code);
    loop
    utl_http.read_line( r => l_response, data => l_resp_data, remove_crlf => TRUE);
    dbms_output.put_line(l_resp_data);
    if substr(l_resp_data, 1, 5) = 'Auth=' then
    l_auth_token := substr(l_resp_data, 6);
    end if;
    end loop;
    exception
    when utl_http.end_of_body then
    null;
    dbms_output.put_line('Auth Token: '||l_auth_token);
    utl_http.end_response ( l_response );
    -- replace the substitution variables in the template with the parameter values
    --utl_http.end_response ( l_response );
    l_request := utl_http.begin_request(
    'http://www.google.com/calendar/feeds/default/private/full',
    'GET',
    'HTTP/1.1');
    utl_http.set_header(
    l_request,
    'Content-Type',
    'application/atom+xml');
    utl_http.set_header(
    l_request,
    'Authorization',
    'GoogleLogin auth='||l_auth_token);
    l_response := utl_http.get_response( r => l_request );
    utl_http.read_text(
    l_response,
    l_cal_entry
    dbms_output.put_line('Status Code: ' || l_response.status_code);
    /*select replace(l_cal_entry,'<?xml version='||'''1.0'''||' encoding='||'''UTF-8'''||'?>','') into l_cal_entry from dual;
    select ltrim(l_cal_entry,substr(l_cal_entry,1,148)) into l_cal_entry from dual;
    select '<feed'||l_cal_entry into l_cal_entry from dual;
    select replace (l_cal_entry,':','-') into l_cal_entry from dual;*/
    dbms_output.put_line('Calendar Event: ' || l_cal_entry);
    -- xml_result :=XMLType.extract(l_cal_entry,'//title');
    delete from xml_test1;
    insert into xml_test1 values (l_cal_entry);
    utl_http.end_response ( l_response );
    select DATA into v_xmldoc from XML_TEST1;
    execute immediate 'alter session set events = ''31156 trace name context forever, level 2''';
    for i in c1
    loop
    l_cal_entry:= NULL;
    dbms_output.put_line('Result: '||i.title||'*'||i.content||'*'||i.name||'*'||i.start_time||'*'||i.end_time||'*'||i.entry_id);
    begin
    select 1 into cnt from events_bkp where entry_id = i.entry_id;
    select nvl(to_date(rtrim(replace(i.start_time,'T',' '),substr(replace(i.start_time,'T',' '),12,20))||
    replace(substr(replace(i.start_time,'T',' '),12,8),'-',':'),'yyyy-mm-dd hh24:mi:ss'),sysdate) into v_start_time from dual;
    select nvl(to_date(rtrim(replace(i.end_time,'T',' '),substr(replace(i.end_time,'T',' '),12,20))||
    replace(substr(replace(i.end_time,'T',' '),12,8),'-',':'),'yyyy-mm-dd hh24:mi:ss'),sysdate) into v_end_time from dual;
    update events_bkp set description = i.title, notes = nvl(i.content,'No Notes'), start_date_time = v_start_time, end_date_time = v_end_time
    where entry_id = i.entry_id;
    exception when others then
    select nvl(to_date(rtrim(replace(i.start_time,'T',' '),substr(replace(i.start_time,'T',' '),12,20))||
    replace(substr(replace(i.start_time,'T',' '),12,8),'-',':'),'yyyy-mm-dd hh24:mi:ss'),sysdate) into v_start_time from dual;
    select nvl(to_date(rtrim(replace(i.end_time,'T',' '),substr(replace(i.end_time,'T',' '),12,20))||
    replace(substr(replace(i.end_time,'T',' '),12,8),'-',':'),'yyyy-mm-dd hh24:mi:ss'),sysdate) into v_end_time from dual;
    insert into events_bkp values(events_seq.nextval, 9, 1,1, 4, i.title, nvl(i.content,'No Notes'), v_start_time, v_end_time,'','',
    4, 1, sysdate, 1, sysdate, 13, i.entry_id);
    end;
    commit;
    end loop;
    execute immediate 'alter session set events = ''31156 trace name context off''';
    end authenticate_service_test;
    I am able to execute it successfully with my username and password but I am getting error when the number of events are more than 15...
    The parameter l_cal_entry which is of clob datatype is not holding the whole xml data.
    Please advice....
    Thank You,
    Srikanth

    Hi Friends,
    Now I am able to load all the events of a user by adding the following code
    loop
    utl_http.read_text(l_response, l_cal);
    l_cal_entry:= l_cal_entry||l_cal;
    end loop;
    but I am getting problem when the user has more than one calendar. The Begin_request link I am using is...
    'https://www.google.com/calendar/feeds/default/private/full'
    Using this, I am able to get only the events of a default calendar associated to the user.
    How can I get the events of all calendars or a particular calendar associated with the user.
    I may have to change the above link... I have tried with various combinations by appending calendar id but I am unable get the right combination
    Please advice...
    Thank You,
    Srikanth

  • Windows : Syncing photos Events, Faces and Places from Phtoshop Elements 8

    Hi everyone,
    I buy an iPad yesturday and i try to sync my photos.
    I'm a PC user (windows 7 x64) so I try to use Photoshop Elements 8 in order to sync my photo with iTunes as describe in the iTunes manual.
    Unfortunatly, I can sync the photo albums only ... but I can't sync events, faces and places information...
    Is it normal ? Doesn't PSE 8 support the syncing of these information ??
    If this is correct, is there an issue to have a full support in iPad Photo or do you know some app able to sync this ?
    Thanks for your replies and excuse my english!
    Mathieu from France.

    Your English is better than my French.
    For the folders syncing with windows pc's Photo albums:
    1) Create a master sync folder on your pc with no photo files at the root level of the folder.
    2) Create sub-folders within the master sync folder with the subfolders named what you want the ipad's photo albums to be named.
    3) Place the photo files you want to sync in the appropriate subfolder within the master sync folder.
    4) In itunes on the photos tab, select the master folder as the sync folder.
    5) After syncing, each subfolder will be an album on the ipad with the proper photos contained there-in.
    For the Places; The ipad should display Places information for any photo with geotagging data. This is stored with the photo in the metadata. It is the Lat/Long of the photo. This info must be included on the photo file before syncing.
    For the Events, I use separate folders within the master sync folder for each event. (see above).
    I am not sure how Events and Faces works with PSE8 or if the method PSE8 uses is compatable with the ipad. iPhoto on a mac works for events and faces on the ipad, based on posts I have read here.

  • How to catch events on user tables forms?

    Hi all,
    Is there any way to catch the events on user defined tables' form which opens from Tools-User Tables? The form Id we get is not unique so we can't initialize the form with that ID or put it in  an If  loop for pval.formUId.
    any clues?
    Thanks in advance.....

    Hi Binita,
    The UDT form should have a form type in the format:
    110xxx
    where xxx is the value in the TblNum field in the OUTB table (eg 110015 if the TblNum field is 15).
    Therefore, you can query the OUTB table for your UDT name and get the correct TblNum value and then calculate the correct form type for your table. If you want to filter events then you'll need to run this query as your addon starts and dynamically add the correct event types and filters to your addon.
    Kind Regards,
    Owen

  • Events in internal tables

    what are the events in internal tables...

    Hi
    At new, At first, At end of, At last are called Control break events of internal table
    All this AT NEW, AT FIRST, AT END OF and AT LAST are called control break statements of Internal tables and are used to calculate the TOTALS based on sertain key fields in that internal table
    FIrst to use these statements the ITAB has to be sorted by the key fields on whcih you need the SUM of the fields.
    Some time you will get * when mopving data from this int table to other table using these commands
    so you have to use
    READ TABLE ITAB INDEX SY-TABIX in AT..ENDAT..if you are using other fields between them
    DATA: sflight_tab TYPE SORTED TABLE OF sflight
                      WITH UNIQUE KEY carrid connid fldate,
          sflight_wa  LIKE LINE OF sflight_tab.
    SELECT *
           FROM sflight
           INTO TABLE sflight_tab.
    LOOP AT sflight_tab INTO sflight_wa.
      AT NEW connid.
        WRITE: / sflight_wa-carrid,
                 sflight_wa-connid.
        ULINE.
      ENDAT.
      WRITE: / sflight_wa-fldate,
               sflight_wa-seatsocc.
      AT END OF connid.
        SUM.
        ULINE.
        WRITE: / 'Sum',
                  sflight_wa-seatsocc UNDER sflight_wa-seatsocc.
        SKIP.
      ENDAT.
      AT END OF carrid.
        SUM.
        ULINE.
        WRITE: / 'Carrier Sum',
                  sflight_wa-seatsocc UNDER sflight_wa-seatsocc.
        NEW-PAGE.
      ENDAT.
      AT LAST.
        SUM.
        WRITE: / 'Overall Sum',
                  sflight_wa-seatsocc UNDER sflight_wa-seatsocc.
      ENDAT.
    ENDLOOP.
    <b>
    Reward points for useful Answers</b>
    Regards
    Anji

  • How to create events for Z table ?

    Hi Experts,
        Can anybody tell me how to create an event for Z table. I have a Z table in that a Particular filed is there as BELNR.
    This Table is being getting updated by various application & even with the User-Exits also. I want to sned an e-mail whenver this particular field is getting updated by any program.
    how to do this? which event to be used for a particular field?
    Pl. Help....
    Regards,
    Umesh

    Umesh,
    I hope below method will help solving the requirement:
    -Changes made to the keydocuments are recorded in the change document
    Header table i.e. CDHDR and Item table CDPOS, Additional change
    pointers are written in the BDCP and BDCPS tables. (BDCP and BDCPS in your case)
    -A standard program RBDMIDOC is sechuled to run on periodic basis to
    evaluate the change pointers for a message type and starts the ALE
    process for distributing the Masterdata to the appropriate destination.
    -'Object' is collection of fields of different database tables. T.code
    for creating an object is SCDO.
    Also:
    1. BD61 Active change pointers generally
    - Check the checkbox "Change pointers activated -generally"
    - Save it
    2. BD50 Active change pointers for Message Type
    - Message Type Active
    Thanks,
    Preyansh

  • RAISING AN EVENT WHEN DATABASE TABLE UPDATES

    hi all,
             i want to raise an event when database table updates.For eg : if a price of a material has been changed then i have to raise an event and run the abap program in back ground.i know transaction SM62 to create event, i dont know about transaction SM64. please give me the procedure how to solve this problem. i dont know work flow. please give me a sample code how to raise event.
    thanka and regards
    suresh

    Hi Suresh
    It is important to understand that the SAP architecture abstracts the database from the application.
    I think that you should look for ways that the application triggers an event when an update has taken place, rather than the DB.
    Two ways of doing this that spring to mind are change pointers (for the ALE interface, see menu SALE) and Business Transaction Events (various things including CRM integration, see menu FIBF).
    The latter works very well for sending prices to CRM when they change. I am more familiar with this than ALE so I will discuss it.
    If you go to menu FIBF and then follow menu path Environment -> Info System (P/S), and then run the report for event 00503301, you can find documentation and a sample function module that you can copy.
    Once you register your new function module in the event tables then it will be called when prices are changed.
    Cheers
    Dom

  • CHANGE EVENT CREATOR IN EVENT CONTAINER

    Hello,
    In CRM 7.0, I need to change in the EVENT CONTAINER the element &_EVT_CREATOR&, wich passes the value to the &_Wf_Initiator&.
    Can you please tell me where the  EVENT COINTAINER is populated (FM, program, etc)
    Thanks.
    Best Regards,
    Filipe Pinheira

    Hello,
    Of course, you can't change the event creator after it's been created, but I assume that's not what you're asking.
    Look at the parameters of SAP_WAPI_CREATE_EVENT and see if you can set the creator there.
    If not, you could pass the name of the user as an event parameter and bind it to WF Initiator.
    regards
    Rick Bakker
    hanabi technology

Maybe you are looking for

  • Text widget

    I just got my droid x about a week ago. Before that I had the droid pro. When I had the pro I put a text widget to one of my contacts and when I went to that widget it took me to the entire conversation. Now on my droid x the widget just let's me tex

  • Jar file connection to mysql

    im writing i database front end using eclipse when i run the code it works fine and connects to the database but when i make a jar file from the project it doesnt connect to mysql

  • Web Chart to Excel

    Hi All, The Howto Webprinting With Excel says that not all BW Web Items are supported but a couple are. Specifically with the Chart is says: Chart and Map possible (via Web Archive/MHTML, not yet implemented) Did anyone ever try, or is this just a wa

  • Renewal of Broadband Option 3/ Broadband Talk disa...

    Where to start... On Thursday we decided to contact BT about renewing our Broadband Contract for another year and enabling BT Sport on our Sky box. Sky had spontaneously offered a great deal to switch to their BB but we were happy with BT after havin

  • JMS Timer Message ClassCastException

              Hi,           we're using Weblogic's JMS extension of setting a send delay, e.g.:           ((WLMessageProducer) publisher).setTimeToDeliver(new Long(notification.getDelayMinutes()           * 60 * 1000).longValue());           This works q