ich würde ein BADI oder User-Exit für die ME54N suchen, bei dem ich ein Pop-Up programmieren kann, wenn der Anwender auf "Freigeben" klickt. Es soll dann überprüft werden, ob das eingegebene Material gesperrt ist. Diese Information hole ich mir aus der MARD raus.
Kennt da jemand ein passendes BADI oder ein User-Exit??
So ich bin nach langer Suche nun endlich auf das BADI ME_PROCESS_REQ_CUST gestoßen.
Weiß jemand wie ich den Tabelleninhalt, welcher sich in der ME54N befindet (also die Bestellanforderung) abfangen kann?
In der MIGO ging es damals so :
ASSIGN gt_goitem[ line_id = i_line_id ] TO FIELD-SYMBOL(<ls_goitem>).
IF sy-subrc EQ 0.
MOVE-CORRESPONDING cs_goitem TO <ls_goitem>.
ELSE.
APPEND INITIAL LINE TO gt_goitem ASSIGNING <ls_goitem>.
MOVE-CORRESPONDING cs_goitem TO <ls_goitem>.
<ls_goitem>-line_id = i_line_id.
ENDIF.
Wie würde das nun in diesem BADI funktionieren? Weiß jemand auf welche interne Tabelle ich die Daten da laden müsste oder wo ich das nachschauen kann??
IF_RELEASABLE_MM --> Diese Methode ist bei mir leider irgendwie gar nicht verfügbar.
Ich hätte es nun soweit hinbekommen, dass ich die Einträge in die interne Tabelle bekomme bloß was leider komisch ist, in der Methode "PROCESS_ITEM" ist es nicht möglich ein Pop-up zu generieren mit Message Type 'I'. Ich hätte in dieser Methode gerne verglichen und bei entsprechender Bedingung eine Message erscheinen lassen, bloß funktioniert das in dieser Methode leider irgendwie nicht.
Wie könnte ich nun aber mehrere Positionen abgreifen?
DATA(posdata) = im_item->get_data( ).
Die Methode liefert mir ja immer nur eine Position.
Ich würde gerne alle Positionen (falls es mehrere gibt) abholen und mir in eine interne Tabelle schreiben lassen oder kann ich mir mit der Methode gleich alle in eine interne Tabelle schreiben?
Was die Methode bereitstellt und welche Parameter sie braucht siehts du im Interface IF_EX_ME_PROCESS_REQ_CUST (Transaktion se24). Die Implementierung hängt davon mit welcher Interfaceimplementierung IM_HEADER instaniziert wurde. Im Prinzip must du hier nach einem Statement suchen wie CREATE OBJECT im_header TYPE (class) oder im_header = NEW class. (Class ist dabei der Klassenname).
Folgende Benutzer bedankten sich beim Autor jocoder für den Beitrag: L0w-RiDer