Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Embedded PL/SQL Procedure in Pro*C
I made a minor mistake on the post. Please include the following prior
to the "void update_rvn_exp_ind()"
void update_inv_err()
{
strcpy(proc_label, "Start update_inv_err ");
debug_listing();
EXEC SQL WHENEVER NOT FOUND GOTO end_update_inv_err; EXEC SQL UPDATE INVPERIOD
SET INV_PER_STAT_CD = 'ERR', LAST_UPD_DT = SYSDATE WHERE INV_PER = :inv_per AND FK_PRJ_ID = :prj_id AND BATCH_NO = :batch_no;
end_update_inv_err:
EXEC SQL COMMIT;
strcpy(proc_label, "End update_inv_err ");
debug_listing();
}
On Tue, 09 Nov 1999 17:01:25 GMT, NeedaHoliday wrote:
>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:06:35 CST
![]() |
![]() |