Elektronische Kontoauszug - Userexit -

Elektronische Kontoauszug - Userexit -

Postby Elia362 » Mon May 26, 2003 10:24 am

Hallo,

ich bin dabei bei uns den elektronischen Kontoauszug zu realisieren. Die Daten bekommen wir im MT940-Format und die Bank liefert ein GVC, was bei uns in Abhängigkeit von dem verwendungszweck verschieden gebucht wird. D.h. aus einem GVC wird in Abhängigkeit von dem Verwendungszweck drei verschiedene Buchungsregel. Ist es richtig, daß es nur über Usere-Exit realisierbar ist. Wenn ja, wie gehe ich vor. Ich würde es sehr toll finden, wenn einer mir ein Codingbeispiel zukommen läßt.

Danke im Voraus

Aslan
Elia362
.
.
 
Posts: 2
Joined: Mon May 26, 2003 10:24 am

Postby Walter4536 » Mon May 26, 2003 4:04 pm

Hallo Aslan,

Du kannst pro externem Vorgang (bzw. GVC) nur eine Buchungsregel (pro Vorzeichen) hinterlegen, d.h. maximal 2 Buchungsregeln pro GVC (je nachdem ob Zahlungseingang oder -ausgang).

Das bedeutet, dass Du auf jeden Fall den UserExit implementieren musst, denn dort muß zunächst der Verwendungszweck ausgewertet werden und dann in Abhängigkeit davon ein GVC (oder auch direkt eine Buchungsregel) zugeordnet werden.

Implementiert werden muss dann der exit (exit_rfebbu10_001):
In der Schnittstelle wird folgendes übergeben:

Importing-Parameter:
I_FEBEP (Kontoauszugsposten)
I_FEBKO (Kontoauszugskopf)
Diese Parameter können im Exit ausgewertet werden.

Exporting-Parameter:
E_FEBEP
E_FEBKO
Diese Parameter sollten die veränderten Werte enthalten.

Tables-Parameter:
T_FEBCL (Clearing-Informationen)
T_FEBRE (Verwendungszweck)
Diese Parameter können im Exit ausgewertet werden.

Wenn Du also in Abhängigkeit des Verwendungszwecks eine Auswertung machen möchtest, mußt Du einen Loop über die Tabelle FEBRE machen.

Also z.B.:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. loop at t_febre in ls_febre where kukey = I_FEBEP-kukey.
  2.  if ls_febre-VWEZW cp '*suchstring*'.
  3.     I_FEBEP-VORGC= '078'. <- Neuer GVC
  4.     I_FEBEP-VGINT = '0007'. <-Neue Buchungsregel
  5.  elseif ls_febre-vwezw cp 'anderersuchstring*'.
  6. * Zuordnung neue Buchungsregel
  7.  elseif ...
  8. * Zuordnung neue Buchungsregel
  9.  
  10.  
GeSHi ©


Die beiden Anweisungen
I_FEBEP-VORGC= '078'. <- Neuer GVC
I_FEBEP-VGINT = '0007'. <-Neue Buchungsregel
schliessen sich gegenseitig aus.
Also entweder eine neue Buchungregel zuordnen oder einen anderen GVC!
So in etwa müßte es aussehen.

Gruß,
Steff
Walter4536
...
...
 
Posts: 315
Joined: Mon Dec 02, 2002 12:09 pm

Vielen Dank für die schnelle Antwort

Postby Elia362 » Mon May 26, 2003 4:46 pm

Hi Steff,

herzlichen Dank für die schnelle Antwort. Damit konnte ich echt etwas anfangen.

Grüße

Aslan
Elia362
.
.
 
Posts: 2
Joined: Mon May 26, 2003 10:24 am

Postby Isabelle601 » Tue Jul 20, 2004 11:23 am

Hallo,

ich bin noch sehr neu auf diesem Gebiet.

Was ist denn KUKEY ? Schlüssel des Kontoauszugsposten ?
Woher weiß ich, welche User Exits es für dieses Thema gibt ?
Wo finde ich da eine Übersicht ?
Wo finde ich dann überhaupt den User-Exit, so dass ich da dann implementieren kann ?
Oder ist ein User-Exit eine Stelle im Programm, die mit einem
speziellen Namen gekennzeichnet ist (Name des User-Exits) und
ich muss ein Programm anlegen bzw. das Programm mit dem User-Exit Namen bearbeiten ?
Kann mich da jemand bitte aufklären ?
Ich muss demnächst nämlich das Einlesen der elektr. Kontoauszüge implementieren,
aber ich habe gar keine Vorstellung, wo ich da anfangen soll ?

Jedenfalls habe ich ähnlichen Sachverhalt wie Aslan.
Vielleicht kan mir ja jemand helfen :?
Besten Dank und beste Grüße,
Blueshape
Isabelle601
...
...
 
Posts: 346
Joined: Mon May 31, 2004 12:16 pm

Postby Alva1590 » Tue Jul 20, 2004 11:44 am

