Ansicht
Dokumentation

BAPI_DOCUMENT_CHANGE2 - Dokument ändern

BAPI_DOCUMENT_CHANGE2 - Dokument ändern

Fill RESBD Structure from EBP Component Structure   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Mit diesem Funktionsbaustein können Sie Dokumentinfosätze ändern und Originaldateien in die SAP-Datenbank, in einen Tresor oder in ein Archiv einchecken.

Einschränkungen

  • Massen-CheckIn wird nicht unterstützt
  • Mit der Tabelle DocumentStructurekönnen Sie eine evtl. vorhandene Dokumentstückliste erweitern bzw. eine neue anlegen.

Die Objekte des Änderungsdienstes (DOCBOMCHANGENUMBER, DOCBOMVALIDFROModer DOCBOMREVISONLEVEL) beziehen sich ausschließlich auf die Bearbeitung der Dokumentstückliste. Um die eigentlichen Änderungen zu finden, löst das System bei der Eingabe einer Änderungsnummer zunächst eine eventuell vorhandene Stückliste zum entsprechenden Gültigkeitsdatum auf und vergleicht die existierenden Positionen mit den unter DocumentStructure angegebenen. Wird keine Bewertung der Änderungsobjekte vorgenommen, gelten die Positionen in der Tabelle DocumentStructureals der neue Stand der Stückliste zum Tagesdatum. Um alle Positionen einer Stückliste zu löschen, kann eine Dokumentstruktur mit genau einem Eintrag übergeben werden, dessen Löschkennzeichen aktiv ist und der die Dokumentnummer '*' enthält.

Die Dokumentschlüsselfelder sind ebenfalls Schlüssel für die Stücklistenpositionen. Ein Dokument darf nicht an mehreren Positionen verwendet werden.

Hinweise

Folgende Daten können außer den Dokumentdaten noch geändert werden:

  • Objektverknüpfungen
    Wenn Sie den SAP 3D Visual Enterprise Viewer integriert haben, können Sie mit diesem BAPI Objektverknüpfungen zu Arbeitsplänen und Instandhaltungsaufträgen anlegen, um Ersatzteile als 2-D-Bilder und 3-D-Szenen darzustellen und visuelle Arbeitsanleitungen abzuspielen. Weitere Informationen erhalten Sie in der Dokumentation zum Parameter OBJECTLINKS.
  • Klassifizierungen und Merkmalbewertungen
  • Dokumenten-Langtexte
  • Dokumentenstrukturen (Dokumentenstückliste)
  • Originale

Beispiel

Beispielprogramm

*************

**benötigte Variablen definieren

************

* Dokumentendaten (Nummer, Version, Änderungsnummer etc.)

* mit denen das Objekt eindeutig identifiziert wird

DATA: ls_doc LIKE bapi_doc_draw2,

* Kennzeichen für Änderungsrelevanz

ls_docx LIKE bapi_doc_drawx2,

* Bapi-Returnstruktur

ls_return LIKE bapiret2,

* Originale

lt_files LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE,

* Kurztexte

lt_drat LIKE bapi_doc_drat OCCURS 0 WITH HEADER LINE,

* Objektverknüpfungen

lt_drad LIKE bapi_doc_drad OCCURS 0 WITH HEADER LINE.

*******************************************

** Zuweisen der Dokumentdaten (welches Dokument soll geändert werden)

******************************************

ls_doc-documenttype = 'DRW'.

ls_doc-documentnumber = 'DOKUMENTNUMMER'.

ls_doc-documentversion = '00'.

ls_doc-documentpart = '000'.

************************************************************************

**1. Beispiel:

** Änderung an den DIS- Daten durchführen

*a) Löschmarkierung setzen

*ein 'X' setzen, um anzuzeigen, dass Änderung auch geändert wird

ls_docx-deleteindicator = 'X'.

*Änderung durchführen

ls_doc-deleteindicator = 'X'.

*b) Neue Werte für Deskription und laboratory setzen

*neue Werte einschreiben

ls_doc-description = 'Getriebe'.

ls_doc-laboratory = '002'.

*ein 'X' setzen um anzuzeigen,dass Änderung besteht

ls_docx-description = 'X'.

ls_docX-laboratory = 'X'.

************************************************************************

*2. Beispiel: Objektverknüpfungen

*a) Objektverknüpfungen hinzufügen

*interne Tabelle und Kopfzeile bereinigen

CLEAR lt_drad.

REFRESH lt_drad.

*Objekttyp und Objektschlüssel an interne Tabelle lt_drad anhängen

lt_drad-objecttype = 'MARA'.

lt_drad-objectkey = '0817'.

APPEND lt_drad.

*b) bestehende Objektverknüpfungen löschen

*deletevalue muss gesetzt werden, um diesen bestimmten nachfolgenden *Datensatz zu löschen

lt_drad-DELETEVALUE = 'X'.

lt_drad-objecttype = 'MARA'.

lt_drad-objectkey = '0817'.

APPEND lt_drad.

************************************************************************

*4. Beispiel: Originale

*a) Originale hinzufügen

* Ablagekategorie festlegen in diesem Bsp 'SAP-DB'

lt_files-storagecategory = 'DMS_C1_ST'.

*Original festlegen das hochgeladen wird

lt_files-docfile = 'n:\handout.doc'.

*Falls das Original in die alte Ablage eingecheckt werden soll muß hier zusätzlich

* die Zuweisung

* lt_files-originaltype = '1'. " oder '2' erfolgen

append lt_files.

********************************************************************

** BAPI aufrufen, der das Dokument ändert

********************************************************************

CALL FUNCTION 'BAPI_DOCUMENT_CHANGE2'

EXPORTING: documenttype = ls_doc-documenttype

documentnumber = ls_doc-documentnumber

documentpart = ls_doc-documentpart

documentversion = ls_doc-documentversion

documentdata = ls_doc

documentdatax = ls_docx

IMPORTING: return = ls_return

TABLES: objectlinks = lt_drad

documentfiles = lt_files.

** Fehler aufgetreten?

IF ls_return-type CA 'EA'.

ROLLBACK WORK.

MESSAGE ID '26' TYPE 'I' NUMBER '000'

WITH ls_return-message.

ELSE.

**damit die Änderungen auch gespeichert werden, braucht man ein:

COMMIT WORK.

ENDIF.

###################################################################################################################################





Parameter

ACCEPT_EMPTY_BOM
CAD_MODE
CHARACTERISTICVALUES
CLASSALLOCATIONS
COMPONENTS
DOCBOMCHANGENUMBER
DOCBOMREVISIONLEVEL
DOCBOMVALIDFROM
DOCUMENTDATA
DOCUMENTDATAX
DOCUMENTDESCRIPTIONS
DOCUMENTFILES
DOCUMENTNUMBER
DOCUMENTPART
DOCUMENTSTRUCTURE
DOCUMENTTYPE
DOCUMENTVERSION
HOSTNAME
LONGTEXTS
OBJECTLINKS
PF_FTP_DEST
PF_HTTP_DEST
RETURN
SENDCOMPLETEBOM

Ausnahmen

Funktionsgruppe

CVBAPI

Vendor Master (General Section)   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11556 Date: 20240523 Time: 095827     sap01-206 ( 107 ms )