UserExit im elektronischen Kontoauszug.

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

SAP R/3 Finanzwesen: Hauptbuchhaltung; Kreditorenbuchhaltung; Debitorenbuchhaltung; Bankbuchhaltung; Anlagenbuchhaltung; ...
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

UserExit im elektronischen Kontoauszug.

Beitrag von Hermann ( / / 0 / 3 ) »
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

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


Beitrag von Steff (Site Admin / 386 / 0 / 1 ) »
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

Beitrag von Hermann ( / / 0 / 3 ) »
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

Beitrag von Steff (Site Admin / 386 / 0 / 1 ) »
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: Alles auswählen.

FORM check_call_external_function.                                    
  DATA: fb_name LIKE ftclear-selvon.                                  
                                                                      
  LOOP AT ftclear WHERE selfd = 'FB'.                                 
    fb_name = ftclear-selvon.                                         
    CHECK NOT fb_name IS INITIAL.                                     
                                                                      
*   Funktionsb nur aufrufen, wenn Namenskonvention und Bereich stimmt 
    IF bereich = '1'.                                                 
      CHECK fb_name CS 'FEB_1_'.                                      
    ENDIF.                                                            
    IF bereich = '2'.                                                 
      CHECK fb_name CS 'FEB_2_'.                                      
    ENDIF.                                                            
                                                                      
*   Spezialkennzeichen von manuellem Kontoauszug eliminieren          
                                                                      
    IF ftclear-agkoa = 'Z'.                                           
      CLEAR ftclear-agkoa.                                            
      CLEAR ftclear-agkon.                                            
      MODIFY ftclear.                                                 
    ENDIF.                                                            

                                      
   LOOP AT xfebcl WHERE selfd = 'FB'. 
     CHECK xfebcl-koart = 'Z'.        
     CLEAR xfebcl-koart.              
     CLEAR xfebcl-agkon.              
     MODIFY xfebcl.                   
   ENDLOOP.                           
                                      
   ex_funct = true.                   
                                      
   fremden Funktionsbaustein aufrufen 
   CALL FUNCTION fb_name              
        EXPORTING                     
             i_auglv   = auglv        
             i_tcode   = tcode        
             i_febko   = febko        
             i_febep   = febep        
        IMPORTING                     
             e_subrc   = subrc        
             e_msgid   = msgid        
             e_msgty   = msgty        
             e_msgno   = msgno        
             e_msgv1   = msgv1        
             e_msgv2   = msgv2        
              e_msgv3   = msgv3  
              e_msgv4   = msgv4  
         TABLES                  
              t_ftpost  = ftpost 
              t_ftclear = ftclear
              t_fttax   = fttax  
              t_febre   = xfebre 
              t_febcl   = xfebcl.
    EXIT.                        
  ENDLOOP.                       
 
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

Re: UserExit im elektronischen Kontoauszug.

Beitrag von siggi-30 (ForumUser / 1 / 0 / 0 ) »
Hallo zusammen,

ich muss bei der Verarbeitung von Rücklaufern im ELKO folgende Felder noch befüllen:

BSEG-ZTERM
BSEG-ZSCHL
BSEG-ZLSPR

Hierfür verwende ich das BADI IF_EX_FEB_BADI~CHANGE_POSTING_DATA

IF i_ikofi-attr2 = 2.
RETURN.
count = 1.
ELSE.
count = 2.
ENDIF.

LOOP AT t_ftpost REFERENCE INTO r_ftpost.
IF r_ftpost->*-stype = 'P'
AND r_ftpost->*-count = count
AND r_ftpost->*-fnam = 'BSEG-WRBTR'.

wa_ftpost-stype = 'P'.
wa_ftpost-count = count.
wa_ftpost-fnam = 'BSEG-ZLSPR'.
wa_ftpost-fval = 'Z'.
INSERT wa_ftpost INTO t_ftpost.

wa_ftpost-stype = 'P'.
wa_ftpost-count = count.
wa_ftpost-fnam = 'BSEG-ZLSCH'.
wa_ftpost-fval = '2'.
INSERT wa_ftpost INTO t_ftpost.

wa_ftpost-stype = 'P'.
wa_ftpost-count = count.
wa_ftpost-fnam = 'BSEG-ZTERM'.
wa_ftpost-fval = 'D000'.
INSERT wa_ftpost INTO t_ftpost.

* now, we can leave the loop
EXIT.
ENDIF.
ENDLOOP.


Allerdings setzt er die drei Felder in das Dynpro SAPMF05A 0300 in der BI-MAPPE. Diese läuft natürlich später auf einen Fehler.

Hat jemand eine Idee, wie ich die Felder in der Verarbeitung des ELKO setzen kann?

Besten Dank

Re: UserExit im elektronischen Kontoauszug.

Beitrag von MrBojangles (Specialist / 367 / 3 / 30 ) »
Hallo Siggi,

Dynpro 300 wäre m.E. schon richtig, es ist ja das Trägerdynpro für die Subscreens 301ff., je nach Art des zu bebuchenden Kontos... Ich denke, hier könnte auch das Problem liegen. Die von Dir zu befüllenden Felder sind nur bei der Bebuchung von Personenkonten "offen". Womöglich versuchst Du die Felder zur "falschen" Position zu versorgen (davon ausgehend, mit "läuft ... auf Fehler", meinst Du "Feld xxx in Dynpro yyy nicht vorhanden").
Weiterhin viel Freude mit SAP...
Cheers
MrB.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1609
Views
Manueller Kontoauszug - Userexit
von Jens » 01.10.2008 11:00 • Verfasst in Financials
1
Antw.
1927
Views
Elektronischer Kontoauszug
von alicemal » 30.11.2006 23:26 • Verfasst in Financials
7
Antw.
4713
Views
elektronischer Kontoauszug
von tuete » 11.05.2005 17:13 • Verfasst in Financials
7
Antw.
4966
Views
elektronischer Kontoauszug
von hakan_gueven@yahoo.de » 02.08.2007 17:08 • Verfasst in Financials
9
Antw.
9810
Views
Ausprägung elektronischer Kontoauszug
von BarbaraM » 11.10.2005 13:24 • Verfasst in Financials

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 73

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.

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 73

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166