EIM 4.3 - Modify object pattern to update customer name

Hi all
I  am recieving emails from a web form on a corporate website with client  details. The issue i am having is that the name is formated as;
Name: Matt Page
I  need to update the customer details when a request comes in so i use a  modify object node in the work flow. The issue is that you can only  enter first name and then last name into the modify object node. Is  there any way that i can use some sort of pattern to cut the name up  into first name second name? Or could i create a new attribute in the  tools called name?
Also is there a document that covers the syntax that you can use in patterns? Maybe i can do some sort of regular expression to cut it up?
Thanks,
Matt

Do you have a Basic or Advanced licence? I believe that with the Create Object element (in Advanced) you can hook in advanced pattern matching and substitution - but I have never done it, and eGain keep this knowledge close to their vests.
Regards,
Geoff

Similar Messages

  • Impact of Updating Customer Name in existing Open Sales Orders

    Hello,
    There's a requirement to update an existing Customer Name which we can very well do via API but what we tested the impact on :
    Sales Order in 'Entered status'
    Sales Order in 'Booked status'
    Sales Order in 'Shipped status'
    Sales Order in 'Closed status'
    Sales Order in 'Cancelled status'
    and the customer information was updated in all the above scenarios.
    The question/doubt I have is:
    1) Does the change in Customer Name has an impact in other modules like Service Contracts etc (In other words is the change reflected there automatically?)
    2) For an Sales Order in Shipped status with an Old customer Name and if we now change the customer name, will there be any impact in AR?
    To summarize will just changing the 'Customer Name' from 'Recievables' ensure that the change is flowed to all modules or is there a chance that somewhere in some module Customer Name is not in sync??
    Please come with suggestions/solutions/alternatives ...
    If you need any more information on this please let me know.
    Thanks in Advance!
    -Ajit

    Hi Jyoti,
    Thanx for the reply.
    You are correct, but for my question I am changing customer name at Recievables not in a Sales Order.
    When I change a Customer Name from Recievables it replaces all existing 'in-process' sales order with the new updated customer name(note that I am just updating the name thereby party_id etc columns remains the same...) in whatever Status it is.
    So my question was:
    1) Does the change in Customer Name has an impact in other modules like Service Contracts etc (In other words is the change reflected there automatically?)
    2) For an Sales Order in Shipped status with an Old customer Name and if we now change the customer name, will there be any impact in AR?
    To summarize will just changing the 'Customer Name' from 'Recievables' ensure that the change is flowed to all modules or is there a chance that somewhere in some module Customer Name is not in sync??
    Hope you got the point!
    Please provide your valuable inputs.
    Thanks,
    Ajit

  • Cannot update customer name in R12.0.6

    We are experiencing one issue where we cannot update the customer name in the customer form in AR. When we try to update a customer name we get an error message. "Error Page
    You have encountered an unexpected error. Please contact the System Administrator for assistance.
    Click here for exception details.

    Hi,
    Please post the complete error message, or check the log files for details about the error.
    Also, review these documents and see if it helps.
    Note: 739040.1 - Not Able To Update Customer name - Null pointer exception thrown
    Note: 779028.1 - R12 - java.lang.NullPointerException Error When Update Customer Name in Customers Screen
    Note: 745545.1 - R12 Customer Profile Page Produce Error When Insert Update
    Regards,
    Hussein

  • Need to Update Customer Address and Email Adress in AR

    Hi ,
    I am new to AR.
    I need to update Customer name and Email Address in AR. Can you please provide me if there is any API or Interface Exist.
    Also please provide me the steps and the maditory values which we need to provide during the updation.
    Regards
    Suresh P

    Check irep.oracle.com to find out about all available APIs
    Also check
    Oracle Integration Repository Documentation Resources Release 12 (Doc ID 396116.1)
    IREP - Oracle Integration Repository: The Tool To Find Which API Is Supported and How To Use It ... (Doc ID 554986.1)
    Hope this answers your question,
    Sandeep Gandhi

  • Transfer Object Pattern and Concurrency Transaction Mgmt

    I am developing an application that implements a remote rich client. For
    performance reasons I have chosen to use the Transfer Object pattern. I
    have been very successful with this from a performance standpoint, it
    really paid off. I am using it in combination with an assembler pattern
    to construct Transfer Objects for the view and to also reassemble domain
    objects based on changes made to transfer objects on my client side.
    Anyways the only problem I am having with it is I can't seem to figure
    out how I should implement optimistic locking with it. Is there a best
    practices to handle transaction control here?
    I generally try to keep visibility of stale data down, but there are still
    situations where concurrent clients could have requested to edit the same
    the Transfer Object at the same time. I would ideally like to handle this
    using a flavor of optimistic locking. I in fact have implemented
    optimistic locking on the domain side, but now I am not sure how or if I
    should integrate this into the Transfer Object or View side. The version
    field used in optimistic locking is generally a hidden field. The only
    way I can see to handle this with the view side is to expose this field on
    the Domain Objects and actually store it into assembeled transfer objects.
    This seems like it may be a bad idea from a design standpoint.
    The problem is the client requests data and it assembled and delivered to the client. Then at some later time the client may send a request to the server to update this data. At this time a new transaction must be started where the server reloads the domain data and copies over the requested changes. Since the domain data was just loaded you wouldn't ever trigger a versioning problem unless the version was maintained on the transfer object and copied over as well. I am developing this project with hibernate on the back end and unfortunately hibernate doesn't acknowledge manual changes to the version field.
    I just feel like there must be a better way to do this. I believe that using the Transfer Object or DTO pattern for remote client/server architectures is pretty common. So there must be a best practice to deal with concurrency? Suggestions, insight, lay it on me please.
    thx

    I personal respect both concepts and am using both in an application I am currently work.
    Firstly, I have my Transfer Object which I call xxxData.
    Next, the entities are called xxx
    I have my DAO classes that handles all CRUD operation. but within the DAO class I have two methods
    private <EntityClass> retrieveEntityFromObject(<EntityClassData> data) {}
    private <EntityClassData> retrieveEntityFromObject(<EntityClass> entity) {}so with these methods, I separate my business logic from my data layer. My codes will alway use data objects instead of entities. For example, a create method will be
    public ProductData createProduct(ProductData data)
         entity.persist(retrieveEntityFromObject(data));
    }I hope someone understands
    Regards

  • Existing Object Won't Update

    I have a Toplink/JSF application, and am having trouble modifying objects that are already stored in the database.
    Here's a scenario:
    1) Objects are read with a session.readAllObjects call. A JSF data table displays those objects.
    2) The user selects one of the objects in the data table. Upon pressing a "Choose" button, the chosen object is placed into a field called "chosenInstance" on a "backing_home" bean. This bean has session scope.
    3) The user can then navigate to various JSF pages. Each page displays the object and some of its related objects.
    4) The user can update data on a page. The JSF page binds af:inputText fields to the object stored in the backing_home bean like this: #{backing_home.chosenInstance.description}
    5) The user then presses the Save button. The action references the backing_home bean field, which has been now updated by the JSP, and ultimately issues the following method:
    public Object persist(Object entity) {
    UnitOfWork uow = getSessionFactory().acquireUnitOfWork();
    Object existingObject = uow.readObject(entity);
    Object returnInstance = null;
    if (existingObject != null) {
    uow.deepMergeClone(entity);
    returnInstance = existingObject;
    } else {
    returnInstance = uow.deepMergeClone(entity);
    uow.commit();
    return returnInstance;
    Unfortunately, this method never updates objects. As soon as the "uow.readObject(entity)" line exectues, the existingObject and the entity object are the same object.... so the uow.commit() line never executes any sql to the database... since it thinks no data has changed.
    In a simple test case for the above persist method, the method works ok. Is there something about my steps 1-5 that could be messing up my ability to persist object changes?

    Sounds like your application is modifying the objects retrieved from the session in step 1. Users should never directly modify these as they are from the shared session cache. When you eventually acquire a UnitOfWork and merge, it uses the objects in the shared cache to build a clone for comparison purposes, which is why it doesn't find any changes.
    Step 1 either needs to read from a UnitOfWork (and so operate on working copies), or clone the results returned from the session.
    Best Regards,
    Chris

  • Data access object pattern

    Hello,
    I am trying to implement the Data Access Object pattern and I have the following bean:
    package com.netpepper.ecards;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import javax.faces.application.Action;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    * @author Julien Martin
    * Card class: represents the card sent from a member of the public (the sender)
    * to another member of the public (the recipient).
    public class Card {
         private static Log log = LogFactory.getLog(Card.class);
         private long id;
         private String from_email;
         private String to_email;
         private String image;
         private String bgcolor;
         private String font;
         private String from_name;
         private String to_name;
         private String message;
         private String title;
         private boolean received;
         private boolean sent;
         private String send_date;
         private String response;
          * Public empty no-arg constructor
         public Card() {}
          * Full-fledged constructor
         public Card(
              long id,
              String from_email,
              String to_email,
              String image,
              String bgcolor,
              String font,
              String from_name,
              String to_name,
              String message,
              String title,
              boolean received,
              boolean sent,
              String send_date) {
              setId(id);
              setFrom_email(from_email);
              setTo_email(to_email);
              setImage(image);
              setBgcolor(bgcolor);
              setFont(font);
              setFrom_name(from_name);
              setTo_name(to_name);
              setMessage(message);
              setTitle(title);
              setReceived(received);
              setSent(sent);
              setSend_date(send_date);
          * @return the background color choosed by the sender.
         public String getBgcolor() {
              return bgcolor;
          * @return the font choosed by the sender.
         public String getFont() {
              return font;
          * @return the sender's email.
         public String getFrom_email() {
              return from_email;
          * @return the sender's name.
         public String getFrom_name() {
              return from_name;
          * @return the card's id.
         public long getId() {
              return id;
          * @return the image choosed by the sender.
         public String getImage() {
              return image;
          * @return the message input by the sender.
         public String getMessage() {
              return message;
          * @return <code>true</code> if the card has been received, <code>false</code> otherwise.
         public boolean isReceived() {
              return received;
          * @return <code>true</code> if the card has been sent, <code>false</code> otherwise.
         public boolean isSent() {
              return sent;
          * @return the title choosed by the sender.
         public String getTitle() {
              return title;
          * @return the recipient's email.
         public String getTo_email() {
              return to_email;
          * @return the recipient's name.
         public String getTo_name() {
              return to_name;
          * @param the background color choosed by the sender.
         public void setBgcolor(String string) {
              bgcolor = string;
          * @param the font choosed by the sender.
         public void setFont(String string) {
              font = string;
          * @param the sender's email.
         public void setFrom_email(String string) {
              from_email = string;
          * @param the sender's name.
         public void setFrom_name(String string) {
              from_name = string;
          * @param the card's id.
         public void setId(long i) {
              id = i;
          * @param the image choosed by the sender.
         public void setImage(String string) {
              image = string;
          * @param the message input by the sender.
         public void setMessage(String string) {
              message = string;
          * @param <code>true</code> if the card has been received, <code>false</code> otherwise.
          * If the application attempts to set the received field to true,
          * then the received field of the Card object is persisted to database
          * and an email is sent to the sender to notify them that the card has been received.
         public void setReceived(boolean b) {
              if (this.received == false && b == true) {
                   Mailer m = new Mailer();
                   try {
                        m.sendAcknowlegement(
                             to_email,
                             from_email,
                             from_name,
                             to_name,
                             id);
                        Connection con = DBConnection.getConnection();
                        PreparedStatement ps =
                             con.prepareStatement(Queries.setReceivedQuery);
                        ps.setLong(1, this.id);
                        ps.executeUpdate();
                        con.close();
                        this.received = true;
                   } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
          * @param <code>true</code> if the card has been sent, <code>false</code> otherwise.
          * If the application attempts to set the send field to true,
          * then the sent field of the Card object is persisted to database.
         public void setSent(boolean b) {
              if (this.sent == false && b == true) {
                   try {
                        Connection con = DBConnection.getConnection();
                        PreparedStatement ps =
                             con.prepareStatement(Queries.setSentQuery);
                        ps.setLong(1, this.id);
                        ps.executeUpdate();
                        con.close();
                   } catch (SQLException e) {
                        log.error("ERROR: impossible to update the sent field");
                        e.printStackTrace();
          * @param the title choosed by the sender.
         public void setTitle(String string) {
              title = string;
          * @param the recipient's email.
         public void setTo_email(String string) {
              to_email = string;
          * @param the recipient's name.
         public void setTo_name(String string) {
              to_name = string;
          * @return the send date.
         public String getSend_date() {
              return send_date;
          * @param the send date.
         public void setSend_date(String string) {
              send_date = string;
          * @return <code>true</code> if email has been sent, <code>false</code> otherwise.
         public boolean sendEmail() {
              try {
                   Mailer sm = new Mailer();
                   sm.sendCard(
                        this.from_email,
                        this.to_email,
                        this.from_name,
                        this.to_name,
                        this.id);
                   return true;
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
                   return false;
          * Retrieve the card from the database
         public static Card getCardFromId(int id) {
              Card c = new Card();
              c.id = id;
              try {
                   Connection con = DBConnection.getConnection();
                   PreparedStatement ps = con.prepareStatement(Queries.getCardFromID);
                   ps.setInt(1, id);
                   ResultSet rs = ps.executeQuery();
                   if (rs.next()) {
                        c.setBgcolor(rs.getString("db_bgcolor"));
                        c.setFont(rs.getString("db_font"));
                        c.setFrom_email(rs.getString("db_from_email"));
                        c.setTo_email(rs.getString("db_to_email"));
                        c.setFrom_name(rs.getString("db_from_name"));
                        c.setTo_name(rs.getString("db_to_name"));
                        c.setFont(rs.getString("db_font"));
                        c.setMessage((String) rs.getObject("db_message"));
                        c.setTitle(rs.getString("db_title"));
                        c.setSend_date(rs.getString("db_send_date"));
                        c.setImage(rs.getString("db_image"));
                        if (rs.getString("db_received").equals("y")) {
                             c.received = true;
                        } else if (rs.getString("db_received").equals("n")) {
                             c.setReceived(true);
                        if (rs.getString("db_sent").equals("y")) {
                             c.setSent(true);
                        } else if (rs.getString("db_sent").equals("n")) {
                             c.setSent(false);
                   System.out.println(c);
                   //con.close();
                   return c;
              } catch (SQLException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
                   return null;
         public String toString() {
              return ("Title: " + this.title + ", " + "Id: " + this.id);
          * @param string
         public void setResponse(String string) {
              response = string;
         protected String saveCard() {
              try {
                   Connection con = DBConnection.getConnection();
                   PreparedStatement ps = con.prepareStatement(Queries.saveCard);
                   ps.setLong(1, (new java.util.Date()).getTime());
                   ps.setString(2, this.from_email);
                   ps.setString(3, this.to_email);
                   ps.setString(4, this.image);
                   ps.setString(5, this.bgcolor);
                   ps.setString(6, this.font);
                   ps.setString(7, this.from_name);
                   ps.setString(8, this.to_name);
                   ps.setString(9, this.message);
                   ps.setString(10, this.title);
                   ps.setString(11, this.send_date);
                   ps.executeUpdate();
                   con.close();
                   return "saved";
              } catch (SQLException e) {
                   log.error("ERROR: impossible to save the card");
                   e.printStackTrace();
                   return "notSaved";
         public Action getSaveCard() {
              return new Action() {
                   public String invoke() {
                        return saveCard();
    }The full source code for the project can be downloaded here:
    http://cours.java.free.fr/ecards-project/
    I would like to decouple the bean from the jdbc but I don't know how to. Can anyone help please?
    I found some sampes here http://access1.sun.com/codesamples/DataAccessObject.html
    but it does not have any update jdbc.
    Julien.

    Your DAO should have methods for getting and setting beans.
    For example:
    public Card getCard(long id){...}
    public void updateCard(Card c) {...}

  • How to find out a list of modified objects in an SAP system

    Hi all, not sure if this is the right place to ask.
    In preparation for an upcoming upgrade of a SAP 4.6c system, I have been asked to generate a list of SAP objects that have been modified over the years.
    Is there a table or a report that I can use to find this out? Thanks!

    Hi,
    Please check the table TADIR. From that table u can get the modified object details.
    thanks,
    Senthil Kumar.C

  • ObjectOutputStream: Sending the same but modified Object twice

    Using the Windows JRE1.6_05 or the JRE 1.6 on Mac OS X and the following code for the client:
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.net.Socket;
    public class Client {
         public static void main(String[] args) throws Exception {
              Socket s=new Socket("127.0.0.1",5000);
              ObjectOutputStream oos= new ObjectOutputStream(s.getOutputStream());
              StringBuffer sb=new StringBuffer("foo");
              oos.writeObject(sb);
              sb.replace(0, sb.length(), "bar");
              oos.writeObject(sb);
    }and the following code for the server
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    public class Server {
         public static void main(String[] args) throws Exception {
              ServerSocket ss=new ServerSocket(5000);
              Socket s= ss.accept();
              ObjectInputStream ois= new ObjectInputStream(s.getInputStream());
              StringBuffer sb=(StringBuffer)ois.readObject();
              System.out.print(sb);
              sb=(StringBuffer)ois.readObject();
              System.out.println(" "+sb);
    }I expect to get the output "foo bar" but getting "foo foo". For every object type it is true that the non-modified object is received, if the same but modified object is sent twice. Is this a bug?

    burghard.britzke wrote:
    The substitution of writeObject(obj) with writeUnshared(obj) on the client and readObject(obj) with readUnshared(obj) lead to the "foo foo", too.I always use reset() on the OOS.
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ObjectOutputStream oos = new ObjectOutputStream(baos);
                StringBuffer sb = new StringBuffer("foo");
                oos.reset();
                oos.writeObject(sb);
                sb.replace(0, sb.length(), "bar");
                oos.reset();
                oos.writeObject(sb);
                oos.close();
                ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()));
                StringBuffer sb = (StringBuffer) ois.readObject();
                System.out.print(sb);
                sb = (StringBuffer) ois.readObject();
                System.out.println(" " + sb);
            }

  • If you mean you are having trouble activating your iPhone after  updating to iOS 6:  iOS 6.0.1  Generally this is a sign that the iPhone had previously been  hacked/modified/jailbroken and the update relocked it to the  original wireless carrier. If this

    If you mean you are having trouble activating your iPhone after
    updating to iOS 6:
    iOS 6.0.1
    Generally this is a sign that the iPhone had previously been
    hacked/modified/jailbroken and the update relocked it to the
    original wireless carrier. If this is the case, only that wireless
    carrier can unlock your iPhone. You must contact them to see
    if they offer unlocking and if you qualify.
    My phone is from USA and unlocked version and I paid 750 USD.
    Where did you acquire this iPhone?
    USA
    What wireless carrier did you use before this problem?
    I used BSNL - India previously. After I get problem, I used Mobily -Saudi Arabia again I got problem and I am trying to use Airtel - India.
    Does the app Cydia appear on your iPhone?
    What does It mean?
    What does it say when you look at Settings=>General=>About=>Carrier?
    Airtel 13.0

    It would be better for troubleshhoting if you posted back to your original question.... here

  • Modifying Object type

    Hi
    How do I modify object type without droping table containing that object?
    Thanks a lot

    You haven't given a great deal of information about which version of Oracle you're talking about.
    However the simple answer is if it's not version 9i then you're going to have huge problems with object evolution, no version prior to 9i has allowed you to easily modify an object and maintain any data in associated object tables (there ARE horrendous workarounds but if you can move to 9i it WILL save you a tremendous amount of headaches/hacks).
    John.

  • Best Practice Using Data Access Object Pattern

    I was wondering what would be the best approach with regards to implementing the Data Access Object pattern:
    Given the following database tables:
    teacher {teacher_id, teacher_name, ...}
    subject {subject_id, subject_name, ...}
    teacher_subject {teacher_id, subject_id}where teacher and subject hold details on teachers and subjects respectively and teacher_subject links teachers with the subjects that they currently teach, would I be better off:
    1) implementing three distinct DAO classes i.e. TeacherDAO, SubjectDAO, TeacherSubjectDAO, that correspond to each database table;
    2) implementing a single DAO class that controls access to all three tables, given that business operations often rely on access to all three tables e.g. getSubjectTeachers(Subject s), assignSubjectToTeacher(Subject s, Teacher t), getSubjectsTaughtBy(Teacher t)...
    Thanks
    Ian

    ...would I be better off:Depends on the system.
    If you are always going to have a teacher with subjects then all you need is one class.
    If on the other hand sometimes you are going to have subjects with teachers (given that you have a link table a many to many relationship exists) then two DAOs would exist.
    It would be unlikely for you to have a DAO for the link table unless perhaps you are anticipating a teacher having tens of thousands of subjects or one subject having tens of thousands of teachers.

  • Modify object fo material document

    Hi all,
           I'm looking for a modify object for a material document in order to start a workflow based on BUS2017. Someone knows which is the standard modify object?
    Thank you.
                            Gino Bonfiglioli

    The standard object doesn't exist!.
    Bye

  • Value Object Pattern - Does EJB 2.0 Deprecate?

    In the EJB 1.1 specification, there were no such things as Local Interfaces and Local Home Interfaces. In the Core J2EE Patterns book, they cite the main reason for using the Value Object Pattern as being a way to avoid much of the network overhead associated with using EJB; any call to an EJB potentially involves a remote call to the object even if it lives in the same JVM. But with EJB 2.0 you can have a Local Interface which seems to eliminate all this network overhead already.
    Anyone care to register an opinion on whether or not there are still valid reasons for implementing the Value Object Pattern when using EJB 2.0?
    Any input would be greatly appreciated!

    Yes - the fact that it's generally a bad idea to "tie" stateful information (e.g. EntityBeans) to a stateless front-end.
    In other words, it's better functionality to transfer "static" sets of data (Value Objects) in chunks from a business-layer (SLSBs, fronting the EntityBeans) than to have the front-end directly query the persistence tier. Also, using the Facade (and related) patterns as the go-between the view (front-end) layer and the persistence layer, you gain the flexibility of the persistence (and the business) layer changing without having to re-engineer the view at all.

  • Modify objects in file

    Hi guys...i am new to java and i face problem with an assignment. I am totally stack with the part where i have to modify objects in a file. Well i know how to write objects i know how to read them but i have no clue how to write again in the same file new objects without overwrite the file. Can u give me some help i wud appreciate it.

    I'm not sure exactly what it is you're trying to do. However, the objects in a serialization stream depend on each other; you can't just snip an object out of it or meddle with it freely without incurring side effects. It sounds like the simplest way to do what you want is to open the stream, read objects and write them to a new file, and change the object you want to change when it comes along.
    If you wanted to have a really delightful time of it, you could learn to interpret the serialization format used by ObjectOutputStream and manipulate it yourself using a RandomAccessFile or whatever... but that sounds like it's beyond the scope of your assignment.
    Does that help? If not, what exactly is it you need to do?

Maybe you are looking for

  • HU Identification error at the time of confirming Transfer order

    Hi Guys While confirming the Transfer order with respect to Outbound delivery We are getting this error Source storage unit we have provided is as per our naming convention : sea07+701 But it is giving this error :Enter a storage unit HU identificati

  • Does Apple still sell MacBook Pro non-Retina display?

    I would like to know if Apple still sell a MacBook Pro with non-Retina display

  • Separating Audio from Video

    is there any way to take a dvd and separate its audio from its video? meaning, if i wanted to take the movie "300" and i wanted to pull all of the audio tracks out separately so i could use them in final cut, how would i go about doing that? thanks

  • TopLink 9.0.4 to 10.1.3.1 upgrade issue

    I've encountered a problem when upgrading our application from TopLink 9.0.4 to 10.1.3.1. I have a persistent class AccountPosition that contains an aggregate object instance of the class FundQuantity. FundQuantity is basically a wrapper for a java.m

  • Is it possible to get the fields in to our user exit .....?

    Hi All,     In the user exit some structures are passed as import parameters in the function module. but we want other than those structure fields in to our user exit. that means those fields are dynamically populated in to the transaction.based on t