UserExit im elektronischen Kontoauszug.

UserExit im elektronischen Kontoauszug.

Postby Fabian1957 » Mon Dec 02, 2002 11:34 am

Hallo erstma,

wir wollen den User-Exit für den el. Kontoauszug nutzen. Zunächst einmal in einer einfachen Variante, d.h. nur das Valutadatum soll geändert werden. In einem nächsten Schritt, wollen wir in Abhängigkeit des Verwendungszwecks auch Bankgebühren buchen und nicht zuletzt buchungskreisübergreifende Buchungen durchführen. Hat jemand damit Erfahrung und kann mir ein paar Tips geben? Danke.

Gruß,
Hermann
Fabian1957
....
....
 
Posts: 535
Joined: Mon Dec 02, 2002 11:34 am

Postby Walter4536 » Mon Dec 02, 2002 12:09 pm

Hallo Hermann,

also grundsätzlich folgendes Vorgehen:
1. Transaktion CMOD
2. User-Exit anlegen (Erweiterung FEB00001)
3. Tabelle FEBKO enthält die Kopfsätze, FEBEP die Einzelposten, FEBCL enthält Clearinginformationen. Wenn man also bspw. das Valutadatum einer Position ändern möchte, kann man das im einfachsten Fall so machen:
MOVE-CORRESPONDING I_FEBKO TO E_FEBKO.
MOVE-CORRESPONDING I_FEBEP TO E_FEBEP.
* Import nach Export, damit alle Daten erhalten bleiben!
E_FEBEP-VALUT = SY-DATUM + 3. " z.B. Valuta + 3 Tage.
4. Projekt aktivieren.

Das ist natürlich die denkbar einfachste Variante. Erweitern läßt sich das Beispiel, indem man z.B. das Valutadatum in Abhängigkeit von der Bank ändert und das ganze dann noch customizebar macht. Ich hoffe das hilft weiter.

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

Postby Fabian1957 » Tue Jan 07, 2003 11:48 am

Hallo,

danke, das hat mir soweit geholfen um in diesem Bereich weiter zu kommen. Ich habe einen entsprechenden exit implementiert. Jetzt habe ich aber noch folgendes Problem. Ich möchte ganz gerne Bankspesen verbuchen (das soll bei uns automatisiert erfolgen auf das Konto 479000, Nebenkosten Zahlungsverkehr). Bei der Verbuchung des Kontoauszugs kommt es aber zu einem Fehler, weil der Feldstatus des Bankkontos nicht berücksichtigt wird (Bankkonten sind naturgemäss nicht steuerrelevant). Man könnte das zwar umgehen, in dem man den Feldstatus für das Bankkonto ändert, aber das ist ziemlich unschön. Gibt es eine Möglichkeit, wie man das 'sauber' im Exit selbst realisieren kann? Danke.

Gruß,
Hermann
Fabian1957
....
....
 
Posts: 535
Joined: Mon Dec 02, 2002 11:34 am

Postby Walter4536 » Tue Jan 07, 2003 12:12 pm

Hi,

das ist im Prinzip überhaupt kein Problem :wink:
Es gibt da nämliche eine geradezu fantastische Erweiterung beim el. Kontoauszug. Wenn ich Dich richtig verstanden habe, dann geht es um das Feld BSEG-MWSKZ (Dynpro SAPMF05A 0300). Dieses Feld muß im Falle des Bankkontos entfernt werden.

