Compile Lockup with 257 dcdialog.ch IF clause changes

This forum is for eXpress++ general support.
Message
Author
Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Compile Lockup with 257 dcdialog.ch IF clause changes

#1 Post by Cliff Wiernik »

In the new 257 dcdialog.ch, at the end of the file are the following 2 new clauses:

Code: Select all

#xtranslate IIF <exp>  <IFclauses,...>  ELSE <ELSEclauses,...> ENDIF => ;
           IIF( <exp>,(<IFclauses>),(<ELSEclauses>) )

#xtranslate IIF <exp>  <IFclauses,...> ENDIF  => IIF( <exp>,(<IFclauses>), nil )
If I comment out these 2 lines, the following code compiles, however if I use the shipping 257 dcdialog.ch, the compiler xpp, locks up in the middle of compiling the array definition.

Code: Select all


#include "dcdialog.ch"
#include "dcbitmap.ch"
#include "appevent.ch"
#include "xbp.ch"
#include "common.ch"
#include "axcdxcmx.ch"
#include "fca.ch"
#include "dll.ch"                                       // PC CAW 08-19-05
#Include "xb2net.ch"                                    // PC CAW 02-15-07

#pragma Library("DCXML.LIB")                            // xml
#pragma library("ASINET10.LIB")                         // e-mail
#pragma library ("xb2net.lib")

#define FCA_PRG_VERSION  '6.20110803'
                                                        // aApp definitions of locals used in program
                                                        // Array positions 1 through 49 must not be altered
#define d_lEditmode      aApp[1]        // Array location reserved
#define d_lAddmode       aApp[2]        // Array location reserved
#define d_nTabpage       aApp[3]        // Array location reserved
#define d_bScatter       aApp[4]        // Array location reserved
#define d_bGather        aApp[5]        // Array location reserved
#define d_bNextpage      aApp[6]        // Array location reserved
#define d_bPrevpage      aApp[7]        // Array location reserved
#define d_cTitle         aApp[8]        // Array location reserved
#define d_lDisablesave   aApp[9]        // Array location reserved      flag to disable save button                        

#define d_oDialog        aApp[10]       // Array location reserved

#define d_cInfile        aApp[11,1]     // Array location reserved
#define d_cInappnum      aApp[11,2]     // Array location reserved
#define d_cCcrbureau     aApp[11,3]     // Array location reserved
#define d_cCrfname       aApp[11,4]     // Array location reserved 
#define d_cCrminit       aApp[11,5]     // Array location reserved 
#define d_cCrlname       aApp[11,6]     // Array location reserved 
#define d_cCrsname       aApp[11,7]     // Array location reserved 
#define d_cCrssn1        aApp[11,8]     // Array location reserved 
#define d_cCrcity        aApp[11,9]     // Array location reserved 
#define d_cCrstate       aApp[11,10]    // Array location reserved 
#define d_cCrzip         aApp[11,11]    // Array location reserved 
#define d_cCrdealnum     aApp[11,12]    // Array location reserved
#define d_nCramtreq      aApp[11,13]    // Array location reserved
#define d_cCrhphone      aApp[11,14]    // Array location reserved
#define d_cCradd1        aApp[11,15]    // Array location reserved
#define d_cCradd2        aApp[11,16]    // Array location reserved
#define d_cCrstcode      aApp[11,17]    // Array location reserved
#define d_dCrdob1        aApp[11,18]    // Array location reserved
#define d_nCrmtgamt      aApp[11,19]    // Array location reserved
#define d_nCrrescur      aApp[11,20]    // Array location reserved
#define d_nCrrespri      aApp[11,21]    // Array location reserved
#define d_cCrenameh      aApp[11,22]    // Array location reserved
#define d_nCrjobcur      aApp[11,23]    // Array location reserved
#define d_nCrjobpri      aApp[11,24]    // Array location reserved
#define d_cCrephoneh     aApp[11,25]    // Array location reserved
#define d_cCreexth       aApp[11,26]    // Array location reserved
#define d_cCrseh         aApp[11,27]    // Array location reserved
#define d_nCrmthinch     aApp[11,28]    // Array location reserved
#define d_nCrothinch     aApp[11,29]    // Array location reserved
#define d_cCrssn2        aApp[11,30]    // Array location reserved
#define d_cCrcafname     aApp[11,31]    // Array location reserved
#define d_cCrcaminit     aApp[11,32]    // Array location reserved
#define d_cCrcalname     aApp[11,33]    // Array location reserved
#define d_cCrcasname     aApp[11,34]    // Array location reserved
#define d_dCrdob2        aApp[11,35]    // Array location reserved
#define d_cCrenamew      aApp[11,36]    // Array location reserved
#define d_nCrajobcur     aApp[11,37]    // Array location reserved
#define d_nCrajobpri     aApp[11,38]    // Array location reserved
#define d_cCrephonew     aApp[11,39]    // Array location reserved
#define d_cCreextw       aApp[11,40]    // Array location reserved
#define d_cCrsew         aApp[11,41]    // Array location reserved
#define d_nCrmthincw     aApp[11,42]    // Array location reserved
#define d_nCrothincw     aApp[11,43]    // Array location reserved

#define d_cCrcrtype      aApp[11,44]    // Array location reserved
#define d_cAreacode      aApp[11,45]    // Array location reserved

#define d_cEcfname       aApp[11,46]    // Array location reserved              // Credit Report Parsing data
#define d_cEcminit       aApp[11,47]    // Array location reserved
#define d_cEclname       aApp[11,48]    // Array location reserved
#define d_cEcsname       aApp[11,49]    // Array location reserved
#define d_cEccafname     aApp[11,50]    // Array location reserved
#define d_cEccaminit     aApp[11,51]    // Array location reserved
#define d_cEccalname     aApp[11,52]    // Array location reserved
#define d_cEccasname     aApp[11,53]    // Array location reserved
#define d_cEcssn1        aApp[11,54]    // Array location reserved
#define d_cEcssn2        aApp[11,55]    // Array location reserved
#define d_dEcappbdate    aApp[11,56]    // Array location reserved
#define d_dEccapbdate    aApp[11,57]    // Array location reserved
#define d_cEctelephon    aApp[11,58]    // Array location reserved
#define d_cEcadd1        aApp[11,59]    // Array location reserved
#define d_cEccscore      aApp[11,60]    // Array location reserved
#define d_cEcemp1        aApp[11,61]    // Array location reserved
#define d_cEcemp2        aApp[11,62]    // Array location reserved

