ArchiveLink testen / Servlet

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

Getting started ... Alles für einen gelungenen Start.
25 Beiträge • Seite 1 von 2 (current) Nächste
25 Beiträge Seite 1 von 2 (current) Nächste

ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Hallo,

Ziel ist es, das Dokumente die bspw. einem Material angehängt werden über den ArchiveLink bzw. mein Servlet auf einem Server gespeichert werden.
Zu Testzwecken habe ich einen Tomcat Apache Server und als Ablagesystem dient lokal ein Ordner auf meinem PC.
Content Repository habe ich bereits angelegt, welches auf mein Servlet verweist.

Ich denke ich müsste mein Servlet nun so schreiben, dass auf jede Operation die SAP sendet eine entsprechende Response folgen kann.
Nun frage ich mich aber, wie teste ich das am besten, kann ich einen eigenen Report schreiben der bspw. auf ein Dokument in meinem Ablageordner zugreift ?
Und allgemein, wenn ich eine Datei die extern auf meinem Server liegt mit bspw. einem Material verknüpfen will, wie bekommt mein Dokument eine docID mit der ich es vom Server abrufen kann ?
Bei meiner momentanen einfachen Implementierung habe ich (ohne Request von SAP) einfach eine Datei anhand ihres Namens aus dem Ordner gesucht.

Würde mich freuen wenn jemand paar hilfreiche Tipps hätte oder meine Sicht darauf etwas entwirren könnte :)

Danke schonmal!

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


Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
Moin Dominic.
Ich schlage als Spielplatz vor, den Kundenauftrag (VA01/VA02/VA03) zu verwenden.
Das ist in der Belegreihenfolge schön am Anfang und leicht erzeugt.

Das Customizing für Alink

1.) Dokumentart anlegen ( TA OAC2 ) hier bestimmt man z.B. PDF oder TXT oder TIF
Schlage PDF vor. z.B. Neuer Eintrag: YDOMIN / Pdf dok / PDF

2.) SAP Archivlink - Verknüpfung ( TA OAC3 )
Neuer Eintrag :
BUS2032 / YDOMIN / X / <Archiv> JG/ TOA01 / 120
Bedeutung:
Für Das Businessobjekt AUFTRAG (BUS2032)
die Dokumentart YDOMIN (PDF)
für das Archiv JG
mit der Verknüpfungstabelle TOA01
und einer Verweilzeit von 120 Tg.

Jetzt is es möglich in der VA01/02/03 einen zuvor "ausgegrauten" GOS Eintrag
namens "Business Dokument ablegen" anwählbar zu sehen.
Jetzt Du.

lg Jens
(ich dachte, Du machst schon Ferien :) )
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
______________________________Update________________________________________

Habe jetzt deine Schritte soweit befolgt, hat auch alles geklappt.
Das ausgegraute Business Objekt finde ich leider auch gerade nicht :/

Wollte gerade über ein SAP Tutorial einen Kundenauftrag anlegen aber wenn ich speichern möchte kommt "START_FORM ist unzulässig, da OPEN_FORM fehlt".
______________________________Update________________________________________
OK vielen danke (wiedermal) :)

Werde mich gleich mal dran machen.
Habe währenddessen aber eine Frage, wo genau kommt denn mein Servlet ins Spiel das ich programmieren sollte für dieses Projekt.
Also skizziert wurde es praktisch so, dass man ein Dokument an ein Business Objekt anhängen will. Dieses Dokument soll beim Anhängen dann auf meinem Server abgelegt werden und diese Ablage wiederum soll so funktionieren, dass beim Anhängen mein Servlet aufgerufen wird, diesem das Dokument übergeben wird und es dann auf den Server weiterleitet und ablegt.

Habe in einem anderen Thread schon etwas gefunden. (http://www.abapforum.com/forum/viewtopi ... 19&t=19648)
Da habe ich in eine Kategorie erstellt mit meinem Content Repository und diese anschließend der Klasse SOFFPHIO zugewiesen. Ich finde die Seite gerade leider nichtmehr aber da wurde es mir so klar gemacht, dass die angelegten Daten normalerweise in einem workspace landen. Durch die Änderung der Tabelle habe ich dort nun beim ZA dagegen angegeben.
Dann bekam ich jedoch eine Fehlermeldung "Systemfehler beim Zugriff auf Knowledge Provider". Hat mich jedoch nicht allzu erstaunt, da ich denke ich mein Servlet noch anpassen muss um die Anfrage von SAP zu verarbeiten.

Danke schonmal! ;)

