SMSMP09204_테이블정보조회.xfdl 141 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMSMP09204" classname="SMSMP09204_테이블정보조회" inheritanceid="" position="absolute 0 0 1199 871" titletext="테이블정보조회" onload="SMSMP09204_onload" oninit="SMSMP09204_oninit" onactivate="SMSMP09204_onactivate" onkeydown="SMSMP09204_onkeydown" ontimer="SMSMP09204_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Splitter id="Splitter00" position="absolute -1 459 549 469" type="vertical" style="background:antiquewhite;bordertype:round 5 5 ;" anchor="left top">
  8. <Formats>
  9. <Format id="default">
  10. <SplitterItems id="items">
  11. <SplitterItem id="item00" bindtype="resize" position="leftortop" offset="0" componentid="Grid00"/>
  12. <SplitterItem id="item01" bindtype="resize" position="rightorbottom" offset="0" componentid="Tab00"/>
  13. </SplitterItems>
  14. </Format>
  15. </Formats>
  16. </Splitter>
  17. <Edit id="ipt_table_name" taborder="1" class="input_search" position="absolute 288 23 548 42" inputmode="upper" ontextchanged="ipt_table_name_ontextchanged" autoselect="true" onkeydown="ipt_table_name_onkeydown" updatebindingvalue="default"/>
  18. <Grid id="Grid02" taborder="2" useinputpanel="false" position="absolute 553 734 1191 863" binddataset="ds_index_info" anchor="all" cellsizingtype="both" autoenter="select" oncellclick="Grid02_oncellclick" onkillfocus="Grid02_onkillfocus">
  19. <Formats>
  20. <Format id="default">
  21. <Columns>
  22. <Column size="118"/>
  23. <Column size="471"/>
  24. <Column size="31"/>
  25. </Columns>
  26. <Rows>
  27. <Row size="24" band="head"/>
  28. <Row size="24"/>
  29. </Rows>
  30. <Band id="head">
  31. <Cell text="인덱스명"/>
  32. <Cell col="1" text="인덱스구성"/>
  33. <Cell col="2" text="PK"/>
  34. </Band>
  35. <Band id="body">
  36. <Cell edittype="text" style="align:left;" text="bind:index_name" editautoselect="true"/>
  37. <Cell col="1" edittype="text" style="align:left;" text="bind:index_const" editautoselect="true"/>
  38. <Cell col="2" text="bind:index_type"/>
  39. </Band>
  40. </Format>
  41. </Formats>
  42. </Grid>
  43. <Static id="caption6" text="테이블정보조회" class="tit_1" position="absolute 0 0 188 20" onclick="caption6_onclick"/>
  44. <Shape id="line1" class="line_1" position="absolute -1 43 546 47"/>
  45. <Static id="caption7" text="테이블명" class="tit_2" position="absolute 206 24 282 40" onclick="caption7_onclick"/>
  46. <Button id="btn_select" taborder="3" text="Select문 생성" onclick="group2_btn_distributing_onclick" class="btn4_letter8" position="absolute 578 708 671 730"/>
  47. <Button id="btn_insert" taborder="4" text="Insert문 생성" class="btn4_letter8" position="absolute 674 708 767 730" onclick="btn_insert_onclick"/>
  48. <Button id="btn_update" taborder="5" text="Update문 생성" class="btn4_letter8" position="absolute 770 708 871 730" onclick="btn_update_onclick"/>
  49. <Button id="btn_delete" taborder="6" text="Delete문 생성" class="btn4_letter8" position="absolute 876 708 969 730" onclick="btn_delete_onclick"/>
  50. <Static id="Static00" text="(Ctrl+V로&#13;&#10;사용가능)" position="absolute 1113 706 1186 729" style="font:돋움체,10,bold;"/>
  51. <Static id="caption01" text="사용자" class="tit_2" position="absolute 0 24 65 40" onclick="caption01_onclick"/>
  52. <Combo id="cbOwner" taborder="7" text="Combo00" position="absolute 74 23 190 42" innerdataset="@ds_dbUsers" codecolumn="owner" datacolumn="owner" onitemchanged="Combo00_onitemchanged"/>
  53. <Tab id="Tab00" taborder="8" tabindex="0" scrollbars="autoboth" position="absolute 0 469 550 867" anchor="left top bottom" style="background:transparent URL('theme://images/bg_tab_BodyTop.png') stretch 10,26;">
  54. <Tabpages>
  55. <Tabpage id="tabpage1" text="즐겨찾기">
  56. <Layouts>
  57. <Layout>
  58. <Grid id="grd_favTable" taborder="0" binddataset="fafds" useinputpanel="false" cellsizingtype="both" oncellclick="fTblGridOnClick" position="absolute 0 26 546 363" anchor="left top bottom" onkeydown="fGridKeyDownEvents" selecttype="row" onkeyup="fGridKeyUpEvents">
  59. <Formats>
  60. <Format id="default">
  61. <Columns>
  62. <Column size="57"/>
  63. <Column size="111"/>
  64. <Column size="248"/>
  65. <Column size="0"/>
  66. <Column size="53"/>
  67. <Column size="58"/>
  68. </Columns>
  69. <Rows>
  70. <Row size="24" band="head"/>
  71. <Row size="24"/>
  72. </Rows>
  73. <Band id="head">
  74. <Cell text="사용자"/>
  75. <Cell col="1" text="테이블명"/>
  76. <Cell col="2" text="설명"/>
  77. <Cell col="3" text="owner"/>
  78. <Cell col="4" text="업무"/>
  79. <Cell col="5" text="Type"/>
  80. </Band>
  81. <Band id="body">
  82. <Cell text="bind:owner"/>
  83. <Cell col="1" edittype="normal" style="align:left;" text="bind:table_name" editdisplay="display"/>
  84. <Cell col="2" edittype="normal" style="align:left;" text="bind:comments" editdisplay="display" tooltiptext="bind:comments" autosizerow="limitmax" autosizecol="default"/>
  85. <Cell col="3" edittype="normal" text="bind:owner"/>
  86. <Cell col="4" style="align:left;" text="bind:domain"/>
  87. <Cell col="5" style="align:left;" text="bind:object_type"/>
  88. </Band>
  89. </Format>
  90. </Formats>
  91. </Grid>
  92. <Div id="Div00" taborder="6" position="absolute 0 24 186 87" style="background:beige;border:1 solid #808080ff ;" visible="false">
  93. <Layouts>
  94. <Layout>
  95. <Edit id="Edit00" taborder="0" position="absolute 6 7 178 29" anchor="default"/>
  96. <Button id="Button01" taborder="1" text="추가" onclick="Tab00_tabpage1_PopupDiv00_Button01_onclick" position="absolute 7 35 61 55" anchor="default"/>
  97. <Button id="Button00" taborder="2" text="닫기" position="absolute 125 35 177 56" onclick="Tab00_tabpage1_Div00_Button00_onclick" anchor="default"/>
  98. </Layout>
  99. </Layouts>
  100. </Div>
  101. <Combo id="Combo00" taborder="1" text="Combo00" position="absolute 1 1 186 24" innerdataset="@ds_domain" datacolumn="domain" codecolumn="domain" type="search" visible="true" onkeydown="Tab00_tabpage1_Combo00_onkeydown" onitemchanged="Tab00_tabpage1_Combo00_onitemchanged"/>
  102. <Button id="Button00" taborder="2" text="등록" position="absolute 268 2 312 24" onclick="Tab00_tabpage1_Button00_onclick" visible="false"/>
  103. <CheckBox id="CheckBox00" taborder="7" text="입력 중" position="absolute 196 5 263 21" truevalue="Y" falsevalue="N" onclick="Tab00_tabpage1_CheckBox00_onclick"/>
  104. <Grid id="grd_favTable00" taborder="8" binddataset="fafds" useinputpanel="false" cellsizingtype="both" onkeydown="grd_favTable_onkeydown" oncellclick="grd_favTable_oncellclick" position="absolute -4 -466 540 -131" anchor="all">
  105. <Formats>
  106. <Format id="default">
  107. <Columns>
  108. <Column size="57"/>
  109. <Column size="111"/>
  110. <Column size="248"/>
  111. <Column size="0"/>
  112. <Column size="56"/>
  113. <Column size="60"/>
  114. </Columns>
  115. <Rows>
  116. <Row size="24" band="head"/>
  117. <Row size="24"/>
  118. </Rows>
  119. <Band id="head">
  120. <Cell text="사용자"/>
  121. <Cell col="1" text="테이블명"/>
  122. <Cell col="2" text="설명"/>
  123. <Cell col="3" text="owner"/>
  124. <Cell col="4" text="업무"/>
  125. <Cell col="5" text="Type"/>
  126. </Band>
  127. <Band id="body">
  128. <Cell text="bind:owner"/>
  129. <Cell col="1" edittype="normal" style="align:left;" text="bind:table_name" editdisplay="display"/>
  130. <Cell col="2" edittype="normal" style="align:left;" text="bind:comments" editdisplay="display" tooltiptext="bind:comments" autosizerow="limitmax" autosizecol="default"/>
  131. <Cell col="3" edittype="normal" text="bind:owner"/>
  132. <Cell col="4" text="bind:domain"/>
  133. <Cell col="5" text="bind:object_type"/>
  134. </Band>
  135. </Format>
  136. </Formats>
  137. </Grid>
  138. </Layout>
  139. </Layouts>
  140. </Tabpage>
  141. <Tabpage id="tabpage2" text="History">
  142. <Layouts>
  143. <Layout>
  144. <Grid id="grd_HistTable" taborder="0" binddataset="histds" useinputpanel="false" cellsizingtype="both" oncellclick="fTblGridOnClick" position="absolute 0 3 543 370" anchor="all" onkeydown="fGridKeyDownEvents">
  145. <Formats>
  146. <Format id="default">
  147. <Columns>
  148. <Column size="57"/>
  149. <Column size="111"/>
  150. <Column size="296"/>
  151. <Column size="0"/>
  152. <Column size="60"/>
  153. </Columns>
  154. <Rows>
  155. <Row size="24" band="head"/>
  156. <Row size="24"/>
  157. </Rows>
  158. <Band id="head">
  159. <Cell text="사용자"/>
  160. <Cell col="1" text="테이블명"/>
  161. <Cell col="2" text="설명"/>
  162. <Cell col="3" text="owner"/>
  163. <Cell col="4" text="Type"/>
  164. </Band>
  165. <Band id="body">
  166. <Cell text="bind:owner"/>
  167. <Cell col="1" edittype="normal" style="align:left;" text="bind:table_name" editdisplay="display"/>
  168. <Cell col="2" edittype="normal" style="align:left;" text="bind:comments" editdisplay="display" tooltiptext="bind:comments" autosizerow="limitmax" autosizecol="default"/>
  169. <Cell col="3" edittype="normal" text="bind:owner"/>
  170. <Cell col="4" text="bind:object_type"/>
  171. </Band>
  172. </Format>
  173. </Formats>
  174. </Grid>
  175. </Layout>
  176. </Layouts>
  177. </Tabpage>
  178. <Tabpage id="tabpage3" text="tabpage3">
  179. <Layouts>
  180. <Layout>
  181. <Grid id="grd_workgroup" taborder="0" binddataset="grd_workgroup" useinputpanel="false" cellsizingtype="both" onkeydown="Tab00_tabpage2_grd_HistTable_onkeydown" oncellclick="grd_favTable_oncellclick" position="absolute 84 28 543 241" anchor="all">
  182. <Formats>
  183. <Format id="default">
  184. <Columns>
  185. <Column size="57"/>
  186. <Column size="111"/>
  187. <Column size="296"/>
  188. <Column size="0"/>
  189. <Column size="60"/>
  190. </Columns>
  191. <Rows>
  192. <Row size="24" band="head"/>
  193. <Row size="24"/>
  194. </Rows>
  195. <Band id="head">
  196. <Cell text="사용자"/>
  197. <Cell col="1" text="테이블명"/>
  198. <Cell col="2" text="설명"/>
  199. <Cell col="3" text="owner"/>
  200. <Cell col="4" text="Type"/>
  201. </Band>
  202. <Band id="body">
  203. <Cell text="bind:owner"/>
  204. <Cell col="1" edittype="normal" style="align:left;" text="bind:table_name" editdisplay="display"/>
  205. <Cell col="2" edittype="normal" style="align:left;" text="bind:comments" editdisplay="display" tooltiptext="bind:comments" autosizerow="limitmax" autosizecol="default"/>
  206. <Cell col="3" edittype="normal" text="bind:owner"/>
  207. <Cell col="4" text="bind:object_type"/>
  208. </Band>
  209. </Format>
  210. </Formats>
  211. </Grid>
  212. <Edit id="Edit00" taborder="1" position="absolute 83 2 314 25"/>
  213. </Layout>
  214. </Layouts>
  215. </Tabpage>
  216. </Tabpages>
  217. </Tab>
  218. <CheckBox id="CheckBox02" taborder="9" text="Column" position="absolute 205 3 280 18" falsevalue="N" truevalue="Y" value="N" onclick="CheckBox02_onclick"/>
  219. <Static id="Static01" position="absolute 608 3 819 22" style="font:Dotum,9,bold;"/>
  220. <Combo id="cbDbType" taborder="11" position="absolute 289 2 381 22" codecolumn="codecolumn" datacolumn="datacolumn" index="-1" onitemchanged="cbDbType_onitemchanged" visible="true">
  221. <Dataset id="innerdataset">
  222. <ColumnInfo>
  223. <Column id="codecolumn" size="256"/>
  224. <Column id="datacolumn" size="256"/>
  225. </ColumnInfo>
  226. <Rows>
  227. <Row>
  228. <Col id="codecolumn">EMR</Col>
  229. <Col id="datacolumn">EMR</Col>
  230. </Row>
  231. <Row>
  232. <Col id="codecolumn">MIS</Col>
  233. <Col id="datacolumn">MIS</Col>
  234. </Row>
  235. </Rows>
  236. </Dataset>
  237. </Combo>
  238. <Splitter id="Splitter01" position="absolute 553 555 1193 561" type="vertical" style="background:bisque;border:0 solid #7eb1dcff ;bordertype:normal 1 1 ;" anchor="left top right">
  239. <Formats>
  240. <Format id="default">
  241. <SplitterItems id="items">
  242. <SplitterItem id="item00" bindtype="resize" position="leftortop" offset="0" componentid="Tab01"/>
  243. <SplitterItem id="item01" bindtype="resize" position="rightorbottom" offset="0" componentid="Div02"/>
  244. </SplitterItems>
  245. </Format>
  246. </Formats>
  247. </Splitter>
  248. <Div id="Div02" taborder="14" text="Div02" position="absolute 553 562 1192 697" style="background:white;" anchor="left top right">
  249. <Layouts>
  250. <Layout>
  251. <Grid id="Grid03" taborder="2" binddataset="ds_code_info" useinputpanel="false" position="absolute 0 29 634 133" anchor="all" autoenter="select" readonly="false">
  252. <Formats>
  253. <Format id="default">
  254. <Columns>
  255. <Column size="79"/>
  256. <Column size="83"/>
  257. <Column size="133"/>
  258. <Column size="320"/>
  259. </Columns>
  260. <Rows>
  261. <Row size="24" band="head"/>
  262. <Row size="24"/>
  263. </Rows>
  264. <Band id="head">
  265. <Cell text="그룹"/>
  266. <Cell col="1" text="코드"/>
  267. <Cell col="2" text="코드명"/>
  268. <Cell col="3" text="코드설명"/>
  269. </Band>
  270. <Band id="body">
  271. <Cell edittype="text" text="bind:cdgrupid" editautoselect="true"/>
  272. <Cell col="1" edittype="text" style="align:left;" text="bind:cdid" editautoselect="true"/>
  273. <Cell col="2" edittype="text" style="align:left;" text="bind:cdnm" editautoselect="true"/>
  274. <Cell col="3" edittype="text" style="align:left;" text="bind:detldesc" editautoselect="true"/>
  275. </Band>
  276. </Format>
  277. </Formats>
  278. </Grid>
  279. <Combo id="Combo00" taborder="0" text="Combo00" position="absolute 0 4 112 27" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  280. <Dataset id="innerdataset">
  281. <ColumnInfo>
  282. <Column id="codecolumn" size="256"/>
  283. <Column id="datacolumn" size="256"/>
  284. </ColumnInfo>
  285. <Rows>
  286. <Row>
  287. <Col id="codecolumn">zbcmcode</Col>
  288. <Col id="datacolumn">공통코드</Col>
  289. </Row>
  290. <Row>
  291. <Col id="codecolumn">mnwmcode</Col>
  292. <Col id="datacolumn">간호공통코드</Col>
  293. </Row>
  294. <Row>
  295. <Col id="codecolumn">mmbdhrcd</Col>
  296. <Col id="datacolumn">진료하드코드</Col>
  297. </Row>
  298. <Row>
  299. <Col id="codecolumn">pmcmcode</Col>
  300. <Col id="datacolumn">원무공통코드</Col>
  301. </Row>
  302. </Rows>
  303. </Dataset>
  304. </Combo>
  305. <Edit id="Edit00" taborder="1" position="absolute 120 4 293 26" onkeydown="Div02_Edit00_onkeydown" inputmode="upper" autoselect="true" anchor="default"/>
  306. <CheckBox id="CheckBox00" taborder="3" text="포함" position="absolute 322 5 376 25" falsevalue="N" truevalue="Y"/>
  307. </Layout>
  308. </Layouts>
  309. </Div>
  310. <CheckBox id="CheckBox04" taborder="15" position="absolute 553 708 570 728" falsevalue="N" truevalue="Y"/>
  311. <Tab id="Tab01" taborder="17" tabindex="2" scrollbars="autoboth" position="absolute 552 24 1197 552" style="background:azure URL('theme://images/bg_tab_BodyTop.png') stretch 10,26;" anchor="left top right" canchange="Tab01_canchange">
  312. <Tabpages>
  313. <Tabpage id="tabpage1" text="컬럼정보">
  314. <Layouts>
  315. <Layout>
  316. <Grid id="Grid01" taborder="0" binddataset="ds_column_info" autoenter="select" useinputpanel="false" cellsizingtype="both" onkeydown="Grid01_onkeydown" onkeyup="Grid01_onkeyup" onsetfocus="Grid01_onsetfocus" onkillfocus="Grid01_onkillfocus" oncellclick="Grid01_oncellclick" oncelldblclick="Grid01_oncelldblclick" onnodataareadblclick="Grid01_onnodataareadblclick" tooltiptype="hover" anchor="all" position="absolute 0 31 644 498" positiontype="position">
  317. <Formats>
  318. <Format id="default">
  319. <Columns>
  320. <Column size="20"/>
  321. <Column size="112"/>
  322. <Column size="280"/>
  323. <Column size="40"/>
  324. <Column size="116"/>
  325. <Column size="25"/>
  326. <Column size="0"/>
  327. <Column size="0"/>
  328. <Column size="25"/>
  329. </Columns>
  330. <Rows>
  331. <Row size="24" band="head"/>
  332. <Row size="24"/>
  333. </Rows>
  334. <Band id="head">
  335. <Cell/>
  336. <Cell col="1" text="컬럼ID"/>
  337. <Cell col="2" text="컬럼명"/>
  338. <Cell col="3" text="순번"/>
  339. <Cell col="4" text="타입(길이)"/>
  340. <Cell col="5" text="null"/>
  341. <Cell col="6" text="기본값"/>
  342. <Cell col="7"/>
  343. <Cell col="8" text="PK"/>
  344. </Band>
  345. <Band id="body">
  346. <Cell text="expr:ds_column_info.rowposition == currow? '▶':''"/>
  347. <Cell col="1" displaytype="normal" edittype="none" style="align:left;" text="bind:id" editdisplay="edit"/>
  348. <Cell col="2" edittype="text" style="align:left;" text="bind:nm" tooltiptype="none" tooltiptext="bind:nm"/>
  349. <Cell col="3" text="bind:seq"/>
  350. <Cell col="4" edittype="none" text="bind:typeflag"/>
  351. <Cell col="5" text="bind:nullflag"/>
  352. <Cell col="6" text="bind:defaultval"/>
  353. <Cell col="7" text="bind:pkyn"/>
  354. <Cell col="8" text="bind:pkyn"/>
  355. </Band>
  356. </Format>
  357. </Formats>
  358. </Grid>
  359. <Static id="caption00" text="컬럼명" class="tit_2" position="absolute 3 8 66 25"/>
  360. <Edit id="ipt_column_name" taborder="1" inputmode="upper" autoselect="true" onkeydown="ipt_column_name_onkeydown" ontextchanged="ipt_column_name_ontextchanged" class="input_search" position="absolute 74 7 183 26"/>
  361. <CheckBox id="CheckBox01" taborder="2" text="포함 여부" value="N" truevalue="Y" falsevalue="N" position="absolute 194 9 269 24"/>
  362. <CheckBox id="CheckBox03" taborder="3" text="색상표시" value="N" truevalue="Y" falsevalue="N" onclick="CheckBox03_onclick" position="absolute 283 8 355 24"/>
  363. <CheckBox id="CheckBox00" taborder="4" text="주석여부" value="N" truevalue="Y" falsevalue="N" position="absolute 364 6 434 26"/>
  364. <Static id="caption2" text="DB(AS)" class="search_name" position="absolute 445 8 504 25"/>
  365. <Edit id="Edit00" taborder="5" position="absolute 509 6 559 26"/>
  366. </Layout>
  367. </Layouts>
  368. </Tabpage>
  369. <Tabpage id="tabpage2" text="Source">
  370. <Layouts>
  371. <Layout>
  372. <Static id="st_view_name" position="absolute 3 0 376 14" text="TEST" style="background:transparent;"/>
  373. <TextArea id="txt_viewSrc" taborder="1" autoselect="false" position="absolute 0 16 641 501" style="font:돋움체,10;" anchor="all"/>
  374. </Layout>
  375. </Layouts>
  376. </Tabpage>
  377. <Tabpage id="tabpage3" text="Dependencies">
  378. <Layouts>
  379. <Layout>
  380. <Grid id="Grid00" taborder="0" useinputpanel="false" position="absolute 1 27 644 501" binddataset="ds_dependencies" cellsizebandtype="body" cellsizingtype="both" autoenter="select" readonly="false" anchor="all">
  381. <Formats>
  382. <Format id="default">
  383. <Columns>
  384. <Column size="40"/>
  385. <Column size="80"/>
  386. <Column size="271"/>
  387. <Column size="79"/>
  388. <Column size="102"/>
  389. </Columns>
  390. <Rows>
  391. <Row size="24" band="head"/>
  392. <Row size="24"/>
  393. </Rows>
  394. <Band id="head">
  395. <Cell text="No"/>
  396. <Cell col="1" text="Owner"/>
  397. <Cell col="2" text="Dep Name"/>
  398. <Cell col="3" text="Status"/>
  399. <Cell col="4" text="type"/>
  400. </Band>
  401. <Band id="body">
  402. <Cell edittype="text" style="color:EXPR((status == 'INVALID'? 'silver':''));color2:EXPR((status == 'INVALID'? 'silver':''));" text="expr:currow" editdisplay="edit"/>
  403. <Cell col="1" displaytype="text" edittype="text" style="color:EXPR((status == 'INVALID'? 'silver':''));color2:EXPR((status == 'INVALID'? 'silver':''));" text="bind:owner" editautoselect="true" editdisplay="edit"/>
  404. <Cell col="2" displaytype="text" edittype="text" style="align:left;color:EXPR((status == 'INVALID'? 'silver':''));color2:EXPR((status == 'INVALID'? 'silver':''));" text="bind:name" editautoselect="true" editdisplay="edit"/>
  405. <Cell col="3" displaytype="text" edittype="text" style="color:EXPR((status == 'INVALID'? 'silver':''));color2:EXPR((status == 'INVALID'? 'silver':''));" text="bind:status" editautoselect="true" editdisplay="edit"/>
  406. <Cell col="4" displaytype="text" edittype="text" style="align:left;color:EXPR((status == 'INVALID'? 'silver':''));color2:EXPR((status == 'INVALID'? 'silver':''));" text="bind:object_type" editautoselect="true" editdisplay="edit"/>
  407. </Band>
  408. </Format>
  409. </Formats>
  410. </Grid>
  411. <Button id="btnLeftMove" taborder="1" text="◀ 옮기기" position="absolute 3 2 76 23" onclick="Tab01_tabpage3_btnLeftMove_onclick"/>
  412. <Combo id="cbObjectTypeDep" taborder="2" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 92 2 214 23" onitemchanged="Tab01_tabpage3_cbObjectTypeDep_onitemchanged">
  413. <Dataset id="innerdataset">
  414. <ColumnInfo>
  415. <Column id="codecolumn" size="256"/>
  416. <Column id="datacolumn" size="256"/>
  417. </ColumnInfo>
  418. <Rows>
  419. <Row>
  420. <Col id="codecolumn"/>
  421. <Col id="datacolumn"/>
  422. </Row>
  423. <Row>
  424. <Col id="codecolumn">TABLE</Col>
  425. <Col id="datacolumn">TABLE</Col>
  426. </Row>
  427. <Row>
  428. <Col id="codecolumn">VIEW</Col>
  429. <Col id="datacolumn">VIEW</Col>
  430. </Row>
  431. <Row>
  432. <Col id="codecolumn">FUNCTION</Col>
  433. <Col id="datacolumn">FUNCTION</Col>
  434. </Row>
  435. <Row>
  436. <Col id="codecolumn">PROCEDURE</Col>
  437. <Col id="datacolumn">PROCEDURE</Col>
  438. </Row>
  439. <Row>
  440. <Col id="codecolumn">TRIGGER</Col>
  441. <Col id="datacolumn">TRIGGER</Col>
  442. </Row>
  443. </Rows>
  444. </Dataset>
  445. </Combo>
  446. </Layout>
  447. </Layouts>
  448. </Tabpage>
  449. </Tabpages>
  450. </Tab>
  451. <Static id="Static02" position="absolute 552 3 599 22" style="background:transparent;font:Dotum,9,bold;"/>
  452. <Grid id="Grid00" taborder="21" binddataset="ds" useinputpanel="false" cellsizingtype="both" onkeydown="fGridKeyDownEvents" onkeyup="fGridKeyUpEvents" oncellclick="fTblGridOnClick" position="absolute 0 79 549 455" anchor="left top bottom" tooltiptype="hover">
  453. <Formats>
  454. <Format id="default">
  455. <Columns>
  456. <Column size="57"/>
  457. <Column size="111"/>
  458. <Column size="296"/>
  459. <Column size="0"/>
  460. <Column size="59"/>
  461. </Columns>
  462. <Rows>
  463. <Row size="24" band="head"/>
  464. <Row size="24"/>
  465. </Rows>
  466. <Band id="head">
  467. <Cell text="사용자"/>
  468. <Cell col="1" text="테이블명"/>
  469. <Cell col="2" text="설명"/>
  470. <Cell col="3" text="owner"/>
  471. <Cell col="4" text="Type"/>
  472. </Band>
  473. <Band id="body">
  474. <Cell edittype="text" text="bind:owner"/>
  475. <Cell col="1" edittype="normal" style="align:left;" text="bind:table_name" editdisplay="display" tooltiptext="bind:table_name"/>
  476. <Cell col="2" edittype="normal" style="align:left;" text="bind:comments" editdisplay="display" tooltiptext="bind:comments" autosizerow="limitmax" autosizecol="default"/>
  477. <Cell col="3" edittype="normal" text="bind:owner"/>
  478. <Cell col="4" style="align:left;" text="bind:object_type"/>
  479. </Band>
  480. </Format>
  481. </Formats>
  482. </Grid>
  483. <Combo id="cbObjectType" taborder="22" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="cbObjectType_onitemchanged" position="absolute 1 51 123 73">
  484. <Dataset id="innerdataset">
  485. <ColumnInfo>
  486. <Column id="codecolumn" size="256"/>
  487. <Column id="datacolumn" size="256"/>
  488. </ColumnInfo>
  489. <Rows>
  490. <Row>
  491. <Col id="codecolumn"/>
  492. <Col id="datacolumn"/>
  493. </Row>
  494. <Row>
  495. <Col id="codecolumn">TABLE</Col>
  496. <Col id="datacolumn">TABLE</Col>
  497. </Row>
  498. <Row>
  499. <Col id="codecolumn">VIEW</Col>
  500. <Col id="datacolumn">VIEW</Col>
  501. </Row>
  502. <Row>
  503. <Col id="codecolumn">FUNCTION</Col>
  504. <Col id="datacolumn">FUNCTION</Col>
  505. </Row>
  506. <Row>
  507. <Col id="codecolumn">PROCEDURE</Col>
  508. <Col id="datacolumn">PROCEDURE</Col>
  509. </Row>
  510. <Row>
  511. <Col id="codecolumn">TRIGGER</Col>
  512. <Col id="datacolumn">TRIGGER</Col>
  513. </Row>
  514. </Rows>
  515. </Dataset>
  516. </Combo>
  517. <Div id="Div00" taborder="10" position="absolute 1261 228 1504 508" style="background:azure;border:1 solid #808080ff ;" visible="false">
  518. <Layouts>
  519. <Layout>
  520. <Grid id="Grid00" taborder="0" useinputpanel="false" position="absolute 5 62 194 198" anchor="default" binddataset="ds_hrcd">
  521. <Formats/>
  522. </Grid>
  523. <Button id="Button00" taborder="1" text="Button00" position="absolute 5 8 113 29" onclick="Div00_Button00_onclick" anchor="default"/>
  524. <Button id="Button01" taborder="2" text="Button01" position="absolute 13 38 115 58" onclick="Div00_Button01_onclick" anchor="default"/>
  525. <Button id="Button02" taborder="3" text="Button00" onclick="Button00_onclick" position="absolute 10 216 118 246" anchor="default"/>
  526. <Button id="Button03" taborder="4" text="로그테스트" onclick="Button01_onclick" visible="true" position="absolute 13 252 122 275" anchor="default"/>
  527. </Layout>
  528. </Layouts>
  529. </Div>
  530. <Button id="btnReload" taborder="23" text="R" position="absolute 512 1 546 21" onclick="btnReload_onclick"/>
  531. <Div id="Div01" taborder="13" text="Div01" position="absolute 1204 27 1493 206" style="background:antiquewhite;align:center top;" visible="false">
  532. <Layouts>
  533. <Layout width="641" height="395">
  534. <Edit id="Edit00" taborder="0" position="absolute 4 11 160 38" anchor="default"/>
  535. <Grid id="Grid00" taborder="1" useinputpanel="false" position="absolute 8 40 280 169" binddataset="ds_test_grd" anchor="default">
  536. <Formats>
  537. <Format id="default">
  538. <Columns>
  539. <Column size="123"/>
  540. <Column size="147"/>
  541. </Columns>
  542. <Rows>
  543. <Row size="24" band="head"/>
  544. <Row size="24"/>
  545. </Rows>
  546. <Band id="head">
  547. <Cell/>
  548. <Cell col="1"/>
  549. </Band>
  550. <Band id="body">
  551. <Cell text="bind:prcpcd"/>
  552. <Cell col="1" text="bind:prcpnm"/>
  553. </Band>
  554. </Format>
  555. </Formats>
  556. </Grid>
  557. <Button id="Button00" taborder="2" text="Procedure 실행" position="absolute 166 11 276 35" onclick="Div01_Button00_onclick" anchor="default"/>
  558. </Layout>
  559. </Layouts>
  560. </Div>
  561. <Edit id="Edit00" taborder="24" position="absolute 796 27 1088 44"/>
  562. <Div id="divRepSql" taborder="16" text="Div03" position="absolute 1520 193 2562 885" style="background:cornsilk;" visible="false" onrbuttondown="divRepSql_onrbuttondown">
  563. <Layouts>
  564. <Layout>
  565. <Grid id="Grid00" taborder="0" useinputpanel="false" position="absolute 15 54 287 675" binddataset="ds_parameter" anchor="default" autoenter="select" onkeydown="Div03_Grid00_onkeydown">
  566. <Formats>
  567. <Format id="default">
  568. <Columns>
  569. <Column size="55"/>
  570. <Column size="98"/>
  571. <Column size="96"/>
  572. </Columns>
  573. <Rows>
  574. <Row size="24" band="head"/>
  575. <Row size="24"/>
  576. </Rows>
  577. <Band id="head">
  578. <Cell/>
  579. <Cell col="1"/>
  580. <Cell col="2"/>
  581. </Band>
  582. <Band id="body">
  583. <Cell text="expr:currow"/>
  584. <Cell col="1" edittype="text" text="bind:before" editautoselect="true"/>
  585. <Cell col="2" edittype="text" text="bind:after" editautoselect="true"/>
  586. </Band>
  587. </Format>
  588. </Formats>
  589. </Grid>
  590. <Button id="Button00" taborder="1" text="찾기" position="absolute 16 19 131 46" anchor="default" onclick="Div03_Button00_onclick"/>
  591. <TextArea id="TextArea00" taborder="2" position="absolute 294 60 1025 360" autoselect="true" anchor="default"/>
  592. <TextArea id="TextArea01" taborder="3" position="absolute 292 367 1023 676" autoselect="true" anchor="default"/>
  593. <Button id="Button01" taborder="4" text="치환" position="absolute 139 17 252 45" onclick="divRepSql_Button01_onclick" anchor="default"/>
  594. </Layout>
  595. </Layouts>
  596. </Div>
  597. <Button id="btn_merge" taborder="26" text="Merge 문 생성" class="btn4_letter8" position="absolute 976 707 1069 729" onclick="btn_merge_onclick"/>
  598. <Div id="divScript" taborder="25" text="Div03" position="absolute 1200 244 2398 1089" style="background:cornsilk;" visible="false" anchor="all">
  599. <Layouts>
  600. <Layout>
  601. <Combo id="cbScriptowner" taborder="0" position="absolute 16 13 156 37" anchor="default" innerdataset="@ds_dbUsers" datacolumn="owner" codecolumn="owner" index="-1"/>
  602. <Edit id="edtScripttablename" taborder="1" position="absolute 168 13 324 37" inputmode="upper" anchor="default"/>
  603. <Grid id="Grid00" taborder="2" useinputpanel="false" position="absolute 224 69 1192 444" binddataset="ds_scriptcolumn" anchor="left top right" cellsizingtype="col" autoenter="select" onkeydown="divScript_Grid00_onkeydown" selecttype="multirow" onkillfocus="divScript_Grid00_onkillfocus">
  604. <Formats>
  605. <Format id="default">
  606. <Columns>
  607. <Column size="26"/>
  608. <Column size="40"/>
  609. <Column size="124"/>
  610. <Column size="108"/>
  611. <Column size="64"/>
  612. <Column size="80"/>
  613. <Column size="53"/>
  614. <Column size="62"/>
  615. <Column size="393"/>
  616. </Columns>
  617. <Rows>
  618. <Row size="24" band="head"/>
  619. <Row size="24"/>
  620. </Rows>
  621. <Band id="head">
  622. <Cell/>
  623. <Cell col="1" text="No"/>
  624. <Cell col="2" text="컬럼명"/>
  625. <Cell col="3" text="타입"/>
  626. <Cell col="4" text="길이"/>
  627. <Cell col="5" text="Not Null"/>
  628. <Cell col="6" text="기본값"/>
  629. <Cell col="7" text="PK"/>
  630. <Cell col="8" text="설명"/>
  631. </Band>
  632. <Band id="body">
  633. <Cell/>
  634. <Cell col="1" text="expr:currow+1"/>
  635. <Cell col="2" edittype="text" editfilter="upper,number,char" text="bind:columnname" editautoselect="true"/>
  636. <Cell col="3" displaytype="combo" edittype="combo" style="padding:2 2 2 2;" text="bind:type" editautoselect="true" combodataset="ds_scripttypecd" combocodecol="type" combodatacol="type"/>
  637. <Cell col="4" edittype="text" editfilter="number,char" style="align:center;" text="bind:length" editautoselect="true"/>
  638. <Cell col="5" displaytype="combo" edittype="combo" style="align:center;" text="bind:isnotnull" editautoselect="true" combodataset="ds_yesno" combocodecol="flag" combodatacol="flag"/>
  639. <Cell col="6" edittype="text" text="bind:defaultval" editautoselect="true"/>
  640. <Cell col="7" displaytype="combo" edittype="combo" style="align:center;" text="bind:ispk" editautoselect="true" combodataset="ds_yesno" combocodecol="flag" combodatacol="flag"/>
  641. <Cell col="8" edittype="text" text="bind:columncomment" editautoselect="true"/>
  642. </Band>
  643. </Format>
  644. </Formats>
  645. </Grid>
  646. <Button id="btnScriptAction" taborder="3" text="행 추가" position="absolute 797 46 874 66" onclick="Div03_btnScriptAction_onclick" anchor="default"/>
  647. <Edit id="edtScriptcomment" taborder="4" position="absolute 356 13 823 37" anchor="default"/>
  648. <Button id="btnScriptAction00" taborder="5" text="행 삭제" onclick="Div03_btnScriptAction_onclick" position="absolute 876 46 953 66" anchor="default"/>
  649. <Button id="btnScriptGen" taborder="6" text="생성" position="absolute 1113 46 1190 66" onclick="Div03_btnScriptGen_onclick" anchor="default"/>
  650. <Button id="btnScriptAction01" taborder="9" text="위로" onclick="Div03_btnScriptAction_onclick" position="absolute 955 46 1032 66" anchor="default"/>
  651. <Button id="btnScriptAction02" taborder="10" text="아래로" onclick="Div03_btnScriptAction_onclick" position="absolute 1034 46 1111 66" anchor="default"/>
  652. <Tab id="Tab00" taborder="11" tabindex="0" scrollbars="autoboth" position="absolute 1 450 1196 840" anchor="all" style="background:honeydew URL('theme://images/bg_tab_BodyTop.png') stretch 10,26;">
  653. <Tabpages>
  654. <Tabpage id="tabpage1" text="컬럼">
  655. <Layouts>
  656. <Layout>
  657. <Edit id="Edit00" taborder="1" inputmode="upper" onkeydown="Div03_Div00_Edit00_onkeydown" position="absolute 2 6 157 30" anchor="default" autoselect="true"/>
  658. <Grid id="Grid00" taborder="2" binddataset="ds_columnlist" useinputpanel="false" cellsizingtype="col" oncelldblclick="divColumnlist_Grid00_oncelldblclick" position="absolute 3 34 1191 359" anchor="all">
  659. <Formats>
  660. <Format id="default">
  661. <Columns>
  662. <Column size="58"/>
  663. <Column size="99"/>
  664. <Column size="339"/>
  665. <Column size="134"/>
  666. <Column size="93"/>
  667. <Column size="44"/>
  668. <Column size="83"/>
  669. <Column size="310"/>
  670. </Columns>
  671. <Rows>
  672. <Row size="24" band="head"/>
  673. <Row size="24"/>
  674. </Rows>
  675. <Band id="head">
  676. <Cell text="사용자"/>
  677. <Cell col="1" text="테이블명"/>
  678. <Cell col="2" text="테이블 코멘트"/>
  679. <Cell col="3" text="컬럼명"/>
  680. <Cell col="4" text="타입"/>
  681. <Cell col="5" text="길이"/>
  682. <Cell col="6" text="기본값"/>
  683. <Cell col="7" text="컬럼 코멘트"/>
  684. </Band>
  685. <Band id="body">
  686. <Cell text="bind:owner"/>
  687. <Cell col="1" style="align:left;" text="bind:tablename"/>
  688. <Cell col="2" edittype="textarea" style="align:left;" text="bind:tablecomment" tooltiptype="mouse" tooltiptext="bind:tablecomment"/>
  689. <Cell col="3" style="align:left;" text="bind:columnname"/>
  690. <Cell col="4" text="bind:type"/>
  691. <Cell col="5" text="bind:length"/>
  692. <Cell col="6" text="bind:defaultva"/>
  693. <Cell col="7" edittype="textarea" style="align:left;" text="bind:columncomment" tooltiptype="mouse" tooltiptext="bind:columncomment"/>
  694. </Band>
  695. </Format>
  696. </Formats>
  697. </Grid>
  698. </Layout>
  699. </Layouts>
  700. </Tabpage>
  701. <Tabpage id="tabpage2" text="스크립트">
  702. <Layouts>
  703. <Layout>
  704. <TextArea id="TextArea00" taborder="0" position="absolute 3 -2 1190 358" anchor="all"/>
  705. </Layout>
  706. </Layouts>
  707. </Tabpage>
  708. </Tabpages>
  709. </Tab>
  710. <Button id="btnScriptsave" taborder="12" text="저장" position="absolute 639 46 716 66" anchor="default" onclick="Div03_btnScriptAction_onclick"/>
  711. <Grid id="Grid01" taborder="13" useinputpanel="false" position="absolute 4 69 219 444" binddataset="ds_scripttable" anchor="default" oncellclick="divScript_Grid01_oncellclick" cellsizingtype="col">
  712. <Formats>
  713. <Format id="default">
  714. <Columns>
  715. <Column size="25"/>
  716. <Column size="47"/>
  717. <Column size="121"/>
  718. </Columns>
  719. <Rows>
  720. <Row size="24" band="head"/>
  721. <Row size="24"/>
  722. </Rows>
  723. <Band id="head">
  724. <Cell/>
  725. <Cell col="1" text="Owner"/>
  726. <Cell col="2" text="테이블명"/>
  727. </Band>
  728. <Band id="body">
  729. <Cell text="expr:currow + 1"/>
  730. <Cell col="1" text="bind:owner"/>
  731. <Cell col="2" style="align:left;" text="bind:tablename" tooltiptype="mouse" tooltiptext="bind:comment"/>
  732. </Band>
  733. </Format>
  734. </Formats>
  735. </Grid>
  736. <Button id="btnScriptpaste" taborder="14" text="붙여넣기" position="absolute 560 46 637 66" onclick="divScript_btnScriptpaste_onclick" anchor="default"/>
  737. <Button id="btnScriptAction03" taborder="15" text="삭제" onclick="Div03_btnScriptAction_onclick" position="absolute 718 46 795 66"/>
  738. <Edit id="Edit00" taborder="16" position="absolute 14 41 163 63"/>
  739. </Layout>
  740. </Layouts>
  741. </Div>
  742. <Button id="btnFormOpen" taborder="27" text="Open" position="absolute 1050 2 1182 22" onclick="btnFormOpen_onclick" visible="true"/>
  743. </Layout>
  744. </Layouts>
  745. <Objects>
  746. <FilteredDataset id="fds" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" binddataset="@ds"/>
  747. <Dataset id="ds" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  748. <ColumnInfo>
  749. <Column id="table_name" type="STRING" size="256"/>
  750. <Column id="comments" type="STRING" size="256"/>
  751. <Column id="owner" type="STRING" size="256"/>
  752. <Column id="object_type" type="STRING" size="256"/>
  753. <Column id="domain" type="STRING" size="256"/>
  754. </ColumnInfo>
  755. <Rows>
  756. <Row/>
  757. </Rows>
  758. </Dataset>
  759. <Dataset id="ds_table_name" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  760. <ColumnInfo>
  761. <Column id="table_name" type="STRING" size="256"/>
  762. <Column id="object_type" type="STRING" size="256"/>
  763. </ColumnInfo>
  764. <Rows>
  765. <Row/>
  766. </Rows>
  767. </Dataset>
  768. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  769. <ColumnInfo>
  770. <Column id="owner" type="STRING" size="256"/>
  771. <Column id="table_name" type="STRING" size="256"/>
  772. <Column id="table_comment" type="STRING" size="256"/>
  773. <Column id="column_name" type="STRING" size="256"/>
  774. <Column id="domain" type="STRING" size="256"/>
  775. <Column id="domain_combo_inx" type="INT" size="256"/>
  776. <Column id="inputYn" type="STRING" size="256"/>
  777. <Column id="dbtype" type="STRING" size="256"/>
  778. <Column id="object_type" type="STRING" size="256"/>
  779. <Column id="selectcolumn" type="STRING" size="256"/>
  780. </ColumnInfo>
  781. <Rows>
  782. <Row>
  783. <Col id="inputYn">N</Col>
  784. </Row>
  785. </Rows>
  786. </Dataset>
  787. <Dataset id="ds_column_name" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  788. <ColumnInfo>
  789. <Column id="column_name" type="STRING" size="256"/>
  790. </ColumnInfo>
  791. <Rows>
  792. <Row/>
  793. </Rows>
  794. </Dataset>
  795. <Dataset id="ds_column_info" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  796. <ColumnInfo>
  797. <Column id="id" type="STRING" size="256"/>
  798. <Column id="nm" type="STRING" size="256"/>
  799. <Column id="seq" type="STRING" size="256"/>
  800. <Column id="typeflag" type="STRING" size="256"/>
  801. <Column id="nullflag" type="STRING" size="256"/>
  802. <Column id="defaultval" type="STRING" size="256"/>
  803. <Column id="pkyn" type="STRING" size="256"/>
  804. </ColumnInfo>
  805. <Rows>
  806. <Row/>
  807. </Rows>
  808. </Dataset>
  809. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  810. <ColumnInfo>
  811. <Column id="table_name" type="STRING" size="256"/>
  812. <Column id="owner" type="STRING" size="256"/>
  813. <Column id="cdgrupid" type="STRING" size="256"/>
  814. <Column id="hrcdtype" type="STRING" size="256"/>
  815. <Column id="likeyn" type="STRING" size="256"/>
  816. <Column id="columnname" type="STRING" size="256"/>
  817. <Column id="strrownum" type="STRING" size="256"/>
  818. <Column id="endrownum" type="STRING" size="256"/>
  819. </ColumnInfo>
  820. <Rows>
  821. <Row/>
  822. </Rows>
  823. </Dataset>
  824. <Dataset id="ds_index_info" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  825. <ColumnInfo>
  826. <Column id="index_name" type="STRING" size="256"/>
  827. <Column id="index_const" type="STRING" size="256"/>
  828. <Column id="index_type" type="STRING" size="256"/>
  829. </ColumnInfo>
  830. <Rows>
  831. <Row/>
  832. </Rows>
  833. </Dataset>
  834. <FilteredDataset id="fds_column_info" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" binddataset="@ds_column_info"/>
  835. <Dataset id="ds_dbas" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  836. <ColumnInfo>
  837. <Column id="dbasnm" type="STRING" size="256"/>
  838. <Column id="commentyn" type="STRING" size="256"/>
  839. <Column id="containYn" type="STRING" size="256"/>
  840. <Column id="searchColumn" type="STRING" size="256"/>
  841. <Column id="searchColumnDisplayType" type="STRING" size="256"/>
  842. <Column id="searchindexcolumn" type="STRING" size="256"/>
  843. </ColumnInfo>
  844. <Rows>
  845. <Row>
  846. <Col id="searchColumn">false</Col>
  847. <Col id="searchColumnDisplayType">N</Col>
  848. </Row>
  849. </Rows>
  850. </Dataset>
  851. <Dataset id="ds_code_info" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" cancolumnchange="ds_code_info_cancolumnchange">
  852. <ColumnInfo>
  853. <Column id="cdid" type="STRING" size="256"/>
  854. <Column id="cdnm" type="STRING" size="256"/>
  855. <Column id="detldesc" type="STRING" size="256"/>
  856. <Column id="cdgrupid" type="STRING" size="256"/>
  857. </ColumnInfo>
  858. </Dataset>
  859. <Dataset id="ds_dbUsers" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  860. <ColumnInfo>
  861. <Column id="owner" type="STRING" size="256"/>
  862. </ColumnInfo>
  863. <Rows>
  864. <Row/>
  865. <Row>
  866. <Col id="owner">EMR</Col>
  867. </Row>
  868. <Row>
  869. <Col id="owner">PAM</Col>
  870. </Row>
  871. <Row>
  872. <Col id="owner">COM</Col>
  873. </Row>
  874. <Row>
  875. <Col id="owner">MIS</Col>
  876. </Row>
  877. <Row>
  878. <Col id="owner">STS</Col>
  879. </Row>
  880. <Row>
  881. <Col id="owner">CRM</Col>
  882. </Row>
  883. <Row>
  884. <Col id="owner">AST</Col>
  885. </Row>
  886. <Row>
  887. <Col id="owner">LIS</Col>
  888. </Row>
  889. </Rows>
  890. </Dataset>
  891. <Dataset id="fafds" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  892. <ColumnInfo>
  893. <Column id="owner" type="STRING" size="256"/>
  894. <Column id="table_name" type="STRING" size="256"/>
  895. <Column id="comments" type="STRING" size="4000"/>
  896. <Column id="object_type" type="STRING" size="256"/>
  897. <Column id="domain" type="STRING" size="256"/>
  898. </ColumnInfo>
  899. </Dataset>
  900. <Dataset id="ds_viewSource" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  901. <ColumnInfo>
  902. <Column id="owner" type="STRING" size="256"/>
  903. <Column id="name" type="STRING" size="256"/>
  904. <Column id="text" type="STRING" size="999999"/>
  905. </ColumnInfo>
  906. <Rows>
  907. <Row>
  908. <Col id="text">cw==</Col>
  909. <Col id="name">s</Col>
  910. <Col id="owner">s</Col>
  911. </Row>
  912. </Rows>
  913. </Dataset>
  914. <Dataset id="ds_sample" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  915. <ColumnInfo>
  916. <Column id="radio_value" type="STRING" size="256"/>
  917. </ColumnInfo>
  918. <Rows>
  919. <Row/>
  920. </Rows>
  921. </Dataset>
  922. <Dataset id="histds" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  923. <ColumnInfo>
  924. <Column id="owner" type="STRING" size="256"/>
  925. <Column id="table_name" type="STRING" size="256"/>
  926. <Column id="comments" type="STRING" size="4000"/>
  927. <Column id="object_type" type="STRING" size="256"/>
  928. </ColumnInfo>
  929. </Dataset>
  930. <Dataset id="dsback" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  931. <ColumnInfo>
  932. <Column id="table_name" type="STRING" size="256"/>
  933. <Column id="comments" type="STRING" size="256"/>
  934. <Column id="owner" type="STRING" size="256"/>
  935. <Column id="object_type" type="STRING" size="256"/>
  936. </ColumnInfo>
  937. <Rows>
  938. <Row/>
  939. </Rows>
  940. </Dataset>
  941. <Dataset id="ds_domain" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  942. <ColumnInfo>
  943. <Column id="domain" type="STRING" size="256"/>
  944. </ColumnInfo>
  945. <Rows>
  946. <Row/>
  947. <Row>
  948. <Col id="domain">응급</Col>
  949. </Row>
  950. <Row>
  951. <Col id="domain">진료</Col>
  952. </Row>
  953. </Rows>
  954. </Dataset>
  955. <Dataset id="ds_hrcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  956. <Dataset id="ds_columcomment" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  957. <ColumnInfo>
  958. <Column id="owner" type="STRING" size="256"/>
  959. <Column id="tablename" type="STRING" size="256"/>
  960. <Column id="columnid" type="STRING" size="256"/>
  961. <Column id="comment" type="STRING" size="256"/>
  962. </ColumnInfo>
  963. </Dataset>
  964. <Dataset id="ds_pkcolumn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  965. <ColumnInfo>
  966. <Column id="id" type="STRING" size="256"/>
  967. </ColumnInfo>
  968. </Dataset>
  969. <Dataset id="ds_test" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  970. <ColumnInfo>
  971. <Column id="key" type="STRING" size="256"/>
  972. </ColumnInfo>
  973. <Rows>
  974. <Row/>
  975. </Rows>
  976. </Dataset>
  977. <Dataset id="ds_test_grd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  978. <Dataset id="arg_ds_arg1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  979. <ColumnInfo>
  980. <Column id="formno" type="STRING" size="256"/>
  981. </ColumnInfo>
  982. <Rows>
  983. <Row/>
  984. </Rows>
  985. </Dataset>
  986. <Dataset id="ds_parameter" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  987. <ColumnInfo>
  988. <Column id="id" type="STRING" size="256"/>
  989. <Column id="before" type="STRING" size="256"/>
  990. <Column id="after" type="STRING" size="256"/>
  991. </ColumnInfo>
  992. </Dataset>
  993. <Dataset id="ds_sql" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  994. <ColumnInfo>
  995. <Column id="id" type="STRING" size="256"/>
  996. <Column id="before" type="STRING" size="256"/>
  997. <Column id="after" type="STRING" size="256"/>
  998. </ColumnInfo>
  999. <Rows>
  1000. <Row/>
  1001. </Rows>
  1002. </Dataset>
  1003. <Dataset id="ds_dependencies" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1004. <ColumnInfo>
  1005. <Column id="lv" type="STRING" size="256"/>
  1006. <Column id="owner" type="STRING" size="256"/>
  1007. <Column id="name" type="STRING" size="256"/>
  1008. <Column id="status" type="STRING" size="256"/>
  1009. <Column id="table_name" type="STRING" size="256"/>
  1010. <Column id="object_type" type="STRING" size="256"/>
  1011. </ColumnInfo>
  1012. </Dataset>
  1013. <Dataset id="ds_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1014. <ColumnInfo>
  1015. <Column id="table_name" type="STRING" size="256"/>
  1016. <Column id="comments" type="STRING" size="256"/>
  1017. <Column id="owner" type="STRING" size="256"/>
  1018. <Column id="object_type" type="STRING" size="256"/>
  1019. <Column id="domain" type="STRING" size="256"/>
  1020. </ColumnInfo>
  1021. <Rows>
  1022. <Row/>
  1023. </Rows>
  1024. </Dataset>
  1025. <Dataset id="ds_scripttable" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1026. <ColumnInfo>
  1027. <Column id="owner" type="STRING" size="256"/>
  1028. <Column id="tablename" type="STRING" size="256"/>
  1029. <Column id="comment" type="STRING" size="256"/>
  1030. <Column id="tablespace" type="STRING" size="256"/>
  1031. <Column id="script" type="STRING" size="9999999"/>
  1032. </ColumnInfo>
  1033. </Dataset>
  1034. <Dataset id="ds_scriptcolumn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_scriptcolumn_oncolumnchanged">
  1035. <ColumnInfo>
  1036. <Column id="owner" type="STRING" size="256"/>
  1037. <Column id="tablename" type="STRING" size="256"/>
  1038. <Column id="columnname" type="STRING" size="256"/>
  1039. <Column id="type" type="STRING" size="256"/>
  1040. <Column id="length" type="STRING" size="256"/>
  1041. <Column id="isnotnull" type="STRING" size="256"/>
  1042. <Column id="defaultval" type="STRING" size="256"/>
  1043. <Column id="ispk" type="STRING" size="256"/>
  1044. <Column id="columncomment" type="STRING" size="256"/>
  1045. </ColumnInfo>
  1046. </Dataset>
  1047. <Dataset id="ds_scripttypecd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1048. <ColumnInfo>
  1049. <Column id="type" type="STRING" size="256"/>
  1050. <Column id="isreqlegnth" type="STRING" size="256"/>
  1051. </ColumnInfo>
  1052. <Rows>
  1053. <Row>
  1054. <Col id="type">VARCHAR2</Col>
  1055. <Col id="isreqlegnth">Y</Col>
  1056. </Row>
  1057. <Row>
  1058. <Col id="type">NUMBER</Col>
  1059. <Col id="isreqlegnth">Y</Col>
  1060. </Row>
  1061. <Row>
  1062. <Col id="type">TIMESTAMP</Col>
  1063. <Col id="isreqlegnth">N</Col>
  1064. </Row>
  1065. </Rows>
  1066. </Dataset>
  1067. <Dataset id="ds_columnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1068. <ColumnInfo>
  1069. <Column id="owner" type="STRING" size="256"/>
  1070. <Column id="tablename" type="STRING" size="256"/>
  1071. <Column id="tablecomment" type="STRING" size="256"/>
  1072. <Column id="columnname" type="STRING" size="256"/>
  1073. <Column id="type" type="STRING" size="256"/>
  1074. <Column id="length" type="STRING" size="256"/>
  1075. <Column id="columncomment" type="STRING" size="256"/>
  1076. <Column id="defaultva" type="STRING" size="256"/>
  1077. </ColumnInfo>
  1078. </Dataset>
  1079. <Dataset id="ds_yesno" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1080. <ColumnInfo>
  1081. <Column id="flag" type="STRING" size="256"/>
  1082. </ColumnInfo>
  1083. <Rows>
  1084. <Row/>
  1085. <Row>
  1086. <Col id="flag">Y</Col>
  1087. </Row>
  1088. <Row>
  1089. <Col id="flag">N</Col>
  1090. </Row>
  1091. </Rows>
  1092. </Dataset>
  1093. <Dataset id="ds_scriptinput" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_scriptinput_oncolumnchanged">
  1094. <ColumnInfo>
  1095. <Column id="owner" type="STRING" size="256"/>
  1096. <Column id="tablename" type="STRING" size="256"/>
  1097. <Column id="comment" type="STRING" size="256"/>
  1098. <Column id="tablespace" type="STRING" size="256"/>
  1099. <Column id="script" type="STRING" size="9999999"/>
  1100. <Column id="dsname" type="STRING" size="256"/>
  1101. </ColumnInfo>
  1102. <Rows>
  1103. <Row/>
  1104. </Rows>
  1105. </Dataset>
  1106. </Objects>
  1107. <Bind>
  1108. <BindItem id="item25" compid="cbObjectType" propid="value" datasetid="ds_table_name" columnid="object_type"/>
  1109. <BindItem id="item1" compid="Grid00" propid="tooltiptext" datasetid="fds" columnid=""/>
  1110. <BindItem id="item2" compid="Grid00" propid="readonly" datasetid="fds" columnid=""/>
  1111. <BindItem id="item0" compid="ipt_table_name" propid="value" datasetid="ds_table_name" columnid="table_name"/>
  1112. <BindItem id="item9" compid="CheckBox02" propid="value" datasetid="ds_dbas" columnid="searchColumn"/>
  1113. <BindItem id="item10" compid="CheckBox02" propid="truevalue" datasetid="ds_cond" columnid=""/>
  1114. <BindItem id="item11" compid="Tab00.tabpage1.Combo00" propid="value" datasetid="ds_cond" columnid="domain"/>
  1115. <BindItem id="item12" compid="Tab00.tabpage1.Div00.Edit00" propid="value" datasetid="ds_cond" columnid="domain"/>
  1116. <BindItem id="item13" compid="Tab00.tabpage1.CheckBox00" propid="value" datasetid="ds_cond" columnid="inputYn"/>
  1117. <BindItem id="item14" compid="Tab00.tabpage1.CheckBox00" propid="truevalue" datasetid="Y" columnid=""/>
  1118. <BindItem id="item15" compid="Static01" propid="text" datasetid="ds_cond" columnid="table_name"/>
  1119. <BindItem id="item16" compid="Static02" propid="text" datasetid="ds_cond" columnid="owner"/>
  1120. <BindItem id="item17" compid="cbDbType" propid="value" datasetid="ds_cond" columnid="dbtype"/>
  1121. <BindItem id="item19" compid="Div01.Edit00" propid="value" datasetid="ds_test" columnid="key"/>
  1122. <BindItem id="item20" compid="Div02.Combo00" propid="value" datasetid="ds_send" columnid="hrcdtype"/>
  1123. <BindItem id="item21" compid="Div02.Edit00" propid="value" datasetid="ds_send" columnid="cdgrupid"/>
  1124. <BindItem id="item22" compid="CheckBox04" propid="value" datasetid="ds_dbas" columnid="searchindexcolumn"/>
  1125. <BindItem id="item23" compid="divRepSql.TextArea01" propid="value" datasetid="ds_sql" columnid="after"/>
  1126. <BindItem id="item24" compid="divRepSql.TextArea00" propid="value" datasetid="ds_sql" columnid="before"/>
  1127. <BindItem id="item3" compid="Tab01.tabpage1.Grid01" propid="tooltiptext" datasetid="fds" columnid=""/>
  1128. <BindItem id="item4" compid="Tab01.tabpage1.Grid01" propid="readonly" datasetid="fds" columnid=""/>
  1129. <BindItem id="item5" compid="Tab01.tabpage1.ipt_column_name" propid="value" datasetid="ds_column_name" columnid="column_name"/>
  1130. <BindItem id="item8" compid="Tab01.tabpage1.CheckBox01" propid="value" datasetid="ds_dbas" columnid="containYn"/>
  1131. <BindItem id="item18" compid="Tab01.tabpage1.CheckBox03" propid="value" datasetid="ds_dbas" columnid="searchColumnDisplayType"/>
  1132. <BindItem id="item7" compid="Tab01.tabpage1.CheckBox00" propid="value" datasetid="ds_dbas" columnid="commentyn"/>
  1133. <BindItem id="item6" compid="Tab01.tabpage1.Edit00" propid="value" datasetid="ds_dbas" columnid="dbasnm"/>
  1134. <BindItem id="item26" compid="Edit00" propid="value" datasetid="ds_cond" columnid="selectcolumn"/>
  1135. <BindItem id="item28" compid="divScript.edtScriptcomment" propid="value" datasetid="ds_scriptinput" columnid="comment"/>
  1136. <BindItem id="item29" compid="divScript.edtScripttablename" propid="value" datasetid="ds_scriptinput" columnid="tablename"/>
  1137. <BindItem id="item27" compid="divScript.cbScriptowner" propid="value" datasetid="ds_scriptinput" columnid="owner"/>
  1138. <BindItem id="item32" compid="Div02.CheckBox00" propid="value" datasetid="ds_send" columnid="likeyn"/>
  1139. <BindItem id="item30" compid="divScript.Tab00.tabpage2.TextArea00" propid="value" datasetid="ds_scriptinput" columnid="script"/>
  1140. <BindItem id="item31" compid="divScript.Tab00.tabpage1.Edit00" propid="value" datasetid="ds_send" columnid="columnname"/>
  1141. <BindItem id="item33" compid="divScript.Edit00" propid="value" datasetid="ds_scriptinput" columnid="tablespace"/>
  1142. </Bind>
  1143. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs"
  1144. var objColumnname = Tab01.tabpage1.ipt_column_name;
  1145. var objScript = divScript.Grid00;
  1146. var selectedRows;
  1147. function ipt_table_name_ontextchanged(obj:Edit, e:TextChangedEventInfo)
  1148. {
  1149. fSearchTableList(obj);
  1150. }
  1151. function fGetViewSource(owner, name, type)
  1152. {
  1153. // var owner = fds.getColumn(fds.rowposition, "owner");
  1154. // var table_name = fds.getColumn(fds.rowposition, "table_name");
  1155. dsf_createDsRow("tmp_ds", [
  1156. {col:"owner", type:"STRING", size:256, val:owner}
  1157. , {col:"name", type:"STRING", size:256, val:name}
  1158. , {col:"type", type:"STRING", size:256, val:type}
  1159. , {col:"dbtype", type:"STRING", size:256, val:ds_cond.getColumn(0, "dbtype")}
  1160. ]);
  1161. var oParam = {};
  1162. oParam.id = "TRSMP09210";
  1163. oParam.service = "testapp.TestMngt";
  1164. oParam.method = "reqGetSource";
  1165. oParam.inds = "req=tmp_ds";
  1166. oParam.outds = "ds_viewSource=info";
  1167. oParam.async = false;
  1168. tranf_submit(oParam);
  1169. var source = "";
  1170. for (var i = 0; i < ds_viewSource.rowcount; i++)
  1171. {
  1172. if (!utlf_isNull(ds_viewSource.getColumn(i, "text")))
  1173. source += ds_viewSource.getColumn(i, "text");
  1174. }
  1175. Tab01.tabpage2.txt_viewSrc.value = source;
  1176. Tab01.tabpage2.st_view_name.text = owner + "." + name;
  1177. }
  1178. function fGetViewUseby(owner, name, object_type)
  1179. {
  1180. if (ds_dependencies.rowcount == 0)
  1181. {
  1182. dsf_createDsRow("tmp_ds", [
  1183. {col:"owner", type:"STRING", size:256, val:owner}
  1184. , {col:"name", type:"STRING", size:256, val:name}
  1185. , {col:"object_type", type:"STRING", size:256, val:object_type}
  1186. , {col:"dbtype", type:"STRING", size:256, val:ds_cond.getColumn(0, "dbtype")}
  1187. ]);
  1188. var oParam = {};
  1189. oParam.id = "TRSMP092101";
  1190. oParam.service = "testapp.TestMngt";
  1191. oParam.method = "reqGetUseby";
  1192. oParam.inds = "req=tmp_ds";
  1193. oParam.outds = "ds_dependencies=info";
  1194. oParam.async = false;
  1195. tranf_submit(oParam);
  1196. //trace(ds_dependencies.saveXML());
  1197. }
  1198. }
  1199. function fGetViewTrigger(owner, name)
  1200. {
  1201. // var owner = fds.getColumn(fds.rowposition, "owner");
  1202. // var table_name = fds.getColumn(fds.rowposition, "table_name");
  1203. dsf_createDsRow("tmp_ds", [
  1204. {col:"owner", type:"STRING", size:256, val:owner}
  1205. , {col:"name", type:"STRING", size:256, val:name}
  1206. , {col:"dbtype", type:"STRING", size:256, val:ds_cond.getColumn(0, "dbtype")}
  1207. ]);
  1208. var oParam = {};
  1209. oParam.id = "TRSMP092102";
  1210. oParam.service = "testapp.TestMngt";
  1211. oParam.method = "reqGetTrigger";
  1212. oParam.inds = "req=tmp_ds";
  1213. oParam.outds = "ds_viewSource=info";
  1214. oParam.async = false;
  1215. tranf_submit(oParam);
  1216. var source = "";
  1217. if (ds_viewSource.rowcount > 0)
  1218. {
  1219. source += ds_viewSource.getColumn(0, "referencing_names") + "\n";
  1220. source += ds_viewSource.getColumn(0, "description") + "\n";
  1221. source += ds_viewSource.getColumn(0, "trigger_body") + "\n";
  1222. Tab01.tabpage2.txt_viewSrc.value = source;
  1223. Tab01.tabpage2.st_view_name.text = owner + "." + name;
  1224. }
  1225. }
  1226. /*
  1227. * desc : 초기화
  1228. * create : 2019-01-10, 김병국, 최초생성
  1229. update :
  1230. */
  1231. function fInitialize() {
  1232. ds_dbas.setColumn(0, "dbasnm", "A");
  1233. ds_dbas.setColumn(0, "commentyn", "Y");
  1234. ds_dbas.setColumn(0, "containYn", "Y");
  1235. ds_cond.setColumn(0, "dbtype", "EMR");
  1236. ds_send.setColumn(0, "likeyn", "N");
  1237. var oParam = {};
  1238. oParam.id = "TRSMP09210";
  1239. oParam.service = "testapp.TestMngt";
  1240. oParam.method = "reqGetTableInfoList";
  1241. oParam.inds = "req=ds_cond";
  1242. oParam.outds = "ds=info";
  1243. oParam.async = true;
  1244. oParam.callback = "cf_TRADB09204";
  1245. tranf_submit(oParam);
  1246. fGetDataSet ("fafds", "./fafds.xml");
  1247. if ( utlf_isNull(fafds.getColumnInfo("domain")) )
  1248. dsf_makeValue(fafds,"domain" ,"string", "");
  1249. fGetDataSet ("ds_domain", "./ds_domain.xml");
  1250. grdf_initGrid(Tab00.tabpage1.grd_favTable);
  1251. grdf_initGrid(Grid00);
  1252. grdf_initGrid(Tab01.tabpage1.Grid01);
  1253. grdf_initGrid(Div02.Grid03);
  1254. grdf_initGrid(divScript.Tab00.tabpage1.Grid00);
  1255. grdf_initGrid(Tab01.tabpage3.Grid00);
  1256. this.setTimer(1, 1000 * 60 * 30);
  1257. divScript.position.x = 0;
  1258. divScript.position.y = 23;
  1259. // ds_scriptinput.setColumn(0, "owner", "EMR");
  1260. // ds_scriptinput.setColumn(0, "tablename", "TEST");
  1261. // ds_scriptinput.setColumn(0, "comment", "TEST Comment");
  1262. // ds_send.setColumn(0, "columnname", "PRCP");
  1263. fGetDataSet ("ds_scripttable", "./TableScript/ds_scripttable.xml");
  1264. fGetDataSet ("ds_scriptcolumn", "./ds_scriptcolumn.xml");
  1265. fLoadscripttable();
  1266. }
  1267. function cf_TRADB09204(sSvcId, nErrorCode, sErrorMsg) {
  1268. dsf_makeValue(ds,"domain" ,"string","");
  1269. dsf_copyDs(dsback, ds);
  1270. }
  1271. function SMSMP09204_onload(obj:Form, e:LoadEventInfo)
  1272. {
  1273. fInitialize();
  1274. Tab00.tabindex = 0;
  1275. Tab01.tabindex = 0;
  1276. }
  1277. function fSetHistoryTable(ds, row)
  1278. {
  1279. var strSelectTableName = ds.getColumn(row, "table_name");
  1280. var findRowIndex = histds.findRow("table_name", strSelectTableName);
  1281. //trace("strSelectTableName : " + strSelectTableName);
  1282. if ( findRowIndex >= 0)
  1283. {
  1284. histds.deleteRow(findRowIndex);
  1285. }
  1286. histds.insertRow(0);
  1287. histds.copyRow(0, ds, row);
  1288. }
  1289. function fGetColumnList(owner , table_name)
  1290. {
  1291. ds_send.clearData();
  1292. dsf_makeValue(ds_send,"table_name", "string", table_name);
  1293. dsf_makeValue(ds_send,"owner", "string", owner);
  1294. dsf_makeValue(ds_send,"dbtype", "string", ds_cond.getColumn(0, "dbtype") );
  1295. var oParam = {};
  1296. oParam.id = "TRSMP09211";
  1297. oParam.service = "testapp.TestMngt";
  1298. oParam.method = "reqGetTableDetailInfoList";
  1299. oParam.inds = "req=ds_send";
  1300. oParam.outds = "ds_column_info=info ds_index_info=index_info";
  1301. oParam.async = false;
  1302. tranf_submit(oParam);
  1303. fSetPkColumn();
  1304. fnSetSearchColumnDisplayType("");
  1305. ds_code_info.clearData();
  1306. ds_cond.setColumn(0, "selectcolumn", "");
  1307. }
  1308. function ipt_column_name_ontextchanged(obj:Edit, e:TextChangedEventInfo)
  1309. {
  1310. obj.updateToDataset();
  1311. var column_name = utlf_transNullToEmpty(ds_column_name.getColumn(0, "column_name"));
  1312. var containYn = ds_dbas.getColumn(0, "containYn");
  1313. if(column_name == null || column_name == "")
  1314. {
  1315. ds_column_info.filter("");
  1316. fnSetSearchColumnDisplayType("");
  1317. } else {
  1318. if (ds_dbas.getColumn(0, "searchColumnDisplayType") == "N")
  1319. {
  1320. var sFilter = "";
  1321. //ds_column.filter("String(nm).indexOf('" + (e.posttext).replace("''","\\'") + "')>=0");
  1322. if (containYn == 'Y')
  1323. {
  1324. // , 구분하여 멀티로 컬럼정보 검색
  1325. var arrKey = column_name.split(",");
  1326. sFilter = "1 = 0 ";
  1327. for(var i = 0; i < arrKey.length; i++)
  1328. {
  1329. if ( !utlf_isNull(arrKey[i].trim()))
  1330. {
  1331. sFilter += "|| (String(id).toUpperCase().indexOf('" + arrKey[i].trim() + "') >= 0) ";
  1332. sFilter += "|| (String(nm).toUpperCase().indexOf('" + arrKey[i].trim() + "') >= 0) ";
  1333. }
  1334. }
  1335. }
  1336. else
  1337. {
  1338. var arrKey = column_name.split(",");
  1339. sFilter = "1 = 0 ";
  1340. for(var i = 0; i < arrKey.length; i++)
  1341. {
  1342. if ( !utlf_isNull(arrKey[i].trim()))
  1343. {
  1344. sFilter += "|| String(id).toUpperCase().substr(0, String('" + arrKey[i].trim() + "').length) == '" + arrKey[i].trim() + "'";
  1345. }
  1346. }
  1347. //ds_column_info.filter("String(id).toUpperCase().substr(0, String('" + column_name + "').length) == '" + column_name + "'");
  1348. }
  1349. ds_column_info.filter(sFilter);
  1350. //trace(sFilter);
  1351. }
  1352. else
  1353. {
  1354. fnSetSearchColumnDisplayType(column_name);
  1355. }
  1356. }
  1357. }
  1358. function fnSetSearchColumnDisplayType(srchData)
  1359. {
  1360. if (utlf_isNull(srchData))
  1361. {
  1362. var sExpr = "";
  1363. }
  1364. else
  1365. {
  1366. var sExpr = "EXPR( (String(id).toUpperCase().indexOf('" + srchData + "') > -1 || String(nm).toUpperCase().indexOf('" + srchData + "') > -1) ? 'red' : '')";
  1367. }
  1368. for (var i = 0; i < 2; i++)
  1369. {
  1370. Tab01.tabpage1.Grid01.setCellProperty("Body", i, "color", sExpr);
  1371. Tab01.tabpage1.Grid01.setCellProperty("Body", i, "color2", sExpr);
  1372. Tab01.tabpage1.Grid01.setCellProperty("Body", i, "selectcolor", sExpr);
  1373. }
  1374. }
  1375. function group2_btn_distributing_onclick(obj:Button, e:ClickEventInfo)
  1376. {
  1377. var clipStr = "";
  1378. var nRow = ds.rowposition;
  1379. var table_name = ds.getColumn(nRow, "table_name");
  1380. var owner = ds.getColumn(nRow, "owner");
  1381. owner = ds_cond.getColumn(0, "owner").toLowerCase();
  1382. table_name = ds_cond.getColumn(0, "table_name").toLowerCase();
  1383. var table_comment = ds_cond.getColumn(0, "table_comment");
  1384. var dbasnm = ds_dbas.getColumn(0, "dbasnm").toLowerCase();
  1385. var commentStr = "";
  1386. var comma = "";
  1387. if(dbasnm == null || dbasnm == "") {
  1388. dbasnm="";
  1389. } else {
  1390. dbasnm += ".";
  1391. }
  1392. dsf_createDs("ds_column_info_temp");
  1393. ds_column_info_temp.clear();
  1394. ds_column_info_temp.copyData(ds_column_info);
  1395. var nm , id, rowcount;
  1396. rowcount = ds_column_info_temp.rowcount;
  1397. clipStr += "SELECT" + "\r\n";
  1398. for(var i = 0; i < rowcount; i++) {
  1399. if(i == 0) {
  1400. clipStr += " ";
  1401. comma = " ";
  1402. } else {
  1403. comma = ", ";
  1404. }
  1405. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1406. id = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "id"));
  1407. if( utlf_isNull(nm) ) {
  1408. commentStr = "";
  1409. } else {
  1410. commentStr = "-- " + nm.replace("\n", " ");
  1411. }
  1412. clipStr += " " + comma + dbasnm + sRpad(id.toLowerCase(), " ", 20) + commentStr + "\r\n" ;
  1413. }
  1414. clipStr += " FROM " + owner + "." + table_name + " " + ds_dbas.getColumn(0, "dbasnm").toLowerCase() + " -- " + table_comment + "\n";
  1415. clipStr += " WHERE 1 = 1" + "\n";
  1416. for(var i = 0; i < ds_pkcolumn.rowcount; i++)
  1417. {
  1418. id = sRpad(ds_pkcolumn.getColumn(i, "id").toLowerCase(), " ", 20);
  1419. id2 = ds_pkcolumn.getColumn(i, "id");
  1420. id2 = fConstColumnValue(id2);
  1421. var nRow = ds_column_info.findRow("id", ds_pkcolumn.getColumn(i, "id"));
  1422. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(nRow, "nm"));
  1423. if( utlf_isNull(nm) )
  1424. {
  1425. commentStr = "";
  1426. } else {
  1427. commentStr = "-- " + nm.replace("\n", " ");
  1428. }
  1429. clipStr += " AND " + id + " = " + sRpad(toLower(id2), " ", 20) + commentStr + "\r\n";
  1430. }
  1431. clipStr += ";";
  1432. system.clearClipboard();
  1433. //system.setClipboard("CF_TEXT",clipStr);
  1434. system.setClipboard("CF_UNICODETEXT",clipStr);
  1435. system.getClipboard("CF_UNICODETEXT").replace(",","");
  1436. }
  1437. //Rpad
  1438. function sRpad(sOrg, sPad, nCnt) {
  1439. var i, sRet="";
  1440. if(sPad == null) sPad = " ";
  1441. if(nCnt == null) ncnt = 1;
  1442. //trace("sOrg : " + sOrg);
  1443. sRet += sOrg;
  1444. for(i =0; i < nCnt-sOrg.length; i++) {
  1445. sRet += sPad;
  1446. }
  1447. return sRet;
  1448. }
  1449. function Grid01_oncellclick(obj:Grid, e:GridClickEventInfo)
  1450. {
  1451. var nm = utlf_transNullToEmpty( ds_column_info.getColumn(obj.currentrow, "nm") ).trim();
  1452. if ( utlf_isNull( nm ))
  1453. return;
  1454. var aFlag = "N";
  1455. var bFlag = "N";
  1456. var cFlag = "N";
  1457. var cdgrupid ="";
  1458. if(nm.indexOf("코드군") > -1) {
  1459. aFlag = "Y";
  1460. }
  1461. if(nm.indexOf("코드정의") > -1 || nm.indexOf("코드정의서") > -1)
  1462. {
  1463. bFlag = "Y";
  1464. }
  1465. if(nm.indexOf("공통") > -1 || nm.indexOf("공통코드") > -1 ) {
  1466. cFlag = "Y";
  1467. }
  1468. if(aFlag == "Y" || bFlag == "Y" || cFlag == "Y" || true) {
  1469. // alert(nm.indexOf("A0"));
  1470. // alert(nm.indexOf("C0"));
  1471. // alert(nm.indexOf("L0"));
  1472. // alert(nm.indexOf("M0"));
  1473. // alert(nm.indexOf("P0"));
  1474. // alert(nm.indexOf("R0"));
  1475. // alert(nm.indexOf("T0"));
  1476. // alert(nm.indexOf("Z0"));
  1477. var nStrPos, nEndPos;
  1478. var hrcdtype;
  1479. hrcdtype = "zbcmcode";
  1480. if( nm.indexOf("A0") > 0) {
  1481. cdgrupid = nm.substr(nm.indexOf("A0"), 5);
  1482. } else if( nm.indexOf("C0") > 0) {
  1483. cdgrupid = nm.substr(nm.indexOf("C0"), 5);
  1484. } else if( nm.indexOf("L0") > 0) {
  1485. cdgrupid = nm.substr(nm.indexOf("L0"), 5);
  1486. } else if( nm.indexOf("M0") > 0) {
  1487. cdgrupid = nm.substr(nm.indexOf("M0"), 5);
  1488. } else if( nm.indexOf("P0") > 0) {
  1489. cdgrupid = nm.substr(nm.indexOf("P0"), 5);
  1490. } else if( nm.indexOf("R0") > 0) {
  1491. cdgrupid = nm.substr(nm.indexOf("R0"), 5);
  1492. } else if( nm.indexOf("T0") > 0) {
  1493. cdgrupid = nm.substr(nm.indexOf("T0"), 5);
  1494. } else if( nm.indexOf("Z0") > 0) {
  1495. cdgrupid = nm.substr(nm.indexOf("Z0"), 5);
  1496. } else if( nm.indexOf("간호공통코드") > 0 )
  1497. {
  1498. nStrPos = nm.indexOf("간호공통코드") + String("간호공통코드").length + 1;
  1499. nEndPos = nm.indexOf(" ", nStrPos +1 );
  1500. if (nEndPos < 0)
  1501. nEndPos = nm.length;
  1502. cdgrupid = nm.substr(nStrPos, nEndPos - nStrPos).trim();
  1503. hrcdtype = "mnwmcode";
  1504. } else if( nm.indexOf("원무공통코드") > 0 )
  1505. {
  1506. nStrPos = nm.indexOf("원무공통코드") + String("원무공통코드").length + 1;
  1507. nEndPos = nm.indexOf(" ", nStrPos +1 );
  1508. if (nEndPos < 0)
  1509. nEndPos = nm.length;
  1510. cdgrupid = nm.substr(nStrPos, nEndPos - nStrPos).trim();
  1511. hrcdtype = "pmcmcode";
  1512. } else if ( (nm.indexOf("진료공통코드") > 0) || (nm.indexOf("진료하드코드") > 0))
  1513. {
  1514. var sKeyword = "진료공통코드,진료하드코드";
  1515. arrToken = sKeyword.split(",");
  1516. hrcdtype = "mmbdhrcd";
  1517. for (var i = 0; i < arrToken.length; i++)
  1518. {
  1519. nStrPos = nm.indexOf(arrToken[i]) ;
  1520. if ( nStrPos > -1 )
  1521. {
  1522. nStrPos += arrToken[i].length + 1;
  1523. nEndPos = nm.indexOf(" ", nStrPos +1 );
  1524. if (nEndPos < 0)
  1525. nEndPos = nm.length;
  1526. cdgrupid = nm.substr(nStrPos, nEndPos - nStrPos).trim();
  1527. break;
  1528. }
  1529. }
  1530. }
  1531. else
  1532. {
  1533. var sKeyword = "코드군,코드정의,코드정의서,공통코드,공통";
  1534. arrToken = sKeyword.split(",");
  1535. hrcdtype = "zbcmcode";
  1536. for (var i = 0; i < arrToken.length; i++)
  1537. {
  1538. nStrPos = nm.indexOf(arrToken[i]) ;
  1539. if ( nStrPos > -1 )
  1540. {
  1541. nStrPos += arrToken[i].length + 1;
  1542. nEndPos = nm.indexOf(" ", nStrPos +1 );
  1543. if (nEndPos < 0)
  1544. nEndPos = nm.length;
  1545. cdgrupid = nm.substr(nStrPos, nEndPos - nStrPos).trim();
  1546. break;
  1547. }
  1548. }
  1549. }
  1550. if ( ! utlf_isNull(cdgrupid) )
  1551. {
  1552. cdgrupid = cdgrupid.replace(")", "");
  1553. lf_getHrcd(hrcdtype, cdgrupid);
  1554. } else
  1555. {
  1556. ds_send.setColumn(0, "cdgrupid", "");
  1557. ds_code_info.clearData();
  1558. }
  1559. } else {
  1560. ds_code_info.clearData();
  1561. }
  1562. }
  1563. function btn_insert_onclick(obj:Button, e:ClickEventInfo)
  1564. {
  1565. var clipStr = "";
  1566. var nRow = ds.rowposition;
  1567. var table_name = ds.getColumn(nRow, "table_name");
  1568. var owner = ds.getColumn(nRow, "owner");
  1569. owner = ds_cond.getColumn(0, "owner").toLowerCase();
  1570. table_name = ds_cond.getColumn(0, "table_name").toLowerCase();
  1571. var dbasnm = ds_dbas.getColumn(0, "dbasnm").toLowerCase();
  1572. var commentStr = "";
  1573. var comma = "";
  1574. if(dbasnm == null || dbasnm == "") {
  1575. dbasnm="";
  1576. } else {
  1577. dbasnm += ".";
  1578. }
  1579. dsf_createDs("ds_column_info_temp");
  1580. ds_column_info_temp.clear();
  1581. ds_column_info_temp.copyData(ds_column_info);
  1582. var nm , id, rowcount;
  1583. rowcount = ds_column_info_temp.rowcount;
  1584. clipStr += "INSERT " + "\n";
  1585. clipStr += " INTO " + owner + "." + table_name + "\n";
  1586. clipStr += " (" + "\n";
  1587. for(var i = 0; i < rowcount; i++) {
  1588. if(i == 0) {
  1589. clipStr += "";
  1590. comma = " ";
  1591. } else {
  1592. comma = ", ";
  1593. }
  1594. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1595. id = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "id"));
  1596. if(utlf_isNull(nm))
  1597. {
  1598. commentStr = "";
  1599. } else {
  1600. commentStr = "-- " + nm.replace("\n", " ");
  1601. }
  1602. id = sRpad(id.toLowerCase(), " ", 20);
  1603. clipStr += " " + comma + id + commentStr + "\r\n" ;
  1604. }
  1605. clipStr += " )" + "\n";
  1606. clipStr += "VALUES" + "\n";
  1607. clipStr += " (" + "\n";
  1608. for(var i = 0; i < rowcount; i++) {
  1609. if(i == 0) {
  1610. clipStr += "";
  1611. comma = " ";
  1612. } else {
  1613. comma = ", ";
  1614. }
  1615. id = ds_column_info_temp.getColumn(i, "id")
  1616. id = fConstColumnValue(id);
  1617. id = sRpad(id, " " , 20);
  1618. var nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1619. if (!utlf_isNull(nm))
  1620. {
  1621. nm = nm.replace("\n", " ");
  1622. }
  1623. //clipStr += " " + comma + id + " -- " + sRpad(ds_column_info_temp.getColumn(i, "id").toLowerCase(), " ", 15) + " / " + nm + "\r\n" ;
  1624. clipStr += " " + comma + id + " -- " + ds_column_info_temp.getColumn(i, "id").toLowerCase() + "(" + nm + ")\r\n" ;
  1625. }
  1626. clipStr += " )\r\n;";
  1627. system.clearClipboard();
  1628. system.setClipboard("CF_TEXT",clipStr);
  1629. }
  1630. function btn_update_onclick(obj:Button, e:ClickEventInfo)
  1631. {
  1632. var clipStr = "";
  1633. var nRow = ds.rowposition;
  1634. var table_name = ds.getColumn(nRow, "table_name");
  1635. var owner = ds.getColumn(nRow, "owner");
  1636. owner = ds_cond.getColumn(0, "owner");
  1637. table_name = ds_cond.getColumn(0, "table_name");
  1638. var dbasnm = ds_dbas.getColumn(0, "dbasnm");
  1639. var commentStr = "";
  1640. var comma = "";
  1641. var id="";
  1642. var id2= "";
  1643. var pkyn = "N";
  1644. var cnt = 0;
  1645. if(dbasnm == null || dbasnm == "") {
  1646. dbasnm="";
  1647. } else {
  1648. dbasnm += ".";
  1649. }
  1650. dsf_createDs("ds_column_info_temp");
  1651. ds_column_info_temp.clear();
  1652. ds_column_info_temp.copyData(ds_column_info);
  1653. var nm , id, rowcount;
  1654. rowcount = ds_column_info_temp.rowcount;
  1655. clipStr += "UPDATE " + owner + "." + table_name + "\r\n";
  1656. clipStr += " SET \r\n";
  1657. for(var i = 0; i < rowcount; i++) {
  1658. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1659. id = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "id"));
  1660. // PK는 스킵..
  1661. if (ds_pkcolumn.findRow("id", id) >= 0)
  1662. {
  1663. continue;
  1664. }
  1665. // pkyn = ds_column_info.getColumn(i, "pkyn");
  1666. //
  1667. // if(pkyn == "Y") {
  1668. // continue;
  1669. // }
  1670. if(cnt == 0) {
  1671. clipStr += " ";
  1672. comma = " ";
  1673. } else {
  1674. comma = ", ";
  1675. }
  1676. if( utlf_isNull(nm)) {
  1677. commentStr = "";
  1678. } else {
  1679. commentStr = "-- " + nm.replace("\n", " ");
  1680. }
  1681. id = sRpad(id, " ", 20);
  1682. id2 = ds_column_info_temp.getColumn(i, "id");
  1683. id2 = fConstColumnValue(id2);
  1684. id2 = sRpad(id2, " ", 25);
  1685. clipStr += " " + comma + id.toLowerCase() + " = " + id2 + commentStr + "\r\n" ;
  1686. cnt++;
  1687. }
  1688. clipStr += " WHERE 1 = 1\r\n";
  1689. for(var i = 0; i < ds_pkcolumn.rowcount; i++)
  1690. {
  1691. id = sRpad(ds_pkcolumn.getColumn(i, "id").toLowerCase(), " ", 20);
  1692. id2 = ds_pkcolumn.getColumn(i, "id");
  1693. id2 = fConstColumnValue(id2);
  1694. var nRow = ds_column_info.findRow("id", ds_pkcolumn.getColumn(i, "id"));
  1695. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(nRow, "nm"));
  1696. if( utlf_isNull(nm) )
  1697. {
  1698. commentStr = "";
  1699. } else {
  1700. commentStr = "-- " + nm.replace("\n", " ");
  1701. }
  1702. clipStr += " AND " + id + " = " + sRpad(toLower(id2), " ", 20) + commentStr + "\r\n";
  1703. }
  1704. clipStr += ";";
  1705. system.clearClipboard();
  1706. system.setClipboard("CF_TEXT",clipStr);
  1707. }
  1708. function fConstColumnValue(id)
  1709. {
  1710. var retValue = "";
  1711. switch (id.toUpperCase())
  1712. {
  1713. case "INSTCD":
  1714. retValue = "#%dutplceinstcd#";
  1715. break;
  1716. case "FSTRGSTRID":
  1717. case "LASTUPDTRID":
  1718. retValue = "#%userid#";
  1719. break;
  1720. case "FSTRGSTDT":
  1721. case "LASTUPDTDT":
  1722. retValue = "systimestamp";
  1723. break;
  1724. default:
  1725. retValue= "#" + toLower(id).trim() + "#"
  1726. }
  1727. return retValue;
  1728. }
  1729. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  1730. {
  1731. var clipStr = "";
  1732. var nRow = fds.rowposition;
  1733. var table_name = ds.getColumn(nRow , "table_name").toLowerCase();
  1734. var owner = ds.getColumn(nRow , "owner").toLowerCase();
  1735. owner = ds_cond.getColumn(0, "owner").toLowerCase();
  1736. table_name = ds_cond.getColumn(0, "table_name").toLowerCase();
  1737. var dbasnm = ds_dbas.getColumn(0, "dbasnm").toLowerCase();
  1738. var commentStr = "";
  1739. var comma = "";
  1740. //var id="";
  1741. var id2= "";
  1742. var pkyn = "N";
  1743. var cnt = 0;
  1744. if(dbasnm == null || dbasnm == "") {
  1745. dbasnm="";
  1746. } else {
  1747. dbasnm += ".";
  1748. }
  1749. clipStr += "DELETE\r\n"
  1750. clipStr += " FROM "+ owner + "." + table_name + "\r\n";
  1751. clipStr += " WHERE 1=1 \r\n";
  1752. for(var i = 0; i < ds_pkcolumn.rowcount; i++)
  1753. {
  1754. id = sRpad(ds_pkcolumn.getColumn(i, "id").toLowerCase(), " ", 20);
  1755. id2 = ds_pkcolumn.getColumn(i, "id");
  1756. id2 = fConstColumnValue(id2);
  1757. clipStr += " AND " + id + " = " + toLower(id2) + "\r\n";
  1758. }
  1759. clipStr += ";";
  1760. system.clearClipboard();
  1761. system.setClipboard("CF_TEXT",clipStr);
  1762. }
  1763. function btn_merge_onclick(obj:Button, e:ClickEventInfo)
  1764. {
  1765. var clipStr = "";
  1766. var nRow = ds.rowposition;
  1767. var table_name = ds.getColumn(nRow, "table_name");
  1768. var owner = ds.getColumn(nRow, "owner");
  1769. owner = ds_cond.getColumn(0, "owner").toLowerCase();
  1770. table_name = ds_cond.getColumn(0, "table_name").toLowerCase();
  1771. var dbasnm = ds_dbas.getColumn(0, "dbasnm").toLowerCase();
  1772. var commentStr = "";
  1773. var comma = "";
  1774. if(dbasnm == null || dbasnm == "") {
  1775. dbasnm="";
  1776. } else {
  1777. dbasnm += ".";
  1778. }
  1779. dsf_createDs("ds_column_info_temp");
  1780. ds_column_info_temp.clear();
  1781. ds_column_info_temp.copyData(ds_column_info);
  1782. var nm , id, rowcount, cnt;
  1783. clipStr += " MERGE INTO " + owner + "." + table_name + "\n";
  1784. clipStr += " USING DUAL" + "\n";
  1785. clipStr += " ON (1 = 1" + "\n";
  1786. for(var i = 0; i < ds_pkcolumn.rowcount; i++)
  1787. {
  1788. id = sRpad(ds_pkcolumn.getColumn(i, "id").toLowerCase(), " ", 20);
  1789. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1790. if( utlf_isNull(nm)) {
  1791. commentStr = "";
  1792. } else {
  1793. commentStr = "-- " + nm.replace("\n", " ");
  1794. }
  1795. id2 = ds_pkcolumn.getColumn(i, "id");
  1796. id2 = fConstColumnValue(id2);
  1797. id2 = sRpad(id2, " ", 25);
  1798. clipStr += " AND " + id + " = " + toLower(id2) + commentStr + "\n";
  1799. }
  1800. clipStr += " )" + "\n";
  1801. clipStr += " WHEN MATCHED THEN" + "\n";
  1802. clipStr += "UPDATE" + "\n";
  1803. clipStr += " SET" + "\n";
  1804. rowcount = ds_column_info_temp.rowcount;
  1805. cnt = 0;
  1806. for(var i = 0; i < rowcount; i++)
  1807. {
  1808. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1809. id = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "id"));
  1810. // PK는 스킵..
  1811. if (ds_pkcolumn.findRow("id", id) >= 0)
  1812. {
  1813. continue;
  1814. }
  1815. if(cnt == 0) {
  1816. clipStr += " ";
  1817. comma = " ";
  1818. } else {
  1819. comma = ", ";
  1820. }
  1821. if( utlf_isNull(nm)) {
  1822. commentStr = "";
  1823. } else {
  1824. commentStr = "-- " + nm.replace("\n", " ");
  1825. }
  1826. id = sRpad(id, " ", 20);
  1827. id2 = ds_column_info_temp.getColumn(i, "id");
  1828. id2 = fConstColumnValue(id2);
  1829. id2 = sRpad(id2, " ", 25);
  1830. clipStr += " " + comma + id.toLowerCase() + " = " + id2 + commentStr + "\n" ;
  1831. cnt++;
  1832. }
  1833. clipStr += "" + "\n";
  1834. clipStr += " WHEN NOT MATCHED THEN" + "\n";
  1835. clipStr += "INSERT " + "\n";
  1836. clipStr += " (" + "\n";
  1837. cnt = 0;
  1838. for(var i = 0; i < rowcount; i++)
  1839. {
  1840. if(i == 0) {
  1841. clipStr += "";
  1842. comma = " ";
  1843. } else {
  1844. comma = ", ";
  1845. }
  1846. nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1847. id = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "id"));
  1848. if(utlf_isNull(nm))
  1849. {
  1850. commentStr = "";
  1851. } else {
  1852. commentStr = "-- " + nm.replace("\n", " ");
  1853. }
  1854. id = sRpad(id.toLowerCase(), " ", 20);
  1855. clipStr += " " + comma + id + commentStr + "\r\n" ;
  1856. }
  1857. clipStr += " )" + "\n";
  1858. clipStr += "VALUES" + "\n";
  1859. clipStr += " (" + "\n";
  1860. for(var i = 0; i < rowcount; i++)
  1861. {
  1862. if(i == 0) {
  1863. clipStr += "";
  1864. comma = " ";
  1865. } else {
  1866. comma = ", ";
  1867. }
  1868. id = ds_column_info_temp.getColumn(i, "id")
  1869. id = fConstColumnValue(id);
  1870. id = sRpad(id, " " , 20);
  1871. var nm = utlf_transNullToEmpty(ds_column_info_temp.getColumn(i, "nm"));
  1872. if (!utlf_isNull(nm))
  1873. {
  1874. nm = nm.replace("\n", " ");
  1875. }
  1876. clipStr += " " + comma + id + " -- " + sRpad(ds_column_info_temp.getColumn(i, "id").toLowerCase(), " ", 15) + " / " + nm + "\r\n" ;
  1877. }
  1878. clipStr += " )\n;";
  1879. system.clearClipboard();
  1880. system.setClipboard("CF_TEXT",clipStr);
  1881. }
  1882. function toLower(str) {
  1883. var chr = "";
  1884. var tempStr = "";
  1885. for(i = 0; i < str.length; i++) {
  1886. chr = str.charAt(i).toLowerCase();
  1887. tempStr += chr;
  1888. }
  1889. return tempStr;
  1890. }
  1891. // 테이블 관련 그리드 클릭 시
  1892. function fTblGridOnClick(obj:Grid, e:GridClickEventInfo)
  1893. {
  1894. var tmpDs = eval(obj.binddataset)
  1895. var owner = tmpDs.getColumn(tmpDs.rowposition, "owner");
  1896. var table_name = tmpDs.getColumn(tmpDs.rowposition, "table_name");
  1897. var table_comment = tmpDs.getColumn(tmpDs.rowposition, "comments");
  1898. var object_type = tmpDs.getColumn(tmpDs.rowposition, "object_type");
  1899. ds_cond.setColumn(0, "object_type", tmpDs.getColumn(tmpDs.rowposition, "object_type"));
  1900. ds_cond.setColumn(0, "owner", owner);
  1901. ds_cond.setColumn(0, "table_name", table_name);
  1902. ds_cond.setColumn(0, "table_comment", table_comment);
  1903. ds_cond.setColumn(0, "object_type", object_type);
  1904. ds_dependencies.clearData();
  1905. fGetdbasnm(table_name) ;
  1906. switch (object_type)
  1907. {
  1908. case "TABLE":
  1909. case "VIEW":
  1910. // 컬럼 정보 가져오기
  1911. fGetColumnList(owner, table_name);
  1912. ds_column_name.setColumn(0, "column_name", "")
  1913. ipt_column_name_ontextchanged(Tab01.tabpage1.ipt_column_name, null);
  1914. if (obj.name != "grd_HistTable")
  1915. {
  1916. fSetHistoryTable(ds, ds.rowposition);
  1917. }
  1918. Tab01.tabindex = 0;
  1919. break;
  1920. case "FUNCTION":
  1921. case "PROCEDURE":
  1922. fGetViewSource(owner, table_name, object_type);
  1923. Tab01.tabindex = 1;
  1924. break;
  1925. case "TRIGGER":
  1926. fGetViewTrigger(owner, table_name);
  1927. Tab01.tabindex = 1;
  1928. break;
  1929. }
  1930. }
  1931. function fGetdbasnm(table_name)
  1932. {
  1933. var dbasnm = table_name.substr(table_name.length - 4).replace("_", "");
  1934. switch (dbasnm)
  1935. {
  1936. // 오라클 예약어
  1937. case "ADD":
  1938. case "ALL":
  1939. case "AND":
  1940. case "ANY":
  1941. case "ASC":
  1942. case "FOR":
  1943. case "RAW":
  1944. case "ROW":
  1945. case "SET":
  1946. case "UID":
  1947. dbasnm += "_";
  1948. break;
  1949. }
  1950. dsf_makeValue(ds_dbas, "dbasnm", "string", dbasnm);
  1951. }
  1952. function fSaveFavTable(dsname , fileName, bSort)
  1953. {
  1954. Tab00.tabpage1.grd_favTable.updateToDataset();
  1955. Tab00.tabpage1.Combo00.updateToDataset();
  1956. // 정렬한 상태에서 저장을 하니까 제대로 저장이 안되어서 DataSet을 복사해서 다시 저장을 해야 함. 이거 해결방법이 있을까나?
  1957. if( bSort)
  1958. {
  1959. dsf_createDs("ds_copy_tmp");
  1960. dsf_createDs("ds_copy_tmp1");
  1961. ds_copy_tmp.clear();
  1962. var ds = eval(dsname);
  1963. ds_copy_tmp1.copyData(ds);
  1964. var rowcount = ds_copy_tmp1.rowcount;
  1965. var colcount = ds_copy_tmp1.getColCount();
  1966. for(var j = 0; j < colcount ; j++)
  1967. {
  1968. var col = ds_copy_tmp1.getColumnInfo(j);
  1969. ds_copy_tmp.addColumn(col.name, "string");
  1970. }
  1971. for (var i = 0; i < rowcount ; i++)
  1972. {
  1973. ds_copy_tmp.addRow();
  1974. for(var j = 0; j < colcount ; j++)
  1975. {
  1976. ds_copy_tmp.setColumn(i, j,ds_copy_tmp1.getColumn(i, j));
  1977. }
  1978. }
  1979. ds_copy_tmp1.copyData(ds_copy_tmp);
  1980. var vfile = new VirtualFile(fileName, VirtualFile.openWrite);
  1981. vfile.write(ds_copy_tmp1.saveXML());
  1982. vfile.close();
  1983. }
  1984. else
  1985. {
  1986. var vfile = new VirtualFile(fileName, VirtualFile.openWrite);
  1987. //trace("save filename : " + fileName);
  1988. var ds = eval(dsname);
  1989. vfile.write(ds.saveXML());
  1990. vfile.close();
  1991. }
  1992. }
  1993. function btn_load_onclick(obj:Button, e:ClickEventInfo)
  1994. {
  1995. fGetDataSet ("fafds", "./fafds.xml");
  1996. }
  1997. function fGetDataSet(dsname, datafile_name)
  1998. {
  1999. var vfile = new VirtualFile();
  2000. var bOpened = vfile.open(datafile_name, VirtualFile.openRead);
  2001. if (bOpened)
  2002. {
  2003. if (vfile.getFileSize() > 0)
  2004. {
  2005. if ( utlf_isNull(this.objects[dsname]) )
  2006. {
  2007. dsf_createDs(dsname);
  2008. }
  2009. var ds = eval(dsname);
  2010. ds.loadXML( vfile.read() );
  2011. if (datafile_name == "./fafds.xml")
  2012. {
  2013. // 컬럼정보가 변경되어서
  2014. if ( utlf_isNull(ds.getColumnInfo("object_type")) )
  2015. {
  2016. ds.addColumn("object_type", "String");
  2017. for(var i = 0; i < pDs.rowcount; i++)
  2018. {
  2019. ds.setColumn(i, "object_type", ds.getColumn(i, "table_type"));
  2020. fSaveFavTable("fafds", "./fafds.xml", false);
  2021. }
  2022. }
  2023. }
  2024. }
  2025. }
  2026. vfile.close();
  2027. }
  2028. function Combo00_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  2029. {
  2030. if ( ds_dbas.getColumn(0, "searchColumn") == "Y" )
  2031. return ;
  2032. var table_name = ds_table_name.getColumn(0, "table_name");
  2033. var owner = utlf_transNullToEmpty( ds_dbUsers.getColumn(cbOwner.index, "owner") );
  2034. fGetFilteredData(ds, owner, table_name, "", "");
  2035. }
  2036. function fGetFilteredData(ds, owner, table_name, object_type, domain)
  2037. {
  2038. var filter = "";
  2039. table_name = utlf_trim(table_name);
  2040. filter += "(" ;
  2041. filter += " (String(owner).indexOf('" + owner + "') > -1 || '" + owner + "' == '') ";
  2042. filter += " && (String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || '" + table_name + "' == '')";
  2043. filter += " && (String(object_type) == '" + object_type + "' || '" + object_type + "' == '')";
  2044. filter += " && (String(domain) == '" + domain+ "' || '" + domain + "' == '')";
  2045. filter += ")";
  2046. //trace(filter);
  2047. ds.filter( filter );
  2048. return ;
  2049. if ( !utlf_isNull(owner))
  2050. {
  2051. if ( !utlf_isNull(table_name) )
  2052. {
  2053. filter = filter + "String(owner).indexOf('" + owner + "') > -1 &&";
  2054. filter = filter + "(String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1)";
  2055. }
  2056. else
  2057. {
  2058. filter = filter + "String(owner).indexOf('" + owner + "') > -1";
  2059. }
  2060. }
  2061. else
  2062. {
  2063. if ( !utlf_isNull(table_name) )
  2064. {
  2065. //filter = filter + "String(owner).indexOf('" + owner + "') > -1 &&" ;
  2066. //filter = filter + "(String(comments.toUpperCase()).indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name.toUpperCase()).indexOf('" + table_name.toUpperCase() + "') > -1)";
  2067. //filter = filter + "(String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1)";
  2068. filter = filter + "(String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name).indexOf('" + table_name + "') > -1)";
  2069. //filter = filter + "(String(table_name).indexOf('" + table_name + "') > -1)";
  2070. //filter = filter + "(String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1)";
  2071. //filter = filter + "(String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name).indexOf('" + table_name + "') > -1)";
  2072. filter = "((String(comments).toUpperCase().indexOf('" + table_name.toUpperCase() + "') > -1 || String(table_name).indexOf('" + table_name + "') > -1) && ( String(object_type) == '" + object_type + "' || '" + object_type + "' == ''))";
  2073. trace(filter);
  2074. }
  2075. }
  2076. if ( utlf_transNullToEmpty(domain) != "" )
  2077. {
  2078. if ( filter != "" )
  2079. filter += " && ";
  2080. filter = filter + " String(domain).indexOf('" + domain + "') > -1 " ;
  2081. }
  2082. //trace( filter);
  2083. ds.filter( filter );
  2084. // trace ("filter : " + filter);
  2085. }
  2086. function SMSMP09204_oninit(obj:Form, e:InitEventInfo)
  2087. {
  2088. frmf_initForm(obj);
  2089. }
  2090. function SMSMP09204_onactivate(obj:Form, e:ActivateEventInfo)
  2091. {
  2092. ipt_table_name.setFocus();
  2093. fGetDataSet ("fafds", "./fafds.xml");
  2094. }
  2095. function fGridCopyClipboard(obj:Grid, e:KeyEventInfo)
  2096. {
  2097. var bPushed = e.ctrlKey;
  2098. var clipStr = "";
  2099. var dbasnm = ds_dbas.getColumn(0, "dbasnm").toLowerCase();
  2100. var commentyn = ds_dbas.getColumn(0, "commentyn");
  2101. var dsTmp = eval(obj.binddataset);
  2102. var row = obj.currentrow;
  2103. var owner = dsTmp.getColumn(row, "owner").toLowerCase();
  2104. var table_name = dsTmp.getColumn(row, "table_name").toLowerCase();
  2105. if (e.keycode == 67 && bPushed == true ) // ctrl + c
  2106. {
  2107. table_name += " " + dbasnm;
  2108. table_name = sRpad(table_name, " ", 20) ;
  2109. clipStr = owner + "." + table_name;
  2110. if(commentyn == "Y") {
  2111. commentStr = "-- " + utlf_transNullToEmpty(dsTmp.getColumn(row, "comments"));
  2112. clipStr += commentStr;
  2113. }
  2114. //clipStr += "\r\n" ;
  2115. system.clearClipboard();
  2116. system.setClipboard("CF_TEXT",clipStr);
  2117. }
  2118. }
  2119. function caption01_onclick(obj:Static, e:ClickEventInfo)
  2120. {
  2121. if (e.ctrlKey)
  2122. {
  2123. fPopupNewWindow("SMSMP09205");
  2124. //frmf_open("SMSMP09205", "SMSMP09205", null, "", 0, 200, 200, "", "", "", "", "", "M");
  2125. // var maxformnum = 0;
  2126. // for(var i = 0; i < application.popupframes.length; i ++)
  2127. // {
  2128. // var frm = application.popupframes[i];
  2129. //
  2130. // if (frm.name.substr(0, 10) == "SMSMP09205")
  2131. // {
  2132. // var tmp = utlf_transNullToEmpty(frm.name.substr(10, 2))
  2133. // if (utlf_isNull(tmp)) {
  2134. // maxformnum = 1;
  2135. // } else {
  2136. // maxformnum = toNumber(tmp);
  2137. // maxformnum++;
  2138. // }
  2139. // }
  2140. // }
  2141. // var scrid = "SMSMP09205" + maxformnum;
  2142. // frmf_open(scrid, "SMSMP09205", "", "", 0, 500, 500, "", "", "", "", "", "M");
  2143. }
  2144. }
  2145. function caption6_onclick(obj:Static, e:ClickEventInfo)
  2146. {
  2147. if (e.ctrlKey)
  2148. {
  2149. frmf_open("SMSMP09206", "SMSMP09206", null, "", 0, 200, 200, "", "", "", "", "", "M");
  2150. }
  2151. }
  2152. // 새 창 띄우기
  2153. function fPopupNewWindow(srcid)
  2154. {
  2155. var sgvname = srcid + "count";
  2156. var maxformnum = 0;
  2157. if ( utlf_isNull (sysf_getGlobalVariable(sgvname)) )
  2158. {
  2159. maxformnum = 1;
  2160. }
  2161. else
  2162. {
  2163. maxformnum = parseInt(sysf_getGlobalVariable(sgvname));
  2164. }
  2165. var sNewscrid = srcid + "_" + maxformnum;
  2166. frmf_open(sNewscrid, srcid, "", "", 0, 500, 500, "", "", "", "", "", "M");
  2167. sysf_setGlobalVariable(sgvname, maxformnum + 1);
  2168. }
  2169. function caption7_onclick(obj:Static, e:ClickEventInfo)
  2170. {
  2171. if (e.ctrlKey)
  2172. {
  2173. fPopupNewWindow("SMSMP09204");
  2174. }
  2175. /*frmf_open("SMSMP09206", "SMSMP09206", null, "", 0, 200, 200, "", "", "", "", "", "M"); */
  2176. // var maxformnum = 0;
  2177. // for(var i = 0; i < application.popupframes.length; i ++)
  2178. // {
  2179. // var frm = application.popupframes[i];
  2180. //
  2181. // if (frm.name.substr(0, 10) == "SMSMP09204")
  2182. // {
  2183. // var tmp = utlf_transNullToEmpty(frm.name.substr(10, 2))
  2184. // if (utlf_isNull(tmp)) {
  2185. // maxformnum = 1;
  2186. // } else {
  2187. // maxformnum = toNumber(tmp);
  2188. // maxformnum++;
  2189. // }
  2190. // }
  2191. // }
  2192. // var scrid = "SMSMP09204" + maxformnum;
  2193. // frmf_open(scrid, "SMSMP09204", "", "", 0, 500, 500, "", "", "", "", "", "M");
  2194. }
  2195. function lf_searchTableInfoListByColumn()
  2196. {
  2197. var column_name = ds_table_name.getColumn(0, "table_name");
  2198. var owner = utlf_transNullToEmpty( ds_dbUsers.getColumn(cbOwner.index, "owner") );
  2199. trace ( "owner : " +owner + " , " + column_name );
  2200. ds_cond.setColumn(0, "owner", owner);
  2201. ds_cond.setColumn(0, "column_name", column_name);
  2202. var oParam = {};
  2203. oParam.id = "TRSMP09210";
  2204. oParam.service = "testapp.TestMngt";
  2205. oParam.method = "reqGetTableInfoList";
  2206. oParam.inds = "req=ds_cond";
  2207. oParam.outds = "ds=info";
  2208. oParam.async = true;
  2209. oParam.callback = "cf_TRADB09204_1";
  2210. tranf_submit(oParam);
  2211. }
  2212. function cf_TRADB09204_1(sSvcId, nErrorCode, sErrorMsg)
  2213. {
  2214. dsf_makeValue(ds,"domain" ,"string","");
  2215. ds.filter("");
  2216. Grid00.updateToDataset();
  2217. }
  2218. function CheckBox02_onclick(obj:CheckBox, e:ClickEventInfo)
  2219. {
  2220. trace( ds_dbas.getColumn(0, "searchColumn"));
  2221. if ( ds_dbas.getColumn(0, "searchColumn") == "N" )
  2222. {
  2223. dsf_copyDs(ds, dsback);
  2224. ds.filter("");
  2225. }
  2226. ipt_table_name.setFocus();
  2227. }
  2228. function Tab00_tabpage1_Button00_onclick(obj:Button, e:ClickEventInfo)
  2229. {
  2230. //var nRow = fafds.rowposition;
  2231. var strDomain = utlf_transNullToEmpty(ds_cond.getColumn(0, "domain"));
  2232. // fafds.setColumn(nRow , "domain", strDomain);
  2233. // fSaveFavTable(fafds, "./fafds.xml");
  2234. var grd = eval("Tab00.tabpage1.grd_favTable");
  2235. for(var i = 0; i <= grd.selectstartrow.length-1; i++)
  2236. {
  2237. for(var j = grd.selectstartrow[i]; j < grd.selectendrow[i]+1; j++)
  2238. {
  2239. fafds.setColumn(j, "domain", strDomain);
  2240. }
  2241. }
  2242. fSaveFavTable("fafds", "./fafds.xml", false);
  2243. }
  2244. function Tab00_tabpage1_PopupDiv00_Button01_onclick(obj:Button, e:ClickEventInfo)
  2245. {
  2246. var strDomain = ds_cond.getColumn(0, "domain");
  2247. var nFindRow = ds_domain.findRow("domain", strDomain);
  2248. if ( nFindRow < 0 )
  2249. {
  2250. var nRow = ds_domain.addRow();
  2251. ds_domain.setColumn(nRow, "domain", strDomain);
  2252. fSaveFavTable("ds_domain", "./ds_domain.xml", false);
  2253. }
  2254. Tab00.tabpage1.Div00.visible = false;
  2255. }
  2256. function Tab00_tabpage1_Combo00_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  2257. {
  2258. // 필터링 하기
  2259. if (ds_cond.getColumn(0, "inputYn") == "N")
  2260. {
  2261. var table_name = ds_table_name.getColumn(0, "table_name");
  2262. var owner = utlf_transNullToEmpty( ds_dbUsers.getColumn(cbOwner.index, "owner") );
  2263. var strDomain = utlf_transNullToEmpty(ds_cond.getColumn(0 ,"domain"));
  2264. fGetFilteredData(fafds, owner, table_name, "", strDomain);
  2265. }
  2266. }
  2267. function Tab00_tabpage1_CheckBox00_onclick(obj:CheckBox, e:ClickEventInfo)
  2268. {
  2269. if (ds_cond.getColumn(0, "inputYn") == "Y")
  2270. {
  2271. Tab00.tabpage1.Button00.visible=true;
  2272. Tab00.tabpage1.grd_favTable.selecttype = "multiarea";
  2273. }
  2274. else
  2275. {
  2276. Tab00.tabpage1.Button00.visible=false;
  2277. Tab00.tabpage1.grd_favTable.selecttype = "row";
  2278. ds_cond.setColumn(0, "domain","");
  2279. }
  2280. }
  2281. function Tab00_tabpage1_Div00_Button00_onclick(obj:Button, e:ClickEventInfo)
  2282. {
  2283. Tab00.tabpage1.Div00.visible = false;
  2284. }
  2285. function lf_getHrcd(hrcdtype, cdgrupid)
  2286. {
  2287. ds_send.setColumn(0, "hrcdtype", hrcdtype);
  2288. ds_send.setColumn(0, "cdgrupid", cdgrupid);
  2289. var oParam = {};
  2290. oParam.id = "TRSMP09210";
  2291. oParam.service = "testapp.TestMngt";
  2292. oParam.method = "reqGetHrcd";
  2293. oParam.inds = "req=ds_send";
  2294. oParam.outds = "ds_code_info=info";
  2295. oParam.async = true;
  2296. oParam.callback = "cf_TRADB09204";
  2297. tranf_submit(oParam);
  2298. }
  2299. function lf_getColumnlist(owner, columnname)
  2300. {
  2301. var rowcount = 10000;
  2302. var index = 0;
  2303. dsf_createDs("ds_tmp_columnlist");
  2304. ds_send.setColumn(0, "columnname", columnname);
  2305. ds_send.setColumn(0, "owner", owner);
  2306. var oParam = {};
  2307. oParam.id = "TRSMP09212";
  2308. oParam.service = "testapp.TestMngt";
  2309. oParam.method = "reqGetColumnlist";
  2310. oParam.inds = "req=ds_send";
  2311. oParam.outds = "ds_columnlist=info";
  2312. oParam.async = false;
  2313. oParam.callback = "";
  2314. tranf_submit(oParam);
  2315. return;
  2316. // var nRowcount = 0;
  2317. // do
  2318. // {
  2319. // ds_send.setColumn(0, "strrownum", (index * rowcount) + 1);
  2320. // index++;
  2321. // ds_send.setColumn(0, "endrownum", (rowcount * index));
  2322. //
  2323. // var oParam = {};
  2324. // oParam.id = "TRSMP09212";
  2325. // oParam.service = "testapp.TestMngt";
  2326. // oParam.method = "reqGetColumnlist";
  2327. // oParam.inds = "req=ds_send";
  2328. // oParam.outds = "ds_tmp_columnlist=info";
  2329. // oParam.async = false;
  2330. // oParam.callback = "";
  2331. // tranf_submit(oParam);
  2332. //
  2333. // nRowcount = ds_tmp_columnlist.rowcount;
  2334. // if (nRowcount > 0)
  2335. // {
  2336. // if (ds_columnlist.getCountNF() == 0)
  2337. // {
  2338. // ds_columnlist.copyData(ds_tmp_columnlist);
  2339. //
  2340. // trace("ds_columnlist.copyData");
  2341. //
  2342. // }
  2343. // else
  2344. // {
  2345. // ds_columnlist.appendData(ds_tmp_columnlist);
  2346. // trace("ds_columnlist.appendData");
  2347. // }
  2348. // }
  2349. // else
  2350. // {
  2351. // trace("break ?");
  2352. // break;
  2353. // }
  2354. //
  2355. // // if (index >= 10)
  2356. // // {
  2357. // // break;
  2358. // // }
  2359. // trace("index : " + index + ", nRowcount : " + nRowcount + " , ds_tmp_columnlist.rowcount : " + ds_tmp_columnlist.rowcount);
  2360. //
  2361. // }while (nRowcount > 0);
  2362. //
  2363. // trace("ds_columnlist.getCountNF() : " + ds_columnlist.getCountNF() );
  2364. }
  2365. function Div00_Button00_onclick(obj:Button, e:ClickEventInfo)
  2366. {
  2367. lf_getHrcd();
  2368. }
  2369. function cbDbType_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  2370. {
  2371. obj.updateToDataset();
  2372. var oParam = {};
  2373. oParam.id = "TRSMP09210";
  2374. oParam.service = "testapp.TestMngt";
  2375. oParam.method = "reqGetTableInfoList";
  2376. oParam.inds = "req=ds_cond";
  2377. oParam.outds = "ds=info";
  2378. oParam.async = true;
  2379. oParam.callback = "cf_TRADB09204";
  2380. tranf_submit(oParam);
  2381. }
  2382. function fSetPkColumn()
  2383. {
  2384. ds_pkcolumn.clearData();
  2385. for (var i = 0; i < ds_index_info.rowcount; i++)
  2386. {
  2387. var indexname = ds_index_info.getColumn(i, "index_type");
  2388. if (indexname == "P")
  2389. {
  2390. var indexconst = ds_index_info.getColumn(i, "index_const");
  2391. var arrIndexColumn = indexconst.split(",");
  2392. for (var j = 0; j < arrIndexColumn.length; j++)
  2393. {
  2394. var row = ds_pkcolumn.addRow();
  2395. ds_pkcolumn.setColumn(row, "id", arrIndexColumn[j].trim());
  2396. var nRow = ds_column_info.findRow("id" , arrIndexColumn[j].trim());
  2397. if (nRow >= 0)
  2398. ds_column_info.setColumn(nRow, "pkyn", "Y");
  2399. }
  2400. break;
  2401. }
  2402. }
  2403. }
  2404. function CheckBox03_onclick(obj:CheckBox, e:ClickEventInfo)
  2405. {
  2406. obj.updateToDataset();
  2407. if (ds_dbas.getColumn(0, "searchColumnDisplayType") == "N")
  2408. {
  2409. ipt_column_name_ontextchanged(Tab01.tabpage1.ipt_column_name, null);
  2410. fnSetSearchColumnDisplayType("");
  2411. }
  2412. else
  2413. {
  2414. ds_column_info.filter("");
  2415. fnSetSearchColumnDisplayType(ds_column_name.getColumn(0, "column_name"));
  2416. }
  2417. }
  2418. function Button00_onclick(obj:Button, e:ClickEventInfo)
  2419. {
  2420. trace(ds.rowcount);
  2421. dsf_createDs("tmpds");
  2422. tmpds.copyData(ds);
  2423. tmpds.appendData(ds);
  2424. tmpds.appendData(ds);
  2425. tmpds.appendData(ds);
  2426. tmpds.appendData(ds);
  2427. tmpds.appendData(ds);
  2428. tmpds.appendData(ds);
  2429. ds.copyData(tmpds);
  2430. trace(ds.rowcount);
  2431. }
  2432. // 테이블 검색
  2433. function fSearchTableList(obj)
  2434. {
  2435. obj.updateToDataset();
  2436. if ( ds_dbas.getColumn(0, "searchColumn") == "Y" )
  2437. return ;
  2438. Tab01.tabpage1.ipt_column_name.value = "";
  2439. var table_name = ds_table_name.getColumn(0, "table_name");
  2440. var object_type = utlf_transNullToEmpty(ds_table_name.getColumn(0, "object_type"));
  2441. var owner = utlf_transNullToEmpty( ds_dbUsers.getColumn(cbOwner.index, "owner") );
  2442. if ( ! utlf_isNull(table_name) )
  2443. {
  2444. if ( table_name.indexOf(".") >= 0 )
  2445. {
  2446. var objArr = table_name.split(".");
  2447. ds_table_name.setColumn(0, "table_name", objArr[1]);
  2448. owner = objArr[0];
  2449. table_name = objArr[1];
  2450. }
  2451. }
  2452. fGetFilteredData(ds, owner, table_name, object_type, "");
  2453. var strDomain = utlf_transNullToEmpty(ds_cond.getColumn(0 ,"domain"));
  2454. fGetFilteredData(fafds, owner, table_name, object_type, strDomain);
  2455. if (ds.rowcount == 1)
  2456. {
  2457. ds.rowposition = 0;
  2458. fTblGridOnClick(Grid00, null);
  2459. //Grid00_oncellclick(null,null);
  2460. }
  2461. }
  2462. function Div01_Button00_onclick(obj:Button, e:ClickEventInfo)
  2463. {
  2464. // var oParam = {};
  2465. // oParam.id = "TRSMP09210";
  2466. // oParam.service = "testapp.TestMngt";
  2467. // oParam.method = "reqGetSolr";
  2468. // oParam.inds = "req=ds_test";
  2469. // oParam.outds = "ds_test_grd=info";
  2470. // oParam.async = false;
  2471. //
  2472. // tranf_submit(oParam);
  2473. dsf_makeValue(ds_test, "num", "string", "10");
  2474. var oParam = {};
  2475. oParam.id = "TRSMP09210";
  2476. oParam.service = "testapp.TestMngt";
  2477. oParam.method = "reqGetSPRet";
  2478. oParam.inds = "req=ds_test";
  2479. oParam.outds = "ds_test_grd=info";
  2480. oParam.async = false;
  2481. tranf_submit(oParam);
  2482. }
  2483. function Div00_Button01_onclick(obj:Button, e:ClickEventInfo)
  2484. {
  2485. dsf_createDs("ds_tmp_domain");
  2486. ds_tmp_domain.addColumn("domain", "string");
  2487. for (var i = 0; i < ds_domain.rowcount; i++)
  2488. {
  2489. ds_tmp_domain.addRow();
  2490. ds_tmp_domain.setColumn(i, "domain", ds_domain.getColumn(i, "domain"));
  2491. }
  2492. ds_domain.copyData(ds_tmp_domain);
  2493. fSaveFavTable("ds_domain", "./ds_domain.xml", false);
  2494. }
  2495. function Grid02_oncellclick(obj:Grid, e:GridClickEventInfo)
  2496. {
  2497. var columnlist = ds_index_info.getColumn(ds_index_info.rowposition, "index_const");
  2498. var arrCol = columnlist.split(",");
  2499. if (ds_dbas.getColumn(0, "searchindexcolumn") == "Y")
  2500. {
  2501. if (! utlf_isNull(columnlist) )
  2502. {
  2503. if (ds_dbas.getColumn(0, "searchColumnDisplayType") == "N")
  2504. {
  2505. var filterstr = "1 == 0 ";
  2506. for (var i = 0; i < arrCol.length; i++)
  2507. {
  2508. filterstr += " || (String(id) == '" + arrCol[i].trim() + "' )";
  2509. }
  2510. ds_column_info.filter(filterstr);
  2511. }
  2512. else
  2513. {
  2514. var sExpr = "EXPR( (1 == 0 ";
  2515. for (var i = 0; i < arrCol.length; i++)
  2516. {
  2517. sExpr += " || (String(id) == '" + arrCol[i].trim() + "' )";
  2518. }
  2519. sExpr += ") ? 'red' : '')";
  2520. for (var i = 0; i < 2; i++)
  2521. {
  2522. Tab01.tabpage1.Grid01.setCellProperty("Body", i, "color", sExpr);
  2523. Tab01.tabpage1.Grid01.setCellProperty("Body", i, "color2", sExpr);
  2524. Tab01.tabpage1.Grid01.setCellProperty("Body", i, "selectcolor", sExpr);
  2525. }
  2526. }
  2527. }
  2528. else
  2529. {
  2530. }
  2531. }
  2532. }
  2533. function Grid01_onnodataareadblclick(obj:Grid, e:EventInfo)
  2534. {
  2535. ds_column_info.filter("");
  2536. }
  2537. /////////////////////// Keyboard Events
  2538. function fGridKeyDownEvents(obj:Grid, e:KeyEventInfo)
  2539. {
  2540. var row = obj.currentrow;
  2541. var tmpDs = eval(obj.binddataset);
  2542. switch (e.keycode)
  2543. {
  2544. case 67: // C
  2545. if (e.ctrlKey)
  2546. {
  2547. fGridCopyClipboard(obj, e);
  2548. }
  2549. break;
  2550. case 112: // F1
  2551. var table_name = utlf_transNullToEmpty(tmpDs.getColumn(row, "table_name"));
  2552. if ( !utlf_isNull(table_name) )
  2553. {
  2554. //var findRowIndex = fafds.findRowExpr("table_name == '" + table_name + "' && domain == '" + domain + "'");
  2555. var findRowIndex = fafds.findRow("table_name", table_name);
  2556. if ( findRowIndex == -1 )
  2557. {
  2558. fafds.insertRow(0);
  2559. fafds.copyRow(0, tmpDs, row);
  2560. }
  2561. else
  2562. {
  2563. fafds.deleteRow(findRowIndex);
  2564. }
  2565. }
  2566. else
  2567. {
  2568. fafds.deleteRow(row);
  2569. }
  2570. fSaveFavTable("fafds", "./fafds.xml", false);
  2571. break;
  2572. case 119: // F8 저장
  2573. fSaveFavTable("fafds", "./fafds.xml");
  2574. break;
  2575. // case 115: // F4
  2576. // var owner = tmpDs.getColumn(row, "owner");
  2577. // var table_name = tmpDs.getColumn(row, "table_name");
  2578. // var objType = tmpDs.getColumn(row, "object_type");
  2579. //
  2580. // switch (objType)
  2581. // {
  2582. // case "VIEW":
  2583. // case "FUNCTION":
  2584. // fGetViewSource(owner, table_name, objType);
  2585. // break;
  2586. // default:
  2587. // break;
  2588. // }
  2589. // break;
  2590. case 123: // F12 Clear
  2591. if (obj.name == "grd_HistTable") // Histroy Table
  2592. {
  2593. tmpDs.clearData();
  2594. }
  2595. break;
  2596. default:
  2597. break;
  2598. }
  2599. }
  2600. function Div02_Edit00_onkeydown(obj:Edit, e:KeyEventInfo)
  2601. {
  2602. if (e.keycode == 13) // Enter
  2603. {
  2604. obj.updateToDataset();
  2605. var hrcdtype = ds_send.getColumn(0, "hrcdtype");
  2606. var cdgrupid = ds_send.getColumn(0, "cdgrupid");
  2607. lf_getHrcd(hrcdtype, cdgrupid);
  2608. }
  2609. }
  2610. //ctrl+c 클립보드 복사
  2611. function Grid01_onkeydown(obj:Grid, e:KeyEventInfo)
  2612. {
  2613. var bPushed = e.ctrlKey;
  2614. var clipStr = "";
  2615. var dbasnm = ds_dbas.getColumn(0, "dbasnm").toLowerCase();
  2616. var commentyn = ds_dbas.getColumn(0, "commentyn");
  2617. var commentStr = "";
  2618. if(dbasnm == null || dbasnm == "") {
  2619. dbasnm="";
  2620. } else {
  2621. dbasnm += ".";
  2622. }
  2623. if(e.keycode == 67 && bPushed == true)
  2624. { // Ctrl + c
  2625. if (e.shiftKey)
  2626. {
  2627. for(var i = 0; i <= obj.selectstartrow.length-1; i++) {
  2628. for(var j = obj.selectstartrow[i]; j < obj.selectendrow[i]+1; j++)
  2629. {
  2630. if ( j < 0)
  2631. {
  2632. j = ds_column_info.rowposition;
  2633. }
  2634. if(commentyn == "Y")
  2635. {
  2636. commentStr = "-- " + utlf_transNullToEmpty( ds_column_info.getColumn(j, "nm"));
  2637. clipStr += ", " + dbasnm + sRpad(ds_column_info.getColumn(j, "id"), " ", 20).toLowerCase() + commentStr + "\n" ;
  2638. } else {
  2639. //clipStr += ", " + dbasnm + ds_column_info.getColumn(j, "id") + "\r\n" ;
  2640. clipStr += " " + ds_column_info.getColumn(j, "id") + "\n" ;
  2641. }
  2642. }
  2643. }
  2644. if (!utlf_isNull(clipStr)) {
  2645. clipStr = clipStr.substr(0, clipStr.length - 1);
  2646. system.clearClipboard();
  2647. system.setClipboard("CF_TEXT",clipStr);
  2648. }
  2649. }
  2650. else
  2651. {
  2652. for(var i = 0; i <= obj.selectstartrow.length-1; i++) {
  2653. for(var j = obj.selectstartrow[i]; j < obj.selectendrow[i]+1; j++)
  2654. {
  2655. commentStr = "";
  2656. for(var k = obj.selectstartcol[i]; k < obj.selectendcol[i]+1; k++)
  2657. {
  2658. var col = obj.getCellProperty("body", k, "text");
  2659. col = col.replace("bind:", "");
  2660. //trace("col : " + col);
  2661. commentStr += "" + utlf_transNullToEmpty( ds_column_info.getColumn(j, col) ) + "\t" ;
  2662. }
  2663. if ( !utlf_isNull(commentStr))
  2664. {
  2665. commentStr = commentStr.substr(0, commentStr.length - 1);
  2666. }
  2667. clipStr += "" + commentStr + "\n" ;
  2668. }
  2669. }
  2670. if (!utlf_isNull(clipStr)) {
  2671. clipStr = clipStr.substr(0, clipStr.length - 1);
  2672. system.clearClipboard();
  2673. system.setClipboard("CF_TEXT",clipStr);
  2674. }
  2675. }
  2676. } else if (e.keycode == 114) // F3
  2677. {
  2678. // trace("obj.selectstartrow.length :" +obj.selectstartrow.length);
  2679. // trace( obj.selectstartrow);
  2680. // trace( obj.selectendrow);
  2681. for(var i = 0; i <= obj.selectstartrow.length-1; i++) {
  2682. for(var j = obj.selectstartrow[i]; j < obj.selectendrow[i]+1; j++)
  2683. {
  2684. if ( j < 0)
  2685. {
  2686. j = ds_column_info.rowposition;
  2687. }
  2688. if(commentyn == "Y")
  2689. {
  2690. commentStr = "-- " + utlf_transNullToEmpty( ds_column_info.getColumn(j, "nm"));
  2691. clipStr += ", " + dbasnm + sRpad(ds_column_info.getColumn(j, "id"), " ", 20).toLowerCase() + commentStr + "\r\n" ;
  2692. } else {
  2693. //clipStr += ", " + dbasnm + ds_column_info.getColumn(j, "id") + "\r\n" ;
  2694. clipStr += " " + ds_column_info.getColumn(j, "id") + "\r\n" ;
  2695. }
  2696. }
  2697. }
  2698. if (!utlf_isNull(clipStr)) {
  2699. system.clearClipboard();
  2700. system.setClipboard("CF_TEXT",clipStr);
  2701. }
  2702. } else if(e.keycode == 115) // F4
  2703. {
  2704. //ORA-02089: 종속 세션에서는 COMMIT이 허용되지 않습니다. 에러 처리 방법 확인 필요.
  2705. //return ;
  2706. // 변경된 코멘트 저장 하기
  2707. if(lf_messageBox("코멘트를 저장하시겠습니까?") == 6) {
  2708. trace("코멘트 저장 시작");
  2709. var updtdata = grdf_getGridUpdateData(Tab01.tabpage1.Grid01, "all");
  2710. if (!utlf_isNull(updtdata))
  2711. {
  2712. var owner = ds_cond.getColumn(0, "owner");
  2713. var tablename = ds_cond.getColumn(0, "table_name");
  2714. for(var i = 0; i < updtdata.rowcount; i++)
  2715. {
  2716. var columnid = updtdata.getColumn(i , "id");
  2717. var comment = updtdata.getColumn(i , "nm");
  2718. comment = comment.replace("'", "''");
  2719. ds_columcomment.clearData();
  2720. var nRow = ds_columcomment.addRow();
  2721. ds_columcomment.setColumn(nRow , "owner", owner);
  2722. ds_columcomment.setColumn(nRow , "tablename", tablename);
  2723. ds_columcomment.setColumn(nRow , "columnid", columnid);
  2724. ds_columcomment.setColumn(nRow , "comment", comment);
  2725. var oParam = {};
  2726. oParam.id = "TRSMP09212_1";
  2727. oParam.service = "testapp.TestMngt";
  2728. oParam.method = "reqSetColumnComment";
  2729. oParam.inds = "req=ds_columcomment";
  2730. oParam.outds = "";
  2731. oParam.async = false;
  2732. tranf_submit(oParam);
  2733. }
  2734. }
  2735. }
  2736. }
  2737. }
  2738. function Tab00_tabpage1_Combo00_onkeydown(obj:Combo, e:KeyEventInfo)
  2739. {
  2740. switch ( e.keycode )
  2741. {
  2742. // ESC
  2743. case 27:
  2744. ds_cond.setColumn(0,"domain","");
  2745. // 필터링 하기
  2746. if (ds_cond.getColumn(0, "inputYn") == "N")
  2747. {
  2748. var table_name = ds_table_name.getColumn(0, "table_name");
  2749. var owner = utlf_transNullToEmpty( ds_dbUsers.getColumn(cbOwner.index, "owner") );
  2750. var strDomain = utlf_transNullToEmpty(ds_cond.getColumn(0 ,"domain"));
  2751. fGetFilteredData(fafds, owner, table_name, strDomain);
  2752. }
  2753. break;
  2754. case 115: // F4 Sort
  2755. if(lf_messageBox("정렬을 하시겠습니까?") == 6)
  2756. {
  2757. ds_domain.keystring ="S:+domain";
  2758. // ds_domain.updateSortGroup("S:+domain");
  2759. //
  2760. fSaveFavTable("ds_domain", "./ds_domain.xml", true);
  2761. }
  2762. break;
  2763. case 117: // F6 Add
  2764. Tab00.tabpage1.Div00.visible = true;
  2765. Tab00.tabpage1.Div00.Edit00.setFocus();
  2766. break;
  2767. case 118: // F7 , Delete
  2768. if(lf_messageBox("삭제를 하시겠습니까?") == 6)
  2769. {
  2770. var strDomain = ds_cond.getColumn(0, "domain");
  2771. var nRow = ds_domain.findRow("domain", strDomain);
  2772. if ( nRow > 0 )
  2773. {
  2774. ds_domain.deleteRow(nRow);
  2775. fafds.filter("");
  2776. for(var i = 0; i < fafds.rowcount; i++)
  2777. {
  2778. if ( strDomain == fafds.getColumn(i, "domain") )
  2779. {
  2780. fafds.setColumn(i, "domain", "");
  2781. }
  2782. }
  2783. fSaveFavTable("ds_domain", "./ds_domain.xml", false);
  2784. }
  2785. }
  2786. break;
  2787. }
  2788. }
  2789. function ipt_table_name_onkeydown(obj:Edit, e:KeyEventInfo)
  2790. {
  2791. switch (e.keycode)
  2792. {
  2793. //case "13":
  2794. case "116": //F5
  2795. if ( ds_dbas.getColumn(0, "searchColumn") == "Y" )
  2796. {
  2797. lf_searchTableInfoListByColumn();
  2798. }
  2799. break;
  2800. case "13": // Enter
  2801. fSearchTableList(obj);
  2802. break;
  2803. case "40": // arrow down
  2804. if (fafds.rowcount > 0)
  2805. {
  2806. Tab00.tabpage1.grd_favTable.setCellPos(1);
  2807. fafds.rowposition = 0;
  2808. Tab00.tabpage1.grd_favTable.setFocus();
  2809. }
  2810. else if (ds.rowcount > 0 )
  2811. {
  2812. Grid00.setCellPos(1);
  2813. ds.rowposition = 0;
  2814. Grid00.setFocus();
  2815. }
  2816. default:
  2817. obj.updateToDataset();
  2818. break;
  2819. }
  2820. }
  2821. function SMSMP09204_onkeydown(obj:Form, e:KeyEventInfo)
  2822. {
  2823. //trace(e.keycode);
  2824. switch (e.keycode)
  2825. {
  2826. case 48 + 1: // 1
  2827. if(e.ctrlKey) Tab01.tabindex = 0;
  2828. break;
  2829. case 48 + 2: // 2
  2830. if(e.ctrlKey) Tab01.tabindex = 1;
  2831. break;
  2832. case 48 + 3: // 3
  2833. if(e.ctrlKey) Tab01.tabindex = 2;
  2834. break;
  2835. case 48 + 4: // 4
  2836. if(e.ctrlKey) divScript.visible = (divScript.visible ? false : true);
  2837. break;
  2838. case 27: // Escape
  2839. ipt_table_name.setFocus();
  2840. Grid00.binddataset = ds;
  2841. break;
  2842. case 112: //F1
  2843. if (e.ctrlKey)
  2844. {
  2845. /// 도움말
  2846. fPopupHotkey();
  2847. }
  2848. break;
  2849. case 120: //F9
  2850. divRepSql.move(146, 56);
  2851. if (divRepSql.visible)
  2852. {
  2853. divRepSql.visible = false;
  2854. ipt_table_name.setFocus();
  2855. }
  2856. else
  2857. {
  2858. divRepSql.visible = true;
  2859. divRepSql.TextArea00.setFocus();
  2860. }
  2861. break;
  2862. case 81: //Q
  2863. if (e.ctrlKey)
  2864. {
  2865. Tab01.tabpage1.ipt_column_name.setFocus();
  2866. }
  2867. break;
  2868. case 87: /// W
  2869. if (e.ctrlKey)
  2870. {
  2871. var column_name = utlf_transNullToEmpty(ds_column_name.getColumn(0, "column_name"));
  2872. var startRow = ds_column_info.rowposition;
  2873. if ( ds_column_info.rowposition >= ds_column_info.rowcount )
  2874. startRow = 1;
  2875. else
  2876. startRow = ds_column_info.rowposition + 1;
  2877. var nFindRow = ds_column_info.findRowExpr("id.toString().toUpperCase().indexOf('" + column_name + "') >= 0 || nm.toString().toUpperCase().indexOf('" + column_name + "') >= 0 ", startRow);
  2878. trace("nFindRow : " + nFindRow + ", column_name : " + column_name );
  2879. if (nFindRow >= 0)
  2880. {
  2881. Tab01.tabpage1.Grid01.selecttype = "row";
  2882. ds_column_info.rowposition = nFindRow ;
  2883. //Grid01.selecttype = "multiarea";
  2884. }
  2885. else
  2886. {
  2887. ds_column_info.rowposition = 0;
  2888. }
  2889. }
  2890. case 69: //E
  2891. if(e.ctrlKey)
  2892. {
  2893. var selectcolumn = ds_cond.getColumn(0, "selectcolumn");
  2894. if ( !utlf_isNull(selectcolumn) )
  2895. {
  2896. ds_column_name.setColumn(0, "column_name", selectcolumn);
  2897. ipt_column_name_ontextchanged(objColumnname, null);
  2898. objColumnname.setFocus();
  2899. }
  2900. }
  2901. break;
  2902. }
  2903. }
  2904. function fGridKeyUpEvents(obj:Grid, e:KeyEventInfo)
  2905. {
  2906. trace(e.keycode);
  2907. switch (e.keycode)
  2908. {
  2909. case 40: // UP
  2910. case 38: // DOWN
  2911. var pe = new GridClickEventInfo();
  2912. fTblGridOnClick(obj, pe);
  2913. break;
  2914. case 13: // Enter
  2915. fSaveFavTable("fafds", "./fafds.xml");
  2916. break;
  2917. }
  2918. }
  2919. function ipt_column_name_onkeydown(obj:Edit, e:KeyEventInfo)
  2920. {
  2921. //trace("ipt_column_name : " + e.keycode);
  2922. switch(e.keycode)
  2923. {
  2924. case "40": //arrow down
  2925. Tab01.tabpage1.Grid01.selecttype = "row";
  2926. ds_column_info.rowposition = 0 ;
  2927. //Grid01.setCellPos(1);
  2928. Tab01.tabpage1.Grid01.setFocus();
  2929. //Grid01.selecttype = "multiarea";
  2930. break;
  2931. case "13": // Enter
  2932. ipt_column_name_ontextchanged(obj, null);
  2933. break;
  2934. }
  2935. }
  2936. function Grid01_onkeyup(obj:Grid, e:KeyEventInfo)
  2937. {
  2938. switch (e.keycode)
  2939. {
  2940. case 40: // UP
  2941. case 38: // Down
  2942. var pe = new GridClickEventInfo();
  2943. Grid01_oncellclick(obj, pe);
  2944. break;
  2945. }
  2946. }
  2947. function Grid01_onkillfocus(obj:Grid, e:KillFocusEventInfo)
  2948. {
  2949. Tab01.tabpage1.Grid01.selecttype = "row";
  2950. }
  2951. function Grid01_onsetfocus(obj:Grid, e:SetFocusEventInfo)
  2952. {
  2953. Tab01.tabpage1.Grid01.selecttype = "multiarea";
  2954. }
  2955. function Div03_Button00_onclick(obj:Button, e:ClickEventInfo)
  2956. {
  2957. var sql = ds_sql.getColumn(0, "before");
  2958. sql = sql.replace("\t", " ");
  2959. sql = sql.replace("\n", " ");
  2960. sql = sql.replace("\r", " ");
  2961. sql = sql.replace(" ", " ");
  2962. sql = sql.replace(" ", " ");
  2963. sql = sql.replace(" ", " ");
  2964. sql = sql.replace(" ", " ");
  2965. var oriParam = "";
  2966. var bStart = false;
  2967. ds_parameter.enableevent = false;
  2968. ds_parameter.clearData();
  2969. for (var i = 0; i < sql.length; i++)
  2970. {
  2971. var ch = sql.substr(i, 1);
  2972. switch(ch)
  2973. {
  2974. case ":":
  2975. bStart = true;
  2976. oriParam = "";
  2977. break;
  2978. case " ":
  2979. case "+":
  2980. case "/":
  2981. case "-":
  2982. case ",":
  2983. case ")":
  2984. bStart = false;
  2985. break;
  2986. }
  2987. if (bStart)
  2988. {
  2989. oriParam += ch;
  2990. } else
  2991. {
  2992. if (! utlf_isNull(oriParam) )
  2993. {
  2994. if (ds_parameter.findRow("before", oriParam) < 0)
  2995. {
  2996. var repParam = "";
  2997. switch (oriParam)
  2998. {
  2999. case ":instcd":
  3000. repParam = "#%dutplceinstcd#";
  3001. break;
  3002. default:
  3003. repParam = "#" + oriParam.replace(":", "") + "#";
  3004. }
  3005. var row = ds_parameter.addRow();
  3006. ds_parameter.setColumn(row, "before", oriParam);
  3007. ds_parameter.setColumn(row, "after", repParam);
  3008. }
  3009. oriParam = "";
  3010. }
  3011. }
  3012. }
  3013. ds_parameter.enableevent = true;
  3014. }
  3015. function Div03_Grid00_onkeydown(obj:Grid, e:KeyEventInfo)
  3016. {
  3017. if (e.keycode == 46) // delete
  3018. ds_parameter.deleteRow(ds_parameter.rowposition);
  3019. }
  3020. function divRepSql_onrbuttondown(obj:Div, e:MouseEventInfo)
  3021. {
  3022. obj.visible = false;
  3023. }
  3024. function divRepSql_Button01_onclick(obj:Button, e:ClickEventInfo)
  3025. {
  3026. if (ds_parameter.rowcount > 0)
  3027. {
  3028. var sql = ds_sql.getColumn(0, "before");
  3029. for (var i = 0; i < ds_parameter.rowcount; i++)
  3030. {
  3031. sql = sql.replace(ds_parameter.getColumn(i, "before"), ds_parameter.getColumn(i, "after"));
  3032. }
  3033. ds_sql.setColumn(0, "after", sql);
  3034. }
  3035. }
  3036. function Tab01_canchange(obj:Tab, e:TabIndexChangeEventInfo)
  3037. {
  3038. var owner= ds_cond.getColumn(0, "owner");
  3039. var table_name = ds_cond.getColumn(0, "table_name");
  3040. var object_type = ds_cond.getColumn(0, "object_type");
  3041. var bCanchange = true;
  3042. switch(object_type)
  3043. {
  3044. case "TABLE":
  3045. switch (e.postindex)
  3046. {
  3047. case 0: // 컬럼정보
  3048. break;
  3049. case 1: // 소스
  3050. bCanchange = false;
  3051. break;
  3052. case 2: // Useby
  3053. fGetViewUseby(owner, table_name, object_type);
  3054. break;
  3055. }
  3056. break;
  3057. case "VIEW":
  3058. switch (e.postindex)
  3059. {
  3060. case 0: // 컬럼정보
  3061. break;
  3062. case 1: // 소스
  3063. fGetViewSource(owner, table_name, object_type);
  3064. break;
  3065. case 2: // Useby
  3066. fGetViewUseby(owner, table_name, object_type, object_type);
  3067. break;
  3068. }
  3069. case "FUNCTION":
  3070. case "PROCEDURE":
  3071. switch (e.postindex)
  3072. {
  3073. case 0: // 컬럼정보
  3074. bCanchange = false;
  3075. break;
  3076. case 1: // 소스
  3077. fGetViewSource(owner, table_name, object_type);
  3078. break;
  3079. case 2: // Useby
  3080. fGetViewUseby(owner, table_name, object_type, object_type);
  3081. break;
  3082. }
  3083. break;
  3084. case "TRIGGER":
  3085. switch(e.postindex)
  3086. {
  3087. case 0: // 컬럼정보
  3088. bCanchange = false;
  3089. break;
  3090. case 1: // 소스
  3091. fGetViewTrigger(owner, table_name);
  3092. break;
  3093. case 2: // Useby
  3094. fGetViewUseby(owner, table_name, object_type, object_type);
  3095. break;
  3096. }
  3097. break;
  3098. }
  3099. return bCanchange;
  3100. }
  3101. function Tab01_tabpage3_btnLeftMove_onclick(obj:Button, e:ClickEventInfo)
  3102. {
  3103. if (ds_dependencies.rowcount > 0)
  3104. {
  3105. ds_tmp.clearData();
  3106. var nRow = 0;
  3107. for(var i = 0; i < ds_dependencies.rowcount; i++)
  3108. {
  3109. if (ds_dependencies.getColumn(i, "status") == "VALID" )
  3110. {
  3111. nRow = ds_tmp.addRow();
  3112. ds_tmp.setColumn(nRow, "owner" , ds_dependencies.getColumn(i, "owner"));
  3113. ds_tmp.setColumn(nRow, "table_name" , ds_dependencies.getColumn(i, "table_name"));
  3114. ds_tmp.setColumn(nRow, "comments" , "");
  3115. ds_tmp.setColumn(nRow, "object_type", ds_dependencies.getColumn(i, "object_type"));
  3116. ds_tmp.setColumn(nRow, "domain" , "");
  3117. }
  3118. }
  3119. Grid00.binddataset = ds_tmp;
  3120. }
  3121. }
  3122. function cbObjectType_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  3123. {
  3124. fSearchTableList(obj);
  3125. }
  3126. function Tab01_tabpage3_cbObjectTypeDep_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  3127. {
  3128. var object_type = utlf_transNullToEmpty(Tab01.tabpage3.cbObjectTypeDep.value);
  3129. if (utlf_isNull(object_type))
  3130. {
  3131. ds_dependencies.filter ("");
  3132. }
  3133. else
  3134. {
  3135. ds_dependencies.filter ("String(object_type).indexOf('" + object_type + "') > -1");
  3136. }
  3137. }
  3138. function fPopupHotkey()
  3139. {
  3140. var hotkey = "";
  3141. hotkey += "※ 전역" + "\n";
  3142. hotkey += " ESC : 테이블명 입력칸으로 커서" + "\n";
  3143. hotkey += " F5 : Column 체크 시 컬럼명/컬럼코멘트로 테이블 조회" + "\n";
  3144. hotkey += " ALT + Q : 컬럼명 입력칸으로 커서 이동" + "\n";
  3145. //hotkey += " F9 : SQL Parameter 치환" + "\n";
  3146. hotkey += " CTRL + 1 : 컬럼정보 탭 이동" + "\n";
  3147. hotkey += " CTRL + 2 : Source 탭 이동" + "\n";
  3148. hotkey += " CTRL + 3 : Dependencies 탭 이동" + "\n";
  3149. hotkey += " CTRL + W : 컬럼명으로 순차 검색" + "\n";
  3150. hotkey += "" + "\n";
  3151. hotkey += "※ 테이블 리스트" + "\n";
  3152. hotkey += " F1 : 즐겨 찾기 추가/삭제 토글" + "\n";
  3153. hotkey += " F8 : 즐겨찾기 저장" + "\n";
  3154. hotkey += " Ctrl + C : 테이블명 복사(owner.table_name -- comment)" + "\n";
  3155. hotkey += "" + "\n";
  3156. hotkey += "※ 컬럼 정보" + "\n";
  3157. hotkey += " CTRL + SHIFT + C : 컬럼정보 복사 (, alias.column_name -- comments)" + "\n";
  3158. hotkey += " F8 : 즐겨찾기 저장" + "\n";
  3159. hotkey += "" + "\n";
  3160. hotkey += "※ History 리스트" + "\n";
  3161. hotkey += " F12 : History 삭제" + "\n";
  3162. hotkey += "" + "\n";
  3163. alert(hotkey);
  3164. }
  3165. // function utlfAddLiveLog(msg)
  3166. // {
  3167. // if ( !utlf_isNull(msg) )
  3168. // {
  3169. // dsf_createDsRow("ds_tmp_livelog", [
  3170. // {col:"msg", tyep:"STRING", val:msg}
  3171. // //, {col:"msg1", tyep:"STRING", val:"test"}
  3172. // ]);
  3173. // // ds_tmp_livelog.addRow();
  3174. // // ds_tmp_livelog.setColumn(1, "msg", "teter");
  3175. // // ds_tmp_livelog.setColumn(1, "msg1", "aaaaaaaaaa");
  3176. //
  3177. // var oParam = {};
  3178. // oParam.id = "TRSMP092109";
  3179. // oParam.service = "testapp.TestMngt";
  3180. // oParam.method = "reqSetLiveLog";
  3181. // oParam.inds = "log=ds_tmp_livelog";
  3182. // oParam.outds = "";
  3183. // oParam.async = false;
  3184. //
  3185. // tranf_submit(oParam);
  3186. //
  3187. // dsf_deleteDs(ds_tmp_livelog);
  3188. // }
  3189. // }
  3190. function Button01_onclick(obj:Button, e:ClickEventInfo)
  3191. {
  3192. //utlfAddLiveLog(ds.saveXML());
  3193. sysf_addLiveLog(ds_table_name.getColumn(0, "table_name"));
  3194. }
  3195. function btnReload_onclick(obj:Button, e:ClickEventInfo)
  3196. {
  3197. this.reload();
  3198. }
  3199. function Grid01_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  3200. {
  3201. var column = ds_column_info.getColumn(ds_column_info.rowposition, "id");
  3202. var selectcolumn = ds_cond.getColumn(0, "selectcolumn");
  3203. if ( utlf_isNull(selectcolumn) )
  3204. {
  3205. ds_cond.setColumn(0, "selectcolumn", column);
  3206. }
  3207. else
  3208. {
  3209. var existsyn = selectcolumn.indexOf(column);
  3210. trace("existsyn : "+ existsyn + ", column : " +column);
  3211. if (existsyn < 0)
  3212. {
  3213. selectcolumn += "," + column;
  3214. ds_cond.setColumn(0, "selectcolumn", selectcolumn );
  3215. }
  3216. }
  3217. }
  3218. function lf_setTablename(selecttext)
  3219. {
  3220. ds_table_name.setColumn(0, "table_name", selecttext);
  3221. ipt_table_name.updateToDataset();
  3222. fSearchTableList(ipt_table_name);
  3223. }
  3224. function Div03_btnScriptAction_onclick(obj:Button, e:ClickEventInfo)
  3225. {
  3226. var dsname = ds_scriptinput.getColumn(0, "dsname");
  3227. if ( utlf_isNull(this.objects[dsname]))
  3228. {
  3229. dsf_createDs(dsname);
  3230. ds_scriptcolumn.filter("1 == 0");
  3231. var tmpds = eval(dsname);
  3232. tmpds.copyData(ds_scriptcolumn, true);
  3233. objScript.binddataset = tmpds;
  3234. objScript.setCellProperty("Body", 0, "text", "expr:" + dsname + ".rowposition == currow ? '▶' : ''");
  3235. }
  3236. var ds = eval(ds_scriptinput.getColumn(0, "dsname"));
  3237. var nCurrow = ds.rowposition;
  3238. if (nCurrow < 0)
  3239. {
  3240. nCurrow = 0;
  3241. }
  3242. switch (obj.text)
  3243. {
  3244. case "행 추가":
  3245. var nRow = ds.addRow();
  3246. ds.setColumn(nRow, "owner" , ds_scriptinput.getColumn(0, "owner"));
  3247. ds.setColumn(nRow, "tablename", ds_scriptinput.getColumn(0, "tablename"));
  3248. break;
  3249. case "행 삭제":
  3250. var arrDeleteRow = new Array();
  3251. for(var i = objScript.selectstartrow.length - 1; i >= 0; i--)
  3252. {
  3253. for(var j = objScript.selectendrow[i]; j >= objScript.selectstartrow[i]; j--)
  3254. {
  3255. arrDeleteRow.push(j);
  3256. }
  3257. }
  3258. for(var i = 0; i <= arrDeleteRow.length - 1; i++)
  3259. {
  3260. ds.deleteRow(arrDeleteRow[i]);
  3261. }
  3262. break;
  3263. case "위로":
  3264. if (nCurrow > 0)
  3265. {
  3266. ds.moveRow(nCurrow, nCurrow-1)
  3267. }
  3268. break;
  3269. case "아래로":
  3270. if (nCurrow < ds.rowcount)
  3271. {
  3272. ds.moveRow(nCurrow, nCurrow + 1)
  3273. }
  3274. break;
  3275. case "저장":
  3276. fSaveScriptTable();
  3277. break;
  3278. case "삭제":
  3279. fDeleteScriptTable();
  3280. break;
  3281. }
  3282. }
  3283. function Div03_btnScriptGen_onclick(obj:Button, e:ClickEventInfo)
  3284. {
  3285. var owner = utlf_transNullToEmpty(ds_scriptinput.getColumn(0, "owner"));
  3286. var tablename = utlf_transNullToEmpty(ds_scriptinput.getColumn(0, "tablename"));
  3287. var tablecomment = utlf_transNullToEmpty(ds_scriptinput.getColumn(0, "comment"));
  3288. tablecomment = tablecomment.replace("'", "''");
  3289. var ds = eval(ds_scriptinput.getColumn(0, "dsname"));
  3290. var columncount = ds.rowcount;
  3291. var script = "";
  3292. if ( !utlf_isNull(owner) && !utlf_isNull(tablename) )
  3293. {
  3294. // Table 생성
  3295. var arrComment = new Array();
  3296. var arrPkColumn = new Array();
  3297. script += "/* 테이블 생성 */" + "\n";
  3298. script += "CREATE TABLE " + owner + "." + tablename + " \n";
  3299. script += " (" + "\n";
  3300. for (var i = 0; i < columncount ; i++)
  3301. {
  3302. var columnname = utlf_transNullToEmpty(ds.getColumn(i, "columnname"));
  3303. var type = utlf_transNullToEmpty(ds.getColumn(i, "type"));
  3304. var isreqlegnth = ds_scripttypecd.lookup("type", type, "isreqlegnth");
  3305. var length = utlf_transNullToEmpty(ds.getColumn(i, "length"));
  3306. var isnotnull = utlf_transNullToEmpty(ds.getColumn(i, "isnotnull"));
  3307. var defaultval = utlf_transNullToEmpty(ds.getColumn(i, "defaultval"));
  3308. var columncomment = utlf_transNullToEmpty(ds.getColumn(i, "columncomment"));
  3309. var ispk = utlf_transNullToEmpty(ds.getColumn(i, "ispk"));
  3310. script += " " + (i == 0 ? " ": ", ") + columnname + " " + type ;
  3311. if ( isreqlegnth == "Y" )
  3312. {
  3313. script += " (" + length + ") ";
  3314. }
  3315. if (isnotnull == "Y")
  3316. {
  3317. script += " NOT NULL ";
  3318. }
  3319. if ( !utlf_isNull(defaultval) )
  3320. {
  3321. script += " DEFAULT " + defaultval + "";
  3322. }
  3323. script += "\n";
  3324. var columncommentsrc = "Comment on Column " + owner + "." + tablename + "." + columnname + " is '" + columncomment + "';";
  3325. arrComment.push(columncommentsrc);
  3326. if ( ispk == "Y" )
  3327. {
  3328. arrPkColumn.push(columnname);
  3329. }
  3330. }
  3331. script += " ) TABLESPACE EMR_D08_01" + "\n";
  3332. script += " PCTFREE 30" + "\n";
  3333. script += " PCTUSED 0" + "\n";
  3334. script += " INITRANS 16" + "\n";
  3335. script += " MAXTRANS 255" + "\n";
  3336. script += " STORAGE" + "\n";
  3337. script += " (" + "\n";
  3338. script += " INITIAL 65536" + "\n";
  3339. script += " NEXT 327680" + "\n";
  3340. script += " MINEXTENTS 1" + "\n";
  3341. script += " MAXEXTENTS UNLIMITED" + "\n";
  3342. script += " BUFFER_POOL DEFAULT" + "\n";
  3343. script += " )" + "\n";
  3344. script += " LOGGING ;" + "\n";
  3345. script += "" + "\n";
  3346. script += "/* 코멘트 생성 */" + "\n";
  3347. script += "Comment on Table " + owner + "." + tablename + " is '" + tablecomment + "';" + "\n";
  3348. for(var i = 0; i < arrComment.length; i++)
  3349. {
  3350. script += arrComment[i] + "\n";
  3351. }
  3352. script += "" + "\n";
  3353. script += "/* Primary Key 생성 */" + "\n";
  3354. if(arrPkColumn.length > 0)
  3355. {
  3356. script += "Alert Table " + owner + "." + tablename + " add constraints PK_" + tablename + " primary key (\n";
  3357. for (var i = 0; i < arrPkColumn.length; i++)
  3358. {
  3359. script += (i == 0? " ": ", ") + arrPkColumn[i] + " \n";
  3360. }
  3361. script += ");" + "\n";
  3362. }
  3363. script += "GRANT INSERT ON " + owner + "." + tablename + " TO HISU01;" + "\n";
  3364. script += "GRANT UPDATE ON " + owner + "." + tablename + " TO HISU01;" + "\n";
  3365. script += "GRANT DELETE ON " + owner + "." + tablename + " TO HISU01;" + "\n";
  3366. script += "GRANT SELECT ON " + owner + "." + tablename + " TO HISU01;" + "\n";
  3367. script += "GRANT INSERT ON " + owner + "." + tablename + " TO DEVADMIN;" + "\n";
  3368. script += "GRANT UPDATE ON " + owner + "." + tablename + " TO DEVADMIN;" + "\n";
  3369. script += "GRANT DELETE ON " + owner + "." + tablename + " TO DEVADMIN;" + "\n";
  3370. script += "GRANT SELECT ON " + owner + "." + tablename + " TO DEVADMIN;" + "\n";
  3371. script += "" + "\n";
  3372. ds_scriptinput.setColumn(0, "script", script);
  3373. divScript.Tab00.tabindex = 1;
  3374. }
  3375. }
  3376. function Div03_Div00_Edit00_onkeydown(obj:Edit, e:KeyEventInfo)
  3377. {
  3378. switch(e.keycode)
  3379. {
  3380. case "13":
  3381. obj.updateToDataset();
  3382. var owner = ds_scriptinput.getColumn(0, "owner");
  3383. var columnname = ds_send.getColumn(0, "columnname");
  3384. lf_getColumnlist(owner, columnname);
  3385. // if (ds_columnlist.rowcount == 0)
  3386. // {
  3387. // lf_getColumnlist(owner, columnname);
  3388. // }
  3389. // ds_columnlist.filter("String(columnname).indexOf('" + columnname + "') >= 0 || String(columncomment).indexOf('" + columnname + "') >= 0");
  3390. break;
  3391. }
  3392. }
  3393. function SMSMP09204_ontimer(obj:Form, e:TimerEventInfo)
  3394. {
  3395. var oParam = {};
  3396. oParam.id = "TRSMP09210";
  3397. oParam.service = "testapp.TestMngt";
  3398. oParam.method = "reqGetDummy";
  3399. oParam.inds = "";
  3400. oParam.outds = "";
  3401. oParam.async = false;
  3402. tranf_submit(oParam);
  3403. }
  3404. function divColumnlist_Grid00_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  3405. {
  3406. var nRow = -1;
  3407. var dsname = ds_scriptinput.getColumn(0, "dsname");
  3408. if ( utlf_isNull(this.objects[dsname]))
  3409. {
  3410. dsf_createDs(dsname);
  3411. ds_scriptcolumn.filter("1 == 0");
  3412. var tmpds = eval(dsname);
  3413. tmpds.copyData(ds_scriptcolumn, true);
  3414. objScript.binddataset = tmpds;
  3415. objScript.setCellProperty("Body", 0, "text", "expr:" + dsname + ".rowposition == currow ? '▶' : ''");
  3416. }
  3417. var ds = eval(dsname);
  3418. var columnname = ds.getColumn(ds_columnlist.rowposition, "columnname");
  3419. // 이미 들어가 있음
  3420. var isExists = utlf_transNullToEmpty(ds.lookup("columnname", columnname, "columnname"));
  3421. if ( utlf_isNull( isExists ) )
  3422. {
  3423. nRow = (ds_scriptcolumn.rowcount == 0 ? 0: ds_scriptcolumn.rowposition);
  3424. ds.setColumn(nRow, "owner" , ds_scriptinput.getColumn(0, "owner"));
  3425. ds.setColumn(nRow, "tablename" , ds_scriptinput.getColumn(0, "tablename"));
  3426. ds.setColumn(nRow, "columnname" , ds_columnlist.getColumn(ds_columnlist.rowposition, "columnname"));
  3427. ds.setColumn(nRow, "type" , ds_columnlist.getColumn(ds_columnlist.rowposition, "type"));
  3428. ds.setColumn(nRow, "length" , ds_columnlist.getColumn(ds_columnlist.rowposition, "length"));
  3429. ds.setColumn(nRow, "isnotnull" , "");
  3430. ds.setColumn(nRow, "defaultval" , ds_columnlist.getColumn(ds_columnlist.rowposition, "defaultval"));
  3431. ds.setColumn(nRow, "columncomment", ds_columnlist.getColumn(ds_columnlist.rowposition, "columncomment"));
  3432. ds.rowposition = nRow;
  3433. }
  3434. else
  3435. {
  3436. alert("이미 있음");
  3437. }
  3438. }
  3439. function fSaveScriptTable()
  3440. {
  3441. var owner = ds_scriptinput.getColumn(0, "owner");
  3442. var tablename = ds_scriptinput.getColumn(0, "tablename");
  3443. var comment = ds_scriptinput.getColumn(0, "comment");
  3444. var script = ds_scriptinput.getColumn(0, "script");
  3445. var nRow = ds_scripttable.findRowExpr("owner == '" + owner + "' && tablename == '" + tablename + "'");
  3446. if (nRow < 0)
  3447. {
  3448. nRow = ds_scripttable.addRow();
  3449. }
  3450. ds_scripttable.setColumn(nRow, "tablename", tablename);
  3451. ds_scripttable.setColumn(nRow, "comment", comment);
  3452. ds_scripttable.setColumn(nRow, "script", script);
  3453. fSaveFavTable("ds_scripttable", "./TableScript/ds_scripttable.xml", false);
  3454. fGetDataSet ("ds_scripttable", "./TableScript/ds_scripttable.xml");
  3455. var dsname = ds_scriptinput.getColumn(0, "dsname");
  3456. if ( utlf_isNull(this.objects[dsname]) )
  3457. {
  3458. dsf_createDs(dsname);
  3459. var ds = eval(dsname);
  3460. var tmpds = objScript.binddataset;
  3461. ds.copyData(tmpds, true);
  3462. for(var i = 0; i < tmpds.rowcount; i++)
  3463. {
  3464. ds.setColumn(i, "owner", owner);
  3465. ds.setColumn(i, "tablename", owner);
  3466. }
  3467. }
  3468. fSaveFavTable(dsname, "./TableScript/" + dsname + ".xml", false);
  3469. }
  3470. function fDeleteScriptTable()
  3471. {
  3472. var owner = ds_scriptinput.getColumn(0, "owner");
  3473. var tablename = ds_scriptinput.getColumn(0, "tablename");
  3474. var comment = ds_scriptinput.getColumn(0, "comment");
  3475. var script = ds_scriptinput.getColumn(0, "script");
  3476. var nRow = ds_scripttable.findRowExpr("owner == '" + owner + "' && tablename == '" + tablename + "'");
  3477. if (nRow >= 0)
  3478. {
  3479. ds_scripttable.deleteRow(nRow);
  3480. }
  3481. var rowcount = ds_scriptcolumn.rowcount;
  3482. for (var i = rowcount ; i >= 0; i--)
  3483. {
  3484. ds_scriptcolumn.deleteRow(i);
  3485. }
  3486. fSaveFavTable("ds_scripttable", "./TableScript/ds_scripttable.xml", false);
  3487. fSaveFavTable("ds_scriptcolumn", "./ds_scriptcolumn.xml", false);
  3488. fGetDataSet ("ds_scripttable", "./TableScript/ds_scripttable.xml");
  3489. }
  3490. function divScript_Grid01_oncellclick(obj:Grid, e:GridClickEventInfo)
  3491. {
  3492. fLoadscripttable();
  3493. }
  3494. function fLoadscripttable()
  3495. {
  3496. var nRow = ds_scripttable.rowposition;
  3497. var owner = ds_scripttable.getColumn(nRow, "owner");
  3498. var tablename = ds_scripttable.getColumn(nRow, "tablename");
  3499. var comment = ds_scripttable.getColumn(nRow, "comment") ;
  3500. var script = ds_scripttable.getColumn(nRow, "script")
  3501. var dsname = "ds_" + owner + "_" + tablename;
  3502. var olddsname = ds_scriptinput.getColumn(0, "dsname");
  3503. if (dsname != olddsname && !utlf_isNull(olddsname))
  3504. {
  3505. fSaveScriptTable();
  3506. }
  3507. var ds;
  3508. if ( utlf_isNull(this.objects[dsname]) )
  3509. {
  3510. var vFile = new VirtualFile();
  3511. var bExists = vFile.open("./TableScript/" + dsname + ".xml", VirtualFile.openRead);
  3512. vFile.close();
  3513. if (bExists)
  3514. {
  3515. fGetDataSet (dsname, "./TableScript/" + dsname + ".xml");
  3516. ds = eval(dsname);
  3517. }
  3518. else
  3519. {
  3520. dsf_createDs(dsname);
  3521. ds_scriptcolumn.filter("1 == 0");
  3522. ds = eval(dsname);
  3523. ds.copyData(ds_scriptcolumn, true);
  3524. }
  3525. }
  3526. else
  3527. {
  3528. ds = eval(dsname);
  3529. }
  3530. ds_scriptinput.setColumn(0, "owner", owner );
  3531. ds_scriptinput.setColumn(0, "tablename", tablename );
  3532. ds_scriptinput.setColumn(0, "comment", comment );
  3533. ds_scriptinput.setColumn(0, "script", script );
  3534. ds_scriptinput.setColumn(0, "dsname", dsname);
  3535. objScript.binddataset = ds;
  3536. objScript.setCellProperty("Body", 0, "text", "expr:" + dsname + ".rowposition == currow ? '▶' : ''");
  3537. }
  3538. function divScript_btnScriptpaste_onclick(obj:Button, e:ClickEventInfo)
  3539. {
  3540. var sClipText = system.getClipboard("CF_TEXT");
  3541. if ( !utlf_isNull(sClipText) )
  3542. {
  3543. var arrClip = sClipText.split("\n");
  3544. var nRow = ds_scriptcolumn.rowposition;
  3545. var owner = ds_scriptinput.getColumn(0, "owner");
  3546. var tablename = ds_scriptinput.getColumn(0, "tablename");
  3547. var ds = eval(ds_scriptinput.getColumn(0, "dsname"));
  3548. ds_scriptcolumn.row1
  3549. for(var i = 0; i < arrClip.length; i++)
  3550. {
  3551. if( !utlf_isNull(arrClip[i]) )
  3552. {
  3553. nRow = ds.insertRow(nRow + 1);
  3554. var arrRow = arrClip[i].split("\t");
  3555. for (var j = 0; j < arrRow.length; j++)
  3556. {
  3557. ds.setColumn(nRow, 2 + j, arrRow[j].trim());
  3558. }
  3559. ds.setColumn(nRow, "owner", owner);
  3560. ds.setColumn(nRow, "tablename", tablename);
  3561. }
  3562. }
  3563. }
  3564. }
  3565. function divScript_Grid00_onkeydown(obj:Grid, e:KeyEventInfo)
  3566. {
  3567. switch(e.keycode)
  3568. {
  3569. case 111 + 2: //F2
  3570. var ds = eval(ds_scriptinput.getColumn(0, "dsname"));
  3571. var columncomment = ds.getColumn(ds.rowposition, "columncomment");
  3572. if (!utlf_isNull(columncomment) )
  3573. {
  3574. ds_send.setColumn(0, "columnname", columncomment);
  3575. var owner = ds_scriptinput.getColumn(0, "owner");
  3576. var columnname = ds_send.getColumn(0, "columnname");
  3577. lf_getColumnlist(owner, columnname);
  3578. divScript.Tab00.tabindex = 0;
  3579. divScript.Tab00.tabpage1.Edit00.setFocus();
  3580. }
  3581. break;
  3582. }
  3583. }
  3584. function ds_scriptcolumn_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  3585. {
  3586. if(e.columnid == "columnname")
  3587. {
  3588. var tmp = e.newvalue.substr(e.newvalue.length - 2, 2);
  3589. var nRow = ds_scriptcolumn.rowposition;
  3590. switch(tmp)
  3591. {
  3592. case "DD":
  3593. ds_scriptcolumn.setColumn(nRow, "type", "VARCHAR2");
  3594. ds_scriptcolumn.setColumn(nRow, "length", "8");
  3595. break;
  3596. case "TM":
  3597. ds_scriptcolumn.setColumn(nRow, "type", "VARCHAR2");
  3598. ds_scriptcolumn.setColumn(nRow, "length", "4");
  3599. break;
  3600. }
  3601. trace(tmp);
  3602. }
  3603. }
  3604. function divScript_Grid00_onkillfocus(obj:Grid, e:KillFocusEventInfo)
  3605. {
  3606. obj.updateToDataset();
  3607. }
  3608. function ds_scriptinput_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  3609. {
  3610. if (e.columnid == "owner" || e.columnid == "tablename")
  3611. {
  3612. var owner = ds_scriptinput.getColumn(0, "owner");
  3613. var tablename = ds_scriptinput.getColumn(0, "tablename");
  3614. ds_scriptinput.setColumn(0, "dsname", "ds_" + owner + "_" + tablename);
  3615. }
  3616. }
  3617. function btnFormOpen_onclick(obj:Button, e:ClickEventInfo)
  3618. {
  3619. frmf_open("SPMNP09900","SPMNP09900","","","","","","","","","","","M");
  3620. }
  3621. ]]></Script>
  3622. </Form>
  3623. </FDL>