IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
  • 1.  Copy record data to another record using a business rule/macro

    Posted Tue March 20, 2018 04:22 PM

    Hello -

    We have a need in one of our applications to copy data from one record to another record when the status changes to close if both records share an id field value.

    Example: copy the value from a date field, the value from a text field and a picklist value when the status is changed to closed from one record to another record if both records share the same value of a field named id (record_1 id = 123 and record_2 id = 123).

    Any help would be greatly appreciated.


    #webMethods
    #webMethods-BPMS
    #AgileApps


  • 2.  RE: Copy record data to another record using a business rule/macro

    Posted Thu March 22, 2018 07:19 AM

    Hi Dan Ruffcorn,

    This can be achieved by a custom field named id because the internal field record_id is unique for all records.
    We can copy the data from one record to another record by invoking a business rule having the condition, status equals to closed that executes the below class.

    import com.platform.API.*;
    public class CopyRecorddata
    {
    public void copyRecord(Parameters params) throws Exception
    {

        String priority =  (String)params.get("priority");
    String subject = (String)params.get("subject");
    String closedate = (String)params.get("date_closed");
    String customid = (String)params.get("custom_id");
    String sql1="SELECT * from OBJECT NAME where custom_id= "+customid ;
    Result Res=Functions.execSQL(sql1);
    ParametersIterator it=Res.getIterator();
    Parameters param = it.next();     
    String recordid=(String)param.get("id");
    Parameters pm = Functions.getParametersInstance(); 
    pm.add("priority", priority );
    pm.add("subject", subject );
    pm.add("date_closed", closedate );
    
    try
    {
    Result result = Functions.updateRecord("OBJECT NAME",recordid,pm);
    
    }
    catch (Exception e)
    {
    
    }
    }
    

    }

    Regards,
    Mudassir Afreen


    #webMethods
    #webMethods-BPMS
    #AgileApps


  • 3.  RE: Copy record data to another record using a business rule/macro

    Posted Thu May 03, 2018 04:40 PM

    Thank you for this.

    When I implement it, I receive an error (screenshot attached).

    Any help would be greatly appreciated.
    error.JPG


    #webMethods-BPMS
    #AgileApps
    #webMethods


  • 4.  RE: Copy record data to another record using a business rule/macro

    Posted Tue May 08, 2018 09:58 AM

    Hi Dan Ruffcorn,

    You are facing this issue because you are not changing the OBJECT NAME and field names. After creating the above class please replace the OBJECT NAME with your object name and the object should contain the fields subject, custom_id, priority and date_closed. Then it will work.

    Regards,
    Mudassir Afreen


    #webMethods
    #webMethods-BPMS
    #AgileApps


  • 5.  RE: Copy record data to another record using a business rule/macro

    Posted Tue May 08, 2018 01:33 PM

    Hello Mudassir Afreen,

    Thank you for replying. I appreciate you working with me on this.

    I did replace OBJECT NAME with the name of the object I am referencing, and changed the fields subject, priority, and closed date with the fields I want to use. The object I am using is not a case object and therefore does not have the fields close date, subject or priority.

    Maybe I explained what I want incorrectly:

    When a new person record is added (person object), a field is created called household id. Any person with the same address shares this household id. When one of these persons needs equipment, a request is created (request is the case object). When the request is closed, the equipment (inventory object) is assigned (the way it is assigned is the household id is added the inventory record, the field is called client household id) to the person. I would like this piece of equipment to be assigned to all persons with the same household id.

    All 3 objects contain lookups to each object.

    Thank you for taking time to help me with this.

    Added the code I am using:

    package com.platform.copy.copyRecord;
    import com.platform.API.*;
    public class CopyRecord
    {
    public void copyRecord(Parameters params) throws Exception
    {

    String modelname = (String)params.get(“model_name”);
    String serialnumber = (String)params.get(“serial_number”);
    String installdate = (String)params.get(“install_date”);
    String customid = (String)params.get(“client_household_id”);
    String sql1="SELECT * from Inventory_Item where household_record= "+customid ;
    Result Res=Functions.execSQL(sql1);
    ParametersIterator it=Res.getIterator();
    Parameters param = it.next();
    String recordid=(String)param.get(“id”);
    Parameters pm = Functions.getParametersInstance();
    pm.add(“model_name”, modelname );
    pm.add(“serial_number”, serialnumber );
    pm.add(“install_date”, installdate );

    try
    {
    Result result = Functions.updateRecord(“Inventory_Item”,recordid,pm);

    }
    catch (Exception e)
    {

    }
    }
    }


    #AgileApps
    #webMethods-BPMS
    #webMethods


  • 6.  RE: Copy record data to another record using a business rule/macro

    Posted Thu May 17, 2018 07:12 AM

    Hi Dan Ruffcorn,

    only one user can be a part of the owner. If you want to assign then
    1.Create the replica of the same record equal to the number of persons having same household id and assign each record to each person.
    or
    2. Create teams with the persons having same household id and assign the record to the respective team.

    Regards,
    Mudassir Afreen


    #AgileApps
    #webMethods-BPMS
    #webMethods