Dynamischer Pfad - ABAP Programm

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
43 Beiträge • Vorherige Seite 3 von 3 (current)
43 Beiträge Vorherige Seite 3 von 3 (current)

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Brick (ForumUser / 20 / 2 / 0 ) »
Hab jetzt beides ausprobiert..

also so:

Code: Alles auswählen.

DATA:  ANZAHL TYPE I.
DATA:  VERARBEITET TYPE I.
DATA:  AUSGEGEBEN  TYPE I.
DATA: mess(60) TYPE c.

PARAMETERS:   VINPUT(50) TYPE C DEFAULT   'c:\einspieldatei.txt'.

SELECTION-SCREEN SKIP 1.

PARAMETERS  AUSGABE(50) lower case.
INITIALIZATION.
CONCATENATE '/usr/sap/' sy-sysid '/COMM/KWF/fibu1200.asc' INTO AUSGABE.



SELECTION-SCREEN SKIP 1.


START-OF-SELECTION.
MOVE VINPUT TO INPUTDATEI.
write:/ INPUTDATEI.

  CALL FUNCTION 'UPLOAD'
 EXPORTING
          FILENAME            =  INPUTDATEI
      TABLES
            DATA_TAB            =  ITAB.
            
Translate AUSGABE to lower CASE.
OPEN DATASET AUSGABE FOR OUTPUT IN TEXT MODE MESSAGE mess.

LOOP AT ITAB.
ADD 1 TO AUSGEGEBEN.
TRANSFER ITAB TO AUSGABE.
ENDLOOP.
leider erfolglos..

beim Sprung von Open Dataset auf Loop kommt in die mess Variable wieder "no such file or directory"...

Bilder sind in der falschen Reihenfolge angefügt.. sorry.. !

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Dynamischer Pfad - ABAP Programm

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Langsam gehen mir die Ideen aus...

Mach doch bitte noch folgenden Test:
Ruf einmal das Originalprogramm mit Break-Point beim Loop at itab auf und kopieren hier den Inhalt von Ausgabe rein.

Vielleicht sieht man da etwas.

Gruss
Nicola

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Brick (ForumUser / 20 / 2 / 0 ) »
Sieht so aus: (sieh Anhang)..

Hab das jetzt im "Qualität" System probiert.. deswegen der andere (orginale) Pfad..
werd den Code aber nach Mittag noch mal in der "Test" probieren...

irgendwie hab ich mir das einfacher vorgestellt ;)

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Na einfach kann ja jeder :wink:

Wenn ich mir den Pfad anschaue, dann ist da der Systemname zweimal drin - wenn ich richtig liege dass P24 Euer System ist. In dem Concatenate wird er aber nur einmal durch sy-sysid ersetzt. Kannst Du das nochmal anschauen?

Folgende Benutzer bedankten sich beim Autor Lucyalison für den Beitrag:
Brick


Re: Dynamischer Pfad - ABAP Programm

Beitrag von a-dead-trousers (Top Expert / 4394 / 223 / 1182 ) »
Außerdem sind Großbuchstaben drin, daher ist das TRANSLATE TO LOWER CASE tödlich.
Das LOWER CASE beim PARAMETER bedeutet ja nur, dass die automatisch Umsetzung in Großbuchstaben beim PAI des Selektionsbildes nicht durchgeführt wird und somit Kleinbuchstaben möglich sind.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Brick

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Brick (ForumUser / 20 / 2 / 0 ) »
Hab ich glaub ich schon mal geschrieben...

aber vielleicht nochmal zum Verständnis:
wir haben vor kurzem eine Transmission gehabt, von einem SAP Anbieter zu einem anderen.
Beim neuen Anbieter heißt unser System jetzt anders. Früher war es die P24 bzw. T24 .. jetzt
heißt es aber ganz anders. Wir haben jetzt eine klassische 3-Systeme Landschaft. Hier wollen
wir die Pfade eben so haben, das sie in jedem System richtig sind.
Der neue Pfad im neuen System hat nur noch einmal den Systemnamen beinhaltet, somit passt
das schon soweit.

also alter Pfad (altes System) mit 2 x P24
neuer Pfad (im neuen System) nur noch 1 x SystemID

ich spiel jetzt mal den Orginalcode wieder in die Test und schau was der Debugger sagt !

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Brick (ForumUser / 20 / 2 / 0 ) »
a-dead-trousers hat geschrieben:Außerdem sind Großbuchstaben drin, daher ist das TRANSLATE TO LOWER CASE tödlich.
Das LOWER CASE beim PARAMETER bedeutet ja nur, dass die automatisch Umsetzung in Großbuchstaben beim PAI des Selektionsbildes nicht durchgeführt wird und somit Kleinbuchstaben möglich sind.
!!! DAS WARS !!!

Hab mal das Translate rausgenommen.. jetzt gehts !!

Code: Alles auswählen.

DATA:  INPUTDATEI(128) TYPE C.
DATA:  BEGIN OF ITAB OCCURS 200,
       FILLER(512)     TYPE C,
       END OF ITAB.

DATA:  ANZAHL TYPE I.
DATA:  VERARBEITET TYPE I.
DATA:  AUSGEGEBEN  TYPE I.
DATA: mess(60) TYPE c.