#define d_nUsecdebt      aApp[11,63]    // Array location reserved
#define d_nTpay          aApp[11,64]    // Array location reserved
#define d_cEccscore2     aApp[11,65]    // Array location reserved
#define d_nSellprice     aApp[11,66]    // Array location reserved
#define d_nDownpay       aApp[11,67]    // Array location reserved
#define d_lCreditquery   aApp[11,68]    // Array location reserved
#define d_cCallinby      aApp[11,69]    // Array location reserved              // PC JAC 04-26-04
#define d_nNum_pymt      aApp[11,70]    // Array location reserved              // PC JAC 04-26-04
#define d_cFile          aApp[11,71]    // Array location reserved              // PC JAC 05-10-04
#define d_cPaymeth       aApp[11,72]    // Array location reserved              // PC JAC 10-05-04
#define d_cRestype       aApp[11,73]    // Array location reserved              // PC JAC 10-05-04
#define d_dLicnum1       aApp[11,74]    // Array location reserved              // PC CAW 01-04-05
#define d_dLicnum2       aApp[11,75]    // Array location reserved              // PC CAW 01-04-05
#define d_cPendcb        aApp[11,76]    // Array location reserved              // PC CAW 05-18-05
#define d_cLspanish      aApp[11,77]    // Array location reserved              // PC CAW 08-30-05
#define d_cLiscanada     aApp[11,78]    // Array location reserved              // PC CAW 08-30-05
#define d_cRelation      aApp[11,79]    // Array location reserved              // PC FIS 03-02-06
#define d_cFixedinc      aApp[11,80]    // Array location reserved              // PC FIS 03-02-06
#define d_cFixedincc     aApp[11,81]    // Array location reserved              // PC FIS 03-02-06
#define d_cEquiptype     aApp[11,82]    // Array location reserved              // PC FIS 03-02-06
#define d_lAf1           aApp[11,83]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf2           aApp[11,84]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf3           aApp[11,85]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf4           aApp[11,86]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf5           aApp[11,87]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf6           aApp[11,88]    // Array location reserved              // PC FIS 04-24-06
#define d_cMailname      aApp[11,89]    // Array location reserved              // PC FIS 04-26-06
#define d_lHascoapp      aApp[11,90]    // Array location reserved              // PC CAW 08-29-06
#define d_cA1sothinc     aApp[11,91]    // Array location reserved              // PC FIS 02-12-07
#define d_cA2sothinc     aApp[11,92]    // Array location reserved              // PC FIS 02-12-07
#define d_cA1occupat     aApp[11,93]    // Array location reserved              // PC FIS 02-12-07
#define d_cA2occupat     aApp[11,94]    // Array location reserved              // PC FIS 02-12-07
#define d_cA1cell        aApp[11,95]    // Array location reserved              // PC FIS 05-31-07
#define d_cA2cell        aApp[11,96]    // Array location reserved              // PC FIS 05-31-07
#define d_nTradeval      aApp[11,97]    // Array location reserved              // PC FIS 06-22-07
#define d_cDlrovinit     aApp[11,98]    // Array location reserved              // PC FIS 07-30-07
#define d_nDependents    aApp[11,99]    // Array location reserved              // PC FIS 09-21-07
#define d_cApp1infile    aApp[11,100]   // Array location reserved              // PC FIS 12-12-07
#define d_cApp2infile    aApp[11,101]   // Array location reserved              // PC FIS 12-12-07
#define d_nTrades        aApp[11,102]   // Array location reserved              // PC FIS 01-29-08
#define d_cFrsttrade     aApp[11,103]   // Array location reserved              // PC FIS 01-29-08
#define d_lFirstcredrep  aApp[11,104]   // Array location reserved              // PC FIS 01-29-08
#define d_lJointcred     aApp[11,105]   // Array location reserved              // PC CAW 04-29-08
#define d_lAf7           aApp[11,106]   // Array location reserved              // PC BDJ 04-30-08
#define d_lAf8           aApp[11,107]   // Array location reserved              // PC BDJ 04-30-08
#define d_lAf9           aApp[11,108]   // Array location reserved              // PC BDJ 04-30-08
#define d_lAf10          aApp[11,109]   // Array location reserved              // PC BDJ 04-30-08
#define d_cTucustom      aApp[11,110]   // Array location reserved              // PC CAW 06-16-08
#define d_nSpouseinc     aApp[11,111]   // Array location reserved              // PC CAW 06-16-08
#define d_lCcflag        aApp[11,112]   // Array location reserved              // PC FIS 07-02-08
#define d_cAadd_1        aApp[11,113]   // Array location reserved              // PC FIS 10-08-08      // PC CAW 10-08-08 start 
#define d_cAadd_2        aApp[11,114]   // Array location reserved              // PC FIS 10-08-08
#define d_cAcity         aApp[11,115]   // Array location reserved              // PC FIS 10-08-08
#define d_cAstate        aApp[11,116]   // Array location reserved              // PC FIS 10-08-08
#define d_cAzip          aApp[11,117]   // Array location reserved              // PC FIS 10-08-08
#define d_cAh_phone      aApp[11,118]   // Array location reserved              // PC FIS 10-08-08
#define d_dEdbankrupt    aApp[11,119]   // Array location reserved              // PC FIS 10-08-08
#define d_nRetiressi     aApp[11,120]   // Array location reserved              // PC FIS 10-08-08
#define d_nRental        aApp[11,121]   // Array location reserved              // PC FIS 10-08-08
#define d_nInvest        aApp[11,122]   // Array location reserved              // PC FIS 10-08-08
#define d_nOincome       aApp[11,123]   // Array location reserved              // PC FIS 10-08-08
#define d_nOincdesc      aApp[11,124]   // Array location reserved              // PC FIS 10-08-08
#define d_nMortdebt      aApp[11,125]   // Array location reserved              // PC FIS 10-28-08
#define d_lBkrupt12m     aApp[11,126]   // Array location reserved              // PC FIS 11-05-08
#define d_lOpencheck     aApp[11,127]   // Array location reserved              // PC FIS 11-05-08
#define d_lHasccard      aApp[11,128]   // Array location reserved              // PC FIS 11-05-08
#define d_lHasauto       aApp[11,129]   // Array location reserved              // PC FIS 11-05-08
#define d_lHascrdref     aApp[11,130]   // Array location reserved              // PC FIS 11-05-08      // PC CAW 10-08-08 end  
#define d_lSubprdecl     aApp[11,131]   // Array location reserved              // PC FIS 01-08-09
#define d_cSubprcond     aApp[11,132]   // Array location reserved              // PC FIS 01-08-09
#define d_lRedflaged     aApp[11,133]   // Array location reserved              // PC BDJ 04-22-09
#define d_cInvoice       aApp[11,134]   // Array location reserved              // PC CAW 02-09-11
#define d_nRevpayfct     aApp[11,135]   // Array location reserved              // PC CAW 03-29-11
#define d_cPaygrade      aApp[11,136]   // Array location reserved              // PC BDJ 05-15-11
#define d_cNconame       aApp[11,137]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOicname       aApp[11,138]   // Array location reserved              // PC BDJ 05-15-11
#define d_cComoffic      aApp[11,139]   // Array location reserved              // PC BDJ 05-15-11
#define d_dEtsdate       aApp[11,140]   // Array location reserved              // PC BDJ 05-15-11
#define d_cMilbase       aApp[11,141]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCowrkref      aApp[11,142]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCowkphon      aApp[11,143]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo1      aApp[11,144]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo2      aApp[11,145]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo3      aApp[11,146]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo4      aApp[11,147]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext1      aApp[11,148]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext2      aApp[11,149]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext3      aApp[11,150]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext4      aApp[11,151]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCpaygrade     aApp[11,152]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCnconame      aApp[11,153]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoicname      aApp[11,154]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCcomoffic     aApp[11,155]   // Array location reserved              // PC BDJ 05-15-11
#define d_dCetsdate      aApp[11,156]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCmilbase      aApp[11,157]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCcowrkref     aApp[11,158]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCcowkphon     aApp[11,159]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo1     aApp[11,160]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo2     aApp[11,161]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo3     aApp[11,162]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo4     aApp[11,163]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext1     aApp[11,164]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext2     aApp[11,165]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext3     aApp[11,166]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext4     aApp[11,167]   // Array location reserved              // PC BDJ 05-15-11
#define d_sCredtable     aApp[11,168]   // Array location reserved              // PC BDJ 06-02-11
#define d_cEarnclass     aApp[11,169]   // Array location reserved              // PC BDJ 06-02-11
#define d_cScrdclass     aApp[11,170]   // Array location reserved              // PC BDJ 06-02-11
#define d_cSpecscore     aApp[11,171]   // Array location reserved              // PC BDJ 06-02-11
#define d_cAcctcoll      aApp[11,172]   // Array location reserved              // PC FIS 03-16-12
#define d_dAdliciss      aApp[11,173]   // Array location reserved              // PC FIS 04-02-12
#define d_dCadliciss     aApp[11,174]   // Array location reserved              // PC FIS 04-02-12
#define d_dAdlicexp      aApp[11,175]   // Array location reserved              // PC FIS 04-02-12
#define d_dCadlicexp     aApp[11,176]   // Array location reserved              // PC FIS 04-02-12
#define d_cAppnum        aApp[11,177]   // Array location reserved              // PC CAW 05-22-12
#define d_xUnused178     aApp[11,178]   // Array location reserved
#define d_xUnused179     aApp[11,179]   // Array location reserved
#define d_xUnused180     aApp[11,180]   // Array location reserved
#define d_xUnused181     aApp[11,181]   // Array location reserved
#define d_xUnused182     aApp[11,182]   // Array location reserved
#define d_xUnused183     aApp[11,183]   // Array location reserved
#define d_xUnused184     aApp[11,184]   // Array location reserved
#define d_xUnused185     aApp[11,185]   // Array location reserved
#define d_xUnused186     aApp[11,186]   // Array location reserved
#define d_xUnused187     aApp[11,187]   // Array location reserved
#define d_xUnused188     aApp[11,188]   // Array location reserved
#define d_xUnused189     aApp[11,189]   // Array location reserved
#define d_xUnused190     aApp[11,190]   // Array location reserved
#define d_xUnused191     aApp[11,191]   // Array location reserved
#define d_xUnused192     aApp[11,192]   // Array location reserved
#define d_xUnused193     aApp[11,193]   // Array location reserved
#define d_xUnused194     aApp[11,194]   // Array location reserved
#define d_xUnused195     aApp[11,195]   // Array location reserved
#define d_xUnused196     aApp[11,196]   // Array location reserved
#define d_xUnused197     aApp[11,197]   // Array location reserved
#define d_xUnused198     aApp[11,198]   // Array location reserved
#define d_xUnused199     aApp[11,199]   // Array location reserved
#define d_xUnused200     aApp[11,200]   // Array location reserved

#define d_oMsgbox        aApp[14]       // Array location reserved  
#define d_oStatstatic    aApp[15]       // Array location reserved  
#define d_oStatbar       aApp[16]       // Array location reserved
#define d_oBlinkmsg      aApp[17]       // Array location reserved

#define d_nSaverecord    aApp[21]       // Array location reserved
#define d_aNtabs         aApp[22]       // Array location reserved
#define d_aOtabs         aApp[23]       // Array location reserved
#define d_lPakapps       aApp[24]       // Array location reserved
#define d_lPakahist      aApp[25]       // Array location reserved
#define d_lPakappmemo    aApp[26]       // Array location reserved
#define d_cSaveorder     aApp[28]       // Array location reserved
#define d_lDisablef12    aApp[29]       // Array location reserved              // PC FIS 04-24-07
#define d_lPakappadata   aApp[30]                                               // PC BDJ 08-03-11

#define d_oTabpage1      aApp[50]
#define d_oTabstatic1    aApp[51]
#define d_oPagegroup1    aApp[52]
#define d_oSeekkey       aApp[53]
#define d_oBrowse        aApp[54]

#define d_oTabpage2      aApp[60]
#define d_oTabstatic2    aApp[61]
#define d_oPagegroup2    aApp[62]
#define d_oAccountgroup  aApp[63]
#define d_oState         aApp[64]                                               // PC CAW 03-11-05
#define d_oStatecode     aApp[65]
#define d_oStatusgroup   aApp[66]
#define d_oA1occupat     aApp[67]                                              // PC CAW 12-29-07       // PC FIS 10-08-08
#define d_oApproved      aApp[68]
#define d_oA2occupat     aApp[69]                                              // PC FIS 12-29-07       // PC FIS 10-08-08
#define d_oDealernum     aApp[70]
#define d_oFname         aApp[73]                                               // PC FIS 05-12-05
#define d_oLname         aApp[74]                                               // PC FIS 05-12-05
#define d_oCoappfname    aApp[75]                                               // PC FIS 05-12-05
#define d_oCoapplname    aApp[76]                                               // PC FIS 05-12-05
#define d_oAdd1          aApp[77]                                               // PC FIS 05-12-05
#define d_oCity          aApp[78]                                               // PC FIS 05-12-05
#define d_oZip           aApp[79]                                               // PC FIS 05-12-05
#define d_oBirdate1      aApp[80]                                               // PC FIS 05-12-05
#define d_oBirdate2      aApp[81]                                               // PC FIS 05-12-05
#define d_cBought        aApp[82]
#define d_oRelation      aApp[83]                                               // PC FIS 03-02-06
#define d_oEquiptype     aApp[84]                                               // PC FIS 03-02-06
#define d_cDealernum     aApp[86]                                               // PC FIS 12-12-06
#define d_cStatecode     aApp[87]                                               // PC CAW 05-27-07
#define d_cSsn1temp      aApp[88]                                               // PC FIS 04-24-07
#define d_cSsn2temp      aApp[89]                                               // PC FIS 04-24-07
#define d_oSsn1          aApp[90]                                               // PC FIS 04-24-07
#define d_oSsn2          aApp[91]                                               // PC FIS 05-10-07
#define d_oServicing     aApp[99]                                               // PC FIS 11-14-07
#define d_lMtgincrease   aApp[100]                                              // PC CAW 11-29-07
#define d_oPagegroup2a   aApp[101]

#define d_oAadd_1        aApp[102]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAcity         aApp[103]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAstate        aApp[104]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAzip          aApp[105]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAh_phone      aApp[106]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_lAddanswered   aApp[107]                                              // PC BDJ 02-06-09
#define d_lPhoneanswered aApp[108]                                              // PC BDJ 02-06-09
#define d_oCinvoice      aApp[109]                                              // PC BDJ 02-09-11
#define d_oProdcode1     aApp[110]                                              // PC FIS 03-16-12
#define d_oDlbutton1     aApp[111]                                              // PC FIS 04-02-12
#define d_oDlbutton2     aApp[112]                                              // PC FIS 04-02-12

#define d_oTabpage3      aApp[115]
#define d_oTabstatic3    aApp[116]
#define d_oPagegroup3    aApp[117]
#define d_oCommentbrowse aApp[118]
#define d_oPagegroup3a   aApp[119]

