Macro-opdrachten voor vervanging

De macro-opdracht Vervanging voert de vervangingslogica op scenarioniveau uit. De vervangingsdefinities worden opgeslagen in een codelijst. Als u deze macro uitvoert, wordt de wijzigingsdatum ingesteld en worden de historische measure-gegevens gekopieerd van de vorige artikelen naar de volgende artikelen op de opgegeven locaties voor de horizon van de cyclusperiode.

Deze tabel beschrijft de parameters die worden gebruikt voor de macro Vervanging:

Parameter Omschrijving
Codelijst De codelijst die de vervangingsdefinities bevat.
Attribuut Vorig artikel Het attribuut in de codelijst dat de vorige artikelen bevat. Dit wordt gevalideerd voor elementen op basisniveau in het scenario.
Attribuut Volgend artikel Het attribuut in de codelijst dat de volgende artikelen bevat. Dit wordt gevalideerd voor elementen op basisniveau in het scenario.
Attribuut Vorige locatie

Het attribuut in de codelijst dat de vorige locaties voor overboeking bevat. De attribuutwaarden binnen de codelijst kunnen worden ingesteld op basis- of aggregatieniveau (aggregatieniveau is alleen toegestaan als het Volgende locatie-attribuut niet is ingevuld). Dit wordt tijdens de uitvoering gevalideerd op basis van de modulestructuur en er wordt een foutmelding weergegeven als er geen waarde is gedefinieerd.

Attribuut Wijzigingsdatum Het attribuut in de codelijst dat de datum van de vervanging bevat. Dit kan elke datum zijn (hiervoor is geen start- of einddatum voor de kalenderbucket nodig).
Attribuut Overboekingsfactor

Het attribuut in de codelijst dat de overboekingsfactor van het vorige artikel en measure naar het volgende artikel en measure bevat. Dit kan een numerieke waarde zijn die groter is dan 0.

Measure-code Begindatum. De measure-code om de wijzigingsdatum van volgend artikel / volgende locaties te kopiëren. De begindatum wordt naar PCONST geschreven voor de opgegeven measure voor elk volgend artikel en elke volgende locatie op basisniveau die zijn verwerkt.
Measure-code Einddatum.

De measure-code om de wijzigingsdatum van vorig artikel / vorige locaties te kopiëren. De einddatum wordt naar PCONST bijgewerkt voor de opgegeven measure voor elk vorig artikel en elke vorige locatie op basisniveau die zijn verwerkt. Deze waarde moet verschillen van de waarde die is opgegeven voor de measure-code van de begindatum.

Van measure-code De measure-code die gekopieerd moet worden van de vorige artikelen en locaties.
Naar Measure-code

De measure-code die moet worden gekopieerd naar de volgende artikelen en locatie. Deze kan gelijk zijn aan Van measure-code.

Knooppunt artikelstructuur
De artikelselectie voor het verwerken van de vervangingsdefinities. Als deze knooppunten zijn opgegeven, worden de knooppunten binnen de selectie (gelijk aan of onderliggende niveaus van) in de codelijst met de vervangingsdefinitie verwerkt.
NB: Zowel het vorige artikel als het volgende artikel van de definitie moet in de selectie aanwezig zijn. Als er geen waarde is opgegeven, worden alle knooppunten verwerkt die in de codelijst met de vervangingsdefinitie toegankelijk zijn voor de gebruiker.
Knooppunt locatiestructuur
De locatieselectie voor het verwerken van de vervangingsdefinities. Als deze knooppunten zijn opgegeven, worden de knooppunten binnen de selectie (gelijk aan of onderliggende niveaus van) in de codelijst met de vervangingsdefinitie verwerkt.
NB: Als er geen waarde is opgegeven, worden alle knooppunten verwerkt die in de codelijst met de vervangingsdefinitie toegankelijk zijn voor de gebruiker.
.
Measure-code Geldige artikellocatie Een measure die gedefinieerd is voor de huidige module om de geldige artikel- en locatiecombinaties van volgende artikelen op het basisniveau aan te geven bij het toepassen van vervanging voor geaggregeerde locaties.
Overschrijven

Geeft het overschrijvingspatroon van de brongegevens aan. De waarden kunnen zijn:

  • Niet gedefinieerd: de gegevens uit de bron worden toegevoegd aan de doelwaarden.
  • Gedefinieerd: de gegevens van het doel worden overschreven voor de artikel-, locatie- en periodeselectie
Attribuut Volgende locatie
Het attribuut in de codelijst dat de volgende locaties bevat. De attribuutwaarden binnen de codelijst moeten worden ingesteld op basisniveau. Dit wordt tijdens de uitvoering gevalideerd op basis van de modulestructuur.
NB:  Als de attribuutwaarden null zijn voor definities, wordt de vervanging toegepast op de vorige locatie.
De waarde voor het Opdracht-veld moet worden opgegeven in de volgende opmaak:SuperSession (Codelijst, Attribuut Vorig artikel, Attribuut Volgend artikel, Attribuut Vorige locatie, Attribuut Wijzigingsdatum, Attribuut Overboekingsfactor, Measure-code Begindatum, Measure-code Einddatum, Van Measure-code, Naar Measure-code, [Knooppunt artikelstructuur], [Knooppunt locatiestructuur],[Measure-code Geldige artikellocatie], [Overschrijven], [Attribuut Volgende locatie])
NB: De optionele parameters worden opgegeven in [ ].

Macro voor validatie en uitvoering van vervanging

De vervangingslogica wordt uitgevoerd voor het huidige scenario als de macro succesvol gevalideerd en uitgevoerd is. Dit zijn de validatieregels:

  • Alle gedefinieerde vervangingsrelaties in de codelijst worden gevalideerd.
  • Vorige locaties kan worden ingesteld op geaggregeerde niveaus, dat wil zeggen dat voor alle onderliggende niveaus van deze geaggregeerde locatie vervanging moet worden toegepast binnen de opgegeven locatieselectie:
    • Als een onderliggende locatie van de geaggregeerde locatie ook wordt gebruikt binnen de codelijst, wordt de laatste invoer in de codelijst toegepast op die onderliggende locatie
    • Als de vorige locatie een geaggregeerde locatie is, moet de volgende locatie null zijn
  • Als er een geaggregeerde Vorige locatie wordt gebruikt, worden alleen de waarden voor geldige combinaties van artikel@locaties, Begindatum en Einddatum gekopieerd. De geldige combinatie-measure die moet worden gebruikt is afgeleid van de geldige combinatie die in de cyclus is gedefinieerd.
  • Als een definitie niet uniek is voor het vorige artikel, het volgende artikel en de locatie, wordt de laatste invoer in de codelijst toegepast.
  • Measure-overboeking vindt plaats tussen de 'Van measure' van het vorige artikel en de vorige locatie en de 'Naar measure' van het volgende artikel en de volgende locatie voor alle perioden binnen de horizon van de cyclusperiode.
  • In tegenstelling tot een verhouding, fungeert factor als een wegingsfactor (multiplier) van het vorige artikel/de vorige locatie naar het volgende artikel/de volgende locatie. Als de waarden voor zowel het volgende artikel als de volgende locatie zijn ingesteld op 1, krijgt elke waarde 100% van de vorige historie-measure (met in totaal 200%).
  • Een overboekingskoers van null wordt beschouwd als 1.
  • Een overboekingsfactor van 0 voert geen historieoverboeking uit naar het huidige volgende artikel, waarbij in feite de gewenste wijzigingsdatum is ingesteld.
  • Controleer of de vorige en volgende artikelknooppunten van elke vervangingsrelatie geldig zijn. Alle vorige en volgende artikelen moeten in de overeenkomstige modulestructuur gedefinieerd worden als basisniveau-elementen.
  • Controleer of de vorige en volgende locaties van elke vervangingsrelatie geldig zijn.
    • Als de vorige locatie een geaggregeerde locatie is, moet de volgende locatie null zijn.
    • Als de vorige locatie een basislocatie is, moet de volgende locatie null of een basislocatie zijn.
    • Beide locaties moeten binnen de overeenkomstige modulestructuur worden gedefinieerd.
    • Controleer of de vorige locatie niet null is.
    • Bij het opgeven van geaggregeerde locatie-elementen moet de gebruiker die de macro uitvoert toegang hebben tot het geaggregeerde element in de instellingen van de gegevensbeveiliging.
  • Controleer of de vorige en volgende artikelknooppunten van elke vervangingsrelatie ingevuld zijn.
  • Eventuele fouten worden naar het logbestand voor fouten gegenereerd en de verwerking wordt voortgezet voor de resterende relaties in de codelijst.
  • Measures van het type Marktintelligentie, Orders of Mutatiegegevens kunnen niet worden gebruikt binnen de vervanging.

