Archivierung von Dateien

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

Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo zusammen,

ich möchte folgendes erstellen:

Eine Z - Tabelle anlegen und zu dieser Tabelle soll eine Möglichkeit existieren, dass man zu den einzelnen Tabelleinträgen Daten (PDF - Dateien) archivieren kann. (Die Dateien sollten von einem lokalen Speicherort manuell hochgeladen werden können vom Benutzer)
Ich hab allerdings keine Ahnung wie die Archivierung funktioniert. (Bin noch ein ziemlicher Anfänger in SAP)

Kann mir hier jemand bitte weiterhelfen? (Bzw. Quellen nenne, wo ich das nachlesen kann? Ich finde dazu nichts passendes)

Danke!

Viele Grüße!

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


Re: Archivierung von Dateien

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
hi!

Ich weiß nicht ob es in deinem Fall nicht besser wäre mit der SAP-Dokumentverwaltung (z.b. BAPI_DOCUMENT_CREATE) zu arbeiten.
Wenn es unbedingt eine eigene (Z-)Anwendung sein muss, kannst du dir die ARCHIVOBJECT_* Bausteine anschauen.
Bei den ARCHIVOBJECT-Bausteinen handelt es sich um die Low-Level-Schnittstellen von SAP ans Archiv.
Auch bekannt als ARCHIVE-LINK. Wenn du dazu Hilfe brauchst, kann ich dir gerne mehr erzählen.

Die allgemeine SAP-Datenarchivierung kommt glaub ich nicht in Frage, weil es da eher darum geht vorhandene Datensätze/Tabelle in das Archiv auszulagern. Könnte aber gut sein, dass es da noch Bausteine gibt die du für deinen Zwecke trotzdem nutzen kannst ohne direkt mit ARCHIVE-LINK arbeiten zu müssen.

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: Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo!

DAnke für die Antwort!

Ich erkläre noch mal, was ich genau machen will, vielleicht hab ich es auch falsch formuliert ("wenn es Z-Anwendung sein muss" ==> Es soll so einfach wie möglich sein :-)

Also:

Ich hab ein Z-Tabelle gegeben, z.B. ZMITARBEITER.

ZMITARBEITER
Nr., Name (Felder der Tabelle)

Zu jedem Mitarbeiter sollen nun Dokumente abgelegt werden, wie z.B. handschriftliche Notizen, die als PDF eingescannt werden)
Wie lege ich diese PDF - Dokumente ab? Gibt es dazu irgendwas von SAP?

(Also so was in der Art: http://tricktresor.de/content/index.php ... 39&aID=397 )
Ein Benutzer möchte vom lokalen Rechner eine Datei zu einem bestimmten Mitarbeiter aus der Tabelle ZMITARBEITER aufrufen und dann dazu eine PDF - Datei abspeichern.


Danke!

Viele Grüße

Re: Archivierung von Dateien

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Schau dir mal das hier an: Generic Object Services
(ist inhaltlich etwas unglücklich ins Menü eingehängt...)

Re: Archivierung von Dateien

Beitrag von ChrisB (Specialist / 406 / 8 / 20 ) »
Hallo Mark,

warum muss man eigentlich immer alles neu erfinden, was im Standard bereits vorhanden ist? *tztz*
Wenn Ihr was mit Mitarbeitern machen wollt, warum nutzt Ihr dann nicht, die Personaladministration von SAP? Da kann man eigentlich alles erfassen, was einen zum Mitarbeiter interessiert und dann gibt's da auch standardmäßig Möglichkeiten Dokumente zum Mitarbeiter abzulegen. Es fängt oft mit einer Kleinigkeit an und dann kommt da noch etwas dazu und dort und am Ende hat man eine riesige Eigenentwicklung, die keiner mehr überschauen kann.
Sorry, aber ich hab in meinen paar Berufsjährichen schon so viele Bastellösungen gesehen, die irgendwann den Rahmen des sinnvoll wartbaren überschritten :cry: haben, dass ich da inzwischen ziemlich allergisch drauf reagiere...

Grüße
Chris

Re: Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo!

Danke, danke ewx, das hier ist genau was ich wollte:

http://www.sdn.sap.com/irj/scn/go/porta ... 3637734936

Ich les mich mal ein. THX!!! :-)


@ChrisB.

Das geb ich dir voll und ganz Recht!!!
Ich bin froh wenn mir jemand auf die Finger klopft und mir zeigt wie das genau funktionieren soll. Ich bin allerdings noch Student und hab daher noch nicht so viel Erfahrung in ABAP.

Die Tabelle die ich dir genannt hatte, ist allerdings nur eine BEISPIELTABELLE. Zu SD - Transporten etc. kann man ja im Standard problemlos Dokumente anlegen.
Ich wollte nur mal sehen, wie ich das allerdings bei Z - Tabellen hinbekomme. In meinem Bekanntenkreis wusste leider keiner was davon....

Danke!

