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 / 4486 / 231 / 1206 ) »
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 / 4486 / 231 / 1206 ) »
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 / 4486 / 231 / 1206 ) »
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

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 71179
Stücklisten
vor einer Woche von Selma.schwarz 1 / 72722
Belege
vor einer Woche von Selma.schwarz 1 / 70712

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.

Vergleichbare Themen

Einfachen Anführungsstrich in String ersetzen
von kbit100 » 07.05.2008 08:55
PDF aus einer ganz einfachen Liste erzeugen ???
von wexpress » 16.01.2007 17:30
Zeichnen von einfachen Formen in einem Report
von Kudert777 » 11.01.2020 11:28
SAP-GP anlegen
von asap » 08.01.2008 10:38
Texttabelle anlegen, wie?
von tomcat13 » 23.07.2007 11:55

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 71179
Stücklisten
vor einer Woche von Selma.schwarz 1 / 72722
Belege
vor einer Woche von Selma.schwarz 1 / 70712

Unbeantwortete Forenbeiträge

Stücklisten
vor einer Woche von Selma.schwarz 1 / 72722
Belege
vor einer Woche von Selma.schwarz 1 / 70712