Buddy,

Tge 

On Monday, July 24, 2017 at 11:15:39 PM UTC-4, Buddy Walker wrote:
>
> Without knowing your table and column layout it is hard to guess what the 
> problem would be; therefore, my code is all assumption. 
>
>  
>
> You need to make sure you are looking at the data based on date. If there 
> is more than one date for an agent it will be updated with the last date 
> found.
>
>  
>
> Buddy:
>

The Select Statment:

    SELECT MIN(start_time), MAX(Customer_End_Time) INTO vminstart INDICATOR 
iv1, vmaxend INDICATOR iv2 +
      FROM AHL2 WHERE DEXTRACT(Customer_Start) = .vdateworked and (Agent) = 
.vagenttxt 

is pulling from all records for the MIN(start_time) and the 
MAX(Customer_End_Time) for the entire day rather than for the specific 
Agent.

Not sure how to adjust the SELECT statement to look only at the spcific 
agenet for the specific date.

Thanks again,

Larry

>  
>
>  
>
> *From:* [email protected] <javascript:> [mailto:
> [email protected] <javascript:>] *On Behalf Of *lwilson
> *Sent:* Monday, July 24, 2017 10:49 PM
> *To:* RBASE-L <[email protected] <javascript:>>
> *Subject:* [RBASE-L] - Re: Do-Loop Processing Help
>
>  
>
> Thanks Again Buddy,
>
>  
>
> The process completed. However, the updated times were not correct. It 
> appears that all of them were way off.
>
> Example the results for very first Agent:
>
>  
>
> Production Table:
>
> Start for 1st Call: 16:59:04
>
> End of Last Call: 22:25:22
>
>  
>
> ActualWorked (Updated:
>
> StartOfFirstCall: 00:00:21
>
> EndOfLastCall: 23:38:03
>
>  
>
> These times are way off. Most of the updated StartOfFirstCall is around 
> :00:00:01 and 01:00:00
>
>  
>
> Below is the updated script:
>
> **************************************************
>
>  SET VAR vagenttxt TEXT
>
>   SET VAR vdateworked DATE
>
>   SET VAR vminstart TIME
>
>   SET VAR vmaxend TIME
>
>  
>
>   SET ERROR MESSAGE 705 OFF
>
>   DROP CURSOR c1
>
>   SET ERROR MESSAGE 705 ON
>
>   DECLARE c1 CURSOR FOR SELECT Agent, Start_date +
>
>     FROM ActualWorked
>
>   OPEN c1
>
>   FETCH c1 INTO +
>
>     vagenttxt INDICATOR ivvar1, +
>
>     vdateworked INDICATOR ivvar2
>
>  
>
>   WHILE SQLCODE <> 100 THEN
>
>  
>
>     SELECT MIN(start_time), MAX(Customer_End_Time) INTO vminstart 
> INDICATOR iv1, vmaxend INDICATOR iv2 +
>
>       FROM AHL2 WHERE DEXTRACT(Customer_Start) = .vdateworked
>
>  
>
>  
>
>     UPDATE ActualWorked SET StartOfFirstCall = .vminstart, EndOfLastCall = 
> .vmaxend WHERE CURRENT OF c1
>
>  
>
>     FETCH c1 INTO +
>
>       vagenttxt INDICATOR ivvar1, +
>
>       vdateworked INDICATOR ivvar2
>
>  
>
>   ENDWHILE
>
>   DROP CURSOR c1
>
>  
>
> LABEL done
>
>  
>
>   CLEAR ALL VARIABLES
>
>  
>
>   RETURN
>
> **********************************************************
>
>  
>
>  
>
> On Monday, July 24, 2017 at 12:27:23 PM UTC-4, lwilson wrote:
>
>  
>
> Do-Loop Help in Updating a Table
>
>  
>
> I know this can be done with a ‘Do-Loop.” However, as a returning RBase 
> users, candidly I have forgotten how.
>
> I think it is combination of Cursor, While & Endwhile. Just not sure how 
> to set the script.
>
>  
>
> Can anyone provide a sample script for how to set this up.
>
>  
>
>  
>
> *Scenario:*
>
>             Small Call Center with 15 Agents
>
>             Volume approx. 84,000 calls/year
>
> *Problem:*
>
>             Validate that the Agents have worked their Scheduled 
> shift/hours
>
> *Database Tables*
>
>             Production table with all call activity '*AHL'* (Multiple 
> Calls per day)
>
>                         Date/Time of Call (DATETIME)
>
> Start of Call Time (TIME)
>
>                         End of Call Time (TIME)
>
>                         Agent (TEXT)
>
>            * 'Actual_Work' *(One record for each actual day worked for 
> each Agent)
>
>                         Agent (TEXT)
>
>                         Date Worked (DATE)
>
>                         Shift Ex. 7:30AM-3:30PM (TEXT)
>
>                         Scheduled Start Time (TIME)
>
>                         Scheduled End Time (TIME)
>
>                         NEW COLUMNS TO BE UPDATED
>
>                                     Start_of_First_Call (first call of the 
> day) (TIME)
>
>                                     End_of_Last_Call (Last call for the 
> day) (TIME)
>
>  
>
> Once I get the table updated, I want to compare the ‘Scheduled’ Shift 
> hours to the Actual ‘Hours Worked.
>
>  
>
> The benchmark measures whether agents are on time for their shifts, 
> whether they go to lunch and take breaks according to the schedule. This is 
> particularly important in smaller call centers because there is not as much 
> room for error. Some small centers may only have 2 agents on call at any 
> time. *The global metric is 95%. *
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "RBASE-L" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"RBASE-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to