Subject Re: Is there a limit for # of fields in IF statement
From Ruth Bromer <ruth@treklite.com>
Date Mon, 8 Jul 2019 16:09:46 -0400
Newsgroups dbase.getting-started
Attachment(s) Create_Packet_Table2.prgPacket2.DBFpacket3.rep

First of all, most of my messages are just for testing and will come out.

I'm really confused now.  I don't have a tshirt.dbf.  (I might have but
in the process of running and trying to debug your program, it no longer
exists.)

Anyway, the packet2.dbf should have everything I need with 1 record per
competitor per shirt type ordered.  I created this with
Create_packet_table2.prg.

I started to write that I had problems.  Then I just ran the packet2.rep
(renamed packet3.rpt so that I wouldn't loose the existing one) and it
all of a sudden works.  Maybe it's because dBase crashed and then I
restarted it.

It's almost there.  Just making sure that I have all of the fields in
place.  I like your functions to change 'Not Competing' to 'Yes' and
'No'. This is exactly what I wanted.

Thank your so much, Mervyn.  Hopefully, I'm nearly done.  Then I can
plug in the real data.

***
By the way, dBase crashes multiple times a day.  This does not sound
very robust.  Sometimes I have to reboot my computer to actually get it
to close down.
***

Ruth

On 7/8/2019 4:59 AM, Mervyn Bick wrote:
> On 2019-07-07 11:57 PM, Ruth Bromer wrote:
>> Thanks to you and Ken for telling me about fieldname.  That did it.  I
>> understand the substr command now.  And I figured out that I had to go
>> by 2's because of the t-shirt fee.  Some of the things in the input
>> .csv are rather annoying and totally unnecessary for me but are
>> generally needed for an orienteering national meet.  ARDF is under the
>> jurisdiction of amateur radio even though it is really more like
>> orienteering.
>>
>
> The .csv file is a monster but dBASE can tame it. :-)  I see from the
> website that entries have already more than doubled.
>
> The attached create_packet_table2.prg uses packet2.prg to create
> tshirt.dbf.  tshirt.dbf is then populated from competitor.dbf
>
>
>> So now I have the 'packet2' table created.  I will try to modify my
>> 'packet' report with this table as input.  I think that all of the
>> data that I need to print except for the shirts can be in a header for
>> each competitor like you did on your test report.  I have no problem
>> listing all competitions whether the person is doing it or not.
>>
>> In trying to copy your code, the biggest issue I think right now is
>> that you are in metric and I'm using inches on the report.  I'll let
>> you know how it goes.
>
> Sorry.  I'm so used to using A4 paper I didn't think to change the metric.
>
> The attached packet2.rep has been created using 8" x 11" as the paper
> size.  If your paper is a different size you will need to adjust the
> positions of the streamframes.
>
> The report will print details for two competitors side by side in
> landscape mode.
>
> There are no fields for Blind class and Bind start times in competitor.dbf.
>
> As the tshirt fees are included in the TotalFee field I haven't included
> them in the report.  You can, of course, include them if they are needed.
>
> You will need to add suitable headings on the pagetemplate.
>
>
> Mervyn.
>
>
>
>
>
>
>




/*
   Create TShirtPerCompetitor.PRG
  
   Author: Ruth Bromer 6/27/2019

   Create Packet Table from Competitor Table.  There will be a
   record per competitor for each type of t-shirt ordered.  If no
        t-shirts are ordered, there will be one record.
  
   NOTE : The values used for colours in packet2.dbf are not the same as
        the values used in colours.dbf.  As you are saving the size name e.g XXS,
        SM and so on rather than a number you may just as well be consitent and
        save the colour name instead of a number.  This means changing the field
        specification for TShirtColor  in packet2 from numeric (2) to character(6).
        You will also need to change the value saved in lines 115 and 216 if you
        change from  numeric to character.        
  
      I have used field numbers 9 to 99   in lines 74 and 123.  You will need to check
      the numbers in the competitor table and edit them to use the correct values.
      
      
      
      
      
*/


clear

//? "Emptying Tables "
//d = _app.databases[1]
//d.emptyTable( "Packet2" )
//   //d = null
//msgbox( "Packet2 is empty" )

//It is better to drop the table and then rebuild it rather than to empty it
/*
try
  drop table packet2
catch(exception e)
  msgbox(e.message)
endtry
*/
If file('Packet2.dbf')
   drop table Packet2
