Kbase 13302: Walk Through the .qc7 File for RESULTS Version 2
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/16/2008 |
|
Status: Verified
GOAL:
This Solution serves as a guide to the various sections and the data contained there.
Presenting snippets of an actual Results Version 2 .qc7 file.
GOAL:
Walk Through the .qc7 File for RESULTS Version 2
FIX:
Section 1: The information in section 1 is hardcode. It is generated from a startup file and is used in the .qc7 file.
Notice the database[1]= "resdb" "PROGRESS" 6927333921.
This is the database name, database type, and the checksum number of when the last time a schema change has been made.
The fastload, feature-file and menu-file names are based on the first 5 characters of the database name.
/*
# PROGRESS RESULTS system administrator configuration file
config= sysadmin
version= 2.0I
database[1]= "resdb" "PROGRESS" 6927333921
fastload= "resdb"
goodbye= "return"
language= "eng"
status-area= "true"
toolbar= "true"
writeconfig= "true"
product= "RESULTS"
public-directory= "public.qd7"
hook.direct= "aderes/u-direct.p"
hook.login= "aderes/u-login.p"
hook.option= "aderes/u-option.p"
feature-file= "resdbf.p"
menu-file= "resdbmt.p"
minlogo= "adeicon/results%"
Section 2a: The information in this section is hard coded into the initial build.
#
label-name= "name,*name*,contact,*contact*"
label-addr1= "*street,*addr,*address,*address*1"
label-addr2= "*po*box*,*address*2"
label-addr3= "*address*3"
label-city= "city,*city*"
label-state= "st,state,*state*"
label-zip= "zip,*zip*"
label-zip+4= "zip*4"
label-csz= "*csz*,*city*st*z*"
label-country= "*country*"
Section 2b: The information about labels is obtained during the initial build from the results.l file.
label.size[1]= "d=3-1/2 x 15/16 in,w=35,h=5,c=1-wide"
label.size[2]= "d=3-1/2 x 15/16 in,w=35,h=5,a=2,s=2,c=2-wide"
label.size[3]= "d=3-1/2 x 15/16 in,w=35,h=5,a=3,s=2,c=3-wide"
label.size[4]= "d=3-1/2 x 15/16 in,w=35,h=5,a=4,s=2,c=4-wide"
label.size[5]= "d=4 x 1-7/16 in,w=40,h=8,c=Large mailing Label"
label.size[6]= "d=3-2/10 x 11/12 in,w=32,h=5,a=3,s=2,c=Cheshire"
label.size[7]= "d=6-1/2 x 3-5/8 in,w=65,h=14,l=8,c=Envelope"
label.size[8]= "d=9-7/8 x 7-1/8 in,w=78,h=17,l=8,c=Envelope"
label.size[9]= "d=4 x 6 in,w=60,h=24,c=Post Cards"
label.size[10]= "d=3 x 5 in,w=50,h=14,l=4,c=Rolodex"
label.size[11]= "d=4 x 2-1/4 in,w=40,h=10,c=Rolodex"
label.size[12]= "d=8-1/2 x 11 in,x=10,w=65,h=60,l=6,c=Form Letter"
label.size[13]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4145 Address"
label.size[14]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4010 Address (roll)"
label.size[15]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4600 Address (bulk)"
label.size[16]= "d=3-1/2 x 15/16 in,w=35,h=5,a=2,s=2,
c=Avery 4602 Address 2-wide (bulk)"
label.size[17]= "d=3-1/2 x 15/16 in,w=35,h=5,a=3,s=2,c=Avery
4603 Address 3-wide (bulk)"
label.size[18]= "d=4 x 1-7/16 in,w=40,h=8,c=Avery 4146 Address"
label.size[19]= "d=4 x 1-7/16 in,w=40,h=8,c=Avery 4011 Address (roll)"
label.size[20]= "d=4 x 1-7/16 in,w=40,h=8,c=Avery 4604 Address (bulk)"
label.size[21]= "d=4 x 1-7/16 in,w=40,h=8,a=2,s=2,
c=Avery 4605 Address 2-wide (bulk)"
label.size[22]= "d=2-1/2 x 15/16 in,w=25,h=5,a=3,s=2,
c=Avery 4144 Address 3-wide"
label.size[23]= "d=2-1/2 x 15/16 in,w=25,h=5,a=3,s=2,
c=Avery 4610 Address 3-wide (bulk)"
label.size[24]= "d=4 x 15/16 in,w=40,h=5,a=2,s=2,
c=Avery 4143 Address 2-wide"
label.size[25]= "d=4 x 15/16 in,w=40,h=5,a=2,s=2,
c=Avery 4611 Address 2-wide (bulk)"
label.size[26]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4162 Address - clear"
label.size[27]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4601 Address - clear"
label.size[28]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4249 Address - green"
label.size[29]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4250 Address - red"
label.size[30]=. "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4251 Address - pink"
label.size[31]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4253 Address - yellow"
label.size[32]= "d=3-1/2 x 15/16 in,w=35,h=5,c=Avery 4254 Address - red glow"
label.size[33]= "d=4 x 2-15/16 in,x=2,w=36,h=16,l=2,
c=Avery 4161 Shipping - red border"
label.size[34]= "d=4 x 2-15/16 in,w=40,h=17,c=Avery 4162 Shipping (bulk)"
label.size[35]= "d=3-1/2 x 15/16 in,w=35,h=5,
c=Avery 4163 Piggy-back Address Label"
label.size[36]= "d=2-7/16 x 3-1/2 in,x=3,w=30,h=13,l=2,
c=Avery 4160 Name Badge"
label.size[37]= "d=2-3/4 x 2-3/4 in,w=27,h=16,c=Avery 4241 3-1/2"" Diskette"
label.size[38]= "d=2-3/4 x 2-3/4 in,w=27,h=16,
c=Avery 4607 3-1/2"" Diskette (bulk)"
label.size[39]= "d=1-1/4 x 4-3/4 in,w=47,h=7,c=Avery 4240 5-1/4"" Diskette"
label.size[40]= "d=1-1/4 x 4-3/4 in,w=47,h=7,
c=Avery 4606 5-1/4"" Diskette (bulk)"
label.size[41]= "d=7/16 x 3-1/2 in,w=35,h=2,c=Avery 4255 File Folder - white"
label.size[42]= "d=7/16 x 3-1/2 in,w=35,h=2,c=Avery 4256 File Folder - blue"
label.size[43]= "d=7/16 x 3-1/2 in,w=35,h=2,c=Avery 4257 File Folder - red"
label.size[44]= "d=7/16 x 3-1/2 in,w=35,h=2,c=Avery 4258 File Folder - green"
label.size[45]= "d=7/16 x 3-1/2 in,w=35,h=2,c=Avery 4259 File Folder - yellow"
label.size[46]= "d=7/16 x 3-1/2 in,w=35,h=2,c=Avery 4266 File Folder - assorted"
label.size[47]= "d=3/8 x 1-1/2 in,w=14,h=2,a=5,s=2,
c=Avery 4609 Price Marking (bulk)"
label.size[48]= "d=5 x 3 in,w=50,h=16,l=2,c=Avery 4166 Index Card"
label.size[49]= "d=6 x 3-1/2 in,w=60,h=19,l=2,c=Avery 4167 Post Card"
label.size[50]= "d=4 x 2-1/6 in,w=40,h=16,c=Avery 4168 Rotary Index Card"
label.size[51]= "d=5 x 3 in,w=50,h=17,c=Avery 4169 Rotary Index Card"
#
Section 3: The information in this section is built into the .qc7 file during the initial build.
Some information about what it all means:
t = The type of export to be done, PROGRESS, CSV
p = The procedure that will run to create the export format
1 = Record start, signifying the beginning of a record
2 = Record end, they are in decimal format
example: 2 = 32, 13, 10
This means that the end of the record is space,
carriage return, line feed.
3 = Field delimiter, example, 3 = 34 meaning that the
field delimiter is quotes.
4 = Field separator, example, 4 = 32 meaning that the
field separator is a space.
l = The description that the end user sees.
h = Include file headers.
f = Specifying if this is a fixed width report.
1 = Description of the format.
b = Have a base date or a "?" to export the date as a character.
d = Data types to delimit.
i = Requires an initial prepass to count the records.
export.type[1]= "t=PROGRESS|p=e-pro|2=32,13,10|3=34|4=32|l=PROGRESS Export"
export.type[2]= "t=ASCII|p=e-ascii|2=13,10|3=34|4=44|l=Generic ASCII"
export.type[3]= "t=ASCII-H|p=e-ascii|h=y|2=13,10|3=34|4=44|l=ASCII w/headers"
export.type[4]= "t=FIXED|p=e-ascii|f=y|2=13,10|3=34|4=44|l=Fixed-width ASCII"
export.type[5]= "t=FIXED-H|p=e-ascii|h=y|f=y|2=13,10|3=34|4=44|l=
Fixed w/headers"
export.type[6]= "t=CSV|p=e-ascii|d=123|2=13,10|3=34|4=44|l=Comma
Separated Value (CSV)"
export.type[7]= "t=DBASE-2|p=e-dbase|h=y|f=y|1=32|l=dBASE II"
export.type[8]= "t=DBASE-3|p=e-dbase|h=y|f=y|1=32|l=dBASE III"
export.type[9]= "t=DBASE-3+|p=e-dbase|h=y|f=y|1=32|l=dBASE III+"
export.type[10]= "t=DBASE-4|p=e-dbase|h=y|f=y|1=32|l=dBASE IV"
export.type[11]= "t=DIF|p=e-dif|l=DIF (w/dates as strings)"
export.type[12]= "t=DIF-DASN|p=e-dif|b=12/30/1899|l=DIF
(dates as numbers)| for 123)"
export.type[13]= "t=OFISW|p=e-ascii|h=y|1=42,124|2=10|4=124|l=
CTOS/BTOS OfisWriter"
export.type[14]= "t=SD.F|p=e-ascii|f=y|2=13,10|l=System Data Format"
export.type[15]= "t=SYLK|p=e-sylk|l=SYLK"
export.type[16]= "t=WORD|p=e-ascii|h=y|d=123|2=13,10|3=34|4=44|l=
Microsoft Word"
export.type[17]= "t=WORD4WIN|p=e-ascii|h=y|d=123|2=13,10|4=9|l=
MS Word for Windows"
export.type[18]= "t=WPERF|p=e-ascii|2=5|4=18|l=WordPerfect (w/o crlf)"
export.type[19]= "t=WPERF-CR|p=e-ascii|2=5,13,10|4=18,13,10|l=
WordPerfect (crlf)"
export.type[20]= "t=WS|p=e-ascii|d=123|2=13,10|3=34|4=44|l=WordStar"
export.type[21]= "t=USER-1|p=/usr3/rdl7/rel/dlc/gui/aderes
/u-export.p|h=n|f=n|c=n|i=n|b=?|d=*|l=Sample Export"
#
Section 4: This information is hardcoded during the initial build of RESULTS. It contains security information about the names of the features that come with the product.
security.----------------= "*"
security.AboutResults= "*"
security.AdminCustomizeInterface= "*"
security.AdminDeployment= "*"
security.AdminExportType= "*"
security.AdminFeatures= "*"
security.AdminIntegration= "*"
security.AdminLabelField= "*"
security.AdminLabelTyp
e= "*"
security.AdminMenuEdit= "*"
security.AdminProgInitialize= "*"
security.AdminProgInstantiate= "*"
security.AdminProgWrite4GL= "*"
security.AdminRebuild= "*"
security.AdminReportType= "*"
security.AdminReset= "*"
security.AdminSecurity= "*"
security.AdminSubMenu= "*"
security.AdminTableAlias= "*"
security.AdminTableRelations= "*"
security.AdminToolbarEdit= "*"
security.AdminWhere= "*"
security.Array= "*"
security.BrowseView= "*"
security.CalcSubMenu= "*"
security.Counter= "*"
security.CustomLabel= "*"
security.CustomReport= "*"
security.DateFunc= "*"
security.Exit= "*"
security.ExportSubMenu= "*"
security.ExportView= "*"
security.FieldDelimiters= "*"
security.FieldProperties= "*"
security.Fields= "*"
security.FieldSeparators= "*"
security.FileClose= "*"
security.FileDelete= "*"
security.FileOpen= "*"
security.FileSave= "*"
security.FileSaveAs= "*"
security.FixedWidthFields= "*"
security.FormView= "*"
security.FrameProperties= "*"
security.Generate= "*"
security.HeadersAndFooters= "*"
security.HelpContents= "*"
security.HelpSearch= "*"
security.HelpUse= "*"
security.Includes= "*"
security.Information= "*"
security.Joins= "*"
security.LabelView= "*"
security.LogicalFunc= "*"
security.Lookup= "*"
security.MasterDetail= "*"
security.Math= "*"
security.MenuCommands= "*"
security.Messages= "*"
security.NewBrowseView= "*"
security.NewDuplicateView= "*"
security.NewExportView= "*"
security.NewFormView= "*"
security.NewLabelView= "*"
security.NewReportView= "*"
security.NewSubMenu= "*"
security.NumericFunc= "*"
security.OutputHeaderRecord= "*"
security.PageBreak= "*"
security.PercentTotal= "*"
security.PrintClip= "*"
security.PrintFile= "*"
security.PrintPreview= "*"
security.PrintPrinter= "*"
security.PrintPrinterNoBox= "*"
security.PrintSubMenu= "*"
security.ProgrammingSubMenu= "*"
security.ReadOtherDirectory= "*"
security.ReadPublicDirectory= "*"
security.ReAsk= "*"
security.RecentMessages= "*"
security.RecordAdd= "*"
security.RecordDelete= "*"
security.RecordEnd= "*"
security.RecordStart= "*"
security.Recor.dUpdate= "*"
security.ReportView= "*"
security.RunningTotal= "*"
security.Selection= "*"
security.SortOrdering= "*"
security.StandardExport= "*"
security.StandardLabel= "*"
security.StandardReport= "*"
security.StatusLine= "*"
security.StringFunc= "*"
security.Tables= "*"
security.Toolbar= "*"
security.Totals= "*"
security.TotalsOnly= "*"
security.WriteOtherDirectory= "*"
security.WritePublicDirectory= "*"
#
Section 5a: This information is hard coded during the initial build of the .qc7 file.
report.format= ""
report.dimension= ""
report.left-margin= 1
report.page-size= 66
report.page-width= 0
report.line-spacing= 1
report.top-margin= 1
report.before-body= 1
report.after-body= 1
Section 5b: This information comes from the results.l file.
page.size[1]= "d=8-1/2 x 11 in,w=85,h=66,c=Letter"
page.size[2]= "d=8-1/2 x 14 in,w=85,h=84,c=Legal"
page.size[3]= "d=11 x 17 in,w=110,h=102,c=Tabloid"
page.size[4]= "d=9-1/2 x 4-1/8 in,w=95,h=24,c=Envelope-#10"
page.size[5]= "d=229 x 162 mm,w=90,h=38,c=Envelope-C5"
page.size[6]= "d=220 x 110 mm,w=86,h=26,c=Envelope-DL"
page.size[7]= "d=7-1/2 x 3-7/8 in,w=75,h=23,c=Envelope-Monarch"
page.size[8]= "d=7-1/4 x 10-1/2 in,w=72,h=63,c=Executive"
page.size[9]= "d=297 x 420 mm,w=117,h=99,c=A3"
page.size[10]= "d=210 x 297 mm,w=82,h=70,c=A4"
page.size[11]= "d=148 x 210 mm,w=58,h=49,c=A5"
page.size[12]= "d=182 x 257 mm,w=71,h=60,c=B5"
page.size[13]= "d=7-1/3 x 11 in,w=73,h=66,c=35mm-Slide"
#
Section 6: This information is generated during the initial build
of the .qc7 file. The relationships are generated by looking at
the indexes and the fieldnames that match in the tables.
Automatic/Natural joins
#
relat[1]= "resdb.Customer" "1:M" "resdb.Invoice" ""
relat[2]= "resdb.Customer" "1:M" "resdb.Order" ""
relat[3]= "resdb.Customer" "1:M" "resdb.Ref-Call" ""
relat[4]= "resdb.Customer" "M:1" "resdb.Salesrep" ""
relat[5]= "resdb.Customer" "M:1" "resdb.State" ""
relat[6]= "resdb.Item" "1:M" "resdb.Order-Line" ""
relat[7]= "resdb.Order" "1:M" "resdb.Order-Line" ""
relat[8]= "resdb.Order" "M:1" "resdb.Salesrep" ""
relat[9]= "resdb.Ref-Call" "M:1" "resdb.Salesrep" ""
Manual joins
relat[10]= "resdb.customer" "1:M" "resdb.item"
"resdb.customer.cust-num = resdb.item.item-num"
"resdb.Customer.cust-num = resdb.item.item-num"
#
*/.