#define d_oTabpage4      aApp[120]                                              // PC FIS 10-08-08
#define d_oTabstatic4    aApp[121]                                              // PC FIS 10-08-08
#define d_oPagegroup4    aApp[122]                                              // PC FIS 10-08-08
#define d_oCalcgroup     aApp[123]
#define d_oLsubadjapr    aApp[124]
#define d_oLovrautdec    aApp[125]
#define d_oSellprice     aApp[126]
#define d_oRestype       aApp[127]                                              // PC FIS 03-02-06
#define d_oNmrecdbuyr    aApp[128]                                              // PC CAW 06-14-07
#define d_oTmthpay       aApp[129]                                              // PC CAW 11-29-07
#define d_oSubjadj       aApp[130]                                              // PC CAW 02-14-08
#define d_oPymtterms     aApp[131]                                              // PC FIS 06-30-08
#define d_cAppnames      aApp[132]                                              // PC FIS 10-08-08
#define d_oSecondarygroup aApp[133]                                             // PC CAW 11-20-08
#define d_oSendstatic    aApp[134]                                              // PC CAW 11-20-08
#define d_oCrdetdate     aApp[135]                                              // PC CAW 10-12-10
#define d_oPagegroup4a   aApp[136]
#define d_oProdcode2     aApp[137]                                              // PC FIS 03-16-12

#define d_oTabpage5       aApp[140]
#define d_oTabstatic5     aApp[141]
#define d_oPagegroup5     aApp[142]
#define d_oConditiongroup aApp[143]
#define d_oOtherinfogroup aApp[144]
#define d_oVerifygroup    aApp[145]
#define d_oVdate          aApp[146]
#define d_oRelfriend      aApp[147]                                             // PC FIS 06-13-05
#define d_oSubprimegroup  aApp[148]                                             // PC FIS 11-05-08 replaced d_oIncomesource
#define d_oServicinggroup aApp[149]                                             // PC FIS 11-14-07
#define d_oPagegroup5a    aApp[150]

#define d_oTabpage6      aApp[151]
#define d_oTabstatic6    aApp[152]
#define d_oPagegroup6    aApp[153]
#define d_oPagegroup6a   aApp[154]
#define d_oTermsgroup    aApp[155]
#define d_oAchgroup      aApp[156]
#define d_oCcgroup       aApp[157]
#define d_oOverachamt    aApp[158]
#define d_oAchstrdate    aApp[159]
#define d_oBankrnum      aApp[160]
#define d_oBankanum      aApp[161]
#define d_oOveracham2    aApp[162]
#define d_oBankrnum2     aApp[163]
#define d_oBankanum2     aApp[164]
#define d_oDnachdate     aApp[165]
#define d_oNachdayom1    aApp[166]
#define d_oCachcycle     aApp[167]
#define d_oWhosoldach    aApp[168]
#define d_cBankrtemp1    aApp[169]                                              // PC BDJ 08-03-11
#define d_cBankatemp1    aApp[170]                                              // PC BDJ 08-03-11
#define d_cBankrtemp2    aApp[171]                                              // PC BDJ 08-03-11
#define d_cBankatemp2    aApp[172]                                              // PC BDJ 08-03-11
#define d_cCrcardtemp    aApp[173]                                              // PC BDJ 08-03-11
#define d_cCrcmthtemp    aApp[174]                                              // PC BDJ 08-03-11
#define d_cCrcyrtemp     aApp[175]                                              // PC BDJ 08-03-11
#define d_cCrcnametemp   aApp[176]                                              // PC BDJ 08-03-11
#define d_oCcnum         aApp[177]                                              // PC BDJ 08-03-11
#define d_oExpdate       aApp[178]                                              // PC BDJ 08-03-11
#define d_oNameoncard    aApp[179]                                              // PC BDJ 08-03-11
#define d_oNccdayom1     aApp[180]                                              // PC BDJ 08-03-11
#define d_oNccdayom2     aApp[181]                                              // PC BDJ 08-03-11
#define d_oNccdayom3     aApp[182]                                              // PC BDJ 08-03-11
#define d_oNccdayom4     aApp[183]                                              // PC BDJ 08-03-11
#define d_oNccoveramt    aApp[184]                                              // PC BDJ 08-03-11
#define d_oNapr          aApp[185]                                              // PC BDJ 08-03-11
#define d_oNmth_pay      aApp[186]                                              // PC BDJ 08-03-11
#define d_oCcontdate     aApp[187]                                              // PC BDJ 08-03-11
#define d_oFpaydate      aApp[188]                                              // PC BDJ 08-03-11
#define d_nPriorapr      aApp[189]                                              // PC BDJ 08-03-11
#define d_nPriormthpay   aApp[190]                                              // PC BDJ 08-03-11
#define d_nPriornumpay   aApp[191]                                              // PC BDJ 08-03-11
#define d_nPrioramtreq   aApp[192]                                              // PC BDJ 08-03-11
#define d_lPriorcontinfo aApp[193]                                              // PC BDJ 08-03-11
#define d_oVdate6        aApp[194]                                              // PC FIS 01-26-12
                  
#define d_oTabpage7      aApp[200]
#define d_oTabstatic7    aApp[201]
#define d_oPagegroup7    aApp[202]
#define d_oProgramgroup1 aApp[204]
#define d_oProgramgroup2 aApp[205]
#define d_oProgramgroup3 aApp[206]
#define d_oProgramgroup4 aApp[207]
#define d_cText1         aApp[208]
#define d_cText1a        aApp[209]
#define d_cText2         aApp[210]
#define d_cText2a        aApp[211]
#define d_cText3         aApp[212]
#define d_cText3a        aApp[213]
#define d_cText4         aApp[214]
#define d_cText4a        aApp[215]
#define d_oContractgroup aApp[216]
#define d_oPagegroup7a   aApp[219]

#define d_oTabpage8      aApp[220]
#define d_oTabstatic8    aApp[221]
#define d_oPagegroup8    aApp[222]
#define d_oDate          aApp[223]                                              // PC FIS 01-30-08 was 143
#define d_oCreditgroup   aApp[224]                                              // PC FIS 01-30-08
#define d_oOthergroup    aApp[225]                                              // PC FIS 02-08-08
#define d_oPagegroup8a   aApp[226]

#define d_lFlag          aApp[230]                                              // PC CAW 05-02-04 LOCK RELEASE TEST
#define d_nRecnum        aApp[231]                                              // PC CAW 05-02-04 LOCK RELEASE TEST
#define d_cWkappnum      aApp[232]
#define d_lDisplayerror  aApp[233]
#define d_lTransferred   aApp[234]                                              // PC FIS 01-14-08
#define d_aApprcond      aApp[235]                                              // PC FIS 10-28-08
#define d_aDenlcond      aApp[236]                                              // PC FIS 10-28-08
#define d_bEvalstips     aApp[237]                                              // PC FIS 10-28-08
#define d_cDealapass     aApp[238]                                              // PC CAW 01-14-11
#define d_lUnlock        aApp[239]                                              // PC CAW 01-14-11
#define d_cLappnum       aApp[240]                                              // PC CAW 01-14-11

#define d_oPagestatic     aApp[250]                                             // PC BDJ 09-01-11
#define d_oPaperworkgroup aApp[251]                                             // PC BDJ 09-01-11
#define d_oProblemgroup   aApp[252]                                             // PC BDJ 09-01-11
#define d_lFcaopt100      aApp[253]                                             // PC FIS 03-16-12
#define d_oDlicnum1       aApp[254]                                             // PC FIS 04-13-12 on tabpage 2
#define d_oDlicnum2       aApp[255]                                             // PC FIS 04-13-12 on tabpage 2



*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+      STATIC FUNCTION S_DoCheckValid(abort, aApp, GetList)
*+
*+      Checks for whether special conditions are met prior to saving record
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
STATIC FUNCTION S_DoCheckValid(abort, aApp, GetList)
//  LOCAL aChecks := { {2,d_oStatecode, {|| LB_bvalexp({||!(empty(m->cstatecode).AND.m->approved=='A')},, ;
//                                          "Missing state code for approved application")} },            ;

  LOCAL aChecks := { {2,d_oStatecode, {|| LB_bvalexp({||!empty(m->cstatecode)},,                        ;       // PC CAW 08-06-07 changed to checking always
                                          "Missing contract state code")} },                            ;       // PC CAW 08-06-07        
                     {2,d_oStatecode, {|| LB_bvalexp({|| m->cstatecode==d_cStatecode},,                 ;       // PC CAW 08-06-07
                                          "Contract state code has not been validated")} },             ;       // PC CAW 08-06-07
                     {2,d_oStatecode, {|| AC_IsRevolveState(m->cstatecode,m->ccrtype)} },               ;       // PC CAW 07-25-07                     
                     {2,d_oState,     {|| LB_bvalexp( {|x| OtherState(x) .or.                           ;       // PC CAW 03-11-05
                                            cx_ISSTATE(x,1)},m->state,"Invalid State Code" )} },        ;
                     {2,d_oStatecode, {|| LB_bvalexp( {|x| OtherState(x) .or.                           ;
                                            cx_ISSTATE(x,1)},m->cStateCode,"Invalid State Code" )} },   ;       // PC CAW 03-11-05
                     {2,d_oDealernum, {|| LB_bvalexp({||!empty(m->dealernum)},,                         ;
                                          "Missing dealer number")} },                                  ;
                     {2,d_oDealernum, {|| AC_ValidateDealerState(m->dealernum, m->cstatecode,           ;       // PC FIS 07-23-07
                                                                 @m->cdlrovinit,m->G_cCredOPass,.T.,.T.,.F.)} },; // PC FIS 07-30-07 added m->cdlrovinit,m->G_cCredOPass
                     {2,d_oFname,     {|| LB_bvalexp({||!empty(m->custfname)},,                         ;       // PC FIS 05-12-05
                                          "Missing customer first name") .AND.                          ;       // PC FIS 05-12-05
                                          AC_CheckName(m->custfname,.T.)} },                            ;       // PC FIS 05-12-05
                     {2,d_oLname,     {|| LB_bvalexp({||!empty(m->custlname)},,                         ;       // PC FIS 05-12-05
                                          "Missing customer last name") .AND.                           ;       // PC FIS 05-12-05
                                          AC_CheckName(m->custlname,.T.)} },                            ;       // PC FIS 05-12-05
                     {2,d_oCoappfname, {|| AC_CheckName(m->coappfname,.T.) }},                          ;       // PC FIS 05-12-05
                     {2,d_oCoapplname, {|| AC_CheckName(m->coapplname,.T.) }},                          ;       // PC FIS 05-12-05
                     {2,d_oRelation,  {|| IIF(EMPTY(m->coappfname),.T.,                                 ;       // PC FIS 03-02-06   // PC FIS 03-10-06 // PC CAW 07-06-09 added back in
                                              LB_bvalexp({||!empty(m->crelation)},,                     ;       // PC FIS 03-02-06   // PC FIS 03-10-06
                                                            "Missing relationship")  ) }},              ;       // PC FIS 03-02-06   // PC FIS 03-10-06
                     {2,d_oSsn1,      {|| LB_bvalexp({|x|!'*' $ x}, m->SSN1,                            ;       // PC FIS 05-10-07
                                          "SSN contains a *, Cancel edit and call IT immediately")} },    ;       // PC FIS 05-10-07
                     {2,d_oSsn2,      {|| LB_bvalexp({|x|!'*' $ x}, m->SSN2,                            ;       // PC FIS 05-10-07
                                          "SSN contains a *, Cancel edit and call IT immediately")} },    ;       // PC FIS 05-10-07
                     {2,d_oSsn1,      {|| LB_bvalexp({||!empty(m->SSN1).OR.m->lIscanada},,              ;       // PC FIS 05-12-05      // PC CAW 08-23-06 added liscanada exclusion
                                          "Missing customer SSN1")} },                                  ;       // PC FIS 05-12-05
                     {2,d_oSsn2,      {|| LB_bvalexp({||!(empty(m->SSN2) .AND. !empty(m->coappfname))    ;      // PC FIS 04-13-12
                                                        .OR. m->lIscanada},,                            ;       // PC FIS 04-13-12
                                          "Missing customer SSN2")} },                                  ;       // PC FIS 04-13-12
;//                     {2,d_oDealernum, {|| LB_bvalexp({||!(empty(m->dlicnum1).AND.CONFIG->lReqDLicNm)},, ;       // PC CAW 01-04-05 added next 2 checks
                     {2,d_oDlicnum1 , {|| LB_bvalexp({||!(empty(m->dlicnum1).AND.CONFIG->lReqDLicNm)},, ;       // PC CAW 01-04-05 added next 2 checks // PC FIS 04-13-12
                                          "Missing driver's license number #1")} },                     ;
;//                     {2,d_oDealernum, {|| LB_bvalexp({||!(empty(m->dlicnum2).AND.CONFIG->lReqDLicNm.AND.!empty(m->coappfname))},, ;
                     {2,d_oDlicnum2,  {|| LB_bvalexp({||!(empty(m->dlicnum2).AND.CONFIG->lReqDLicNm.AND.!empty(m->coappfname))},, ; // PC FIS 04-13-12
                                          "Missing driver's license number #2")} },                     ;
                     {2,d_oCinvoice,  {|| LB_bvalexp({||!(empty(m->cinvoice).AND.DEALER->lreqinv.AND.d_lAddmode)},, ;                   // PC CAW 02-09-11
                                          "Missing reference number")} },                               ;
                     {2,d_oEquiptype, {|| IIF(FCA_GetOption(OPT_REQUIRE_EQUIP_TYPE_HVAC) .AND.          ;       // PC CAW 03-21-12
                                              AC_HVACDlr(m->dealernum),                                 ;       // PC FIS 03-02-06      
                                              LB_bvalexp({||!empty(m->cequiptype)},,                    ;       // PC FIS 03-02-06
                                                           "Equipment Type cannot be blank"),           ;       // PC FIS 03-02-06
                                              .T.) } },                                                 ;       // PC FIS 03-02-06
                     {2,d_oA1occupat, {|| iif(FCA_GetOption(OPT_REQUIRE_OCCUPATION) .AND.               ;       // PC CAW 12-29-07      
                                              (d_lAddmode .OR. !(m->ca1occupat==APPS->ca1occupat)),     ;       // PC CAW 12-29-07      
                                              LB_bvalexp({||!empty(m->ca1occupat)},,                    ;       // PC CAW 12-29-07
                                                           "Applicant position cannot be blank"),       ;       // PC CAW 12-29-07
                                              .T.) } },                                                 ;       // PC CAW 12-29-07
                     {2,d_oA2occupat, {|| iif(FCA_GetOption(OPT_REQUIRE_OCCUPATION) .AND.               ;       // PC CAW 12-29-07      
                                              !empty(m->CoAppFName) .AND.                               ;       // PC CAW 12-29-07
                                              (d_lAddmode .OR. !(m->ca2occupat==APPS->ca2occupat)),     ;       // PC CAW 12-29-07      
                                              LB_bvalexp({||!empty(m->ca2occupat)},,                    ;       // PC CAW 12-29-07
                                                           "Co-applicant position cannot be blank"),    ;       // PC CAW 12-29-07
                                              .T.) } },                                                 ;       // PC CAW 12-29-07
                     {2,d_oProdcode1, {|| LB_bvalexp({|| AC_ValProdCode(d_lAddmode,d_lFcaopt100,        ;       // PC FIS 03-16-12
                                                                        APPS->whodetermn,m->dealernum,  ;       // PC FIS 03-16-12
                                                                        APPS->acctcoll,m->acctcoll)},,  ;       // PC FIS 03-16-12
                                          "You must select an active Product Code")} },                 ;       // PC FIS 03-16-12
                     {2,d_oDlbutton1, {|| AC_CheckDLDates(m->dlicnum1,m->dadliciss,m->dadlicexp,.F.,    ;       // PC FIS 04-02-12
                                                          SPACE(40)    )} },                            ;       // PC FIS 04-02-12
                     {2,d_oDlbutton2, {|| AC_CheckDLDates(m->dlicnum2,m->dcadliciss,m->dcadlicexp,.T.,  ;       // PC FIS 04-02-12
                                                          m->coappfname)} },                            ;       // PC FIS 04-02-12
                     {4,d_oRestype,   {|| iif(FCA_GetOption(OPT_REQUIRE_RESIDENCE_TYPE),                ;
                                              S_ValidateField(aApp, "Residence Type", m->crestype,      ;
                                                              APPS->crestype ),.T.)} },                 ;       // PC CAW 08-16-06      // PC CAW 05-10-12 added FCA_GetOption()
                     {4,d_oApproved,  {|| LB_bvalexp({|| !(m->approved == 'A' .AND. m->bought ) },,     ;       // PC FIS 07-16-07
                                                     "Cannot approve a cancelled application")} },      ;       // PC FIS 07-16-07
                     {4,d_oApproved,  {|| IIF(FCA_GetOption(OPT_CHK_CREDIT_APPROVAL_RULES),             ;       // PC FIS 07-16-07
                                              S_EvalRules(aApp,m->credtable,.F.), .T.)} },              ;       // PC FIS 07-16-07      // PC CAW 03-05-08 added .F. to S_EvalRules
                     {4,d_oApproved,  {|| S_CheckFundFields(GetList)} },                                ;       // PC FIS 11-14-07      // PC FIS 01-14-08 GetList
                     {4,d_oTmthpay,   {|| LB_bvalexp({|| !m->nmortgage>m->ntmthpay },,                  ;       // PC CAW 11-29-07
                                          "Mortgage amount exceeds total payments")} },                 ;       // PC CAW 11-29-07
                     {4,d_oCrdetdate, {|| LB_bvalexp({||!empty(m->dcrddetrmn)},,                        ;       // PC CAW 10-12-10
                                          "Credit determination date cannot be blank")} },              ;       // PC CAW 10-12-10
                     {4,d_oSubjadj,   {|| S_SubjAdjValidation(m->nESFactor,                             ;       // FICO score factor    // PC BDJ 02-04-08
                                                              m->nTIFactor,                             ;       // Total Income Factor
                                                              m->nUDFactor,                             ;       // Revolving Debt Factor
                                                              m->nYrJFactor,                            ;       // Years on Job Factor
                                                              m->nYrRFactor,                            ;       // Years at Residence Factor
                                                              m->nDRFactor,                             ;       // Debt Ratio Factor
                                                              m->nPMFactor,                             ;       // Payment method factor
                                                              m->nResFactor,                            ;       // Residence type factor
                                                              m->nDPFactor,                             ;       // Down Payment Factor
                                                              m->nTermFact,                             ;       // Term Length Factor
                                                              m->nTrYrFact,                             ;       // Trade years Factor
                                                              m->njointfact,                            ;       // No Joint App Factor
                                                              m->noincfact,                             ;       // Other Income Factor
                                                              m->nnusfact,                              ;       // New UnSecured Debt Factor
                                                              m->nbankfact,                             ;       // Bankruptcy factor
                                                              m->ncrtfact,                              ;       // Credit Type Factor
                                                              m->nsprgfact,                             ;       // Special Program Factor
                                                              m->nrndfact,                              ;       // Rounding Factor
                                                              m->ncsfactor,                             ;       // Custom Score Factor
                                                              m->nnonhofact,                            ;       // Non-Homeowner Factor
                                                              m->nsubjadj)} },                          ;       // Subjective Adjustment Factor
                     {4,d_oSellprice, {|| S_ValidateCredLim(m->amtrequest,m->nApprAmt,m->credtable,aApp,m->ccrtype,iif(d_lAddmode,0,APPS->nApprAmt), m->approved)}},;    // PC BDJ 04-11-08 // PC BDJ 04-11-08 // PC CAW 06-13-08 m->nappramt -> APPS->nappramt                                                             
                     {4,d_oPymtterms, {|| IIF(d_lAddmode .OR. !(m->num_pymt==APPS->num_pymt),           ;       // PC FIS 06-30-08
                                              LB_bvalexp({|| iif(FCA_GetOption(OPT_REQUIRE_TERMS_CLOSED),;
                                                             m->num_pymt > 0 .OR. !m->ccrtype == 'C',.T.)},, ;  // PC FIS 06-30-08
                                                         "Payment terms must be > 0 for Closed-end accounts"),; // PC FIS 06-30-08
                                              .T.) } },                                                 ;       // PC FIS 06-30-08
                     {4,d_oProdcode2, {|| LB_bvalexp({|| AC_ValProdCode(d_lAddmode,d_lFcaopt100,        ;       // PC FIS 03-16-12
                                                                        APPS->whodetermn,m->dealernum,  ;       // PC FIS 03-16-12
                                                                        APPS->acctcoll,m->acctcoll)},,  ;       // PC FIS 03-16-12
                                          "You must select an active Product Code")} },                 ;       // PC FIS 03-16-12
                     {6,d_oWhosoldach, {|| LB_bvalexp({|| !(m->mad_achflag .AND. empty(m->mad_csoldach)) },,                            ;                       // PC BDJ 05-15-11
                                           "Who sold ACH cannot be blank if ACH flag is checked") }},                                   ;
                     {6,d_oAchstrdate, {|| LB_bvalexp({|| !(m->mad_achflag .AND. empty(m->mad_achstrdate)) },,                          ;
                                           "Missing ACH Start Date") }},                                                                ;
                     {6,d_oOverachamt, {|| LB_bvalexp({|| !(m->mad_achflag .AND. m->mad_overach .AND. iszero(m->mad_overachamt)) },,    ;
                                           "Override amount cannot be zero") }},                                                        ;     
                     {6,d_oBankrnum,   {|| LB_bvalexp({|| !(m->mad_achflag .AND. empty(m->mad_bankrnum))  },,                           ;
                                           "Missing Bank Routing Number") }},                                                           ;
                     {6,d_oBankanum,   {|| LB_bvalexp({|| !(m->mad_achflag .AND. empty(m->mad_bankanum))  },,                           ;
                                           "Missing Bank Account Number") }},                                                           ;
                     {6,d_oOveracham2, {|| LB_bvalexp({|| !(m->mad_achflag .AND. m->mad_overach2 .AND. iszero(m->mad_overacham2)) },,   ;
                                           "ACH Account #2-Override amount cannot be zero") }},                                         ;
                     {6,d_oBankrnum2,  {|| LB_bvalexp({|| !(m->mad_achflag .AND. m->mad_overach2 .AND. empty(m->mad_bankrnum2)) },,     ;
                                           "ACH Account #2-Missing Bank Routing Number") }},                                            ;
                     {6,d_oBankanum2,  {|| LB_bvalexp({|| !(m->mad_achflag .AND. m->mad_overach2 .AND. empty(m->mad_bankanum2)) },,     ;
                                           "ACH Account #2-Missing Bank Account Number") }},                                            ;
                     {6,d_oDnachdate,  {|| LB_bvalexp({|| !(m->mad_achflag .AND. CONFIG->lACHExtype .AND. empty(m->mad_dnachdate)) },,  ;
                                           "Missing Next ACH Date") }},                                                                 ;
                     {6,d_oNachdayom1, {|| LB_bvalexp({|| AC_IsGoodACHDates(m->mad_achflag,CONFIG->lachextype,m->mad_cachcycle,         ;
                                                          m->mad_nachdayom1,m->mad_nachdayom2,m->mad_nachdayom3,m->mad_nachdayom4)},,   ;
                                                          "Missing Cycle Day Identifier") }},                                           ;
                     {6,d_oCachcycle,  {|| LB_bvalexp({|| !(m->mad_achflag .AND. CONFIG->lACHExtype .AND. empty(m->mad_cachcycle)) },,  ;
                                           "Missing ACH Cycle Code") }},                                                                ;                     
                     {6,d_oCcontdate,  {|| LB_bvalexp({|| !(m->mad_lcontinfo .AND. empty(m->mad_ccont_date))},,                         ; // PC BDJ 08-03-11
                                          'Contract data cannot be blank if contract terms flag is set') }},                            ; // PC BDJ 08-03-11
                     {6,d_oFpaydate,   {|| LB_bvalexp({|| iif(m->mad_lcontinfo,m->mad_fpay_date>= m->mad_ccont_date,.T.)},,             ; // PC BDJ 08-03-11
                                          'First payment date cannot be prior to contract date') }},                                    ; // PC BDJ 08-03-11
                     {6,d_oNmth_pay,   {|| LB_bvalexp({|| iif(m->mad_lcontinfo,m->mad_mth_pay * m->num_pymt >= m->amtrequest,.T.) },,   ; // PC BDJ 08-03-11
                                           "Scheduled payments less than principal") }},                                                ; // PC BDJ 08-03-11
                     {6,d_oNapr,       {|| S_ValAPR(m->mad_apr,d_nPriorapr,@m->mad_lapraprval,m->amtrequest,m->num_pymt,                ; // PC BDJ 08-03-11
                                                    m->mad_mth_pay,m->ccrtype,m->mad_lcontinfo)}}                                       ; // PC BDJ 08-03-11
                    }
  RETURN NIL
I have tried to reduce the array definition somewhat but cannot yet determine what is causing the problem.

Cliff.

Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#2 Post by Cliff Wiernik »

I was able to reduce the array definition down to the following. If I delete one more of the array definitions, it compiles, otherwise it locks up:

Code: Select all


#include "dcdialog.ch"
#include "dcbitmap.ch"
#include "appevent.ch"
#include "xbp.ch"
#include "common.ch"
#include "axcdxcmx.ch"
#include "fca.ch"
#include "dll.ch"                                       // PC CAW 08-19-05
#Include "xb2net.ch"                                    // PC CAW 02-15-07

#pragma Library("DCXML.LIB")                            // xml
#pragma library("ASINET10.LIB")                         // e-mail
#pragma library ("xb2net.lib")

#define FCA_PRG_VERSION  '6.20110803'
                                                        // aApp definitions of locals used in program
                                                        // Array positions 1 through 49 must not be altered
#define d_lEditmode      aApp[1]        // Array location reserved
#define d_lAddmode       aApp[2]        // Array location reserved
#define d_nTabpage       aApp[3]        // Array location reserved
#define d_bScatter       aApp[4]        // Array location reserved
#define d_bGather        aApp[5]        // Array location reserved
#define d_bNextpage      aApp[6]        // Array location reserved
#define d_bPrevpage      aApp[7]        // Array location reserved
#define d_cTitle         aApp[8]        // Array location reserved
#define d_lDisablesave   aApp[9]        // Array location reserved      flag to disable save button                        

#define d_oDialog        aApp[10]       // Array location reserved

#define d_cInfile        aApp[11,1]     // Array location reserved
#define d_cInappnum      aApp[11,2]     // Array location reserved
#define d_cCcrbureau     aApp[11,3]     // Array location reserved
#define d_cCrfname       aApp[11,4]     // Array location reserved 
#define d_cCrminit       aApp[11,5]     // Array location reserved 
#define d_cCrlname       aApp[11,6]     // Array location reserved 
#define d_cCrsname       aApp[11,7]     // Array location reserved 
#define d_cCrssn1        aApp[11,8]     // Array location reserved 
#define d_cCrcity        aApp[11,9]     // Array location reserved 
#define d_cCrstate       aApp[11,10]    // Array location reserved 
#define d_cCrzip         aApp[11,11]    // Array location reserved 
#define d_cCrdealnum     aApp[11,12]    // Array location reserved
#define d_nCramtreq      aApp[11,13]    // Array location reserved
#define d_cCrhphone      aApp[11,14]    // Array location reserved
#define d_cCradd1        aApp[11,15]    // Array location reserved
#define d_cCradd2        aApp[11,16]    // Array location reserved
#define d_cCrstcode      aApp[11,17]    // Array location reserved
#define d_dCrdob1        aApp[11,18]    // Array location reserved
#define d_nCrmtgamt      aApp[11,19]    // Array location reserved
#define d_nCrrescur      aApp[11,20]    // Array location reserved
#define d_nCrrespri      aApp[11,21]    // Array location reserved
#define d_cCrenameh      aApp[11,22]    // Array location reserved
#define d_nCrjobcur      aApp[11,23]    // Array location reserved
#define d_nCrjobpri      aApp[11,24]    // Array location reserved
#define d_cCrephoneh     aApp[11,25]    // Array location reserved
#define d_cCreexth       aApp[11,26]    // Array location reserved
#define d_cCrseh         aApp[11,27]    // Array location reserved
#define d_nCrmthinch     aApp[11,28]    // Array location reserved
#define d_nCrothinch     aApp[11,29]    // Array location reserved
#define d_cCrssn2        aApp[11,30]    // Array location reserved
#define d_cCrcafname     aApp[11,31]    // Array location reserved
#define d_cCrcaminit     aApp[11,32]    // Array location reserved
#define d_cCrcalname     aApp[11,33]    // Array location reserved
#define d_cCrcasname     aApp[11,34]    // Array location reserved
#define d_dCrdob2        aApp[11,35]    // Array location reserved
#define d_cCrenamew      aApp[11,36]    // Array location reserved
#define d_nCrajobcur     aApp[11,37]    // Array location reserved
#define d_nCrajobpri     aApp[11,38]    // Array location reserved
#define d_cCrephonew     aApp[11,39]    // Array location reserved
#define d_cCreextw       aApp[11,40]    // Array location reserved
#define d_cCrsew         aApp[11,41]    // Array location reserved
#define d_nCrmthincw     aApp[11,42]    // Array location reserved
#define d_nCrothincw     aApp[11,43]    // Array location reserved

#define d_cCrcrtype      aApp[11,44]    // Array location reserved
#define d_cAreacode      aApp[11,45]    // Array location reserved

#define d_cEcfname       aApp[11,46]    // Array location reserved              // Credit Report Parsing data
#define d_cEcminit       aApp[11,47]    // Array location reserved
#define d_cEclname       aApp[11,48]    // Array location reserved
#define d_cEcsname       aApp[11,49]    // Array location reserved
#define d_cEccafname     aApp[11,50]    // Array location reserved
#define d_cEccaminit     aApp[11,51]    // Array location reserved
#define d_cEccalname     aApp[11,52]    // Array location reserved
#define d_cEccasname     aApp[11,53]    // Array location reserved
#define d_cEcssn1        aApp[11,54]    // Array location reserved
#define d_cEcssn2        aApp[11,55]    // Array location reserved
#define d_dEcappbdate    aApp[11,56]    // Array location reserved
#define d_dEccapbdate    aApp[11,57]    // Array location reserved
#define d_cEctelephon    aApp[11,58]    // Array location reserved
#define d_cEcadd1        aApp[11,59]    // Array location reserved
#define d_cEccscore      aApp[11,60]    // Array location reserved
#define d_cEcemp1        aApp[11,61]    // Array location reserved
#define d_cEcemp2        aApp[11,62]    // Array location reserved