Der Kukey ist der interne Schlüssel des Kontoauszugs. Den benötigt man selten, meist dann, wenn man Zusatzfunktionalität entwickeln möchte.
Der User-Exit in diesem Bereich ist die Erweiterung FEB00001 und die findet man über die Transaktion CMOD (damit lässt sich ein entsprechendes Projekt für den User-Exit anlegen).
Das ist der einzig relevante User-Exit in diesem Bereich, d.h. wenn es etwas zu ändern od. zu erweitern gibt, dann nimmt man diesen Exit!
Die Implementierung ist über die CMOD recht einfach. Projekt anlegen, Erweiterung zuordnen, Doppelklick auf die Erweiterung und man gelangt ins entsprechende Coding. Dort muss der Z-Include angelegt werden und dann kann man mit der Programmierung auch schon loslegen.

Wieso musst Du das Einlesen des Kontoauszugs implementieren? Das Einlesen passiert automatisch (Transaktion FF.5). Man gibt dort an um welches Format es sich handelt und wo die Files (Kontoauszugsdateien) abgelegt sind. Den Rest macht das Kontoauszugsprogramm.

Den Exit muss man nur dann nutzen, wenn es spezielle Anforderungen gibt, die man im Standard nicht abdecken kann. Ich würde vorschlagen, die Dokumentation zum el. Kontoauszug lesen, den Kontoauszug vom Customizing her entsprechend einrichten. Wenn dann noch spezielle Anforderungen bestehen bzw. wenn Du dann noch Fragen/Probleme hast, kannst Du hier gerne posten. Wenn möglich, werde ich Dir Deine Fragen beantworten.
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Isabelle601 » Tue Jul 20, 2004 6:25 pm

Hallo,

erstmal vielen, vielen Dank für die Hilfe.
Jedoch komme ich damit nicht klar.
Ein Projekt mit der Erweiterung FEB00001 ist schon angelegt worden.
Wenn ich mir die Erweiterungen anzeigen lasse, sehe ich auch den Eintrag FEB0001, aber wenn ich einen Doppelklick darauf mache, komme ich leider nicht ins Coding. Es passiert leider gar nichts.
Wie komme ich ins Coding von dieser Erweiterung.

Wenn ich mir die Komponenten zu diesem Projekt ansehe, dann steht da auch noch was von Funktionsexit EXIT_RFEBBU10_001.
In welchem Zusammenhang steht das zu dem angelegten Projekt.

Es geht bei mir darum, dass ich an Hand des Verwendungszwecks herausfinden möchte welchen GVC ich dieser Buchung gebe.

Ich hoffe, Du kannst mir helfen.
Blueshape
Isabelle601
...
...
 
Posts: 346
Joined: Mon May 31, 2004 12:16 pm

Postby Isabelle601 » Tue Jul 20, 2004 6:35 pm

Ich bin mal in das Teil, ich glaube es ist ein Funktionsbaustein, EXIT_RFEBBU10_001 gegangen.
Da finde ich Coding: (unter anderem einen INCLUDE.
Hätte ich da an diese Stelle meinen INCLUDE hinplazieren müssen ?
Also hat da wohl schon jemand aus der Firma mal einen INCLUDE hinterlassen ?

FUNCTION EXIT_RFEBBU10_001.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_FEBEP) LIKE FEBEP STRUCTURE FEBEP
*" VALUE(I_FEBKO) LIKE FEBKO STRUCTURE FEBKO
*" VALUE(I_TESTRUN) TYPE XFLAG
*" EXPORTING
*" VALUE(E_FEBEP) LIKE FEBEP STRUCTURE FEBEP
*" VALUE(E_FEBKO) LIKE FEBKO STRUCTURE FEBKO
*" VALUE(E_MSGTEXT) LIKE FEBMKA-MESSG
*" VALUE(E_MSGTYP) LIKE FEBMKA-MSTYP
*" VALUE(E_UPDATE) LIKE FEBMKA-MSTYP
*" TABLES
*" T_FEBCL STRUCTURE FEBCL
*" T_FEBRE STRUCTURE FEBRE
*"----------------------------------------------------------------------

INCLUDE ZXF01U01.

ENDFUNCTION.

Wozu gibt es diese Erweiterung ?
Würde nicht dieser EXIT_RFEBBU10_001 reichen ?

Gruß
Blueshape
Isabelle601
...
...
 
Posts: 346
Joined: Mon May 31, 2004 12:16 pm

Postby Isabelle601 » Tue Jul 20, 2004 6:48 pm

Hallo nochmal,

irgendwie raff ich hier gar nichts.
Der Code von dem Funktionsbaustein ist als Kommentartext gekennzeichnet.
Wird er also nicht benutzt ?
Wenn ich auf bearbeiten klícke, kommt die Meldung, dass ich die Berechtigung S_DELEVOP benötige.

