Query for transferred calls

I am attempting to create a report of transferred calls from the calldetailrecord table in the CDR database using Call Manager 4.2. I have read the documentation provided for the table and it looks to me like if there is a call from 555-1212 to ext 100 and ext 100 transfers it to 101, I should see something like this:
CallingPartyNumber,FinalCalledPartyNumber
555-1212,100
100,101
555-1212,101
However, I have a few problems. First of all, I can't find anything like this pattern in over 4 months worth of data from our system, where lots of calls are transferred each day, although right now I'm just kind of combing through using different queries by time etc. Also, I have a lot of records where the CallingPartyNumber column is blank, or the OriginalCalledPartyNumber field has a weird value starting with b, like b5627368934. Also I cannot seem to determine which column would link together all of the segments of a call for a transferred call, so that I can see all transfers for one actual call (which is why I'm just trying all sorts of different queries right now). Can anyone help me out with an example query to find some transferred calls and list out all of the transfers for each call?
Thanks

Hi,
OriginalCalledPartyNumber beginning with 'b' means conference call to conference Bridge.
Transfered calls you can analyze using lastRedirectDN (redirecting number) field.
Empty callingPartyNumber means that PSTN caller has restricted number presentation.
Detailed CDR description for CCM 4.2.3 you can find at:
http://www.cisco.com/univercd/cc/td/doc/product/voice/vpdd/cdd/4_2/4_2_3/cdr423.pdf
regards,
pk

Similar Messages

  • Query  for transfering rm from on whse to another

    hi,
    i need a query so that my particular user gets an alert while transferring material to one whse to another.
    i have assigned the approval .
    whse names are
    bdi-m  bdi-pcb

    An approval for this type of transaction is not possible, because only header level information is accessible in an alert query (you can refer only to the first line row level information). And in an inventory transfer only the u2018fromu2019 warehouse is at the header level. 
    An alert is a message after an event you want to send information about. So it shows result only after adding the transaction. For this purpose you can try this:
    SELECT T0.[DocNum], T0.[DocDate], T1.[ItemCode], T1.[Quantity]
    FROM OWTR T0  INNER JOIN WTR1 T1 ON T0.DocEntry = T1.DocEntry
    WHERE T0.[Filler] ='bdi-m' and  T1.[WhsCode] ='bdi-pcb'
       and datediff(d,T0.[DocDate],getdate())=0

  • Uc500 tone for transferring calls?

    Every client has a unique request/comment.  My current client thinks the uc560 works too well.  It's 8.6.2   When the client transfers a call and the caller is dumped to the new receipient, the client thinks it's "too clean", "too perfect".  Is there a tone that can be generated when the call is handed off?   The concern is that the new receipient doesn't know the transfering person has handed off the call because there's no click etc.  Can a tone be generated for that so the receipient knows the transfer process has been completed and they are now talking to the caller?
    thanks!

    thank you sir.. thank you for the great help you've provided during the life of this wonderful system..  was a fun run

  • Query for service call

    Hi,
    Below is the query written to display all the service call records with customized field.
    However I found out that not all the records will be displayed, the missing records will be the service call that without solution.
    Can anyone please help to refine the query? So that the query will display records even the one without any solution.
    Thanks
    SELECT T0.[callID], T0.[U_CASEID],T0.[createDate] as 'Case No Created Date', T0.[U_RMAID],T0.[U_RMADATE] as 'RMA No Created Date', T0.[U_RMAID2], T1.[name] as 'Status', T0.[custmrName],T0.[U_CustomerName], T0.[itemcode], T0.[internalSN], T0.[subject], T3.[Subject] as 'Solution', T0.[updateDate], T0.[closeDate], T0.[assignee] FROM  OSCL T0  INNER JOIN OSCS T1 ON T0.status = T1.statusID INNER JOIN SCL1 T2 ON T0.callID = T2.srvcCallID INNER JOIN OSLT T3 ON T2.solutionID = T3.SltCode  WHERE (T0.[customer] =[%0] OR '[%0]'='') AND (T0.[U_CASEID] >=[%1] OR '[%1]'='') AND  (T0.[U_CASEID] <=[%2] OR  '[%2]'='') AND (T0.[U_RMAID] >=[%3] OR  '[%3]'='') AND  (T0.[U_RMAID] <=[%4] OR  '[%4]'='') AND (T0.[U_RMAID2] >=[%5] OR  '[%5]'='') AND  (T0.[U_RMAID2] <=[%6] OR  '[%6]'='')

    Hi,
    Try this:
    SELECT T0.[callID], T0.[U_CASEID],T0.[createDate] as 'Case No Created Date', T0.[U_RMAID],T0.[U_RMADATE] as 'RMA No Created Date', T0.[U_RMAID2], T1.[name] as 'Status', T0.[custmrName],T0.[U_CustomerName], T0.[itemcode], T0.[internalSN], T0.[subject], T3.[Subject] as 'Solution', T0.[updateDate], T0.[closeDate], T0.[assignee]
    FROM  OSCL T0  left JOIN OSCS T1 ON T0.status = T1.statusID left JOIN SCL1 T2 ON T0.callID = T2.srvcCallID left JOIN OSLT T3 ON T2.solutionID = T3.SltCode 
    WHERE (T0.[customer] =[%0] OR '[%0]'='') AND (T0.[U_CASEID] >=[%1] OR '[%1]'='') AND  (T0.[U_CASEID] <=[%2] OR  '[%2]'='') AND (T0.[U_RMAID] >=[%3] OR  '[%3]'='') AND  (T0.[U_RMAID] <=[%4] OR  '[%4]'='') AND (T0.[U_RMAID2] >=[%5] OR  '[%5]'='') AND  (T0.[U_RMAID2] <=[%6] OR  '[%6]'='')
    Thanks & Regards,
    Nagarajan

  • SQL query in ART database for incoming calls

    This is the sql statement I am using to pull records from ART database below. After looking at the data pulled I am not getting incoming calls. What colum do I need to include.
    select user_id, orig_party_number, orig_called_party_number, final_destination, connect_date, disconnect_date, (disconnect_date - connect_date) as duration, call_type, call_classification from Tbl_Billing_Data where orig_party_number = '50656' and timestamp > '2006-01-03' and timestamp < '2006-01-31'

    Query the CDR DB directly instead of ART and use this query for inbound:
    PARAMETERS [Called Number] Text ( 255 ), [Start Date] DateTime, [End Date] DateTime;
    SELECT DateAdd("s",[dateTimeOrigination],"31-Dec-1969 19:00:00") AS [Origin DateTime], IIf(dateTimeConnect<>0,DateAdd("s",[dateTimeConnect],"31-Dec-1969 19:00:00"),DateAdd("s",[dateTimeDisconnect],"31-Dec-1969 19:00:00")) AS ConnectDateTime, DateAdd("s",[dateTimeDisconnect],"31-Dec-1969 19:00:00") AS DisconectDateTime, dbo_CallDetailRecord.callingPartyNumber, dbo_CallDetailRecord.finalCalledPartyNumber, dbo_CallDetailRecord.duration AS Duration
    FROM dbo_CallDetailRecord
    WHERE (((dbo_CallDetailRecord.callingPartyNumber)<>"") And ((dbo_CallDetailRecord.finalCalledPartyNumber)=[Called Number]) And ((dbo_CallDetailRecord.dateTimeOrigination)>=DateDiff("s",#31/12/1969 19:0:0#,[Start Date]) And (dbo_CallDetailRecord.dateTimeOrigination)<=DateDiff("s",#31/12/1969 19:0:0#,[End Date])));
    adignan - berbee

  • Return Code - Query for Multiple Rows as XML

    Hi,
    I'm executing an MSSQL stored procedure through the "Query for Multiple Rows as XML" activity in LiveCycle ES. I do this through a call statement such as this:
    { call MyStoredProc(?) }
    This works great, the stored procedure always returns a record set (with or without records). I use this activity rather than "Call Stored Procedure" because I can transform the record set into XML right away within this activity. Unfortunately any exception arising from invoking this stored procedure cannot be handled within the workflow as this activity does not have an exception handler (lightning bolt). In an attempt to handle at least some exceptions we have decided to use try/catches within the stored procedures and return different error codes. Now the problem I am faced with is that there is no way to retrieve the returned code within any of the SQL activities. We don't want to have to write an execute script for each of these SQL calls. Is there any way to do this? Seems like I'm 95% there.
    Thanks
    Nic

    Thanks for the offer, unfortunately we would need something certified by Adobe.
    Nic

  • Problem with query for Oracle

    Hello Experts,
    I'm tryng to develop my first application for EP (v7 SP12) with NWDS (without NWDI).
    This application has to read and write data in the EP DB (oracle v10).
    I'm using:
    <u>a Dictionary Project</u> (define the DB Tables)
    <u>a Java Project</u> (define class as DAO, DBManager etc)
    <u>a Library Project</u>
    <u>an EJB Project</u>
    <u>an EAR Project</u>
    With these projects I can deploy a <u>webService</u> in my EP server.
    BUT I have some problem with a query that I'm tryng to sent to my DB through a DAO Class called by my WebService.
    The query is simple and correct but it does not work...
    This is the error message returned (the query id in bold)
    (column names: GIORNO, NOMEDITTA, NOMEAREA, NOMESETTORE)
    <i>HTTP/1.1 500 Internal Server Error
    Connection: close
    Server: SAP J2EE Engine/7.00
    Content-Type: text/xml; charset=UTF-8
    Date: Fri, 21 Sep 2007 14:29:57 GMT
    Set-Cookie: <value is hidden>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>java.sql.SQLException: com.sap.sql.log.OpenSQLException: The SQL statement <b>"SELECT NOMESETTORE, MIN(? - "GIORNO") AS GIORNI FROM SRS_DATEINFORTUNI WHERE NOMEDITTA = ? AND NOMEAREA= ? GROUP BY NOMESETTORE ORDER BY NOMESETTORE"</b> <u>contains the syntax error[s]: - 1:25 - the arithmetic expression >>? - "GIORNO"<< contains a host variable (parameter marker)</u></faultstring><detail><ns1:getGiorniSettori_com.akhela.giorniSenzaInfortuni.ejb.exception.GiorniSenzaInfortuniException xmlns:ns1='urn:GiorniSenzaInfortuniWSWsd/GiorniSenzaInfortuniWSVi'></ns1:getGiorniSettori_com.akhela.giorniSenzaInfortuni.ejb.exception.GiorniSenzaInfortuniException></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope></i>
    The variable '?' is the today date, the difference <b>"(?-GIORNO)"</b> is an int..
    Moreover in my DAO class the query is <b>"SELECT NOMESETTORE, MIN(? - GIORNO) AS GIORNI FROM SRS_DATEINFORTUNI WHERE NOMEDITTA = ? AND NOMEAREA= ? GROUP BY NOMESETTORE ORDER BY NOMESETTORE</b>", instead in the error message is reported <b>MIN(? - "GIORNO")</b>...
    We have tryed also with alternative query, for example we used <b>"MIN(SYSDATA - GIORNO)"</b> but <b>SYSDATA</b> was interpreted as column name and  not found....
    Any help???
    Best Regards

    Hi, I found something about the Host Variable (http://help.sap.com/saphelp_nw70/helpdata/en/ed/dbf8b7823b084f80a6eb7ad43bdbb9/content.htm), there explain that if you want to use an host variable you have to put ':' as prefix..
    My problem is that <u>I need to extract the minimum of the subtraction between two dates:</u>
    Query <b>MIN(? - GIORNO)</b> --> <i>Error: the arithmetic expression >>? - "GIORNO"<< contains a host variable (parameter marker)</i>
    So I tried to use the ':' as indicated in the manual..
    <b>MIN:(? - GIORNO)</b> --> - <i>SQL syntax error: the token ":" was not expected here
                   - expecting LPAREN, found ':'</i>
    <b>MIN(:(? - GIORNO))</b> --> <i>- 1:25 - Open SQL syntax error: :PARAMETER not allowed
                   - 1:26 - SQL syntax error: the token "(" was not expected here
                   - 1:26 - expecting ID, found '('</i>
    Then I tried to avoid the MIN() function and I tried to do just the subtraction:
    <b>? - GIORNO</b> --><i> - 1:21 - the arithmetic expression >>? - "GIORNO"<< contains a host variable (parameter marker)</i>
    <b>:(? - GIORNO)</b> --> <i>- 1:21 - Open SQL syntax error: :PARAMETER not allowed
                - 1:22 - SQL syntax error: the token "(" was not expected here
                - 1:22 - expecting ID, found '('</i>
    <b>'2007-09-24' - GIORNO</b> --> <i>- 1:34 - SQL syntax error: first argument of operator "-" must be a number, date/time or interval
                     - 1:43 - SQL syntax error: arguments of operator "-" do not have correct types
                     - 1:43 - SQL syntax error: derived columns in SELECT list with AS must be values</i>
    <b>GIORNO - GIORNO</b> --> <i>- 1:21 - the group by list and the select list are inconsistent: the column >>"GIORNO"<< is neither grouped nor aggregated
                  - 1:30 - the group by list and the select list are inconsistent: the column >>"GIORNO"<< is neither grouped nor aggregated</i>
    Why these parts of query are not accepted???
    I don't understand why... I hope you can help me.
    Best Regards
    Alessandro

  • QUERY FOR CUSTOMERS FULL DEBIT AND CREDIT WITH CLOSING BALANCE

    Hi Friends,
       I need query for CUSTOMERS FULL DEBIT AND CREDIT WITH CLOSING BALANCE for selection criteria from date and to date.
       I know the Trial Balance Report will sort out this issue... but i need routeday wise report
    1. Business Partner Master Data - i created one UDF field called U_Routeday (MONDAY, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY)
    2. The query should be like selection criteria 
                                  - Routeday [%0]
                                  - Posting Date [%1]                           
                                  - Posting Date [%2]
    CardCode
    Debit
    Credit
    Balance
    D10503
    25031.50
    24711.50
    2962.00
    D10641
    5466.00
    7460.00
    285.00
    D10642
    2866.00
    142.00
    give any helpful query ASAP... Thanks in advance

    Hi,
    Try this query:
    Declare
    @fromdate as datetime
    Declare
    @Todate as datetime
    Declare
    @Code as nvarchar(25)
    set
    @fromdate = ( select min(Ta.[RefDate]) from OJDT ta where
    Ta.[RefDate] >= [%0])
    set
    @Todate = ( select max(Tb.[RefDate]) from OJDT tb where Tb.[RefDate]
    <= [%1])
    set
    @code = (select max(Tc.[ShortName]) from JDT1 tC where Tc.[ShortName]
    = [%2])
    SELECT
    [Name] as AcctName, [Jan]= sum([1]), [Feb]= sum([2]), [Mar]=
    sum([3]), [Apr]= sum([4]),  [May]= sum([5]), [June]= sum([6]),
    [July]= sum([7]), [Aug]= sum([8]), [Sept]= sum([9]), [Oct]=
    sum([10]), [Nov]= sum([11]), [Dec]= sum([12]), total = sum
    (isnull([1],0)+ isnull([2],0) + isnull([3],0) + isnull([4],0) +
    isnull([5],0) + isnull([6],0) + isnull([7],0) + isnull([8],0) +
    isnull([9],0)+ isnull([10],0) + isnull([11],0) + isnull([12],0))
    from
    (SELECT
    T0.[ShortName] as Name, sum(T0.[Debit]-T0.[Credit]) as T,
    month(T2.[RefDate]) as month FROM JDT1 T0  INNER JOIN OACT T1 ON
    T0.Account = T1.AcctCode INNER JOIN OJDT T2 ON T0.TransId =
    T2.TransId WHERE T2.[RefDate] between @fromdate and @todate and
    T0.[ShortName]  = @code  GROUP BY T0.[ShortName],T2.[RefDate] ) S
    Pivot
    (sum(T)
    For  Month IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) P
    group
    by [Name],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]
    Let me know your result.
    Thanks & Regards,
    Nagarajan

  • What is the query for Accounts Payable Trial Balance (APXTRBAL) in 11.5.10?

    Hi Guys,
    What is the query for Accounts Payable Trial Balance (APXTRBAL) in 11.5.10?
    I have to write an AP Invoice Aging Report in Discoverer to show all unpaid invoices that have been transferred into GL... Business wants it to match one-to-one with the AP Trial Balance standard report...
    Business wants to run the report for any date in a past...
    The report has two parameters:
    As Of Date - the same as As of Date for the AP Trial Report
    Trial Balance Run Date - the date when Trial Balance was run...
    Conditions are:
    TRUNC(Invoice Date) <=TRUNC(NVL(TO_DATE(:As Of Date),SYSDATE))
    TRUNC(NVL(Payment Date,'01-JAN-5000')) > TRUNC(NVL(TO_DATE(:As Of Date),SYSDATE))
    TRUNC(Invoice Creation Date) <= TRUNC(NVL(TO_DATE(:Trial Balance Run Date),SYSDATE))
    Distr Accounting Date <= TRUNC(NVL(TO_DATE(:As Of Date),SYSDATE))
    NVL(Distr Creation Date,Invoice Creation Date) <= TRUNC(NVL(TO_DATE(:Trial Balance Run Date),SYSDATE))
    Show_Flag = 'YES', where:
    Show_Flag = CASE WHEN ( NVL(Cancelled Date,'01-JAN-1901') > NVL(:As Of Date,SYSDATE) AND NVL(Inv Amount Aud,0) = 0 ) THEN 'YES' ELSE ( CASE WHEN NVL(Inv Amount Aud,0) = 0 THEN 'NO' ELSE 'YES' END ) END
    There is a difference between the logic of my report, and the logic of AP Trial Balance...
    Could you please advise what I'm missing?
    Thanks,
    Iana

    What is the query for Accounts Payable Trial Balance (APXTRBAL) in 11.5.10? You can get the code by opening the report in Reports Builder and get the query.
    Or, enable trace/debug as per (FAQ: Common Tracing Techniques within the Oracle Applications 11i/R12 [ID 296559.1]).
    Thanks,
    Hussein

  • Report on transferred calls

    I need to report on transferred calls. Agents are using standard CAD and selecting the transfer icon. Within the transfer form, they use the softphone to dial various 800 numbers. I need to create a report that I can group by 800 numbers called using the CAD transfer option. Does this come from the call manager? We recently implemented CVP. Are there any CVP reports that would provide this information?

    Hi Ryan
    I'm afraid there isn't one - only the CSQ Activity reports and the CSQ Service Level Priority Summary reports seem to show the service level info, and those are summary reports rather than reports that show call lists.
    You would need to get a custom report put together for this... it's an Informix SQL procedure-writing and Crystal Reports exercise to do that.
    Regards
    Aaron

  • Java.lang.VerifyError - Incompatible object argument for function call

    Hi all,
    I'm developing a JSP application (powered by Tomcat 4.0.1 in JDK 1.3, in Eclipse 3.3). Among other stuff I have 3 classes interacting with an Oracle database, covering 3 use cases - renaming, adding and deleting an database object. The renaming class simply updates the database with a String variable it receives from the request object, whereas the other two classes perform some calculations with the request data and update the database accordingly.
    When the adding or deleting classes are executed, by performing the appropriate actions through the web application, Tomcat throws the following:
    java.lang.VerifyError: (class: action/GliederungNewAction, method: insertNewNode signature: (Loracle/jdbc/driver/OracleConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V) Incompatible object argument for function call
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:120)
         at action.ActionMapping.perform(ActionMapping.java:53)
         at ControllerServlet.doResponse(ControllerServlet.java:92)
         at ControllerServlet.doPost(ControllerServlet.java:50)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    ...The renaming works fine though. I have checked mailing lists and forums as well as contacted the company's java support but everything I have tried out so far, from exchanging the xerces.jar files found in JDOM and Tomcat to rebuidling the project didn't help.
    I just can't explain to myself why this error occurs and I don't see how some additional Java code in the other 2 classes could cause it?
    I realize that the Tomcat and JDK versions I'm using are totally out of date, but that's company's current standard and I can't really change that.
    Here's the source code. I moved parts of the business logic from Java to Oracle recently but I left the SQL statements that the Oracle stored procedures are executing if it helps someone.
    package action;
    import java.sql.CallableStatement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.StringTokenizer;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import oracle.jdbc.driver.OracleConnection;
    * This class enables the creation and insertion of a new catalogue node. A new node
    * is always inserted as the last child of the selected parent node.
    public class GliederungNewAction implements Action {
         public String perform(ActionMapping mapping, HttpServletRequest request,
                   HttpServletResponse response) {
              // fetch the necessary parameters from the JSP site
              // the parent attribute is the selected attribute!
              String parent_attribute = request.getParameter("attr");
              String catalogue = request.getParameter("catalogue");
              int parent_sequenceNr = Integer.parseInt(request.getParameter("sort_sequence"));
              // connect to database    
              HttpSession session = request.getSession();   
              db.SessionConnection sessConn = (db.SessionConnection) session.getAttribute("connection");
              if (sessConn != null) {
                   try {
                        sessConn.setAutoCommit(false);
                        OracleConnection connection = (OracleConnection)sessConn.getConnection();
                        int lastPosition = getLastNodePosition( getLastChildAttribute(connection, catalogue, parent_attribute) );
                        String newNodeAttribute = createNewNodeAttribute(parent_attribute, lastPosition);
                        // calculate the sequence number
                        int precedingSequenceNumber = getPrecedingSequenceNumber(connection, catalogue, parent_attribute);
                        if ( precedingSequenceNumber == -1 ) {
                             precedingSequenceNumber = parent_sequenceNr;
                        int sortSequence = precedingSequenceNumber + 1;
                        setSequenceNumbers(connection, catalogue, sortSequence);
                        // insert the new node into DB
                        insertNewNode(connection, catalogue, newNodeAttribute, parent_attribute, "Neuer Punkt", sortSequence);
                        connection.commit();
                   } catch(SQLException ex) {
                        ex.printStackTrace();
              return mapping.getForward();
          * Creates, fills and executes a prepared statement to insert a new entry into the specified table, representing
          * a new node in the catalogue.
         private void insertNewNode(OracleConnection connection, String catalogue, String attribute, String parent_attribute, String description, int sortSequence) {
              try {
                   String callAddNode = "{ call fasi_lob.pack_gliederung.addNode(:1, :2, :3, :4, :5) }";
                   CallableStatement cst;
                   cst = connection.prepareCall(callAddNode);
                   cst.setString(1, catalogue);
                   cst.setString(2, attribute);
                   cst.setString(3, parent_attribute);
                   cst.setString(4, description);
                   cst.setInt(5, sortSequence);
                   cst.execute();
                   cst.close();
              } catch (SQLException e1) {
                   // TODO Auto-generated catch block
                   e1.printStackTrace();
    //          String insertNewNode = "INSERT INTO vstd_media_cat_attributes " +
    //                    "(catalogue, attribute, parent_attr, description, sort_sequence) VALUES(:1, :2, :3, :4, :5)";
    //          PreparedStatement insertStmt;
    //          try {
    //               insertStmt = connection.prepareStatement(insertNewNode);
    //               insertStmt.setString(1, catalogue);
    //               insertStmt.setString(2, attribute);
    //               insertStmt.setString(3, parent_attribute);
    //               insertStmt.setString(4, description);
    //               insertStmt.setInt(5, sortSequence);
    //               insertStmt.execute();
    //               insertStmt.close();
    //          } catch (SQLException e) {
    //               e.printStackTrace();
          * This method returns the attribute value of the last child of the parent under which
          * we want to insert a new node. The result set is sorted in descending order and only the
          * first result (that is, the last child under this parent) is fetched.
          * If the parent node has no children, "parent_attr.0" is returned. 
          * @param connection
          * @param catalogue
          * @param parent_attribute
          * @return attribute of the last child under this parent, or "parent_attr.0" if parent has no children
         private String getLastChildAttribute(OracleConnection connection, String catalogue, String parent_attribute) {
              String queryLastChild = "SELECT attribute FROM vstd_media_cat_attributes " +
                                            "WHERE catalogue=:1 AND parent_attr=:2 ORDER BY sort_sequence DESC";
              String lastChildAttribute;
              PreparedStatement ps;
              try {
                   ps = connection.prepareStatement(queryLastChild);
                   ps.setString(1, catalogue);
                   ps.setString(2, parent_attribute);
                   ResultSet rs = ps.executeQuery();
                   /* If a result is returned, the selected parent already has children.
                    * If not set the lastChildAttribute to parent_attr.0
                   if (rs.next()) {
                        lastChildAttribute = rs.getString("attribute");
                   } else {
                        lastChildAttribute = parent_attribute.concat(".0");
                   rs.close();
                   return lastChildAttribute;
              } catch (SQLException e) {
                   e.printStackTrace();
                   return null;
          * This helper method determines the position of the last node in the attribute.
          * i.e for 3.5.2 it returns 2, for 2.1 it returns 1 etc.
          * @param attribute
          * @return position of last node in this attribute
         private int getLastNodePosition(String attribute) {
              StringTokenizer tokenizer = new StringTokenizer(attribute, ".");
              String lastNodePosition = "0";
              while( tokenizer.hasMoreTokens() ) {
                   lastNodePosition = tokenizer.nextToken();
              return Integer.parseInt(lastNodePosition);
          * This method calculates the attribute of a node being inserted
          * by incrementing the last child position by 1 and attaching the
          * incremented position to the parent.
          * @param parent_attr
          * @param lastPosition
          * @return attribute of the new node
         private String createNewNodeAttribute(String parent_attr, int lastPosition) {
              String newPosition = new Integer(lastPosition + 1).toString();
              return parent_attr.concat("." + newPosition);
          * This method checks if the required sequence number for a new node is already in use and
          * handles the sequence numbers accordingly.
          * If the sequence number for a new node is NOT IN USE, the method doesn't do anything.
          * If the sequence number for a new node is IN USE, the method searches for the next free
          * sequence number by incrementing the number by one and repeating the query until no result
          * is found. Then all the sequence numbers between the required number (including, >= relation)
          * and the nearest found free number (not including, < relation) are incremented by 1, as to
          * make space for the new node.
          * @param connection
          * @param catalogue
          * @param newNodeSequenceNumber required sequence number for the new node
         private void setSequenceNumbers(OracleConnection connection, String catalogue, int newNodeSequenceNumber) {
              // 1. check if the new sequence number exists - if no do nothing
              // if yes - increment by one and see if exists
              //           repeat until free sequence number exists
              // when found increment all sequence numbers freeSeqNr > seqNr >= newSeqNr
              String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
                        "WHERE catalogue=:1 AND sort_sequence=:2";
              PreparedStatement ps;
              try {
                   ps = connection.prepareStatement(query);
                   ps.setString(1, catalogue);
                   ps.setInt(2, newNodeSequenceNumber);               
                   ResultSet rs = ps.executeQuery();
                   // if no result, the required sequence number is free - nothing to do
                   if( rs.next() ) {
                        int freeSequenceNumber = newNodeSequenceNumber;
                        do {
                             ps.setString(1, catalogue);
                             ps.setInt(2, freeSequenceNumber++);
                             rs = ps.executeQuery();
                        } while( rs.next() );
                        // increment sequence numbers - call stored procedure
                        String callUpdateSeqeunceNrs = "{ call fasi_lob.pack_gliederung.updateSeqNumbers(:1, :2, :3) }";
                        CallableStatement cst = connection.prepareCall(callUpdateSeqeunceNrs);
                        cst.setString(1, catalogue);
                        cst.setInt(2, newNodeSequenceNumber);
                        cst.setInt(3, freeSequenceNumber);
                        cst.execute();
                        cst.close();
    //                    String query2 = "UPDATE vstd_media_cat_attributes " +
    //                                      "SET sort_sequence = (sort_sequence + 1 ) " +
    //                                      "WHERE catalogue=:1 sort_sequnce >=:2 AND sort_sequence <:3";
    //                    PreparedStatement ps2;
    //                    ps2 = connection.prepareStatement(query2);
    //                    ps2.setString(1, catalogue);
    //                    ps2.setInt(2, newNodeSequenceNumber);
    //                    ps2.setInt(3, freeSequenceNumber);
    //                    ps.executeUpdate();
    //                    ps.close();
                   } // end of if block
                   rs.close();
              } catch (SQLException e) {
                   e.printStackTrace();
          * This method finds the last sequence number preceding the sequence number of a node
          * that is going to be inserted. The preceding sequence number is required to calculate
          * the sequence number of the new node.
          * We perform a hierarchical query starting from the parent node: if a result is returned,
          * we assign the parent's farthest descendant's node sequence number; if no result
          * is returned, we assign the parent's sequence number.
          * @param connection
          * @param catalogue
          * @param parent_attr parent attribute of the new node
          * @return
         private int getPrecedingSequenceNumber(OracleConnection connection, String catalogue, String parent_attr) {
              int sequenceNumber = 0;
              String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
                                "WHERE catalogue=:1 " +
                                "CONNECT BY PRIOR attribute = parent_attr START WITH parent_attr=:2 " +
                                "ORDER BY sort_sequence DESC";
              try {
                   PreparedStatement ps = connection.prepareStatement(query);
                   ps.setString(1, catalogue);
                   ps.setString(2, parent_attr);
                   ResultSet rs = ps.executeQuery();
                   if ( rs.next() ) {
                        sequenceNumber = rs.getInt("sort_sequence");
                   } else {
                        // TODO: ggf fetch from request!
                        sequenceNumber = -1;
                   rs.close();
                   ps.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              return sequenceNumber;
    }

    After further googling I figured out what was causing the problem: in eclipse I was referring to external libraries located in eclipse/plugins directory, whereas Tomcat was referring to the same libraries (possibly older versions) in it's common/lib directory.

  • Looking for ideas for transferring large amounts of data between systems

    Hello,
    I am looking for ideas based on best practices for transferring Large Amounts of Data in and out of a Netweaver based application.
    We have a new system we are developing in Netweaver that will utilize both the Java and ABAP stack, and will require integration with other SAP and 3rd Party Systems. It is a standalone product that doesn't share any form of data store with other systems.
    We need to be able to support 10s of millions of records of tabular data coming in and out of our system.
    Since we need to integrate with so many different systems, we are planning to use RFC for our primary interface in and out of the system. As it turns out RFC is not good at dealing with this large amount of data being pushed through a single call.
    We have considered a number of possible ideas, however we are not very happy with any of them. I would like to see what the community has done in the past to solve problems like this as well as how SAP currently solves this problem in other applications like XI, BI, ERP, etc.

    Primoz wrote:Do you use KDE (Dolphin) 4.6 RC or 4.5?
    Also I've noticed that if i move / copy things with Dolphin they're substantially slower than if I use cp/mv. But cp/mv works fine for me...
    Also run Dolphin from terminal to try and see what's the problem.
    Hope that help at least a bit.
    Could you explain why Dolphin should be slower? I'm not attacking you, I'm just asking.
    Cause I thought that Dolphin is just a „little" wrapper around the cp/mv/cd/ls applications/commands.

  • AutoAttendant not transferring calls in CUE 8.6 to CME 9.1

    **Issue is calls are not transferring once extension or directory is pressed on the phone.
    I upgraded our 2811 CME 7.1/CUE 7.0 router to 2911 15.2 CME 9.1/CUE8.6.  It has CME and V/k9 license enabled.  I uploaded the configuration used on the 2811 to the 2911.  I added the ip addresses in the ip trusted list.  Calls come in and out if I point the translation list to the phone and not to the auto attendant pilot number.  Incase if it was toll fraud issue I disabled it but still a no go.
    Everything worked fine on the 2811.  I can't understand why it would not work on the 2911 15.2.  Has anyone had any issues when upgrading from 12.4 to 15.x with auto attendant not transferring calls?
    I ran a trace on the Cue when placed a call to extension 114:
    20.10.10.1- CME  interface address
    20.10.10.5- CUE interface address
    659 09/12 11:43:39.418 ACCN SIPS 0 Call.transferFailed(114, RESOURCE_NOT_ACKNOWLEDGING) SIPCallContact[id=33,type=Cisco SIP Call,implId=5738D3Dse-20-10-10-5# [email protected],active=true,state=CALL_ANSWERED,inbound=true,handled=false,locale=en_US

    Ok I'm starting to think its a dtmf issue. I checked to see if I call from internal to the AA and dial an extension if it works but the same issue.  I ran the debug voip ccapi inout and I see consume mask is not set.  What would that indicate?  Could that be the problem?
    This is right when I dialed extension 114
    2811-TEST#
    001288: Sep 16 14:59:22.870: //55/D62BA3D180C8/CCAPI/cc_api_call_digit_begin:
       Consume mask is not set. Relaying Digit 1 to dstCallId 0x38
    001289: Sep 16 14:59:22.870: //55/D62BA3D180C8/CCAPI/cc_relay_digit_begin_for_3way_conference:
       Check DTMF relay digit begin for 3way conf
    001290: Sep 16 14:59:22.870: //55/D62BA3D180C8/CCAPI/cc_api_call_digit_end:
       Consume mask is not set. Relaying Digit 1 to dstCallId 0x38
    001291: Sep 16 14:59:22.870: //55/D62BA3D180C8/CCAPI/cc_relay_digit_end_for_3way_conference:
       Check DTMF relay digit end for 3way conf
    001292: Sep 16 14:59:23.194: //55/D62BA3D180C8/CCAPI/cc_api_call_digit_begin:
       Consume mask is not set. Relaying Digit 1 to dstCallId 0x38
    001293: Sep 16 14:59:23.194: //55/D62BA3D180C8/CCAPI/cc_relay_digit_begin_for_3way_conference:
       Check DTMF relay digit begin for 3way conf
    001294: Sep 16 14:59:23.194: //55/D62BA3D180C8/CCAPI/cc_api_call_digit_end:
       Consume mask is not set. Relaying Digit 1 to dstCallId 0x38
    001295: Sep 16 14:59:23.198: //55/D62BA3D180C8/CCAPI/cc_relay_digit_end_for_3way_conference:
       Check DTMF relay digit end for 3way conf
    001296: Sep 16 14:59:23.614: //55/D62BA3D180C8/CCAPI/cc_api_call_digit_begin:
       Consume mask is not set. Relaying Digit 4 to dstCallId 0x38
    2811-TEST#
    001297: Sep 16 14:59:23.614: //55/D62BA3D180C8/CCAPI/cc_relay_digit_begin_for_3way_conference:
       Check DTMF relay digit begin for 3way conf
    001298: Sep 16 14:59:23.618: //55/D62BA3D180C8/CCAPI/cc_api_call_digit_end:
       Consume mask is not set. Relaying Digit 4 to dstCallId 0x38
    001299: Sep 16 14:59:23.618: //55/D62BA3D180C8/CCAPI/cc_relay_digit_end_for_3way_conference:
       Check DTMF relay digit end for 3way conf
    2811-TEST#
    At this point theres silence on the phone I see this message:
    2811-TEST#
    001300: Sep 16 14:59:28.914: //55/D62BA3D180C8/CCAPI/ccGenerateToneInfo:
       Stop Tone On Digit=FALSE, Tone=Null,
       Tone Direction=Sum Network, Params=0x0, Call Id=55
    001301: Sep 16 14:59:28.918: //56/D62BA3D180C8/CCAPI/cc_api_call_feature:
       Feature Type=50, Interface=0x49FC2B80, Call Id=56
    2811-TEST#
    2811-TEST#
    At this point I get the message "the phone number you are trying to reach" then the call disconnects
    2811-TEST#
    001242: Sep 16 14:48:57.719: %VOICE_IEC-3-GW: SIP: Internal Error (ACK wait timeout): IEC=1.1.129.7.67.0 on callID 52 GUID=5D21AC143CE711E480BCEEC6B624839
    Also I checked show voice iec description:
    2811-TEST#show voice iec description 1.1.129.7.67.0
        IEC Version: 1
        Entity: 1 (Gateway)
        Category: 129 (Call setup timeout)
        Subsystem: 7 (SIP)
        Error: 67 (ACK wait timeout)
        Diagnostic Code: 0
    2811-TEST#

  • Gui_download for transferring the data from internal table to excel sheet.

    hi all,
    i am using gui_download for transferring the data from internal table to excel sheet.
    I have a internal table with 3 columns col1,col2,col3 and I am getting the file at the specified path,but my problem is that,in the excel sheet(path specified) all the 3 columns values are printed in one column.Please help me.
    Thanks in advance.

    Hi Venkata,
    plz use FM 'SAP_CONVERT_TO_XLS_FORMAT' :
      call function 'SAP_CONVERT_TO_XLS_FORMAT'
        exporting
    *   I_FIELD_SEPERATOR          =
    *   I_LINE_HEADER              =
          i_filename                 = p_file
    *   I_APPL_KEEP                = ' '
        tables
          i_tab_sap_data             = t_mbew
    * CHANGING
    *   I_TAB_CONVERTED_DATA       =
    * EXCEPTIONS
    *   CONVERSION_FAILED          = 1
    *   OTHERS                     = 2
      if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    Hope this helps,
    Erwan

  • Query for formatted search

    Hi All,
    I have a line UDF called U_PO in the sales order documents that denotes our purchase order number that particular item is ordered on.
    I have another line UDF called U_XMill which I want to populate with the corresponding PO document due date.
    What would be my query for that?
    Basically, it should be something like:
    SELECT T0.DocDueDate FROM OPOR T0 WHERE T0.DocNum=$[$38.44.0] FOR BROWSE
    However, I am sure that "38.44" is wrong.
    It should denote my current document's UDF *.U_PO.
    And I am not sure what would be the correct notation for it.
    I was wondering if there was a help document I could refer to to figure out the corresponding field numbers for the cases like this.
    Thank you for your help.

    Hello
    use FMS on matrix (tables) as
    [ItemUID.ColumnUID.Type] or [TableName.FieldName]
    where itemUID is 38
    ColumnUID is U_XMill
    Type is 0 (general).
    There is a now-to guide on service.sap.com/smb/sbo where you can find how to us FMS.
    Regards
    J

Maybe you are looking for

  • Creation of TO for Material Document

    Hi All, I am doing an initial stock entry  into the storage location using MB1C Txn Code and movement type 561.This storage location is attached to a warehouse also.After creating the material Document, i am trying to create a Transfer order using LT

  • Adobe Print Services in Java Instance on iSeries

    Comment by moderator: An english overview of this thread is given in an answer to this posting. Sehr geehrter Herr Hoelters, wir möchten gerne GTS on System i fahren. Für fast alle Module aus GTS braucht man die JAVA Instanz. Das soweit ist wohl kein

  • Purchase order headder Status tab

    Hai friends I have one doubt regarding P O Headder Status. Here some status we can see like ordered ,delivered,still to deliver, invoiced, down payments.. My questions are. 1.     Can I add some new status here? If yes then how?? 2.     What are the

  • Extended Pause in Music When Switching Songs (iTunes 8.1)

    I'm currently on my work PC and am trying to play music from my iPod via iTunes 8.1. Most of the time I'll be listening to music fine, tracks play flawlessly, no problems. Then randomly, when a song finishes up and is switching to the next song, iTun

  • How to detect mouse movement/key press on Mac?

    Need to write a VI that will detect/report mouse movement (ie. returns it's location) and any key (or key combinations) pressed. And, to send the mouse pointer to any location on screen. Using Labview 6i on Mac.