Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
CALLING ORACLE SP with parameters
Message
 
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Oracle
Application:
Desktop
Miscellaneous
Thread ID:
01389524
Message ID:
01389545
Views:
65
You mean like this:

When I try it, VFP crash...
LOCAL P1,P2,P3,P4,P5,P6,P7,P8,P9,P0 AS Number
P1 = .NULL.
P2 = .NULL.
P3 = .NULL.
P4 = .NULL.
P5 = .NULL.
P6 = .NULL.
P7 = .NULL.
P8 = .NULL.
P9 = .NULL.
P0 = .NULL.

TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 15
{CALL ESC60.MOVE_PATIENTS_MAINT ('MTL','AC019_CLIN_01', 'QC', '0001', '80047', 'AC019_CLIN_01', 'QC', '0035', '80047', 	
 ?P1, ?P2, ?P3, ?P4, ?P5, ?P6, ?P7, ?P8, ?P9, ?P0 ) }
ENDTEXT
	
?  SQLEXEC(ConnectHandle,lcSQL) > 0
>Can you pass parameters as parameters, e.g. ?myParam1Null, ?myParam2Null

>etc.

>Hi,
>
>I want to call an ORACE Stored Procedure with parameter :
>
>
>
>PROCEDURE move_patients_maint
> ( o_siteid VARCHAR2,
> o_pno VARCHAR2,
> o_sctry VARCHAR2,
> o_cno VARCHAR2,
> o_patno VARCHAR2,
> n_pno VARCHAR2,
> n_sctry VARCHAR2,
> n_cno VARCHAR2,
> n_patno VARCHAR2,
> mon_b_ade_rowcnt IN OUT NUMBER,
> mon_b_pats_rowcnt IN OUT NUMBER,
> mon_b_pats_comm_rowcnt IN OUT NUMBER,
> mon_b_crfparts_rowcnt IN OUT NUMBER,
> mon_b_crfchkl_rowcnt IN OUT NUMBER,
> mon_b_pachklit_rowcnt IN OUT NUMBER,
> mon_b_patadd_rowcnt IN OUT NUMBER,
> mon_b_prealloc_rowcnt IN OUT NUMBER,
> mon_b_patsphase_rowcnt IN OUT NUMBER,
> mon_b_supform_rowcnt IN OUT NUMBER)
>
>
>
>Ive tried this in FoxPro:
>
>
>TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 15
> {CALL ESC60.MOVE_PATIENTS_MAINT ('MTL','AC019_CLIN_01', 'QC', '0001', '80047', 'AC019_CLIN_01', 'QC', '0035', '80047', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) }
>ENDTEXT
>
>? SQLEXEC(ConnectHandle,lcSQL) > 0
>
>
>
>I think that the problem are the NULL values...
>
>Ive also tried to define strong type variable without success e.g.
>
>LOCAL TEST1 AS NUMBER
>TEST1 = NULL
>
>Passing the variable instead of the NULL value but it doesn't work
>If I verify the type of the TEST1 variable it is not NUMBER...What am I doing wrong?
>
>
>Any idea are welcome. Here is the CODE that work in TOAD (...SQL PLUS)
>
>DECLARE
> MON_B_ADE_ROWCNT NUMBER;
> MON_B_PATS_ROWCNT NUMBER;
> MON_B_PATS_COMM_ROWCNT NUMBER;
> MON_B_CRFPARTS_ROWCNT NUMBER;
> MON_B_CRFCHKL_ROWCNT NUMBER;
> MON_B_PACHKLIT_ROWCNT NUMBER;
> MON_B_PATADD_ROWCNT NUMBER;
> MON_B_PREALLOC_ROWCNT NUMBER;
> MON_B_PATSPHASE_ROWCNT NUMBER;
> MON_B_SUPFORM_ROWCNT NUMBER;
>
>
>BEGIN
> MON_B_ADE_ROWCNT := NULL;
> MON_B_PATS_ROWCNT := NULL;
> MON_B_PATS_COMM_ROWCNT := NULL;
> MON_B_CRFPARTS_ROWCNT := NULL;
> MON_B_CRFCHKL_ROWCNT := NULL;
> MON_B_PACHKLIT_ROWCNT := NULL;
> MON_B_PATADD_ROWCNT := NULL;
> MON_B_PREALLOC_ROWCNT := NULL;
> MON_B_PATSPHASE_ROWCNT := NULL;
> MON_B_SUPFORM_ROWCNT := NULL;
>
>ESC60.MOVE_PATIENTS_MAINT ( 'MTL', 'AC019_CLIN_01', 'QC', '0001', '80047', 'AC019_CLIN_01', 'QC', '0035', '80047', MON_B_ADE_ROWCNT, MON_B_PATS_ROWCNT, MON_B_PATS_COMM_ROWCNT, MON_B_CRFPARTS_ROWCNT, MON_B_CRFCHKL_ROWCNT, MON_B_PACHKLIT_ROWCNT, MON_B_PATADD_ROWCNT, MON_B_PREALLOC_ROWCNT, MON_B_PATSPHASE_ROWCNT, MON_B_SUPFORM_ROWCNT );
>
>END;
>
Luc Nadeau
lnadeau@neova.ca

"the theory, it is when all is known and that nothing works. The practice, it is when all works and that nobody knows why." - Albert Einstein (Nobel of physique 1921)
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform