PLS-00103 error

can you please tell me what am i missing. i am getting below error.
Error(8,12): PLS-00103: Encountered the symbol "C_SEL" when expecting one of the following:     := . ( @ % ;
CREATE OR REPLACE PACKAGE BODY "XXDL_PN_LOAD_EMP_ASSIGN_PKG"
AS
FUNCTION insert_pn_emp_space_assign
    RETURN NUMBER
IS
BEGIN
    CURSOR c_sel  IS --NO RECORDS FOUND
      SELECT room_id ,
        room_scheduler,
        benches,
        lab_type,
        room_num,
        floor_id ,
        DEPARTMENT_NAME ,
        room_eff_from_date ,
        room_eff_to_date ,
        org_id ,
        pi_id ,
        dept_pct ,
        pi_pct ,
        FUNCTIONAL_USE_PCT ,
        RESEARCH_EXPLANATION ,
        SUB_DEPT ,
        FUNCTIONAL_USE_CODE ,
        FUNCTIONAL_USE_DESCRIPTION ,
        COUNT(1)
      FROM XXDL.XXDL_CD_FACILITY k
      WHERE pi_id NOT LIKE 'FMS%'
        --and floor_id ='00'
        --and pi_id='04309605'
      AND room_eff_to_date IS NULL
        -- and room_id ='07-590-02-2134'
      AND room_id NOT IN
        (SELECT location_code
        FROM PN_SPACE_ASSIGN_EMP_V
        WHERE emp_space_assign_id IS NOT NULL
    AND EXISTS
      ( SELECT DISTINCT location_code
      FROM pn_locations_all
      WHERE room_id=location_code
        --and nvl(to_date(room_eff_to_date,'Mon/dd/RRRR'),active_end_date)=active_end_date
    GROUP BY room_id ,
      DEPARTMENT_NAME ,
      room_scheduler,
      benches,
      lab_type,
      room_num,
      floor_id ,
      room_eff_from_date ,
      room_eff_to_date ,
      org_id ,
      pi_id ,
      dept_pct ,
      pi_pct ,
      FUNCTIONAL_USE_PCT ,
      RESEARCH_EXPLANATION ,
      SUB_DEPT ,
      FUNCTIONAL_USE_CODE ,
      FUNCTIONAL_USE_DESCRIPTION
    HAVING COUNT(1)=1 ;
    CURSOR c_conc( p_room_id VARCHAR2 ,p_dept_name VARCHAR2 ,p_piid VARCHAR2 ,p_eff_date VARCHAR2 )
    IS
      SELECT FUNCTIONAL_USE_PCT ATTRIBUTE5 ,
        RESEARCH_EXPLANATION ATTRIBUTE6 ,
        SUB_DEPT ATTRIBUTE7 ,
        dept_pct ATTRIBUTE1 ,
        pi_pct ATTRIBUTE2 ,
        FUNCTIONAL_USE_CODE ATTRIBUTE3 ,
        FUNCTIONAL_USE_DESCRIPTION ATTRIBUTE4
      FROM XXDL.XXDL_CD_FACILITY
      WHERE room_id         =p_room_id
      AND department_name   =p_dept_name
      AND pi_id             =p_piid
      AND 1                 =2------not used
      AND room_eff_to_date IS NULL
        --and to_date(room_eff_to_date,'Mon/dd/RRRR')=to_date(p_eff_date,'Mon/dd/RRRR')
    l_person_id     NUMBER;
    l_location_id   NUMBER;
    l_parent_loc_id NUMBER;
    l_attribute5    VARCHAR2(500);
    l_attribute6    VARCHAR2(500);
    l_attribute7    VARCHAR2(500);
    l_attribute1    VARCHAR2(500);
    l_attribute2    VARCHAR2(500);
    l_attribute3    VARCHAR2(500);
    l_attribute4    VARCHAR2(500);
  BEGIN
       mo_global.set_policy_context('S',84);
    FOR c2 IN c_sel
    LOOP
      l_parent_loc_id:= NULL;
      BEGIN
        SELECT location_id
        INTO l_parent_loc_id -- NO RECORDS RETURNED FROM CURSOR
        FROM pn_locations_all
        WHERE location_alias          = c2.floor_id
        AND location_type_lookup_code ='FLOOR';
      EXCEPTION
      WHEN OTHERS THEN
        l_parent_loc_id:= NULL;
      END;
      l_location_id:= NULL;
      BEGIN
        SELECT location_id
        INTO l_location_id
        FROM pn_locations_all
        WHERE location_code    = c2.room_id
        AND parent_location_id =l_parent_loc_id;
      EXCEPTION
      WHEN OTHERS THEN
        l_location_id:= NULL;
      END;
      l_attribute3:=NULL;
      l_attribute4:=NULL;
      l_attribute5:=NULL;
      l_attribute6:=NULL;
      l_attribute7:=NULL;
      FOR c3      IN c_conc(c2.room_id,c2.department_name,c2.pi_id,c2.room_eff_to_date)
      LOOP
        IF l_attribute5 IS NULL THEN
          l_attribute5  :=c3.attribute3||'.'||c3.attribute5;
        ELSE
          IF c3.attribute5 IS NOT NULL THEN
            l_attribute5   :=l_attribute5||','||c3.attribute3||'.'||c3.attribute5;
          END IF;
        END IF;
        IF l_attribute6    IS NULL THEN
          IF c3.attribute6 IS NOT NULL THEN
            l_attribute6   :=c3.attribute3||'.'||c3.attribute6;
          END IF;
        ELSE
          IF c3.attribute6 IS NOT NULL THEN
            l_attribute6   :=l_attribute6||','||c3.attribute3||'.'||c3.attribute6;
          END IF;
        END IF;
        IF l_attribute7    IS NULL THEN
          IF c3.attribute7 IS NOT NULL THEN
            l_attribute7   :=c3.attribute3||'.'||c3.attribute7;
          END IF;
        ELSE
          IF c3.attribute7 IS NOT NULL THEN
            l_attribute7   :=l_attribute7||','||c3.attribute3||'.'||c3.attribute7;
          END IF;
        END IF;
        --functional code
        IF l_attribute3 IS NULL THEN
          l_attribute3  :=c3.attribute3;
        ELSE
          IF c3.attribute3 IS NOT NULL THEN
            l_attribute3   :=l_attribute3||','||c3.attribute3;
          END IF;
        END IF;
        --functional desc
        IF l_attribute4 IS NULL THEN
          l_attribute4  :=c3.attribute4;
        ELSE
          IF c3.attribute4 IS NOT NULL THEN
            l_attribute4   :=l_attribute4||','||c3.attribute4;
          END IF;
        END IF;
      END LOOP;
      l_person_id:=NULL;
      BEGIN
        SELECT person_id
        INTO l_person_id
        FROM per_all_people_f
        WHERE employee_number=c2.pi_id
        AND sysdate BETWEEN effective_start_date AND effective_end_date ;
      EXCEPTION
      WHEN OTHERS THEN
        l_person_id:=NULL;
      END;
    insert into PN_EMP_SPACE_ASSIGN_ITF
                                      BATCH_NAME                                
                                      ,ENTRY_TYPE                                
                                      ,EMP_SPACE_ASSIGN_ID                               
                                      ,LOCATION_ID                                       
                                      ,EMPLOYEE_ID                                       
                                      ,COST_CENTER_CODE                                  
                                      ,ALLOCATED_AREA                                    
                                      ,LAST_UPDATE_DATE                          
                                      ,LAST_UPDATE_LOGIN                                 
                                      ,CREATED_BY                                
                                      ,CREATION_DATE                             
                                      ,LAST_UPDATED_BY                           
                                      ,ATTRIBUTE_CATEGORY                                
                                      ,ATTRIBUTE1                                        
                                      ,ATTRIBUTE2                                        
                                      ,ATTRIBUTE3                                        
                                      ,ATTRIBUTE4                                        
                                      ,ATTRIBUTE5                                        
                                      ,ATTRIBUTE6                                        
                                      ,ATTRIBUTE7                                        
                                      ,ATTRIBUTE8                                        
                                      ,ATTRIBUTE9                                        
                                      ,ATTRIBUTE10                                       
                                      ,ATTRIBUTE11                                       
                                      ,ATTRIBUTE12                                       
                                      ,ATTRIBUTE13                                       
                                      ,ATTRIBUTE14                                       
                                      ,ATTRIBUTE15                                       
                                      ,TRANSFERRED_TO_CAD                                
                                      ,TRANSFERRED_TO_PN                                 
                                      ,ERROR_MESSAGE                                     
                                      ,SOURCE                                            
                                      ,REQUEST_ID                                        
                                      ,PROGRAM_APPLICATION_ID                            
                                      ,PROGRAM_ID                                        
                                      ,PROGRAM_UPDATE_DATE                               
                                      ,EMP_ASSIGN_START_DATE                             
                                      ,EMP_ASSIGN_END_DATE                               
                                      ,UTILIZED_AREA                                     
                                      ,CHANGE_DATE                                       
                                      ,CHANGE_MODE                                       
                                      ,PROJECT_ID                                        
                                      ,TASK_ID                                           
                              values--custom table columns
                                      '07-590_floor_bulk_spc' --BATCH_NAME                                
                                      ,'A' --ENTRY_TYPE                                
                                      ,PN_SPACE_ASSIGN_EMP_S.nextval --EMP_SPACE_ASSIGN_ID                               
                                      ,l_location_id --LOCATION_ID                                       
                                      ,l_person_id --EMPLOYEE_ID                                       
                                      ,1028389 --COST_CENTER_CODE                                  
                                      ,0 --ALLOCATED_AREA                                    
                                      ,sysdate --LAST_UPDATE_DATE                          
                                      ,157092 --LAST_UPDATE_LOGIN                                 
                                      ,157092 --CREATED_BY                                
                                      ,sysdate --CREATION_DATE                             
                                      ,157092 --LAST_UPDATED_BY                           
                                      ,null --ATTRIBUTE_CATEGORY                                
                                      ,c2.dept_pct --ATTRIBUTE1                                        
                                      ,c2.pi_pct --ATTRIBUTE2                                        
                                      ,C2.FUNCTIONAL_USE_CODE --ATTRIBUTE3                                        
                                      ,C2.FUNCTIONAL_USE_DESCRIPTION  --ATTRIBUTE4                                        
                                      ,C2.FUNCTIONAL_USE_PCT  --ATTRIBUTE5                                        
                                      ,C2.RESEARCH_EXPLANATION --ATTRIBUTE6                                        
                                      ,C2.SUB_DEPT --ATTRIBUTE7                                        
                                      ,null --ATTRIBUTE8                                        
                                      ,null --ATTRIBUTE9                                        
                                      ,null --ATTRIBUTE10                                       
                                      ,c2.ORG_Id||'-'||c2.DEPARTMENT_NAME --ATTRIBUTE11                                       
                                      ,null --ATTRIBUTE12                                       
                                      ,null --ATTRIBUTE13                                       
                                      ,null --ATTRIBUTE14                                       
                                      ,null --ATTRIBUTE15                                       
                                      ,null --TRANSFERRED_TO_CAD                                
                                      ,null --TRANSFERRED_TO_PN                                 
                                      ,null --ERROR_MESSAGE                                     
                                      ,'TST' --SOURCE                                            
                                      ,null --REQUEST_ID                                        
                                      ,null --PROGRAM_APPLICATION_ID                            
                                      ,null --PROGRAM_ID                                        
                                      ,null --PROGRAM_UPDATE_DATE                               
                                      ,to_date(c2.room_eff_from_date,'mon/dd/RRRR') --EMP_ASSIGN_START_DATE                             
                                      ,to_date(c2.room_eff_to_date,'mon/dd/RRRR')  --EMP_ASSIGN_END_DATE                               
                                      ,null --UTILIZED_AREA                                     
                                      ,null --CHANGE_DATE                                       
                                      ,null --CHANGE_MODE                                       
                                      ,null --PROJECT_ID                                        
                                      ,null --TASK_ID   --07-590-02-ELEV02
    END LOOP;
  RETURN 1;
EXCEPTION
       WHEN OTHERS THEN
           FND_FILE.PUT_LINE(FND_FILE.LOG,'Error while insert_pn_emp_space_assign - '||sqlerrm);
              RETURN 0;
        END;
      WHEN OTHERS THEN
        FND_FILE.PUT_LINE(FND_FILE.LOG,'Error while insert_pn_emp_space_assign - '||sqlerrm);
        RETURN 0;
  END insert_pn_emp_space_assign;
  END XXDL_PN_LOAD_EMP_ASSIGN_PKG;

893185 wrote:
can you please tell me what am i missing. i am getting below error.
Error(8,12): PLS-00103: Encountered the symbol "C_SEL" when expecting one of the following:     := . ( @ % ;
CREATE OR REPLACE PACKAGE BODY "XXDL_PN_LOAD_EMP_ASSIGN_PKG"
AS
FUNCTION insert_pn_emp_space_assign
RETURN NUMBER
IS
BEGINremove "BEGIN" from line above

Similar Messages

  • Bug causing PLS-00103 error

    The following anonymous block works fine
    begin
    null;
    end;
    /but if I add a space between "end" and ";", like this
    begin
    null;
    end ;
    /I get ORA-06550 and "PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following ..." errors.
    I'm running version 1.5.4, Build MAIN-5940, on Windows XP.

    racist!
    No, really, the two should behave in the same manner, so if the syntax is correct (which is), both should work. As F9 doesn't, it's a bug.
    Regards,
    K.

  • PLS-00103 Error While Creating Procedure

    I am attempting to create the following procedure following the guidelines in Metalink Doc ID #118040.1 and I keep receiving the following error at Line #22:
    Error(22,65): PLS-00103: Encountered the symbol ":" when expecting one of the following: := . ( % ; The symbol ":= was inserted before ":" to continue.
    Here is my procedure code:
    PROCEDURE sw_load_image( position IN NUMBER, filename VARCHAR2) AS
    f_lob BFILE;
         b_lob BLOB;
         image_name VARCHAR2(30);
         mime_type VARCHAR2(30);
         dot_pos NUMBER;
    BEGIN
    -- Find the position of the dot ('.') located in the filename
         dot_pos := INSTR(filename, '.');
         -- Get the filename without extension and use it as image name
         image_name := SUBSTR(filename,1,dot_pos-1);
         -- Build the mime type. Retrieve the file extension and add it to 'image/'
         mime_type := 'image/'||SUBSTR( filename, dot_pos+1, length(filename) );
         INSERT INTO sw_images values(position, image_name, mime_type, empty_blob() ) RETURN img_data INTO b_lob;
         f_lob := BFILENAME('IMG2LOAD', filename);
         dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
         dbms_lob.loadfromfile(b_lob, f_lob, dbms_lob.getlength(f_lob) ):
         dbms_lob.fileclose(f_lob);
         COMMIT;
    END;
    Line #22 is the line that starts 'dbms_lob.loadfromfile'. I am not seeing where I have made a mistake. Does anyone else see where I've made a mistake?
    This procedure is being created on a 9i database running on W2K server and W2K client.
    Thanks,
    Jason

    Thanks! As many times as I looked at that I can't believe I didn't see that. Thanks again.

  • Error while creating a procedure (PLS-00103)

    Hi Am create the follwing Procedure:-
    create or replace PROCEDURE XL_SP_ROGUEUSERS (
    csrresultset_inout IN OUT sys_refcursor,
    intuserkey_in IN NUMBER,
    strsortcolumn_in IN VARCHAR2,
    strsortorder_in IN VARCHAR2,
    intstartrow_in IN NUMBER,
    intpagesize_in IN NUMBER,
    intdocount_in IN NUMBER,
    inttotalrows_out OUT NUMBER,
    strfiltercolumnlist_in IN VARCHAR2,
    strfiltercolumnvaluelist_in IN VARCHAR2,
    strudfcolumnlist_in IN VARCHAR2,
    strudfcolumnvaluelist_in IN VARCHAR2,
    struserlogin_in IN VARCHAR2,
    strfirstname_in IN VARCHAR2,
    strlastname_in IN VARCHAR2,
    strdate_in IN VARCHAR2
    AS
    BEGIN
    DECLARE
    whereclause VARCHAR2(8000);
    select_stmt VARCHAR2(8000);
    strColumnList VARCHAR2(4000);
    strDateFormat VARCHAR2 (80);
    strFromClause VARCHAR2(4000);
    strWhereClause VARCHAR2(4000);
    strOrderByClause VARCHAR2(2000);
    intSortDirection_in PLS_INTEGER;
    entsum     varchar2(20) := 'Entitlements Summary';
    str_row EXCEPTION;
    do_cnt EXCEPTION;
    no_logged_in_user EXCEPTION;     
    property_not_found EXCEPTION;
    pragma exception_init(Str_row,-20001);
    pragma exception_init(Do_cnt,-20002);
    pragma exception_init(no_logged_in_user,-20003);     
    BEGIN
    -- Throw exception if the start row or page size is either NULL or have
    -- values less than or equal to zero
    IF (intstartrow_in <= 0 OR intpagesize_in <= 0 OR intstartrow_in IS NULL OR intpagesize_in IS NULL)
         THEN
         RAISE str_row;
    END IF;
    -- Throw exception if the intdocount_in parameter is NULL or has a value
    -- other than 0 and 1
    IF intdocount_in NOT IN (0, 1, 2) OR intdocount_in IS NULL
         THEN
         RAISE do_cnt;
    END IF;
    -- Throw exception if the intuserkey_in (logged in user) parameter is NULL
    IF intuserkey_in IS NULL or intuserkey_in <= 0
         THEN
         RAISE no_logged_in_user;
    END IF;
    -- Now, we start accumulating the whereclause based on the input
    -- parameters, performing error checking along the way.
    --Organization Permissioning.
    /* whereclause := ' and usr.act_key IN (SELECT DISTINCT act2.act_key FROM '||
    ' act act2, aad, usg, ugp, usr usr5 '||
    ' WHERE act2.act_key = aad.act_key '||
    ' and aad.ugp_key = usg.ugp_key '||
    ' and ugp.ugp_key = usg.ugp_key'||
    ' and usg.usr_key = usr5.usr_key'||
    ' and usr5.usr_key = '||intuserkey_in||')'; */
    IF strfiltercolumnlist_in IS NOT NULL AND
    strfiltercolumnvaluelist_in IS NOT NULL THEN
    whereclause := whereclause
    || xl_sfg_parseparams(strfiltercolumnlist_in,
    strfiltercolumnvaluelist_in);
    END IF;
    IF struserlogin_in IS NOT NULL THEN
    whereclause := whereclause
    || ' AND UPPER(usr.usr_login) LIKE '
    || UPPER (''''||struserlogin_in||'''')
    || ' ';
    END IF;
    IF strudfcolumnlist_in IS NOT NULL AND
    strudfcolumnvaluelist_in IS NOT NULL THEN
    whereclause := whereclause
    || xl_sfg_parseparams(strudfcolumnlist_in,
    strudfcolumnvaluelist_in);
    END IF;
    -- Perform the count query and store the result in inttotalrows_out
         inttotalrows_out := 0;
    IF intdocount_in IN (1,2) THEN
    EXECUTE IMMEDIATE ' select count(*) from((SELECT upper(rcd.RCD_VALUE) as "User ID" '||                                        ' FROM rce, obj, rcd, orf '||
                   ' WHERE '||
                   ' RCE_STATUS like 'No Match Found' '||
                   ' AND ((orf.ORF_FIELDNAME like 'User ID') or (orf.ORF_FIELDNAME like 'User%Login')) '||
                   ' AND rce.OBJ_KEY = obj.OBJ_KEY '||
                   ' AND rce.RCE_KEY = rcd.RCE_KEY '||
                   ' AND rcd.ORF_KEY = orf.ORF_KEY '||
                   ' ) '||
                   ' MINUS '||
                   ' (SELECT usr.USR_LOGIN FROM usr '||
                   ' WHERE '||
                   ' usr.USR_STATUS like 'Active')) '||
                   whereclause INTO inttotalrows_out;
    -- UI needs the SP to return result set always. The following is returned
    -- when the indocount is 2 which does not return any result set but count
    IF intdocount_in = 2 THEN
    select_stmt := 'SELECT ''dummy'' FROM dual';
    OPEN csrresultset_inout FOR select_stmt;          
    END IF;
    END IF;
    -- If intdocount_in is 2, UI just wants to get the totalrows to give
    -- the warning to users if the result set exceeds the limit set by
    -- UI. When ntdocount_in is 2, the following block won't be executed.
    IF intdocount_in IN (0,1) THEN          
    -- Construct the select query by calling XL_SPG_GetPagingSql.
    -- This is the main query for this stored procedure
    strOrderByClause := ' usr.usr_login';
    --strOrderByClause := ' req.req_key';
    IF strsortorder_in = 'DESC' THEN
    intSortDirection_in := 0;
    ELSE
    intSortDirection_in := 1;          
    END IF;
    XL_SPG_GetPagingSql(strColumnList,
    strFromClause,
    whereclause,
    strOrderByClause,
    intSortDirection_in,
    intStartRow_in,
    intPageSize_in,
    select_stmt
    OPEN csrresultset_inout FOR select_stmt;
    END IF;     
    -- Exception Handling
    EXCEPTION
    WHEN Str_row THEN
    RAISE_APPLICATION_ERROR(sqlcode,
    'Start Row/Page Size cannot be NULL OR less than or equal to zero ');
    WHEN Do_cnt THEN
    RAISE_APPLICATION_ERROR(sqlcode,
    'Do Count must be 0, 1 or 2. ');
    WHEN no_logged_in_user THEN
    RAISE_APPLICATION_ERROR(sqlcode,
    'Logged-in User Key cannot be NULL OR less than or equal to zero ');
    END;
    end XL_SP_ROGUEUSERS;
    But Am getting the following error message, I couldn't figure wat it is.Can anyone help me:-
    PLS-00103: Encountered the symbol "NO" when expecting one of the following: * & = - + ; < / > at in is mod remainder not rem return returning <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ between into using || bulk member SUBMULTISET_

    Please use tags when posting code. Also please format the code so that blocks line up vertically - often that makes syntax errors like missing END IFs etc much easier to spot.                                                                                                                                                                                                                                                                                                                                                                           

  • Error while executing procedure : ORA-06550 and PLS-00103

    Hi I have created the Stored Procedure as,
    CREATE OR REPLACE PACKAGE BODY APPS.TMP_IMPORT_ITEMS_PKG AS
      PROCEDURE LOAD_INTERFACE_TABLE(organization_code IN VARCHAR2, errbuf OUT VARCHAR2, retcode OUT NUMBER) IS
      org_code varchar2(3);
      BEGIN
        org_code:= organization_code;
        DBMS_OUTPUT.PUT_LINE('Organization Code is...' || org_code);
      END LOAD_TABLE;
    END TMP_IMPORT_ITEMS_PKG;
    And here is the code what i am trying to execute:
    DECLARE
      V_ERRBUF VARCHAR2(1000);
      V_RETCODE NUMBER;
    BEGIN
      EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', V_ERRBUF, V_RETCODE);
    END;
    when i run the above code i am getting the following error:
    ORA-06550: line 5, column 10:
    PLS-00103: Encountered the symbol "TMP_IMPORT_ITEMS_PKG" when expecting one of the following:
    := . ( @ % ;
    The symbol ":=" was substituted for "TMP_IMPORT_ITEMS_PKG" to continue.
    Can any body tell me what's wrong with the above code
    Thanks in Advance,
    Kumar K
    Edited by: user2054206 on Dec 17, 2008 9:09 PM
    Edited by: user2054206 on Dec 17, 2008 9:27 PM

    BEGIN
    EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);
    END;why are you executing it like that , it should be
    EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);or as Prabhakar said in PL/SQL
    BEGIN
         TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);
    END;Edited by: Rajneesh Kumar on Dec 18, 2008 11:08 AM

  • PLS-00103: Received error on creation of procedure

    Dear All,
    I have created view when this procedure i got error.
    1. PLS-00103: Encountered the symbol "=" when expecting one of the following:
    constant exception <an identifier>
    <a double-quoted delimited-identifier> table LONG_ double ref
    char time timestam
    2. PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
    ( - + case mod new not null others <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    3. PLS-00103: Encountered the symbol ")" when expecting one of the following:
    . ( * @ % & - + ; / at for mod remainder rem
    <an exponent (**)> and or group having intersect minus order
    start uni
    create or replace PROCEDURE PO_ITEM_BRANCH_PROC (ITEM_ID1 IN NUMBER, BRANCH_CODE1 IN VARCHAR2 , RESULT1 OUT NUMBER,ERR_MSG OUT NVARCHAR2 )
    as
    RESULT1 := 0 ;
    BEGIN
    SELECT
    count(a.asset_number) into RESULT1
    FROM
    FA_ADDITIONS A
    ,FA_CATEGORIES_VL C
    ,FA_BOOKS B
    ,FA_LOCATIONS FL
    ,FA_DISTRIBUTION_HISTORY DH
    ,FA_TRANSACTION_HEADERS TH
    WHERE
    A.ASSET_CATEGORY_ID=C.CATEGORY_ID
    AND A.ASSET_ID=B.ASSET_ID
    AND A.ASSET_ID=TH.ASSET_ID
    AND TH.TRANSACTION_TYPE_CODE='ADDITION'
    AND B.TRANSACTION_HEADER_ID_IN=TH.TRANSACTION_HEADER_ID
    AND B.ASSET_ID=TH.ASSET_ID
    AND A.ASSET_ID=DH.ASSET_ID
    AND DH.LOCATION_ID=FL.LOCATION_ID
    AND TH.TRANSACTION_TYPE_CODE='ADDITION'
    --AND  FL.SEGMENT4 = 'Shalimar Campus Lahore'
    AND TH.TRANSACTION_TYPE_CODE <> 'FULL RETIREMENT'
    -- AND FL.SEGMENT4 = (SELECT flex_value FROM fnd_flex_values WHERE ATTRIBUTE1 = '04010303')
    AND A.ASSET_CATEGORY_ID IN (
    SELECT
    msi.asset_category_id
    FROM
    po_requisition_lines_all b,
    mtl_system_items_b msi
    WHERE
    b.ITEM_ID = msi.INVENTORY_ITEM_ID
    AND msi.inventory_item_id(+) = B.item_id
    AND msi.organization_id(+) = B.destination_organization_id
    AND b.item_id = ITEM_ID
    AND FL.SEGMENT4 = (
    SELECT
    (SELECT FLEX_VALUE FROM fnd_flex_values WHERE ATTRIBUTE1 = B.ATTRIBUTE2) BRANCH
    FROM
    po_requisition_lines_all b,
    mtl_system_items_b msi
    WHERE
    b.ITEM_ID = msi.INVENTORY_ITEM_ID
    AND msi.inventory_item_id(+) = B.item_id
    AND msi.organization_id(+) = B.destination_organization_id
    AND b.ATTRIBUTE2 = BRANCH_CODE
    exception when others then
    mesg := 'select failed in BILLTER' ;
    err_msg :=mesg;
    END ;

    create or replace PROCEDURE PO_ITEM_BRANCH_PROC(ITEM_ID1 IN NUMBER,
                                                    BRANCH_CODE1 IN VARCHAR2,
                                                    RESULT1 OUT NUMBER,
                                                    ERR_MSG OUT NVARCHAR2
                                                   ) as
    BEGIN
      RESULT1 := 0 ;
      SELECT count(a.asset_number)
        into RESULT1
        FROM FA_ADDITIONS A,
             FA_CATEGORIES_VL C,
             FA_BOOKS B,
             FA_LOCATIONS FL,
             FA_DISTRIBUTION_HISTORY DH,
             FA_TRANSACTION_HEADERS TH
       WHERE A.ASSET_CATEGORY_ID = C.CATEGORY_ID
         AND A.ASSET_ID = B.ASSET_ID
         AND A.ASSET_ID = TH.ASSET_ID
         AND TH.TRANSACTION_TYPE_CODE = 'ADDITION'
         AND B.TRANSACTION_HEADER_ID_IN = TH.TRANSACTION_HEADER_ID
         AND B.ASSET_ID = TH.ASSET_ID
         AND A.ASSET_ID = DH.ASSET_ID
         AND DH.LOCATION_ID = FL.LOCATION_ID
         AND TH.TRANSACTION_TYPE_CODE = 'ADDITION'
    --   AND FL.SEGMENT4 = 'Shalimar Campus Lahore'
         AND TH.TRANSACTION_TYPE_CODE != 'FULL RETIREMENT'
    --   AND FL.SEGMENT4 = (SELECT flex_value FROM fnd_flex_values WHERE ATTRIBUTE1 = '04010303')
         AND A.ASSET_CATEGORY_ID IN (SELECT msi.asset_category_id
                                       FROM po_requisition_lines_all b,
                                            mtl_system_items_b msi
                                      WHERE b.ITEM_ID = msi.INVENTORY_ITEM_ID
                                        AND msi.inventory_item_id(+) = B.item_id
                                        AND msi.organization_id(+) = B.destination_organization_id
                                        AND b.item_id = ITEM_ID
         AND FL.SEGMENT4 = (SELECT (SELECT FLEX_VALUE
                                      FROM fnd_flex_values
                                     WHERE ATTRIBUTE1 = B.ATTRIBUTE2
                                   ) BRANCH
                              FROM po_requisition_lines_all b,
                                   mtl_system_items_b msi
                             WHERE b.ITEM_ID = msi.INVENTORY_ITEM_ID
                               AND msi.inventory_item_id(+) = B.item_id
                               AND msi.organization_id(+) = B.destination_organization_id
                               AND b.ATTRIBUTE2 = BRANCH_CODE
    exception
      when others
      then err_msg := 'select failed in BILLTER';
    END ;Regards
    Etbin
    Edited by: Etbin on 21.4.2012 11:26
    sorry
    Edited by: Etbin on 21.4.2012 12:02
    reposted

  • Hard coded SQL string doesn't run with error PLS-00103

    I have created a package with 34 stored procedures [pre]to create some materialized view with hard coded SQL [pre]string (client required for this hard coding). The [pre]first part with 21 simple create statements has
    [pre]worked fine. 2nd part with 11 complicated create [pre]statements, only first one has worked. all others [pre]have  not worked.
    [pre]
    I used dbms_output.put_line (sql_string) to check the [pre]individual create statement, it has looked fine. I [pre]have run individual SP within package. I have got [pre]error message as ORA-06550: line 1, column 45:
    [pre]PLS-00103: Encountered the symbol "end-of-file" when [pre]expecting one of the following: ; [pre]
    <an identifier> <a double-quoted delimited-identifier> [pre]The symbol ";" was substituted for "end-of-file" to [pre]continue.
    [pre]I have checked SQL string between 1st part and 2nd [pre]part. They are the same and all with ';' to end SQL [pre]string and END SP name in the end. Please help me to [pre]identify where the problems are. Thanks. Followings [pre]are some sample SQL string:
    [pre]PROCEDURE sp_1st_string
    [pre]IS
    [pre]BEGIN
    [pre]    EXECUTE IMMEDIATE 'CREATE MATERIALIZED VIEW
    [pre]mv_name1 TABLESPACE space_name PARALLEL ( DEGREE [pre]DEFAULT INSTANCES DEFAULT ) BUILD IMMEDIATE REFRESH [pre]COMPLETE ON DEMAND WITH PRIMARY KEY AS SELECT col1, [pre]col2,col3, col4, col5 FROM tableone A, table_two B [pre]WHERE A.id = B.id';
    [pre]COMMIT;
    [pre]END sp_1st_string;
    [pre]PROCEDURE sp_2nd_string
    [pre]IS
    [pre]BEGIN
    [pre]   EXECUTE IMMEDIATE ' CREATE MATERIALIZED VIEW
    [pre]mv_name2 TABLESPACE PDE_DATA PARALLEL ( DEGREE [pre]DEFAULT INSTANCES DEFAULT ) BUILD IMMEDIATE REFRESH [pre]COMPLETE ON DEMAND WITH PRIMARY KEY AS select col1 .. [pre]col10 from tableone a, tabletwo b, tablethree c, [pre]tablefour d, tablefive e, tablesix f where clause;
    [pre]COMMIT;
    [pre]END sp_2nd_string;
    Message was edited by:
            citicbj
    Message was edited by:
            citicbj                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    stevencallan:
    Thanks for your advice. I have been thinking the above problem may be [pre]caused by this. If I run 'Create MV statement' in SQL PLUS or Toad, single quote [pre]will work. But when I put hard coded SQL string in package and stored [pre]procedure, it will cause compiling error. After I took off single quote, SP will be [pre][pre]compiled successfully. When I run package.sp, it will cause the problem. [pre]Here is the sample code:[pre]
    [pre]CREATE MATERIALIZED VIEW my_mv TABLESPACE space_name [pre][pre]PARALLEL (DEGREE DEFAULT INSTANCES DEFAULT) BUILD IMMEDIATE [pre]REFRESH COMPLETE ON DEMAND WITH PRIMARY KEY AS select A.ID , [pre]A.CNTL_NUM, C.XX_CODE, D.FIRST_NAME, D.MDL_NAME, [pre]D.LAST_NAME, H.XX_DESC, TO_DATE(TO_CHAR(C.CREAT_TS, [pre]'MM/DD/YYYY'),'MM/DD/YY'), F.STATE, CASE WHEN A.XX_CODE IS NOT NULL [pre]THEN X END, E.X_DESC  from TABLE1 A, TABLE2 B, TABLE3 C, TABLE4 [pre]D, TABLE5 E, TABLE6 F, TABLE7 G, TABLE8 H
    [pre]where D.X_SW = 'X' and B.X_SW = X' and G.X_SW = 'X' and B.CNTL_ID = [pre]A.CNTL_ID and B.CNTL_ID = D.CNTL_ID and B.X_ID = C.X_ID and B.X_ID = [pre]G.X_ID and B.X_ID = F.X_ID and G.X_CD = H.X_CD and B.X_CD = E.X_CD [pre]and E.X_CD = '25' and C.ENRLMT_ID NOT LIKE 'O%'; [pre]
    [pre]When I hard coded this statement in package and sp, I have to take off single [pre]quote ' ' form 'MM/DD/YYYY', 'MM/DD/YY', X_SW ='X', X_CD = '25' AND NOT [pre]LIKE 'O%', Then I can compile whole package successfully. This is why I [pre]mentioned that 1st part 21 simple create statement work because they don't have [pre]these single quote in the statement. In 2nd part with 13 complicated create [pre]statements, some of them have no single quote in the statement. They will [pre]run. Some of them with single quote in statement. They will have the problem [pre]to run if I take off single for compiling. [pre]
    [pre]Please give me some idea what is the reason. Thanks a lot.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Error  ORA-06550,  PLS-00103 in procedure launched by php page

    Hi,
    I have written a php page that calls a pl/sql procedure. When I launch the procedure (through the php) I receive this error
    Warning: ociexecute(): OCIStmtExecute: ORA-06550: line 1, column 101: PLS-00103: Encountered the symbol "" when expecting one of the following: ( - + case mod new not null others <an identifier>  <a double-quoted delimited-identifier> <a bind variable> avg count current exists max min prior sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification>  <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set specifi in /web/findb/php/fin/SPR/nuoveEmissioni/nuoveEmissioni.class.php on line 918
    bool(false) The php code that calls the procedure is the following:
    $query  = " declare retU number; begin ";
          $query .= " retU := pkg_schedapr.UPDATE_SPR_STATUS( :isinU, :utente, :emissione_f,
                            :azione_f, :fondo_f, :emittenteU_f, :rischioU_f, :varU_f,
                            :formulaU_f, :profiloU_f); ";
          $query .= ":retU_val := retU; "; 
          $query .= "end;";   
          $stmtUpdate = ociparse ($this->conn,$query);
             if (!$stmtUpdate) die (var_dump(OCIError()));  
            ociBindByName($stmtUpdate, ":isinU", $isin_t, 12);
            ociBindByName($stmtUpdate, ":utente", $userName, 20);
            ociBindByName($stmtUpdate, ":emissione_f", $mod_bond, 1);
            ociBindByName($stmtUpdate, ":azione_f", $mod_azione, 1);
            ociBindByName($stmtUpdate, ":fondo_f", $mod_fondo, 1);
            ociBindByName($stmtUpdate, ":emittenteU_f", $mod_emittente, 1);
            ociBindByName($stmtUpdate, ":rischioU_f", $mod_rischio, 1);
            ociBindByName($stmtUpdate, ":varU_f", $mod_var, 1);
            ociBindByName($stmtUpdate, ":formulaU_f", $mod_formula, 1);
            ociBindByName($stmtUpdate, ":profiloU_f", $mod_profilo, 1);
            ociBindByName($stmtUpdate, ":retU_val", $retU_val, 1);  
            $err=OCIExecute($stmtUpdate);
             if (!$err) die (var_dump(OCIError()));
          ocifreestatement($stmtUpdate);  The pl/sql procedure is the following:
    function UPDATE_SPR_STATUS(isin_p in varchar2, utente in varchar2, mercato in varchar2,
                               emissione_p in number, azione_p in number, fondo_p in number, emittente_p in number,
                               rischio_p in number, var_p in number, formula_p in number, mercato_p in number,
                               profilo_p in number) return number
    is
    control number;
    modificato number;
    SQL_QUERY VARCHAR2(4000);
    TYPE MOD_SUM IS REF CURSOR;
    SUMM MOD_SUM;
    TYPE MOD_SUM_ROW
        IS RECORD(
            EMISSIONE VARCHAR2(1),
            AZIONE VARCHAR2(1),
            FONDO VARCHAR2(1),
            EMITTENTE VARCHAR2(1),
            RISCHIO VARCHAR2(1),
            VAR VARCHAR2(1),
            FORMULA VARCHAR2(1),
            PROFILO VARCHAR2(1)
    MODIFICHE MOD_SUM_ROW;
    EMS VARCHAR2(1);
    AZI VARCHAR2(1);
    FON VARCHAR2(1);
    EMT VARCHAR2(1);
    RSK VARCHAR2(1);
    VAR VARCHAR2(1);
    FRM VARCHAR2(1);
    PRF VARCHAR2(1);
    MKT VARCHAR(1);
    begin
         modificato := emissione_p + azione_p + fondo_p + emittente_p + rischio_p
                       + var_p + formula_p + mercato_p + profilo_p;
         select count(*)
         into control
         from spr_web_nuove_emissioni a
         where a.ISIN=isin_p
         AND A.END_DATE IS NULL;
         if control > 0
         then
         update spr_web_nuove_emissioni a
         set a.END_DATE=sysdate
         where a.ISIN=isin_p
           AND A.END_DATE IS NULL;
         SQL_QUERY := 'SELECT A.EMISSIONE, A.AZIONE, A.FONDO, A.EMITTENTE,
                       A.RISCHIO, A.VAR, A.FORMULA,
                       A.PROFILO
                       FROM SPR_WEB_NUOVE_EMISSIONI A
                       WHERE A.ISIN='''||isin_p||' AND A.END_DATE=TRUNC(SYSDATE)';
         OPEN SUMM FOR SQL_QUERY;       
         LOOP
         FETCH SUMM INTO MODIFICHE;
         EXIT WHEN SUMM%NOTFOUND;
         if emissione_p < 1 THEN
         EMS := MODIFICHE.EMISSIONE;
         ELSE
         EMS := 'Y';
         end if;
         if azione_p < 1 THEN
         AZI := MODIFICHE.AZIONE;
         ELSE
         AZI := 'Y';
         end if;
         if fondo_p < 1 THEN
         FON := MODIFICHE.FONDO;
         ELSE
         FON := 'Y';
         end if;
         if emittente_p < 1 THEN
         EMT := MODIFICHE.EMITTENTE;
         ELSE
         EMT := 'Y';
         end if;
         if rischio_p < 1 THEN
         RSK := MODIFICHE.RISCHIO;
         ELSE
         RSK := 'Y';
         end if;
         if var_p < 1 THEN
         VAR := MODIFICHE.VAR;
         ELSE
         VAR := 'Y';
         end if;
         if formula_p < 1 THEN
         FRM := MODIFICHE.FORMULA;
         ELSE
         FRM := 'Y';
         end if;
         if profilo_p < 1 THEN
         PRF := MODIFICHE.PROFILO;
         ELSE
         PRF := 'Y';
         end if;
         END LOOP;
         CLOSE SUMM;
         ELSE
         if emissione_p < 1 THEN
         EMS := 'N';
         ELSE
         EMS := 'Y';
         end if;
         if azione_p < 1 THEN
         AZI := 'N';
         ELSE
         AZI := 'Y';
         end if;
         if fondo_p < 1 THEN
         FON := 'N';
         ELSE
         FON := 'Y';
         end if;
         if emittente_p < 1 THEN
         EMT := 'N';
         ELSE
         EMT := 'Y';
         end if;
         if rischio_p < 1 THEN
         RSK := 'N';
         ELSE
         RSK := 'Y';
         end if;
         if var_p < 1 THEN
         VAR := 'N';
         ELSE
         VAR := 'Y';
         end if;
         if formula_p < 1 THEN
         FRM := 'N';
         ELSE
         FRM := 'Y';
         end if;
         if profilo_p < 1 THEN
         PRF := 'N';
         ELSE
         PRF := 'Y';
         end if;
         end if;
         insert into spr_web_nuove_emissioni
         values (isin_p, sysdate, utente, EMS, AZI, FON, EMT,
                RSK, VAR, FRM, PRF,
                SYSDATE, NULL);
         begin
         update spr_status a
         set a.VALIDATED='Y'
         where a.ISIN=isin_p
           AND A.MARKET=mercato;
         if modificato > 0
         then
         update spr_status a
         set a.USER_CHANGE='Y', a.USER_LAST_MODIFIED=sysdate
         where a.ISIN=isin_p and a.MARKET=mercato;
         end if;
         exception
             when others then
             dbms_output.put_line('ERROR in <PKG_SCHEDAPR.UPDATE_SPR_STATUS> Aggiornamento stato ' ||SQLCODE||'-'||SQLERRM);
             return 1;
         end;
         commit;
         return 0;
    end UPDATE_SPR_STATUS;I do not succed to understand the error I receive, why? Where is the error?
    Can someone help me?
    Thanks, bye bye.

    Hi,
    I have changed the php code in this way:
    $query  = " declare retU number; begin ";
          $query .= " retU := pkg_schedapr.UPDATE_SPR_STATUS(:isinU, :utente, :emissione_f, ";
          $query .= ":azione_f, :fondo_f, :emittenteU_f, :rischioU_f, :varU_f, ";
          $query .= ":formulaU_f, :profiloU_f); ";
          $query .= ":retU_val := retU; "; 
          $query .= "end;";   
          $stmtUpdate = ociparse ($this->conn,$query);
             if (!$stmtUpdate) die (var_dump(OCIError()));  
            ociBindByName($stmtUpdate, ":isinU", $isin_t, 12);
            ociBindByName($stmtUpdate, ":utente", $userName, 20);
            ociBindByName($stmtUpdate, ":emissione_f", $mod_bond, 1);
            ociBindByName($stmtUpdate, ":azione_f", $mod_azione, 1);
            ociBindByName($stmtUpdate, ":fondo_f", $mod_fondo, 1);
            ociBindByName($stmtUpdate, ":emittenteU_f", $mod_emittente, 1);
            ociBindByName($stmtUpdate, ":rischioU_f", $mod_rischio, 1);
            ociBindByName($stmtUpdate, ":varU_f", $mod_var, 1);
            ociBindByName($stmtUpdate, ":formulaU_f", $mod_formula, 1);
            ociBindByName($stmtUpdate, ":profiloU_f", $mod_profilo, 1);
            ociBindByName($stmtUpdate, ":retU_val", $retU_val, 1);  
             echo "$isin_t--";echo "$userName--"; echo"$mod_bond--";
          echo "$mod_azione--";echo "$mod_fondo--"; echo"$mod_emittente--";
          echo "$mod_rischio--";echo "$mod_var--"; echo"$mod_formula--";
          echo "$mod_profilo--";echo "$retU_val";
            echo "$query";
            $err=OCIExecute($stmtUpdate);
             if (!$err) die (var_dump(OCIError()));
          ocifreestatement($stmtUpdate);   and now I receive this error:
    Warning: ociexecute(): OCIStmtExecute: ORA-01756: quoted string not properly terminated ORA-06512: at "FIN.PKG_SCHEDAPR", line 6420 ORA-06512: at line 1 in /web/findb/php/fin/SPR/nuoveEmissioni/nuoveEmissioni.class.php on line 918
    bool(false) But I do not understand the cause of the error.
    How can I solve?
    Thanks, bye bye.

  • Encountered an error "PLS-00103: Encountered the symbol "CREATE" when expec

    HI All,
    I am creating a procedure and trying to use temp table...
    Here is the code":
    PROCEDURE P_PARENT_TREE
    topic_id_in           IN NUMBER,
    topic_hierarchy_details_out     OUT SYS_REFCURSOR
    ) IS
    temp_children_level topic_children.children_level%TYPE;
    temp_children_id topic_children.children_id%TYPE;
    temp_topic_id topic.topic_id%TYPE;
    CURSOR c_child_level IS
    SELECT children_level, children_id
    FROM topic_children
    WHERE children_id = topic_id_in;
    BEGIN
    OPEN c_child_level;
    FETCH c_child_level INTO temp_children_level,temp_topic_id ;
    CLOSE c_child_level;
    CREATE TEMPORARY TABLE IF NOT EXISTS topic_child
    (t_topic_id NUMBER, t_children_id NUMBER, children_seq NUMBER);
    WHILE temp_children_level > 0
    LOOP
    INSERT INTO topic_child(t_topic_id,t_children_id,children_seq)
    values (
    SELECT topic_id , children_id ,children_level
    FROM topic_children
    WHERE children_id = temp_topic_id);
    temp_children_level := temp_children_level - 1;
    END LOOP;
    OPEN topic_hierarchy_details_out FOR
    select * from topic_child;
    END P_PARENT_TREE;
    END TOPIC_PKG;
    getting the error "PLS-00103: Encountered the symbol "CREATE" when expec"...
    any idea why? or may be is there any other way to write this query

    something like
    select connect_by_root child_topic ||sys_connect_by_path (topic, '>') path
      from test
    where connect_by_isleaf = 1
    start with child_topic = 'aa4'
    connect by child_topic = prior topicas in
    SQL> with test as
      2  (
      3  select 0 sq, 'aa ' topic, 'aa1' child_topic from dual union all
      4  select 1 sq, 'aa1' topic, 'aa2' child_topic from dual union all
      5  select 3 sq, 'aa2' topic, 'aa3' child_topic from dual union all
      6  select 4 sq, 'aa3' topic, 'aa4' child_topic from dual
      7  )
      8  select connect_by_root child_topic ||sys_connect_by_path (topic, '>') path
      9    from test
    10   where connect_by_isleaf = 1
    11   start with child_topic = 'aa4'
    12  connect by child_topic = prior topic
    13  /
    PATH
    aa4>aa3>aa2>aa1>aa

  • PL/SQL Error  PLS-00103

    Hi All,
    I am currently working a "package header" and "package body".
    I have created a user defined data type ( record type ) in pl/sql pacakge header.
    And I am trying to use it from pl/sql body, especially
    I am using this type as parameter type for a procedure.
    Because of this I am getting below error at the time
    of compilation.
    LINE/COL ERROR
    2/3 PLS-00103: Encountered the symbol "CREATE" when expecting one of
    the following:
    begin end function package pragma procedure subtype type use
    <an identifier> <a double-quoted delimited-identifier> form
    current cursor
    The symbol "CREATE" was ignored.
    Can any one guide me on this...
    Thanks in advance.
    Regards,
    Srini
    , from body
    I was trying

    I was able to get rid of the problem by creating header
    and body of the package with two different names.
    Example: ph and pb
    But for my curiosity , just like to know,
    Both "Package Header" and "Package Body" must be defined
    with two different names ?
    Is there any other way to get rid of this exception ?
    Thanks in advance.
    Cheers,
    Srini

  • Error PLS-00103 in cursor in operation insert in a particioned table

    Hi experts,
    I 've just insert in a particioned table values with next cursor and give an error:
    ERROR:
    SQL> @/home/u0182638/mfp_sql/2_cursores.sql
    insert into sales values
    (reg.SAT_ID,reg.SAC_ID,reg.SCR_ID,reg.UCR_ID,reg.SAT_PARENTMOVID,reg.SAT_USE
    RCATEGORYID,reg.SAT_DTPOSTED,reg.SAT_DTAVAIL,reg.SAT_NAME,reg.SAT_TRNAMT,reg
    .SAT_CURRENCY,reg.SAT_ORIGIN,reg.SAT_COMMENT,reg.SAT_DTIMPORT,reg.IMF_ID,reg
    .CLOB_ID,reg.SUBCLOB_ID,reg.HIDDEN );
    ERROR at line 8:
    ORA-06550: line 8, column 5:
    PLS-00103: Encountered the symbol "INSERT" when expecting one of the
    following:
    . ( * @ % & - + / at loop mod remainder range rem ..
    <an exponent (**)> || multiset
    The symbol "loop" was substituted for "INSERT" to continue.
    ORA-06550: line 15, column 9:
    PLS-00103: Encountered the symbol "IF" when expecting one of the following:
    ; <an identifier> <a double-quoted delimited-identifier>
    end if;
    ERROR at line 15:
    ORA-06550: line 15, column 9:
    PLS-00103: Encountered the symbol "IF" when expecting one of the following:
    ; <an identifier> <a double-quoted delimited-identifier>
    **CURSOR:**
    set serveroutput on;
    declare
    limite number:= 200000;
    contador number:= 0;
    cursor c_SAVING_ACCOUNT_TRANS_P is
    select
    SAT_ID,SAC_ID,SCR_ID,UCR_ID,SAT_PARENTMOVID,SAT_USERCATEGORYID,SAT_DTPOSTED,
    SAT_DTAVAIL,SAT_NAME,SAT_TRNAMT,SAT_CURRENCY,SAT_ORIGIN,SAT_COMMENT,SAT_DTIM
    PORT,IMF_ID,CLOB_ID,SUBCLOB_ID,HIDDEN from
    IBD_MFP.SAVING_ACCOUNT_TRANSACTIONS_P;
    begin
    for reg in c_SAVING_ACCOUNT_TRANS_P
    insert into sales values
    (reg.SAT_ID,reg.SAC_ID,reg.SCR_ID,reg.UCR_ID,reg.SAT_PARENTMOVID,reg.SAT_USE
    RCATEGORYID,reg.SAT_DTPOSTED,reg.SAT_DTAVAIL,reg.SAT_NAME,reg.SAT_TRNAMT,reg
    .SAT_CURRENCY,reg.SAT_ORIGIN,reg.SAT_COMMENT,reg.SAT_DTIMPORT,reg.IMF_ID,reg
    .CLOB_ID,reg.SUBCLOB_ID,reg.HIDDEN );
    contador:= contador +1;
    if contador > limite then
    begin
    commit;
    contador:= 0;
    dbms_output.put_line('otros '|| limite ||' registros...');
    end if;
    end loop;
    end;
    TABLE:
    CREATE TABLE IBD_MFP.SAVING_ACCOUNT_TRANSACTIONS_PART
    SAT_ID NUMBER NOT NULL,
    SAC_ID NUMBER NOT NULL,
    SCR_ID NUMBER,
    UCR_ID NUMBER,
    SAT_PARENTMOVID NUMBER,
    SAT_USERCATEGORYID NUMBER,
    SAT_DTPOSTED DATE NOT NULL,
    SAT_DTAVAIL DATE NOT NULL,
    SAT_NAME VARCHAR2(512 BYTE) NOT NULL,
    SAT_TRNAMT VARCHAR2(32 BYTE) NOT NULL,
    SAT_CURRENCY VARCHAR2(3 BYTE) NOT NULL,
    SAT_ORIGIN NUMBER(1) DEFAULT 0 NOT NULL,
    SAT_COMMENT VARCHAR2(1000 BYTE),
    SAT_DTIMPORT DATE,
    IMF_ID NUMBER,
    CLOB_ID NUMBER,
    SUBCLOB_ID NUMBER,
    HIDDEN NUMBER(1) DEFAULT 0
    PCTUSED 0
    PCTFREE 30
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 256MB
         NEXT     256MB     
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    PARTITION BY RANGE (SAT_DTPOSTED)
    ( PARTITION SAT_DTPOSTED_ENE00 VALUES LESS THAN (TO_DATE('01/02/2000', 'DD/MM/YYYY')) TABLESPACE TABLESPACE_NUEVO,
    PARTITION SAT_DTPOSTED_FEB00 VALUES LESS THAN (TO_DATE('01/03/2000', 'DD/MM/YYYY')) TABLESPACE TABLESPACE_NUEVO,
    NOLOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;

    you are missing an END;
    in this part
        if contador > limite then
        begin
          commit;
          contador:= 0;
         dbms_output.put_line('otros '|| limite ||' registros...');
        end if;

  • How can I correct this error:  Error(24,7): PLS-00103:

    I have the following Trigger
    create or replace
    TRIGGER "CODE_BARRAS"
    before insert or update of CODIGO_BARRAS on PAGOS FOR EACH ROW
    begin
    IF INSERTING THEN
    IF LENGTH(:NEW.CODIGO_BARRAS) = 66 THEN
    :NEW.EAN := SUBSTR(:NEW.CODIGO_BARRAS, 4,13);
    :NEW.CODIGO_CUENTA := SUBSTR(:NEW.CODIGO_BARRAS, 21,22);
    :NEW.NRO_DOCUMENTO := 0;
    :NEW.VALOR_PAGO := SUBSTR(:NEW.CODIGO_BARRAS, 47,10);
    :NEW.FECHA_PAGO := TO_CHAR(SYSDATE,'YYYYMMDD');
    :NEW.NUM_LOTE := NUM_LOTE();
    ELSIF LENGTH(:NEW.CODIGO_BARRAS) = 62 THEN
    :NEW.EAN := SUBSTR(:NEW.CODIGO_BARRAS, 4,13);
    :NEW.CODIGO_CUENTA := SUBSTR(:NEW.CODIGO_BARRAS, 21,9);
    :NEW.NRO_DOCUMENTO := SUBSTR(:NEW.CODIGO_BARRAS, 30,9);
    :NEW.VALOR_PAGO := SUBSTR(:NEW.CODIGO_BARRAS, 43,10);
    :NEW.FECHA_PAGO := TO_CHAR(SYSDATE,'YYYYMMDD');
    :NEW.NUM_LOTE := NUM_LOTE();
    END IF;
    END IF;
    END IF;
    EXCEPTION
    when no_data_found then
    DBMS_OUTPUT.PUT_LINE(' NO HAY INFORMACION, CODIGO ERRADO');
    end;
    Which generates the following error me
    Error(24,7): PLS-00103: Se ha encontrado el símbolo "IF" cuando se esperaba uno de los siguientes: ; <an identifier> <a double-quoted delimited-identifier>
    how do I correct the tigger?_
    I am grateful for your help..._

    Hi Rey-user6318244!
    You may delete the last END IF; to correct your trigger
    create or replace
    TRIGGER "CODE_BARRAS"
    before insert or update of CODIGO_BARRAS on PAGOS FOR EACH ROW
    begin
    IF INSERTING THEN
    IF LENGTH(:NEW.CODIGO_BARRAS) = 66 THEN
    :NEW.EAN := SUBSTR(:NEW.CODIGO_BARRAS, 4,13);
    :NEW.CODIGO_CUENTA := SUBSTR(:NEW.CODIGO_BARRAS, 21,22);
    :NEW.NRO_DOCUMENTO := 0;
    :NEW.VALOR_PAGO := SUBSTR(:NEW.CODIGO_BARRAS, 47,10);
    :NEW.FECHA_PAGO := TO_CHAR(SYSDATE,'YYYYMMDD');
    :NEW.NUM_LOTE := NUM_LOTE();
    ELSIF LENGTH(:NEW.CODIGO_BARRAS) = 62 THEN
    :NEW.EAN := SUBSTR(:NEW.CODIGO_BARRAS, 4,13);
    :NEW.CODIGO_CUENTA := SUBSTR(:NEW.CODIGO_BARRAS, 21,9);
    :NEW.NRO_DOCUMENTO := SUBSTR(:NEW.CODIGO_BARRAS, 30,9);
    :NEW.VALOR_PAGO := SUBSTR(:NEW.CODIGO_BARRAS, 43,10);
    :NEW.FECHA_PAGO := TO_CHAR(SYSDATE,'YYYYMMDD');
    :NEW.NUM_LOTE := NUM_LOTE();
    END IF;
    END IF;
    EXCEPTION
    when no_data_found then
    DBMS_OUTPUT.PUT_LINE(' NO HAY INFORMACION, CODIGO ERRADO');
    end;yours sincerely
    Florian W.
    P.S. Please enclose your code into to get formated output. Thanks a lot!
    Edited by: Florian W. on 23.02.2009 16:02                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • PL/SQL Explicit Cursors,Error(3,15): PLS-00103

    I creat procedure as following:
    PROCEDURE Proj_Using_Most_People_ByGender (TheGender Employee.Sex%Type)
    IS
    ProjIdWorks_On.Pno%TYPE;
    ProjCnt number;
    CURSOR Get_People_Involved(Gender IN Employee.Sex%Type)
    IS
    select w.Pno, count(*) as TotalPeople
    from Works_On w, Employee e
    where e.Sex = Gender
    and e.Ssn = w.Essn
    group by w.Pno
    order by TotalPeople desc;
    BEGIN
    open Get_People_Involved(TheGender);
    for i in 1..3 loop
    fetch Get_People_Involved into ProjId, ProjCnt;
    exit when Get_People_Involved%NOTFOUND;
    dbms_output.put_line (' Project: ' || to_char(ProjId) ||
    ' Personnel: ' || to_char(ProjCnt) );
    end loop;
    close Get_People_Involved;
    EXCEPTION
    when others then
    dbms_output.PUT_LINE ( 'Problems' );
    END;
    error is:
    Error(3,15): PLS-00103: Encountered the symbol "." when expecting one of the following: constant exception <an identifier> <a double-quoted delimited-identifier> table LONG_ double ref char time timestamp interval date binary national character nchar The symbol "<an identifier>" was substituted for "." to continue.
    Anybody can help me? Thanks a lot!

    I didn't see a problem - except you should have
    CREATE OR REPLACE PROCEDURE ... and not just PROCEDURE ...
    SQL> create or replace PROCEDURE explitpro (TheGender Employee.Sex%Type) IS
      2  ProjId  Works_On.Pno%TYPE;
      3  ProjCnt number;
      4  CURSOR Get_People_Involved(Gender IN Employee.Sex%Type) IS
      5     select w.Pno, count(*) as TotalPeople
      6        from Works_On w, Employee e
      7        where e.Sex = Gender
      8          and e.Ssn = w.Essn
      9      group by w.Pno
    10      order by TotalPeople desc;
    11  BEGIN
    12    open Get_People_Involved(TheGender);
    13    for i in 1..3 loop
    14       fetch Get_People_Involved into ProjId, ProjCnt;
    15            exit when Get_People_Involved%NOTFOUND;
    16       dbms_output.put_line (' Project: ' || to_char(ProjId) ||
    17                             ' Personnel: ' || to_char(ProjCnt) );
    18     end loop;
    19     close Get_People_Involved;
    20  EXCEPTION
    21    when others then
    22       dbms_output.PUT_LINE ( 'Problems' );
    23  END;
    24 /
    Procedure created.
    SQL> EXECUTE EXPLITPRO('F')
    PL/SQL procedure successfully completed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • PLS-00103: Encountered the symbol "SELECT" when expecting one of the follow

    Can any one tell me why I an getting compile error in Trigger with the following code (see below for the error message). Error is indicated in the IF statement Select clause.
    Code:
    -- AUdit Code Begin
    -- Note: Ony for those tables having 'AUDIT' UDP
    -- Value set to 'T'
    IF (Select Count(*) From DBConfiguration
    Where ConfigurationCode = 'AUDIT' AND
    ConfigurationValue = 'T') > 0 THEN
    WHEN (:new.WORKREQUESTSTATUS <> :old.WORKREQUESTSTATUS)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSTATUS',
    :old.WORKREQUESTSTATUS,:new.WORKREQUESTSTATUS,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCE <> :old.WORKREQUESTSOURCE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCE',
    :old.WORKREQUESTSOURCE,:new.WORKREQUESTSOURCE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCEID <> :old.WORKREQUESTSOURCEID)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCEID',
    :old.WORKREQUESTSOURCEID,:new.WORKREQUESTSOURCEID,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDESC <> :old.WORKREQUESTDESC)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDESC',
    :old.WORKREQUESTDESC,:new.WORKREQUESTDESC,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDATE <> :old.WORKREQUESTDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDATE',
    CAST(:old.WORKREQUESTDATE AS varchar2(256)),CAST(:new.WORKREQUESTDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTOWNER <> :old.WORKREQUESTOWNER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTOWNER',
    :old.WORKREQUESTOWNER,:new.WORKREQUESTOWNER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPCODE <> :old.WORKREQUESTAPPCODE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPCODE',
    :old.WORKREQUESTAPPCODE,:new.WORKREQUESTAPPCODE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPROVER <> :old.WORKREQUESTAPPROVER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPROVER',
    :old.WORKREQUESTAPPROVER,:new.WORKREQUESTAPPROVER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPDATE <> :old.WORKREQUESTAPPDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPDATE',
    CAST(:old.WORKREQUESTAPPDATE AS varchar2(256)),CAST(:new.WORKREQUESTAPPDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTCOMMENT <> :old.WORKREQUESTCOMMENT)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTCOMMENT',
    :old.WORKREQUESTCOMMENT,:new.WORKREQUESTCOMMENT,:new.UserId)
    End;
    WHEN (:new.CLOSEDATE <> :old.CLOSEDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'CLOSEDATE',
    CAST(:old.CLOSEDATE AS varchar2(256)),CAST(:new.CLOSEDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.ANALYTEKEY <> :old.ANALYTEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'ANALYTEKEY',
    CAST(:old.ANALYTEKEY AS varchar2(256)),CAST(:new.ANALYTEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.SUBPURPOSEKEY <> :old.SUBPURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'SUBPURPOSEKEY',
    CAST(:old.SUBPURPOSEKEY AS varchar2(256)),CAST(:new.SUBPURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.PURPOSEKEY <> :old.PURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'PURPOSEKEY',
    CAST(:old.PURPOSEKEY AS varchar2(256)),CAST(:new.PURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    End if;
    -- Audit End
    Error:
    95/5 PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
    ( - + case mod new not null others <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql stddev sum variance
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal with character set specification>
    <an alternativ
    97/39 PLS-00103: Encountered the symbol ")" when expecting one of the following:
    * & - + ; / at for mod remainder rem <an exponent (**)> and
    or group having intersect minus order start union where
    connect || multiset

    Here is the code:
    -- AUdit Code Begin
    -- Note: Ony for those tables having 'AUDIT' UDP
    -- Value set to 'T'
    IF (Select Count(DBConfigurationValue) From DBConfiguration
    Where DBConfigurationCode = 'AUDIT' AND
    DBConfigurationValue = 'T') > 0 THEN
    WHEN (:new.WORKREQUESTSTATUS <> :old.WORKREQUESTSTATUS)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSTATUS',
    :old.WORKREQUESTSTATUS,:new.WORKREQUESTSTATUS,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCE <> :old.WORKREQUESTSOURCE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCE',
    :old.WORKREQUESTSOURCE,:new.WORKREQUESTSOURCE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCEID <> :old.WORKREQUESTSOURCEID)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCEID',
    :old.WORKREQUESTSOURCEID,:new.WORKREQUESTSOURCEID,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDESC <> :old.WORKREQUESTDESC)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDESC',
    :old.WORKREQUESTDESC,:new.WORKREQUESTDESC,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDATE <> :old.WORKREQUESTDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDATE',
    CAST(:old.WORKREQUESTDATE AS varchar2(256)),CAST(:new.WORKREQUESTDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTOWNER <> :old.WORKREQUESTOWNER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTOWNER',
    :old.WORKREQUESTOWNER,:new.WORKREQUESTOWNER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPCODE <> :old.WORKREQUESTAPPCODE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPCODE',
    :old.WORKREQUESTAPPCODE,:new.WORKREQUESTAPPCODE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPROVER <> :old.WORKREQUESTAPPROVER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPROVER',
    :old.WORKREQUESTAPPROVER,:new.WORKREQUESTAPPROVER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPDATE <> :old.WORKREQUESTAPPDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPDATE',
    CAST(:old.WORKREQUESTAPPDATE AS varchar2(256)),CAST(:new.WORKREQUESTAPPDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTCOMMENT <> :old.WORKREQUESTCOMMENT)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTCOMMENT',
    :old.WORKREQUESTCOMMENT,:new.WORKREQUESTCOMMENT,:new.UserId)
    End;
    WHEN (:new.CLOSEDATE <> :old.CLOSEDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'CLOSEDATE',
    CAST(:old.CLOSEDATE AS varchar2(256)),CAST(:new.CLOSEDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.ANALYTEKEY <> :old.ANALYTEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'ANALYTEKEY',
    CAST(:old.ANALYTEKEY AS varchar2(256)),CAST(:new.ANALYTEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.SUBPURPOSEKEY <> :old.SUBPURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'SUBPURPOSEKEY',
    CAST(:old.SUBPURPOSEKEY AS varchar2(256)),CAST(:new.SUBPURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.PURPOSEKEY <> :old.PURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'PURPOSEKEY',
    CAST(:old.PURPOSEKEY AS varchar2(256)),CAST(:new.PURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    End if;

  • PLS-00103: Encountered the symbol "" when expecting one of the following:

    Hi I am creating trigger using CFQUERY tag of cold fusion on oracle..
    <CFQUERY DATASOURCE="CRM">
    create or replace trigger AWC_ACCESSROLESID_TRI
    before insert on AWC_ACCESSROLES
    for each row
    begin
    select AWC_ACCESSROLESID_SEQ.nextval into :new.AR_ID from dual;
    end;
    </CFQUERY>
    But the created trigger is not compiled, it is giving the following error
    "Line # = 1 Column # = 6 Error Text = PLS-00103: Encountered the symbol "" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge <a single-quoted SQL string> pipe The symbol "" was ignored."
    If I edit that trigger in enterprose manager console by pressing space and compile that, it is working fine with out any error. If i run the above statement in sql *plus, It is working fine with out any error.
    Can you please tell me why this is happening if i run it using cfquery tag and also the possible solutions.
    Thanks in advance,
    Vinod

    So it works in Enterprise manager. It works in SQL*Plus. It doesn't work in CFQUERY. Sounds to me like a ColdFusion problem rather than an Oracle problem to be honest. Aren't there any ColdFusion support resources?
    Cheers, APC

Maybe you are looking for

  • Large slideshow, Ken Burns, allow black, etc. failure.

    Hi all, I'm trying to produce a large slideshow for a team year end celebration. It's about 1000 images and 30 minutes. I tried Aperture, but the processing time was taking forever (some posted days for a show shorter than mine). iMovie seems to be o

  • How can import  nokia n97 contacts in iPhone 4

    How can import  nokia n97 contacts in iPhone 4  which is stored in window vista

  • Kernel Patching with zones

    I have a T2000 installed with the Solaris 10 1/06 release with several zones created on it. 4 zones are "sparse" root, and one (zone-5) is a "whole root" zone. In order to apply and certify (internally) the latest sendmail patch, Solaris 10 needs a l

  • G4 Cube, 10.3.9 and Linksys

    Of course when I bought the router from Circuit City, the salesperson assured me that it worked with Macs. I looked on the box for the Intel/Windows only warning and there was none. I didn' t have the need to set-up right away, so it stayed in the bo

  • Topics

    hi I have written a piece of code for sending and receving the message using topics After sending the message ,I cannot retrieve the message in the receive class.Iam getting only time out waiting for message .I have pasted the code for reference Plea