Laddawn.com : Programming Doc - AvanteSearchResultsDesign

Add these fields to ITMMST.USR

FieldName

Description

Pos.

Type

Length

Mandatory / Conversion

Default Value

Validation

 

PACKAGING

Packaging

9

A

20

 

 

 

 

FOLDED.YN

Is Folded

10

Copy from ITMMST INSP.REQD

 

 

 

 

MATERIAL

Material

11

A

25

Y

 

WEBOPTIONS.USR (OPTION.TYPE=MATERIAL, OPTION.VALUE)

 

ANTISTATIC.RESIN

Anti-static Resin

12

A

15

N

 

WEBOPTIONS.USR (OPTION.TYPE=ASRESIN, OPTION.VALUE)

 

ANTISTATIC.MILSPEC

Anti-static Mil. Spec

13

A

10

N

 

WEBOPTIONS.USR (OPTION.TYPE=ASMILSPEC, OPTION.VALUE)

 

ANTISTATIC.PCT

Anti-Static %

14

N

3

N / MD0

0

 

 

METALLOCENE.YN

Has Metallocene

15

Copy from ITMMST INSP.REQD

 

 

 

 

METALLOCENE.PCT

Metallocene %

16

N

3

N / MD0

0

 

 

ANTIBLOCK.YN

Has Anti-Block

17

Copy from ITMMST INSP.REQD

 

 

 

 

HIGHSLIP.YN

Has Highslip

18

Copy from ITMMST INSP.REQD

 

 

 

 

UVI.YN

Has UVI/UVA

19

Copy from ITMMST INSP.REQD

 

 

 

 

UVI.PCT

UVI/UVA %

20

N

3

N / MD0

0

 

 

COLOR

Color

21

A

15

Y /

 

WEBOPTIONS.USR (OPTION.TYPE=COLOR, OPTION.VALUE)

 

OPACITY

Opacity

22

A

10

Y /

 

WEBOPTIONS.USR (OPTION.TYPE=OPACITY, OPTION.VALUE)

 

PLATE.NBR

Plate Nbr

23

A

10

N /

 

FILE(PLATES.USR)

 

PLATE.DESC

Plate Description

24

A

20

Y - IF PLATE.NBR <> "" /

 

MUST BE BLANK IF PLATE.NBR = ""

 

IMAGE.HEIGHT

Image Height

25

N

5

Y - IF PLATE.NBR <> "" / MD2

 

MUST BE 0 IF PLATE.NBR = ""

 

IMAGE.WIDTH

Image Width

26

N

5

Y - IF PLATE.NBR <> "" / MD2

 

MUST BE 0 IF PLATE.NBR = ""

 

INK.COLOR

Ink Color

27

A

10

Y - IF PLATE.NBR <> "" /

 

MUST BE BLANK IF PLATE.NBR = ""

 

PRINT.DIRECTION

Print Direction

28

A

10

Y - IF PLATE.NBR <> ""

 

MUST BE BLANK IF PLATE.NBR = ""
&
TABLE(WEB.PRINTORIENT)

 

READ.ORIENTATION

Read Orientation

29

A

10

Y - IF PLATE.NBR <> ""

 

WEBOPTIONS.USR (OPTION.TYPE=READORIENT, OPTION.VALUE)

 

HOLETYPE

Hole Type

30

A

15

 

 

WEBOPTIONS.USR (OPTION.TYPE=HOLETYPE, OPTION.VALUE)

 

HOLE.PLACEMENT

Hole Placement

31

A

15

 

 

 

 

HOLE.SIDE

Hole Side

32

A

10

 

 

 

 

NBR.OF.HOLES

  1. of Holes

33

N

3

 

 

 

 

FROM.SIDE

From Side

34

N

3

 

 

 

 

FROM.BOTTOM

From Bottom

35

N

3

 

 

 

 

FULL.GAUGE

Full Gauge

36

Copy from ITMMST INSP.REQD

 

 

 

 


I descriptors to add to ITMMST.USR

LFGUS

If DEPTH > 0 "Gusseted" else "Layflat"

Remote Location

Key to other File

 

 

WIDTH

Width

ITMMST<117>

CPN

 

 

DEPTH

Depth

ITMMST<118>

CPN

 

 

LENGTH

Length

ITMMST<119>

CPN

 

 


Processes to alter: BOM3000
Screen Definitions:
There is currently a screen under development in DEV.DATA where characteristics of the items can be entered. BOMI3000.2PS
Add the above fields to that screen.