endif
/*
Create Packet2.dbf from Competitor.dbf
*/

c = new query()
c.sql  = [Select * from Competitor ]
c.active = true

If not file('Packet2.dbf')
   create table Packet2 (First character(20), Last character(20), Name character(40),;
        Waiver character(6), BibNum numeric(4), Address1 character(40), Address2 character(40),;
        City character(20), State character(2), Zip character(10), Country character(25),;
        EPunchID numeric(8), RentPunch character(1), FoxPracCourse character(9),;
        SprintPracCourse character(9), M80PracCourse character(9), M2PracCourse character(9),;
        BlindPracCourse character(9), FoxClass character(4), FoxStart character(8),;
        SprintClass character(4), SprintStart character(8), M2Class character(4),;
        M2Start character(8), M80Class character(4), M80Start character(8),;
        CallSign character(10), USAYN character(1), RegIIYN character(1), Dinner numeric(2),;
        LunchYN character(1), TotalFee numeric(5), AmtPaid numeric(5), Balance numeric(5),;
        Notes character(140), TShirtSize character(3), TShirtColor character (7),;
   TShirtQuant numeric(2), TShirtAmt numeric(4))
Endif

p = new query()
p.sql = "select * from Packet2"
p.active = true
cf = c.rowset.fields
pf = p.rowset.fields
c.rowset.first()
p.rowset.first()

/*
Create all records.
*/

do while not c.rowset.endofset        
        nShirtTot = 0
   for n = 96 to 274 step 2//these fields are t-shirt sizes and fee. Check for any shirts ordered
                 nShirtTot += cf[n].value
   next
        If nShirtTot = 0
           p.rowset.beginappend()
                pf["First"].value = cf["First"].value
                pf["Last"].value = cf["Last"].value
                pf["Name"].value = cf["Last"].value.rightTrim()+", "+ cf["First"].value.rightTrim()
                pf["BibNum"].value = cf["BibNum"].value
                pf["Waiver"].value = cf["Waiver"].value
                pf["Address1"].value = cf["Address1"].value
                pf["Address2"].value = cf["Address2"].value
                pf["City"].value = cf["City"].value
                pf["State"].value = cf["State"].value
                pf["Zip"].value = cf["Zip"].value
                pf["Country"].value = cf["Country"].value
                pf["EPunchID"].value = cf["EPunchID"].value
                pf["RentPunch"].value = cf["RentPunch"].value
                pf["FoxPracCourse"].value = cf["FoxPracCourse"].value
                pf["SprintPracCourse"].value = cf["SprintPracCourse"].value
                pf["M80PracCourse"].value = cf["M80PracCourse"].value
                pf["M2PracCourse"].value = cf["M2PracCourse"].value
                pf["BlindPracCourse"].value = cf["BlindPracCourse"].value
                pf["FoxClass"].value = cf["FoxClass"].value
                pf["FoxStart"].value = cf["FoxStart"].value
                pf["SprintClass"].value = cf["SprintClass"].value
                pf["SprintStart"].value = cf["SprintStart"].value
                pf["M2Class"].value = cf["M2Class"].value
                pf["M2Start"].value = cf["M2Start"].value
                pf["M80Class"].value = cf["M80Class"].value
                pf["M80Start"].value = cf["M80Start"].value
                pf["CallSign"].value = cf["CallSign"].value
                pf["USAYN"].value = cf["USAYN"].value
                pf["RegIIYN"].value = cf["RegIIYN"].value
                pf["Dinner"].value = cf["Dinner"].value
                pf["LunchYN"].value = cf["LunchYN"].value
                pf["TotalFee"].value = cf["TotalFee"].value
                pf["AmtPaid"].value = cf["AmtPaid"].value
                pf["Balance"].value = cf["Balance"].value
                pf["Notes"].value = cf["Notes"].value
                pf["TShirtSize"].value = ' '
                pf["TShirtColor"].value = ' '
                pf["TShirtQuant"].value = 0
                pf["TShirtAmt"].value = 0
*                p.rowset.save()
        Else
