Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Embedded PL/SQL Procedure in Pro*C

Embedded PL/SQL Procedure in Pro*C

From: <NeedaHoliday>
Date: Tue, 09 Nov 1999 17:01:25 GMT
Message-ID: <38295279.71458112@news.pwgsc.gc.ca>


I am trying to call a procedure from the Pro*C module. I get an error that logic is falling through the Pro*C and giving me invalid labels.

"main.c", line 2732: undefined label: end_update_inv_err

Can someone please help me.

The code goes as follows;

 void update_rvn_exp_ind()
 {
  strcpy(proc_label, "Start update_rvn_exp_ind ");   debug_listing();

  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error main.pc update_rvn_exp_ind()--\n");
  EXEC SQL EXECUTE
  BEGIN
      sp_rvn_exp_ind(:prj_id,:inv_per,:batch_no);   END;      END-EXEC;
  strcpy(proc_label, "End update_rvn_exp_ind ");   debug_listing();
 }

/********************************************/

/* Call sub function update_inv_per */
/* to update last_inv_per in the custprd */
/* table */
/********************************************/

 void update_inv_per()
 {
  strcpy(proc_label, "Start update_inv_per ");   debug_listing();

  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error main.pc update_inv_per()--\n");
  EXEC SQL WHENEVER NOT FOUND goto end_update_inv_per;   EXEC SQL UPDATE

                CUSTPRD
           SET 
                LAST_INVCD_PER = :inv_per 
           WHERE 
                CUSTPRD.INV_SRL_NO in
                (SELECT DISTINCT 
                    CUSTATCH.FK_INV_SRL_NO
                FROM 
                    CUSTATCH, INVPERIOD
                WHERE 
                    INVPERIOD.INV_PER       =   :inv_per
AND 
                    INVPERIOD.FK_PRJ_ID     =   TO_NUMBER(:prj_id)
AND
		    INVPERIOD.INV_PER_STAT_CD != 'ERR'
AND 
                    INVPERIOD.BATCH_NO      =   TO_NUMBER(:batch_no)
AND   
                    CUSTATCH.FK_INV_PER     =   INVPERIOD.INV_PER
AND 
                    CUSTATCH.FK_PRJ_ID      =   INVPERIOD.FK_PRJ_ID
AND 
                    CUSTATCH.FK_CUST_ID     =   INVPERIOD.FK_CUST_ID);


  end_update_inv_per:
  EXEC SQL COMMIT;   strcpy(proc_label, "End update_inv_per ");   debug_listing();
 } Received on Tue Nov 09 1999 - 11:01:25 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US