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
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