Writing own event for Reservation creation BUS object

I am trying to create a workflow that should get triggered when a new reservation is created for approval. I am using the BOR object for material reservation but it does not contain an event of creation. I wish to create a new event and then add code to the event so that a mail to an approver can be sent. Using the approval received I need to confirm the reservation else render it cancelled.
I require help in creating the event and writing the event code for it.
Thanks for taking time to go through my query
Zankruti Parikh

Hello Zankruti,
    Indeed, there's no such event for BUS2093. And if you try to do this to object BUS2093, you will come across error: "No change document object for business object type BUS2093".
    Given this, in your case, I am afraid that you will have to extend object BUS2093 by using delegation - then you will be able to add events CREATED or CHANGED, if necessary. Use transaction SWO1 to this, click on "settings" delegate, delegation type = ZBUS2093(for example) - you will delegate your ZBUS2093 type to BUS2093. After that, you will be able to create the events.                                                                               
Following the idea, I believe that the easiest way to do this is thorugh enhancement MBCF0007 (Customer function exit: Updating a reservation). Click on components, and then you will see EXIT_SAPMM07R_001. Within this exit, you can call SWE_EVENT_CREATE_IN_UPD_TASK (you trigger the events you will have created above).  
Regards,
Andre Sousa
Edited by: Andre Sousa on Jan 4, 2008 9:35 PM