(Nein leider noch keine Ferien :P, aber du hättest die langsam mal welche verdient hier :D )

Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
...
Das ausgegraute Business Objekt finde ich leider auch gerade nicht :/
In Netweaversystemen muß das GOS Menu ggf. für VA01 / 02 erst aktiviert werden, indem man in seinen Benutzerparametern
SD_SWU_ACTIVE ein 'X' einträgt/anlegt.
Du könntest auch einen existierenden Auftrag nehemen. Guck mal die Tabelle VBAK durch (SE16N)
wenn ich speichern möchte kommt "START_FORM ist unzulässig, da OPEN_FORM fehlt".
Das sind Funktionsbausteine zum Sapscript Drucken. Hast Du "Drucken und Ablegen" eingestellt ?
Habe währenddessen aber eine Frage, wo genau kommt denn mein Servlet ins Spiel das ich programmieren sollte für dieses Projekt.
Das ist einfach zu beantworten: wenn die Archivlink-Funktionen info / get / docGet ...
ausprogrammiert sind, muß man eigentlich "nur" Customizen.

Da ich den Knowledge Provider nie eingesetzt habe, kann ich zu dessen Funktionalitäten eigentlich nur sagen, das er die Verknüpfungstabellen (T0A01..TOAxx) nicht verwendet.
Mit dem "klassischen" Verfahren s.o. werden die Verknüpfungen zum Archiv in der Tabelle TOA01 (Standard) gespeichert. Deshalb sollten wir das nehmen.
...
wie weit bist Du ?....
Zuletzt geändert von Tron am 10.12.2014 10:45, insgesamt 1-mal geändert.
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
http://scn.sap.com/docs/DOC-33485

Habe dort mal versucht das GOS Menü sichtbar zu machen, aber verstehe da relativ wenig. Vielleicht liegts an mir, aber finde das recht konfus erklärt.

Ich bin wie gesagt beim letzten Punkt -> "Jetzt is es möglich in der VA01/02/03 einen zuvor "ausgegrauten" GOS Eintrag
namens "Business Dokument ablegen" anwählbar zu sehen."

Alles andere hab ich und funktioniert soweit.

Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
... hast Du übehaupt in der VA02/Va03 ein Gos Menü ?
Wenn der Beleg noch nicht existiert/gesichert ist, kann das GOS sowieso nichts speichern !
Es fehlt ja dann auch der Schlüssel : die Belegnummer :wink:

...
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ArchiveLink testen / Servlet

Beitrag von JHM (Top Expert / 1212 / 2 / 202 ) »
Tron hat geschrieben:... hast Du übehaupt in der VA02/Va03 ein Gos Menü ?
GOS ist im Standard für VA02/VA03 aus Performencgründe deaktiviert, kann man je User aktiveren.
Dafür TA SU3 aufrufen, Reiter Parameter, neuer Eintrag: Parameter-ID = SD_SWU_ACTIVE und Parameterwert = X.
Gruß Hendrik

Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
... genau.
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Okay, habe das über SU3 aktiviert.
Habe nun ein GOS Menü und auch das "Business Dokument ablegen" ist dort ebenfalls vorhanden und nicht ausgegraut :)

Re: ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Wollte nun "Business Dokument ablegen".
Meine Dokumentart hab ich ausgewählt und eine PDF die auf meinem Rechner liegt.
Dann kommt "HTTP-Fehler: 405 Method Not Allowed". Liegt das an meinem Servlet jetzt ?

Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
... Jetzt bist Du an dem Punkt angelangt, wo Du das Servlet weiter progammieren mußt.
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
OK gut, also liegt der Fehler an meinem Servlet richtig ?
Falls es Tipps zum Servlet gibt werde ich mich nicht beschweren :D

Aber ich müsste jetzt quasi eine create-Methode implementieren, die das Dokument von SAP entgegennimmt und auf dem Server abspeichert. Anschließend muss eine Response zum SAP System gehen die sagt das alles geklappt hat, richtig etwa ?