Viele Grüße!

Re: Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo zusammen,

ich hab mir jetzt mal das SAP Dokument angeschaut:

http://www.sdn.sap.com/irj/scn/go/porta ... 3637734936

und im SAP nachprogrammiert. (Mit Interface IFGOSXSERV)

Wenn ich nun mit dem Report ZGOS_1 z.B. eine Notiz anlege, wird diese ja abgespeichert.

Wie kann ich die Notiz dann aber zu einem späteren Zeitpunkt wieder aufrufen?

Danke!

Viele Grüße!

Re: Archivierung von Dateien

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
hi!

Meines Wissens wird die hochgeladene Datei im GOS per Objekt-Schlüssel identifiziert, den man bei der Initialisierung angeben muss.
Wenn man also Daten an z.B. einer Rechnung anängen möchte wird man als Objektschlüssel die Rechnungsnummer verwenden.
Dann sollte das GOS aber auch die bereits vorhandenen Dateien zu dem Objekt im Menü zumindest zur Anzeige anbieten.
Wenn das nicht klappt, hast du vermutlich bei der Erstellung des Objektschlüssels etwas falsch gemacht.

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: Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hi!

Ich hab nun noch ewig rumgesucht und probiert.
Die Lösung war ganz simpel.

Code: Alles auswählen.

CONSTANTS: OBJTYPE TYPE BORIDENT-OBJTYPE VALUE 'ZGOS'.
DATA: MANAGER TYPE REF TO CL_GOS_MANAGER,
      OBJ TYPE BORIDENT.

PARAMETERS: MATNR TYPE MARA-MATNR.
AT SELECTION-SCREEN OUTPUT.
"START-OF-SELECTION.

"CLEAR OBJ.
* SET OBJECT TYPE TO 'ZGOS'
OBJ-OBJTYPE = OBJTYPE.
* SET OBJECT KEY = REPORT NAME
SELECT SINGLE NAME
FROM TRDIR
INTO OBJ-OBJKEY
WHERE NAME = SY-REPID.

CREATE OBJECT MANAGER
EXPORTING
IS_OBJECT = OBJ
ip_no_commit = space
EXCEPTIONS
OTHERS = 1.
In der Doku fehlte beim Erzeugen des Objektes der Export Paramter ip_no_commit = space !! (evtl. weil hier ein anderes Interface verwendet wurde...)

Nun funktioniert es wunderbar! :-)

Ich hab allerdings noch zwei Fragen:

1.: Was bedeutet denn genau ip_no_commit?
Laut Dem Konstruktor ist der Bezugstyp SGS_CMODE. (Default 'X')

Hier sind Festwerte hinterlegt:
SGS_CMODE.JPG
Was bedeuten denn diese genau? Das versteh ich noch nicht?

Wenn ich jetzt in meinem Programm als letzte Anweisung noch commit work hinschreibe (restl. Code bleibt gleich) dann kann ich wieder keinen Anhang anzeigen lassen.

Weiß jemand warum das nicht funktioniert?
Ich dachte ein commit Befehl wird bei Änderungen automatisch nach Beenden des Programms durchgeführt und auf der DB geschrieben?



2. Frage:
Wie funktioniert denn die Speicherung der GOS genau? Wo ist denn z.B. die Notiz gespeichert? (oder wenn ich eine PDF - Datei hochladen würde??)

Danke!!

Viele Grüße!!

Re: Archivierung von Dateien

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
hi!

Der Parameter besagt, dass entweder das COMMIT WORK von der aufrufenden Applikation ('X') oder vom GOS (' ') selbst ausgelöst werden muss.
Bei Standardapplikationen ist meist diese für ein correktes COMMIT WORK zuständig, weil ja auch Verbucherbausteine beteiligt sein können, die erst bei einer vollständig korrekten Eingabe des Benutzer abgearbeitet werden dürfen. Wenn jetzt das GOS irgendwo dazwischen ein COMMIT WORK auslöst, gibt das auf der Datenbank eine ziemlichen Schiefstand, was vermutlich der Grund für deine nicht verspeicherte Notiz sein könnte.
Das GOS wird sich bei ('X') vermutlich selbst per Verbucherbaustein an das COMMIT WORK anhängen.
Was genau die Besonderheit von ('R') ist, kann ich nicht sagen, denn ein eigener Rollbereich heißt ja auch, das ein COMMIT WORK hier keine Auswirkung auf die aufrufende Applikation hat, also müsste das GOS hier selbst für den COMMIT WORK sorgen (also ' ').

Die Zusammenhänge von RFC mit der SAP-Transaktionsverwaltung verstehe ich leider selbst nicht immer ganz. Einmal heißt es, dass jeder RFC-Aufruf ein eigenes COMMIT WORK braucht bzw. durch den Aufruf/Verlassen ein implizite COMMIT ausgelöst wird und dann wieder nicht. Aber vielleicht kann dir das ja jemand anderes genauer erklären. Ich bin dazu übergegangen per Trial und Error den für die jeweilige Anwendung richtigen Ablauf zu ermitteln.
In deinem Fall hast du ja von ' ' auf 'X' umgestellt und plötzlich hat alles funktioniert.