PARAMETERS:   VINPUT(50) TYPE C DEFAULT   'c:\einspieldatei.txt'.

SELECTION-SCREEN SKIP 1.

PARAMETERS  AUSGABE(50) lower case.
INITIALIZATION.
CONCATENATE '/usr/sap/' sy-sysid '/COMM/KWF/fibu1200.asc' INTO AUSGABE.



SELECTION-SCREEN SKIP 1.


START-OF-SELECTION.
MOVE VINPUT TO INPUTDATEI.
write:/ INPUTDATEI.

  CALL FUNCTION 'UPLOAD'
 EXPORTING
          FILENAME            =  INPUTDATEI
      TABLES
            DATA_TAB            =  ITAB.

*Translate AUSGABE to lower CASE.
OPEN DATASET AUSGABE FOR OUTPUT IN TEXT MODE MESSAGE mess.

LOOP AT ITAB.
ADD 1 TO AUSGEGEBEN.
TRANSFER ITAB TO AUSGABE.
ENDLOOP.

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Brick (ForumUser / 20 / 2 / 0 ) »
Ich möcht mich recht herzlich bei euch allen, besonders bei Nicola für die
tatkräftige Unterstützung bedanken !!!

Sensationelles Engagement !!

Und danke natürlich an a-dead-trousers, für den finalen Tipp !!


Gruß Martin

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Ja da hat a-dead-trousers Recht - wir verwenden das hier in einem Programm, aber unser Directory ist auch klein geschrieben. Freut mich dass es jetzt klappt!

Viele Grüsse
Nicola

Re: Dynamischer Pfad - ABAP Programm

Beitrag von a-dead-trousers (Top Expert / 4394 / 223 / 1182 ) »
Ich möchte hier nur mal kurz klarstellen:
Der meiste Dank sollte Lucyalison gelten, da er soviel Geduld bewiesen und so lange an dem Problem mitgeholfen hat.

Ich hab mich ja nur "eingemischt" nachdem ich bemerkt hatte, dass ihr euch irgendwie im Kreis bewegt.
Im allerersten Post waren noch teilweise Großbuchstaben zu sehen.
Dann kam der (für das Problem relevante) Vorschlag mit dem CONCATENATE.
Das hat dann aber nicht funktioniert, weil das Ganze nun plötzlich (im Gegensatz zum ursprünglichen Programm) über einen Parameter auf einem Selektionsbild hätte funktionieren sollen. Da hat dann das LOWER CASE gefehlt.
Stattdessen wurde aber das TRANSLATE als Lösung vorgeschlagen.
Im Endeffekt haben sich dann alle Lösungen, Tests und Debuggings um die Groß- und Kleinschreibung des GESAMTEN Pfades hin- und hergedreht. Niemand hatte bemerkt, dass nur ein Teil des Pfades groß geschrieben werden soll.
Die richtige Richtung hat dann wieder Lucyalison mit dem Hinweis auf das Debugging des Originalprogramms gegeben. Wobei ich dann auch erst das Camel-Case des Pfades bemerkt hatte.

Klassischer Fall von "auf der Leitung" gestanden!

Für das Engagement hat sich Lucyalison IMHO ein DICKES Danke verdient.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Brick (ForumUser / 20 / 2 / 0 ) »
a-dead-trousers hat geschrieben:Ich möchte hier nur mal kurz klarstellen:
Der meiste Dank sollte Lucyalison gelten, da er soviel Geduld bewiesen und so lange an dem Problem mitgeholfen hat.

Für das Engagement hat sich Lucyalison IMHO ein DICKES Danke verdient.

lg ADT
Ich unterstell mal ein SIE... Lucy/Nicola .. trotzdem ist dem nichts hinzuzufügen..

wie gesagt.. Danke an dich... den Danke Button hab ich auch schon gefunden !!

Spitzenleistung !!

Gruß Martin

Re: Dynamischer Pfad - ABAP Programm

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
'Sie' stimmt aber ich hab mich auch über das Posting mit 'er' gefreut :D danke! Und ich habe nebenher auch etwas Neues gelernt - ich wusste nicht dass man beim open dataset ein message anhängen kann, das habe ich erst bei der Suche für dieses Problem nachgelesen.

Viele Grüsse
Nicola

Re: Dynamischer Pfad - ABAP Programm

Beitrag von a-dead-trousers (Top Expert / 4394 / 223 / 1182 ) »
Sorry :oops:
Er (der Benutzer) hat sich bei mir schon so eingebürgert.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Vergleichbare Themen

4
Antw.
12202
Views
Mapping logischer Pfad - physikalischer Pfad
von Gast » 24.06.2005 10:04 • Verfasst in Basis
0
Antw.
2599
Views
LSMW Programm in ABAP Programm überführen
von mherke » 07.02.2007 15:02 • Verfasst in ABAP® für Anfänger
0
Antw.
1593
Views
C Programm aus ABAP aufrufen
von Petwar_pk » 23.07.2009 14:32 • Verfasst in ABAP® Core
13
Antw.
7721
Views
Dynamischer Selection Screen mit dynamischer Suchhilfe
von Johnny11 » 26.03.2014 08:19 • Verfasst in ABAP® Core
14
Antw.
2261
Views
Ein Abap Programm Komplett kopieren
von the_skywalker » 15.11.2021 10:13 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1546
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8157