Hello,
in case you are following the BPath Blog series and/or you want to read/write own code you might find it useful to have an overview on the content of the series. The Table of Contents is currently in work, see below the Table of Code Examples.
The table will be enhanced with the examples from the upcoming blogs as soon as they are published.
Table of BPATH Code Examples
The bold face should support you on finding documentation on BPATH code fragments found in unknwon code. So if you notice a strange fragment as @@COUNTRY in the BPATH, just scan from top to down on the bold faced fragments leading you to example 34. Hopefully.
BPath. Lesson 01: What is BPath?
Code Example 1, * (retrieving the attribute structure)
Code Example 2, @attr (retrieving an attribute)
Code Example 3, ./ (relation to myself)
Code Example 4, Relations
Code Example 5, .. (Parent relation)
Code Example 6, $ (add to table)
BPath. Lesson 02: About the interpreter, integration, structures and filtering
Code Example 7, ~STRUC, normal structures
Code Example 8, [2] (basic filtering)
Code Example 9, [@CLASS="C"] basic conditional filtering, string literals
Code Example 10, [(@CLASS<>"C")&(@FORCURKEY=@LOCCURKEY)], Comparisons and Bool-OPs
Code Example 11, [(@SMOKER+@INVOICE)="X"], basic arithmetic operations
BPath. Lesson 03: Functions and Assignments
Code Example 12, INDEX() SIZE()
Code Example 13, Today() Not()
Code Example 14, IFF(), UPPER()
Code Example 15, {!F=@V}, basic assignments
Code Example 16, {!F1=(@C&"/")&@D; !F2=@E}, complex assignments separated by semicolon
Code Example 17, {!F=!F+1}, expressions on targets; automatic conversions
Code Example 18, ~*STRUC, enhanceable structure
Code Example 19, ~*/, Empty Struc
Code Example 20, Rel$/SecondRel, Accumulations
Code Example 21, aggregations
Code Example 22, !x^!=, dereferencation
BPath. Lesson 05. Sub, String & Get-function(s) plus global variables
Code Example 23, SUB(.../@FIELD), sub functions returning attributes
Code Example 24, SUB(.../*), sub functions returning structures or tables
V2.1
Code Example 25, STRCOMP(), string comparisons and string functions
Code Example 26, ~=, covers pattern
Code Example 27, LEFT, RIGHT and CENTER ... oops sorry MID. And LEN.
Code Example 28, aggregations with global variables
Code Example 29, GET, dynamic counters
BPath. Lesson 06. Unstructured returns, sorting and performance considerations
Code Example 30, ~INT2 or ~STRING, unstructured return data
Code Example 31, ~*[!FIELD:AT,*], sorting
V2.2
Code Example 32, [0-1], direct indexing
BPath. Lesson 07. Model Check Mode, table of exceptions and attribute longtext
V2.3
Code Example 33, .._OBJECT, attributed parent relation
Code Example 34, @@CARRID, attribute longtext
BPath. Lesson 08. Data type and operation table. Smaller topics.
Code Example 35, [@LUGGWEIGTH>23.5], numeric calculations
Code Example 36, {@FORCURAM;@FORCURKEY;@@CUSTTYPE}, direct attribute retrieval
V2.4
Code Example 37, $(@AGENCYNUM,UPPER(@SMOKER)), basic groupings
Code Example 38, $!(@AGENCYNUM,UPPER(@SMOKER)), basic grouping without group condition takeover
Code Example 39, $(@FORCURKEY:!X=0:!X=!X+1), hand made grouping aggregations
Code Example 40, $(*:!X=0:!X=!X+1), group to a structure
Code Example 41, {!X:=List(!X,",",@Feld)}, LIST function
Code Example 42, $(int(Log(@LOCCURAM,10)): Log Function and logged grouping
BPath. Lesson 10. Aggregations
Code Example 43, $(@GROUP::!X=Count();!Y=Sum(@FELD)), Count() and Sum()
Code Example 44, $(@@GROUP::!X=Avg(@Feld,Prec);!Y=Conc(@FELD,Sep,Cond)), Avg() and Conc()
Code Example 45, $(@GROUP::!X=Min(@Feld,Returnvalue)), Min() and Max()
Code Example 46, $(*::!X=Max(function(@Feld1,@Feld2))), Max based on complex expression
Code Example 47, $(*::!X=SearchFirst(@F1,@F2)), SearchFirst
Code Example 48, $(*::!X=Search(@F1,func(!X))), Searchs returning lists
Code Example 50, ..., to root
to be continued