Zie voor meer informatie Voorbeelden van vervangingsmacro's.

Validatie wordt uitgevoerd wanneer u de macro uitvoert. Als een van de validaties mislukt, wordt de macro afgebroken en wordt de bijbehorende foutmelding weergegeven.

Deze tabel beschrijft de scenariomacro-opdrachten vergeleken met de Cyclusperiode/Scenariostatus en de validatieberichten:
Status cyclusperiode Scenariostatus Uitvoeren mogelijk? Validatiebericht
In afwachting Niet van toepassing Nee Macro {0} kan niet worden uitgevoerd, omdat cyclusperiode de status "In afwachting" heeft
Actief Onderhanden Ja Niet van toepassing
Onderbroken Willekeurig Nee Macro {0} kan niet worden uitgevoerd, omdat Cyclusperiode niet actief is
Afgebroken Gestopt Nee Macro {0} kan niet worden uitgevoerd, omdat Cyclusperiode de status "Afgebroken" heeft
Gearchiveerd Willekeurig Nee Macro {0} kan niet worden uitgevoerd, omdat Cyclusperiode de status "Gearchiveerd" heeft
Voltooid Willekeurig Nee Macro {0} kan niet worden uitgevoerd, omdat Cyclusperiode de status "Voltooid" heeft
Deze tabel beschrijft de foutmelding die wordt weergegeven tijdens de uitvoering van de macro:
Validatievoorwaarde/Regels Foutmelding
Controleer of de opgegeven codelijst geldig is Codelijst "{0}" is niet aanwezig.
Controleer of de opgegeven codelijstattributen geldig zijn. Codelijstattribuut "{0}" is niet aanwezig in codelijst {1}.
Controleer of de opgegeven measures geldig zijn voor deze cyclusmodule en ingeschakeld zijn. De measures omvatten de opgegeven begindatum, de einddatum, de Van en Naar-measures. Measure "{0}" is niet aanwezig.
Controleer of de opgegeven measures voor de begindatum en de einddatum van het juiste type (Datum) zijn. Voor measure-code {0} is measure van type Datum vereist.
Controleer of de opgegeven measures Van en Naar van het juiste type (Eenheden of Valuta) zijn. Voor measure-code {0} is measure van type Eenheden of Valuta vereist.
Controleer of de opgegeven measures voor de begindatum en de einddatum van elkaar verschillen. Measure-code voor begindatum beschikbaarheid en measure-code voor einddatum beschikbaarheid mogen niet dezelfde measure zijn.
Controleer of de artikelknooppunten (indien opgegeven) geldig zijn artikel {0} is niet aanwezig
Controleer of de opgegeven measures niet van het type Marketintelligentie zijn. Measure {0} kan niet van het type Marktintelligentie zijn.
Controleer of de opgegeven measures niet van het type Mutatiegegevens zijn. Measure {0} kan niet van het type Mutatiegegevens zijn.
Controleer of de opgegeven measures niet van het type Orders zijn. Measure {0} kan niet van het type Order zijn.
Controleer of de Overschrijven-vlag (indien opgegeven) geldig is. De waarde moet waar of niet waar zijn. Ongeldige parameterwaarde {0}. Moet waar of niet waar zijn.
NB: Alle gedefinieerde vervangingsrelaties in de codelijst zijn ook gevalideerd. Eventuele fouten worden naar het logbestand voor fouten gegenereerd en de verwerking wordt voortgezet voor de resterende relaties in de codelijst.