1 / 35

Use of TailorPro for Sales Order Maintenance modifications and other business needs

Use of TailorPro for Sales Order Maintenance modifications and other business needs. Michelle Baumann & Bruce LeBel. About Superior Essex.

brendy
Download Presentation

Use of TailorPro for Sales Order Maintenance modifications and other business needs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Use of TailorPro for Sales Order Maintenance modifications and other business needs Michelle Baumann & Bruce LeBel

  2. About Superior Essex Superior Essex Communications is the largest manufacturer of copper communications cable in North America and the largest worldwide manufacturer of copper outside plant (“OSP”) wire and cable products.

  3. About Tailor Pro • TailorPro enables a business to adapt their software to their business processes rather than vice versa. • Without changing either source code or the production database. • TailorPro enables behavior modification for applications written in Progress. • Change screens, data structures and business logic

  4. TailorPro General Capabilities • Screen Modifications • New Screens, Browsers, Applications • New Business Rules • New Fields and Indexes • Logic-driven Defaults • Security on any field • Audit trail on any field • Data Validation • User Control • Analytical Data Creation from Transactions

  5. Superior Essex and Tailor Pro • Increased validation • Setting of defaults • Special functions for Essex • No change to QAD Source Code • Minimal changes for QAD Service pack or upgrade • Ease of use

  6. Sales Order Header • Increased validation of Bill-to • Default of Sales channel • Increased validation of purchase order / PO release for E-commerce customers. • Selective hide on credit terms

  7. Header - Bill-to Validation • Why: QAD allows for any valid Bill-to customer to be assigned to a sales order. This could result in an incorrect invoice. • Solution: Added anchor on leave of Bill-to customer to validate the Bill-to on the customer master table.

  8. Sales Order Header – Bill-to Sample Error

  9. Sales Order Header – Bill-to Sample Code define shared variable global_userid as char. define variable scrn-cust as char. define variable scrn-bill-cust as char. {getscrn.i &FieldName = '"so_cust"' &Framename = '"a"‘ &Variable = scrn-cust} {getscrn.i &FieldName = '"so_bill"' &Framename = '"a"' &Variable = scrn-bill-cust} if not scrn-bill-cust = scrn-cust then do: find first cm_mstr where cm_addr = scrn-cust no-lock no-error. if avail(cm_mstr) then do: if not cm_bill = scrn-bill-cust then do: {setmsg.i &MessageType = "Error" &MessageBody = '"Bill-to invalid for ship-to customer"'} End. End. End.

  10. Header – Default Channel • Why: Superior Essex uses The Sales channel to determine the different business divisions (magnet wire USA, magnet wire Mexico, OPP products). • Solution:On entry of the lower frame, default the sales order channel based on the user’s default on the user master table.

  11. Sales Order Header - Default Sample Default

  12. Sales Order Header - Default Sample Code define shared variable global_userid as char. define variable vso_channel as char. {getscrn.i &FieldName = '"so_channel"' &Variable = vso_channel} if vso_channel = "" then do: find first usr_mstr no-lock where usr_userid = global_userid no-error. if avail(usr_mstr) then do: {scrnvalu.i &FieldName = '"so_channel"‘ &FieldValue = usr_variant_code} end. end.

  13. Header – Validation PO • Why:Certain customers who use E-Commerce require the PO and/or PO Release on the outbound ASN. • Solution: Add Tailor Pro anchor on leave of the lower frame to see if the sold-to customer requires PO and/or PO Release.

  14. Header – Validation for PO

  15. Header – Validation for PO Sample Code def var scrn-so-rmks as char. def var scrn-so-cust as char. {getscrn.i &FieldName = '"so_rmks"' &Framename = '"b"‘ &Variable = scrn-so-rmks} {getscrn.i &FieldName = '"so_cust"' &Framename = '"a"‘ &Variable = scrn-so-cust} if scrn-so-rmks = "" then do: find first xxcmd_det where xxcmd_customer = scrn-so-cust and xxcmd_attribute = "Release Number Required" no-lock no-error. If available(xxcmd_det) then do: {setmsg.i &MessageType = "Error" &MessageBody = '"Customer release number is required"'} End. End.

  16. Header - Selective hide • Why:We do not want users outside of the credit department to change credit terms. • Solution: On entry of the lower frame, disable entry to credit terms field based on the user groups in user security for the current user.

  17. Header - Selective hide Sample Screen

  18. Header - Selective hide Sample Code define shared variable global_userid as char. find first usr_mstr where usr_userid = global_userid no-error. if not avail(usr_mstr) then do: {disable.i &Fieldnames = '"so_cr_terms"'} leave. End. if index(usr_groups,"smt") > 0 or index(usr_groups,"oemcredit") > 0 then do: /* grant them access to change this */ End. Else do: {disable.i &Fieldnames = '"so_cr_terms"'} End.

  19. Sales Order Detail • Increased validation of item id vs. memo item • Added functionality for item id not at stocking site • Hiding/Skipping pop-ups • Selective hide – pricing • Set defaults for consignment and fixed price

  20. Detail – Item Validation • Why:QAD assumes that the order line is a memo if the part is not found on the part master. Superior Essex wanted to prompt the user in a bolder way to make sure that this was not just a typo. • Solution: Added anchor on leave of part. Check the part master to see if the part exists, if not prompt user.

  21. Detail – Item Validation Sample Screen

  22. Detail – Item Validation def var scrn-sod-part as char. def var scrn-so-cust as char. if not frame-field = "sod_part" then leave. {getscrn.i &FieldName = '"sod_part"' &Framename = '"c"‘ &Variable = scrn-sod-part} {getscrn.i &FieldName = '"so_cust"' &Framename = '"a"' &Variable = scrn-so-cust} find first pt_mstr where pt_part = scrn-sod-part no-lock no-error. if avail(pt_mstr) then leave. find first cp_mstr where cp_cust = scrn-so-cust and cp_cust_part = scrn-sod-part no-lock no-error. if avail(cp_mstr) then leave. message "Item does not exists on part master!“ skip(1) "OK to continue; Cancel to return to field" view-as alert-box question buttons ok-cancel update ok as logical. if not ok then do: {holdcurs.i} End.

  23. Detail – Part stocking site Why:QAD assumes that the part will be setup on the stocking site when the sales order line is entered. Solution: Added anchor on leave of site/site frame to check to see if the part is at this site, if not prompt user to see if they want to create it.

  24. Detail – Part Stocking Site

  25. Detail – Part Stocking Site • Retrieved part and site from screen • Look up part/site on inventory master. • If not found ask question, if yes then CIM load the part master and the item site planning records.

  26. Hiding/Skipping pop-ups Why:The user complained about having too many pop-ups to press F1 thru. Also, only pricing should be allowed to see the pricing pop-up. Solution: Added anchor to entry of the first field the offending pop-ups and “sent” a F1 (Go).

  27. Hiding/Skipping pop-ups apply "go" to self. pause 0 no-message. define shared variable global_userid as char. find first usr_mstr where usr_userid = global_userid no-error. if not avail(usr_mstr) then do: apply "go" to self. pause 0 no-message. End. If index(usr_groups,"mwpricing") > 0 then do: /* grant them access to change this */ End. Else do: apply "go" to self. pause 0 no-message. End.

  28. Hiding/Skipping pop-ups

  29. Order Trailer • Set fields on Sales order for UPS • Use of Extended table “Marriage” feature for UPS • Use of Tailor Pro Rules for UPS

  30. Order Trailer - UPS Why:QAD does not store UPS Information (Collect Account, Service level, etc.) Solution: Created Sales order extended table to store the UPS Info. Added anchor to go of the last sales entry frame to pop-up a frame to ask for information.

  31. Order Trailer - UPS • Retrieved Sales order and ship via from screen. • Define UPS form • Read the Sales order master • Read the Extended Sales order master to see if there are values. • Else Read the Extended Customer master to get defaults • Prompt user with screen (with normal edits) • Update Extended Sales order master. • When the order is invoiced, the invoice rule will copy the UPS information from Extended Sales order master to Extended Invoice history.

  32. Order Trailer - UPS

  33. General Notes • Be careful if you update a QAD table directly. • Users will submit many change requests. (Good news, bad news) • Tailor Pro is only for input (maintenance & transactions) not output (reports). • QAD Batch and CIM Loads – background CIM can invoke table rules; "foreground CIM" for all functionality

  34. QUESTIONS? • Business solution capabilities? • Analysis and spec definition? • Technical architecture? • Interactive demo? • Custom demo?

  35. Use of TailorPro for Sales Order Maintenance modifications and other business needs Michelle Baumann & Bruce LeBel

More Related