Error while compling a Function:

Hi,
I am unable to complie a function as shown below:
CREATE OR REPLACE FUNCTION GET_SUBS_TYPE_KEY(
SUBNO VARCHAR2 DEFAULT NULL
RETURN SUBS_TYPE_KEY_1 PIPELINED AS
V_SUBNO VARCHAR2(40);
V_PAID VARCHAR2(10);
V_SUBS_TYP_KEY VARCHAR2(10);
V_VAL1 VARCHAR2(255);
CURSOR C1_REC IS SELECT SUBNO,PREPOST_PAID,SUBS_TYPE_KEY
FROM CTVA_ETL.RA_CRM_USER_INFO,DIM_SUBSCRIBER_TYPE
WHERE SUBSTR(DIM_SUBSCRIBER_TYPE.SUBS_TYPE_DESC,1,4)=RA_CRM_USER_INFO.PREPOST_PAID
--WHERE MSISDN='8615025400109'
--WHERE MSISDN IN ('8615025400068','8615025400083','8615025400101','8615025400132','8615025400109')
GROUP BY SUBNO,PREPOST_PAID,SUBS_TYPE_KEY;
BEGIN
OPEN C1_REC;
LOOP
FETCH C1_REC INTO V_SUBNO SUBNO_TYP_1,V_PAID,V_SUBS_TYP_KEY SUBS_TYP_KEY;
--DBMS_OUTPUT.PUT_LINE('THE MSISDN VALUE'||V_MSISDN);
EXIT WHEN C1_REC%NOTFOUND;
IF V_PAID='PREP' THEN
V_SUBS_TYP_KEY ='2';
ELSIF V_PAID='POST' THEN
V_SUBS_TYP_KEY ='2';
ELSE
V_SUBS_TYP_KEY ='-99';
LOOP
PIPE ROW ( SUBS_TYPE_KEY(C1_REC.SUBNO_TYP_1 ,C1_REC.SUBS_TYP_KEY ));
END LOOP;
END LOOP;
RETURN;
CLOSE C1_REC;
END;
its giving error in the SUBNO_TYP_1 Type

Un-formatted code is nothing but garbage. So always format your code.
CREATE OR REPLACE FUNCTION get_subs_type_key(
                         subno VARCHAR2 DEFAULT NULL) RETURN subs_type_key_1 pipelined
AS
     v_subno      VARCHAR2(40);
     v_paid           VARCHAR2(10);
     v_subs_typ_key  VARCHAR2(10);
     v_val1           VARCHAR2(255);
     CURSOR c1_rec
     IS
     SELECT subno,
            prepost_paid,
            subs_type_key
       FROM ctva_etl.ra_crm_user_info,
            dim_subscriber_type
      WHERE SUBSTR(dim_subscriber_type.subs_type_desc, 1, 4) = ra_crm_user_info.prepost_paid
      GROUP BY subno,
            prepost_paid,
            subs_type_key;
BEGIN
     OPEN c1_rec;
     LOOP
          FETCH c1_rec INTO v_subno subno_typ_1, v_paid, v_subs_typ_key; <<-- Here i removed subs_typ_key Only god knows why you had it there.
          --DBMS_OUTPUT.PUT_LINE('THE MSISDN VALUE'||V_MSISDN);
          EXIT WHEN c1_rec % NOTFOUND;
          IF v_paid = 'PREP'
          THEN
               v_subs_typ_key = '2';
          ELSIF v_paid = 'POST'
          THEN
               v_subs_typ_key = '2';
          ELSE
               v_subs_typ_key = '-99';
               LOOP
                    pipe ROW(subs_type_key(c1_rec.subno_typ_1,   c1_rec.subs_typ_key));
               END LOOP;
          ENDIF; <<-- Here i closed your IF statement
     END LOOP;
     RETURN;
     CLOSE c1_rec;
END;

Similar Messages

  • Error While uploading the Function and Function_BP

    Hello,
    I am getting the following error while uploading the Functions and Funtions_BP using the Rule Upload functions.
    com.virsa.cc.comp.Function_upload.onActionUploadFunc(Function_upload.java:302) com.virsa.cc.comp.wdp.InternalFunction_upload.wdInvokeEventHandler(InternalFunction_upload.java:150) com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420) com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321) com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713) com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666) com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250) com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62) com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53) javax.servlet.http.HttpServlet.service(HttpServlet.java:760) javax.servlet.http.HttpServlet.service(HttpServlet.java:853) com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) java.security.AccessController.doPrivileged(Native Method) com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104) com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
    The files which i am uploading the file from the Best practises only.
    What is the reason for this error?
    Did any one get this error?
    Regards,
    Kumar Rayudu
    Edited by: Kumar Rayudu on Aug 4, 2009 12:32 PM

    Hello Kumar,
    Have you uploaded the SAP text and object files? Upload them first and then try to upload functions.
    Harleen
    SAP GRC RIG

  • Error while activating the function module

    hi,
    am getting error while activating the function module i.e. program or report statement is missing.
    thank you in advance
    karthik

    hii vinu,
    hi there....
    make sure that the Processing type in Attributes tab is 'Normal function module'. Also chk the general data, it must be having some name in the Program Name and include name column.try checking the program names in se38, if the program is of type include or not. you can also chk by writting  a program call the function module and test it
    I hope this will solve the query. in my case, SAPLZ123 is the program name and LZ123U28 is the include name.
    or
    Its common prob with Function module.
    Goto SE80->Give Function group name->Right click on it->Activate.
    regards,
    Shweta

  • Error while executing planning Function

    Hi All,
    I'm getting some error while executing planning function. Below are errors. Please check and provide solution.
    Errors occurred when executing planning function RTFMPF01/RTFMPG01
    Value 08 of chara Region does not correspond to the attrib.val MI of chara Store
    Value 10 of chara Region does not correspond to the attrib.val RM of chara Store
    Value 11 of chara Region does not correspond to the attrib.val NA of chara Store
    Thanks,
    Vamsi

    Hi,
    Value 08 of chara Region does not correspond to the attrib.val MI of chara Store
    Looks like there is a characteristics relationship which derives the attribute store from Region.
    Check the master data for Region for attribute Store and the corresponding values.
    The values that are maintained in the master data will only be allowed to enter in the cube.
    Thanks
    pratyush

  • ORA-00902: invalid datatype comile error while using CAST function

    Hi everyone,
    I'm getting ORA-00902: invalid datatype compilation error while using CAST function.
    open ref_cursor_list for select empName from TABLE(CAST(part_t AS partnumberlist));
    The partnumberlist and ref_cursor_list is declared in the Package spec as given below.
    TYPE ref_cursor_list IS REF CURSOR;
    TYPE partnumberlist IS TABLE OF emp.empName%TYPE;
    The error points the partnumberlist as invalid datatype in TOAD because of this i'm unable to compile the package.
    Any suggestion
    Thanks and regards
    Sathish Gopal

    Here is my code for
    package Spec
    CREATE OR REPLACE PACKAGE "HISTORICAL_COMMENTZ" AS
    TYPE prior_part_data_record IS RECORD (
    prior_part_row_id PGM_RPLCMNT_PART.PR_PART_ROW_S_ID%TYPE,
    prior_pgm_chng_s_id PGM_RPLCMNT_PART.PR_PGM_CHNG_S_ID%TYPE
    TYPE parts_list IS TABLE OF prior_part_data_record;
    --TYPE parts_list IS TABLE OF NUMBER;
    TYPE partnumberlist IS TABLE OF PGM_RPLCMNT_PART.PR_PART_ROW_S_ID%TYPE;
    TYPE partnumber_cursor IS REF CURSOR;
    TYPE comment_record IS RECORD (
    pgm_s_id                     PGM_PART_CMNT.PGM_S_ID%TYPE,
    part_row_s_id                PGM_PART_CMNT.PART_ROW_S_ID%TYPE,
    pgm_chng_s_id                PGM_PART_CMNT.PGM_CHNG_S_ID%TYPE,
    cmnt_txt                     PGM_PART_CMNT.CMNT_TXT%TYPE,
    cmnt_dt                     PGM_PART_CMNT.CMNT_DT%TYPE,
    updt_rsrc_id                PGM_PART_CMNT.UPDT_RSRC_ID%TYPE
    TYPE comment_list IS TABLE OF comment_record;
    global_pgm_s_id INTEGER := 0;
    global_part_row_s_id INTEGER := 0;
    err_num NUMBER := 999999;
    err_msg VARCHAR2 (250);
    PROCEDURE getComments (
    pgm_s_id IN NUMBER,
    part_row_s_id IN NUMBER,
    partnumber_cursorlist out partnumber_cursor);
    END;
    Package Body
    CREATE OR REPLACE PACKAGE BODY HISTORICAL_COMMENTZ
    AS
    FUNCTION getPriorPart
    (param_prior_pgm_chng_s_id IN PGM_RPLCMNT_PART.PR_PGM_CHNG_S_ID%TYPE,
    return_prior_part_data_record IN OUT prior_part_data_record
    RETURN INTEGER
    IS
    retVal INTEGER;
    prior_part_row_id INTEGER;
    prior_pgm_chng_s_id INTEGER;
    local_prior_part_data_record prior_part_data_record;
    BEGIN
    SELECT PR_PART_ROW_S_ID AS prior_part_row_id, PR_PGM_CHNG_S_ID AS prior_pgm_chng_s_id
    INTO local_prior_part_data_record
    --SELECT PR_PART_ROW_S_ID INTO retVal
    FROM PGM_RPLCMNT_PART
    WHERE PGM_S_ID = global_pgm_s_id AND CUR_PGM_CHNG_S_ID = param_prior_pgm_chng_s_id;
    return_prior_part_data_record := local_prior_part_data_record;
    retVal := 0;
    RETURN retVal;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    err_num := SQLCODE;
    err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
    DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
    retVal := -1;
    RETURN retVal;
    WHEN OTHERS
    THEN
    err_num := SQLCODE;
    err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
    DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
    retVal := -1;
    RETURN retVal;
    END getPriorPart;
    FUNCTION getComment (found_parts_list IN parts_list, comments OUT comment_list)
    RETURN INTEGER
    IS
    CURSOR init_cursor
    IS
    SELECT PGM_S_ID,PART_ROW_S_ID,PGM_CHNG_S_ID,CMNT_TXT,CMNT_DT,UPDT_RSRC_ID
    FROM PGM_PART_CMNT WHERE 1 = 2;
    retVal INTEGER;
    indexNum PLS_INTEGER;
    local_part_record prior_part_data_record;
    local_comment_record comment_record;
    local_part_row_s_id NUMBER;
    i PLS_INTEGER;
    BEGIN
    OPEN init_cursor;
    FETCH init_cursor
    BULK COLLECT INTO comments;
    i := 0;
    indexNum := found_parts_list.FIRST;
    WHILE indexNum IS NOT NULL
    LOOP
    local_part_record := found_parts_list(indexnum);
    local_part_row_s_id := local_part_record.prior_part_row_id;
    SELECT PGM_S_ID,PART_ROW_S_ID,PGM_CHNG_S_ID,CMNT_TXT,CMNT_DT,UPDT_RSRC_ID
    INTO local_comment_record FROM PGM_PART_CMNT
    WHERE PGM_S_ID = global_pgm_s_id
    AND PART_ROW_S_ID = local_part_row_s_id;
    comments(i) := local_comment_record;
    i := i + 1;
    END LOOP;
    RETURN retval;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    err_num := SQLCODE;
    err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
    DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
    RETURN retval;
    WHEN OTHERS
    THEN
    err_num := SQLCODE;
    err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
    DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
    RETURN retval;
    END getComment;
    PROCEDURE getComments
    pgm_s_id IN NUMBER,
    part_row_s_id IN NUMBER,
    partnumber_cursorlist OUT partnumber_cursor)
    IS
    comment_recordlist comment_record;
    retPartnumberlist partnumberlist;
    found_parts_list parts_list;
    local_part_record prior_part_data_record;
    is_more_parts BOOLEAN;
    driver_chng_s_id NUMBER;
    num_parts NUMBER;
    retVal NUMBER;
    comments comment_list;
    returnPartnumberlist partnumberlist;
    iloopCounter PLS_INTEGER;
    inx1 PLS_INTEGER;
    part_t partnumberlist :=partnumberlist(100,200,300);
    CURSOR part_list_init_cursor
    IS
    SELECT PR_PART_ROW_S_ID,PR_PGM_CHNG_S_ID FROM PGM_RPLCMNT_PART WHERE 1 = 2;
    CURSOR inIt_cursor
    IS
    SELECT 0 FROM DUAL WHERE 1 = 2;
    BEGIN
    DBMS_OUTPUT.ENABLE (5000000);
    global_pgm_s_id := pgm_s_id;
    global_part_row_s_id := part_row_s_id;
    SELECT PART_ROW_S_ID AS prior_part_row_id, PR_PGM_CHNG_S_ID AS prior_pgm_chng_s_id
    INTO local_part_record
    FROM PGM_RPLCMNT_PART
    WHERE PGM_S_ID = global_pgm_s_id AND PART_ROW_S_ID = global_part_row_s_id AND
    CUR_PGM_CHNG_S_ID IN (SELECT MAX(CUR_PGM_CHNG_S_ID) FROM PGM_RPLCMNT_PART WHERE
    PGM_S_ID = global_pgm_s_id AND PART_ROW_S_ID = global_part_row_s_id
    GROUP BY PART_ROW_S_ID);
    OPEN part_list_init_cursor;
    FETCH part_list_init_cursor
    BULK COLLECT INTO found_parts_list;
    -- Add the existing part to the found list
    found_parts_list.EXTEND;
    found_parts_list(1) := local_part_record;
    driver_chng_s_id := local_part_record.prior_pgm_chng_s_id;
    num_parts := 1;
    is_more_parts := TRUE;
    WHILE (is_more_parts) LOOP
    retVal := getPriorPart(driver_chng_s_id,local_part_record);
    IF (retVal != -1) THEN
    found_parts_list.EXTEND;
    num_parts := num_parts + 1;
    found_parts_list(num_parts) := local_part_record;
    driver_chng_s_id := local_part_record.prior_pgm_chng_s_id;
    ELSE
    is_more_parts := FALSE;
    END IF;
    END LOOP;
    --num_parts := getComment(found_parts_list,comments);
    OPEN init_cursor;
    FETCH init_cursor
    BULK COLLECT INTO returnPartnumberlist;
    num_parts := found_parts_list.COUNT;
    FOR iloopCounter IN 1 .. num_parts
    LOOP
    returnPartnumberlist.EXTEND;
    returnPartnumberlist(iloopCounter) := found_parts_list(iloopCounter).prior_part_row_id;
    END LOOP;
    retPartnumberlist := returnPartnumberlist;
    open
    *          partnumber_cursorlist for select PR_PART_ROW_S_ID from TABLE(CAST(retPartnumberlist AS historical_commentz.partnumberlist));*                              
    DBMS_OUTPUT.put_line('Done....!');
    EXCEPTION
    some code..............................
    END getComments;
    END HISTORICAL_COMMENTZ;
    /

  • Error while executing a function

    I had created a function F_GET_PRH_NO_QTY. While using this function in a query system is giving me error as given below :
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "ORION_REPORTS.F_GET_PRH_NO_QTY", line 36
    CREATE OR REPLACE FUNCTION F_GET_PRH_NO_QTY(P_PWH_NO NUMBER)
    RETURN VARCHAR2
    AS
    L_RET_VAL VARCHAR2(4000);
    CURSOR C1 IS
    SELECT REP_NO, REP_QTY
    FROM
    SELECT PRH_NO REP_NO, NVL(PRSO_REP_QTY_BU/IU_CONV_FACTOR/IU_MAX_LOOSE_1,0) REP_QTY
    FROM OT_PR_HEAD, OT_PWO_HEAD, OT_PR_WO_DETAIL, OT_PR_STAGE_OUTPUT, OM_ITEM, OM_ITEM_UOM
    WHERE ITEM_CODE = IU_ITEM_CODE AND ITEM_UOM_CODE = IU_UOM_CODE
    AND PWH_SYS_ID = PRH_REF_SYS_ID (+)
    AND PRH_SYS_ID = PRWD_PRH_SYS_ID -- FROM OT_PR_WO_DETAIL TABLE
    AND PRWD_SYS_ID = PRSO_PRWD_SYS_ID -- FROM OT_PR_STAGE_OUTPUT TABLE
    AND PWH_NO = P_PWH_NO
    M_REP_NO VARCHAR2(40);
    M_REP_QTY VARCHAR2(40);
    M_TEMP1 NUMBER := 0;
    M_RNO_RQTY VARCHAR2(2000);
    BEGIN
    IF C1%ISOPEN THEN
    CLOSE C1;
    END IF;
    OPEN C1;
    LOOP
    FETCH C1 INTO M_REP_NO, M_REP_QTY;
    EXIT WHEN C1%NOTFOUND;
    M_TEMP1 := M_TEMP1 + 1;
    IF M_TEMP1 = 1 THEN
    M_RNO_RQTY := M_REP_NO||'-'||M_REP_QTY;
    ELSE
    M_RNO_RQTY := M_RNO_RQTY||', '||M_REP_NO||' - '||M_REP_QTY;
    END IF;
    END LOOP;
    --RETURN NVL(M_RNO_RQTY,'');
    RETURN L_RET_VAL;
    END;
    Yogesh

    you need to use pipelined function to break into small chunks...
    CREATE OR REPLACE
      FUNCTION F_GET_PRH_NO_QTY
          P_PWH_NO NUMBER)
        RETURN VARCHAR2 PIPELINED
      IS
        L_RET_VAL VARCHAR2(4000);
        v_counter NUMBER := 1;
        v_temp VARCHAR2(4000) := NULL;
        CURSOR C1
        IS
           SELECT REP_NO,
            REP_QTY
             FROM
            (SELECT PRH_NO REP_NO,
              NVL(PRSO_REP_QTY_BU/IU_CONV_FACTOR/IU_MAX_LOOSE_1,0) REP_QTY
               FROM OT_PR_HEAD  ,
              OT_PWO_HEAD       ,
              OT_PR_WO_DETAIL   ,
              OT_PR_STAGE_OUTPUT,
              OM_ITEM           ,
              OM_ITEM_UOM
              WHERE ITEM_CODE = IU_ITEM_CODE
            AND ITEM_UOM_CODE = IU_UOM_CODE
            AND PWH_SYS_ID    = PRH_REF_SYS_ID
            AND PRH_SYS_ID    = PRWD_PRH_SYS_ID  -- FROM OT_PR_WO_DETAIL TABLE
            AND PRWD_SYS_ID   = PRSO_PRWD_SYS_ID -- FROM OT_PR_STAGE_OUTPUT TABLE
            AND PWH_NO        = P_PWH_NO
        M_REP_NO   VARCHAR2(40);
        M_REP_QTY  VARCHAR2(40);
        M_TEMP1    NUMBER := 0;
        M_RNO_RQTY VARCHAR2(2000);
      BEGIN
        IF C1%ISOPEN THEN
          CLOSE C1;
        END IF;
        OPEN C1;
        LOOP
          FETCH C1 INTO M_REP_NO, M_REP_QTY;
          EXIT
        WHEN C1%NOTFOUND;
          M_TEMP1      := M_TEMP1 + 1;
          IF M_TEMP1    = 1 THEN
            M_RNO_RQTY := M_REP_NO||'-'||M_REP_QTY;
          ELSE
            M_RNO_RQTY := M_RNO_RQTY||', '||M_REP_NO||' - '||M_REP_QTY;
          END IF;
        END LOOP;
        LOOP
        v_temp := SUBSTR(v_xml,   v_counter,   4000);
        EXIT
        WHEN v_temp IS NULL;
        pipe ROW(v_temp);
        v_counter := v_counter + 4000;
        END LOOP;
        RETURN ;
      END;
      /untested....
    for executing above
    select * from table(F_GET_PRH_NO_QTY(<your variable inside quotes>))Ravi Kumar

  • Macro Error while executing planning functions or saving data

    Dear All,
    I am getting following error in BEx Analyzer while executing planning function or pressing a save button.
    Note: Excel is 2007 version.
    Cannot run the macro "XXXXXX.xlsx". The macro may not be available in this workbook or all macros may be disabled.
    I changed the settings in Macro Settings (Office Button -> Excel Options -> Trust Center -> Trust Center Settings-> Macro Settings) eventhough it is showing that above message.
    selected ->
    Enalble all macros
    Trust access to VBA project object model.
    If anybody faced this issue kindly reply to this.
    Best Regards,
    SG

    Hello everybody,
    i am facing exactlythe same issue! I am currently running GUI Patch Level 14 and BI Add on Patch Level 10.
    I have also adjusted all necessary settings in Excel Options like Activate all Macros and Trust VBA Coding.
    Does anybody have another Solution.
    As mentioned before Gui Patch 13 and BI Add On Patch 10 obviously arent the solutiuon.
    Best regards
    Janos

  • Error while using group function

    Oracle forms6i
    Hai
    While i am compile my coding it compile successfully, but when i tried to executes i shows error in group function
    my coding is
    if (cnt<>0 ) then
    select BARCODE,INTIME,OUTTIME into today_bar,today_in,today_out from dail_att where BARCODE= :Barcode
    and ATTEND_DATE = :bardate;
    update dail_att set outtime = max(:bartime) where barcode= :barcode
    and ATTEND_DATE = :bardate;
    else
    if (cnt2<>0 ) then
    select INTIME,OUTTIME into yest_in,yest_out from dail_att where BARCODE= :Barcode
    and ATTEND_DATE = :bardate-1;
    if(yest_in is not null and yest_out is null) then
    update dail_att set outtime =max(:bartime) where barcode= :barcode
    and ATTEND_DATE = :bardate-1;
    else
    insert into dail_att(barcode,intime,attend_date)
    values(:barcode,min(:bartime),:bardate);
    end if;
    else
    if :bartime between 0100 and 0630 then
    insert into dail_att(barcode,intime,attend_date)
    values(:barcode,min(:bartime),:bardate-1);
    update dail_att set outtime = max(:bartime) where barcode= :barcode
    and ATTEND_DATE = :bardate-1;
    else
    insert into dail_att(barcode,intime,attend_date)
    values(:barcode,:min(bartime),:bardate);
    end if;     
    end if;
    end if;
    while i am trying to this groupfunction it throws error while i use having tell me how to use group function and where
    to use
    Regadrs
    Srikkanth.M

    Hai sir
    I had a table that contain fields
    EMPCODE NUMBER
    EMPNAME VARCHAR2(25)
    BARCODE VARCHAR2(25)
    INTIME VARCHAR2(25)
    OUTTIME VARCHAR2(25)
    INTRTIMEIN VARCHAR2(25)
    INTROUTTIME VARCHAR2(25)
    PERTIMEIN VARCHAR2(25);
    PERTIMEOUT VARCHAR2(25);
    ATTEND_DATE DATE ;
    Consider that a table with 6 fields ie timein,intrtimein,pertimein,pertimeout,intrtimeout,timeout
    I have generating a attendance table and a table contain 6 various times for an employees and we need to arrange it in order
    0815,0816,1230,1250,1645,1646
    If 0815 is the starting time then timein ie mintime
    0816 stored to be in intrtime
    then1250 then it stored in pertimein
    then 1230 then it stored in pertimeout
    then 1645 stored in intrtimeout
    then 1646 stored in timeout
    I tried with max and min function but its not working properly pls tell me some solutions
    Thanks & Regards
    Srikkanth.M

  • Error While using ToDate Function

    Hi All,
    I am getting below error while creating one report in OBIEE. Please help me in this regard as this is bugging me from long time.
    View Display Error
    Odbc driver returned an error (SQLExecDirectW).
    <<Picture (Metafile)>> Error Details <javascript:void(null)>
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 435222656. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058]
    A general error has occurred. [nQSError: 22047] The Dimension used in TODATE
    function must be referenced in the query. (HY000)
    Kindly help me resolve this issue.
    Thank you,
    Yugendra.

    HI User,
    Refer this link
    http://siebel.ittoolbox.com/groups/technical-functional/siebel-analytics-l/nqserror-22047-the-dimension-used-in-ago-function-must-be-referenced-in-the-query-2692576

  • Error while using the function module..pack_handling_unit_dlvry

    Hi all...
    while using the function module pack_handling_unit_dlvry,
    we need to pass the handling unit number as per the functionality we require.
    but the mandatory field for the function module is the handling unit number in the form of bar code..
    so how to use this function module..
    All the useful answers will be regarded..
    Regards,
    Saroja.

    Have you tried using BAPI BAPI_HU_CREATE. Also view Function Module Documentation on its usage.

  • Error while using Evaluate function

    Hi ,
    I am using the following expression in the criteria tab in order to get first value for every customer order by date:
    EVALUATE('FIRST_VALUE(%1) OVER (PARTITION BY %2  ORDER BY %3)' AS INTEGER, "Fact - Customer SubLedger"."TRANSACTION AMOUNT",Customer.CUST_ACCOUNT_NUMBER,"GL Date".DAY).
    When I try to execute the report it throws following error :
    *[nQSError: 42015] Cannot function ship the following expression: Evaluate( FIRST_VALUE(%1) OVER (PARTITION BY %2 ORDER BY %3),D1.c4, D1.c2, D1.c13)*
    Can anybody help me with this? Where am i going wrong?
    Regards,
    Vikas

    Hi Kishore,
    I am using the exactly same formula which you have mentioned here still it is giving me the same error.
    EVALUATE('First_value(%1) over (partition by %2 order by %3)' AS  DOUBLE , "Fact - Customer SubLedger"."OPENING BALANCE",Customer.CUST_ACCOUNT_NUMBER, "GL Date".DAY)
    Error : *[nQSError: 42015] Cannot function ship the following expression: Evaluate( First_value(%1) over (partition by %2 order by %3),D909.c9, D909.c3, D909.c14)*
    Can't say why it is behaving like this.
    Anyways thanks all of you for your help.
    May be I am going wrong somewhere else.I will try to solve this issue by myself.
    Once again thanks to all of you.
    Regards,
    Vikas

  • Error while compling the custom agent

    I am trying to develop custom agent for ifs using jdeveloper. I have attached following .jar file with project.
    repos.jar,vbjorb.jar,release.jar,xmlparser2.jar, util.jar, tools.jar, adk_1081.jar, lclasess1.jar
    I am getting following error while compiling.
    Error: (50) constructor IfsAgent() not found in class oracle.ifs.agents.common.IfsAgent.
    Error: (86) method required, but value found.
    Can anybody help me to fix this error?
    Thanks
    Sanjay

    Looks like the call to your agent is missing some parameters.
    Here is the constructor for IfsAgent:
    IfsAgent(java.lang.String name, java.lang.String[] args,
    java.lang.String parameterTableSection, oracle.ifs.agents.manager.ServerManager manager)
    This is the description from the iFS Online Resources whitepaper section on creating a simple agent.
    The constructor for an Agent always contains these 4 arguments. The arguments are stored in the ServerManager definition file and are
    passed to the Agent class when it is instantiated at runtime.
    name is the name of this Agent.
    args are any custom arguments you want
    to pass to your Agent.
    sectionName identifies the section
    specfic to this Agent in the common
    ParameterTable. In practice, it is
    the name of this Agent.
    manager is the name of the ServerManager
    that hosts this Agent at runtime.
    I hope this helps.
    -D

  • Error while using substring function

    Hi,
    I am getting the below error while using this query.
    Substr("Fin Account".ASSET_NUM, instr(Fin Account".ASSET_NUM, ':')+1)
    (nQSError: 10058] A general error has occurred. [nQSError: 27002] Near <(>: Syntax error [nQSError: 26012] . (HY000)
    Please help me..
    Edited by: user10441472 on Jun 24, 2009 12:49 PM

    Substr("Fin Account".ASSET_NUM, 1, instr(Fin Account".ASSET_NUM, ':')+1)
    or
    Substr("Fin Account".ASSET_NUM, instr(Fin Account".ASSET_NUM, ':')+1,50)
    i think you should use 3 parameters, did you try that if it would work?
    additionally check what is the default format of your data: go to column properties -> data format; if its text then ok; otherwise you will have to cast the number to char; in such a case the above could be:
    Substr(cast("Fin Account".ASSET_NUM as char(20)), 1, instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1)
    or
    Substr(cast("Fin Account".ASSET_NUM as char(20)), instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1,50)
    Edited by: UserMB on Jun 25, 2009 6:17 AM

  • Error while transporting a Function Group!

    HI ABAPers!
         We have created many function modules in a single function group. While we are trying to transport the function group we succeeded in releasing the function group from the development server to the quality system. But while we are trying to import the same function group from the quality system, it is throwing an error 'FUNCTION GROUP NOT FIT IN SIZE'. what might be the reason for this behaviour and what would be the remedy? Please help this out and points would be awareded for the solutions.
    Regards,
    Kiran

    Hi,
    just an hint (i don't know if it will help u).
    Try in se37 trx , menu "Utilities", shoul be "Repair function group" (o something like that).
    Sometimes u have to do also with standard FM.
    In second step, use unconditional mode -126 in your transport (call to your system admin ho to do that).
    Hope it helps
    Bye
    Andrea
    Pls reward if it helps

  • Error while executing the function module BAPI_RE_CN_CREATE

    Dear All
    I was using the the function module BAPI_RE_CN_CREATE.  When I am trying to execute the function module I am getting the error message u201CBusiness transaction RECN doest existu201D. While inputting the parameters for the function module I have given RECN   In the input field TRANS. Requesting you to please kindly suggest.
    Regards.
    Varaprasad

    Hi Varaprasad,
    please try the following.
    1. Create a contract manually in the system
    2. Use BAPI_RE_CN_GET_DETAIL to show how the fields and structures are filled.
    3. Check and change the parameters for BAPI_RE_CN_CREATE accordingly.
    Hope that helps.
    Regards, Franz

Maybe you are looking for