Anlegen eines einfachen Verbuchungsfunktionsbausteins

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Hallo zusammen,

ich möchte vom Archiv Objekte löschen hierfür möchte ich die Funktion DELETE_AO in einen Verbuchungsfunktionsbaustein einbauen. Ich mache dies jetzt zum ersten mal. Ich würde in meinem Verbuchungsbaustein den Fuba DELETE_AO einbauen.

Wie müsste meine FUBA aussehen?

Reicht es einfach einen FUBA anzulegen un din den Eigenschaften Verbuchung anzukreuzen.

Soll ich dann die Funktion mit CALL FUNCTION ... IN UPDATE TASK aufrufen?

Wo müsste ich die Anweisung COMMIT WORK setzen?

Über ein kleines Beispiel wäre ich Dankbar.

Viele Grüße
Kaim

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


Re: Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Neuen FuBa anlegen.
Eigenschaft "Verbucherbaustein" auswählen.
Im Coding den Aufruf von DELETE_AO einbauen.

Wichtig: Die Parameter dürfen bei Verbucherbausteinen nicht "generisch" (kein LIKE usw.) sein. Am Besten Datentypen aus dem DDIC mit TYPE verwenden.

Dann im Programm, wo die Löschung vollzogen werden soll, den neuen Funktionsbaustein mit IN UPDATE TASK aufrufen und danach das COMMIT WORK ausführen, um die Verbuchung zu starten.

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: Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Guten Morgen,

ich habe jetzt meinen Verbucherfunktionsbaustein aufgebaut:
In der Eigenschaften Verbuchungsbaustein mit Start sofort angeklickt. Diese ist wie folgt definiert:

FUNCTION Y_P_DEL_1.
*"----------------------------------------------------------------------
*"*"Verbuchungsfunktionsbaustein:
*"
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(CMS1) TYPE SE1-V1
*" VALUE(CMS2) TYPE SE1-V2
*" VALUE(OBJ_ID) TYPE SE1-V3
*"----------------------------------------------------------------------

IF CMS1 IS NOT INITIAL.
DELETE FROM t1D WHERE sap_object = 'APL'
AND ob_id = OBJ_ID
AND dc_id = CMS1
AND arid = CMS2.
ENDIF.
ENDFUNCTION.

Wenn ich diese Funktion per

IF sy-subrc = 0.
CALL FUNCTION Y_P_DEL_1' IN UPDATE TASK
EXPORTING
cms1= document-cms_doc_id
cms2= document-cms_crep_id
obj_id = obj_id.
COMMIT WORK.
ENDIF.

aufrufe, kommt die Meldung "Verbuchung wurde abgebrochen".
Diese meldung kommt auch dann, wenn ich COMMIT WORK wegnehmen. Daraufhin haben ich das Delete in die Methode eingebaut. Dann macht er es.

Fehlt bei mir noch etwas?

Viele Grüße
Kaim

Re: Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
hi!

Schau mal die ST22 bzw. die SM13 durch, warum die Verarbeitung abgebrochen wurde.
Vermutlich hast du einen Fehler in deinem (Verbucher-)Funktionsbaustein.

Ohne jetzt deine Datentypen (SE1-V1 bis SE1-V3) zu kennen, würde ich auf einen IMPORT_PARAMETER_TYPE_MISMATCH Fehler tippen:
Sprich die Typen von Parameter "cms1" und der Variable "document-cms_doc_id" passen nicht zusammen.
Deto auch "cms2"/"document-cms_crep_id" sowie "obj_id"/"obj_id".

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: Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Hallo,

ich habe folgende Fehlermeldung:
CONNE_IMPORT_WRONG_OBJECT_TYPE
Fehler bei IMPORT des Objekts "CMS2"

ich werde versuchen, den Typ umzuändern.

Danke für die Info.
Kaim

Re: Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Hallo,

ich habe noch eine Frage. Was würde passieren, wenn ich das COMMIT WORK hier weglassen würde?

IF sy-subrc = 0.
CALL FUNCTION Y_P_DEL_1' IN UPDATE TASK
EXPORTING
cms1= document-cms_doc_id
cms2= document-cms_crep_id
obj_id = obj_id.
COMMIT WORK.
ENDIF.

Viele Grüße
Kaim

Re: Anlegen eines einfachen Verbuchungsfunktionsbausteins

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Der Verbucherbaustein wird NICHT aufgerufen.
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

Seite 1 von 1

Vergleichbare Themen

2
Antw.
7354
Views
Einfachen Anführungsstrich in String ersetzen
von kbit100 » 07.05.2008 08:55 • Verfasst in ABAP® für Anfänger
11
Antw.
868
Views
Zeichnen von einfachen Formen in einem Report
von Kudert777 » 11.01.2020 11:28 • Verfasst in ABAP® für Anfänger
2
Antw.
5608
Views
PDF aus einer ganz einfachen Liste erzeugen ???
von wexpress » 16.01.2007 17:30 • Verfasst in ABAP® für Anfänger
2
Antw.
2384
Views
SAP-GP anlegen
von asap » 08.01.2008 10:38 • Verfasst in ABAP® Core
5
Antw.
4928
Views
Transaktion anlegen
von km216 » 01.11.2011 09:57 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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.