Call type Report, Return Value

Hello,
I need a understanding description for the Return column in the call type report, i need a description other than what is already described in the webview template reference .
Thanks.
Amer

Hello Ahmed,
So you meant to say that for the whole day the Call Type Report is starting only from 15:30 ?  And you are not able to find 10:30 Interval ?
Have you checked for any other Call Types ? Was there any failure happened in any of the components ? The RouterCallKey's doesn't look normal.
Regards,
Senthil

Similar Messages

  • T-SQL and CLR types for return value do not match

    Hi I am trying to create a CLR function to call a webservice, the CLR function return data type is double, whether I try
    to create this as a table valued funcion or a scalar to return a distance travelled value I am receiving the error below. I've tried changing data types around in the CLR side and the SQL side but keep receiving the same error message, any help would be appreciated,
    Thank you,
    [Microsoft.SqlServer.Server.SqlFunction(Name = "DistanceCalc")]
    public static Double DistanceCalc(Double SrcLat, Double SrcLong,
    Double DestLat, Double DestLong)
    MileageWS ws = new MileageWS();
    ws.Url = "http://test.isp.ca/Distance.asmx";
    int intUom = 0; // 0 = Mile, 1 = KM
    RouteType RouteMethod = RouteType.Practical;
    Requester RequestedFrom = Requester.LinkRoute;
    Double distance;
    distance = ws.GetDistanceInfoForLonLat(SrcLat, SrcLong, DestLat, DestLong, intUom, RouteMethod, RequestedFrom);
    return distance;
    CREATE FUNCTION DistanceCalc
    @SrcLat as float, @SrcLong as float,
    @DestLat as float, @DestLong as float
    RETURNS TABLE (Distance float)
    External NAME CLRfunctions.RIFunctions.DistanceCalc
    GO
    Error received when try to Create function ...
    1, Level 16, State 2, Procedure pcMiler, Line 6
    CREATE FUNCTION for "pcMiler" failed because T-SQL and CLR types for return value do not match.

    You defined at table-valued CLR function, but I think you meant to define a scalar CLR function. That might be the cause of the error.
    RETURNS TABLE (Distance float)
    should be
    RETURNS (Distance float)

  • Webview call type report missing a completed call

    i have a call handled by an agent in my call center but i cannot find it in the webview call type report but in the webview database route_call_detail table i find it ? hope for your help
    call is received at 10:34 but the call type first period start from 15:30  !!
    and i have attached the SQL query results.

    Hello Ahmed,
    So you meant to say that for the whole day the Call Type Report is starting only from 15:30 ?  And you are not able to find 10:30 Interval ?
    Have you checked for any other Call Types ? Was there any failure happened in any of the components ? The RouterCallKey's doesn't look normal.
    Regards,
    Senthil

  • Situation where there are a lot of AgentErrorCount in Call Type Reporting

    Hi Team,
    I am facing a situation where there is a lot of AgentErrorCount, and my customer are now getting worried of loosing calls.
    I looked at the latest "Reporting Guide for Cisco Unified ICM - Contact Center Enterprise & Hosted, 8.0(1), Nov 2010 " and the given definiton about AgentErrorCount is this one:
    • Calls that abandon en-route to agents are calls that encounter an error when the call is at the agent desktop. This call is counted as part of the AgentErrorCount in the Call_Type tables.
    I tried to make several calls in my lab (e.g. hanging the call while the phone is ringing or even before the phone is ringing to duplicate this issue without success ...
    Does anybody knows what that mean exactly when calls are "abandonned en-route to agents" ? Is it network related ?
    Any feedback is appreciated on this !
    Thanks & Regards
    Nick
    Thanks & Best Regards

    Hi Nick,
    Abandoned en-route to agent actually means when ICM reserves an agent and sends the information to Call Manager to make the phone ring. when the phone is about to ring, if the agent un hooks the receiver or if he goes to the aux mode the call will fail. This call is listed under the abandoned calls en-route to an agent. However the number of failed count due to this is very less. If you see more number of calls in calls error, you would also need to verify other scenarios on the network too. As you have not mentioned whether the Contact center and the Data center components are in the same or  different location at this point of time I cannot conclude on the answer. If they are seperated over WAN you would need to check on the network side also.
    Thanks,
    Dass

  • The returned value of BAPI call

    Hi, experts,
    I have a question about returned value of BAPI call.
    when the returned value is mapped as an attribute and this return value itsself is of the type: table of a certain structure. Is there any possibility that the value of this table still can be extracted from the mapped attribute? If it is possible, how?
    If not, how should this kind of situation be handled:
    when the returned value of the function at the backend has more one layer structure?
    Thanks and best regards,
    Fan

    In my experience you shouldn't use the service wizard to generate the context of such deeply nested structures. They don't generate or map correctly because it tries to put the table type as the type of the context attribute.
    Instead you should propery model the relationship in the context using nested nodes. Here is an example of address <-> address text where you can have multiple address texts per address.  From the service this was a returned nested table.
    ****BP Address and Address Text
      data lo_nd_bp_addr type ref to if_wd_context_node.
      data lo_nd_bp_addr_text type ref to if_wd_context_node.
      data lo_el_bp_addr type ref to if_wd_context_element.
    * navigate from <CONTEXT> to <BP_ADDR> via lead selection
      lo_nd_bp_addr = wd_context->get_child_node( name = wd_this->wdctx_bp_addr ).
      lo_nd_bp_addr->bind_table( wd_this->gt_bp_addr ).
    ****Add the Address Text Table as Child of each Address Context Record
      data element_set type wdr_context_element_set.
      field-symbols <wa_set> like line of element_set.
      field-symbols <wa_bp_addr> like line of wd_this->gt_bp_addr.
      element_set = lo_nd_bp_addr->get_elements( ).
      loop at element_set assigning <wa_set>.
        read table wd_this->gt_bp_addr index sy-tabix assigning <wa_bp_addr>.
        lo_nd_bp_addr_text = <wa_set>->get_child_node( name = if_componentcontroller=>wdctx_bp_addr_text ).
        lo_nd_bp_addr_text->bind_table( <wa_bp_addr>-t_text ).
      endloop.

  • The type of RETURNING parameter must be fully specified

    Hello,
    I want to program a locall class, a method to return a table of a local type:
    TYPES:
    BEGIN OF ty_line,
       id   TYPE char10,
       txt  TYPE string,
    END OF ty_line,
    ty_line_tt type standard table of ty_line.
    CLASS cl_html DEFINITION FINAL CREATE PRIVATE.
      PUBLIC SECTION.
        CLASS-METHODS parse importing fdata        type string_table
                            returning value(fmeta) type ty_line_tt.
    ENDCLASS.                    "cl_rep DEFINITION
    Got an error as in the subject. Does that mean that the table type MUST be declared in the ABAP dictionary?
    Regards,
    Michal

    Hello Michal
    Since your static method is PUBLIC you cannot use local types in its interface. The type of the RETURNING parameter must be public as well. Thus, you have to define it in the DDIC.
    Alternatively, you could switch to the more flexible EXPORTING parameters. Or you could return you itab as data reference, e.g.:
    *& Report  ZUS_LOCAL_CLASS                                             *
    REPORT  zus_local_class                                             .
    TYPES:
    BEGIN OF ty_line,
    id TYPE char10,
    txt TYPE string,
    END OF ty_line,
    ty_line_tt TYPE STANDARD TABLE OF ty_line.
    *       CLASS cl_html DEFINITION
    CLASS cl_html DEFINITION FINAL CREATE PRIVATE.
      PUBLIC SECTION.
        CLASS-METHODS parse IMPORTING fdata TYPE string_table
    *    RETURNING value(fmeta) TYPE ty_line_tt.
        RETURNING value(data_obj) TYPE REF TO data.
    ENDCLASS. "cl_rep DEFINITION
    *       CLASS cl_html IMPLEMENTATION
    CLASS cl_html IMPLEMENTATION.
      METHOD parse.
    *   define local data
        DATA:
          lt_line_tt    TYPE ty_line_tt.
        APPEND INITIAL LINE TO lt_line_tt.
        GET REFERENCE OF lt_line_tt INTO data_obj.
      ENDMETHOD.                    "parse
    ENDCLASS.                    "cl_html IMPLEMENTATION
    Regards
      Uwe

  • Answer wait time SG vs Call type

    IPCCE 7.1 CVP 3.1 .We had a big issue regarding call type reports and skill group reports, exactly regarding the ASA. why the answer wait time is huge in skill group comparing to call type, our scenario is little bit different as we have five call types feeding the same skill group based on the customers category, and every queue to skill group node has different priority, so we need to know why answer wait time is hugely different in skill group compared to the call type.
    attached is one of the five scripts, all the rest of them are the same and. each one is maped to one call toype.

    attached are clear scripts
    You have your Send to VRU in the wrong place, in my opinion.
    With CVP, the first thing to have is an explicit "Send To VRU". For calls from the PSTN, failure in this should go to an End node, which forces survivability on the gateway to play the error message. For warm transfer calls, the best is probably Release.
    No point in going further if Send to VRU fails.
    Then I would set the ECC variables required for your microapps.
    Once you have this, then go to your Call Type node - to set the "queuing" call type. I don't like to rely on the call type that the script is scheduled against, because you normally have to peel off calls for holidays, out of hours and so on. I like to make it obvious what's being counted by the queuing call type.
    Finally, go into your Queue To Skill Group.
    Be aware that RONA will mess up the call type stats a little - they will be counted as Other (which includes short calls, but they are counted separately so it's possible to see the RONAs). I would rather not set a call type on the RONAs as some do, as this will mean that they are in "Flow Out" and the stats are messed up even further.
    For failures out of Q2SG, I like to send them to a script where I set an "error" call type to count and return the error label on the CVP RC.
    Everyone has different ideas ...
    Regards,
    Geoff

  • Sometimes report return rows sometimes not

    Hello everybody,
    well, I'm using apex 4.0.2 and I have a simple report returning values from my table, like this:
    SELECT '1',
    SYSDATE
    FROM DUAL;
    But, if I refresh the page with the key F5 or mannually the report doesn't return any rows. If I refresh the page again, after five moments the report normally return the rows.
    This is a bug of the Apex? Because if I put the same code in the SQLPLUS the problem desappears. I don't know how can I resolve this. Thank you in advice.
    At.
    Raul Welter

    Hello everybody,
    well, I'm using apex 4.0.2 and I have a simple report returning values from my table, like this:
    SELECT '1',
    SYSDATE
    FROM DUAL;
    But, if I refresh the page with the key F5 or mannually the report doesn't return any rows. If I refresh the page again, after five moments the report normally return the rows.
    This is a bug of the Apex? Because if I put the same code in the SQLPLUS the problem desappears. I don't know how can I resolve this. Thank you in advice.
    At.
    Raul Welter

  • Authorization Rule Success Return Value HeaderVar not found?

    policy manager
    policy domain
    authorization rule
    actions
    success
    return
    Type           Name           Return Value
    HeaderVar           REMOTE_EMAIL           xxx
    Type           Name           Return Attribute
    HeaderVar           REMOTE-EMAIL           mail
    But, can not find any value for entry REMOTE_EMAIL or REMOTE-EMAIL, no matter in asp or jsp.
    Other cookies values are OK. I doubt the headervar is set or not, or "HeaderVar" is correct.
    Thanks!

    The page where you are expecting the HeaderVar to be shown is the resource protected or it is set as Authorization redirection action? If as action, please protect the page by OAM (set the HeaderVar in the Policy) and access the page directly and see if it shows the headerVar.
    HTH.

  • Calling a report and passing values!!

    Hi Experts,
    i have a requirement. I have a report [zrep1] with billing doc field and shipment field on the selection screen.
    The logic for billing document is written. Im writing logic for shipment numbers. I am finding the billing documents of delivaries for each shipment.
    I want to pass those billing documents as input to the same report program [zrep1] for the existing billing document code to get the output.
    How to call the same report and pass the values from internal table as input to it.
    Please suggest the way to proceed. i knw it is possible.
    Thanks in advance.
    Edited by: Craig Cmehil on Jul 3, 2008 3:30 PM

    Hello,
    Try this:
    The program report1 has a stand-alone selection screen with the screen number 1100. In the program report2, an internal table with row type RSPARAMS and a ranges table are filled for this selection screen. These are transferred at SUBMIT together with a single condition.
    Program accessed
    REPORT report1.
    DATA text TYPE c LENGTH 10.
    SELECTION-SCREEN BEGIN OF SCREEN 1100.
      SELECT-OPTIONS: selcrit1 FOR text,
                      selcrit2 FOR text.
    SELECTION-SCREEN END OF SCREEN 1100.
    Calling program
    REPORT report2.
    DATA: text       TYPE c LENGTH 10,
          rspar_tab  TYPE TABLE OF rsparams,
          rspar_line LIKE LINE OF rspar_tab,
          range_tab  LIKE RANGE OF text,
          range_line LIKE LINE OF range_tab.
    rspar_line-selname = 'SELCRIT1'.
    rspar_line-kind    = 'S'.
    rspar_line-sign    = 'I'.
    rspar_line-option  = 'EQ'.
    rspar_line-low     = 'ABAP'.
    APPEND rspar_line TO rspar_tab.
    range_line-sign   = 'E'.
    range_line-option = 'EQ'.
    range_line-low    = 'H'.
    APPEND range_line TO range_tab.
    range_line-sign   = 'E'.
    range_line-option = 'EQ'.
    range_line-low    = 'K'.
    APPEND range_line TO range_tab.
    SUBMIT report1 USING SELECTION-SCREEN '1100'
                   WITH SELECTION-TABLE rspar_tab
                   WITH selcrit2 BETWEEN 'H' AND 'K'
                   WITH selcrit2 IN range_tab
                   AND RETURN.
    Regards.

  • Calling web service via utl_dbws with unbounded return values

    Hello, everyone.
    I'm trying to use utl_dbws to call web service from Oracle DB 10 g.
    WS has unbounded return value:
    <xs:element maxOccurs='unbounded' minOccurs='0' name='return' type='xs:string'/>
    I'm setting return paramter in web service call handler like this:
    sys.UTL_DBWS.set_return_type(l_h_service_call, cs_qname_type_string);
    and when I'm trying to call it from PL/SQL function I'm getting an error:
    ORA-29532: Java call terminated by uncaught Java exception:
    deserialization error: XML reader error: unexpected character content: "s2"
    ORA-06512: at "SYS.UTL_DBWS", line 388
    ORA-06512: at "SYS.UTL_DBWS", line 385
    ORA-06512: at line 38
    I've tried to return values by out parameters and got the same exception.
    It looks like utl_dbws needs to know parameters count before calling.
    Have anyone succeded in getting arrays from Web Service call?
    This is a part of wsdl:
    <xs:complexType name='getProcessList'>
    <xs:sequence>
    <xs:element minOccurs='0' name='nameMask' type='xs:string'/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name='getProcessListResponse'>
    <xs:sequence>
    <xs:element maxOccurs='unbounded' minOccurs='0' name='return' type='xs:string'/>
    </xs:sequence>
    </xs:complexType>
    Throught SoapUI I can produce such kind of request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proc="http://processmanager.argustelecom.ru/">
    <soapenv:Header/>
    <soapenv:Body>
    <proc:getProcessList>
    <processNameMask>*</processNameMask>
    </proc:getProcessList>
    </soapenv:Body>
    </soapenv:Envelope>
    and get a response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <ns2:getProcessListResponse xmlns:ns2="http://processmanager.argustelecom.ru/">
    <return>s1</return>
    <return>s2</return>
    <return>s3</return>
    <return>s4</return>
    </ns2:getProcessListResponse>
    </env:Body>
    </env:Envelope>
    PL/SQL function:
    DECLARE
    cs_qname_type_string CONSTANT sys.UTL_DBWS.qname
    := sys.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'string') ;
    cs_qname_type_int CONSTANT sys.UTL_DBWS.qname := sys.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'int');
    cs_qname_type_any CONSTANT sys.UTL_DBWS.qname
    := sys.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'anyType') ;
    cs_endpoint CONSTANT VARCHAR2(256) := 'http://server:8080/process-manager/ProcessManager';
    l_service sys.UTL_DBWS.service;
    l_service_qname sys.UTL_DBWS.qname;
    l_port_qname sys.UTL_DBWS.qname;
    l_operation_qname sys.UTL_DBWS.qname;
    l_h_service_call sys.UTL_DBWS.call;
    l_params sys.UTL_DBWS.anydata_list;
    l_ret_val SYS.ANYDATA;
    BEGIN
    l_service_qname := sys.UTL_DBWS.to_qname(NULL, 'ProcessManagerService');
    l_service := sys.UTL_DBWS.create_service(l_service_qname);
    l_port_qname := sys.UTL_DBWS.to_qname(NULL, 'ProcessListServiceBinding');
    l_operation_qname := sys.UTL_DBWS.to_qname('http://processmanager.argustelecom.ru/', 'getProcessList');
    l_h_service_call := sys.UTL_DBWS.create_call(l_service, l_port_qname, l_operation_qname);
    sys.UTL_DBWS.set_target_endpoint_address(l_h_service_call, cs_endpoint);
    -- return type
    sys.UTL_DBWS.set_return_type(l_h_service_call, cs_qname_type_any);
    -- param type
    sys.UTL_DBWS.ADD_PARAMETER(l_h_service_call, 'processNameMask', cs_qname_type_string, 'ParameterMode.IN');
    l_params(1) := anydata.convertvarchar2('*');
    l_ret_val := sys.UTL_DBWS.invoke(l_h_service_call, l_params);
    IF l_ret_val IS NULL THEN
    DBMS_OUTPUT.put_line('l_ret_val is null');
    ELSE
    DBMS_OUTPUT.put_line('l_ret_val is not null');
    END IF;
    sys.UTL_DBWS.release_call(l_h_service_call);
    END;
    Edited by: Ilya on 03.12.2008 3:50

    Hi Tony
    I'm not sure if you would have solved your problem by now, but with my recent experience with the utl_dbws package, for doc lits with complex data types, you have to call the service with an XML request, as opposed to passing the param array.
    If you still need details, reply accordingly.
    Ta
    cT

  • Column link - call java script & assign current report column value to item

    Hi,
    How to call java script and assing current report column value to item?
    I have a button column in the report to 'delete' the selected row.
    I want to first show dialog box with message 'Are you sure?'. If yes, process to delete
    will be executed, else no action.
    In order to fire JS, I used Column Link ->Target=URL.
    Problem: The alert is showing but I don't know how to pass selected row's primary
    key value to process (to delete selected row).
    I have a item which can be used to store selected primary key value but don't know how to assign the value
    when button pressed.
    Thanks in advance
    Dip

    Ok. The issue has been resolved by following way.
    PAGE PROCESS: delete_request
    begin
    delete xyz
    where id = :P8_id;
    commit;
    end;BUTTON URL:
    javascript: DelRec(null,'CREATE', 'f?p=&APP_ID.:8:&SESSION.:delete_request:NO::P8_id:#id#');Java Script:
    <script language="JavaScript1.1" type="text/javascript">
    function DelRec(msg, req, url){
    var confDel = msg;
    if(confDel ==null){
    confDel= confirm("Are you sure?");
    }else{
    confDel= confirm(msg);}
    if (confDel== true){
    redirect(url);           }
    </script>

  • Explicit template member function call from return value of function

    i couldn't see this in the list of C++ standards not implemented <http://developers.sun.com/tools/cc/documentation/ss9_docs/mr/READMEs/c++.html> but sun studio 9 doesn't seem to allow explicit calls to template member functions where the left-hand-side is the return value of a function. here's a test-case:
    template <typename T> class Ptr {
    public:
      T* p_;
      Ptr(T* p) : p_(p) { }
      template <typename U> Ptr(const Ptr<U>& u) : p_(u.p_) { }
      template <typename U> Ptr<U> cast() const { return Ptr<U>(*this); }
    class A {
    class B : public A {
    Ptr<A> test_cast_1(const Ptr<B>& b) { return b.cast<A>(); }
    Ptr<A> test_cast_2(const Ptr<B>& b) { return Ptr<B>(b).cast<A>(); }sun studio 9 CC complains with the following message:
    "sunstudio9-template-explicit-call.cc", line 18: Error: Unexpected type name "A" encountered.
    "sunstudio9-template-explicit-call.cc", line 18: Error: Operand expected instead of ")".
    2 Error(s) detected.
    (line 18 is test_cast_2)
    is this a known bug?
    cheers,
    /lib

    you omitted the required keyword template:
    template <typename T> class Ptr {
    public:
      T* p_;
      Ptr(T* p) : p_(p) { }
      template <typename U> Ptr(const Ptr<U>& u) : p_(u.p_) { }
      template <typename U> Ptr<U> cast() const { return Ptr<U>(*this); }
    class A {
    class B : public A {
    Ptr<A> test_cast_1(const Ptr<B>& b) { return b.cast<A>(); }
    Ptr<A> test_cast_2(const Ptr<B>& b) { return Ptr<B>(b).template cast<A>(); }

  • How does "Unflatten From String" take a type and return a value of that type?

    http://zone.ni.com/reference/en-XX/help/371361E-01/glang/unflatten_from_string/
    How exactly does the "type" argument for "Unflatten From String" work? I need to create a VI that takes a type, passes it as an argument to several calls of the "Unflatten From String" function, and returns an array containing elements of the type originally passed. The "Unflatten From String" function seems to do some magic though, because the type of the "value" that it outputs changes depending on the type it is passed as input. How do I do the same magic in my VI?
    Ultimately, what I need to accomplish is an unflatten-list operation. Given a type T and a byte string of length L (which contains a concatenation of T elements that are flattened to their bytes), create a VI that unflattens all the types in the string and return an array of length (L / sizeof(T)) that contains each type.
    Note: performing the unflatten-list operation is trivial, but I cannot for the life of me figure out how to do it in a VI that takes a type and returns an array of the appropriate type. By the way, my data is being given to me from another source, so please don't bother suggesting that I should be flattening an array using LabVIEW's "Flatten To String" function in the first place. My data is not given in LabVIEW's array format: http://zone.ni.com/reference/en-XX/help/371361B-01/lvconcepts/flattened_data/
    Thanks a ton!
    -Wakka

    Take a look at this example:  You can see that the flattened string contains several bytes.  The first four bytes contain the length of array (number of elements).  Since the data type is U32, the next 32 bits (4 bytes) contains the value of the first element, and so on.  Could you possibly use this scheme to do what you want to do?  Other data types present different outputs.  You would have to experiment with them.
    - tbob
    Inventor of the WORM Global

  • Function not returning value in Discoverer report

    Hi All,
    I am using a PL/SQL function in a Discoverer Report to return a particular date. The way I am using is that I have created a PL/SQL function and registered the same in Discoverer Administatrator.
    My problem is that when i run the report this function returns NULL for one particular unit but when i run the same on toad as
    'select max_term_dt_pkg.max_term_dt_fn('703813','OM - AWAITING_SHIPPING - 1179628') from dual'
    it returns the date as 26-May-2009
    Actually it should return a value in the report also.
    Can anyone guide me what could be the problem.
    Regards,
    Shruti

    Hi Rod,
    There are no session variables to be set. I have myself created that and it is returning values for other units also.
    Below is the function :
    CREATE OR REPLACE PACKAGE BODY APPS.max_term_dt_pkg
    AS
    FUNCTION max_term_dt_fn (p_unit_num VARCHAR2, p_order_status VARCHAR2)
    RETURN DATE
    IS
    l_contract_number VARCHAR2 (20);
    --okc_k_headers_b.contract_number%TYPE;
    l_max_term_date DATE; --okc_k_lines_b.date_terminated%TYPE;
    BEGIN
    IF p_order_status IN ('RMA on Unit', 'OKS 30 Days Notice Given')
    THEN
    l_max_term_date := NULL;
    ELSE
    SELECT contract_number
    INTO l_contract_number
    FROM (SELECT DISTINCT okhb.sts_code, okhb.date_terminated,
    okhb.contract_number,
    oklb_ib.attribute15 unit, okhb.start_date,
    okhb.end_date, okhb.creation_date
    FROM apps.okc_k_headers_b okhb,
    apps.okc_k_lines_b oklb_ib --,
    WHERE okhb.ID = oklb_ib.dnz_chr_id
    AND lse_id = 9
    AND oklb_ib.attribute15 = p_unit_num
    ORDER BY okhb.start_date DESC,
    okhb.creation_date DESC)
    --ORDER BY okhb.start_date DESC)
    WHERE ROWNUM = 1;
    SELECT date_terminated
    INTO l_max_term_date
    FROM (SELECT oklb.dnz_chr_id, oklb.ID, oklb.date_terminated,
    oklb.sts_code, mic.category_concat_segs,
    mic.category_set_name
    FROM apps.okc_k_headers_b okhb,
    apps.okc_k_lines_b oklb,
    apps.okc_k_items oki,
    --apps.mtl_system_items_b msib,
    mtl_item_categories_v mic
    WHERE oklb.dnz_chr_id = okhb.ID
    AND okhb.contract_number = l_contract_number
    AND oklb.lse_id = 1
    AND oki.cle_id = oklb.ID
    -- AND msib.inventory_item_id = oki.object1_id1
    -- AND msib.organization_id = oki.object1_id2
    --AND segment1 = 'OKS-RNTL-MAINT-WH'
    --AND oklb.sts_code = 'TERMINATED'
    AND oklb.date_terminated IS NOT NULL
    AND mic.inventory_item_id = oki.object1_id1
    --msib.inventory_item_id
    AND mic.organization_id = oki.object1_id2
    --msib.organization_id
    AND mic.category_set_name = 'Product'
    AND mic.category_concat_segs = 'OKS-Base'
    ORDER BY oklb.date_terminated DESC)
    WHERE ROWNUM = 1;
    END IF;
    RETURN l_max_term_date;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    RETURN NULL;
    WHEN OTHERS
    THEN
    RETURN NULL;
    END;
    END;
    Regards,
    Shruti

Maybe you are looking for