/*
Create with t-shirts
*/
    for n = 96 to 274 step 2 //t-shirt fields, skipping the t-shirt fee fields
                if cf[n].value > 0
         p.rowset.beginappend()
         pf["First"].value = cf["First"].value
         pf["Last"].value = cf["Last"].value
                        pf["Name"].value = cf["Last"].value.rightTrim()+", "+ cf["First"].value.rightTrim()
                        pf["BibNum"].value = cf["BibNum"].value
                        pf["Waiver"].value = cf["Waiver"].value
                        pf["Address1"].value = cf["Address1"].value
                        pf["Address2"].value = cf["Address2"].value
                        pf["City"].value = cf["City"].value
                        pf["State"].value = cf["State"].value
                        pf["Zip"].value = cf["Zip"].value
                        pf["Country"].value = cf["Country"].value
                        pf["EPunchID"].value = cf["EPunchID"].value
                        pf["RentPunch"].value = cf["RentPunch"].value
                        pf["FoxPracCourse"].value = cf["FoxPracCourse"].value
                        pf["SprintPracCourse"].value = cf["SprintPracCourse"].value
                        pf["M80PracCourse"].value = cf["M80PracCourse"].value
                        pf["M2PracCourse"].value = cf["M2PracCourse"].value
                        pf["BlindPracCourse"].value = cf["BlindPracCourse"].value
                        pf["FoxClass"].value = cf["FoxClass"].value
                        pf["FoxStart"].value = cf["FoxStart"].value
                        pf["SprintClass"].value = cf["SprintClass"].value
                        pf["SprintStart"].value = cf["SprintStart"].value
                        pf["M2Class"].value = cf["M2Class"].value
                        pf["M2Start"].value = cf["M2Start"].value
                        pf["M80Class"].value = cf["M80Class"].value
                        pf["M80Start"].value = cf["M80Start"].value
                        pf["CallSign"].value = cf["CallSign"].value
                        pf["USAYN"].value = cf["USAYN"].value
                        pf["RegIIYN"].value = cf["RegIIYN"].value
                        pf["Dinner"].value = cf["Dinner"].value
                        pf["LunchYN"].value = cf["LunchYN"].value
                        pf["TotalFee"].value = cf["TotalFee"].value
                        pf["AmtPaid"].value = cf["AmtPaid"].value
                        pf["Balance"].value = cf["Balance"].value
                        pf["Notes"].value = cf["Notes"].value

                        if 'TShirtBlue'$cf[n].fieldname
                            cSize=substr(cf[n].fieldname,11)
             nColour = 1
             cColour = 'Blue'
         elseif  'TShirtSlate'$cf[n].fieldname
                            cSize =substr(cf[n].fieldname,12)
             nColour = 2
             cColour = 'Slate'
          elseif  'TShirtFuschia'$cf[n].fieldname
                            cSize =substr(cf[n].fieldname,14)
             nColour = 3
             cColour = 'Fuschia'
         elseif  'TShirtYellow'$cf[n].fieldname
                            cSize =substr(cf[n].fieldname,13)
             nColour = 4
             cColour = 'Yellow'
         elseif  'TShirtRed'$cf[n].fieldname
                            cSize =substr(cf[n].fieldname,10)
             nColour = 5
             cColour = 'Red'
         elseif  'TShirtGreen'$cf[n].fieldname
                            cSize =substr(cf[n].fieldname,12)
             nColour = 6
             cColour = 'Green'
         endif

         if cSize = '3XL'
            nAmt = 18
         else
            nAmt = 15
         endif  
                        
                        pf["TShirtSize"].value = cSize
                        pf["TShirtColor"].value = cColour //change to cColour if the field is changed to character
         pf["TShirtQuant"].value = cf[n].value
         pf["TShirtAmt"].value = nAmt * cf[n].value
*         p.rowset.save()
                endif
*          endfor        
   next
endif
        p.rowset.save()
   c.rowset.next()
*          next

enddo

c.active = false
p.active = false

msgbox( "The Packet table should now have data in it" )


** END HEADER -- do not remove this line
//
// Generated on 07/08/2019
//
local r
r = new PACKET2REPORT()
r.render()

