2012-10-12 3 views
2

J'ai un répertoire avec beaucoup de fichiers, mais je veux seulement lire les fichiers .CSV. J'ai passé tous les fichiers dans le répertoire à une table interne, et maintenant je veux lire ces fichiers (lire le contenu de ces fichiers à l'écran).comment puis-je lire un fichier spécifique d'un répertoire? - abap

+0

Il peut être important de savoir si votre serveur d'applications s'exécute sur une machine Windows ou Unix. Si c'est le dernier alors l'affaire compte! – Jagger

+0

Jagger, en supposant que les fichiers ont été lus en utilisant un module de fonction comme EPS2_GET_DIRECTORY_LISTING, cela devrait être le cas ... bien que ... après avoir relu le fil ci-dessous ...... – vwegert

Répondre

1

En supposant que vous utilisez EPS2_GET_DIRECTORY_LISTING comme recommandé par exemple dans this question, vous pouvez simplement supprimer toutes les lignes de la table qui ne se terminent pas en .csv:

DELETE lt_file_list WHERE name NP '*.CSV'. 

Soyez conscient que les opérateurs de CP/NP sont Case- insensible (c'est probablement le comportement intende dans ce cas).

+0

Je dois utiliser le 'OPEN DATASET file_s POUR ENTRÉE EN MODE TEXTE CODANT NON UNICODE '. Mais lance l'erreur: 'Erreur d'ouverture du fichier', dans tous les fichiers du répertoire. le répertoire est sur le serveur. –

+0

OPEN DATASET ne "lance" aucune "erreur". Veuillez préciser exactement ce que vous faites et ce qui se passe. – vwegert

+0

Désolé, je me suis mal exprimé. J'ai fait ceci: OPEN DATASET file_s POUR ENTRÉE EN MODE TEXTE CODANT NON-UNICODE. SI sy-subrc NE 0. ECRIRE:/'Erro na leitura do ficheiro', tabf-message, '.'. CONCATENER 'Erro na leitura do ficheiro' tabf-message '.' DANS le texto SÉPARÉ par l'espace. APPEND texto. CLEAR texto. AUTRE. Le résultat est le message "Erro na leitura do ficheiro". Les fichiers ne sont pas ouverts. –

0

Je résous le problème. Lorsque je transmets (concaténer) l'information dans la table interne, je transmettais des données erronées. Merci.

Questions connexes