Ouverture de fichier en lecture seule

Bonjour,
Je souhaite récuperer des données depuis un fichier .ini en protégé.
L'utilisateur n'a pas de droit en écriture sur le fichier.
J'aimerai trouver la propriète qui permet de d'ouvrir et de recupèrer les données de ce fichier avec ces droits.
Merci d'avance.
Pièces jointes :
LectureChemin.vi ‏16 KB
CheminFichier.ini ‏1 KB

tu peux faire un "open" en "read-only"
Luc Desruelle | Voir mon profil | LabVIEW Code & blog
Co-auteur livre LabVIEW : Programmation et applications
CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

Similar Messages

  • Ecrire dans un fichier texte qui est en lecture seule

    Bonjour,
    Merci d'avance pour l'aide que vous pouvez m'apporter.
    Je voudrais savoir s'il existe un moyen d'écrire dans un fichier texte qui est configuré en lecture seul.
    En gros j'ai un programme qui va me générer des données que je vais sauvegarder dans des fichier text.
    je voudrais les securisés. Je me suis dis que les configuer en lecture seule se serait une solution.
    Le soucis c'est que je n'arrive plus à les alimenter en données??? Car labview me dis que je n'ai pas les autorisations.
    Je suis preneur de toute solution permettant d'empecher que l'on puisse modifier manuellement ces fichier.
    Merci à tous votre aide et vos conseil
    Cordialement,
    Résolu !
    Accéder à la solution.

    Salut à tous, si vous voulez modifier ou lire plus d’options sur les fichiers ou dossier, comme :
    lecture seul (ReadOnly)
    caché (hidden)
    système (system)
    dossier (directory)
    Archive (archive), qui est le bit d’archive pour signaler qu’un fichier a été archivé
    Normal
    temporaire
    Compressé (compressed)
    Horsline (offline)
    Indexé
    crypté (encrypted) uniquement en lecture
    en utilisant kernel32.dll, GetFileAttributesA ou SetFileAttributesA
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Bonjour, j'aimerai savoir comment débloquer le HD de mon mac qui est en lecture seule car je n'arrive pas a enregistrer des documents de mon mac sur un disque dur externe connecte en USB.

    Bonjour,
    ccomment débloquer le hd de mon mac car il est en lecture seule, et je ne peux transféré ou enregistrer des documents sur un disque dur externe en terme de sauvegarde.
    Merci pour votre aide.

    I have to use Google translate.
    I have the impression that you have problems with an external hard drive or a USB thumb drive.
    I suspect that you may have a incompatibility due to the drive format.
    You may respond in French or English.  I will try my best.
    Ciao.

  • Ouverture de fichier conditionnée

    Bonjour.
    Dans le cadre d'un projet je dois réaliser un programme me permettant de faire l'acquisition de données de différent capteurs (température, pression, hauteur d'eau...) situés sur un banc d'essai. Lorsque je lance mon programme il me suffit de cliquer le bouton "démarrer" pour démarrer l'acquisition de données d'un capteur et le programme me propose alors d'ouvrir un fichier texte d'enregistrement des données. En appuyant sur le bouton "stop" la mesure s'arrête, mais le fichier ne se ferme pas. (celui se ferme lors de l'arrêt definitif)
    Ce que je voudrais maintenant c'est que lorsque j'appuie à nouveau sur le bouton démarrer pour réaliser l'acquisition de données d'un second capteur, c'est que l'enregistrement de ces données se fasse à la suite du même fichier, donc que le programme ne me redemande pas de choisir un fichier d'enregistrement mais qu'il ecrive dans le fichier deja ouvert sans pour autant effacer les données acquises du premier capteur. J'ai pensé à conditionner l'ouverture du fichier avec le bouton "stop" mais cela n'est pas possible. Comment puis-je résoudre mon probléme ?

    Bonjour,
    Quelles fonctions d'accès aux fichiers utilisez-vous?
    Pour que le fichier se ferme correctement lors du stop, il faut qu'après votre boucle d'exécution, vous utilisez une fonction "Fermer le fichier" que vous trouverez dans la palette Programmation>>E/S sur fichiers.
    Pour que votre programme retrouve l'ancien fichier ouvert lors d'une nouvelle exécution, vous avez plusieurs solutions possibles.
    L'un serait de gérer un fichier de config (type .ini), et d'utiliser celui-ci pour obtenir le chemin du fichier à écrire, vous n'aurez ensuite qu'a réenregistrer dans ce fichier config le chemin du fichier nouvellement ouvert.
    Une autre solution serait de faire en sorte que votre acquisition et enregistrement s'arrête, mais pas votre programme (avec une boucle while principale). Ainsi, vous pouvez, grâce à des registres à décalages par exemples, récupérer le chemin du fichier utilisé pour le premier capteur, et le renvoyer à la fonction d'ouverture de fichier lors de l'accès au 2eme capteur.
    On pourrait encore imaginer d'autres solutions utilisant ces principes là.
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

  • Ouverture de fichier PDF avec Acrobat X Pro/Adobe Reader

    Bonjour,
    J'ai un petit problème :
    Depuis que j'ai installé Acrobat X Pro, tout mes fichiers PDF veulent s'ouvrir avec ce logiciel.
    Le problème est qu'il ne démarre pas, parfois j'ai de la chance et 1-2 minutes plus tard il se lance
    Quand je lance Acrobat X Pro depuis l'éxecutable, sans passer par un fichier, ça ne marche pas non plus. Et Distiller X non plus.
    Je peux donc faire clic droit sur le .pdf et faire "ouvrir dans adobe reader 10" et le logiciel gratuit adobe reader s'ouvre en moins de 2secondes.
    Alors j'ai voulu mettre que les fichiers .pdf s'ouvraient par défaut avec Adobe Reader quand je double-clique sur ces fichiers.
    Mais là, l'image du fichier a changé en une icône toute moche :
    Comment puis-je remédier au fichier moche de droite, mais en l'ouvrant avec Adobe Reader ?
    Ou alors en faisant en sorte de Acrobat X Pro arrive à se lancer
    Je suis en Windows 7 Familiale Premium (un ordi en 32x et un autre en 64x)
    Merci d'avance de votre aide
    PS : ah et pendant que j'y suis, est-ce que je peux enlever les :
    "Convertir au format pdf" et "combiner les fichiers pris en charge dans Acrobat..."
    du menu contextuel du clique droit ?
    Comme sur cette image : http://i47.servimg.com/u/f47/16/47/71/46/contex10.jpg

    Salut,
    - Cela fait bientôt 10 ans que Acrobat Reader n'existe plus : http://abracadabrapdf.net/articles.php?lng=fr&pg=8
    - Pour moi, le problème des lenteurs à l'ouverture a été résolu avec la mise-à-jour 10.1.4

  • Problème d'ouverture de fichiers PDF avec Acrobat professionnel 8.2.4

    Bonjour,
    Pour une raison qui m'échappe, il m'est impossible d'ouvrir certains fichiers PDF avec Acrobat Professionel 8.2.4, alors que mes colègues arrivent à le faire avec la version 8.1.4. Cela ne concerne pas tous les fichiers, seulement quelques-uns. C'est incompréhensible. Je travaille sur PC avec Windows XP SP 3. Les miniatures de certains fichiers s'affichent et ceux-la, je peux les ouvrir; pour d'autres fichiers, les miniatures ne s'affichent pas et je ne peux rien en faire. Ces fichiers ne semblent pas défectueux, puisque mes collègues peuvent les lire.
    J'ai le contrôle total des droits d'accès à tous les fichiers, tant sur le réseau que sur ma propre machine. Avant d'installer cette mise à jour, je pouvais lire ces fichiers.
    Existe-t-il un correctif? ou bien dois-je tout réinstaller? 
    Help!!!
    Merci de vos réponses

    Peut-être vous avez besoin de mettre à jour Acrobat 8.2.5?
    En dehors de ce forum, vous beaucoup être intéressé par "Le Sud-France Acrobat groupe d'utilisateur" comme une ressource.
    http://acrobatusers.com/user_groups/southern-france
    Be well...

  • DD externe en lecture seul?

    bonjour, mon Mac Pro ne reconnais plus mes disques durs qu'en lecture.
    Impossible de transférer des fichiers dessus. Quelqu'un a t-il le meme cas, et éventuellement la solution?
    Merci

    Open the "info" window on one of the disks. If it's locked, unlock it and try again.
    Ouvrez la fenêtre « Info » sur un des disques. S'il est verrouillé, déverrouillez-le et essayez de nouveau.

  • Ouverture de fichier adobe

    Bonjour,
    Je n'arrive pas à ouvrir un PDF. Le message est le suivant : Impossible d'ouvrir le document selectionné.
    Sachant que d'autre fichier s'ouvre normalement. Il n'y a probablement pas de mot de passe pour l'ouverture, j'ai la dernière version d'après adobe et j'ai tester la réparation du logiciel.
    Merci à vous d'avance.
    Cldt,
    LG

    Bonjour Logang,
    Il se peut que le fichier PDF aye ete cree dans une version anterieur voir ancienne et cela est la raison pour laquelle dans le nouveau Adobe Acrobat ou Adobe Reader derniere version vous ne puissiez l'ouvrir.
    Le fichier peut-etre endommage ou corrompu.
    Si vous avez la possibilite d'ouvrir d'autres PDFs, malheureusement cela provient du fichier et cela reste un probleme hors Adobe, vu que tous les autres s'ouvres.
    Merci de votre comprehension.
    Arnaud.

  • Problème à l'ouverture de fichier

    Hello,
    I have a problem I can not solve.
    Whenever I want to open a file in Photoshop CC a window appears and says:
    *** -[__NSArrayM objectAtIndex:]: index 26 beyond bounds [0 .. 25]
    The software does not close but it is impossible for me to open my files.
    Would you have a solution, because if the problem is only occurred to me today.
    My computer is a MacPro running OSX 10.9, it worked well so far.
    thank you

    Thank you for the information, I knew I was not informed of current and known bug. Thank you so much!

  • Help for debug un package PL/SQL error at line 723 Encountered

    create or replace package body SPR_AP_FUSION_EXTRACT_PKG is
    PROCEDURE MAIN_FUSION_EXTRACT(
    pv_errbuff IN OUT VARCHAR2,
    pn_retcode IN OUT NUMBER
    IS
    lv_ligne VARCHAR2 (500);
    lv_rep VARCHAR2 (260); --:= '/usr/tmp';
    ln_retcode NUMBER;
    vv_separator VARCHAR2 (2) := ';';
    ln_compteur_lignes NUMBER := 0; -- nombre de lignes insérées dans le fichier
    ln_counteur NUMBER := 0;
    vv_buffer VARCHAR2 (32000);
    vv_buffer_et VARCHAR2 (32000);
    vv_buffer_etold VARCHAR2 (32000);
    lt_id UTL_FILE.file_type;
    ln_counter NUMBER (24, 0);
    lv_seq VARCHAR2 (30);
    lv_num_paiement VARCHAR2 (10);
    flag_ecriture VARCHAR2 (1);
    lv_filler_ligne VARCHAR2 (500);
    ln_long_buff NUMBER := 0;
    ln_compteur_factures NUMBER := 0;
    lv_name VARCHAR2 (500);
    vv_entete VARCHAR2 (500);
    LV_INVOICE_ID ap_invoices_all.invoice_id%type;
    ln_compteur_hold NUMBER := 0;
    lv_hode_reason VARCHAR2 (500);
    lv_release_reason VARCHAR2 (500);
    lv_societe_absorbee VARCHAR2 (500);
    lv_societe_absorbante VARCHAR2 (500);
    ln_org_id NUMBER := 0;
    lv_date_fusion DATE;
    err_non_parameter Exception;
    err_Soc_sr Exception;
    err_file_write Exception;
    err_file_invalid_path Exception;
    err_ecriture_file Exception;
    CURSOR cur_ap_hold_invoices
    ( LV$invoice_id IN AP_invoices_all.Invoice_Id%TYPE)
    IS
    SELECT aha.hold_reason, aha.release_reason
    from ap_holds_all aha
    where aha.invoice_id = LV$invoice_id
    rec_ap_hold_invoices cur_ap_hold_invoices%ROWTYPE;
    --Enregistrement "DESTINATAIRE"
    CURSOR cur_fusion_extract_AP_invoice
    ( LV$Societe_absorbee IN cgey_parameters.VARCHAR2_VALUE%Type,
    LV$Societe_absorbant IN cgey_parameters.VARCHAR2_VALUE%Type,
    LV$Date_fusion IN cgey_parameters.DATE_VALUE%Type
    IS
    SELECT
    Aia.Invoice_Id
    , Aia.Invoice_Num
    , Aia.Invoice_Type_Lookup_Code
    , Aia.Invoice_Date
    , Pv.Vendor_Id
    , Pv.Segment1
    , Pv.Vendor_Name
    , pvsa.Vendor_Site_Id
    , Pvsa.Vendor_Site_Code
    , aia.invoice_amount
    , aia.amount_paid
    -- RG3: Montant repris = valeur restante a regler
    , ROUND (NVL(SUM(Apsa.Amount_Remaining),0),2) Amount_Remaining
    , Ap_Invoices_Utility_Pkg.get_approval_status(aia.invoice_id,aia.invoice_amount,aia.payment_status_flag,aia.invoice_type_lookup_code) STATUT
    , aia.invoice_currency_code
    , aia.exchange_rate
    , aia.exchange_rate_type
    , aia.exchange_date
    , Ate.Name Terms_Name
    , aia.terms_date
    , aia.source
    , aia.doc_category_code
    , aia.payment_method_lookup_code
    , aia.pay_group_lookup_code
    , aia.gl_date
    , Aia.Doc_Sequence_Id
    , aia.accts_pay_code_combination_id
    , CGEY_TOOLS_PKG.get_segments_from_ccid(Aia.Accts_Pay_Code_Combination_Id) Cle_Comptable_Founisseur
    , aia.org_id
    , aia.payment_cross_rate_type
    , aia.payment_cross_rate_date
    , aia.payment_cross_rate
    , aia.payment_currency_code
    , aia.attribute_category
    , Aia.Attribute1
    , Aia.Attribute2
    , Aia.Attribute3
    , Aia.Attribute4
    , Aia.Attribute5
    , Aia.Attribute6
    , Aia.Attribute7
    , Aia.Attribute8
    , Aia.Attribute9
    , Aia.Attribute10
    , Aia.Attribute11
    , Aia.Attribute12
    , Aia.Attribute13
    , Aia.Attribute14
    , Aia.Attribute15
    , Aia.Global_Attribute_Category
    , Aia.Global_Attribute1
    , Aia.Global_Attribute2
    , Aia.Global_Attribute3
    , Aia.Global_Attribute4
    , Aia.Global_Attribute5
    , Aia.Global_Attribute6
    , Aia.Global_Attribute7
    , Aia.Global_Attribute8
    , Aia.Global_Attribute9
    , Aia.Global_Attribute10
    , Aia.Global_Attribute11
    , Aia.Global_Attribute12
    , Aia.Global_Attribute13
    , Aia.Global_Attribute14
    , Aia.Global_Attribute15
    , Aia.Global_Attribute16
    , Aia.Global_Attribute17
    , Aia.Global_Attribute18
    , Aia.Global_Attribute19
    , Aia.Global_Attribute20
    FROM
    Ap_Invoices_All Aia
    , Ap_Payment_Schedules_All Apsa
    , Po_Vendor_Sites_All Pvsa
    , Ap_Terms Ate
    , Po_Vendors Pv
    WHERE
    1=1
    -- RG1: Type de la facture
    AND Aia.invoice_type_lookup_code IN ('STANDARD', 'CREDIT', 'DEBIT')
    AND Apsa.Invoice_Id = Aia.Invoice_Id
    AND Pvsa.Vendor_Site_Id = Aia.Vendor_Site_Id
    AND Ate.Term_Id = Aia.Terms_Id
    AND Pv.Vendor_Id = Aia.Vendor_Id
    -- RG 1: pour les factures créées antétieur à la date de fusion
    AND Aia.Creation_Date < LV$Date_fusion
    -- RG1: Ensemble des lignes de la facture postees
    AND NOT EXISTS ( SELECT 'x'
    FROM
    Ap_Invoice_Distributions_All Aida
    WHERE
    Aida.Invoice_id = Aia.Invoice_Id
    AND NVL(Aida.Accrual_Posted_Flag,'N') <> 'Y' )
    -- pour la société absorbée
    AND aia.org_id = (select ORGANIZATION_ID from HR_ALL_ORGANIZATION_UNITS HAOU
    where HAOU.Name = LV$Societe_absorbee
    GROUP BY
    Aia.Invoice_Id
    , Aia.Invoice_Num
    , Aia.Invoice_Type_Lookup_Code
    , Aia.Invoice_Date
    , Pv.Vendor_Id
    , Pv.Segment1
    , Pv.Vendor_Name
    , pvsa.Vendor_Site_Id
    , Pvsa.Vendor_Site_Code
    , aia.invoice_amount
    , aia.amount_paid
    -- RG3: Montant repris = valeur restante a regler
    , Apsa.Amount_Remaining
    , aia.payment_status_flag
    , aia.invoice_currency_code
    , aia.exchange_rate
    , aia.exchange_rate_type
    , aia.exchange_date
    , Ate.Name
    , aia.terms_date
    , aia.source
    , aia.doc_category_code
    , aia.payment_method_lookup_code
    , aia.pay_group_lookup_code
    , aia.gl_date
    , Aia.Doc_Sequence_Id
    , aia.accts_pay_code_combination_id
    , aia.org_id
    , aia.payment_cross_rate_type
    , aia.payment_cross_rate_date
    , aia.payment_cross_rate
    , aia.payment_currency_code
    , aia.attribute_category
    , Aia.Attribute1
    , Aia.Attribute2
    , Aia.Attribute3
    , Aia.Attribute4
    , Aia.Attribute5
    , Aia.Attribute6
    , Aia.Attribute7
    , Aia.Attribute8
    , Aia.Attribute9
    , Aia.Attribute10
    , Aia.Attribute11
    , Aia.Attribute12
    , Aia.Attribute13
    , Aia.Attribute14
    , Aia.Attribute15
    , Aia.Global_Attribute_Category
    , Aia.Global_Attribute1
    , Aia.Global_Attribute2
    , Aia.Global_Attribute3
    , Aia.Global_Attribute4
    , Aia.Global_Attribute5
    , Aia.Global_Attribute6
    , Aia.Global_Attribute7
    , Aia.Global_Attribute8
    , Aia.Global_Attribute9
    , Aia.Global_Attribute10
    , Aia.Global_Attribute11
    , Aia.Global_Attribute12
    , Aia.Global_Attribute13
    , Aia.Global_Attribute14
    , Aia.Global_Attribute15
    , Aia.Global_Attribute16
    , Aia.Global_Attribute17
    , Aia.Global_Attribute18
    , Aia.Global_Attribute19
    , Aia.Global_Attribute20
    HAVING NVL(SUM(Apsa.Amount_Remaining),0) <> 0
    UNION ALL
    SELECT
    Aia.Invoice_Id
    , Aia.Invoice_Num
    , Aia.Invoice_Type_Lookup_Code
    , Aia.Invoice_Date
    , Pv.Vendor_Id
    , Pv.Segment1
    , Pv.Vendor_Name
    , pvsa.Vendor_Site_Id
    , Pvsa.Vendor_Site_Code
    , aia.invoice_amount
    , aia.amount_paid
    -- RG3: Montant repris = valeur restante a regler
    , Ap_Invoices_Utility_PKG.get_prepay_amount_remaining (Aia.invoice_Id) "Amount_Remaining"
    , Ap_Invoices_Utility_Pkg.get_approval_status(aia.invoice_id,aia.invoice_amount,aia.payment_status_flag,aia.invoice_type_lookup_code) STATUT
    , aia.invoice_currency_code
    , aia.exchange_rate
    , aia.exchange_rate_type
    , aia.exchange_date
    , Ate.Name Terms_Name
    , aia.terms_date
    , aia.source
    , aia.doc_category_code
    , aia.payment_method_lookup_code
    , aia.pay_group_lookup_code
    , aia.gl_date
    , Aia.Doc_Sequence_Id
    , aia.accts_pay_code_combination_id
    , CGEY_TOOLS_PKG.get_segments_from_ccid(Aia.Accts_Pay_Code_Combination_Id) Cle_Comptable_Founisseur
    , aia.org_id
    , aia.payment_cross_rate_type
    , aia.payment_cross_rate_date
    , aia.payment_cross_rate
    , aia.payment_currency_code
    , aia.attribute_category
    , Aia.Attribute1
    , Aia.Attribute2
    , Aia.Attribute3
    , Aia.Attribute4
    , Aia.Attribute5
    , Aia.Attribute6
    , Aia.Attribute7
    , Aia.Attribute8
    , Aia.Attribute9
    , Aia.Attribute10
    , Aia.Attribute11
    , Aia.Attribute12
    , Aia.Attribute13
    , Aia.Attribute14
    , Aia.Attribute15
    , Aia.Global_Attribute_Category
    , Aia.Global_Attribute1
    , Aia.Global_Attribute2
    , Aia.Global_Attribute3
    , Aia.Global_Attribute4
    , Aia.Global_Attribute5
    , Aia.Global_Attribute6
    , Aia.Global_Attribute7
    , Aia.Global_Attribute8
    , Aia.Global_Attribute9
    , Aia.Global_Attribute10
    , Aia.Global_Attribute11
    , Aia.Global_Attribute12
    , Aia.Global_Attribute13
    , Aia.Global_Attribute14
    , Aia.Global_Attribute15
    , Aia.Global_Attribute16
    , Aia.Global_Attribute17
    , Aia.Global_Attribute18
    , Aia.Global_Attribute19
    , Aia.Global_Attribute20
    FROM
    Ap_Invoices_All Aia
    , Po_Vendor_Sites_All Pvsa
    , Ap_Terms Ate
    , Po_Vendors Pv
    WHERE 1=1
    -- RG2: Type de la facture
    AND Aia.invoice_type_lookup_code = 'PREPAYMENT'
    -- RG2: Amount_Paid <> Invoice_Amount
    AND NVL(Aia.Invoice_Amount,0) = NVL(Aia.Amount_Paid,0)
    AND Pvsa.Vendor_Site_Id = Aia.Vendor_Site_Id
    AND Ate.Term_Id = Aia.Terms_Id
    AND Pv.Vendor_Id = Aia.Vendor_Id
    -- RG2: Ensemble des lignes de la facture postees
    AND NOT EXISTS ( SELECT 'x'
    FROM
    Ap_Invoice_Distributions_All Aida
    WHERE
    Aida.Invoice_id = Aia.Invoice_Id
    AND NVL(Aida.Accrual_Posted_Flag,'N') <> 'Y' )
    -- pour la société absorbée
    AND aia.org_id = (select ORGANIZATION_ID from HR_ALL_ORGANIZATION_UNITS HAOU
    where HAOU.Name = LV$Societe_absorbee
    -- RG 1: pour les factures créées antétieur à la date de fusion
    AND Aia.Creation_Date < LV$Date_fusion
    GROUP BY
    Aia.Invoice_Id
    , Aia.Invoice_Num
    , Aia.Invoice_Type_Lookup_Code
    , Aia.Invoice_Date
    , Pv.Vendor_Id
    , Pv.Segment1
    , Pv.Vendor_Name
    , pvsa.Vendor_Site_Id
    , Pvsa.Vendor_Site_Code
    , aia.invoice_amount
    , aia.amount_paid
    , aia.payment_status_flag
    , aia.invoice_currency_code
    , aia.exchange_rate
    , aia.exchange_rate_type
    , aia.exchange_date
    , Ate.Name
    , aia.terms_date
    , aia.source
    , aia.doc_category_code
    , aia.payment_method_lookup_code
    , aia.pay_group_lookup_code
    , aia.gl_date
    , Aia.Doc_Sequence_Id
    , aia.accts_pay_code_combination_id
    , aia.org_id
    , aia.payment_cross_rate_type
    , aia.payment_cross_rate_date
    , aia.payment_cross_rate
    , aia.payment_currency_code
    , aia.attribute_category
    , Aia.Attribute1
    , Aia.Attribute2
    , Aia.Attribute3
    , Aia.Attribute4
    , Aia.Attribute5
    , Aia.Attribute6
    , Aia.Attribute7
    , Aia.Attribute8
    , Aia.Attribute9
    , Aia.Attribute10
    , Aia.Attribute11
    , Aia.Attribute12
    , Aia.Attribute13
    , Aia.Attribute14
    , Aia.Attribute15
    , Aia.Global_Attribute_Category
    , Aia.Global_Attribute1
    , Aia.Global_Attribute2
    , Aia.Global_Attribute3
    , Aia.Global_Attribute4
    , Aia.Global_Attribute5
    , Aia.Global_Attribute6
    , Aia.Global_Attribute7
    , Aia.Global_Attribute8
    , Aia.Global_Attribute9
    , Aia.Global_Attribute10
    , Aia.Global_Attribute11
    , Aia.Global_Attribute12
    , Aia.Global_Attribute13
    , Aia.Global_Attribute14
    , Aia.Global_Attribute15
    , Aia.Global_Attribute16
    , Aia.Global_Attribute17
    , Aia.Global_Attribute18
    , Aia.Global_Attribute19
    , Aia.Global_Attribute20
    HAVING Ap_Invoices_Utility_PKG.get_prepay_amount_remaining (Aia.invoice_Id) <> 0
    AND Ap_Invoices_Utility_Pkg.get_approval_status(aia.invoice_id,aia.invoice_amount,aia.payment_status_flag,aia.invoice_type_lookup_code) = 'AVAILABLE'
    Rec_fusion_extract_AP_invoice cur_fusion_extract_AP_invoice%ROWTYPE;
    BEGIN
    ---------Initialisation
    pn_retcode := 0;
    pv_errbuff := NULL;
    ln_compteur_lignes := 0;
    lv_societe_absorbee := CGEY_TOOLS_PKG.get_varchar2_parameter ('SPR_FUSION_AP_SOCIETE', 'SOC_SR');
    lv_societe_absorbante :=CGEY_TOOLS_PKG.get_varchar2_parameter ('SPR_FUSION_AP_SOCIETE', 'SOC_CB');
    lv_date_fusion := CGEY_TOOLS_PKG.get_date_parameter ('SPR_FUSION_AP_SOCIETE', 'DATE_FUSION');
    lv_rep := cgey_tools_pkg.get_varchar2_parameter ('SPR_FUSION_AP_SOCIETE', 'REPERTOIRE_SORTIE');
    ----err_non_parameter
    IF lv_societe_absorbee is null or lv_societe_absorbante is null or lv_date_fusion is null or lv_rep is null
    THEN raise err_non_parameter;
    select NVL(ORGANIZATION_ID, 'NULL')
    INTO ln_org_id
    from HR_ALL_ORGANIZATION_UNITS HAOU
    where HAOU.Name = lv_societe_absorbee
    ----err_Soc_sr
    IF ln_org_id ='NULL'
    THEN Raise err_Soc_sr;
    BEGIN
    ----Création du fichier sorti
    cgey_tools_pkg.put_log_message ('Création et Ouverture du fichier en lecture');
    lv_name := 'FUSION_fac_AP_EXTRAIRE' || TO_CHAR(SYSDATE, 'DDMMYYYY_HH24MISS') || '.txt';
    cgey_tools_pkg.put_log_message ('Fichier sortie est '|| lv_name );
    lt_id := UTL_FILE.FOPEN(lv_rep, lv_name, 'w');
    IF UTL_FILE.IS_OPEN(lt_id) THEN
    cgey_tools_pkg.put_log_message (cv_line);
    cgey_tools_pkg.put_log_message('Creation OK du fichier: ' || lv_name);
    ELSE
    cgey_tools_pkg.put_log_message(cv_line);
    cgey_tools_pkg.put_log_message('Probleme ouverture du fichier ' ||lv_name);
    END IF;
    ----EXCEPTION UTL_FILE.WRITE_ERROR, UTL_FILE.INVALID_PATH
    EXCEPTION
    WHEN UTL_FILE.WRITE_ERROR
    THEN raise err_file_write;
    WHEN UTL_FILE.INVALID_PATH
    THEN raise err_file_invalid_path;
    ----Création du fichier sorti
    END;
    BEGIN
    UTL_FILE.PUT_LINE(lt_id, vv_entete);
    ----CURSOR FACTURE A EXTRAIRE
    OPEN cur_fusion_extract_AP_invoice
    (lv_societe_absorbee,
    lv_societe_absorbante,
    lv_date_fusion
    LOOP
    FETCH cur_fusion_extract_AP_invoice
    INTO rec_fusion_extract_AP_invoice;
    EXIT WHEN cur_fusion_extract_AP_invoice%NOTFOUND;
    LV_INVOICE_ID := rec_fusion_extract_AP_invoice.Invoice_Id;
    ln_compteur_hold := 0;
    lv_hode_reason := null;
    lv_release_reason := null;
    OPEN cur_ap_hold_invoices (rec_fusion_extract_AP_invoice.Invoice_Id);
    LOOP
    FETCH cur_ap_hold_invoices
    INTO rec_ap_hold_invoices;
    EXIT WHEN cur_ap_hold_invoices%NOTFOUND;
    ----La première blocage à traiter
    IF ln_compteur_hold =0 THEN
    lv_hode_reason := nvl(rec_ap_hold_invoices.hold_reason, ' ') ;
    lv_release_reason := nvl(rec_ap_hold_invoices.release_reason, ' ');
    ----concatener des autres blocages suivants pour la même facture
    Else
    lv_hode_reason := lv_hode_reason||nvl(rec_ap_hold_invoices.hold_reason, ' ');
    lv_release_reason := lv_release_reason||nvl(rec_ap_hold_invoices.release_reason, ' ');
    END IF;
    ln_compteur_hold := ln_compteur_hold +1;
    END LOOP;
    CLOSE cur_ap_hold_invoices;
    vv_buffer :=
    NVL(lv_societe_absorbee, ' ') ||vv_separator||
    NVL(lv_societe_absorbante, ' ') ||vv_separator||
    NVL(to_char(lv_date_fusion,'dd/mm/yyyy' ), ' ') ||vv_separator||
    NVL(to_char(rec_fusion_extract_AP_invoice.Invoice_Id), ' ') ||vv_separator
    UTL_FILE.PUT_LINE(lt_id, vv_buffer);
    ln_compteur_lignes := ln_compteur_lignes + 1;
    END LOOP;
    cgey_tools_pkg.put_log_message(to_char(ln_compteur_lignes) ||
    ' lignes inserees dans le fichier ' ||lv_rep||'/'
    || lv_name);
    CLOSE cur_fusion_extract_AP_invoice;
    UTL_FILE.FCLOSE(lt_id);
    cgey_tools_pkg.put_log_message(' ');
    cgey_tools_pkg.put_log_message(cv_line);
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    Raise err_ecriture_file;
    END ;
    EXCEPTION_
    WHEN err_non_parameter THEN
    pn_retcode := SQLCODE;
    cgey_tools_pkg.put_log_message ('error'||SQLCODE);
    cgey_tools_pkg.put_log_message ('error parameter : Veuillez vous verifier la configuration dans la table CGEY_PARAMETERS!');
    WHEN err_Soc_sr THEN
    pn_retcode := SQLCODE;
    cgey_tools_pkg.put_log_message ('error'||SQLCODE);
    cgey_tools_pkg.put_log_message ('error société_absorbée : Veuillez vous verifier le parameter de la société absorbée !');
    WHEN err_file_write THEN
    UTL_FILE.FCLOSE(lt_id);
    pv_errbuff := SQLERRM;
    pn_retcode := SQLCODE;
    cgey_tools_pkg.put_log_message ('error'||SQLCODE);
    cgey_tools_pkg.put_log_message('erreur write_error:'||pv_errbuff);
    WHEN err_file_invalid_path THEN
    UTL_FILE.FCLOSE(lt_id);
    pn_retcode := SQLCODE;
    pv_errbuff := SQLERRM;
    cgey_tools_pkg.put_log_message ('error'||SQLCODE);
    cgey_tools_pkg.put_log_message('erreur invalid_path:'||pv_errbuff);
    WHEN err_ecriture_file THEN
    UTL_FILE.FCLOSE(lt_id);
    pn_retcode := SQLCODE;
    pv_errbuff := SQLERRM;
    cgey_tools_pkg.put_log_message ('error'||SQLCODE);
    cgey_tools_pkg.put_log_message('err_ecriture_file:'||pv_errbuff);
    WHEN OTHERS THEN
    cgey_tools_pkg.put_log_message ('Une Erreur inconnue arrive lors que l''extraction du FUSION_fac_AP_EXTRAIRE!!');
    END MAIN_FUSION_EXTRACT;
    END SPR_AP_FUSION_EXTRACT_PKG;
    error at line 723 PLS-100103 "EXCEPTION"
    when expecting one of the following Error. Please help me!!
    Thanks a lot
    Edited by: kinkichin on 11 mars 2010 03:19

    Hi ,
    I have made some changes to the code search for --check condition* and check if the condition is correct.
    CREATE OR REPLACE PACKAGE BODY spr_ap_fusion_extract_pkg
    IS
       PROCEDURE main_fusion_extract (
          pv_errbuff   IN OUT   VARCHAR2,
          pn_retcode   IN OUT   NUMBER
       IS
          lv_ligne                        VARCHAR2 (500);
          lv_rep                          VARCHAR2 (260);        --:= '/usr/tmp';
          ln_retcode                      NUMBER;
          vv_separator                    VARCHAR2 (2)                     := ';';
          ln_compteur_lignes              NUMBER                             := 0;
                                   -- nombre de lignes insérées dans le fichier
          ln_counteur                     NUMBER                             := 0;
          vv_buffer                       VARCHAR2 (32000);
          vv_buffer_et                    VARCHAR2 (32000);
          vv_buffer_etold                 VARCHAR2 (32000);
          lt_id                           UTL_FILE.file_type;
          ln_counter                      NUMBER (24, 0);
          lv_seq                          VARCHAR2 (30);
          lv_num_paiement                 VARCHAR2 (10);
          flag_ecriture                   VARCHAR2 (1);
          lv_filler_ligne                 VARCHAR2 (500);
          ln_long_buff                    NUMBER                             := 0;
          ln_compteur_factures            NUMBER                             := 0;
          lv_name                         VARCHAR2 (500);
          vv_entete                       VARCHAR2 (500);
          lv_invoice_id                   ap_invoices_all.invoice_id%TYPE;
          ln_compteur_hold                NUMBER                             := 0;
          lv_hode_reason                  VARCHAR2 (500);
          lv_release_reason               VARCHAR2 (500);
          lv_societe_absorbee             VARCHAR2 (500);
          lv_societe_absorbante           VARCHAR2 (500);
          ln_org_id                       NUMBER                             := 0;
          lv_date_fusion                  DATE;
          err_non_parameter               EXCEPTION;
          err_soc_sr                      EXCEPTION;
          err_file_write                  EXCEPTION;
          err_file_invalid_path           EXCEPTION;
          err_ecriture_file               EXCEPTION;
          CURSOR cur_ap_hold_invoices (
             lv$invoice_id   IN   ap_invoices_all.invoice_id%TYPE
          IS
             SELECT aha.hold_reason, aha.release_reason
               FROM ap_holds_all aha
              WHERE aha.invoice_id = lv$invoice_id;
          rec_ap_hold_invoices            cur_ap_hold_invoices%ROWTYPE;
          --Enregistrement "DESTINATAIRE"
          CURSOR cur_fusion_extract_ap_invoice (
             lv$societe_absorbee    IN   cgey_parameters.varchar2_value%TYPE,
             lv$societe_absorbant   IN   cgey_parameters.varchar2_value%TYPE,
             lv$date_fusion         IN   cgey_parameters.date_value%TYPE
          IS
             SELECT aia.invoice_id, aia.invoice_num,
                    aia.invoice_type_lookup_code, aia.invoice_date, pv.vendor_id,
                    pv.segment1, pv.vendor_name, pvsa.vendor_site_id,
                    pvsa.vendor_site_code, aia.invoice_amount, aia.amount_paid
                                                                              -- RG3: Montant repris = valeur restante a regler
                    ROUND (NVL (SUM (apsa.amount_remaining), 0),
                           2
                          ) amount_remaining,
                    ap_invoices_utility_pkg.get_approval_status
                                             (aia.invoice_id,
                                              aia.invoice_amount,
                                              aia.payment_status_flag,
                                              aia.invoice_type_lookup_code
                                             ) statut,
                    aia.invoice_currency_code, aia.exchange_rate,
                    aia.exchange_rate_type, aia.exchange_date,
                    ate.NAME terms_name, aia.terms_date, aia.SOURCE,
                    aia.doc_category_code, aia.payment_method_lookup_code,
                    aia.pay_group_lookup_code, aia.gl_date, aia.doc_sequence_id,
                    aia.accts_pay_code_combination_id,
                    cgey_tools_pkg.get_segments_from_ccid
                       (aia.accts_pay_code_combination_id
                       ) cle_comptable_founisseur,
                    aia.org_id, aia.payment_cross_rate_type,
                    aia.payment_cross_rate_date, aia.payment_cross_rate,
                    aia.payment_currency_code, aia.attribute_category,
                    aia.attribute1, aia.attribute2, aia.attribute3,
                    aia.attribute4, aia.attribute5, aia.attribute6,
                    aia.attribute7, aia.attribute8, aia.attribute9,
                    aia.attribute10, aia.attribute11, aia.attribute12,
                    aia.attribute13, aia.attribute14, aia.attribute15,
                    aia.global_attribute_category, aia.global_attribute1,
                    aia.global_attribute2, aia.global_attribute3,
                    aia.global_attribute4, aia.global_attribute5,
                    aia.global_attribute6, aia.global_attribute7,
                    aia.global_attribute8, aia.global_attribute9,
                    aia.global_attribute10, aia.global_attribute11,
                    aia.global_attribute12, aia.global_attribute13,
                    aia.global_attribute14, aia.global_attribute15,
                    aia.global_attribute16, aia.global_attribute17,
                    aia.global_attribute18, aia.global_attribute19,
                    aia.global_attribute20
               FROM ap_invoices_all aia,
                    ap_payment_schedules_all apsa,
                    po_vendor_sites_all pvsa,
                    ap_terms ate,
                    po_vendors pv
              WHERE 1 = 1
                -- RG1: Type de la facture
                AND aia.invoice_type_lookup_code IN
                                                  ('STANDARD', 'CREDIT', 'DEBIT')
                AND apsa.invoice_id = aia.invoice_id
                AND pvsa.vendor_site_id = aia.vendor_site_id
                AND ate.term_id = aia.terms_id
                AND pv.vendor_id = aia.vendor_id
                -- RG 1: pour les factures créées antétieur à la date de fusion
                AND aia.creation_date < lv$date_fusion
                -- RG1: Ensemble des lignes de la facture postees
                AND NOT EXISTS (
                       SELECT   'x'
                           FROM ap_invoice_distributions_all aida
                          WHERE aida.invoice_id = aia.invoice_id
                            AND NVL (aida.accrual_posted_flag, 'N' = 'Y')
                                                                 --check condition
                            -- pour la société absorbée
                            AND aia.org_id =
                                          (SELECT organization_id
                                             FROM hr_all_organization_units haou
                                            WHERE haou.NAME = lv$societe_absorbee)
                       GROUP BY aia.invoice_id,
                                aia.invoice_num,
                                aia.invoice_type_lookup_code,
                                aia.invoice_date,
                                pv.vendor_id,
                                pv.segment1,
                                pv.vendor_name,
                                pvsa.vendor_site_id,
                                pvsa.vendor_site_code,
                                aia.invoice_amount,
                                aia.amount_paid
                                               -- RG3: Montant repris = valeur restante a regler
                                apsa.amount_remaining,
                                aia.payment_status_flag,
                                aia.invoice_currency_code,
                                aia.exchange_rate,
                                aia.exchange_rate_type,
                                aia.exchange_date,
                                ate.NAME,
                                aia.terms_date,
                                aia.SOURCE,
                                aia.doc_category_code,
                                aia.payment_method_lookup_code,
                                aia.pay_group_lookup_code,
                                aia.gl_date,
                                aia.doc_sequence_id,
                                aia.accts_pay_code_combination_id,
                                aia.org_id,
                                aia.payment_cross_rate_type,
                                aia.payment_cross_rate_date,
                                aia.payment_cross_rate,
                                aia.payment_currency_code,
                                aia.attribute_category,
                                aia.attribute1,
                                aia.attribute2,
                                aia.attribute3,
                                aia.attribute4,
                                aia.attribute5,
                                aia.attribute6,
                                aia.attribute7,
                                aia.attribute8,
                                aia.attribute9,
                                aia.attribute10,
                                aia.attribute11,
                                aia.attribute12,
                                aia.attribute13,
                                aia.attribute14,
                                aia.attribute15,
                                aia.global_attribute_category,
                                aia.global_attribute1,
                                aia.global_attribute2,
                                aia.global_attribute3,
                                aia.global_attribute4,
                                aia.global_attribute5,
                                aia.global_attribute6,
                                aia.global_attribute7,
                                aia.global_attribute8,
                                aia.global_attribute9,
                                aia.global_attribute10,
                                aia.global_attribute11,
                                aia.global_attribute12,
                                aia.global_attribute13,
                                aia.global_attribute14,
                                aia.global_attribute15,
                                aia.global_attribute16,
                                aia.global_attribute17,
                                aia.global_attribute18,
                                aia.global_attribute19,
                                aia.global_attribute20
                         HAVING NVL (SUM (apsa.amount_remaining), 0) <>
                                                                0
                                                                 --check condition
                       UNION ALL
                       SELECT   aia.invoice_id, aia.invoice_num,
                                aia.invoice_type_lookup_code, aia.invoice_date,
                                pv.vendor_id, pv.segment1, pv.vendor_name,
                                pvsa.vendor_site_id, pvsa.vendor_site_code,
                                aia.invoice_amount, aia.amount_paid
                                                                   -- RG3: Montant repris = valeur restante a regler
                                ap_invoices_utility_pkg.get_prepay_amount_remaining
                                               (aia.invoice_id)
                                                               "Amount_Remaining",
                                ap_invoices_utility_pkg.get_approval_status
                                             (aia.invoice_id,
                                              aia.invoice_amount,
                                              aia.payment_status_flag,
                                              aia.invoice_type_lookup_code
                                             ) statut,
                                aia.invoice_currency_code, aia.exchange_rate,
                                aia.exchange_rate_type, aia.exchange_date,
                                ate.NAME terms_name, aia.terms_date, aia.SOURCE,
                                aia.doc_category_code,
                                aia.payment_method_lookup_code,
                                aia.pay_group_lookup_code, aia.gl_date,
                                aia.doc_sequence_id,
                                aia.accts_pay_code_combination_id,
                                cgey_tools_pkg.get_segments_from_ccid
                                   (aia.accts_pay_code_combination_id
                                   ) cle_comptable_founisseur,
                                aia.org_id, aia.payment_cross_rate_type,
                                aia.payment_cross_rate_date,
                                aia.payment_cross_rate, aia.payment_currency_code,
                                aia.attribute_category, aia.attribute1,
                                aia.attribute2, aia.attribute3, aia.attribute4,
                                aia.attribute5, aia.attribute6, aia.attribute7,
                                aia.attribute8, aia.attribute9, aia.attribute10,
                                aia.attribute11, aia.attribute12, aia.attribute13,
                                aia.attribute14, aia.attribute15,
                                aia.global_attribute_category,
                                aia.global_attribute1, aia.global_attribute2,
                                aia.global_attribute3, aia.global_attribute4,
                                aia.global_attribute5, aia.global_attribute6,
                                aia.global_attribute7, aia.global_attribute8,
                                aia.global_attribute9, aia.global_attribute10,
                                aia.global_attribute11, aia.global_attribute12,
                                aia.global_attribute13, aia.global_attribute14,
                                aia.global_attribute15, aia.global_attribute16,
                                aia.global_attribute17, aia.global_attribute18,
                                aia.global_attribute19, aia.global_attribute20
                           FROM ap_invoices_all aia,
                                po_vendor_sites_all pvsa,
                                ap_terms ate,
                                po_vendors pv
                          WHERE 1 = 1
                            -- RG2: Type de la facture
                            AND aia.invoice_type_lookup_code = 'PREPAYMENT'
                            -- RG2: Amount_Paid Invoice_Amount
                            AND NVL (aia.invoice_amount, 0) =
                                                          NVL (aia.amount_paid, 0)
                            AND pvsa.vendor_site_id = aia.vendor_site_id
                            AND ate.term_id = aia.terms_id
                            AND pv.vendor_id = aia.vendor_id
                            -- RG2: Ensemble des lignes de la facture postees
                            AND NOT EXISTS (
                                   SELECT 'x'
                                     FROM ap_invoice_distributions_all aida
                                    WHERE aida.invoice_id = aia.invoice_id
                                      AND NVL (aida.accrual_posted_flag, 'N') =
                                                                               'Y')
                                                                 --check condition
                            -- pour la société absorbée
                            AND aia.org_id =
                                          (SELECT organization_id
                                             FROM hr_all_organization_units haou
                                            WHERE haou.NAME = lv$societe_absorbee)
                            -- RG 1: pour les factures créées antétieur à la date de fusion
                            AND aia.creation_date < lv$date_fusion
                       GROUP BY aia.invoice_id,
                                aia.invoice_num,
                                aia.invoice_type_lookup_code,
                                aia.invoice_date,
                                pv.vendor_id,
                                pv.segment1,
                                pv.vendor_name,
                                pvsa.vendor_site_id,
                                pvsa.vendor_site_code,
                                aia.invoice_amount,
                                aia.amount_paid,
                                aia.payment_status_flag,
                                aia.invoice_currency_code,
                                aia.exchange_rate,
                                aia.exchange_rate_type,
                                aia.exchange_date,
                                ate.NAME,
                                aia.terms_date,
                                aia.SOURCE,
                                aia.doc_category_code,
                                aia.payment_method_lookup_code,
                                aia.pay_group_lookup_code,
                                aia.gl_date,
                                aia.doc_sequence_id,
                                aia.accts_pay_code_combination_id,
                                aia.org_id,
                                aia.payment_cross_rate_type,
                                aia.payment_cross_rate_date,
                                aia.payment_cross_rate,
                                aia.payment_currency_code,
                                aia.attribute_category,
                                aia.attribute1,
                                aia.attribute2,
                                aia.attribute3,
                                aia.attribute4,
                                aia.attribute5,
                                aia.attribute6,
                                aia.attribute7,
                                aia.attribute8,
                                aia.attribute9,
                                aia.attribute10,
                                aia.attribute11,
                                aia.attribute12,
                                aia.attribute13,
                                aia.attribute14,
                                aia.attribute15,
                                aia.global_attribute_category,
                                aia.global_attribute1,
                                aia.global_attribute2,
                                aia.global_attribute3,
                                aia.global_attribute4,
                                aia.global_attribute5,
                                aia.global_attribute6,
                                aia.global_attribute7,
                                aia.global_attribute8,
                                aia.global_attribute9,
                                aia.global_attribute10,
                                aia.global_attribute11,
                                aia.global_attribute12,
                                aia.global_attribute13,
                                aia.global_attribute14,
                                aia.global_attribute15,
                                aia.global_attribute16,
                                aia.global_attribute17,
                                aia.global_attribute18,
                                aia.global_attribute19,
                                aia.global_attribute20
                         HAVING ap_invoices_utility_pkg.get_prepay_amount_remaining
                                                                   (aia.invoice_id) <>
                                                                                 0
                            AND ap_invoices_utility_pkg.get_approval_status
                                                     (aia.invoice_id,
                                                      aia.invoice_amount,
                                                      aia.payment_status_flag,
                                                      aia.invoice_type_lookup_code
                                                     ) = 'AVAILABLE');
                                                                --check condition;
          rec_fusion_extract_ap_invoice   cur_fusion_extract_ap_invoice%ROWTYPE;
       BEGIN
          ---------Initialisation
          pn_retcode := 0;
          pv_errbuff := NULL;
          ln_compteur_lignes := 0;
          lv_societe_absorbee :=
             cgey_tools_pkg.get_varchar2_parameter ('SPR_FUSION_AP_SOCIETE',
                                                    'SOC_SR'
          lv_societe_absorbante :=
             cgey_tools_pkg.get_varchar2_parameter ('SPR_FUSION_AP_SOCIETE',
                                                    'SOC_CB'
          lv_date_fusion :=
             cgey_tools_pkg.get_date_parameter ('SPR_FUSION_AP_SOCIETE',
                                                'DATE_FUSION'
          lv_rep :=
             cgey_tools_pkg.get_varchar2_parameter ('SPR_FUSION_AP_SOCIETE',
                                                    'REPERTOIRE_SORTIE'
          ----err_non_parameter
          IF    lv_societe_absorbee IS NULL
             OR lv_societe_absorbante IS NULL
             OR lv_date_fusion IS NULL
             OR lv_rep IS NULL
          THEN
             RAISE err_non_parameter;
          END IF;
          SELECT NVL (organization_id, 'NULL')
            INTO ln_org_id
            FROM hr_all_organization_units haou
           WHERE haou.NAME = lv_societe_absorbee;
          ----err_Soc_sr
          IF ln_org_id = 'NULL'
          THEN
             RAISE err_soc_sr;
          END IF;
          BEGIN
             ----Création du fichier sorti
             cgey_tools_pkg.put_log_message
                                   ('Création et Ouverture du fichier en lecture');
             lv_name :=
                   'FUSION_fac_AP_EXTRAIRE'
                || TO_CHAR (SYSDATE, 'DDMMYYYY_HH24MISS')
                || '.txt';
             cgey_tools_pkg.put_log_message ('Fichier sortie est ' || lv_name);
             lt_id := UTL_FILE.fopen (lv_rep, lv_name, 'w');
             IF UTL_FILE.is_open (lt_id)
             THEN
                cgey_tools_pkg.put_log_message (cv_line);
                cgey_tools_pkg.put_log_message (   'Creation OK du fichier: '
                                                || lv_name
             ELSE
                cgey_tools_pkg.put_log_message (cv_line);
                cgey_tools_pkg.put_log_message
                                             (   'Probleme ouverture du fichier '
                                              || lv_name
             END IF;
          ----EXCEPTION UTL_FILE.WRITE_ERROR, UTL_FILE.INVALID_PATH
          EXCEPTION
             WHEN UTL_FILE.write_error
             THEN
                RAISE err_file_write;
             WHEN UTL_FILE.invalid_path
             THEN
                RAISE err_file_invalid_path;
          ----Création du fichier sorti
          END;
          BEGIN
             UTL_FILE.put_line (lt_id, vv_entete);
             ----CURSOR FACTURE A EXTRAIRE
             OPEN cur_fusion_extract_ap_invoice (lv_societe_absorbee,
                                                 lv_societe_absorbante,
                                                 lv_date_fusion
             LOOP
                FETCH cur_fusion_extract_ap_invoice
                 INTO rec_fusion_extract_ap_invoice;
                EXIT WHEN cur_fusion_extract_ap_invoice%NOTFOUND;
                lv_invoice_id := rec_fusion_extract_ap_invoice.invoice_id;
                ln_compteur_hold := 0;
                lv_hode_reason := NULL;
                lv_release_reason := NULL;
                OPEN cur_ap_hold_invoices
                                        (rec_fusion_extract_ap_invoice.invoice_id);
                LOOP
                   FETCH cur_ap_hold_invoices
                    INTO rec_ap_hold_invoices;
                   EXIT WHEN cur_ap_hold_invoices%NOTFOUND;
                   ----La première blocage à traiter
                   IF ln_compteur_hold = 0
                   THEN
                      lv_hode_reason :=
                                      NVL (rec_ap_hold_invoices.hold_reason, ' ');
                      lv_release_reason :=
                                   NVL (rec_ap_hold_invoices.release_reason, ' ');
                   ----concatener des autres blocages suivants pour la même facture
                   ELSE
                      lv_hode_reason :=
                            lv_hode_reason
                         || NVL (rec_ap_hold_invoices.hold_reason, ' ');
                      lv_release_reason :=
                            lv_release_reason
                         || NVL (rec_ap_hold_invoices.release_reason, ' ');
                   END IF;
                   ln_compteur_hold := ln_compteur_hold + 1;
                END LOOP;
                CLOSE cur_ap_hold_invoices;
                vv_buffer :=
                      NVL (lv_societe_absorbee, ' ')
                   || vv_separator
                   || NVL (lv_societe_absorbante, ' ')
                   || vv_separator
                   || NVL (TO_CHAR (lv_date_fusion, 'dd/mm/yyyy'), ' ')
                   || vv_separator
                   || NVL (TO_CHAR (rec_fusion_extract_ap_invoice.invoice_id),
                   || vv_separator;
                UTL_FILE.put_line (lt_id, vv_buffer);
                ln_compteur_lignes := ln_compteur_lignes + 1;
             END LOOP;
             cgey_tools_pkg.put_log_message
                                           (   TO_CHAR (ln_compteur_lignes)
                                            || ' lignes inserees dans le fichier '
                                            || lv_rep
                                            || '/'
                                            || lv_name
             CLOSE cur_fusion_extract_ap_invoice;
             UTL_FILE.fclose (lt_id);
             cgey_tools_pkg.put_log_message (' ');
             cgey_tools_pkg.put_log_message (cv_line);
          EXCEPTION
             WHEN OTHERS
             THEN
                ROLLBACK;
                RAISE err_ecriture_file;
          END;
       EXCEPTION
          WHEN err_non_parameter
          THEN
             pn_retcode := SQLCODE;
             cgey_tools_pkg.put_log_message ('error' || SQLCODE);
             cgey_tools_pkg.put_log_message
                ('error parameter : Veuillez vous verifier la configuration dans la table CGEY_PARAMETERS!'
          WHEN err_soc_sr
          THEN
             pn_retcode := SQLCODE;
             cgey_tools_pkg.put_log_message ('error' || SQLCODE);
             cgey_tools_pkg.put_log_message
                ('error société_absorbée : Veuillez vous verifier le parameter de la société absorbée !'
          WHEN err_file_write
          THEN
             UTL_FILE.fclose (lt_id);
             pv_errbuff := SQLERRM;
             pn_retcode := SQLCODE;
             cgey_tools_pkg.put_log_message ('error' || SQLCODE);
             cgey_tools_pkg.put_log_message ('erreur write_error:' || pv_errbuff);
          WHEN err_file_invalid_path
          THEN
             UTL_FILE.fclose (lt_id);
             pn_retcode := SQLCODE;
             pv_errbuff := SQLERRM;
             cgey_tools_pkg.put_log_message ('error' || SQLCODE);
             cgey_tools_pkg.put_log_message ('erreur invalid_path:' || pv_errbuff);
          WHEN err_ecriture_file
          THEN
             UTL_FILE.fclose (lt_id);
             pn_retcode := SQLCODE;
             pv_errbuff := SQLERRM;
             cgey_tools_pkg.put_log_message ('error' || SQLCODE);
             cgey_tools_pkg.put_log_message ('err_ecriture_file:' || pv_errbuff);
          WHEN OTHERS
          THEN
             cgey_tools_pkg.put_log_message
                ('Une Erreur inconnue arrive lors que l''extraction du FUSION_fac_AP_EXTRAIRE!!'
       END main_fusion_extract;
    END spr_ap_fusion_extract_pkg;*009*
    Edited by: 009 on Mar 11, 2010 3:31 AM

  • Impossible de supprimer pdf car volet de visualisation est activé

    Bonjour,
    Lorsque j'active le volet de visualisation sous Windows, je ne peux pas supprimer le fichier!
    Il me met qu'un processus est en cours d'utilisation.
    Pourquoi je ne peux pas supprimer le fichier lorsque le volet de visualisation de Windows est activé?
    En attendant la solution que j'ai trouvée est de soit désactiver le volet de visualisation dans Windows (je perd une fonctionnalité bien pratique) ou soit d'installer un autre lecteur de pdf (ce n'est pas normal que ce problème existe car Adobe est l'un des lecteurs de pdf le plus connu)
    Je vous invite à reproduire le même scénario que moi :
    Prérequis :
    Poste sous Windows 8 ou 8.1 (sous 7 aucun problème)
    1. Installer la dernière version d'Adobe Reader (11.0.5 à la date du 23/12/2013)
    1. Activer le volet de visualisation sous Windows
    2. Cliquer sur un fichier pdf pour qu'un aperçu de son contenu apparaisse dans le volet de droite
    3. Supprimer le fichier mais il devrait vous annoncer que vous pouvez pas le supprimer car processus en cours d'utilisation...
    Tentez de supprimer encore une fois, là ça devrait fonctionner.
    Si quelqu'un pouvait me donner une explication car ça va faire un bon gros mois que je suis dessus!!!
    Merci!
    PS : j'ai tenté ça mais ça coutourne seulement le problème
    http://answers.microsoft.com/fr-fr/windows/forum/windows_8-files/suppression-fichier-pdf-i mpossible/3c8f36fd-7529-4b56-9320-f1a71bfe40cf

    J'ai le même problème avec le volet de prévisualisation.
    Windows 7 pro 64 bits et adobe CC
    Mais j'ai remarqué qu'il y a quelquechose d'autre que le volet de prévisualisation.
    Souvent lorsque je veux renommer des pdf (par exemple exportés de Indesign) j'ai un message d'erreur au sujet de droit d'administration, de fichier ouvert dans un autre programme ou de fichier en lecture seule.
    Bien-sûr je suis adminstrateur, le fichier est fermé (parfois pas ) et il n'y a aucune raison que ces fichiers soient en lecture seule.
    Si je ferme indesign ou acrobat reader, je peux renommer les fichiers.
    Enfin pas tout le temps !
    A chaque fois que ce bug survient, cela se passe toujours avec les fichiers se trouvant dans le dossier du dernier fichier utilisé.
    Donc si j'avais exporté un pdf nommé par exemple fichier6.pdf dans un répertoire nommé EXPORT
    EXPORT/fichier6.pdf
    mais que d'autres fichiers s'y trouvaient déjà :
    EXPORT/fichier1.pdf
    EXPORT/fichier2.pdf
    EXPORT/fichier3.pdf
    EXPORT/fichier4.pdf
    EXPORT/fichier5.pdf
    Je ne pourrais pas renommer ou supprimer aucun des fichiers 1 à 6 sans fermer indesign ou acrobat reader.
    Mais parfois ce n'et pas suffisant, je dois fermer tous les processus d'adobe pour pouvoir disposer librement de mes fichiers.
    Il y a donc un processus adobe qui bloque la possibilité d'éditer les fichiers se traouvant dans le dossier dudernier fichier utilisé.
    Apparemment le problème est plus du côté de Microsoft que d'Adobe mais il n'est pas récent...
    J'ai également posté un mesage ici : http://answers.microsoft.com/en-us/windows/forum/windows_8-files/cant-delete-file-because- file-is-in-use/703be888-f272-4b14-87bf-03b508a15e70?page=3&rtAction=1389697475106

  • Comment ouvrir un fichier dans Pages après un bug sur iCloud ?

    Bonjour,
    J'ai crée, puis écris sur un fichier une vingtaine de pages sur Pages pour iPad. Lorsqu'il a essayé de se synchroniser avec iCloud ma connexion en 3G s'est arrêté.
    Depuis, impossible d'ouvrir le fichier sur mon iPad, ni sur iCloud.com (le fichier est grisé ou un message "mise à jour..." s'affiche sur internet).
    Même en WiFi avec une très bonne connection (mon fichier problématique pèse 1Mo, je n'ai pas de problèmes avec des fichiers à 30Mo)...
    Pouvez vous m'aider s'il vous plaît à récuper le contenu ? C'est un fichier très important, un travail d'une année...
    Plus d'informations:
    Il existe sûrement une version procèdente sur iCloud, j'utilise le même fichier depuis que iCloud est sorti. Un moyen de la récupérer ?
    Le fichier dois être en cache sur mon iPad. Comment le récupérer (Logiciel comme iExplorer ou Jailbreak) ?
    L'iPad a été restauré et rédemarré plusieurs fois, mais le problème persiste sur iCloud.
    La date du dernier enregistrement est sur Pages est du 8 mars à 10:19 soit quelques minutes avant le bug.
    J'ai contacté plusieurs fois le support, mais ils me disent que mon fichier est perdu. un m'a dit de contacter le support de MobileMe (mais j'ai pas de comte mobileMe donc échec. Un autre a essayé de m'aider et m'a demandé d'appeler le support pour developpeurs (étant donné que je le suis), en supposant qu'ils ont un moyen d'accéder à nos donnés depuis les serveurs d'iCloud (absurde ?) et récupérer le fichier dit "corrumpu".
    Toutes les mises à jour sont éffectués sur mes appareils.
    Merci d'avance,
    Igor.

    Bonjour,
    J'ai quasiment le même problème.
    Pour le boulot, on m'a envoyé par mail un fichier Indesign créé sur Mac et sous CS5.5.
    J'utilise CS6 sur PC (Windows 7). Impossible d'ouvrir le fichier ! J'ai le même message que Leonard : "le fichier n'existe pas, vous ne disposez pas des droits d'accès nécessaires ou le fichier est utilisé par une autre application".
    J'ai vérifié les propriétés : le fichier n'est pas en lecture seule.
    J'ai lu plein de choses, mais je ne trouve pas vraiment la solution...
    La personne m'a renvoyé le fichier une seconde fois, mais cela ne règle pas le problème. Je lui ai demandé de le réenregistrer dans un autre dossier (mais comment vérifier qu'elle l'a bien fait ?), de vérifier qu'elle n'avait pas de fichier .idlk, etc.
    Pensez-vous que l'enregistrer au format IDML pourrait être la solution ?
    J'ai vraiment du mal à saisir le problème... J'espère vous avoir donné suffisamment de détails.
    Je reviendrais donné la solution si jamais je la trouve !
    Merci !

  • LabVIEW: Erreur d'autorisation du fichier. Vous n'avez pas les autorisations nécessaires pour le fichier.

    Bonjour,
    Quelqu'un pourrait-il m'aider avec cette erreur sur labview:
    Visitez la page de demande de support sur ni.com/ask_fr pour en apprendre davantage sur la résolution de ce problème. Utilisez les informations suivantes comme référence :
    L'erreur 8 s'est produite à : AB_EXE.lvclass:Build.vi -> AB_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Create_Build_Application.vi -> EBUIP_Global_OnCommand.vi -> EBUIP_Global_OnCommand.vi.ProxyCaller
    Raisons possibles :
    LabVIEW: Erreur d'autorisation du fichier. Vous n'avez pas les autorisations nécessaires pour le fichier.
    L'erreur s'affiche dans une boîte de dialogue quand j'essaie de compiler un vi. Normalement, les autres vi que je compile ne m'affiche pas cette erreur.
    Je suis allé voir les erreurs sur le site de NI:
    -Erreur d'autorisation du fichier. Vous n'avez pas les autorisations nécessaires pour le fichier. Pour corriger cette erreur, vérifiez que le fichier n'est pas utilisé par une autre application et que les autorisations du fichier sont définies correctement. Sous Windows, naviguez jusqu'au fichier, cliquez avec le bouton droit sur le fichier, sélectionnez Propriétés et définissez l'option Lecture seule dans la boîte de dialogue. Sous Linux ou Mac OS X, utilisez chmod pour définir les autorisations du fichier. Si un accès en lecture seule vous suffit, vous pouvez utiliser la fonctionOuvrir/Créer/Remplacer un fichier en définissant l'entrée accès à read-only.
    On parle de quel fichier exactement?
    Merci,

    Bonjour, Kam;
    L'erreur apparait quand t'essaies de compiler un VI FPGA ou simplement au moment de faire le deployment d'un VI RealTime? 
    Qu'est-ce que ton VI est en train de faire? Es tu en train de faire du File I/O? J'ai eu cet erreur de mon cote quand j'ai essaie d'ecrire a un fichier sans le path correct.
    Il y a un forum francophone ou t'auras peut-etre un peu plus de chance aussi; je le reccomende fortement.
    http://forums.ni.com/t5/Le-forum-francophone/ct-p/FrenchForums
    Cordialement;
    Simon P.
    National Instruments
    Applications Engineer

  • Comment faire pour ajouter un fichier commun à un installate​ur ?

    Bonjour,
    j'ai réaliser un projet dans lequel je fais appel à des fichiers quelconques. J'accède à ces fichiers en lecture et en écriture pour stocker et lire des données de configuration (Mots de passe, données d'initialisation,etc.).
    Aussi j'aimerai que ces fichiers soit directement inclus dans l'installeur.
    Malheureusement les paramètres de l'application builder ne me permettent de désigner que des fichier ".VI"
    D'autre part j'ai remarqué qu'après la fermeture du fichier éxecutable, la fenêtre ne disparait pas d'elle même. Un menu devint disponible et propose enre autre, Fichier,Edition, Exécution, Outils, Fenêtre, etc...Aussi pour sortir définitivement je fais "Fichier->quitter."
    Comment faire pour la fenêtre disparaisse toute seule.
    Merci d'avance,
    Pascal RICARD.

    Bonjour,
    Tu peux inclure tous les fichiers que tu veux, à condition qu'ils soient ajoutés à ton projet.
    Le plus simple, c'est de définir tes fichiers à inclure directement avec l'exécutable. Pour cela, il faut que tu:
    - ajoutes tes fichiers dans ton projet
    - Défini ces fichiers dans la partie "toujours inclus" de ton exécutable
    - Ajoutes un  nouveau répertoire dans les "Destinations" (afin d'organiser tes fichiers)
    - Va dans "Source File Settings" et sélectionne un des fichiers, puis dans le menu déroulant "destinations" à droite, change le "same to caller" par le répertoire que tu viens de créer (si tu veux que le fichier soit placé dans ce répertoire), fais de même pour tous les fichiers que tu as rajouté.
    Voila, tes fichiers seront automatiquement ajoutés avec ton Build dans un nouveau répertoire.
    Lors de la création de ton installeur, ces répertoires seront également ajoutés.
    Pour ce qui est de fermer ton application, suis le document ci-dessous:
    How Can I Exit From My LabVIEW Executable Without Having to Close It?
    Tu peux remplacer la structure désactivation conditionnelle par l'utilisation d'une structure condition et d'un noeud de propriété sur la classe Application, en regardant la propriété "Application Kind".
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

  • Ecrire dans un fichier

    Bonjour,
    J’ai 2 problèmes dans mon programmes  pouvez-vous m’aide svp !
    1.J’ai besoin d’écrire dans un fichier et de récupérer les données dans un fichier Excel, mais je veux écrire que RMS pour les deux tensions (alternateur et moteur synch).
    2.Vers le bas de mon programme je fais un commande de chute de tension sur le moteur synch. A part,(Espe1.VI) le programme marche bien mais j’ai du mal à l’inclure dans mon programme.
    Si vous connaisse une meilleur moyen de faire, tous les idées sont les bienvenu.
    J’utilise le chassis SCXI-1000, la sortie sur le relais SCXI-1161 et sorti digital 1124.
    J’ai la version 7.0
    Espe
    Attachments:
    essaiLe22.vi ‏377 KB
    Espe1.vi ‏108 KB

    Salut à tous, si vous voulez modifier ou lire plus d’options sur les fichiers ou dossier, comme :
    lecture seul (ReadOnly)
    caché (hidden)
    système (system)
    dossier (directory)
    Archive (archive), qui est le bit d’archive pour signaler qu’un fichier a été archivé
    Normal
    temporaire
    Compressé (compressed)
    Horsline (offline)
    Indexé
    crypté (encrypted) uniquement en lecture
    en utilisant kernel32.dll, GetFileAttributesA ou SetFileAttributesA
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

Maybe you are looking for

  • I can't add chinese font into a pdf

    I have scanned a book and OCR it into an PDF file. I want do some translation work that change the English to Chinese. I only use the Touchup tool, It's so hard to do, I have to right-click-properties-change the font to Simsun(It's the only Chinese f

  • Can not open photshop CC 2014     ERROR  could not initialize Photoshop because of a program error

    Hi I can not open Photshop CC 2014 ERROR could not initialize Photoshop because of a program error

  • Dialup access on 2851 router

    I am configuring a 2851 router with a NM-1CE1T1-PRI card and a PVDM2-12DM module. This router will be used for dial-up access for remote clients only. I have configured the T1 controller, group-async interface and applicable lines (see attached confi

  • Bluetooth printing to a C8180

    Hi, I am trying to set up bluetooth printing to a C8180 from Windows 7. It finds the printer but it says it requires a bluetooth peripheral device driver If I select to search for a driver it doesn't find one I can connect OK via wireless but I would

  • Excise acounts assignment

    Hi exports i want to assign the gl of excise becoz getting error in MM at the time of excise capture and MIGO goods receipt against PO as no G/L assign for RG23A ECS so help me for that and also for remaining also. PATH:- Spro-logistic general-tax on