Can we make this MOD Item?
Filename: BP
Program Name: WEB.MODITEM.CHECK
Return: Error Code and Message:
We can make it: Error Code=0; Error Msg = ''
Mandatory Field(s) are null – can't make: Code=1; Error Msg="Incomplete Data"
Data outside Ranges/Acceptable Choices – can't make: Code=2; Error Msg="Incompatible Data"
- Marketplace Rules for rulesets 201,205,207 - determine whether MP MOD item can be offered based on the following rules:
- Is the Width between 3" and 24"?
- Is the Depth <= 0?
- If Width and Length < 4", allowable gauge is 2-4mil; otherwise 2-6mil
- Must be Full Gauge
- Materials allowed: only Standard and Anti Static. If Static Shielding, don't create MP
- Color: Clear for any material. Pink if Material is Anti-Static. Don't create MP for any other selections.
- No printing or Venting
- Packaging - cases only (no polylining)
- Freight must always be Prepaid (Paid by Laddawn)
- If Zip Code is null, we cannot produce a Marketplace MOD result
- If an exact stock match is found, we will only create a MOD Marketplace quote if the MOD Price AND Availability are better than the stock option. ***ASSUME WEB HAS ALREADY DETERMINED THIS, OR SHOULD WEB PASS THIS INFO ALONG?
- Bags, Sheeting, Tubing, Perforated Sheets, Furniture Bags - determine whether a MOD item can be offered based on the following rules:
- If any of the following rulesets, we cannot produce a MOD result:
- 104 - Bubble Bag
- 106 - Garment Bag
- 108 - Newspaper Bag
- 111 - Polypro Bag
- 112 - Pre-opened Bag
- 113 - Silverware Bag
- 114 - Shrink Bag
- 117 - Wicketed Bag
- 120 - Vacuum Pouches
- 201 – Zip Top (handled in Marketplace above)
- 202 - Slider Top Bag
- 203 - Recloseable Bubble Bag
- 204 - Recloseable Medical
- 205 – Zip Top Static Control (handled in Marketplace above)
- 206 - ZipTop Parts Bag
- 207 – Zip Top w/Hang Holes (handled in Marketplace above)
- 208 - ZipTop w/White Block
- 209 - ZipTop Static Shielding
- 404 thru 406 - C&A
- Any ruleset starting with 5 (Misc)
- Width:
- Is Width > 0? If so, continue with following checks. If not, we cannot produce a MOD result.
- If Furniture Bag, is width within range of 25"-9999" ?
- If Printed = Y (all items except furn bags), is width within range of 9-98"?
- Bags/Tubing/Centerfold Sheeting: If (Material=LLD and LayflatorGusseted=Layflat) OR (Material=Anti Static and Anti Static Resin Base=Linear Low Density and LayflatorGusseted=Layflat) or (Centerfold Sheeting and Material=LLD) OR (Centerfold Sheeting and Material=Anti Static and Anti Static Resin Base=Linear Low Density) - Is Width within range of 8" - 98"?
- Gussted Bags/Gusseted Tubing/Gusseted Sheeting: If LayflatorGusseted = Gusseted, is width within range of 4" - 96"?
- Continuous and Perforated Sheeting - If Singlewound, is range within 24" - 98"? If Centerfold, is width within range of 4" - 98"?
- Depth:
- If Gusseted and Depth <= 0, we cannot produce a MOD result.
- Length:
- Is Length > 0 (for all items except continuous sheeting and tubing)? If so, continue with following checks. If not, we cannot produce a MOD result.
- If Furniture Bag, is length within range of 24" - 98"?
- If Perforated Singlewound Sheets, is length within range of 10" - 400"?
- If Perforated Centerfold Sheets and Width < 24" and Printed, is length within range of 8" - 400"?
- If Perforated Centerfold Sheets and Width < 24", is length within range of 4" - 400"?
- If Perforated Centerfold Sheets and Width >=24" < 34", is length within range of 8" - 400"?
- If Perforated Centerfold Sheets and Width >= 34", is length within range of 8" - 1200"?
- If Perforated Gusseted Sheets and Width+Depth < 34", is length within range of 8" - 400"?
- If Perforated Gusseted Sheets and Width+Depth >= 34", is length within range of 8" - 1200"?
- If Ziptop Bags, is length within range of 3" - 24"? *** THIS IS ALREADY INCLUDED IN MARKETPLACE RULES ABOVE
- If Printed and (Depth > 0" OR Width >= 24" OR Sleeves), is length within range of 8" - 288"?
- If Printed and Depth <=0 and Width < 24", is length within range of 4" - 288"
- If Printed, is length within range of 8" - 999"
- Should add'l draw length tests for BAGS be moved to this program (see WEB.DRAW.LENGTH called by WEB.VALIDATE.ALL)??? Yes, I told Janice to comment in WEB.VALIDATE.ALL and put logic into this program. If draw length error, we cannot produce.
- Gauge:
- Is Gauge > 0? If so, continue with following checks. If not, we cannot produce a MOD result.
- See Function Specs-Shop #27 and associated code in BP WEB.GAUGE.VALIDATE. Use this code (including 'Apply Exceptions' logic).
- Material/Additives:
- If Material = '', we cannot produce a MOD result.
- If UVI/UVA selected but UVI% = '', we cannot produce a MOD result
- If Metallocene selected but Metallocene% = '', we cannot produce a MOD result
- If Material = Polypropylene, we cannot produce a MOD result
- If Material = Trans Shielding, we cannot produce a MOD result
- Zip Code:
- If Prepaid Freight and Zip Code is null, we cannot produce a MOD result
- Color:
- If Color = '', we cannot produce a MOD result.
- If Color # '' and Color # "Clear" and Opacity = '', we cannot produce a MOD result.
- Packaging:
- If Packaging = '', we cannot produce a MOD result.
- If any of the following rulesets, we cannot produce a MOD result:
Stock Ranges from Spreadsheet:
- Modify WEB9001 – subscreen F8-Defaults as follows:
- Change Fkey from 'Defaults' to 'Dflt/Valid'
- Add a second set of multi-values below the default set for 3 columns to store Validation Ranges: Ruleset, Low Range, High Range. Write to WEBCRITERIA.USR fields 30-32.
- For the variables S.WIDTH, S.LENGTH, and S.GAUGE, add each ruleset (not catalog code) to the multi-valued list along with the low/high range. The rulesets are in SYSTBL CFG.RULES.LAD.
- When you are adding code to the VALIDATE programs for width/length/gauge, read these low/high ranges based on RULESET from WEBCRITERIA.USR by locating the ruleset in <30> and extracting low/high from <31>/<32> instead of hard-coding the ranges. This should make the coding much easier. Leave the CASE 1 statements in each of these programs just in case something is missed.