Genesys CTI User Forum
		Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: JTL on January 20, 2010, 06:42:54 PM
		
			
			- 
				can someone tell me exactly what the "Mark Done" button actually does? I mean, does it send "RecordProcessed"
If so, if I attach a KVP prior to "Mark Done" being hit, let's say:
D_Code=001
If I have a Custom Field in the calling list, also called D_Code, and with the send attribute set to "D_Code", should attaching that KVP automatically update the Custom Field when "Mark Done" is hit?
			 
			
			- 
				Grrrr
I am able to update Custom Fields by typing into them (right-hand pane).
But I want to update a Custom FIeld by ATTACHING DATA, based on a check-box (disposition code)
WHen the record is finished and marked done, any custom fields changed update properly, the call_result update properly, but my disposition code field doesn't! ALthough I can update this field by editing in the right hand pane!
OCS logs show:
EventAttachedDataChanged is ignored. Reason: agent is not in BusySeized or BusyRinging status.
Does this mean I'm using the wrong command to attach the data?
			 
			
			- 
				1. Do a custom softphone
2. Develop a JSP application for GAD to show on a new tab
			 
			
			- 
				[quote author=cavagnaro link=topic=5098.msg22583#msg22583 date=1264086478]
1. Do a custom softphone
2. Develop a JSP application for GAD to show on a new tab
[/quote]
I have a JSP app already, instead of the built in dispostion codes tab, but that seems to do the same thing... :(
			 
			
			- 
				Hi JTL,
Have you tried to update the current record using AIL method? You cannot just send some data to OCS. It's necessary to use correct method (UpdateCallCompletionStats).
R. 
			 
			
			- 
				[quote author=René link=topic=5098.msg22587#msg22587 date=1264106317]
Hi JTL,
Have you tried to update the current record using AIL method? You cannot just send some data to OCS. It's necessary to use correct method (UpdateCallCompletionStats).
R. 
[/quote]
Rene,
I am struggling to see why Genesys provide a built in "Disposition Code" function which DOESN'T do this, and whick hitting "Mark Done" doesn't simply do by default.
I'm now working with some customisation instead. There are 2 parts, a "disposition-codes-view.jsp" which simply displays a custom tab, like the built-in one does.
Then there is this "apply-codes.jsp" which takes the code and attaches it to the call.
If I were to change this code, perhaps that would be all I would need to do in order to get this working. The problem is, I'm not a java developer, and I don't know anyone who is who knows enough about Genesys to help me!
Can anyone suggest how I can change this JSP so the Disposition Code is properly stored in the Calling List? I simply thought it was necessary to attach it DURING THE CALL (e.g. whilst on ACW) then the UpdateCallCompletionStats / RecordProcessed would be done - therefore all my custom code would need to do would be to perform the attach.
This is how I understood the GAD and OCS documentation, anyway!
The thing is, as I said above, this method works fine for editing Custom Fields in the right-hand pane!  There must be something underpinning the "Update Record" button which does something different to "Mark Done" on its own.
Anyway, here is the code:
<%@ page language="java" buffer="none" %>
<%@ page import="com.genesyslab.ail.AilLoader" %>
<%@ page import="com.genesyslab.ail.AilFactory" %>
<%@ page import="com.genesyslab.ail.Interaction" %>
<%@ page import="com.genesyslab.ail.exception.RequestFailedException" %>
<%
    /* Get data from request
     */
    String idInteraction = (String)request.getParameter( "idInteraction" );
    String[] codeIds = (String[])request.getParameterValues( "codeId" );
    String[] codeChecked = (String[])request.getParameterValues( "codeChecked" );
    /* Initialize AIL related data
     */
    AilFactory factory = AilLoader.getAilFactory();
    Interaction interaction = factory.getInteraction( idInteraction );
    /* Apply disposition code in interaction
       Here set attached data
       This part can be changed to store the disposition on another container
       as a file, a database...
     */
    try {
        interaction.removeAttachedData("DispositionCode");
        for (int i=0;i<codeIds.length;i++) {
            if ("true".equals(codeChecked[i])) {
                interaction.setAttachedData("DispositionCode",codeIds[i]);
                break;
            }
        }
		
        interaction.saveAttachedData();
    } catch( RequestFailedException requestFailedException ) {
        System.out.println("Attached data update failed: "+requestFailedException);
    }
    response.setStatus( HttpServletResponse.SC_NO_CONTENT );
%>
			 
			
			- 
				I'm trying to enable dispostion codes, the vanilla tab... I'm lost with the documentation about picking a value pair to enable the disposition code GUI.
I'm mostly a business user, and dont have technical resources to code me something custom for the desktop in this round. I just want to get dispositions in a list that can be checked off by the rep.  
I guess I could do this as a custom field user defined field. but i dont want the agent to have to type in a value, should just be able to select from a list of values, drop down, check or radio box etc..... 
Admittedly I'm a ignorant business user, but in this climate of layoffs I try to step up to do whatever I can to keep my paycheck.
			 
			
			- 
				Please don't mix posts, open a new one and it will be easy to track down.