Laddawn.com : Programming Doc - Print Plate Upload

Cart – Print Plate Image Upload
9/16/13
From the active cart, the user (both distributor and c/e) will have the ability to upload the random repeat print plate image in pdf format to our Plates/Images folder. This option is available today from the current website, so we will start with these programs and alter as needed. Since we now have two copies of DEV925, you can change these programs without affecting the current site. No re-naming will be necessary.
Currently, on the Avante side, the process is as follows:

  1. C/E places the pdf in the PLATES/CSTEMP folder with a name of QUOTE.LINE#
  2. Paragraph QUOP4000.43PS is executed:
    1. First executes SOPS9148.1 to assigns plate# and write the PLATES.USR record
    2. paragraph moves pdf from CSTEMP folder to IMAGES folder, renaming it as the plate# that was assigned.
    3. paragraph executes SOPS9148.2 to update CFBLD, CFORDER, CFQNA and CFSCRIPT files with the new plate#


Currently, on the Old Website:

  1. The customer must upload their pdf first before they are allowed to go through the Checkout Screens. Once they are done with checkout, an email is sent to the c/e queue for them to convert to an order. C/e then routes the pdf to Marketing for approval before converting the quote to an order.
  2. Program RPC$PLATE_SAVE is executed, which does steps 2a and 2b (writing the pdf directly to PLATES/IMAGES bypassing the CSTEMP folder). The site then calls RPC$QUOTEITEM_UPDATEPRINTING to do step 2c. There is an issue with what is being called from this RPC, which we will correct while adapting for the new site. The current site is calling paragraph QUOP4000.44PS instead of SOPS9148.2.


Changes for the new site:

  1. Modify LDLIB RPC$PLATE_SAVE:
    1. Needs includes: BP.INCLUDES LAD.COMMON, LD.INCLUDES LD.CONSTANTS and BP.INCLUDES LAD.SHOP.TOP
    2. Change PARAMS to named variables:
      1. PLATE.TYPE=1 (custom plate)
      2. Set QUOTE.LINE to the first open line if it's null
      3. QUOTE.NBR and PART.NBR will be passed from the web
      4. COMPANY should be changed to COMPANY.ID
      5. PLATE.NBR should be set to the new plate# that is assigned by SOPS9148.1
    3. Return the PLATE.NBR in RETURN.VALUE
  2. Modify LDLIB RPC$QUOTEITEM_UPDATEPRINTING:
    1. Needs includes: BP.INCLUDES LAD.COMMON, LD.INCLUDES LD.CONSTANTS and BP.INCLUDES LAD.SHOP.TOP
    2. Change PARAMS to named variables:
      1. QUOTE.NBR and PART.NBR will be set by the web
      2. Set LINE.NO to the first open quote line if it's null
      3. PLATE.NBR was just set from SOPS9148.1
    3. Call SOPS9148.2 instead of QUOP4000.44PS (make sure PARAM passing is correct)
    4. Return any data in RETURN.VALUE


Once the pdf is uploaded with a plate# assigned - On the UI side:

  1. If c/e has uploaded the plate (which is what usually happens):
    1. After the upload is complete, they will route the c/e request to Chris as usual and await plate approval. At that time, they can go through checkout on the active cart.
  2. If a customer has uploaded the plate: ***we are planning on asking the design group if we can force c/e to do all plate uploads and conversions. Per Sarah, 99% of pdf uploads and quote conversions are done by c/e. They do not get the 1% web discount. Ignore this for now until we get an answer. It was decided that anyone can upload the plate and go through the checkout screens. Will be stopped at that time until the plate is approved. If customer uploaded, and went through checkout, an email will be sent into the queue.
    1. Send an email to the c/e queue to start the plate approval process (instead of trying to spin off a c/e request directly to Chris). C/E will create a request for this email and will route it to Chris for approval.
    2. How do we notify the customer once the plate is approved? Does c/e complete the process (but they don't know the checkout info)??
  3. We should stop the checkout of this cart until the plate is approved. The PLATES.USR record field 13 has an approval date. If null and the buy flag on QUDET.USR<11>=1 then checkout shouldn't be allowed. To accomplish this, set a new flag in LD.INCLUDES SHOPPINGCART.READ – set CHECKOUT.ENABLED to 0 or 1. Set to 0 if print plate is not approved (SHOP.PRINTED and QUDET.USR<11>=1 and PLATES.USR<13>=''), else set to 1.