Und kann ich die Response auch in einem Writer in Java wegschicken ? Habe das jetzt über eine JSP abgewickelt, denn wenn ich die selbe Response über den Writer mache klappt der Verbindungstest in SAP nichtmehr.

Werde dann nochmal die Spezifikation lesen und schauen wie das ganze auszusehen hat.

Danke :)

Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
.. Du sagst es :up:

Übrigens:
Den Dateinamen , wie das Dokument dann auf dem Alink Server heißt, gibt das SAP system Dir dann mit.
Dennoch mußt Du Dir noch überlegen, wie Du Archive und deren Dokumente, auf dem Alink Server organisierst.
Ich habe das Problem so gelöst, daß der Archivname(n) das Hauptverzeichnis ist/sind und untergeordnet
dann die Ordner (=Arch_doc_id) mit den Meta-daten und dem eigentlichen Dokument sind.
e.g. Archivelink Verzeichnis-Struktur

Code: Alles auswählen.

T1
     4BE1C047C3F400E7E1008000995F1838
          meta.inf
         data.dat
     4BE1C05AC3F400E7E1008000995F1838
          meta.inf
         data.dat
     4BE23C4257FA005DE1008000995F1838
          meta.inf
         data.dat
lg Jens
Zuletzt geändert von Tron am 10.12.2014 13:46, insgesamt 1-mal geändert.
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ArchiveLink testen / Servlet

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Ok, ich will grade erstmal eine Lösung finden wie ich die Response dynamisch schreiben kann.
Wie gesagt habe ich für den Verbindungstest eine hart gecodete Response die in einem JSP steht. Über den Writer akzeptiert SAP den selben Text nicht, da funktioniert der Verbindungstest nichtmehr.

Das Problem liegt momentan da, dass meine doGet Methode nicht aufgerufen wird. Da SAP meine JSP Datei ansteuert und mein Servlet unberührt bleibt, samt seiner Methoden.
Arbeite grad dran dass anders zu verarbeiten.

Re: ArchiveLink testen / Servlet

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
Der Header und die Url der Anfrage wird nun wichtig und muß ausgewertet werden.
vielleicht läßt sich die "response" mit diesen methoden aufbauen.
http://stackoverflow.com/questions/2088 ... d-resource

Code: Alles auswählen.

   :
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.setHeader("Access-Control-Allow-Origin", "*");/
   :
lg Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Vergleichbare Themen

2
Antw.
6001
Views
Von Servlet auf SAP zugreifen
von Challana » 27.07.2007 09:48 • Verfasst in Java & SAP®
0
Antw.
1440
Views
Extern über Servlet einloggen möglich ?
von Dyrdek » 15.12.2014 11:05 • Verfasst in ABAP® für Anfänger
12
Antw.
8640
Views
ArchiveLink / DLL Datei
von Dyrdek » 02.12.2014 10:56 • Verfasst in ABAP® für Anfänger
0
Antw.
4086
Views
EWM SAP ArchiveLink: Object ID
von dimes » 12.01.2011 11:31 • Verfasst in Basis
4
Antw.
2187
Views
Archivelink - Anzeige Dateityp *
von STDIN » 24.08.2020 14:23 • Verfasst in ABAP® für Anfänger

Ü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

Aktuelle Forenbeiträge

FS-CD schnellstmöglich lernen
vor 6 Stunden von waltersen 3 / 1532
Banf anlegen
vor einer Woche von wreichelt 2 / 9002
Banf anlegen
vor einer Woche von Manfred K. 1 / 8615
IBAN und BUT0BK
vor einer Woche von waltersen gelöst 10 / 24239
GUIXT Tabellen in Container ansprechen
vor einer Woche von Denaris 1 / 13846

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.

Aktuelle Forenbeiträge

FS-CD schnellstmöglich lernen
vor 6 Stunden von waltersen 3 / 1532
Banf anlegen
vor einer Woche von wreichelt 2 / 9002
Banf anlegen
vor einer Woche von Manfred K. 1 / 8615
IBAN und BUT0BK
vor einer Woche von waltersen gelöst 10 / 24239
GUIXT Tabellen in Container ansprechen
vor einer Woche von Denaris 1 / 13846