IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

ORACLE-11i - Paramètre entrée package


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut ORACLE-11i - Paramètre entrée package
    Bonjour a tous,

    J'ai créé un package BT_INTERFACE_3_PKG avec une procedure declaree de la maniere suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MAINPROCHISTO(p_type_traitement IN VARCHAR2, errbuf OUT VARCHAR2,retcode OUT VARCHAR2)
    Je declare donc mon executable de la maniere suivante: BT_INTERFACE_3_PKG.MAINPROCHISTO

    Enfin lors de la declaration de mon programme, je cré un parametre d'entrée correspondant à p_type_traitement.
    Lorsque je lance le traitement depuis oracle, il me demande bien d'entrer la valeur de ce parametre.
    Cependant, lors de l'execution de ce programme, je demande d'afficher la valeur de ce parameter et il est nul!
    Voila comment je lui demande d'afficher le parametre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FND_FILE.PUT_LINE (fnd_file.log,'lower(p_type_traitement) = '||nvl(p_type_traitement, 'A'));
    Il s'affiche donc tjs en sortie la lettre 'A'.

    Peut etre est ce parcequ'il faut utiliser des "&" mais il ne l'accepte pas lors de la compilation!

    Si qq'un a une idée

    Merci d'avance

  2. #2
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Peux tu nous donner le code d'appel à la procédure.
    car avec tes exemples il ne dervait pas y avoir de pb

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Il n'y a pas de code d'appel a la procedure en fait
    Je la lance directement depuis oracle, comme un executable
    N'ayant pas acces au serveur, je suis obligé de passer par des packages

  4. #4
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    mais tu appeles bien la fonction ?
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monparametre VARCHAR2(50):='TOTO4';
    maproc(monparametre);

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Non,
    Mon executable est la procedure. Donc sous oracle je lance uniquement mon programme associé à cette procedure.
    C'est donc oracle qui realise cette action
    J'ai uniquement declaré mon package sur la base, je l'ai compilé, ...
    Je rentre bien un parametre en entree lorsque je lance le progarmme sous oracle mais lorsque je cherche a afficher cette variable, elle est vide
    J'ai essayer de mettre
    p_type_traitement := &1 mais il ne l'accepte pas a la compilation

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    qq'un aurait il une solution?

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Pour info, voila le corps de ma procedure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
      PROCEDURE MAINPROCHISTO(p_type_traitement IN VARCHAR2, errbuf OUT VARCHAR2,retcode OUT VARCHAR2) IS
    /* ===========================================================================
       Procédure extraction des données du fichier
       =========================================================================== */
     
      BEGIN
     
        errbuf   := ' ';
        retcode  := 0;
     
        FND_FILE.PUT_LINE (fnd_file.log, 'BT : Interface 3');
        FND_FILE.PUT_LINE (fnd_file.log, 'VERSION : 1.0');
        FND_FILE.PUT_LINE (fnd_file.log, ' ');
     
         FND_FILE.PUT_LINE (fnd_file.log,'lower(p_type_traitement) = '||nvl(p_type_traitement, 'A'));
     
        if lower(p_type_traitement) = 'extraction'
        then
     
            FND_FILE.PUT_LINE (fnd_file.log, 'Extraction des donnees');
            FND_FILE.PUT_LINE (fnd_file.log, ' ');
            EXTRACT_HISTO_PRIX;
     
        else -- = 'chargement'
     
            FND_FILE.PUT_LINE (fnd_file.log, 'Chargement des donnees');
            FND_FILE.PUT_LINE (fnd_file.log, ' ');
            CHARGE_HISTO_PRIX;
            commit;
     
        end if;
     
      EXCEPTION
         WHEN OTHERS THEN
            FND_FILE.PUT_LINE (fnd_file.log, sqlerrm);
      END MAINPROCHISTO;
    Qui est appelé directement depuis oracle

  8. #8
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Je suis vraiement désolé mais qui est appelé directement sous oracle ne veut rien dire !

    tu as forcement :
    - un shell qui appelle la proc
    - une connection sous un client SQL qui fait un exec
    - une application tiers qui lance la proc
    - etc..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     p_type_traitement := &1
    ca c'est un code en sql avec récupération de paramètre d'entrée donne nous le fichier qui contient cette commande et la ligne qui lance ce fichier.

    Sinon on ne pourra pas t'aider

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il parle de déclaration dans OEBS (Oracle = Oracle 11i)

    Il faudrait savoir ce qu'il y a dans la définition du programme, de l'exécutable et tout

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    j'ai trouvé ceci : http://www.exforsys.com/content/view/1507/342/

    j'espère que ça t'aidera

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Voila l'ensemble de mon package:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
     
    create or replace package BT_INTERFACE_3_PKG as
     
      PROCEDURE MAINPROCHISTO(p_type_traitement in VARCHAR2
                         ,errbuf out varchar2
                         ,retcode out varchar2
                         );
     
      PROCEDURE EXTRACT_HISTO_PRIX;
     
      PROCEDURE CHARGE_HISTO_PRIX;
     
    end BT_INTERFACE_3_PKG;
    /
     
     
    CREATE OR REPLACE
    package body BT_INTERFACE_3_PKG as
    /* ========================================================================
       Programme        : BT_INTERFACE_3_PKG.sql
       Version          : 1.0
       Date de création : 02/10/2006
       Auteur           : 
       But              : Interface sur les historique de prix
       Paramètres       : 
       Retour           :
       Remarques        :
       ---------------------------------------------------------------------------
                      INFORMATION RELATIVE A LA MAINTENANCE
       ---------------------------------------------------------------------------
       Date     Rev |      Nom      | Description de l'intervention
       ---------------------------------------------------------------------------
       02/10/06 1.0 |    | Version initiale
    */
      -- ===================== DEBUT_EXECUTABLE ====================
     
      PROCEDURE MAINPROCHISTO(p_type_traitement IN VARCHAR2, errbuf OUT VARCHAR2,retcode OUT VARCHAR2) IS
    /* ===========================================================================
       Procédure extraction des données du fichier
       =========================================================================== */
     
      BEGIN
     
        errbuf   := ' ';
        retcode  := 0;
     
        FND_FILE.PUT_LINE (fnd_file.log, 'BT : Interface 3');
        FND_FILE.PUT_LINE (fnd_file.log, 'VERSION : 1.0');
        FND_FILE.PUT_LINE (fnd_file.log, ' ');
     
         FND_FILE.PUT_LINE (fnd_file.log,'lower(p_type_traitement) = '||nvl(p_type_traitement, 'A'));
     
        if lower(p_type_traitement) = 'extraction'
        then
     
            FND_FILE.PUT_LINE (fnd_file.log, 'Extraction des donnees');
            FND_FILE.PUT_LINE (fnd_file.log, ' ');
            EXTRACT_HISTO_PRIX;
     
        else -- = 'chargement'
     
            FND_FILE.PUT_LINE (fnd_file.log, 'Chargement des donnees');
            FND_FILE.PUT_LINE (fnd_file.log, ' ');
            --EXTRACT_HISTO_PRIX;
            CHARGE_HISTO_PRIX;
            commit;
     
        end if;
     
      EXCEPTION
         WHEN OTHERS THEN
            FND_FILE.PUT_LINE (fnd_file.log, sqlerrm);
      END MAINPROCHISTO;
     
     
    procedure EXTRACT_HISTO_PRIX IS
    /* =========================================================================================================
       Procédure d'extraction des données de la table BT_HISTO_PRIX dans le fichier de sortie BT_HISTO_PRIX.csv
       ========================================================================================================= */
     
        v_path                   VARCHAR2(100);
        v_file_name              VARCHAR2(100);
        v_file                   UTL_FILE.FILE_TYPE;
     
        CURSOR C_BT_TEMP_HISTO IS
        SELECT
             SERVICE_BASE,
             PRIX,
             DATE_DEB,
             DATE_FIN
        FROM BT_HISTO_PRIX
        ORDER BY SERVICE_BASE;
     
        G_BT_TEMP_HISTO  C_BT_TEMP_HISTO%ROWTYPE;
     
    BEGIN
     
        -- Ouverture du fichier en écriture
        FND_FILE.PUT_LINE (fnd_file.log, 'Ouverture du fichier en ecriture');
        v_path := '/dbfiles/applcsf/inbound';
        v_file_name := 'BT_HISTO_PRIX.txt';
        v_file := UTL_FILE.FOPEN(v_path,v_file_name,'w');
     
        FND_FILE.PUT_LINE (fnd_file.log, ' ');
        FND_FILE.PUT_LINE (fnd_file.log, 'Creation du fichier'); 
        --Creation de l'entete
        FND_FILE.PUT_LINE (fnd_file.log,rpad('SERVICE_BASE', 30)||';'||rpad('PRIX', 20)||';'||rpad('DATE_DEB', 15)||';'||rpad('DATE_FIN', 15));
        FND_FILE.PUT_LINE (fnd_file.output,rpad('SERVICE_BASE', 30)||';'||rpad('PRIX', 20)||';'||rpad('DATE_DEB', 15)||';'||rpad('DATE_FIN', 15));
     
     
        OPEN C_BT_TEMP_HISTO;
     
        LOOP
           BEGIN
              FETCH C_BT_TEMP_HISTO INTO G_BT_TEMP_HISTO;
              EXIT WHEN C_BT_TEMP_HISTO%NOTFOUND;
     
              --insertion ed chaque ligne de la table dans le fichier de sortie
              FND_FILE.PUT_LINE (fnd_file.log,rpad(G_BT_TEMP_HISTO.SERVICE_BASE, 30)||';'||rpad(G_BT_TEMP_HISTO.PRIX, 20)||';'||rpad(G_BT_TEMP_HISTO.DATE_DEB, 15)||';'||rpad(G_BT_TEMP_HISTO.DATE_FIN, 15));   
              FND_FILE.PUT_LINE (fnd_file.output,rpad(G_BT_TEMP_HISTO.SERVICE_BASE, 30)||';'||rpad(G_BT_TEMP_HISTO.PRIX, 20)||';'||rpad(G_BT_TEMP_HISTO.DATE_DEB, 15)||';'||rpad(G_BT_TEMP_HISTO.DATE_FIN, 15));   
              UTL_FILE.PUT_LINE(v_file,G_BT_TEMP_HISTO.SERVICE_BASE||';'||G_BT_TEMP_HISTO.PRIX||';'||G_BT_TEMP_HISTO.DATE_DEB||';'||G_BT_TEMP_HISTO.DATE_FIN);
     
           EXCEPTION
              WHEN OTHERS THEN
              EXIT;
           END;
        END LOOP;
     
        CLOSE C_BT_TEMP_HISTO;
     
      UTL_FILE.FCLOSE(v_file);
     
    EXCEPTION
         WHEN OTHERS THEN
            FND_FILE.PUT_LINE (fnd_file.log, sqlerrm);
            UTL_FILE.FCLOSE(v_file);
     
    END EXTRACT_HISTO_PRIX;
     
     
    procedure CHARGE_HISTO_PRIX IS
    /* ======================================================================================
       Procédure de chargement des données d'un fichier d'entrée dans la table BT_HISTO_PRIX 
       ====================================================================================== */
     
        v_path                   VARCHAR2(100);
        v_file_name              VARCHAR2(100);
        v_file                   UTL_FILE.FILE_TYPE;
        v_text                   VARCHAR2(4000) := NULL;
     
        V_SERVICE_BASE                    varchar2(100);
        V_PRIX                            number;
        V_DATE_DEB                        Date;
        V_DATE_FIN                        Date;
     
        v_max_id                number := 0;
        v_count                 number := 0;
        v_err_date              number := 0;
        v_exist                 number := 0;
        v_doublon               number := 0;
     
      BEGIN
     
        -- Ouverture du fichier en écriture
        FND_FILE.PUT_LINE (fnd_file.log, 'Ouverture du fichier en lecture');
        v_path := '/dbfiles/applcsf/inbound';
        v_file_name := 'BT_HISTO_PRIX.txt';
        v_file := UTL_FILE.FOPEN(v_path,v_file_name,'r');
     
        begin
            select count(id_prix)
            into v_count
            from bt_histo_prix;
     
            if v_count = 0
            then
              v_max_id := 0;
            else
              select max(ID_PRIX)
              into v_max_id
              from BT_HISTO_PRIX;
            end if;
        exception
            when others then
            v_max_id := 0;
        end;
     
        LOOP
     
    	BEGIN
     
            UTL_FILE.GET_LINE(v_file,v_text);
    	FND_FILE.PUT_LINE(fnd_file.log, v_text);
     
            -- Insertion dans la table temporaire
            if nvl(replace(v_text, chr(13), ''), 'test') <> 'test'
            then
     
                V_SERVICE_BASE := substr(v_text,0, instr(v_text, ';',1, 1)-1); 
                V_PRIX := to_number(substr(v_text,instr(v_text, ';',1, 1)+1, instr(v_text, ';',1, 2)-instr(v_text, ';',1, 1)-1));
                V_DATE_DEB := to_date(substr(v_text,instr(v_text, ';',1, 2)+1, instr(v_text, ';',1, 3)-instr(v_text, ';',1, 2)-1));
                V_DATE_FIN :=to_date(replace(substr(v_text,instr(v_text, ';',1, 3)+1), chr(13), ''));
     
                --Si la ligne a inserer existe deja, ne rien faire
                select count(id_prix)
                into v_doublon
                from bt_histo_prix
                where service_base = V_SERVICE_BASE
                and prix = V_PRIX 
                and date_deb = V_DATE_DEB
                and decode(date_fin, null, sysdate, date_fin) = decode(v_date_fin,null, sysdate, v_date_fin); 
     
                if v_doublon = 0
                then
     
                  v_err_date := 0;
                  --erreur s'il existe une date pour le service de base inférieur à celle entrée en parametre
                  select count(id_prix)
                  into v_err_date
                  from bt_histo_prix
                  where SERVICE_BASE = V_SERVICE_BASE
                  and V_DATE_DEB < DATE_DEB;
     
                  if v_err_date > 0
                  then
                      FND_FILE.PUT_LINE(fnd_file.log, 'Erreur de date');
                      exit;
                  end if;
     
                  v_exist := 0;
                  --determine s'il existe des lignes dans la table comportant le meme service de base
                  --mais sur des dates differentes
                  select count(id_prix)
                  into v_exist
                  from bt_histo_prix
                  where SERVICE_BASE = V_SERVICE_BASE
                  and V_DATE_DEB between DATE_DEB and nvl(DATE_FIN, V_DATE_DEB + 1); 
     
                  if v_exist <> 0
                  then
                      update bt_histo_prix
                      set date_fin = v_date_deb - 1
                      where SERVICE_BASE = V_SERVICE_BASE
                      and V_DATE_DEB between DATE_DEB and nvl(DATE_FIN, V_DATE_DEB + 1);
                  end if;
     
                  v_exist := 0;
     
                  v_max_id := v_max_id + 1;
     
                  INSERT INTO BT_HISTO_PRIX
                  (
                     ID_PRIX,
                     SERVICE_BASE,
                     PRIX,
                     DATE_DEB,
                     DATE_FIN
                  )
                  values
                  (
                      v_max_id,
                      V_SERVICE_BASE,
                      V_PRIX,
                      V_DATE_DEB,
                      V_DATE_FIN
                  );
              else
                FND_FILE.PUT_LINE(fnd_file.log,'existe deja');
              end if;
              v_doublon := 0;
            end if;
     
    	v_text := null;
     
    	EXCEPTION
               WHEN NO_DATA_FOUND THEN
                 FND_FILE.PUT_LINE(fnd_file.log, 'NO_DATA_FOUND');
                 UTL_FILE.FCLOSE(v_file);
                 EXIT;
               WHEN UTL_FILE.INVALID_PATH THEN
                  FND_FILE.PUT_LINE(fnd_file.log, 'UTL_FILE.INVALID_PATH');
                  UTL_FILE.FCLOSE(v_file);
                  EXIT;
               WHEN UTL_FILE.READ_ERROR THEN
                  FND_FILE.PUT_LINE(fnd_file.log, 'UTL_FILE.READ_ERROR');
                  UTL_FILE.FCLOSE(v_file);
                  EXIT;
               WHEN UTL_FILE.WRITE_ERROR THEN
                  FND_FILE.PUT_LINE(fnd_file.log, 'UTL_FILE.WRITE_ERROR');
                  UTL_FILE.FCLOSE(v_file);
                  EXIT;
               WHEN OTHERS THEN
                  FND_FILE.PUT_LINE(fnd_file.log, 'other stuff');
                  UTL_FILE.FCLOSE(v_file);
                  EXIT;
    	END;
     
        END LOOP;
     
        UTL_FILE.FCLOSE(v_file);
     
      EXCEPTION
         WHEN OTHERS THEN
            FND_FILE.PUT_LINE (fnd_file.log, sqlerrm);
            UTL_FILE.FCLOSE(v_file);
      END CHARGE_HISTO_PRIX;
     
     
     
    END BT_INTERFACE_3_PKG;
     
    /
     
    EXIT
    Je declare ensuite sous Oracle un executable nommé BT_INT3 et dont le nom du fichier d'execution est "BT_INTERFACE_3_PKG.MAINPROCHISTO"
    Je declare ensuite, tjs sous oracle mon programme que j'appelle "BT - Interface Historique des prix" et auquel j'associe mon parametre "p_type_traitement" qui est associé à une liste de valeur: Extraction ou Chargement.
    Toujours depuis Oracle, je lance le traitement "BT - Interface Historique des prix". Il me demande la valeur parametre "p_type_traitement". Je la choisi dans la liste de valeur, puis je lance le programme.
    Donc c bien oracle qui rentre ensuite le parametre dans l'appel de la procedure
    Mais peut etre ai je oublié qqchose...
    Si tu as une idee

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    commence par créé le paramètre avec une valeur à saisir lors du lancement

    A part ça, j'suis coté admin et c'est plutôt les consultants qui s'occupe de ça en principe

  13. #13
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Comment est ce que l'on fait cela?

  14. #14
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    J'ai trouvé la solution a mon probleme.
    Ma declaration de programme sous oracle etait bonne, cependant il fallait mettre le parametre d'entree en premier lors de l'ecriture de la procedure.
    Ce qui nous donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MAINPROCHISTO(errbuf OUT VARCHAR2,retcode OUT VARCHAR2, p_type_traitement IN VARCHAR2)
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MAINPROCHISTO(p_type_traitement IN VARCHAR2, errbuf OUT VARCHAR2,retcode OUT VARCHAR2)
    Voila

    Bonne journee et bon week end

  15. #15
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ha oui en effet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/10/2006, 10h44
  2. Réponses: 2
    Dernier message: 28/04/2006, 10h40
  3. [Rave] Paramètre entre Delphi et Rave Report
    Par Djedjeridoo dans le forum Rave
    Réponses: 4
    Dernier message: 30/06/2004, 10h38
  4. [jsp][servlet]passage de paramètre entre deux frames
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 29/06/2004, 11h14
  5. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo