Question

Prepare Replenishment Scope...

  • 9 November 2023
  • 0 replies
  • 43 views

Userlevel 2
Badge

Hello all!

I’m looking into limiting the scope of transaction being evaluated by the Prepare Replenishment screen, Screen ID : IN508000. We’re doing this because we often have orders that are entered into the system well in advance, like 6 months or more in advance. This results in us storing product in a warehouse for months until the order comes to be Shipped, not reasonable. We would like the system to only look ahead one week from the current date of the preparation.

I’m also learning how to create my own customization projects and think I’ve found the place and figured out the necessary changes, yet to be confirmed…

 

Diving in head first ( note that I’m open to other options here ) I believe I need to extend the Business Logic ( a Graph Extension? ) for PC.Objects.IN.INReplenishmentItemCreate

 

I’ve found two bql statements that I believe need to be modified…

the first one from…

PXFilteredProcessingJoin<INReplenishmentItem, INReplenishmentFilter,     LeftJoin<INItemClass, On<INReplenishmentItem.FK.ItemClass>>,     Where<INReplenishmentItem.siteID, Equal<Current<INReplenishmentFilter.replenishmentSiteID>>,                                 And2<Where<Current<INReplenishmentFilter.itemClassCDWildcard>, IsNull,             Or<INItemClass.itemClassCD, Like<Current<INReplenishmentFilter.itemClassCDWildcard>>>>,         And2<Where<INReplenishmentItem.launchDate, IsNull,             Or<INReplenishmentItem.launchDate, LessEqual<Current<INReplenishmentFilter.purchaseDate>>>>,         And2<Where<INReplenishmentItem.terminationDate, IsNull,             Or<INReplenishmentItem.terminationDate, GreaterEqual<Current<INReplenishmentFilter.purchaseDate>>>>>>>>>

o…

PXSelectJoin<INReplenishmentItem,     LeftJoin<INItemClass, On<INReplenishmentItem.itemClassID, Equal<INItemClass.itemClassID>>>,     Where<INReplenishmentItem.siteID, Equal<Current<INReplenishmentFilter.replenishmentSiteID>>,         And2<Where<Current<INReplenishmentFilter.itemClassCDWildcard>, IsNull,             Or<INItemClass.itemClassCD, Like<Current<INReplenishmentFilter.itemClassCDWildcard>>>>,         And2<Where<INReplenishmentItem.launchDate, IsNull,             Or<INReplenishmentItem.launchDate, LessEqual<Current<INReplenishmentFilter.purchaseDate>>>>,         And2<Where<INReplenishmentItem.terminationDate, IsNull,             Or<INReplenishmentItem.terminationDate, GreaterEqual<Current<INReplenishmentFilter.purchaseDate>>,                 And<INReplenishmentItem.terminationDate, LessEqual<Add<Current<INReplenishmentFilter.purchaseDate>, Week>>>>>>>

the second one from…

Select2<INReplenishmentItem,     LeftJoin<INItemClass, On<INReplenishmentItem.FK.ItemClass>>,     Where<INReplenishmentItem.siteID, Equal<Current<INReplenishmentFilter.replenishmentSiteID>>,         And2<Where<Current<INReplenishmentFilter.itemClassCDWildcard>, IsNull,             Or<INItemClass.itemClassCD, Like<Current<INReplenishmentFilter.itemClassCDWildcard>>>>,         And2<Where<INReplenishmentItem.launchDate, IsNull,             Or<INReplenishmentItem.launchDate, LessEqual<Current<INReplenishmentFilter.purchaseDate>>>>,         And<Where<INReplenishmentItem.terminationDate, IsNull,             Or<INReplenishmentItem.terminationDate, GreaterEqual<Current<INReplenishmentFilter.purchaseDate>>>>>>>>>

to…

Select2<INReplenishmentItem,     LeftJoin<INItemClass, On<INReplenishmentItem.FK.ItemClass>>,     Where<INReplenishmentItem.siteID, Equal<Current<INReplenishmentFilter.replenishmentSiteID>>,         And2<Where<Current<INReplenishmentFilter.itemClassCDWildcard>, IsNull,             Or<INItemClass.itemClassCD, Like<Current<INReplenishmentFilter.itemClassCDWildcard>>>>,         And2<Where<INReplenishmentItem.launchDate, IsNull,             Or<INReplenishmentItem.launchDate, LessEqual<Current<INReplenishmentFilter.purchaseDate>>>>,         And<Where<INReplenishmentItem.terminationDate, IsNull,             Or<INReplenishmentItem.terminationDate, GreaterEqual<Current<INReplenishmentFilter.purchaseDate>>,                 And<INReplenishmentItem.terminationDate, LessEqual<Add<Current<INReplenishmentFilter.purchaseDate>, Week>>>>>>>

 

a) Am I even close?

b) How would I go about swapping the code? could i do so by replacing ‘public class Processing’  within a Graph Extension?

c) Is there another way of facilitating this without the use of a customization?

 

I’ve opted to try extending the Graph, replacing ‘public class Processing’ but I’m experiencing issues with And<INReplenishmentItem.terminationDate,LessEqual<Add<Current<INReplenishmentFilter.purchaseDate>, Week>>>

 

Please feel free to school me! an and all thoughts and insights would be greatly appreciated and thanks so much for it all! ;-)


0 replies

Be the first to reply!

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved