ZCL MM UTILITIES: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


Die in Freizeit erstellte Z-Klasse bietet verschiedene Methoden für den MM-Bereich an.
Die in Freizeit erstellte Z-Klasse bietet verschiedene Methoden für den MM-Bereich an.
Diese Klasse benötigt die [[ZCL_CONV_UTILITIES|Z-Klasse für Konvertierungen]].


== ADD_PO_CONFIRMATION ==
== Änderungen von Einkaufsbelegen lesen ==


Diese Instanzmethode nutzt den SAP internen Funktionsbaustein "ME_PO_CONFIRM", [[ME_PO_CONFIRM|s. wichtige Hinweise hier]].
Die statische Methode "GET_PO_CHANGE_DOCUMENTS" nutzt den Funktionsbaustein "[[ME_READ_CHANGES_EINKBELEG|ME_READ_CHANGES_EINKBELEG]]".
 
Durch den Konstruktur muss eine interne EKPO Tabelle und optional eine EKES Tabelle mitgegeben werden.
Wenn keine EKES Tabelle mitgegeben wird, baut die Methode sich eine eigene interne EKES Tabelle anhand der Positionsdaten auf.
 
== GET_PO_CHANGE_DOCUMENTS ==
 
Die statische Methode nutzt den Funktionsbaustein "[[ME_READ_CHANGES_EINKBELEG|ME_READ_CHANGES_EINKBELEG]]".
In der Methode sind noch sinnvolle Prüfungen vorhanden z.B. ob die EKKO Struktur im Feld EBELN eine Bestellnummer hat.
In der Methode sind noch sinnvolle Prüfungen vorhanden z.B. ob die EKKO Struktur im Feld EBELN eine Bestellnummer hat.


== GET_GENERAL_DATA_FROM_MAT ==
== Bestandsabgleich ==
 
Gibt die allgemeinen Materialdaten als Rückgabeparameter zurück.
 
Als Importparameter wird eine Referenz von TYPE REF TO DATA erwartet.
 
"relevante Daten kommen direkt aus Programmselektion
SELECT-OPTIONS:  s_matnr FOR mard-matnr.
"Aus SELECT-OPTION oder andersweitig eine Range aufgebaut, wird eine Referenz erzeugt.
GET REFERENCE OF s_matnr[] INTO DATA(lr_matnr).
DATA(lt_mard) = zcl_mm_utilities=>get_storage_loc_data( ir_materials = lr_matnr ).
 
== GET_PLANT_DATA_FROM_MAT ==
 
Gibt die Werksdaten von Materialien als Rückgabeparameter zurück.
 
Als Importparameter werden Referenzen von TYPE REF TO DATA erwartet.
 
S. Referenz-Erzeugung: [[ZCL_MM_UTILITIES#GET_GENERAL_DATA_FROM_MAT|GET_GENERAL_DATA_FROM_MAT]]
 
== GET_STORAGE_LOC_DATA ==
 
Gibt die Lagerortdaten von Materialien als Rückgabeparameter zurück.
 
Als Importparameter werden Referenzen von TYPE REF TO DATA erwartet.
 
S. Referenz-Erzeugung: [[ZCL_MM_UTILITIES#GET_GENERAL_DATA_FROM_MAT|GET_GENERAL_DATA_FROM_MAT]]
 
== CREATE_STOCK_RECONCILIATION ==


Diese statische Methode erstellt ein "einfachen" Bestandsabgleich mit einem Partner.
Diese statische Methode "CREATE_STOCK_RECONCILIATION" erstellt ein "einfachen" Bestandsabgleich mit einem Partner.
Aktuell wird ein Vergleich zwischen frei verfügbaren Bestand, QS und gesperten Bestand unterstützt.
Aktuell wird ein Vergleich zwischen frei verfügbaren Bestand, QS und gesperten Bestand unterstützt.


Zeile 72: Zeile 34:
                                                 IMPORTING et_delta = DATA(lt_delta) ).
                                                 IMPORTING et_delta = DATA(lt_delta) ).


== GET_QUAN_FROM_TARGET_UOM ==
== Berechnung von QuellenME in ZielME  ==


* Diese statische Methode berechnet mit Hilfe des Funktionsbausteines "[[MD_CONVERT_MATERIAL_UNIT|MD_CONVERT_MATERIAL_UNIT]] die Menge einer Quellenmengeneinheit in eine Zielmengeneinheit um.
* Diese statische Methode "GET_QUAN_FROM_TARGET_UOM" berechnet mit Hilfe des Funktionsbausteines "[[MD_CONVERT_MATERIAL_UNIT|MD_CONVERT_MATERIAL_UNIT]] die Menge einer Quellenmengeneinheit in eine Zielmengeneinheit um.
* Zuvor wird die Materialnummer auf internes Format konvertiert, wenn die Materialnummer < 18 ist.  
* Zuvor wird die Materialnummer auf internes Format konvertiert, wenn diese in dem Format nicht vorliegt.  
* Wenn ein Fehler auftaucht, wird eine Exception geworfen.
* Wenn ein Fehler auftaucht, wird eine Exception geworfen.



Aktuelle Version vom 24. Juli 2021, 17:37 Uhr


Die in Freizeit erstellte Z-Klasse bietet verschiedene Methoden für den MM-Bereich an.

Änderungen von Einkaufsbelegen lesen

Die statische Methode "GET_PO_CHANGE_DOCUMENTS" nutzt den Funktionsbaustein "ME_READ_CHANGES_EINKBELEG". In der Methode sind noch sinnvolle Prüfungen vorhanden z.B. ob die EKKO Struktur im Feld EBELN eine Bestellnummer hat.

Bestandsabgleich

Diese statische Methode "CREATE_STOCK_RECONCILIATION" erstellt ein "einfachen" Bestandsabgleich mit einem Partner. Aktuell wird ein Vergleich zwischen frei verfügbaren Bestand, QS und gesperten Bestand unterstützt.

Es ist möglich ein Mapping mitzugeben in Falle, dass der Partner die Bestände nicht so speichert wie in einem SAP System. Wenn der Partner Bestände durch ein Kennzeichen und nur einer Mengenangabe differenziert, kann das zuvor im Mapping aufgeschlüsselt werden. Ebenso ist ein Mapping für Werk und Lagerort möglich.

Mapping festlegen

DATA: ls_mapping TYPE zcl_mm_utilities=>ts_partner_sap_mapping,
      lt_mapping TYPE zcl_mm_utilities=>tt_partner_sap_mapping.

Beispiel: Partner liefert Bestandskennzeichen und eine Mengenangabe

"ls_partner_stocks-partner_bstar = 'FREE'. "partner delivers only stock identifier
"ls_mapping-partner_bstar = ls_partner_stocks-partner_bstar. "add bstar to mapping and the equivalent to SAP
"ls_mapping-sap_bstar_understanding = 'LABST'.

Bestandsabgleich durchführen

zcl_mm_utilities=>create_stock_reconciliation( EXPORTING it_partner_sap_mapping = lt_mapping
                                                         it_partner_stocks = lt_partner_stocks
                                                         it_sap_stocks = lt_sap_stocks
                                                         iv_test_output = abap_true
                                               IMPORTING et_delta = DATA(lt_delta) ).

Berechnung von QuellenME in ZielME

  • Diese statische Methode "GET_QUAN_FROM_TARGET_UOM" berechnet mit Hilfe des Funktionsbausteines "MD_CONVERT_MATERIAL_UNIT die Menge einer Quellenmengeneinheit in eine Zielmengeneinheit um.
  • Zuvor wird die Materialnummer auf internes Format konvertiert, wenn diese in dem Format nicht vorliegt.
  • Wenn ein Fehler auftaucht, wird eine Exception geworfen.
DATA(lv_bstm) = zcl_mm_utilities=>GET_QUAN_FROM_TARGET_UOM( iv_matnr = '100' "Konv. in internes Format
                                                            iv_source_quan = '50'
                                                            iv_source_quan_uom = 'ST'
                                                            iv_target_quan_uom = 'PAL' ).
"lv_bstm ist 5.000 s.u. Zusatzdaten

Zusatzdaten Material

Nenner Alternative Mengeneinheit Zähler Basismengeneinheit
1 ST <=> 1 ST
1 PAL <=> 10 ST