Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
CALLING ORACLE SP with parameters
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Oracle
Application:
Desktop
Divers
Thread ID:
01389524
Message ID:
01389526
Vues:
58
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;
>
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform