Create Quote

Create Quote Map

Get Started. It's Free
or sign up with your email address
Rocket clouds
Create Quote by Mind Map: Create Quote

1. Pass Quote Data

1.1. QuoteHeadexicute

1.1.1. GetNewQuoteHed

1.1.2. Set CustomerCustID

1.1.3. GetCustomerInfo

1.1.4. Set SalesRepCode

1.1.5. Update

1.1.6. If Sales Person not found assign new sales person from the incoming data

1.1.7. Call GetSalesRepInfo()

1.1.8. Update Sales person data

1.1.9. Update Quote

1.1.10. Assign QuoteHed Data

1.1.10.1. DiscountPercent EndUser_c QuoteComment BTCustID Reference ShipViaCode TaskSetID ExpectedClose NeedByDate RequestDate DueDate FollowUpDate MktgEvntSeq TerritoryID TermsCode MktgCampaignID OTSContact OTSAddress1 OTSAddress2 OTSAddress3 OTSCity OTSState OTSZip OTSCountryNum OTSPhoneNum OTSFaxNum OTSResaleID OTSSaveAs OTSSaveCustID OTSSaveCustID OTSShipToNum Address_c EDF_Received_c Completed_PO_Number_c Completed_Price_Agreement_c Completed_Shipping_Address_c Completed_Ship_Date_Agreement_c SalesPipeline_c Department_c EDF_FormID_c Engineer_Assigned_c Engr_Assinged_on_c

1.1.10.2. if ConfidencePct<>100 Note :Quotes at 100% Confidence are not allowed to change these fields

1.1.10.2.1. Assign ConfidencePct JobName_c JobNumber_c PONum

1.1.10.3. Update Quote

1.2. Return Quote Number

1.3. Loop On Quote Lines

1.3.1. check if this line is a sales kit (Property ProcessSalesKit)

1.3.1.1. set saleskit =true and save parent line

1.3.1.2. saleskit=false

1.3.2. QuoteLineexicute

1.3.2.1. Fill Quote Data By Id

1.3.2.2. if ProcessSalesKit=true

1.3.2.2.1. Quote.GetNewSalesKit()

1.3.2.3. if ProcessSalesKit=false

1.3.2.3.1. Quote.GetNewQuoteDtl()

1.3.2.4. Fill Quote Detail PartNum

1.3.2.5. Call Quote.ChangePartNumMaster

1.3.2.6. Call Quote.ChangePartNum

1.3.2.7. Set LineDesc

1.3.2.8. Run the price list sets.

1.3.2.8.1. Quote.ExistsProductGroupPriceList()

1.3.2.8.2. Quote.ExistsProductGroupDiscPriceList()

1.3.2.9. Fill Quot Line data

1.3.2.9.1. SellingExpectedUM Alternates_c TaxCatID ProdCode SalesCatID ProjectID PhaseID NeedByDate QuoteComment RevisionNum LeadTime JobComment ConfidencePct

1.3.2.9.2. Check if ProcessSalesKit=true

1.3.2.9.3. Check if ProcessSalesKit=false

1.3.2.9.4. Set BestCsPct=100

1.3.2.9.5. Quote.GetDtlUnitPriceInfo(false, false)

1.3.2.9.6. Quote.ChangeSellingExpQty()

1.3.2.9.7. Update Quote

1.3.2.9.8. Assign DocExpUnitPrice

1.3.2.9.9. Quote.GetDtlUnitPriceInfo_User(true, true, false, true)

1.3.2.9.10. Update

1.3.2.9.11. if (quoteDtl.DiscountPercent != 0)

1.3.2.9.12. else if (quoteDtl.Alternates_c == true)

1.3.2.9.13. else if (quoteDtl.DocDiscount > 0)

1.3.3. If the confidence is High push in the details. _quote.ConfidencePct >= 80

1.3.3.1. Put opps on the line

1.3.3.2. Loop on line operations data

1.3.3.3. exec QuoteLineOpexicute

1.3.3.3.1. if QuoteDtl.ReadyToQuote

1.3.3.3.2. call QuoteAsm.GetDatasetForTree

1.3.3.3.3. Create a new MTL in the assembly Call QuoteAsm.GetNewOperation(QID, RNum, 0, false)

1.3.3.3.4. Fill OpCode OpDesc ProdStandard QtyPer FinalOpr

1.3.3.3.5. QuoteAsm.Update()

1.3.3.4. Put materials on the line

1.3.3.5. Loop on Material Data

1.3.3.6. QuoteLineMTLexicute

1.3.3.6.1. if QuoteDtl.ReadyToQuote

1.3.3.6.2. call QuoteAsm.GetDatasetForTree

1.3.3.6.3. Create a new MTL in the assembly QuoteAsm.GetNewQuoteMtl(QID, RNum, 0)

1.3.3.6.4. QuoteAsmData.QuoteMtl[index]["PartNum"]

1.3.3.6.5. QuoteAsm.CheckPrePartInfo(ref Partnumb, "QuoteMtl", adpQuoteAsm.QuoteAsmData.QuoteMtl[index].SysRowID, out Message, out subAvai, out MessageType, out ProdConfigMsg)

1.3.3.6.6. QuoteAsm.CheckQuoteMtlPartNum(mtl.PartNum);

1.3.3.6.7. QuoteAsm.ChangeOpMtlReqQty()

1.3.3.6.8. QuoteAsm.GetMtlPartInfo("PartNum")

1.3.3.6.9. QuoteAsmData.QuoteMtl[index]["RelatedOperation"] = mtl.RelatedOperation

1.3.3.6.10. QuoteAsmData.QuoteMtl[index]["QtyPer"] = mtl.QtyPer

1.3.3.6.11. QuoteAsmData.QuoteMtl[index]["Description"] = mtl.Description

1.3.3.6.12. QuoteAsm.Update()

1.3.3.7. Put Sales Kit lines in behined the parent line.

1.3.3.8. Send this to the quote line processor QuoteLine.QuoteLineexicute(adpQuote, _QutoeID, lineNum2, kit, false)

1.3.3.8.1. QuoteLineexicute

1.3.3.8.2. QuoteLine.QuoteLineexicute_KitsLoaded(adpQuote, _QutoeID, Convert.ToString(parentLine), kit, false)

1.3.3.9. QuoteLine.EngineerLine(adpQuote, _QutoeID, parentLine.ToString(), false, true)

1.3.3.9.1. QuoteData.QuoteDtl[Rindex]["ReadyToQuote"] = true

1.3.3.9.2. Quote.Update()

1.3.4. If the confidence is High push in the details. _quote.ConfidencePct < 80

1.3.4.1. QuoteLine.EngineerLine(adpQuote, _QutoeID, parentLine.ToString(), false, true)

1.3.4.1.1. QuoteData.QuoteDtl[Rindex]["ReadyToQuote"] = true

1.3.4.1.2. Quote.Update()

1.4. Set the quote to 100% BestCsPct = 100

1.5. Update Quote