Dazu folgendes Vorgehen: Im Programm 'RFEBBU00' (ta SE38) findet die Verbuchung des el. Kontoauszugs statt. Dort gibt es die Möglichkeit, über einen kleine 'Trick' direkt Einfluss auf die Verbuchung zu nehmen. In diesem Report gibt es nämlich das folgende Coding:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. FORM check_call_external_function.                                    
  2.   DATA: fb_name LIKE ftclear-selvon.                                  
  3.                                                                      
  4.   LOOP AT ftclear WHERE selfd = 'FB'.                                
  5.     fb_name = ftclear-selvon.                                        
  6.     CHECK NOT fb_name IS INITIAL.                                    
  7.                                                                      
  8. *   Funktionsb nur aufrufen, wenn Namenskonvention und Bereich stimmt
  9.     IF bereich = '1'.                                                
  10.       CHECK fb_name CS 'FEB_1_'.                                      
  11.     ENDIF.                                                            
  12.     IF bereich = '2'.                                                
  13.       CHECK fb_name CS 'FEB_2_'.                                      
  14.     ENDIF.                                                            
  15.                                                                      
  16. *   Spezialkennzeichen von manuellem Kontoauszug eliminieren          
  17.                                                                      
  18.     IF ftclear-agkoa = 'Z'.                                          
  19.       CLEAR ftclear-agkoa.                                            
  20.       CLEAR ftclear-agkon.                                            
  21.       MODIFY ftclear.                                                
  22.     ENDIF.                                                            
  23.  
  24.                                      
  25.    LOOP AT xfebcl WHERE selfd = 'FB'.
  26.      CHECK xfebcl-koart = 'Z'.        
  27.      CLEAR xfebcl-koart.              
  28.      CLEAR xfebcl-agkon.              
  29.      MODIFY xfebcl.                  
  30.    ENDLOOP.                          
  31.                                      
  32.    ex_funct = true.                  
  33.                                      
  34.    fremden Funktionsbaustein aufrufen
  35.    CALL FUNCTION fb_name              
  36.         EXPORTING                    
  37.              i_auglv   = auglv        
  38.              i_tcode   = tcode        
  39.              i_febko   = febko        
  40.              i_febep   = febep        
  41.         IMPORTING                    
  42.              e_subrc   = subrc        
  43.              e_msgid   = msgid        
  44.              e_msgty   = msgty        
  45.              e_msgno   = msgno        
  46.              e_msgv1   = msgv1        
  47.              e_msgv2   = msgv2        
  48.               e_msgv3   = msgv3  
  49.               e_msgv4   = msgv4  
  50.          TABLES                  
  51.               t_ftpost  = ftpost
  52.               t_ftclear = ftclear
  53.               t_fttax   = fttax  
  54.               t_febre   = xfebre
  55.               t_febcl   = xfebcl.
  56.     EXIT.                        
  57.   ENDLOOP.                      
  58.  
GeSHi ©


Man kann hergehen, und einen eigenen Funktionsbaustein mit der obigen Schnittstelle definieren. Dieser Baustein muß eine entsprechende Namenskonvention einhalten (unterschiedlich) für Buchungsbereich 1 und Buchungsbereich 2 (siehe oben: z.B.: Z_FEB_1_MYFB für Buchungsbereich 1). Damit der eigene Baustein aufgerufen wird, muß man im User-Exit (siehe meine erste Antwort) die Tabelle FEBCL entsprechend füllen, z.B.: FEBCL-SELFD = 'FB', FEBCL-SELVON='Z_FEB_1_MYFB' usw.) Man muß also alle Bedingungen des obigen Codings erfüllen, dann wird der eigene Baustein aufgerufen. Innerhalb des eigenen Bausteins kann man dann aus der Tabelle FTPOST den entsprechenden Eintrag für das Bankkonto entfernen BSEG-MWSKZ (Felder FNAM und FVAL). Der Fehler tritt dann nicht mehr auf. Man kann hier natürlich noch weit mehr machen. Da man kompletten Zugriff auf die Verbuchung hat, kann man die Buchung nahezu beliebig erweitern.

Aber ACHTUNG: Man muss hier aufpassen, denn was man hier macht, hat unmittelbar Einfluss auf die Verbuchung. Ein entsprechendes Coding würde ich vor Produktivnutzung ausgiebigst testen!

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


Return to Financials

Who is online

Users browsing this forum: No registered users and 2 guests

cron