#define d_nUsecdebt      aApp[11,63]    // Array location reserved
#define d_nTpay          aApp[11,64]    // Array location reserved
#define d_cEccscore2     aApp[11,65]    // Array location reserved
#define d_nSellprice     aApp[11,66]    // Array location reserved
#define d_nDownpay       aApp[11,67]    // Array location reserved
#define d_lCreditquery   aApp[11,68]    // Array location reserved
#define d_cCallinby      aApp[11,69]    // Array location reserved              // PC JAC 04-26-04
#define d_nNum_pymt      aApp[11,70]    // Array location reserved              // PC JAC 04-26-04
#define d_cFile          aApp[11,71]    // Array location reserved              // PC JAC 05-10-04
#define d_cPaymeth       aApp[11,72]    // Array location reserved              // PC JAC 10-05-04
#define d_cRestype       aApp[11,73]    // Array location reserved              // PC JAC 10-05-04
#define d_dLicnum1       aApp[11,74]    // Array location reserved              // PC CAW 01-04-05
#define d_dLicnum2       aApp[11,75]    // Array location reserved              // PC CAW 01-04-05
#define d_cPendcb        aApp[11,76]    // Array location reserved              // PC CAW 05-18-05
#define d_cLspanish      aApp[11,77]    // Array location reserved              // PC CAW 08-30-05
#define d_cLiscanada     aApp[11,78]    // Array location reserved              // PC CAW 08-30-05
#define d_cRelation      aApp[11,79]    // Array location reserved              // PC FIS 03-02-06
#define d_cFixedinc      aApp[11,80]    // Array location reserved              // PC FIS 03-02-06
#define d_cFixedincc     aApp[11,81]    // Array location reserved              // PC FIS 03-02-06
#define d_cEquiptype     aApp[11,82]    // Array location reserved              // PC FIS 03-02-06
#define d_lAf1           aApp[11,83]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf2           aApp[11,84]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf3           aApp[11,85]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf4           aApp[11,86]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf5           aApp[11,87]    // Array location reserved              // PC FIS 04-24-06
#define d_lAf6           aApp[11,88]    // Array location reserved              // PC FIS 04-24-06
#define d_cMailname      aApp[11,89]    // Array location reserved              // PC FIS 04-26-06
#define d_lHascoapp      aApp[11,90]    // Array location reserved              // PC CAW 08-29-06
#define d_cA1sothinc     aApp[11,91]    // Array location reserved              // PC FIS 02-12-07
#define d_cA2sothinc     aApp[11,92]    // Array location reserved              // PC FIS 02-12-07
#define d_cA1occupat     aApp[11,93]    // Array location reserved              // PC FIS 02-12-07
#define d_cA2occupat     aApp[11,94]    // Array location reserved              // PC FIS 02-12-07
#define d_cA1cell        aApp[11,95]    // Array location reserved              // PC FIS 05-31-07
#define d_cA2cell        aApp[11,96]    // Array location reserved              // PC FIS 05-31-07
#define d_nTradeval      aApp[11,97]    // Array location reserved              // PC FIS 06-22-07
#define d_cDlrovinit     aApp[11,98]    // Array location reserved              // PC FIS 07-30-07
#define d_nDependents    aApp[11,99]    // Array location reserved              // PC FIS 09-21-07
#define d_cApp1infile    aApp[11,100]   // Array location reserved              // PC FIS 12-12-07
#define d_cApp2infile    aApp[11,101]   // Array location reserved              // PC FIS 12-12-07
#define d_nTrades        aApp[11,102]   // Array location reserved              // PC FIS 01-29-08
#define d_cFrsttrade     aApp[11,103]   // Array location reserved              // PC FIS 01-29-08
#define d_lFirstcredrep  aApp[11,104]   // Array location reserved              // PC FIS 01-29-08
#define d_lJointcred     aApp[11,105]   // Array location reserved              // PC CAW 04-29-08
#define d_lAf7           aApp[11,106]   // Array location reserved              // PC BDJ 04-30-08
#define d_lAf8           aApp[11,107]   // Array location reserved              // PC BDJ 04-30-08
#define d_lAf9           aApp[11,108]   // Array location reserved              // PC BDJ 04-30-08
#define d_lAf10          aApp[11,109]   // Array location reserved              // PC BDJ 04-30-08
#define d_cTucustom      aApp[11,110]   // Array location reserved              // PC CAW 06-16-08
#define d_nSpouseinc     aApp[11,111]   // Array location reserved              // PC CAW 06-16-08
#define d_lCcflag        aApp[11,112]   // Array location reserved              // PC FIS 07-02-08
#define d_cAadd_1        aApp[11,113]   // Array location reserved              // PC FIS 10-08-08      // PC CAW 10-08-08 start 
#define d_cAadd_2        aApp[11,114]   // Array location reserved              // PC FIS 10-08-08
#define d_cAcity         aApp[11,115]   // Array location reserved              // PC FIS 10-08-08
#define d_cAstate        aApp[11,116]   // Array location reserved              // PC FIS 10-08-08
#define d_cAzip          aApp[11,117]   // Array location reserved              // PC FIS 10-08-08
#define d_cAh_phone      aApp[11,118]   // Array location reserved              // PC FIS 10-08-08
#define d_dEdbankrupt    aApp[11,119]   // Array location reserved              // PC FIS 10-08-08
#define d_nRetiressi     aApp[11,120]   // Array location reserved              // PC FIS 10-08-08
#define d_nRental        aApp[11,121]   // Array location reserved              // PC FIS 10-08-08
#define d_nInvest        aApp[11,122]   // Array location reserved              // PC FIS 10-08-08
#define d_nOincome       aApp[11,123]   // Array location reserved              // PC FIS 10-08-08
#define d_nOincdesc      aApp[11,124]   // Array location reserved              // PC FIS 10-08-08
#define d_nMortdebt      aApp[11,125]   // Array location reserved              // PC FIS 10-28-08
#define d_lBkrupt12m     aApp[11,126]   // Array location reserved              // PC FIS 11-05-08
#define d_lOpencheck     aApp[11,127]   // Array location reserved              // PC FIS 11-05-08
#define d_lHasccard      aApp[11,128]   // Array location reserved              // PC FIS 11-05-08
#define d_lHasauto       aApp[11,129]   // Array location reserved              // PC FIS 11-05-08
#define d_lHascrdref     aApp[11,130]   // Array location reserved              // PC FIS 11-05-08      // PC CAW 10-08-08 end  
#define d_lSubprdecl     aApp[11,131]   // Array location reserved              // PC FIS 01-08-09
#define d_cSubprcond     aApp[11,132]   // Array location reserved              // PC FIS 01-08-09
#define d_lRedflaged     aApp[11,133]   // Array location reserved              // PC BDJ 04-22-09
#define d_cInvoice       aApp[11,134]   // Array location reserved              // PC CAW 02-09-11
#define d_nRevpayfct     aApp[11,135]   // Array location reserved              // PC CAW 03-29-11
#define d_cPaygrade      aApp[11,136]   // Array location reserved              // PC BDJ 05-15-11
#define d_cNconame       aApp[11,137]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOicname       aApp[11,138]   // Array location reserved              // PC BDJ 05-15-11
#define d_cComoffic      aApp[11,139]   // Array location reserved              // PC BDJ 05-15-11
#define d_dEtsdate       aApp[11,140]   // Array location reserved              // PC BDJ 05-15-11
#define d_cMilbase       aApp[11,141]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCowrkref      aApp[11,142]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCowkphon      aApp[11,143]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo1      aApp[11,144]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo2      aApp[11,145]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo3      aApp[11,146]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOccinfo4      aApp[11,147]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext1      aApp[11,148]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext2      aApp[11,149]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext3      aApp[11,150]   // Array location reserved              // PC BDJ 05-15-11
#define d_cOcctext4      aApp[11,151]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCpaygrade     aApp[11,152]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCnconame      aApp[11,153]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoicname      aApp[11,154]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCcomoffic     aApp[11,155]   // Array location reserved              // PC BDJ 05-15-11
#define d_dCetsdate      aApp[11,156]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCmilbase      aApp[11,157]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCcowrkref     aApp[11,158]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCcowkphon     aApp[11,159]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo1     aApp[11,160]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo2     aApp[11,161]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo3     aApp[11,162]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCoccinfo4     aApp[11,163]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext1     aApp[11,164]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext2     aApp[11,165]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext3     aApp[11,166]   // Array location reserved              // PC BDJ 05-15-11
#define d_cCocctext4     aApp[11,167]   // Array location reserved              // PC BDJ 05-15-11
#define d_sCredtable     aApp[11,168]   // Array location reserved              // PC BDJ 06-02-11
#define d_cEarnclass     aApp[11,169]   // Array location reserved              // PC BDJ 06-02-11
#define d_cScrdclass     aApp[11,170]   // Array location reserved              // PC BDJ 06-02-11
#define d_cSpecscore     aApp[11,171]   // Array location reserved              // PC BDJ 06-02-11
#define d_cAcctcoll      aApp[11,172]   // Array location reserved              // PC FIS 03-16-12
#define d_dAdliciss      aApp[11,173]   // Array location reserved              // PC FIS 04-02-12
#define d_dCadliciss     aApp[11,174]   // Array location reserved              // PC FIS 04-02-12
#define d_dAdlicexp      aApp[11,175]   // Array location reserved              // PC FIS 04-02-12
#define d_dCadlicexp     aApp[11,176]   // Array location reserved              // PC FIS 04-02-12
#define d_cAppnum        aApp[11,177]   // Array location reserved              // PC CAW 05-22-12
#define d_xUnused178     aApp[11,178]   // Array location reserved
#define d_xUnused179     aApp[11,179]   // Array location reserved
#define d_xUnused180     aApp[11,180]   // Array location reserved
#define d_xUnused181     aApp[11,181]   // Array location reserved
#define d_xUnused182     aApp[11,182]   // Array location reserved
#define d_xUnused183     aApp[11,183]   // Array location reserved
#define d_xUnused184     aApp[11,184]   // Array location reserved
#define d_xUnused185     aApp[11,185]   // Array location reserved
#define d_xUnused186     aApp[11,186]   // Array location reserved
#define d_xUnused187     aApp[11,187]   // Array location reserved
#define d_xUnused188     aApp[11,188]   // Array location reserved
#define d_xUnused189     aApp[11,189]   // Array location reserved
#define d_xUnused190     aApp[11,190]   // Array location reserved
#define d_xUnused191     aApp[11,191]   // Array location reserved
#define d_xUnused192     aApp[11,192]   // Array location reserved
#define d_xUnused193     aApp[11,193]   // Array location reserved
#define d_xUnused194     aApp[11,194]   // Array location reserved
#define d_xUnused195     aApp[11,195]   // Array location reserved
#define d_xUnused196     aApp[11,196]   // Array location reserved
#define d_xUnused197     aApp[11,197]   // Array location reserved
#define d_xUnused198     aApp[11,198]   // Array location reserved
#define d_xUnused199     aApp[11,199]   // Array location reserved
#define d_xUnused200     aApp[11,200]   // Array location reserved

#define d_oMsgbox        aApp[14]       // Array location reserved  
#define d_oStatstatic    aApp[15]       // Array location reserved  
#define d_oStatbar       aApp[16]       // Array location reserved
#define d_oBlinkmsg      aApp[17]       // Array location reserved

#define d_nSaverecord    aApp[21]       // Array location reserved
#define d_aNtabs         aApp[22]       // Array location reserved
#define d_aOtabs         aApp[23]       // Array location reserved
#define d_lPakapps       aApp[24]       // Array location reserved
#define d_lPakahist      aApp[25]       // Array location reserved
#define d_lPakappmemo    aApp[26]       // Array location reserved
#define d_cSaveorder     aApp[28]       // Array location reserved
#define d_lDisablef12    aApp[29]       // Array location reserved              // PC FIS 04-24-07
#define d_lPakappadata   aApp[30]                                               // PC BDJ 08-03-11

#define d_oTabpage1      aApp[50]
#define d_oTabstatic1    aApp[51]
#define d_oPagegroup1    aApp[52]
#define d_oSeekkey       aApp[53]
#define d_oBrowse        aApp[54]

#define d_oTabpage2      aApp[60]
#define d_oTabstatic2    aApp[61]
#define d_oPagegroup2    aApp[62]
#define d_oAccountgroup  aApp[63]
#define d_oState         aApp[64]                                               // PC CAW 03-11-05
#define d_oStatecode     aApp[65]
#define d_oStatusgroup   aApp[66]
#define d_oA1occupat     aApp[67]                                              // PC CAW 12-29-07       // PC FIS 10-08-08
#define d_oApproved      aApp[68]
#define d_oA2occupat     aApp[69]                                              // PC FIS 12-29-07       // PC FIS 10-08-08
#define d_oDealernum     aApp[70]
#define d_oFname         aApp[73]                                               // PC FIS 05-12-05
#define d_oLname         aApp[74]                                               // PC FIS 05-12-05
#define d_oCoappfname    aApp[75]                                               // PC FIS 05-12-05
#define d_oCoapplname    aApp[76]                                               // PC FIS 05-12-05
#define d_oAdd1          aApp[77]                                               // PC FIS 05-12-05
#define d_oCity          aApp[78]                                               // PC FIS 05-12-05
#define d_oZip           aApp[79]                                               // PC FIS 05-12-05
#define d_oBirdate1      aApp[80]                                               // PC FIS 05-12-05
#define d_oBirdate2      aApp[81]                                               // PC FIS 05-12-05
#define d_cBought        aApp[82]
#define d_oRelation      aApp[83]                                               // PC FIS 03-02-06
#define d_oEquiptype     aApp[84]                                               // PC FIS 03-02-06
#define d_cDealernum     aApp[86]                                               // PC FIS 12-12-06
#define d_cStatecode     aApp[87]                                               // PC CAW 05-27-07
#define d_cSsn1temp      aApp[88]                                               // PC FIS 04-24-07
#define d_cSsn2temp      aApp[89]                                               // PC FIS 04-24-07
#define d_oSsn1          aApp[90]                                               // PC FIS 04-24-07
#define d_oSsn2          aApp[91]                                               // PC FIS 05-10-07
#define d_oServicing     aApp[99]                                               // PC FIS 11-14-07
#define d_lMtgincrease   aApp[100]                                              // PC CAW 11-29-07
#define d_oPagegroup2a   aApp[101]

#define d_oAadd_1        aApp[102]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAcity         aApp[103]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAstate        aApp[104]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAzip          aApp[105]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_oAh_phone      aApp[106]                                              // PC BDJ 02-06-09 Reclaimed numbers
#define d_lAddanswered   aApp[107]                                              // PC BDJ 02-06-09
#define d_lPhoneanswered aApp[108]                                              // PC BDJ 02-06-09
#define d_oCinvoice      aApp[109]                                              // PC BDJ 02-09-11
#define d_oProdcode1     aApp[110]                                              // PC FIS 03-16-12
#define d_oDlbutton1     aApp[111]                                              // PC FIS 04-02-12
#define d_oDlbutton2     aApp[112]                                              // PC FIS 04-02-12

#define d_oTabpage3      aApp[115]
#define d_oTabstatic3    aApp[116]
#define d_oPagegroup3    aApp[117]
#define d_oCommentbrowse aApp[118]
#define d_oPagegroup3a   aApp[119]

#define d_oTabpage4      aApp[120]                                              // PC FIS 10-08-08
#define d_oTabstatic4    aApp[121]                                              // PC FIS 10-08-08
#define d_oPagegroup4    aApp[122]                                              // PC FIS 10-08-08
#define d_oCalcgroup     aApp[123]
#define d_oLsubadjapr    aApp[124]
#define d_oLovrautdec    aApp[125]
#define d_oSellprice     aApp[126]
#define d_oRestype       aApp[127]                                              // PC FIS 03-02-06
#define d_oNmrecdbuyr    aApp[128]                                              // PC CAW 06-14-07
#define d_oTmthpay       aApp[129]                                              // PC CAW 11-29-07
#define d_oSubjadj       aApp[130]                                              // PC CAW 02-14-08
#define d_oPymtterms     aApp[131]                                              // PC FIS 06-30-08
#define d_cAppnames      aApp[132]                                              // PC FIS 10-08-08
#define d_oSecondarygroup aApp[133]                                             // PC CAW 11-20-08
#define d_oSendstatic    aApp[134]                                              // PC CAW 11-20-08
#define d_oCrdetdate     aApp[135]                                              // PC CAW 10-12-10
#define d_oPagegroup4a   aApp[136]
#define d_oProdcode2     aApp[137]                                              // PC FIS 03-16-12

#define d_oTabpage5       aApp[140]
#define d_oTabstatic5     aApp[141]
#define d_oPagegroup5     aApp[142]
#define d_oConditiongroup aApp[143]
#define d_oOtherinfogroup aApp[144]
#define d_oVerifygroup    aApp[145]
#define d_oVdate          aApp[146]
#define d_oRelfriend      aApp[147]                                             // PC FIS 06-13-05
#define d_oSubprimegroup  aApp[148]                                             // PC FIS 11-05-08 replaced d_oIncomesource
#define d_oServicinggroup aApp[149]                                             // PC FIS 11-14-07
#define d_oPagegroup5a    aApp[150]

#define d_oTabpage6      aApp[151]
#define d_oTabstatic6    aApp[152]
#define d_oPagegroup6    aApp[153]
#define d_oPagegroup6a   aApp[154]
#define d_oTermsgroup    aApp[155]
#define d_oAchgroup      aApp[156]
#define d_oCcgroup       aApp[157]
#define d_oOverachamt    aApp[158]
#define d_oAchstrdate    aApp[159]
#define d_oBankrnum      aApp[160]
#define d_oBankanum      aApp[161]
#define d_oOveracham2    aApp[162]
#define d_oBankrnum2     aApp[163]
#define d_oBankanum2     aApp[164]
#define d_oDnachdate     aApp[165]
#define d_oNachdayom1    aApp[166]
#define d_oCachcycle     aApp[167]
#define d_oWhosoldach    aApp[168]
#define d_cBankrtemp1    aApp[169]                                              // PC BDJ 08-03-11
#define d_cBankatemp1    aApp[170]                                              // PC BDJ 08-03-11
#define d_cBankrtemp2    aApp[171]                                              // PC BDJ 08-03-11
#define d_cBankatemp2    aApp[172]                                              // PC BDJ 08-03-11
#define d_cCrcardtemp    aApp[173]                                              // PC BDJ 08-03-11
#define d_cCrcmthtemp    aApp[174]                                              // PC BDJ 08-03-11
#define d_cCrcyrtemp     aApp[175]                                              // PC BDJ 08-03-11
#define d_cCrcnametemp   aApp[176]                                              // PC BDJ 08-03-11
#define d_oCcnum         aApp[177]                                              // PC BDJ 08-03-11
#define d_oExpdate       aApp[178]                                              // PC BDJ 08-03-11
#define d_oNameoncard    aApp[179]                                              // PC BDJ 08-03-11
#define d_oNccdayom1     aApp[180]                                              // PC BDJ 08-03-11
#define d_oNccdayom2     aApp[181]                                              // PC BDJ 08-03-11
#define d_oNccdayom3     aApp[182]                                              // PC BDJ 08-03-11
#define d_oNccdayom4     aApp[183]                                              // PC BDJ 08-03-11
#define d_oNccoveramt    aApp[184]                                              // PC BDJ 08-03-11
#define d_oNapr          aApp[185]                                              // PC BDJ 08-03-11
#define d_oNmth_pay      aApp[186]                                              // PC BDJ 08-03-11
#define d_oCcontdate     aApp[187]                                              // PC BDJ 08-03-11
#define d_oFpaydate      aApp[188]                                              // PC BDJ 08-03-11
#define d_nPriorapr      aApp[189]                                              // PC BDJ 08-03-11
#define d_nPriormthpay   aApp[190]                                              // PC BDJ 08-03-11
#define d_nPriornumpay   aApp[191]                                              // PC BDJ 08-03-11
#define d_nPrioramtreq   aApp[192]                                              // PC BDJ 08-03-11
#define d_lPriorcontinfo aApp[193]                                              // PC BDJ 08-03-11
#define d_oVdate6        aApp[194]                                              // PC FIS 01-26-12
                  
#define d_oTabpage7      aApp[200]
#define d_oTabstatic7    aApp[201]
#define d_oPagegroup7    aApp[202]
#define d_oProgramgroup1 aApp[204]
#define d_oProgramgroup2 aApp[205]
#define d_oProgramgroup3 aApp[206]
#define d_oProgramgroup4 aApp[207]
#define d_cText1         aApp[208]
#define d_cText1a        aApp[209]
#define d_cText2         aApp[210]
#define d_cText2a        aApp[211]
#define d_cText3         aApp[212]
#define d_cText3a        aApp[213]
#define d_cText4         aApp[214]
#define d_cText4a        aApp[215]
#define d_oContractgroup aApp[216]
#define d_oPagegroup7a   aApp[219]

#define d_oTabpage8      aApp[220]
#define d_oTabstatic8    aApp[221]
#define d_oPagegroup8    aApp[222]
#define d_oDate          aApp[223]                                              // PC FIS 01-30-08 was 143
#define d_oCreditgroup   aApp[224]                                              // PC FIS 01-30-08
#define d_oOthergroup    aApp[225]                                              // PC FIS 02-08-08
#define d_oPagegroup8a   aApp[226]

#define d_lFlag          aApp[230]                                              // PC CAW 05-02-04 LOCK RELEASE TEST
#define d_nRecnum        aApp[231]                                              // PC CAW 05-02-04 LOCK RELEASE TEST
#define d_cWkappnum      aApp[232]
#define d_lDisplayerror  aApp[233]
#define d_lTransferred   aApp[234]                                              // PC FIS 01-14-08
#define d_aApprcond      aApp[235]                                              // PC FIS 10-28-08
#define d_aDenlcond      aApp[236]                                              // PC FIS 10-28-08
#define d_bEvalstips     aApp[237]                                              // PC FIS 10-28-08
#define d_cDealapass     aApp[238]                                              // PC CAW 01-14-11
#define d_lUnlock        aApp[239]                                              // PC CAW 01-14-11
#define d_cLappnum       aApp[240]                                              // PC CAW 01-14-11

#define d_oPagestatic     aApp[250]                                             // PC BDJ 09-01-11
#define d_oPaperworkgroup aApp[251]                                             // PC BDJ 09-01-11
#define d_oProblemgroup   aApp[252]                                             // PC BDJ 09-01-11
#define d_lFcaopt100      aApp[253]                                             // PC FIS 03-16-12
#define d_oDlicnum1       aApp[254]                                             // PC FIS 04-13-12 on tabpage 2
#define d_oDlicnum2       aApp[255]                                             // PC FIS 04-13-12 on tabpage 2



