Code: Alles auswählen.
data:
wa_ELEMENT_SP_POID type BAPIPROPTB,
wa_ELEMENT_PROPERTIES type BAPIPROPTB,
wa_ELEMENT_VISIBILITY type BAPIPROPTB,
element_sp_poid type standard table of BAPIPROPTB,
element_properties type standard table of BAPIPROPTB,
wa_insertion_by_modelid type BAPISRMREC_MODELIDINS,
return like BAPIRET2.
* Fill SP POID table
start-of-selection.
CLEAR element_sp_poid.
wa_element_sp_poid-NAME = 'DOC_ID'.
** Dokumenten ID = Eindeutige Bezeichung des Elements
**(kann auch sein, dass hier die Bezeichnung hin muss
wa_element_sp_poid-VALUE = '03F65C4630552864E1000000AC15C293'.
APPEND wa_element_sp_poid TO element_sp_poid.
** Variante des einzufügenden Elements z.B. 0
wa_element_sp_poid-NAME = 'VARIANT'.
wa_element_sp_poid-VALUE = '0'.
APPEND wa_element_sp_poid TO element_sp_poid.
** Version des einzufügenden Elements z.B. 0
wa_element_sp_poid-NAME = 'VERSION'.
wa_element_sp_poid-VALUE = '2'.
APPEND wa_element_sp_poid TO element_sp_poid.
* Fill element properties table
CLEAR element_properties.
** Anfügen freier Attribute zum Element
wa_element_properties-NAME = 'MY_PROPERTY_NAME'.
wa_element_properties-VALUE = 'MY_PROPERTY_VALUE'.
APPEND wa_element_properties TO element_properties.
*insert by modelid
**Model id des Aktenmodels
wa_insertion_by_modelid-MODEL_ID = 'D7F85C462E55770CE1000000AC15C293'.
**'D7F85C462E55770CE1000000AC15C293' '3DFC5C462E55770CE1000000AC15C293'
** Knoten ID des Knotens unter dem das Element eingefügt werden soll
wa_insertion_by_modelid-PARENT_NODE_ID = '3'.
*********************************************************************
** add element
CALL FUNCTION 'BAPI_RECORD_ADDELEMENT'
EXPORTING
** ID der Akte
** wird über den Debitor ermittelt
** d.h. ein neues Dokument wird immer abhängig vom Debitor angelegt
** Der Wert ist als Dokument-ID über den Records Browser zu finden
** ZRMSR04 E1A55C462F0C790CE1000000AC15C293
objectid = 'E1A55C462F0C790CE1000000AC15C293'
** Content Modell der Akte, ist die Dokumentklasse, die bei der
** Elementart der Akte als Connection Parameter ZRMSR04 eingetragen ist
** oder oder die Elementart ID z.B. Z_RM_MIETAKT (hier gibts Fehler)
DocumentClass = 'ZRMSR04'
** Elementart des einzufügenden Elements
** ist abhängig davon, welche Art von Element eingefügt werden soll
** z.B. MS-Word, Business Objekt, Report, Transaktion...
** Ich vermute hier kommt die Elementart-ID (Z_RM_MIETAKTDOC) rein oder
** ZRMSR03 = die ID des Content-Models hinter der Elementart
sps_id = 'Z_RM_MIETAKT'
** Wert des Attributs ANCHOR an einer bestimmten Stelle der Akte
** dieser muss belegt sein
anchor = 'Schriftverkehr'
** Beschreibungstext für das einzufügende Element
description = 'Testdokument eingefügt mit ABAP'
** Versionierung, wenn Flag gesetzt
** store_as_new_version
** insertion_by_modelid = wa_insertion_by_modelid
IMPORTING
return = return.
** Tables
** element_sp_poid = element_sp_poid
** element_properties = element_properties.
write: return-message,
return-type.
Code: Alles auswählen.
* Store document into selected record
* Definition of local data types for DOC_ID
types: begin of ty_doc_id,
docclass type bapisrmdoc-docclass,
objectid type bapisrmdoc-guid,
end of ty_doc_id.
* Structure of the correct Document-ID
data: ls_doc_id type ty_doc_id,
lt_sp_poid type standard table of bapiproptb,
ls_sp_poid type bapiproptb,
ls_return like bapiret2,
ls_insertion_by_anchor type bapisrmrec_anchorins.
clear: lt_sp_poid, ls_doc_id, ls_doc_id.
ls_doc_id-docclass = 'ZRMSR03'.
** Document Class des einzufügenden Dokumentes
ls_doc_id-objectid = '42B35C4630552864E1000000AC15C293'.
** Objektid des einzufügenden Dokumentes
clear: ls_sp_poid. " clear weg und ls_sp_poid clearen
ls_sp_poid-name = 'DOC_ID'.
ls_sp_poid-value = ls_doc_id.
** Document Class und Objektid als Struktur des Dokumentes
append ls_sp_poid to lt_sp_poid.
clear: ls_doc_id.
ls_sp_poid-name = 'VARIANT'.
ls_sp_poid-value = '0'.
append ls_sp_poid to lt_sp_poid.
clear: ls_doc_id.
ls_sp_poid-name = 'VERSION'.
ls_sp_poid-value = '0'.
append ls_sp_poid to lt_sp_poid.
clear: ls_insertion_by_anchor.
ls_insertion_by_anchor-parent_node_id = '6'.
call function 'BAPI_RECORD_ADDELEMENT'
exporting
objectid = 'E1A55C462F0C790CE1000000AC15C293'
** Objectid der Akte
documentclass = 'ZRMSR04'
** Document Class der Akte
sps_id = 'Z_RM_MIETAKTDOC'
** Einzufügende Elementart
anchor = 'Schriftverkehr'
** Im Aktenmodell hinterlegt beim Modellknoten
description = 'Test eingefügt aus ABAP'
** Beschreibung des Dokumentes in der Akte
element_type = 'I'
** Instanz
importing
return = ls_return
tables
element_sp_poid = lt_sp_poid.
write: ls_return-message,
ls_return-type.