GOS Attachments anzeigen

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

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

GOS Attachments anzeigen

Beitrag von ewx (Top Expert / 4782 / 294 / 628 ) »
Hallo zusammen!
Ich habe eine Anwendung bei der ich die Generic Object Services nutze.

Code: Alles auswählen.

DATA go_gos              TYPE REF TO cl_gos_manager.
    CREATE OBJECT go_gos
      EXPORTING
        is_object            = ls_object
        ip_mode              = lv_ip_mode
        ip_no_commit         = ' '
        it_service_selection = lt_service
      EXCEPTIONS
        OTHERS               = 1.
Bei dem Aufruf verbirgt sich schon ein Teil meiner Frage: IP_NO_COMMIT = SPACE. Aber gleich mehr.
Mithilfe des folgenden Aufrufs kann man die Objektliste in einem eigenen Container anzeigen:

Code: Alles auswählen.

  go_gos->display_toolbox(
       io_container      = go_container
       ip_service        = 'VIEW_ATTA'      ).
In diesem Container können alle Befehle ausgeführt werden, die auch im GOS-Menu "Anlagenliste" ausgeführt werden können, zum Beispiel "Anlagen löschen".
Wenn ich über das GOS-Menü gehe, dann werden die Anlagen sofort gelöscht.
Wenn ich über meine im Container eingebundene Anlagenliste Anlagen lösche, dann werden die Änderungen nicht gespeichert. Es muss also wohl noch ein COMMIT WORK ausgeführt werden.
1. Wie bekomme ich heraus, dass z.B. Anlagen gelöscht wurden?
2. Wie auch immer: reicht dann ein COMMIT WORK oder muss ein spezieller Aufruf erfolgen?

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


Re: GOS Attachments anzeigen

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin Enno.
Wenn ich über meine im Container eingebundene Anlagenliste Anlagen lösche, dann werden die Änderungen nicht gespeichert. Es muss also wohl noch ein COMMIT WORK ausgeführt werden.
1. Wie bekomme ich heraus, dass z.B. Anlagen gelöscht wurden?
2. Wie auch immer: reicht dann ein COMMIT WORK oder muss ein spezieller Aufruf erfolgen?
Zu1
Wenn intern abgelegt:

Code: Alles auswählen.

* get all links to the attached documents
  TRY.
      CALL METHOD cl_binary_relation=>read_links
        EXPORTING
          is_object           = lo_is_object_a
          it_relation_options = lt_rel
        IMPORTING
          et_links            = lt_links.

    CATCH cx_root .
      retcode = 1.
  ENDTRY.
Wenn Archiv:
Eintrag in der TOA01 prüfen, oder Baustein SCMS_AO_STATUS


Zu 2
In dem Pflegeview SGOSATTR ist in den Details hinterlegt, ob der Commit work erzeugt wird, ober nicht.
Da bei VIEW_ATTA commit required angehakt ist, mußt Du wohl für den commit sorgen (so'n ganz normaler hat bei mir gereicht :wink: ).

lg Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
ewx

<:: 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: GOS Attachments anzeigen

Beitrag von ewx (Top Expert / 4782 / 294 / 628 ) »
Tron hat geschrieben:Da bei VIEW_ATTA commit required angehakt ist, mußt Du wohl für den commit sorgen (so'n ganz normaler hat bei mir gereicht :wink: ).
Hallo Jens,
danke für deine Hilfe! Allerdings:
1. hatte ich eigentlich gehofft, dass ich nicht vorher alle Anlagen lesen und sie bei Programmende nachlesen muss um herauszubekommen, ob eine Anlage gelöscht oder hinzugefügt wurde.
2. Kommt es bezüglich COMMIT auf den Kontext an. Wenn du im GOS-Menü die Anlagenliste aufrufst, dann muss ja auch keine expliziter COMMIT mehr erfolgen.
3. Ich habe noch eine andere Lösung mit CL_GOS_ATTACHMENTS und CL_BROWSER_ITEM gefunden:

Code: Alles auswählen.

CLASS lcl_appl DEFINITION.
  PUBLIC SECTION.
    METHODS on_commit_required FOR EVENT commit_required OF cl_gos_attachments.

ENDCLASS.

CLASS lcl_appl IMPLEMENTATION.
  METHOD  on_commit_required.
    BREAK-POINT.
    COMMIT WORK.
  ENDMETHOD.
ENDCLASS.


DATA gs_borident         TYPE borident.
DATA go_docker           TYPE REF TO cl_gui_docking_container.
DATA go_attachments      TYPE REF TO cl_gos_attachments.
DATA go_bitem            TYPE REF TO cl_browser_item.

data go_appl             type REF TO lcl_appl.
PARAMETERS p.

START-OF-SELECTION.

INITIALIZATION.
  create object go_appl.

AT SELECTION-SCREEN.

  check go_docker is initial.

  gs_borident-objkey  = '<<key>>'.
  gs_borident-objtype = '<<type>>'.

  CREATE OBJECT go_docker
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_bottom
      ratio                   = 50
      no_autodef_progid_dynnr = abap_true.

  CREATE OBJECT go_bitem TYPE cl_sobl_bor_item
    EXPORTING
      is_bor = gs_borident.

  CREATE OBJECT go_attachments
    EXPORTING
      io_object      = go_bitem
      ip_check_arl   = 'X'
      ip_check_bds   = 'X'
      io_container   = go_docker
      ip_mode        = 'E'
      ip_notes       = 'X'
      ip_attachments = 'X'
      ip_urls        = 'X'.

  set handler go_appl->on_commit_required for go_attachments.

  go_attachments->display( ).
Ich hoffe einfach mal, dass ich durch Angabe des jeweils gleichen Objektschlüssels auch auf das gleiche GOS-Objekt zurückgeggriffen wird...

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1458
Views
GOS-Attachments an Beleg
von ralf.wenzel » 06.02.2014 15:13 • Verfasst in ABAP Objects®
0
Antw.
834
Views
Travelmanagement - Attachments zu Antrag
von joyeux » 24.04.2009 16:30 • Verfasst in Financials
2
Antw.
1565
Views
Datenübernahme: Übernahme der Attachments für Dokumente
von Besi » 09.03.2005 16:32 • Verfasst in ABAP® Core
2
Antw.
1652
Views
GOS Menü auf eigenem Dynpro, Upload von Attachments aber inaktiv
von Romaniac » 26.11.2021 10:28 • Verfasst in Dialogprogrammierung
1
Antw.
4467
Views
PDF aus SAP anzeigen
von Tonsilgon » 16.09.2013 16:27 • Verfasst in Dialogprogrammierung

Ü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.