Ontwerpdetails: Boekingsstructuur artikeltracering
Artikelposten worden gebruikt als primaire bron van artikeltraceringsnummers om af te stemmen met de functionaliteit voor voorraadwaardering en om een eenvoudigere en robuustere oplossing te bieden.
Artikeltraceringsnummers van ordernetwerkentiteiten en niet-ordernetwerkentiteiten worden opgegeven in tabel (T337) Reserveringspost. Artikeltraceringsnummers die zijn gerelateerd aan historische gegevens, worden direct opgehaald uit de artikelposten die gerelateerd zijn aan de desbetreffende transactie. Dit betekent dat de artikelposten de artikeltraceringspecificatie van de geboekte orderregel aangeven.
Op de pagina Artikeltraceringsregels wordt de informatie opgehaald uit T337 en de artikelposten, en wordt deze getoond via de tijdelijke tabel Traceringsspecificatie (T336). T336 bevat ook de tijdelijke gegevens op de pagina Artikeltraceringsregels voor artikeltraceringsaantallen die nog moet worden gefactureerd.
Een-op-veel-relatie
De tabel Artikelpostrelatie, die wordt gebruikt om een geboekte documentregel te koppelen aan de gerelateerde artikelposten, bestaat uit twee hoofdonderdelen:
- Een verwijzing naar de geboekte documentregel, het veld Orderregelnr..
- Een volgnummer dat verwijst naar een artikelpost, het veld Artikelpostnr..
De functionaliteit van het bestaande veld Volgnummer, waarmee een artikelpost aan een geboekte documentregel wordt gekoppeld, verwerkt de veelvoorkomende één-op-één-relatie wanneer er geen artikeltraceringsnummers bestaan op de geboekte documentregel. Als er artikeltraceringsnummers bestaan, wordt het veld Volgnummer leeg gelaten en wordt de één-op-veel relatie verwerkt door de tabel Artikelpostrelatie. Als de geboekte documentregel artikeltraceringsnummers heeft, maar slechts betrekking heeft op één artikelpost, verwerkt het veld Volgnummer de relatie en wordt geen record gemaakt in de tabel Artikelpostrelatie.
Codeunits 80 (Verkoop-Post) en 90 (Aankoop-Post)
Om de artikelposten te splitsen tijdens het boeken, wordt de code in codeunit 80 en 90 omringd door lussen die door globale tijdelijke recordvariabelen lopen. Deze code roept de codeunit 22 aan met een artikeldagboekregel. Deze variabelen zijn geïnitialiseerd wanneer artikeltraceringsnummers aanwezig zijn voor de documentregel. Om de code eenvoudig te houden, wordt deze lusstructuur altijd gebruikt. Als er geen artikeltraceringsnummers bestaan voor de documentregel, wordt één record ingevoegd en wordt de lus slechts eenmaal uitgevoerd.
Het artikeldagboek boeken
Artikelvolgnummers worden overgedragen via de reserveringsposten die betrekking hebben op de artikelboeking. De doorloop via artikelvolgnummers vindt plaats in codeunit 22 (Artikelvolgorde-Boekregel). Dit concept werkt op dezelfde manier als wanneer een artikeldagboekregel indirect wordt gebruikt om een verkoop- of inkooporder te boeken als wanneer een artikeldagboekregel rechtstreeks wordt gebruikt. Wanneer het artikeldagboek direct wordt gebruikt, wijst het veld Bronrij-id naar de artikeldagboekregel zelf.
Code Unit 22 (Item Jnl.-Postregel)
Codeunits 80 (Verkoop-Post) en 90 (Inkoop-Post) sturen de aanroep van codeunit 22 (Artikelpost-Postregel) door tijdens het boeken van de factuur van artikeltrackingnummers en tijdens de facturering van bestaande zendingen of ontvangsten.
Tijdens het boeken van de hoeveelheid van artikelvolgnummers haalt codeunit 22 (Artikelboeking-Boekregel) artikelvolgnummers op uit de posten in T337 (Reserveringspost) die betrekking hebben op de boeking. Deze posten worden direct op de artikeldagboekregel geplaatst.
Codeunit 22 (Artikelposten-Boekregel) doorloopt de artikeltraceringsnummers en splitst de boeking op in de betreffende artikelposten die de artikeltraceringsnummers bevatten. Informatie over welke artikelposten er zijn aangemaakt, wordt teruggestuurd naar T337 (Reserveringspost) met behulp van een tijdelijke T336-record, die wordt aangeroepen door een procedure in codeunit 22. Deze procedure wordt geactiveerd wanneer de uitvoering van codeunit 22 is beëindigd omdat op dat moment het codeunit 22-object de informatie bevat. Wanneer het tijdelijke T336-record wordt opgehaald, maken Codeunits 80 (Verkoop-Post) en 90 (Inkoop-Post) records aan in de tabel Artikelpostrelatie om de gemaakte artikelposten toe te wijzen aan de gemaakte verzend- of ontvangstregel. Codeunits 80 (Verkoop-Post) en 90 (Inkoop-Post) zetten vervolgens de tijdelijke T336-records (Tracking Specificatie) om in echte T336-records (Tracking Specificatie) die betrekking hebben op de betreffende regel. Deze conversie vindt echter alleen plaats als de geboekte documentregel niet wordt verwijderd, omdat deze slechts gedeeltelijk wordt geboekt.
Zie ook
Ontwerpdetails: Item Tracking
Ontwerpdetails: Item Tracking-ontwerp