Laddawn.com : Item-Specific W/O Comments - Technical Notes

 

 

My Accounts:

  • In the 'Pallet' section of the Shipping Preferences screen for Individual Customers Only (not for All Locations): Add '#Pkgs per Pallet' comment as a selectable preference for a Billto or Shipto customer.  Because this is an Item-specific comment, the user will be required to enter the MOD Number(s) that require this comment on the production paperwork, along with the #pkgs for each MOD#. 
  • In the CE Preferences screen, new item-specific free-form comments will be added (for pallet comments like No Slats, Label inside of Core).  MOD Number(s) and free-form comment will be entered.  Up to 10 free-form comment preferences may be added per MOD#.  These will be available for Individual Customers Only (billto or shipto).

1. Starting Point: My account – Shipping:

Only change here will be that we will show the correct text that will represent that these new comments are selected for the customer (something like "Item-Specific Preferences" or "No Item-Specific Preferences"??). The modification is what happens when the user clicks change.

 

                                                                                                                                Fig 1

When they click change this is what we currently have (NOTE: this screen snapshot is missing Export Pallets so isn't showing it with radio buttons - this new MOD# grid will be added to the individual location screen that has export pallets on it):

 

A new checkbox will be added for "#Packages Per Pallet" that will pull up a grid below it when checked.  NOTE: The screen snapshot below is incorrectly labeled "Max # Per Pallet".  Use #Packages Per Pallet to match what is shown in Checkout).  The grid below will have a bottom line where the user can type in a MOD part number. If there are some items that have been set with an item-specific comment previously, they would automatically show up in the grid.  Like the active cart, once the user leaves the Qty per Pallet box with both fields filled out that line commits to the grid and everything moves down a line. This would be similar to the active cart tab.  See image below (Fig 2).

                                                                Fig 2

UI: Similar grid interface to saved items where hover changes color of the whole line and an x icon appears on the right.  Remove the purple find icon from the part number box.  It is now just  a plain text box.

 

UI: Hover on Part Number gives the same hover as Saved Items (Fig 3):   

                                                                                                                                Fig 3

UI: Filling in the Qty Per Pallet will commit the line to the grid and move the text boxes down to the new bottom line.

 

On the CE screen (UI):

Add a new section to the CE Management area of the My Account area.

                       

When they check that box. A grid drops down under the item Specific comments.

  

Upon leaving the comments field.  If the item # is filled out then we commit the changes to the grid and append a line.

 

When the user hovers over the line it will look like the image below.

 

Clicking on the X icon will delete the item from the list.

Hovering over the Item number we will have a tool tip like the saved items.

 

If an item has more than one comment that needs to be added, it will show up multiple  times on the grid with the different comments in the comments field. A max of 10 item-specific comments are allowed per MOD item.  The UI should control this.

Just like the rest of the my account area, nothing will be commited to the database until the page is saved.

= = = = = = = = = = = = = =

Database - Summary of Enhancements:

Allow for item-specific preferences for Nbr of Packages per Pallet as well as a few new comments.  These comments will be attached to the MOD number(s) and will carry through to the production work order.

  1. A new file will be created with a key of CO*CUST*MOD#.  Fields 1-3 will contain multi-valued Comment Numbers with associated Input1/Input2.
  2. A new option to the 'Preference Flag' field in Comments Maintenance (SYS9012) for 'Item Specific Preference'.  Change Comment# 007 (#Pkgs per Pallet) from 'Not a Preference' to 'Item Specific Preference'.  Add new comment(s) and set the preference flag accordingly.
  3. Modify the My Account area (both the Shipping and CE (manager only) screens) to show a Grid format for these item-specific comments.  Ability to enter multiple MOD Numbers and associated Input1/Input2 if needed.  Nbr of Pkgs per Pallet will be added to the Shipping screen (Pallet Section) and the new 800 series comments will be added to the CE screen.  Also, export pallets will be added to the shipping screen as an item-specific comment (will leave the customer-specific export pallet pref there too).
  4. Modify BP WEB.GET.PREFDEFAULTS to read the new file and return item-specific preferences - must return the Part# along with the comment# and input1/input2
  5. Checkout Bundling will be modified to get the item-specific preferences (via WEB.GET.PREFDEFAULTS) and pass them to the UI to be shown on the main bundling screen.  The 007 comment, if set as a preference for the MOD Item, will be shown.  If CE, all 8xx comments set as prefences will be shown.  For the customer, only the 8xx comments that have the 'print on sales order acknowledgement' flag set will be shown on the main bundling screen if setup as a preference.
  6. Checkout Special Instructions popup will check the box for the 007 comment if it was setup as a preference.  The 8xx series comments will not be shown on the CE special instructions popup, since these are manager-set preferences.  Allow the 007 comments to be set as preferences in the popup for LTL MOD bundles by showing the 'make this a preference' checkbox.  The 007 comment should continue NOT to show for LTL stock-only bundles. Modify RPC$COMMENTS_GETBYFILTER so that 8xx series comments are not shown on the CE special instructions popup.  It should already by bypassing the 007 comment for stock-only LTL bundles.
  7. Bundling - pass the new comments along to the shopping cart record along with the 'Make this a Preference' flag (RPC$SHIPMENTBUNDLING_GETBYFILTER and WEB.BUNDLING.ALTERNATIVE.OPTIONS)
  8. Modify programs:
    1. LDLIB RPC$COMMENTS_GETBYFILTER
    2. LDLIB RPC$CUSTOMER_PREFSAVE
    3. BP WEB.GET.PREFDEFAULTS
    4. LDLIB RPC$SHIPMENTBUNDLING_GETBYFILTER
    5. BP WEB.BUNDLING.ALTERNATIVE.OPTIONS
    6. BP WEB.CREATE.CUSTOMER
    7. BP WEB.GET.PREFCOMMNBRS 

Database - Tech Notes:

My Account - Shipping & CE:

  1. Create a new user file: ITMINFO.USR with the following layout (add dictionaries as well as updating SYS3002-including F8 description):
    1. Key = Company * Individual Customer# * MOD Item#
    2. F1 = Multi-valued Item-Specific Comment Numbers
    3. F2 = Multi-valued Comment Input1
    4. F3 = Multi-valued Comment Input2 (not used for the initial item-specific comments but allow for future comments)
  2. Set up 10 new comments in COMMENTS.USR for the item-specific CE comments.  These s/b numbered 801-810 (you will have to manually create these in COMMENTS.USR because SYS9012 will try to assign the next sequential number).  Then using SYS9012, set these up.  Flag them as 'print on acknowledgement' and 'print on w/o traveller'. Create a new 'Pkg Comment Type' group "6" called "Item-Specific".  The 8xx series will have no F5-Web Info data loaded, because we don't want these to show up on the Special Instructions Popup in checkout (they will only show on the main bundling screen).  The UI will handle getting the 'item-specific' checkbox on the My Account CE screen and will look for 8xx series comments/MOD Numbers.  Also, change existing comment #007 (#Pkgs per Pallet) from a 'not a preference' comment type to an 'item-specific' comment type.  Put in the Pallets group of the screen. NOTE: The UI will handle 8xx series comments on the CE screen as well as getting the Export Comment# 006 into the item-specific area of Shipping Preferences screen.  The Export comment is also customer-specific and is in the Pallet section of the Shipping My Account screen.  If the UI returns a customer-specific 006 comment, we should continue to write to CUSTMST/CUSTMST.USR.  If the item-specific comment 006 is returned (with a MOD#), it s/b written to ITMINFO.USR.  Either way, once it gets to checkout, it s/b upcharged like it is today.
  3. Modify BP WEB.GET.PREFDEFAULTS (called from checkout bundling and RPC$COMMENTS_GETDEFAULTS):
    1. Add a 'SELECT' of the ITMINFO.USR for the individual customer that is being worked on (don't do this select when they are working Globally).  This will be a list of the item-specific comments by MOD#.  ITMINFO.USR holds a mix of comment #007 as well as the new 801-810 comments, but per John it's ok to return them all together.  Also note that the same MOD# could be repeated in the list with different comment numbers.
    2. Return the item-specific comments along with the customer-specific comments in the same ARG fields 30-32.  Add a new associated ARG field that passes along the MOD Item# associated with each item-specific comment (comments 007 and 8xx)
  4. Modify CUSTOMER.READ to return "|" (pipe) delimited part numbers in param PART.NBR that correspond to the comments returned by WEB.GET.PREFDEFAULTS.  This includes 007 comment and all 8xx series comments.
  5. Modify LDLIB RPC$CUSTOMER_PREFSAVE. The UI will now be returning PART.NBR with the MOD Item Nbrs for item-specific preference comments.  PART.NBR will be pipe-delimited like PKGCOMM.NBR, PKG.INPUT1 and PKT.INPUT2 and will be associated with these other params.  If there is an associated MOD# in PART.NBR, you will be updating the new ITMINFO.USR file instead of CUSTMST/CUSTMST.USR.  I would suggest that you put all item-specific comments together by MOD# and read the ITMINFO.USR once for each MOD#.  That way you can just clear fields 1-3 and rebuild them.  This will be helpful with the 8xx series comments, which s/b renumbered each time, starting with 801.  The 8xx comment numbers are invisible to the user.  Also comments 006 and 007 will be written here if a MOD# is passed:
    1. For regular customer-specific preference comments, you will continue to receive the comment nbrs in PKG.COMMNBR, and the associated inputs in PKG.INPUT1/PKG.INPUT2.  The MOD Item# in PART.NBR will be null.
    2. For item-specific preference comments, if there's a comment# in PKG.COMMNBR and a MOD# in PART.NBR, this is the 006 or 007 comment.  Write that comment with associated input1/input2 to ITMINFO.USR
    3. For item-specific preference comments, if the PKG.COMMNBR is null but there is a MOD# in PART.NBR, then this is an 8xx series comment.  Each null comment number should be assigned an 8xx number starting with 801.  So if 3 comments were sent to the UI (801-803) and 802 was deleted and two new ones were added, they would be re-numbered 801-804.
    4. For item-specific comments that were deleted from the list, the UI will return *DEL in PKG.INPUT1.  This is so that we will know to read the ITMINFO.USR record for this item and update (remove all item-specific references and reload them from the UI list, bypassing the *DEL items).
  6. Modify RPC$COMMENTS_GETBYFILTER to bypass the selection of 8xx comments when in Checkout (for the special instructions popup).

 

Checkout - Shipment Bundling/Special Instructions:

  • On the main bundling screen, we will check for item-specific preferences for MOD bundles and display any comments found for the MOD Item.  The user will not have to go into the Special Instructions Popup to see these preferences.  The new item-specific preferences will be returned with customer preferences from the call to WEB.GET.PREFDEFAULTS.  They follow the same rules as customer preferences on the main bundling screen - if the comment is flagged to be printed on the sales order acknowledgement, then they will be shown to everyone on the main bundling screen.  If they aren't printing on the acknowledgement, they will only be shown to CE.
  • On the Special Instructions Popup, customers will see the #Pkgs per Pallet checkbox checked if this was established as a preference.  Bundling will return this info to the UI along with the customer preferences to be checked.  They can also check this box for an individual order if it is not a preference, as they do today.  The 'make this a preference?' checkbox will now appear for this comment if it hasn't already been established as a preference (I believe this will be taken care of by the fact that comment 007 is now flagged as a preference).
  • On the Special Instructions Popup for CE, the new item-specific comments will be shown (8xx and item-specific Export Pallets), with the checkbox checked if they have been setup as a preference.  The 'make this a preference' box will also be shown if not previously a preference. *** WE DECIDED NOT TO DO THIS

Create Stock Order, Create Quote, Sales Order Acknowledgement and W/O Traveler:

  • All item-specific comments that are flagged as 'print on the acknowledgement' should be added to the order comments and printed on the acknowledgement.  If they are flagged as 'print on work order', they should be added to the other w/o comments in CFBLD/CFBLD.USR.
  • Any item-specific comments that are flagged in the special instructions popup during checkout as 'make this a preference' should be written to ITMINFO.USR in WEB.CREATE.CUSTOMER.

 

6/25/15 - added:

Sal needs a new RPC written for the #packages per pallet range validation in My Account for comment#007 - the current BP program requires a quote# and is only called by RPC$COMMENTS_GETBYFILTER - this won't work in my account because we have multiple MOD Numbers in the grid (works in checkout because we are only working on a single MOD#/Quote#.  Write a new RPC that will find the most recent quote# and call the BP program that calculates min/max for #pkgs per pallet:

  1. New LDLIB RPC$COMMENTS_NBRPKGSVALIDATE
  2. Sal will pass you PART.NBR as the MOD# from the grid.  You should have company and billto# customer# available
  3. Read the most recent quote# from MOD.ITMMST.USR<7,1> and set QUOTE.NBR
  4. Set PARAM<1> = QUOTE.NBR and call WEB.PALLET.NBRPKGS
  5. You will receive min/max in PARAM<2> and PARAM<3>
  6. Return to UI as RANGE.MINIMUM1 and RANGE.MAXIMUM1