Overzicht aanvulling-engine aanroepen

In dit gedeelte wordt het proces beschreven voor het aanroepen van de aanvulling-engine met behulp van een macro voor het genereren van geplande orders voor een artikel- en locatiecombinatie vanuit de opgegeven beginperiode en tot een opgegeven horizon.

Vereisten:

De gebruiker moet toegang hebben tot de macro en tot de aanvulling-engine die voor de huidige cyclus is gedefinieerd. Als dat niet het geval is, wordt tijdens de uitvoering van de macro de volgende fout weergegeven:

Aanvulling-engine {0} is niet toegankelijk voor gebruiker {1}

Er zijn gegevensbeveiligingsregels van toepassing op de huidige gebruiker die de macro uitvoert, bij het bepalen van de artikel- en locatie-elementen die voor berekening aan de aanvulling-engine moeten worden doorgegeven. Bijvoorbeeld:

  • CallReplenishmentEngine ("Merk A", "VS", "", "")
  • Als de gegevensbeveiliging van de huidige gebruiker de gebruiker niet toestaat om merk A of aan merk A gekoppelde basisartikelen te bekijken in de artikelstructuur, wordt de selectie niet doorgegeven aan de engine.
  • Als de gebruiker toegang heeft tot een subset van aan merk A gekoppelde basiselementen, worden de schema's alleen voor deze artikelen berekend.
  • Als de gegevensbeveiliging van de gebruiker niet toestaat om de gebruiker in de Verenigde Staten of basislocaties te bekijken die aan de Verenigde Staten zijn gekoppeld in de locatiestructuur, worden de geselecteerde gegevens niet doorgegeven aan de engine.
  • Als de gebruiker toegang heeft tot een subset basislocaties die in de locatiestructuur aan de Verenigde Staten is gekoppeld, worden de schema's alleen voor deze locaties berekend.

De aanvulling-engine aanroepen

De basisvolgorde voor het aanroepen van de aanvulling-engine via de macro-opdracht CallReplenishmentEngine is als volgt:

  • De aanvulling-engine die voor de huidige cyclus is gedefinieerd bepalen.
  • De artikelen en de locatie voor de planning bepalen.
  • Alle andere macroparameters verwerken.

Om de aanvullig-engine aan te roepen, moet u het volgende doen:

  1. Selecteer Configuratie > Cyclus > Macro's. De pagina Macro wordt weergegeven.
  2. Maak een nieuwe macro-opdracht CallReplenishmentEngine aan. Zie Macro's aanmaken.
  3. Leid de Koppeling aanbod aan toewijzing-measures en -attributen voor de configuratie van de engine af.
    NB: Alle aanbodtoewijzingskoppelingen zijn vereist en moeten gevalideerd worden om ervoor te zorgen dat de juiste attributen worden geselecteerd.
  4. Haal de schemaregel op voor alle artikel- en locatiecombinaties die moeten worden gepland met behulp van de measure-koppelingen voor artikel en locatie van de aanvulling-engine. De aanvulling-engine verwerkt alle artikel- en locatiecombinaties in de macro-aanroep waar de schemaregel wordt weergegeven.
  5. Haal het volgnummer-ID op voor alle artikel- en locatiecombinaties voor de planning. Artikel- en locatiecombinaties worden op volgorde gezet en doorgegeven aan de engine in oplopende volgorde van het volgnummer-ID. Dit proces zorgt ervoor dat alle artikel- en locatiecombinaties worden verwerkt zodat de meest recente behoeften kunnen worden doorgegeven via het aanbodnetwerk. De geplande orders van een magazijn die door de engine zijn gegenereerd, worden bijvoorbeeld als behoeften doorgegeven aan de productiefaciliteit.
    NB: 
    • Op basis van het volgnummer-ID worden de afzonderlijke artikel- en locatieaanroepen van de aanvulling-engine voorbereid en op volgorde gezet.
    • Als er geen volgnummer-ID is gedefinieerd, worden de artikel- en locatiecombinaties dienovereenkomstig op volgorde gezet. U kunt onverwachte resultaten krijgen als de bijbehorende artikel- en locatiecombinaties niet op volgorde zijn gezet.
  6. Valideer de default bronmethode van het huidige artikel en de huidige locatie:
    • Als de waarde van de gekoppelde default bronmethode niet 1, 2 of 3 is, wordt er geen rekening gehouden met de artikel- en locatiecombinatie. De volgende foutmelding wordt naar het logbestand voor fouten van de engine geschreven:
      Bronmethode {1} is ongeldig. Waarde moet 1, 2 of 3 zijn.
  7. Valideer de increment van het huidige artikel en de huidige locatie:
    • Deze parameter is gekoppeld aan een measure-koppeling die is gekoppeld aan de bijbehorende aanbodtoewijzing of default bronmethode:
      • 1 (Overboeking) = Koppeling van overboeking (uit)-measure
      • 2 (Inkoop) = Koppeling van inkoop-measure
      • 3 (Productie, Productie) = Koppeling van proces-measure
      NB: Als de gekoppelde verhoging null of </= 0 is, wordt de artikel- en locatiecombinatie niet meegenomen en wordt de volgende foutmelding geschreven naar het logbestand voor fouten van de engine:
      Increment {1} is ongeldig. De waarde moet > 0 zijn.
  8. Valideer de ontvangstkalender-ID van het huidige artikel en de huidige locatie. Mogelijke scenario's:
    • Als de gekoppelde ID niet gedefinieerd is voor een engine-kalenderkoppeling van de huidige engine, wordt de artikel- en locatiecombinatie niet meegenomen en wordt de volgende foutmelding geschreven naar het logbestand voor fouten van de engine:
      Ontvangstkalender-ID {1} is niet aanwezig.
    • Als er geen waarde is gekoppeld aan de ontvangstkalender-ID-measure, wordt de default kalender in de engine-kalenderkoppeling van de huidige engine gebruikt.
    • Als er geen default kalender gedefinieerd is, wordt de artikel- en locatiecombinatie niet meegenomen en wordt de volgende foutmelding geschreven naar het logbestand voor fouten van de engine:
      Ontvangstkalender-ID {1} is niet aanwezig.
  9. Valideer de schemaregel van het huidige artikel en de huidige locatie: Voor regel 1 of 2:
    1. Productieprocessen ophalen
      1. Maak een matrix van productieprocessen aan waarbij het artikel de uitstroomfactor is, samen met de routing- of proces-ID:
        • Controleer op een niet-nulwaarde voor de gekoppelde uitstroomfactor AND Formula_measure, waarbij Formula_item = huidig artikel en Formula_location = huidige locatie.
        • Als er een toewijzing aanwezig is voor elk uitstroomproces in de matrix, controleert u op TUPLE, niet-nulwaarde, voor Process_measure waarbij Process_location = huidige locatie, Process_routing = huidige uitstroomrouting.
        • Als er geen toewijzing aanwezig is, verwijdert u het uitstroomproces uit de matrix.
      2. Maak een matrix van productieprocessen aan waarbij het artikel de instroomfactor is, samen met de routing- of proces-ID:
        • Controleer op een niet-nulwaarde voor de gekoppelde instroomfactor AND Formula_measure, waarbij Formula_item = huidig artikel en Formula_location = huidige locatie.
        • Als er een toewijzing gevonden wordt voor elk instroomproces in de matrixcontrole voor TUPLE, niet-nulwaarde, voor Process_measure waarbij Process_location = huidige locatie, Process_routing = huidige instroomrouting.
        • Als er geen toewijzing wordt gevonden, verwijdert u het instroomproces uit de matrix.
    2. Bestaande geplande orders verwijderen:
      • Verwijder de ordergegevensrecords voor de definities die gekoppeld zijn aan de orderkoppeling van de engine voor de typen 'Gepland':
        • Verwijder geplande overboekingsorders waarbij TransferIn_Item = huidig artikel en TransferIn_Destination = huidige instroomrouting.
        • Verwijder geplande inkooporders waarbij Purchases_item = Current_item en Purchases_location = huidige locatie.
      • Controleer of er uitstroomprocessen aanwezig zijn voor het huidige artikel en de huidige locatie. Zie stap 9. a.
      • Voor elk proces in het aantal uitstroomprocessen:
        • Verwijder geplande productieorders waarbij Process_location = huidige locatie en Process_routing = huidige routing voor Outflow_process.
        • Als Offset begin orderuitvoering > 0, verwijdert u de records waarvoor de leverdatum van de gegevensrecord >= startdatum van de huidige planningsperiode + Offset begin orderuitvoering (dagen). Als dat niet het geval is, verwijdert u de gekoppelde orders voor alle datums.
    3. De default orderelementen voor de opgegeven default bronmethode ophalen. De scenario's:
      • Bronmethode = 1 (Overboeking):
        • Controleer op een TUPLE, niet-nulwaarde voor TransferIn_measure waarbij TransferIn_Item = huidige artikel, TransferIn_Destination = huidige locatie en Transfer_Source = TransferIn_Source-waarde.
        • Controleer op een TUPLE, niet-nulwaarde voor TransferOut_measure waarbij TransferOut_Item = huidige artikel, TransferOut_Destination = huidige locatie en TransferOut_Source = bron overboeking.
        • Orderartikel = artikelelement Transfer In_TUPLE, Order_destination = locatie-element Transfers In_TUPLE, Order_source = locatie-element Transfers Out_TUPLE.
      • Bronmethode = 2 (Inkoop):
        • Controleer op een TUPLE, niet-nulwaarde voor Purchase_measure waarbij Purchase_item = huidig artikel, Purchase_location = huidige locatie, Order_item = artikelelement Purchases_TUPLE, bestemming order = locatie-element Purchases_TUPLE, Order_source = locatie-element Purchases_TUPLE.
      • Bronmethode = 3 (Productie):
        • Waarbij het aantal uitstroomprocessen > 0, Order_Item = ICONST, Order_destination = locatie-element eerste uitstroomproces, Order_Source = locatie-element eerste uitstroomproces. Zie stap 9.c.
        • Als er geen default TUPLE is gedefinieerd voor de opgegeven bronmethode, wordt de artikel- en locatiecombinatie niet meegenomen en wordt de volgende foutmelding geschreven naar het logbestand voor fouten van de engine:
          Bronlocatie is niet aanwezig voor bronmethode {1}.
    NB: 
    • Voor Regel = 1 roept u de engine aan op basis van de standaard planningslogica voor de artikel- en locatiecombinatie.
    • Voor Regel = 2 roept u de engine aan op basis van de logica van bestelpuntplanning voor de artikel- en locatiecombinatie.
    • Als de regel niet gelijk is aan 0, 1 of 2, wordt de artikel- en locatiecombinatie overgeslagen en wordt de volgende fout geregistreerd in het logbestand voor fouten van de engine:
      Schemaregel {1} is ongeldig. Waarde moet 0, 1 of 2 zijn. 
  10. Haal de vereiste resultaten op uit de resultatenset van de aanvulling-engine op basis van de orderkoppeling van de aanvulling-engine en pas de resultaten toe op de waarden van de order (mutatiegegevens):
    • De bijbehorende scenariowaarden worden gesynchroniseerd voor geplande orderkoppelingen.
    • De resultaten van de engine worden op basis van de ordergegevens naar de toekomstige horizon van de cyclusperiode geschreven (op basis van de bijbehorende orderdatums).
    • Als de door de gebruiker gebruikte engine gegevensbeveiligingsregels bevat voor de periodedimensie die de toegang tot de gehele toekomstige horizon beperken, worden de resultaten alleen voor de toegestane orders opgeslagen.
  11. Haal de vereiste resultaten op uit de resultatenset van de aanvulling-engine en pas de resultaten toe op scenariowaarden (voor andere uitvoerresultaten van de gekoppelde artikellocatie) op basis van de koppelingsgegevens van de aanvulling-engine-measure. De engine-resultaten op basis van de gekoppelde measures worden als een statische waarde naar PCONST geschreven.
  12. De resultaten van de aanroep van de aanvulling-engine worden iutgevoed naar jobbeheer en het controlelogbestand waarin:
    • Bij het bericht in het controlelogbestand wordt een logbestand voor fouten gevoegd als de aanroep van de aanvulling-engine met fouten wordt voltooid.
    • De verwerking van geldige combinaties wordt niet voorkomen door fouten in afzonderlijke artikelen of locaties.
    • Ongeldige artikel- en locatiecombinaties uit de voorbereiding van het schema of die geretourneerd worden via de engineregellogica met een foutcode worden naar het logbestand voor fouten geschreven, met een bericht waarin de fout wordt beschreven.