That line generates 2000 records numbered from 1 to 2000. RecNo() returns the number of the record that is currently being generated. This value is subtracted from today()+10000 e.g. 10000 days in the future.
So the first record has a date of today() + 9999 days, the second today() + 9998 days etc.
It's usually better to start a discussion with a specific question, instead of "please explain QlikView scripting".
3 PRECEDING LOADs and one LOAD AUTOGENERATE to create single table CALENDAR
Each PRECEDING LOAD takes its data from the next line (by way of RESIDENT tables)
Read the script in reverse:
- LOAD 4: Generate a fixed set of 2000 dates somewhere in the future
- LOAD 3: Calculate and add MonthStart, YearStart, Month and Year values to each date field
- LOAD 2: Add various intermediate values while calculating a "Quarter" value for each date
- LOAD 1: Add a dual (e.g. text and number) Quarter field to each date
That's about it.