class PACKET2REPORT of REPORT
   with (this)
      metric = 3        // Inches
      autoSort = false
   endwith

   this.TSHIRT1 = new QUERY(this)
   with (this.TSHIRT1)
      left = 6.0
      sql = 'select first||" "||last as fullname,t.* from packet2 t order by last,first'
      requestLive = false
      active = true
   endwith

   this.PAGETEMPLATE1 = new PAGETEMPLATE(this)
   with (this.PAGETEMPLATE1)
      height = 8.0
      width = 11.0
      marginTop = 0.2382
      marginLeft = 0.1444
      marginBottom = 0.2695
      marginRight = 0.2486
      gridLineWidth = 0
   endwith

   this.PAGETEMPLATE1.STREAMFRAME1 = new STREAMFRAME(this.PAGETEMPLATE1)
   with (this.PAGETEMPLATE1.STREAMFRAME1)
      height = 6.4687
      left = 0.1875
      top = 0.9792
      width = 4.9
      form.STREAMFRAME1 = form.pagetemplate1.streamframe1
   endwith

   this.PAGETEMPLATE1.STREAMFRAME2 = new STREAMFRAME(this.PAGETEMPLATE1)
   with (this.PAGETEMPLATE1.STREAMFRAME2)
      height = 6.4167
      left = 5.69
      top = 1.0
      width = 4.9
      form.STREAMFRAME2 = form.pagetemplate1.streamframe2
   endwith

   with (this.printer)
      duplex = 1        // None
      orientation = 1        // Portrait
      paperSource = 7
      paperSize = 9
      resolution = 3        // Medium
      color = 2        // Color
      trueTypeFonts = 1        // Bitmap
   endwith

   this.STREAMSOURCE1 = new STREAMSOURCE(this)
   this.STREAMSOURCE1.GROUP1 = new GROUP(this.STREAMSOURCE1)
   with (this.STREAMSOURCE1.GROUP1)
      groupBy = "fullname"
   endwith

   with (this.STREAMSOURCE1.GROUP1.footerBand)
      height = 0.3931
   endwith

   this.STREAMSOURCE1.GROUP1.footerBand.TEXTNOTES1 = new TEXT(this.STREAMSOURCE1.GROUP1.footerBand)
   with (this.STREAMSOURCE1.GROUP1.footerBand.TEXTNOTES1)
      height = 0.2083
      left = 0.4063
      top = 0.1563
      width = 8.875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["notes"].value}
   endwith

   with (this.STREAMSOURCE1.GROUP1.headerBand)
      height = 5.0
      beginNewFrame = true
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTFULLNAME1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTFULLNAME1)
      height = 0.2083
      left = 0.0938
      top = 0.0208
      width = 1.7396
      variableHeight = true
      prefixEnable = false
      fontSize = 12.0
      fontBold = true
      text = {||this.form.tshirt1.rowset.fields["fullname"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT2 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT2)
      height = 0.2083
      left = 0.2395
      top = 4.6458
      width = 0.9583
      prefixEnable = false
      text = "Tshirts Ordered"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTFOXPRACCOURSE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTFOXPRACCOURSE1)
      canRender = class::TEXTFOXPRACCOURSE1_CANRENDER
      onRender = class::TEXTFOXPRACCOURSE1_ONRENDER
      height = 0.2083
      left = 3.6979
      top = 1.0521
      width = 0.6875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["foxpraccourse"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTM2PRACCOURSE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTM2PRACCOURSE1)
      canRender = class::TEXTM2PRACCOURSE1_CANRENDER
      onRender = class::TEXTM2PRACCOURSE1_ONRENDER
      height = 0.2083
      left = 3.6979
      top = 2.0105
      width = 0.6875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["m2praccourse"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTM80PRACCOURSE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTM80PRACCOURSE1)
      canRender = class::TEXTM80PRACCOURSE1_CANRENDER
      onRender = class::TEXTM80PRACCOURSE1_ONRENDER
      height = 0.2083
      left = 3.6979
      top = 1.6979
      width = 0.6875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["m80praccourse"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTSPRINTPRACCOURSE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTSPRINTPRACCOURSE1)
      canRender = class::TEXTSPRINTPRACCOURSE1_CANRENDER
      onRender = class::TEXTSPRINTPRACCOURSE1_ONRENDER
      height = 0.2083
      left = 3.6979
      top = 2.3125
      width = 0.6875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["sprintpraccourse"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT3 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT3)
      height = 0.2083
      left = 2.5208
      top = 1.0833
      width = 0.75
      prefixEnable = false
      text = "Fox practice"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT4 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT4)
      height = 0.2083
      left = 2.5417
      top = 2.0313
      width = 0.75
      prefixEnable = false
      text = "M2 practice"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT5 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT5)
      height = 0.2083
      left = 2.5417
      top = 1.6979
      width = 0.8854
      prefixEnable = false
      text = "M80 practice"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT6 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT6)
      height = 0.2083
      left = 2.5209
      top = 2.3125
      width = 0.9167
      prefixEnable = false
      text = "Sprint practice"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTBLINDPRACCOURSE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTBLINDPRACCOURSE1)
      canRender = class::TEXTBLINDPRACCOURSE1_CANRENDER
      onRender = class::TEXTBLINDPRACCOURSE1_ONRENDER
      height = 0.2083
      left = 3.6979
      top = 1.3959
      width = 0.6875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["blindpraccourse"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT7 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT7)
      height = 0.2083
      left = 2.5209
      top = 1.3855
      width = 0.9167
      prefixEnable = false
      text = "Blind practice"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.USCHAMPLABEL = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.USCHAMPLABEL)
      height = 0.1771
      left = 2.0208
      top = 0.3896
      width = 0.75
      prefixEnable = false
      alignHorizontal = 2        // Right
      fontBold = true
      text = "US Champ: "
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.USCHAMP = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.USCHAMP)
      height = 0.2083
      left = 2.9583
      top = 0.375
      width = 0.27
      prefixEnable = false
      text = {||form.streamSource1.rowset.fields["USAYN"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.REGION2LABEL = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.REGION2LABEL)
      height = 0.1875
      left = 1.5521
      top = 0.65
      width = 1.2084
      prefixEnable = false
      alignHorizontal = 2        // Right
      fontBold = true
      text = "Region 2 Champ: "
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.REGION2 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.REGION2)
      height = 0.2083
      left = 2.9583
      top = 0.6771
      width = 0.2709
      prefixEnable = false
      text = {||form.streamSource1.rowset.fields["REGIIYN"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTLUNCHYN1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTLUNCHYN1)
      height = 0.2083
      left = 4.5209
      top = 0.6667
      width = 0.302
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["lunchyn"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTDINNER1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTDINNER1)
      height = 0.2083
      left = 4.5521
      top = 0.4063
      width = 0.25
      variableHeight = true
      prefixEnable = false
      alignHorizontal = 2        // Right
      picture = "999"
      fontSize = 11.0
      text = {||this.form.tshirt1.rowset.fields["dinner"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT8 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT8)
      height = 0.2083
      left = 3.9584
      top = 0.6667
      width = 0.4479
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "Lunch"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT9 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT9)
      height = 0.2083
      left = 3.9271
      top = 0.3958
      width = 0.4583
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "Dinner"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTBIBNUM1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTBIBNUM1)
      height = 0.2083
      left = 4.4896
      top = 0.0729
      width = 0.375
      variableHeight = true
      prefixEnable = false
      alignHorizontal = 2        // Right
      picture = "99999"
      fontSize = 14.0
      fontBold = true
      text = {||this.form.tshirt1.rowset.fields["bibnum"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT10 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT10)
      height = 0.2083
      left = 3.7916
      top = 0.0625
      width = 0.6042
      prefixEnable = false
      alignHorizontal = 1        // Center
      text = "Bib No"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTEPUNCHID1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTEPUNCHID1)
      canRender = class::TEXTEPUNCHID1_CANRENDER
      onRender = class::TEXTEPUNCHID1_ONRENDER
      height = 0.2083
      left = 0.7916
      top = 0.3437
      width = 0.625
      variableHeight = true
      prefixEnable = false
      picture = "999999999"
      text = {||this.form.tshirt1.rowset.fields["epunchid"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTCALLSIGN1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTCALLSIGN1)
      height = 0.2083
      left = 0.75
      top = 0.6563
      width = 0.6771
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["callsign"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT11 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT11)
      canRender = class::TEXT11_CANRENDER
      height = 0.2083
      left = 0.1042
      top = 0.625
      width = 0.5833
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "Callsign"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTTOTALFEE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTTOTALFEE1)
      canRender = class::TEXTTOTALFEE1_CANRENDER
      height = 0.2083
      left = 1.1562
      top = 4.2083
      width = 0.4375
      variableHeight = true
      prefixEnable = false
      alignHorizontal = 2        // Right
      picture = "$999"
      text = {||this.form.tshirt1.rowset.fields["totalfee"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTAMTPAID1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTAMTPAID1)
      canRender = class::TEXTAMTPAID1_CANRENDER
      height = 0.2083
      left = 2.7083
      top = 4.2293
      width = 0.4375
      variableHeight = true
      prefixEnable = false
      alignHorizontal = 2        // Right
      picture = "$999"
      text = {||this.form.tshirt1.rowset.fields["amtpaid"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTBALANCE1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTBALANCE1)
      canRender = class::TEXTBALANCE1_CANRENDER
      height = 0.2083
      left = 4.1771
      top = 4.2083
      width = 0.4375
      variableHeight = true
      prefixEnable = false
      alignHorizontal = 2        // Right
      picture = "$999"
      text = {||this.form.tshirt1.rowset.fields["balance"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT12 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT12)
      height = 0.2083
      left = 0.1042
      top = 0.3333
      width = 0.5625
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "SI Card"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT13 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT13)
      height = 0.2083
      left = 0.2187
      top = 4.198
      width = 0.75
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "Total Fee"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT14 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT14)
      height = 0.2083
      left = 1.7709
      top = 4.2084
      width = 0.8542
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "Amount Paid"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT15 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT15)
      canRender = class::TEXT15_CANRENDER
      height = 0.2083
      left = 3.5313
      top = 4.2084
      width = 0.5938
      prefixEnable = false
      alignHorizontal = 2        // Right
      text = "Balance"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT16 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT16)
      height = 0.2083
      left = 0.1563
      top = 1.0625
      width = 1.2188
      prefixEnable = false
      text = "Sunday July 28"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT17 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT17)
      height = 0.2083
      left = 0.1563
      top = 1.6979
      width = 1.2188
      prefixEnable = false
      text = "Monday July 29"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT18 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT18)
      height = 0.2083
      left = 0.1563
      top = 2.0105
      width = 1.2188
      prefixEnable = false
      text = "Tuesday July 30"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT19 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT19)
      height = 0.2083
      left = 1.5729
      top = 1.0833
      width = 0.75
      prefixEnable = false
      text = "9 am"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT20 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT20)
      height = 0.2083
      left = 1.5729
      top = 2.3125
      width = 0.75
      prefixEnable = false
      text = "9 am"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT21 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT21)
      height = 0.2083
      left = 1.5625
      top = 1.375
      width = 0.75
      prefixEnable = false
      text = "6 pm"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT22 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT22)
      height = 0.2083
      left = 1.5625
      top = 1.6979
      width = 0.75
      prefixEnable = false
      text = "9 am"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT23 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT23)
      height = 0.2083
      left = 1.5625
      top = 2.0105
      width = 0.75
      prefixEnable = false
      text = "9 am"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT24 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT24)
      height = 0.2083
      left = 0.1667
      top = 2.7709
      width = 1.2188
      prefixEnable = false
      text = "Thursday August 1"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT25 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT25)
      height = 0.2083
      left = 0.1563
      top = 3.1458
      width = 1.2188
      prefixEnable = false
      text = "Friday August 2"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT26 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT26)
      height = 0.2083
      left = 0.1563
      top = 3.521
      width = 1.2188
      prefixEnable = false
      text = "Saturday August 3"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT27 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT27)
      height = 0.2083
      left = 0.1563
      top = 3.8543
      width = 1.2188
      prefixEnable = false
      text = "Sunday August 4"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT1)
      height = 0.2083
      left = 1.5625
      top = 2.7709
      width = 0.75
      prefixEnable = false
      text = "FoxOring"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT28 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT28)
      height = 0.2083
      left = 1.5625
      top = 3.1458
      width = 0.75
      prefixEnable = false
      text = "Sprint"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT30 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT30)
      height = 0.2083
      left = 1.5625
      top = 3.5209
      width = 0.75
      prefixEnable = false
      text = "2 M"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT31 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT31)
      height = 0.2083
      left = 1.5625
      top = 3.875
      width = 0.75
      prefixEnable = false
      text = "80 M"
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTFOXCLASS1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTFOXCLASS1)
      canRender = class::TEXTFOXCLASS1_CANRENDER
      height = 0.2083
      left = 2.7313
      top = 2.7619
      width = 0.6771
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["foxclass"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTSPRINTCLASS1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTSPRINTCLASS1)
      canRender = class::TEXTSPRINTCLASS1_CANRENDER
      height = 0.2083
      left = 2.7313
      top = 3.1368
      width = 0.6875
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["sprintclass"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTM80CLASS1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTM80CLASS1)
      canRender = class::TEXTM80CLASS1_CANRENDER
      height = 0.2083
      left = 2.7209
      top = 3.8556
      width = 0.5625
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["m80class"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTM2CLASS1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTM2CLASS1)
      canRender = class::TEXTM2CLASS1_CANRENDER
      height = 0.2083
      left = 2.7416
      top = 3.5119
      width = 0.7188
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["m2class"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTFOXSTART1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTFOXSTART1)
      canRender = class::TEXTFOXSTART1_CANRENDER
      height = 0.2083
      left = 3.5646
      top = 2.7619
      width = 0.625
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["foxstart"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTSPRINTSTART1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTSPRINTSTART1)
      canRender = class::TEXTSPRINTSTART1_CANRENDER
      height = 0.2083
      left = 3.5958
      top = 3.1472
      width = 0.625
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["sprintstart"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTM2START1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTM2START1)
      canRender = class::TEXTM2START1_CANRENDER
      height = 0.2083
      left = 3.5958
      top = 3.5014
      width = 0.625
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["m2start"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXTM80START1 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXTM80START1)
      canRender = class::TEXTM80START1_CANRENDER
      height = 0.2083
      left = 3.5958
      top = 3.8764
      width = 0.625
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["m80start"].value}
   endwith

   this.STREAMSOURCE1.GROUP1.headerBand.TEXT32 = new TEXT(this.STREAMSOURCE1.GROUP1.headerBand)
   with (this.STREAMSOURCE1.GROUP1.headerBand.TEXT32)
      height = 0.2083
      left = 0.1563
      top = 2.3022
      width = 1.2188
      prefixEnable = false
      text = "Wednesday July 31"
   endwith

   with (this.STREAMSOURCE1.detailBand)
      height = 0.1736
   endwith

   this.STREAMSOURCE1.detailBand.TEXTTSHIRTSIZE1 = new TEXT(this.STREAMSOURCE1.detailBand)
   with (this.STREAMSOURCE1.detailBand.TEXTTSHIRTSIZE1)
      height = 0.2083
      left = 0.2084
      top = 0.0
      width = 0.7604
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["tshirtsize"].value}
   endwith

   this.STREAMSOURCE1.detailBand.TEXTTSHIRTCOLOR1 = new TEXT(this.STREAMSOURCE1.detailBand)
   with (this.STREAMSOURCE1.detailBand.TEXTTSHIRTCOLOR1)
      height = 0.2083
      left = 1.1146
      top = 0.0
      width = 0.8438
      variableHeight = true
      prefixEnable = false
      text = {||this.form.tshirt1.rowset.fields["tshirtcolor"].value}
   endwith

   this.STREAMSOURCE1.detailBand.TEXTTSHIRTQUANT1 = new TEXT(this.STREAMSOURCE1.detailBand)
   with (this.STREAMSOURCE1.detailBand.TEXTTSHIRTQUANT1)
      height = 0.2083
      left = 2.1771
      top = 0.0
      width = 0.8958
      variableHeight = true
      prefixEnable = false
      alignHorizontal = 2        // Right
      picture = "999"
      text = {||this.form.tshirt1.rowset.fields["tshirtquant"].value}
   endwith

   with (this.reportGroup.footerBand)
      height = 0.0
   endwith

   with (this.reportGroup.headerBand)
      height = 0.0
   endwith

   this.firstPageTemplate = this.form.pagetemplate1
   this.form.pagetemplate1.nextPageTemplate = this.form.pagetemplate1
   this.form.pagetemplate1.streamframe1.streamSource = this.form.streamsource1
   this.form.pagetemplate1.streamframe2.streamSource = this.form.streamsource1
   this.form.streamsource1.rowset = this.form.tshirt1.rowset

   function TEXT11_canRender()
      if empty(this.parent.textcallsign1.text())
          lRet  = false
       else
         lRet = true
      endif        
      return lRet

   function TEXT15_canRender()
      if this.parent.textbalance1.text() = 0
          lRet = false
      else
          lRet = true
      endif          
      return lRet

   function TEXTAMTPAID1_canRender()
      if this.text() <10
           this.picture = '$9'
       elseif this.text() < 100
           this.picture = '$99'
       else
           this.picture = '$999'
       endif          
      return true

   function TEXTBALANCE1_canRender()
      if this.text() <10
           this.picture = '$9'
       elseif this.text() < 100
           this.picture = '$99'
       else
           this.picture = '$999'
       endif
      if this.text() = 0
         lRet = false
      else
         lRet = true
      endif        
      return lRet

   function TEXTBLINDPRACCOURSE1_canRender()
      if this.text() ='Competing'
          this.text = 'Yes'
       else
          this.text = 'No'
      endif  
      return true

   function TEXTBLINDPRACCOURSE1_onRender()
       this.text = {||this.form.tshirt1.rowset.fields["blindpraccourse"].value}
      return

   function TEXTEPUNCHID1_canRender()
      if this.parent.parent.parent.rowset.fields['rentpunch'].value = 'Y'
         this.text= 'Rental'
       endif
      return true

   function TEXTEPUNCHID1_onRender()
      this.text = {||this.form.tshirt1.rowset.fields["epunchid"].value}
      return

   function TEXTFOXCLASS1_canRender()
      if this.text() ='NC'
         lRet = false
      else
         lRet = true
      endif        
      return lRet

   function TEXTFOXPRACCOURSE1_canRender()
      if this.text() ='Competing'
          this.text = 'Yes'
       else
          this.text = 'No'
      endif  
      return true

   function TEXTFOXPRACCOURSE1_onRender()
      this.text = {||this.form.tshirt1.rowset.fields["foxpraccourse"].value}
      return

   function TEXTFOXSTART1_canRender()
      if this.parent.textfoxclass1.text() = 'NC'
          lRet = false
      else
          lRet = true
      endif          
      return lRet

   function TEXTLUNCHYN1_canRender()
      if this.text() ='Y'
          this.text = 'Yes'
       else
          this.text = 'No'
      endif          
      return true

   function TEXTLUNCHYN1_onRender()
      this.text = {||this.form.tshirt1.rowset.fields["lunchyn"].value}
      return

   function TEXTM2CLASS1_canRender()
      if this.text() ='NC'
         lRet = false
      else
         lRet = true
      endif        
      return lRet

   function TEXTM2PRACCOURSE1_canRender()
      if this.text() ='Competing'
          this.text = 'Yes'
       else
          this.text = 'No'
      endif          
      return true

   function TEXTM2PRACCOURSE1_onRender()
      this.text = {||this.form.tshirt1.rowset.fields["m2praccourse"].value}
      return

   function TEXTM2START1_canRender()
      if this.parent.textm2class1.text() = 'NC'
          lRet = false
      else
          lRet = true
      endif          
      return lRet

   function TEXTM80CLASS1_canRender()
      if this.text() ='NC'
         lRet = false
      else
         lRet = true
      endif        
      return lRet

   function TEXTM80PRACCOURSE1_canRender()
      if this.text() ='Competing'
          this.text = 'Yes'
       else
          this.text = 'No'
      endif  
      return true

   function TEXTM80PRACCOURSE1_onRender()
      this.text = {||this.form.tshirt1.rowset.fields["m80praccourse"].value}
      return

   function TEXTM80START1_canRender()
      if this.parent.textm80class1.text() = 'NC'
          lRet = false
      else
          lRet = true
      endif          
      return lRet
      return true

   function TEXTSPRINTCLASS1_canRender()
      if this.text() ='NC'
         lRet = false
      else
         lRet = true
      endif        
      return lRet

   function TEXTSPRINTPRACCOURSE1_canRender()
      if this.text() ='Competing'
          this.text = 'Yes'
       else
          this.text = 'No'
      endif  
      return true

   function TEXTSPRINTPRACCOURSE1_onRender()
      this.text = {||this.form.tshirt1.rowset.fields["sprintpraccourse"].value}
      return

   function TEXTSPRINTSTART1_canRender()
      if this.parent.textsprintclass1.text() = 'NC'
          lRet = false
      else
          lRet = true
      endif          
      return lRet

   function TEXTTOTALFEE1_canRender()
       if this.text() <10
           this.picture = '$9'
       elseif this.text() < 100
           this.picture = '$99'
       else
           this.picture = '$999'
       endif          
      return true

endclass