Wenn ich in den INCLUDE reingehe, kann ich zwar bearbeiten,
aber ich verstehe nicht den Zusammenhang zu diesem Funktionsbaustein, in dessen Bereich die INCLUDE -Anweisung ist.
Wie verwende ich diesen Funktionsbaustein ?
Was mache ich damit ?
Wann und wo geht in den Funktionsbaustein was rein und wann kommt da was raus ?

SOS - Bitte um Hilfe
Blueshape
Isabelle601
...
...
 
Posts: 346
Joined: Mon May 31, 2004 12:16 pm

Postby Alva1590 » Wed Jul 21, 2004 9:39 am

Servus!

Wenn Du in die CMOD gehst, dann das Projekt auswählst und auf 'ändern' gehst, gelangst Du zunächst in die Projektdetails. Dort siehst Du den Button Zuordnung Erweiterung. Da klickst Du drauf, dann solltest Du auf die dem Projekt zugeordneten Erweiterungen kommen und da muss der Eintrag 'FEB00001' enthalten sein. Von dort aus klickst Du auf den Button 'Erweiterung'.

Nun solltest Du in einen Screen gelangen, wo Du den Eintrag für den betreffenden Exit findest, d.h.:

EXIT_RFEBBU10_001

Auf diesen Eintrag machst Du einen Doppelklick, damit gelangst Du in die entsprechende Customer Function. Hier siehst Du den Funktionsbaustein, der vom Kontoauszug aufgerufen wird und die Schnittstellendaten, die übergeben werden.

Innerhalb des Fubas findest Du folgenden Eintrag:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   INCLUDE ZXF01U01.
  2.  
GeSHi ©


Auf diesen Include machst Du einen Doppelklick. Wenn es so sein sollte, dass bereits jemand diesen Include angelegt hat, springst Du direkt dorthin (in evtl. bestehendes Coding). Falls dem nicht so sein sollte, kommt eine Abfrage, ob Du diesen Include nun anlegen willst. Wenn Du das bejahst, wird der Include angelegt, Du springst dorthin und kannst in diesem Include das eigene Coding für den User-Exit hinterlegen. Dabei kommt es natürlich darauf an, welche Anforderungen es gibt und was genau gemacht werden soll. Jedenfalls hast Du beispielsweise die Struktur I_FEBKO auf die Du in Deinem Coding zugreifen kannst, welche die Kopfdaten des Kontoauszugs beinhaltet (entspricht einem Eintrag in der auszug.txt beim multicash-Format). In der I_FEBEP ist der derzeit aktuell enthaltene Einzeplosten drin. Der Verwendungszweck findest Du in der T_FEBRE.

Veränderte Informationen übergibst du in die E_FEBKO bzw. E_FEBEP. Daher empfiehlt es sich, zu Beginn die Importstruktur in die Exportstruktur zu moven und dann nur noch diese zu ändern, also:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. E_FEBKO = I_FEBKO.
  2. E_FEBEP = I_FEBEP.
  3.  
GeSHi ©


Wenn Du Dein Coding soweit fertig hast, aktivierst Du Dein Projekt (zurücknavigieren und Projekt in CMOD aktivieren). Damit ist der User-Exit aktiviert und das Coding sollte durchlaufen werden, wenn ein Kontoauszug eingelesen und verarbeitet wird.
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Isabelle601 » Wed Jul 21, 2004 10:20 am

Super vielen Dank für die Info.
Jetzt habe ich von dem Exit eine klarere Vorstellung.
Klasse!

Ich habe noch einige Verständnisfragen zum elektr. Kontoauszug.

1.
Woher weiß das System von welchem Debitor die Zahlung war ?
Ich habe einen GVC, durch das System die Buchungsregel findet
Dann habe ich ein Kontensymbol, dem ich Konten zuordne,
aber irgendwie kriege ich den Bogen nicht zum Debitor oder
Kreditor oder Sachkonto.
Ich spreche von der Maskierung der Konten (z.B. ++++++++++).
Da frage ich mich, wie kommt das System auf das Konto ?

2.
Wozu benötige Kontensymbole ? Ich verstehe es nicht ;-(

Habe ich folgendes richtig verstanden?:

1. Über den GVC kommt das System auf die Buchungsregel
2. Über die Buchungsregel, weiß das System wie gebucht werden soll
3. In der Buchungsregel sind anstelle der zu bebuchenden Konten
Kontensymbole hinterlegt ?
4. Das System findet über die Kontensymbole die zubebuchenden Konten ?

Aber nun mein Problem:
Bei der Zuordnung der Konten zu den Kontensymbolen,
sind hier gar keine richtigen Konten hinterlegt, sondern nur maskierte (z.B. ++++++++++)
Verstehe nicht, wie das System nun weiß, welches Konto zu bebuchen ist.

Bitte um dringende Hilfe! ;-)
Vielen Dank im voraus
Isabelle601
...
...
 
Posts: 346
Joined: Mon May 31, 2004 12:16 pm

Next

Return to Financials

Who is online

Users browsing this forum: No registered users and 12 guests

cron