You can customize ATG Ticketing to track new ticket activities, allowing agents to search and sort tickets based on activity type. To create a new ticket activity type you must define the ticket activity, define the new repository item definitions and then display the ticket activities in Service Center.

  1. Add the necessary SQL tables used for saving the custom activity information.

    create table csrt_loyalty(
      idvarchar(40)not null,
      order_idvarchar(40)not null,
      pointsRedeemedinteger not null,
    , primary key (id));

    alter table csrt_loyalty set pessimistic;

  2. Add the repository item definitions to the TicketingRepository. For example,

    //Add the item descriptor

    <item-descriptor name="RedeemedLoyaltyPoints" super-type="ticketActivity"
      sub-type-value="RedeemedLoyaltyPoints" cache-mode="simple">
      <attribute name="resourceBundle"
        value="my.app.RepositoryTemplateResources"/>
      <table name="csrt_loyalty" id-column-name="id">
       <property name="pointsRedeemed" data-type="int" column-
         name="points_redeemed" display-name-resource="pointsRedeemed"/>
       <property name="orderId" data-type="string" column-name="order_id"
         display-name-resource="orderId"/>
      </table>
    </item-descriptor>

    //Add the activity type and application name to the base item descriptor

    <item-descriptor name="ticketActivity" sub-type-property="type">
      <table name="tkt_activity"  type="primary" id-column-name="activity_id">
        <property name="type" data-type="enumerated" column-name="type">
          <attribute name="propertySortPriority" value="20"/>
          <attribute name="useCodeForValue" value="false"/>
          <option value="RedeemedLoyaltyPoints" code="88001"/>
        </property>
        <property name="application" data-type="enumerated" column-
         name="application" required="true">
          <attribute name="propertySortPriority" value="30"/>
          <attribute name="useCodeForValue" value="false"/>
          <option value="MyAppName" code="88000"/>
        </property>
      </table>
    </item-descriptor>

  3. Use the TicketingManager API to create and add new ticket activities to a ticket.

    public void someMethod(....)
    {
    activity = ticketingManager.createActivity("RedeemedLoyaltyPoints", "My
    App Name", agentProfileRef,"My reason");
    ... set properties of item
    ticketingManager.addTicketActivity(ticketRef, agentProfileRef, activity);
    }


Copyright © 1997, 2013 Oracle and/or its affiliates. All rights reserved. Legal Notices