ECL_Error.xml 203 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
  4. <book>
  5. <bookinfo>
  6. <title>ECL Error Reference</title>
  7. </bookinfo>
  8. <chapter id="ECL_ERRORS">
  9. <title>ECL ERRORS</title>
  10. <sect1 id="ECL_ERROR_CODES">
  11. <title>ECL ERROR CODES</title>
  12. <para>This Chapter features ECL Error Codes</para>
  13. </sect1>
  14. <sect1 id="_1">
  15. <title>1</title>
  16. <indexterm>
  17. <primary>1</primary>
  18. </indexterm>
  19. <para>no resulting expression tree</para>
  20. </sect1>
  21. <sect1 id="_2">
  22. <title>2</title>
  23. <indexterm>
  24. <primary>2</primary>
  25. </indexterm>
  26. <para>"there is an expression tree, but should not be executed"</para>
  27. </sect1>
  28. <sect1 id="_3">
  29. <title>3</title>
  30. <indexterm>
  31. <primary>3</primary>
  32. </indexterm>
  33. <para></para>
  34. </sect1>
  35. <sect1 id="_1001">
  36. <title>1001</title>
  37. <indexterm>
  38. <primary>1001</primary>
  39. </indexterm>
  40. <para><emphasis role="bold">Error in macro expansion (see error
  41. follows)</emphasis></para>
  42. <para>This warning indicates there is an error in the macro expansion.
  43. Since the compiler will issue an error in the macro, this warning is used
  44. only for informational purposes; it gives the position where the macro is
  45. called to help the user trace down the problem.</para>
  46. <para>Solution: Resolve the error that follows this warning first.
  47. Example:</para>
  48. <programlisting> 01: f(x) := MACRO
  49. 02: x+3;
  50. 03: ENDMACRO;
  51. 04:
  52. 05: EXPORT aaa := f(4);
  53. </programlisting>
  54. <para>In line 1-3, a value macro f is defined. This is a value macro
  55. because it has no Attribute defini- tions. That means the macro body must
  56. be legal to appear wherever a value expression may appear. Clearly, the
  57. semicolon at the end of line 2 is extraneous, so this warning saying that
  58. there is an error in the macro expansion at line 5 appears, and an error
  59. following this warning says the error is in line 2 of the macro.</para>
  60. </sect1>
  61. <sect1 id="_1004">
  62. <title>1004</title>
  63. <indexterm>
  64. <primary>1004</primary>
  65. </indexterm>
  66. <para><emphasis role="bold">LOCAL specified on dataset that is not
  67. Distributed</emphasis></para>
  68. <para>In a SORT or JOIN function, LOCAL can be specified to indicate that
  69. the sort or join should be performed while maintaining the distribution of
  70. a previously distributed dataset. A dataset is consided to be distributed
  71. if:</para>
  72. <para>• it has been explicitly distributed as the result of the DISTRIBUTE
  73. function</para>
  74. <para>• it is defined as already distributed by the DISTRIBUTED
  75. function</para>
  76. <para>Solution: Use DISTRIBUTE or DISTRIBUTED to distribute the dataset,
  77. or remove the LO- CAL option.</para>
  78. <para>Example:</para>
  79. <programlisting> 01: aaa := DATASET(‘aaa’,{STRING1 f1}, FLAT);
  80. 02: distibuted_aaa := DISTRIBUTE(aaa, RANDOM());
  81. 03: distibuted_aaax := DISTRIBUTED(aaa, RANDOM());
  82. 04:
  83. 05: OUTPUT(SORT(aaa, f1, LOCAL));
  84. 06: OUTPUT(SORT(distibuted_aaa, f1, LOCAL));
  85. 07: OUTPUT(SORT(distibuted_aaax, f1, LOCAL));
  86. </programlisting>
  87. <para>There are 3 datasets defined (in lines 1, 2, 3). We use the LOCAL
  88. option to sort them (in lines 5,</para>
  89. <para>6, 7). The first one is not distributed, therefore we get this
  90. warning in the SORT on line 5. The</para>
  91. <para>second is the result of the DISTRIBUTE function, and the third is
  92. specified as already DIS-</para>
  93. <para>TRIBUTED. Therefore, lines 6 and 7 compile without warning or
  94. error.</para>
  95. </sect1>
  96. <sect1 id="_1005">
  97. <title>1005</title>
  98. <indexterm>
  99. <primary>1005</primary>
  100. </indexterm>
  101. <para><emphasis role="bold">Input is explicitly Distribited but Local not
  102. specified</emphasis></para>
  103. <para>In a SORT or JOIN function, the dataset(s) involved is(are)
  104. distributed, but LOCAL is not</para>
  105. <para>explicitly specified. See Warning C1004 for information on
  106. distributed.</para>
  107. <para>Solution: Add the LOCAL option, or make sure the dataset is not
  108. distributed. Example:</para>
  109. <programlisting> 01: aaa := DATASET(‘aaa’,{STRING1 fa; }, FLAT);
  110. 02: distibuted_aaa := DISTRIBUTE(aaa, RANDOM());
  111. 03: distibuted_aaax := DISTRIBUTED(aaa, RANDOM());
  112. 04:
  113. 05: OUTPUT(SORT(distibuted_aaa, fa));
  114. 06: OUTPUT(SORT(distibuted_aaax, fa));
  115. </programlisting>
  116. <para>On lines 5 and 6, distributed_aaa and distributed_aaax are
  117. distributed, but no LOCAL option is specified in the SORT. Adding ,LOCAL
  118. to the SORT in lines 5 and 6 will fix this problem.</para>
  119. </sect1>
  120. <sect1 id="_1006">
  121. <title>1006</title>
  122. <indexterm>
  123. <primary>1006</primary>
  124. </indexterm>
  125. <para><emphasis role="bold">CASE does not have any
  126. condition</emphasis></para>
  127. <para>No condition is given for the CASE statement. This makes the CASE
  128. statement unnecessary under the normal situation. This is allowed for easy
  129. use for some special circumstances, like automatic code generation using
  130. ECL template language.</para>
  131. <para>Solution: Make sure this is what you wanted. Example:</para>
  132. <programlisting> INTEGER i := 10;
  133. INTEGER j := CASE(i, 3);
  134. for other reasons.</programlisting>
  135. </sect1>
  136. <sect1 id="_1007">
  137. <title>1007</title>
  138. <indexterm>
  139. <primary>1007</primary>
  140. </indexterm>
  141. <para>Module occurs twice in scope</para>
  142. </sect1>
  143. <sect1 id="_1010">
  144. <title>1010</title>
  145. <indexterm>
  146. <primary>1010</primary>
  147. </indexterm>
  148. <para><emphasis role="bold">Unsupported language feature</emphasis></para>
  149. <para>The language feature for which this warning appears is not supported
  150. yet. However, the parser can recognize this feature. This means either it
  151. is under development, or is deliberately left out</para>
  152. <para>Solution: Make sure your QueryBuilder program is the latest version.
  153. The feature may be sup- ported already in a newer version than the one
  154. your are using. Otherwise, find a workaround solution for you
  155. problem.</para>
  156. <para>Example:</para>
  157. <programlisting>
  158. 01: aaa := DATASET(‘aaa’, {STRING1 fa; }, FLAT);
  159. 02: a1 := aaa(fa = ‘a’);
  160. 03: a2 := aaa(fa = ‘b’);
  161. 04: OUTPUT(a1-a2);
  162. </programlisting>
  163. <para>We get this error on line 4 if the dataset difference operation is
  164. not supported yet. NOTE: It may be already supported when you read
  165. this!</para>
  166. </sect1>
  167. <sect1 id="_1012">
  168. <title>1012</title>
  169. <indexterm>
  170. <primary>1012</primary>
  171. </indexterm>
  172. <para>';' is not legal here (empty statement is not allowed)</para>
  173. </sect1>
  174. <sect1 id="_1013">
  175. <title>1013</title>
  176. <indexterm>
  177. <primary>1013</primary>
  178. </indexterm>
  179. <para>A field in transform already assigned a value</para>
  180. </sect1>
  181. <sect1 id="_1014">
  182. <title>1014</title>
  183. <indexterm>
  184. <primary>1014</primary>
  185. </indexterm>
  186. <para>physicalLength is not needed, ignored</para>
  187. </sect1>
  188. <sect1 id="_1015">
  189. <title>1015</title>
  190. <indexterm>
  191. <primary>1015</primary>
  192. </indexterm>
  193. <para>Module is already imported</para>
  194. </sect1>
  195. <sect1 id="_1016">
  196. <title>1016</title>
  197. <indexterm>
  198. <primary>1016</primary>
  199. </indexterm>
  200. <para>Syntax obsoleted: use alternative</para>
  201. </sect1>
  202. <sect1 id="_1017">
  203. <title>1017</title>
  204. <indexterm>
  205. <primary>1017</primary>
  206. </indexterm>
  207. <para>Empty assignall has no effort</para>
  208. </sect1>
  209. <sect1 id="_1018">
  210. <title>1018</title>
  211. <indexterm>
  212. <primary>1018</primary>
  213. </indexterm>
  214. <para>Unsupported service attribute</para>
  215. </sect1>
  216. <sect1 id="_1019">
  217. <title>1019</title>
  218. <indexterm>
  219. <primary>1019</primary>
  220. </indexterm>
  221. <para>An service attribute does not need a value</para>
  222. </sect1>
  223. <sect1 id="_1020">
  224. <title>1020</title>
  225. <indexterm>
  226. <primary>1020</primary>
  227. </indexterm>
  228. <para>Module name mismatch</para>
  229. </sect1>
  230. <sect1 id="_1021">
  231. <title>1021</title>
  232. <indexterm>
  233. <primary>1021</primary>
  234. </indexterm>
  235. <para>OUTPUT record contains no variables - probably an error</para>
  236. </sect1>
  237. <sect1 id="_1022">
  238. <title>1022</title>
  239. <indexterm>
  240. <primary>1022</primary>
  241. </indexterm>
  242. <para>Condition is always true</para>
  243. </sect1>
  244. <sect1 id="_1023">
  245. <title>1023</title>
  246. <indexterm>
  247. <primary>1023</primary>
  248. </indexterm>
  249. <para>Condition is always false</para>
  250. </sect1>
  251. <sect1 id="_1024">
  252. <title>1024</title>
  253. <indexterm>
  254. <primary>1024</primary>
  255. </indexterm>
  256. <para>#WARNING statement</para>
  257. </sect1>
  258. <sect1 id="_1025">
  259. <title>1025</title>
  260. <indexterm>
  261. <primary>1025</primary>
  262. </indexterm>
  263. <para>Duplicate case values</para>
  264. </sect1>
  265. <sect1 id="_1026">
  266. <title>1026</title>
  267. <indexterm>
  268. <primary>1026</primary>
  269. </indexterm>
  270. <para>Local will be ignored for a grouped dataset</para>
  271. </sect1>
  272. <sect1 id="_1027">
  273. <title>1027</title>
  274. <indexterm>
  275. <primary>1027</primary>
  276. </indexterm>
  277. <para>Local expected</para>
  278. </sect1>
  279. <sect1 id="_1028">
  280. <title>1028</title>
  281. <indexterm>
  282. <primary>1028</primary>
  283. </indexterm>
  284. <para>Grouping will be ignored.</para>
  285. </sect1>
  286. <sect1 id="_1029">
  287. <title>1029</title>
  288. <indexterm>
  289. <primary>1029</primary>
  290. </indexterm>
  291. <para>No longer used (this is now an error, not a warning)</para>
  292. </sect1>
  293. <sect1 id="_1030">
  294. <title>1030</title>
  295. <indexterm>
  296. <primary>1030</primary>
  297. </indexterm>
  298. <para>Counter not used in transform</para>
  299. </sect1>
  300. <sect1 id="_1031">
  301. <title>1031</title>
  302. <indexterm>
  303. <primary>1031</primary>
  304. </indexterm>
  305. <para>Merge inputs don't appear to be sorted</para>
  306. </sect1>
  307. <sect1 id="_1032">
  308. <title>1032</title>
  309. <indexterm>
  310. <primary>1032</primary>
  311. </indexterm>
  312. <para>Merge inputs don't appear to match</para>
  313. </sect1>
  314. <sect1 id="_1033">
  315. <title>1033</title>
  316. <indexterm>
  317. <primary>1033</primary>
  318. </indexterm>
  319. <para>Definition is sandboxed</para>
  320. </sect1>
  321. <sect1 id="_1034">
  322. <title>1034</title>
  323. <indexterm>
  324. <primary>1034</primary>
  325. </indexterm>
  326. <para>Definition reference sandbox</para>
  327. </sect1>
  328. <sect1 id="_1035">
  329. <title>1035</title>
  330. <indexterm>
  331. <primary>1035</primary>
  332. </indexterm>
  333. <para>regular expression syntax</para>
  334. </sect1>
  335. <sect1 id="_1036">
  336. <title>1036</title>
  337. <indexterm>
  338. <primary>1036</primary>
  339. </indexterm>
  340. <para>deprecated syntax</para>
  341. </sect1>
  342. <sect1 id="_1037">
  343. <title>1037</title>
  344. <indexterm>
  345. <primary>1037</primary>
  346. </indexterm>
  347. <para>group input does not appear to be sorted</para>
  348. </sect1>
  349. <sect1 id="_1038">
  350. <title>1038</title>
  351. <indexterm>
  352. <primary>1038</primary>
  353. </indexterm>
  354. <para></para>
  355. </sect1>
  356. <sect1 id="_1039">
  357. <title>1039</title>
  358. <indexterm>
  359. <primary>1039</primary>
  360. </indexterm>
  361. <para></para>
  362. </sect1>
  363. <sect1 id="_1040">
  364. <title>1040</title>
  365. <indexterm>
  366. <primary>1040</primary>
  367. </indexterm>
  368. <para></para>
  369. </sect1>
  370. <sect1 id="_1041">
  371. <title>1041</title>
  372. <indexterm>
  373. <primary>1041</primary>
  374. </indexterm>
  375. <para></para>
  376. </sect1>
  377. <sect1 id="_1042">
  378. <title>1042</title>
  379. <indexterm>
  380. <primary>1042</primary>
  381. </indexterm>
  382. <para></para>
  383. </sect1>
  384. <sect1 id="_1043">
  385. <title>1043</title>
  386. <indexterm>
  387. <primary>1043</primary>
  388. </indexterm>
  389. <para></para>
  390. </sect1>
  391. <sect1 id="_1044">
  392. <title>1044</title>
  393. <indexterm>
  394. <primary>1044</primary>
  395. </indexterm>
  396. <para></para>
  397. </sect1>
  398. <sect1 id="_1045">
  399. <title>1045</title>
  400. <indexterm>
  401. <primary>1045</primary>
  402. </indexterm>
  403. <para></para>
  404. </sect1>
  405. <sect1 id="_1046">
  406. <title>1046</title>
  407. <indexterm>
  408. <primary>1046</primary>
  409. </indexterm>
  410. <para></para>
  411. </sect1>
  412. <sect1 id="_1047">
  413. <title>1047</title>
  414. <indexterm>
  415. <primary>1047</primary>
  416. </indexterm>
  417. <para></para>
  418. </sect1>
  419. <sect1 id="_1048">
  420. <title>1048</title>
  421. <indexterm>
  422. <primary>1048</primary>
  423. </indexterm>
  424. <para></para>
  425. </sect1>
  426. <sect1 id="_1049">
  427. <title>1049</title>
  428. <indexterm>
  429. <primary>1049</primary>
  430. </indexterm>
  431. <para></para>
  432. </sect1>
  433. <sect1 id="_2000">
  434. <title>2000</title>
  435. <indexterm>
  436. <primary>2000</primary>
  437. </indexterm>
  438. <para></para>
  439. </sect1>
  440. <sect1 id="_2001">
  441. <title>2001</title>
  442. <indexterm>
  443. <primary>2001</primary>
  444. </indexterm>
  445. <para><emphasis role="bold">Type mismatch - Real value
  446. expected</emphasis></para>
  447. <para>In the context where the error occurs, a real value is expected. A
  448. real value can be an real con- stant, or an expression that evaluates to a
  449. real value. Therefore, 12, 12.34, LOG(0.4)+3, are valid, but ‘12.34’ and
  450. ‘String’ are not.</para>
  451. <para>Solution: Make sure the expression in question evaluates to a real
  452. number. A string constant, like ‘123.2’ is NOT a real number. For C
  453. programmers, don’t think ‘C’ or ‘1’ is a char, and therefore can be used
  454. as an integer (or real); there is no char type in ECL. Type casting may be
  455. needed in some cases. For example: (REAL4)‘12.34’ creates a valid real
  456. value by casting the strinf to real. Checking the code before and after
  457. the offending code often helps.</para>
  458. <para>Example:</para>
  459. <programlisting> 01: v1 := EXP(‘STR’);
  460. 02: v2 := LN(‘STR’);
  461. 03: v3 := LOG(‘STR’);
  462. 04: v4 := POWER(‘STR’, 12);
  463. 05: v5 := ROUND(‘STR’);
  464. 06: v6 := ROUNDUP(‘STR’);
  465. 07: v7 := SQRT(‘STR’);
  466. 08: v8 := TRUNCATE(‘STR’);
  467. 09: v9 := REALFORMAT(‘STR’,3,4);
  468. </programlisting>
  469. <para>These examples all need to change to a real value. All the functions
  470. expect real value as the first parameters.</para>
  471. </sect1>
  472. <sect1 id="_2002">
  473. <title>2002</title>
  474. <indexterm>
  475. <primary>2002</primary>
  476. </indexterm>
  477. <para><emphasis role="bold">Type mismatch – Integer value
  478. expected</emphasis></para>
  479. <para>An integer value is expected in the context. An integer value can be
  480. an integer constant, or an</para>
  481. <para>expression that evaluates to an integer value The following is a
  482. (not necessarily complete) list</para>
  483. <para>where an integer value is expected:</para>
  484. <para>• BIG_ENDIAN value</para>
  485. <para>• LITTLE_ENDIAN value</para>
  486. <para>• WAIT (value)</para>
  487. <para>• expr1 op expr2, where op can be: %, DIV, &amp;, |, ^</para>
  488. <para>• substring range: [ start_index .. end_index]</para>
  489. <para>• CHOOSE(expr, choose_list)</para>
  490. <para>• CHOOSEN(dataset, value)</para>
  491. <para>• DEDUP(…, KEEP value)</para>
  492. <para>• INTFORMAT(value1, value2, value3)</para>
  493. <para>• REALFORMAT(real_value, value1, value2) All bold expressions must
  494. be integer values.</para>
  495. <para>Solution: Make sure the value is an integer value. Use type cast if
  496. necessary. Example:</para>
  497. <programlisting> 01: WAIT(‘STR’);
  498. 02: v1 := <emphasis role="bold">10.2 </emphasis>% <emphasis
  499. role="bold">11.2</emphasis>;
  500. 03: v2 := <emphasis role="bold">10.2 </emphasis>DIV <emphasis
  501. role="bold">11.2</emphasis>;
  502. 04: v3 := <emphasis role="bold">10.2 </emphasis>| <emphasis
  503. role="bold">11.2</emphasis>;
  504. 05: v4 := <emphasis role="bold">10.2 </emphasis>&amp; <emphasis
  505. role="bold">11.2</emphasis>;
  506. 06: v5 := <emphasis role="bold">10.2 </emphasis>^ <emphasis
  507. role="bold">11.2</emphasis>;
  508. 07: STRING s := ‘This is a string.’;
  509. 08: s[<emphasis role="bold">0.23</emphasis>];
  510. 09: s[<emphasis role="bold">0.23</emphasis>..<emphasis role="bold">2.34</emphasis>];
  511. 10: s[..<emphasis role="bold">2.3</emphasis>];
  512. 11: s[<emphasis role="bold">2.3</emphasis>..];
  513. 12: INTFORMAT(<emphasis role="bold">1.2</emphasis>, <emphasis
  514. role="bold">2.2</emphasis>, <emphasis role="bold">3.3</emphasis>);
  515. 13: REALFORMAT(1.0, <emphasis role="bold">2.0</emphasis>, <emphasis
  516. role="bold">3.0</emphasis>);
  517. 14: CHOOSE(<emphasis role="bold">3.2</emphasis>, 9, 8, 7, 6, 5);
  518. 15: aaa := DATASET(‘aaa’,{STRING1 fa; }, FLAT);
  519. 16: OUTPUT(choosen(aaa,<emphasis role="bold">10.2</emphasis>));
  520. 17: OUTPUT(DEDUP(aaa, fa = ‘A’, KEEP <emphasis role="bold">2.2</emphasis>));
  521. </programlisting>
  522. <para>All bold expressions cause such an error.</para>
  523. </sect1>
  524. <sect1 id="_2003">
  525. <title>2003</title>
  526. <indexterm>
  527. <primary>2003</primary>
  528. </indexterm>
  529. <para><emphasis role="bold">Type mismatch - String value
  530. expected</emphasis></para>
  531. <para>A string value is expected. A string value can be a string constant,
  532. or an expression that evaluates</para>
  533. <para>to a string value. The following is a list that a string is
  534. expected:</para>
  535. <para>• EVENT(expr1, expr2)</para>
  536. <para>• LENGTH(value)</para>
  537. <para>• TRIM(value [, options])</para>
  538. <para>All bold expressions must be string values.</para>
  539. <para>For C/C++/Java/Pascal etc programmers, string constants are enclosed
  540. in single quotes (‘’) in ECL, not double quotes (“”). Also, ECL currently
  541. only supports two escape sequences: \’ and \\ which stands for the single
  542. quote and backslash. Support for more escape sequences may be added as
  543. needed in the future.</para>
  544. <para>Solution: Make sure the expression is a string constant or evaluates
  545. to a string value. Use type cast or TRANSFER as needed.</para>
  546. <para>Example:</para>
  547. <programlisting> 01: WAIT(EVENT(123, TRUE));
  548. 02: len := LENGTH(123);
  549. 03: STRING s:= TRIM(123);</programlisting>
  550. </sect1>
  551. <sect1 id="_2004">
  552. <title>2004</title>
  553. <indexterm>
  554. <primary>2004</primary>
  555. </indexterm>
  556. <para><emphasis role="bold">Type mismatch - Integer or real value
  557. expected</emphasis></para>
  558. <para>An integer or real value is expected. It can be an integer constant,
  559. real constant, or an expression that evaluates to a real or integer value.
  560. The following is a list of cases where an integer or</para>
  561. <para>real value is expected:</para>
  562. <para>• expr1 + epxr2</para>
  563. <para>• expr1 – expr2</para>
  564. <para>• POWER(value1, value2)</para>
  565. <para>• AVE(dataset, expr)</para>
  566. <para>• AVE(GROUP, expr)</para>
  567. <para>• DISTRIBUTE(dataset, value)</para>
  568. <para>• DISTRIBUTED(dataset, value, tranform) This error is the same as
  569. error C2072.</para>
  570. <para>Solution: Make sure it is a integer or real value. Use type casting
  571. if necessary. Example:</para>
  572. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa; }, FLAT);
  573. 02: i := 3 + <emphasis role="bold">TRUE</emphasis>;
  574. 03: j := 4 - <emphasis role="bold">TRUE</emphasis>;
  575. 04: x1 := POWER(20, <emphasis role="bold">TRUE</emphasis>);
  576. 05: x2 := AVE(aaa, <emphasis role="bold">‘string’</emphasis>);
  577. 06: x3 := AVE(GROUP, <emphasis role="bold">‘string’</emphasis>);
  578. 07: d1 := DISTRIBUTE(aaa, <emphasis role="bold">‘abc’</emphasis>);
  579. 08: d2 := DISTRIBUTED(aaa, <emphasis role="bold">TRUE</emphasis>);
  580. </programlisting>
  581. <para>All bold expressions are expected to be integer or real
  582. value.</para>
  583. </sect1>
  584. <sect1 id="_2005">
  585. <title>2005</title>
  586. <indexterm>
  587. <primary>2005</primary>
  588. </indexterm>
  589. <para><emphasis role="bold">Table type mismatch</emphasis></para>
  590. <para>???</para>
  591. <para>Solution: Example:</para>
  592. </sect1>
  593. <sect1 id="_2006">
  594. <title>2006</title>
  595. <indexterm>
  596. <primary>2006</primary>
  597. </indexterm>
  598. <para><emphasis role="bold">Record type mismatch</emphasis></para>
  599. <para>???</para>
  600. <para>Solution: Example:</para>
  601. </sect1>
  602. <sect1 id="_2007">
  603. <title>2007</title>
  604. <indexterm>
  605. <primary>2007</primary>
  606. </indexterm>
  607. <para><emphasis role="bold">Incompatible types</emphasis></para>
  608. <para>There is a type incompatiblity problem here. This normally a result
  609. of some other error, like</para>
  610. <para>“Integer value is expected”.</para>
  611. <para>Solution: Resolve the error before this one (if any) first,
  612. otherwise, make sure the types are compatible.</para>
  613. <para>Example:</para>
  614. <programlisting> 01: i := 3 + TRUE;
  615. 02: STRING20 s := ‘ABC’;
  616. 03: TYPEOF(s) y := 10;
  617. </programlisting>
  618. <para>First, an Error C2004 will be reported by the compiler, then this
  619. error will be reported. For line</para>
  620. <para>3, since TYPEOF(s) is STRING20, so we such an error for assignment
  621. :=10.</para>
  622. </sect1>
  623. <sect1 id="_2008">
  624. <title>2008</title>
  625. <indexterm>
  626. <primary>2008</primary>
  627. </indexterm>
  628. <para><emphasis role="bold">Type does not require
  629. parameters</emphasis></para>
  630. <para>No parameter is required for a user defined type. A user defined
  631. type can be defined in ECL</para>
  632. <para>using TYPE. A user defined type can have parameters. See Example
  633. below.</para>
  634. <para>Solution: Try to get rid of the parameter(s). Example:</para>
  635. <programlisting>
  636. 01: MyType := TYPE
  637. 02: EXPORT INTEGER Load(INTEGER x) := x+1;
  638. 03: EXPORT INTEGER Store(INTEGER x) := x-1;
  639. 04: END;
  640. 05:
  641. 06: MyRec := RECORD
  642. 07: MyType(3) abc;
  643. 08: END;
  644. 09:
  645. 10: NeedC(INTEGER len) := TYPE
  646. 11: EXPORT String Load(String S) := ‘C’+S[1..len];
  647. 12: EXPORT String Store(String s) := S[2..len+1];
  648. 13: EXPORT Integer PhysicalLength(String s) := len;
  649. 14: END;
  650. 15:
  651. 16: Rec := RECORD
  652. 17: NeedC(3) good;
  653. 18: NeedC(3,5) abc;
  654. 19: NeedC xyz;
  655. 20: END;
  656. </programlisting>
  657. <para>In line 7, this error ocurrs. Line 10-14 shows an example that
  658. defines a user type with parameter. Line 17 is fine, but an error C2061
  659. occurs in line 18, and C2062 occurs in line 19.</para>
  660. </sect1>
  661. <sect1 id="_2009">
  662. <title>2009</title>
  663. <indexterm>
  664. <primary>2009</primary>
  665. </indexterm>
  666. <para><emphasis role="bold">Boolean/Set
  667. of/Integer/Real/String/Table/Record/Unknown value
  668. expected</emphasis></para>
  669. <para>A certain type is expected to be passed as the parameter in this
  670. context. Solution: Make sure the passed parameter is one of the expected
  671. types.</para>
  672. </sect1>
  673. <sect1 id="_2010">
  674. <title>2010</title>
  675. <indexterm>
  676. <primary>2010</primary>
  677. </indexterm>
  678. <para><emphasis role="bold">Illegal operand for TYPEOF</emphasis></para>
  679. <para>The operand for TYPEOF must be an expression whose type is
  680. known.</para>
  681. <para>In ECL, we can get the type of an expression and use it as type. All
  682. the following are legal uses of TYPEOF:</para>
  683. <programlisting>
  684. TYPEOF(‘ABC’) x1 := ‘XYZ’;
  685. TYPEOF(5) x2 := 10;
  686. STRING20 s := ‘ABC’;
  687. TYPEOF(s) x3 := ‘DEF’;
  688. TYPEOF(x1) x4 := ‘GHI’
  689. </programlisting>
  690. <para>Solution: Make sure the type of the operand is known.</para>
  691. </sect1>
  692. <sect1 id="_2011">
  693. <title>2011</title>
  694. <indexterm>
  695. <primary>2011</primary>
  696. </indexterm>
  697. <para><emphasis role="bold">Cannot nest TYPE
  698. declarations</emphasis></para>
  699. <para>TYPE defintions cannot be nested.</para>
  700. <para>Solution: Define these TYPEs separately instead of nested.
  701. Example:</para>
  702. <programlisting> ReverseString4 := TYPE
  703. MyType := TYPE
  704. EXPORT INTEGER Load(INTEGER x) := x+1; EXPORT INTEGER
  705. Store(INTEGER x) := x-1;
  706. END;
  707. END;
  708. SHARED STRING4 Rev(String4 S) := s[4]+s[3]+s[2]+s[1]; EXPORT
  709. String4 Load(String4 s) := Rev(s);
  710. EXPORT String4 Store(String4 s) := Rev(s);
  711. </programlisting>
  712. <para>Here, inside the TYPE defintion for ReverseString4, we are trying to
  713. define another TYPE MyType. This nesting is not allowed.</para>
  714. </sect1>
  715. <sect1 id="_2012">
  716. <title>2012</title>
  717. <indexterm>
  718. <primary>2012</primary>
  719. </indexterm>
  720. <para><emphasis role="bold">Datasets must be the same
  721. type</emphasis></para>
  722. <para>The datasets have different types. The + and – operations can be
  723. applied to datasets and these</para>
  724. <para>two datasets must have the same type. Two datasets are of the same
  725. type if:</para>
  726. <para>• Both are defined as the same DATASET type</para>
  727. <para>• Both are defined as a subset of the same DATASET using
  728. filters</para>
  729. <para>• One is defined as a DATASET type, the other is a subset of the
  730. same type using filter</para>
  731. <para>Two datasets are not the same type if:</para>
  732. <para>• They are defined with different DATASET names, even if they have
  733. exactly the same</para>
  734. <para>RECORD structures.</para>
  735. <para>• One is defined as a DATASET type, the other is derived from the
  736. same DATASET type using TABLE(), even if they have exactly the same RECORD
  737. structure.</para>
  738. <para>The following example illustrates these rules.</para>
  739. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa; STRING1 fb;}, HOLE);
  740. 02: bbb := DATASET(‘bbb’, {STRING1 fa; STRING1 fb;}, HOLE);
  741. 03:
  742. 04: a1 := aaa(fa = ‘a’);
  743. 05: a2 := aaa(fa = ‘b’);
  744. 06: a3 := TABLE(aaa, {aaa.fa,aaa.fb});
  745. 07:
  746. 08: OUTPUT(aaa+a1); // OK
  747. 09: OUTPUT(a1+a2);
  748. 10:
  749. 11: OUTPUT(a1+a3); // BAD
  750. 12: OUTPUT(aaa+bbb);
  751. </programlisting>
  752. <para>In line 8, aaa is a dataset type, a1 is a subset of the same type
  753. using a filter (line 4). In line 10, both a1 and a2 are subsets of dataset
  754. type aaa. They are OK.</para>
  755. <para>In line 11, a3 is derived from aaa using TABLE(). In line 14, aaa
  756. and bbb are different dataset types, although they have exactly the same
  757. structure.</para>
  758. <para>Solution: Follow the above guidelines to make sure the two datasets
  759. involved are the same type. The fact that they have the same structure is
  760. not enough.</para>
  761. <para>Example:</para>
  762. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa; }, FLAT);
  763. 02: bbb := DATASET(‘bbb’, {STRING1 fa; }, HOLE);
  764. 03:
  765. 04: OUTPUT(aaa+bbb,{fa});
  766. 05: OUTPUT(aaa-bbb,{fa});
  767. 06:
  768. 07: a1 := aaa(fa = ‘a’);
  769. 08: a2 := aaa(fa = ‘b’);
  770. 09:
  771. 10: OUTPUT(a1+a2);
  772. 11: OUTPUT(a1-a2);</programlisting>
  773. </sect1>
  774. <sect1 id="_2013">
  775. <title>2013</title>
  776. <indexterm>
  777. <primary>2013</primary>
  778. </indexterm>
  779. <para><emphasis role="bold">The types must be the same</emphasis></para>
  780. <para>The items that are in question must have the same type. More
  781. precisely, the types must be exactly the same, not just compatible. See
  782. Error C2012 for more details on how two dataset types are treated as the
  783. same type.</para>
  784. <para>Solution: Make sure they have the same type. Example:</para>
  785. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 a;}, HOLE);
  786. 02: bbb := DATASET(‘bbb’, {STRING1 b;}, HOLE);
  787. 03: ccc := aaa(a=’a’);
  788. 04: s1 := if(aaa=bbb,’true’,’false’);
  789. 05: s2 := if(aaa=ccc,’true’,’false’);
  790. 06: s3 := if(aaa!=bbb,’true’,’false’);
  791. 07: s4 := if(aaa!=ccc,’true’,’false’);
  792. </programlisting>
  793. <para>In this example, we are comparing the equality of two datasets. Two
  794. dataset must be the same types if we want to compare them.</para>
  795. </sect1>
  796. <sect1 id="_2014">
  797. <title>2014</title>
  798. <indexterm>
  799. <primary>2014</primary>
  800. </indexterm>
  801. <para>List element has unknown type</para>
  802. </sect1>
  803. <sect1 id="_2015">
  804. <title>2015</title>
  805. <indexterm>
  806. <primary>2015</primary>
  807. </indexterm>
  808. <para><emphasis role="bold">Integer type expected</emphasis></para>
  809. <para>A valid INTEGER type is expected. A valid INTEGER type can be
  810. INTEGER or INTEGERn, where n is 1, 2, 4 or 8. Note that this error is
  811. different from Error C2002, where an integer value is expected.</para>
  812. <para>Solution: Make sure it is an valid INTEGER type. Example:</para>
  813. <programlisting> 01: BIG_ENDIAN STRING i := ‘ABC’;
  814. 02: LITTLE_ENDIAN BOOLEAN b := FALSE;
  815. </programlisting>
  816. <para>BIG_ENDIAN and LITTLE_ENDIAN can be used on valid INTEGER types
  817. only.</para>
  818. </sect1>
  819. <sect1 id="_2016">
  820. <title>2016</title>
  821. <indexterm>
  822. <primary>2016</primary>
  823. </indexterm>
  824. <para><emphasis role="bold">Integer or decimal type
  825. expected</emphasis></para>
  826. <para>A valid INTEGER or DECIMAL type is expected. A valid INTEGER type
  827. can be INTEGER</para>
  828. <para>or INTEGERn, where n is 1, 2, 4 or 8. A valid decimal type can be
  829. DECIMALn where n is an</para>
  830. <para>positive integer, or DECIMALn_y where n and y are positive integers.
  831. This normally happens</para>
  832. <para>after the UNSIGNED keyword, which can be applied to INTEGER or
  833. DECIMAL types only.</para>
  834. <para>Note that this error is different from Error C2001, 2002, where an
  835. integer value or real value is</para>
  836. <para>expected.</para>
  837. <para>Solution: Make sure it is a valid INTEGER or DECIMAL type.
  838. Example:</para>
  839. <programlisting> UNSIGNED STRING s := ‘ABC’;
  840. UNSIGNED BOOLEAN b := FALSE;</programlisting>
  841. <para>UNSIGNED cannot be used with STRING or BOOLEAN.</para>
  842. </sect1>
  843. <sect1 id="_2017">
  844. <title>2017</title>
  845. <indexterm>
  846. <primary>2017</primary>
  847. </indexterm>
  848. <para><emphasis role="bold">String type expected</emphasis></para>
  849. <para>A valid STRING type is expected. A valid STRING type can be STRING
  850. or STRINGn, where n is an integer that is greater than 0.</para>
  851. <para>The following list are the cases this error can occur:</para>
  852. <para>• ASCII type</para>
  853. <para>• EBCDIC type</para>
  854. <para>The bold type must be a valid STRING type. Note that this error is
  855. different from Error C2003, where a string value is expected.</para>
  856. <para>Solution: Change it to a valid STRING type. Example:</para>
  857. <programlisting> 01: ASCII <emphasis role="bold">INTEGER </emphasis>s1 := 123;
  858. 02: EBCDIC <emphasis role="bold">BOOLEAN </emphasis>b := TRUE;
  859. </programlisting>
  860. <para>All bold types should be a STRING type as expected by ASCII or
  861. EBCDIC.</para>
  862. </sect1>
  863. <sect1 id="_2018">
  864. <title>2018</title>
  865. <indexterm>
  866. <primary>2018</primary>
  867. </indexterm>
  868. <para><emphasis role="bold">Indexing ALL is undefined</emphasis></para>
  869. </sect1>
  870. <sect1 id="_2019">
  871. <title>2019</title>
  872. <indexterm>
  873. <primary>2019</primary>
  874. </indexterm>
  875. <para><emphasis role="bold">Type mismatch - Integer or string value
  876. expected</emphasis></para>
  877. </sect1>
  878. <sect1 id="_2020">
  879. <title>2020</title>
  880. <indexterm>
  881. <primary>2020</primary>
  882. </indexterm>
  883. <para><emphasis role="bold">COUNT not valid in this
  884. context</emphasis></para>
  885. <para>In the context where this error occurs, COUNT is not allowed.</para>
  886. <para>COUNT (as an alias to the COUNTER keyword) is only allowed in the
  887. following two cases:</para>
  888. <para>1. As a parameter passed to the transform function in
  889. NORMALIZE:</para>
  890. <para>NORMALIZE(dataset, expression, myTranform (LEFT,COUNT));</para>
  891. <para>2. As a parameter passed to the transform function in
  892. DENORMALIZE:</para>
  893. <para>DENORMALIZE(dataset, expression, myTranform (LEFT,COUNT));</para>
  894. <para>The COUNT keyword is not allowed to be used anywhere else.</para>
  895. <para>Please note that the COUNT() function can be applied to a dataset,
  896. as in COUNT(Person()); Solution: Make sure it is in the NORMALIZE or
  897. DENORMALIZE context. If you are using</para>
  898. <para>COUNT to count the number of tuples in a dataset, use the function
  899. COUNT(): the ( ) is</para>
  900. <para>required to use it as a function.</para>
  901. <para>Example:</para>
  902. <programlisting> 01: NamesRec := RECORD
  903. 02: UNSIGNED1 numRows := 0;
  904. 03: STRING20 thename;
  905. 04: STRING20 addr1 := ‘’;
  906. 05: STRING20 addr2 := ‘’;
  907. 06: STRING20 addr3 := ‘’;
  908. 07: STRING20 addr4 := ‘’;
  909. 08: END;
  910. 09:
  911. 10: NamesTable := DATASET([
  912. 11: {1, ‘Gavin’, ’10 Maltings Lane’},
  913. 12: {2, ‘Liz’, ’10 Maltings Lane’, ‘3 The Cottages’},
  914. 13: {0, ‘Mr Nobody’},
  915. 14: {4, ‘Mr Everywhere’, ‘Here’, ‘There’, ‘Near’, ‘Far’}
  916. 15: ], NamesRec);
  917. 16:
  918. 17: OutRec := RECORD
  919. 18: UNSIGNED1 order;
  920. 19: UNSIGNED1 numRows;
  921. 20: STRING20 thename;
  922. 21: STRING20 addr;
  923. 22: END;
  924. 23:
  925. 24: OutRec NormalizeAddresses(NamesRec L, INTEGER C) := TRANSFORM
  926. 25: SELF := L;
  927. 26: SELF.order := C;
  928. 27: SELF.addr := CHOOSE(C, L.addr1, L.addr2, L.addr3, L.addr4);
  929. 28: END;
  930. 29:
  931. 30: NormalizeAddrs := NORMALIZE(namesTable, LEFT.numRows,
  932. 31: NormalizeAddresses(LEFT,COUNT));
  933. 32:
  934. 33: OUTPUT(NormalizeAddrs);
  935. </programlisting>
  936. <para>This example is a correct use of COUNT. We can also replace the
  937. COUNT keyword with</para>
  938. <para>COUNTER. The output of this example is:</para>
  939. <para><informaltable colsep="0" frame="none" rowsep="0">
  940. <tgroup cols="4">
  941. <colspec colwidth="35.00pt" />
  942. <colspec colwidth="60.00pt" />
  943. <colspec colwidth="108.00pt" />
  944. <colspec colwidth="113.00pt" />
  945. <tbody>
  946. <row>
  947. <entry>Order</entry>
  948. <entry>NumRows</entry>
  949. <entry>thename</entry>
  950. <entry>addr</entry>
  951. </row>
  952. <row>
  953. <entry>1</entry>
  954. <entry>1</entry>
  955. <entry>Gavin</entry>
  956. <entry>10 Maltings Lane</entry>
  957. </row>
  958. <row>
  959. <entry>1</entry>
  960. <entry>2</entry>
  961. <entry>Liz</entry>
  962. <entry>10 Maltings Lane</entry>
  963. </row>
  964. <row>
  965. <entry>2</entry>
  966. <entry>2</entry>
  967. <entry>Liz</entry>
  968. <entry>3 The Cottages</entry>
  969. </row>
  970. <row>
  971. <entry>1</entry>
  972. <entry>4</entry>
  973. <entry>Mr Everywhere</entry>
  974. <entry>Here</entry>
  975. </row>
  976. <row>
  977. <entry>2</entry>
  978. <entry>4</entry>
  979. <entry>Mr Everywhere</entry>
  980. <entry>There</entry>
  981. </row>
  982. <row>
  983. <entry>3</entry>
  984. <entry>4</entry>
  985. <entry>Mr Everywhere</entry>
  986. <entry>Near</entry>
  987. </row>
  988. <row>
  989. <entry>4</entry>
  990. <entry>4</entry>
  991. <entry>Mr Everywhere</entry>
  992. <entry>Far</entry>
  993. </row>
  994. </tbody>
  995. </tgroup>
  996. </informaltable></para>
  997. <para>Example:</para>
  998. <programlisting> MyValue := COUNT + 3;
  999. OUTPUT(Person( career = ‘Study’), {per_first_name, COUNT});
  1000. </programlisting>
  1001. <para>Both statements will produce a C2002 error since they are not in the
  1002. context of NORMALIZE</para>
  1003. <para>or DENORMALIZE.</para>
  1004. </sect1>
  1005. <sect1 id="_2021">
  1006. <title>2021</title>
  1007. <indexterm>
  1008. <primary>2021</primary>
  1009. </indexterm>
  1010. <para><emphasis role="bold">COUNTER not valid in this
  1011. context</emphasis></para>
  1012. <para>The COUNTER keyword (as an alias of COUNT) is used only in NORMALIZE
  1013. or</para>
  1014. <para>DENORMALIZED. See Error 2020 for explanation, solution etc.</para>
  1015. </sect1>
  1016. <sect1 id="_2022">
  1017. <title>2022</title>
  1018. <indexterm>
  1019. <primary>2022</primary>
  1020. </indexterm>
  1021. <para><emphasis role="bold">LEFT not legal here</emphasis></para>
  1022. <para>The LEFT keyword is not legal in this context. LEFT can be used only
  1023. in the following contexts:</para>
  1024. <para>• Passing a parameter to a TRANSFORM function where a LEFT scope
  1025. exists.</para>
  1026. <para>• In TRIM(value, LEFT). LEFT means leading spaces.</para>
  1027. <para>• In JOIN(dataset1, dataset2, join-fields, LEFT OUTER | LEFT
  1028. ONLY).</para>
  1029. <para>• In DEDUP(recordset, expression, LEFT). LEFT means to keep the head
  1030. records from the comparison when duplication happens.</para>
  1031. <para>Solution: Make sure LEFT is in one of the legal contexts listed
  1032. above. Example:</para>
  1033. <programlisting> 01: a := EXP(LEFT);
  1034. 02: NamesRec := RECORD
  1035. 03: STRING20 thename;
  1036. 04: END;
  1037. 05: NamesTable := DATASET([{‘Gavin’}], NamesRec);
  1038. 06: OutRec := RECORD
  1039. 07: STRING20 thename;
  1040. 08: END;
  1041. 09: OutRec NormalizeAddresses(NamesRec L, INTEGER C) :=
  1042. 10: TRANSFORM
  1043. 11: SELF := L;
  1044. 12: END;
  1045. 13: NormalizeAddrs := NORMALIZE(namesTable, LEFT.numRows,
  1046. 14: NormalizeAddresses(LEFT,COUNT));
  1047. </programlisting>
  1048. <para>In line 1, LEFT is within none of the above contexts. In line 13 and
  1049. 14, LEFT is used to specify the left record passed to the transform
  1050. function.</para>
  1051. </sect1>
  1052. <sect1 id="_2023">
  1053. <title>2023</title>
  1054. <indexterm>
  1055. <primary>2023</primary>
  1056. </indexterm>
  1057. <para><emphasis role="bold">RIGHT not legal here</emphasis></para>
  1058. <para>This is very simliar to Error 2022. Refer to it for
  1059. information.</para>
  1060. </sect1>
  1061. <sect1 id="_2024">
  1062. <title>2024</title>
  1063. <indexterm>
  1064. <primary>2024</primary>
  1065. </indexterm>
  1066. <para><emphasis role="bold">JOIN is not valid here</emphasis></para>
  1067. <para>See Error C2027.</para>
  1068. </sect1>
  1069. <sect1 id="_2025">
  1070. <title>2025</title>
  1071. <indexterm>
  1072. <primary>2025</primary>
  1073. </indexterm>
  1074. <para><emphasis role="bold">SELF not legal here</emphasis></para>
  1075. <para>SELF can only be used inside a TRANSFORM structure to indicate the
  1076. current output record. Otherwise it is not legal.</para>
  1077. <para>Solution: Don’t use SELF outside a TRANSFORM structure.</para>
  1078. </sect1>
  1079. <sect1 id="_2026">
  1080. <title>2026</title>
  1081. <indexterm>
  1082. <primary>2026</primary>
  1083. </indexterm>
  1084. <para><emphasis role="bold">ALL not legal here</emphasis></para>
  1085. <para>ALL is illegal in this context. ALL can only be used in the
  1086. following contexts:</para>
  1087. <para>• Inside a GROUP function</para>
  1088. <para>• As a optional parameter to TRIM function</para>
  1089. <para>• As a default value to a SET or SET OF parameter.</para>
  1090. <para>Solution: Make sure it is one of the above cases, otherwise, don’t
  1091. use ALL. Example:</para>
  1092. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 f1;}, HOLE);
  1093. 02: bbb := GROUP(aaa, ALL);
  1094. 03: s := ‘ abc ‘;
  1095. 04: TRIM(s, ALL);
  1096. 05: f(SET is, INTEGER i) := i IN is;
  1097. 06: MyJobSet := [1,2,3];
  1098. 07: BOOLEAN ok := f(ALL, 1);
  1099. 08: SORT(aaa, ALL);
  1100. </programlisting>
  1101. <para>All lines from 1-7 are legal. In line 8, ALL is not in any of the
  1102. legal contexts and causes this error.</para>
  1103. </sect1>
  1104. <sect1 id="_2027">
  1105. <title>2027</title>
  1106. <indexterm>
  1107. <primary>2027</primary>
  1108. </indexterm>
  1109. <para><emphasis role="bold">JOINED can only be specified inside SORT or
  1110. SORTED</emphasis></para>
  1111. <para>JOINED can only be used inside SORT or SORTED. Otherwise, it is
  1112. illegal.</para>
  1113. <para>Solution: Make sure it is in the SORT or SORTED.</para>
  1114. </sect1>
  1115. <sect1 id="_2028">
  1116. <title>2028</title>
  1117. <indexterm>
  1118. <primary>2028</primary>
  1119. </indexterm>
  1120. <para><emphasis role="bold">A value must be supplied for this
  1121. attribute</emphasis></para>
  1122. <para>The attribute in question needs to be supplied a value. In ECL, we
  1123. cannot just declare an at- tribute without defining its value. There is
  1124. only one exception, that is when the attribute name starts with a $. Names
  1125. that start with a $ will be used as environment variable in the future,
  1126. but that functionality is not implemented yet.</para>
  1127. <para>Solution: Use := to define a value to it. Example:</para>
  1128. <programlisting> 01: integer1 a;
  1129. 02: EXPORT STRING1 s;
  1130. 03: SHARED BOOLEAN b;
  1131. </programlisting>
  1132. <para>Attributes a, s and b (whether it is local, EXPORTed, or SHARED)
  1133. need a value when they are being defined.</para>
  1134. </sect1>
  1135. <sect1 id="_2029">
  1136. <title>2029</title>
  1137. <indexterm>
  1138. <primary>2029</primary>
  1139. </indexterm>
  1140. <para><emphasis role="bold">Constant doesn’t make any sense
  1141. here</emphasis></para>
  1142. <para>Using a Constant doesn’t make sense in this context. For example,
  1143. sorting or grouping by a constant doesn’t make sense.</para>
  1144. <para>Example:</para>
  1145. <programlisting>
  1146. 01: aaa := DATASET(‘aaa’,{STRING1 a; }, FLAT);
  1147. 02: iftotal := IF(TRUE, 1, 0);
  1148. 03:
  1149. 04: countrec := RECORD
  1150. 05: total := SUM(GROUP, iftotal);
  1151. 06: END;
  1152. 07:
  1153. 08: a := OUTPUT(TABLE(aaa,countrec,1));
  1154. </programlisting>
  1155. <para>In line 8, the last 1 is not making sense.</para>
  1156. </sect1>
  1157. <sect1 id="_2030">
  1158. <title>2030</title>
  1159. <indexterm>
  1160. <primary>2030</primary>
  1161. </indexterm>
  1162. <para>Illegal join flags for a lookup join</para>
  1163. </sect1>
  1164. <sect1 id="_2031">
  1165. <title>2031</title>
  1166. <indexterm>
  1167. <primary>2031</primary>
  1168. </indexterm>
  1169. <para>DEDUP(file) not supported (or meaningful) on hole files</para>
  1170. </sect1>
  1171. <sect1 id="_2032">
  1172. <title>2032</title>
  1173. <indexterm>
  1174. <primary>2032</primary>
  1175. </indexterm>
  1176. <para>Scheduling not allowed on an attribute (scheduling a definition
  1177. makes no sense)</para>
  1178. </sect1>
  1179. <sect1 id="_2033">
  1180. <title>2033</title>
  1181. <indexterm>
  1182. <primary>2033</primary>
  1183. </indexterm>
  1184. <para>Multiple workflow clauses</para>
  1185. </sect1>
  1186. <sect1 id="_2034">
  1187. <title>2034</title>
  1188. <indexterm>
  1189. <primary>2034</primary>
  1190. </indexterm>
  1191. <para>Expected INDEX()...</para>
  1192. </sect1>
  1193. <sect1 id="_2035">
  1194. <title>2035</title>
  1195. <indexterm>
  1196. <primary>2035</primary>
  1197. </indexterm>
  1198. <para>Type returned from transform must match the source dataset
  1199. type</para>
  1200. </sect1>
  1201. <sect1 id="_2036">
  1202. <title>2036</title>
  1203. <indexterm>
  1204. <primary>2036</primary>
  1205. </indexterm>
  1206. <para>Keyed parameter does not match the dataset passed as a second
  1207. parameter</para>
  1208. </sect1>
  1209. <sect1 id="_2037">
  1210. <title>2037</title>
  1211. <indexterm>
  1212. <primary>2037</primary>
  1213. </indexterm>
  1214. <para>Name of base file was not supplied and cannot be deduced</para>
  1215. </sect1>
  1216. <sect1 id="_2038">
  1217. <title>2038</title>
  1218. <indexterm>
  1219. <primary>2038</primary>
  1220. </indexterm>
  1221. <para>BIAS not supplied and can't be calculated</para>
  1222. </sect1>
  1223. <sect1 id="_2039">
  1224. <title>2039</title>
  1225. <indexterm>
  1226. <primary>2039</primary>
  1227. </indexterm>
  1228. <para>Character in string literal is not defined in encoding</para>
  1229. </sect1>
  1230. <sect1 id="_2040">
  1231. <title>2040</title>
  1232. <indexterm>
  1233. <primary>2040</primary>
  1234. </indexterm>
  1235. <para><emphasis role="bold">Invalid size for INTEGER
  1236. type</emphasis></para>
  1237. <para>An INTEGER type can only be 1, 2, 4 or 8 bytes. The size is
  1238. specified by appending the size right after the INTEGER keyword (no space
  1239. allowed), as in: INTEGER1, INTEGER2, etc. By default, the size is 8;
  1240. INTEGER is the same as INTEGER8.</para>
  1241. <para>Solution: Make sure it is one of the following:</para>
  1242. <para>INTEGER1, INTEGER2, INTEGER4, INTEGER8 or INTEGER. No space is
  1243. allowed between INTEGER and the size digit.</para>
  1244. <para>All identifiers that are INTEGER followed by a legal octal integer
  1245. are reserved (for future extension, or just for the purpose of type
  1246. checking). Therefore, INTEGER5 is neither a legal type, nor a legal
  1247. identifier for attribute, function, formal parameter name, etc.</para>
  1248. <para>Example:</para>
  1249. <programlisting>
  1250. 01: <emphasis role="bold">INTEGER3 </emphasis>x := 10;
  1251. 02: <emphasis role="bold">INTEGER10 </emphasis>y := 30;
  1252. 03: f(INTEGER <emphasis role="bold">INTEGER32</emphasis>) := INTEGER32 + 3;
  1253. </programlisting>
  1254. <para>In line 1 and 2, the size is wrong. In line 3, we can not use
  1255. INTEGER32 as an identifier for formal parameter.</para>
  1256. </sect1>
  1257. <sect1 id="_2041">
  1258. <title>2041</title>
  1259. <indexterm>
  1260. <primary>2041</primary>
  1261. </indexterm>
  1262. <para><emphasis role="bold">Invalid size for REAL type</emphasis></para>
  1263. <para>A REAL type can be 4 or 8 bytes. So the valid forms are: REAL4,
  1264. REAL8, and REAL. The last one will use the default size: 8.</para>
  1265. <para>Solution: Choose the proper size. Example:</para>
  1266. <programlisting>
  1267. REAL3 a := 1.2;
  1268. </programlisting>
  1269. </sect1>
  1270. <sect1 id="_2042">
  1271. <title>2042</title>
  1272. <indexterm>
  1273. <primary>2042</primary>
  1274. </indexterm>
  1275. <para><emphasis role="bold">Invalid size for DATA type</emphasis></para>
  1276. <para>The size of DATA type can be any positive integer; zero or negative
  1277. integers are not allowed. When used as a function parameter type, the size
  1278. can be omitted.</para>
  1279. <para>Solution: Choose a proper size. Example:</para>
  1280. <programlisting>01: DATA0 a := ’03DF21';</programlisting>
  1281. </sect1>
  1282. <sect1 id="_2043">
  1283. <title>2043</title>
  1284. <indexterm>
  1285. <primary>2043</primary>
  1286. </indexterm>
  1287. <para><emphasis role="bold">Invalid size for STRING type</emphasis></para>
  1288. <para>The size of STRING type can be any positive integer; zero or
  1289. negative integers are not allowed.</para>
  1290. <para>When used as a function parameter type, the size can be
  1291. omitted.</para>
  1292. <para>Solution: Choose a proper size. Example:</para>
  1293. <programlisting>STRING0 abc := ‘abc’;</programlisting>
  1294. </sect1>
  1295. <sect1 id="_2044">
  1296. <title>2044</title>
  1297. <indexterm>
  1298. <primary>2044</primary>
  1299. </indexterm>
  1300. <para><emphasis role="bold">Invalid size for VARSTRING
  1301. type</emphasis></para>
  1302. <para>The size of VARSTRING can be any positive integer; zero or negative
  1303. integers are not allowed. Solution: Choose the proper size.</para>
  1304. <para>Example:</para>
  1305. <programlisting>VARSTRING0 abc := ‘abc’;</programlisting>
  1306. </sect1>
  1307. <sect1 id="_2045">
  1308. <title>2045</title>
  1309. <indexterm>
  1310. <primary>2045</primary>
  1311. </indexterm>
  1312. <para><emphasis role="bold">Invalid size for DECIMAL
  1313. type</emphasis></para>
  1314. <para>A DECIMAL type does not specify or specifies an invalid size. An
  1315. valid size must be specified for DECIMAL type. DECIMAL can be:</para>
  1316. <para>• DECIMALn, where n can be 0-32 (inclusive)</para>
  1317. <para>• DECIMALn_m, where n, m can be 0-32 (inclusive), and m must be less
  1318. than or equal to n. In the above, n defines the number of digits in a
  1319. packed decimal value while m defines the</para>
  1320. <para>number of digits that appear after the decimal point.</para>
  1321. <para>Solution: Choose a proper size. Example:</para>
  1322. <programlisting>01: DECIMAL x1 := 20;
  1323. 02: DECIMAL10_11 x2 := 20;</programlisting>
  1324. <para>In line 1, no size is defined. In line 2, the size of the fractional
  1325. portion is greater than the total number of digits.</para>
  1326. </sect1>
  1327. <sect1 id="_2046">
  1328. <title>2046</title>
  1329. <indexterm>
  1330. <primary>2046</primary>
  1331. </indexterm>
  1332. <para>A UDECIMAL type does not specify a size or specifies an invalid
  1333. size. UDECIMAL is a short-</para>
  1334. <para>hand alias for UNSIGNED DECIMAL. UDECIMAL can be:</para>
  1335. <para>• UDECIMALn, where n can be 0-32 (inclusive), OR</para>
  1336. <para>• UDECIMALn_m, where n, m can be 0-32 (inclusive), and m must be
  1337. less than or equal to</para>
  1338. <para>n.</para>
  1339. <para>In the above, n defines the number of digits in a packed decimal
  1340. value. m defines the number of digits after the decimal point.</para>
  1341. <para>Solution: Choose a proper size. Example:</para>
  1342. <programlisting>
  1343. 01: UDECIMAL x1 := 20;
  1344. 02: UDECIMAL10_11 x2 := 20;
  1345. 03: UDECIMAL34 x3 := 20;
  1346. </programlisting>
  1347. <para>In line 1, no size is defined. In line 2, the size of percision is
  1348. greater than the total length. In line</para>
  1349. <para>3, the size is greater than 32.</para>
  1350. <para>Solution: Choose the proper size.</para>
  1351. </sect1>
  1352. <sect1 id="_2047">
  1353. <title>2047</title>
  1354. <indexterm>
  1355. <primary>2047</primary>
  1356. </indexterm>
  1357. <para><emphasis role="bold">Invalid size for BITFIELD
  1358. type</emphasis></para>
  1359. <para>A BITFIELD (PROVISIONAL DOCUMENTATION, NOT YET IMPLEMENTED)</para>
  1360. <para>type must have a valid size. A valid size for BITFIELD must:</para>
  1361. <para>• explicitly specify the size</para>
  1362. <para>• spcify the size in the range 1..64 (inclusive) Solution: Choose a
  1363. proper size.</para>
  1364. <para>Example:</para>
  1365. <programlisting>
  1366. 01: MyRec := RECORD
  1367. 02: BITFIELD sex := 1;
  1368. 03: BITFIELD0 married := 1;
  1369. 04: BITFIELD2 class := 1;
  1370. 05: BITFIELD65 age := 100;
  1371. 06: END;
  1372. </programlisting>
  1373. <para>In line 2, sex does not specify a size. In line 3, married specifies
  1374. a size of 0. In line 5, age speci- fies a size of 65. All these are not
  1375. allowed. In line 4, class has size of 2, which is legal.</para>
  1376. </sect1>
  1377. <sect1 id="_2048">
  1378. <title>2048</title>
  1379. <indexterm>
  1380. <primary>2048</primary>
  1381. </indexterm>
  1382. <para><emphasis role="bold">Invalid size for UNSIGNED
  1383. type</emphasis></para>
  1384. <para>UNSIGNEDn is a shorthand alias for UNSIGNED INTEGERn. So see Error
  1385. 2040.</para>
  1386. </sect1>
  1387. <sect1 id="_2049">
  1388. <title>2049</title>
  1389. <indexterm>
  1390. <primary>2049</primary>
  1391. </indexterm>
  1392. <para>Invalid size for QSTRING type</para>
  1393. </sect1>
  1394. <sect1 id="_2050">
  1395. <title>2050</title>
  1396. <indexterm>
  1397. <primary>2050</primary>
  1398. </indexterm>
  1399. <para><emphasis role="bold">Recursive macro call</emphasis></para>
  1400. <para>Recursive macro calls are not allowed. Recursive calls happen when a
  1401. macro call itself directly or indirectly. Unlike functions, macros have no
  1402. way to terminate once a recursive call starts; because the parser just
  1403. does simple text substitution for macros. Recursive functions terminate at
  1404. runtime by proper runtime logic.</para>
  1405. <para>Note that since there are no forward references in ECL, it is also
  1406. not possible to contruct a legal recursive function call. This situation
  1407. may be changed in the future, however, recursive macros will still not be
  1408. allowed due to the above reason.</para>
  1409. <para>Solution: Change the code to eliminate the recursion.
  1410. Example:</para>
  1411. <programlisting>
  1412. 01: f(x) := MACRO
  1413. 02: g(x)+3
  1414. 03: ENDMACRO;
  1415. 04:
  1416. 05: g(x) := MACRO
  1417. 06: f(x)+2
  1418. 07: ENDMACRO;
  1419. 08:
  1420. 09: h(X) := MACRO
  1421. 10: h(x)+1
  1422. 11: ENDMACRO;
  1423. 12:
  1424. 13: abc := <emphasis role="bold">g(3)</emphasis>;
  1425. 14: xyz := <emphasis role="bold">h(4)</emphasis>;
  1426. </programlisting>
  1427. <para>In the example, macro f calls g, and g calls f again. Therefore we
  1428. have an indirect recursive call. In macro h, it directly calls itself
  1429. recursively.</para>
  1430. </sect1>
  1431. <sect1 id="_2051">
  1432. <title>2051</title>
  1433. <indexterm>
  1434. <primary>2051</primary>
  1435. </indexterm>
  1436. <para><emphasis role="bold">No matching ENDMACRO found</emphasis></para>
  1437. <para>The ENDMACRO keyword must terminate a MACRO definition.</para>
  1438. <para>Due to the way macros are implemented internally, sometimes this
  1439. error will appear in an unex- pected place. This happens within a macro
  1440. call because, according to the grammar the parser thinks it should end the
  1441. macro call, but the macro definition actually still has more code to
  1442. generate. This normally indicates an error in the macro, the parameter(s)
  1443. passed to the macro, or a combination of the two.</para>
  1444. <para>Solution: Check the macro definition and the calls. Since the parser
  1445. only realizes that an ENDMACRO is missing when it reaches the end of a
  1446. file or a module, the position its report may be far away from the place
  1447. it actually occurs.</para>
  1448. <para>Example:</para>
  1449. <programlisting>
  1450. 01: MyMacro(INTEGER i) := MACRO
  1451. 02: i + 4;
  1452. 03:
  1453. 04: MyMacro(5);
  1454. </programlisting>
  1455. <para>MyMacro is not terminated by an ENDMACRO. But the parser report the
  1456. error at end of line 4 (the end of the file).</para>
  1457. </sect1>
  1458. <sect1 id="_2052">
  1459. <title>2052</title>
  1460. <indexterm>
  1461. <primary>2052</primary>
  1462. </indexterm>
  1463. <para><emphasis role="bold">EOF encountered while gathering macro
  1464. parameters</emphasis></para>
  1465. <para>The file ends while the parser is still trying to look for macro
  1466. parameters. This means that the code is not yet complete.</para>
  1467. <para>Solution: Complete the code with proper parameters, and ending ‘)’.
  1468. Example:</para>
  1469. <programlisting>
  1470. 01: m2(x) := MACRO
  1471. 02: 10+x
  1472. 03: ENDMACRO;
  1473. 04: m2(1
  1474. </programlisting>
  1475. <para>In line 4, macro call m2 doesn’t have complete parameters.</para>
  1476. </sect1>
  1477. <sect1 id="_2053">
  1478. <title>2053</title>
  1479. <indexterm>
  1480. <primary>2053</primary>
  1481. </indexterm>
  1482. <para>No type is allowed for macro parameter</para>
  1483. </sect1>
  1484. <sect1 id="_2054">
  1485. <title>2054</title>
  1486. <indexterm>
  1487. <primary>2054</primary>
  1488. </indexterm>
  1489. <para>Default value for macro parameter must be constant</para>
  1490. </sect1>
  1491. <sect1 id="_2055">
  1492. <title>2055</title>
  1493. <indexterm>
  1494. <primary>2055</primary>
  1495. </indexterm>
  1496. <para></para>
  1497. </sect1>
  1498. <sect1 id="_2056">
  1499. <title>2056</title>
  1500. <indexterm>
  1501. <primary>2056</primary>
  1502. </indexterm>
  1503. <para></para>
  1504. </sect1>
  1505. <sect1 id="_2061">
  1506. <title>2061</title>
  1507. <indexterm>
  1508. <primary>2061</primary>
  1509. </indexterm>
  1510. <para><emphasis role="bold">Too many parameters: XXX parameters
  1511. expected</emphasis></para>
  1512. <para>Too many parameters are supplied for a function call or macro
  1513. call.</para>
  1514. <para>Solution: Check the definition of the function or macro. Supply the
  1515. proper number of param- eters as required. Be careful about the scope
  1516. rules in ECL, especially the local scope. See Ex- ample 2 below.</para>
  1517. <para>Example 1:</para>
  1518. <programlisting>
  1519. 01: f(x) := 4;
  1520. 02:
  1521. 03: m1() := MACRO
  1522. 04: 10
  1523. 05: ENDMACRO;
  1524. 06:
  1525. 07: m2(x) := MACRO
  1526. 08: 10+x
  1527. 09: ENDMACRO;
  1528. 10:
  1529. 11: <emphasis role="bold">f(2,3)</emphasis>;
  1530. 12: <emphasis role="bold">m1(1)</emphasis>;
  1531. 13: <emphasis role="bold">m2(1,2)</emphasis>;
  1532. </programlisting>
  1533. <para>All the calls in lines 11, 12, and 13 have extra parameters than
  1534. that are needed. Example 2:</para>
  1535. <programlisting>
  1536. 01: f(x) := x+1;
  1537. 02:
  1538. 03: EXPORT ab := 1;
  1539. 04:
  1540. 05: f(x,y) := x+y;
  1541. 06:
  1542. 07: f(3,4,1);
  1543. </programlisting>
  1544. <para>In this example, function f is defined twice. Since an EXPORT or
  1545. SHARED Attribute ends the local scope of an attribute/function/macro name,
  1546. the f() in line 7 is a call to function f in line 5, not in line 1,
  1547. therefore too many parameters are supplied.</para>
  1548. </sect1>
  1549. <sect1 id="_2062">
  1550. <title>2062</title>
  1551. <indexterm>
  1552. <primary>2062</primary>
  1553. </indexterm>
  1554. <para><emphasis role="bold">Omitted parameter has no default
  1555. value</emphasis></para>
  1556. <para>A parameter to a function can be omittable when it is defined to
  1557. have a default value. When a function is called, parameters that have
  1558. default values can be omitted or not. However, those parameters that have
  1559. no default values defined must pass a value for the parameter.</para>
  1560. <para>Default value parameters in ECL are more general than in C++. In
  1561. C++, if a parameter is defined to have default value, all the parameters
  1562. following it must have default values defined as well, and if we supply a
  1563. value to a parameter when we call a function, all parameters before this
  1564. parameter must have values supplied. In ECL, these two constraints do not
  1565. hold. The user can define default values for any set of parameters,
  1566. regardless of their order in the parameter list. The user can also choose
  1567. to pass values to those parameters that do have default values. See
  1568. Example 2 below.</para>
  1569. <para>Note that macros in ECL don’t have this default value concept,
  1570. therefore this error can never happen to a macro call.</para>
  1571. <para>Solution: Either pass a value for the parameter, or specify a
  1572. default value in the function defini- tion, if possible.</para>
  1573. <para>Example 1:</para>
  1574. <programlisting>
  1575. 01: f(x,y,z=3) := x+y;
  1576. 02:
  1577. 03: f(12);
  1578. 04: f(,2);
  1579. </programlisting>
  1580. <para>In line 1, function f() only has a default value defined for the
  1581. third parameter, so we must supply values for parameters 1 and 2. In line
  1582. 3, no default value is given for parameter 2, and in line 4, no default
  1583. value is given for parameter 1.</para>
  1584. <para>Example 2:</para>
  1585. <programlisting>
  1586. 01: f(x=1,y,z=3) := x+y;
  1587. 02:
  1588. 03: f(2,3,4);
  1589. 04: f(,3);
  1590. 05: f(,3,);
  1591. 06: f(,3,4);
  1592. 07: f(1,2);
  1593. </programlisting>
  1594. <para>In line 1, function f() defines default values for parameters 1 and
  1595. 3, which is perfectly OK in ECL, but is not allowed in C++. Calls in lines
  1596. 3-7 are all legal in ECL, while calls in lines 4,5,6 are illegal in C++
  1597. (supposing line 1 were legal in C++).</para>
  1598. </sect1>
  1599. <sect1 id="_2063">
  1600. <title>2063</title>
  1601. <indexterm>
  1602. <primary>2063</primary>
  1603. </indexterm>
  1604. <para><emphasis role="bold">Too few parameters supplied</emphasis></para>
  1605. <para>Too few parameters are supplied to a macro call. Note that since
  1606. function calls in ECL have the</para>
  1607. <para>default value for omitted parameter rule (Error C2062), we can never
  1608. get this error from a</para>
  1609. <para>function call. Be careful with the scoping rules in ECL, as shown in
  1610. Example 2.</para>
  1611. <para>Example 1:</para>
  1612. <programlisting>
  1613. 01: m(x) := MACRO
  1614. 02: 10+x
  1615. 03: ENDMACRO;
  1616. 04: <emphasis role="bold">m()</emphasis>;
  1617. 05: m2(x,y) := MACRO
  1618. 06: 10+x
  1619. 07: ENDMACRO;
  1620. 08: <emphasis role="bold">m2(1)</emphasis>;
  1621. </programlisting>
  1622. <para>The macro calls in both lines 4 and 8 are supplied fewer parameters
  1623. than required. Example 2:</para>
  1624. <programlisting>
  1625. 01: m() := MACRO
  1626. 02: 2
  1627. 03: ENDMACRO;
  1628. 04: SHARED y:= 3;
  1629. 05: m(x) := MACRO
  1630. 06: x+2
  1631. 07: ENDMACRO;
  1632. 08: m();
  1633. </programlisting>
  1634. <para>In this example, call m() in line 8 is to the macro defined in lines
  1635. 5-7, not the macro defined in lines 1-3. The reason is that the SHARED
  1636. statement in line 4 ends the scope of local macro m() in line 1.</para>
  1637. </sect1>
  1638. <sect1 id="_2064">
  1639. <title>2064</title>
  1640. <indexterm>
  1641. <primary>2064</primary>
  1642. </indexterm>
  1643. <para><emphasis role="bold">param type mismatch</emphasis></para>
  1644. <para>The parameter supplied to a function call has a different type than
  1645. the type specified for the</para>
  1646. <para>function definition. Automatic type promotion (implicit type
  1647. casting) will be applied when the</para>
  1648. <para>compiler tries to match the types. Therefore, we can legally use an
  1649. integer to call a function that</para>
  1650. <para>requires a real parameter. Narrow casting (down casting from real to
  1651. integer) is also applied</para>
  1652. <para>when proper.</para>
  1653. <para>A macro is used for text substitution, only. There is no type
  1654. information associated with a macro parameter. Therefore, this error only
  1655. applies to function calls.</para>
  1656. <para>Solution: Check the function definition and make sure the types
  1657. match. Use type cast when necessary.</para>
  1658. <para>Example:</para>
  1659. <programlisting>
  1660. 01: f(integer i) := i+1;
  1661. 02: f(‘123’);
  1662. </programlisting>
  1663. <para>In line 2, actual parameter ‘123’ is a string, not an integer as
  1664. expected by the definition of f. We can use type casting to correct
  1665. this:</para>
  1666. <programlisting>f((INTEGER)‘123’);</programlisting>
  1667. </sect1>
  1668. <sect1 id="_2065">
  1669. <title>2065</title>
  1670. <indexterm>
  1671. <primary>2065</primary>
  1672. </indexterm>
  1673. <para>Wrong number of parameters: either 2061 or 2062</para>
  1674. </sect1>
  1675. <sect1 id="_2066">
  1676. <title>2066</title>
  1677. <indexterm>
  1678. <primary>2066</primary>
  1679. </indexterm>
  1680. <para>non-typed or void expression can not used as parameter</para>
  1681. </sect1>
  1682. <sect1 id="_2071">
  1683. <title>2071</title>
  1684. <indexterm>
  1685. <primary>2071</primary>
  1686. </indexterm>
  1687. <para><emphasis role="bold">Constant expression expected</emphasis></para>
  1688. <para>A constant expression is expected. A constant expression can
  1689. be:</para>
  1690. <itemizedlist>
  1691. <listitem>
  1692. <para>any constant value, such as: 123, ‘abc’.</para>
  1693. </listitem>
  1694. <listitem>
  1695. <para>any expression that evaluates to a constant value, such as:
  1696. 2*4+5, ‘abc’+’def ’, 3&gt;2 &amp;&amp; 3^2=8.</para>
  1697. </listitem>
  1698. <listitem>
  1699. <para>any function or macro that evaluates at compile time to a
  1700. constant value. For example, if we have the following:</para>
  1701. <para><programlisting>c(x) := x*2;
  1702. y := 3;</programlisting>Then c(y) is a constant since at compile time, it can
  1703. be evaluted as a constant value 6.</para>
  1704. </listitem>
  1705. </itemizedlist>
  1706. <para>The third rule is different from languages like C and Java where a
  1707. function’s return value is never regarded as a compile time constant,
  1708. macros in C (Java doesn’t have macros) are not an issue since they
  1709. disappear after preprocessing.</para>
  1710. <para>The following are not constants:</para>
  1711. <itemizedlist>
  1712. <listitem>
  1713. <para>RANDOM(), or any expression that contains RANDOM()</para>
  1714. </listitem>
  1715. <listitem>
  1716. <para>The result from a dataset, such as COUNT(Person())</para>
  1717. </listitem>
  1718. <listitem>
  1719. <para>Any expression that contains any non-constant value(s).</para>
  1720. <para>Solution: Choose another name for the field, or remove one if
  1721. they are just duplicated.</para>
  1722. <para>Example 1:</para>
  1723. <para><programlisting> 01: STRING8 MyString1 := INTFORMAT(10, <emphasis
  1724. role="bold">RANDOM()</emphasis>, 1);
  1725. 02: c(x) := x*2;
  1726. 03: y := 3;
  1727. 04: STRING8 MyString2 := INTFORMAT(10, c(y), 1);
  1728. 05: ct := COUNT(Person());
  1729. 06: STRING8 MyString3 := INTFORMAT(10, <emphasis role="bold">ct</emphasis>, 1);
  1730. </programlisting>Both RANDOM() in line 1 and ct in line 6 are not constant,
  1731. but c(y) in line 4 is constant. Example 2:</para>
  1732. <para><programlisting> 01: loadxml(‘myxml.xml’);
  1733. 02: #DECLARE (S)
  1734. 03: #SET (S, <emphasis role="bold">RANDOM()</emphasis>)
  1735. 04: #APPEND(S, <emphasis role="bold">RANDOM()</emphasis>)
  1736. 05: #IF (<emphasis role="bold">RANDOM()</emphasis>)
  1737. 06: #APPEND(S, ‘x := 1; ‘)
  1738. 07: #ELSE
  1739. 08: #APPEND(S, ‘x := 2; ‘)
  1740. 09: #END
  1741. </programlisting></para>
  1742. </listitem>
  1743. </itemizedlist>
  1744. <para>All these RANDOM() function calls are illegal since constants are
  1745. expected where they appear. To test this, an xml file named myxml.xml must
  1746. be provided, but the content of the file is not important for our
  1747. concern.</para>
  1748. </sect1>
  1749. <sect1 id="_2072">
  1750. <title>2072</title>
  1751. <indexterm>
  1752. <primary>2072</primary>
  1753. </indexterm>
  1754. <para><emphasis role="bold">Expected numeric expression</emphasis></para>
  1755. <para>An expression that is not compatible with a numeric type is
  1756. encountered. A numeric expression</para>
  1757. <para>can be: INTEGER, REAL, or DECIMAL (for all legal size, and signed,
  1758. unsigned types). This</para>
  1759. <para>error happens in the +, -, *, / operations. In the
  1760. expression:</para>
  1761. <programlisting>expr1 + expr2</programlisting>
  1762. <para>if one of the expr1 and expr2 is string, the other is implicitly
  1763. cast to string (if it is not already string, and can be cast to string).
  1764. For instance:</para>
  1765. <programlisting>x := 123 + ‘STR’</programlisting>
  1766. <para>is a legal expression, and x has the value: ‘123STR’. For other
  1767. operations (-, *, /), only numeric values are allowed. Implicit cast may
  1768. be involved, but:</para>
  1769. <para>• A string is not implicitly cast to a numeric value (while an
  1770. numeric can be implicitly cast to a string value).</para>
  1771. <para>• A boolean vaue cannot be cast to either string or numeric
  1772. values.</para>
  1773. <para>• A DATA value can only be cast to or from STRING, and not to or
  1774. from a numeric value.</para>
  1775. <para>Solution: Change the expression to be a numeric type. Use explict
  1776. casting where proper. Example:</para>
  1777. <programlisting> 01: x1 := <emphasis role="bold">TRUE </emphasis>+ 35;
  1778. 02:
  1779. 03: x2 := 35 - <emphasis role="bold">‘STR’</emphasis>;
  1780. 04:
  1781. 05: x3 := 34 * <emphasis role="bold">‘STR’</emphasis>;
  1782. 06:
  1783. 07: x4 := 12 * <emphasis role="bold">x’abcd’</emphasis>;
  1784. </programlisting>
  1785. <para>All bold expressions are not numeric (and cannot be implicitly cast
  1786. to a numeric value).</para>
  1787. </sect1>
  1788. <sect1 id="_2073">
  1789. <title>2073</title>
  1790. <indexterm>
  1791. <primary>2073</primary>
  1792. </indexterm>
  1793. <para><emphasis role="bold">Expected boolean expression</emphasis></para>
  1794. <para>A boolean expression is expected where this error occurs. For C
  1795. programmers, integer is not</para>
  1796. <para>compatible with boolean in ECL. So 0, 1 or 2 are not a legal boolean
  1797. values as in C. You can cast</para>
  1798. <para>an INTEGER to a BOOLEAN.</para>
  1799. <para>The following is a partial list of where a boolean expression is
  1800. expected:</para>
  1801. <para>• IF(condition, expr1,expr2)</para>
  1802. <para>• MAP(condtion1=&gt;expr1,…,condition_n=&gt;exprn, defvalue)</para>
  1803. <para>• IFBLOCK(condition)</para>
  1804. <para>• WHEN</para>
  1805. <para>• WHICH(condition1,…,conditions)</para>
  1806. <para>• REJECTED(condition1,…,conditions)</para>
  1807. <para>• #IF(condition)</para>
  1808. <para>Solution: Use boolean expression instead. Use comparison (=, !=,
  1809. &lt;&gt;, etc.) to change an integer to a boolean when proper.</para>
  1810. <para>Example:</para>
  1811. <programlisting> 01: x1 := NOT <emphasis role="bold">2</emphasis>;
  1812. 02: x2 := FALSE AND <emphasis role="bold">‘STR’</emphasis>;
  1813. 03: x3 := TRUE OR <emphasis role="bold">x’abcd’</emphasis>;
  1814. 04: x4 := IF (<emphasis role="bold">2</emphasis>,3,4);
  1815. 05: x5 := MAP(<emphasis role="bold">1</emphasis>=&gt;3,4);
  1816. 06: x6 := WHICH(<emphasis role="bold">‘2’</emphasis>,3&lt;4);
  1817. </programlisting>
  1818. <para>All the bol expressions should be replaced by boolean
  1819. expressions.</para>
  1820. </sect1>
  1821. <sect1 id="_2074">
  1822. <title>2074</title>
  1823. <indexterm>
  1824. <primary>2074</primary>
  1825. </indexterm>
  1826. <para><emphasis role="bold">‘(‘ expected</emphasis></para>
  1827. <para>An open parenthesis ‘(’ is missing. This error normally happens in
  1828. ECL template commands:</para>
  1829. <para>• #DECLARE</para>
  1830. <para>• #IF</para>
  1831. <para>• #FOR</para>
  1832. <para>• #SET</para>
  1833. <para>Solution: Add a ‘(‘ and ‘)’ if needed. Example:</para>
  1834. <programlisting>
  1835. 01: loadxml(‘myxml.xml’)
  1836. 02:
  1837. 03: #DECLARE <emphasis role="bold">s</emphasis>
  1838. 04:
  1839. 05: #IF <emphasis role="bold">TRUE</emphasis>
  1840. 06: #END
  1841. 07:
  1842. 08: #SET <emphasis role="bold">s</emphasis>
  1843. 09:
  1844. 10: #FOR <emphasis role="bold">item(%’type’% = ‘count’)</emphasis>
  1845. 11: #APPEND(s, ‘count’)
  1846. 12: #END
  1847. </programlisting>
  1848. <para>All bold expressions should be surrounded by parentheses.</para>
  1849. </sect1>
  1850. <sect1 id="_2075">
  1851. <title>2075</title>
  1852. <indexterm>
  1853. <primary>2075</primary>
  1854. </indexterm>
  1855. <para><emphasis role="bold">‘)’ expected</emphasis></para>
  1856. <para>A close parenthesis ‘)’ is missing. This error normally happens in
  1857. ECL template commands:</para>
  1858. <para>Solution: Add the missing ‘)’.</para>
  1859. <para>Example:</para>
  1860. <programlisting>
  1861. 01: loadxml(‘myxml.xml’)
  1862. 02:
  1863. 03: #DECLARE (s
  1864. 04:
  1865. 05: #IF (TRUE
  1866. 06: #END
  1867. 07:
  1868. 08: #SET (s,3
  1869. 09:
  1870. 10: #FOR (item(%’type’% = ‘cunt’)
  1871. 11: #APPEND(s, ‘count’)
  1872. 12: #END
  1873. </programlisting>
  1874. <para>The compiler may not do well enough to point out every missing ‘)’
  1875. in this example, so looking around is always a good idea.</para>
  1876. </sect1>
  1877. <sect1 id="_2076">
  1878. <title>2076</title>
  1879. <indexterm>
  1880. <primary>2076</primary>
  1881. </indexterm>
  1882. <para><emphasis role="bold">',' expected </emphasis></para>
  1883. <para>A comma (‘,’) is expected. Normally this means another parameter is
  1884. expected, or the program construct is incomplete.</para>
  1885. <para>Solution: Check the context where the error occurs and make sure to
  1886. supply complete parameters or complete constructs.</para>
  1887. <para>Example:</para>
  1888. <programlisting>
  1889. 01: #SET (s)
  1890. </programlisting>
  1891. <para>#SET expects two parameters instead of one.</para>
  1892. </sect1>
  1893. <sect1 id="_2077">
  1894. <title>2077</title>
  1895. <indexterm>
  1896. <primary>2077</primary>
  1897. </indexterm>
  1898. <para><emphasis role="bold">identifier expected</emphasis></para>
  1899. <para>An identifier is expected. This normally means the code expected an
  1900. attribute name. Solution: Check the context, and make sure understand the
  1901. construct you are using.</para>
  1902. <para>Example:</para>
  1903. <programlisting> 01: #DECLARE (1)
  1904. 02: #SET(1,2)</programlisting>
  1905. </sect1>
  1906. <sect1 id="_2078">
  1907. <title>2078</title>
  1908. <indexterm>
  1909. <primary>2078</primary>
  1910. </indexterm>
  1911. <para>; expected</para>
  1912. </sect1>
  1913. <sect1 id="_2079">
  1914. <title>2079</title>
  1915. <indexterm>
  1916. <primary>2079</primary>
  1917. </indexterm>
  1918. <para>Expected an 8 byte file position</para>
  1919. </sect1>
  1920. <sect1 id="_2080">
  1921. <title>2080</title>
  1922. <indexterm>
  1923. <primary>2080</primary>
  1924. </indexterm>
  1925. <para>Fileposition should be the last field in an index</para>
  1926. </sect1>
  1927. <sect1 id="_2081">
  1928. <title>2081</title>
  1929. <indexterm>
  1930. <primary>2081</primary>
  1931. </indexterm>
  1932. <para><emphasis role="bold">Import names unknown module
  1933. XXX</emphasis></para>
  1934. <para>The IMPORT names a module that appears not to exist. In ECL, ll
  1935. modules are defined and</para>
  1936. <para>stored in a central ECL repository.</para>
  1937. <para>Solution: Make sure the module exists in the ECL repository and its
  1938. name is spelled correctly for the IMPORT. If you believe the module is
  1939. there and you still have problem, this is often a</para>
  1940. <para>system configuration problem. Unless you are unfamiliar with the
  1941. system, contact your system administrator.</para>
  1942. <para>The following information is only for the advanced user who will do
  1943. the configuration by him/ herself. If you are using Query Builder program,
  1944. use the Connections tab in the File/Preferences dialog. Use the Quick
  1945. Config button if you can. If youare running a local ECL server, you can
  1946. first use the Quick Config to set up the Jack and Hole cluster. Then
  1947. change the ECL server to point to you machine (either the machine name or
  1948. IP will be OK).</para>
  1949. <para>Example:</para>
  1950. <programlisting> IMPORT unknown_module;
  1951. </programlisting>
  1952. <para>In the above example, unknown_module is not the ECL
  1953. repository.</para>
  1954. </sect1>
  1955. <sect1 id="_2091">
  1956. <title>2091</title>
  1957. <indexterm>
  1958. <primary>2091</primary>
  1959. </indexterm>
  1960. <para><emphasis role="bold">JOINED must specify a sorted
  1961. dataset</emphasis></para>
  1962. <para>In the SORT function:</para>
  1963. <para>SORT (recordset, value [, value …], JOINED(joinedset)]);</para>
  1964. <para>the parameter to JOINED must be a sorted set.</para>
  1965. <para>A sorted dataset is either a dataset that is labeled as SORTED, or
  1966. the result set of a SORT</para>
  1967. <para>function.</para>
  1968. <para>Solution: Label the dataset as SORTED if it is already sorted,
  1969. otherwise sort it first. Normally, we need a temporary attribute to hold
  1970. the sorted dataset because of Error C2161.</para>
  1971. <para>Example:</para>
  1972. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa}, hole);
  1973. 02: bbb := DATASET(‘bbb’, {STRING1 fb}, hole, aaa);
  1974. 03: sorted_bbb := SORTED(bbb, fb);
  1975. 04: OUTPUT(SORT(aaa, fa, JOINED(bbb)));
  1976. </programlisting>
  1977. <para>The bbb is not a sorted dataset in line 4, so we get this error.
  1978. sorted_bbb is sorted, so we can solve this problm by replacing bbb with
  1979. sorted_bbb.</para>
  1980. </sect1>
  1981. <sect1 id="_2092">
  1982. <title>2092</title>
  1983. <indexterm>
  1984. <primary>2092</primary>
  1985. </indexterm>
  1986. <para><emphasis role="bold">JOINED data set has different number of sort
  1987. fields</emphasis></para>
  1988. <para>In the SORT statement:</para>
  1989. <para><programlisting>SORT (recordset, value, [value…], JOINED(joinedset));</programlisting></para>
  1990. <para>the number of sort fields in joinedset and the number of field to be
  1991. sorted on for the recordset must be the same.</para>
  1992. <para>The sort fields are the fields that are specified in the SORT or
  1993. SORTED statement. For example:</para>
  1994. <programlisting>SortedPerson := SORT(person, first_name, last_name);</programlisting>
  1995. <para>has 2 sort fields: first_name, and last_name, and</para>
  1996. <programlisting>sortedPerson2 := SORTED(sortedPerson, first_name);</programlisting>
  1997. <para>has only 1 sort field: first_name as specified in the SORTED
  1998. statement, although sortedPerson was sorted on two fields.</para>
  1999. <para>Solution: Specify the same number of sort fields as required.
  2000. Example:</para>
  2001. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 f1, STRING1 f2}, hole);
  2002. 02: sored_aaa := SORT(aaa,f1,f2);
  2003. 03: OUTPUT(SORT(aaa, f2, JOINED(sorted_aaa)));
  2004. 04: // this is OK although sorted_aaa was sorted on 2 fields.
  2005. 05: sorted_aaa2 := SORTED(sorted_aaa,f1);
  2006. 06: OUTPUT(SORT(aaa, f2, JOINED(sorted_aaa2)));
  2007. 07: bbb := DATASET(‘bbb’, {STRING1 fb}, hole);
  2008. 08: sorted_bbb := SORTED(bbb,fb);
  2009. 09: OUTPUT(SORT(aaa, f1, f2, JOINED(sorted_bbb)));
  2010. </programlisting>
  2011. <para>In line 3, sorted_aaa has 2 sort fields (f1, f2 as defined in line
  2012. 2), while the outer sort to aaa only has 1 field (f2). In line 9,
  2013. sorted_bbb has 1 sort field while sort on aaa has 2. Both cases are not
  2014. allowed. Note that line 6 is OK since sorted_aaa2 has only 1 sort field
  2015. specified although sorted_aaa was sorted on two fields.</para>
  2016. </sect1>
  2017. <sect1 id="_2093">
  2018. <title>2093</title>
  2019. <indexterm>
  2020. <primary>2093</primary>
  2021. </indexterm>
  2022. <para><emphasis role="bold">Component of JOINED has different type to this
  2023. sort</emphasis></para>
  2024. <para>In the SORT statement:</para>
  2025. <para><programlisting>SORT (recordset, value, [value…], JOINED(joinedset));</programlisting></para>
  2026. <para>the type of each field specified in SORT (by value, [value…]) must
  2027. be the same as the sort fields</para>
  2028. <para>in the joinedset. The type is compared in the order they are
  2029. specified. (Note that they must have</para>
  2030. <para>the same number of fields, see Error 2092.)</para>
  2031. <para>Solution: Make sure they have the same types. Example:</para>
  2032. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 f1, BOOLEAN f2}, hole);
  2033. 02: sorted_aaa := SORT(aaa,f1);
  2034. 03: OUTPUT(SORT(aaa, f2, JOINED(sorted_aaa)));
  2035. 04:
  2036. 05: sorted_aaa1 := SORT(aaa,f1,f2);
  2037. 06: OUTPUT(SORT(aaa, f2, f1, JOINED(sorted_aaa1)));
  2038. </programlisting>
  2039. <para>In line 2, sorted_aaa is sorted on f1, whose type is STRING1.
  2040. However, in line 3, we are sorting aa on field f2 which is of type
  2041. BOOLEAN. In line 6, we should know that the order of the fields
  2042. matters.</para>
  2043. </sect1>
  2044. <sect1 id="_2094">
  2045. <title>2094</title>
  2046. <indexterm>
  2047. <primary>2094</primary>
  2048. </indexterm>
  2049. <para><emphasis role="bold">Too many joined clauses</emphasis></para>
  2050. <para>In a SORT statement, only one JOINED clause is allowed. If we give
  2051. more than one JOINED clause, we get this error.</para>
  2052. <para>Solution: Remove extra JOINED clause, and only keep one.
  2053. Example:</para>
  2054. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 f1, BOOLEAN f2}, hole);
  2055. 02: sorted_aaa := SORT(aaa,f1);
  2056. 03: OUTPUT(SORT(aaa, f1, JOINED(sorted_aaa), JOINED(sorted_aaa)));
  2057. </programlisting>
  2058. <para>Two JOINED clauses are presented in the SORT of line 3.</para>
  2059. </sect1>
  2060. <sect1 id="_2095">
  2061. <title>2095</title>
  2062. <indexterm>
  2063. <primary>2095</primary>
  2064. </indexterm>
  2065. <para>Implicit joins are only supported in HOLE</para>
  2066. </sect1>
  2067. <sect1 id="_2096">
  2068. <title>2096</title>
  2069. <indexterm>
  2070. <primary>2096</primary>
  2071. </indexterm>
  2072. <para>The list to be sorted on can not be empty</para>
  2073. </sect1>
  2074. <sect1 id="_2097">
  2075. <title>2097</title>
  2076. <indexterm>
  2077. <primary>2097</primary>
  2078. </indexterm>
  2079. <para>Invalid size for UNICODE or VARUNICODE type</para>
  2080. </sect1>
  2081. <sect1 id="_2098">
  2082. <title>2098</title>
  2083. <indexterm>
  2084. <primary>2098</primary>
  2085. </indexterm>
  2086. <para>Incompatible locales in unicode arguments of binary operation</para>
  2087. </sect1>
  2088. <sect1 id="_2099">
  2089. <title>2099</title>
  2090. <indexterm>
  2091. <primary>2099</primary>
  2092. </indexterm>
  2093. <para>Bad locale name</para>
  2094. </sect1>
  2095. <sect1 id="_2100">
  2096. <title>2100</title>
  2097. <indexterm>
  2098. <primary>2100</primary>
  2099. </indexterm>
  2100. <para><emphasis role="bold">Definition must define EXPORTed or SHAREed
  2101. value for XXX.</emphasis></para>
  2102. <para>You are trying to use an attribute that is defined in a module but
  2103. not EXPORTed or SHARED. If you want use an attribute that is defined in
  2104. another module, the attribute must be EXPORTed. If you are using an
  2105. attribute defined in the same module, bt in a different file (a Query
  2106. Build window), it must be defined as SHARED.</para>
  2107. <para>Solution: Export or share the attribute. Example:</para>
  2108. <programlisting>Inside MyModule:
  2109. 01: SmallPersonSet := CHOOSEN(Person(), 50);
  2110. ECL code that is trying to use SmallPersonSet:
  2111. 01: import MyModule;
  2112. 02: output(MyModule.SmallPersonSet);
  2113. </programlisting>
  2114. <para>We get this error since SmallPersonSet is defined, but neither
  2115. EXPORTed or SHARED.</para>
  2116. </sect1>
  2117. <sect1 id="_2101">
  2118. <title>2101</title>
  2119. <indexterm>
  2120. <primary>2101</primary>
  2121. </indexterm>
  2122. <para>Error in referenced attribute</para>
  2123. </sect1>
  2124. <sect1 id="_2110">
  2125. <title>2110</title>
  2126. <indexterm>
  2127. <primary>2110</primary>
  2128. </indexterm>
  2129. <para><emphasis role="bold">A value for XXX has already been
  2130. specified</emphasis></para>
  2131. <para>In a TRANSFORM definition, each field of the return record structure
  2132. must receive a value once (otherwise Error 2111 occurs) and only once
  2133. (otherwise this error occurs).</para>
  2134. <para>Note that the collective assignment definition:</para>
  2135. <programlisting><emphasis role="bold"> SELF </emphasis>:= label;</programlisting>
  2136. <para>places a value in each field of the result record from its matching
  2137. field in the label record. How- ever, this collective assignment
  2138. definition can be overwritten by a following individual assign- ment
  2139. definition to one or more of the fields. This is a special exception. The
  2140. execution engine can detect this situation if a following assignment
  2141. definition exists.</para>
  2142. <para>Solution: Make sure to only define each output field once. Use CSE,
  2143. MAP, CHOOSE, or IF</para>
  2144. <para>when proper so that there is only one assignment definition for each
  2145. output ield.</para>
  2146. <para>Example:</para>
  2147. <programlisting> 01: NamesRec := RECORD
  2148. 02: STRING20 thename;
  2149. 03: STRING20 addr1 := ‘’;
  2150. 04: STRING20 addr2 := ‘’;
  2151. 05: END;
  2152. 06:
  2153. 07: OutRec := RECORD
  2154. 08: STRING20 thename;
  2155. 09: STRING20 addr;
  2156. 10: END;
  2157. 11:
  2158. 12: OutRec Trans(NamesRec L, INTEGER C) :=
  2159. 13: TRANSFORM
  2160. 14: SELF := L;
  2161. 15: SELF.addr := CHOOSE(C, L.addr1, L.addr2);
  2162. 16: SELF.addr := ‘ABC’;
  2163. 17: END;</programlisting>
  2164. </sect1>
  2165. <sect1 id="_2111">
  2166. <title>2111</title>
  2167. <indexterm>
  2168. <primary>2111</primary>
  2169. </indexterm>
  2170. <para><emphasis role="bold">Transform does not supply a value for field
  2171. XXX</emphasis></para>
  2172. <para>In a TRANSFORM definition, each field of the return record structure
  2173. must recieve a value, either explicitly by an assignment definition, or
  2174. implicitly by</para>
  2175. <programlisting><emphasis role="bold"> SELF </emphasis>:= label;</programlisting>
  2176. <para>Either way, we must guarantee each field receives a value.</para>
  2177. <para>Solution: Ensure a value is placed in the field. If you want the
  2178. field just get the value of a corre- sponding filed in an input record,
  2179. the two fields must have the same names.</para>
  2180. <para>Example:</para>
  2181. <programlisting> 01: NamesRec := RECORD
  2182. 02: //STRING20 <emphasis role="bold">thename</emphasis>;
  2183. 03: STRING20 addr1 := ‘’;
  2184. 04: STRING20 addr2 := ‘’;
  2185. 05: END;
  2186. 06:
  2187. 07: OutRec := RECORD
  2188. 08: STRING20 thename;
  2189. 09: STRING20 addr;
  2190. 10: END;
  2191. 11:
  2192. 12: OutRec Trans(NamesRec L, INTEGER C) := TRANFORM
  2193. 13: SELF := L;
  2194. 14: SELF.addr := CHOOSE(C, L.addr1, L.addr2);
  2195. 15: END;
  2196. </programlisting>
  2197. <para>Since we commented out the field thename in NamesRec definition
  2198. (line 2), and we don’t explicitly place a value in OutRec’s thename field
  2199. (line 13-15), we get this error. We can either un- comment line 2, or
  2200. place a value in OutRec.thename within the transform to resolve the
  2201. problem.</para>
  2202. </sect1>
  2203. <sect1 id="_2112">
  2204. <title>2112</title>
  2205. <indexterm>
  2206. <primary>2112</primary>
  2207. </indexterm>
  2208. <para><emphasis role="bold">A field called XXX is already defined in this
  2209. record</emphasis></para>
  2210. <para>A field with the same name as the one in question is already defined
  2211. in the record. Field names must be unique within a record definition. It
  2212. doesn’t matter if their types are the same or not.</para>
  2213. <para>Solution: Choose another name for the field, or remove one if they
  2214. are just duplicated. Example:</para>
  2215. <programlisting> 01: MyRec := RECORD
  2216. 02: STRING20 name;
  2217. 03: INTEGER1 age;
  2218. 04: STRING20 <emphasis role="bold">name</emphasis>;
  2219. 05: INTEGER1 <emphasis role="bold">name</emphasis>;
  2220. 06: END;
  2221. </programlisting>
  2222. <para>In the above example, name is aleady defined in line 2, the
  2223. definitions in line 4 and 5 are not allowed.</para>
  2224. </sect1>
  2225. <sect1 id="_2113">
  2226. <title>2113</title>
  2227. <indexterm>
  2228. <primary>2113</primary>
  2229. </indexterm>
  2230. <para>TRANSFORM required a record return type</para>
  2231. </sect1>
  2232. <sect1 id="_2114">
  2233. <title>2114</title>
  2234. <indexterm>
  2235. <primary>2114</primary>
  2236. </indexterm>
  2237. <para>Can not assign type XXX to self</para>
  2238. </sect1>
  2239. <sect1 id="_2115">
  2240. <title>2115</title>
  2241. <indexterm>
  2242. <primary>2115</primary>
  2243. </indexterm>
  2244. <para>Transform must have at least 1 parameter</para>
  2245. </sect1>
  2246. <sect1 id="_2116">
  2247. <title>2116</title>
  2248. <indexterm>
  2249. <primary>2116</primary>
  2250. </indexterm>
  2251. <para>Dataset can not be used in transform</para>
  2252. </sect1>
  2253. <sect1 id="_2117">
  2254. <title>2117</title>
  2255. <indexterm>
  2256. <primary>2117</primary>
  2257. </indexterm>
  2258. <para>Can not use dataset directly in transform parameters</para>
  2259. </sect1>
  2260. <sect1 id="_2121">
  2261. <title>2121</title>
  2262. <indexterm>
  2263. <primary>2121</primary>
  2264. </indexterm>
  2265. <para><emphasis role="bold">Invalid substring range</emphasis></para>
  2266. <para>The index to a string is in an illegal range. There are 3
  2267. cases:</para>
  2268. <para>• If a start index is specified, it must e in the range [1 ..
  2269. string_len], inclusive.</para>
  2270. <para>• If a stop index is specified, it must be in the range [1 ..
  2271. string_len], inclusive.</para>
  2272. <para>• If both start index and stop indexes are specified, the start
  2273. index must be less than or equal to the stop index.</para>
  2274. <para>The &lt;more info&gt; will explain which case the error is. If there
  2275. are mutiple cases in one substring expression, only the first error is
  2276. given (to reduce the number of error messages). For the C/ C++/Java
  2277. programmers, ECL indexing always starts at element 1 (not 0).</para>
  2278. <para>This error is a compiler error, not a runtime error. Don’t count on
  2279. the compiler to do all the index checking for you. It is always a good
  2280. idea to mae sure the index is in proper range. For example:</para>
  2281. <programlisting> 01: STRING concat(STRING x, STRING y) := x+y;
  2282. 02: STRING a := ‘a’;
  2283. 03: STRING b := ‘bc’;
  2284. 04: STRING c := concat(a,b);
  2285. 05: c[10];
  2286. </programlisting>
  2287. <para>The compiler cannot know that the index value (10) in line 5 is out
  2288. of range. The behavior is undefined if the index is out of range at
  2289. runtime.</para>
  2290. <para>Solution: For indexing string constants, make sure it is in proper
  2291. range. For strings of unknown size (like a STRING parameter passed to a
  2292. function), use the LENGTH function as necessary.</para>
  2293. <para>Example:</para>
  2294. <programlisting> 01: STRING3 s := ‘abc’;
  2295. 02: s1 := s[0];
  2296. 03: s2 := s[1..4];
  2297. 04: s3 := s[3..2];
  2298. </programlisting>
  2299. <para>We get the following error message:</para>
  2300. <programlisting> error C2121: Invalid substring range: start index out of [1..len]
  2301. error C2121: Invalid substring range: end index out of [1..len]
  2302. error C2121: Invalid substring range: start index &gt; end index</programlisting>
  2303. </sect1>
  2304. <sect1 id="_2124">
  2305. <title>2124</title>
  2306. <indexterm>
  2307. <primary>2124</primary>
  2308. </indexterm>
  2309. <para>STORED() has zero length</para>
  2310. </sect1>
  2311. <sect1 id="_2130">
  2312. <title>2130</title>
  2313. <indexterm>
  2314. <primary>2130</primary>
  2315. </indexterm>
  2316. <para><emphasis role="bold">Value for field XXX cannot be computed in this
  2317. scope</emphasis></para>
  2318. <para>Inside an OUTPUT, the output record specifies a field that is not
  2319. part of the dataset. The example will help to clarify this.</para>
  2320. <para>Solution: Remove the offending field from the output record set.
  2321. Example:</para>
  2322. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa }, HOLE);
  2323. 02: bbb := DATASET(‘bbb’, {STRING1 fb }, HOLE);
  2324. 03:
  2325. 04: OUTPUT(aaa, {aaa.fa, bbb.fb});
  2326. </programlisting>
  2327. <para>In line 4, field bbb.fb is not a field of output dataset aaa,
  2328. therefore cannot be specified here.</para>
  2329. </sect1>
  2330. <sect1 id="_2131">
  2331. <title>2131</title>
  2332. <indexterm>
  2333. <primary>2131</primary>
  2334. </indexterm>
  2335. <para><emphasis role="bold">Incorrect assertion scoping</emphasis></para>
  2336. <para>There is a problem with the scoping of the referenced attribute.
  2337. There are several cases.</para>
  2338. <para>• In a filter, each referenced field must be a field of the dataset
  2339. we are filtering. The examplewill help to clarify this.</para>
  2340. <para>• In SORT, the field to be sorted must be a field of the dataset
  2341. that is being sorted.</para>
  2342. <para>• In SORTED, the field that is specified as having been sorted on
  2343. must be a field of the dataset.</para>
  2344. <para>And much more…</para>
  2345. <para>Solution: Remove the offending field from the filter. Example
  2346. 1:</para>
  2347. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa }, HOLE);
  2348. 02: bbb := DATASET(‘bbb’, {STRING1 fb }, HOLE);
  2349. 03:
  2350. 04: OUTPUT(aaa(fa=’Good’, bbb.fb=’Bad’));
  2351. </programlisting>
  2352. <para>This is a filter example. In line 4, the filter bbb.fb = ‘Bad’
  2353. refers to a field of dataset bbb, but we are trying to filter dataset
  2354. aaa.</para>
  2355. <para>Example 2:</para>
  2356. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa }, HOLE);
  2357. 02: bbb := DATASET(‘aaa’, {STRING1 fb }, HOLE);
  2358. 03: ccc := SORT(aaa, fa, bbb.fb);
  2359. </programlisting>
  2360. <para>This is a SORT example. In line 3, bbb.fb is not a field of the
  2361. dataset aaa which we are sorting.</para>
  2362. </sect1>
  2363. <sect1 id="_2132">
  2364. <title>2132</title>
  2365. <indexterm>
  2366. <primary>2132</primary>
  2367. </indexterm>
  2368. <para><emphasis role="bold">Assertion must be boolean</emphasis></para>
  2369. <para>Each filter for a dataset must be a boolean expression. This error
  2370. usually follows error C2073: Boolean expression expected.</para>
  2371. <para>Solution: Change the expression in question to a boolean expression.
  2372. Example:</para>
  2373. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 f1; STRING1 f2; }, HOLE);
  2374. 02: bbb := aaa(f1);
  2375. 03: ccc := aaa(f1*2);
  2376. </programlisting>
  2377. <para>In line 2, f1 is not boolean type, and in line 3, f1*2 gives an
  2378. error, and results in an unknown type filter.</para>
  2379. </sect1>
  2380. <sect1 id="_2133">
  2381. <title>2133</title>
  2382. <indexterm>
  2383. <primary>2133</primary>
  2384. </indexterm>
  2385. <para>Use dataset in expression without proper context</para>
  2386. </sect1>
  2387. <sect1 id="_2134">
  2388. <title>2134</title>
  2389. <indexterm>
  2390. <primary>2134</primary>
  2391. </indexterm>
  2392. <para>Parameter to fetch isn't a dataset</para>
  2393. </sect1>
  2394. <sect1 id="_2141">
  2395. <title>2141</title>
  2396. <indexterm>
  2397. <primary>2141</primary>
  2398. </indexterm>
  2399. <para><emphasis role="bold">Illegal combination of
  2400. modifers</emphasis></para>
  2401. <para>The modifiers to attributes have an illegal combination. Duplicating
  2402. the same modifier is an example of illegal combination. Combining some
  2403. conflicted modifiers will be an error too, but will cause different errors
  2404. than this one (e.g., see Error C2142).</para>
  2405. <para>Solution: Remove any duplicated modifier. Example:</para>
  2406. <programlisting> 01: SHARED SHARED aa := 3;
  2407. </programlisting>
  2408. <para>Here two SHARED are used at the same time – an illegal combination.
  2409. Remove one of them.</para>
  2410. </sect1>
  2411. <sect1 id="_2142">
  2412. <title>2142</title>
  2413. <indexterm>
  2414. <primary>2142</primary>
  2415. </indexterm>
  2416. <para><emphasis role="bold">EXPORT and SHARED cannot be specified
  2417. together</emphasis></para>
  2418. <para>EXPORT and SHARED are both specified on an attribute, which is not
  2419. allowed.</para>
  2420. <para>Solution: Remove EXPORT or SHARED. Example:</para>
  2421. <programlisting>
  2422. 01: SHARED EXPORT aa := 3;
  2423. 02: EXPORT SHARED bb := 3;
  2424. </programlisting>
  2425. <para>Both lines specify SHARED and EXPORT at the same time.</para>
  2426. </sect1>
  2427. <sect1 id="_2143">
  2428. <title>2143</title>
  2429. <indexterm>
  2430. <primary>2143</primary>
  2431. </indexterm>
  2432. <para><emphasis role="bold">Identifier XXX is already
  2433. defined</emphasis></para>
  2434. <para>The identifier in question is already defined somewhere before. The
  2435. identifier can be an attribute name, a user-defined function name, a
  2436. user-defined macro name, etc. Functions, macros, and attributes all share
  2437. a name space. Therefore, an identifier that is used as a function name
  2438. cannot be used again in the same scope. See Scope rules in ECL for
  2439. information about scoping.</para>
  2440. <para>In ECL, an attribute can be defined only once in a given scope. Once
  2441. defined, we cannot rede- fine it again in the same scope. In this regard,
  2442. attributes are different from variables in the normal procedure
  2443. programming languages.</para>
  2444. <para>Solution: Choose another name, or make the conflicting names exist
  2445. in different scopes, if possible. Removing EXPORT or SHARED to changethe
  2446. scope level may make once-valid code invalid since EXPORT or SHARED
  2447. changes the scope of any local attributes before it.</para>
  2448. <para>Example:</para>
  2449. <programlisting> 01: attr := 4;
  2450. 02: <emphasis role="bold">attr </emphasis>:= 3;
  2451. 03:
  2452. 04: func(x) := x*2;
  2453. 05: <emphasis role="bold">func</emphasis>(x) := x+2;
  2454. 06:
  2455. 07: macro1 := MACRO
  2456. 08: 4
  2457. 09: ENDMACRO;
  2458. 10: <emphasis role="bold">macro1 </emphasis>:= 2;
  2459. </programlisting>
  2460. <para>In the example, all identifiers in bold are already defined before
  2461. it.</para>
  2462. </sect1>
  2463. <sect1 id="_2144">
  2464. <title>2144</title>
  2465. <indexterm>
  2466. <primary>2144</primary>
  2467. </indexterm>
  2468. <para><emphasis role="bold">Expression produces string field of unknown
  2469. length</emphasis></para>
  2470. <para>The compiler cannot determine the size of a string field. This
  2471. normally is the result of some other ECL error that causes the compiler to
  2472. have trouble evaluating the size of a string. This error happens often in
  2473. RECORD definitions (and its IFBLOCK).</para>
  2474. <para>Solution: If the error happens in a RECORD definition, make sure the
  2475. field has a name, and a STRINGn type (STRING without a length cannot be
  2476. used, otherwise you get a C2043 error). The field can be anonymous only
  2477. if: (1) the data type is omitted, and (2) a dataset name is used as the
  2478. expression (which is used to include all the fields from the dataset at
  2479. their declared sizes and value types). For example:</para>
  2480. <programlisting> aaa := DATASET(‘aaa’,{STRING1 f1, INTEGER1 f2}, FLAT); MyRec :=
  2481. RECORD
  2482. aaa;
  2483. STRING1 sex;
  2484. END;
  2485. This is equal to:
  2486. MyRec := RECORD STRING1 f1; INTEGER1 f2; STRING1 sex;
  2487. END;
  2488. Example:
  2489. 01: STRING cat(STRING s1, STRING s2) := s1 + s2;
  2490. 02:
  2491. 03: MyRec := RECORD
  2492. 04: cat(‘abc’,’def’);
  2493. 05: END;
  2494. </programlisting>
  2495. <para>In line 4, no name is given to the to-be-defined field of MyRec. The
  2496. compiler tries to decide the type of the expression cat(‘abc’, ‘def ’) and
  2497. discovers it is STRING (with no specific length) from the definition the
  2498. cat function in line 1. Therefore you get this unknown size error. Giving
  2499. a name and a specific size type to the field solves the problem:</para>
  2500. <programlisting> 04: STRING6 magictag := cat(‘abc’,’def’);</programlisting>
  2501. <para>Note that we also have to give a size explicitly to the STRING type
  2502. in the above code, otherwise, an error C2043 occurs.</para>
  2503. </sect1>
  2504. <sect1 id="_2145">
  2505. <title>2145</title>
  2506. <indexterm>
  2507. <primary>2145</primary>
  2508. </indexterm>
  2509. <para><emphasis role="bold">Different character sets in
  2510. concatenation</emphasis></para>
  2511. <para>The operands in string concatenation (+) have different character
  2512. sets. In ECL, we can use ASCII or EBCDIC charset. By default, a STRING is
  2513. ASCII. We can not concatenate an EB- CDIC string to an ASCII string (or
  2514. vice versa).</para>
  2515. <para>Solution: Concatenate an EBCDIC string and an ASCII string seldom
  2516. make sense. If you do want to do this, what you really want to do is to
  2517. change the code of one string so that the two strings have the same
  2518. charsets. An ECL function or service can be defined to accomplish this
  2519. task. There is no build in function or service to do this (AFAIK).</para>
  2520. <para>Example:</para>
  2521. <programlisting> 01: ASCII STRING3 x := ‘ABC’;
  2522. 02: EBCDIC STRING4 y := ‘ABCD’;
  2523. 03: STRING7 a := x + y;
  2524. </programlisting>
  2525. <para>Note that in line 3, y is not an ASCII string ‘ABCD’ since we are
  2526. defining it as an EBCDIC encoded string.</para>
  2527. </sect1>
  2528. <sect1 id="_2146">
  2529. <title>2146</title>
  2530. <indexterm>
  2531. <primary>2146</primary>
  2532. </indexterm>
  2533. <para><emphasis role="bold">Type transfer: target type is larger than
  2534. source type</emphasis></para>
  2535. <para>In a type transfer, the size of target type is larger the size of
  2536. source type.</para>
  2537. <para>ECL doesn’t allow this because it doesn’t know how to fill the extra
  2538. space in the target. However, it quietly accepts the other case: target
  2539. size is smaller than the source type in which case data is lost. It
  2540. assumes that the user doing the transfer knows what he is doing.</para>
  2541. <para>Type transfer in ECL can be done using the build-in function
  2542. TRANSFER or use the transfer operator: (&gt;, &lt;). They are
  2543. equivalent.</para>
  2544. <para>Solution: Make sure the size of the target type is equal to or less
  2545. than that of the source type. Example:</para>
  2546. <programlisting> 01: INTEGER2 x := 65;
  2547. 02: STRING3 xstr1 := TRANSFER(x,STRING3);
  2548. 03: STRING3 xstr2 := (&gt;STRING3&lt;)x;
  2549. </programlisting>
  2550. <para>In line 1, x is defined as INTEGER2 (which has size 2). In line 2
  2551. and 3, both target types are STRING3 (size=3). Line 2 and line 3 are doing
  2552. the same thing: one uses TRANSFER function, the other uses (&gt;, &lt;)
  2553. operator.</para>
  2554. </sect1>
  2555. <sect1 id="_2147">
  2556. <title>2147</title>
  2557. <indexterm>
  2558. <primary>2147</primary>
  2559. </indexterm>
  2560. <para>Illegal identifier XXX: $ is not allowed</para>
  2561. </sect1>
  2562. <sect1 id="_2160">
  2563. <title>2160</title>
  2564. <indexterm>
  2565. <primary>2160</primary>
  2566. </indexterm>
  2567. <para><emphasis role="bold">SIZEOF requires a field or dataset
  2568. parameter</emphasis></para>
  2569. <para>The build-in function SIZEOF only works with a field or DATASET. For
  2570. C programmers,</para>
  2571. <para>SIZEOF in ECL is different from the sizeof operator in C/C++, where
  2572. it can be used on a data</para>
  2573. <para>type or a variable.</para>
  2574. <para>Solution: Use SIZEOF only on a field or a dataset as required.
  2575. Example:</para>
  2576. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 f1, STRING1 f2}, hole);
  2577. 02: OUTPUT(aaa, {f1,SIZEOF(aaa),SIZEOF(f1)});
  2578. 03:
  2579. 04: INTEGER4 x := 3;
  2580. 05: sizeOfInt := SIZEOF(x);
  2581. 06: sizeOfInt4 := SIZEOF(INTEGER4);
  2582. </programlisting>
  2583. <para>In line 2, SIZEOF is on dataset aaa or field f1. Therefore, it is
  2584. OK. However, in lines 5 and 6, SIZEOF is on an attribute x and a data type
  2585. INTEGER4, which will causing this compile error.</para>
  2586. </sect1>
  2587. <sect1 id="_2161">
  2588. <title>2161</title>
  2589. <indexterm>
  2590. <primary>2161</primary>
  2591. </indexterm>
  2592. <para><emphasis role="bold">Nested SORTs may behave incorrectly. Split the
  2593. attribute into two</emphasis></para>
  2594. <para>Sort function calls are nested and may behave incorrectly. This is a
  2595. limit of the current implementation. In the future, this limitation may be
  2596. removed.</para>
  2597. <para>Solution: Split the attribute into two. Example:</para>
  2598. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa}, hole);
  2599. 02: bbb := DATASET(‘bbb’, {STRING1 fb}, hole, aaa);
  2600. 03: OUTPUT(SORT(aaa, <emphasis role="bold">SORT</emphasis>(bbb, fb)[1].fb));
  2601. </programlisting>
  2602. <para>The compiler complains on the second SORT in line 3. We can solve
  2603. the problem by splitting the attribute, like this:</para>
  2604. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa}, hole);
  2605. 02: bbb := DATASET(‘bbb’, {STRING1 fb}, hole, aaa);
  2606. 03: temp := SORT(bbb, fb);
  2607. 04: OUTPUT(SORT(aaa, temp[1].fb));</programlisting>
  2608. </sect1>
  2609. <sect1 id="_2162">
  2610. <title>2162</title>
  2611. <indexterm>
  2612. <primary>2162</primary>
  2613. </indexterm>
  2614. <para><emphasis role="bold">Nested GROUPs may behave incorrectly. Split
  2615. the attribute into two</emphasis></para>
  2616. <para>Group function calls are nested and may behave incorrectly. This is
  2617. a limit of the current implementation. In the future, this limitation may
  2618. be removed.</para>
  2619. <para>Solution: Split the attribute into two. Example:</para>
  2620. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa}, hole);
  2621. 02: bbb := DATASET(‘bbb’, {STRING1 fb}, hole, aaa);
  2622. 03: OUTPUT(GROUP(aaa, <emphasis role="bold">GROUP</emphasis>(bbb, fb)[1].fb));
  2623. </programlisting>
  2624. <para>The compiler complains on the second GROUP in line 3. We can solve
  2625. the problem by splitting the attribute, like this:</para>
  2626. <programlisting> 01: aaa := DATASET(‘aaa’, {STRING1 fa}, hole);
  2627. 02: bbb := DATASET(‘bbb’, {STRING1 fb}, hole, aaa);
  2628. 03: temp := GROUP(bbb, fb);
  2629. 04: OUTPUT(GROUP(aaa, temp[1].fb));</programlisting>
  2630. </sect1>
  2631. <sect1 id="_2163">
  2632. <title>2163</title>
  2633. <indexterm>
  2634. <primary>2163</primary>
  2635. </indexterm>
  2636. <para><emphasis role="bold">Too many operands</emphasis></para>
  2637. <para>This error happens in the ECL template commands. The command
  2638. expected a certain number of parameters, and the code supplies more than
  2639. it needs.</para>
  2640. <para>Solution: Reduce the number of parameters as required.
  2641. Example:</para>
  2642. <programlisting> 01: LOADXML(‘myxml.xml’);
  2643. 02:
  2644. 03: #DECLARE(S)
  2645. 04:
  2646. 05: <emphasis role="bold">#IF(S &gt; 1, S &lt; 5)</emphasis>
  2647. 06: #ENDIF
  2648. 07:
  2649. 08: <emphasis role="bold">#SET (S, ‘1’, 2)</emphasis>
  2650. </programlisting>
  2651. <para>Both #IF and #SET need fewer parameters than they are
  2652. supplied.</para>
  2653. </sect1>
  2654. <sect1 id="_2164">
  2655. <title>2164</title>
  2656. <indexterm>
  2657. <primary>2164</primary>
  2658. </indexterm>
  2659. <para><emphasis role="bold">No XML scope active</emphasis></para>
  2660. <para>The current statement is legal only in an XML context. For example,
  2661. the template language is designed specifically for parsing XML code, and
  2662. therefore requires an active XML source.</para>
  2663. <para>Solution: Add an XML scope before the error (normally at the
  2664. beginning of the file) using LOADXML(xml-file-name).</para>
  2665. <para>Example:</para>
  2666. <programlisting> 01: #DECLARE(s)
  2667. </programlisting>
  2668. <para>We can simply add a dummy loadxml statement before line 1 to resolve
  2669. this error:</para>
  2670. <programlisting> LOADXML(“myxml.xml”);
  2671. </programlisting>
  2672. <para>The content for this example is not important, but it is important
  2673. that the file does exist.</para>
  2674. </sect1>
  2675. <sect1 id="_2165">
  2676. <title>2165</title>
  2677. <indexterm>
  2678. <primary>2165</primary>
  2679. </indexterm>
  2680. <para><emphasis role="bold">File extension must be
  2681. ".HQL"</emphasis></para>
  2682. <para>The file extension used to provide input for an application is
  2683. illegal. For example, Seisint’s internal test program hqltest requires the
  2684. .hql file extension on its input files.</para>
  2685. <para>Solution: Change the file extension to the one required for the
  2686. specific application. Example: N/A.</para>
  2687. </sect1>
  2688. <sect1 id="_2166">
  2689. <title>2166</title>
  2690. <indexterm>
  2691. <primary>2166</primary>
  2692. </indexterm>
  2693. <para><emphasis role="bold">File XXX not found</emphasis></para>
  2694. <para>A file is not found. This only happens with Seisint’s internal test
  2695. programs hqltest or ecltest.</para>
  2696. <para>Solution: Check the file name, and make sure the file exists in the
  2697. proper directory. If the path is relative, it is relative to the current
  2698. (working) directory.</para>
  2699. </sect1>
  2700. <sect1 id="_2167">
  2701. <title>2167</title>
  2702. <indexterm>
  2703. <primary>2167</primary>
  2704. </indexterm>
  2705. <para><emphasis role="bold">Unknown identifier</emphasis></para>
  2706. <para>The identifer is unknown for one of the following reasons:</para>
  2707. <para>• The identifier has been misspelled.</para>
  2708. <para>• The identifier names an attribute, function, dataset, or macro
  2709. defined in another module that has not been imported.</para>
  2710. <para>• The identifier is defined but it is not visible due to the scoping
  2711. rules of ECL. In particu- lar, the identifier is probably local (not
  2712. SHARED or EXPORTed), and there is an EX- PORT or SHARED attribute
  2713. defintion that terminates its scope.</para>
  2714. <para>• It is a field of a record, a dataset etc, and it is not properly
  2715. qualified.</para>
  2716. <para>Solution: First make sure it is spelled correctly. If it is defined
  2717. in other module, make sure it is properly imported and qualified. If it is
  2718. a field of some structure (like record, or table), qualify it properly
  2719. (such as: myrecord.field, mytable.field). If it is defined as a local
  2720. attribute to another SHARED and EXPORT attribute, either promote it to
  2721. SHARED or EXPORTed scope, or move the code around so that the identifier’s
  2722. defintion and the defintion using it are within the same local
  2723. scope.</para>
  2724. <para>Example:</para>
  2725. <programlisting> 01: a := f(x);
  2726. 02: f(x) := x+3;
  2727. 03: EXPORT y := 4;
  2728. 04: a := f(y);
  2729. </programlisting>
  2730. <para>In line 1, f is not defined in this module. In line 4, f is alreaday
  2731. defined in line 2, but the scope of f in line 2 is terminated by the
  2732. EXPORT in line 3. Make f in line 2 SHARED or move line 2 after line 3 to
  2733. solve the problem.</para>
  2734. </sect1>
  2735. <sect1 id="_2168">
  2736. <title>2168</title>
  2737. <indexterm>
  2738. <primary>2168</primary>
  2739. </indexterm>
  2740. <para>Select a field other than these grouped upon</para>
  2741. </sect1>
  2742. <sect1 id="_2169">
  2743. <title>2169</title>
  2744. <indexterm>
  2745. <primary>2169</primary>
  2746. </indexterm>
  2747. <para>Aggregate field following a field that has a variable length</para>
  2748. </sect1>
  2749. <sect1 id="_2170">
  2750. <title>2170</title>
  2751. <indexterm>
  2752. <primary>2170</primary>
  2753. </indexterm>
  2754. <para><emphasis role="bold">No default value for a field</emphasis></para>
  2755. <para>A default value is required for some fields in a record. See example
  2756. for additional information.</para>
  2757. <para>Solution: Given a default value if proper. Most likely, a default
  2758. value is not what you need al- though it may solve the compiler error
  2759. problem.</para>
  2760. <para>Example:</para>
  2761. <programlisting>01: bbb := DATASET(‘aaa’, {STRING1 fa; }, FLAT);
  2762. 02: table1 := TABLE(bbb, {STRING1 fa; STRING1 fb; });</programlisting>
  2763. <para>In this example, we create a table from dataset aaa. Since bbb has a
  2764. field called fa, we can have a value for field fa in the table. However,
  2765. there is no such field called fb in dataset bbb. Hence we get an error
  2766. saying that Field fb does not have default value. In this case, assign a
  2767. default value to fb.</para>
  2768. </sect1>
  2769. <sect1 id="_2171">
  2770. <title>2171</title>
  2771. <indexterm>
  2772. <primary>2171</primary>
  2773. </indexterm>
  2774. <para><emphasis role="bold">Object has no such a field</emphasis></para>
  2775. </sect1>
  2776. <sect1 id="_2180">
  2777. <title>2180</title>
  2778. <indexterm>
  2779. <primary>2180</primary>
  2780. </indexterm>
  2781. <para><emphasis role="bold">Unknown escape sequence</emphasis></para>
  2782. <para>Astring constant contains an unknown escape sequence. Currently, the
  2783. only supported escape sequences are:</para>
  2784. <para>\’ and \\</para>
  2785. <para>For C/C++/Java programmers, don’t assume that ECL supports the
  2786. standard escape sequences in these languages.</para>
  2787. <para>Solution: Remove the offending escape sequence. Example:</para>
  2788. <programlisting> 01: string x1 := ‘\r\n\t\b\x0123’;
  2789. </programlisting>
  2790. <para>None of the above C escape sequences is supported in ECL.</para>
  2791. </sect1>
  2792. <sect1 id="_2181">
  2793. <title>2181</title>
  2794. <indexterm>
  2795. <primary>2181</primary>
  2796. </indexterm>
  2797. <para><emphasis role="bold">A string end with escape char \, eg., x :=
  2798. 'abc\';</emphasis></para>
  2799. <para>A string constant is terminated by a backslash (\). Most of the
  2800. time, the intention of the user is</para>
  2801. <para>to have a single quote (‘) as the last character in the string. As a
  2802. result, he/she puts an escape</para>
  2803. <para>character (\) in front of the single quote (‘) indicating the end of
  2804. the string constant and the</para>
  2805. <para>terminating quote is ignored.</para>
  2806. <para>Solution: Add another ‘ to terminate the string or remove the
  2807. offending \ whichever is proper. Example:</para>
  2808. <programlisting>
  2809. 01: String s := ‘It is brothers\’;
  2810. </programlisting>
  2811. <para>The last character in this string is ‘, which has to be escaped as
  2812. \’, therefore we need another ‘ to terminate the string constant.</para>
  2813. </sect1>
  2814. <sect1 id="_2182">
  2815. <title>2182</title>
  2816. <indexterm>
  2817. <primary>2182</primary>
  2818. </indexterm>
  2819. <para><emphasis role="bold">Illegal hex data, it can only have
  2820. 0-9a-fA-F</emphasis></para>
  2821. <para>Illegal characters are present in hex data. Hex data is defined
  2822. as:</para>
  2823. <para><programlisting>X’hex-digits’ or x’hex-digits’</programlisting></para>
  2824. <para>A hex digit may only be any of the numbers 0 through 9 or the
  2825. letters A through F (upper or lower case). The number of digits in the hex
  2826. string must be even (see Warning C1002) and be greater than 0 (see Warning
  2827. C1003).</para>
  2828. <para>Solution: Remove the illegal characters in the hex. Example:</para>
  2829. <programlisting> 01: DATA x1 := x’ABC<emphasis role="bold">X</emphasis>’;
  2830. 02: DATA x2 := x’<emphasis role="bold">^</emphasis>1';
  2831. 03: DATA x3 := x’A B’;
  2832. 04: DATA x4 := x’<emphasis role="bold">\n</emphasis>’;
  2833. </programlisting>
  2834. <para>All bold chars are illegal hex digits (line 3 has a blank space
  2835. between A and B), therefore none of the above are legal hex data
  2836. strings.</para>
  2837. </sect1>
  2838. <sect1 id="_2183">
  2839. <title>2183</title>
  2840. <indexterm>
  2841. <primary>2183</primary>
  2842. </indexterm>
  2843. <para><emphasis role="bold">Odd number of digits in hex data, e.g.,
  2844. x'ABC'. </emphasis></para>
  2845. <para>In a hex data constant, the number of digits in the string must be
  2846. even because it takes two hex digits to define the value of a single byte
  2847. of data.</para>
  2848. <para>Solution: Check that there are no missing or extra digits. Add a
  2849. leading or trailing 0 as required. Example:</para>
  2850. <programlisting> DATA d := x’ABCD123';
  2851. </programlisting>
  2852. <para>The hex data string x’ABCD123' contains 7 digits (an odd number).
  2853. Make it: x’0ABCD123'.</para>
  2854. </sect1>
  2855. <sect1 id="_2184">
  2856. <title>2184</title>
  2857. <indexterm>
  2858. <primary>2184</primary>
  2859. </indexterm>
  2860. <para><emphasis role="bold">Empty hex data, e.g., "x".</emphasis></para>
  2861. <para>The hex data cannot be empty.</para>
  2862. <para>Solution: Change it to meaningful, non-empty hex data.
  2863. Example:</para>
  2864. <programlisting>DATA d = ‘’;</programlisting>
  2865. </sect1>
  2866. <sect1 id="_2185">
  2867. <title>2185</title>
  2868. <indexterm>
  2869. <primary>2185</primary>
  2870. </indexterm>
  2871. <para>Comment is not started: ending is not allowed</para>
  2872. </sect1>
  2873. <sect1 id="_2186">
  2874. <title>2186</title>
  2875. <indexterm>
  2876. <primary>2186</primary>
  2877. </indexterm>
  2878. <para>Char XXX needs to be escaped</para>
  2879. </sect1>
  2880. <sect1 id="_2187">
  2881. <title>2187</title>
  2882. <indexterm>
  2883. <primary>2187</primary>
  2884. </indexterm>
  2885. <para>#ERROR statement</para>
  2886. </sect1>
  2887. <sect1 id="_2190">
  2888. <title>2190</title>
  2889. <indexterm>
  2890. <primary>2190</primary>
  2891. </indexterm>
  2892. <para><emphasis role="bold">Empty record definition: no field
  2893. defined</emphasis></para>
  2894. <para>In a record definition, no field is defined. This is not allowed in
  2895. ECL. For C/C++/Java programmers where empty structures (struct, class etc)
  2896. are allowed, note that this is not allowed in ECL.</para>
  2897. <para>Solution: Provide at least one field for the record. If you really
  2898. don’t need a real field, add a dummy field.</para>
  2899. <para>Example:</para>
  2900. <programlisting> 01: MyRec := RECORD
  2901. 02: END</programlisting>
  2902. </sect1>
  2903. <sect1 id="_2191">
  2904. <title>2191</title>
  2905. <indexterm>
  2906. <primary>2191</primary>
  2907. </indexterm>
  2908. <para><emphasis role="bold">Empty substring range</emphasis></para>
  2909. <para>The sub string expression is empty. In ECL, a sub string can
  2910. be:</para>
  2911. <para>• str [start_index .. end_index]</para>
  2912. <para>• str [ .. end_index]</para>
  2913. <para>• str [ start_index .. ]</para>
  2914. <para>• str [ one_index ]</para>
  2915. <para>Each index is an integer within the range of 1…LENGTH(str),
  2916. inclusive. Solution: Either provide an index value or remove the square
  2917. brackets. Example:</para>
  2918. <programlisting> 01: STRING s := ‘abc’;
  2919. 02: STRING subs := s[];</programlisting>
  2920. </sect1>
  2921. <sect1 id="_2192">
  2922. <title>2192</title>
  2923. <indexterm>
  2924. <primary>2192</primary>
  2925. </indexterm>
  2926. <para><emphasis role="bold">Empty user type definition </emphasis></para>
  2927. <para>The user type definition body is empty. In ECL, user types are
  2928. defined by the TYPE structure.</para>
  2929. <para>Solution: Provide at least one function for the defintion.
  2930. Example:</para>
  2931. <programlisting> 01: MyType := TYPE
  2932. 02: END</programlisting>
  2933. </sect1>
  2934. <sect1 id="_2193">
  2935. <title>2193</title>
  2936. <indexterm>
  2937. <primary>2193</primary>
  2938. </indexterm>
  2939. <para><emphasis role="bold">Empty transform definition</emphasis></para>
  2940. <para>The TRANSFORM definition body is empty. Since a RECORD type can not
  2941. be empty (see error C2190), and each record must be assigned a value in
  2942. the transform (see error C2111), an empty transform definition cannot be
  2943. legal.</para>
  2944. <para>Solution: Provide at least a trival SELF assignment. Example:</para>
  2945. <programlisting> 01: NamesRec := RECORD
  2946. 02: STRING20 thename;
  2947. 03: END;
  2948. 04:
  2949. 05: OutRec := RECORD
  2950. 06: STRING20 thename;
  2951. 07: END;
  2952. 08:
  2953. 09: OutRec Trans(NamesRec L, INTEGER C) :=
  2954. 10: TRANSFORM
  2955. 11: END;
  2956. </programlisting>
  2957. <para>Adding the following trival assignment definition in the TRANSFORM
  2958. will solve the problem:</para>
  2959. <programlisting> SELF := L;</programlisting>
  2960. </sect1>
  2961. <sect1 id="_2194">
  2962. <title>2194</title>
  2963. <indexterm>
  2964. <primary>2194</primary>
  2965. </indexterm>
  2966. <para><emphasis role="bold">Unended comment</emphasis></para>
  2967. <para>This error indicates that EOF was reached while a comment is not
  2968. ended. This only occurs to C- style comment: /* and */.</para>
  2969. <para>Solution: Add an ending */ in the proper position. Example:</para>
  2970. <programlisting> 01: a := 1;
  2971. 02: /* this is a unended comment ..
  2972. The ending */ is missing in the above example.</programlisting>
  2973. </sect1>
  2974. <sect1 id="_2195">
  2975. <title>2195</title>
  2976. <indexterm>
  2977. <primary>2195</primary>
  2978. </indexterm>
  2979. <para><emphasis role="bold">Unended string constant: string must end in
  2980. one line</emphasis></para>
  2981. <para>In ECL, a string constant must be complete in one line. The string
  2982. delimitor is single quote (‘). Note that ECL doesn’t support string
  2983. constants that span multiple lines. However, you can use the concatenation
  2984. operator (+) to reach the goal. Since constants are folded at compile
  2985. time, there is no performance penalty for this.</para>
  2986. <para>Solution: Add a single quote at the end to terminate the string.
  2987. Example:</para>
  2988. <programlisting> 01: STRING long_string := ‘the part on first line’
  2989. 02: + ’the part on second line ‘
  2990. 03: + ‘and the third line’;
  2991. 04:
  2992. 05: STRING s := ‘unended string const;
  2993. </programlisting>
  2994. <para>In line 1-3, we are defining a long string which spans multiple
  2995. lines. The string in line 5 doesn’t end with a single quote. Note that the
  2996. ‘;’ is regarded as part of the string, and will not end the string
  2997. constant.</para>
  2998. </sect1>
  2999. <sect1 id="_2196">
  3000. <title>2196</title>
  3001. <indexterm>
  3002. <primary>2196</primary>
  3003. </indexterm>
  3004. <para><emphasis role="bold">is illegal string delimiter: use '
  3005. instead</emphasis></para>
  3006. <para>In ECL, the string constant delimiter is the single quote (‘)
  3007. character, not double quotes as in some other languages (C/C++/Java etc).
  3008. Since single quote is the delimiter, it needs to be escaped if it is part
  3009. of the string, like: ‘He\’s a nice guy’. And double quote does not need
  3010. (and cannot use) escape.</para>
  3011. <para>Solution: Change double quote to single quote</para>
  3012. <para>Example:</para>
  3013. <programlisting> 01: string s := “abc”;</programlisting>
  3014. </sect1>
  3015. <sect1 id="_2197">
  3016. <title>2197</title>
  3017. <indexterm>
  3018. <primary>2197</primary>
  3019. </indexterm>
  3020. <para>Empty ifblock definition</para>
  3021. </sect1>
  3022. <sect1 id="_2200">
  3023. <title>2200</title>
  3024. <indexterm>
  3025. <primary>2200</primary>
  3026. </indexterm>
  3027. <para><emphasis role="bold">EOF encountered inside #FOR</emphasis></para>
  3028. <para>The File ends while we are examining a #FOR command. This usually
  3029. means the terminating</para>
  3030. <para>#END is missing.</para>
  3031. <para>Solution: Add #END if proper. Example:</para>
  3032. <programlisting> 01: loadxml(‘myxml.xml’);
  3033. 02: #DECLARE (x)
  3034. 03: #SET(x, 1)
  3035. 04:
  3036. 05: #FOR (x)
  3037. 06: #APPEND(s, ‘1’)</programlisting>
  3038. </sect1>
  3039. <sect1 id="_2201">
  3040. <title>2201</title>
  3041. <indexterm>
  3042. <primary>2201</primary>
  3043. </indexterm>
  3044. <para><emphasis role="bold">EOF inside parameter
  3045. gathering</emphasis></para>
  3046. <para>EOF is encountered when the parser is trying to gather parameters.
  3047. This normally occurs in a template command.</para>
  3048. <para>Solution: Make sure the ECL is complete. Example:</para>
  3049. <programlisting>
  3050. 01: LOADXML(‘&lt;xml&gt;dummy&lt;/xml&gt;’);
  3051. 02: #IF(
  3052. </programlisting>
  3053. <para>The #IF doesn’t have a parameter yet.</para>
  3054. </sect1>
  3055. <sect1 id="_2202">
  3056. <title>2202</title>
  3057. <indexterm>
  3058. <primary>2202</primary>
  3059. </indexterm>
  3060. <para><emphasis role="bold">Template symbol has already been
  3061. declared</emphasis></para>
  3062. <para>In ECL template language, a symbol can only be declared once. You
  3063. get this error if you are trying to declare it a second time. Pay
  3064. attention to the scope rule. A symbol can be defined multiple times if it
  3065. belongs to different scope each time. However, if you change the scoping,
  3066. they may become within the same scope and therefore generate this
  3067. error.</para>
  3068. <para>Solution: Make sure to only declare each symbol once in the current
  3069. scope. Example:</para>
  3070. <programlisting> 01: LOADXML(‘&lt;xml&gt;x&lt;/xml&gt;’);
  3071. 02:
  3072. 03: #DECLARE(s)
  3073. 04:
  3074. 05: #FOR(i)
  3075. 06: #DECLARE(s)
  3076. 07: #BREAK
  3077. 08: #END
  3078. 09:
  3079. 10: #DECLARE(s)
  3080. </programlisting>
  3081. <para>Since #FOR will start a new local scope, the #DECLARE in line 6
  3082. doesn’t cause problem. However, line 10 does cause problem, because s is
  3083. already defined in line 3 (which is in the same scope).</para>
  3084. </sect1>
  3085. <sect1 id="_2203">
  3086. <title>2203</title>
  3087. <indexterm>
  3088. <primary>2203</primary>
  3089. </indexterm>
  3090. <para><emphasis role="bold">Template symbol has not been
  3091. declared</emphasis></para>
  3092. <para>In ECL template language, a symbol must be declared before it can be
  3093. used. A symbol is de-</para>
  3094. <para>clared using the #DECLARE command.</para>
  3095. <para>Solution: Make sure you declare it before you use it.
  3096. Example:</para>
  3097. <programlisting> 01: LOADXML(‘&lt;xml&gt;&lt;/xml&gt;’);
  3098. 02: #SET(s, ‘abc’)
  3099. </programlisting>
  3100. <para>In line 2, s is not declared.</para>
  3101. </sect1>
  3102. <sect1 id="_2204">
  3103. <title>2204</title>
  3104. <indexterm>
  3105. <primary>2204</primary>
  3106. </indexterm>
  3107. <para><emphasis role="bold">Can not find #end for XXX</emphasis></para>
  3108. <para>#END is missing for a # command. In ECL template language, some
  3109. commands need a matching #END:</para>
  3110. <para>• #FOR</para>
  3111. <para>• #IF</para>
  3112. <para>• #IF #ELSE</para>
  3113. <para>• #LOOP</para>
  3114. <para>Solution: Add a matching #END. Example:</para>
  3115. <programlisting> 01: LOADXML(‘&lt;xml&gt;&lt;/xml&gt;’);
  3116. 02: #FOR(i)
  3117. </programlisting>
  3118. <para>#END is needed for #FOR in line 2.</para>
  3119. </sect1>
  3120. <sect1 id="_2205">
  3121. <title>2205</title>
  3122. <indexterm>
  3123. <primary>2205</primary>
  3124. </indexterm>
  3125. <para><emphasis role="bold">#ELSE does not match a #IF</emphasis></para>
  3126. <para>#ELSE is not allowed outside a #IF structure. Note that #END will
  3127. end a #IF statement, and</para>
  3128. <para>#ELSE can no longer be used after the #IF structure is
  3129. terminated.</para>
  3130. <para>Solution: Ensure the #ELSE is inside your #IF. Example:</para>
  3131. <programlisting> 01: LOADXML(‘&lt;xml&gt;dummy&lt;/xml&gt;’);
  3132. 02:
  3133. 03: #ELSE
  3134. 04: #DECLARE(s)
  3135. 05: #END
  3136. </programlisting>
  3137. <para>In line 3, #ELSE doesn’t match any #IF statement.</para>
  3138. </sect1>
  3139. <sect1 id="_2206">
  3140. <title>2206</title>
  3141. <indexterm>
  3142. <primary>2206</primary>
  3143. </indexterm>
  3144. <para><emphasis role="bold">#END does not match a #
  3145. command</emphasis></para>
  3146. <para>A #END is used only to match a # command. This error normally
  3147. happens if an extra #END</para>
  3148. <para>is used.</para>
  3149. <para>Solution: Make sure you use the proper number of #END.
  3150. Example:</para>
  3151. <programlisting> 01: LOADXML(‘&lt;xml&gt;dummy&lt;/xml&gt;’);
  3152. 02:
  3153. 03: #IF(true)
  3154. 04: #DECLARE(s)
  3155. 05: #END
  3156. 06: #END
  3157. </programlisting>
  3158. <para>The last #END (in line 6) is extra.</para>
  3159. </sect1>
  3160. <sect1 id="_2207">
  3161. <title>2207</title>
  3162. <indexterm>
  3163. <primary>2207</primary>
  3164. </indexterm>
  3165. <para><emphasis role="bold">LoadXML failed</emphasis></para>
  3166. <para>LoadXML() failed. The reason it failed can be:</para>
  3167. <para>• The xml file doesn’t exist</para>
  3168. <para>• The direct xml string is not well-formed.</para>
  3169. <para>• The xml in the xml file is not well-formed. LoadXML() function can
  3170. use a direct XML string, e.g.,</para>
  3171. <para>LoadXML(‘&lt;xml&gt;dummy&lt;/xml&gt;’);</para>
  3172. <para>Or it can load from a file, e.g.,</para>
  3173. <para>LoadXML(‘myxml.xml’);</para>
  3174. <para>Solution: If it is a file, make sure the file exists, and you have
  3175. the proper permission. Also make sure the xml is well formed.</para>
  3176. <para>Example:</para>
  3177. <programlisting>01: LOADXML(‘non-exist-xml.xml’);</programlisting>
  3178. <para>If non-exist-xml.xml does not exist, such an error will
  3179. occur.</para>
  3180. </sect1>
  3181. <sect1 id="_2208">
  3182. <title>2208</title>
  3183. <indexterm>
  3184. <primary>2208</primary>
  3185. </indexterm>
  3186. <para><emphasis role="bold">#BREAK is only allowed with a #FOR or
  3187. #LOOP</emphasis></para>
  3188. <para>In ECL template language, #BREAK can only be used inside a #FOR or
  3189. #LOOP. Solution: Make sure it is the right context before you use
  3190. #BREAK.</para>
  3191. <para>Example:</para>
  3192. <programlisting> 01: LOADXML(‘&lt;xml&gt;dummy&lt;/xml&gt;’);
  3193. 02:
  3194. 03: #IF (true)
  3195. 04: #BREAK
  3196. 05: #END
  3197. </programlisting>
  3198. <para>#BREAK cannot be used without #FOR or #LOOP in line 4.</para>
  3199. </sect1>
  3200. <sect1 id="_2209">
  3201. <title>2209</title>
  3202. <indexterm>
  3203. <primary>2209</primary>
  3204. </indexterm>
  3205. <para><emphasis role="bold">#LOOP does not have a #BREAK: an infinite loop
  3206. will occur</emphasis></para>
  3207. <para>In ECL template language, #LOOP is like a while(true) in C/C++. The
  3208. only way to break out</para>
  3209. <para>the loop is to use #BREAK. Therefore, a #LOOP without a #BREAK is an
  3210. infinite loop, and is</para>
  3211. <para>not allowed.</para>
  3212. <para>Note: The compiler uses a simple method to detect infinite loops.
  3213. Don’t depend on it to find infinite loops for you. For example:</para>
  3214. <programlisting> 01: #LOOP
  3215. 02: #IF(false)
  3216. 03: #BREAK
  3217. 04: #END
  3218. 05: #END
  3219. </programlisting>
  3220. <para>This example has a #BREAK inside the loop, however it is an infinite
  3221. loop. The compiler is not smart enough to figure out this. However,
  3222. another simple scheme is used to detect this. See Error C2210.</para>
  3223. <para>Solution: Use #BREAK to break out of the loop. Normally, #IF is
  3224. needed to break out of the loop conditionally.</para>
  3225. <para>Example:</para>
  3226. <programlisting> 01: LOADXML(‘&lt;xml&gt;dummy&lt;/xml&gt;’);
  3227. 02:
  3228. 03: #LOOP
  3229. 04: #END
  3230. </programlisting>
  3231. <para>Line 3 and 4 forms an infinite loop. Although it does nothing, it
  3232. will stuck the compiler if it fails to detect this.</para>
  3233. </sect1>
  3234. <sect1 id="_2210">
  3235. <title>2210</title>
  3236. <indexterm>
  3237. <primary>2210</primary>
  3238. </indexterm>
  3239. <para><emphasis role="bold">Loops more than max times</emphasis></para>
  3240. <para>This error detects more complicated infinite loops other than the
  3241. cases in error C2209. For each</para>
  3242. <para>#FOR or #LOOP, the compiler regards it as an infinite loop if it
  3243. runs more than the predefined max times. The max times is quite large, and
  3244. should be enough for normal situations.</para>
  3245. <para>Solution: Make sure it is not an infinite loop. If you are pretty
  3246. sure you get this error and think it is not an infinite loop (which may
  3247. never happen to you, just believe me), contact Seisint. We can increase
  3248. the constant or disable the check.</para>
  3249. <para>Example:</para>
  3250. <programlisting> 01: LOADXML(‘&lt;xml&gt;&lt;/xml&gt;’);
  3251. 02:
  3252. 03: #LOOP
  3253. 04: #IF (false)
  3254. 05: #BREAK
  3255. 06: #END
  3256. 07: #END
  3257. </programlisting>
  3258. <para>This example is trick code that is actually an infinite loop.</para>
  3259. </sect1>
  3260. <sect1 id="_2211">
  3261. <title>2211</title>
  3262. <indexterm>
  3263. <primary>2211</primary>
  3264. </indexterm>
  3265. <para>Unknown # command</para>
  3266. </sect1>
  3267. <sect1 id="_2212">
  3268. <title>2212</title>
  3269. <indexterm>
  3270. <primary>2212</primary>
  3271. </indexterm>
  3272. <para>Can not fold non pure function</para>
  3273. </sect1>
  3274. <sect1 id="_2213">
  3275. <title>2213</title>
  3276. <indexterm>
  3277. <primary>2213</primary>
  3278. </indexterm>
  3279. <para>Can not fold non c function</para>
  3280. </sect1>
  3281. <sect1 id="_2214">
  3282. <title>2214</title>
  3283. <indexterm>
  3284. <primary>2214</primary>
  3285. </indexterm>
  3286. <para>#ELIF does not match a #IF</para>
  3287. </sect1>
  3288. <sect1 id="_2216">
  3289. <title>2216</title>
  3290. <indexterm>
  3291. <primary>2216</primary>
  3292. </indexterm>
  3293. <para>Bad format for access token</para>
  3294. </sect1>
  3295. <sect1 id="_2220">
  3296. <title>2220</title>
  3297. <indexterm>
  3298. <primary>2220</primary>
  3299. </indexterm>
  3300. <para>No load function is defined</para>
  3301. </sect1>
  3302. <sect1 id="_2221">
  3303. <title>2221</title>
  3304. <indexterm>
  3305. <primary>2221</primary>
  3306. </indexterm>
  3307. <para>No store function is defined</para>
  3308. </sect1>
  3309. <sect1 id="_2222">
  3310. <title>2222</title>
  3311. <indexterm>
  3312. <primary>2222</primary>
  3313. </indexterm>
  3314. <para>No physical length function is defined</para>
  3315. </sect1>
  3316. <sect1 id="_2223">
  3317. <title>2223</title>
  3318. <indexterm>
  3319. <primary>2223</primary>
  3320. </indexterm>
  3321. <para>Inconsistent logical type</para>
  3322. </sect1>
  3323. <sect1 id="_2224">
  3324. <title>2224</title>
  3325. <indexterm>
  3326. <primary>2224</primary>
  3327. </indexterm>
  3328. <para>Inconsistent physical type</para>
  3329. </sect1>
  3330. <sect1 id="_2225">
  3331. <title>2225</title>
  3332. <indexterm>
  3333. <primary>2225</primary>
  3334. </indexterm>
  3335. <para>Store/Load/physicalLength(?) is not defined as func</para>
  3336. </sect1>
  3337. <sect1 id="_2226">
  3338. <title>2226</title>
  3339. <indexterm>
  3340. <primary>2226</primary>
  3341. </indexterm>
  3342. <para>physicalLength must have physical type</para>
  3343. </sect1>
  3344. <sect1 id="_2230">
  3345. <title>2230</title>
  3346. <indexterm>
  3347. <primary>2230</primary>
  3348. </indexterm>
  3349. <para>Function is already defined</para>
  3350. </sect1>
  3351. <sect1 id="_2231">
  3352. <title>2231</title>
  3353. <indexterm>
  3354. <primary>2231</primary>
  3355. </indexterm>
  3356. <para>Attribute is already defined</para>
  3357. </sect1>
  3358. <sect1 id="_2232">
  3359. <title>2232</title>
  3360. <indexterm>
  3361. <primary>2232</primary>
  3362. </indexterm>
  3363. <para>Invalid library entry</para>
  3364. </sect1>
  3365. <sect1 id="_2233">
  3366. <title>2233</title>
  3367. <indexterm>
  3368. <primary>2233</primary>
  3369. </indexterm>
  3370. <para>Invalid entrypoint: must be valid C identifier.</para>
  3371. </sect1>
  3372. <sect1 id="_2234">
  3373. <title>2234</title>
  3374. <indexterm>
  3375. <primary>2234</primary>
  3376. </indexterm>
  3377. <para>Function in service can not specify EXPORT or SHARED</para>
  3378. </sect1>
  3379. <sect1 id="_2235">
  3380. <title>2235</title>
  3381. <indexterm>
  3382. <primary>2235</primary>
  3383. </indexterm>
  3384. <para>Entrypoint is not defined, default to XXX</para>
  3385. </sect1>
  3386. <sect1 id="_2236">
  3387. <title>2236</title>
  3388. <indexterm>
  3389. <primary>2236</primary>
  3390. </indexterm>
  3391. <para>Invalid include entry</para>
  3392. </sect1>
  3393. <sect1 id="_2237">
  3394. <title>2237</title>
  3395. <indexterm>
  3396. <primary>2237</primary>
  3397. </indexterm>
  3398. <para>Serive does need a type</para>
  3399. </sect1>
  3400. <sect1 id="_2238">
  3401. <title>2238</title>
  3402. <indexterm>
  3403. <primary>2238</primary>
  3404. </indexterm>
  3405. <para>Conflicted attributes defined</para>
  3406. </sect1>
  3407. <sect1 id="_2239">
  3408. <title>2239</title>
  3409. <indexterm>
  3410. <primary>2239</primary>
  3411. </indexterm>
  3412. <para>Invalid initfunction: must be valid C identifier</para>
  3413. </sect1>
  3414. <sect1 id="_2240">
  3415. <title>2240</title>
  3416. <indexterm>
  3417. <primary>2240</primary>
  3418. </indexterm>
  3419. <para>Load library failed</para>
  3420. </sect1>
  3421. <sect1 id="_2241">
  3422. <title>2241</title>
  3423. <indexterm>
  3424. <primary>2241</primary>
  3425. </indexterm>
  3426. <para>Load procedure in library failed</para>
  3427. </sect1>
  3428. <sect1 id="_2242">
  3429. <title>2242</title>
  3430. <indexterm>
  3431. <primary>2242</primary>
  3432. </indexterm>
  3433. <para>library is not defined (it is an error in template)</para>
  3434. </sect1>
  3435. <sect1 id="_2243">
  3436. <title>2243</title>
  3437. <indexterm>
  3438. <primary>2243</primary>
  3439. </indexterm>
  3440. <para>Exception occurs when executing service function</para>
  3441. </sect1>
  3442. <sect1 id="_2244">
  3443. <title>2244</title>
  3444. <indexterm>
  3445. <primary>2244</primary>
  3446. </indexterm>
  3447. <para>Service can not have any parameter</para>
  3448. </sect1>
  3449. <sect1 id="_2250">
  3450. <title>2250</title>
  3451. <indexterm>
  3452. <primary>2250</primary>
  3453. </indexterm>
  3454. <para>LOADXML is not an attribute: it can only used alone for test
  3455. purpose</para>
  3456. </sect1>
  3457. <sect1 id="_2251">
  3458. <title>2251</title>
  3459. <indexterm>
  3460. <primary>2251</primary>
  3461. </indexterm>
  3462. <para>Invalid transform for ITERATE</para>
  3463. </sect1>
  3464. <sect1 id="_2252">
  3465. <title>2252</title>
  3466. <indexterm>
  3467. <primary>2252</primary>
  3468. </indexterm>
  3469. <para>Invalid transform for JOIN</para>
  3470. </sect1>
  3471. <sect1 id="_2255">
  3472. <title>2255</title>
  3473. <indexterm>
  3474. <primary>2255</primary>
  3475. </indexterm>
  3476. <para>expected a DATASET(...)</para>
  3477. </sect1>
  3478. <sect1 id="_2256">
  3479. <title>2256</title>
  3480. <indexterm>
  3481. <primary>2256</primary>
  3482. </indexterm>
  3483. <para>Only one arg supplied in record for INDEX</para>
  3484. </sect1>
  3485. <sect1 id="_2257">
  3486. <title>2257</title>
  3487. <indexterm>
  3488. <primary>2257</primary>
  3489. </indexterm>
  3490. <para>Parameter to STORED() should be a valid id</para>
  3491. </sect1>
  3492. <sect1 id="_2260">
  3493. <title>2260</title>
  3494. <indexterm>
  3495. <primary>2260</primary>
  3496. </indexterm>
  3497. <para>A field is mapped more than once</para>
  3498. </sect1>
  3499. <sect1 id="_2261">
  3500. <title>2261</title>
  3501. <indexterm>
  3502. <primary>2261</primary>
  3503. </indexterm>
  3504. <para>Dataset has no field as required or mapped</para>
  3505. </sect1>
  3506. <sect1 id="_2262">
  3507. <title>2262</title>
  3508. <indexterm>
  3509. <primary>2262</primary>
  3510. </indexterm>
  3511. <para>A map is not used</para>
  3512. </sect1>
  3513. <sect1 id="_2263">
  3514. <title>2263</title>
  3515. <indexterm>
  3516. <primary>2263</primary>
  3517. </indexterm>
  3518. <para>Mapping fields type mismatch</para>
  3519. </sect1>
  3520. <sect1 id="_2280">
  3521. <title>2280</title>
  3522. <indexterm>
  3523. <primary>2280</primary>
  3524. </indexterm>
  3525. <para>token used inside a token definition</para>
  3526. </sect1>
  3527. <sect1 id="_2281">
  3528. <title>2281</title>
  3529. <indexterm>
  3530. <primary>2281</primary>
  3531. </indexterm>
  3532. <para>Can't refer to a rule inside a pattern</para>
  3533. </sect1>
  3534. <sect1 id="_2282">
  3535. <title>2282</title>
  3536. <indexterm>
  3537. <primary>2282</primary>
  3538. </indexterm>
  3539. <para>Bad syntax inside a PATTERN() definition</para>
  3540. </sect1>
  3541. <sect1 id="_2283">
  3542. <title>2283</title>
  3543. <indexterm>
  3544. <primary>2283</primary>
  3545. </indexterm>
  3546. <para>expected pattern</para>
  3547. </sect1>
  3548. <sect1 id="_2284">
  3549. <title>2284</title>
  3550. <indexterm>
  3551. <primary>2284</primary>
  3552. </indexterm>
  3553. <para>Invalid format for an assertion subpattern</para>
  3554. </sect1>
  3555. <sect1 id="_2285">
  3556. <title>2285</title>
  3557. <indexterm>
  3558. <primary>2285</primary>
  3559. </indexterm>
  3560. <para>This expression can't be included in a pattern</para>
  3561. </sect1>
  3562. <sect1 id="_2286">
  3563. <title>2286</title>
  3564. <indexterm>
  3565. <primary>2286</primary>
  3566. </indexterm>
  3567. <para>Can't reference a pattern function in a MATCHED() arg</para>
  3568. </sect1>
  3569. <sect1 id="_2287">
  3570. <title>2287</title>
  3571. <indexterm>
  3572. <primary>2287</primary>
  3573. </indexterm>
  3574. <para>Self used outside a rule definition</para>
  3575. </sect1>
  3576. <sect1 id="_2288">
  3577. <title>2288</title>
  3578. <indexterm>
  3579. <primary>2288</primary>
  3580. </indexterm>
  3581. <para>Can only use use() inside a rule definition</para>
  3582. </sect1>
  3583. <sect1 id="_2289">
  3584. <title>2289</title>
  3585. <indexterm>
  3586. <primary>2289</primary>
  3587. </indexterm>
  3588. <para>:stored etc. used in a pattern attribute</para>
  3589. </sect1>
  3590. <sect1 id="_2290">
  3591. <title>2290</title>
  3592. <indexterm>
  3593. <primary>2290</primary>
  3594. </indexterm>
  3595. <para></para>
  3596. </sect1>
  3597. <sect1 id="_2291">
  3598. <title>2291</title>
  3599. <indexterm>
  3600. <primary>2291</primary>
  3601. </indexterm>
  3602. <para>Could not deduce feature from the guard condition</para>
  3603. </sect1>
  3604. <sect1 id="_2292">
  3605. <title>2292</title>
  3606. <indexterm>
  3607. <primary>2292</primary>
  3608. </indexterm>
  3609. <para>Expected a list of characters</para>
  3610. </sect1>
  3611. <sect1 id="_2293">
  3612. <title>2293</title>
  3613. <indexterm>
  3614. <primary>2293</primary>
  3615. </indexterm>
  3616. <para>Expected a repeat...</para>
  3617. </sect1>
  3618. <sect1 id="_2294">
  3619. <title>2294</title>
  3620. <indexterm>
  3621. <primary>2294</primary>
  3622. </indexterm>
  3623. <para></para>
  3624. </sect1>
  3625. <sect1 id="_2295">
  3626. <title>2295</title>
  3627. <indexterm>
  3628. <primary>2295</primary>
  3629. </indexterm>
  3630. <para></para>
  3631. </sect1>
  3632. <sect1 id="_2296">
  3633. <title>2296</title>
  3634. <indexterm>
  3635. <primary>2296</primary>
  3636. </indexterm>
  3637. <para></para>
  3638. </sect1>
  3639. <sect1 id="_2297">
  3640. <title>2297</title>
  3641. <indexterm>
  3642. <primary>2297</primary>
  3643. </indexterm>
  3644. <para></para>
  3645. </sect1>
  3646. <sect1 id="_2299">
  3647. <title>2299</title>
  3648. <indexterm>
  3649. <primary>2299</primary>
  3650. </indexterm>
  3651. <para></para>
  3652. </sect1>
  3653. <sect1 id="_2300">
  3654. <title>2300</title>
  3655. <indexterm>
  3656. <primary>2300</primary>
  3657. </indexterm>
  3658. <para>Multi dimension array indexing not supported.</para>
  3659. </sect1>
  3660. <sect1 id="_2301">
  3661. <title>2301</title>
  3662. <indexterm>
  3663. <primary>2301</primary>
  3664. </indexterm>
  3665. <para>Could not find distributed fields</para>
  3666. </sect1>
  3667. <sect1 id="_2302">
  3668. <title>2302</title>
  3669. <indexterm>
  3670. <primary>2302</primary>
  3671. </indexterm>
  3672. <para>Only LOCAL merge is currently supported</para>
  3673. </sect1>
  3674. <sect1 id="_2303">
  3675. <title>2303</title>
  3676. <indexterm>
  3677. <primary>2303</primary>
  3678. </indexterm>
  3679. <para>Field not found</para>
  3680. </sect1>
  3681. <sect1 id="_2304">
  3682. <title>2304</title>
  3683. <indexterm>
  3684. <primary>2304</primary>
  3685. </indexterm>
  3686. <para>Deprecated</para>
  3687. </sect1>
  3688. <sect1 id="_2305">
  3689. <title>2305</title>
  3690. <indexterm>
  3691. <primary>2305</primary>
  3692. </indexterm>
  3693. <para>KEYED index is invalid</para>
  3694. </sect1>
  3695. <sect1 id="_2306">
  3696. <title>2306</title>
  3697. <indexterm>
  3698. <primary>2306</primary>
  3699. </indexterm>
  3700. <para></para>
  3701. </sect1>
  3702. <sect1 id="_2307">
  3703. <title>2307</title>
  3704. <indexterm>
  3705. <primary>2307</primary>
  3706. </indexterm>
  3707. <para></para>
  3708. </sect1>
  3709. <sect1 id="_2308">
  3710. <title>2308</title>
  3711. <indexterm>
  3712. <primary>2308</primary>
  3713. </indexterm>
  3714. <para></para>
  3715. </sect1>
  3716. <sect1 id="_2309">
  3717. <title>2309</title>
  3718. <indexterm>
  3719. <primary>2309</primary>
  3720. </indexterm>
  3721. <para></para>
  3722. </sect1>
  3723. <sect1 id="_2310">
  3724. <title>2310</title>
  3725. <indexterm>
  3726. <primary>2310</primary>
  3727. </indexterm>
  3728. <para></para>
  3729. </sect1>
  3730. <sect1 id="_2311">
  3731. <title>2311</title>
  3732. <indexterm>
  3733. <primary>2311</primary>
  3734. </indexterm>
  3735. <para>No longer supported language feature</para>
  3736. </sect1>
  3737. <sect1 id="_2312">
  3738. <title>2312</title>
  3739. <indexterm>
  3740. <primary>2312</primary>
  3741. </indexterm>
  3742. <para></para>
  3743. </sect1>
  3744. <sect1 id="_2313">
  3745. <title>2313</title>
  3746. <indexterm>
  3747. <primary>2313</primary>
  3748. </indexterm>
  3749. <para></para>
  3750. </sect1>
  3751. <sect1 id="_2314">
  3752. <title>2314</title>
  3753. <indexterm>
  3754. <primary>2314</primary>
  3755. </indexterm>
  3756. <para></para>
  3757. </sect1>
  3758. <sect1 id="_2315">
  3759. <title>2315</title>
  3760. <indexterm>
  3761. <primary>2315</primary>
  3762. </indexterm>
  3763. <para></para>
  3764. </sect1>
  3765. <sect1 id="_2316">
  3766. <title>2316</title>
  3767. <indexterm>
  3768. <primary>2316</primary>
  3769. </indexterm>
  3770. <para></para>
  3771. </sect1>
  3772. <sect1 id="_2317">
  3773. <title>2317</title>
  3774. <indexterm>
  3775. <primary>2317</primary>
  3776. </indexterm>
  3777. <para></para>
  3778. </sect1>
  3779. <sect1 id="_2318">
  3780. <title>2318</title>
  3781. <indexterm>
  3782. <primary>2318</primary>
  3783. </indexterm>
  3784. <para></para>
  3785. </sect1>
  3786. <sect1 id="_2319">
  3787. <title>2319</title>
  3788. <indexterm>
  3789. <primary>2319</primary>
  3790. </indexterm>
  3791. <para></para>
  3792. </sect1>
  3793. <sect1 id="_2320">
  3794. <title>2320</title>
  3795. <indexterm>
  3796. <primary>2320</primary>
  3797. </indexterm>
  3798. <para></para>
  3799. </sect1>
  3800. <sect1 id="_2321">
  3801. <title>2321</title>
  3802. <indexterm>
  3803. <primary>2321</primary>
  3804. </indexterm>
  3805. <para></para>
  3806. </sect1>
  3807. <sect1 id="_2322">
  3808. <title>2322</title>
  3809. <indexterm>
  3810. <primary>2322</primary>
  3811. </indexterm>
  3812. <para></para>
  3813. </sect1>
  3814. <sect1 id="_2323">
  3815. <title>2323</title>
  3816. <indexterm>
  3817. <primary>2323</primary>
  3818. </indexterm>
  3819. <para></para>
  3820. </sect1>
  3821. <sect1 id="_2324">
  3822. <title>2324</title>
  3823. <indexterm>
  3824. <primary>2324</primary>
  3825. </indexterm>
  3826. <para></para>
  3827. </sect1>
  3828. <sect1 id="_2325">
  3829. <title>2325</title>
  3830. <indexterm>
  3831. <primary>2325</primary>
  3832. </indexterm>
  3833. <para></para>
  3834. </sect1>
  3835. <sect1 id="_2326">
  3836. <title>2326</title>
  3837. <indexterm>
  3838. <primary>2326</primary>
  3839. </indexterm>
  3840. <para></para>
  3841. </sect1>
  3842. <sect1 id="_2327">
  3843. <title>2327</title>
  3844. <indexterm>
  3845. <primary>2327</primary>
  3846. </indexterm>
  3847. <para></para>
  3848. </sect1>
  3849. <sect1 id="_2328">
  3850. <title>2328</title>
  3851. <indexterm>
  3852. <primary>2328</primary>
  3853. </indexterm>
  3854. <para></para>
  3855. </sect1>
  3856. <sect1 id="_2329">
  3857. <title>2329</title>
  3858. <indexterm>
  3859. <primary>2329</primary>
  3860. </indexterm>
  3861. <para></para>
  3862. </sect1>
  3863. <sect1 id="_2331">
  3864. <title>2331</title>
  3865. <indexterm>
  3866. <primary>2331</primary>
  3867. </indexterm>
  3868. <para></para>
  3869. </sect1>
  3870. <sect1 id="_2332">
  3871. <title>2332</title>
  3872. <indexterm>
  3873. <primary>2332</primary>
  3874. </indexterm>
  3875. <para></para>
  3876. </sect1>
  3877. <sect1 id="_2333">
  3878. <title>2333</title>
  3879. <indexterm>
  3880. <primary>2333</primary>
  3881. </indexterm>
  3882. <para></para>
  3883. </sect1>
  3884. <sect1 id="_2334">
  3885. <title>2334</title>
  3886. <indexterm>
  3887. <primary>2334</primary>
  3888. </indexterm>
  3889. <para></para>
  3890. </sect1>
  3891. <sect1 id="_2335">
  3892. <title>2335</title>
  3893. <indexterm>
  3894. <primary>2335</primary>
  3895. </indexterm>
  3896. <para></para>
  3897. </sect1>
  3898. <sect1 id="_2336">
  3899. <title>2336</title>
  3900. <indexterm>
  3901. <primary>2336</primary>
  3902. </indexterm>
  3903. <para></para>
  3904. </sect1>
  3905. <sect1 id="_2337">
  3906. <title>2337</title>
  3907. <indexterm>
  3908. <primary>2337</primary>
  3909. </indexterm>
  3910. <para></para>
  3911. </sect1>
  3912. <sect1 id="_2338">
  3913. <title>2338</title>
  3914. <indexterm>
  3915. <primary>2338</primary>
  3916. </indexterm>
  3917. <para></para>
  3918. </sect1>
  3919. <sect1 id="_2339">
  3920. <title>2339</title>
  3921. <indexterm>
  3922. <primary>2339</primary>
  3923. </indexterm>
  3924. <para>Feature not yet enabled on this platform</para>
  3925. </sect1>
  3926. <sect1 id="_2340">
  3927. <title>2340</title>
  3928. <indexterm>
  3929. <primary>2340</primary>
  3930. </indexterm>
  3931. <para></para>
  3932. </sect1>
  3933. <sect1 id="_2341">
  3934. <title>2341</title>
  3935. <indexterm>
  3936. <primary>2341</primary>
  3937. </indexterm>
  3938. <para></para>
  3939. </sect1>
  3940. <sect1 id="_2342">
  3941. <title>2342</title>
  3942. <indexterm>
  3943. <primary>2342</primary>
  3944. </indexterm>
  3945. <para></para>
  3946. </sect1>
  3947. <sect1 id="_2343">
  3948. <title>2343</title>
  3949. <indexterm>
  3950. <primary>2343</primary>
  3951. </indexterm>
  3952. <para></para>
  3953. </sect1>
  3954. <sect1 id="_2344">
  3955. <title>2344</title>
  3956. <indexterm>
  3957. <primary>2344</primary>
  3958. </indexterm>
  3959. <para></para>
  3960. </sect1>
  3961. <sect1 id="_2345">
  3962. <title>2345</title>
  3963. <indexterm>
  3964. <primary>2345</primary>
  3965. </indexterm>
  3966. <para></para>
  3967. </sect1>
  3968. <sect1 id="_2346">
  3969. <title>2346</title>
  3970. <indexterm>
  3971. <primary>2346</primary>
  3972. </indexterm>
  3973. <para></para>
  3974. </sect1>
  3975. <sect1 id="_2347">
  3976. <title>2347</title>
  3977. <indexterm>
  3978. <primary>2347</primary>
  3979. </indexterm>
  3980. <para></para>
  3981. </sect1>
  3982. <sect1 id="_2348">
  3983. <title>2348</title>
  3984. <indexterm>
  3985. <primary>2348</primary>
  3986. </indexterm>
  3987. <para></para>
  3988. </sect1>
  3989. <sect1 id="_2349">
  3990. <title>2349</title>
  3991. <indexterm>
  3992. <primary>2349</primary>
  3993. </indexterm>
  3994. <para></para>
  3995. </sect1>
  3996. <sect1 id="_2350">
  3997. <title>2350</title>
  3998. <indexterm>
  3999. <primary>2350</primary>
  4000. </indexterm>
  4001. <para></para>
  4002. </sect1>
  4003. <sect1 id="_2351">
  4004. <title>2351</title>
  4005. <indexterm>
  4006. <primary>2351</primary>
  4007. </indexterm>
  4008. <para></para>
  4009. </sect1>
  4010. <sect1 id="_2352">
  4011. <title>2352</title>
  4012. <indexterm>
  4013. <primary>2352</primary>
  4014. </indexterm>
  4015. <para></para>
  4016. </sect1>
  4017. <sect1 id="_2353">
  4018. <title>2353</title>
  4019. <indexterm>
  4020. <primary>2353</primary>
  4021. </indexterm>
  4022. <para></para>
  4023. </sect1>
  4024. <sect1 id="_2354">
  4025. <title>2354</title>
  4026. <indexterm>
  4027. <primary>2354</primary>
  4028. </indexterm>
  4029. <para></para>
  4030. </sect1>
  4031. <sect1 id="_2355">
  4032. <title>2355</title>
  4033. <indexterm>
  4034. <primary>2355</primary>
  4035. </indexterm>
  4036. <para></para>
  4037. </sect1>
  4038. <sect1 id="_2356">
  4039. <title>2356</title>
  4040. <indexterm>
  4041. <primary>2356</primary>
  4042. </indexterm>
  4043. <para></para>
  4044. </sect1>
  4045. <sect1 id="_2357">
  4046. <title>2357</title>
  4047. <indexterm>
  4048. <primary>2357</primary>
  4049. </indexterm>
  4050. <para></para>
  4051. </sect1>
  4052. <sect1 id="_2358">
  4053. <title>2358</title>
  4054. <indexterm>
  4055. <primary>2358</primary>
  4056. </indexterm>
  4057. <para></para>
  4058. </sect1>
  4059. <sect1 id="_2359">
  4060. <title>2359</title>
  4061. <indexterm>
  4062. <primary>2359</primary>
  4063. </indexterm>
  4064. <para></para>
  4065. </sect1>
  4066. <sect1 id="_2360">
  4067. <title>2360</title>
  4068. <indexterm>
  4069. <primary>2360</primary>
  4070. </indexterm>
  4071. <para></para>
  4072. </sect1>
  4073. <sect1 id="_2361">
  4074. <title>2361</title>
  4075. <indexterm>
  4076. <primary>2361</primary>
  4077. </indexterm>
  4078. <para></para>
  4079. </sect1>
  4080. <sect1 id="_2362">
  4081. <title>2362</title>
  4082. <indexterm>
  4083. <primary>2362</primary>
  4084. </indexterm>
  4085. <para></para>
  4086. </sect1>
  4087. <sect1 id="_2363">
  4088. <title>2363</title>
  4089. <indexterm>
  4090. <primary>2363</primary>
  4091. </indexterm>
  4092. <para></para>
  4093. </sect1>
  4094. <sect1 id="_2364">
  4095. <title>2364</title>
  4096. <indexterm>
  4097. <primary>2364</primary>
  4098. </indexterm>
  4099. <para></para>
  4100. </sect1>
  4101. <sect1 id="_2365">
  4102. <title>2365</title>
  4103. <indexterm>
  4104. <primary>2365</primary>
  4105. </indexterm>
  4106. <para></para>
  4107. </sect1>
  4108. <sect1 id="_2366">
  4109. <title>2366</title>
  4110. <indexterm>
  4111. <primary>2366</primary>
  4112. </indexterm>
  4113. <para></para>
  4114. </sect1>
  4115. <sect1 id="_2367">
  4116. <title>2367</title>
  4117. <indexterm>
  4118. <primary>2367</primary>
  4119. </indexterm>
  4120. <para></para>
  4121. </sect1>
  4122. <sect1 id="_2368">
  4123. <title>2368</title>
  4124. <indexterm>
  4125. <primary>2368</primary>
  4126. </indexterm>
  4127. <para></para>
  4128. </sect1>
  4129. <sect1 id="_2369">
  4130. <title>2369</title>
  4131. <indexterm>
  4132. <primary>2369</primary>
  4133. </indexterm>
  4134. <para></para>
  4135. </sect1>
  4136. <sect1 id="_2370">
  4137. <title>2370</title>
  4138. <indexterm>
  4139. <primary>2370</primary>
  4140. </indexterm>
  4141. <para></para>
  4142. </sect1>
  4143. <sect1 id="_2371">
  4144. <title>2371</title>
  4145. <indexterm>
  4146. <primary>2371</primary>
  4147. </indexterm>
  4148. <para></para>
  4149. </sect1>
  4150. <sect1 id="_2372">
  4151. <title>2372</title>
  4152. <indexterm>
  4153. <primary>2372</primary>
  4154. </indexterm>
  4155. <para></para>
  4156. </sect1>
  4157. <sect1 id="_2373">
  4158. <title>2373</title>
  4159. <indexterm>
  4160. <primary>2373</primary>
  4161. </indexterm>
  4162. <para></para>
  4163. </sect1>
  4164. <sect1 id="_2374">
  4165. <title>2374</title>
  4166. <indexterm>
  4167. <primary>2374</primary>
  4168. </indexterm>
  4169. <para></para>
  4170. </sect1>
  4171. <sect1 id="_2375">
  4172. <title>2375</title>
  4173. <indexterm>
  4174. <primary>2375</primary>
  4175. </indexterm>
  4176. <para></para>
  4177. </sect1>
  4178. <sect1 id="_2376">
  4179. <title>2376</title>
  4180. <indexterm>
  4181. <primary>2376</primary>
  4182. </indexterm>
  4183. <para></para>
  4184. </sect1>
  4185. <sect1 id="_2377">
  4186. <title>2377</title>
  4187. <indexterm>
  4188. <primary>2377</primary>
  4189. </indexterm>
  4190. <para></para>
  4191. </sect1>
  4192. <sect1 id="_2378">
  4193. <title>2378</title>
  4194. <indexterm>
  4195. <primary>2378</primary>
  4196. </indexterm>
  4197. <para></para>
  4198. </sect1>
  4199. <sect1 id="_2379">
  4200. <title>2379</title>
  4201. <indexterm>
  4202. <primary>2379</primary>
  4203. </indexterm>
  4204. <para></para>
  4205. </sect1>
  4206. <sect1 id="_2380">
  4207. <title>2380</title>
  4208. <indexterm>
  4209. <primary>2380</primary>
  4210. </indexterm>
  4211. <para></para>
  4212. </sect1>
  4213. <sect1 id="_2381">
  4214. <title>2381</title>
  4215. <indexterm>
  4216. <primary>2381</primary>
  4217. </indexterm>
  4218. <para></para>
  4219. </sect1>
  4220. <sect1 id="_2382">
  4221. <title>2382</title>
  4222. <indexterm>
  4223. <primary>2382</primary>
  4224. </indexterm>
  4225. <para></para>
  4226. </sect1>
  4227. <sect1 id="_2383">
  4228. <title>2383</title>
  4229. <indexterm>
  4230. <primary>2383</primary>
  4231. </indexterm>
  4232. <para></para>
  4233. </sect1>
  4234. <sect1 id="_2384">
  4235. <title>2384</title>
  4236. <indexterm>
  4237. <primary>2384</primary>
  4238. </indexterm>
  4239. <para></para>
  4240. </sect1>
  4241. <sect1 id="_2385">
  4242. <title>2385</title>
  4243. <indexterm>
  4244. <primary>2385</primary>
  4245. </indexterm>
  4246. <para></para>
  4247. </sect1>
  4248. <sect1 id="_2386">
  4249. <title>2386</title>
  4250. <indexterm>
  4251. <primary>2386</primary>
  4252. </indexterm>
  4253. <para></para>
  4254. </sect1>
  4255. <sect1 id="_2387">
  4256. <title>2387</title>
  4257. <indexterm>
  4258. <primary>2387</primary>
  4259. </indexterm>
  4260. <para></para>
  4261. </sect1>
  4262. <sect1 id="_10000">
  4263. <title>10000</title>
  4264. <indexterm>
  4265. <primary>10000</primary>
  4266. </indexterm>
  4267. <para></para>
  4268. </sect1>
  4269. <sect1 id="_3000">
  4270. <title>3000</title>
  4271. <indexterm>
  4272. <primary>3000</primary>
  4273. </indexterm>
  4274. <para><emphasis role="bold">Internal exception</emphasis></para>
  4275. <para>Most often this error indicates an internal error of the compiler (a
  4276. bug), but not always. Some- times, the message correctly reports a
  4277. problem. In an ideal world, this error should never hap- pen.</para>
  4278. <para>Solution: Try to work around the situation the message indicates.
  4279. Contact Seisint when no work- around is apparent.</para>
  4280. </sect1>
  4281. <sect1 id="_3001">
  4282. <title>3001</title>
  4283. <indexterm>
  4284. <primary>3001</primary>
  4285. </indexterm>
  4286. <para><emphasis role="bold">Too many errors</emphasis></para>
  4287. <para>Normally this means either the code is too complicated and has many
  4288. parsing errors, or the code’s logic confused the compiler, causing
  4289. cascaded errors.</para>
  4290. <para>Solution: Try to resolve the errors before this one first, and
  4291. hopefully there will be fewer errors next time. Comment out some code and
  4292. try to compile only a portion of the whole may be a good idea
  4293. sometimes.</para>
  4294. </sect1>
  4295. <sect1 id="_3002">
  4296. <title>3002</title>
  4297. <indexterm>
  4298. <primary>3002</primary>
  4299. </indexterm>
  4300. <para><emphasis role="bold">Expected ...</emphasis></para>
  4301. <para>Normally this indicates a general syntax error. The compiler gives
  4302. out the symbols it expects based on the grammar. This is the compiler’s
  4303. last resort for reporting meaningful error messages.</para>
  4304. <para>Solution: Try to understand the context and the ECL grammer. Don’t
  4305. take the error message too serious. It may be simply the result of some
  4306. error before this.</para>
  4307. </sect1>
  4308. <sect1 id="_3003">
  4309. <title>3003</title>
  4310. <indexterm>
  4311. <primary>3003</primary>
  4312. </indexterm>
  4313. <para><emphasis role="bold">XXX is not valid here</emphasis></para>
  4314. <para>Reference Errors C2020 through C2037; these are very similar.</para>
  4315. </sect1>
  4316. <sect1 id="_3004">
  4317. <title>3004</title>
  4318. <indexterm>
  4319. <primary>3004</primary>
  4320. </indexterm>
  4321. <para><emphasis role="bold">Unexpected end of file
  4322. encountered</emphasis></para>
  4323. <para>The ECL source file reaches the end while the parser is still in the
  4324. middle of something. This is normally the result of some other error. This
  4325. also happens during the error recovery produre.</para>
  4326. <para>Solution: Resolve other errors first, if any. Otherwise, look at the
  4327. code pointed out carefully. Try to identify problems. Is some structure
  4328. incomplete?</para>
  4329. <para>Example:</para>
  4330. <programlisting> 01: ReverseString4 := TYPE
  4331. 02: MyType := TYPE
  4332. 03: EXPORT INTEGER Load(INTEGER x) := x+1;
  4333. 04: EXPORT INTEGER Store(INTEGER x) := x-1;
  4334. 05: //END
  4335. 06: //END
  4336. </programlisting>
  4337. <para>In the example, user defined types are not allowed to be nested (see
  4338. error C2011), so the parser is trying to recover from the error in lines
  4339. 2-4, but couldn’t find the terminating END when it reached the end of the
  4340. file.</para>
  4341. </sect1>
  4342. <sect1 id="_3005">
  4343. <title>3005</title>
  4344. <indexterm>
  4345. <primary>3005</primary>
  4346. </indexterm>
  4347. <para>Whole record not valid here</para>
  4348. </sect1>
  4349. <sect1 id="_3006">
  4350. <title>3006</title>
  4351. <indexterm>
  4352. <primary>3006</primary>
  4353. </indexterm>
  4354. <para>Except not found in the incoming list</para>
  4355. </sect1>
  4356. <sect1 id="_3007">
  4357. <title>3007</title>
  4358. <indexterm>
  4359. <primary>3007</primary>
  4360. </indexterm>
  4361. <para>PIPE(name) and project not supported</para>
  4362. </sect1>
  4363. <sect1 id="_3100">
  4364. <title>3100</title>
  4365. <indexterm>
  4366. <primary>3100</primary>
  4367. </indexterm>
  4368. <para>Field removed from dedup could not be found</para>
  4369. </sect1>
  4370. <sect1 id="_3101">
  4371. <title>3101</title>
  4372. <indexterm>
  4373. <primary>3101</primary>
  4374. </indexterm>
  4375. <para>Module definition contain an illegal cycle/recursive definition
  4376. %s</para>
  4377. </sect1>
  4378. <sect1 id="_3102">
  4379. <title>3102</title>
  4380. <indexterm>
  4381. <primary>3102</primary>
  4382. </indexterm>
  4383. <para>Cannot calculate inversion of PROJECT on STEPPED index%s</para>
  4384. </sect1>
  4385. <sect1 id="_3103">
  4386. <title>3103</title>
  4387. <indexterm>
  4388. <primary>3103</primary>
  4389. </indexterm>
  4390. <para>Dataset not expected in this context</para>
  4391. </sect1>
  4392. <sect1 id="_3104">
  4393. <title>3104</title>
  4394. <indexterm>
  4395. <primary>3104</primary>
  4396. </indexterm>
  4397. <para>Equality on field[n..*] must match a similar equality</para>
  4398. </sect1>
  4399. <sect1 id="_3105">
  4400. <title>3105</title>
  4401. <indexterm>
  4402. <primary>3105</primary>
  4403. </indexterm>
  4404. <para>Join only supports a single x[n..*] comparison</para>
  4405. </sect1>
  4406. <sect1 id="_3106">
  4407. <title>3106</title>
  4408. <indexterm>
  4409. <primary>3106</primary>
  4410. </indexterm>
  4411. <para>INTERNAL: Serializing extract too complex</para>
  4412. </sect1>
  4413. <sect1 id="_3107">
  4414. <title>3107</title>
  4415. <indexterm>
  4416. <primary>3107</primary>
  4417. </indexterm>
  4418. <para>INTERNAL: Unexpected '%s' at %s(%d)</para>
  4419. </sect1>
  4420. <sect1 id="_3108">
  4421. <title>3108</title>
  4422. <indexterm>
  4423. <primary>3108</primary>
  4424. </indexterm>
  4425. <para>INTERNAL: Unexpected type '%s' at %s(%d)</para>
  4426. </sect1>
  4427. <sect1 id="_3109">
  4428. <title>3109</title>
  4429. <indexterm>
  4430. <primary>3109</primary>
  4431. </indexterm>
  4432. <para>Field '%s' in the map was not found in the dataset parameter</para>
  4433. </sect1>
  4434. <sect1 id="_3110">
  4435. <title>3110</title>
  4436. <indexterm>
  4437. <primary>3110</primary>
  4438. </indexterm>
  4439. <para>Field '%s' has already been mapped</para>
  4440. </sect1>
  4441. <sect1 id="_3111">
  4442. <title>3111</title>
  4443. <indexterm>
  4444. <primary>3111</primary>
  4445. </indexterm>
  4446. <para>A field named '%s' was not found in the dataset parameter</para>
  4447. </sect1>
  4448. <sect1 id="_3112">
  4449. <title>3112</title>
  4450. <indexterm>
  4451. <primary>3112</primary>
  4452. </indexterm>
  4453. <para>File %s not found</para>
  4454. </sect1>
  4455. <sect1 id="_3113">
  4456. <title>3113</title>
  4457. <indexterm>
  4458. <primary>3113</primary>
  4459. </indexterm>
  4460. <para>Browsing child grouped tables not handled at the moment</para>
  4461. </sect1>
  4462. <sect1 id="_3114">
  4463. <title>3114</title>
  4464. <indexterm>
  4465. <primary>3114</primary>
  4466. </indexterm>
  4467. <para>INTERNAL: Selected field '%s' does not appear in the dataset</para>
  4468. </sect1>
  4469. <sect1 id="_3115">
  4470. <title>3115</title>
  4471. <indexterm>
  4472. <primary>3115</primary>
  4473. </indexterm>
  4474. <para>Illegal pattern</para>
  4475. </sect1>
  4476. <sect1 id="_3116">
  4477. <title>3116</title>
  4478. <indexterm>
  4479. <primary>3116</primary>
  4480. </indexterm>
  4481. <para>Unknown character class [:%s:]</para>
  4482. </sect1>
  4483. <sect1 id="_3117">
  4484. <title>3117</title>
  4485. <indexterm>
  4486. <primary>3117</primary>
  4487. </indexterm>
  4488. <para>Collation symbols not yet supported</para>
  4489. </sect1>
  4490. <sect1 id="_3118">
  4491. <title>3118</title>
  4492. <indexterm>
  4493. <primary>3118</primary>
  4494. </indexterm>
  4495. <para>Equivalence class symbols not yet supported</para>
  4496. </sect1>
  4497. <sect1 id="_3119">
  4498. <title>3119</title>
  4499. <indexterm>
  4500. <primary>3119</primary>
  4501. </indexterm>
  4502. <para>Could not connect to any ECL server</para>
  4503. </sect1>
  4504. <sect1 id="_3120">
  4505. <title>3120</title>
  4506. <indexterm>
  4507. <primary>3120</primary>
  4508. </indexterm>
  4509. <para>Mismatch in major version number (%s v %s)</para>
  4510. </sect1>
  4511. <sect1 id="_3121">
  4512. <title>3121</title>
  4513. <indexterm>
  4514. <primary>3121</primary>
  4515. </indexterm>
  4516. <para>Virtual field %s not supported in constant table - please provide a
  4517. value</para>
  4518. </sect1>
  4519. <sect1 id="_3122">
  4520. <title>3122</title>
  4521. <indexterm>
  4522. <primary>3122</primary>
  4523. </indexterm>
  4524. <para>Inline DATASET field '%s' cannot be initialized with a list of
  4525. values</para>
  4526. </sect1>
  4527. <sect1 id="_3123">
  4528. <title>3123</title>
  4529. <indexterm>
  4530. <primary>3123</primary>
  4531. </indexterm>
  4532. <para>No value or default provided for field %s in inline table</para>
  4533. </sect1>
  4534. <sect1 id="_3124">
  4535. <title>3124</title>
  4536. <indexterm>
  4537. <primary>3124</primary>
  4538. </indexterm>
  4539. <para>Too many initializers (value %s) for inline dataset
  4540. definition</para>
  4541. </sect1>
  4542. <sect1 id="_3125">
  4543. <title>3125</title>
  4544. <indexterm>
  4545. <primary>3125</primary>
  4546. </indexterm>
  4547. <para>Initializer for field %s in inline dataset has the wrong type</para>
  4548. </sect1>
  4549. <sect1 id="_3126">
  4550. <title>3126</title>
  4551. <indexterm>
  4552. <primary>3126</primary>
  4553. </indexterm>
  4554. <para>Could not constant fold the condition on a IFBLOCK for a inline
  4555. table</para>
  4556. </sect1>
  4557. <sect1 id="Unknown_3005">
  4558. <title>Unknown_3005</title>
  4559. <indexterm>
  4560. <primary>Unknown_3005</primary>
  4561. </indexterm>
  4562. <para>The parser can not recover from previous error(s)</para>
  4563. </sect1>
  4564. <sect1 id="_4000">
  4565. <title>4000</title>
  4566. <indexterm>
  4567. <primary>4000</primary>
  4568. </indexterm>
  4569. <para>INTERNAL: Cannot generate code for an empty set in this
  4570. context</para>
  4571. </sect1>
  4572. <sect1 id="_4001">
  4573. <title>4001</title>
  4574. <indexterm>
  4575. <primary>4001</primary>
  4576. </indexterm>
  4577. <para>Multi dimensioned sets are not yet supported</para>
  4578. </sect1>
  4579. <sect1 id="_4002">
  4580. <title>4002</title>
  4581. <indexterm>
  4582. <primary>4002</primary>
  4583. </indexterm>
  4584. <para>ALL cannot be passed to an external service</para>
  4585. </sect1>
  4586. <sect1 id="_4003">
  4587. <title>4003</title>
  4588. <indexterm>
  4589. <primary>4003</primary>
  4590. </indexterm>
  4591. <para>Indexing ALL is undefined</para>
  4592. </sect1>
  4593. <sect1 id="_4004">
  4594. <title>4004</title>
  4595. <indexterm>
  4596. <primary>4004</primary>
  4597. </indexterm>
  4598. <para>Cannot use ALL in this context</para>
  4599. </sect1>
  4600. <sect1 id="_4005">
  4601. <title>4005</title>
  4602. <indexterm>
  4603. <primary>4005</primary>
  4604. </indexterm>
  4605. <para>Too many parameters passed to function '%s'</para>
  4606. </sect1>
  4607. <sect1 id="_4006">
  4608. <title>4006</title>
  4609. <indexterm>
  4610. <primary>4006</primary>
  4611. </indexterm>
  4612. <para>Cannot define column %s with an unknown length (use alien
  4613. datatype)</para>
  4614. </sect1>
  4615. <sect1 id="_4007">
  4616. <title>4007</title>
  4617. <indexterm>
  4618. <primary>4007</primary>
  4619. </indexterm>
  4620. <para>BUILDINDEX can only be used to build fixed width indexes</para>
  4621. </sect1>
  4622. <sect1 id="_4008">
  4623. <title>4008</title>
  4624. <indexterm>
  4625. <primary>4008</primary>
  4626. </indexterm>
  4627. <para>BUILDINDEX can only be used to build indexes on fixed width
  4628. files</para>
  4629. </sect1>
  4630. <sect1 id="_4009">
  4631. <title>4009</title>
  4632. <indexterm>
  4633. <primary>4009</primary>
  4634. </indexterm>
  4635. <para>INDEX does not support fields of type %s</para>
  4636. </sect1>
  4637. <sect1 id="_4010">
  4638. <title>4010</title>
  4639. <indexterm>
  4640. <primary>4010</primary>
  4641. </indexterm>
  4642. <para>INDEX does not match the dataset being joined</para>
  4643. </sect1>
  4644. <sect1 id="_4011">
  4645. <title>4011</title>
  4646. <indexterm>
  4647. <primary>4011</primary>
  4648. </indexterm>
  4649. <para>Join condition does not contain sufficient information to use
  4650. key</para>
  4651. </sect1>
  4652. <sect1 id="_4012">
  4653. <title>4012</title>
  4654. <indexterm>
  4655. <primary>4012</primary>
  4656. </indexterm>
  4657. <para>Not yet implemented: Cannot use a record structure containing a
  4658. virtual field (%s) with stored or persist</para>
  4659. </sect1>
  4660. <sect1 id="_4013">
  4661. <title>4013</title>
  4662. <indexterm>
  4663. <primary>4013</primary>
  4664. </indexterm>
  4665. <para>%s has more than one definition</para>
  4666. </sect1>
  4667. <sect1 id="_4014">
  4668. <title>4014</title>
  4669. <indexterm>
  4670. <primary>4014</primary>
  4671. </indexterm>
  4672. <para>LIMIT clause can only be applied to a dataset</para>
  4673. </sect1>
  4674. <sect1 id="_4015">
  4675. <title>4015</title>
  4676. <indexterm>
  4677. <primary>4015</primary>
  4678. </indexterm>
  4679. <para>Cannot resource activity %s a cluster with %d nodes</para>
  4680. </sect1>
  4681. <sect1 id="_4016">
  4682. <title>4016</title>
  4683. <indexterm>
  4684. <primary>4016</primary>
  4685. </indexterm>
  4686. <para>Unsupported option #WORKUNIT ('%s')</para>
  4687. </sect1>
  4688. <sect1 id="_4017">
  4689. <title>4017</title>
  4690. <indexterm>
  4691. <primary>4017</primary>
  4692. </indexterm>
  4693. <para>INTERNAL: Unsupported virtual attribute '%s'</para>
  4694. </sect1>
  4695. <sect1 id="_4018">
  4696. <title>4018</title>
  4697. <indexterm>
  4698. <primary>4018</primary>
  4699. </indexterm>
  4700. <para>Illegal pattern '%s..%s'</para>
  4701. </sect1>
  4702. <sect1 id="_4020">
  4703. <title>4020</title>
  4704. <indexterm>
  4705. <primary>4020</primary>
  4706. </indexterm>
  4707. <para>THOR must be used for sorting or joining datasets with variable
  4708. width rows</para>
  4709. </sect1>
  4710. <sect1 id="_4021">
  4711. <title>4021</title>
  4712. <indexterm>
  4713. <primary>4021</primary>
  4714. </indexterm>
  4715. <para>Substring index %d is outside the field range</para>
  4716. </sect1>
  4717. <sect1 id="_4022">
  4718. <title>4022</title>
  4719. <indexterm>
  4720. <primary>4022</primary>
  4721. </indexterm>
  4722. <para>RANK/RANKED not supported on list %s</para>
  4723. </sect1>
  4724. <sect1 id="_4023">
  4725. <title>4023</title>
  4726. <indexterm>
  4727. <primary>4023</primary>
  4728. </indexterm>
  4729. <para>Cannot cast a string of unknown length to another character
  4730. set</para>
  4731. </sect1>
  4732. <sect1 id="_4024">
  4733. <title>4024</title>
  4734. <indexterm>
  4735. <primary>4024</primary>
  4736. </indexterm>
  4737. <para>Not enough parameters passed to function '%s'</para>
  4738. </sect1>
  4739. <sect1 id="_4025">
  4740. <title>4025</title>
  4741. <indexterm>
  4742. <primary>4025</primary>
  4743. </indexterm>
  4744. <para>Index is not supported for type %s yet</para>
  4745. </sect1>
  4746. <sect1 id="_4026">
  4747. <title>4026</title>
  4748. <indexterm>
  4749. <primary>4026</primary>
  4750. </indexterm>
  4751. <para>RANK has no meaning on an empty list</para>
  4752. </sect1>
  4753. <sect1 id="_4027">
  4754. <title>4027</title>
  4755. <indexterm>
  4756. <primary>4027</primary>
  4757. </indexterm>
  4758. <para>%s can only be used in a record supplied to a PARSE() command</para>
  4759. </sect1>
  4760. <sect1 id="_4028">
  4761. <title>4028</title>
  4762. <indexterm>
  4763. <primary>4028</primary>
  4764. </indexterm>
  4765. <para>The parameter to MATCHED(%s) is not found in the pattern</para>
  4766. </sect1>
  4767. <sect1 id="_4029">
  4768. <title>4029</title>
  4769. <indexterm>
  4770. <primary>4029</primary>
  4771. </indexterm>
  4772. <para>Roxie requires constant filenames - expression %s cannot be computed
  4773. at deployment time</para>
  4774. </sect1>
  4775. <sect1 id="_4030">
  4776. <title>4030</title>
  4777. <indexterm>
  4778. <primary>4030</primary>
  4779. </indexterm>
  4780. <para>MATCHTEXT found where MATCHUNICODE was expected</para>
  4781. </sect1>
  4782. <sect1 id="_4031">
  4783. <title>4031</title>
  4784. <indexterm>
  4785. <primary>4031</primary>
  4786. </indexterm>
  4787. <para>MATCHUNICODE found where MATCHTEXT was expected</para>
  4788. </sect1>
  4789. <sect1 id="_4032">
  4790. <title>4032</title>
  4791. <indexterm>
  4792. <primary>4032</primary>
  4793. </indexterm>
  4794. <para>Only MATCHTEXT and MATCHUNICODE are valid inside a VALIDATE</para>
  4795. </sect1>
  4796. <sect1 id="_4033">
  4797. <title>4033</title>
  4798. <indexterm>
  4799. <primary>4033</primary>
  4800. </indexterm>
  4801. <para>Records containing child datasets must be output to a file</para>
  4802. </sect1>
  4803. <sect1 id="_4034">
  4804. <title>4034</title>
  4805. <indexterm>
  4806. <primary>4034</primary>
  4807. </indexterm>
  4808. <para>Definition of USE(%s) was not found</para>
  4809. </sect1>
  4810. <sect1 id="_4035">
  4811. <title>4035</title>
  4812. <indexterm>
  4813. <primary>4035</primary>
  4814. </indexterm>
  4815. <para>Definition of USE(%s.%s) was not found</para>
  4816. </sect1>
  4817. <sect1 id="_4036">
  4818. <title>4036</title>
  4819. <indexterm>
  4820. <primary>4036</primary>
  4821. </indexterm>
  4822. <para>Duplicate definition of %s (use #stored to override default
  4823. value)</para>
  4824. </sect1>
  4825. <sect1 id="_4037">
  4826. <title>4037</title>
  4827. <indexterm>
  4828. <primary>4037</primary>
  4829. </indexterm>
  4830. <para>ROWDIFF: Types are not compatible for field %s</para>
  4831. </sect1>
  4832. <sect1 id="_4038">
  4833. <title>4038</title>
  4834. <indexterm>
  4835. <primary>4038</primary>
  4836. </indexterm>
  4837. <para>FETCH not supported on dataset of kind %s</para>
  4838. </sect1>
  4839. <sect1 id="_4039">
  4840. <title>4039</title>
  4841. <indexterm>
  4842. <primary>4039</primary>
  4843. </indexterm>
  4844. <para>COUNTER is not legal in this context</para>
  4845. </sect1>
  4846. <sect1 id="_4040">
  4847. <title>4040</title>
  4848. <indexterm>
  4849. <primary>4040</primary>
  4850. </indexterm>
  4851. <para>XMLTEXT is only legal in a PARSE transform</para>
  4852. </sect1>
  4853. <sect1 id="_4041">
  4854. <title>4041</title>
  4855. <indexterm>
  4856. <primary>4041</primary>
  4857. </indexterm>
  4858. <para>XMLUNICODE is only legal inside a PARSE transform</para>
  4859. </sect1>
  4860. <sect1 id="_4042">
  4861. <title>4042</title>
  4862. <indexterm>
  4863. <primary>4042</primary>
  4864. </indexterm>
  4865. <para>Condition on DISTRIBUTE must match the key exactly</para>
  4866. </sect1>
  4867. <sect1 id="_4043">
  4868. <title>4043</title>
  4869. <indexterm>
  4870. <primary>4043</primary>
  4871. </indexterm>
  4872. <para>Row size %u exceeds the maximum specified (%u)</para>
  4873. </sect1>
  4874. <sect1 id="_4044">
  4875. <title>4044</title>
  4876. <indexterm>
  4877. <primary>4044</primary>
  4878. </indexterm>
  4879. <para>Select expression should have been hoisted</para>
  4880. </sect1>
  4881. <sect1 id="_4045">
  4882. <title>4045</title>
  4883. <indexterm>
  4884. <primary>4045</primary>
  4885. </indexterm>
  4886. <para>%s() cannot have a parameter inside a VALIDATE</para>
  4887. </sect1>
  4888. <sect1 id="_4046">
  4889. <title>4046</title>
  4890. <indexterm>
  4891. <primary>4046</primary>
  4892. </indexterm>
  4893. <para>%s is not supported in roxie queries</para>
  4894. </sect1>
  4895. <sect1 id="_4047">
  4896. <title>4047</title>
  4897. <indexterm>
  4898. <primary>4047</primary>
  4899. </indexterm>
  4900. <para>Input to MERGE does not appear to be sorted</para>
  4901. </sect1>
  4902. <sect1 id="_4048">
  4903. <title>4048</title>
  4904. <indexterm>
  4905. <primary>4048</primary>
  4906. </indexterm>
  4907. <para>Expression is too complicated to preload</para>
  4908. </sect1>
  4909. <sect1 id="_4049">
  4910. <title>4049</title>
  4911. <indexterm>
  4912. <primary>4049</primary>
  4913. </indexterm>
  4914. <para>KEYED(%s) couldn't be looked up in a key.</para>
  4915. </sect1>
  4916. <sect1 id="_4050">
  4917. <title>4050</title>
  4918. <indexterm>
  4919. <primary>4050</primary>
  4920. </indexterm>
  4921. <para>KEYED(%s) follows unfiltered component %s in the key%s</para>
  4922. </sect1>
  4923. <sect1 id="_4051">
  4924. <title>4051</title>
  4925. <indexterm>
  4926. <primary>4051</primary>
  4927. </indexterm>
  4928. <para>WILD(%s) follows unfiltered component %s in the key%s</para>
  4929. </sect1>
  4930. <sect1 id="_4052">
  4931. <title>4052</title>
  4932. <indexterm>
  4933. <primary>4052</primary>
  4934. </indexterm>
  4935. <para>%s could not be implemented by the key</para>
  4936. </sect1>
  4937. <sect1 id="_4053">
  4938. <title>4053</title>
  4939. <indexterm>
  4940. <primary>4053</primary>
  4941. </indexterm>
  4942. <para>Cannot process zero length rows</para>
  4943. </sect1>
  4944. <sect1 id="_4054">
  4945. <title>4054</title>
  4946. <indexterm>
  4947. <primary>4054</primary>
  4948. </indexterm>
  4949. <para>Set casts aren't supported yet</para>
  4950. </sect1>
  4951. <sect1 id="_4055">
  4952. <title>4055</title>
  4953. <indexterm>
  4954. <primary>4055</primary>
  4955. </indexterm>
  4956. <para>Cannot call function %s in a non-global context</para>
  4957. </sect1>
  4958. <sect1 id="_4056">
  4959. <title>4056</title>
  4960. <indexterm>
  4961. <primary>4056</primary>
  4962. </indexterm>
  4963. <para>Sets of items of unknown length are not yet supported!</para>
  4964. </sect1>
  4965. <sect1 id="_4057">
  4966. <title>4057</title>
  4967. <indexterm>
  4968. <primary>4057</primary>
  4969. </indexterm>
  4970. <para>#STORED (%s) type mismatch (was '%s' replacement '%s')</para>
  4971. </sect1>
  4972. <sect1 id="_4058">
  4973. <title>4058</title>
  4974. <indexterm>
  4975. <primary>4058</primary>
  4976. </indexterm>
  4977. <para>Cannot count number of elements in ALL</para>
  4978. </sect1>
  4979. <sect1 id="_4059">
  4980. <title>4059</title>
  4981. <indexterm>
  4982. <primary>4059</primary>
  4983. </indexterm>
  4984. <para>Can only key fixed fields at fixed offsets</para>
  4985. </sect1>
  4986. <sect1 id="_4060">
  4987. <title>4060</title>
  4988. <indexterm>
  4989. <primary>4060</primary>
  4990. </indexterm>
  4991. <para>Duplicate definition of %s with different type (use #stored to
  4992. override default value)</para>
  4993. </sect1>
  4994. <sect1 id="_4061">
  4995. <title>4061</title>
  4996. <indexterm>
  4997. <primary>4061</primary>
  4998. </indexterm>
  4999. <para>Features are not supported by regex - did you mean repeat() instead
  5000. of {}?</para>
  5001. </sect1>
  5002. <sect1 id="_4062">
  5003. <title>4062</title>
  5004. <indexterm>
  5005. <primary>4062</primary>
  5006. </indexterm>
  5007. <para>Option %s not yet supported on child datasets</para>
  5008. </sect1>
  5009. <sect1 id="_4063">
  5010. <title>4063</title>
  5011. <indexterm>
  5012. <primary>4063</primary>
  5013. </indexterm>
  5014. <para>Grouped tables not yet supported in this context</para>
  5015. </sect1>
  5016. <sect1 id="_4064">
  5017. <title>4064</title>
  5018. <indexterm>
  5019. <primary>4064</primary>
  5020. </indexterm>
  5021. <para>Nested child queries are not supported yet</para>
  5022. </sect1>
  5023. <sect1 id="_4066">
  5024. <title>4066</title>
  5025. <indexterm>
  5026. <primary>4066</primary>
  5027. </indexterm>
  5028. <para>#STORED (%s) records must match</para>
  5029. </sect1>
  5030. <sect1 id="_4067">
  5031. <title>4067</title>
  5032. <indexterm>
  5033. <primary>4067</primary>
  5034. </indexterm>
  5035. <para>ATMOST JOIN cannot be evaluated with this join condition%s</para>
  5036. </sect1>
  5037. <sect1 id="_4068">
  5038. <title>4068</title>
  5039. <indexterm>
  5040. <primary>4068</primary>
  5041. </indexterm>
  5042. <para>ATMOST JOIN cannot be evaluated with this join condition%s</para>
  5043. </sect1>
  5044. <sect1 id="_4069">
  5045. <title>4069</title>
  5046. <indexterm>
  5047. <primary>4069</primary>
  5048. </indexterm>
  5049. <para>RIGHT for a full keyed join must be a disk based DATASET</para>
  5050. </sect1>
  5051. <sect1 id="_4070">
  5052. <title>4070</title>
  5053. <indexterm>
  5054. <primary>4070</primary>
  5055. </indexterm>
  5056. <para>ATMOST(%s) failed to match part of the join condition</para>
  5057. </sect1>
  5058. <sect1 id="_4071">
  5059. <title>4071</title>
  5060. <indexterm>
  5061. <primary>4071</primary>
  5062. </indexterm>
  5063. <para>"LIMIT(%s, KEYED) could not be merged into an index read"</para>
  5064. </sect1>
  5065. <sect1 id="_4072">
  5066. <title>4072</title>
  5067. <indexterm>
  5068. <primary>4072</primary>
  5069. </indexterm>
  5070. <para>EXTEND is required on all outputs to NAMED(%s)</para>
  5071. </sect1>
  5072. <sect1 id="_4073">
  5073. <title>4073</title>
  5074. <indexterm>
  5075. <primary>4073</primary>
  5076. </indexterm>
  5077. <para>Duplicate output to NAMED(%s). EXTEND/OVERWRITE required</para>
  5078. </sect1>
  5079. <sect1 id="_4074">
  5080. <title>4074</title>
  5081. <indexterm>
  5082. <primary>4074</primary>
  5083. </indexterm>
  5084. <para>OUTPUTs to NAMED(%s) have incompatible types</para>
  5085. </sect1>
  5086. <sect1 id="_4075">
  5087. <title>4075</title>
  5088. <indexterm>
  5089. <primary>4075</primary>
  5090. </indexterm>
  5091. <para>OVERWRITE is required on all outputs to NAMED(%s)</para>
  5092. </sect1>
  5093. <sect1 id="_4076">
  5094. <title>4076</title>
  5095. <indexterm>
  5096. <primary>4076</primary>
  5097. </indexterm>
  5098. <para>OVERWRITE/EXTEND should be consistent on all outputs to
  5099. NAMED(%s)</para>
  5100. </sect1>
  5101. <sect1 id="_4078">
  5102. <title>4078</title>
  5103. <indexterm>
  5104. <primary>4078</primary>
  5105. </indexterm>
  5106. <para>Insufficient access rights to use embedded C++</para>
  5107. </sect1>
  5108. <sect1 id="_4079">
  5109. <title>4079</title>
  5110. <indexterm>
  5111. <primary>4079</primary>
  5112. </indexterm>
  5113. <para>Tag contents syntax &lt;&gt; is not supported by SOAPCALL</para>
  5114. </sect1>
  5115. <sect1 id="_4081">
  5116. <title>4081</title>
  5117. <indexterm>
  5118. <primary>4081</primary>
  5119. </indexterm>
  5120. <para>RIGHT side of a full keyed join must be a disk file</para>
  5121. </sect1>
  5122. <sect1 id="_4082">
  5123. <title>4082</title>
  5124. <indexterm>
  5125. <primary>4082</primary>
  5126. </indexterm>
  5127. <para>Expression is not constant: %s</para>
  5128. </sect1>
  5129. <sect1 id="_4083">
  5130. <title>4083</title>
  5131. <indexterm>
  5132. <primary>4083</primary>
  5133. </indexterm>
  5134. <para>"Unimplemented: Cannot access row blob inside a child query, contact
  5135. tech support"</para>
  5136. </sect1>
  5137. <sect1 id="_4084">
  5138. <title>4084</title>
  5139. <indexterm>
  5140. <primary>4084</primary>
  5141. </indexterm>
  5142. <para>Field '%s' with dataset type not supported in csv output</para>
  5143. </sect1>
  5144. <sect1 id="_4085">
  5145. <title>4085</title>
  5146. <indexterm>
  5147. <primary>4085</primary>
  5148. </indexterm>
  5149. <para>Field '%s' with set type not supported in csv output</para>
  5150. </sect1>
  5151. <sect1 id="_4086">
  5152. <title>4086</title>
  5153. <indexterm>
  5154. <primary>4086</primary>
  5155. </indexterm>
  5156. <para>Cannot determine the maximum size of the expression</para>
  5157. </sect1>
  5158. <sect1 id="_4087">
  5159. <title>4087</title>
  5160. <indexterm>
  5161. <primary>4087</primary>
  5162. </indexterm>
  5163. <para>Cannot determine size because variable size dataset is not in scope.
  5164. Try using sizeof(x,max)</para>
  5165. </sect1>
  5166. <sect1 id="_4088">
  5167. <title>4088</title>
  5168. <indexterm>
  5169. <primary>4088</primary>
  5170. </indexterm>
  5171. <para>Duplicate definition of %s</para>
  5172. </sect1>
  5173. <sect1 id="_4089">
  5174. <title>4089</title>
  5175. <indexterm>
  5176. <primary>4089</primary>
  5177. </indexterm>
  5178. <para>Duplicate definition of %s with different type</para>
  5179. </sect1>
  5180. <sect1 id="_4090">
  5181. <title>4090</title>
  5182. <indexterm>
  5183. <primary>4090</primary>
  5184. </indexterm>
  5185. <para>WILD() doesn't reference fields in key %s</para>
  5186. </sect1>
  5187. <sect1 id="_4091">
  5188. <title>4091</title>
  5189. <indexterm>
  5190. <primary>4091</primary>
  5191. </indexterm>
  5192. <para>Field %s cannot have both KEYED and KEYED,OPT conditions</para>
  5193. </sect1>
  5194. <sect1 id="_4092">
  5195. <title>4092</title>
  5196. <indexterm>
  5197. <primary>4092</primary>
  5198. </indexterm>
  5199. <para>KEYED(%s,OPT) follows a WILD() field in key %s</para>
  5200. </sect1>
  5201. <sect1 id="_4093">
  5202. <title>4093</title>
  5203. <indexterm>
  5204. <primary>4093</primary>
  5205. </indexterm>
  5206. <para>COUNT(,KEYED) cannot be used on a child dataset</para>
  5207. </sect1>
  5208. <sect1 id="_4094">
  5209. <title>4094</title>
  5210. <indexterm>
  5211. <primary>4094</primary>
  5212. </indexterm>
  5213. <para>Filter for COUNT(,KEYED) did not contained KEYED()
  5214. expressions</para>
  5215. </sect1>
  5216. <sect1 id="_4095">
  5217. <title>4095</title>
  5218. <indexterm>
  5219. <primary>4095</primary>
  5220. </indexterm>
  5221. <para>KEYED COUNT used on a non-keyable dataset</para>
  5222. </sect1>
  5223. <sect1 id="_4096">
  5224. <title>4096</title>
  5225. <indexterm>
  5226. <primary>4096</primary>
  5227. </indexterm>
  5228. <para>Attempting to lookup field %s in a dataset which has no active
  5229. element</para>
  5230. </sect1>
  5231. <sect1 id="_4097">
  5232. <title>4097</title>
  5233. <indexterm>
  5234. <primary>4097</primary>
  5235. </indexterm>
  5236. <para>Key condition (%s) is too complex, it cannot be done with the
  5237. key.</para>
  5238. </sect1>
  5239. <sect1 id="_4098">
  5240. <title>4098</title>
  5241. <indexterm>
  5242. <primary>4098</primary>
  5243. </indexterm>
  5244. <para>Key condition (%s) requires casts on comparison of field '%s'</para>
  5245. </sect1>
  5246. <sect1 id="_4099">
  5247. <title>4099</title>
  5248. <indexterm>
  5249. <primary>4099</primary>
  5250. </indexterm>
  5251. <para>Key condition (%s) does not have any comparisons against key
  5252. fields</para>
  5253. </sect1>
  5254. <sect1 id="_4100">
  5255. <title>4100</title>
  5256. <indexterm>
  5257. <primary>4100</primary>
  5258. </indexterm>
  5259. <para>No explicit maxlength provided for record %s</para>
  5260. </sect1>
  5261. <sect1 id="_">
  5262. <title></title>
  5263. <indexterm>
  5264. <primary></primary>
  5265. </indexterm>
  5266. <para>unary - cannot be performed on a string</para>
  5267. </sect1>
  5268. <sect1 id="_4102">
  5269. <title>4102</title>
  5270. <indexterm>
  5271. <primary>4102</primary>
  5272. </indexterm>
  5273. <para>%s is not supported inside NOTHOR()</para>
  5274. </sect1>
  5275. <sect1 id="_4103">
  5276. <title>4103</title>
  5277. <indexterm>
  5278. <primary>4103</primary>
  5279. </indexterm>
  5280. <para>Regular expression parsing doesn't support productions - need to use
  5281. tomita</para>
  5282. </sect1>
  5283. <sect1 id="_4104">
  5284. <title>4104</title>
  5285. <indexterm>
  5286. <primary>4104</primary>
  5287. </indexterm>
  5288. <para>Unimplemented: Cannot yet access $&lt;n&gt; inside a child
  5289. query</para>
  5290. </sect1>
  5291. <sect1 id="_4105">
  5292. <title>4105</title>
  5293. <indexterm>
  5294. <primary>4105</primary>
  5295. </indexterm>
  5296. <para>Ambiguous default production for rule with multiple inputs</para>
  5297. </sect1>
  5298. <sect1 id="_4106">
  5299. <title>4106</title>
  5300. <indexterm>
  5301. <primary>4106</primary>
  5302. </indexterm>
  5303. <para>Selector %s is used ambiguously at multiple levels</para>
  5304. </sect1>
  5305. <sect1 id="_4107">
  5306. <title>4107</title>
  5307. <indexterm>
  5308. <primary>4107</primary>
  5309. </indexterm>
  5310. <para>JOIN%s marked as KEYED does not have a key as the second
  5311. parameter</para>
  5312. </sect1>
  5313. <sect1 id="_4108">
  5314. <title>4108</title>
  5315. <indexterm>
  5316. <primary>4108</primary>
  5317. </indexterm>
  5318. <para>ALLNODES(dataset) only legal in roxie and in thor child
  5319. queries</para>
  5320. </sect1>
  5321. <sect1 id="_4109">
  5322. <title>4109</title>
  5323. <indexterm>
  5324. <primary>4109</primary>
  5325. </indexterm>
  5326. <para>ALLNODES() is not currently supported on grouped datasets</para>
  5327. </sect1>
  5328. <sect1 id="_4110">
  5329. <title>4110</title>
  5330. <indexterm>
  5331. <primary>4110</primary>
  5332. </indexterm>
  5333. <para>Library %s cannot contain any workflow actions%s</para>
  5334. </sect1>
  5335. <sect1 id="_4111">
  5336. <title>4111</title>
  5337. <indexterm>
  5338. <primary>4111</primary>
  5339. </indexterm>
  5340. <para>LOOP body too complicated to evaluate in parallel</para>
  5341. </sect1>
  5342. <sect1 id="_4112">
  5343. <title>4112</title>
  5344. <indexterm>
  5345. <primary>4112</primary>
  5346. </indexterm>
  5347. <para>Operator %s not supported inside DFAs</para>
  5348. </sect1>
  5349. <sect1 id="_4113">
  5350. <title>4113</title>
  5351. <indexterm>
  5352. <primary>4113</primary>
  5353. </indexterm>
  5354. <para>MATCHUTF8 found where MATCHUNICODE/MATCHTEXT was expected</para>
  5355. </sect1>
  5356. <sect1 id="_4114">
  5357. <title>4114</title>
  5358. <indexterm>
  5359. <primary>4114</primary>
  5360. </indexterm>
  5361. <para>THISNODE() can only be used inside ALLNODES()</para>
  5362. </sect1>
  5363. <sect1 id="_4115">
  5364. <title>4115</title>
  5365. <indexterm>
  5366. <primary>4115</primary>
  5367. </indexterm>
  5368. <para>STEPPED(%s) cannot be evaluated in this context</para>
  5369. </sect1>
  5370. <sect1 id="_4116">
  5371. <title>4116</title>
  5372. <indexterm>
  5373. <primary>4116</primary>
  5374. </indexterm>
  5375. <para>Parameter to RANGE() is too complex - not currently supported</para>
  5376. </sect1>
  5377. <sect1 id="_4117">
  5378. <title>4117</title>
  5379. <indexterm>
  5380. <primary>4117</primary>
  5381. </indexterm>
  5382. <para>Project of stepping fields is too complex</para>
  5383. </sect1>
  5384. <sect1 id="_4118">
  5385. <title>4118</title>
  5386. <indexterm>
  5387. <primary>4118</primary>
  5388. </indexterm>
  5389. <para>Stepped field %s must have a fixed size</para>
  5390. </sect1>
  5391. <sect1 id="_4119">
  5392. <title>4119</title>
  5393. <indexterm>
  5394. <primary>4119</primary>
  5395. </indexterm>
  5396. <para>Stepped field %s must be at a fixed offset</para>
  5397. </sect1>
  5398. <sect1 id="_4120">
  5399. <title>4120</title>
  5400. <indexterm>
  5401. <primary>4120</primary>
  5402. </indexterm>
  5403. <para>Expression is too complex to STEP (%s)</para>
  5404. </sect1>
  5405. <sect1 id="_4121">
  5406. <title>4121</title>
  5407. <indexterm>
  5408. <primary>4121</primary>
  5409. </indexterm>
  5410. <para>Cannot smart step on payload fields</para>
  5411. </sect1>
  5412. <sect1 id="_4122">
  5413. <title>4122</title>
  5414. <indexterm>
  5415. <primary>4122</primary>
  5416. </indexterm>
  5417. <para>STEPPED range condition could only be matched in one
  5418. direction</para>
  5419. </sect1>
  5420. <sect1 id="_4123">
  5421. <title>4123</title>
  5422. <indexterm>
  5423. <primary>4123</primary>
  5424. </indexterm>
  5425. <para>Multiple STEPPED comparisons %s &gt;=</para>
  5426. </sect1>
  5427. <sect1 id="_4124">
  5428. <title>4124</title>
  5429. <indexterm>
  5430. <primary>4124</primary>
  5431. </indexterm>
  5432. <para>STEPPED condition is not compatible with the sort/merge condition
  5433. (%s expected)</para>
  5434. </sect1>
  5435. <sect1 id="_4125">
  5436. <title>4125</title>
  5437. <indexterm>
  5438. <primary>4125</primary>
  5439. </indexterm>
  5440. <para>JOIN condition is not compatible with the sort/merge
  5441. condition</para>
  5442. </sect1>
  5443. <sect1 id="_4126">
  5444. <title>4126</title>
  5445. <indexterm>
  5446. <primary>4126</primary>
  5447. </indexterm>
  5448. <para>STEPPED field %s is not keyed</para>
  5449. </sect1>
  5450. <sect1 id="_4127">
  5451. <title>4127</title>
  5452. <indexterm>
  5453. <primary>4127</primary>
  5454. </indexterm>
  5455. <para>STEPPED field %s does not follow the previous stepped field</para>
  5456. </sect1>
  5457. <sect1 id="_4128">
  5458. <title>4128</title>
  5459. <indexterm>
  5460. <primary>4128</primary>
  5461. </indexterm>
  5462. <para>Merge order must match all the stepped join fields</para>
  5463. </sect1>
  5464. <sect1 id="_4129">
  5465. <title>4129</title>
  5466. <indexterm>
  5467. <primary>4129</primary>
  5468. </indexterm>
  5469. <para>Cannot OR together conditions on multiple key fields (%s)</para>
  5470. </sect1>
  5471. <sect1 id="_4130">
  5472. <title>4130</title>
  5473. <indexterm>
  5474. <primary>4130</primary>
  5475. </indexterm>
  5476. <para>ROW compression can only be used on fixed size indexes</para>
  5477. </sect1>
  5478. <sect1 id="_4131">
  5479. <title>4131</title>
  5480. <indexterm>
  5481. <primary>4131</primary>
  5482. </indexterm>
  5483. <para>UPDATE cannot be used when the inputs names aren't globally
  5484. constant</para>
  5485. </sect1>
  5486. <sect1 id="_4132">
  5487. <title>4132</title>
  5488. <indexterm>
  5489. <primary>4132</primary>
  5490. </indexterm>
  5491. <para>THOR currently only supports LEFT OUTER denormalize</para>
  5492. </sect1>
  5493. <sect1 id="_4133">
  5494. <title>4133</title>
  5495. <indexterm>
  5496. <primary>4133</primary>
  5497. </indexterm>
  5498. <para>THOR doesn't support DENORMALIZE(%s)</para>
  5499. </sect1>
  5500. <sect1 id="_4134">
  5501. <title>4134</title>
  5502. <indexterm>
  5503. <primary>4134</primary>
  5504. </indexterm>
  5505. <para>SKIP cannot be used here. It is only valid directly with a
  5506. transform</para>
  5507. </sect1>
  5508. <sect1 id="_4135">
  5509. <title>4135</title>
  5510. <indexterm>
  5511. <primary>4135</primary>
  5512. </indexterm>
  5513. <para>Cannot read tables/datasets from a csv file</para>
  5514. </sect1>
  5515. <sect1 id="_4136">
  5516. <title>4136</title>
  5517. <indexterm>
  5518. <primary>4136</primary>
  5519. </indexterm>
  5520. <para>Argument %s to #workunit must be a constant</para>
  5521. </sect1>
  5522. <sect1 id="_4137">
  5523. <title>4137</title>
  5524. <indexterm>
  5525. <primary>4137</primary>
  5526. </indexterm>
  5527. <para>Argument %s to #debug must be a constant</para>
  5528. </sect1>
  5529. <sect1 id="Unknown_01">
  5530. <title>Unknown_01</title>
  5531. <indexterm>
  5532. <primary>Unknown_01</primary>
  5533. </indexterm>
  5534. <para>Queries libraries must be implemented with a parameterised
  5535. module</para>
  5536. </sect1>
  5537. <sect1 id="_4138">
  5538. <title>4138</title>
  5539. <indexterm>
  5540. <primary>4138</primary>
  5541. </indexterm>
  5542. <para>Member %s not defined in module passed as library parameter</para>
  5543. </sect1>
  5544. <sect1 id="_4139">
  5545. <title>4139</title>
  5546. <indexterm>
  5547. <primary>4139</primary>
  5548. </indexterm>
  5549. <para>Member %s was undefined in a module</para>
  5550. </sect1>
  5551. <sect1 id="_4140">
  5552. <title>4140</title>
  5553. <indexterm>
  5554. <primary>4140</primary>
  5555. </indexterm>
  5556. <para>Thor does not support HAVING on a non-grouped dataset</para>
  5557. </sect1>
  5558. <sect1 id="_4141">
  5559. <title>4141</title>
  5560. <indexterm>
  5561. <primary>4141</primary>
  5562. </indexterm>
  5563. <para>%s not currently supported as a child action</para>
  5564. </sect1>
  5565. <sect1 id="_4142">
  5566. <title>4142</title>
  5567. <indexterm>
  5568. <primary>4142</primary>
  5569. </indexterm>
  5570. <para>Definitions in libraries cannot have side effects (%s)</para>
  5571. </sect1>
  5572. <sect1 id="_4143">
  5573. <title>4143</title>
  5574. <indexterm>
  5575. <primary>4143</primary>
  5576. </indexterm>
  5577. <para></para>
  5578. </sect1>
  5579. <sect1 id="_4144">
  5580. <title>4144</title>
  5581. <indexterm>
  5582. <primary>4144</primary>
  5583. </indexterm>
  5584. <para></para>
  5585. </sect1>
  5586. <sect1 id="_4145">
  5587. <title>4145</title>
  5588. <indexterm>
  5589. <primary>4145</primary>
  5590. </indexterm>
  5591. <para>Index read only supports single STEPPED expression</para>
  5592. </sect1>
  5593. <sect1 id="_4146">
  5594. <title>4146</title>
  5595. <indexterm>
  5596. <primary>4146</primary>
  5597. </indexterm>
  5598. <para>#%s (%s) creates an illegal recursive reference (%s also being
  5599. processed)</para>
  5600. </sect1>
  5601. <sect1 id="_4147">
  5602. <title>4147</title>
  5603. <indexterm>
  5604. <primary>4147</primary>
  5605. </indexterm>
  5606. <para>Insufficient access rights to use PIPE</para>
  5607. </sect1>
  5608. <sect1 id="_4148">
  5609. <title>4148</title>
  5610. <indexterm>
  5611. <primary>4148</primary>
  5612. </indexterm>
  5613. <para>Parameter to __nameof__ must be a dataset or an index</para>
  5614. </sect1>
  5615. <sect1 id="_4149">
  5616. <title>4149</title>
  5617. <indexterm>
  5618. <primary>4149</primary>
  5619. </indexterm>
  5620. <para>Expected a UPDATE attribute name</para>
  5621. </sect1>
  5622. <sect1 id="_4150">
  5623. <title>4150</title>
  5624. <indexterm>
  5625. <primary>4150</primary>
  5626. </indexterm>
  5627. <para>%s @ %d:%d</para>
  5628. </sect1>
  5629. <sect1 id="_4152">
  5630. <title>4152</title>
  5631. <indexterm>
  5632. <primary>4152</primary>
  5633. </indexterm>
  5634. <para>Index in RANK/RANKED is out of range</para>
  5635. </sect1>
  5636. <sect1 id="_4153">
  5637. <title>4153</title>
  5638. <indexterm>
  5639. <primary>4153</primary>
  5640. </indexterm>
  5641. <para>INTERNAL: Dataset is not active: '%s'</para>
  5642. </sect1>
  5643. <sect1 id="_4154">
  5644. <title>4154</title>
  5645. <indexterm>
  5646. <primary>4154</primary>
  5647. </indexterm>
  5648. <para>Could not open thor template '%s' at '%s'</para>
  5649. </sect1>
  5650. <sect1 id="_4155">
  5651. <title>4155</title>
  5652. <indexterm>
  5653. <primary>4155</primary>
  5654. </indexterm>
  5655. <para>Could not create output '%s'</para>
  5656. </sect1>
  5657. <sect1 id="_4156">
  5658. <title>4156</title>
  5659. <indexterm>
  5660. <primary>4156</primary>
  5661. </indexterm>
  5662. <para>Dataset '%.80s' does not contain expression '%.50s'</para>
  5663. </sect1>
  5664. <sect1 id="_4157">
  5665. <title>4157</title>
  5666. <indexterm>
  5667. <primary>4157</primary>
  5668. </indexterm>
  5669. <para>Cannot return a result of this type from a workunit</para>
  5670. </sect1>
  5671. <sect1 id="_4158">
  5672. <title>4158</title>
  5673. <indexterm>
  5674. <primary>4158</primary>
  5675. </indexterm>
  5676. <para>Could not find dataset %s</para>
  5677. </sect1>
  5678. <sect1 id="_4159">
  5679. <title>4159</title>
  5680. <indexterm>
  5681. <primary>4159</primary>
  5682. </indexterm>
  5683. <para>Could not find dataset %s (no tables in scope)</para>
  5684. </sect1>
  5685. <sect1 id="_4160">
  5686. <title>4160</title>
  5687. <indexterm>
  5688. <primary>4160</primary>
  5689. </indexterm>
  5690. <para>INTERNAL: Thor nodes should not be nested</para>
  5691. </sect1>
  5692. <sect1 id="_4161">
  5693. <title>4161</title>
  5694. <indexterm>
  5695. <primary>4161</primary>
  5696. </indexterm>
  5697. <para>INTERNAL: Missing assignment from transform to %s[%p]</para>
  5698. </sect1>
  5699. <sect1 id="_4162">
  5700. <title>4162</title>
  5701. <indexterm>
  5702. <primary>4162</primary>
  5703. </indexterm>
  5704. <para>"JOIN%s contains no equality conditions - use ,ALL to allow"</para>
  5705. </sect1>
  5706. <sect1 id="_4163">
  5707. <title>4163</title>
  5708. <indexterm>
  5709. <primary>4163</primary>
  5710. </indexterm>
  5711. <para>A global DEDUP(ALL) or local hash dedup cannot include comparisons
  5712. in the dedup criteria</para>
  5713. </sect1>
  5714. <sect1 id="_4164">
  5715. <title>4164</title>
  5716. <indexterm>
  5717. <primary>4164</primary>
  5718. </indexterm>
  5719. <para>"Global dedup,ALL must have a field to partition"</para>
  5720. </sect1>
  5721. <sect1 id="_4165">
  5722. <title>4165</title>
  5723. <indexterm>
  5724. <primary>4165</primary>
  5725. </indexterm>
  5726. <para>Hash dedup doesn't support %s</para>
  5727. </sect1>
  5728. <sect1 id="_4166">
  5729. <title>4166</title>
  5730. <indexterm>
  5731. <primary>4166</primary>
  5732. </indexterm>
  5733. <para>SORTED() used by JOINED must be applied to a DATASET</para>
  5734. </sect1>
  5735. <sect1 id="_4167">
  5736. <title>4167</title>
  5737. <indexterm>
  5738. <primary>4167</primary>
  5739. </indexterm>
  5740. <para>SORTED() used by JOINED must be applied to a THOR dataset</para>
  5741. </sect1>
  5742. <sect1 id="_4168">
  5743. <title>4168</title>
  5744. <indexterm>
  5745. <primary>4168</primary>
  5746. </indexterm>
  5747. <para>SORT supplied to COSORT needs to be executed at the same time</para>
  5748. </sect1>
  5749. <sect1 id="_4169">
  5750. <title>4169</title>
  5751. <indexterm>
  5752. <primary>4169</primary>
  5753. </indexterm>
  5754. <para>WAIT not yet supported</para>
  5755. </sect1>
  5756. <sect1 id="_4170">
  5757. <title>4170</title>
  5758. <indexterm>
  5759. <primary>4170</primary>
  5760. </indexterm>
  5761. <para>Index has fields %s in scope</para>
  5762. </sect1>
  5763. <sect1 id="_4171">
  5764. <title>4171</title>
  5765. <indexterm>
  5766. <primary>4171</primary>
  5767. </indexterm>
  5768. <para>Global dataset has fields %s in scope</para>
  5769. </sect1>
  5770. <sect1 id="_4172">
  5771. <title>4172</title>
  5772. <indexterm>
  5773. <primary>4172</primary>
  5774. </indexterm>
  5775. <para>Create resource library %s failed</para>
  5776. </sect1>
  5777. <sect1 id="_4173">
  5778. <title>4173</title>
  5779. <indexterm>
  5780. <primary>4173</primary>
  5781. </indexterm>
  5782. <para>Records not assignment compatible</para>
  5783. </sect1>
  5784. <sect1 id="_4174">
  5785. <title>4174</title>
  5786. <indexterm>
  5787. <primary>4174</primary>
  5788. </indexterm>
  5789. <para>Missing end of placeholder</para>
  5790. </sect1>
  5791. <sect1 id="_4175">
  5792. <title>4175</title>
  5793. <indexterm>
  5794. <primary>4175</primary>
  5795. </indexterm>
  5796. <para>%s can only be globally or inside ONFAIL or other failure
  5797. processing</para>
  5798. </sect1>
  5799. <sect1 id="_4176">
  5800. <title>4176</title>
  5801. <indexterm>
  5802. <primary>4176</primary>
  5803. </indexterm>
  5804. <para>Side-effect%s is not currently supported as a context-dependent
  5805. dependency</para>
  5806. </sect1>
  5807. <sect1 id="_4177">
  5808. <title>4177</title>
  5809. <indexterm>
  5810. <primary>4177</primary>
  5811. </indexterm>
  5812. <para>Cannot deduce MERGE transform for global AGGREGATE</para>
  5813. </sect1>
  5814. <sect1 id="_4178">
  5815. <title>4178</title>
  5816. <indexterm>
  5817. <primary>4178</primary>
  5818. </indexterm>
  5819. <para>AGGREGATE does not include grouping field '%s' in the result
  5820. record</para>
  5821. </sect1>
  5822. <sect1 id="_4179">
  5823. <title>4179</title>
  5824. <indexterm>
  5825. <primary>4179</primary>
  5826. </indexterm>
  5827. <para>The calculated maximum row size has overflowed 32bits</para>
  5828. </sect1>
  5829. <sect1 id="_4180">
  5830. <title>4180</title>
  5831. <indexterm>
  5832. <primary>4180</primary>
  5833. </indexterm>
  5834. <para>%s: %s cannot be dependent on the dataset</para>
  5835. </sect1>
  5836. <sect1 id="_4181">
  5837. <title>4181</title>
  5838. <indexterm>
  5839. <primary>4181</primary>
  5840. </indexterm>
  5841. <para>Cannot determine the minimum size of the expression</para>
  5842. </sect1>
  5843. <sect1 id="_4182">
  5844. <title>4182</title>
  5845. <indexterm>
  5846. <primary>4182</primary>
  5847. </indexterm>
  5848. <para>%s used outside of a TABLE aggregation</para>
  5849. </sect1>
  5850. <sect1 id="_4183">
  5851. <title>4183</title>
  5852. <indexterm>
  5853. <primary>4183</primary>
  5854. </indexterm>
  5855. <para>%s resource added after manifest was finalized</para>
  5856. </sect1>
  5857. <sect1 id="_4184">
  5858. <title>4184</title>
  5859. <indexterm>
  5860. <primary>4184</primary>
  5861. </indexterm>
  5862. <para>SKIP inside a ROW(&lt;transform&gt;) not supported. It is only
  5863. allowed in a DATASET transform.</para>
  5864. </sect1>
  5865. <sect1 id="_4500">
  5866. <title>4500</title>
  5867. <indexterm>
  5868. <primary>4500</primary>
  5869. </indexterm>
  5870. <para></para>
  5871. </sect1>
  5872. <sect1 id="_4501">
  5873. <title>4501</title>
  5874. <indexterm>
  5875. <primary>4501</primary>
  5876. </indexterm>
  5877. <para></para>
  5878. </sect1>
  5879. <sect1 id="_4502">
  5880. <title>4502</title>
  5881. <indexterm>
  5882. <primary>4502</primary>
  5883. </indexterm>
  5884. <para></para>
  5885. </sect1>
  5886. <sect1 id="_4503">
  5887. <title>4503</title>
  5888. <indexterm>
  5889. <primary>4503</primary>
  5890. </indexterm>
  5891. <para></para>
  5892. </sect1>
  5893. <sect1 id="_4504">
  5894. <title>4504</title>
  5895. <indexterm>
  5896. <primary>4504</primary>
  5897. </indexterm>
  5898. <para></para>
  5899. </sect1>
  5900. <sect1 id="_4505">
  5901. <title>4505</title>
  5902. <indexterm>
  5903. <primary>4505</primary>
  5904. </indexterm>
  5905. <para></para>
  5906. </sect1>
  5907. <sect1 id="_4506">
  5908. <title>4506</title>
  5909. <indexterm>
  5910. <primary>4506</primary>
  5911. </indexterm>
  5912. <para></para>
  5913. </sect1>
  5914. <sect1 id="_4507">
  5915. <title>4507</title>
  5916. <indexterm>
  5917. <primary>4507</primary>
  5918. </indexterm>
  5919. <para></para>
  5920. </sect1>
  5921. <sect1 id="_4508">
  5922. <title>4508</title>
  5923. <indexterm>
  5924. <primary>4508</primary>
  5925. </indexterm>
  5926. <para></para>
  5927. </sect1>
  5928. <sect1 id="_4509">
  5929. <title>4509</title>
  5930. <indexterm>
  5931. <primary>4509</primary>
  5932. </indexterm>
  5933. <para></para>
  5934. </sect1>
  5935. <sect1 id="_4510">
  5936. <title>4510</title>
  5937. <indexterm>
  5938. <primary>4510</primary>
  5939. </indexterm>
  5940. <para></para>
  5941. </sect1>
  5942. <sect1 id="_4512">
  5943. <title>4512</title>
  5944. <indexterm>
  5945. <primary>4512</primary>
  5946. </indexterm>
  5947. <para></para>
  5948. </sect1>
  5949. <sect1 id="_4513">
  5950. <title>4513</title>
  5951. <indexterm>
  5952. <primary>4513</primary>
  5953. </indexterm>
  5954. <para></para>
  5955. </sect1>
  5956. <sect1 id="_4515">
  5957. <title>4515</title>
  5958. <indexterm>
  5959. <primary>4515</primary>
  5960. </indexterm>
  5961. <para></para>
  5962. </sect1>
  5963. <sect1 id="_4516">
  5964. <title>4516</title>
  5965. <indexterm>
  5966. <primary>4516</primary>
  5967. </indexterm>
  5968. <para></para>
  5969. </sect1>
  5970. <sect1 id="_4517">
  5971. <title>4517</title>
  5972. <indexterm>
  5973. <primary>4517</primary>
  5974. </indexterm>
  5975. <para></para>
  5976. </sect1>
  5977. <sect1 id="_4518">
  5978. <title>4518</title>
  5979. <indexterm>
  5980. <primary>4518</primary>
  5981. </indexterm>
  5982. <para></para>
  5983. </sect1>
  5984. <sect1 id="_4519">
  5985. <title>4519</title>
  5986. <indexterm>
  5987. <primary>4519</primary>
  5988. </indexterm>
  5989. <para></para>
  5990. </sect1>
  5991. <sect1 id="_4520">
  5992. <title>4520</title>
  5993. <indexterm>
  5994. <primary>4520</primary>
  5995. </indexterm>
  5996. <para></para>
  5997. </sect1>
  5998. <sect1 id="_4521">
  5999. <title>4521</title>
  6000. <indexterm>
  6001. <primary>4521</primary>
  6002. </indexterm>
  6003. <para></para>
  6004. </sect1>
  6005. <sect1 id="_4522">
  6006. <title>4522</title>
  6007. <indexterm>
  6008. <primary>4522</primary>
  6009. </indexterm>
  6010. <para></para>
  6011. </sect1>
  6012. <sect1 id="_4523">
  6013. <title>4523</title>
  6014. <indexterm>
  6015. <primary>4523</primary>
  6016. </indexterm>
  6017. <para></para>
  6018. </sect1>
  6019. <sect1 id="_4524">
  6020. <title>4524</title>
  6021. <indexterm>
  6022. <primary>4524</primary>
  6023. </indexterm>
  6024. <para></para>
  6025. </sect1>
  6026. <sect1 id="_4525">
  6027. <title>4525</title>
  6028. <indexterm>
  6029. <primary>4525</primary>
  6030. </indexterm>
  6031. <para></para>
  6032. </sect1>
  6033. <sect1 id="_4526">
  6034. <title>4526</title>
  6035. <indexterm>
  6036. <primary>4526</primary>
  6037. </indexterm>
  6038. <para></para>
  6039. </sect1>
  6040. <sect1 id="_4527">
  6041. <title>4527</title>
  6042. <indexterm>
  6043. <primary>4527</primary>
  6044. </indexterm>
  6045. <para></para>
  6046. </sect1>
  6047. <sect1 id="_4528">
  6048. <title>4528</title>
  6049. <indexterm>
  6050. <primary>4528</primary>
  6051. </indexterm>
  6052. <para></para>
  6053. </sect1>
  6054. <sect1 id="_4529">
  6055. <title>4529</title>
  6056. <indexterm>
  6057. <primary>4529</primary>
  6058. </indexterm>
  6059. <para></para>
  6060. </sect1>
  6061. <sect1 id="_4530">
  6062. <title>4530</title>
  6063. <indexterm>
  6064. <primary>4530</primary>
  6065. </indexterm>
  6066. <para></para>
  6067. </sect1>
  6068. <sect1 id="_4531">
  6069. <title>4531</title>
  6070. <indexterm>
  6071. <primary>4531</primary>
  6072. </indexterm>
  6073. <para></para>
  6074. </sect1>
  6075. <sect1 id="_4532">
  6076. <title>4532</title>
  6077. <indexterm>
  6078. <primary>4532</primary>
  6079. </indexterm>
  6080. <para></para>
  6081. </sect1>
  6082. <sect1 id="_4533">
  6083. <title>4533</title>
  6084. <indexterm>
  6085. <primary>4533</primary>
  6086. </indexterm>
  6087. <para></para>
  6088. </sect1>
  6089. <sect1 id="_4534">
  6090. <title>4534</title>
  6091. <indexterm>
  6092. <primary>4534</primary>
  6093. </indexterm>
  6094. <para></para>
  6095. </sect1>
  6096. <sect1 id="_4535">
  6097. <title>4535</title>
  6098. <indexterm>
  6099. <primary>4535</primary>
  6100. </indexterm>
  6101. <para></para>
  6102. </sect1>
  6103. <sect1 id="_4536">
  6104. <title>4536</title>
  6105. <indexterm>
  6106. <primary>4536</primary>
  6107. </indexterm>
  6108. <para></para>
  6109. </sect1>
  6110. <sect1 id="_4537">
  6111. <title>4537</title>
  6112. <indexterm>
  6113. <primary>4537</primary>
  6114. </indexterm>
  6115. <para></para>
  6116. </sect1>
  6117. <sect1 id="_4538">
  6118. <title>4538</title>
  6119. <indexterm>
  6120. <primary>4538</primary>
  6121. </indexterm>
  6122. <para></para>
  6123. </sect1>
  6124. <sect1 id="_4539">
  6125. <title>4539</title>
  6126. <indexterm>
  6127. <primary>4539</primary>
  6128. </indexterm>
  6129. <para></para>
  6130. </sect1>
  6131. <sect1 id="_4540">
  6132. <title>4540</title>
  6133. <indexterm>
  6134. <primary>4540</primary>
  6135. </indexterm>
  6136. <para></para>
  6137. </sect1>
  6138. <sect1 id="_4601">
  6139. <title>4601</title>
  6140. <indexterm>
  6141. <primary>4601</primary>
  6142. </indexterm>
  6143. <para>Rank/Ranked not supported on variable length strings</para>
  6144. </sect1>
  6145. <sect1 id="_4604">
  6146. <title>4604</title>
  6147. <indexterm>
  6148. <primary>4604</primary>
  6149. </indexterm>
  6150. <para>DISTRIBUTION() only supported at the outer level</para>
  6151. </sect1>
  6152. <sect1 id="_4606">
  6153. <title>4606</title>
  6154. <indexterm>
  6155. <primary>4606</primary>
  6156. </indexterm>
  6157. <para>Physical table join condition too complicated</para>
  6158. </sect1>
  6159. <sect1 id="_4609">
  6160. <title>4609</title>
  6161. <indexterm>
  6162. <primary>4609</primary>
  6163. </indexterm>
  6164. <para>Arbitrary repeats not yet supported!</para>
  6165. </sect1>
  6166. <sect1 id="_4610">
  6167. <title>4610</title>
  6168. <indexterm>
  6169. <primary>4610</primary>
  6170. </indexterm>
  6171. <para>Tomita doesn't yet support unicode</para>
  6172. </sect1>
  6173. <sect1 id="_4611">
  6174. <title>4611</title>
  6175. <indexterm>
  6176. <primary>4611</primary>
  6177. </indexterm>
  6178. <para>Patterns are too complicated for Tomita to handle at the moment
  6179. [%s]</para>
  6180. </sect1>
  6181. <sect1 id="_4613">
  6182. <title>4613</title>
  6183. <indexterm>
  6184. <primary>4613</primary>
  6185. </indexterm>
  6186. <para>Cannot currently assign to DATASET(SIZEOF(x)) fields</para>
  6187. </sect1>
  6188. <sect1 id="_4614">
  6189. <title>4614</title>
  6190. <indexterm>
  6191. <primary>4614</primary>
  6192. </indexterm>
  6193. <para>Can only normalize simple child datasets - use other form if more
  6194. complicated</para>
  6195. </sect1>
  6196. <sect1 id="_4615">
  6197. <title>4615</title>
  6198. <indexterm>
  6199. <primary>4615</primary>
  6200. </indexterm>
  6201. <para>ROXIE doesn't yet support local activities</para>
  6202. </sect1>
  6203. <sect1 id="_4616">
  6204. <title>4616</title>
  6205. <indexterm>
  6206. <primary>4616</primary>
  6207. </indexterm>
  6208. <para></para>
  6209. </sect1>
  6210. <sect1 id="_4617">
  6211. <title>4617</title>
  6212. <indexterm>
  6213. <primary>4617</primary>
  6214. </indexterm>
  6215. <para>STEPPED is not currently supported by thor</para>
  6216. </sect1>
  6217. <sect1 id="Unknown_02">
  6218. <title>Unknown_02</title>
  6219. <indexterm>
  6220. <primary>Unknown_02</primary>
  6221. </indexterm>
  6222. <para>string[n..*] syntax is only valid in a join condition</para>
  6223. </sect1>
  6224. <sect1 id="Unknown_03">
  6225. <title>Unknown_03</title>
  6226. <indexterm>
  6227. <primary>Unknown_03</primary>
  6228. </indexterm>
  6229. <para>Keyed distribute doesn' support join condition of the form
  6230. field[n..*]</para>
  6231. </sect1>
  6232. <sect1 id="_4618">
  6233. <title>4618</title>
  6234. <indexterm>
  6235. <primary>4618</primary>
  6236. </indexterm>
  6237. <para>ONCE workflow items cannot be dependent on other workflow items
  6238. (including ONCE)</para>
  6239. </sect1>
  6240. <sect1 id="_4619">
  6241. <title>4619</title>
  6242. <indexterm>
  6243. <primary>4619</primary>
  6244. </indexterm>
  6245. <para>Thor currently only supports the local version of COMBINE</para>
  6246. </sect1>
  6247. <sect1 id="_4799">
  6248. <title>4799</title>
  6249. <indexterm>
  6250. <primary>4799</primary>
  6251. </indexterm>
  6252. <para></para>
  6253. </sect1>
  6254. <sect1 id="_4800">
  6255. <title>4800</title>
  6256. <indexterm>
  6257. <primary>4800</primary>
  6258. </indexterm>
  6259. <para>INTERNAL: Clear not supported on LOCAL datasets</para>
  6260. </sect1>
  6261. <sect1 id="_4801">
  6262. <title>4801</title>
  6263. <indexterm>
  6264. <primary>4801</primary>
  6265. </indexterm>
  6266. <para>INTERNAL: Local datasets cannot be created</para>
  6267. </sect1>
  6268. <sect1 id="_4802">
  6269. <title>4802</title>
  6270. <indexterm>
  6271. <primary>4802</primary>
  6272. </indexterm>
  6273. <para>INTERNAL: Attempt to access dataset outside of Thor</para>
  6274. </sect1>
  6275. <sect1 id="_4803">
  6276. <title>4803</title>
  6277. <indexterm>
  6278. <primary>4803</primary>
  6279. </indexterm>
  6280. <para>INTERNAL: Not all Transform targets were assigned to [%s]</para>
  6281. </sect1>
  6282. <sect1 id="_4804">
  6283. <title>4804</title>
  6284. <indexterm>
  6285. <primary>4804</primary>
  6286. </indexterm>
  6287. <para>INTERNAL: Cannot access stored variable %s in this context</para>
  6288. </sect1>
  6289. <sect1 id="_4805">
  6290. <title>4805</title>
  6291. <indexterm>
  6292. <primary>4805</primary>
  6293. </indexterm>
  6294. <para>INTERNAL: Evaluate table is not in scope</para>
  6295. </sect1>
  6296. <sect1 id="_4806">
  6297. <title>4806</title>
  6298. <indexterm>
  6299. <primary>4806</primary>
  6300. </indexterm>
  6301. <para>INTERNAL: Internal function %s not found</para>
  6302. </sect1>
  6303. <sect1 id="_4807">
  6304. <title>4807</title>
  6305. <indexterm>
  6306. <primary>4807</primary>
  6307. </indexterm>
  6308. <para>INTERNAL: OUTPUT() on a scalar not processed correctly</para>
  6309. </sect1>
  6310. <sect1 id="_4808">
  6311. <title>4808</title>
  6312. <indexterm>
  6313. <primary>4808</primary>
  6314. </indexterm>
  6315. <para>INTERNAL: Expression too complex - cannot create a DFA</para>
  6316. </sect1>
  6317. <sect1 id="_4809">
  6318. <title>4809</title>
  6319. <indexterm>
  6320. <primary>4809</primary>
  6321. </indexterm>
  6322. <para>INTERNAL: Unsupported inline query</para>
  6323. </sect1>
  6324. <sect1 id="_4813">
  6325. <title>4813</title>
  6326. <indexterm>
  6327. <primary>4813</primary>
  6328. </indexterm>
  6329. <para>INTERNAL: Could not resolve file position</para>
  6330. </sect1>
  6331. <sect1 id="_4814">
  6332. <title>4814</title>
  6333. <indexterm>
  6334. <primary>4814</primary>
  6335. </indexterm>
  6336. <para>INTERNAL: Cannot perform type cast from %s to %s</para>
  6337. </sect1>
  6338. <sect1 id="_4815">
  6339. <title>4815</title>
  6340. <indexterm>
  6341. <primary>4815</primary>
  6342. </indexterm>
  6343. <para>INTERNAL: Could not find context to evaluate match expression</para>
  6344. </sect1>
  6345. <sect1 id="_4816">
  6346. <title>4816</title>
  6347. <indexterm>
  6348. <primary>4816</primary>
  6349. </indexterm>
  6350. <para>INTERNAL: Blob translation context not found</para>
  6351. </sect1>
  6352. <sect1 id="_4817">
  6353. <title>4817</title>
  6354. <indexterm>
  6355. <primary>4817</primary>
  6356. </indexterm>
  6357. <para>INTERNAL: ROWS can not be evaluated in this context</para>
  6358. </sect1>
  6359. <sect1 id="_4818">
  6360. <title>4818</title>
  6361. <indexterm>
  6362. <primary>4818</primary>
  6363. </indexterm>
  6364. <para>INTERNAL: Expected a parent/container context. Likely to be caused
  6365. by executing something invalid inside a NOTHOR.</para>
  6366. </sect1>
  6367. <sect1 id="_4820">
  6368. <title>4820</title>
  6369. <indexterm>
  6370. <primary>4820</primary>
  6371. </indexterm>
  6372. <para>INTERNAL: Could not resolve COUNTER for inline count project</para>
  6373. </sect1>
  6374. <sect1 id="_4821">
  6375. <title>4821</title>
  6376. <indexterm>
  6377. <primary>4821</primary>
  6378. </indexterm>
  6379. <para>INTERNAL: Graph context not found</para>
  6380. </sect1>
  6381. <sect1 id="_4822">
  6382. <title>4822</title>
  6383. <indexterm>
  6384. <primary>4822</primary>
  6385. </indexterm>
  6386. <para>INTERNAL: Accessing unserialized stored variable %s in slave
  6387. context</para>
  6388. </sect1>
  6389. <sect1 id="_4823">
  6390. <title>4823</title>
  6391. <indexterm>
  6392. <primary>4823</primary>
  6393. </indexterm>
  6394. <para>INTERNAL: Library '%s' shouldn't access work unit temporary
  6395. '%s'</para>
  6396. </sect1>
  6397. <sect1 id="_4824">
  6398. <title>4824</title>
  6399. <indexterm>
  6400. <primary>4824</primary>
  6401. </indexterm>
  6402. <para>INTERNAL: Library '%s' shouldn't create work unit temporary
  6403. '%s'</para>
  6404. </sect1>
  6405. <sect1 id="_4825">
  6406. <title>4825</title>
  6407. <indexterm>
  6408. <primary>4825</primary>
  6409. </indexterm>
  6410. <para>INTERNAL: Attempting to access graph output directly from a child
  6411. query</para>
  6412. </sect1>
  6413. <sect1 id="_4826">
  6414. <title>4826</title>
  6415. <indexterm>
  6416. <primary>4826</primary>
  6417. </indexterm>
  6418. <para>INTERNAL: Inconsistent activity localisation (child %d:graph
  6419. %d)</para>
  6420. </sect1>
  6421. <sect1 id="_4827">
  6422. <title>4827</title>
  6423. <indexterm>
  6424. <primary>4827</primary>
  6425. </indexterm>
  6426. <para>INTERNAL: No active parent extract - activity has incorrect
  6427. localisation?</para>
  6428. </sect1>
  6429. <sect1 id="_4828">
  6430. <title>4828</title>
  6431. <indexterm>
  6432. <primary>4828</primary>
  6433. </indexterm>
  6434. <para></para>
  6435. </sect1>
  6436. <sect1 id="_4829">
  6437. <title>4829</title>
  6438. <indexterm>
  6439. <primary>4829</primary>
  6440. </indexterm>
  6441. <para>INTERNAL: Inputs to nary operation have inconsistent record
  6442. structures</para>
  6443. </sect1>
  6444. <sect1 id="_4830">
  6445. <title>4830</title>
  6446. <indexterm>
  6447. <primary>4830</primary>
  6448. </indexterm>
  6449. <para>INTERNAL: Linked child rows required without legal context
  6450. available</para>
  6451. </sect1>
  6452. <sect1 id="_4833">
  6453. <title>4833</title>
  6454. <indexterm>
  6455. <primary>4833</primary>
  6456. </indexterm>
  6457. <para></para>
  6458. </sect1>
  6459. <sect1 id="_4834">
  6460. <title>4834</title>
  6461. <indexterm>
  6462. <primary>4834</primary>
  6463. </indexterm>
  6464. <para>INTERNAL: Cannot generated serialized compare function</para>
  6465. </sect1>
  6466. <sect1 id="_4835">
  6467. <title>4835</title>
  6468. <indexterm>
  6469. <primary>4835</primary>
  6470. </indexterm>
  6471. <para>INTERNAL: Attempt to read spill file %s before it is written</para>
  6472. </sect1>
  6473. <sect1 id="_4836">
  6474. <title>4836</title>
  6475. <indexterm>
  6476. <primary>4836</primary>
  6477. </indexterm>
  6478. <para>INTERNAL: Dependency within a graph incorrectly generated for hThor
  6479. (%u)</para>
  6480. </sect1>
  6481. <sect1 id="_4837">
  6482. <title>4837</title>
  6483. <indexterm>
  6484. <primary>4837</primary>
  6485. </indexterm>
  6486. <para>INTERNAL: Unrecognised compound assign %s</para>
  6487. </sect1>
  6488. </chapter>
  6489. </book>