Similar Messages

  • Table for Reservation creation Date

    All SAP Gurus,
    What is the Table for Reservation creation Date?
    Regards,

    Hi Vijay,
    Thanks for reply.
    Tables yiu have recommended do not have the reservation creation or updation date.
    Please correct me if I'm wrong.
    Regards,

  • Writing own TableCellRenderer for setting the Background Color of a cell ?

    Hello,
    I am using the JTable and DefaultTableModel for my GUI. I use also only plain text in the rows and columns. I have a method which examine every row wether something is wrong with a string so if something is wrong i want to set the BackgroundColor of this cell with the bad string to a color i can define.
    Do I need to write an own TableCellRenderer for this tiny task?
    Table class has no setBackground(new Color(22,22,22),posRow,posCol);

    http://forum.java.sun.com/thread.jspa?forumID=57&threa
    dID=606504this code is from your ColorRenderer class:
    public void actionPerformed(ActionEvent e)
                   Iterator it = colors.keySet().iterator();
                   while ( it.hasNext() )
                        Point key = (Point)it.next();
                        int row = key.x;
                        int column = key.y;
                        if (column == -1)
                             model.fireTableRowsUpdated(row, row);
                        else if (row == -1)
                             int rows = table.getRowCount();
                             for (int i = 0; i < rows; i++)
                                  model.fireTableCellUpdated(i, column);                              
              }you have set an ActionListener to the ColorRenderer class and put the actionPerformed method in it but compared to a JButton the actionPerformed method is called when i click the JButton but what you do in your code that the actionPerformed method is executed. I have deleted the whole actionPerformed method and the listener and still the cell is displayed with a color so was it for the blinking?
    And the method setBackground is nowhere called or run actively so is this method called internally by the ColorRenderer class? or is this method somehow called recursively as in the method setBackground I can see this method call:
    c.setBackground( (Color)o ); but i think this is another setBackground method right? because the first method i mentioned has 3 parameters not 1 parameter so where is the method setBackground with 3 parameters called actively in your code? i cant find anything. ok after examining again the c.setBackground( (Color)o ); is the one with 3 parameters ;-)
    public void setBackground(Component c, int row, int column)
              { that was set for the previous cell, so reset it here
                   if (c instanceof DefaultTableCellRenderer)
                        c.setBackground( table.getBackground() );
                   //  In case columns have been reordered, convert the column number
                   column = table.convertColumnIndexToModel(column);
                   //  Get cell color
                   Object key = getKey(row, column);
                   Object o = colors.get( key );
                   if (o != null)
                        c.setBackground( (Color)o );
                        return;
                   //  Get row color
                   key = getKey(row, -1);
                   o = colors.get( key );
                   if (o != null)
                        c.setBackground( (Color)o );
                        return;
                   //  Get column color
                   key = getKey(-1, column);
                   o = colors.get( key );
                   if (o != null)
                        c.setBackground( (Color)o );
                        return;
              }using your full code gives me a bug:
    when i double click in the first column to change some text doesnt matter which row then the selected cell gets a red border and the rest of the table freezes. When i exchange the order of the columns move column 1 to 2 and column 2 to 1 then the freezed table is working again?? could you help solving that problem else the cell color setting works fine for me :-) thank you very much!

  • Unable to capture Exchange Mailbox Auditing events for email creation

    We are looking to capture Owner mailbox auditing events using the native Exchange 2013 auditing tools (Search-MailboxAuditLog). I have auditing enabled with all actions for Owner, and capture items performed via Outlook, except for new emails created.
    If I create new emails via OWA, I am able to capture the event, but as soon as I go back to Outlook and create a new message, I don’t see anything audited. I also tried this is our Dev environment and seeing the same behavior. Has anyone else experience this
    behavior?

    Hi,
    I have a test in my environment. If I create a message on Outlook as a owner, the mailbox audit logging can't record it.
    If I create a message on Outlook as a delegate, when using the Search-MailboxAuditLog cmdlet to search the audit log, it will be displayed as follows:
    The operation is "SendAs", not "Create".
    Hope this can be helpful to you.
    Best regards,
    If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Amy Wang
    TechNet Community Support

  • BADI for Reservation Creation in Extended Classic

    Dear SRM Gurus,
    System: SRM Server 5.5
    Technical Scenario: Extended Classic.
    We have requirement to create RESERVATION if stock exist for that particular item, and not based on product category , in R/3.
    I need help as to which BADI is to be used ?
    What should be the logic ?
    Thanking you in advance,
    Best Regards,
    Anil Rajpal.

    Hi Anil,
    I you want to create reservation, you have first to switch from ECS to classic scenario through BBP_EXTLOCALPO_BADI then you have to implement BBP_TARGET_OBJTYPE badi to determine the criteria to create a reservation in your backend.
    Kind regards,
    Yann

  • Event for thumbnail creation?

    I'm using a wireless connection to send images to Bridge. Bridge updates the thumbnail pane when the new image is received. This works well if images as selected in descending order. However, the new image is not automatically selected.
    I'd like to do 'something' with this new image (something is undefined - but select it, add metadata, open in photoshop etc. are candidates). However, I can see that an event is fired at all when the new thumbnail is created in bridge. Anybody any ideas, or is this a feature request?
    regards
    Gareth

    Chris,
    You could always keep track of the length of the Annotation List array and if it increases, then a new annotation has been made.  You can get the annotation list with a property node, so it would be relatively easy to keep track of.  There is a good example of adding the annotations programatically and it uses this annotation list array.  It is found in the LabVIEW examples if you search for annotation and is called "Programmatically Annotate A Graph".
    This annotation list is an array of clusters where each cluster is a single annotation.  You can change the color of the annotation programmatically as well by manipulating this annotation list property of the graph.  I hope this helps.
    Brian Coalson
    Software Engineer
    National Instruments

  • Event for edit fields in Object ALV grid

    Hi community,
    I've building an ALV Grid in a SubDynpro of Tabstrip...
    Any fields are edit.
    I would like refresh my internal table at data changed of ALV object but if not assign a field at F4 event this result 
    not refresh.
    Thanks everybody,
    Antonello

    Hi Antonello Didonna,
    Use this code, its working:-
    After the user edits any records and performs an action then place this code.
    Say when user presses a button with function code 'EXECUTE', and all the changes from the output screen in ALV reflects back to internal table.
    * handle the code execution based on the function code encountered
    CASE sy-ucomm.
    * when the function code is EXECUTE then process the selected records
      WHEN 'EXECUTE'.
    * to reflect the data changed into internal table
        DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
        IF ref_grid IS INITIAL.
          CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
            IMPORTING
              e_grid = ref_grid.
        ENDIF.
        IF NOT ref_grid IS INITIAL.
          CALL METHOD ref_grid->check_changed_data.
        ENDIF.
        " now your internal table data is changed as in ALV output
        " append your code
      WHEN OTHERS.
        " your code
    ENDCASE.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • Event for Annotation Creation?

    What's the easiest way to detect when the user has created an annotation on a graph? For some reason, creating a free annotation drops the annotation out in space (out of view of the user). I'd like to detect when it gets dropped out there, and center it on the visible graph. Also, it would be nice to change the default color so it's visible on a white background.
    Any thoughts? I suppose I could intercept the Create Annotation Shortcut menu selection, and replace the default dialog with my own, but it just seems like there may still be a way to use the built in stuff.
    Thanks,
    Chris

    Chris,
    You could always keep track of the length of the Annotation List array and if it increases, then a new annotation has been made.  You can get the annotation list with a property node, so it would be relatively easy to keep track of.  There is a good example of adding the annotations programatically and it uses this annotation list array.  It is found in the LabVIEW examples if you search for annotation and is called "Programmatically Annotate A Graph".
    This annotation list is an array of clusters where each cluster is a single annotation.  You can change the color of the annotation programmatically as well by manipulating this annotation list property of the graph.  I hope this helps.
    Brian Coalson
    Software Engineer
    National Instruments

  • Writing own getLineNumber for parsing XML Schema

    I'm creating a XML Schema tool that checks that the user is creating valid Schema text.
    What I want to do is if the user has nested an element within a parent that it's not meant to. for example:
    <element name = "1">
            <element name = "2"/>
    </element>I want to return to the user the line number that the problem has occured.
    Because as far as the SAXParser is concerned this is valid XML I can't catch a SAXParseException.
    I'm using DOM to store the XML structure.
    Is there another way I can parse the document so that I can store the line number it orginially came from?
    Many thanks
    Alex

    Thats great, thanks.
    My problem now is how can I access the parent node using SAX().
    I have an arraylist for the parent of valid children, I need to check that the child node is infact one of these nodes.
    The problem being using SAX() I can access the previous node but if their are sibling nodes this will not identify the parent.
    This is the code I have so far:
    public class TestHandler extends DefaultHandler
         int lineNo = 1;
         public void startElement(String namespaceURI, String localname, String rawname, Attributes atts) throws SAXException
              SAX sax = new SAX();
              ArrayList nodes = sax.getSchemaNodes();
              for(int i = 0; i < nodes.size(); i++)
                   SchemaNode sn = (SchemaNode)nodes.get(i);
                   if(sn.getName().equals(localname))
                        System.out.println(sn.getName() + " = " + lineNo);
         public void endElement(String namespaceURI,String localname,String rawname) throws SAXException
         public void characters(char [] buf,int offset,int len)
              lineNo++;
    }Cheers Alex

  • Trace events for Transport creation.

    Hi Guru's,
    I am hoping to run a program when a transport is created or changed. Thus I was trying to find if any events are raised when a transport is created.
    I am struggling to firstly find out how to trace which events are raised and secondly to see if there is a suitable event I can use.
    If anyone has any idea how I can run a program when a transport is changed or created that would be fantastic.
    Ross.

    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
    JServer Release 9.2.0.7.0 - Production
    SQL> execute sys.dbms_system.set_bool_param_in_session(22,658,'sql_trace',true);
    PL/SQL procedure successfully completed.
    SQL> execute sys.dbms_system.set_int_param_in_session(22,658,'max_dump_file_size',10000000);
    PL/SQL procedure successfully completed.
    SQL> execute sys.dbms_system.set_ev(22,658,10046,12,' ');
    PL/SQL procedure successfully completed.
    SQL> execute sys.dbms_system.set_ev(22,658,10046,0,' ');
    PL/SQL procedure successfully completed.
    SQL>
    ==================================
    oracle:/user/app/oracle/admin/INS/udump>ll
    total 36
    -rw-rw---- 1 oracle oinstall 1695 Aug 9 09:29 ins_ora_2530.trc
    -rw-rw---- 1 oracle oinstall 26596 Aug 8 16:37 ins_ora_3352.trc
    -rw-rw---- 1 oracle oinstall 1701 Aug 9 13:53 ins_ora_3630.trc
    oracle:/user/app/oracle/admin/INS/udump>
    ================================================
    parameters from the initialisation file
    db_block_size=8192
    db_block_checksum=FALSE
    background_dump_dest=$ORACLE_BASE/admin/INS/bdump
    user_dump_dest=$ORACLE_BASE/admin/INS/udump
    core_dump_dest=$ORACLE_BASE/admin/INS/cdump
    log_archive_dest="$ORACLE_BASE/admin/INS/archive"
    log_archive_start=TRUE
    log_archive_format="%t_%s.ARC"
    please suggest
    Altaf

  • Event for Cost Planning modification in Project System ( Cj40)

    Hi gurus,
    I'm unable to find a way to raise an event for the creation of cost plannning trought the CJ40. I've considered everything i know, from status change to exits/badi. Has anyone got similar requierements? ? I've seen some similar question in SDN, buy they are unaswered. 
    The only idea I have to create a document change from scratch, but i don't know if it it's possible.
    Any suggestions.
    Regards,
    Jose Rovira Ayza
    Barcelona, Spain

    I'm not an expert in the CJ40 transaction so there could be actually a standard solution. As far as your question is concerned, I will assume that change documents didn't work for you (transaction SWEC). If that is the case, have you considered implicit enhancement spots? If not, they could be an option. Basically, you find where the cost planning is saved. I'm talking about where the record is actually inserted into the database. It will typically be a function module. At the end of that function module, create an implicit enhancement implimentation. You need to check if the creation was successful and if so, create an event using function module SAP_WAPI_CREATE_EVENT. Just make sure you don't set the commit flag if the system is going to commit after the function module is called.

  • Reservation creation date

    Dear All,
    Please let me know, how to find the reservation creation date?
    sachin

    Dear,
    You wont get reservation creation date - only base date on which material required was available.
    The least importance in SAP ERP for reservations and main purpose of reservation is to reserve a mateiral. There is no cross checking and no claiming - that NO BODY CAN COMPLAIN BASED ON RESERVATION AS:
    I created reservation before 1 year, but no material issued. No authority to complain, only on the specified date material availabel or not??? So, least importance for reservation creation date.
    Regards,
    Syed Hussain.

  • Create new event for BOR object  for vendor creation

    Hello,
              I AM working on workflow.. Requrement is that , when a vendor is created I wanted the workflow to be triggered..
    But I dont find any bussiness object for this...
          Then I have created customized BOR object super type as LFA1. And created new event. Now I need to assign functionlity to this event, that is As soon as the vendor is created this event should be triggered so that I can use this as the start event for the workflow..
    Plz guide me ...
    Regards and Thanks,
    Poornima...

    Hi Poornima,
    Create a subtype and add the event in the BOR.
    Now call the FM  Userexit / BADI.
      CALL FUNCTION 'SAP_WAPI_CREATE_EVENT'
        EXPORTING
          OBJECT_TYPE             = 'ZKNA1'
          OBJECT_KEY              = OBJECT_KEY
          EVENT                   = 'ONSAVE'
    *   COMMIT_WORK             = 'X'
    *   EVENT_LANGUAGE          = SY-LANGU
    *   LANGUAGE                = SY-LANGU
    *   USER                    = SY-UNAME
    *   IFS_XML_CONTAINER       =
    * IMPORTING
    *   RETURN_CODE             =
    *   EVENT_ID                =
       TABLES
         INPUT_CONTAINER         = IT_CONTAINER
    *   MESSAGE_LINES           =
    *   MESSAGE_STRUCT          =
      IF SY-SUBRC <> 0.
        ENDIF.
    &******************Reward Point if helpful*************************&

  • Workflow event for  material reservation(mb21),QA02 transaction

    Hi,
      I created material reservation(mb21), but no event was triggered for the transaction.
      I checked for event in swel.(event trace is on).
      please let me know how to handle this.
      please also let me know the event of qa32.

    Here you go:
    MB21 ==>
    1. Create a subtype of BUS2093. (Through SWO1 T.code)
    2. Create an event "Created".   (Through SWU_EWCD T.code)
    QA32 is a report for Inspection Lot. Hence I infer you probably want creation event for a inspection lot.
    QA01 ==> Inspection lot
    BUS2045    --> Inspection lot
    Follow same steps of 1 & 2 above for the "Created" Event

  • Using event for communicating two object ?

    hi,
    i have two kinds of object, an producer and a consummator, i want to make them communicating with event.
    when the producer have information to send, it wrapped within an event an send it to the consummator, do you have some documentation how to do
    that, or samples
    thanks for your help

    If you are using your own event types you ould use the listener pattern. make an interface class that defines the listener type:
    public interface MyEventListener {
    public void handleEvent(MyEventType evt);
    then make the receiving class implement this inteface.
    now make the send class have methods for adding listeners:
    public class Sender {
    public void addListener(MyEventListener l) {
    //add to listener list
    public void sendEvent(MyEvent evt) {
    //loop thought listener list calling handleEvent(evt);
    }

Maybe you are looking for

  • Outlook Add-In for Acrobat Pro X

    I have Microsoft Office 2013 as well as Adobe Acrobat Pro X.  The Adobe Acrobat Add-In will not load in my Outlook.  It is not listed as disabled.  When I open up Outlook Options and go to the Add-In Manager, it is listed, but when I check it, it wil

  • XI Web Service - Code: (401) Unauthorized.

    Hi all, I'm new in XI. I'm trying to expose an outbound interface as a WebService. From "Integration Directory" GUI -> Tool -> Define Web Service ... and save de WSDL in a local file. Then I created a java client with WebDynpro model wizard from WSDL

  • Not able to see elements to design the screen.

    I have ECC 6.0 in our company. I started learning ABAP Webdynpro. When I opened the screen to design the first screen of my application with the  elements like label, input field, button etc...left hand side under favourites, only lines are there ins

  • IPhone 3G is dead

    I clicked erase all content so I could sell my iPhone 3G. Then the battery died in the middle of the process. I have held down the power and home and it did not do anything. Please tell me what to do so I can sell it. Is there something I can press,

  • Aperture 3 can't read iPhoto library

    I have my iPhoto library on an external drive that Aperture 2 could read just fine. After upgrading to Aperture 3, I can no longer import from iPhoto because it can't read the drive with my iPhoto libraries. It can read every other drive. Repairing t