When c/e is working on the web on behalf of a customer, a separate c/e request will be written for each transaction created on the web, regardless of whether the transaction goes on hold or has comments attached to it. The exception to this rule may be price inquiries, expedites, order tracking unless we can figure out how to trap this information on the web side.
C/E Request Layout:
Items highlighted are the fields that need to be written for a new request. Some fields are conditional like on hold ... they are only updated when the request is put on hold or comments are entered. Fields highlighted in Green are the ones that are entered/captured on the Avante side. The fields in red will be provided by the web:
- F0=Company*Request#
- F1 = Req Source (entered on Avante screen)
- F2 = Billto Cust#
- F3 = Contact# (if not NEPB customer)
- F4 = Req Type
- F5 = Req Status (0=Open; 1=Closed) *** only set to 0 if the hold flag sent by the web is checked
- F6 = Original Operator Code
- F7 = Entry Date*Time
- F8 = Attachment Name *** only written if fax/email (captured on Avante screen)
- F9 = Transaction Id (order#/quote#/ra#) *** some requests don't have an Id
- F10.m=Issue/Response (comments) *** only written if comments are entered
- F11=On Hold Operator *** only written if comments are entered
- F12=On Hold Date*Time *** only written if comments are entered
- F13=Closing Operator
- F14=Closing Date*Time
- F15.m=Request Oper Code (who sent the email) *** only written if comments are entered
- F16.m=Routed To Dept Cd (dept they sent it to) *** only written if comments are entered
- F17.m=Routed To Date*Time (routing date*time) *** only written if comments are entered
- F18=Sales Rep (captured on Avante screen)
- F19=Attachment Receipt Date*Time *** only written if fax/email (captured on Avante screen)
- F20=Hold Confirming Order# (***NOT USED)
- F21=Close Onhold Dt*Tm
Transaction Types handled on the web:
The following web transactions must be separated into individual requests for onhold tracking:
- 030 - Sales Order Entry (note: 040-sales order change will be handled on Avante for phase I)
- 110 - Quote Entry
- 120 - Quote Change
- 130 - Convert Quote to Sales Order
The following transactions done on the web may not need to spin off separate requests or we may not be able to distinguish when these occur on the web unless specified manually by c/e:
- 041 - Expedite ***
- 043 - Check Order Status ***
- 045 - Backorder
- 070 - Stock Check ***
- 080 - Price Inquiry ***
- 090 - S/O Acknowledgement Print ***
- 100 - Invoice Print
- 140 - Quote Print ***
*** We will allow manual entry of any of these transactions on the c/e request popup screen on the site. We will flag these RTC.LAD records with a "1" in the Rate field (field 3). RPC$SYSTEMTABLEITEM_GETBYFILTER will filter on this field.
The following fields should be available to c/e on the web to enter transaction-specific notes/routing comments and to place a request on hold:
- 3 Lines of Comments (75 characters each)
- On Hold Checkbox (so they can put a request on hold, which in turn holds the order from printing in the warehouse)
- Route to Dept Code
Return the following info to Avante via TXX and spin off request(s) - new BP WEB.SPINOFF.CEREQS:
The following fields will be associated multi-values written to the TXX file as each transaction occurs on the web. The stock order & convert quote transactions could be written to TXX by the create order/convert quote programs. The Create Quote (STATUS 1 or 2) and the Change Quote (STATUS 3) transactions could be written to the TXX file by the create quote program. Not sure how we will hookup 'onhold comments/flag/routing' to these transactions. Maybe locate their transaction id in record? these probably won't work for orders, where notes have to be made first (maybe in cart)??? Note: if transaction is flagged as on hold, it must have at least one line of comments. If not on hold, comments could be blank. But if comments aren't blank, they must enter a routing code (even if they route it to themselves). Email won't be sent if they route it to themselves and don't put it on hold.
- Multi-valued Transaction Types (quote/stock order/quote change/convert quote) ***
- Multi-valued Transaction IDs (quote# or order#-not master order)
- Multi-valued On Hold Flag
- Multi-valued Routed To Code
- Sub-valued Notes for the Transaction
Loop through txx and create a separate request for each:
- Establish RECORD *** most record fields have already been loaded - just update TXX info
- Setup WORK:
- WORK<2> = NEW (assign new request#)
- WORK<8> = operator code
- Make sure RECORD<5> (req status) is set to "0" if the txx record says the transaction is to go on hold otherwise set status to "1"-closed
- If txx has comments:
- WORK<4> = Routed To
- WORK<5> = Comments
- Execute SOPP9116.3 (if request isn't on hold (<5> # 1) then it won't send email else it executes SOPS9116.3 to send email)
- For the 1st request being created (this process moves the attachment to the correct folder, so we only want to do that once):
- Execute SOPP9116.5 (which in turn executes SOPS9116.4 to update files)
- For each subsequent request being created:
- Execute SOPS9116.4 to update files
Modify SOPS9116.4 - Request File Updates:
Sets flname and fldnbr for request# xref updating in SOHDR.USR/QUHDR.USR based on program name initially called (ie, SOP4000, QUO4000). Tran Type 005 (web) has WEB9006 as the initial calling process. Each individual transaction that we create a request for could be for a different transaction type. It's planned for the type code to come back with the trx id in TXX, but we need to figure out how to get that info to the calling process (maybe via PARMS(14)<12> which isn't being used). Add code that if PGM1=WEB9006 that it look for the transaction type in PARMS(14)<12>???
New/Changed Programs:
- WEB.SPINOFF.CEREQS
- WEB.BROWSER.STATUS
- WEB.CEREQ.TXXINFO
- WEB.CREATE.QUOTE
- SOPP9116.5
- RPC$REQUEST_GETBYFILTER
UI:
- When the browser is closed, write TIME() to TXX<11>. Avante will check for this before allowing the request to be saved. This will ensure that the browser is always closed down before returning to Avante.
QUESTIONS:
- HOW TO HANDLE EXISTING REQUESTS ???? They will have real trx types in requests.usr<4> which aren't being told to go to the site. If we change that, we will need separate trx types for sample orders and ns quotes that go to Avante screens
- All requests have same start/end times - is that ok? YES
- Multiple requests are only being spun off when tran type = 005. What if they choose one of the real codes?
- What other tran types do we want to track on the web? (see above list) Would the tracking be manual (allow 'new' request) or would we try to determine by where they are? MANUAL - SEE ABOVE "*' ITEMS - THESE HAVE BEEN ADDED TO THE WEB POPUP FOR MANUAL CREATION