1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
fichier .h
class CCpd_mtc_t276_p02
:public CExecuteOracle
{
public:
CCpd_mtc_t276_p02(const char * libelle);
protected:
// entrée
//char _libelle[500];
char* _libelle;
public:
virtual void initialize();
int _nbElemTab;
int _tabOrdreCrit[100];
int _tabOrdreObjet[100];
int _codeErr;
char _critErr[40];
int _tabCrit[100];
//int _tabObjet[100];
char* _tabObjet[100];
virtual const char * className(){return "CCpd_mtc_t276_p02";}
};
fichier .pc
void CCpd_mtc_t276_p02::initialize()
{
EXEC SQL BEGIN DECLARE SECTION;
// entrée
char * LIBELLE;
short ind_LIBELLE;
//varchar LIBELLE[500];
// sorties
int TABCRIT[100];
short ind_TABCRIT[100];
//int TABOBJET[100];
char* TABOBJET[100];
short ind_TABOBJET[100];
int NBELEMTAB;
short ind_NBELEMTAB ;
int TABORDRECRIT[100];
short ind_TABORDRECRIT[100];
int TABORDREOBJET[100];
short ind_TABORDREOBJET[100];
int CODEERR;
short ind_CODEERR;
varchar CRITERR[40];
short ind_CRITERR;
EXEC SQL END DECLARE SECTION;
// init des entrées
strcpy((char *)LIBELLE.arr , _libelle);// entrée
LIBELLE.len = strlen(_libelle);
// init des sorties
ind_LIBELLE = 0;
ind_NBELEMTAB = 0;
ind_CODEERR = 0;
ind_CRITERR= 0;
memset(ind_TABCRIT,0,100*sizeof(short));
memset(ind_TABOBJET,0,100*sizeof(short));
memset(ind_TABORDRECRIT,0,100*sizeof(short));
memset(ind_TABORDREOBJET,0,100*sizeof(short));
NBELEMTAB = 0;
CODEERR = 0;
CRITERR.len =0;
CRITERR.arr[0] = 0;
// réponse
EXEC SQL EXECUTE
BEGIN cpd_mtc.t276_p02(:LIBELLE INDICATOR :ind_LIBELLE
, :TABCRIT INDICATOR :ind_TABCRIT
, :TABOBJET INDICATOR :ind_TABOBJET
, :TABORDRECRIT INDICATOR :ind_TABORDRECRIT
, :TABORDREOBJET INDICATOR :ind_TABORDREOBJET
, :NBELEMTAB INDICATOR :ind_NBELEMTAB
, :CODEERR INDICATOR :ind_CODEERR
, :CRITERR INDICATOR :ind_CRITERR); END;
END-EXEC; |