Content Supported by Sourcelens Consulting

�!wzcommon\wizctrl.vcxwzcommon\bmps\remall.bmp	<Source>d:\xsampledyletd:\xsampledylet�sample.vcxwzcommon\wizctrl.vcxcxrwzcommon\bmps\add.bmpmpcsmain.prgCSDEFSfCSDEFSP�����i(��%0,y� �U�1c:\temp\csdefs.fxpd:\xsample\csdefs.h)i	c:\temp\csdefs
csengine.prgcsdefs.h�ڸh� ..\xbase\wzupsize\wizusz.prg
REMOVE.BMPx�����i(��%0,�`� �U�1c:\temp\wzdefs.fxpc:\xsample\wzdefs.h)i	WZDEFSfWZDEFSPwzcommon\bmps\remove.bmp	csdefs.h	wzdefs.h
wzengine.prg
csengine.prg
ADDALL.BMPx
therm.vcxherm.vcxcxrm.
REMALL.BMPx?COMPLETEfUPDATEfRESETfINITfWIZCTRLVTHERMV���!@�:������@wzcommon\bmps\addall.bmp
wzengine.prg?COMPLETEfUPDATEfRESETfINITfWIZCTRLVTHERMV��=��=����
therm.vcxWIZCTRLVTHE?COMPLETEfUPDATEfRESETfINITfWIZCTRLVTHERMVTIVECHANGEfGETTABLEDATAf	TABLE.MSKx9SAMPLEVCSPROCSPRESETENVfCSMAINfCSMAINPf
therm.vcxION3fOPTION4csprocs.prg�|4�XM����j>ADD.BMPxsample1.vcx�B�'X?3>�/EbD:\XSAMPLE\SAMPLE.PJXJX	RVIEW.MSKx�Dt�$..\xquery\xsample\wzdefs.h
BVt \)AH�������..\xbase\wzcommon\wzengine.prg[�
PROCESSOUTPUTfERRORf	AERRARRAYaESC_PROCfDESTROYfADATAERRTBLSaANALCLEANUPf
DEVICECLEANUPfCLOSEUSERTABLESfATABLEARRAYaDISPOSETABLEf	INITTHERMfUPDATETHERMfDEALWITHDEVICESfCREATETARGETDBfCREATETABLESPACESfCREATETABLESfATABLECOUNTaCREATETABLESQLfTABLEEXISTSfADDTABLETOCLUSTERf
AKEYFIELDSaDELETECLUSTERINFOfGETDEFAULTCLUSTERSf
APARENTKEYa	ACHILDKEYaAPARENTSa	ACLUSTERSa
GETCLUSTERKEYfADDTIMESTAMPfACOUNTa	DROPTABLEfCREATECLUSTERSfCREATECLUSTERINDEXESf
UNIQUEORANAMEfDROPCLUSTERfCLUSTEREXPORTEDfHASHDEFAULTfOVERWRITEOKfABUTTONNAMESaCREATECLUSTERSQLfACLUSTERTABLESaCREATECLUSTERKEYf	AKEYARRAYaSENDDATAfCOUNTFIELDSfZOOa	JIMEXPORTf
ATBLFIELDSaAERRDATAa
DATAEXPORTERRf
FASTEXPORTfCREATESQLSERVERSPROCfAFIELDNAMESa
ROWHEURISTICSf	ARECCOUNTaATEMPaEXECUTESPROCf	ABIGARRAYaADATERRaBITIFYARRAYf
CREATEINDEXESfAINDEXCOUNTaMARKBITINDEXESf	ALOGICALSaTABLEUPSIZEDfANALYZEINDEXESf
BUILDINDEXSQLfDEVICEMANIAf
GETDEVICESfGETDEVICENUMBERSfADEVICENUMBERSaLATEMPaGETSERVERSPACEfCREATEDEVICEfEXECUTETEMPSPTfDIEfSINGLEVALUESPTf
ANALYZETABLESf	ATBLARRAYaAOPENTABLESaANALYZECLUSTERSf
ANALYZEFIELDSf	AFLDARRAYaDEFAULTMAPPINGfADEFAULTMAPPINGaGETELIGIBLETABLESfGETELIGIBLECLUSTERTABLESfGETELIGIBLETABLEFIELDSfAFIELDARRAYaGETINFOTABLEFIELDSfAINFOFIELDARRAYaVERIFYCLUSTERTABLESFIELDSfAINFOTABLE1FIELDSaAINFOTABLEFIELDSaVERIFYCLUSTERKEYFIELDSfGETDEFAULTMAPPINGfAPASSEDARRAYaDEALWITHTYPELONGf
AMEMOCOUNTaTWOLONGSf	UPSIZABLEf
REMOVECLUSTERfCHANGECLUSTERSTATUSfREMOVETABLEFROMCLUSTfINONECLUSTERfININDEXfINKEYf	DONTINDEXfDEFAULTSANDRULESf
MUNGEXBASEfCONVERTLANGUAGESTRINGfCONVERTCONSTANTSTRINGfHANDLEQUOTESfCONVERTDATESfCONVERTTOTRIGGERfTESTTRIGGERfCONVERTTOSPROCfCONVERTTODEFAULTfCONVERTTOCONSTRAINTfBINDDEFAULTfZERODEFAULTfBUILDRICODEfANEWFOREIGNaANEWPRIMARYa
ADUPECOUNTa
AINDEXEXPRaSETCOMMONKEYfSETPKEYfSETFKEYfBUILDCOMMENTfKEYARRAYf
BUILDRESTRfBUILDUPDATETESTfSTORERICODEfCREATETRIGGERSf	GETRIINFOfGETELIGIBLERELSf
AEXPORTTABLESaAPARENTKEYSa
ACHILDKEYSa
AELIGIBLERELSaDISPRELINFOfPARSERELfREDIRECTAPPfTRIMDBCNAMEFROMTABLESf
REMOTIZEVIEWSfAVIEWSaATABLENAMESa
AFIELDSINVIEWaAWHIPaADDTOERRfUNIQUECONNDEFNAMEf	ACONNDEFSa
CREATECONNDEFfPARSECONNECTSTRINGfCREATERMTVIEWSfAPKEYa	AFLDNAMESaUNIQUETORVNAMEf	AVIEWSARRa
ATABLESARRaBUILDREPORTf	AREPARRAYa
INTEGERIZEf
ADDTOREPARRAYf
PUTDATAINMISCfREORDERTABLEf
PURGETABLEfPURGETABLE2fCREATESCRIPTfORACLESCRIPTfUNIQUEFILENAMEf	JUSTSTEM2fREMOTIZENAMEfUNIQUETABLENAMEfUNIQUECURSORNAMEfCREATETYPEARRAYSfAARRAYSa	VALIDNAMEf
NAMEOBJECTf	MAYBEDROPfEXTRACTFIELDNAMESf
STOREERRORfSTORESQLfSETCONNPROPSfCREATETSfCREATEDATAFILEf
CREATEWZTABLEfCREATENEWDIRf	ADIRARRAYaCHANGEOKfGETFOXDATASIZEfLADIRaINSARRAYROWfAARRAYaDEBUGfCSENGINEP�H
ASORTARRAYaADDHANDLETOCLOSELISTfAHANDLESTOCLOSEaADDALIASTOPRESERVEDLISTfAALIASESTOPRESERVEaCLOSEUNPRESERVEDALIASESf
AALIASESINUSEaCLOSEHANDLESfADDLIBRARYTORELEASELISTfARELEASELIBRARYLISTaRELEASELIBRARIESfDESTROYfINITfINIT2fSETUPfAENVIRONMENTaCLEANUPf	PARSELISTfERRORCLEANUPfERRORfREADSETTINGSf
WRITESETTINGSfALERTfADDTHERMfTHERMV
PROCESSOUTPUTfTICKfTOCKfHELPfGETOSfADDBSfJUSTPATHfJUSTEXTf	JUSTFNAMEf
WIZLOCFILEfAFILEa	GETMACCPUf
SETLIBRARYf	LOCATEAPPfAXa
FXGETCREATfPUTPREFfGETPREFfFINDINIf
GETINISECTIONf	ASECTIONSa	FXSTRIPLFfJUSTSTEMfISWIZENGINEALLfASCANNERfTHEARRAYaINSAITEMfAARRAYaDELAITEMfACOLSCANfSAVEOUTFILEfFORCEEXTfGETSTYLEf	ADDCDXTAGfASORTSa	AFILEINFOaWZACDXa
GETTAGEXPRfGETFULLTAGEXPRfAFLDDATAaGETDBCALIASfADBCTMPaCHECKDBCTAGfSUBSTRCfLENCfWZENGINEfWZENGINEPv�����v�v.ϴ9%�]�h�r�h�u� ����U
ASORTARRAY}4��%�C���
�����v�%�C��������U����C�������T���C������
����UIHANDLETHISAHANDLESTOCLOSE4������T�
��C�exactv��G �%�C��C�
�f������T�
��C������%�CC�����
����T�
���
���� ����
���C�������"T����
������C�
�f��$T����
������CC�
�fW���UCALIASCEXACTITHISAALIASESTOPRESERVE��������������%�CC���y�
����T�
��C�exactv��G ���
����(�C��������$%�C��C�
���������Q�C�
��������set exact &cExact
�UICEXACT
AALIASESINUSETHISAALIASESTOPRESERVE^���%�C��������W���
����(�C�����S���CC�
���������UITHISAHANDLESTOCLOSEy4��%�CC���
�����r�%�CC����
��Q����C�������T���C������
����UCLIBRARYTHISARELEASELIBRARYLIST������
����(�C�����z�<%�CC�
����
�CC�
���fCC�libraryvf	��v�<��C�
��������UITHISARELEASELIBRARYLIST

����UTHISCLEANUP>4���%�-
��'�<,��<,���X%�C�THIS��C�THISFORM��C�THISFORMSET��
C�OWIZARD��
C�OENGINE�������%�C�HAn alias in the list "THIS, THISFORM, THISFORMSET, OWIZARD, OENGINE" is �Pin use. These aliases conflict with the wizards. Close the file(s) and continue?��Microsoft Visual FoxPro Wizards�x���	�%�C�this���x�Q���%�C�thisform�����Q���%�C�thisformset�����Q���%�C�owizard�����Q���%�C�oengine����Q�����B�-����%T���CC�
��
��
���6��%��2��4����WR,��MThe Wizards require Visual FoxPro for Windows or Visual FoxPro for Macintosh.��B�-���%�C�h�
��0�]��C�MMicrosoft Visual FoxPro Wizards require the Standard or Professional version.��	��B�-���Q%�CCChC�FOXPROCh���\g�� CCChC�FOXPROCh���\g��
	��5	����A��C�1The Wizards require Visual FoxPro 3.0b or higher.��	��B�-�����C�
���
��T���C����%���
��7�
���
�B�-��%�C�����3�B�-����U
CRETURNTOPROC
CPROCEDURETRACEDEBUGTHISTHISFORMTHISFORMSETOWIZARDOENGINEALERTSETUP
LINITVALUEINIT2CLEANUPUP4��K�����"�����"T���������C�TALKv��G2�%�C����t�T�
��C�	procedurev�����#T�
��CC�
������
�6���'T���������C�	exclusivev��%�������G ��"T���������C�stepv��%T���� �����C�escape���$T���������C�escapev����#T���������C�debugv��'T����
�����C�	trbetweenv��%�-
����G1�{���G�GN�������a��GN�������a��Ge����C���y��T���������CW��(T���������C�
compatiblev��GAM�T����������
���(T���������C�message�v��*G&(��Microsoft Visual FoxPro Wizards��$T���������C�safetyv��G.�"T����	�����C�pathv��$T���������C�fieldsv��G�'T����
�����C�fields�v��G��$T���������C�error���&T���������C�classlibv��#T���������C�exactv��G �"T���������C�echov��G�'T���������C�	memowidthv��&T���������C�udfparmsv��G^�"T���������C�nearv��GF�$T���������C�uniquev��G6�"T���������C�ansiv��Gd�#T���������C�carryv��G�&T���������C�cpdialogv��G{�(T���������C�
status barv��!T���������C�]C���%T���������C�deletedv��"T���������C�datev��#T���������C�pointv��&T����!�����C�databasev��%��3���%T����"�����C�LIBRARYv���GN���|���z�a��12�f1�oEngine.Help�U
CPROCEDURETHISAENVIRONMENTLFORCEEXCLUSIVEAALIASESTOPRESERVEF1������
����
����
����#���C������C��������C�����
��{2�f1��{��%set compatible &aEnvironment[3,1]
G+(�%�CC����
��?�T�
�����+�a��;�#T�
��CC����
���
��%�C�
�����!��G+(��
���T�
���
������$set exclusive &aEnvironment[6,1]
F�C�����'set message to [&aEnvironment[7,1]]
!set safety &aEnvironment[8,1]
%�CC�	���
����#set path to &aEnvironment[9, 1]
��	G)(���"set fields &aEnvironment[12,1]
"set fields &aEnvironment[13,1]
 on error &aEnvironment[14,1]
G~(�%�CC����
����T�
�����+�a����#T�
��CC����
���
��%�C�
������!��%�� ALIAS �
���n�#T�
��C�
�C�ALIAS �
�\��T�
��CC�
��
�����T�
��CC�
��\���G~(��
����
������G~(��
����T�
���
������!set exact &aEnvironment[19,1]
 set echo &aEnvironment[20,1]
G$(�C�����'set udfparms to &aEnvironment[22,1]
 set near &aEnvironment[23,1]
"set unique &aEnvironment[24,1]
 set ansi &aEnvironment[25,1]
!set carry &aEnvironment[26,1]
$set cpdialog &aEnvironment[27,1]
&set status bar &aEnvironment[28,1]
G(�C�����#set deleted &aEnvironment[30,1]
#set date to &aEnvironment[31,1]
&set point to "&aEnvironment[15,1]"
'set decimals to &aEnvironment[16,1]
GN���|���z�-��GN�������-��GN�������-��%set trbetween &aEnvironment[10,1]
set talk &aEnvironment[1,1]
set step &aEnvironment[2,1]
"set escape &aEnvironment[18,1]
!on escape &aEnvironment[32,1]
T���a��'set database to &aEnvironment[33,1]
T���-��T���-��%��3���%�CC�"���
����Gb(�C�"������Gb(�����U
IINDEX	CLISTITEM
CLISTITEMLISTCLISTITEMALIASTHISCLOSEHANDLESCLOSEUNPRESERVEDALIASESRELEASELIBRARIESAENVIRONMENTF1	PARSELISTSETERROROFFHADERROR44������
H��-���
������%�C�,�
�����i�B�CC�
�C�,�
��=����~�
B�C�
������C�,�
���
��
����	B����2�-�+T�
��C�
�C�,�
��
���\��%�C�,�
������B�CC�
�C�,�
��=����)�
B�C�
������UCLISTIINDEXCTEMPU#4���������T���a��T����
���#T���CC�
���CE��
�6��%���	���
H�~��T�CC��
@�
formwizard�mformwizard��"CC�
�Z��3/108/1705/1708/1718	���4��C�$File in use. Could not create index.����2���B��"T�
��CC�
���CE��
�6��<%�C�	m.oObjectb�O�	C�
��
	�C�.�
��	����T�
���
���.�
����%�-����wT�
��C�Error #CC�
�Z�� in �
�� (CC�
�Z��): �
��2�Microsoft Visual FoxPro Wizards����
H�*�����
��RETRY��g�T���-����G1 �&cAction
��
��IGNORE����T���-��B���o�%��
��J����:T�
��CCE�0�Microsoft Visual FoxPro Wizards�����k�wT�
��C�Error #CC�
�Z�� in �
�� (CC�
�Z��): �
��0�Microsoft Visual FoxPro Wizards������
���
�%�C���
��
�(%�C�oWizard.lEngineErrorb�L����T���a���<��<�����T�
������return to &cReturnToProc
��<���UNERRORCMETHODNLINEOOBJECTCMESSAGECACTIONTHISHADERRORIERRORSETERROROFFCWIZNAMEALERTNAMEERRORCLEANUP
CRETURNTOPROCOWIZARDLENGINEERROROENGINEUU)!4�
��
��
��
��
��5�
��
��#T�
��CC�
������
�6��%�C�����m.cMessage = [&cMessage]
���%�C�
��
����T�
��C�
��
��
��x�����;T�
��C�
��
��Microsoft Visual FoxPro Wizards�x���
H�����
����0�T�
���OK����
����U�T�
���YES����
����y�T�
���NO����
������T�
���CANCEL����
������T�
���ABORT����
������T�
���RETRY����
�����T�
���IGNORE���B��
���UCMESSAGECOPTIONSCTITLECPARAMETER1CPARAMETER2	CRESPONSEC4�������G~(�therm�
T�
�������
����(��9�����t%�C�#_screen.Forms(m.i).Parent.BaseClassb�C� CC�
��9���@�formset	�C�
��9���	�	����T�
��C�
��9����!����%�C�
��
��/�f%�C�m.orModalFormset.ThermRefb�O�C�
��
�@�thermometer	�C�
��
�@�form	����,T�
��
��
�CC�
������
�6��)T�
��
��CC�
������
�6����C���
��
����	�4��C�ThermRef�Thermometer�
��
��
�����T��
��
��
��
T�
�������.%�C�
this.ThermRefb�O�
C��
�
	����*T��
��
�CC�
������
�6��'T��
��CC�
������
�6����C����
������*T��
�C�Thermometer�
��
��N����%�-
��#�T��
��a���<�T��
��-���UCTITLEIBASISIORMODALFORMSETTHERM	FORMCOUNTFORMSPARENT	BASECLASS
WINDOWTYPETHERMREFCLASSLBLTITLECAPTIONUPDATE	ADDOBJECTTHISALWAYSONTOP&#��C�No process defined.����UTHISALERT7��T��C���U	ITICKTIME�4�����T��C���t&�%�C�
��
��E����
��: ���g����Elapsed time: ���"��C�
��
��<��Z��UCDESCRIPTIONISECONDS	ITICKTIME�
H�
���d�C�_screen.ActiveFormb�O�+C� _screen.ActiveForm.HelpContextIDb�N	�
�9���	����$I��9�������������$I������2���$���U
ACTIVEFORM
HELPCONTEXTIDTHISIHELPCONTEXTID�
H�
�����2��)�T��������4��E�T��������3��a�T������!�C�	Windows 3C�J������T������"�C�
Windows NTC�J������T������2���T�������UTHIS
NCURRENTOS4��B�C�
����UCSTRINGADDBS4��B�C�
����UCSTRINGJUSTPATH4��B�C�
����UCSTRINGJUSTEXT4��B�C�
����UCSTRING	JUSTFNAME�4�������
������T���-��T���a��T�
��C�
�����T���-��%�����<�(%�C�	m.cPromptb�C�C�
������T�
��C�
���:���T���-��T���a��T�
��C�
���
����T���-��%�����-�T���-��T�
������B��
����T�
��C�
�����"%�C��C��]�
�������T�
��C��]�
����r�T�
��CC�<��
��	��
H���n�!�C���
��
�������T�
���
��
���-�C���
��WIZARDS\�
�����L�#T�
���
��WIZARDS\�
���2�n�(%�C�	m.cPromptb�C�C�
������T�
��C�
���:���T���-��T���a��&T�
��C�
�C�
����
����T���-��%������T���-��T�
������j�%�C���
�����f���C�File not found.����T�
���������B��
���U
	CFILENAMECPROMPT	CTEMPNAMECWIZARDPATHAFILETHISHADERRORSETERROROFF	JUSTFNAMEADDBSJUSTPATHJUSTEXTALERT.+B�C�	POWER MACCChf�	�PPC��68K6��U94����������
T�����
%��3
��E�	B�����
H�V�)���C�libraryv����%�C������,IF &cVersionFuncName() < cReqVersion�����C������	B������
T�����/�C��
�C��	C���
���	����T���a��T��C���
���Gb(�C���
���T���-��%���������C��.����	B�����%�C������,IF &cVersionFuncName() < cReqVersion���<�������C������	B������(�C��	C���]�:������T���a��T��C���]�:���
Gb(����T���-��%���������C��.����	B�����%�C�����,IF &cVersionFuncName() < cReqVersion���<�������C������	B������ �C��	C��]������T���a��T��C��]���Gb(�C��]���T���-��%���������C��.����	B�����%�C������,IF &cVersionFuncName() < cReqVersion���<�������C�����	B������2�)���C��.����	B�����	B����U

CLIBRARYFNAMECSPECIALDIRCVERSIONFUNCNAMECREQVERSIONCBADVERSMESSAGECBADLIBMESSAGECLIBRARYTHISALERTAFILEADDBSSETERROROFFHADERROR�4����� %��FOXTOOLC�LIBRv
��7�	B�����
�����
T�����%�C���������B�C��C�������	B�����UCSIGAX
FXGETCREAT�4�����+�������	�
���
�T��-��T��C�
�����%�C����s�B��T��CW��h��_temp��M�����
���T��C�	MEMOWIDTHv��G$(�����
T�����T��C�[��]����%������T�"����T��C�
�>��T�
�C�
�f��T��C���
����T���"��T��C����"��� ��	���(�C��������"%�C��=�[�CC�������!��%�CC��=f�
�
����%��=�
������>���C���
�=��=�C���
�C�>CC����\C�
 C�
 ����6CC�����\C�
 C�
 ����6\��T��a��!���T���"��T��C����"�����%��
���2>���C���
�=��=�C���
�\��T��a����%��
��c�?>�����C�
 �[�
��]C�
 ��=�C�
 ��T��a���
%������T�
�C�SAFETYv��G.��(���.��SET SAFETY &cOldSafety
�G$(����Q��
F����UCSECTIONCITEM	CNEWVALUECINIFILECFILEISELECTILINE
IMEMOWIDTHCVALUEICTRCUITEMLWRITTENIPREV
COLDSAFETYTHISFINDINI_TEMPCONTENTILENITEMCLINE�4������������	�
T�����T��C�
��
���%�C����j�	B�����T�	�C����%��	�������	B�����T��C�
�>��T��C�f��+�C�
�	�
����T�
�C�
�	���"%�C�[��]C�
A������+�C�
�	�
����T�
�C�
�	���"%�C�
�=�[�CC�
����L�!��(%�CC�
�=f�
���=�
�
	���� T��C�
�
C�=�
�
�\��!�����
��C�
�	���B��
���UCSECTIONCITEMCINIFILECFILEISELECTILINE
IMEMOWIDTHCVALUEICTRIFHTHISFINDINIILENITEMCLINE�4�����T���
���%�C�
�0
����T��C�Q�
���%�C�
�0
����T��C���]�:�
���%�C�
�0
����	B�������	B����UCINIFILECFILE�4����������T��C�
�����%�C����N�
B�������T��C����%�������}�
B�������
T�
��-��+��
����T��C�
����%�C�
������
T�
��a��!��"%�C�[��]C�A����|�+�C�
��
��x�T��C�
����"%�C��=�[�CC�����M�
T�
��a��!��'��C�CC�C�=�
��=���	�����
��C�
����B�CCC���������6��U
	ASECTIONSCSECTIONCINIFILELDONECFILETHISFINDINIIFHCLINEINSAITEM?4������� %��FOXTOOLC�LIBRv
��H���C����B��T��CW��%�C�0
��l�B��h��_temp1��M�������>���C�C�
 C�
 C�
 ����(����%�C��C����"�%�C��.TXT0���
 ����=���.TXT�(������Q��
F����B�U	CFILEIFHCBUFFERISELECT	FXSTRIPLF_TEMP1CTEXTJUSTSTEM	JUSTFNAME
B�a��U2'4�
��
��
��
��
��
��5����!=acopy(&cArrayName, thearray)
%�C�����������C��������
T�
��a�����
T�
��-���1T�
��CC�m.startb�N��
����6��#T�
��CC�
������
�6��#T�
��CC�
������
�6��&T�
��CC�
���	C�����
�6��+�a����$T�
��C����
���
����,%��
���C���
����
�����!����T�
���
��
�����%��
�������C�������;B�C�
��&C�
�����C���
���6��
�6��U	
CARRAYNAME
EXPRESSIONCOLUMN
LRETURNROWSTARTHOWMANYLSINGLEDIMENSIONIELEMENTTHEARRAY������!%�C�����
CC���	��E�T������
��������C���������%�C������T��C������
��������C���
�����T���
�����
�����UAARRAY	SCONTENTSIROW{����%�C����
���t�%�C������B�
T������p���C���
������C��������UAARRAYWZIROWX���������%�C�	m.nColumnb�N��D�
T������%�C�	m.lRetRowb�L��r�
T�
��-���T�
�����+�a���T�
��C���
��
����
H������
������!��C���
����
�����!�2��T�
���
������%��
���>�B�C���
������Q�B��
����UASEARCHSEXPRNCOLUMNLRETROWAPOSRETROW����������%�C�m.pMessb�C��D�T�
������%�C�
m.pDefFileb�C��u�T�
������&%�C�m.pExtnb�C�C�
������T�
���*���+�a����T�
��C�
��
��
����%�C�
������!��%��
��*��(�T�
��C�
��
������%�C�
�0����T�
��C�
����%��
��������6��C�&File is in use. Please select another.����.��
��C�
�����!��T����
���B�C���
��U	PMESSPDEFFILEPEXTN	CSAVEFILEWZIFHANDTHISFORCEEXTALERTCOUTFILE	��
�����T��C�3��:��\6��T�
��C��CC�
�f�]��%��
��
�����"T�
��C�
��C�
��
��\��G%�C�
��R�
��C�
�>�	�C�
�C�
�>��\�:	����T��C�
��C�
�>�\���B��
�����	B�����UFILNAMECDIRSEP��
��
��	��
��%�C�
���\�.��M�T�
��C�
���\���T�
��C�
�����T�
��CCC�
��f����%�C�.�
������0T�
��C�
��C�.�
��\�.�
������T�
���
��.�
����B�C�
����
���UFILNAMEEXTPNAMETHISJUSTPATH	JUSTFNAMEADDBS�	��
������T��C���
�]��T��C�3��:��\6��%�C�
��
�������&T�
��C�
�C�
��
�����\���%�C�:�
������%T�
��C�
�C�:�
����\���B�CC�
�f���UFILNAMECLOCALFNAMECDIRSEP�	��
��	��
��T�
��C�3��:��\6��T�
��CC�
�f���(%�C�
��R�\:
�	C�
��
	����T�
���
��
����B��
���UPATHNAME	SEPARATOR�	��
��%�C�\�
�����G�%T�
��C�
�C�\�
�����\���%�C�:�
�������%T�
��C�
�C�:�
�����\���%�C�.�
������%T�
��C�
��C�.�
��\���B�CC�
�f���UFILNAME�	4�
��	��
��T�
��C�
�����T�
�����%�C�.�
����x�%T�
��C�
�C�.�
���\���
B�C�
�f��UFILNAMEEXTTHIS	JUSTFNAME4����
H���!��
���
�	��
�	��I�B��BIU����
���
�	��l�B��BI����
���
�	����B��BU����
���
�	����B��IU����
�����
B��B����
�����
B��I����
�����
B��U��2��
B��N���ULISBOLD	LISITALICLISUNDERw4���%�C����n�J��C�:Incorrect number of parameters passed to indexing routine.����	B�����5����������
J���(��$=ACOPY(THIS.&aSortRef.,aSorts)		
5�����	�
�#5���
������J���(������
J���(��%�CC������D�	B�����%�C�.TMPC&���j�	B�������C��C&���%�C�RC�������	B�����<��T�
�	�C��T�
�
�C&��T�
��C�
�
�CDX����$%�C�THIS.lSortAscendb�L���T���a�����C�����
��J�-�(�������(�C������1FOR iPos = 1 TO ALEN(THIS.&aFieldsRef.,1)���AIF UPPER(THIS.&aFieldsRef.[m.iPos,1])==UPPER(aSorts[m.i])���!����,m.cSortFld = THIS.&aFieldsRef.[m.iPos,1]
%�C�.�
�
���:�"T�
�
�C�
�
C�.�
�
�\����m.sFldExpr = THIS.GetTagExpr(m.cSortFld,THIS.&aFieldsRef.[m.iPos,2],THIS.&aFieldsRef.[m.iPos,3],THIS.&aFieldsRef.[m.iPos,4],(ALEN(aSorts)=1))
%�C�
��
���.T�
���
�CC�
������+6�
������%�C������C�T�
��CC���
=���b�T�
���WIZARD_1���+�C�
��W�����T������T�
���WIZARD_CC�Z����
T�
��-��
T�
��a��%�C��
��N�
T�
��-��T���a��Q���
�
����
�	��%�CC��C�
��<�T�
�����
T�
��a���T���-���%T�
��C������ DESC6��%��
�
����T�
��C�	buffering���%�C�
�0��*���
����(����&�%�CC�
��
�����S�%��
�������Caa�����C�	buffering�����0INDEX ON &sTagExpr TAG &sTagName &wzstagdesc
!��&%�CCC�
��
�m�rfCC�
��rf��"�T��C�
��
����SET ORDER TO &wzsTmpTag
V%���
��
DESCENDINGC�ORDERv	�%����
DESCENDINGC�ORDERv
	���T��C�
��
����!��������%��
����h���Caa�����C�	buffering�����0INDEX ON &sTagExpr TAG &sTagName &wzstagdesc
�%��
��������C�	buffering�
������
H���a���
����Q���
�
����
�	����
�
��Y�AUSE (m.sDBF) AGAIN ALIAS (m.sCurAlias) SHARED ORDER &sTagName
2�a��-�B��
���UASORTREF
AFIELDSREFTHISALERTASORTSSTAGNAMESFLDEXPRSTAGEXPRLHASMEMO	SCURALIASCSORTFLDSCDXNAMEISDBFWZACDX	AFILEINFONTMPCNTCTMPNAME
NBUFFERINGIPOSFORCEEXTLSORTASCENDWZHADERRWZISEXCLSETERROROFF
WZSTAGDESC	WZSTMPTAG��������
H�$���!��
��C�
�
��(	��a�B��LEFT(�
��,40)����
��C����B��
���.�C�
��N�F�I�B�Y���
�	����B��
�����
��L���� B��IIF(�
��	,'T','F')����
��I���B��STR(�
��)���C�
��N�F���h�6B��STR(�
��,CC�
�Z��,CC�
�Z��)����
��Y����#B��	ALLT(STR(�
��,16,4))����
��B���UB��ALLT(STR(SIGN(�
��)*IIF(�
��=0,0,LOG10(ABS(�
��))),20,16))����
��D��5�B��DTOS(�
��)����
��T����hB��
DTOS(TTOD(�
��))+STR(HOUR(�
��),2)+STR(MINUTE(�
��
),2)+STR(SEC(�
��),2)��2���	B�����USORTFLD	CDATATYPENDATAWIDNDATADEC	LONEFIELD�����������%�CC�����:�	B�����
�������C�����
T����������(�C�����|�%�CC�
�������.�������(�C��������&%�CC�
���fCC�
��f����!����MT��CC�
��C�
���C�
���C�
���C��������%�C�
��
��x�,T���
�CC�
������+6�
������	B����U
ASORTARRAYAFLDDATAIIPOSSFLDEXPRSTAGEXPRTHIS
GETTAGEXPR���������%�C�m.cDBCb�C��?�T�
������%�C�
���CCꖡ	��f�	B�����%T�
��CC�
���C��C�
�f6������������C�����T�
��C���
����'B�C�
�����
C�
���6��UCDBCADBCTMPCGETDBCNPOS7����������
T�����T��C�
SourceType����T��C�DATABASE���%��
��C�
������B�a���T��C�
�����!%�C�
��
�C�
���	����B�a���
T����������(�C�V��"�%�CC�
�mfC�
�f���T��C�
����!����B�C�
��
��U	CSORTEXPR	CDBCALIASCDBCLISVIEWCTAGNAMEITHISGETDBCALIAS_�����%�C�m.d3b�L��9�B�C�
��
�\���X�B�C�
��
��
�\���UD1D2D3���
B�C�
�>��UD1UAddHandleToCloseList@AddAliasToPreservedList�CloseUnpreservedAliasesCloseHandlesAddLibraryToReleaseList�ReleaseLibraries6Destroy�Init�Init2�	Setup�	Cleanupa	ParseListErrorCleanupjErrorqReadSettingsE
WriteSettingsLAlertSAddTherm� 
ProcessOutput�$Tick�$Tock	%Help�%GetOS�&addbs�'justpath�'justext(	justfname<(
WizLocFilen(	GetMacCPUr,
SetLibrary�,	LocateAppy1PutPref22GetPref�6FindINI�8
GetINISection�9	FxStripLF�;IsWizEngineAllQ=aScanner_=insaitem�?delaitem�@acolscanvASaveOutFileCJustPath3EForceExtTF	JustFname�GAddBS�HJustStemQIjustext?JGetStyle�J	AddCdxTag&L
GetTagExpr�UGetFullTagExpr�XGetDbcAliasxZCheckDBCTag�[Substrc]��Lenc{]��
FxGetCreat�]���
T�����
T�����
T�����
T�����T���3.0��&T��CCCChC�FOXPROCh��\g����
T�����
T�����
T�����
T�	����
T�
����
T�����
T�����
T�
����
T�����T��a��T��-��T��-��T�������
T�����T��-��
T�����T��a��
T�����T��a��
T�������������
T�����
�����
T�������������
T�������������
T�������������
T�������������
T������ �������
T� �����!�������
T�!�����"�������
�#����T�#������
�$����
T�$����
�%����
���
���
���
���
���
���
���
���
��	�
��
�
���
���
��
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
�� �
��!�
��"�
��#�
��$�
��%�
��&�
��'�
��(�
��)�
��*�
��+�
��,�
��-�
��.�
��/�
��0�
��1�
��2�
��3�
��4�
��5�
��6�U&IHELPCONTEXTIDCWIZNAME	CWIZCLASS
NTIMESTAMPCWIZVERSIONCVISFOXVERSION	CWIZTITLECOUTFILECDBCNAME	CDBCALIAS	CDBCTABLENWIZWORKAREA	CWIZALIAS
NWIZACTIONCWIZOPTIONSLSORTASCENDSETERROROFFHADERRORIERRORCMESSAGE
LHASNOTASKTHERMREF
LINITVALUE
NCURRENTOSLFORCEEXCLUSIVE
CRETURNTOPROC	ASETTINGSADBFLIST
AWIZTABLES
AWIZFIELDS	AWIZFLIST
AWIZLABELS	AWIZSORTSACALCFIELDSAALIASESTOPRESERVEAHANDLESTOCLOSEARELEASELIBRARYLISTAENVIRONMENT	WizEnginecustom�a� 1s���A�A3s�aa�q�QA!AA3�1Raa�AQAAQA3s��QAA3q�q�A�A3r��QAA3�3����A�QQ
2�Aq�A��Aa�Aa�A�qAAR"qqA2�qAqA2B�q#qAA36qQb%a��1AsaA"QAa1q�a�aaA���q���Aa!AaqaAd3a!aqaa!aAa!a1aaa�Q!1a�QA�31���3A��Raq��1AA�QAADrs1��A"!bq��1AA�1�����AQAA1q!Aa111aqR��!�q���q1�aAAR4�q�1����A��������AA35qr�!1�BB�AAA"��A�r���Qa���AA�A��rAA�1��Aqqq!��qA333�2�AR!���A�31!11Q1A1A1QA�4�����C�AAA"c����AAQ����qa��AA��A313q�3qq�Q!A��A!3�C1A�qA3����!�A3q3q3q3q3���������A������A�A�!����q�1���A��a�������AAAA�4�4�q���A���A�AA������Q�A��A�AA�����Q�A��A�AA�AA�Q�A���AA�Q�B�5rr�A���Q��A=4��t�BA�aQ�����q�q!AA�B��AAA�qA�$�AB���A�RaA�A���5���q��A�!�A�2!2!BA�AAAAA��5uq�!2!�!�AAA�4��rx��A�!�A���AA!2!�AArAAA��5s��AA�AArQ����r��AA��B:s3y�ra���A11a�A�A�qEA�1A�3�Q����a�AA3�aA��!AAA36q��A��A����1A�A�QAA�Q��A3����A��AaA��AAC�A2AaAA�ABA"�3�r��Q!r�A���A3����A�����A�3��Q��aA�QA�3���Q�qA�3��QA�QA�QA�3�����QA�3�����������������A3���Ar1�A�1��c�A��A��Aq���C�A#��AAA��!A	"�ABC��qAu�A�����qa��A�AR���1��AAAca�baAAAA�1��AA2�AA��q�BB�4t��A���AA��bA1AQA�A���A3uq1�A����bAA�aAAA�"�AA�3t���A��AR2��r3tq����qArqA�q�AAA�6��!�qA3q�51����a��������������������2���1�1�1�1�1�1�4�������� �����`�����P�� ���p��������������������� �p������������� �������P��
�@���� 1� "�L"�$��$�&�&�&�'�-�'
)56)~*
<�*�*>�*61pW12cq!2�<i��<�H��H�J:&K�KP'�K�RUY�R�R�ZSS�[#S�V�y�V�_���_�_�`<`
�\`�a��a�b��b`d*��d�d<��deA�(eYeF�~e�eK��exlP�l!m�km�v�K�v(x�XMy���C���f�Άˈ���:�����d���k�ߒ��˜�V�Hz�o�Y(��R�fBx����b��ܣ�p��Х�~�����F���h������?��b������%+1����E����];��k*�A�.�^���R���"�Z�����a��O�~c:\temp\wzengine.fxpc:\xsample\wzengine.prg)�v	�MCLICKfERRORfKEYPRESSf
CONFIGUREFONTfINITfWIZCTRLVBUTTONSELECTIONfPAGE1fPAGE2fPAGE3fOPTION1fOPTION2fOPTION3fOPTION4fREFRESHfSIZETOCONTAINERfADD.BMPx
REMOVE.BMPx
ALISTITEMSaASELECTIONSa
ADDALL.BMPxACHOICESa
REMALL.BMPx
GETDBCDATAfATMPARRaATMPARR2a
ADBCTABLESaUSETABLEfADBFLISTaADBCLISTaGETDBCTABLEfGETFREEDATAf	OPENTABLEfMOVERREFRESHfATMPDATAa	APOPITEMSaGETDBCALIASfADBCTMPa
GETDBCNAMEfDESTROYfINITVARSfASKIPTABLESaINITDATAf
AWORKAREASaADBCaINTERACTIVECHANGEfGETTABLEDATAf	AWIZFLISTaACALCFIELDSaAPICKFIELDSaATMPFLDSaJUSTSTEMfALERTf
ADDTOARRAYfAADDTOARRAYaACOLSCANfSETDATAPROPSfFIELDCHANGEfUPDATESTATUSBARf	VALIDITEMfLSTLEFTfCMDADDf	CMDREMOVEfLSTRIGHTf	CMDADDALLfCMDREMOVEALLfINITCHOICESfINITSELECTIONSf
GETSELECTIONSfPOPLISTf
ALISTARRAYaCLEARfDBLCLICKfUPDATEMOVERfATAGLISTaAFLDSaATAGSaFOX.MSKx�FH�<..\fox.mskmskFOX.BMPx..\fox.bmpbmp
rview.msk	RVIEW.BMPx
rview.bmp	LVIEW.MSKx
lview.mskD:\XSAMPLE\SAMPLE.PJXJX	LVIEW.BMPx$..\xquery\xsample\csdefs.h2�N�� Tn���UT'T.Xʎ%9$�Jo $�� �U�����T���a��1��OEngine.Esc_proc�%�������
����
����T���use C�������C������
���	�%���
�Oracle����
����
�����
���
�
����
����%�������
�����%������
�����
����
����
����
����
����T����-��3��C�Upsizing complete.�0�Upsizing Wizard�x��ULCSQLLCMSGTHISPROCESSINGOUTPUT	SQLSERVERDEALWITHDEVICESCREATETARGETDBSERVERDBNAMEEXECUTETEMPSPT
ANALYZEFIELDS
SERVERTYPECREATETABLESPACESCREATECLUSTERSCREATETABLESSENDDATAANALYZEINDEXESEXPORTRELATIONSBUILDRICODE
EXPORTINDEXES
CREATEINDEXESDEFAULTSANDRULESCREATETRIGGERSREDIRECTAPPCREATESCRIPTBUILDREPORTTHERMREFVISIBLE�4�����������C���z��T��C����T������
H�Z�����������T��	�a��B�-���������T��	�a��B����l����T��	�a��B������������T��	�a��B��������T��	�a��B�������>�T��	�a��B�������b�T��	�a��B���������HT�
�C�#Your computer is out of disk space.�5�Upsizing Wizard�x��%��
�����X�����C���������U
NERRORCMETHODNLINEOOBJECTLCERRMSG
LNSERVERERROR	AERRARRAYTHISMYERRORHADERRORLNUSERCHOICE	WIZENGINEERRORp��@%�C�Cancel Upsizing Wizard?�4�Upsizing Wizard�x���]�G�
����B(���i�B��UTHISDIEWIZSTARTH����3T��C�����	��Close�	�Delete6�� ��C�Keywords�Close������C�ExprMap�Close������C�TypeMap�Close������C���Close������Ca����
������C�a��	��%���
������C��
�g���%���
������C���Delete����%�C�
�
���������(�C��
������!��CC���
�Delete��������%������
	����T��CC�]���	��..�
������G<�������
���������� ���C�	FetchMemo��!�������"�#�#�U$LCACTIONLCDELDIRTHISDOREPORTPROCESSINGOUTPUTDISPOSETABLEORANAMES
DEVICECLEANUPCLOSEUSERTABLESANALCLEANUPMASTERCONNHAND
SAVEERRORSERRTBLADATAERRTBLSI
CREATEDNEWDIR
KEEPNEWDIRAOPENDATABASESADATASOURCESASERVERDATABASES	ACONNDEFSAEXPORTATABLESTOEXPORTADEVICENUMBERSGCQTGC2QT	ACLUSTERSAVALIDTABLESACLUSTERTABLESASERVERTABLESPACES
ADATAFILESASELECTEDTABLESPACESASELECTLIST	FETCHMEMO	WIZENGINEDESTROYk4���%��
��x�"T������������"T������������%T��������	�
����%T���������
����%T���������
����%T��������
�
����%T���������
����T���a��T���a��T���a��T���a��T���-��T���a��T���a���%�������%������	����T���Close�����T���Delete������T���Delete�����C���Close������C���������C���������C���������C���������C�� �����%�������T���Close�����C��!�������C��"�����%��
��d�T�� ����T������T������T������T������T������T��#�-��T��$�����U%LCACTIONLLWIZARDCLOSINGOWIZARDFORM1
PAGEFRAME1PAGE1PAGE7
GRDTYPEMAPRECORDSOURCE
GRCFLDNAME
CONTROLSOURCEGRCTYPE
GRCRMTTYPEGRCRMTLENGTH
GRCRMTPRECTHISANALYZETABLESRECALCANALYZEINDEXESRECALCANALYZEFIELDSRECALCGETCONNDEFSRECALC
GRIDFILLEDELIGIBLERELSRECALCGETRIINFORECALCNORMALSHUTDOWNDOREPORTPROCESSINGOUTPUTDISPOSETABLEMAPPINGTABLE
ENUMFIELDSTBL
ENUMTABLESTBLENUMINDEXESTBLVIEWSTBLENUMRELSTBLERRTBL	SCRIPTTBLTABLECHOSENUSERCONNECTIONi4��%%�C�oWizardb�O�C��
	����%T�������������%T������	������� T��������
�-�� T������	��
�-�����C��
�Close������C���Delete����%��
��b�T������T������T��
����T������T������T������T������T������T���-��T���-��T������T������T������T������T���-��T���-��T������T������T���a��T�� �-��T�!�-��T�"�-��T�#�-��T��$�a���U%
WIZARDCLOSINGOWIZARDFORM1
PAGEFRAME1PAGE1PAGE4DEVICE1
CBODEVICENAME
ROWSOURCETYPEPAGE5
SELFFILLEDTHISDISPOSETABLEDEVICETABLEALIASDEVICETABLE	USERINPUTDEVICENUMBERSFREEDEVICEDBNAME
DEVICEDBPNAMEDEVICEDBSIZEDEVICEDBNUMBERDEVICEDBNEWDEVICEDBCHOSEN
DEVICELOGNAMEDEVICELOGPNAME
DEVICELOGSIZEDEVICELOGNUMBERDEVICELOGNEWDEVICELOGCHOSEN
MASTERPATHNEWDEVICECOUNTCHOOSETARGETDBRECALCDATASOURCECHOSENDEVICEDBINDEFADEVICELOGINDEFADBONDEFAULTDEVICERECALC����T������%�����,�B��
�����&o���������a��-	����%�C��
���������(�C�������F�CC��V��Q����ULCENUMTABLESTBLTHIS
ENUMTABLESTBLATABLEARRAYCURSNAME	UPSIZABLE	PREOPENEDI+4���%�C����(�
F����Q��%�C��.bak0��U����.bak���%�C��.tbk0�������.tbk���%���Delete��$�%�C��.dbf0�������.dbf���%�C��.cdx0�������.cdx���%�C��.fpt0�� ����.fpt����ULCTABLENAMELCACTION�4����%���
��$�B��%���
��s�
����T����-��T���	�a��T���a�����C������
����C�������ULCTITLELNBASIS
LNINTERVALTHISPROCESSINGOUTPUTTHERMCREATEDADDTHERMTHERMREFALWAYSONTOPVISIBLEINITUPDATEw4���%���
�� �B��p�%�C����P���C��������l���C��������U
LNPROGRESSLCTASKTHISPROCESSINGOUTPUTTHERMREFUPDATE������
T�����
T�����%���a��y�T��C�DB������T������T�������%���a����T��C�Log������T��	����T��
�����ULNRETVAL
LCDEVICEPNAMELNDEVICENUMBERTHISDEVICEDBNEWCREATEDEVICE
DEVICEDBPNAMEDEVICEDBNUMBERDEVICELOGNEWDEVICELOGPNAMEDEVICELOGNUMBERR������%�������.T���create database C��V� on ��&T���C��V�=CC��Z���%���	�����2T���� log on C��
V�=CC��	Z�������B��%������2T��C�Creating database '|1'�|1C��V�����C�������?��C��,Server processing.  This may take a while...��
��"��C���QueryTimeOut�X�l��T������%�C�����
����%�����G�|T��C�`The Upsizing Wizard cannot continue because you do not have CREATE DATABASE permissions on '|1'.�|1C��V������rT��C�VThe Upsizing Wizard cannot continue because it was unable to create the database '|1'.�|1C��V����!��C��0�Upsizing Wizard�x��
�����!��C���QueryTimeOut��l���)��C��/* Create database */����
�����ULCSQLLCMSGLNERRLCERRMSGTHISCREATENEWDBSERVERDBNAMEDEVICEDBNAMESERVERDBSIZE
SERVERLOGSIZE
DEVICELOGNAMEDOUPSIZE	INITTHERMUPDATETHERMMASTERCONNHANDMYERROREXECUTETEMPSPTDATASOURCENAMEDIESTORESQLTHERMREFCOMPLETE%�����/���C�����������m�%�C���
��i���C������������%���������B��%���������C����	��
�������%�C��	�
������C����	��
������UTHISTSNEWTABLETSCREATETS
TSTABLETSNAMETSFTABLEFILENAMETSFTABLEFILESIZECREATEDATAFILE
TSINDEXTSNAMETSNEWINDEXTSTSFINDEXFILENAMETSFINDEXFILESIZE3�����������	�
��T���x��T�
�C�
 C�
 ��
���
�%�������T������
F����o����C������a����
T�����&��C�Creating tables������T���-��~��a����PlcMessage = STRTRAN("Table '|1'", "|1", RTRIM(&lcEnumTablesTbl..RmtTblName))
��C������T������$%����Oracle�C��
	���%�CC�V��
���6T��C�Cluster '|1' was not created.�|1C�V���>���-�������T������.���4lcRmtTable = RTRIM(&lcEnumTablesTbl..RmtTblName)
%�C�����&�%���
����Bthis.OverWriteOK(RTRIM(&lcEnumTablesTbl..RmtTblName), "Table")

H���������3��^�bT���UYour table was not upsized because a table of same name already exists on the server.��>���-�������T������.�����2����T���a���T�������;llRetVal = this.DropTable(&lcEnumTablesTbl..RmtTblName)
%��
��"�+>���-�����Unable to drop table.��T������.���
T�����T��C���	����
%����l�>���a�����?��C��	��Unable to create table.��Table�� ��7>���-�����Unable to create table.��!�������
���"�#��U$LCENUMTABLESTBLLLRETVALDUMMY
LLTABLEEXISTSMYMESSAGEBOXLNTABLECOUNTLCMSGLCSQLLNERRORLCERRMSGLCCRLF
LCRMTTABLETHISCREATETABLESQLDOUPSIZE
ENUMTABLESTBLCOUNTEXPORTATABLECOUNT	INITTHERM	OVERWRITEUPDATETHERM	LCMESSAGE
SERVERTYPE	CLUSTNAMECLUSTEREXPORTEDEXPORTEDTBLERRORTABLEEXISTS	USERINPUTTABLESQLEXECUTETEMPSPT
STOREERRORTBLERRNOTHERMREFCOMPLETE0+�����������	�T�
�C�
 ��T������T����
��T��CW��
F����o����C������a����+��C�Generating table SQL������
T�����
F����>���-����bit��T��C�Timestamp_column@��T�	�C�EXACTv��G �-�����
T�����+�C�>�
����%�C+��a�!��%T���Timestamp_columnCC�ZA��-�����T�������SET EXACT &lcExact
T������T��C�Identity_column@��T�	�C�EXACTv��G �-�����
T�����+�C�>�
����%�C+��L�!��$T���Identity_columnCC�ZA��-�����T�������SET EXACT &lcExact
T������
F����~��a���0lcTableName=RTRIM(&lcEnumTablesTbl..TblName)
!T��C�
Table '|1'�|1������C������NlcCreateString="CREATE TABLE " + RTRIM(&lcEnumTablesTbl..RmtTblName) +" ("

F����>SCAN FOR RTRIM(&lcEnumFieldsTbl..TblName)==lcTableName�"�IlcCreateString = lcCreateString + RTRIM(&lcEnumFieldsTbl..RmtFldname)
LlcCreateString = lcCreateString + " " + RTRIM(&lcEnumFieldsTbl..RmtType)
.IF &lcEnumFieldsTbl..RmtLength<>0 THEN���UlcCreateString = lcCreateString + "(" + ALLTRIM(STR(&lcEnumFieldsTbl..RmtLength))
4%����Oracle����SQL Server95����,IF &lcEnumFieldsTbl..RmtPrec<>0 THEN���SlcCreateString = lcCreateString + "," + ALLTRIM(STR(&lcEnumFieldsTbl..RmtPrec))
��T����)���elcCreateString = lcCreateString + " " + IIF(&lcEnumFieldsTbl..RmtNull=.T., "NULL, ","NOT NULL, ")
�
F����T������	��T������ 	��
%������!T����� timestamp, ���
%������)T����� int IDENTITY(1,1), ���T��C�CC�V>�=�)��%����Oracle����.IF !EMPTY(&lcEnumTablesTbl..ClustName)���3lcClustName = TRIM(&lcEnumTablesTbl..ClustName)
T�!�C�-��"��-T����	 CLUSTER �#� (�!�)�����%�C��$�
����$T���� TABLESPACE ��$�����
>�%�����T�������
���&�'�
F����U(LCENUMTABLESTBLLCENUMFIELDSTBL	LNOLDAREALCTABLENAMELLTSTAMPLNTABLECOUNTLCCRLFLCTIMESTAMPILCEXACTLCCRTHIS
ENUMTABLESTBL
ENUMFIELDSTBLCOUNTEXPORTATABLECOUNT	INITTHERMRMTNULLFORRMTTYPEFLDNAME
TIMESTAMPNAME
LCIDENTITYCOLIDENTITYNAMELCMSGUPDATETHERM
SERVERTYPELCCREATESTRING	SQLSERVER	TSTAMPADD
LLIDENTITYIDENTADDLCCLUSTERKEYCREATECLUSTERKEYLCCLUSTNAME
TSTABLETSNAMETABLESQLTHERMREFCOMPLETE;4������T���x��T��C�' ��%����Oracle����OT���4SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME=�C�f���T���
TABLE_NAME����TT���;select uid from sysobjects where uid = user_id() and name =�����T���uid���B�C�������ULCTABLENAMEDUMMYLCSQUOTETHIS
SERVERTYPELCSQLLCFIELDSINGLEVALUESPT�4�����������C�����T��CW��T������T��CC�`@��
>�	�����
F����>�
�����������
����(�C��������"-�����CC�
��@	��%�C+����.��>�
���
�����
F����U
LCCLUSTNAME
AKEYFIELDS	LNOLDAREALCENUMFIELDSTBLLCTABLENAMEITHIS
ENUMFIELDSTBLTBLNAME	CLUSTNAME
CLUSTORDERFORFLDNAME���������T��C����T��CW��T������T������%��
����
F����~�������T�	�CC�
`@��
F����>�������
�	��
F����
>���������
F����>������
F����>�������
F����U
LCCLUSTERNAME	LNOLDAREALCENUMTABLESTBLLCENUMFIELDSTBLLLALLTHIS
ENUMTABLESTBL
ENUMFIELDSTBL	CLUSTNAMELCTABLENAMETBLNAME
CLUSTORDERFORALL�������������������
����
��C��	��T��CW��T����
��T������o������
���������
����(�C������U�
F����-��CC�
���@��%�C+�C��
����.�� T���cl_CC�
���`��T����������CC�
����������C������
F����1~��
C�
�����C�
���	��Q�T��C�`��
T�����
F����-��C�@��%�C+�C��
����.��T����������C������%�C���C�����.�.����C������
F���������������T�����������o������������
����(�C��������%��
����R�T��������C����T���������INDEX��T�����������T�����������T��������-�����*��C�C�
���INDEX��-�������
F����U
LCENUMRELSTBL	LNOLDAREALCENUMTABLESTBLLCCLUSTNAME
APARENTKEY	ACHILDKEYLCCHILDEXPRTHIS	GETRIINFODELETECLUSTERINFOENUMRELSTBL
ENUMTABLESTBLDISTINCT	DD_PARENT
DD_PAREXPRAPARENTSITBLNAME	CLUSTNAMEKEYARRAYADDTABLETOCLUSTERLCCHILDDD_CHILD
DD_CHIEXPR	ACLUSTERSOENGINEINSARRAYROW�4�������T��CW��T������
F����-�C�V���%�C�V���l�
T���	�����
T���
���
F����B�C����ULCTABLENAMELCCLUSTNAME
LCENUMRELSTBL	LNOLDAREATHISENUMRELSTBL	CLUSTNAME	DD_PARENTLCCLUSTERKEY
DD_PAREXPR
DD_CHIEXPR�4���������T������Eo����C��������"��M�	��G�	��P	����B�C�����ULCTABLENAMELCENUMFIELDSTBLACOUNTTHIS
ENUMFIELDSTBLCOUNTTBLNAMEDATATYPE�4�����%����Oracle��^�6T���drop table C�V� CASCADE CONSTRAINTS�����,T���drop table C��V�.C�V���T��C�����	B����ULCTABLELCSQLTHIS
SERVERTYPEUSERNAMELNRETVALEXECUTETEMPSPT;+�����������	�%�C�
�
��A�B��T���x��%��
���*�T���
�
��
F����T�	�CN��(��C�Creating clusters�	��
���
T�����~��T��C�V��,T��C�Creating cluster '|1'�|1������C���
���T������WT���:SELECT CLUSTER_NAME FROM USER_CLUSTERS WHERE CLUSTER_NAME=�'C�f�'��(%�C���CLUSTER_NAME�
���:�%��
�
������CC�V�Cluster�
���
H�������
��3��j�q>���-�����\The cluster was not created because a cluster of the same name already exists on the server.��.���
��2����T�
��a���T�
������%�CC�V���
�
��6�->���-�����Unable to drop cluster.��A��C����Unable to drop cluster.��Cluster�
���.���*lcSQL = &lcEnumClustersTbl..ClusterSQL
%�C����
�
���C��C����Unable to create cluster.��Cluster�
���9>���-�����Unable to create cluster.���������>���a����
��
����
��
��ULCSQLLCENUMCLUSTERSTBLLLCLUSTERCREATEDDUMMY
LCCLUSTERNAME
LCTHERMMSGLNCLUSTCOUNTLNERRORLCERRMSGACLUSTCOUNTTHISCREATECLUSTERSQLDOUPSIZEENUMCLUSTERSTBL	INITTHERM	CLUSTNAMEUPDATETHERMSINGLEVALUESPT	OVERWRITEOVERWRITEOK	USERINPUTEXPORTEDCLUSTERRDROPCLUSTER
STOREERROREXECUTETEMPSPT
CLUSTERRNOTHERMREFCOMPLETECREATECLUSTERINDEXES���������%�C��V���O�T���C�Indexes�����T�	���
��T������T��CW��
F��	��~���INDEX��u�T��C�
V��"T���ic_C��C�ic_>=��T��C�����2T���
CREATE INDEX �� ON CLUSTER ���%�C���
��Q�&T���� TABLESPACE C��A���%�������T��C�������%��
����G��C����Unable to create cluster index.��Index������
F�����3>�����������������������a��%�C��
��g�6>����Unable to create cluster index.��������
F��	���
F����U
LCENUMRELSTBLLCENUMINDEXESTBLLLRETVALLNERROR	LCMESSAGE	LNOLDAREATHISENUMINDEXESTBL
CREATEWZTABLELCENUMCLUSTERSTBLENUMCLUSTERSTBL	CLUSTTYPE
LCCLUSTERNAME	CLUSTNAME	LCTAGNAME
UNIQUEORANAMELCSQL
TSINDEXTSNAMEDOUPSIZEEXECUTETEMPSPT
STOREERRORRMTNAMERMTTABLEINDEXSQLEXPORTED
DONTCREATEIDXERRORIDXERRNOk4���#���������	�T��CW��%�C����U�T��a���%��
������F��T�
��C�OraIdx�
���%��
�
�Oracle��^�1T���$SELECT INDEX_NAME FROM USER_INDEXES ��DT����3UNION SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS ��=T����,UNION SELECT TRIGGER_NAME FROM USER_TRIGGERS�����(T���SELECT name FROM sysobjects���$%�C����
��
�
����T�
�����	B������%��
�
�Oracle���T�	��
INDEX_NAME���!�T�	��name���T���
���
F����
T�����=LOCATE FOR LOWER(RTRIM(&lcFieldName)) == LOWER(lcNewName)

T�����
+�C4���%T��C��CCC�ZA>=CC�ZA��T������;LOCATE FOR LOWER(RTRIM(&lcFieldName))==LOWER(lcNewName)
�
%����Q��'REPLACE &lcFieldName WITH lcNewName
�
F����	B����U	LCOBJNAMELLADDTOTABLELCSQL	LNOLDAREA
LCORANAMESI	LCNEWNAMELNNLCMLCFIELDNAMETHISORANAMESUNIQUECURSORNAME
SERVERTYPEEXECUTETEMPSPTt4����IT���
DROP CLUSTER C�V�% INCLUDING TABLES CASCADE CONSTRAINTS��B�C�������U
LCCLUSTERNAMELNERRNOLCERRMSGLCSQLTHISEXECUTETEMPSPTo4�������T������T��CW��
F����-�C�V���
T�����
F����	B����ULCCLUSTNAMELCENUMCLUSTERSTBL	LNOLDAREA
LLEXPORTEDTHISENUMCLUSTERSTBL	CLUSTNAMEEXPORTED�4�����������C��������T��CW��
F����T��CN��������?��!T��C��������6��%T��C��
����	�
�����6��
F����B�C�8��ULCRELLCPARENTLCCHILDLNDUPID
LNHASHKEYS	LNOLDAREATHISPARSEREL�4������%���Table��s�KT��C�Table '|1' already exists.C�
 C�
 �
Overwrite?�|1�������T��C�Cluster '|1' already exists.C�
 C�
 �"Drop cluster, all tables and theirC�
 C�
 �
relations?�|1�����
�����T������\<Yes��T������Yes to \<All��T������\<No��#T��C�MessageBox2���N��
����ULCOBJECTNAMELCOBJECTTYPEABUTTONNAMES
LCMESSAGETEXTMYMESSAGEBOXSHOW��������
�����%�C�����=�B�-���T��CW��T������
F����~���T��C�V����C������T��CC��a��	��/T�
��CREATE CLUSTER �� (��)��%�C���
���&T�
��
� TABLESPACE C��A���%��C�HASHV��R�#T�
��
�
 HASHKEYS CC�
ZA���%�C��
����%T�
��
� SIZE CC�ZA� K���
>����
���
F����B�a��ULCCLUSTNAMELCPKEYACLUSTERTABLESLCENUMCLUSTERSTBL	LNOLDAREATHISENUMCLUSTERSTBL	CLUSTNAMEGETELIGIBLECLUSTERTABLESCREATECLUSTERKEYLCSQL
TSTABLETSNAME	CLUSTTYPEHASHKEYS	CLUSTSIZE
CLUSTERSQL�4������������������C��a����
T�������
����(�C������h�T���CC�
���V��
%����Q�"T���� CC�
���V��%�CC�
����
��M�$T����(CCC�
���Z���%�CC�
����
��7�$T����,CCC�
���Z����T����)����T����, ����T��C�C�>�=��	B����ULCTABLENAME
LLDATATYPE	AKEYARRAY
LCCLUSTKEYITHISGETINFOTABLEFIELDS�7�����������	�
���%��
�
��
���V�B��L�T��CW��
T�
����T���
���
F����T��C�DELETEDv��G �;SCAN FOR &lcEnumTables..Export=.T. AND Exported=.T.���&lcTablePath=&lcEnumTables..TblPath
3lcRmtTableName=RTRIM(&lcEnumTables..RmtTblName)
-lcTableName=RTRIM(&lcEnumTables..TblName)
/lcCursorName=RTRIM(&lcEnumTables..CursName)
T��C�
�V��%��
��Oracle��Z��SELECT COUNT(fldname) FROM  &lcEnumFieldsTbl  WHERE (RmtType="raw" OR RmtType="long")  AND RTRIM(tblName)==lcTablename INTO ARRAY aExportType
����SELECT COUNT(fldname) FROM  &lcEnumFieldsTbl  WHERE (RmtType="text" OR RmtType="image")  AND RTRIM(tblName)==lcTablename INTO ARRAY aExportType
�T����C��
���!%�C����
�	��
	��U�!T��C����	�
����~�!T��C����	�
����%�������6T���
ExportErrors_C��C�
ExportErrors_>=�����
T������
%��	��R�9T�
��,Data export halted because of export errors.��*��C����
��Data export�
������%�������@T�
�C�%|1 records not exported successfully.�|1CC�ZA���*��C����
��Data export�
������REPLACE &lcEnumTables..DataErrs WITH lnExportErrors,  &lcEnumTables..DataErrMsg WITH lcErrMsg,  &lcEnumTables..ErrTable WITH lcErrorTable

T�����T�	�-��
T�
�����SET DELETED &lcDelStatus

F����U	LCOLDAREALCENUMTABLES
LCSPROCSQL	LNBIGROWSLNSMALLROWSLNBIGBLOCKS
LNSMALLBLOCKSLNEXPORTERRORSLL255LLMAXERREXCEEDEDLCERRMSGLCCURSORNAMELCERRTBLNAMETHISDOUPSIZEEXPORTSTRUCTUREONLY
ENUMTABLESTBLLCDELSTATUSLCENUMFIELDSTBL
ENUMFIELDSTBL
SERVERTYPECOUNTFIELDSAEXPORTTYPE
PERM_SPROC
FASTEXPORTLCTABLENAMELCRMTTABLENAME	JIMEXPORTLCERRORTABLE
STOREERRORP4������T��CW��
F����T��C�����
F����	B����ULCCURSORNAME
LNFLDCOUNT	LNOLDAREAZOOT4�����?�������	�
���
������T������
�����'o�����������C�V�����T��CW��
F����T��C�����T�	�CN��
T�
����#��C�Sending data�	�����!T��C�
Table '|1'�|1������C�
�����%T���INSERT INTO C��� (��T��C�����������(������5T���CC����C��
��, �� )6����T����	 VALUES (��
T����������(����I�
F����FT����?C���.CC����C��
�	� , �� )6����T���	��������?��%���d
����
T���d���
T�����
T�
����~���%�C�����
��	�(� ����!��C� ������!��T�
��
����%��
���I���C�
�Canceled����T��a��!��%�������T�
��
���%��
�����1��C�
��, CC�
ZA� �errors���������C�
�����
T��������T��������%��
���
���"�#��%��
���:�
F����Q��
F����	B��
��U$LCTABLENAMELCCURSORNAMELCRMTTABLENAMELLMAXERREXCEEDED	LNOLDAREALNFIELDCOUNTLCINSERTSTRING
LCINSERTFINALLLRETVALLNRECSLNRECORDSCOPIEDLCMSGILNEXPORTERRORSLCDATAERRTABLELNMAXERRORS
ATBLFIELDSLCSQLERRMSG
LNSQLERRNOLCENUMFIELDSTHIS
ENUMFIELDSTBLFLDNAME
RMTFLDNAMELCENUMFIELDSTBLTBLNAMELCREMOTENAMEREMOTIZENAME	INITTHERMUPDATETHERMIIEXECUTETEMPSPTAERRDATA
DATAEXPORTERRTHERMREFCOMPLETEc4������������T��CW��%�C������%��	�

������������T��-��T�	�
�a�������C�����������T��C������T�����������#T��C�DErrTblCC�ZA�	�
��T�����������%COPY STRUCTURE TO &lcDataErrTable
F��Q�����%�C��	���
����T��������a��!i1�������N��
�����i1�������M�����
F�����T�	��a��	��T�	��-��T��C�EXACTv��G �%�CC��������<�>������������SET EXACT &lcExact

F����UAERRDATALCTABLENAMELCDATAERRTABLE
LNSQLERRNOLCSQLERRMSGLNALEN
LNARRAYPOS	LNOLDAREALCEXACTTHIS
DATAERRORSADATAERRTBLSADATERRTBLSUNIQUETABLENAMECOUNTFIELDSSQLERRNO	SQLERRMSGSETERROROFF�4������������	�
T�����
T�����
T�����
T�����
T���
��!��C���������!��C�������
��5T�	�C�������������	B��	��ULCTABLENAMELCCURSORNAMELCRMTTABLENAMELLMAXERREXCEEDED	LNBIGROWSLNSMALLROWSLNBIGBLOCKS
LNSMALLBLOCKSLLTSTAMPLNEXPORTERRORS	TSTAMPADDTHIS
ROWHEURISTICSCREATESQLSERVERSPROCEXECUTESPROCU4������W������	�
���
�������������%�������B��T��CW��T�	�����
T�����
T�����T�
�C�
 ��T��C�
 ��T��CW��T������
F����(����C� V���-T���CREATE PROCEDURE �rwf_insert_��%���!�Oracle����&T��� (�x�Big� CHAR, ��T���x�����)T��� �@a�Big�
 char(4), ��T���@a���
T����������(������7T����INSERT INTO C�V�
�VALUES �(�������(�C������<�T������T���CC�ZA��T��CC���V��T��CCC���ZA��&%���0���!�Oracle����
T��������T���(��)���$T����� ���, ��T�����, ����
%����k�T����NULL)�
������T��C�C�>�=��%���!�Oracle����T����);�
������T����)�
�����%�������T����Big��9T����IF �� = �'�TRUE�'�
���%���!�Oracle��{�T����THEN�
�����T����BEGIN�
���T��a�����T��C�C�>�=��%���!�Oracle���T����)��T���	 AS BEGIN���'�T��� AS ���!T������
����!%�����!�Oracle���%���!�Oracle����
%������ T����END IF;�
����)T����END �rwf_insert_�;�����T����END����.��C�drop procedure �rwf_insert_��"��T��C���"��
F����U#LCTABLENAMELCRMTTABLENAME	LNBIGROWSLNSMALLROWSLLTSTAMPLCENUMFIELDSLCSQL
LCPARAMSTRINGLCINSERTSTRINGLCENUMTABLESLCCRLCLFLCPARAMNAMELCFIELDNAMELLSMALLCONDITIONLCTYPELCLENGTHIIIJLCSMALLPARAMSTRING
LCSMALLSQLLLRETVAL	LNOLDAREALCASLCPARAMCHARTHIS
ENUMTABLESTBL
ENUMFIELDSTBLAFIELDNAMESRMTTYPE	RMTLENGTHTBLNAME
SERVERTYPEEXECUTETEMPSPT�4������������T��CW��
F����o��
��C�����C'
����
T�����T��C�����T������
F����%������0�%��������
T�����
T�����
T�����
T������,�
T������
T�����T�������
T���������%�C���8������
T������T��C��8��T�������
T��������T��C���8��T��C��8��T�������
T�������U
LCCURSORNAME	LNBIGROWSLNSMALLROWSLNBIGBLOCKS
LNSMALLBLOCKS
LNRECCOUNTLNFIELDCOUNT
LNTOTALPARAMS	LNOLDAREACOUNTLCTABLENAME	ARECCOUNTATEMP{'4����������W��	�
���
�����������������5���%�������	B�����T�	�CW��
F����#)�T�
�C�� ���T��CN��
T�����#��C�Sending data���!�"��!T�
�C�
Table '|1'�|1������C��
�!�#��T�����������?��%���d
��}�
T���d���
T�����������
��T���	aBigArray��T���	lnBigRows��
T�����"FOR i=1 TO &lcNumberofRows��������(��
����%���
��9�T���� , ���VlcData=lcData+ "?" + "&lcArrayType[" + LTRIM(STR(i)) + "," +  LTRIM(STR(ii)) + "]"
����T���	aBigArray��T���lnBigBlocks��
T�����
T�����T�$��TRUE��)�����(�C������6����%�����Y���C��Canceled�!�#��T��a��!��%��!�%�Oracle����KT���BEGIN �rwf_insert_� (�'�$�'�, ��); END;����=T���EXECUTE �rwf_insert_�'�$�' �, ����#FOR ii= 1 TO &lcLoopLimiter���0COPY TO ARRAY &lcArrayType NEXT lnRowsToCopy
H�%�C����!�&
����H�������(�'����H�!��C�'�����!�(��T�������T������%�����$���C��Canceled�!�#��T��a��!��%�����j�1��C��
�, CC�ZA� �errors�!�#�������C��!�#�����T�����T���
lnSmallBlocks��
T�������C���!�)��T�$��FALS����%������
F����Q��%��
��%�
��!�*�+��'T���DROP PROCEDURE rwf_insert_��T��C��!�&��
F��	��	B����U,LCTABLENAMELCCURSORNAMELCRMTTABLENAMELNBIGBLOCKS
LNSMALLBLOCKS	LNBIGROWSLNSMALLROWSLLTSTAMPLLMAXERREXCEEDED	LNOLDAREALNNUMBEROFFIELDS	LNLOOPMAXLNRECSLCMSGLCNUMBEROFROWSLCARRAYTYPELLRETVAL
LCLOOPLIMITERLNROWSTOCOPYLNRECORDSCOPIEDLCSQLLNEXPORTERRORSLCDATAERRTABLELNMAXERRORSLLBAILLCDATA
LNSQLERRNOLCSQLERRMSGIII	ABIGARRAYASMALLARRAYATEMPTHIS	INITTHERMUPDATETHERMLCBIGINSERT
SERVERTYPEEXECUTETEMPSPTADATERR
DATAEXPORTERRBITIFYARRAYTHERMREFCOMPLETE�4����������T��CW��T������
F����T��CO��-�CC�	V@CC�V@��
T�
����T�
�C�
C�(�
\��T�
�C�
C�)�
���,[��
T�����+��,�
��i�T��C�
C�,�
=��%�� bit ���8�!������(�C��
����4�T�
�������-�����T�
�C�
C�,�
�\��T�������	#����
F����ULCTABLENAMELNROWSTOCOPY	LNOLDAREALCENUMTABLESTBL
LNOLDRECNOIJTHIS
ENUMTABLESTBLTBLNAMELCSQLTABLESQLLCSUBSTR	ABIGARRAYk?�����������	�
���
��T��CW��&��C�Creating indexes������
����%������	��Z�%����Oracle����
�����T������
F����%����Oracle��*�,T���DontCreate=.F. AND Exported=.F.��
T������}�>T���1Clustered=.T. AND DontCreate=.F. AND Exported=.F.��
T������'o����C������-��-	����
T�	����'��C�Creating indexes������"T��C���QueryTimeOut�l��!��C���QueryTimeOut��l�������(����(�!SCAN FOR &lcScanCondition���1lcTableName=RTRIM(&lcEnum_Indexes..IndexName)

T�����%�C��
������!T��C�
Table '|1'�|1������C�	�����#lcSQL=&lcEnum_Indexes..IndexSQL
T��C����� ��%��
����2REPLACE &lcEnum_Indexes..IdxErrNo WITH lnError
&lcTagName=&lcEnum_Indexes..TagName
?��C����Unable to create index.��Index��!����3�T��-��ST���FUnable to create index because the table was not successfully upsized.����REPLACE &lcEnum_Indexes..Exported WITH llRetVal,  &lcEnum_Indexes..IdxError WITH lcErrMsg,  &lcEnum_Indexes..TblUpszd WITH llTableUpsized
T�	��	�����C�	�����>T���1Clustered=.F. AND DontCreate=.F. AND Exported=.F.����!��C���QueryTimeOut��l��
���"�#��
F����U$	LNOLDAREALCENUM_INDEXESLCSQLLCSCANCONDITIONILNERRORLLRETVAL
LCCLUSTERNAME
LNLOOPLIMITERLNINDEXCOUNTLCDELLCERRMSG	LCTAGNAMELLTABLEUPSIZEDLNOLDTOTHIS	INITTHERM
BUILDINDEXSQLDOUPSIZE
PERM_INDEX
SERVERTYPEMARKBITINDEXESENUMINDEXESTBLCOUNT
DONTCREATEEXPORTEDAINDEXCOUNTMASTERCONNHANDTABLEUPSIZEDLCTABLENAMELCMSGUPDATETHERMEXECUTETEMPSPT
STOREERRORTHERMREFCOMPLETE���������T������T������T��CW��
F����~���T��C�	V��
�����T��-��-o�����
���C�V��	��L	����T��-��%�C��
��=���
���(�C������9�AIF RTRIM(aLogicals[jj]) $ &lcEnumIndexesTbl..RmtExpr THEN�5�T��a��!�����
%������YT���LUnable to create index because the indexes are not supported on bit columns.�����
T������>������������
F����ULCENUMINDEXESTBLLCENUMFIELDSTBL	ALOGICALS	LNOLDAREALLDONTCREATELCTABLENAMETHIS
ENUMFIELDSTBLENUMINDEXESTBL	INDEXNAME
RMTFLDNAMETBLNAMEDATATYPEJJLCMSG
DONTCREATEIDXERROR�4��������T��CW��T��C��V��
F����-�����%�������'llExport=&lcEnumTablesTbl..Exported
���%llExport=&lcEnumTablesTbl..Export
�.llChosenForExport=&lcEnumTablesTbl..Export

F����	B����U	LCTABLENAMELLCHOSENFOREXPORTLCENUMTABLESTBL	LNOLDAREALLEXPORTTHIS
ENUMTABLESTBLTBLNAMEDOUPSIZE�_�����������	�
���
����������%�������2%���
���
	���
	���
	����B���T��CW��T������T������2o����C������ a�C�!�a	��"-	���#�%��#��� �B��
T�$����%�������/T��C�Analyzing local indexes...�...�����C��#���%�����%R,:��Analyzing local indexes...���%�C��&V����T��C�Indexes��'��T��&����T��a���(�T����&��T��-���
F����$~�� a��"-	�C�!�a	��8�0lcCursorName=RTRIM(&lcEnum_Tables..CursName)
.lcTableName=RTRIM(&lcEnum_Tables..TblName)
3lcRemoteTable=RTRIM(&lcEnum_Tables..RmtTblName)
.lcTablePath=RTRIM(&lcEnum_Tables..TblPath)
!T��C�
Table '|1'�|1������C�$���(��T�$��$���
F��)��*�����(�CC��.DBF�.CDX��V���
T�
����T��-��T��CC��]@��T�	�C��)���
H���Q��C������T���Primary key��4%���*�Oracle���*�SQL Server95����T�+��PRIMARY KEY��%���*�Oracle��x�T��-�����T��a������T�+��UNIQUE CLUSTERED��T��a����C������T���	Candidate��T�+��UNIQUE��2�Q�
%�C�T��$�T���Unique���@�T���Regular���
T�+�����T�
�C����,��
�����T��-����C�
���-��%�C��������T��a��_T���RThe number of fields in the local index exceeds the maximum allowed by the server.���<�T��-��
T������
F������>�.�����/��C�	@��0�����1�����2���
��3��CC�	��4@��5���+��6�����7���
��8��-��9�����:�����%��+�PRIMARY KEY���
F����>�;���
��<���	���
F��)����
F����>�"��a���
F����
F����T��=�-��%�����{�
���>�?����R��U@	LNOLDAREA
LCENUM_TABLESLCENUM_INDEXESIIILCEXPRLEFTOVERLCTABLEPATH
LCENUM_FIELDSLCEXPRESSION	LCTAGNAMELCREMOTEEXPRESSIONLCREMOTETAGNAMELCSQL
LCREMOTETABLELCCLUSTEREDLLUSERTABLEOPENEDLCTABLENAMELCMSGLLCREATEINDEXES
AKEYFIELDSLLDONTCREATELCERRMSGLCLCLIDXTYPETHISPROCESSINGOUTPUT
EXPORTINDEXESEXPORTRELATIONSEXPORTTABLETOVIEWEXPORTVIEWTORMT
ENUMFIELDSTBL
ENUMTABLESTBLCOUNTEXPORT	CLUSTNAMECDXANALDATABLECOUNTLNTABLECOUNT	INITTHERMENUMINDEXESTBL
CREATEWZTABLEUPDATETHERMLCCURSORNAME
SERVERTYPE	LCTAGTYPEEXTRACTFIELDNAMESKEYARRAY	INDEXNAMETAGNAMELCLEXPR
LCLIDXTYPERMTEXPRRMTNAMEREMOTIZENAMERMTTYPE	CLUSTEREDRMTTABLEEXPORTED
DONTCREATEIDXERRORPKEYEXPR	PKTAGNAMEANALYZEINDEXESRECALCTHERMREFCOMPLETE����������T������
F����~��	-����NlcRmtTable = LEFT(this.RemotizeName(RTRIM(&lcEnum_Indexes..IndexName)),30)
.lcRmtType = TRIM(&lcEnum_Indexes..RmtType)
.lcRmtExpr = TRIM(&lcEnum_Indexes..RmtExpr)
.lcRmtName = TRIM(&lcEnum_Indexes..RmtName)
%���
�Oracle��P�T��C������n%���PRIMARY KEY�#��UNIQUE���
�Oracle	�)��UNIQUE���
�SQL Server95	����%���
�Oracle��s�@T��CC��
�
�%� USING INDEX TABLESPACE ��
��6��WT���ALTER TABLE �� ADD (CONSTRAINT �� �� (��)��)�����MT���ALTER TABLE �� ADD CONSTRAINT �� �� (��)����y�BT���CREATE �� INDEX �� ON �� (��)��%���
�Oracle��u�4T��CC��
�
�� TABLESPACE ��
��6��T��������YREPLACE &lcEnum_Indexes..IndexSQL WITH lcSQL, &lcEnum_Indexes..RmtName WITH lcRmtName
�ULCENUM_INDEXESLCSQL
LCRMTTABLELCRMTIDXNAME	LCRMTTYPELCCONSTRAINT
LCTSCLAUSETHISENUMINDEXESTBLEXPORTED
SERVERTYPE	LCRMTNAME
UNIQUEORANAME
TSINDEXTSNAME	LCRMTEXPR�FT��C�*Retrieving device information from '|1'...�|1C��V���R,:����%������o�
�����T��C����T��C����T�	�C��
��T���-��R�B����	��		��ULCMSGTHISDATASOURCENAMENEWDIRCREATENEWDIRLLGOTDEVICES
GETDEVICES
LLGOTDEVNUMBSGETDEVICENUMBERS
LLGOTSVRSPACEGETSERVERSPACEDEVICERECALCM��������%T���SELECT D.name, D.status,��4T����#'Size' = (1+ D.high - D.low) /512, ��-T����'Used' = sum(U.size )/ 512, ��DT����3'Free' = ((1 + D.high - D.low) - sum(U.size))/ 512 ��@T����/FROM master..sysusages U, master..sysdevices D ��MT����<WHERE D.cntrltype = 0 AND U.vstart between D.low and D.high ��:T����)GROUP BY D.name, D.high, D.low, D.status ��T����UNION ��*T����SELECT D.name, D.status, ��4T����#'Size' = (1+ D.high - D.low) /512, ��T����'Used' = 0, ��3T����"'Free' = (1+ D.high - D.low) /512 ��AT����0FROM master..sysdevices D WHERE D.cntrltype = 0 ��2T����!AND D.name not in (SELECT D.name ��@T����/FROM master..sysusages U, master..sysdevices D ��NT����=WHERE D.cntrltype = 0 AND U.vstart between D.low and D.high) ��9T����(GROUP BY D.name, D.high, D.low, D.status��T��CW��F��%�C���
����
���	��T��
�C�Devices����T����
��COPY TO &lcDeviceTable
 USE &lcDeviceTable EXCLUSIVE
;ALTER TABLE &lcDeviceTable add column DvcNumber N(10,0)
3ALTER TABLE &lcDeviceTable add column Default l
Q�USE &lcDeviceTable SHARED

T�����
T�����~���%�C���G�����BlnDefaultFreeSpace = lnDefaultFreeSpace + &lcDeviceTable..Free
8lnDefaultSize = lnDefaultSize + &lcDeviceTable..Size
>�
��a����T������%��������(>����Default��������������#>����<Create new device...>��& ������
G((�name�
F����B�a��ULCSQL
LCDEVICETABLELNDEFAULTFREESPACE
LNDEFAULTSIZE	LNOLDAREALCMSGTHISEXECUTETEMPSPTOWIZARDDIEDEVICETABLEUNIQUETABLENAMESTATUSDEFAULTDEFAULTFREESPACENAMESIZEFREE3��������T��CW��F��T��C�DNumbers����%����
SQL Server���!T���sp_configure devices��"%�C������	
����B�-���4DIMENSION aDeviceNumbers(&lcCursor..run_value-1)
1this.DeviceNumbersFree=&lcCursor..run_value-1
�C��
����T�������T���
sp_helpdevice��"%�C������	
����B�-������CN�����
(��
������(�C�������%�C�������T�
�C�����a��T�����������Q�
F����B�a��ULCSQLLLRETVAL	LNOLDAREALCCURSORLNERRLCMSGTHISUNIQUECURSORNAME
SERVERTYPEEXECUTETEMPSPTADEVICENUMBERSDEVICENUMBERSFREELATEMP
DEVICE_NUMBERI�+�����������	�%��
�
��@�B��T�	�C�' ��T��CW��F��BT���5select phyname from sysdevices where name =  'master'��%�C��
�
����B�-���
T���
��-T���xp_cmdshell �	�dir ��	��%�C��
�
��!�B�-���	H����T��C����
T����������(�C�>����T��C���\��T��C���%���/���:
	����T���������Q�T�
��C�g�@B��
F����ULCSQLLNRETLCTEMP
LNSERVERSPACEILCNEWSTRING	LNOLDAREALNCHARLCCHARLCSQTTHISPERM_DEVICEEXECUTETEMPSPTPHYNAMEOUTPUTSERVERFREESPACE4����7��������	�
���
���T��C�' ��%���Log����%���������B��)��C�Creating log device������T��C��V��T�������+�.��C�Creating database device������T��C��V��T�������?��C��,Server processing.  This may take a while...����T������%������!�
T�
����KT���,select phyname from sysdevices where name = ��master���#T��C��
�phyname����T���C�
V���T��C�����\��T�	�C��=��T����	�.DAT��T��C��-���T�����a��.T���disk init name=����, ��(T���	physname=����, ��"T���vdevno=CC�Z��, ��T����size=CC�Z���T�������%�������"��C���QueryTimeOut�X�l�������(�����
T�����%�C���
��
���!T����	CC�Z��.DAT��(T���	physname=����, ��T���������!����%�������t��C�SThe Upsizing Wizard cannot continue because it it is unable to create a new device.�0�Upsizing Wizard�x��
��� ����!��C���QueryTimeOut��l����'��C��/* Create device */��!��
���"�#�U$LCDEVICETYPELCDEVICEPHYSNAMELNDEVICENUMBERLCDEVICELOGICALNAMELCSQL1LCSQL2LCSQL3ILNRETVALLCROOTLCMASTERPATHLNSERVERERRLNUSERCHOICELCERRMSGLCDEVICEPHYSPATHLCSQTTHIS
DEVICELOGNAMEDEVICEDBNAME	INITTHERMLNDEVICESIZE
DEVICELOGSIZEDEVICEDBSIZEUPDATETHERM
MASTERPATHLCSQLSINGLEVALUESPTJUSTPATHADEVICENUMBERSDOUPSIZEMASTERCONNHANDEXECUTETEMPSPTDIESTORESQLTHERMREFCOMPLETE�4������������(T��C�	�
��ON�C�ESCAPEv6��G�%�C������T��C�	����i�����T��C�	���i���SET ESCAPE &lcEscape

H������������
T�����
T�����B�a���������.���C���z��T��C����T��C���� %�����CC���
	��m�T��C�����
H�~�*����Q����7T���DUMP TRANSACTION C�	�
V� WITH NO_LOG��$%��	��C�	���i�	��=�%�C��
���B�C�����	����9�B�C����	�������]��C�<The Upsizing Wizard cannot continue because the log is full.�0�Upsizing Wizard�x������M�	�����-�i��C�HThe Upsizing Wizard cannot continue because the database device is full.�0�Upsizing Wizard�x������������C�qSomeone has dropped a device on the server.  The server must be restarted before you can create any more devices.�0�Upsizing Wizard�x�����u����B�-�����f���B�-�����7
���B�-��2�*�B�-������������cT��C�HUpsizing cannot continue because a connection error occurred.  Error |1.�|1CC�ZA���!��C��0�Upsizing Wizard�x���
��	��ULCSQL
LNSERVERERRORLCERRMSGLCCURSORNRETVAL	LNBUTTONSLCMSGLCNEWSQLLCESCAPETHISPROCESSINGOUTPUTMASTERCONNHAND	AERRARRAYSERVERDBNAMECREATENEWDBEXECUTETEMPSPTLNSERVERERRDIE#T���-��
����B(��UTHISNORMALSHUTDOWNOWIZARDCANCELWIZSTART�4������������	�T��CW��T��C�_spt�
���F��!%�C��	���
�����%�C�N�����T��-�����)lcReturnValue=&lcCursor..&lcFieldName
T��a���Q����oT��C�TThe Upsizing Wizard cannot continue because a server query failed.  Server error |1.�|1CC�	ZA���!��C��0�Upsizing Wizard�x��
��
�
�B��
F����	B����ULCSQL
LCRETURNVALUELCFIELDNAMELLRETURNEDONEVALUELCMSGLCERRMSGLLRETVALLCCURSOR	LNOLDAREA
LNSERVERERRORTHISUNIQUECURSORNAMEEXECUTETEMPSPTDIE�3�����������	�
��T����
��T��CW��G(����T��C�Tables����T������%�C���table������B���
���������C��
�y�������(�C���������)T��CCC���TABLE�PATH�Cꖻ��)T��CC�����	�
����N>���CC��@�����	���������C���������������%��
����T��a���
T�	������
%���������C٭The Upsizing Wizard was not able to open all database tables.  These will not be available for upsizing.  You may want to run the VALIDATE DATABASE command on your database.�0�Upsizing Wizard�x���T���-��
F����U
LCENUM_TABLESLCTABLENAMELLUTABLEOPEN
LCSOURCEDB	LNOLDAREALLUPSIZABLELCTABLEPATHLLALREADYOPENED
LLWARNUSERLCCURSORNAMEAOPENTABLESITHISSOURCEDB
CREATEWZTABLE
ENUMTABLESTBL	ATBLARRAY	UPSIZABLETBLNAMECURSNAMETBLPATH
RMTTBLNAMEREMOTIZENAME	PREOPENEDANALYZETABLESRECALC�4����������T��CW��T��C��������C���������!%�CC����������B��%�C��V�����T��C�Clusters��	��T���������T��C��V��SELECT &lcEnumClusters
S��
T�����
F������
����(������T�
�CC�
���@��!T��C�
Table '|1'�|1�
�����C�������Y>�
���
����C�
�������C�
�������C�
�������a����-����
F����U	ACLUSTERSLCENUMCLUSTERS	LNOLDAREALCTABLENAMEILNTABLECOUNT
ACLUSTERCOUNTTHISENUMCLUSTERSTBL
CREATEWZTABLE
LCCLUSTERNAMELCMSGUPDATETHERM	CLUSTNAME	CLUSTTYPEHASHKEYS	CLUSTSIZEEXPORTEXPORTED�/�����������	�
�T������T��CW��'o����C������-��a	����%�������B��%�������<T��C�'Analyzing tables selected for export...�...�����C��������)�2R,:��'Analyzing tables selected for export...���
T�����%�C��V�����T��C�Fields����T������T��a�����T��C��V��T��-���
F����~��-��a	��|�0lcCursorName=rtrim(&lcEnum_Tables..CursName)
.lcTableName=rtrim(&lcEnum_Tables..TblName)
!T��C�
Table '|1'�|1������C������
F��	����C�����%�������
T�
����%�C��������	�XT�
�C�Table '|1' may not be upsized:�|1���the number of fields exceed 250���%�CP������%�C�
�
��c�5T�
��
� and �the record size exceed 1962�����TT�
�C�Table '|1' may not be upsized:�|1���the record size exceed 1962����%�C�
�
����!��C�
�0�Upsizing Wizard�x����
F���������(�C���������T��CC���@���>�������������C�������C�������C����� ��C���!��"��C�����#��C�����$��C�����%��C�����&��C�������
F������C���'�� >�(�����C���)	��>���a��%�����x�T��������C�������
F����%���
����R����
���*�+��T��,�-��
F����U-
LCENUM_FIELDS	LNOLDAREA
LCENUM_TABLESLCTABLENAME
LCSOURCEDBILNTABLECOUNTLNLISTINDEXLNLISTINDEXTEMPLCCURSORNAMELCERRMSGTHIS
ENUMTABLESTBLCOUNT	FLDSANALDEXPORTATABLECOUNTPROCESSINGOUTPUTLCMSG	INITTHERM
ENUMFIELDSTBL
CREATEWZTABLELLCREATEINDEXESUPDATETHERM	AFLDARRAY	SQLSERVER	LCFLDNAMETBLNAMEFLDNAMEDATATYPELENGTH	PRECISION
RMTFLDNAMEREMOTIZENAME	RMTLENGTHRMTPRECLCLNULLRMTNULL	NOCPTRANSDEFAULTMAPPING	TSTAMPADDADDTIMESTAMPTHERMREFCOMPLETEANALYZEFIELDSRECALC�4��#����������T��CW��T��C�	�
V������������C��	���
F���������(�C������D�%�C���a����
T�����
T��������
T�����
T������Z>�
��C�������C����������������C����
C�V�	����~�C�V���3�2T��C��C��	char_nocp��	memo_nocp6��T��C����C�V6��%�C��C�N�F���"�T���� (CC�ZA��%������T����,CC�ZA���T����)���
>�������.>��������������
C�V�	��%��	�����3>�
���binary����C��	�
C�V�	��2>�
���image����M��	�
C�V�	���%��	��Oracle����0>�
���raw����C��	�
C�V�	��5>�
���long raw����M��	�
C�V�	��0>�������������Y�
C�V�	��0>�������������L�
C�V�	��0>�������������I�
C�V�	��%-�C�
V�long raw�
C�V�	��
+�C4��a�
%����F�>�
���raw���������Y�T��a�����!-�C�
V�long�
C�V�	��
+�C4����
%������ >�
���varchar2�����������T��a������
F����ULCTABLENAME	LNOLDAREAADEFAULTMAPPING
LCENUM_FIELDSLNLENGTHLNPRECISIONLCTYPESTRINGLLSKIPPEDFIRST
LCNOCPTYPETHIS
ENUMFIELDSTBLGETDEFAULTMAPPINGIRMTTYPEFULLTYPE	RMTLENGTHRMTPRECFORDATATYPETBLNAME
LCTYPENOCP	NOCPTRANSLENGTH	PRECISION	COMBOTYPE	SQLSERVERALL
SERVERTYPE�4�������T��CW��T������
F����
G(��a��#)�
T�����%�C+��p�	B�������~���%�CC���
������C��������T��������T��������
F����B�UATABLEARRAYLCENUMTABLES	LNOLDAREAITHIS
ENUMTABLESTBL	UPSIZABLETBLNAME�4���������
�����T��������T��CW��T������
F����T��C�`��%�������.T���!Export = .T. AND EMPTY(ClustName)�����AT���4Export = .T. AND TRIM(ClustName) = lcSelectClustName���#)�
T�����%�C+��&�	B�������SCAN FOR &lcFilter���%�CC���
��s���C��������T�����C�`��T��������
F����B�U	ATABLEARRAYLCSELECTCLUSTNAMELCENUMTABLES	LNOLDAREAILCFILTERTHIS
ENUMTABLESTBLTBLNAME�4����������
�����T��������T��CW��T������
F����T��C�`��
%������:T���-TblName = lcTableName  AND !EMPTY(ClustOrder)�����9T���,TblName = lcTableName  AND EMPTY(ClustOrder)���#)�
T�����%�C+��*�	B�������SCAN FOR &lcFilter���%�CC���
��w���C��������T�����C�	`��T��������
F����B�U
AFIELDARRAYLCTABLENAMELLKEYSLCENUMFIELDS	LNOLDAREAILCFILTERTHIS
ENUMFIELDSTBLFLDNAME{4������������������T�����������T��CW��T������
F����T��C�`��
%������:T���-TblName = lcTableName  AND !EMPTY(ClustOrder)����9T���,TblName = lcTableName  AND EMPTY(ClustOrder)���#)�
T�����%�C+��6�	B�����V�SCAN FOR &lcFilter�R�%�CC����
������C�����������T��������C�	`��T��������C�
`��T�����������T�����������
%�����T���������
���=�T��������a���T����������C������
F����B�UAINFOFIELDARRAYLCTABLENAMELLKEYSLCENUMFIELDS	LNOLDAREAILCFILTERTHIS
ENUMFIELDSTBLFLDNAMERMTTYPE	RMTLENGTHRMTPREC
CLUSTORDER�4��'�����������������%�CC������K�B�-�����C�C��-����%�C���������B�CCC�����-�a6�����
����(�C����������C�C�
��-������
����(�C��������%�C�
���������
����(�C��������T��-��d%�C�
���C�
����C�
���C�
���	�C�
���C�
���	����T��a��!����T���
��������������B�C��a����U	ACLUSTERTABLESLLVALIDAINFOTABLE1FIELDSAINFOTABLEFIELDSTHISGETINFOTABLEFIELDSIJK�4��'�����������������%�CC������K�B�-�����C�C���a����%�C���������B�CCC�����-�a6�����
����(�C����������C�C�
��a����-%�CC�����C����C�������B�-�����
����(�C��������d%�C�
���C�
����C�
���C�
���	�C�
���C�
���	����.����B�-�������B�a��UACLUSTERTABLESLLVALIDAINFOTABLE1FIELDSAINFOTABLEFIELDSTHISGETINFOTABLEFIELDSIJH4������T��CW��%�C�TypeMap�
��L�F��Q��TypeMap��[�F��� %����SQL Server95����T���
SQL Server�����%����
SQL Server����T���SQL Server4x�����T��C��V����Do�TypeMap�����������	�����
a����	����
F����UAPASSEDARRAY	LNOLDAREALCSERVERCONSTRAINTTYPEMAPTHIS
SERVERTYPE	LOCALTYPE
REMOTETYPE	VARLENGTH	FULLLOCALDEFAULTSERVER�����
����T������T��CW��F��T��C�_foo�����SELECT COUNT(*) FROM (lcEnumFieldsTbl)  where RTRIM(DataType)=="M" or  RTRIM(DataType)=="G" or  RTRIM(DataType)=="P"  GROUP BY tblname  INTO CURSOR &lcCursor
 o����C����������	�Q�%��	�����HT�
�Cف|1 |2 more than one memo or general field.  Server limits require that some of these fields be mapped to fixed-length data types.C�
 C�
 C�
 C�
 ِData in some fields might exceed these lengths.  You can change this mapping in Step 7 or choose cancel and then redesign your tables as needed.�|1CC�	ZA���=T�
�C�
�|2C�	���tables have��	table has6���!��C�
�0�Upsizing Wizard�x���
F����ULCENUMFIELDSTBL	LNOLDAREATHIS
ANALYZEFIELDS
ENUMFIELDSTBLLCCURSORUNIQUECURSORNAMECOUNTCNT
AMEMOCOUNTLCMSG�4��������T������T��CW��
F����-�C�V����long	��%�C�	V������%�C4����
T���	������
T���	���
F����B�C��
��U
LCTABLENAMELCFIRSTLONGLCOTHERLONGLCENUMFIELDSTBL	LNOLDAREATHIS
ENUMFIELDSTBLTBLNAMERMTTYPEFLDNAMEJ4�����������%�C��
���������(�C��������%�CC���&CC�fV����T��C�����!�����%�C�����T��CC�C�  �_�V��:%�CC�f�THIS�THISFORMSET�OWIZARD�OENGINE����T��C��=�_����T��CW��%�C�0
��F�
F����B�-���%�C��
����T��	�a��T��
�-��T��-��F��Q��������T��	�-��%���
����
F����B�-����9�
F����&%�CC�database�@CC���@
����*T��C�Namewithmanycharacters��
��T��	�a��T��
�-��F��Q��������T��	�-��%���
����Q�
F����B�-������T��a���
F����%�C��
��5�Q�T��	�a��T��
�-��Q�����T��	�-��%���
��1�Q�����
F����B�-�����
F����ULCTABLENAMELCTABLEPATH
LLALREADYOPENLCCURSORNAMEAOPENTABLES	LNOLDAREAI
LCNEWCURSNAMETHISSETERROROFFHADERRORLLALREADYOPENEDSOURCEDBUNIQUETORVNAME34��������T������T������T������T��CW��
F����>DELETE ALL FOR &lcClusterNamesTbl..ClustName=lcClusterName

F����=DELETE ALL FOR &lcClusterKeysTbl..ClustName=lcClusterName

F����7REPLACE ALL &lcEnumTablesTbl..lcClusterName WITH ""

F����U	
LCCLUSTERNAMELCCLUSTERNAMESTBLLCCLUSTERKEYSTBLLCENUMTABLESTBL	LNOLDAREATHISCLUSTERNAMESTBLCLUSTERKEYSTBL
ENUMTABLESTBL�4������������	�
�T��CW��T������T����
��T������%�C������
T������
T�����
T�	����
T�
������C���	�
����
F����%�C�lcClustTypeb�L����%���
����G((�	clustname�E�C�V��%�C4����HT��C�,The cluster name '|1' is already being used.�|1C��V���!��C��0�Upsizing Wizard�x��G((�B�-���G((���$-���	���	���
	��%�C�lcClustTypeb�L����$T��C������INDEX6��!>����������������
F����]REPLACE &lcEnumTables..ClustName WITH lcClustName FOR TblName=lcParent OR TblName=lcChild
���>������������
F����ULCRELLCCLUSTNAMELCCLUSTTYPE
LNHASHKEYSLCENUMTABLES	LNOLDAREALCENUMINDEXESTBLACLUSTTABLESLCPARENTLCCHILDLNDUPEIDTHIS
ENUMTABLESTBLENUMINDEXESTBL
LCENUMRELSTBLENUMRELSTBLPARSEREL	CLUSTNAME	LCMESSAGE	USERINPUTDD_CHILD	DD_PARENT
DUPLICATES	CLUSTTYPEHASHKEYS�4��������T������T������T��CW��
F����T��CO��>������C�VC�V��	#����
F����%>������
�����C�VC�V��
F����ULCCLUSTNAME
LCENUMRELSTBLLCENUMTABLESTBL	LNOLDAREALNRECNOTHIS
ENUMTABLESTBLENUMRELSTBL	CLUSTNAMEFOR	CLUSTTYPEv4���������
T�����
T�����
T�������C��������T������
F������	���(����o�-�C�
V���%�C��
��^�jT��C�SA table can only be in one cluster.  The table '|1' is already in the cluster '|2'.�|1����T��C��|2C�V���!��C��0�Upsizing Wizard�x��B�-���
T�������ULCRELLCPARENTLCCHILDLNDUPEIDLCENUMTABLESTBLLCMSGTHISPARSEREL
ENUMTABLESTBLITBLNAME	CLUSTNAME�4����������T������T��CW��
F����-�C�	V���T��-��
+�C4����%���
����T��C�V����C������T��a�����
F����	B����U
AINDEXES	LCFLDNAMELCTABLENAMELCENUMINDEXESTBL	LNOLDAREA	LCTAGNAME	LLININDEXTHISENUMINDEXESTBL	INDEXNAMELCLEXPRTAGNAMEINSAITEM�4��������T��C�@��T������T��CW��
F����-�C�V��
C�V���T�	�-��
+�C4����%���
����%T��CC�V��C�V�C�V6��T�	�a��!����
F����	B��	��ULCRMTFIELDNAMELCTABLENAME
LCENUMRELSTBL	LNOLDAREAARELSTHISENUMRELSTBL	DD_PARENTDD_CHILDLLINKEY
DD_CHIEXPRLCRELATEDTABLE�4�������T��CW��T������
F����-�C�VC�V���	��
+�C4����d>���C�=Field '|1' changed to datatype that does not support indexes.�|1����	��-��
��a����
F����ULCFIELDNAMELCTABLENAME	LNOLDAREALCENUMINDEXSTBLTHISENUMINDEXESTBL	INDEXNAMELCLEXPRIDXERROREXPORTED
DONTCREATE�o�����������	�
���
��������������T������
F����o����C������a����%��� ����T��� validation rules ���%���!��<�%�C�����T���	 defaults���8�!T����and�	 defaults����%���!
��� 
	����%���"�Oracle��z�B����+T���Binding defaults to bit fields������T���
Converting������C�����#��
T�����,SCAN FOR &lcEnumTables..Export = .T.���-llTableExported = &lcEnumTables..Exported
/lcTableName = RTRIM(&lcEnumTables..TblName)
5lcRmtTableName = RTRIM(&lcEnumTables..RmtTblName)
!T��C�
Table '|1'�|1������C����$��T������
T�����
T�%����
T�����
T�����
T�����
T�	����T��-��T��-��T�
�-��
T�����
T�����T��-��%��� ����)T��C��Table�RuleExpression���#T��C��Table�RuleText���%�C��
����%���"�Oracle����0T���
Const_Tab_C��C�
Const_Tab_>=��T��C�a��&��!T��C������'��%���(��	��6�%�C�����)����
T������2�
>�*�����Z��C����"Unable to convert rule to trigger.��Table validation rule��+�����REPLACE &lcEnumTables..LocalRule WITH lcRuleExpression,  &lcEnumTables..RRuleName WITH lcRemoteRuleName,  &lcEnumTables..RmtRule WITH lcRemoteRule,  &lcEnumTables..RuleError WITH lcRuleError
���-T��C�����Table���,��!%���(��	���-	����!%�C��	procedure��.��A�T��C�����)��%��
��=�1REPLACE &lcEnumTables..RuleErrNo WITH lnError
n��C����6Error creating stored procedure from validation rules.��Table validation rule��+�����6T���)Unable to drop existing stored procedure.�����REPLACE &lcEnumTables..LocalRule WITH lcRuleExpression,  &lcEnumTables..RRuleName WITH lcRemoteRuleName,  &lcEnumTables..RmtRule WITH lcRemoteRule,  &lcEnumTables..RuleExport WITH llRuleSprocCreated,  &lcEnumTables..RuleError WITH lcRuleError

T�����T��-�����T�
���/��
F��
��%��� ����~�C�0V�����-lcFldName = RTRIM(&lcEnumFields..FldName)
3lcRmtFldName = RTRIM(&lcEnumFields..RmtFldName)
2T��C��.��Field�RuleExpression���,T��C��.��Field�RuleText���%�C��
����%���"�Oracle����0T���
Const_Col_C��C�
Const_Col_>=��T��C�a��&��!T��C������'��%���(��	���%�C�����)��o
�
T������
�1REPLACE &lcEnumFields..RuleErrNo WITH lnError
b��C����"Unable to convert rule to trigger.��.��Field validation rule��+�����REPLACE &lcEnumFields..LocalRule WITH lcRuleExpression,  &lcEnumFields..RRuleName WITH lcRemoteRuleName,  &lcEnumFields..RmtRule WITH lcRemoteRule,  &lcEnumFields..RuleError WITH lcRuleError
���1T��C�����Field����,��!%���(��	���-	��{
�%�C��
��w
�!%�C��	procedure��.��5
�T��C�����)��%��
��1
�1REPLACE &lcEnumFields..RuleErrNo WITH lnError
v��C����6Error creating stored procedure from validation rules.��.��Field validation rule��+����s
�6T���)Unable to drop existing stored procedure.������REPLACE &lcEnumFields..LocalRule WITH lcRuleExpression,  &lcEnumFields..RmtRule WITH lcRemoteRule,  &lcEnumFields..RRuleName WITH lcRemoteRuleName,  &lcEnumFields..RuleExport WITH llRuleSprocCreated,  &lcEnumFields..RuleError WITH lcRuleError

T�����T��-������~�C�0V���}�-lcFldName = RTRIM(&lcEnumFields..FldName)
DllBitType = IIF(RTRIM(&lcEnumFields..RmtType) = "bit", .T., .F.)
0T��C��.��Field�DefaultValue���"%���!�C��
	��1��y�%���!�C��
	����%T�	�C�������2�����T�	��0���9%���3�&C�	��0�	��0���.F.	��H�T�4�a��T�	��0��T���UW_ZeroDefault��T��5�a���[�T�4�-���"%���!
��4
	�C��	����.��!%���(��	���6	��3�
%��4����T��C��7�����3%���"�Oracle�C��default��.����T��C�	����)��%��
����1REPLACE &lcEnumFields..DefaErrNo WITH lnError
I��C���	�Error creating default.��.��Default��+������,T���Unable to drop existing default����%�����3	���T�
�C�����8���/�T�
�-����*REPLACE &lcEnumFields..Default with lcDefaultExpression,  &lcEnumFields..RmtDefault with lcRemoteDefault,  &lcEnumFields..RDName with lcRemoteDefaultName,  &lcEnumFields..DefaExport WITH llDefaultCreated,  &lcEnumFields..DefaBound WITH llDefaultBound,  &lcEnumFields..DefaError WITH lcDefaError

T�%����T��-����
F�����
���9�:�U;LCENUMTABLESLCTABLENAMELCTABLERULELCRMTTABLENAMELCRULEEXPRESSIONLCREMOTERULE
LCRULETEXT	LCFLDNAMELCDEFAULTEXPRESSIONLCREMOTEDEFAULTLCENUMFIELDSLLRULESPROCCREATEDLLDEFAULTCREATEDLLDEFAULTBOUNDLLTABLEEXPORTEDLCREMOTERULENAMELCREMOTEDEFAULTNAME	LCFLDTYPELCRULEERRORLCDEFAERRORLCRMTFLDNAMELCCONSTNAMELNTABLECOUNT
LCTHERMMSGLNERRORLLSHOWTHERM
LLRULECREATEDTHIS
ENUMTABLESTBLCOUNTEXPORTATABLECOUNTEXPORTVALIDATIONEXPORTDEFAULTS
SERVERTYPE	INITTHERMUPDATETHERMLCDEFAULTERROR
UNIQUEORANAMECONVERTTOCONSTRAINTDOUPSIZEEXECUTETEMPSPT	RULEERRNO
STOREERRORCONVERTTOSPROC
PERM_SPROC	MAYBEDROP
ENUMFIELDSTBLTBLNAME	LLBITTYPECONVERTTODEFAULT	SQLSERVER
LLZD_FIELDZDUSEDPERM_DEFAULTZERODEFAULTBINDDEFAULTTHERMREFCOMPLETE�4�����'�������	�
���T��CW��T��C�TALKv��G2�%�C�ExprMap�
����F��Q��ExprMap�%����Oracle����G(�C�
��
�����G(�C�
��
������F�
��
T�����+�C��
��P�T�	�C�'���T�
�C�"���T��C�[���T��C�>���KT�	�CC�	���	��6C�
���
��6C������6F��T�	�C�	�����	6��%��	�����
T�����
T������0�T��C��	�=��T��C��	�\��T��C��	�\���%�C��
��j�%T���C���������%�C��
��L�!T��C��[��]��6��T�	�C����%��	�����
T�����
T�������T��C��	�=��T��C��	�\���%�C��
��H�#T����'C����'�����
F����SET TALK &lcSetTalk
B�C����ULCLOCALEXPRESSIONLCOBJECTTYPELCLOCALTABLENAMELCREMOTETABLENAMELCSERVERSQLLCREMOTEEXPRESSION	LNOLDAREA	LCSETTALKLCDELIMITERLNPOSLNPOS1LNPOS2LNPOSMAXEXPRMAPTHIS
SERVERTYPEORACLE	SQLSERVERLNMAXLCLANGUAGESTRINGCONVERTLANGUAGESTRINGLCCONSTANTSTRINGCONVERTCONSTANTSTRING4�����+�������	�
���
�T��C�@��T��CC�V@��T��CC�V@��7T��C���Oracle��Oracle��	SqlServer6��T�
�C� ���~�n�%���
����-lcServerSQL = RTRIM(ExprMap.&lcMapField.)
�?�8lcServerSQL = " "+ RTRIM(ExprMap.&lcMapField.) + " "
�T��CC��V@��T�
�C�
�C�@����T�
�C�
�\��T��C��V���	��������SELECT LOWER(FldName), LOWER(RmtFldName) FROM (lcEnumFields) WHERE  RTRIM(&lcEnumFields..TblName)=lcLocalTableName AND  &lcEnumFields..FldName<>&lcEnumFields..RmtFldName  INTO ARRAY aFieldNames
%�C�	�
������
���(�C��	������)T�
�C�
CC�
��	VCC�
��	V������T�
�C�
�����T�
�C�
����B�C�
���ULCLOCALEXPRESSIONLCOBJECTTYPELCLOCALTABLENAMELCREMOTETABLENAMELCSERVERSQL	LNOLDAREALCSERVERTYPELCXBASELCENUMFIELDSAFIELDNAMESLCEXPRESSIONLNOCCURENCELNPOSI
LCMAPFIELDTHIS
SERVERTYPEEXPRMAPPADFOXEXPR
ENUMFIELDSTBLCONVERTDATES�4������
T�����+�C�'�������T��C�'���� T��C���C�' C�' [��T�������	B����ULCSTRINGLNPOSLNOCCURRENCELNOCCURENCE�4�������%�C������
T�����+�C�'��������T��C�'����� T��C���C�' C�' [��T��������T��C�C�" C�' ���	B����ULCEXPRLLNOCONTRACTIONSLNPOSLNOCCURRENCELNOCCURENCE�4��/����������	�
��
T�����+�a����T��C�{����T��C�}����(%�������������!��T��C�����\��$T��CC������\���T��C�CENTURYv��T��C�DATEv��T�	�C�HOURv��T�
�C�SECONDSv��T��C�MARKv��G �G(�AMERICAN�G9(����G} �G:(��/��T��C�*��SET CENTURY &lcCentury
SET DATE TO &lcDate
G9(��	��SET SECONDS &lcSeconds
G:(����%����Oracle��I�9T���	TO_DATE('��','MM/DD/YYYY HH:MI:SS AM')���%�����u�T���'��'���T��C������T�������	B����ULCEXPRESSIONLCOCCURENCELNPOS1LNPOS2
LTDATETIMELCLOCALDTSTRINGLCREMOTEDTSTRING	LCCENTURYLCDATELNHOUR	LCSECONDSLCMARKLNOCCURENCEAMERICANTHIS
SERVERTYPE	SQLSERVER�4����������T��C�
 C�
 ��#T��C��foo������T��C���.���%�C������%�C��
���]T��C�<Value in '|1' violates column validation rule on table '|2'.�'|1'�	��	���!T��C��'|2'�	��	����j�TT��C�3Value violates table validation rule on table '|1'.�'|1'�	��	����T���'��'�����T�
�C�' ��T��C��'�
�
���T��C���'����%�C��
��4�T��C���:new.����6T��C�FIELD VALIDATION RULE FOR '|1'���
�����:T��C�TABLE VALIDATION RULE�blah blah blah��
��T������!o��������C�V����������(�C��������,T��C�CC��V�:new.CC��V������&T����IF NOT (��)���QT����"     THEN raise_application_error(�-20001�, ��);���T����	END IF ; ���	B����ULCREMOTEEXPRESSION
LCRULETEXTLCTABLENAMELCRMTTABLENAMELCRMTFLDNAMELCCRLFLCENUMFIELDSTBLTHIS
MUNGEXBASEGC2QTLCSINGLEGCQTLCSQLBUILDCOMMENT
ENUMFIELDSTBL
RMTFLDNAMETBLNAMEAFIELDNAMESIp4������%���
��/�B�a���)T���CREATE TRIGGER ��_test��*T���� BEFORE INSERT OR UPDATE ��%�C��
����T���� OF ����1T���� ON �� FOR EACH ROW BEGIN ��T�����END;��%�C�����
��"�B�-���i�'T���
DROP TRIGGER ��_test����C�����B�a���U		LCTRIGGERLCTABLELCFIELDNAMELNERRORLCERRMSGTHISDOUPSIZELCSQLEXECUTETEMPSPT�4��������!T��C����������	�
�T��C�
 ��T�
�C�
 C�
 ��%�C����T�%���Field����ST��C�<Value in '|1' violates column validation rule on table '|2'.�|1����T��C��|2�����P�JT��C�3Value violates table validation rule on table '|1'.�|1������T��C�����%�C��=C�' ����T��C�' �C�' ���%���Field����#T��C���vrf_���
����$T���vrt_C��C�vrf_>=���ET�	��CREATE PROCEDURE �� @status char(10) output AS�
��T�	��	�/*���>T�	��	� * TABLE VALIDATION RULE FOR ������T�	��	� */�
�
��(T�	��	�IF @status='Failed'���!T�	��	�      RETURN�
��PT�	��	�IF (SELECT Count(*) FROM �� WHERE NOT (��)) > 0��� T�	��	�      BEGIN���<T�	��	�           RAISERROR �44444� ����7T�	��	�"           SELECT @status='Failed'���T�	��	�	      END���T�	��	�ELSE��� T�	��	�      BEGIN���9T�	��	�$          SELECT @status='Succeeded'���T�	��	�	      END�
��	B��	��ULCEXPRESSION	LCMESSAGELCTABLENAMELCRMTTABLENAMELCOBJECTTYPELCSPROCNAME	LCFLDNAMETHIS
MUNGEXBASELCSQLLCCRLFLCCRHANDLEQUOTES
NAMEOBJECTGCQT4���������$T��C��Field������%����Oracle����DT���ALTER TABLE ��	 MODIFY (��	 DEFAULT ��)���%���	���$T��C���Dflt_���
��,T���CREATE DEFAULT �� AS ����	B����ULCDEFAULTEXPRESSIONLCFIELDNAMELCTABLENAMELCREMTABLENAMELCREMOTEDEFAULTNAMELCSQLTHIS
MUNGEXBASE
SERVERTYPE	SQLSERVER
NAMEOBJECT�4��������$T��C��Field������%����Oracle����KT���ALTER TABLE �� ADD (CONSTRAINT �� CHECK(��))���%��������	B����U	LCRULEEXPRESSIONLCTABLENAMELCREMTABLENAMELCCONSTNAMELCSQLTHIS
MUNGEXBASE
SERVERTYPE	SQLSERVERw4��������<T���sp_bindefault ��, �'��.��'��T��C�����	B����ULCREMOTEDEFAULTNAMELCRMTTABLENAME	LCFLDNAMELCSQLLLRETVALTHISEXECUTETEMPSPT?�������%�����.�B�a���8�T��C�' ��NT���'select uid from sysobjects where name =��UW_ZeroDefault���T��C���uid����%��
��%�7T���CREATE DEFAULT �UW_ZeroDefault� AS 0��T��C�����T������	B�����4�B�a����U	LCSQLLLRETVALLLDEFAULTEXISTSDUMMYLCSQTTHISZERODEFAULTCREATEDSINGLEVALUESPTEXECUTETEMPSPT(c�����������	�
���
�����������T��C�
 ��T��CW��T������
����T�
�����T������
F��
��~�g�{IF this.TableUpsized(RTRIM(&lcEnumRelsTbl..Dd_Parent))  AND this.TableUpsized(RTRIM(&lcEnumRelsTbl..Dd_Child)) THEN�P�>���a���c�>���-����o��
��C������a����
T�����;��C�$Generating referential integrity SQL���� ��~��a���'�-lcParent=RTRIM(&lcEnumRelsTbl..Dd_RmtPar)
,lcChild=RTRIM(&lcEnumRelsTbl..Dd_RmtChi)
0lcParentLoc=RTRIM(&lcEnumRelsTbl..Dd_Parent)
.lcChildLoc=RTRIM(&lcEnumRelsTbl..Dd_Child)
2lcNewPrimary=RTRIM(&lcEnumRelsTbl..Dd_Parexpr)
2lcNewForeign=RTRIM(&lcEnumRelsTbl..Dd_Chiexpr)
T�!�a��+T��C�Tables '|1' and '|2'�|1����T��C��|2������C����"��T������,lcUpdateType = &lcEnumRelsTbl..dd_update
,lcDeleteType = &lcEnumRelsTbl..dd_delete
,lcInsertType = &lcEnumRelsTbl..dd_insert
vIF lcUpdateType = "I" AND lcDeleteType = "I" AND lcInsertType = "I"  AND EMPTY(&lcEnumRelsTbl..clustname) THEN���-REPLACE &lcEnumRelsTbl..Exported WITH .F.
���-REPLACE &lcEnumRelsTbl..Exported WITH .T.
����������T��������T����������C�$���#����C�%���#��%�C����C�������p��C����5Unequal number of fields in primary and foreign keys.�'�:�(�Referential integrity��&��J>�)���5Unequal number of fields in primary and foreign keys.��*��-��.��%�C�������$�g>�)���RThe number of fields in the local index exceeds the maximum allowed by the server.��*��-�����C����RThe number of fields in the local index exceeds the maximum allowed by the server.�'�:�(�Referential integrity��&��.��?%���+�,��,�Oracle���,�SQL Server95	����
F����-�C�-V�'��*lcXPkey=RTRIM(&lcEnumTables..PkeyExpr)
-lcTagName=RTRIM(&lcEnumTables..PKTagName)
%���%�C����f�%��.���8�T�/�C�%�,���"T�/��pk_C�/�C�pk_>=���M�
T�/��.���T�/�C�/��0��%���,�Oracle����T���(��T���)�����
T�����
T������T�1��ALTER TABLE �'��)T�1��1� ADD ��CONSTRAINT ��!T�1��1�/� PRIMARY KEY�� T�1��1� (�%�)���%���2���	�T��C�1����3��%��
���	�h��C���1�0Error creating referential integrity constraint.�'�Referential integrity��&����
F����%-�CC�4VfC�f�CC�5VfC�%f	��%�C�����
��REPLACE &lcEnum_Indexes..RmtType WITH "PRIMARY KEY",  &lcEnum_Indexes..Exported WITH llRetVal,  &lcEnum_Indexes..IndexSQL WITH lcSQL,  &lcEnum_Indexes..RmtName WITH lcConstraintName
�M�ZREPLACE &lcEnum_Indexes..Exported WITH llRetVal,  &lcEnum_Indexes..IndexSQL WITH lcSQL
�
F����T�	�-����~T��C�gTable '|1' is in multiple relationships using different primary keys.  This is not supported by Oracle.�|1�'���
F��
��>�)�����T�	�a���%��	
����T�/�C�$�,���"T�/��fk_C�/�C�fk_>=��T�/�C�/��0��T�1��ALTER TABLE �(��)T�1��1� ADD ��CONSTRAINT ��"T�1��1�/�
 FOREIGN KEY ��T�1��1� (�$�)��0T�1��1� REFERENCES �'� (�%�)��&%��
�C���,�Oracle	��i
�$T�1��1� ON DELETE CASCADE)����
�T�1��1����%���2��	��4�T��C�1����3��%��
��0�h��C���1�0Error creating referential integrity constraint.�(�Referential integrity��&����LT�1����//* Add foreign key for referential integrity */��1��/��C�(�TableSQL�1�FKeyCrea���6��
F��
���.��%���7�	�
�I	����-T�8�C��deleted��(�AND��9��%��
�C����/T�1�C�CASCADE DELETES TO '|1'�(��:��FT�1��1�DELETE �(� FROM deleted, �(� WHERE �8����{��T��C�<C�{Cannot delete or change record.  Referential integrity rules would be violated because related records exist in table '|1'.�|1�(��<��;��DT�1�C�,PREVENT DELETES IF DEPENDENT RECORDS IN '|1'�(��:��UT�1��1�"IF (SELECT COUNT(*) FROM deleted, �(� WHERE (�8�)) > 0���T�1��1�	    BEGIN���5T�1��1�    RAISERROR �44445� ����0T�1��1�    SELECT @status='Failed'���T�1��1�    END���� ��C�'�DeleteRI�1��6���&%���,�Oracle�	�
�I	���*T�8�C��(��:old�AND��9��%��
�C����/T�1�C�CASCADE DELETES TO '|1'�(��:��&T�1��1�IF DELETING THEN ���=T�1��1�    DELETE FROM �(� WHERE �8�;���T�1��1�END IF;�������T���'C�{Cannot delete or change record.  Referential integrity rules would be violated because related records exist in table '|1'.�'|1'�=�(�=��'��DT�1�C�,PREVENT DELETES IF DEPENDENT RECORDS IN '|1'�(��:��&T�1��1�IF DELETING THEN ���aT�1��1�    SELECT COUNT(*) INTO �RecordCount� FROM �(� WHERE (�8�);���9T�1��1�    IF �RecordCount�
 > 0 THEN ���OT�1��1�         raise_application_error(�-20002�, ��);��� T�1��1�    END IF;���T�1��1�END IF;���� ��C�'�DeleteRI�1��6���%���7�	��I	��K�-T�8�C��deleted��(�AND��9��%���C����/T�1�C�CASCADE UPDATES TO '|1'�(��:�����DT�1�C�,PREVENT UPDATES IF DEPENDENT RECORDS IN '|1'�(��:��� T�1��1�IF C���>��+T�1��1� AND @status<>'Failed'���T�1��1�	    BEGIN���%���C��N�,T�?�C��(��inserted�,��9��)T�1��1�         UPDATE �(���&T�1��1�
         SET �?���>T�1��1�         FROM �(�, deleted, inserted���(T�1��1�         WHERE �8������T��C�<C�{Cannot delete or change record.  Referential integrity rules would be violated because related records exist in table '|1'.�|1�(��<��;��YT�1��1�&    IF (SELECT COUNT(*) FROM deleted, �(� WHERE (�8�)) > 0���"T�1��1�
        BEGIN���=T�1��1�            RAISERROR �44445� ����8T�1��1�#            SELECT @status='Failed'���$T�1��1�            END����T�1��1�    END��� ��C�'�UpdateRI�1��6���&%���,�Oracle�	��I	����*T�8�C��(��:old�AND��9��,T�@�C��:old��:new�OR��9��T�@�C�@�=�!=���%���C��$�/T�1�C�CASCADE UPDATES TO '|1'�(��:���p�DT�1�C�,PREVENT UPDATES IF DEPENDENT RECORDS IN '|1'�(��:���%���C��i�(T�?�C��(��:new�,��9��2T�1��1�IF UPDATING AND �@� THEN���$T�1��1�    UPDATE �(���!T�1��1�    SET �?���(T�1��1�
    WHERE �8�;���T�1��1�END IF;����m��T���'C�{Cannot delete or change record.  Referential integrity rules would be violated because related records exist in table '|1'.�'|1'�=�(�=��'��2T�1��1�IF UPDATING AND �@� THEN���aT�1��1�    SELECT COUNT(*) INTO �RecordCount� FROM �(� WHERE (�8�);���8T�1��1�    IF �RecordCount�	 > 0 THEN���OT�1��1�         raise_application_error(�-20003�, ��);��� T�1��1�    END IF;���T�1��1�END IF;���� ��C�'�UpdateRI�1��6���%���7���#�%���R��� �.T�8�C��'��inserted�AND��9���T��C�<C�aCannot add or change record.  Referential integrity rules require a related record in table '|1'.�|1�'��<��;��BT�1�C�*PREVENT UPDATES IF NO MATCHING KEY IN '|1'�'��:�� T�1��1�IF C���>��+T�1��1� AND @status<>'Failed'���T�1��1�	    BEGIN���:T�1��1�%IF (SELECT COUNT(*) FROM inserted) !=���ZT�1��1�!           (SELECT COUNT(*) FROM �'�, inserted WHERE (�8�))���&T�1��1�            BEGIN���AT�1��1�                RAISERROR �44446� ����>T�1��1�)                SELECT @status = 'Failed'���$T�1��1�            END���T�1��1�    END��� ��C�(�UpdateRI�1��6���%���R���#��T��C�<C�aCannot add or change record.  Referential integrity rules require a related record in table '|1'.�|1�'��<��;��.T�8�C��'��inserted�AND��9��BT�1�C�*PREVENT INSERTS IF NO MATCHING KEY IN '|1'�'��:��)T�1��1�IF @status<>'Failed'���T�1��1�	    BEGIN���=T�1��1�(    IF(SELECT COUNT(*) FROM inserted) !=���RT�1��1�   (SELECT COUNT(*) FROM �'�, inserted WHERE (�8�))���"T�1��1�
        BEGIN���=T�1��1�            RAISERROR �44446� ����8T�1��1�#            SELECT @status='Failed'��� T�1��1�        END���T�1��1�    END��� ��C�(�InsertRI�1��6����3%���,�Oracle���R�	��R	���&�,T�@�C��:old��:new�OR��9��T�@�C�@�=�!=���*T�8�C��'��:new�AND��9���T���'C�aCannot add or change record.  Referential integrity rules require a related record in table '|1'.�'|1'�=�'�=��'��NT�1�C�6PREVENT INSERTS AND UPDATES IF NO MATCHING KEY IN '|1'�'��:��AT�1��1�IF (UPDATING AND �@�) OR INSERTING THEN���aT�1��1�    SELECT COUNT(*) INTO �RecordCount� FROM �'� WHERE (�8�);���8T�1��1�    IF �RecordCount�	 = 0 THEN���OT�1��1�         raise_application_error(�-20003�, ��);��� T�1��1�    END IF;���T�1��1�END IF;��� ��C�(�UpdateRI�1��6���6%���,�Oracle�C�����	���+
	���'�:o��
��C�����C�AV�'�	�B�
	�	�C�
	���D�%��D����'�7o�����5���C�4V�'��E�Primary key	���F�%�C�FV�%���'���C�'�%��G����C�(�$�'��H����'���C�'��(���I�����'���C�'�%��G����C�(�$�'��H�����
���J�K�
F����ULLCENUMTABLES	LNOLDAREALCTABLENAME	AFLDNAMESLCCRLFANEWFOREIGNANEWPRIMARYLLRETVALLCERRLLSKIPCHILDTBL
LCENUMRELSTBLLCENUM_INDEXESLCUPDATETYPELCDELETETYPELCINSERTTYPELNTABLECOUNT
LCTHERMMSGLCXPKEYLCPARENTLOC
LCCHILDLOCLNERRORLCERRMSGLCOPARENLCCPARENTHIS
ENUMTABLESTBL	GETRIINFOENUMRELSTBLENUMINDEXESTBLEXPORTCOUNTATABLECOUNT	INITTHERMLLCLUSTIDXOKUPDATETHERMKEYARRAYLCNEWFOREIGNLCNEWPRIMARY
STOREERRORLCPARENTLCCHILDRIERROREXPORTED	EXPORTDRI
SERVERTYPETBLNAME	LCTAGNAMELCCONSTRAINTNAME
UNIQUEORANAMELCSQLDOUPSIZEEXECUTETEMPSPT	INDEXNAMERMTEXPRSTORERICODE	SQLSERVERLCRESTR
BUILDRESTRBUILDCOMMENTHANDLEQUOTESGCQTGC2QTBUILDUPDATETEST	LCSETKEYS	LCUPDTEST	DD_PARENT
DD_CHIEXPR
DD_PAREXPR
ADUPECOUNT
LCLIDXTYPE
AINDEXEXPRSETPKEYSETFKEYSETCOMMONKEYTHERMREFCOMPLETE�4��������(T���
sp_commonkey ��, ��������(�C��������+T����, C���, C��������C�����ULCTABLE1ANEWPRIMARYLCTABLE2ANEWFOREIGNLCSQLITHISEXECUTETEMPSPTO4������)T���sp_primarykey ��, �����C�����ULCTABLELCKEYLCSQLTHISEXECUTETEMPSPT]4�������3T���sp_foreignkey ��, ��, �����C�����ULCCHILD
LCCHILDKEYLCPARENTLCSQLTHISEXECUTETEMPSPTg4������T��C�
 ��T��C��|1����#T����/* �� */���	B����U
LCMAINCOMMENT
LCTOINSERTLCCRLF	LCCOMMENTx4���T����,��+���
��q�%��C�CC�C�,��=�����T��C�C�,��\���ULCKEYSTRING	AKEYARRAYTHISINSAITEM�4���������
T����������(�C��������%�����t�T���� �� ���8T�����.C��� = ��.C������	B����UANEWPRIMARYLCPARENTANEWFOREIGNLCCHILD
LCCONJUNCTIONLCBUILDRESTRI�4������
T����������(�C��������%�����b�T���� OR ���&T����UPDATE(C���)����	B����U
AKEYFIELDSLCSQLI�4���������T��CW��T������
F����-�C�	VC�V��=REPLACE &lcEnumTablesTbl..&lcFldName1 WITH lcSQL ADDITIVE
%�C������7REPLACE &lcEnumTablesTbl..&lcFldName2 WITH llRetVal
�
F����U
LCRMTTBLNAME
LCFLDNAME1LCSQL
LCFLDNAME2LLRETVAL	LNOLDAREALCENUMTABLESTBLTHIS
ENUMTABLESTBL
RMTTBLNAME�?�����������	�
���
��T��CW��T��-��T��C�
 ��T��C��V��T��C��V��
F����
T�����'%���
���
	���
	����B��_SELECT COUNT(*) FROM (lcEnumTables) WHERE &lcEnumTables..Export=.T.  INTO ARRAY aTableCount
(��C�Creating triggers������
T�����%����Oracle����/~��a�C��
�C��
�C��
	����2lcTableName = RTRIM(&lcEnumTables..RmtTblName)
!T��C�
Table '|1'�|1������C���� ��T������(lcInsertRI = &lcEnumTables..InsertRI
(lcUpdateRI = &lcEnumTables..UpdateRI
(lcDeleteRI = &lcEnumTables..DeleteRI
<%�C�RecordCount���C�RecordCount����
�4T�!��DECLARE �RecordCount� NUMBER;����"�
T�!�����$%�C��
�C��
�C��
���0T�	��
Trig_BIUD_C��C�
Trig_BIUD_>=��T�	�C�	��"��$T�#��CREATE TRIGGER �	���2T�#��#�!BEFORE INSERT OR UPDATE OR DELETE��/T�#��#� ON �� FOR EACH ROW ���T�#��#�!�BEGIN ���%T�#��#�����END;��%���$���%	��2�T��C�#�
���&��%��
��.�A��C�
��#�Error creating trigger.��Trigger��'��PREPLACE &lcEnumTables..RIError WITH lcErrMsg ADDITIVE,  RIErrNo WITH lnError
���REPLACE &lcEnumTables..InsertRI WITH lcSQL,  &lcEnumTables..ItrigName WITH lcTrigName,  &lcEnumTables..InsertX WITH llRetVal
MREPLACE &lcEnumTables..UpdateRI WITH "",  &lcEnumTables..DeleteRI WITH ""
�%�-����.T�	��	Trig_AUD_C��C�	Trig_AUD_>=��T�	�C�	��"��$T�#��CREATE TRIGGER �	���'T�#��#�AFTER UPDATE OR DELETE��/T�#��#� ON �� FOR EACH ROW ���T�#��#�!�BEGIN ���!T�#��#����END;��%���$���%	����T��C�#�
���&��%��
����A��C�
��#�Error creating trigger.��Trigger��'��PREPLACE &lcEnumTables..RIError WITH lcErrMsg ADDITIVE,  RIErrNo WITH lnError
���REPLACE &lcEnumTables..DeleteRI WITH lcSQL,  &lcEnumTables..DtrigName WITH lcTrigName,  &lcEnumTables..DeleteX WITH llRetVal,  &lcEnumTables..UpdateRi WITH ""
�����*SCAN FOR &lcEnumTables..Export=.T.���
T�����
T�#����0lcTableName=RTRIM(&lcEnumTables..RmtTblName)
!T��C�
Table '|1'�|1������C���� ��T������fIF &lcEnumTables..RuleExport =.T.  OR (!this.DoUpsize AND !EMPTY(&lcEnumTables..RmtRule)) THEN�L
�.T���/* TABLE VALIDATION RULE */C�
 ��^lcSproc=lcSproc+ "execute "+RTRIM(&lcEnumTables..RRuleName)   + " @status output" + lcCRLF
�&lcInsertRI=&lcEnumTables..InsertRI
&lcUpdateRI=&lcEnumTables..UpdateRI
&lcDeleteRI=&lcEnumTables..DeleteRI
T��C��(V��
F����;SCAN FOR RTRIM(&lcEnumFields..TblName)==lcTableName�W�0lcFieldName=RTRIM(&lcEnumFields..RmtFldName)
fIF &lcEnumFields..RuleExport =.T.  OR (!this.DoUpsize AND !EMPTY(&lcEnumFields..RmtRule)) THEN�S�ET���C�$/* FIELD VALIDATION RULE FOR '|1' */C�
 �|1�)���_lcSproc=lcSproc + "execute " + RTRIM(&lcEnumFields..RRuleName) + " @status output" + lcCRLF
��
F����YT�*��DECLARE @status char(10)  �*/* USED BY VALIDATION STORED PROCEDURES */���/T�*��*�SELECT @status='Succeeded'���yT�+��1/* ROLLBACK THE TRANSACTION IF ANYTHING FAILED */��IF @status='Failed'��ROLLBACK TRANSACTION���%�C��
�C��
��v�(T�	��TrigI_C��C�TrigI_>=�� T�#��CREATE TRIGGER �	��0T�#��#� ON �� FOR INSERT AS ���T�#��#�*����T�#��#�+��%���$����T��C�#�
���&��%��
����A��C�
��#�Error creating trigger.��Trigger��'��PREPLACE &lcEnumTables..RIError WITH lcErrMsg ADDITIVE,  RIErrNo WITH lnError
���REPLACE &lcEnumTables..InsertRI WITH lcSQL,  &lcEnumTables..ItrigName WITH lcTrigName,  &lcEnumTables..InsertX WITH llRetVal
�%�C��
�C��
����(T�	��TrigU_C��C�TrigU_>=�� T�#��CREATE TRIGGER �	��0T�#��#� ON �� FOR UPDATE AS ���T�#��#�*����T�#��#�+��%���$���T��C�#�
���&��%��
���A��C�
��#�Error creating trigger.��Trigger��'��PREPLACE &lcEnumTables..RIError WITH lcErrMsg ADDITIVE,  RIErrNo WITH lnError
���REPLACE &lcEnumTables..UpdateRI WITH lcSQL,  &lcEnumTables..UtrigName WITH lcTrigName,  &lcEnumTables..UpdateX WITH llRetVal
�%�C��
����(T�	��TrigD_C��C�TrigD_>=�� T�#��CREATE TRIGGER �	��0T�#��#� ON �� FOR DELETE AS ���T�#��#�*���T�#��#�+��%���$���T��C�#�
���&��%��
���A��C�
��#�Error creating trigger.��Trigger��'��PREPLACE &lcEnumTables..RIError WITH lcErrMsg ADDITIVE,  RIErrNo WITH lnError
���REPLACE &lcEnumTables..DeleteRI WITH lcSQL,  &lcEnumTables..DtrigName WITH lcTrigName,  &lcEnumTables..DeleteX WITH llRetVal
���
���,�-�
F����U.LCTABLENAMELCCRLF
LCDELETERI
LCINSERTRI
LCUPDATERILCSPROCLCENUMFIELDS	LNOLDAREALNTABLECOUNT
LCTRIGNAMELNERRORLCERRMSGLCUPDATETYPELCDELETETYPELCINSERTTYPELLRETVALLCENUMTABLESTHIS
ENUMTABLESTBL
LCENUMRELSTBLENUMRELSTBLEXPORTRELATIONSEXPORTDEFAULTSEXPORTVALIDATION	INITTHERMATABLECOUNT
SERVERTYPEEXPORTINSERTRIUPDATERIDELETERI
LCTHERMMSGUPDATETHERMLCDECL
UNIQUEORANAMELCSQLDOUPSIZEPERM_TRIGGEREXECUTETEMPSPT
STOREERROR
ENUMFIELDSTBLLCFIELDNAMELCSTATUS
LCROLLBACKTHERMREFCOMPLETE���������5��%���
��7�B��T��CW��%���	��a�
���
��T��C��V��T����
��
F����T��C�Relation����T������Q�������Q�������F��T��C�EXACTv��G �(-�C�@�table�CC�@`�ridd	��~�C�f�RELATION����#������T��C��@��
T�����+��C�>����oT��CC���\CC����\�CC����\�
�@�CC����\�
pA���T��C����\��T��C�����\��
H�@�����C�
 ��`�
T�������C� ����T��C�@����C� ����
T������T�������T��C�W��
F����-�� C�V�
�!C�V	��(l_parexpr=&lcEnumIndexesTbl..RmtExpr
-�� C�V�
�!C�V	��(l_chiexpr=&lcEnumIndexesTbl..RmtExpr
T�"�CC��#��\f��-T�"�C�"�C�	�"�R	��I��"6��T�$�CC��#��\f��-T�$�C�$�C�	�$�R	��I��$6��T�%�CC��#��\f��-T�%�C�%�C�	�%�R	��I��%6��T��C���&��T��C���&��3o����C�����C�(VC�V�C�)VC�V	����
insert into &lcEnumRelsTbl (dd_child,dd_rmtchi,dd_parent,dd_rmtpar, dd_chiexpr,dd_parexpr,duplicates, dd_update, dd_insert, dd_delete)  values (l_chitable,l_rmtchitable, l_partable, l_rmtpartable,  l_chiexpr,l_parexpr, aDupeCount, l_update, l_insert, l_delete)  
F���Q�F��Q�SET EXACT &lcExact
T���-��
F����U*
LCENUMRELSTBL	LNOLDAREAP_DBC
L_RMTCHITABLE
L_RMTPARTABLELCTABLENAME
ADUPECOUNTTHISGETRIINFORECALCANALYZEINDEXESRECALCANALYZEINDEXESSOURCEDBLCENUMINDEXESTBLENUMINDEXESTBL
CREATEWZTABLEENUMRELSTBLMYDBCMYDBCPARLCEXACT
OBJECTTYPE
OBJECTNAMEPARENTID
L_CHITABLEL_STARTPROPERTYL_SIZEL_KEYL_VALUEL_CHITAG
L_PARTABLEL_PARTAGL_AREA	INDEXNAMETAGNAMEL_DELETERIINFOL_UPDATEL_INSERTREMOTIZENAMECOUNT	DD_RMTPAR	DD_RMTCHI"4������������T��CW��T��C�	�
V��T��C�	�V��
%������-T��� Export =.T. AND EMPTY(ClustName)�����.T���!Export =.T. AND !EMPTY(ClustName)���
�����]SELECT LOWER(TblName) FROM (lcEnumTablesTbl) WHERE &lcConstraint INTO ARRAY aExportTables
%�C��
���
F����
T�����T��C�EXACTv��G �~���:%�C��C�
V���C��C�V��	�	��

	���������������C���	�����C���	���%�C����C����������������/IF &lcEnumRelsTbl..Duplicates <> 0 THEN�z�T���(CC��ZA�)�����
T������*T��������C�V�:C�
V���!T��������C�����T���������SET EXACT &lcExact
�
F����U
AELIGIBLERELS	LLCHOICES
LCENUMRELSTBLLCENUMTABLESTBL	LNOLDAREALCDUPESTRINGLCCONSTRAINT
AEXPORTTABLESLCEXACTTHISENUMRELSTBL
ENUMTABLESTBLIDD_CHILD	DD_PARENTAPARENTKEYS
ACHILDKEYSKEYARRAY
DD_PAREXPR
DD_CHIEXPR
DUPLICATESY4����������T��CW��T��C��V��
T�����
T�����
T�������C������	��
F����%�������T�������$-��
����	���	��
%������iOWizard.Form1.PageFrame1.Page1.PageFrame1.Page8.lblClustName.caption=RTRIM(&lcEnumRelsTbl..ClustName)
#T�
���������g��#T�
���������g�����"T�
������������"T�
�������������"T�
�����������"T�
�����������"T�
�����������"T�
�����������dOWizard.Form1.PageFrame1.Page1.PageFrame1.Page8.lblParentExpr.caption=&lcEnumRelsTbl..DD_PAREXPR
cOWizard.Form1.PageFrame1.Page1.PageFrame1.Page8.lblChildExpr.caption=&lcEnumRelsTbl..DD_CHIEXPR

%����H�5IF AT(",",&lcEnumRelsTbl..DD_CHIEXPR)<>0 THEN���#T�
���������-�����#T�
���������a���1IF &lcEnumRelsTbl..ClustType="INDEX" THEN��"T�
������������D�"T�
�������������
F����U	LCRELNAMELLINCLUSTER	LNOLDAREA
LCENUMRELSTBLLCPARENTLCCHILDLNDUPEIDTHISENUMRELSTBLPARSERELDD_CHILD	DD_PARENT
DUPLICATESOWIZARDFORM1
PAGEFRAME1PAGE1PAGE8
LBLPARENTEXPRWIDTHLBLCHILDEXPRLBLCLUSTNAMEVISIBLE
LBLCLUSTLABELLBLCLUSTTYPEOPGCLUSTTYPEOPTION2ENABLEDVALUE�4����������T��C�(���T��C�)���%�������#T��CC������\g��T��C���=�����
T������T��C�:���T��C���=��T��C���\��U	LCRELNAMELCPARENTLCCHILDLNDUPIDLNOPOSLNCPOSLNCOLPOS������� %����
���
	����
����2��C��	�
connection�
ConnectString��
���T��C����=�����(����=����	�(�����T��	�����T��a�����T��-���%������
	���
�����%������
	��.�
�����(%���	�
���
	��
	��G�0T��C��	�
connection�
connectstring���T��C��pwd=����T��C��PWD=��;���T��C��PWD=����T��C��pwd=��;���T��C��pwd=����/��C��	�
connection�
connectstring�����
%����{�����	��=����(������ULNDISPLOGINLCOLDCONNSTRINGLCRENAMEDUSERCONN	LLRENAMEDOENGINEUSERCONNECTIONPWDINDEFTHIS
CREATECONNDEFVIEWCONNECTION
CONNECTSTRINGUNIQUECONNDEFNAMEEXPORTVIEWTORMTDOUPSIZE
REMOTIZEVIEWSEXPORTTABLETOVIEWCREATERMTVIEWS
EXPORTSAVEPWD
LCRCONNSTRINGLCRPWDPARSECONNECTSTRING�������
��T�
�����+��!�
����T�
��C�!�
���T�
��C�,�
���%��
������.T�
���
�C�
��
���
��
����T�
��C�
��
�������#T�
���
�C�
��
�����T�
�������B��
���ULCTABLESPQRETVAL������������	�
���
������������������5��%��� 
����B��T��CW��T��C�
 C�
 ��T��C���View���%�������B��.��C�Redirecting local views����!��
T�����T����"��
������SELECT LOWER(TblName),  LOWER(RmtTblName),  IsNull(TblName),  1/LEN(ALLTRIM(TblName)) as foo  from &lcEnumTables where Exported=.T.  order by foo  into array aTableNames
%�C�����
���#�$�B��T��C�Views��%��T��&����T�'�-�������(�C������g�)T�(�C�	View '|1'�|1CCC��V@�����C��(��)��T������-%�CC���View�
SourceType������.��T�	�-��,T��CCC���View�Tables�@�,��T��C�
���*��$T��CCC���View�SQL�@��T�+�CC��-��,@��%�C�+� �����T��C��.�+�!�.������T��C��+�!����
T�������������T��-�������(�C������7�"%�CCC���V@�,���3�T�	�a��T����/����������T��-��:o�����0���1����2CC���V��0�1	����%�C��
��'������(�C�����#�%�CC���V����)T��C�CC���VCC���V�������)T��C��.CC���V�,�.���!T��C�CC���V�,���1T��C��.CC���V�.CC���V���3T��C�� CC���V� CC���V���%���
����T����,���T���CC���V��T��������a�����%��	
��M�.��%�CC��,�����U�%���3�����%���4����5����
���6����T��3���4����T�
�CC����7��=��CC��V�(��
��T��8�a��T��9�-��aCREATE SQL VIEW RTRIM(aViews[i]) REMOTE CONNECT RTRIM(this.ViewConnection)  AS &lcRmtViewSQL 
T��8�-��%���9������C��:�z��T��C��:��T��C��:��%��������T��C��:���=���
�(�CC��V��T��C��:��
F�����Q>�;��C����<��C����=�����>�����?��-��@�����A�����S��C����(Local view not converted to remote view.C���View��B��.��%T��C�
�view�SendUpdates���
T�����0%�CCC��V�view�SendUpdates��
��q	�=��C��)Unable to set the 'SendUpdates' property.��C���+%�CCC��V�view�Tables��
���	�8��C��$Unable to set the 'Tables' property.��C���T��C�dbcalias��D��T��C�deletedv��G �9USE RTRIM(this.SourceDB) IN 0 AGAIN ALIAS &lcDBCalias

F����-�CC�E@VCC�
@V��"lcParent=&lcDBCalias..ObjectID
T�F�C�localfields��D��F��wSELECT ObjectName, recno() FROM (lcDBCAlias) WHERE ParentID=lcParent AND objecttype="Field"  INTO cursor &lcLCursor

F��F��T�G�CN��
F����-�CC�EV@CCC��V@��"lcParent=&lcDBCalias..ObjectID
 T��C�remotefields��D��F���SELECT ObjectName, recno() FROM (lcDBCAlias)  WHERE ParentID=lcParent  AND objecttype="Field"  AND ATC("Identity_column", rtrim(objectname)) == 0  AND ATC("Timestamp_column", rtrim(objectname)) == 0  INTO CURSOR &lcRCursor

F����T�H�CN��%��H�G��.
�s��C��_Unable to set field properties because remote and local views have an unequal number of fields.��I���3�
F��F��~�/�.T�J�C�
�.C�EV�field�keyfield���/T�K�C�
�.C�EV�field�	updatable���0T�L�C�
�.C�EV�field�
updatename���
F����9%�CCC��V�.C�EV�field�keyfield�J�
��{�T�M�C�EV��?T��C�(Unable to set Keyfield property on '|1'.�|1�M�����C����I���:%�CCC��V�.C�EV�field�	updatable�K�
���T�M�C�EV��@T��C�)Unable to set Updatable property on '|1'.�|1�M�����C����I���H�
F��F����Q�SET DELETED &lcDelStatus
Q����%�C�
������
Q��
����
F�����Y>�;��C����<���
��=�����>�����N����3��?��a��@�����O�����%���
��Q�S��C����-Setting of properties on remote views failed.C���View��B����c�%���P
�����Q���(�C�������%�C�Q��a����
�������!T�
�������C�Q����!T�
�������C�Q������C�
��R������
F�����@>�;��C����<�����?��-��O�����S��CC��,�A�����
���#�$�%�CN�������C��Delete��T��T��&�����
F����UUATABLENAMESLCENUMTABLESLCTABLESINVIEWLCTABLESNOTUPSIZEDLCNEWTABLESTRING	LCVIEWSQLLCRMTVIEWSQL	LNOLDAREA
LCVIEWSTBLLLTABLEUPSIZEDAWHIPLCENUMFIELDSTBL	AFLDARRAY
LCNEWVIEWNAME
LCDBCALIAS
AFIELDSINVIEWMMIIJJI
LLSENDUPDATESLCDELSTATUS	LCVIEWERRLCCRLFLCERRSTRINGLNPARENTRECLNVIEWCOUNT
LNSERVERERRORLCERRMSG	LCRCURSORAVIEWSTHISDOUPSIZE	INITTHERM
ENUMTABLESTBLTHERMREFCOMPLETE
CREATEWZTABLEVIEWSTBLLLVIEWCONNCREATED	LCMESSAGEUPDATETHERMTRIMDBCNAMEFROMTABLESLCDBNAME	JUSTSTEM2SOURCEDBGCQT
ENUMFIELDSTBLFLDNAME
RMTFLDNAMETBLNAMEVIEWCONNECTIONUSERCONNECTIONCREATENEWDB
CREATECONNDEFUNIQUETORVNAMESETERROROFFHADERROR	AERRARRAYVIEWNAMENEWNAMEVIEWSQL
RMTVIEWSQL	REMOTIZEDVIEWERR	VIEWERRNO
STOREERROR
ADDTOERRORUNIQUECURSORNAME
OBJECTNAME	LCLCURSOR	LNLFIELDS	LNRFIELDSADDTOERR
LLKEYFIELDLLUPDATABLELCUPDATENAMELCRMTVIEWFIELD
CONNECTION	TBLSUPSZDEXPORTTABLETOVIEWZZCREATERMTVIEWSNOTUPSZDDISPOSETABLEQ4���%�����)�
T������J�T��C�
 C�
 ����ULCERRSTRING
LCADDTOSTRING������T���Upsize����C���
connection���
T�����T��C�EXACTv��G �+�C��C�f������T���UpsizeCC�ZA��T�������SET EXACT &lcExact
	B����U
LCCONNNAMEILCEXACT	ACONNDEFS��������T��C����T������%��������T��C��	V��T���dsn=C��
V�;��T��-��"T��C��	�uid=�����
%������ T����uid=C�V�;���"T�
�C��	�pwd=�����
%����*� T����pwd=C�
V�;���(T����	database=C��V�;��GCREATE CONNECTION &lcConnName DataSource RTRIM(this.DatasourceName)
,��C��
connection�
ConnectString�������/T��C���
connection�Asynchronous���,T��C���
connection�	BatchMode���0T��C���
connection�
ConnectString���1T��C���
connection�ConnectTimeOut���,T��C���
connection�	DispLogin���/T��C���
connection�DispWarnings���.T��C���
connection�IdleTimeOut���+T�
�C���
connection�PassWord���/T��C���
connection�QueryTimeout���/T��C���
connection�Transactions���)T��C���
connection�UserID���+T��C���
connection�WaitTime���GCREATE CONNECTION &lcConnName DataSource RTRIM(this.DatasourceName)
!T��C��	database=����%���
����T��C��C��V����.��C���
connection�Asynchronous����+��C���
connection�	BatchMode����/��C���
connection�
ConnectString����0��C���
connection�ConnectTimeOut����+��C���
connection�	DispLogin����.��C���
connection�DispWarnings����-��C���
connection�IdleTimeOut����*��C���
connection�PassWord�
���.��C���
connection�QueryTimeout����.��C���
connection�Transactions����(��C���
connection�UserID����*��C���
connection�WaitTime�����T������UILLFOUNDLCCONNSTRING
LCCONNNAMELCNEWCONNSTRINGTHISUNIQUECONNDEFNAMEVIEWCONNECTIONUSERCONNECTION
CONNECTSTRINGDATASOURCENAMELCUSERIDPARSECONNECTSTRING
LCPASSWORDSERVERDBNAMELLASYNCHRONOUSLLBATCHMODELCCONNECTSTRINGLCCONNECTTIMEOUTLNDISPLOGINLLDISPWARNINGS
LNIDLETIMEOUTLNQUERYTIMEOUTLNTRANSACTIONS
LNWAITTIME
LCOLDDATABASE�4��������T��C�@��T��C�@��T��C����%�������T��C��C�>\��%�C�;������T��C�C�;��=���T��a�����
T�����T��-���	B����ULCCONNSTRINGLCSTRINGPARTLLFOUNDLCLOWCONNSTRING
LNSTARTPOS
LCFOUNDSTRING[4��3����������	�
���L�T��CW��T���
���T���
���T���
���T��C�
 C�
 ��%�C�����
�����#o������������a����%�C������B��T�
�C������T�	�a���
%��	��]�<��C�%Creating remote views based on tables�
��
���
T�
�����%��
������%��
����
�����
��
�����T�
���
�����
F���������(�C������=�
%��	��E�+T��C�
Table '|1'�|1CC���V�����C�
��
���T�
��
����
T�����T��CC����
���=1�CC���V�(����'T���SELECT * FROM C�����`CREATE SQL VIEW RTRIM(aTableNames[i,1]) REMOTE CONNECT RTRIM(this.ViewConnection)  AS &lcSQL

�����T��-��Ao��������C�VCC���V���Primary key	����%�C������<o��������C�VCC���V���UNIQUE	�����%�C��
��<�1%�CCC���V�view�SendUpdatesa�
��4�6T���)Unable to set the 'SendUpdates' property.���
� ����T� �-����C�� �
�!����"���(�C�� ���� �?%�CCC���V�.CC�"� V�field�keyfielda�
���FT�#�C�(Unable to set Keyfield property on '|1'.�|1CC�"� V���T�����#�����
�$����T�$�-��+o�����%���C�VCC���V���$�%�C�$�
��8���"���(�C��$����4�@%�CCC���V�.CC�"�$V�field�	updatablea�
��0�GT�#�C�)Unable to set Updatable property on '|1'.�|1CC�"� V���T�����#���������gT���ZUnable to make view updatable because no primary or candidate index exists on local table.���VLOCATE FOR LOWER(RTRIM(&lcEnumTablesTbl..TblName))==LOWER(RTRIM(aTableNames[i,1]))
+>�&�����'��CC���V��(�����
T�������
F����
��
�)�*�U+ATABLENAMESLCENUMTABLESTBLLCNEWTBLNAME	LNOLDAREALCSQLLCENUMINDEXESTBLAPKEYLCENUMFIELDSTBL	LCVIEWERRLLSHOWTHERMLNTABLECOUNTILCCRLFTHIS
ENUMTABLESTBLENUMINDEXESTBL
ENUMFIELDSTBLTBLNAME
RMTTBLNAMEEXPORTED	INITTHERMVIEWCONNECTIONUSERCONNECTIONCREATENEWDB
CREATECONNDEF	LCMESSAGEUPDATETHERMUNIQUETORVNAMERMTEXPR	INDEXNAME
LCLIDXTYPERMTTYPE
AKEYFIELDSKEYARRAYIILCERRSTRING	AFLDNAMES
RMTFLDNAME
NEWTBLNAMERMTVIEWVIEWERRTHERMREFCOMPLETE�4��������
�������C���view�����C���table���
T�����*T��CC�V��C�_local>=�_local��
T�����T��C�EXACTv��G �/+�C��C�f���C��C�f����t�%�C�>CCC�ZA>����6�T��C�CCC�ZA>=��!T��C�VCC�ZA�_local���_�!T��C�V�_localCC�ZA���T�������SET EXACT &lcExact
	B����ULCTABLENAMELCNEWTABLENAMELCOLDTABLENAMEILCEXACT	AVIEWSARR
ATABLESARRLCNEWTBLNAME�
#����������+%���	���
�
���
	����%�C�aErrors occurred during upsizing.  Would you like to save the tables containing error information?�4�Upsizing Wizard�x�
����T���-�����T���a����A�%�����'�T���a���=�T���-����'%���
���
	���

	��p�B��%�������.��C�Creating upsizing report������3��C���Export=.F. OR Upsizable = .F.����
����
������C���close������C���close����
����Q�����%����
��~�"��C���Exported=.F.�����%����
����"��C���TblUpszd=.F.������W�%���
���F��C�0Creating database and project for generated SQL.�������S�0��C�Storing error information.�������� T��C�Upsize�dbc����CREATE DATABASE &lcNewDb
SET DATABASE TO &lcNewDB
%�������T��C�Misc_uw������C������1�C��V�J��	Fields_uw���1�C��V�J��	Tables_uw��%�����]� �1�C��V�J��
Indexes_uw���%�������&�1�C��V�J��Relationships_uw���%����
�����1�C��V�J��Views_uw���i1��	Tables_uw�����I��Q�Q��	Tables_uw������F��-i1��	Fields_uw�����I��	Tables_uw���Q�%�������.i1��
Indexes_uw�����I��	Tables_uw���Q���%���
������C�� �close�����1�C�� V�J��SQL_uw���%������
�
	��7���C��
�close�����1�C��
V�J��	Errors_uw���%����C�!�
	���������(�C��!������>T���
ExportErrors_CC���!�C�
ExportErrors_>=���1�CC���!V�J�������L� T��C�Report�pjx����T��"����Q�Project1.PJX�(���.pjx��Q���.pjx��
T��C��� T��C�C�DATAv�.DBC���T�����.PJXC� ��T���C� ��+>�%�����&�����'�����(�����-�C�)@�d��#>�%��C�@�.dbc��*��C�f��%�����v
�����������C�RptField���+����C�RptTable���+��%���
�
���	������C�RptErrs���+���%���������C�RptIndex���+���%���������C�RptRels���+���%���,����
	��/	���C�RptViews���+��������(�C������r
�.T��������CC����frx����F��Q�C����.frx��(�C����.frx��Q�C����.frx��-��%�cursor��
+�C4��
�>�-��C�-�upsize1������Q�
F�����F>�%��CC���@�.frx��*��CC���f��.��-��)���R�����Q�
���/�0�T��CC�]����-_shell=[MODIFY PROJECT &lcNewProj NOWAIT]
T��1�a��U2ILCNEWDB	LCNEWPROJLCMISCLCERRTBLNAMELCPATH
LCPATHANDFILE	AREPARRAYTHIS
DATAERRORSERRTBLDOREPORT
SAVEERRORS	DOSCRIPTS	INITTHERM
PURGETABLE
ENUMTABLESTBLREORDERTABLE
INTEGERIZEDISPOSETABLEMAPPINGTABLEVIEWSTBLPURGETABLE2ENUMRELSTBLENUMINDEXESTBLUNIQUEFILENAME
CREATEWZTABLE
PUTDATAINMISC
ENUMFIELDSTBL
EXPORTINDEXESEXPORTRELATIONSTBLID	SCRIPTTBLADATAERRTBLSNEWPROJNAMEPROJECT1PJXNAMEHOMEDIROBJECT	RESERVED1TYPEKEY
ADDTOREPARRAYEXPORTVIEWTORMTEXPREXCLUDETHERMREFCOMPLETE
KEEPNEWDIR��������T������T������T������
F����
>�
��CO��~���#lcTemp =&lcEnumTablesTbl..TblID
(lcTemp1 = &lcEnumTablesTbl..TblName 
iUPDATE (lcEnumFieldsTbl) SET &lcEnumFieldsTbl..TblID=lcTemp  WHERE &lcEnumFieldsTbl..TblName==lcTemp1
%�������#lcTemp =&lcEnumTablesTbl..TblID
)lcTemp1 =&lcEnumTablesTbl..TblName   
nUPDATE (lcEnumIndexesTbl) SET &lcEnumIndexesTbl..TblID=lcTemp  WHERE &lcEnumIndexesTbl..IndexName==lcTemp1
��ULCENUMTABLESTBLLCENUMFIELDSTBLLCENUMINDEXESTBLLCTEMPLCTEMP1THIS
ENUMTABLESTBL
ENUMFIELDSTBLENUMINDEXESTBLALLTBLID
EXPORTINDEXES�4������%�C����:�T��������������T��C���������������T�������������U	LCREPNAME	AREPARRAY
LNARRAYLENU4��GINSERT INTO &lcMisc  (SvType,  DataSourceName,  UserConnection,  ViewConnection,  DeviceDBName,  DeviceDBPName,  DeviceDBSize, DeviceDBNumber,  DeviceLogName,  DeviceLogPName,  DeviceLogSize,  DeviceLogNumber,  ServerDBName,  ServerDBSize,  ServerLogSize,  SourceDB,  ExportIndexes,  ExportValidation,  ExportRelations,  ExportStructureOnly,  ExportDefaults,  ExportTimeStamp,  ExportTableToView,  ExportViewToRmt,  ExportDRI,  ExportSavePwd,  DoUpsize,  DoScripts,  DoReport)  VALUES  (this.ServerType,  this.DataSourceName,  this.UserConnection,  this.ViewConnection,  this.DeviceDBName,  this.DeviceDBPName,  this.DeviceDBSize,  this.DeviceDBNumber,  this.DeviceLogName,  this.DeviceLogPName,  this.DeviceLogSize,  this.DeviceLogNumber,  this.ServerDBName,  this.ServerDBSize,  this.ServerLogSize,  this.SourceDB,  this.ExportIndexes,  this.ExportValidation,  this.ExportRelations,  this.ExportStructureOnly,  this.ExportDefaults,  this.ExportTimeStamp,  this.ExportTableToView,  this.ExportViewToRmt,  this.ExportDRI,  this.ExportSavePwd,  this.DoUpsize,  this.DoScripts,  this.DoReport)
Q�ULCMISC�����T��CC��]��
\��$=����.dbf�(���.dbf��$=����.fpt�(���.fpt��F��
Q����T��C��o���������1�����Q�������.dbf�����.fpt��U	LCNEWNAMELCALIASTHIS
ENUMTABLESTBLTBLNAMEA4���
F����G(�DELETE FOR &lcCondition
3�Q�ULCTABLENAMELCCONDITIONy���
F�����~��-��]�T��C�V��
F������C�V���
F������
F�����3�Q�ULCTABLENAMETHIS
ENUMTABLESTBLEXPORTTBLNAME
ENUMFIELDSTBL�#����������%���	
��8�B��T��C�
 ��T����
��T������T������T����
��T������o����C������a����*��C�Creating SQL script������
T�������C������%����Oracle��S�%�C��
����
F����~�C��
����T��C�V��+T��C�Create cluster '|1'�����T��������C������
T�����
F����-�C�V���%�C4��=�=T��C�%Create cluster index for cluster '|1'�����T��������C�������
T�����
F����~�C�V�����T��C�V��T� �C�!V����C�� ��"��T��������C������
F������
F����~�C����a	��O�T��C�V��T� �C�!V����C�� ��"��T��������C���������
F����%���#���IT���8*/ This zero default is bound to one or more fields.  */���?T����CREATE DEFAULT �UW_ZeroDefault� AS 0�����C�������~��a����T��C�V��T� �C�!V��-T��C�Create table '|1'� ���$����C������
T�����%�C�%�
����
T���%���%�C�&�
����%T��CC����&���&�6���%�C�'�
�� �%T��CC����'���'�6���%���
��\�&��C��*/ Trigger code */�����%�C��
����
F����%T����*/ Index code */���~�C�(V���)-	����T��������C������
T�������
F����'T����*/ Default code */���~�C�V��C�*�
	����%��*�0��l�T����*����FT����sp_bindefault C�+V�, 'C�V�.C�,V�'�����C������
T������(T���*/ Stored procedure code */��~�C�V��C�-�
	��S�T����*����C������
T������
F����T��������C�������
���.�/�U0
LCENUMRELSTBLLCENUMTABLESTBLLCCRLF	LCCOMMENTLCENUMINDEXESTBLLCENUMFIELDSTBLLNTABLECOUNTLCENUMCLUSTERSTBLTHIS	DOSCRIPTSENUMCLUSTERSTBL
ENUMTABLESTBLENUMINDEXESTBLENUMRELSTBL
ENUMFIELDSTBLCOUNTEXPORTATABLECOUNT	INITTHERMUPDATETHERM
SERVERTYPE	CLUSTNAMELCCLUSTNAMELCSQLBUILDCOMMENT
CLUSTERSQLSTORESQLRMTTABLERMTNAMEINDEXSQLLCTABLENAMETBLNAMELCRMTTBLNAME
RMTTBLNAMEORACLESCRIPTZDUSEDTABLESQLINSERTRIUPDATERIDELETERI	INDEXNAME
DONTCREATE
RMTDEFAULTRDNAMEFLDNAMERMTRULETHERMREFCOMPLETE}4���������T������T����	��T����
��T��C�
 ��1T��C�Create table '|1'�����
����C������
T�����%�C��
����T�������%�C��
����T��������%�C��
��"�T��������%�C��
��\�&��C��*/ Trigger code */�����
F����)T����*/ Index code */����~�C�V��C��
	����T��������C������
T������
F����+T����*/ Default code */����~�C�V��C��
	��l�T��������C������
T������
F����ULCTABLENAMELCRMTTBLNAMELCENUMTABLESTBLLCENUMINDEXSTBLLCENUMFIELDSTBLLCCRLFTHIS
ENUMTABLESTBLLCENUMINDEXESTBLENUMINDEXESTBL
ENUMFIELDSTBLLCSQLBUILDCOMMENTTABLESQLSTORESQLINSERTRIUPDATERIDELETERI	INDEXNAMEINDEXSQLTBLNAME
RMTDEFAULT�4�������
T�����
T�����+�C��.�0��~�$T��C��CCC�ZA>=CC�ZA��T�������	B����U
LCFILENAMELCEXTENSIONI	LCNEWNAME�	��
��%�C�\�
�����G�%T�
��C�
�C�\�
�����\���%�C�:�
�������%T�
��C�
�C�:�
�����\���%�C�.�
������%T�
��C�
��C�.�
��\���
B�C�
����UFILNAME�4��#����������T��C�EXACTv��G �T��CC��@��T��CW��%�C�Keywords�
����F��Q�Keywords�G((�Keyword����F�	��"%�C��V�SQL Server95����T���
SQL Server����T��C��V���G(�����	E����%�C4��@�T����_���[�(%�C��=�0�C��=�9	����T���_����T��C�>��T��C��=��T��C��������(����W�T��C���\��X%�C�9
���0�	��9	
	�*�����������������S�T��C����_[������SET EXACT &lcExact

F����	B����U
LCLOCALNAMELCRESULTLNLENGTHILCCHAR	LNOLDAREALNASCLCEXACTLCSERVERCONSTRAINTKEYWORDSKEYWORDTHIS
SERVERTYPE�4��������T��C����
T�����T����.dbf��T��C�>�������(��
������%�C�0����$T��C��CCC�Z�>=CC�Z���T����.dbf�����!����	B����ULCSTEMLCTESTLCRESULTILNLENGTH�4�������T��C����
T�����T��C�>�������(�������%�C������$T��C��CCC�Z�>=CC�Z������!����	B����ULCSTEMLCRESULTILNLENGTH�5������"%�C��V�SQL Server95��K�T���
SQL Server�����%����
SQL Server����T���SQL Server4x�����T��C��V����;o�TypeMap�����this.�����a���	���������(�C������{�wSELECT RemoteType from TypeMap where Localtype=aArrays[i,1] and Server=lcServerConstraint  into array &aArrays[i,2]
��U	AARRAYSLCSERVERCONSTRAINTITHIS
SERVERTYPE	LOCALTYPETYPEMAPDEFAULTSERVER�4�����T��C�����%�C�@C�@����x��C�WThe name you entered isn't legal.  Please enter a new name or accept the name provided.�0�Upsizing Wizard�x��
T�����B�-���B�a��ULCNAME	LCNEWNAMETHISREMOTIZENAMEy4����������T��C�>��T��C�>��T���C�>C�_>��%����
��O�
H�}�K�&�����
���	����T��C���=��T��C���=��&�����
���	���T��C���=��&�����
���	��K�T��C���=����T�����_���	B����U	LCRMTTABLENAME	LCFLDNAMELCPREFIXLNMAXLENGTHLNTBLNAMELENGTHLNFLDNAMELENGTHLNCHARSLEFTLCTMPTBLNAMELCSPROCNAME�4���������T��C�' ��@T���'select uid from sysobjects where name =�����T���x��T��C���uid����
%������T���drop �� ���T��C���	��	B�������B�a���U
LCOBJECTNAMELCOBJECTTYPELLOBJECTEXISTSLCSQLDUMMYLCSQTTHISSINGLEVALUESPTLNRETVALEXECUTETEMPSPT�4����������%�C������
�����T��C��V���SELECT FldName, RmtFldName, 1/LEN(RTRIM(RmtFldName)) as foo  FROM &lcEnum_Fields  WHERE &lcEnum_Fields..TblName=lcTableName  ORDER BY foo  INTO ARRAY aFieldNames 
�
T�����
T����������(�C��������%�CC���V�����%�����t�T��CC���V�����!T����, CC���V���T������T��C�CC���V���%�C�������!�����	B����U	LCEXPRESSIONLCTABLENAME
LNKEYCOUNTAFIELDNAMESIILCRETURNEXPRESSION
LCENUM_FIELDSTHIS
ENUMFIELDSTBL:4�����������T��CW��%���	���c�T��	�C�Errors��
���T����	��%�C������
T�������INSERT INTO &lcErrTbl (ErrNumber,ErrMsg, WizErr, FailedSQL, ObjName, ObjType)  values (lnError, lcErrMsg, lcWizErrMsg, lcSQL,lcObjName, lcObjType)

F����ULNERRORLCERRMSGLCSQLLCWIZERRMSG	LCOBJNAME	LCOBJTYPELCERRTBL	LNOLDAREATHISERRTBL
CREATEWZTABLEI4��������%���
��/�B��T��C�
 ��T��CW��%�C��V�����T��C�Script����T���������T��C��V���
F����%�CN�������%�C��
����T���������@REPLACE &lcScriptTbl..ScriptSQL WITH lcSQL + lcCRLF ADDITIVE

F����U	LCSQL	LCCOMMENTLCCRLF	LNOLDAREALCSCRIPTTBLTHIS	DOSCRIPTS	SCRIPTTBL
CREATEWZTABLE���C���Asynchronous-�l����C���	Batchmodea�l��#��C���ConnectTimeOut�-�l����C���DispWarnings-�l��!��C���QueryTimeOut�-�l��!��C���Transactions��l����C���WaitTime�d�l�� ��C���IdleTimeOut��l��UTHISMASTERCONNHAND�4�����������OT���CREATE TABLESPACE �� DATAFILE '��' SIZE CC�Z�� K��;T���ALTER USER ��	� QUOTA UNLIMITED ON ���%���
��N�1T��C�Creating tablespace '|1'�|1C�V�����C�������?��C��,Server processing.  This may take a while...����"��C��
�QueryTimeOut�X�l��T������%�C�����
����%�����'�~T��C�bThe Upsizing Wizard cannot continue because you do not have CREATE TABLESPACE permissions on '|1'.�|1C��V������qT��C�XThe Upsizing Wizard cannot continue because it was unable to create the tablespace '|1'.�|1C�V����!��C��0�Upsizing Wizard�x��
�����%�C�����
��)�%�������~T��C�bThe Upsizing Wizard cannot continue because you do not have CREATE TABLESPACE permissions on '|1'.�|1C��V������qT��C�XThe Upsizing Wizard cannot continue because it was unable to create the tablespace '|1'.�|1C�V����!��C��0�Upsizing Wizard�x��
�����!��C��
�QueryTimeOut��l���)��C��/* Create database */����)��C��/* Create database */����
�����ULCTSNAME	LCTSFNAME	LCTSFSIZELCSQLLCSQL1LCMSGLNERRLCERRMSGTHISUSERNAMEDOUPSIZE	INITTHERMUPDATETHERMMASTERCONNHANDMYERROREXECUTETEMPSPTDATASOURCENAMEDIESTORESQLTHERMREFCOMPLETEy4����RT���ALTER TABLESPACE �� ADD DATAFILE '��' SIZE CC�Z�� K��T��C�����ULCTSNAME	LCTSFNAME	LCTSFSIZELCSQLLLRETVALOENGINEEXECUTETEMPSPTM
4������F��%������8�
�����T��C�����
H�^�=
����Tables��A��create table &lcTablename FREE (TblName c (128) not null,  TblID i,  CursName c (128) not null,  TblPath m,  RmtTblName c (30) not null,  NewTblName c (128),  Upsizable l,  PreOpened l,  Export l,  Exported l,  DataErrs n(9),  DataErrMsg m,  ErrTable c (128),  FldsAnald l,  CdxAnald l,  ClustName c(30),  TableSQL m,  TStampAdd l,  IdentAdd l,  LocalRule m , RmtRule m,  RRuleName c (30),  RuleExport l,  RuleError m,  RuleErrNo n (5),  ItrigName c (30),  InsertRI m,  InsertX l,  DtrigName c (30),  DeleteRI m,  DeleteX l,  UtrigName c (30),  UpdateRI m,  UpdateX l,  RIError m,  RIErrNo n (5),  FKeyCrea l,  PKeyCrea l,  PkeyExpr m,  PKTagName c(10),  TblError m,  TblErrNo n (5),  RmtView c(128),  ViewErr m)
���Fields����3create table &lcTablename FREE (TblName c (128) not null,  FldName c (128) not null,  DataType c (1) not null,  ComboType c (20) not null,  Fulltype c (10) not null,  Length n (3) not null,  Precision n (3) not null,  NoCptrans l,  LclNull l,  RmtFldName c (30),  RmtType c (13),  RmtLength n (4),  RmtPrec n (3), RmtNull l,  LocalRule m,  RmtRule m,  RRuleName c (30),  RuleExport l,  RuleError m,  RuleErrNo n (5),  Default m,  RmtDefault m,  RDName c (30),  DefaExport l,  DefaBound l,  DefaError m,  DefaErrNo n (5),  InCluster l,  ClustOrder i,  TblID i)
���Indexes����create table &lcTablename FREE (TblID i,  IndexName c (128) not null,  TagName c (10),  LclExpr m,  LclIdxType c (12),  RmtTable c (30),  RmtName c (10),  RmtExpr m,  RmtType c (20),  Clustered l,  Exported l,  TblUpszd l,  DontCreate l,  IdxError m,  IdxErrNo n (5), IndexSQL m)
���Views�����create table &lcTablename FREE (ViewName c (128) not null, NewName c (128),  ViewSQL m,  RmtViewSQL m,  TblsUpszd m,  NotUpszd  m,  Connection c (128),  Remotized l,  ViewErr m, ViewErrNo n(5) NULL)
���Script����0CREATE TABLE &lcTablename FREE (ScriptSQL m)
���Errors��q�uCREATE TABLE &lcTablename FREE (ObjType c(30),  ObjName m,  ErrNumber n(5) NULL, ErrMsg m, WizErr m, FailedSQL m)
���Misc_uw���
�rCREATE TABLE &lcTablename NAME "Misc_uw" (SvType c (20),  DataSourceName m,  UserConnection c (128),  ViewConnection c (128),  DeviceDBName c (30),  DeviceDBPName c (12),  DeviceDBSize n (6),  DeviceDBNumber n (3),  DeviceLogName c (30),  DeviceLogPName c (12),  DeviceLogSize n (6),  DeviceLogNumber n (3),  ServerDBName c (30),  ServerDBSize n (6),  ServerLogSize n (6),  SourceDB m ,  ExportIndexes l,  ExportValidation l,  ExportRelations l,  ExportStructureOnly l,  ExportDefaults l,  ExportTimeStamp l,  ExportTableToView l,  ExportViewToRmt l,  ExportDRI l,  ExportSavePwd l,  DoUpsize l,  DoScripts l,  DoReport l)
���Relation��j�VCREATE TABLE &lcTablename FREE (DD_CHIEXPR M, DD_CHILD C(128), DD_RMTCHI C(128), DD_DELETE C(1), DD_INSERT C(1), DD_PARENT C(128), DD_RMTPAR C(128), DD_PAREXPR M, DD_UPDATE C(1), CLUSTNAME C(30), CLUSTTYPE C(8), CLUSTERSQL M, HASHKEYS N(12), RIError m,  RIErrNo n (5),  ClustErr M, ClustErrNo N (5), Export l, EXPORTED L, Duplicates N(3))
���Clusters��=
��CREATE TABLE &lcTablename FREE (ClustName C (30), ClustType C (5), HashKeys N (6), ClustSize N (6), ClusterSql M, ClustErr M, ClustErrNo N (5), Export l, Exported l, Duplicates N(3))
�	B����ULCPASSEDLCTABLENAMELCOLDDIRTHISNEWDIRCREATENEWDIRUNIQUETABLENAME�����%��������T����Upsize��
����� %�C�����D����}�
������T���a���
������
G(�C���T���C����U	ADIRARRAY	LCDIRNAMETHISNEWDIR
CREATEDNEWDIR�
H�
���������@�B�C������������������%����Back����B�C�������	�
�����B�C�������	����(�������
�Oracle	���%����Next���B�C�����������(�������
�Oracle	��`�B�C����������(�������
�Oracle	����B�C����������(�������
�Oracle	��
�%����Next���B�C�����������(�������
�Oracle	��m�%����Next��i�B�C�����������(�������
�Oracle	����%����Next����B�C������������UOWIZARDICURRENTSTEPFORM1
PAGEFRAME1PAGE1CHOOSESOURCEDB1REALLYCHANGESOURCEDB	DIRECTIONPAGE2CHOOSEDATASOURCE1MOVEBACKWARDMOVEFORWARDTHIS
SERVERTYPEPAGE3CHOOSETARGETDB1PAGE4DEVICE1VALUESOKPAGE5PAGE8CHOOSETABLESPACE1PAGE9CHOOSETABLESPACEFILE1PAGE10CREATECLUSTER1GONEXT������
T�����
T�����T������T������T������%�C����l�B��
F����~��	a����*lcFileName = &lcEnumTablesTbl..TblPath
%�C��
�������T���C���
���%�C�.������T��C�C�.���=���T����.fpt��%�C��
�����l�T���C���
����T����.cdx��%�C��
�������T���C���
���������T������T������ULCENUMTABLESTBL
LCFILENAMELCTABLESTEMLNTABLESIZELNINDEXSIZETHISTBFOXTABLESIZETBFOXINDEXSIZE
ENUMTABLESTBLEXPORTLADIR��������������T��C����'%�C������
CC����	��n�
T����������C����������T��C�������%�������T������������%������T������������%�����0�T������������%�����^�T������������%�������T������������%�������T���������	���U
AARRAY
LCELEMENT1
LCELEMENT2
LCELEMENT3
LCELEMENT4
LCELEMENT5LCELEMENT6FLNPARAMSLNROW
LCELEMENT6����U	ADIRARRAY	LCDIRNAME����U	ADIRARRAY	LCDIRNAMEt,��t,��L�UTRACEDEBUG
ProcessOutput,Error2Esc_proc�Destroy7AnalCleanUPK

DeviceCleanUp�CloseUserTablesDisposeTable	InitTherm^UpDateTherm�DealWithDevicesCCreateTargetDB�CreateTablespacesCreateTables�CreateTableSQLI&TableExistsC0AddTableToCluster�1DeleteClusterInfo\3GetDefaultClusters5
GetClusterKey�9AddTimeStamp;	DropTable�;CreateClusters�<CreateClusterIndexes�B
UniqueOraName�FDropCluster�JClusterExportedBKHashDefaultLOverWriteOK-MCreateClusterSQLOCreateClusterKey�QSendDatasSCountFields�Z	JimExport:[
DataExportErrMa
FastExport�dCreateSQLServerSprocNf
RowHeuristics.nExecuteSproc�pBitifyArrayEy
CreateIndexesY{MarkBitIndexesm�TableUpsized�AnalyzeIndexes��
BuildIndexSQL>�DeviceManiaՕ
GetDevicesG�GetDeviceNumbersZ�GetServerSpace6�CreateDevice��ExecuteTempSPT��Die'�SingleValueSPT�
AnalyzeTablesòAnalyzeClusters��
AnalyzeFieldsy�DefaultMappingc�GetEligibleTables��GetEligibleClusterTables��GetEligibleTableFields��GetInfoTableFields�VerifyClusterTablesFields!�VerifyClusterKeyFieldsw�GetDefaultMapping��DealWithTypeLongl�TwoLongs��	Upsizable�
RemoveCluster��ChangeClusterStatus��RemoveTableFromClust��InOneCluster��InIndex��InKeyQ�	DontIndex��DefaultsAndRules.�
MungeXbase�ConvertLanguageString�ConvertConstantString�HandleQuotes}ConvertDates�
ConvertToTrigger�TestTriggercConvertToSproc2ConvertToDefault�ConvertToConstraint(BindDefault_ZeroDefault1 BuildRICode�!SetCommonKeybMSetPKeyVNSetFKey�NBuildCommentsOKeyArrayP
BuildRestr�PBuildUpdateTest�QStoreRiCodewRCreateTriggers�S	GetRiInfo�iGetEligibleRels�qDispRelInfo�uParseRel6{RedirectApph|TrimDBCNameFromTables�
RemotizeViewsO�AddToErr�UniqueConnDefName��
CreateConnDef|�ParseConnectString��CreateRmtViews�UniqueTorVName3�BuildReport/�
Integerize@�
AddToRepArrayǼ
PutDataInMisc}�ReorderTable��
PurgeTable��PurgeTable2M�CreateScript�OracleScript��UniqueFileNamel�	JustStem2%�RemotizeName�UniqueTableName �UniqueCursorName,�CreateTypeArrays��	ValidName��
NameObject��	MaybeDrop��ExtractFieldNames@�
StoreError��StoreSQL^�SetConnProps�CreateTS!�CreateDataFile��
CreateWzTableu�CreateNewDir�ChangeOK��GetFoxDataSize�InsArrayRow�CreateNewDir�CreateNewDir�DebugnT���cs.dbc��
T�����T��-��T��a��
T�����
T�����
T�����
T�����
T�����
T�	����
T�
����
T�����
T�����
T�
����
T�����
T�����
T�����T��-��T��a��T��a��T��a��T��a��T��a��T��a��T��a��T��a��T��-��T��-��T��-��T��-��T��a��T��-��T� �-��T�!�-��T�"�-��
T�#����
T�$����
T�%����
T�&����
T�'����T�(�-��
T�)����
T�*����
T�+����
T�,����T�-�-��
T�.����
T�/����
T�0����T�1�-��T�2�-��T�3�-��T�4�-��T�5������
T�6����
T�7����
T�8����
T�9����
T�:����T�;�-��T�<�-��
T�=����
T�>����
T�?����T�@�a��T�A�-��T�B�-��
T�C����
T�D����
T�E����
T�F����T�G�-��T�H�-��T�I�-��T�J�-��
T�K����T�L�a��T�M�a��T�N�a��T�O�-��T�P�-��T�Q�a��T�R�a��T�S�-��T�T�a��T�U�-��T�V�-��
T�W����
T�X����
T�Y����
T�Z����
T�[����
T�\����
T�]����
T�^����
T�_����
T�`����
T�a����
T�b����T�c�a��T�d�-��T�e�a��T�f�a��T�g�a��T�h�a��T�i�a��T�j�a��T�k�a��T�l�a��T�m�a��T�n�a��T�o�a��T�p�a��
�q����
�r����
�s����
�t����
�u����
�v����
�w����
�x����
�y����
�z����
�{����
�|����
T�}����T�~�-��T��-��T���-��T���-��
T������
T������T���-��T���-��
T������T���-��T���a��T���a��T���-��
T������
T������T���-��T���-��T���-��
T������
T������
���
���
���
���
���
���
���
���
��	�
��
�
���
���
��
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
�� �
��!�
��"�
��#�
��$�
��%�
��&�
��'�
��(�
��)�
��*�
��+�
��,�
��-�
��.�
��/�
��0�
��1�
��2�
��3�
��4�
��5�
��6�
��7�
��8�
��9�
��:�
��;�
��<�
��=�
��>�
��?�
��@�
��A�
��B�
��C�
��D�
��E�
��F�
��G�
��H�
��I�
��J�
��K�
��L�
��M�
��N�
��O�
��P�
��Q�
��R�
��S�
��T�
��U�
��V�
��W�
��X�
��Y�
��Z�
��[�
��\�
��]�
��^�
��_�
��`�
��a�
��b�
��c�
��d�
��e�
��f�
��g�
��h�
��i�
��j�
��k�
��l�
��m�
��n�
��o�
��p�
��q�
��r�
��s�
��t�
��u�
��v�
��w�
��x�
��y�
��z�
��{�
��|�
��}�
��~�
���
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����U�DATABASENAMEDATABASEFILEDATABASEISOPENEDSHOWOPENDATABASECURSORALIAS
CURSORTYPEMASTERCONNHAND
CONNECTSTRINGDATASOURCENAME
SERVERTYPECURRENTSERVERTYPE	SERVERVERUSERCONNECTIONVIEWCONNECTIONUSERNAMEUSERIDMYERROR	FETCHMEMODEVICERECALCANALYZETABLESRECALCANALYZEFIELDSRECALCANALYZEINDEXESRECALCCHOOSETARGETDBRECALCTABLECBORECALCGETRIINFORECALCELIGIBLERELSRECALCTABLECHOSENDATASOURCECHOSEN	DSNCHANGENODATASOURCERIGHTNOWGETCONNDEFSRECALCDEVICELOGCHOSENDEVICEDBCHOSENSOURCEDBCHOSEN
GRIDFILLEDDEVICENUMBERSFREEDEVICEDBNAME
DEVICEDBPNAMEDEVICEDBSIZEDEVICEDBNUMBERDEVICEDBNEW
DEVICELOGNAMEDEVICELOGPNAME
DEVICELOGSIZEDEVICELOGNUMBERDEVICELOGNEW
MASTERPATHNEWDEVICECOUNTDEFAULTFREESPACEDEVICEDBINDEFADEVICELOGINDEFADBONDEFAULTCREATENEWDBSERVERFREESPACESERVERDBNAMESERVERDBSIZE
SERVERLOGSIZETBFOXTABLESIZETBFOXINDEXSIZETSNEWTABLETSTSNEWINDEXTS
TSTABLETSNAME
TSINDEXTSNAMETSDEFAULTTSNAMETSPERMTABLESPACESTSNEWTSDONETSFTABLEFILENAMETSFINDEXFILENAMETSFTABLEFILESIZETSFINDEXFILESIZETSFDONECLCLUSTERSDONECLTABLESDONE
CLKEYSDONESOURCEDB
EXPORTINDEXESEXPORTVALIDATIONEXPORTRELATIONS	EXPORTDRIEXPORTSTRUCTUREONLYEXPORTDEFAULTSEXPORTTIMESTAMPEXPORTTABLETOVIEWEXPORTVIEWTORMT
EXPORTSAVEPWD	OVERWRITE
ENUMFIELDSTBLMAPPINGTABLE
ENUMTABLESTBLENUMCLUSTERSTBLENUMINDEXESTBLDEVICETABLEDEVICETABLEALIASVIEWSTBLENUMRELSTBL	SCRIPTTBLERRTBLORANAMESDOUPSIZE	DOSCRIPTSDOREPORTPERM_DEVICE
PERM_TABLE
PERM_DATABASEPERM_DEFAULT
PERM_SPROC
PERM_INDEXPERM_TRIGGER
PERM_ALTTSPERM_CREATSPERM_CLUSTERPERM_UNLIMTSCNBLMYDTPGFI	USERINPUTZERODEFAULTCREATEDSCRIPTTBLCREATEDTHERMCREATEDPROCESSINGOUTPUTOLDROWOLDTYPENORMALSHUTDOWN
DATAERRORSNEWPROJNAMEPWDINDEF	REALCLICK
SAVEERRORSZDUSEDFILTCONDNEWDIR
CREATEDNEWDIR
KEEPNEWDIR	SQLSERVER
TIMESTAMPNAMEIDENTITYNAMECsEngine	WizEngine��1������A����A����A�A�����151���!�q�A�A��A"�A"�A"�A"�AAB�5Sa���AA4�4�����#C�A��AAA���Aw��5��#!QQQQQ�������B�!�1A�1A�qqqqq!Aqq��A6qTSQB�������������B5qAA�c�AAA5���AAs!Aq!Asq!Aq!Aq!AA5�AA��A�a5�A���AAA5���"�A!�A41�aA!A�AA!q�!�!��"A�AA��5��1�AAsAA��1�AA52�Q����a�QCqbaAAACQ!�Q"aAQ�CA���AAA������rAA�A5����������Aa��A�AAQ�Aa�Aa��A�AAA�Aa�Q������QA�1AA!AQA����A��A���1a��1AAAA�B��6q�����q�AA�6�1���q�!�BA�A�5q1���!�q��A�����A�5�q�������aAA1�S����aAA3QqAAS�AA3�a�A����q��AA�4����1���A��5qW4qq�a��AQ�5�&AA��������Qq���QAQ�CA��AAA��1���AA�A�5�k�A��r�!Q!3aA��qAA�Q5bA�A�5�1��AD���A���AD�AA�q�A�����R�A�QqA��5���5q������5qq����Q��5�qc���A���q1�5q�#qA����Q��2aAr1AQA�A�r5��1a����!�A�AA!AA2A��5s�AAA���ca�b1��&�	�4	A��Ab��A�����AA����B��5q���!��53��r��Q��1QS1qRA��q�cA��A�����A��AA�A��AA��A�AA��5q1��1����A1�1�S���qAA��A���Ba�qAa�91������T�5quAA����������b����A�qs�Qq�a��qADsB��������AAA�����A�AB��"a�A��A��AAA�S�5q1����!���������A�q�1a��11a�AA5ru��A��Q"��1Q��A�2ba�!q!AAbAAc������AA����A3A���AB��AA�AB���QB�AA��AsQ��5�q���a����1�aqAA�A��5��a����A�������Aw�q#r��Q1��!a�A��1A�A�A�A�5�����������AAAA����ArB�5���!��q�QA���5�$AAA�"AA����QAc����A�B�1�Q����A!��A�����A���Aa2��1�AA�A���Qq�����A�Q\��rA�B��A�����QA5�������QA��r��A�"�AAA�A4d�B�A�Rq5�SA�A��q�A�1!����a�A���1A�����!��AAQ�AV1���r5�����!qAC��A�!qA!����qAAA�q5�AA���"aqA��aqA����Q��AAA��5�t�BrAA�!��!A�#C��1!A�#�#��!�Q"s���Q�AAAA��ABs�51q�a��aA����q#�A�"rA���A��A��""	#qr"t�rA#2B�5���51����1����AA���AA��53����AA2��Q�����A�A��A��5q��1�AAc��!�AA����QR�B�4�	�sAA���!A�c���!�A���Q���q�AQ�AAAAA��Qr�A��AA�Q��A��5q2�!2��v�����A�AD"����A!A�A�2#A�SW�����AAA����AAAA�5q����Q�����AqA1AA�A5�1�1�����AR�����AqAQAA�A5�1�1�������AR�����AqAQAA�A4�12��������AR�����q�A�������qAAA�A7qqcqA�s�A���q��C�AAA�AAA"5qqeqA�s�A���qA�CA�qAAAr4q��q���qAq����!AAD�6�����
A��A�7�����1A��A��A��6q���QAAAA���qAA��qA����!��qA��a����!�A�qA��A��A������qAAB�6q1������q�71����A������!!���aqAaAAE�A���qA�8q4������Q�7qq�����r��qA�A6�1�����Q�AAA��5��������Q�AAAA��5������CAA�5 ����A�a�AA��A��A��A�����QQ�������������1�au�����AA%�����A�aAAg��BBB�B�1!��au���!AA%���aA�aAABg��BBBBG�A"�R��A�������A"AA��4���A��AAs���AB���AA�A�51v�1ar����A�qA�3111�����aQaARA!���aaA1AAB�q�41��q2����AAqA!#1T��AASS�4q���bA�4��	��rAA��4q���ca�AA�Ab11a1b�a���q�����AqARA�5q�R3s���AAq���bA�a����ABc��7qqA���A��q�rqA6���Q�a1q��AAS��Ac3�AARq����q�����5qqD�AAA�A�51qC��AA�4���R�5qq�����qQ��qAA5;���������AA������!!��qQ���d���As11QQ��AAsr�AA�����1!��AQ������A�����AA�R����A�������B�2!Q��!�dA�As���AA���BBB��!�a�
AQ�Q�AAc�!�a���a
Aa���AB��!��AA��!��a���
�!��AA�Ac���!��AA!�!A���a
!���AB#�q"����a�A�B#q�!���!!���BA4��������Ac�s2Q���A�Q�AAB��51q���A4�q�4�q14�q�q1�5�$1Q�A5qq���A�A�5q���QAaA�5qq��!�qA�5����#!��rAA�����!Q����A��ACQB!��Q���AB�A��QAq�����AA$
AB����Qg��Acaa#��eQ�AB���������AAA�����AAA�Q��AAABB��5�qAA��A"��BAqAa��!�A����1�1�1�AA������������RQ6�rBCqAa��6���!!����A����Aa��rQQ�1����A�AAAaA�7�q�!�����AA��31�!!A"!!!B1�Q1�1A!�!AA�71�811a��A3aa61�!R�1���A��A��A�������A��QA4q�Qqq1���1�AA�3�rAA�Q�AA����
��AA����Q�AA��qD�q��qA�2��!�1�����AAA�2"!A�rBA�AA�E���1AA������!A��Q1AAS��A��A�aa��b!��r����!�'��1���������QA��QAA�AAA���A�Q�!1A��q2AAA�QBB��A�5����A5�3��Aa��Aa�5qA&��!�A"�A�s������������s!�A�����������D5����!�q�A����A�5q8A�Q��2�AA2�A���AB���1AA����QA���r����AaA��Q��aQAA����qQAAA�rBc��B��5q1�Qa���Aa����AAa�52�����A����AAsAA�4������R!AQ!A�a�AA�����AaAQ�A�B���A�AAB��A���A����AAF1!��1�11����A�A�A��A������A��AAA�QdBBA�R��5r���1��1��AB4�q���1q�A5q�qDB5��AA�����215��a�AA5q����A�AA52AA����A����A����AA��A��QA�AA����QA����AA���A��AQAQA!aA�Q�A�AA�q�!QAaA�B��A�A�BB�5�1�A�AQAQAaA���A�A���A�A�5�����AA�5��QA�QA�QA�5q1Da�����qA!q�!A���!��!A�!�xQ��AABb��5q1��Q���AQ�AAA�5q������A�AAA�5s�"q����!AA��rA5qqRQ��qAq51����U�bqqcqcqBA��5�1�����Q��qA51���!h
A����q�A�1AABB�5���B�A��Ab	�5��AA��b��!A�QA�A�5��1��5�q��q�!�!��A�A�!��A�AA���5�!Q4q��A�AQ�q��,0q�1#��e�rrW��!'�@a��B�5�Ca���A���A5�A�B����A���A�������A���A���AA3����AA����r�AS��AS��A�BA4��r���1A�A�A�A�A�A�A4�4�4��A34��������������������������������������������������������������������������������������������������������������������������������������������������0�������������P��0�����0�0�P������P�0������@�����@��� �p��@���������P	�@�����p��	���P���������`�������p�����@� ���p����0����������������������@� ������0���P�0���`�0������ ���0���P��� ����� ���� �P���0�������@����P���p��0��@� �����0�p���P�@���`��� �������6���!��D��AM�e%Oj�%�-��.�4���4�6��6�9!��9g;A��;�<W��<�>i	?D}'6D]G�9�G�R�r�R{a��a�c���c:g��Kg�j�ks�5=s�t,Cu�vBI�vxVSDx6�e�h�lj�������ґϒ2���]�<���a�M�����l�™��.�ѡ�%����W�˭'_���5�¹���H�,���^���" ����E������ ���S����x�)�s��(	Vi	w���	����	��w(�	��(n-D
��-�1q
�1>�
GB>�G�
|�GHN�@H�KX��KIPy�uPDU��sU�b��b�sIO�sau�e�u�x���x�{
��{�&
��h�T
���9�|
�g���
]����
��?��
-n�9�nx���e|��P�����ĩ���ݬ���M���s����M�7�|��P�	7���}�	����	2�E��	m�3�
Z���-2
1��fT
��g
3���
���
���
.2�
X�B�
�tfY��f�g��gFh(�khi0�8i<j8�dj�kE��k�mS��m�nf	�n�pv�p����\�����|��	
��}�22
����u@
Ǹ���`
ȿ���p
���*;���
1
�\�>����,q�K��y��������)@m*:-	~c-�.'��.�48��4	7}�27�7��&8�9��:AJ�lJ�OH<'P1Q�FYQ1S�RZSTZ�z�Z�[��(\_]���]�`��`�a)��a�f9��f)i]�Yi�ou��o�q���q�t�u�w��w�;_E�0?m�X�7b����(o"���;����l� ����������%�C���c��������c:\temp\csengine.fxpc:\xsample\csengine.prg)'T	ACHOICESa
REMALL.BMPx
GETDEMSaASELECTIONSa
ADDALL.BMPxETABLESfATABLECOUNTaCREATETfINIT2fSETUPfAENVIRONMENLESTOCLOSE4������T����
�����
���
�sample.pjx
SAMPLE.PJXx
table.msk	TABLE.BMPx
table.bmp	LVIEW.BMPx�DL�
lview.bmpZSERVERSTARTf
SERVERSTOPfSERVERISSTARTEDfSERVERVALIDATEROWfDESTROYfINITfSETUPfAENVIRONMENTaCLEANUPfERRORfALERTfHELPfGETOSfJUSTPATHfFORCEEXTf	JUSTFNAMEfADDBSfJUSTSTEMfJUSTEXTfGETDBCALIASfADBCTMPaTABLEEXISTSfSINGLEVALUESPTf	DROPTABLEfEXECUTETEMPSPTf	AERRARRAYaCSPROCSPCSPROCS);���")�(,�% �#='�$li� �U�&T���C�Bizrules.Salaryrule�N��%�C��
����!C�/N BIZRULES.EXE /RegServer�&T���C�Bizrules.Salaryrule�N��%�C��
����T������B�-����UTHISOSERVERSERVERISSTARTEDT������UTHISOSERVER-*B�C�this.oServerb�O�
C���
	��UTHISOSERVER�4�����5������
T�����
T�����
T���	��
T���
��
T�����2T��C�
��
��
��
��
���
���%�C�
��
����6��C�
��0�Business Rule Violation Error����B�-���B�a��ULLRETURNLCERRORCTITLENSALARYDBIRTHDHIRECCOUNTRYTITLESALARY
BIRTH_DATE	HIRE_DATECOUNTRYTHISOSERVERVALIDATEALERT

����UTHISCLEANUP
��C����UTHISSETUP�K����������"T���������C�TALKv��G2�%T���������C�escape���$T���������C�escapev����(T���������C�
compatiblev��GAM�T���������CW��'T���������C�	exclusivev��(T���������C�message�v��$T����	�����C�safetyv��G.�"T����
�����C�pathv��$T���������C�fieldsv��G�'T����
�����C�fields�v��G��$T���������C�error���#T���������C�pointv��%T���������C�deletedv��&T���������C�databasev��#T���������C�exactv��G �"T���������C�echov��G�'T���������C�	memowidthv��&T���������C�udfparmsv��G^�"T���������C�nearv��GF�$T���������C�uniquev��G6�"T���������C�ansiv��Gd�#T���������C�carryv��G�&T���������C�cpdialogv��G{�(T���������C�
status barv��!T���������C�]C���(%�C�m.cCSDirb�C�	C�
��
	��i�T��C�
�����G(��
����"T���������C�datev��12�f1�oEngine.Help�1�
oEngine.Error�UTHISAENVIRONMENTCCSDIRJUSTPATHF1!#���C������C��������C�����
��{2�f1��{��%set compatible &aEnvironment[4,1]
F�C�����$set exclusive &aEnvironment[7,1]
'set message to [&aEnvironment[8,1]]
!set safety &aEnvironment[9,1]
%�CC�
���
��*�$set path to &aEnvironment[10, 1]
�;�	G)(���"set fields &aEnvironment[12,1]
"set fields &aEnvironment[13,1]
 on error &aEnvironment[14,1]
&set point to "&aEnvironment[15,1]"
#set deleted &aEnvironment[16,1]
%�CC�������G(��7�'set database to &aEnvironment[18,1]
�!set exact &aEnvironment[19,1]
 set echo &aEnvironment[20,1]
G$(�C�����'set udfparms to &aEnvironment[22,1]
 set near &aEnvironment[23,1]
"set unique &aEnvironment[24,1]
 set ansi &aEnvironment[25,1]
!set carry &aEnvironment[26,1]
$set cpdialog &aEnvironment[27,1]
&set status bar &aEnvironment[28,1]
G(�C�����#set date to &aEnvironment[30,1]
!set escape &aEnvironment[3,1]
 on escape &aEnvironment[2,1]
set talk &aEnvironment[1,1]
��UAENVIRONMENTTHISF1�4���������T���a��T����
���#T���CC�
���CE��
�6��"T�
��CC�
���CE��
�6��<%�C�	m.oObjectb�O�	C�
��
	�C�.�
��	����T�
���
��	�.�
����%���
����B��%�-��~�
H��z���
��RETRY��O�T���-����G1 �&cAction
��
��IGNORE��z�T���-��B�����T�
��CCE�0�����UNERRORCMETHODNLINEOOBJECTCMESSAGECACTIONTHISHADERRORIERRORNAMESETERROROFFALERT!!4�
��
��
��
��
��5�
��
��#T�
��CC�
������
�6��%�C�����m.cMessage = [&cMessage]
���%�C�
��
����T�
��C�
��
��
��x�����3T�
��C�
��
��Microsoft Visual FoxPro�x���
H�����
����(�T�
���OK����
����M�T�
���YES����
����q�T�
���NO����
������T�
���CANCEL����
������T�
���ABORT����
������T�
���RETRY����
�����T�
���IGNORE���B��
���UCMESSAGECOPTIONSCTITLECPARAMETER1CPARAMETER2	CRESPONSE�
H�
���d�C�_screen.ActiveFormb�O�+C� _screen.ActiveForm.HelpContextIDb�N	�
�9���	����$I��9�������������$I������2���$���U
ACTIVEFORM
HELPCONTEXTIDTHISIHELPCONTEXTID�
H�
�����2��)�T��������4��E�T��������3��a�T������!�C�	Windows 3C�J������T������"�C�
Windows NTC�J������T������2���T�������UTHIS
NCURRENTOS	��
�����T��C�3��:��\6��T�
��C��CC�
�f�]��%��
��
�����"T�
��C�
��C�
��
��\��G%�C�
��R�
��C�
�>�	�C�
�C�
�>��\�:	����T��C�
��C�
�>�\���B��
�����	B�����UFILNAMECDIRSEP��
��
��	��
��%�C�
���\�.��M�T�
��C�
���\���T�
��C�
�����T�
��CCC�
��f����%�C�.�
������0T�
��C�
��C�.�
��\�.�
������T�
���
��.�
����B�C�
����
���UFILNAMEEXTPNAMETHISJUSTPATH	JUSTFNAMEADDBS�	��
������T��C���
�]��T��C�3��:��\6��%�C�
��
�������&T�
��C�
�C�
��
�����\���%�C�:�
������%T�
��C�
�C�:�
����\���B�CC�
�f���UFILNAMECLOCALFNAMECDIRSEP�	��
��	��
��T�
��C�3��:��\6��T�
��CC�
�f���(%�C�
��R�\:
�	C�
��
	����T�
���
��
����B��
���UPATHNAME	SEPARATOR�	��
��%�C�\�
�����G�%T�
��C�
�C�\�
�����\���%�C�:�
�������%T�
��C�
�C�:�
�����\���%�C�.�
������%T�
��C�
��C�.�
��\���B�CC�
�f���UFILNAME�	4�
��	��
��T�
��C�
�����T�
�����%�C�.�
����x�%T�
��C�
�C�.�
���\���
B�C�
�f��UFILNAMEEXTTHIS	JUSTFNAME���������%�C�m.cDBCb�C��?�T�
������%�C�
���CCꖡ	��f�	B�����%T�
��CC�
���C��C�
�f6������������C�����T�
��C���
����'B�C�
�����
C�
���6��UCDBCADBCTMPCGETDBCNPOS�4������T���x��T��C�' ��TT���;select uid from sysobjects where uid = user_id() and name =�����T���uid��B�C�����ULCTABLENAMEDUMMYLCSQUOTELCSQLLCFIELDTHISEXECUTETEMPSPT:4������������	�T��CW��T��C�_spt�
���F��!%�C��	���
�����%�C�N�����T��-�����)lcReturnValue=&lcCursor..&lcFieldName
T��a���Q�� �T��C�
�|1CC�	ZA�����C����x��
��
��B��
F����	B����ULCSQL
LCRETURNVALUELCFIELDNAMELLRETURNEDONEVALUELCMSGLCERRMSGLLRETVALLCCURSOR	LNOLDAREA
LNSERVERERRORTHISUNIQUECURSORNAMEEXECUTETEMPSPTQUERY_FAILURE_LOCICON_EXCLAMATIONTITLE_TEXT_LOCDIE[4�����,T���drop table C��V�.C�V��T��C�����	B����ULCTABLELCSQLTHISUSERNAMELNRETVALEXECUTETEMPSPTl4���������T��C����i��
H�A�e������s�
T�����
T�����B�a�������������C���z��T��C����T��C���� %�����CC���
	����T��C������������e�WT��C�<Upsizing cannot continue because a connection error occurred�|1CC�	ZA�����C��
��x���ULCSQL
LNSERVERERRORLCERRMSGLCCURSORNRETVALLCMSGTHISMASTERCONNHAND	AERRARRAYLNSERVERERRICON_EXCLAMATIONTITLE_TEXT_LOCServerStart,
ServerStopServerIsStarted%ServerValidateRoweDestroy�Init
Setup+CleanupErrorWAlertfHelp�GetOS�JustPath�ForceExt�	JustFname(AddBS(JustStem�justext�GetDbcAliastTableExists�SingleValueSPTw	DropTable�ExecuteTempSPT&
T��-��
T�����
T�����
T�����
T�����T��-��T��-��T�������
T�����
T�	����
T�
����T�����T���cs.dbc��
T�
����T��-��T��a��
T�����
T�����T��a��
T�����
T�����
T�����
�����
���
���
���
���
���
���
���
���
��	�
��
�
���
���
��
�
���
���
���
���
���
���
���
���
���
���USTARTIHELPCONTEXTIDCDBCNAME	CDBCALIAS	CDBCTABLESETERROROFFHADERRORIERRORCMESSAGETHERMREF
NCURRENTOSOSERVERDATABASENAMEDATABASEFILEDATABASEISOPENEDSHOWOPENDATABASECURSORALIAS
CURSORTYPEROWCONFLICT
CONFLICTALIASCURRENTPAGEONLINESTATUSAENVIRONMENTCSEnginecustom� 01a!a!�qAA3�3�3qqq�����"!aqAq3�3�3Qa!aQAa�q�q�Aa!AaqaA1Qa1a!aqaa!aAa!a1aaa��q�A!�Q32A��QAqqA��A!!a1aa�qA1q!Aa11�Q3qq�!1!��AAA����Qa���AA��C3�1�AQ!��1A�21!11Q1A1A1QA�3�C1A�qA3����!�A3�q��Q!r�A���A3����A�����A�3��Q��aA�QA�3���Q�qA�3��QA�QA�QA�3�����QA�3s���A��AQ1��q3q���A31����1����AA��!�AA��3qq�Q�31�b���q#�A$r!B5������������2�������������� ���@������������������1
54ZqA��E	�
I�
�
\!�
`#"�dU���~[��|���	;�[� �� �"%��"�$7��$�&H��&�'W(�)c�)�*r+�,~#�,,.�+V.�1�A�1M2�Gv2l5�[�x5c:\temp\csprocs.fxpd:\xsample\csprocs.prg)�(	������*&7%�h,gi� ��5����7���T��C�classlibv��T��C�	procedurev��T��CC�]���G~(�sample�G+(�csprocs�T��C�csengine�N��&%�C�oEngineb�O�C�
������
��C���B��T��C�OpenDBC�N��)%�C�
oStartFormb�O�C�
�����
��C���B��
���	�%���
����T��C�	sampleapp�N��%%�C�oCSAppb�O�C�
������
��C���B��
���	��
��C���B�U	CCLASSLIB	CSAVEPROCCCSDIROENGINEOCSAPPSAMPLECSPROCSRESETENV
OSTARTFORMSHOWSTART�<��<��%�C�
����%�G~(��K�SET CLASSLIB TO &cClassLib
���%�C�
����k�G+(���� SET PROCEDURE TO &cSaveProc 
�{��UOCSAPPOENGINE	CCLASSLIB	CSAVEPROCresetenv1����q��a�AAs��AA��Q�AA�A�A3qqa��ARa�A�2UV(c:\temp\csmain.fxpd:\xsample\csmain.prg)�	P
REFRESHSTATUSfLOADfINITfCLICKfERRORfNEXTfAUSERVALUESaATMPEMPa	AEMPLOYEEa	GETSTATUSfOFFLINEfQUERYUNLOADfDESTROYfACTIVATEf	AERRARRAYaPAGE1fPAGE2fAERRORSa	TABLE.BMPx	TABLE.MSKx	LVIEW.BMPx	LVIEW.MSKx	RVIEW.BMPx	RVIEW.MSKxAFTERROWCOLCHANGEfINTERACTIVECHANGEfSAMPLEVECHANGEfSAMPLEVcsdefs.h��y� csdefs.