lg ADT

EDIT:
Vielleicht wäre ja das die Erklärung:
'X' ... GOS hängt an Verbucherbaustein und wartet somit, dass die aufrufende Applikation den COMMIT WORK auslöst.
' ' ... GOS hängt an Verbucherbaustein und löst selbst den COMMIT WORK aus, damit auch die aufrufende Applikation damit abgeschlossen wird.
'R' ... GOS verwendet keinen Verbucherbaustein, sonder schreibt die Daten dirket mit INSERT/UPDATE/DELETE auf die Datenbank und verlässt sich auf einen impliziten COMMIT. Welcher ja bei Dynprowechsel, Funktionsbausteinaufruf oder verlassen des Programms ausgelöst wird.
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: Archivierung von Dateien

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
Hoppla! Die zweite Frage hab ich ja ganz übersehen:
Die Daten werden in irgendwelchen SAP Tabellen abgelegt (Blackbox).
Ich vermute aber das für PDF-Dateien der BDS (Buisness Document Service) verwendet wird.
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: Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo!

Danke noch mal für die Hilfe!

Ich hab aber nun noch eine Frage:
Wie kann ich denn die Attachments löschen?

Ich hab es schon mit der Methode DELETE_NOTE (Für Notizen) der Klasse cl_gos_document_service versucht, aber es hat leider nicht geklappt...

Weiß denn jemand wie das funktionieren soll?

Code: Alles auswählen.

CALL METHOD I_ATTRSV->DELETE_NOTE
  EXPORTING
   IS_OBJECT = objekt
*    IS_LPORB  =
    IP_NOTE   = 'ABC'
Objekt enhtält den Typen des GOS und den key (ABC)
IP_Note enthält auch den Key.

Die Notiz wurde nicht gelöscht und auch ein Eintrag in der Tabelle SRGBTBREL wurde nicht entfernt....

Wie funktioniert das denn dann? :-)

Danke!

Viele Grüße!

Re: Archivierung von Dateien

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hi!

fehlt nach dem I_ATTRSV->DELETE_NOTE eventuell ein COMMIT WORK?
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Archivierung von Dateien

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo!

Den Commit hab ich eingefügt, aber es funktioniert trotzdem nicht.

In der Methode Delete Note wird die Funktion call function 'BINARY_RELATION_DELETE' aufgerufen.

Hier liefert dann der sy-subrc = 1.

Irgendwas muss falsch sein, aber ich weiß nicht was...

Woran könnte es denn sonst noch liegen? Ich gebe den Typ des GOS mit und den Wert des entsprechenden Schlüsselfeldes das gelöscht werden soll...

Danke!

Gruß

Re: Archivierung von Dateien

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Mark33 hat geschrieben: In der Methode Delete Note wird die Funktion call function 'BINARY_RELATION_DELETE' aufgerufen.

Hier liefert dann der sy-subrc = 1.

Irgendwas muss falsch sein, aber ich weiß nicht was...

Woran könnte es denn sonst noch liegen? Ich gebe den Typ des GOS mit und den Wert des entsprechenden Schlüsselfeldes das gelöscht werden soll...
Ein Sy-Subrc <> 0 muss nicht immer ein Fehler bedeuten.

In Deinem Fall bedeutet der Sy-Subrc = 1, dass der Eintrag den Du loeschen wolltest nicht existiert (so weit ich das sehe).

Vergleichbare Themen

0
Antw.
1246
Views
Archivierung PDF
von Trudel84 » 13.09.2006 12:43 • Verfasst in ABAP® für Anfänger
0
Antw.
1236
Views
Archivierung mit PBS
von stoi » 24.01.2005 11:23 • Verfasst in Basis
3
Antw.
1600
Views
archivierung
von joachim » 09.11.2005 15:22 • Verfasst in Basis
0
Antw.
1138
Views
Archivierung
von ralle » 18.01.2007 14:18 • Verfasst in Basis
1
Antw.
2054
Views
SAPscript Archivierung
von Birkel » 07.12.2005 16:05 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 3 Stunden von msfox 18 / 10887
Dialog-Container mit Toolbar/Status
vor 5 Stunden von black_adept gelöst 27 / 4003
IT0024 Qualifikationen CP-ID
vor 7 Stunden von ArjenR 1 / 62

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

Trennen Strasse und Hausnummer
vor 3 Stunden von msfox 18 / 10887
Dialog-Container mit Toolbar/Status
vor 5 Stunden von black_adept gelöst 27 / 4003
IT0024 Qualifikationen CP-ID
vor 7 Stunden von ArjenR 1 / 62

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 7 Stunden von ArjenR 1 / 62
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2995
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9583