Create a Option Lookup file & Maintenance Screen.
Process Name: WEB9005
File Name: WEBOPTIONS.USR
File Structure:

FieldName

Description

Pos.

Type

Length

Mandatory / Conversion

Default Value

Validation

OPTION.VALUE

Option Value

1

A

15

Y

 

 

OPTION.TEXT

Option Text

2

A

25

Y

 

 

OPTION.TYPE

Option Type

0

A

10

Y / (<0>, "G0*1)

 

SYSTBL(WEB.OPTIONTYPES.LAD)

OPTION.CODE

Option Code

0

N

5

Y / (<0>, "G0*1)

 

 


Both Option Text and Option Value will need to contain spaces, so neither of them can be part of the key. So the key will be OPTION.TYPE*OPTION.CODE.
OPTION.TYPE will be have to exist in the SYSTBL WEB.OPTIONTYPES.LAD before it is allowed to be entered.
OPTION.CODE will be an entered number.
Screen Definition:


Option Type: ____________________
Option Code: ____________________

Option Value: _____________

Option Text: _________________________________________


Function Keys:
F2 – Save
F4 – Delete
Redback Interface Routine:
Routine Name:
RPC$CUSTOMERPRODUCTITEM_GETBYFILTER (Rename the existing routine to OLD$CUSTOMERPRODUCTITEM_GETBYFILTER)
RPC$WEBPRODUCTITEM_GETBYFILTER
Purpose: Return a list of items that are readable to redback based on the parameters passed in.
Includes:

BP.INCLUDES LAD.COMMON
LD.INCLUDES LD.CONSTANTS
BP.INCLUDES LAD.SHOP.TOP


Input variable name – ITMMST.USR field name:

COMPANY.ID
CATALOG.CD – CATALOG.CD
BILLTO.NBR – Not in ITMMST.USR, So not included in initial select statement.

SHOP.LFGUS -
SHOP.WIDTH -
SHOP.DEPTH
SHOP.LENGTH
SHOP.GAUGE
SHOP.FULLGAUGE
SHOP.ZIPCODE

SHOP.MATERIAL
SHOP.SPECAS
SHOP.SPECLLD
SHOP.ASRESIN
SHOP.MILSPEC
SHOP.ASPCT
SHOP.METALLOCENE
SHOP.METALPCT
SHOP.ANTIBLOCK
SHOP.HIGHSLIP
SHOP.UVI
SHOP.UVIPCT

SHOP.COLOR
SHOP.OPACITY

SHOP.PRINTED
SHOP.PLATENBR
SHOP.PLATEDESC
SHOP.INKCOLOR

SHOP.IMAGEHGT
SHOP.IMAGEWID
SHOP.PRINTDIR
SHOP.READORIENT
SHOP.PRINTAREA
SHOP.VENTED
SHOP.HOLETYPE
SHOP.HOLEPLACE
SHOP.HOLESIDE
SHOP.NBRHOLES
SHOP.FROMSIDE
SHOP.BTWNHOLES
SHOP.FROMBTM

SHOP.PKG
SHOP.FOLDED


Output Field Names: BASEITEM.READ

CPN: KEY to ITMMST
STOCK.UOM: ITMMST<6>
WEIGHT: ITMMST<99>
PART.NBR: The stock item number from the ITMMST file. ITMMST<1>
DESCRIPTION1: TRIM(ITMMST<2>[1,25])
DESCRIPTION2: TRIM(ITMMST<2>[26,25])
DESCRIPTION3: TRIM(ITMMST<2>[51,25])
PACKOUT: PACKOUT from ITMMST (ITMMST<104>)
WIDTH: DIM1 from ITMMST file (ITMMST<117>)
DEPTH: DIM2 from ITMMST file.(ITMMST<118>)
LENGTH: DIM3 from ITMMST file. (ITMMST<119>)
GAUGE: DIM4 from ITMMST file. (ITMMST<123>)
FULL.GAUGE: ITMMST.USR<36> IF "" RETURN 0
SUPPLY.CODE: CD7 from ITMMST (ITMMST<57>[7,1])

GENERIC.NAME: SYSTBL<4> based on GNC.LAD*ITMMST.USR<7>
PACKAGING: PACKAGING from ITMMST.USR file (ITMMST.USR<9>)
FOLDED: ITMMST.USR<10>, IF "" RETURN 0
MATERIAL: ITMMST.USR<11>
ANTISTATIC.RESIN: ITMMST.USR<12>
ANTISTATIC.MILSPEC: ITMMST.USR<13>
ANTISTATIC.PERCENT: ITMMST.USR<14>
METALLOCENE: ITMMST.USR<15> IF "" RETURN 0
METALLOCENE.PERCENT: ITMMST.USR<16> IF "" RETURN 0
ANTIBLOCK: ITMMST.USR<17> IF "" RETURN 0
HIGHSLIP: ITMMST.USR<18> IF "" RETURN 0
UVI: ITMMST.USR<19> IF "" RETURN 0
UVI.PCT: ITMMST.USR<20> IF "" RETURN 0
COLOR: ITMMST.USR<21>
OPACITY: ITMMST.USR<22>
PLATE.NBR: ITMMST.USR<23>
IMAGE.HEIGHT: ITMMST.USR<25> IF "" RETURN 0
IMAGE.WEIGHT: ITMMST.USR<26> IF "" RETURN 0
INK.COLOR: ITMMST.USR<27>
PRINT.DIRECTION: ITMMST.USR<28>
READ.ORIENTATION: ITMMST.USR<29>
HOLE.TYPE: ITMMST.USR<30>
HOLE.PLACEMENT: ITMMST.USR<31>
HOLE.SIDE: ITMMST.USR<32>
HOLE.COUNT: ITMMST.USR<33> IF "" RETURN 0
HOLE.FROM.SIDE: ITMMST.USR<34> IF "" RETURN 0
HOLE.FROM.BOTTOM: ITMMST.USR<35> IF "" RETURN 0


Output Fields: WEBPRODUCTITEM.READ

DATE.AVAILABLE: Calculated availability date. Explained below.
PRICE.EACH: Calculated stock from explained below.


Calculated availability date:
Establish if it is a MOD (Made on Demand) or stock Item
For stock items:
Establish the primary warehouse based on SHOP.ZIPCODE
Read WZIP from SYSTBL
Read the list of Warehouses from SYSTBL WZIP*SHOP.ZIPCODE
Check if any of those warehouses are marked as offline. (OFFLINE.WHS.LAD SYSCON F1)
Set Primary Warehouse as the first warehouse read from the list of warehouses read earlier.
Check Qty Available in that warehouse
Read Quantity Available from INVWHS.
QTY.AVAILABLE = INVWHS<1> - (INVWHS<2> + INVWHS<4> + INVWHS<17>)
If QTY.AVAILABLE < QTY REQUESTED check next warehouse.
If QTY REQUESTED not available anywhere:
Establish if it is a made or purchased.
If CD7 (7th char in ITMMST<57>) = M it's made, P it's purchased.
If Made (CD7 = M)
The assumption is that we can make any backordered item in 3 days. So we will tell the customer out of stock made items are available in 3 days.
AVAILABLE = Today + 3 days.
If Purchased (CD7 = P)

Routine overview:
SHOP.WIDTH, SHOP.LENGTH, SHOP.DEPTH, & SHOP.GAUGE may all be blank. For these parameters, if they are blank do not include them in the criteria of the select statement. We don't want to be selecting items that have "" in any of these dimension fields.
SELECT ITMMST WITH DIMENSIONS.
SELECT ITMMST.USR WITH ALL CHARACTERISTICS MATCHING EXACTLY.
READ SELECTED ITEMS
GIVEN PAGING, FIND THE START AND END OF THE ITEM LIST.
LOOP FROM START TO END
SET KEY = READ ID
$INCLUDE LD.INCLUDES BASEITEM.READ
SET KEY = READ.ID
$INCLUDE LD.INCLUDES WEBPRODUCTITEM.READ
END LOOP
BASEITEM.READ
READ ITMMST.REC FROM ITMMST, KEY ELSE ITMMST.REC = ""
READ ITMMST.USR.REC FROM ITMMST.USR, KEY ELSE ITMMST.USR.REC = ""
WEBPRODUCTITEM.READ
Price per UOM:
Files Needed: PRICE.RECALC, PRICEDET, CUSTMST,
Read price list from CUSTMST<65> for BILLTO.NBR
Read that record from PRICE.RECALC to get price break quantities.
If passed in qty = "" QTY= 1
Locate where QTY would fall in the break quantities (PRICE.RECALC<1> = Break Min qty, PRICE.RECALC<2> = Break Max Qty)
Find the associated Price HDR key(PHK) PRICE.RECALC<3> for the located Break.
Read the PRICEDET Record for the given PHK*CPN. Price is in PRICEDET<3> 5 decimal points.
Look at RPC$PRICE_GETBYFILTER for some ideas, but it only has the first part of this area.