/
Quote Data Extractor

Quote Data Extractor

Quote Data Extractor is a logic to extract data from quotes. It produces a map for each quote line item and returns the extracted list.

Extraction levels:

  • Q – quote data

  • QLI – quote line item data

  • QLI_INPUT – quote line item input data

  • QLI_OUTPUT – quote line item output data

  • W – quote workflow data

Further in this section:

Mapping Configurations

Map which defines configurations to extract: 

def mapping = [ quoteId:[expression:"uniqueName",level:"Q"], .... ]

Then it produces a result as a map for each line item:

[quoteId:"extracted Quote Id", ... ]

Extract Configurations

String or Map which define what to get from which level. If a level is not specified, the extractor will search for all levels by the configured order ["Q","QLI","QLI_INPUT","QLI_OUTPUT", "W"] and will return the first found.

  • Expression – Specifies the key to get data in a map-like structure (Q, QLI, W).

    • Predefined keys for the workflow level: 

      • ApprovedDateTime – Date time of the last approved step

      • SubmittedDateTime – Submitted date time

      • DeniedDateTime – Denied Date time

      • DenyStep – Name of the Denied step

      • ApprovedSteps – List of Approved steps

      • DeniedSteps – List of Denied steps

      • ApprovalSteps – List of approval steps

      • NumberOfApprovalSteps – Number of approval steps

      • ApprovalProcessing – Shows if the workflow is processed or not (boolean)

    • Predefined keys for the quote level: 

      • ConveretedToDealDateTime – When a quote was converted to deal

      • MarkedAsLostDateTime – When a quote was marked as lost

      • RevokedDateTime – When a quote was revoked

      • NeedApproval: Shows if a quote needs an approval or not (boolean)

  • Level – Specifies the search level.

    def mapping = [ quoteId:[expression:"uniqueName",level:"Q"], //get uniqueName in Quote :[uniqueName:"name", version:123,...] .... ]



  • Dot expression (.) – Specifies the sub key to find in a multiple level map structure.



  • Multiple keys searching  – Specifies multiple keys to try, the first found is returned.



  • Default value – Specifies the default value if the result not found. 



  • Brackets expression – Specifies a search formula (evaluated using the FormularEvaluator library) or an index to get data in a list structure or using the last/first keyword (to get teh last item / first item in a list). 



  • Constant type – Returns the defined value.





  • Calculation type – Returns the calculated value from an expression using the FormularEvaluator library. The calculation type is calculated after all data are extracted from the quotes. 



  • String – You can specify mapping as a String. The extractor will use the string as a key to search for all levels, the first found is then returned.



Mapping Configurations

Mapping configurations are read from a price parameter "QuotesDataExtractorMappingConfiguration".





Set up and Run

  1. Create a Calculation Data Load.
    Quote Data Extractor is used to extract data and load extracted data to a Datamart for further use. It is run by a Calculation Data Load.




  2. Select a target for the Data Load.
    Target is the Datamart or Data Source into which you would like to load the quote data from the extractor into. There is a predefined Datamart named “Quotes_Data” created for that. 




  3. Select Feeder logic.
    Feeder logic provides individual quote IDs for calculation logic to extract.




  4. Select Calculation logic.
    Query a quote by quote ID provided by the feeder, then extract and load to the target Datamart.

  5. Save and run the logic.
    After all settings are correct, save and run the Data Load.




  6. Check the results.
    After a successful Data Load run (the processing can take a while) open the target Datamart and compare the results with data in the quote.

Related content