*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+      STATIC FUNCTION S_DoCheckValid(abort, aApp, GetList)
*+
*+      Checks for whether special conditions are met prior to saving record
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
STATIC FUNCTION S_DoCheckValid(abort, aApp, GetList)
//  LOCAL aChecks := { {2,d_oStatecode, {|| LB_bvalexp({||!(empty(m->cstatecode).AND.m->approved=='A')},, ;
//                                          "Missing state code for approved application")} },            ;

  LOCAL aChecks := { {2,d_oStatecode, {|| LB_bvalexp({||!empty(m->cstatecode)},,                        ;       // PC CAW 08-06-07 changed to checking always
                                          "Missing contract state code")} },                            ;       // PC CAW 08-06-07        
                     {2,d_oRelation,  {|| IIF(EMPTY(m->coappfname),.T.,                                 ;       // PC FIS 03-02-06   // PC FIS 03-10-06 // PC CAW 07-06-09 added back in
                                              LB_bvalexp({||!empty(m->crelation)},,                     ;       // PC FIS 03-02-06   // PC FIS 03-10-06
                                                            "Missing relationship")  ) }},              ;       // PC FIS 03-02-06   // PC FIS 03-10-06
                     {2,d_oSsn1,      {|| LB_bvalexp({|x|!'*' $ x}, m->SSN1,                            ;       // PC FIS 05-10-07
                                          "SSN contains a *, Cancel edit and call IT immediately")} },    ;       // PC FIS 05-10-07
                     {2,d_oSsn2,      {|| LB_bvalexp({|x|!'*' $ x}, m->SSN2,                            ;       // PC FIS 05-10-07
                                          "SSN contains a *, Cancel edit and call IT immediately")} },    ;       // PC FIS 05-10-07
                     {2,d_oSsn1,      {|| LB_bvalexp({||!empty(m->SSN1).OR.m->lIscanada},,              ;       // PC FIS 05-12-05      // PC CAW 08-23-06 added liscanada exclusion
                                          "Missing customer SSN1")} },                                  ;       // PC FIS 05-12-05
                     {2,d_oSsn2,      {|| LB_bvalexp({||!(empty(m->SSN2) .AND. !empty(m->coappfname))    ;      // PC FIS 04-13-12
                                                        .OR. m->lIscanada},,                            ;       // PC FIS 04-13-12
                                          "Missing customer SSN2")} },                                  ;       // PC FIS 04-13-12
                     {2,d_oDlicnum1 , {|| LB_bvalexp({||!(empty(m->dlicnum1).AND.CONFIG->lReqDLicNm)},, ;       // PC CAW 01-04-05 added next 2 checks // PC FIS 04-13-12
                                          "Missing driver's license number #1")} },                     ;
                     {2,d_oDlicnum2,  {|| LB_bvalexp({||!(empty(m->dlicnum2).AND.CONFIG->lReqDLicNm.AND.!empty(m->coappfname))},, ; // PC FIS 04-13-12
                                          "Missing driver's license number #2")} },                     ;
                     {2,d_oCinvoice,  {|| LB_bvalexp({||!(empty(m->cinvoice).AND.DEALER->lreqinv.AND.d_lAddmode)},, ;                   // PC CAW 02-09-11
                                          "Missing reference number")} },                               ;
                     {2,d_oEquiptype, {|| IIF(FCA_GetOption(OPT_REQUIRE_EQUIP_TYPE_HVAC) .AND.          ;       // PC CAW 03-21-12
                                              AC_HVACDlr(m->dealernum),                                 ;       // PC FIS 03-02-06      
                                              LB_bvalexp({||!empty(m->cequiptype)},,                    ;       // PC FIS 03-02-06
                                                           "Equipment Type cannot be blank"),           ;       // PC FIS 03-02-06
                                              .T.) } },                                                 ;       // PC FIS 03-02-06
                     {2,d_oA1occupat, {|| iif(FCA_GetOption(OPT_REQUIRE_OCCUPATION) .AND.               ;       // PC CAW 12-29-07      
                                              (d_lAddmode .OR. !(m->ca1occupat==APPS->ca1occupat)),     ;       // PC CAW 12-29-07      
                                              LB_bvalexp({||!empty(m->ca1occupat)},,                    ;       // PC CAW 12-29-07
                                                           "Applicant position cannot be blank"),       ;       // PC CAW 12-29-07
                                              .T.) } },                                                 ;       // PC CAW 12-29-07
                     {2,d_oA2occupat, {|| iif(FCA_GetOption(OPT_REQUIRE_OCCUPATION) .AND.               ;       // PC CAW 12-29-07      
                                              !empty(m->CoAppFName) .AND.                               ;       // PC CAW 12-29-07
                                              (d_lAddmode .OR. !(m->ca2occupat==APPS->ca2occupat)),     ;       // PC CAW 12-29-07      
                                              LB_bvalexp({||!empty(m->ca2occupat)},,                    ;       // PC CAW 12-29-07
                                                           "Co-applicant position cannot be blank"),    ;       // PC CAW 12-29-07
                                              .T.) } },                                                 ;       // PC CAW 12-29-07
                     {2,d_oProdcode1, {|| LB_bvalexp({|| AC_ValProdCode(d_lAddmode,d_lFcaopt100,        ;       // PC FIS 03-16-12
                                                                        APPS->whodetermn,m->dealernum,  ;       // PC FIS 03-16-12
                                                                        APPS->acctcoll,m->acctcoll)},,  ;       // PC FIS 03-16-12
                                          "You must select an active Product Code")} },                 ;       // PC FIS 03-16-12
                     {2,d_oDlbutton1, {|| AC_CheckDLDates(m->dlicnum1,m->dadliciss,m->dadlicexp,.F.,    ;       // PC FIS 04-02-12
                                                          SPACE(40)    )} },                            ;       // PC FIS 04-02-12
                     {2,d_oDlbutton2, {|| AC_CheckDLDates(m->dlicnum2,m->dcadliciss,m->dcadlicexp,.T.,  ;       // PC FIS 04-02-12
                                                          m->coappfname)} },                            ;       // PC FIS 04-02-12
                     {4,d_oRestype,   {|| iif(FCA_GetOption(OPT_REQUIRE_RESIDENCE_TYPE),                ;
                                              S_ValidateField(aApp, "Residence Type", m->crestype,      ;
                                                              APPS->crestype ),.T.)} },                 ;       // PC CAW 08-16-06      // PC CAW 05-10-12 added FCA_GetOption()
                     {4,d_oApproved,  {|| LB_bvalexp({|| !(m->approved == 'A' .AND. m->bought ) },,     ;       // PC FIS 07-16-07
                                                     "Cannot approve a cancelled application")} },      ;       // PC FIS 07-16-07
                     {4,d_oSubjadj,   {|| S_SubjAdjValidation(m->nESFactor,                             ;       // FICO score factor    // PC BDJ 02-04-08
                                                              m->nTIFactor,                             ;       // Total Income Factor
                                                              m->nUDFactor,                             ;       // Revolving Debt Factor
                                                              m->nYrJFactor,                            ;       // Years on Job Factor
                                                              m->nYrRFactor,                            ;       // Years at Residence Factor
                                                              m->nDRFactor,                             ;       // Debt Ratio Factor
                                                              m->nPMFactor,                             ;       // Payment method factor
                                                              m->nResFactor,                            ;       // Residence type factor
                                                              m->nDPFactor,                             ;       // Down Payment Factor
                                                              m->nTermFact,                             ;       // Term Length Factor
                                                              m->nTrYrFact,                             ;       // Trade years Factor
                                                              m->njointfact,                            ;       // No Joint App Factor
                                                              m->noincfact,                             ;       // Other Income Factor
                                                              m->nnusfact,                              ;       // New UnSecured Debt Factor
                                                              m->nbankfact,                             ;       // Bankruptcy factor
                                                              m->ncrtfact,                              ;       // Credit Type Factor
                                                              m->nsprgfact,                             ;       // Special Program Factor
                                                              m->nrndfact,                              ;       // Rounding Factor
                                                              m->ncsfactor,                             ;       // Custom Score Factor
                                                              m->nnonhofact,                            ;       // Non-Homeowner Factor
                                                              m->nsubjadj)} },                          ;       // Subjective Adjustment Factor
                     {6,d_oNapr,       {|| S_ValAPR(m->mad_apr,d_nPriorapr,@m->mad_lapraprval,m->amtrequest,m->num_pymt,                ; // PC BDJ 08-03-11
                                                    m->mad_mth_pay,m->ccrtype,m->mad_lcontinfo)}}                                       ; // PC BDJ 08-03-11
                    }

  RETURN NIL

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#3 Post by rdonnay »

Ok, I will remove the IIF command from dcdialog.ch.

I thought it was a good idea, but I guess I was wrong.
I never saw any problems in my apps.
The eXpress train is coming - and it has more cars.

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#4 Post by rdonnay »

After a long discussion with Bobby Drakos, he convinced me that I caved on this issue way to soon.

I agree with him, but I have had a difficulty with an eye infection today and looking at these hundreds of lines of posted code just made my head hurt.

I suspect that there is not another person out there who will experience this problem.

Xbase++ has always had a problem with compiling large array definitions.
This is why I redesigned the way eXpress++ builds the Getlist in DCDIALOG.CH a long time ago.
I changed from large definitions to AAdds().
The eXpress train is coming - and it has more cars.

skiman
Posts: 1185
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#5 Post by skiman »

rdonnay wrote:Ok, I will remove the IIF command from dcdialog.ch.

I thought it was a good idea, but I guess I was wrong.
Roger, it is a good idea, and I'm using it successfully.

I added the command to my own include files, since I'm not using 257 by now.
Best regards,

Chris.
www.aboservice.be

User avatar
sdenjupol148
Posts: 151
Joined: Thu Jan 28, 2010 10:27 am
Location: NYC

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#6 Post by sdenjupol148 »

Chris,

I agree; it is a good idea and a very useful one.

I also have not had any compile problems with any of my projects.
I hope that Cliff will have the time to break down the array into Aadd() functions; then we maybe we will find where the compile hangs.

I told Roger that we shouldn't just abandon the idea, but rather, debug it so it works in every situation.
But without sample code as Roger so often points out, that's hard to do.

My two cents.

Bobby

Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#7 Post by Cliff Wiernik »

I have no problem converting to AAdds. I will try this as I also would like to the use new command to make things easier.

To be honest, using AAdds would be easier for development as it is easier to debug.

I will let you know the results shortly for this code.

Cliff.

Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#8 Post by Cliff Wiernik »

Okay,

I converted the lengthy array definition to instead use multiple AADDs. When using the new 257 dcdialog.ch, no problems were encountered.

I did not get a compiler lockup it is not really a concern. In my testing, even when I reduced the amount of code, at a certain point it would start working. Likely some type of internal compiler problem.

Cliff.

Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#9 Post by Cliff Wiernik »

At this point, the problem only appeared to affect one program. Many more have long array definitions. So I only changed the one offending on to an AADD at this point and will do the rest as time permits.

Cliff.

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Compile Lockup with 257 dcdialog.ch IF clause changes

#10 Post by rdonnay »

Cliff -

That was a good choice. When I looked at your code, I couldn't imagine how you could maintain this.
I think you will notice an improvement in compile-time performance too.

Roger
The eXpress train is coming - and it has more cars.

Post Reply