123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SMSMP09205" classname="SMSMP09204_테이블정보조회" inheritanceid="" position="absolute 0 0 1351 900" onload="SMSMP09205_onload" oninit="SMSMP09205_oninit" onactivate="SMSMP09205_onactivate" titletext="Log" ontimer="SMSMP09205_ontimer" onkeydown="SMSMP09205_onkeydown">
- <Layouts>
- <Layout>
- <Tab id="tabMain" taborder="9" tabindex="0" scrollbars="autoboth" position="absolute 8 34 1349 895" style="background:beige URL('theme://images/bg_tab_BodyTop.png') stretch 10,26;border:1 none #808080ff ;" anchor="all" onchanged="tabMain_onchanged">
- <Tabpages>
- <Tabpage id="tabpage1" text="Live Log">
- <Layouts>
- <Layout>
- <TextArea id="txtcontents" taborder="0" position="absolute 3 34 1064 93" anchor="left top right" style="border:1 none #808080ff ;"/>
- <Grid id="grdLivelog" taborder="1" binddataset="ds_livelog" autoenter="none" useinputpanel="false" selecttype="multiarea" extendsizetype="row" cellsizingtype="both" autofittype="col" autosizingtype="none" position="absolute 98 132 837 832" anchor="all" tooltiptype="hover" onsize="Grid00_onsize" selectbandtype="allband" areaselecttype="overband" onkeydown="tabMain_tabpage1_Grid00_onkeydown" style="border:1 solid #33bbbbff,0 solid #b0b0b0ff,1 solid #b0b0b0ff,0 solid #b0b0b0ff;font:맑은 고딕,10,bold;" onselectchanged="tabMain_tabpage1_Grid00_onselectchanged" oncellclick="tabMain_tabpage1_Grid00_oncellclick">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="30"/>
- <Column size="20"/>
- <Column size="34"/>
- <Column size="0"/>
- <Column size="0"/>
- <Column size="0"/>
- <Column size="70"/>
- <Column size="152"/>
- <Column size="56"/>
- <Column size="56"/>
- <Column size="129"/>
- <Column size="251"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="60"/>
- </Rows>
- <Band id="head">
- <Cell text="M"/>
- <Cell col="1" text="P"/>
- <Cell col="2" text="No"/>
- <Cell col="3" text="session" autosizecol="none"/>
- <Cell col="4" text="user" autosizecol="none"/>
- <Cell col="5" text="ip" autosizecol="none"/>
- <Cell col="6" text="logtime" autosizecol="none"/>
- <Cell col="7" text="package" autosizecol="none"/>
- <Cell col="8" text="logtype" autosizecol="none"/>
- <Cell col="9" text="DML"/>
- <Cell col="10" text="ID"/>
- <Cell col="11" text="contents"/>
- </Band>
- <Band id="body">
- <Cell displaytype="checkbox" edittype="checkbox" text="bind:markyn"/>
- <Cell col="1" text="expr:ds_livelog.rowposition == currow? '▶':''"/>
- <Cell col="2" celltype="body" edittype="text" text="bind:line" autosizerow="none" autosizecol="none"/>
- <Cell col="3" displaytype="text" edittype="text" style="align:left top;" text="bind:session" autosizerow="limitmax" autosizecol="none"/>
- <Cell col="4" displaytype="text" edittype="text" style="align:left top;selectbackground:#c7158566;" text="bind:user" autosizerow="limitmax" autosizecol="none"/>
- <Cell col="5" displaytype="text" edittype="text" style="align:left top;selectbackground:#c7158566;" text="bind:ip" autosizerow="limitmax" autosizecol="none"/>
- <Cell col="6" displaytype="text" edittype="text" style="align:center top;" text="bind:logtime" wordwrap="char" autosizerow="limitmax" autosizecol="none"/>
- <Cell col="7" displaytype="text" edittype="textarea" style="align:left top;" text="bind:packagenm" wordwrap="char" autosizerow="limitmax" autosizecol="none"/>
- <Cell col="8" displaytype="combo" edittype="combo" style="align:left top;" text="bind:logtype" wordwrap="char" combodataset="ds_logtype" combocodecol="logtype" combodatacol="logtype" autosizerow="limitmax" autosizecol="none"/>
- <Cell col="9" style="align:left top;" text="bind:dml" wordwrap="none"/>
- <Cell col="10" style="align:left top;" text="bind:statementid" wordwrap="char"/>
- <Cell col="11" displaytype="text" edittype="textarea" style="align:left top;" text="bind:contents" wordwrap="char" editautoselect="false" editdisplay="edit" editacceptsenter="false" tooltiptype="mouse" autosizerow="limitmax" autosizecol="default"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Button id="btnPaste" taborder="2" text="붙여넣기" position="absolute 90 4 169 31" style="background:@gradation;" onclick="tabMain_tabpage1_btnPaste_onclick"/>
- <Div id="Div00" anchor="left top right" taborder="3" style="background:antiquewhite;border:1 solid #808080ff ;" position="absolute 3 95 1339 130">
- <Layouts>
- <Layout>
- <Combo id="cmbLogtype" taborder="0" codecolumn="logtype" datacolumn="logtype" position="absolute 2 6 93 31" innerdataset="@ds_logtype" anchor="default" onitemchanged="tabMain_tabpage1_Div00_cmbLogtype_onitemchanged"/>
- <CheckBox id="chkCopyContainHeader" taborder="1" text="복사 시 헤더 포함" position="absolute 1134 7 1252 26" truevalue="Y" falsevalue="N" anchor="default" visible="false"/>
- <Edit id="Edit00" taborder="2" position="absolute 365 6 497 31" anchor="default" onkeydown="tabMain_tabpage1_Div00_Edit00_onkeydown"/>
- <Button id="Button00" taborder="3" text="찾기" position="absolute 506 6 564 31" onclick="tabMain_tabpage1_Div00_Button00_onclick" anchor="default" style="background:@gradation;"/>
- <CheckBox id="chkSelectSql" taborder="4" text="SQL" value="N" truevalue="Y" falsevalue="N" position="absolute 99 6 145 31" anchor="default" onchanged="tabMain_tabpage1_Div00_chkSelectSql_onchanged"/>
- <Button id="btncontentcopy" taborder="5" text="Content Copy" position="absolute 972 4 1076 29" onclick="tabMain_tabpage1_Div00_btncontentcopy_onclick" anchor="default" visible="false"/>
- <Combo id="Combo01" taborder="6" innerdataset="@ds_dmltype" codecolumn="dmltype" datacolumn="dmltype" onitemchanged="tabMain_tabpage1_Div00_cmbLogtype_onitemchanged" position="absolute 149 5 240 30" anchor="default"/>
- <Edit id="Edit01" taborder="7" position="absolute 288 6 332 31" onkeydown="tabMain_tabpage1_Div00_Edit01_onkeydown" anchor="default"/>
- <Button id="Button01" taborder="9" position="absolute 580 6 604 31" text="◀" onclick="tabMain_tabpage1_Div00_Button01_onclick" anchor="default"/>
- <Button id="Button02" taborder="10" text="▶" onclick="tabMain_tabpage1_Div00_Button01_onclick" position="absolute 605 6 629 31" anchor="default"/>
- <Button id="Button03" taborder="11" text="호출내역" position="absolute 635 5 733 31" onclick="tabMain_tabpage1_Div00_Button03_onclick" anchor="default"/>
- <CheckBox id="CheckBox00" taborder="12" text="Wordwrap" position="absolute 742 10 835 23" onchanged="tabMain_tabpage1_Div00_CheckBox00_onchanged" value="true" anchor="default"/>
- </Layout>
- </Layouts>
- </Div>
- <Div id="divParam" anchor="all" taborder="4" style="background:#fbeff5ff;border:1 solid #808080ff ;" position="absolute 844 132 1339 831">
- <Layouts>
- <Layout>
- <Grid id="gridParam" taborder="2" binddataset="ds_param" useinputpanel="false" selecttype="cell" position="absolute 3 65 491 695" anchor="all" autosizingtype="none" cellsizingtype="both">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="40"/>
- <Column size="81"/>
- <Column size="118"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell celltype="head" text="No"/>
- <Cell col="1" text="Code"/>
- <Cell col="2" text="Value"/>
- </Band>
- <Band id="body">
- <Cell celltype="head" edittype="text" text="expr:currow"/>
- <Cell col="1" edittype="textarea" style="align:left middle;" text="bind:paramCd" tooltiptext="bind:paramCd"/>
- <Cell col="2" edittype="textarea" style="align:left middle;" text="bind:paramData" tooltiptext="bind:paramData"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Combo id="cbDsIndex" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="pdivParam_cbDsIndex_onitemchanged" position="absolute 2 8 143 32" anchor="default">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn" size="256"/>
- <Column id="datacolumn" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">cnt</Col>
- <Col id="datacolumn">cnt</Col>
- </Row>
- </Rows>
- </Dataset>
- </Combo>
- <Button id="Button00" taborder="4" text="DS 복사" position="absolute 149 9 215 32" onclick="tabMain_tabpage1_divParam_Button00_onclick" anchor="default"/>
- <Edit id="ipt_ds_search" taborder="5" position="absolute 2 38 491 61" ontextchanged="tabMain_tabpage1_divParam_Edit00_ontextchanged" anchor="left top right"/>
- <TextArea id="txtSql" taborder="6" wordwrap="char" onsetfocus="txtSql_onsetfocus" onkillfocus="txtSql_onkillfocus" onkeydown="tabMain_tabpage1_txtSql_onkeydown" visible="false" position="absolute 195 83 700 770" anchor="all" style="font:D2Coding,10,antialias;" lengthunit="utf16"/>
- </Layout>
- </Layouts>
- </Div>
- <Button id="btn_anlys_log" taborder="8" text="분석" onclick="btn_anlys_log_onclick" position="absolute 4 4 83 31"/>
- <Radio id="Radio00" taborder="9" columncount="2" rowcount="0" position="absolute 306 7 457 27" codecolumn="codecolumn" datacolumn="datacolumn" value="Normal" index="0">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn" size="256"/>
- <Column id="datacolumn" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">Normal</Col>
- <Col id="datacolumn">Normal</Col>
- </Row>
- <Row>
- <Col id="codecolumn">Batch</Col>
- <Col id="datacolumn">Batch</Col>
- </Row>
- </Rows>
- </Dataset>
- </Radio>
- <Splitter id="Splitter00" position="absolute 837 132 842 831" anchor="left top bottom" style="border:1 solid #7eb1dcff ;bordertype:normal 3 3 ;">
- <Formats>
- <Format id="default">
- <SplitterItems id="items">
- <SplitterItem id="item00" bindtype="resize" position="leftortop" offset="0" componentid="grdLivelog"/>
- <SplitterItem id="item01" bindtype="resize" position="rightorbottom" offset="0" componentid="divParam"/>
- <SplitterItem id="item02" bindtype="resize" position="rightorbottom" offset="0" componentid="divCallStack"/>
- </SplitterItems>
- </Format>
- </Formats>
- </Splitter>
- <nuMultiCheckbox id="nuMultiCheckbox00"/>
- <Grid id="Grid01" taborder="10" useinputpanel="false" position="absolute 2 132 97 290" binddataset="ds_logtype_filter" onmousedown="tabMain_tabpage1_Grid01_onmousedown" style="border:1 solid #33bbbbff,0 solid #b0b0b0ff,1 solid #b0b0b0ff,0 solid #b0b0b0ff;">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="30"/>
- <Column size="65"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="22"/>
- </Rows>
- <Band id="head">
- <Cell/>
- <Cell col="1" text="Type"/>
- </Band>
- <Band id="body">
- <Cell displaytype="checkbox" edittype="checkbox" text="bind:chkyn"/>
- <Cell col="1" style="align:center middle;" text="bind:logtype"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Div id="divCallStack" anchor="all" taborder="11" style="background:aliceblue;border:1 solid #000000ff ;" text="Div00" visible="false" position="absolute 877 376 1371 1061">
- <Layouts>
- <Layout>
- <Grid id="Grid02" taborder="12" binddataset="ds_tree_callstack" useinputpanel="false" position="absolute 2 33 488 680" anchor="all" selecttype="row" treeusecheckbox="false" treeuseexpandkey="true" oncellclick="tabMain_tabpage1_divCallStack_Grid02_oncellclick">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="450"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell/>
- </Band>
- <Band id="body">
- <Cell displaytype="tree" edittype="tree" text="bind:func" treelevel="bind:depth" autosizecol="limitmin"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Button id="btnTreeAction" taborder="13" text="펼치기" onclick="divCallStack_btnTreeAction_onclick" position="absolute 4 5 71 30" anchor="default"/>
- <Button id="btnTreeAction00" taborder="14" text="접기" onclick="divCallStack_btnTreeAction_onclick" position="absolute 72 5 139 30" anchor="default"/>
- <CheckBox id="CheckBox00" taborder="15" text="Relate" position="absolute 156 6 246 29" falsevalue="N" truevalue="Y" value="N" anchor="default"/>
- </Layout>
- </Layouts>
- </Div>
- <Button id="btnClearLog" taborder="12" text="지우기" position="absolute 176 5 264 30" onclick="tabMain_tabpage1_btnClearLog_onclick"/>
- </Layout>
- </Layouts>
- </Tabpage>
- <Tabpage id="tabpage2" text="DataSet">
- <Layouts>
- <Layout>
- <Grid id="dyGrid" taborder="0" useinputpanel="false" cellsizingtype="both" autofittype="none" position="absolute 7 129 1461 822" anchor="all" selecttype="area" onkeyup="tabMain_tabpage2_dyGrid_onkeyup" autosizingtype="col" autosizebandtype="allband" onkeydown="tabMain_tabpage2_dyGrid_onkeydown">
- <Formats/>
- </Grid>
- <Button id="Button01" taborder="1" text="데이터셋 조회" onclick="Button01_onclick" position="absolute 9 4 110 31"/>
- <TextArea id="txtDataset" taborder="2" position="absolute 7 38 1464 119" anchor="left top right"/>
- <Button id="Button00" taborder="3" text="Paste" position="absolute 113 4 214 32" onclick="tabMain_tabpage2_Button00_onclick"/>
- </Layout>
- </Layouts>
- </Tabpage>
- </Tabpages>
- </Tab>
- <Button id="btnExportExcel" taborder="10" text="Excel" onclick="tabMain_tabpage2_btnExportExcel_onclick" position="absolute 7 5 88 30"/>
- <Button id="btnTest" taborder="11" text="Button00" position="absolute 1556 87 1656 112" onclick="btnTest_onclick" visible="false"/>
- <ImageViewer id="ImageViewer00" taborder="12" position="absolute 1772 56 2020 117" imagealign="left top" repeatcount="-1" stretch="fit" visible="false"/>
- <TextArea id="TextArea00" taborder="13" position="absolute 163 2 1346 31"/>
- <Button id="btnReload" taborder="14" text="R" position="absolute 112 5 145 30" onclick="btnReload_onclick"/>
- <Div id="divCapture" taborder="15" text="Div00" position="absolute 943 31 1348 154" style="background:azure;border:1 solid #000000ff ;" anchor="top right">
- <Layouts>
- <Layout width="405" height="123">
- <Button id="Button00" taborder="0" text="열기" position="absolute 4 6 53 32" onclick="Div00_Button00_onclick" anchor="default"/>
- <TextArea id="txtCaptureLog" taborder="1" position="absolute 4 78 401 117" wordwrap="none" anchor="default"/>
- <Edit id="Edit00" taborder="2" position="absolute 4 38 401 58" anchor="default"/>
- <Button id="Button01" taborder="3" text="읽기" position="absolute 56 6 105 32" onclick="Div00_Button01_onclick" anchor="default"/>
- <Button id="Button02" taborder="4" text="멈춤" position="absolute 108 6 157 32" onclick="Div00_Button02_onclick" anchor="default"/>
- <Button id="btnCaptureLogClear" taborder="5" text="지우기" position="absolute 160 6 209 32" onclick="Div00_btnCaptureLogClear_onclick" anchor="default"/>
- <Static id="stMsg" text="--" position="absolute 316 13 395 26" anchor="default" style="align:right middle;"/>
- <Button id="btnMoveLog" taborder="6" text="적용" position="absolute 218 6 267 32" onclick="Div00_btnMoveLog_onclick" anchor="default" style="background:@gradation;"/>
- <CheckBox id="CheckBox00" taborder="7" position="absolute 275 6 293 31" falsevalue="N" truevalue="Y" anchor="default"/>
- <Static id="stCapSize" position="absolute 10 61 207 74" text="Size : " anchor="default"/>
- </Layout>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_livelog" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="false" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_livelog_oncolumnchanged">
- <ColumnInfo>
- <Column id="line" type="STRING" size="256"/>
- <Column id="session" type="STRING" size="256"/>
- <Column id="user" type="STRING" size="256"/>
- <Column id="ip" type="STRING" size="256"/>
- <Column id="logtime" type="STRING" size="256"/>
- <Column id="logtype" type="STRING" size="256"/>
- <Column id="packagenm" type="STRING" size="256"/>
- <Column id="contents" type="STRING" size="99999999"/>
- <Column id="dml" type="STRING" size="256"/>
- <Column id="statementid" type="STRING" size="256"/>
- <Column id="markyn" type="STRING" size="256"/>
- <Column id="relate" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_param" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="paramCd" type="STRING" size="256"/>
- <Column id="paramData" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_filter" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="logtype" type="STRING" size="256"/>
- <Column id="dmltype" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="paramIndex" type="STRING" size="256"/>
- <Column id="sql" type="STRING" size="99999999"/>
- <Column id="liveLog" type="STRING" size="99999999"/>
- <Column id="dataSetXml" type="STRING" size="99999999"/>
- <Column id="copyContainHeader" type="STRING" size="256"/>
- <Column id="logKinds" type="STRING" size="256"/>
- <Column id="searchkeyword" type="STRING" size="256"/>
- <Column id="linenum" type="STRING" size="256"/>
- <Column id="selLine" type="STRING" size="256"/>
- <Column id="selrelate" type="STRING" size="256"/>
- <Column id="logaddyn" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="logaddyn"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_logtype" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="chkyn" type="STRING" size="256"/>
- <Column id="logtype" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_cb" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_param_0" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_tmp_param" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_capture_log" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" onvaluechanged="ds_capture_log_onvaluechanged">
- <ColumnInfo>
- <Column id="logdata" type="STRING" size="99999999"/>
- <Column id="filepath" type="STRING" size="256"/>
- <Column id="curpos" type="BIGDECIMAL" size="999999999"/>
- <Column id="capsize" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="logdata"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_dmltype" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="dmltype" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <FilteredDataset id="ds_logtype_filter" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" filterstr="logtype != ''" binddataset="@ds_logtype" oncolumnchanged="ds_logtype_filter_oncolumnchanged"/>
- <Dataset id="ds_marker" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="line" type="BIGDECIMAL" size="256"/>
- <Column id="relate" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_tree_callstack" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" onrowposchanged="ds_tree_callstack_onrowposchanged">
- <ColumnInfo>
- <Column id="depth" type="STRING" size="256"/>
- <Column id="func" type="STRING" size="256"/>
- <Column id="line" type="STRING" size="256"/>
- <Column id="relate" type="STRING" size="256"/>
- <Column id="markyn" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item3" compid="tabMain.tabpage1.txtcontents" propid="value" datasetid="ds_cond" columnid="liveLog"/>
- <BindItem id="item0" compid="tabMain.tabpage2.txtDataset" propid="value" datasetid="ds_cond" columnid="dataSetXml"/>
- <BindItem id="item4" compid="tabMain.tabpage1.Div00.chkCopyContainHeader" propid="value" datasetid="ds_cond" columnid="copyContainHeader"/>
- <BindItem id="item5" compid="tabMain.tabpage1.Div00.cmbLogtype" propid="value" datasetid="ds_filter" columnid="logtype"/>
- <BindItem id="item6" compid="tabMain.tabpage1.divParam.cbDsIndex" propid="value" datasetid="ds_cond" columnid="paramIndex"/>
- <BindItem id="item7" compid="tabMain.tabpage1.Radio00" propid="value" datasetid="ds_cond" columnid="logKinds"/>
- <BindItem id="item8" compid="tabMain.tabpage1.Div00.Edit00" propid="value" datasetid="ds_cond" columnid="searchkeyword"/>
- <BindItem id="item9" compid="ImageViewer00" propid="image" datasetid="Dataset00" columnid="img"/>
- <BindItem id="item1" compid="tabMain.tabpage1.Div00.Combo01" propid="value" datasetid="ds_filter" columnid="dmltype"/>
- <BindItem id="item10" compid="tabMain.tabpage1.Div00.Edit01" propid="value" datasetid="ds_cond" columnid="linenum"/>
- <BindItem id="item2" compid="tabMain.tabpage1.divParam.txtSql" propid="value" datasetid="ds_cond" columnid="sql"/>
- <BindItem id="item12" compid="tabMain.tabpage1.divCallStack.CheckBox00" propid="value" datasetid="ds_cond" columnid="selrelate"/>
- <BindItem id="item13" compid="divCapture.Edit00" propid="value" datasetid="ds_capture_log" columnid="filepath"/>
- <BindItem id="item14" compid="divCapture.txtCaptureLog" propid="value" datasetid="ds_capture_log" columnid="logdata"/>
- <BindItem id="item11" compid="divCapture.CheckBox00" propid="value" datasetid="ds_cond" columnid="logaddyn"/>
- <BindItem id="item15" compid="divCapture" propid="text" datasetid="ds_cond" columnid="capsize"/>
- <BindItem id="item16" compid="divCapture.stCapSize" propid="text" datasetid="ds_capture_log" columnid="capsize"/>
- </Bind>
- <InitValue>
- <TextArea id="TextArea00" anchor="left top right"/>
- </InitValue>
- <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs"
- var arrDataSet = new Array();
- var arrCallStack = new Array();
- var objTxtSql = tabMain.tabpage1.divParam.txtSql;
- var objdyGrid = tabMain.tabpage2.dyGrid;
- var objCbDsIndex = tabMain.tabpage1.divParam.cbDsIndex;
- var objGridParam = tabMain.tabpage1.divParam.gridParam;
- var objGrdLivelog = tabMain.tabpage1.grdLivelog;
- var objDivParm = tabMain.tabpage1.divParam;
- var objDivCallStack = tabMain.tabpage1.divCallStack;
- var objTree = objDivCallStack.Grid02;
- var objDssearch = tabMain.tabpage1.divParam.ipt_ds_search;
- var objCaptureLog = divCapture.txtCaptureLog;
- var objCaptureMsg = divCapture.stMsg;
- var objEdtsearch = tabMain.tabpage1.Div00.Edit00;
- var F0 = 111;
- function SMSMP09205_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj);
- }
- function SMSMP09205_onactivate(obj:Form, e:ActivateEventInfo)
- {
- tabMain.tabpage1.txtcontents.setFocus();
- }
- function SMSMP09205_onload(obj:Form, e:LoadEventInfo)
- {
- grdf_initGrid(objGridParam);
-
- fInitialize();
- }
- function fSetBackground (currow)
- {
- var retBackground = "";
- if (ds_livelog.rowposition == currow)
- {
- retBackground = "#f768cc";
- }
- else if (ds_livelog.getColumn(currow, "logtype") == "SQL")
- {
- retBackground = "#ECE0F8";
- }
- else if (ds_livelog.getColumn(currow, "logtype") == "CALL")
- {
- retBackground = "#efeff5";
- }
- else if (ds_livelog.getColumn(currow, "logtype") == "PARAM")
- {
- retBackground = "#F5D0A9";
- }
- else
- {
- retBackground = "";
- }
- return retBackground ;
- }
- function fInitialize()
- {
- //var sExprBackgournd = "EXPR((logtype == 'SQL' ? '#ECE0F8': (logtype == 'CALL' ? '#efeff5': (logtype == 'PARAM' ? '#F5D0A9': ''))))";
- //var sExprBackgournd = "EXPR(fSetBackground(currow))" ;
- // var sExprBackgournd = "EXPR("
- // + " (ds_livelog.rowposition == currow ? '#f768cc'"
- // + ": (markyn == 1 ? '#ffff00' "
- // + ": (logtype == 'SQL' ? '#ECE0F8'"
- // + ": (logtype == 'CALL' ? '#efeff5'"
- // + ": (logtype == 'PARAM' ? '#F5D0A9'"
- // + ": '')"
- // + ")))))" ;
- // var sExprBackgournd = "EXPR("
- // + " (ds_livelog.rowposition == currow ? '#c0c0c0'"
- // + ": (logtype == 'SQL' ? '#ECE0F8'"
- // + ": (logtype == 'CALL' ? '#efeff5'"
- // + ": (logtype == 'PARAM' ? '#F5D0A9'"
- // + ": '')"
- // + "))))" ;
- var sExprBackgournd = "EXPR("
- + " (ds_livelog.rowposition == currow ? '#c0c0c0'"
- + ": (logtype == 'SQL' ? ''"
- + ": (logtype == 'CALL' ? ''"
- + ": (logtype == 'PARAM' ? ''"
- + ": '')"
- + "))))" ;
- var sExprForegournd = "EXPR("
- + " (markyn == 1 ? 'red' "
- + ": '')"
- + ")";
-
- sExprBackgournd = "";
- for (var i = 0; i <= objGrdLivelog.getCellCount("head") - 1; i++)
- {
- if (i != 8)
- {
- sExprBackgournd = "EXPR("
- + " (ds_livelog.rowposition == currow ? '#ffff9d'"
- + ": (logtype == 'SQL' ? ''"
- + ": (logtype == 'CALL' ? ''"
- + ": (logtype == 'PARAM' ? ''"
- + ": '')"
- + "))))" ;
- }
- else
- {
- sExprBackgournd = "EXPR("
- + " (ds_livelog.rowposition == currow ? '#ffff9d'"
- + ": (logtype == 'SQL' ? '#ECE0F8'"
- + ": (logtype == 'CALL' ? '#efeff5'"
- + ": (logtype == 'PARAM' ? '#F5D0A9'"
- + ": '')"
- + "))))" ;
- }
-
- objGrdLivelog.setCellProperty("Body", i, "background" , sExprBackgournd);
- objGrdLivelog.setCellProperty("Body", i, "background2", sExprBackgournd);
- objGrdLivelog.setCellProperty("Body", i, "color" , sExprForegournd);
- objGrdLivelog.setCellProperty("Body", i, "color2" , sExprForegournd);
-
- //objGrdLivelog.setCellProperty("Body", i, "font" , "D2Coding,9,antialias");
- }
-
- // sExprBackgournd = "EXPR("
- // + " (ds_livelog.rowposition == currow ? '#c0c0c0'"
- // + ": (logtype == 'SQL' ? '#ECE0F8'"
- // + ": (logtype == 'CALL' ? '#efeff5'"
- // + ": (logtype == 'PARAM' ? '#F5D0A9'"
- // + ": '')"
- // + "))))" ;
- // {
- // var i = 8;
- // objGrdLivelog.setCellProperty("Body", i, "background" , sExprBackgournd);
- // objGrdLivelog.setCellProperty("Body", i, "background2", sExprBackgournd);
- // objGrdLivelog.setCellProperty("Body", i, "color" , sExprForegournd);
- // objGrdLivelog.setCellProperty("Body", i, "color2" , sExprForegournd);
- // }
- //objGrdLivelog.Band.style.selectfont = "맑은 고딕,9";
-
-
- var treeitemexpr = "expr:(markyn == 1 ? 'theme://images/icon_leveldown_over.png': 'theme://images/icon_treecollapse.png')";
- objTree.setCellProperty("Body", 0, "treeitemimage" , treeitemexpr);
- objTree.setCellProperty("Body", 0, "treecollapseimage" , treeitemexpr);
- objTree.setCellProperty("Body", 0, "treeexpandimage" , treeitemexpr);
-
- objTxtSql.position.x = 2;
- objTxtSql.position.y = 0;
- objTxtSql.position.width = objGridParam.position.width + 3;
- objTxtSql.position.height = objGridParam.position.height + objGridParam.position.y;
-
- objDivCallStack.position.x = objDivParm.position.x;
- objDivCallStack.position.y = objDivParm.position.y;
- objDivCallStack.position.width = objDivParm.position.width;
- objDivCallStack.position.height = objDivParm.position.height;
-
- ds_cond.setColumn(0, "logKinds", "Normal");
-
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"}, {col:"logtype", val:""}]);
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"},{col:"logtype", val:"CALL"}]);
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"},{col:"logtype", val:"DEBUG"}]);
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"},{col:"logtype", val:"SQL"}]);
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"},{col:"logtype", val:"SQL-BIND"}]);
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"},{col:"logtype", val:"PARAM"}]);
- dsf_addRow(ds_logtype, [{col:"chkyn", val:"1"},{col:"logtype", val:"INFO"}]);
-
- dsf_addRow(ds_dmltype, [{col:"dmltype", val:""}]);
- dsf_addRow(ds_dmltype, [{col:"dmltype", val:"SELECT"}]);
- dsf_addRow(ds_dmltype, [{col:"dmltype", val:"INSERT"}]);
- dsf_addRow(ds_dmltype, [{col:"dmltype", val:"UPDATE"}]);
- dsf_addRow(ds_dmltype, [{col:"dmltype", val:"DELETE"}]);
- dsf_addRow(ds_dmltype, [{col:"dmltype", val:"MERGE"}]);
-
- ds_cond.setColumn(0, "logaddyn", "N");
- }
- function fRemoveLine(pStr, lineCount)
- {
- var retStr = "";
- if ( ! utlf_isNull(pStr) )
- {
- var arrLines = pStr.split("\r");
- for (var i = lineCount; i < arrLines.length; i++)
- {
- retStr += arrLines[i] + "\r";
- }
- }
- return retStr;
- }
- function fCommentLine(pStr, lineCount)
- {
- var retStr = "";
- if ( ! utlf_isNull(pStr) )
- {
- var arrLines = pStr.split("\r");
- var inx = -1;
- for (var i = 0; i < arrLines.length; i++)
- {
- if ( !utlf_isNull(arrLines[i]) )
- inx += 1;
-
- if ( inx < lineCount )
- arrLines[i] = "/* " + arrLines[i] + " */";
-
- retStr += arrLines[i] + "\r";
- }
- }
- // 마지막 개행문자 제거
- return retStr.substr(0, retStr.length - 1);
- }
- function lftrace(pMsg)
- {
- //trace(pMsg);
- }
- function fIsSql(pContent)
- {
- pContent = pContent.replace("\t", " ");
- pContent = pContent.replace("\n", " ");
-
- var arrTmp = pContent.split("\r");
- var crlfCnt = arrTmp.length;
-
- var sqlyn = false;
- if (crlfCnt > 0)
- {
- pContent = pContent.replace("\r", " ");
- var strTmp = pContent.toUpperCase();
-
- if ( strTmp.indexOf(" SELECT ") > 0
- || strTmp.indexOf(" INSERT ") > 0
- || strTmp.indexOf(" UPDATE ") > 0
- || strTmp.indexOf(" DELETE ") > 0
- || strTmp.indexOf(" MERGE ") > 0
- )
- sqlyn = true;
- }
- return sqlyn;
- }
- function fSetContents(pContents, lastline, nRow, nDepth)
- {
- var contents = pContents;
- var sCallFunc = "";
-
- // 로그 타입을 변경하자.
- if ( contents.substr(0, 7) == "log sql"
- || contents.substr(0, 14) == "execute query "
- || contents.trim().substr(0, 14) == "execute update"
- || contents.trim().substr(0, 15) == "execute batch |"
- || fIsSql(contents)
- )
- {
- if ( contents.substr(0, 14) == "execute query " )
- {
- ds_livelog.setColumn(nRow, "logtype", "SQL-BIND");
- }
- else
- {
- ds_livelog.setColumn(nRow, "logtype", "SQL");
- }
-
- // dml Set
- var dml = fSetDml(contents, nRow);
-
- if ( contents.trim().substr(0, 14) == "execute update"
- // || contents.trim().substr(0, 15) == "execute batch |"
- )
- {
- // SQL인지 판단
- if ( fIsSql(ds_livelog.getColumn(nRow-1, "contents")) )
- {
-
- ds_livelog.setColumn(nRow - 1, "logtype", "SQL");
- var tmpcnts = ds_livelog.getColumn(nRow-1, "contents");
- fSetDml(tmpcnts , nRow - 1);
-
- if (contents.indexOf('?') >= 0)
- {
- ds_livelog.setColumn(nRow, "logtype", "SQL-BIND");
- }
- }
- }
- var nStrPos = lastline.indexOf("/*");
- var nEndPos = lastline.lastIndexOf("*/");
-
- if ( nStrPos >= 0 )
- lastline = lastline.substr(nStrPos, nEndPos + 2);
- else
- lastline = "";
-
- if ( contents.substr(0, 14) == "execute query "
- || contents.substr(0, 14) == "execute batch "
- )
- {
- var tmp = fCommentLine(contents, 1);
- var arrTmpLine = tmp.split("\r");
-
-
- contents = "";
- for (var i = 0; i < arrTmpLine.length - 2; i++)
- {
- contents += arrTmpLine[i] + "\r"; //(i == arrTmpLine.length - 1 ?"":"\r");
- }
- var nStrPos = lastline.indexOf("/*");
- var nEndPos = lastline.lastIndexOf("*/");
-
- if ( nStrPos >= 0)
- lastline = lastline.substr(nStrPos, nEndPos + 2);
-
- contents = lastline + "\r" + contents + "\r" + lastline + "\r ;";
- }
- else
- {
- //trace("lastline : " + lastline);
- switch (dml)
- {
- case "SELECT":
- case "INSERT":
- contents = lastline + "\r" + fCommentLine(contents, 1) + "\r ;";
- break;
-
- case "MERGE":
- case "DELETE":
- case "UPDATE":
- contents = lastline + "\r" + contents + "\r ;";
- break;
- }
- }
-
- var arrTmp = lastline.split(" ");
- ds_livelog.setColumn(nRow, "statementid", arrTmp[2]);
-
- ds_livelog.setColumn(nRow, "contents", contents);
- ds_livelog.setColumn(nRow , "relate", arrCallStack.toString());
- }
- // Call Stack
- else if ( contents.indexOf("() starts.") >= 0 )
- {
-
- ds_livelog.setColumn(nRow, "logtype", "CALL");
-
- nDepth += 1;
- var objString = "";
- ds_livelog.setColumn(nRow, "contents", objString.padLeft(nDepth, "#") + "" + contents);
-
- var id = contents.substr(0, contents.indexOf(" "));
-
- if (id != "executeQuery" && id != "executeBatch" && id != "executeUpdate")
- {
- ds_livelog.setColumn(nRow, "statementid", id);
-
- // 관련
- arrCallStack.push(nRow + 1);
- ds_livelog.setColumn(nRow , "relate", arrCallStack.toString());
-
- // CallStack 적용하기
- var row = ds_tree_callstack.addRow();
- ds_tree_callstack.setColumn(row, "depth", nDepth);
- ds_tree_callstack.setColumn(row, "func", id);
- ds_tree_callstack.setColumn(row, "line", nRow + 1);
- ds_tree_callstack.setColumn(row, "relate", arrCallStack.toString());
- ds_tree_callstack.setColumn(row, "markyn", 0);
-
- }
- else
- {
- ds_livelog.setColumn(nRow, "logtype", "INFO");
- ds_livelog.setColumn(nRow , "relate", arrCallStack.toString());
- }
- }
- else if ( contents.indexOf("() ends.") >= 0 )
- {
- var cnts = utlf_transNullToEmpty(ds_livelog.getColumn(nRow, "contents"));
- cnts = cnts.replace("\t", "");
-
- ds_livelog.setColumn(nRow, "logtype", "CALL");
- var objString = "";
- ds_livelog.setColumn(nRow, "contents", objString.padLeft(nDepth, "#") + "" + contents);
- nDepth -= 1;
-
- var id = contents.substr(0, contents.indexOf("("));
- if (id != "executeQuery" && id != "executeBatch" && id != "executeUpdate")
- {
- // ds_livelog.setColumn(nRow, "statementid", id);
- ds_livelog.setColumn(nRow , "relate", arrCallStack.toString());
-
- arrCallStack.pop();
- }
- else
- {
- ds_livelog.setColumn(nRow, "logtype", "INFO");
-
- ds_livelog.setColumn(nRow , "relate", arrCallStack.toString());
- }
- }
- else
- {
- // ltrace("aa : " +contents.trim().substr(0, 18) );
- // var re1 = new RegExp("\([0-9]+\)", "g");
- // var re2 = new RegExp("\[[0-9]+\]", "g");
- if ( contents.indexOf("[0]") >= 0
- || contents.indexOf("[1]") >= 0
- || contents.indexOf("[2]") >= 0
- || contents.indexOf("[3]") >= 0
- || contents.indexOf("[4]") >= 0
- || contents.indexOf("[5]") >= 0
- || contents.indexOf("[6]") >= 0
- || contents.indexOf("[7]") >= 0
- || contents.indexOf("[8]") >= 0
- || contents.indexOf("[9]") >= 0
- || contents.indexOf("(0)") >= 0
- || contents.indexOf("(1)") >= 0
- || contents.indexOf("(2)") >= 0
- || contents.indexOf("(3)") >= 0
- || contents.indexOf("(4)") >= 0
- || contents.indexOf("(5)") >= 0
- || contents.indexOf("(6)") >= 0
- || contents.indexOf("(7)") >= 0
- || contents.indexOf("(8)") >= 0
- || contents.indexOf("(9)") >= 0
- || contents.trim().substr(0, 19) == "execute batch param"
- )
- {
- ds_livelog.setColumn(nRow, "logtype", "PARAM");
- ds_livelog.setColumn(nRow, "contents", contents);
- }
- else
- {
- ds_livelog.setColumn(nRow, "contents", contents);
- }
-
- ds_livelog.setColumn(nRow , "relate", arrCallStack.toString());
- }
- return nDepth;
- }
- function btn_anlys_log_onclick(obj:Button, e:ClickEventInfo)
- {
- this.killTimer(54);
-
- fAnalysisLiveLog(ds_cond.getColumn(0, "logKinds"), "N");
- ds_logtype_filter.enableevent = false;
-
- for(var i = 0; i < ds_logtype_filter.rowcount; i++)
- {
- ds_logtype_filter.setColumn(i, "chkyn", "1");
- }
- ds_logtype_filter.enableevent = true;
-
- ds_marker.clearData();
- }
- function fClearLogConfig()
- {
- ds_marker.clearData();
- ds_tree_callstack.clearData();
- ds_livelog.clearData();
- ds_cond.setColumn (0, "selLine", -1);
- ds_filter.setColumn(0, "logtype", "");
- ds_filter.setColumn(0, "dmltype", "");
- }
- function fAnalysisLiveLog(logKinds, addYn)
- {
- try {
-
- ds_tree_callstack.enableevent = false;
- ds_livelog.updatecontrol = false;
- ds_livelog.enableevent = false;
-
- var logcontents = ds_cond.getColumn(0, "liveLog");
- if ( utlf_isNull ( logcontents ) )
- {
- throw new Error("999", "입력된 값이 없습니다.");
- }
-
- this.setWaitCursor(true,true);
-
- var nRow = -1;
- var contents = "";
-
- var tmpcontent = "";
- var arrcontent = "";
-
- var arrTmp;
- var user = "";
- var ip = "";
- var logtime = "";
- var logtype = "";
- var packagenm = "";
-
-
- var lastline = "";
-
- var nDepth = -1;
- var bIsStartRow = false;
- var row = 0;
-
- var startRow = 0;
- var line = 0;
- if (addYn == "N")
- {
- // 초기화
- fClearLogConfig();
- startRow = 0;
- }
- else
- {
- startRow = ds_livelog.rowcount;
- line = startRow;
- }
- var logline = logcontents.split("\n");
-
- // 로그 한 줄씩 읽어드림.
- for (var i = startRow; i < logline.length + startRow ; i++)
- {
- if ( logKinds == "Normal")
- {
- var sessionLength = logline[row].indexOf("[");
- var session = logline[row].substr(0,sessionLength);
-
- if ( utlf_isNum(session) )
- {
- if ( nRow >= 0 )
- {
- nDepth = fSetContents(contents, lastline, nRow, nDepth);
- }
-
- tmpcontent = logline[row].substr(sessionLength);
- arrcontent = tmpcontent.split("]");
-
- arrTmp = arrcontent[0].trim().substr(0).split("=");
- user = arrTmp[2].trim().substr(0, arrTmp[2].trim().length - 3);
- ip = arrTmp[3].trim();
-
- line += 1;
- logtime = arrcontent[1].trim().substr(1);
- logtype = arrcontent[2].trim().substr(1);
- packagenm = arrcontent[3].trim().substr(1);
- var arrTmp = packagenm.split(".");
- packagenm = arrTmp[2] + "_" + arrTmp[3];
- for (var j = 4; j < arrTmp.length; j++)
- packagenm += "\r" + arrTmp[j];
-
- var statementid = "";
- nRow = fDataSetAddRow(line, session, user, ip, logtime.trim(), logtype, packagenm, statementid);
-
- contents = "";
- for (var j = 4; j < arrcontent.length; j++)
- contents += arrcontent[j].trim() + (j == arrcontent.length - 1 ? "" : "]");
- contents += "\r";
- }
- else
- {
- contents += logline[row];
- if ( !utlf_isNull (logline[row].trim()) )
- lastline = logline[row].trim();
- }
- }
- else if ( logKinds == "Batch" )
- {
- arrcontent = logline[row].split("]");
-
- logtime = arrcontent[0].trim().substr(1);
-
- if ( utlf_isValidDateTime(logtime, "YYYY.MM.DD hh:mm:ss") )
- {
- if ( nRow >= 0 )
- {
- nDepth = fSetContents(contents, lastline, nRow, nDepth);
- }
-
- line += 1;
- session = arrcontent[1].trim().substr(1);
- logtype = arrcontent[2].trim().substr(1);
- packagenm = arrcontent[3].trim().substr(1);
-
- nRow = fDataSetAddRow(line, session, user, ip, logtime.trim(), logtype, packagenm);
- contents = "";
- for (var j = 4; j < arrcontent.length; j++)
- contents += arrcontent[j].trim() + (j == arrcontent.length - 1 ? "" : "]");
- contents += "\r";
- }
- else
- {
- contents += logline[row];
- if ( !utlf_isNull (logline[row].trim()) )
- lastline = logline[row].trim();
- }
- }
- row ++;
- }
- //trace(contents);
- nDepth = fSetContents(contents, lastline, nRow, nDepth);
-
- ds_livelog.updatecontrol = true;
- ds_livelog.enableevent = true;
-
- if (addYn == "N")
- {
- fSetRowpostionLivelog(0);
- }
- else
- {
- fSetRowpostionLivelog(startRow);
-
- }
-
- ds_tree_callstack.enableevent = true;
- //ds_livelog.updatecontrol = true;
- }catch(e)
- {
- alert("exception : " + e.description);
- this.killTimer(54);
- }
- finally{
- this.setWaitCursor(false,true);
- ds_tree_callstack.enableevent = true;
- ds_livelog.updatecontrol = true;
- ds_livelog.enableevent = true;
-
- }
- }
- function fDataSetAddRow(line, session, user, ip, logtime, logtype, packagenm, statementid)
- {
- var nRow = ds_livelog.addRow();
-
- ds_livelog.setColumn(nRow, "line", line);
- ds_livelog.setColumn(nRow, "session", session);
- ds_livelog.setColumn(nRow, "user", user);
- ds_livelog.setColumn(nRow, "ip", ip);
- ds_livelog.setColumn(nRow, "logtime", logtime);
- ds_livelog.setColumn(nRow, "logtype", logtype);
- ds_livelog.setColumn(nRow, "packagenm", packagenm);
- //ds_livelog.setColumn(nRow, "statementid", statementid);
-
- return nRow ;
- }
- // 붙여넣기 버튼
- function tabMain_tabpage1_btnPaste_onclick(obj:Button, e:ClickEventInfo)
- {
- var sClipText = system.getClipboard("CF_TEXT");
-
- //lftrace( sClipText );
- if ( ! utlf_isNull(sClipText) )
- {
- ds_cond.setColumn(0, "liveLog", sClipText);
- // 로그 분석
- fAnalysisLiveLog(ds_cond.getColumn(0, "logKinds"), "N");
-
- if (tabMain.tabpage1.Div00.chkSelectSql.value == "Y")
- {
- ds_filter.setColumn(0, "logtype", "SQL");
- ds_livelog.filter ("logtype == 'SQL';");
- }
- }
- }
- // logtype 필터 콤보박스
- function tabMain_tabpage1_Div00_cmbLogtype_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- var logtype = utlf_transNullToEmpty(ds_filter.getColumn(0, "logtype"));
- var dmltype = utlf_transNullToEmpty(ds_filter.getColumn(0, "dmltype"));
-
- if ( utlf_isNull(logtype) && utlf_isNull(dmltype) )
- {
- ds_livelog.filter ("");
-
- ds_logtype_filter.enableevent = false;
- for (var i = 0; i < ds_logtype_filter.rowcount; i++)
- {
- ds_logtype_filter.setColumn(i, "chkyn", "1");
- }
- ds_logtype_filter.enableevent = true;
- }
- else
- {
- var filter = "";
- filter += " ( logtype == '" + logtype + "' || '" + logtype + "' == '') " ;
- filter += "&& ( dml == '" + dmltype + "' || '" + dmltype + "' == '')" ;
- ds_livelog.filter (filter);
-
- ds_logtype_filter.enableevent = false;
- for (var i = 0; i < ds_logtype_filter.rowcount; i++)
- {
- if (logtype == ds_logtype_filter.getColumn(i, "logtype"))
- {
- ds_logtype_filter.setColumn(i, "chkyn", "1");
- }
- else
- {
- ds_logtype_filter.setColumn(i, "chkyn", "0");
- }
- }
- ds_logtype_filter.enableevent = true;
- }
- }
- function ds_logtype_filter_oncolumnchanged(obj:FilteredDataset, e:DSColChangeEventInfo)
- {
- var logtype = "(1 == 0 ";
- var dmltype = utlf_transNullToEmpty(ds_filter.getColumn(0, "dmltype"));
-
- for(var i = 0; i < ds_logtype_filter.rowcount; i++)
- {
- if ( utlf_transNullToEmpty(ds_logtype_filter.getColumn(i, "chkyn")) == "1" )
- {
- logtype += " || logtype == '" + ds_logtype_filter.getColumn(i, "logtype") + "'";
- }
- }
- logtype += ")";
- var filter = logtype;
- //filter += " ( logtype == '" + logtype + "' || '" + logtype + "' == '')" ;
- filter += "&& ( dml == '" + dmltype + "' || '" + dmltype + "' == '')" ;
- ds_livelog.filter (filter);
- }
- // Parameter Json 파일을 Dataset으로 만듬.
- function fSetParamDataset(pData, ds)
- {
- var sTmp = "";
- var paramCd, paramData;
- var bStart = false;
- var bEnd = false;
- var nRow = -1;
-
- /*lftrace(" ds : " + ds + ", pData : " + pData ); */
- //lftrace("ds :::: " + ds);
- dsf_createDs ("ds_param_" + ds);
- var ds = eval("ds_param_" + ds);
-
- if( utlf_isNull(ds.getColumnInfo("paramCd")) )
- ds.addColumn("paramCd", "string");
-
- if( utlf_isNull(ds.getColumnInfo("paramData")) )
- ds.addColumn("paramData", "string");
-
- ds.clearData();
- // lftrace("pData : " + pData);
- for (var i = 0; i < pData.length; i++)
- {
- if ( bStart )
- {
- sTmp += pData.charAt(i);
- }
-
- if ( pData.charAt(i) == "}" )
- {
- sTmp = sTmp.substr(0, sTmp.length-1);
- var arrToken = sTmp.split(":");
- paramCd = arrToken[0];
- paramData = arrToken[1];
- //lftrace(" Add Row()");
- nRow = ds.addRow();
- ds.setColumn(nRow, "paramCd" , paramCd);
- ds.setColumn(nRow, "paramData", paramData);
-
- bStart = false;
- sTmp = "";
- }
-
- if ( pData.charAt(i) == "{" )
- {
- bStart = true;
- }
- }
- }
- function indexOfRev(str, key, inx)
- {
- var retIndex = -1;
- for(var i = inx; i >= 0; i--)
- {
- if (str.charAt(i) == key)
- {
- retIndex = i;
- break;
- }
- }
- return retIndex ;
- }
- // Parameter 파일을 파싱
- function fGetParameter(rowposition)
- {
- var nDsCount = 0;
- var sLine = "";
- var contents = ds_livelog.getColumn(ds_livelog.rowposition, "contents");
-
- ds_param_0.clearData();
-
- // Normal
- if ( contents.indexOf("execute batch param") < 0)
- {
- var nFirstPos = -1;
- var nEndPos = -1;
- var nDsFirstPos = 0;
- var nDsEndPos = -1;
- var dsName = "";
- var dsPreName = "";
- var arrDsNames = new Array();
- var nDsIndex = 0;
- var bNullDs = false;
- nDsCount = 0;
-
- var tmpWord = "";
- var arrTerm = new Array();
- var ch = "";
- var dsData = "";
-
- // ValueObjectAssembler
- if ( contents.substr(0, 1).trim() == "{")
- {
- //lftrace("ValueObjectAssembler : " + contents);
-
- for (var i = 0; i < 10 ; i++)
- {
- arrTerm[i] = false;
- }
-
- for(var i = 0; i < contents.length; i++)
- {
- ch = contents.charAt(i);
-
- switch (ch)
- {
- case "{":
- if (arrTerm[6] == true || arrTerm[7] == true)
- {
- tmpWord += ch;
- continue;
- //trace(ch + " : " + (arrTerm[0] == true ? "Y" : "N") + ", " + (arrTerm[1] == true ? "Y" : "N") + ", " + (arrTerm[2] == true ? "Y" : "N") + ", " + (arrTerm[3] == true ? "Y" : "N") + ", " + (arrTerm[4] == true ? "Y" : "N") + ", " + (arrTerm[5] == true ? "Y" : "N") + ", " + (arrTerm[6] == true ? "Y" : "N") + ", " + (arrTerm[7] == true ? "Y" : "N") + ", " + " tmpword : " + tmpWord);
- }
-
- if (arrTerm[0] == false) // DataSet List Start
- {
- //lftrace("시작");
- arrTerm[0] = true; // DataSet List Start
- arrTerm[1] = true; // DsName
- }
- break;
-
- case "=":
- if (arrTerm[6] == true || arrTerm[7] == true)
- {
- tmpWord += ch;
- continue;
- }
- if ( arrTerm[1] == true ) // DsName Start
- {
- dsName = tmpWord.replace("\r", "").replace(" ","");
- tmpWord = "";
- arrTerm[1] = false; // DsName End
- arrTerm[2] = true; // DataSet Start
- arrTerm[3] = false; // DataSet End
- }
- break;
-
-
- case "}":
- if (arrTerm[6] == true || arrTerm[7] == true)
- {
- tmpWord += ch;
- continue;
- }
- break;
-
- case ",":
- if (arrTerm[6] == true || arrTerm[7] == true)
- {
- tmpWord += ch;
- continue;
- }
-
- if( arrTerm[2] == true && tmpWord.trim().substr(0, 4) == "null")
- {
- lftrace("DataSet Data is null ");
- var ds = fSetParamDataset("", dsName + "_" + nDsIndex);
-
- arrDsNames[nDsCount] = dsName + "_" + nDsIndex;
- nDsCount++;
-
- tmpWord = "";
- arrTerm[1] = true;
- arrTerm[2] = false;
- arrTerm[3] = true;
- }
- else if(arrTerm[6] == false)
- {
- arrTerm[1] = true; // DsName
- }
- break;
-
- case "[":
- if (arrTerm[6] == true || arrTerm[7] == true)
- {
- tmpWord += ch;
-
- //trace(ch + " : " + (arrTerm[0] == true ? "Y" : "N") + ", " + (arrTerm[1] == true ? "Y" : "N") + ", " + (arrTerm[2] == true ? "Y" : "N") + ", " + (arrTerm[3] == true ? "Y" : "N") + ", " + (arrTerm[4] == true ? "Y" : "N") + ", " + (arrTerm[5] == true ? "Y" : "N") + ", " + (arrTerm[6] == true ? "Y" : "N") + ", " + (arrTerm[7] == true ? "Y" : "N") + ", " + " tmpword : " + tmpWord);
-
- continue;
- }
-
- if ( arrTerm[4] == false && arrTerm[5] == false)
- {
- arrTerm[4] = true; // DataSet Index Start
- }
- else if ( arrTerm[5] == true) // DataSet Index End
- {
- arrTerm[6] = true; // DataSet Start
- }
- break;
-
- case "]":
- if (arrTerm[7] == true)
- {
- tmpWord += ch;
-
- //trace(ch + " : " + (arrTerm[0] == true ? "Y" : "N") + ", " + (arrTerm[1] == true ? "Y" : "N") + ", " + (arrTerm[2] == true ? "Y" : "N") + ", " + (arrTerm[3] == true ? "Y" : "N") + ", " + (arrTerm[4] == true ? "Y" : "N") + ", " + (arrTerm[5] == true ? "Y" : "N") + ", " + (arrTerm[6] == true ? "Y" : "N") + ", " + (arrTerm[7] == true ? "Y" : "N") + ", " + " tmpword : " + tmpWord);
-
- continue;
- }
- if (arrTerm[4] == true && arrTerm[6] == false)
- {
- nDsIndex = tmpWord.trim();
-
- //lftrace("DsName /" + dsName + "/ DataSet Index /" + tmpWord.trim() + "/");
- tmpWord = "";
-
- arrTerm[5] = true; // DataSet Index End
- }
- else if (arrTerm[6] == true )
- {
- dsData = tmpWord.trim();
- //lftrace("DataSet Data /"+tmpWord.trim() +"/");
- var ds = fSetParamDataset(tmpWord.trim(), dsName + "_" + nDsIndex );
- arrDsNames[nDsCount] = dsName + "_" + nDsIndex;
- nDsCount++;
-
- arrTerm[4] = false;
- arrTerm[5] = false;
- arrTerm[6] = false;
-
- tmpWord = "";
- }
-
- break;
-
- case "\"":
-
- //lftrace(" afdafd : " + tmpWord.trim());
- if (arrTerm[7] == true)
- {
- arrTerm[7] = false;
- }
- else
- {
- arrTerm[7] = true;
- }
-
- break;
-
-
- default:
- tmpWord += ch;
- break;
- }
-
- //trace(ch + " : " + (arrTerm[0] == true ? "Y" : "N") + ", " + (arrTerm[1] == true ? "Y" : "N") + ", " + (arrTerm[2] == true ? "Y" : "N") + ", " + (arrTerm[3] == true ? "Y" : "N") + ", " + (arrTerm[4] == true ? "Y" : "N") + ", " + (arrTerm[5] == true ? "Y" : "N") + ", " + (arrTerm[6] == true ? "Y" : "N") + ", " + (arrTerm[7] == true ? "Y" : "N") + ", " + " tmpword : " + tmpWord);
- }
- }
- else
- {
- lftrace("ValueObject");
- for (var i = 0; i < 10 ; i++)
- {
- arrTerm[i] = false;
- }
-
- lftrace("contents : " + contents);
- // contents = contents.replace("(", " ");
- // contents = contents.replace(")", " ");
-
- for (var i = 0; i < contents.length; i++)
- {
- ch = contents.charAt(i);
-
- switch (ch)
- {
- case "[":
- if (arrTerm[0] == false && arrTerm[1] == false) // DS Index Start
- {
- arrTerm[0] = true; // DS Index Start
- }
- else if (arrTerm[1] == true && arrTerm[3] == false)
- {
- //lftrace("tmpWord : " + tmpWord);
- arrTerm[2] = true; // Ds Content Start
- tmpWord = "";
- }
- else
- {
- tmpWord += ch;
- }
- break;
-
- case "]":
- if (arrTerm[0] == true && arrTerm[2] == false) // Ds Index Start ?
- {
- arrTerm[1] = true; // Ds Index End
- }
- else if (arrTerm[2] == true && arrTerm[3] == false) // Ds Conent Start ?
- {
- arrTerm[0] = false;
- arrTerm[1] = false;
- arrTerm[2] = false;
-
- lftrace("Ds Conent : " + tmpWord);
-
- dsName = nDsCount;
-
- lftrace("tmpWord : " + tmpWord);
-
- var ds = fSetParamDataset(tmpWord, dsName);
- arrDataSet.push(ds);
- arrDsNames[nDsCount] = dsName;
- nDsCount ++;
- }
- else
- {
- tmpWord += ch;
- }
- break;
-
- case "(":
- if (arrTerm[0] == false && arrTerm[1] == false) // DS Index Start
- {
- arrTerm[0] = true; // DS Index Start
- }
- else
- {
- tmpWord += ch;
- }
- break;
-
- case ")":
- if (arrTerm[0] == true && arrTerm[2] == false) // Ds Index Start ?
- {
- arrTerm[1] = true; // Ds Index End
- }
- else
- {
- tmpWord += ch;
- }
- break;
-
- case "\"":
- if (arrTerm[3] == false) // 따움표 시작?
- {
- arrTerm[3] = true;
- }
- else
- {
- arrTerm[3] = false;
- }
- break;
-
- default:
- //if (arrTerm[0] == true)
- tmpWord += ch;
- break;
- }
- }
- }
-
- // Parameter Dataset이 여러 개 인 경우 Combo에 세팅을 함.
- if ( nDsCount >= 0)
- {
- var cbds = objCbDsIndex.innerdataset;
- var nRow = -1;
- cbds.clearData();
-
- for (var i = 0; i < nDsCount; i++)
- {
- nRow = cbds.addRow();
-
- cbds.setColumn(nRow, "codecolumn", arrDsNames[i]);
- cbds.setColumn(nRow, "datacolumn", arrDsNames[i] );
- // cbds.setColumn(nRow, "datacolumn", i);
- }
- ds_cb.copyData(cbds);
-
- //ds_cond.setColumn(0, "paramIndex", "0");
- if (utlf_isNull(arrDsNames[0]))
- arrDsNames[0] = "0";
-
- ds_cond.setColumn(0, "paramIndex", arrDsNames[0]);
- var ds = eval("ds_param_" + ds_cond.getColumn(0, "paramIndex") );
-
- tabMain.tabpage1.divParam.gridParam.binddataset = ds;
- ds.rowposition = 0;
- }
- }
- else // Batch
- {
- fGetParameterBatch(rowposition);
- }
- }
- // Parameter 가져오기
- function fGetParameterBatch(rowposition)
- {
- var nDsCount = 0;
- var sLine = "";
- var contents = ds_livelog.getColumn(ds_livelog.rowposition, "contents");
-
- ds_param_0.clearData();
- var sLines = contents.replace("execute batch param","");
- var arrParam = sLines.split(", ");
- var nRow = -1;
-
- dsf_createDs("ds_param_0");
- var ds = eval("ds_param_0");
-
- if( utlf_isNull(ds.getColumnInfo("paramCd")) )
- ds.addColumn("paramCd", "string");
-
- if( utlf_isNull(ds.getColumnInfo("paramData")) )
- ds.addColumn("paramData", "string");
- ds.clearData();
-
- for (var i = 0; i < arrParam.length; i++)
- {
- nRow = ds.addRow();
-
- ds.setColumn(nRow, "paramCd", i);
-
- if ( arrParam[i].lastIndexOf("[") >= 0)
- arrParam[i] = arrParam[i].substr(arrParam[i].lastIndexOf("[")+1);
- if ( arrParam[i].lastIndexOf("]") >= 0)
- arrParam[i] = arrParam[i].substr(0, arrParam[i].lastIndexOf("]"));
-
- ds.setColumn(nRow, "paramData", arrParam[i]);
- }
- nDsCount = 1;
-
- // Parameter Dataset이 여러 개 인 경우 Combo에 세팅을 함.
- if ( nDsCount >= 0)
- {
- var arrDsNames = new Array();
-
- var cbds = objCbDsIndex.innerdataset;
- var nRow = -1;
- cbds.clearData();
-
- for (var i = 0; i < nDsCount; i++)
- {
- nRow = cbds.addRow();
-
- cbds.setColumn(nRow, "codecolumn", "0");
- cbds.setColumn(nRow, "datacolumn", "0");
- }
- ds_cb.copyData(cbds);
-
- //ds_cond.setColumn(0, "paramIndex", "0");
- if (utlf_isNull(arrDsNames[0]))
- arrDsNames[0] = "0";
-
- ds_cond.setColumn(0, "paramIndex", arrDsNames[0]);
- var ds = eval("ds_param_" + ds_cond.getColumn(0, "paramIndex") );
-
- tabMain.tabpage1.divParam.gridParam.binddataset = ds;
- ds.rowposition = 0;
- }
- }
- function fSelectFuncRelate(relate)
- {
- var nRow = ds_tree_callstack.findRow("relate", relate);
-
- // trace("fSelectFuncRelate : "+ nRow);
- if (nRow >= 0)
- {
- var line = ds_tree_callstack.getColumn(nRow, "line");
-
- fSelectFunc(line);
- }
- }
- // Line 으로 CallStack에 있는 함수 선택
- function fSelectFunc(line)
- {
- var nRow = ds_tree_callstack.findRow("line", line);
-
- lftrace("fSelectFunc nRow : " + nRow + ", line : " + line);
- if ( nRow >= 0 )
- {
- var rtn = objTree.getTreeRow(nRow);
- if (rtn > -1)
- {
- objTree.setTreeStatus(rtn, true);
- }
- else
- {
- var nParentRow = objTree.getTreeParentRow(nRow);
- var nTopParentRow = nRow;
-
- while (nParentRow != -1)
- {
- nParentRow = objTree.getTreeParentRow(nTopParentRow);
- nTopParentRow --;
- }
-
- for(var i = nTopParentRow; i < nRow; i++)
- {
- objTree.setTreeStatus(objTree.getTreeRow(i), true);
- }
- }
- if (ds_tree_callstack.rowposition == nRow)
- ds_tree_callstack.rowposition = 0;
- ds_tree_callstack.rowposition = nRow;
- //tabMain.tabpage1.divCallStack.Grid02.updateToDataset();
-
- }
- }
- function tabMain_tabpage1_Grid00_oncellclick(obj:Grid, e:GridClickEventInfo)
- {
- fSelectCell(e.cell);
- }
- function fSelectCell(cell, treeSelYn)
- {
- var sRtnText = "";
-
- if (ds_livelog.rowposition == ds_cond.getColumn(0, "selLine")
- && ds_livelog.getColumn(ds_livelog.rowposition, "logtype") != "SQL"
- && ds_livelog.getColumn(ds_livelog.rowposition, "logtype") != "SQL-BIND"
- )
- {
- // trace("중복 " + ds_livelog.rowposition );
- // return;
- }
- ds_cond.setColumn(0, "selLine", ds_livelog.rowposition );
-
- var sLine = "";
-
- if (cell > 6)
-
- {
- ds_livelog.enableevent = false;
- switch ( ds_livelog.getColumn(ds_livelog.rowposition, "logtype") )
- {
- case "PARAM":
- objDivParm.visible = true;
-
-
- try{
- this.setWaitCursor(true, true);
-
- fGetParameter(ds_livelog.rowposition);
- objTxtSql.visible = false;
-
- }catch(e) {
- trace("exception " + e.description + " , " +( e.number & 0xFFFF));
- ds_cond.setColumn(0, "sql", ds_livelog.getColumn(ds_livelog.rowposition, "contents"));
- objTxtSql.visible = true;
- objTxtSql.setFocus();
- }
- finally {
- this.setWaitCursor(false, true);
- }
- break;
-
- case "SQL":
- case "SQL-BIND":
- case "DEBUG":
- case "INFO":
- objDivParm.visible = true;
-
- var contents = ds_livelog.getColumn(ds_livelog.rowposition, "contents");
- ds_cond.setColumn(0, "sql", contents);
-
- objTxtSql.visible = true;
- objTxtSql.setFocus();
- break;
-
- case "CALL":
- objDivParm.visible = true;
-
- if (!utlf_isNull(ds_livelog.getColumn(ds_livelog.rowposition, "statementid")))
- {
- var packagenm = ds_livelog.getColumn(ds_livelog.rowposition, "packagenm");
- var statmentid = ds_livelog.getColumn(ds_livelog.rowposition, "statementid");
- ds_cond.setColumn(0, "sql", packagenm + ".java\r\r" + statmentid );
- }
- else
- {
- ds_cond.setColumn(0, "sql", ds_livelog.getColumn(ds_livelog.rowposition, "contents"));
- }
-
- objTxtSql.visible = true;
- break;
-
- default:
- objTxtSql.visible = true;
- ds_cond.setColumn(0, "sql", ds_livelog.getColumn(ds_livelog.rowposition, "contents"));
- // objTxtSql.visible = false;
- // objDivParm.visible = false;
-
- if( !utlf_isNull(this.objects["ds_param_0"]))
- ds_param_0.clearData();
-
- dsf_deleteDs("ds_param_0");
-
- /*ds_param_0.clearData();*/
- break;
- }
- // CallStack Select
- if (treeSelYn != "N")
- {
- fSelectFuncRelate(ds_livelog.getColumn(ds_livelog.rowposition, "relate"));
- }
-
- ds_livelog.enableevent = true;
- }
- }
- function pdivParam_cbDsIndex_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- objCbDsIndex.updateToDataset();
- objGridParam.binddataset = eval("ds_param_" + ds_cond.getColumn(0, "paramIndex") );
- //lftrace ("ds_param_" + ds_cond.getColumn(0, "paramIndex"));
- }
- function txtSql_onkillfocus(obj:TextArea, e:KillFocusEventInfo)
- {
- //objTxtSql.visible = false;
- }
- function Button01_onclick(obj:Button, e:ClickEventInfo)
- {
- dsf_createDs("ds_dyGrid");
-
- ds_dyGrid.loadXML( ds_cond.getColumn(0, "dataSetXml") );
-
- fSetGridbyDataset(ds_dyGrid, "tabMain.tabpage2.dyGrid");
-
- tabMain.tabpage2.dyGrid.binddataset = ds_dyGrid;
- }
- function fSetGridbyDataset(pDs, pGridNm)
- {
- var sColumns = "";
- var sHead = "";
- var sBody = "";
- var sSummary = "";
-
-
- var grid = eval(pGridNm);
-
- lftrace("grid " + grid);
-
- for(var i=0 ; i<pDs.getColCount() ; i++)
- {
- var colId = pDs.getColID(i);
-
- var colSize = (i<= 3) ? 100 : 200;
- colSize = colId.length * 100;
- var colType = (i<= 3) ? "normal" : "number";
- colType = "textarea";
- var displaytype = "text";
-
-
- var colAlign = (i< 2) ? " left top" : "left top";
- var colAlign = (i== 2) ? "left top" : "left top";
- // 헤드 - 칼럼 사이즈
- sColumns += '<Col size="'+colSize+'"/>\n'
-
- // 헤드 - 칼럼 명
- if (i<= 2 || i>=pDs.getColCount()-3) {
- sHead += '<Cell col="'+i+'" text="'+colId+'"/>\n'
- } else {
- sHead += '<Cell col="'+i+'" text="'+colId+'"/>\n'
- //sHead += '<Cell col="'+i+'" text="'+colId.substr(4,2)+"/"+colId.substr(6,2)+'"/>\n'
- }
-
- // 바디 - 타입, 정렬, 바인드:칼럼 명
- if (i == 0) {
- sBody += '<Cell col="'+i+'"';
- sBody += ' displaytype="'+displaytype+'"';
- sBody += ' edittype="'+colType+'"';
- sBody += ' style="align:'+colAlign+'"';
- sBody += ' text="bind:'+colId+'"';
- //sBody += ' subsumtext="소계"';
- sBody += '/>\n';
- } else {
- sBody += '<Cell col="'+i+'"';
- sBody += ' displaytype="'+displaytype+'"';
- sBody += ' edittype="'+colType+'"';
- sBody += ' style="align:'+colAlign+';';
- //sBody += ' bkcolor="expr:iif(rowlevel>0,'honeydew','default')"';
-
- sBody += 'background:EXPR(getRowLevel(currow)>0?"honeydew":"default");';
- sBody += 'background2:EXPR(getRowLevel(currow)>0?"honeydew":"default");"';
- sBody += ' text="bind:'+colId+'"';
- sBody += '/>\n';
- }
- // 서머리 - 타입, 정렬, 값
- // sSummary += '<Cell col="'+i+'"';
- //
- // sSummary += ' displaytype="'+colType+'"';
- // sSummary += ' style="align:'+colAlign+'"';
- //
- // if (i< 3) {
- // sSummary += ' text=""';
- // }else if (i==3){
- // sSummary += ' text="합계"';
- // }else if (i == pDs.getColCount()) {
- // sSummary += ' text="expr:toNumber(Math.round(getSum("'+pDs.getColID(i-2)+'")/getSum("'+pDs.getColID(i-1)+'")*100 ,1),0,0,0)"';
- // } else {
- //
- // sSummary += ' text="expr:getSum("'+colId+'")"';
- // }
- //
- // sSummary += '/>\n';
- }
- // 그리드 기본 Formats
- var sFormat = '<Formats>\n';
- sFormat += '<Format id="default">\n';
- sFormat += '<Columns>\n';
-
- sFormat += sColumns;
-
- sFormat += '</Columns>\n';
- sFormat += '<Rows>\n';
- sFormat += '<Row band="head" size="24"/>\n';
- sFormat += '<Row band="body" size="24"/>\n';
- sFormat += '<Row band="summ" size="24"/>\n';
- sFormat += '</Rows>\n';
- sFormat += '<Band id="head">\n';
-
- sFormat += sHead;
-
- sFormat += '</Band>\n';
- sFormat += '<Band id="body">\n';
-
- sFormat += sBody;
-
- sFormat += '</Band>\n';
- sFormat += '<Band id="summary">\n';
-
- sFormat += sSummary;
-
- sFormat += '</Band>\n';
- sFormat += '</Format>\n';
- sFormat += '</Formats>\n';
- // 동적그리드 할당
- grid.formats = sFormat;
- }
- function tabMain_tabpage1_Grid00_onkeydown(obj:Grid, e:KeyEventInfo)
- {
- switch(e.keycode)
- {
- case "67": // C
- if (e.ctrlKey)
- {
- fCopyGridData(objGrdLivelog, e.shiftKey);
- }
- break;
-
- case F0 + 4:
- var tmpBuffer = "";
- for (var i = 0; i < ds_livelog.rowcount; i++)
- {
- tmpBuffer += ds_livelog.getColumn(i, "contents") + "\n\n";
- }
-
- system.clearClipboard();
- system.setClipboard("CF_TEXT", tmpBuffer);
- break;
-
- case F0 +1: // F1
- var selRow = ds_livelog.rowposition;
-
- if ( ds_livelog.getColumn(selRow, "markyn") == 1)
- ds_livelog.setColumn(selRow, "markyn", 0);
- else
- ds_livelog.setColumn(selRow, "markyn", 1);
-
-
- }
-
- return;
- if (e.keycode == 67 && e.ctrlKey) // Ctlr + C
- {
- fCopyGridData(objGrdLivelog, e.shiftKey);
- } else if (e.keycode == F0 + 4)
- {
- var tmpBuffer = "";
- for (var i = 0; i < ds_livelog.rowcount; i++)
- {
- tmpBuffer += ds_livelog.getColumn(i, "contents") + "\n\n";
- }
-
- system.clearClipboard();
- system.setClipboard("CF_TEXT", tmpBuffer);
- }
-
-
- // lftrace("e keycoee : " + e.keycode);
- }
- function fCopyGridData(objGrid, IsContainHeader)
- {
- var oBindDs = eval(objGrid.binddataset);
- var sClipboard = "";
-
- trace("IsContainHeader : " + IsContainHeader);
-
- if ( IsContainHeader)
- {
- for (var j = objGrid.selectstartcol; j <= objGrid.selectendcol; j++)
- {
- if (j < objGrid.selectendcol)
- {
- sClipboard += utlf_transNullToEmpty(objGrid.getCellProperty("Head", j, "text")) + "\t";
- }
- else
- {
- sClipboard += utlf_transNullToEmpty(objGrid.getCellProperty("Head", j, "text"));
- }
- }
- //sClipboard = sClipboard.substr(0, sClipboard.length - 1);
- sClipboard += "\n";
- }
-
- for (var i = objGrid.selectstartrow; i <= objGrid.selectendrow; i++)
- {
- for (var j = objGrid.selectstartcol; j <= objGrid.selectendcol; j++)
- {
- var nCol = utlf_transNullToEmpty(objGrid.getCellProperty("Body", j, "text").replace("bind:", ""));
- sClipboard += oBindDs.getColumn(i , nCol ) + "\t";
- }
- sClipboard = sClipboard.substr(0, sClipboard.length - 1);
- sClipboard += "\n";
- }
- sClipboard = sClipboard.substr(0, sClipboard.length - 1);
-
- system.clearClipboard();
- system.setClipboard("CF_TEXT", sClipboard);
- return ;
- }
- function tabMain_tabpage2_dyGrid_onkeydown(obj:Grid, e:KeyEventInfo)
- {
- if (e.keycode == 67 && e.ctrlKey) // Ctlr + C
- {
- fCopyGridData(tabMain.tabpage2.dyGrid, e.shiftKey);
- }
- }
- function tabMain_tabpage2_btnExportExcel_onclick(obj:Button, e:ClickEventInfo)
- {
- switch (tabMain.tabindex)
- {
- case 0:
- grdf_exportExcel(objGrdLivelog, "DataSet", "DataSet", false, "", "open", false, "", true);
- break;
-
- case 1:
- grdf_exportExcel(objdyGrid, "DataSet", "DataSet", false, "", "open", false, "", true);
- break;
- }
-
- }
- function tabMain_tabpage1_Div00_Button00_onclick(obj:Button, e:ClickEventInfo)
- {
- tabMain.tabpage1.Div00.Edit00.updateToDataset();
- if ( ! utlf_isNull (ds_cond.getColumn(0, "searchkeyword") ))
- {
- var startRow = -1;
-
- if ( ds_livelog.rowposition >= ds_livelog.rowcount )
- startRow = -1;
- else
- startRow = ds_livelog.rowposition + 1;
-
-
- ds_livelog.enableevent = false;
-
- var searchkeyword = "";
- var findRow = -1;
-
- searchkeyword = ds_cond.getColumn(0, "searchkeyword").trim().toLowerCase();
- findRow = ds_livelog.findRowExpr("contents.toString().toLowerCase().indexOf('" + searchkeyword + "') >= 0 ", startRow );
-
- ds_livelog.enableevent = true;
-
- trace("findRow : " + findRow);
-
-
- // ds_livelog.rowposition 설정
- fSetRowpostionLivelog((findRow >= 0? findRow:0));
-
- lftrace("startRow : " + startRow + ", findRow : " + findRow);
- }
- }
- function btnTest_onclick(obj:Button, e:ClickEventInfo)
- {
- var objImage = new Image;
- var obj =this.getOwnerFrame();
- objImage = obj.saveToImageObject();
- var varImage = objImage.getBinary();
-
- Dataset00.setColumn(0, "img", varImage)
- }
- function fSetDml(contents, nRow)
- {
- // dml Set
- var strDml = "MERGE,UPDATE,DELETE,INSERT,SELECT";
- var arrDml = strDml.split(",");
- // 문자열 처리 하기가 너무 어렵네..ㅜㅜ
- var tmpContents = contents.replace("execute update","");
- tmpContents = tmpContents.replace("\t"," ");
- tmpContents = tmpContents.replace("\r"," ");
- tmpContents = tmpContents.replace("\n"," ");
- tmpContents = tmpContents.toUpperCase();
-
- ds_livelog.setColumn(nRow, "dml", "SELECT");
-
- //trace("arrDml.length : " + arrDml.length);
-
- for (var i = 0; i < arrDml.length; i++)
- {
- if ( tmpContents.indexOf(" " + arrDml[i] + " ") >= 0 )
- {
- ds_livelog.setColumn(nRow, "dml", arrDml[i]);
- return arrDml[i];
- }
- }
- }
- function tabMain_tabpage1_divParam_Button00_onclick(obj:Button, e:ClickEventInfo)
- {
- var ds = eval("ds_param_" + ds_cond.getColumn(0, "paramIndex") );
- ds_temp.copyData(ds);
- }
- function tabMain_tabpage1_txtSql_onkeydown(obj:TextArea, e:KeyEventInfo)
- {
- var sql =ds_cond.getColumn(0, "sql");
- //lftrace(e.keycode);
- switch (e.keycode)
- {
- case F0 + 3: // F3
- if (ds_temp.rowcount > 0)
- {
- var arrParam = sql.split("?");
- var tmpSql = "";
- for (var i = 0; i < ds_temp.rowcount; i++)
- {
- tmpSql += arrParam[i] + "'" + ds_temp.getColumn(i , "paramData") + "'";
-
- //sql = sql.replace("?", "'" + ds_temp.getColumn(i , "paramData") + "'");
- }
- tmpSql += arrParam[i];
- system.clearClipboard();
- system.setClipboard("CF_TEXT", tmpSql);
-
- alert("Copy");
- }
- break;
-
- case F0 + 4: // F4
- if ( !utlf_isNull(this.opener) )
- {
- var scrid = "SMSMP09204";
- var selecttext = tabMain.tabpage1.divParam.txtSql.getSelectedText();
-
- if ( !utlf_isNull(selecttext) )
- {
- selecttext = selecttext.trim();
- selecttext = selecttext.toUpperCase();
- if ( selecttext.indexOf(".") >= 0 )
- {
- var objArr = selecttext.split(".");
- selecttext = objArr[1];
- }
-
- fOpenTableInfoPopup(selecttext);
- }
- }
- break;
-
- }
- }
- function fOpenTableInfoPopup(selecttext)
- {
- if ( !utlf_isNull(this.opener) || true )
- {
- var scrid = "SMSMP09204";
- var objForm = frmf_findPopup("SMSMP09204");
-
- if (utlf_isNull(objForm))
- {
- frmf_open(scrid, "SMSMP09204", "", "", 0, 500, 500, "", "", "", "", "", "M");
-
- }
- else
- {
- objForm.lf_setTablename(selecttext);
- frmf_setFocusPop(scrid);
- }
- }
- }
- function tabMain_tabpage2_Button00_onclick(obj:Button, e:ClickEventInfo)
- {
- var sClipText = system.getClipboard("CF_TEXT");
-
- //lftrace( sClipText );
- if ( ! utlf_isNull(sClipText) )
- {
-
- ds_cond.setColumn(0, "dataSetXml", sClipText);
-
- dsf_createDs("ds_dyGrid");
-
- ds_dyGrid.loadXML( ds_cond.getColumn(0, "dataSetXml") );
-
- fSetGridbyDataset(ds_dyGrid, "tabMain.tabpage2.dyGrid");
-
- tabMain.tabpage2.dyGrid.binddataset = ds_dyGrid;
- }
-
- }
- function tabMain_tabpage1_divParam_Edit00_ontextchanged(obj:Edit, e:TextChangedEventInfo)
- {
- obj.updateToDataset();
-
- var ds = eval("ds_param_" + ds_cond.getColumn(0, "paramIndex") );
- var filterValue = tabMain.tabpage1.divParam.ipt_ds_search.value.toUpperCase() ;
- var filter = "";
- if (filterValue != "")
- {
- filter = "String(paramCd).toUpperCase().indexOf('" + filterValue + "') > -1 || String(paramData).toUpperCase().indexOf('" + filterValue + "') > -1";
- }
- ds.filter(filter);
-
- }
- function tabMain_tabpage1_Div00_btncontentcopy_onclick(obj:Button, e:ClickEventInfo)
- {
- if (ds_livelog.rowcount > 0)
- {
- var tmpBuffer = "";
- system.clearClipboard();
- for (var i = 0; i < ds_livelog.rowcount; i++)
- {
- tmpBuffer += ds_livelog.getColumn(i, "contents") + "\n";
- }
- system.setClipboard("CF_TEXT", tmpBuffer);
- }
- }
- function lftrace(msg)
- {
- trace(msg);
- }
- function tabMain_tabpage1_Div00_chkSelectSql_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
- {
- if (e.postvalue == "Y")
- {
- ds_filter.setColumn(0, "logtype", "SQL");
- ds_filter.setColumn(0, "dmltype", "");
- }
- else
- {
- ds_filter.setColumn(0, "logtype", "");
- ds_filter.setColumn(0, "dmltype", "");
- }
- tabMain_tabpage1_Div00_cmbLogtype_onitemchanged(null, null);
- }
- function tabMain_tabpage1_Div00_Edit01_onkeydown(obj:Edit, e:KeyEventInfo)
- {
- switch (e.keycode)
- {
- case "13":
- obj.updateToDataset();
- var line = utlf_transNullToEmpty(ds_cond.getColumn(0, "linenum"));
- fGotoLine(line);
- break;
- }
- }
- function tabMain_tabpage1_Div00_Edit00_onkeydown(obj:Edit, e:KeyEventInfo)
- {
- switch (e.keycode)
- {
- case "13":
- tabMain_tabpage1_Div00_Button00_onclick();
- break;
- }
- }
- function ds_livelog_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
- {
- switch (e.columnid)
- {
- case "markyn":
- var useYn = e.newvalue == "1" ? "Y" : "N";
-
- fSetLogMarker(ds_livelog.getColumn(ds_livelog.rowposition, "line"), useYn);
- //fSetLogMarker(ds_livelog.getColumn(ds_livelog.rowposition, "relate"), useYn);
-
- break;
- }
- }
- function fGetLivelogRelate(line)
- {
- var nRow = ds_livelog.findRow("line", line);
- var retRelate = "";
- if (nRow >= 0)
- {
- retRelate = ds_livelog.getColumn(nRow, "relate");
- }
- return retRelate;
- }
- function fSetLogMarker(line, useYn)
- {
- var nRow = -1;
-
- var relate = fGetLivelogRelate(line);
-
- if (useYn == "Y")
- {
- nRow = ds_marker.addRow();
- ds_marker.setColumn(nRow, "line", line);
- ds_marker.setColumn(nRow, "relate", relate)
- ds_marker.updateSortGroup("S:line");
-
- nRow = ds_tree_callstack.findRow ("relate", relate);
-
- if(nRow >=0)
- {
- ds_tree_callstack.setColumn(nRow, "markyn", 1);
- }
- }
- else
- {
- var relate = ""
- nRow = ds_marker.findRow("line", line);
- if (nRow >= 0)
- {
- relate = ds_marker.getColumn(nRow, "relate");
- ds_marker.deleteRow(nRow);
-
- nRow = ds_marker.findRow("relate", relate);
- if (nRow < 0)
- {
- nRow = ds_tree_callstack.findRow ("line", line);
- if(nRow >=0)
- {
- ds_tree_callstack.setColumn(nRow, "markyn", 0);
- }
- }
- }
- }
- }
- function fGetLogMarker(curPos, moveflag)
- {
- var retMark = -1;
- var nRow = -1;
- var nPos = -1;
-
- if (ds_marker.rowcount > 0)
- {
- switch (moveflag)
- {
- case "P": // 이전
-
- nPos = ds_marker.findRowExpr("line < " + curPos);
-
- if (nPos >= 0)
- {
- retMark = ds_marker.getColumn(nPos, "line");
- }
- else
- {
- retMark = ds_marker.getColumn(ds_marker.rowcount - 1, "line");
- }
- break;
-
- case "N": // 다음
- nPos = ds_marker.findRowExpr("line > " + curPos);
-
- if (nPos >= 0)
- {
- retMark = ds_marker.getColumn(nPos, "line");
- }
- else
- {
- retMark = ds_marker.getColumn(0, "line");
- }
- break;
- }
- //trace("curPos : " + curPos + " , nPos : " + nPos + ", retMark : " + retMark);
- return retMark;
- }
- }
- // ds_livelog.rowposition 설정
- function fSetRowpostionLivelog(row)
- {
- if (ds_livelog.rowposition == row)
- {
- ds_livelog.rowposition = 0;
- }
- objGrdLivelog.selecttype = "row";
- ds_livelog.rowposition = row;
- objGrdLivelog.selecttype = "multiarea";
-
- fSelectCell(8);
- }
- function fGotoLine(line)
- {
- //trace("fGotoLine line : " + line);
- if ( !utlf_isNull(line) )
- {
- nRow = ds_livelog.findRow("line", line);
- //trace("nRow :" + nRow + ", line : " + line);
- if (nRow >= 0)
- {
- // ds_livelog.rowposition 설정
- fSetRowpostionLivelog(nRow);
-
- fSelectFunc(line);
- }
- }
- }
- function tabMain_tabpage1_Div00_Button01_onclick(obj:Button, e:ClickEventInfo)
- {
- //trace("ds_livelog.rowposition : " + ds_livelog.rowposition);
- var line = fGetLogMarker( ds_livelog.getColumn(ds_livelog.rowposition, "line"), (obj.text == "◀" ? "P" : "N") );
-
- if (line >= 0)
- {
- fGotoLine(line);
- fSelectCell(8, "N");
- }
- }
- function tabMain_tabpage1_Div00_Button03_onclick(obj:Button, e:ClickEventInfo)
- {
- if (objDivCallStack.visible)
- {
- objDivCallStack.visible = false;
-
- objDivParm.position.height = objGrdLivelog.position.height;
- }
- else
- {
- var height = objDivParm.position.height / 2;
-
- objDivCallStack.visible = true;
-
- objDivParm.position.height = height;
- objDivCallStack.position.y = height + objDivParm.position.y;
- objDivCallStack.position.height = height;
- }
- }
- function divCallStack_btnTreeAction_onclick(obj:Button, e:ClickEventInfo)
- {
- var expend ;
- switch(obj.text)
- {
- case "펼치기":
- case "접기":
- for (var i = 0; i < ds_tree_callstack.rowcount; i++)
- {
- objTree.setTreeStatus(i, (obj.text == "펼치기"? true : false));
- }
- break;
- }
- }
- function tabMain_tabpage1_divCallStack_Grid02_oncellclick(obj:Grid, e:GridClickEventInfo)
- {
- //trace("e.clickitem : " + e.clickitem);
- if ( ! (e.clickitem == "treebutton" || e.clickitem == "image"))
- {
- var selRow = ds_tree_callstack.rowposition;
- if (ds_cond.getColumn(0, "selrelate") == "Y")
- {
- var filter = "relate.toString().indexOf('" + ds_tree_callstack.getColumn(selRow, "relate") + "') >= 0";
- ds_livelog.filter(filter);
-
- // ds_livelog.rowposition 설정
- fSetRowpostionLivelog(0);
- }
- else
- {
- ds_livelog.filter("");
- fGotoLine( ds_tree_callstack.getColumn(selRow, "line") );
- }
- fSelectCell(8, "N");
-
- //trace("ds_tree_callstack : " + ds_tree_callstack.rowposition);
- }
- }
- ////////////////////// todo
- function fLivelogFilter()
- {
- var filter = "";
- var logtype = utlf_transNullToEmpty(ds_filter.getColumn(0, "logtype"));
- var dmltype = utlf_transNullToEmpty(ds_filter.getColumn(0, "dmltype"));
-
-
- if ( utlf_isNull(logtype) && utlf_isNull(dmltype) )
- {
- ds_livelog.filter (filter);
-
- ds_logtype_filter.enableevent = false;
- for (var i = 0; i < ds_logtype_filter.rowcount; i++)
- {
- ds_logtype_filter.setColumn(i, "chkyn", "1");
- }
- ds_logtype_filter.enableevent = true;
- }
- else
- {
- filter = "";
- filter += " ( logtype == '" + logtype + "' || '" + logtype + "' == '') " ;
- filter += "&& ( dml == '" + dmltype + "' || '" + dmltype + "' == '')" ;
- ds_livelog.filter (filter);
-
- ds_logtype_filter.enableevent = false;
- for (var i = 0; i < ds_logtype_filter.rowcount; i++)
- {
- if (logtype == ds_logtype_filter.getColumn(i, "logtype"))
- {
- ds_logtype_filter.setColumn(i, "chkyn", "1");
- }
- else
- {
- ds_logtype_filter.setColumn(i, "chkyn", "0");
- }
- }
- ds_logtype_filter.enableevent = true;
- }
-
- }
- function btnReload_onclick(obj:Button, e:ClickEventInfo)
- {
- this.reload();
- }
- function SMSMP09205_onkeydown(obj:Form, e:KeyEventInfo)
- {
- //trace("e.keycode : " + e.keycode);
- switch(e.keycode)
- {
- case 79: // O
- if(e.ctrlKey)
- {
- Div00_Button00_onclick(null,null);
- }
- break;
-
- case 81: //Q
- if (e.ctrlKey)
- objEdtsearch.setFocus();
- break;
-
- case 87: //W
- if (e.ctrlKey)
- objDssearch.setFocus();
- break;
-
- case 69: //E
- if (e.ctrlKey)
- {
- Div00_btnMoveLog_onclick();
- }
- break;
-
- case 82: // R
- if (e.ctrlKey)
- {
- if (tabMain.tabpage1.Div00.chkSelectSql.value == "Y")
- {
- tabMain.tabpage1.Div00.chkSelectSql.value = "N"
- }
- else
- {
- tabMain.tabpage1.Div00.chkSelectSql.value = "Y"
- }
- // ds_filter.setColumn(0, "logtype", "SQL");
- // ds_filter.setColumn(0, "dmltype", "");
- // tabMain_tabpage1_Div00_cmbLogtype_onitemchanged(null, null);
- // }
- // else
- // {
- // tabMain.tabpage1.Div00.chkSelectSql.value = "Y";
- // }
- }
- break;
-
- case 27: // Esc
- ds_cond.setColumn(0, "liveLog", "");
- ds_livelog.clearData();
-
- ds_capture_log.setColumn(0, "logdata", "");
-
- break;
-
- case 111 + 3: // F3
- Div00_btnMoveLog_onclick();
- break;
-
-
- case 111 + 5: // F5
- fOpenTableInfoPopup("");
- break;
-
-
- }
- }
- function Div00_Button00_onclick(obj:Button, e:ClickEventInfo)
- {
- fOpenLog();
- objCaptureMsg.text = "열기";
- }
- function fOpenLog()
- {
- ds_capture_log.clearData();
- ds_capture_log.addRow();
-
- var fd = new FileDialog;
- var vFile = fd.open("FileOpen", FileDialog.LOAD);
-
- var rnt = vFile.open(VirtualFile.openRead | VirtualFile.openText);
- var bSuccess = vFile.seek(0, VirtualFile.seekBegin);
-
- //var bData = new Buffer(vFile.read(vFile.getFileSize()));
- var logdata = vFile.read(vFile.getFileSize(), "euc-kr");
- //var logdata = new Buffer(vFile.read(vFile.getFileSize()));
-
- ds_capture_log.setColumn(0, "filepath", vFile.fullpath);
- //ds_capture_log.setColumn(0, "logdata", logdata);
- ds_capture_log.setColumn(0, "logdata", "");
- ds_capture_log.setColumn(0, "curpos", vFile.getFileSize());
- vFile.close();
- fEditSetCaretPos(objCaptureLog);
- this.setTimer(54, 1000);
- }
- function Div00_Button01_onclick(obj:Button, e:ClickEventInfo)
- {
- var filepath = ds_capture_log.getColumn(0, "filepath");
- var vFile = new VirtualFile(filepath, VirtualFile.openRead | VirtualFile.openText);
-
- if ( !utlf_isNull(filepath))
- {
- ds_capture_log.setColumn(0, "curpos", vFile.getFileSize());
- }
-
- this.setTimer(54, 1000);
-
- objCaptureMsg.text = "준비";
- }
- function fReadLog()
- {
- this.killTimer(54);
- var filepath = ds_capture_log.getColumn(0, "filepath");
- var vFile = new VirtualFile(filepath, VirtualFile.openRead | VirtualFile.openText);
- var curpos = parseInt(ds_capture_log.getColumn(0, "curpos"));
- var logdata = ds_capture_log.getColumn(0, "logdata");
-
- var bSuccess = vFile.seek(curpos);
- var readsize = vFile.getFileSize() - curpos;
- var capData = vFile.read(readsize);
-
- capData = capData.replace("\n", "\r\n");
-
- // var sline = vFile.readLine("\n", "UTF-8");
- // var capData = sline + "\r\n";
- // while (sline)
- // {
- // capData += sline + "\r\n";
- // sline = vFile.readLine("\n", "UTF-8");
- // trace("sline : " + sline);
- // }
- if ( !utlf_isNull(capData))
- {
- logdata += capData;
- ds_capture_log.setColumn(0, "logdata", logdata);
- ds_capture_log.setColumn(0, "curpos", vFile.getFileSize());
- }
- vFile.close();
- this.setTimer(54, 1000);
- }
- function fPrintDs(ds:Dataset)
- {
- var prtmsg = "######## " + ds.name + "\n";
- for (var row = 0; row < ds.rowcount; row++)
- {
- for(var col = 0; col < ds.colcount; col++)
- {
- var colinfo = ds.getColumnInfo(col)
- prtmsg += (col == 0 ? " [" + row + "] " : ", ") + colinfo.name + " : " + ds.getColumn(row, col);
- }
- prtmsg += "\n ";
- }
- }
- function fEditSetCaretPos(edt:TextArea)
- {
- edt.updateToDataset();
- edt.setFocus();
- edt.setCaretPos(-1);
- edt.vscrollbar.pos = edt.getLength()-1;
- }
- function SMSMP09205_ontimer(obj:Form, e:TimerEventInfo)
- {
- //trace("execute timer : " );
- if (ds_capture_log.rowcount > 0)
- {
- var filepath = ds_capture_log.getColumn(0, "filepath");
- var vFile = new VirtualFile(filepath, VirtualFile.openRead | VirtualFile.openText);
- var curPos = parseInt(ds_capture_log.getColumn(0, "curpos"));
-
- // trace( " curPos : " + curPos + ", vFile.getFileSize() : " + vFile.getFileSize());
- if ( curPos < vFile.getFileSize())
- {
- objCaptureMsg.text = "읽는 중";
-
- fReadLog();
- fEditSetCaretPos(objCaptureLog);
-
- objCaptureMsg.text = "읽기 완료";
- }
- else
- {
- objCaptureMsg.text = "대기 중";
- }
-
- }
- }
- function Div00_Button02_onclick(obj:Button, e:ClickEventInfo)
- {
- this.killTimer(54);
-
- objCaptureMsg.text = "멈춤";
- }
- function Div00_btnCaptureLogClear_onclick(obj:Button, e:ClickEventInfo)
- {
- ds_capture_log.setColumn(0, "logdata", "");
- }
- function Div00_btnMoveLog_onclick(obj:Button, e:ClickEventInfo)
- {
- var logdata = ds_capture_log.getColumn(0, "logdata");
- if ( !utlf_isNull(logdata) )
- {
- ds_cond.setColumn(0, "liveLog", logdata);
- fAnalysisLiveLog(ds_cond.getColumn(0, "logKinds"), ds_cond.getColumn(0, "logaddyn"));
-
- ds_capture_log.setColumn(0, "logdata", "");
- }
- }
- function tabMain_tabpage1_btnClearLog_onclick(obj:Button, e:ClickEventInfo)
- {
- fClearLogConfig();
-
- ds_cond.setColumn(0, "liveLog", "");
- }
- function tabMain_onchanged(obj:Tab, e:TabIndexChangeEventInfo)
- {
- switch (e.postindex)
- {
- case 0:
- divCapture.visible = true;
- break;
- case 1:
- divCapture.visible = false;
- break;
- }
- }
- function ds_capture_log_onvaluechanged(obj:Dataset, e:DSColChangeEventInfo)
- {
- var logdata = ds_capture_log.getColumn(0, "logdata");
- if ( !utlf_isNull (logdata) )
- {
- divCapture.btnMoveLog.style.background = "red";
- }
- else
- {
- divCapture.btnMoveLog.style.background = "@gradation";
- }
-
- if (! utlf_isNull(logdata))
- {
- ds_capture_log.setColumn(0, "capsize", logdata.length);
- }
- }
- function tabMain_tabpage1_Div00_CheckBox00_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
- {
- if (e.postvalue)
- {
- objTxtSql.wordwrap = "char";
- }
- else
- {
- objTxtSql.wordwrap = "none";
- }
- }
- ]]></Script>
- </Form>
- </FDL>
|