Laddawn.com : Programming Spec - Stock/MOD Item Description (All Pages)

Make all stock and MOD item descriptions consistent throughout the site using the generic name code description (SYSTBL GNC.LAD).

  • For stock items, the Generic Name Code is in ITMMST.USR<7>
  • For MOD Items, the Generic Name Code is in CATALOG.CD.USR<37>.  On pages where you have PROD.TYPE available (widget results), you can read the CATALOG.CD.USR record directly.  When PROD.TYPE isn't available (most if not all other areas of the site), get the MOD Item's catalog code from MOD.ITMMST.USR<1>, then go to CATALOG.CD.USR<37> for the GNC

Modify Avante Screen 'Maintain Catalog Codes' (SYS9026) - timeline 34-5:

  • Add a new function key: F7-Web Desc/Spec
  • Add two new fields to CATALOG.CD.USR for EXTEND.DESC (extended description) and SPECIFICATIONS.  Also add to SYS3002.  Make each field A/N with as many characters as will fit on a screen (77???)
  • Paint the screen with both multi-valued fields.  Extended Desc first, then specifications below.  Paint as many multi-values for each that will fit on the screen and allow scrolling.
  • Remove F4-Del.  F2-Save should display vertically along side of GUI screen (not horizontally).

Modify Option Maintenance Screen (WEB9005) - timeline 34-15:

At F2-Save, write a new xref record to the WEBOPTIONS.USR file (to be used by PRODUCTITEM.READ to equate quote selections to a WEBOPTIONS.USR record) - do this in paragraph WEBP9005.1:

  • Create a header xref record with a key of the value of WORK<1> (ie, COLOR or ASRESIN)
  • Field 1 = multi-valued Option Codes (WORK<2>) - in ascending order
  • Field 2 = multi-valued Option Values (RECORD<1>) - associated with code in field 1
  • Locate Option Code in Field 1.  If not found, insert field 1 and 2.  If found, replace field 2.
  • If a code is deleted (ACTION=3), locate the code in field 1 and delete fields 1 and 2

When an existing record 

Modify LD.INCLUDES PRODUCTITEM.READ - timeline 34-6:

  • Return to the UI the two new fields that you created above.  They s/b passed as a string, colon delimited:
    • Return in existing EXTENDED.DESCRIPTION=:
      • For Stock Item - the new extended desc contents should be inserted before the existing extended description logic - space delimited
      • For MOD Item - Initialize EXTENDED.DESCRIPTION = the new field and SPECIFICATIONS = the new field.  Then write logic similar to the below logic for Stock to append the desc for material, color, etc:  You can use the SHOP. variables for the data in the quote.
      • 292: * EXTENDED.DESCRIPTION and SPECIFICATIONS
      • 293:     EXTENDED.DESC="" ; SPECIFICATION="" ; E.CNECT="" ; S.CNECT=""
      • 294:     OP.TYPE="MATERIAL*":@AM:"ASRESIN*":@AM:"ASMILSPEC*":@AM:"COLOR*":@AM:"O PACITY*":@AM:"READORIENT*":@AM:"HOLETYPE*"
      • 295:     OP.ATTR=11:@AM:12:@AM:13:@AM:21:@AM:22:@AM:29:@AM:30
      • 296:     FOR LP = 1 TO 7
      • 297:       READV IDESC FROM WEBOPTIONS.USR,OP.TYPE<LP>:ITMMST.USR.REC<OP.ATTR<LP >>,3 THEN    ***READ the WEBOPTIONS.USR XRF Record w/key of OP.TYPE (ie, COLOR - no "*") - locate SHOP.COLOR in field 2.  Associated Field 1 multi-value holds the code to read the detail WEBOPTIONS.USR record
      • 298:         ODESC=CONVERT(@VM," ",IDESC)
      • 299:         IF EXTENDED.DESC # "" THEN E.CNECT = " "
      • 300:         EXTENDED.DESC=EXTENDED.DESC:E.CNECT:ODESC
      • 301:       END
      • 302:       READV ISPEC FROM WEBOPTIONS.USR,OP.TYPE<LP>:ITMMST.USR.REC<OP.ATTR<LP >>,4 THEN   *** same as above - use new XRF record to find options code to read
      • 303:         OSPEC=CONVERT(@VM," ",ISPEC)
      • 304:         IF SPECIFICATION # "" THEN S.CNECT = " "
      • 305:         SPECIFICATION=SPECIFICATION:S.CNECT:OSPEC
      • 306:       END
      • 307:     NEXT LP
      • 308:     DATAFIELDS<-1>="EXTENDED.DESCRIPTION=":EXTENDED.DESC
      • 309:     DATAFIELDS<-1>="SPECIFICATIONS=":SPECIFICATION
      • 310: * EXTENDED.DESCRIPTION and SPECIFICATIONS
      • 311:     DATAFIELDS<-1>="IMAGES=":CONVERT(@VM,":",ITMMST.USR.REC<39>) ;* Image N ames JSM.
    • Return in existing SPECIFICATIONS=    (line already exists)
      • For Stock Item - the new specifications contents should be inserted before the existing specification logic - space delimited
      • For MOD Item - I noted the new logic above with the extended description
  • Modify the GENERIC.NAME return field as follows:
    • If Stock Item:
      • If PROD.TYPE # "" then read generic name code from CATALOG.CD.USR<37> using PROD.TYPE and get GENERIC.NAME from SYSTBL GNC.LAD<4>
      • If PROD.TYPE = "" then read generic name code from ITMMST.USR<7> and get GENERIC.NAME from SYSTBL GNC.LAD<4>
    • If MOD Item:
      • If PROD.TYPE # "" then read generic name code from CATALOG.CD.USR<37> using PROD.TYPE and get GENERIC.NAME from SYSTBL GNC.LAD<4>
      • If PROD.TYPE = "" then read the catalog code from MOD.ITMMST.USR<1> then get the generic name code from CATALOG.CD.USR<37>.  Then to SYSTBL GNC.LAD<4>
    • For both types of items:  prefix LABEL.DESC1 with the Generic Name Code Description (FROM GENERIC.NAME) 

Check all website pages to make sure that all are showing size:generic name consistently - timeline 34-7:

Check the following pages for consistency in item description.  Report any problems to Sal - he has been assigned the UI timeline task for each web page:

  • Shop Widget Results
  • Order History - all pages
  • Carts - Active and Shared
  • Saved Items (laddawn part# and customer part# default description)
  • Checkout - Order Summary Page (before 'PLACE ORDER')
  • Checkout - Bartender Label for each item in cart 

Create Pickslips (SOPS4007.2) - timeline 34-14:

Modify create pickslips as follows:

  • SOPS4007.2 - starting around line 1817 - assigning generic name code for MOD Items:
    • If SOHDR.USR<85> is not null (this is the MOD Item#), get the catalog code from MOD.ITMMST.USR<1> then to CATALOG.CD.USR<37> for the generic name code
    • If SOHDR.USR<85> is null, continue to do the logic that is already in the program (from ITMMST.USR)