Ansicht
Dokumentation

CL_EHSW_MN_MNTRC_IN_EXAMPLE1 - Beispielimplementierung BADI "BADI_EHSW_MN_MNTRC_IN"

CL_EHSW_MN_MNTRC_IN_EXAMPLE1 - Beispielimplementierung BADI "BADI_EHSW_MN_MNTRC_IN"

Fill RESBD Structure from EBP Component Structure   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dies ist eine Beispielimplementierung für das BAdI BADI_EHSW_MN_MNTRC_IN.

Die Implementierung ermittelt ein Entsorgungspapier, prüft und vervollständigt die erhaltenen Entsorgungspapierdaten und kann beispielsweise für den deutschen Begleitschein eingesetzt werden.

Voraussetzung

Voraussetzung für die Verwendung der Beispielimplementierung CL_EHSW_MN_MNTRC_IN_EXAMPLE1 ist eine Entsorgungspapierart mit den Einstellungen der Beispielpapierart EBGS (z.B. Anzahl der Abfallschlüssel, Statusschema und Funktionszuordnung).

Ermittlung eines Entsorgungspapiers

Es wird versucht, ein Entsorgungspapier anhand der Entsorgungspapierart und der behördlichen Nummer zu finden. Entspricht ein Entsorgungspapier den Suchkriterien enthält der Parameter E_MN_RECN_OLD den technischen Schlüssel des Kopfsatzes des Entsorgungspapiers. Konnte kein Entsorgungspapier anhand der Suchkriterien ermittelt werden ist der Parameter E_MN_RECN_OLD leer.

Entsorgungspapier prüfen und vervollständigen

Die Beispielimplementierung prüft die eingegangen Entsorgungspapierdaten.

Die Kopfdaten werden wie folgt geprüft:

  • Ist das Feld, welches die interne Entsorgungspapiernummer enthält (DisposalNote -> InternalID) der Eingangsnachricht nicht gefüllt?
  • Ist das existierende Entsorgungspapier nicht im Status NEW, CAN, CHK, COMPL oder ARCH?
  • Ist das Feld, zum Setzen eines Entsorgungspapierstatus (DisposalNote -> LifeCycleStatusCode) gefüllt und falls ja, enthält das Feld entweder den Status IEERR bzw. ISENT?

Positionsdaten werden wie folgt geprüft:

  • Ist maximal eine Position (DisposalNote -> Item) in der Eingangsnachricht vorhanden?
  • Ist kein Abfallmaterial (DisposalNote -> Item -> Material) in der Eingangsnachricht vorhanden?
  • Enthält das Feld Bilanzrelevant-Kennzeichen (DisposalNote -> Item -> AccountingRelevanceIndicator) den Wert FALSE?

Abfallschlüsseldaten werden wie folgt geprüft:

  • Ist ein Abfallschlüssel (DisposalNote -> Item -> WasteClassification) in der Eingangsnachricht enthalten?

Schlägt eine Prüfung fehl, wird eine entsprechende Fehlermeldung ausgegeben. Das Entsorgungspapier wird in einen Fehlerstatus Fehler beim Anlegen ICERR bzw. Fehler beim Ändern IRERR gesetzt.

Die Beispielimplementierung vervollständigt die Entsorgungspapierdaten wie folgt:

  • Alle technischen Schlüssel werden anhand der logischen Schlüssel ermittelt.
  • Der Abfallschlüssel des Papiers wird als Gesamtabfallschlüssel verwendet.
  • Entweder wird das Abfallmaterial aus dem Entsorgungsweg des Entsorgungsnachweises ermittelt, oder das Material wird anhand des Abfallschlüssels ermittelt.
  • Das Bilanzrelevant-Kennzeichen eines Entsorgungspartners wird gesetzt.
  • Die Felder Gefahrgutvorschrift Vorlauf, Gefahrgutvorschrift Hauptlauf und Gefahrgutvorschrift Nachlauf werden vom bereits existierenden Entsorgungspapier übernommen.
  • Nur Texte vom Typ Bemerkung (TextCollectionTypeCode = 10006) werden übernommen. Alle anderen Texttypen werden vom bereits existierenden Entsorgungspapier übernommen.

Die vervollständigten Entsorgungspapierdaten werden anhand Konsistenz und gegen Customizingeinstellungen geprüft.

Abschließend wird der Status des Entsorgungspapiers wie folgt gesetzt:

  • Falls das Papier neu angelegt wird und alle Prüfungen waren erfolgreich, wird der Status Entwurf ITMPL gesetzt. Es werden alle Änderungen übernommen.
  • Falls das Papier neu angelegt wird und es ist ein Prüffehler aufgetreten, wird der Status Anlagefehler - Fehlerprotokoll ICERR gesetzt. Im Entsorgungspapier wird nur der Status geändert.
  • Falls das Papier geändert wird und alle Prüfungen waren erfolgreich, wird der Status Erhalten vom Service Provider IRET gesetzt.
  • Falls das Papier geändert wird und in der Eingangsnachricht ist der Status Versandt ISENT enthalten, wird dieser Status im Entsorgungspapier gesetzt. Im Entsorgungspapier wird nur der Status geändert.
  • Falls das Papier geändert wird und in der Eingangsnachricht ist der Status Externer Fehler - Prüfen beim Service Provider IEERR enthalten, wird dieser Status im Entsorgungspapier gesetzt. Im Entsorgungspapier wird nur der Status geändert.
  • Falls das Papier geändert wird und es ist ein Prüffehler aufgetreten wird der Status Änderungsfehler - Fehlerprotokoll IRERR gesetzt. Im Entsorgungspapier wird nur der Status geändert.

Tritt ein interner Fehler auf, enthält der Parameter E_FLG_ERROR den Wert X um die nachfolgende Bearbeitung zu Beenden.

Tritt ein Prüffehler auf, enthält der Parameter e_flg_set_msglog_rpc_failed den Wert X. Die nachfolgende Bearbeitung wird weiter ausgeführt damit das Feld BusinessDocumentProcessingResultCode in der Ausgangsnachricht den Wert 5 enthält.

Beziehungen

Beispiel

Hinweise

Weiterführende Informationen






RFUMSV00 - Advance Return for Tax on Sales/Purchases   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6600 Date: 20240426 Time: 102401     sap01-206 ( 97 ms )