Reply: 3

Sachkonto darf nur auf bestimmte Auftragsarten buchen ?

Ich hab hier eine Anfrage aus dem Fachbereich, vielleicht kann mir jemand hier im Forum weiterhelfen.
Es handelt sich um ein investives Sachkonto.
Dieses sollte von der Buchhaltung nur auf Innenaufträge zweier Auftragsarten bebucht werden können.
Also alle Buchungen auf Innenaufträge die der Auftragsart x und y zugeordnet sind sollen funktionieren, alle anderen nicht.
Die Buchungen erfolgen überwiegend über die MIRO oder über die FB60.
Vielleicht ist das auch eher was für das CO-Forum.
Gibt es hier die Möglichkeit einer Validierung ???
Im Voraus Danke.
Liebe Grüße
Thomas Beckmann

You must be logged in to post a reply.

Login now

3 Answers

  • pushover
    pushover
    Hallo Thomas,
    es gibt den USER-Exit EXIT_SAPLMEREQ_010 bzw. die Erweiterung (SMOD) MEREQ001 Kundeneigene Daten in der Bestellanforderung.
    Diesen haben wir verwendet, um genau Deine Anforderung abzubilden. Wir haben auch eien Auftargsart für Investitionen und ein dazugehöriges Sachkonto. Mit diesem Exit prüfen wir bereits bei Anlage der BANF und Eingabe eines Investitionsauftrages das Sachkonto und umgekehrt. Stimmt beides nicht überein, wird eine Errormeldung ausgegeben.
    Nachfolgend etwas Codingbeispiel:
    Programm zxm02u1
    *-----------------------------------------------------------------------*
    * Prüfung, ob bei Sachkonto = 480010 die Auftragsnummer zwischen 800000 und 899999 ist.
    * Prüfung, ob bei Auftragsnummer 8***** das Sachkonto = 480010 ist.
    * 29.08.2012 H.Mäder
    * 31.08.2012 L.Biering Anpassung Abfrage Innenaufträge da bei Auftrag 9APNK-WUG
    * in BANF 13068412 Kurzdump erzeugt wird
    * Mit Auftrag die Auftragsart ermitteln.

    data: wa_im_t_ebkn like ebkn.
    tables: aufk.
    loop at im_t_ebkn into wa_im_t_ebkn.
    if wa_im_t_ebkn-sakto = 480010.
    * if wa_im_t_ebkn-aufnr not between 800000 and 899999. "LB 310812

    select single * from aufk where aufnr eq wa_im_t_ebkn-aufnr.
    if sy-subrc eq 0.
    if aufk-auart+0(2) ne '06'.
    * Warnmeldung ausgeben
    wa_ex_messages-type = 'E'.
    wa_ex_messages-id = 'ZJO'.
    wa_ex_messages-number = '118'.

    append wa_ex_messages to ex_messages.
    endif. "AUFK-AUART
    endif. "SY_SUBRC
    else.
    * if wa_im_t_ebkn-aufnr between 800000 and 899999. "LB 310812
    select single * from aufk where aufnr eq wa_im_t_ebkn-aufnr.
    if sy-subrc eq 0.
    if aufk-auart+0(2) eq '06'.

    * Warnmeldung ausgeben
    wa_ex_messages-type = 'E'.
    wa_ex_messages-id = 'ZJO'.
    wa_ex_messages-number = '118'. "Kontierung: Sachkonto 480010 oder Auftrag falsch!!

    append wa_ex_messages to ex_messages.
    endif. "AUFK-AUART
    endif. "SY_SUBRC
    endif.
    endloop.
    *-----------------------------------------------------------------------*
    Dies gilt dann nur für die MIRO. Ich hoffe dies hilft etwas weiter.
    Viele Grüße
    pushover
    SAP ECC60
    Anwendungsbetreuer FI/CO

    Zuletzt bearbeitet am 06.08.15 15:55

  • Beckmann
    Beckmann (Author)
    Guten Morgen,
    ah super.
    Herzlichen Dank für die Hilfe.
    Ich werde das mal probieren, bin leider nicht der Coder :-)
    Gute Woche.
    Thomas Beckmann
  • MrBojangles
    MrBojangles
    Für die FB60 (also Rechnung ohne Bestellbezug kannst Du das leicht mit einem Validierungsexit zum Zeitpunkt "Belegzeile" hinkriegen.
    Voraussetzung HKONT = xxxxx
    Prüfung: Innenauftrag nicht leer, Auftragsart nachlesen aus AUFK, prüfen und ggf. Fehlermeldung werfen.
    Weiterhin viel Freude mit SAP...
    Cheers
    MrB.
    Blog