ࡱ> `!X(*\I0ohA-2tD*g&(xڭŶg"( in QAPnAI[AJ@)E}g}ssٿg;f̊k*6&I ]KŞRJ/%MS$O"( =bV&wj8^?5y] ٵ%k]B;un&|?5Iқ_$vL7$wLJ햙nIxftTl˻v|n7vl`I#^i#RM2KRrv]O<[&پ2^ZC=Hy~gOΙs3XQL-Yy̔ flE쩨=峟GwC5s :l>fW4l1DOQ"`DͬU6f@t5"cFk蔖kh捖b--{Q-z \\sGPt3 Cp8&Ѡ03z2 ۢშF$>*#Qp"*NGe™T8.E(oH곇>]퓇b> ط{|;G ^u|o_?ah?M~s/^Ӣh};Eg} ztW(e GCtȋ9B֨{ i9!u.!Ut6QbeD#y5GT-UQ-Q7 ftЮfCLtFF?(e0cPJ@4fRL5fYͺ(}-*dߌ*ۏFD^SV@9X[O [ϳ-"ѯudvolFVɷw|/99Z]$)~J!kһ! ~(wJx~e\J-rk+9\R矖2_v_i*_lܞ5rZ=j ]Zo4^4NN]h/Y3Q--7GT\[%QZ_&lZfm~-6kvmŽ_ojnN?//ͪiSm"[8x[&4 "C"y8$'BrRʰFƇ 2=d!y=EPZv*^+yh/BW&+)asm֕EK.(t=RIߑ:_A?ǰ} ӓ2I3 vrpo8Kh~Td1Hn_w-Vi`^VBmf 3U2֌IfL3Cd( +KM/YmO㦅\5MEMcIoI%XZ&gxK P֒|i KR/% R]RH Qx vCnV^e+CikH{Q2ثisQ֘oe9w;+gNH'4P d6Oh#=,+y^_Km}5DRV~@SJ [n>yok AHI!e\o+8iQ[^?l}^- _CUĖy0 &:R:޶>,m 7/c5meM³7􆩨M.zNSN){Mi}vR^e/\OC`'A[(Av2A:9 ZIrzZq-~ ^2|Mi㴂djAE(Myq 6>QrfT PZze| 0e‡y?7a;l +_B0 X頀B*SD]M讵Cs-Vhߪ6=?ON_%>5EoDh~O>/RIl15zHE>z1ϖ[<@ӝ31ԴAИ4`euYa@cw6C MY($@.޳Sݦ47%$EBaݙd4HkppWЃ!oQۗŗMzW_s$,yҺ^U $C?nH(>}Em+iS_YB st;Τo>I@w:z0Fs>sL~乳%WLceB0"eOx0<6+ɐ7~$mJ(q^dlF s^ GE+ɫ%W,iB_1+rC>wiſn_R9~~q?enl+ocMlF_\Qq{-H8=Yt>3oE[͎h3/ECm0{!-ωɡ~5%]$ڮWΈfh@KTY[fQQmѺQfl] ER](aɣOBi2RXx QP%jBU3ԋʆQ2EiC(qx"Fߑ~^__vWh/Y\_EɅ& ~GudE; O-]"4YB%7ýbHkF<\Z6Ứ-YZ{dmuG=îhpJ#MVa;z/t +u ١&hYc(֎ r c#*}`@@^i=J@ +m!8Fi8uĐ4rA/}aZ-jaih{[xN{>=? 0)0aV1-Ώ'E^\s)8 U~ q(w f 5 xS'֤m,ӎPDR76Ci;,xryë!F>"|D<8m L bp#ɧ9 /{IrZD+kQ"DJEu l OL? "ld-0|'>{1gw(gM iLah i6)HXd!"BD0 i",`mS@W$K&k>OvGܿȡlQ"bD4d=-yl!o hQl>"Dy }(n,Lu:̃~e[P716Řp_9Dk0PJV:|d"Ht͛.<(XW@r52OC/o_10mqu]W%Uer]"o;,2ѽ*3R27HVdk)]5yl%u7`Wvgv{Ns+D7׎vSP7tlp=l7vrm{ƶplpm9Wsl^-*ܮR~.zlHc26 nv`Z+Mlv)O`[J&$uW wdvrw .m ؇]&~vvWY%+o$\o8]zg1\ۇA}hROqRB(]vye+!]%P ~糇뤧!ٝt7Kj트>R]%AҺ3qK${6J*dq %.E)㞑*qHZZ\%qOz҇u v!¦̈k["lH7VJ>X@ύ{Df"BIVJA }G꛲ȯ,\rN)JEX~oAgNdq\:WѥuݮK撹e;ۺk>G/kT.G)ľ^a5uyDI$퐺sG$"ERdD)k{~(JlۍK^q3?6t97TN,F,*MEiAmy9WCDe%2U$J3[6bLOvQ8eg+3;U^d$uiKFNM6HNRXYQOXi;SyR`$@9=ZIHl;l\ƹia^ĵgIeWVjXjܲX2.)] ڧ{yJy&IzHC;N3cvnƿ3IJuamC=@XrVX.lkFkwͶrm6m{ۑG/i8oskXd]YGO,.teG\ij1nSm 1yleWVdc5yEvFͫvD')wH~Jr`ӻҒV>*E &H"}Ar.}uyu>SCsmewx6DK OxA)|wҁV0"iq2BLNNlLmGYI+YHCl]yAsc+b)-/*3;CcYpI'.vDjxK崭gylKʏf$$dNw1R==./89d7vuK%9V)KءW%31i&# ,XrMbiRbaI"U9bo,<{Eً2^ 9,2ɾ(|Yb:Gهd/Q1mC[nh|ZbJW`n2%IYLt.%쐛XC+QW%$ƜV7M"ҧ;ަ^}^}^}a iβ[Ckn׆kJVwmm}Ꚓ״qO2Fl;ƈ5dG\k=j :I"V[`,9.nN 1o4<3i;^FH\^$Cfk὚$;lwV3@[l VX%2lOsqieH>[¾!`vId^sX;Sr{>*Yl+li)6襷=AF4Q?=ü${E~Ij?{}2}}9m7Ж77wSY3s" CnqbnjG5\ECngIzݥi\R gZ#s2]\Bf J";=gǹQXk\-죔=g{={/붫{+>^;3x&69w'^En7`<(htGfy̼d1r27Ѕ<5of6hgijґ1֜qϘ%S:3aa 1"k}-kXo Eμ^1FtYgrp"rqJr[䆼9S).rP*r+q_*U̳0{7Mvg?i2:QGbk|]#v4G㟏#RJ[@u^KPVlf5jn|y7cW\u!N3Y/9~ߢNMk6]%濩{]tNzBSZeM6*PUkuzנe -sQ Q(ɡͫ +yϤ_&ce}fк7,k ݃Z[j- i C1K'i:5΁ٺe:fq鱝;Cne-%mk.gŬb9x6Wa ==G;}h=OY;C[t^F+:__!@R3_S,{2vz%-i,ɉ)U̫Zlzf66isNQkCrf;s:3m'eɍMuI )_UYoRM2sk>#7gb2`@.s7nΙFy>ˎ.o?dq5aY =냰|3FhAbǟi)򶔻6K6Ki4>ƋE{TIK%l2`3<$'鎟l=iZ`qba隣%:om򛶬Zзoh|ە ?eCx S8@A,vg{6>cmSۼIx:|4GMهzPZMU=^V;RrPuEE%%9 |7c_'ETmG; sv78Jpz3NOz}jAK}ط+?N$V|G{06e}̺y}D_|͎|͎|ŎN~8xwf %KH2AvڜR&9' ;nE2Ӎp46>Ɲf4999y8y)r+d!HKY:btR.ol;螸D)+Z8`Z J#ɿk{gϥ* :(zW罌9 %単5[Xu]k9kckAuRVb.ܯDZas#g}c=|s=nc]ƩMJnA*Nx,CfZԕ6oÉm#ط+o|8.eQtf#K')i .j*ڒd3MU[̦4VОN}6=i;#M^;dM2;,g"1Xd[q ^[ʳsR'[X[Ɉ ynLYsZ5L{rX{{w;Ͼ|\]b/9y)`8ܙ?.q&j?6a?f?V|hf_ waX ؀;Y;Y2>a\< p.P~#]uXaNyu$ߜa-P5m$g=ϑ- 7Zk1y?8rwv]{o`qvbb6i9bЌ!z:vc2,YH4|GXQȳ0Mf I۰֔mKڵdYy;GB~33UJ# Q߃=k5kLd|ev<.%wg7xɪBrdF?5'1rN|'k͵"j#+Һ9iUZU \+}Va>!+ 쀎<ρŔ/ҷ` }d郒y]p2U}E÷Q u'2_]w P"N2­[Ǜ5')3Y_vI kWkl;|\Gٟw8oh]i5:g vw_:JOze!fHC=}Sl~Sz7+57+ 7( OjbT܎9)ɸ٥Vbo7\Kh[hghI~h.P*PV9FtpN \UUn#];0wCnV%ϊ̂oɄ_Ɉɀ%OGMK;3=di)qq%AX~ė=cDtXG,EVVQN7(fyʌ4Ocu6yWG!>n s W'?;g$aff7RQ ql=/9Bϲ-wRY/Ƌ~^U5`߮'.Άr ۼ|*э 7nVY?]xHVǣJ/+|]RF$ke)lgv}wettHfK D⡲-C Q-Ҧ;m{2-{OtEC{[ 4yBu3L6wHeBr[($b\K{5Bl9)F/*6W5q JFIF``C   !'#))'#&%,1?5,.;/%&6J7;ACFGF*4MRLDR?EFCC   C-&-CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?@A}޸?5m*'WR>T+3|z9E*RO<I#8}JHRH$ߥ!݅¾0q@Pf=5IcR%X @fo*W€s{b 'w`#=M"$`c;cARy ֛@\ 3Mv,UA2{P!0zw?ӕ8@4X}I4I=YcAyZ 7{w/yOPv{>pǶi;s1C=Y@Cv\*N|=ABFF#֙̀P$rW%4N[0pIS<zshXYx]NyNsJm |@!ym3;sڔio!NK{SIw79'M479{) ĎfN¯n%Pp3)՛$ 'jNOozW\*N(T yZfgy'p΋vxQ60h'=”| Zl9i>Xcs.F@#N>U(da@rFsc G]ISM3ʼnffo*+$q;z;Sz4$NIv;oZfTR63LrX9 d/`'P8@4OԓH'!O@rz ##=`ʜ3'ր$fN,{ً|VlJBSQ'L-rĠ: VǷJj*<E7.UPyPy`9;F89=QNz)y ̠c1֖Gņ9?Zhiʼ 60 2Fsc G]ISL 簠y4yS`7zdqBăr!m9',FA<Ӊ(I9 >Э;w|'ځ <:uK8S>:M.PrN8jd4A;s}=H#\rI \š6QדM # *) ͞<)'ێU 8RH$ߥ6¾8BYI8DlrUv=3MrKG #%E8 BɤA O#f@iJlBnocG!I=3FI9iBĜ'8<!IUY=ŒO@4 N->'iBO4Zܜzv ˩!XpF S3msNOAOb> q40(Ny$(T142TH@c9$Sǝ(Udddp88)F0'nh@UHh9.AXQ)$` 8U:` OozO/Py1CJt s8X J|i!Rϰ{RznlRwp'ð3N؊ cOs@c)ݳ }N[`g>[>EP0<߭63gSM7׷!O,U:>(,2+\nG ^*x@Xm`)fn P '=iɹ1V$08l]f<8G K8x BɤAH95?nN=; A˩;Xp`eN)#Fl9ʧluoԪN[`g>r9 ϱ y֒3gSM5ہۏzU:Ͻ0@d-u ^ԛd=An~)fn~AЖ瞂8p}iIK1f*ēqʈ(9*rzgژG Iph8i&`O42$pX!߽)_- -PI=3G$4BĜ'8<wdǩ*wNy~?sj\tSHw'}(_1rqSG.a`71M3msluoP@zpb9) uwČ N)Ɉʼn0;ÙOoz<sM23ZcJ$R;ҨlobW#^SQ >p{Ҥq+ssdBgnO8֓;q#`P3Mڊo 1={@)9unRx}E PKg (`yZH[Q₡s?ZQϯ#&T!w ZM*֑3ҹ27{RĀ {PpDXAf'ӌ*A֑ 9@(U-'?7 Z`;'iI8cG֞3G\@-g :C L`Ґ(R[9=C`8(D.#p\x.)tP 9 x-fU  >8Pzu&٤UQЁڛ%cJC>~`HLA89ڠc1sA8sR 7@=# cc8ӹ+H,r)K8A ;z΀P,cnl0BFHޟFS*SJLhKJ):usN1Xc81PyQ g?1' #?BS%9)T Ҩ2zg(`PTcq94 6Ӟ[I\q죽;yϮF@8@Iݴ2OoZ@*n1g`09fZ0mP@r~#C=(vUpG(qւ rx3?J2 gTR*֑؃{n9S-ځȋH,Ā}8 hfMvNr4@Bi9..ӵItnTS8@uȦJNy)BIxSҁ0 NOJR 9 ĜE s ˑgz!ORIxao<3HyXg88!{PsgaTrө4" IoAPC>~`H@ N0{ 6Lc8c84n ${P@l`Tmv^4J 9hq,v!$` ͆H;ԻjU>PzĒusN 2;wrG {Td3U OF%9)@P\ ?@  n'sONyc{!sZ 0=wyxܔ<L1@w`2OoZUm2Y=ivWhFGJr8GS $~>2eAbp;XT]H ^ZkO';*Q}:@<(GMr>Iϩ O$4&.Y3y')ANriHRO>SSd,}N*P~k>NJŽ~H2srQ׎:o>V$0T|NM!eL>R8>X8=H#=1@yyt᱌8L$$z l@9{@?247EiUO ϻ<)(׍B/9I'zR]w9R.ΝF@Hc29>D39c@R}DZ9E?{$ڐ #U!qJc {sMa$c߽5>RKsʑ\+;H8;O֚Arxڀ#(#RN@QHA ԏ3cjP"cԞ?wjZ(P'ǭ4$8<|U H`7d_rsҔX)pm1GNA|Mʮ'`iB0V%sScA @V998qKAj/_h\sŒ~tw+8\&HN2$PUORIJc#r}1ay')7+b'94 mKԬ;$)'&r,GUbI9f!\6$ӐFT9)ʱ;q{sRw`ǨSp|<:k08q/I<-;;)ր,d8 $n Ak$e |I'zR]wsϠ".K:u@7wS$C; uPbsNE꩟X=A8S$f`ƞSۜZh#ޕÕ*I|< 9°)H@AqHw9<u⋡r08VK<PSB#8/_ΤbW0*b#<'< ixBHǭ4Ipby{Qȿ*ߛqLqL<GyUx8!$0V;E+Rw3 gOQP&Wѹt` )'۱}+J@cV@ =M8.(#s A,m8y9I']pyp9R >zXw8zU '4^%SڐXqȦ;0Nu)yiiI|xR3F $HArxڀ#* w'A )#8/_Τ|b6P?B2x 1OAJzm\O(qHUwpp))!\o#z \EʮAzRK 7`1"qLqM =snuvO'i8$)ܐX@ cs37N;~l˜^J6 9T;?(?/< ҅pyr;` `yhǮi9<թê=X)) drM+}in pNz@R7p4v p{*Xrm AxP$ӁrxlR,IL@m`֥;x<թd0C?'S8- ('͸)99?ϥ"H 4v p{)rp` 4쀪oAH Y})]1lg"If[zcRM!* ߽"lF>~tyڤO8I*_֋B=NrgoNxw`؞N:(%-aiY '(Qp4K6dv铞ipoQNb:c,cj ăP$1=03ڞP=z ,jH$@uV1w끟Ot@F Yy#9X0¤9;#z#,ҍ898i@o5TF?:aa[4 gsRc w E$`zꦄ"R62H1ӯjqT2&G`0:ǽ7#8^1fzSLT:p?¤ccinq)MM"`z}}*U) }K!iy`lR+9ӑހR;=O9oZ^O!{j?d{=p9&ǀp_Zjۀ!B'= ,{;c8=d0#h 3z R_Ԭ3Km-1x &1 ސelV#|;TIRDJ:CFB3ӷ?zMQ3'M9w=;韡T8'qcr4GcӜR;$R1=0Ɂ zہ N;߸M! y*AbxH̄r@}F08h> 07sJ 0xLr;Єss2XhC~EPijJ́t!b8=9rԑӋ(7lU 2^sP0'P +0XdM3,msƘ8ԓReMrO쑂a@8T*7#a{"(,M $%]xz{9 Frq<| ,I{X.iʀ<s! zv]z1'Қ3g$qK'@ |,OEn1Ru?FN2OӚtld@9G`*0}h?btӋXs4 gbc܊pgǵ#*~PN;i·_q@1GN;د@~1@yuܭuS@$qb$dI4ꞟS@l G?ܝN1 G$n718X;rb=19vm'jnv)*6@8qr`2x=?tU`NsHϵ1J?7sJ })Kݹg=0>Ҹ%BlwRd)@gZa m#8җݺ .X8) .я#,c@ޑT(=ދAZFq?( €aMb"oTgIeM2>CFqP'#a|u1C(,M $%uS{P;98灞h 򓷠'"$'h£׀qIpr9LJщ<qqKc1@Pc9bz+q0_k_sҨBRzڞ2)>5=9[$uLc:s@f-4@ lS?45T&B78?4 bpwT&f=NF3@Ƽ p?ȩ K+{Q-æ)~chN d *#FI%<n>G-{z'p# :<cgZvsdS@J7SI0URs0*z8݀?yXқP9 pO@E0#f=!vqOҠo)r~('k/S'h)|ڤ)I8'yPORx ,*Fsi`‚=ia`>X.>G 4c3t}j0)4.aebA3(U?ZV!_j~+1G9z?:s8ң-}ʐ,07yJB;dp@Ӷ`X~^Xg<׷=ހwBwF>ǥ*I 8Re =9+G^ 7pWN@AFW9lbT T꾝M|@ s8> ~Hl?/N}AbQ3N PKbϗrO!*2dFh֙y< y*>+"YSRdSaI"W< 0@t ~s{cÐ xTcI%nJ_*[;.rs~ (cF]s@Fs @qN与nƜFrߕ@x>N *f :.c-(Rn00IUV.Xeb=~'k/nq?1Xwd}@ [S2G"A=I `pF;n>\(+8-N3z,qHQb9sq4I%c #su< 8.rA?R1Qx3|mP@֐#=G9tӥ5^ƛ*@ OL^|!84 X~^pJGN{gsi7nzS(dq&Xnh=x8|Z3UШ'9IIgNiϗ (-08$}imH4 $wg4Ĺ:+| s:gӟʜTx|?Zj h3srz?:J{ :i@ [X bjpR_,)]N{gKVwB3f+WsqǞ ZpLF*`sʂ:f8ǩOI9r8錟JIr\]Ϛc vctIUBNx99ۚx, xv)pHVB0@3$~̫>jU_p{{S~n>NR wKI` a9AӠh. 2wr}gr:|!w 9* F t"w*(<6rXi#uDJXa{R,qBp1O' z)lx=d>߰'< M1\~^ry_ NxӚ@X*F:T[r ¯qHGIa} bIw=p) dUpN3K^j|L[s6298\ŏ<5NTBP~A8v3J2w$&A. CzN$g;I3JJ۹ G- pLhLyPOM1ޔ!'ܟNXג EH`5,qlUP.GSnjM xv*628+J 8bI'SB0Ϋ>jU|ccڕ|9 R MP$0!ltaܓAFNO#cpFݤnr:awqJv~G?+ i$TPR6rXiXw/{ScBz{T8 !8': I.9})Xw#%Tm@y<4m0\õ+(V v#+g-}5H3 tQ4XMFT̙=nHx,z s/Uo3vjU^ , b/#]n=(($05Tt?Z;ǃ;9>B\.9=iJU?r.2 Iʠq )*j@\39;SH 1֜U  أА:҅alHsPp1ANin)1'9R!!=0$e'$gFUJw7?<)3N7pT >Pp09A?FG=iI'#t'y.{.;Up88(9׎M lc?* ~'.@lr JI4~T (gs`@T"6dBX䃻JX=;1ܱl;؜~PCpWw d4 hʐ N|39ZC1:ib֔|}?&v0=@.H88_jL}j?1pF:4 Sg^*}p#֕R!w0ҕNؕrI?)6I7Pd$zZjT`3gLp99$OLӚdLl57F<SF%I$w+ l?פf&4$ңwB}Mf6 Ҹg0Gh Q4s:: RGmh^ )>c*jL>€ Œf=(LHh x{Ǖ, v)F'S~p9֩*.9RxxY;)X ڃ*ep(ڿ**3LO'C*6_ w$qst ;={я8?0)X)DPsr;Y@@\bsN?( I9v2sC*=zj*B6?UI倠>g @;LKGg9$.7d).H88Zi#h@{Ziqz]c=lci˕;rz@;bF9M #!2I8;T8BA #/ΝYR~Rz/q𦪌88A@U01By\:ɡ`SYX?P!噗 69S@940*p3H9x$֘ U8mH=*$qctwǯ2G+ ;RaҀPsrf s@i zZSX* &%}(,Cg?_U)ᘎFrqA@#-[b֕rOndtv$c}Oc=ϭ4ȸF=sB +8{R1T|À9~%Ƒ2sO@})v¬sIM4d qw օ,jF6yO41'm~^I rzfDϿsBc<S$3d=?I2O@?.)I>tle: 0GNTb p[%w1989#$v !NI8ɎJv*p:ԙqP+Tp9UQ DprFsF3x怸pI2O2{߅"ݗt< rBpqSXxx1M* p11ۙ@lr Pu4ڿ*p3JO'H12B?$H$~ئC:8& ~Ka>Jyأ0NzP!srzrO1J X(bSMU(Vr\7HL;r00@;c?Sݜb~-POP0)wR8Ǩ?ʅP@[-컂vGI1?0ߑuϥFc`M֘sN\_Ϧ((yW#'WΔ[`V,;M)70_\|J^r6#AV^4 1#|{zPCU'=4 iݻ`RXy?(WaG!yc&4f?y^x?JF3GP:zm="Pv</4qFi&5$<49 Pټ˖4qs>gmHڠwATlI?ʤr$h}CKwB@wR@GV(;}q\I$8ɤC>yJ@UP'0O]?8t4e9A;@9nwnIpu>+m 'rxj0JaFO$΂}^;NxS#Hrp=2 /'(*HQ+ 9!!8ʔ ~cҀ602z֜jNI(!_N-(jz}iQ(`828pҹrN:Q0@', 1^dO| jV9#zUAUl;SpB?U@/nuQ&G>؝(ߌu>u(İ/@;ԉpy#qmXuNۍoG`A꫕Q9)O gvi0X{RI .T/?4n?}>&QG4rrϞy7MrFqz'$u9EPA$;?:5`t(}HcmR}) :sѱ@s8c)ǩPPd'R O'`  S~ 0xƣqW ݋ޟJL8 qu=) /DYXLeʒLylp ` =($DA+ЌNsHόOʗaU9ql~Q~49f9JGʹIn=xH **ix, "`x 8zPpFI恓"J}iaĜv4AҒY8 @T$dgv(6xNޛ۷vFڑ(HбUw$N Kztm A8QSc8@bAccHUA1 9! 1xzҎQ"E!1H=H3'R O2b'שa̅,9\CCyI n-nߥi]cCI VH;R.Wq`F@Mj'ҜtG$g;!d$4$;?:!R1q\)}T}!IwqӜ捍\9=qH`dnjS\=qN*3'Rܧ1'ג~ Œsi mGSsS?7ҁcJX+N+ YadfoT(^! I^A'9>8FUN\o1b<('sAb[,'F׵,q܀)0U ~O+$d*=xIT78Uq^3!&͓xǧHH#.I6$*2yv0p:Fb|q8|H ¶xNޛ۷vF%2#'?Uv' 78 Ԑz/#l{Al* E09 vPyžrǜ~trq{@1PO#ϥ7PԜHG `7y4㸍1R8O^mq^Jb :plL;ux3X#8}͜ւrw7$('JMEcѴ ܀8PUAryU ª նFs[L_u'~B2ǩp:f#VgZ~FtP8֡W<0Pmsp4aIzScc1zPQ9^:${֘;3S=9qPN}P_ \iHS%⍥TJNqb3 m3SUlH1qFU'ӷ(Pdw1J6ui2{TR0n|9roZr HSzáǶ(?jhPy }J1J:^eXIhD I'''>",'}Gzk0NьrNiN+4ο/Ldr€w^{3G̱#='szz[$LC<ːǧ.@zҠ 9aO<Jb"7$նQr09K}i@9$PT*r@(:fVgsO%GEjF@Nq2p4қX=)EK@94HUllRS I@8 wS^^NF0Q;S$u9~4]#UIOlvN┒I㞤Td`Ae^e@]f/eTDy=OLb)`=9Qpd'>FG\NܖsǃN*QKש 2NqikN2: Ulm {qI<0gQRl$ G?Ҟz pZc  VL)n7?$Ü뷭=T,)~rw0Fz=M?jEXq_PQ>%\ Q* 'aX,U 98>J[,>QޘGAދm9$${Rr1&TB =qx2:7|zԊ!M󓹇B3ۏlSq\cbLB*:c41BA}s(Fʱǧ֝'''>ldSwFx@,1I6a2p=\pxɥ[ 錎OSN9ObFqz |8'nICs?."iPH'UAuLF[9#V#usz iǽ$[-cO^#USFz"6I{1DbvVF8ۏROSƤm?y˜op1qL vM? Typ!GoJn0ǐ3҆xV @ܒKcpOp&8E=O&Kn#8SMp`7ges" p2hĀ1g֚=7ngO #98@8@'Hʱ"eԏO֒BpF@47d'tkmJ'JNI$SXdJ3 #)(H$1h$ USN9cD{OOJnv9d]A5Cddi8c63()~\LDR[$'sFϽ Cܜzrq'r<߅1F8;R ʘm} e/$LP8}`S27i(#j ZLq@c04r2SR; Kj`}M!0v,wnfwʅP[4%O5)j/֙"*6Iql@BvxFR퟼L:6cIJˆTy|!GoJb#sXz#+>ӂ${!, iEp[q8n<fEmdc;wb01g֐nɧ',Hq:P8@' 7<~$u#hs\r< >bz: 'ʻ@47$.8?f4ݱǿH5%A=IQ#n$ClrN?T.Q#App ӓPIc),vO= rsC#%SPS.J.G뚑vdiӔĒ tO™,j'XNTP?(1hXs}OXCqt♐py4+c;7╂KoF[(@4`ӜBcA 5Hq=MTQ2w,x,ApTx?G˃$S/!!@Q'iB}I<O lPoA£iV Sa) f. >Ҍm$==e>< ҆-@8*nes"6p3@ ;w01gւsqoy4NXぜtf4XW y" ;uS>rz:WfQa$F# r}xin9̓r&7=:vm\$Nx}*6Ҝ|hL.G@\|23i8cqVbE94nN91Kyzdzl8PޕsA\GRMa;Rژh8?LБđ֘uM$>n'J6AV9@'zbqҀ#'~TeS0@i_BcAE!c8ŎޝnA=,̓XpN_qTI6  je=ҕ`6pXj 9@M q? A?t WQ$LS3(#> v<ӸDpq@)?H9֜%iӓJ4dByR3m4UO?H[uo9ǩ4(gN= q0G }is;~4v0rݳM Jxg@0r:ZE2NO-Rd+ (vf-@ `'i6=pyi]ד@ Xw ܟJ@U]NO8ZI w';b`L#F1|qMܱ\dȀ" /X)j ;Ы` ÀJ 6{ en9%}¶ϥ 9{]Ǯ:l #A5.W M9ʍy6?.!@xfr[ p<fFw`rbcg@9'{R3˃{w`6pXh$\'sǵ I`@Rq? A b$ښ?ՂXE,&HO 8 q{v8ʣ@=}i|@`5/<㓜攆ɔ9hWf%|?Oҗ{ 3@EO?HH8MwXiZ@8-ڀ20(TԄLsbYP/4| u=~;RA<2KA Fv{a#`'iL㝼< ]y=9?1  ;y)~P zkP+diW\F1^ѐKJjv0'#* p?Zpban{<8jUA7>l'܏ 2p;м l}i =q$MqP}sX9nh=q֗?6r ך|vGQ߽ vpҶ9jr͏˽.TA?(bOK`;҄ۆ-dgqJp3ϽP0['HXnP B$5#08ÐK=@(SjqP z9K*\vh-1[iᙉP/0~r:Zj$c TG%2ia#`'i0q8rOjq)v ]y=94nwtܚs#q~dhńc%GsޗR\ezRF07 €} \d&(pN&GqJ._6X_Ҁ8Q`ÌҀ Q'?:][ނ&?SCd9v4i9^'4avqB'ޕܮ GMc6,g,I4<*Ƿ ['8L9=h  d?#2\yޤm< 988AG<{SI'ڐ) AP px)Ȝ>s@"}c#pP4$R(^@< `# i6Oԑupv===iSpX2ޕZC!'9 JC0%E VeqH2@'U*si#!dŒcq `( ZC == IK5026S}f zғOyD'TOgqE3*I:q֝à/M4sۃBHN9x!Pp^iotv҉FHJ ҋXi!3H%@iY[+2{@gUfҔagp%|Ky)Sש!!N:Ng9%xK2l#GŁ#_cGrN)d,`5%w( t%@ FМzR; o j@(c\dOV4Xc89<@)@qҝP * ..&A}73Mw u9mp3@'jHu8RqÜ< = 8mLsh%PGR)Y-(SPQ8<1$J N׭1jQQ`Ӛ`8`=1>'IT`W$_ aFFf'=}i <rqON) .3?jXʸRGNTq=ALc ^:ri8=86)$@'I IcAL$g$ܠ6J hH iʘíH1ґ@ޘa%Ut?Ɵ)' 93nO ]Hw qV~If1H~b r&ʧ4ljyX>Ucсԓ:Mz#(b|:P U'8:J |; Oz 'x'3F1r1 v89J@!'`S#4N3i%Ҡ;?,.@ һ:J P`xh C<{QL N7c֖0d8pZL`HA8\n3֜ oG8†* HB'$'nq֕NjNaF1Nh}0 JT ^ H$"dlJ20v48T98ڧOgq6<ӧi}rAaS8ɤ$9( I4*1Ȧ t9$4 #h N08i 6|Bg-z&Y`u 4o/2{|Vl : 4>r `O8oJ@7z>cY= 4z.ʧ5@$jyX>U=;hIҕ1gԌܣ`1ڑBYTOךp :l pcm\d'q4Xc89Fݎy?Ҁ`S#4TppO(@ޣ 0N8vw>1(s>I%B=R)6/A<{T)u)8ݏOO^@p͂ǁ82ؓz!1ҚT͍瑞œ$3y?H(!Wd1sӏStے۷s`=t$J@!9i3It^Ȫ(8}i@BK0;q4,:`>1S Bd96p ?T!;cOҞDjUIhrܓ+aG )(=K{tۇ6p8げO I`ޜĤ{sNIIXޛ],F@'j6d=~01c}O[ ?:261@N*矗&)R`E>&(Q@di'c qhdŘOQ# m\rs0?L Hv1ϦƩ >\aw ','ڸCYxJ`y80 >)ʠb'HTۇ9c;PdG^'ʪ|Sܒ'4,aTz96p ?Tѥ9'l}~FT;I;'A\(?ZPclM/%r c B8$#G. Np;sNbR='$S@1"''?1F{p gڤ1sxN© ct}) Ѐlb?3攣qQ 6 3y#q*1(gdi'XS]ǒ#;N?4 7`@RF\g 9 '94X`(vpv1ghn0JRA'; WissJB'&d5.!NUgU p,y?j g)$UTP1W'v npibp9,T%Kg穢<1@^*q4琣w z`8'* >U1#=*Hg8SXO>/'=3K1P; ct}8l #== Lhr`g)SPP9di'XSY$1FvhE sHqYfڸ=z`~ml v1ϦƴBj$ICBo<!y4!`8RtKgp_9POn=)# wO)d89`,@<N@W j#(0x?֘F9 XǭHRH$^Cm\+jB.V k$S1 T~1o*B QFCą$8P)%($gwc 8i/9<0#71?xS> 7 zdqH chQLT+F~a$ ZEV \x@l ,ldb0pOܣG@iccPxAoNB'yj) F2$EKCI=poʘ6WW>T+3|zP<)'!1 I;;L`⁊nV k$SXcgoM(9¹!J(w=(rX$gj\v#J;FКÛ*Nw=Zng?ą( OJW%ےIFymG^zH ݒ0NS lnL(FmH8 B~p{v*c#?0iK$ Z@;w|'ځcwB`JEppK( 6"\ prN8$ۈKd$. p>١qI<@2n\; WS>>x@aI<!I!#AAݵv8@eK1RI<`qҰPrUvϷbyp3Mnj,P2xbM6iF Oe1HM5Ypޤ`cRnocM<2'}iNI pH 䓎=MP 19Rz@ڥ;@>'cr5=8)^ À=Q[F\S1R,xJƒ.}A $%U9 A$ N[j=*Eq9$P1p8%U0B͑a9>U AHWfrX{W!:}; #zX$qPPr'/||Ǩ 4Ti"rK/L ;ӕX J|i)p_(NcT1T?A=iAه` gΐ"(%}@9y9RN6}V$Ax}EH%@Bs=PW=O4qRc%Uq7 Ay*Glޛ@iw0'#6nfN 瞂 '=i%OaJ#`qoHY#h@|jk1 &i$=f@i@]Qm})P9$ϭ/$G2$9ǩ昮vIl zUUwNy~Sh]N/>;@>(_ 1ǧaH{Q-4D\S:ڔc* MӰIRT1frTHEɐ`})3Lp,`, l8?:h0!=sJh =h#9N~H#w>G+00 8LG,N8(wې:>wP㚍( ZcLY:b$wލ{*d9p\xOcznlgnO8֛vrzªy s׹s8A7V$Ax}E 㓒 (`yZlg-W=O4ۏzU:ϽK 87f!U9ܠM+H$0;RIoAPC>~`HSq89ڠc1A84 [I 쒡qQ۽{^vw>Վރʥ` ͆H;ӷԪeAI3KJ:,1ڔ1PyL@: B ,P ^T {Jtj8 8>~P3V(xl0(Tcq94dnyi,™`{(EK=93Js1@IǓ@;Iѷ;t$@|F r~#C=)vʯ u8As0~@9#r.wS1+T/O14&F㟯jQĀ {P!", ʚ2Y:ҹNr4*Rssۏ@'iڤq5$q=jfٻͤms@OJ@ ҔURglH sӜf"PKgzҮ@<S3:(`x'Ȧ^a`zPs8@UNw(=:J*<0;SHPsӠ(;?0`c$u'#&11C{AI vIqQ/|J +$r(EDX?:WT,cE 9#z~O9&Ԗ$q8iҁ0 vN T;wrG {TE@ P%:~t*pp>~P3 risONyo!eOF3Rd$Jhs5w#qN;E RWp~\=(T/܀ PqO@rbQ#p.B9Ss)i1*^qGN`zRPzu&UQЁڌ(R[9~3 dd&1`c48sRp!$ҘIqQ+{ӹ+$9*l~t*bX((YN0rz&L=NrM#Z5%%i i0 ~4@cy$rDXR49ʡiq {Jtj8 8zU̇?(^ C  n'U280SӞX3;Pd`{(L |̟\/4N@814';\n;I@WАs7zBxNOքqu}r8GS 1)LX3j`9f%c *ܜgs)q %p<DX*Af$SAb֑AX@(U-'<;N'ךks8) :R$$ s=(T/re@98qOn kaNpzs҄B2nS;@$IϩKBI>c#r*M.Y3y')~좀'94X.#gir>SO4=cqQrP~k㒪pڝ)#,HR;O 1b9~goRy}h\"$YiH)cZDX8=H=Qo1+}?ΑcaxQI<-?)Gp3J"(.B8)vxRP1.q{6XSG.9SS%NӡߜcU.+'5*sLǩMFC1j9<`ޕ\dnsBޘ)%.xR3KrUX\i\=$8VI; tUE!wR6͍sLDq(ǩ=4Wۿx@ gU'iA*.7z LEW =) _☤n) :@!Q|MʮLPXߠ c`r8P!YgoRy}h\"NKb6$Ӑ"HX&X"rNc‘̀{zb`K4+:k0lc8HrӶ@9{T6*N9@OSN <2p: }H Z"XF$e |I' sϠT]ŝ: C^%AT@>؜zgd=}*03q9=@֥j*~e9c )Rg EB/919ˮy=sӨ)n}ע!~s?@wqNiP%_N(A sE6F` #6c {sE|?9Tjsʑx slB$Aj`G#RPR`Fp8^Jۃ1T0OAM8W~B gq'i r)A̫AzR _S`gҸ;h<@i8] ǃqcRXl9bF89Af11ޖ?CA`P@:%A'gi1遞 נ*+9 )Pz8 gSq:i8䑟AHB~bs(ҡ-(3p;ʪ#| pPCLcBԧ@s_L_'ԟU#2?xM8A.O]8!tBgjII[cZzSLT:p?‘O=yz ƤGl`"<<8Q~f=T>r[~3H2m-1UI5@Mg+SH;U$)ňTGS PFz0;zrqQ1;r1} aM+QE1N `i@̥ 18݀'`vX.,;SC`0ry&PE18,}3 8PFjlR%0# M fnic;P01$aHw! <`O=±RR;<~7}ipO!{j;'=J/ {P[' 4P֑N P!T> $EFN c<82/ނY})Ķg"2m-5x & q]g`=vS"%P@UO0PGnmʏN) ' iWqco( 'C.тǮ /ye,PFhF89IE1r=Dgj I+ vO'i=1j cz#NHz!*1=T/ z:ʚЅK=}h39Q@s 9K?btXy$&43g ;rE(ǵA8AJH~O;|(ޚ ob:4PC*1㎿Jb1#$ab#'O?.uOO 'HOL ;zcU`#HJ=Ɵ(zs?ޤRw GɅs n(8{P%Fi3Xq4 ŀϧ̄r@}T6cHw94@Lr;99PS? Piqct'.Qp1u$u4h`7l􅘪;0.pNxu,rA8_ʗ( @MR"oZ.vIUPܤANF` Tm{4&89Af@2hh@(|4XЁ@nJyHs|1)eS @4ٷ w=qIQ'<4 ŀL2q`pьjL`o&H *ľ8 w"3NM1B8 =ӭ!B@8ͅݺ FG=(7RGSN,c@ BǦOzBʡG{{$iZJnq*VTa@ɨ晖&LCIPqIrӹOR_jCFqP6#a{;M+D2<ǽJf( Fu< J*'qcОpS2T繤twN ^It^Iq 1<1J)Q ^cJPz9Q@sʌh(8 Oi~`Iؘ)ʜ1?('5$[}GAօfߎzgiX rF̄r@}mcځL`oL.rh0xJT1ބg=0>ChSjT =ӭ!mSБ}iXnn⤡OAOUظ:y&5 0/zd%T(=09u+Jnq*lVTXdf'`Zv2Y6O$I'#*8T*'#a{0>=ɥdCjޜ&( @898昮Jp>RvPۉ= 2pRr.@=0sASz1'Ҝ2I.?\SIRq( *1󟘞c^yI4+z$V1G^ (8/Xs4DFֆnqӥEfW Ԅvp@ z6קzq@*<L` #*az')*ߠ" J ?NUa_ ߧ>/;F5A`rނRF>Ш'<4MEL&m‚B98aJ@ XۛGI݌t939:HS@!TH#Rڈu4L=j ޛb-299=GyNv342e!84 0,Ww?/\qCa;3s۞R0u9a4wdhf}}JWlЁԐG^ 3xWN@sF쌯s9LBRzڤ]I_N٨9HHqL.9;zsJŶ37TfI./-_IUJd#{`ps3@O'n2OT}' z{"ǩ}א4RJ`~a?9=1 N21r7ۏ{E{;g g?( (cAsF3 rT vc, MT SL$ߠ" ]ݗs1.00IU "\{1HN_?!Ė'h]`rނtCA=I) d`u9.|PW5=9[$ { L sYmDfo<*\qyj\dFhh ~\d4JI1TU #RDn<OhRz+{Ҁ`s?bc gSPr6Kn>*{zӹ;g g?) (cKg;@9Ϡ?<.bQIf @R0)f'8r@!x>Ü:v K ?R*rF_ ߧCeϮ?";F0)09oJq>>Ш'<"psn‚{Z`a`>=szsH2I-9ݙqօzT A3J@Uk6=JF~1\sOQHqӥ9ƙ*@ [X(7#G/U X~^1p<)t{U.$ + M)i8 9¨#۵IQTt񑑏^I<t*%xRϚRԛBS#'<{s@, x@ C$g1AI qNff!I$M4!y}iT`|ccq;9 R8;FSҌz` BrA 'q'ڑ0?Ҡ ZB>Ҁ?b Px3ʢ8M\#h% s@ /{Q+w>ԫ{ dJ3zґI*jyhUۆ`'8=jBAlg-}4X u+ 6"6 S?.p1QhґS.p*~bK O4۸IA<#'zryXmv1A͌ZvX=@(G!`~7h;psF7 f (nI9M0}Hsjs]6n0yrLAQZL0~lO 9cx10hʑSp2@ՏAN`êT*x=%  rsʻ`1gLR$PprN9Jܐ3e^AIa} n9'!n@ `8?*9ԍ 3 r:|;w 9)ؑ0\dS4ʘ(6H)F9,G5%j"%Ϸ1cp“}=)+ sP;oP6<}Up$Q`+6;g`CQHzRaldo$}_4NF:12nd7hǠU /c=p*>/`'< \C`c?/ZpB#9Pޅx$@"6Ӑ;{ c;w Mpwǯ$/,z4@ я<1tU0: Vl09b88}H?Zq@Q<1;@U9M4%}z!b?䀠>g Aa? 2M00\u,Azԇ/wi7* 2:S  %S)26t\׵!~屏ƕ>S'>ŒsIM! qw9BA c`3gM@8s@r ${f"gcd4Gg}OS1*IFHf~zq$Ƅˊc19 I#l4VM=Q :i!@s:: 4\83$Rcݱʚ 9S[s^4@9"R~Rz/q`n˂p:O?mc'u,AzŜrON?² <(@K1>ړ#h@{ZapF:4 $e`~Quc;ҮTa*#h$m*V! zҬc`3gicN4c3/$9=3OgD#d4Gنp8eI>"""m!ƄP͜$ґ4c dR؂puԑ  ێ?"Ӓ})2`lg z4AnKʼ(iNFTg 䌓Ix{ԱT R~Rz/qF'RgLsj!nxx3q) * ~'4<32kHAPOSJ<I PP"6$ v?Ɣ:{St8=XhRl?Rg1ڏy,C{DPsY@@\= ϭ)@QƁS;@U9M1J4qR!c |3@C\`ri@X8,I9'sѼ+ ݌0@ rA01J26t|9 ׵!r:iܶ1ӽDTozOGIM' 'GʜÐd$z9`KӏO@:qMfݐO)8@Xa=M9Qݍ[%w1989#$*g!NI82`lgs4AlaLF@3H*(@9~\1i1o S>axtD~Rz/qv\(V s!h\1s&\c!~TϹ(ff|xi9f!~U (g$x$SBeFE F$*{@lUD!-qZ1, iXR UKa>Jwȣt@{/cadqG9ڪŻn`~b?2` TmG8/P3& 1#;cmܰPI=45n'^sRG@Q_H1!x3~HGʘ "o'R*?(?M2R31.#rO25%o尽??5qzgқ} 61 R% &ĒO򤐀 $߶)?ۏir R!yԱ\[q%}qߓLy %9ҢSO6%%op??<=>Wv,TOHV$@{b>*X)!0T>8ɦY'vЪ'*>OOcyp0wc ݇ IA9<~)b?2ur6#H@>i0@bA;coJF rT{i mޥ1^@Bɦ|f?y^x4q GqXld`R@'}iA<3F N9zOLFPSsM p,8^N3})ayذR6ҁ@$IT@bOiN2!y?B0b[qbr> w͞zL 6ўOZhLPԜH)I`7y4H yJ2{d錌q^M1n{s:yRcCIHV"lp8 X1܃zJrer9#8b5]$u9:Iw98QG\u#81@ }Hc`6}Ӵ:sJ1P/8=)p / x Î)Fpd@XOրO/53aй)cccHKD&@2T _I 6cp UUm J+Ќ~lNsNg}ϧFªr91K'=(%Μrx$# TOϥK$a)ڠ/8I'M$naMƜJ2$?zRBl7L1n{sR r@iCg'zV4@ 3>]ŗ&H;W=Pcb#ŒsbKnbrx=n✐݀R2™- P99X#׀pp'=ۉPU6ӌJgH0f8,ry'֜TdN( 1'v0p:k1f8BFFxa@¶xNޣ8ܻJۚULH3dbp>f8&7sB`@X% a*s*HC}`? qqӎI H* }9e;T'ѷꤰ<~ c=7|Qqlav {*s۱(T3 p X1#\R4k$I78QG_tr 'isTu59Q>c4C} wqӜ搣 ]s=(D ;dRF@x£82u p&,`}zQQ'Җ whL+t~oO8a11pJ~XLeʘٛ4U/zS2W3FIhg}?*pBrqh= s搖,8zGT3:hYP r}^CTc׀Âx^3Rڪ>mi&sd zPpy'`lH%FO>˸ 1 Jrzi8zx`zl󞇁Mrۻ#o4IB@$d`3HB@~7Bc d"* ☊a bG\T&0RyJrǜ~t8$( }9,jLe>nUrzsQ-9 t4n'<{wA;=Oe"3pZ͜֐K14qŖ09MwI=0ŹC =i6O'Ґܡʉ:m?@ s[PܟoSvA ~ pPAҐfVgsHIؿ6tP8AP@\RF79b/~M4);$<ޣA ˸V36$¥HʒK|c~})^䗐dc (VvHsiY#Us~S()!0`6s?O'3,zҁ ԋV${֚;3S;#zsM'b`PN}(XԨ/d p9iJ۸iJERc 'p8 2^8.K*s?*8Gp dN$øqJS mC$l2{L1Ϝbs,}v7NAǶ)%WXPT(tj1@LN'%Is ?iPUB䓓Ceq<;lqK?1m9'4GSer1&)n\|1ɥaSiF8?!osgIe!}ATǧnT3 r8֖1\9<JEz *j rs}iS#,z?J r@z*efp0xun;nEjRGOʘTm.*08^ɠ8ēm ךA$*OLN){ zIo`tϥ;9ڹMr1?Ҍ1crGSF#UIOs(o s)$=IBF Uv^ gH=?!!؁b=9ظTzK* d Zqv,8cb*SօqwLCœ^8!*9F?*G8r8vǾ(2I;I#@R mCr2{H R0n|\֤T o_:jiU1,|BLv %Ͼ(B@FU=>"'''R}oM8JocsI({P +4 `zc#R0sx'̱#=K|8'nIcySK!%OoZ]PH-ZTAU-'LC +[oAN%S*rsZ:?!Hp2ǩW,A4Iefp0xiۏ0:(uR2w?*`!PT 08}iO y==)1K11@]6A ے['['r{ r.Io`tϥ2vssֈO/'#_S)1crGSNäj1?)~0)$OzljQ1RTp;>^-Tǝ#!؁b>&퉀%A9bĥTɁJ$pp9i)ےs]TzO&FI8_ay6qz +Ulmc z*(c$g~ J1$t/G? < p^;XNHr$Üc;zӑB?3g|\cbM  1ښCR\¯?j,}?;zAw(+ d"V8LH}0)}IӁP3=h 'ȈqOXyd ~6.Ǟ4@XWF,K3If.* w<Ƙ>^sB0֕,mu>S&+341?.RHTg7RJ{=fMIipJO43/  9ǥ!G ,y=)q$}sy4.0SJ9dp?T2" #;;w0=yi~i1:qҜp3{ǒ *zT!#u#HHp9ѱHzvN' l}0)71I4ܨe1ޡ@,N:Q`QqBu{z  ҰF,w3IgpT. 1,HRTQzk2 jBrnF M1xp;{Q`@<~p' 9L%I?LR̠"d;)RiڽF42>q@;؅9KW#;0zӼzGl!QxSۓCr\9hB!%Ͽ)C084b?1U>B$5c 8Qu r cǽ:%.{PRC2@Ӻq1[iᙲ^?Ƌ،֑~rA<2HW '8٘[&V@'h@ԼG) n.aa3Js(\}1ґxF#!Yc'R\ezR.#nA=B7bFڸ֜LQ N&Dg*qՄieeҁ'q(Aސpa4enOa~tոpR?SLv'q[mb3\u9ݜ'47 އ;rX16{O9fިCXZ\39-psJnNp?ƚ9֐ gzP*''Aa`n&n&M9@V9v q? {H 3>X;I<JQ#>ߕy4qd>qs=9)?XTr3O;#hgE'9&r\9iY$By~g?.4ʪ!rOR3c:y$=@8-ڀ!.9֜;~4gjc-4ᙉP/@0: d[ '8;3 xɠl 8rƓg$9?fדN@;ri0cq#J66N9֋0qsATs^*F%A= 4+.3Cv3&G:=a u-<{RFNza` ÌӶ '?:B$0WR (Ϩޑ.W M+oc6,?($3KǙ8w9 _'8q=h84a[ jiapIzyVn&˓sǵ 'nX87䞀P"MPyM`9$h,\֞AoʽF5,6>89z7ob緭:6*Fw1`G;Gl#"usMmܗ=M834^O>af6ˢ@vƥ$[T{`I<{TSjhLc vrz);S9n٤ ͕ =A 󞤂yld x 7zs36Inc(z8II犑Tb ɠ n靼qR8F*'lr?lFnbJR\ezSawc ܂{ 09F:Q`"e iI/Yc`ɧ`"#-<{Q`6 `eӆ Q'?:k([ޘ\E!_{p@\49捭h'WR$OGpӉv9QO9fޘ ,INI8w9m`i7 8=hq23Fel ԅ'X"@! 9Hx8⏘+R}73H@)Ĩ^@< `h 1bx18Rq4``;`d =h 3D2(f#LH%E G 8Xу1'U*;s^9 Lv 89B0 YFpzU0+Ü@ #`u&ᜒxɥޠ6Ja89P4}?Ɯ$0:y#>F@++0,FU升Aw?ƧBA XJb!V&8ST8bK6|QJ(?2\c|xL'<, *PGN>Yo\i+Gc#M*{N @#9oz›`'oʸDGRLSʕqHreݎ9J@ NGiN3J~IB$nB8?g/.rIiUvPJFqsL,1}?ƤD’ L'lPϰ .UY$`~t4mgW')9ڧS*)!8SPb|Jqs3H._`c}sHܓK.<{SC2Q0EYW?^h€ s7Ϟð׵;(b 2qQH3K3),'P /<xM*;c8$n@ GZ`8/#3Ny2HW|P0p Ұsi6Oԑpv===i"a6  p=&x;?@Ґ%Q#=(\ϐy?A!rpO8- s?LVnKnsO&0sԞ:zRo%$J`#)'2cp dIg^H(8&9b0;q5 .p6V0{dyr>0TząrT84iY؎V FU$F;@e'D0R)|$;i32XH((=2I9tbs{y%#ۜrH)P=p gڗfO2ziKg8Ict}#ml.~t>F#=؟(*@o,sȧFqe1(Cl2y kqyB, j#͵qz X`(vNv1gh0J J '3 Wis9BqMg >ԛYd?֚ 6X {倍^@UR a@Ǿ($H-J}84 p9`0.J>M:0QK /~y, ȫs@®@!GoZpGuS)G( ;8RyalԻ2~|N-D4\'?L Fpq" ĨA@di'XSYǸ8ӏ022=c WL`zԫ“9%H–O9=)NNSYͫNҐ*sIAԘbP ϭ")Rnc;R+F)F(9-p[n3}84F`Tlǁ0(R'h(K C>U$4Ü 0%1MlHQ3F9 c4b#=<.Hi8SlqM$cF1I192RM I=Pb@OgARp# 5X9'?<>+aX2N di͒JBSi;Trr{{!vX8LATr^qPc UrrN?0gnwp1}Cªcf\s9x$ӞA"Lc'i; FTm:BTdpP1(=IJ"y/r[ڔA)l7gG[k1>߿)71d~d܁Hho$;SP t *w)F;( 1±8⁒(,w8'ns}=CeFRI(gzߕ5m!F 34 }sJU|;@ef$\rǭ=RHbHҚwm\+8UKz}6LYSR* ~֛(9XV#pBQ=D$$6u vH  `Ô'x p=8&[# (@1H2~t' b'3 a۽4NOO+`1dA(;OVltT;Trr{{,Jt6@* yZf2U@<` ;s * s9~^rA=920FN=zҼ;{L!FB^G  $ԞԢ=%N#ssq7sװrw4>cN@=8 3cvzdqBărݪ07d~ '!'֐+.I􁊒{@A)l7g*ăr0-ژ{GAc$7 dm+q!xʢ218S=tLIbj ; F\MHB;G5Eʌw$HCm poʘ0B gi\^@RYG$!ZS$$)|`,Y1V$08(jc~a4HIpA8{K'RAF́ !pPlBnocHxeH>^M3&Nzi 9%ǩU]{~'y;T:Vw->PǓ1N@cSٛN…8ދHD\S1{R,xJ/(2dzIP3SO0嶨T&A9$gv0B͑ ~t۷4!"{fs{@F:};# I*X$q` ƻy/'摜$cHW;ҪW`Rϰec=76O(3'Ivrzqv",wx!mr?`r1nSNV$Ax}E"}(mP ~f?0ず$).1 '$I's|it<:׸cBnocI2$qZ_sh' =O4rK`cf'(>5=8)SvzF SF\}=Y†#tؤvO\j*O\ rTH sIǝ(Ueddp3Ηa=sB|' KzjRҙ!8$➀G,N8(]OozO/PF'i"rK/@ǻp~8]J|i!8Necznl_\Mݷ@O)TU% shcpzjPNXg>x}(PaC3=c?-W=O4nǽJTUq3H,,9Tq&`NFz 휁 (mQ98ٸe(_t%砡Nz!%,K1RI<`qҐ#`rI<8IphPy49$i6dHM5!=Hk}ۛQєI=3G$4MĜ'8<6I8Ҫ.p,'RJ;:` A tϽ# sN\Ƈ7'"{qtN3M6mr[Rm-_A)#tؠ,0 Ny'qN rI끚LڠrGR.L sIcIʙ tHX K6G Q ۚr@Db3ޘ1԰Č N)Ɉb㎘gې:>y>c˴ƑIeF~?H+ssdBo<Z\čEAcH[>sϩhq9iNnSBlwPϱ *gqZHO+dǽHAU:qP*YdFˍ}Yr6׵&9w%Cfn&N \6RĖ*I'?:q6 JOLS$b8I$Ip.HPy ,:#`$Ck^kRKOJ* ''!(UR[9=f6 3@D..FJ xwSs(?18'Ȧp,3~ J{یPzu&UQ0;RIoAPC>~`H@N0GALc8c4s[? $n^H ㊍1{w%rĂ"sW2@yKF8DA zpJT9&Ж$2p\an*9#=2 ;Pm^㒝?ZH 8z2zg(*1##l=9!A]@ǿcy=iHP6 }9?ZDqvʯ u8`8c֐$sC&]8T]*֚{V%ێ~T@Kg{S", P ,~iA9cۏ@\Rp{=iss2G\h'j?1 zP/PQf0l@'8=9iB!ur7 Z 9SeIxb9෦1_ol2? A !ҝp;qPUNw(=:JŤUQЁڐ K=:Ҕ|֘N=Fic8c4=sP0" IHb|DwnjNvE5Ss:eރU,Kp|0BFHޤ#RM !1,I+!ɝ\,֟h v<@tFsʅ%G%:~t*} ?H 7 riAm<Z9GzC$/|/4@814\a;I@VАp) NO֑uC=(W* u8*8cրW9#]8֦ĬrAB\y8sJĻq׵9N$vq' 2"R 1 N?du*s9B*Z^v)8=q<6rq8X( :SvNN'<}<_N%Bp)b[9i_ol2? r}8杷یbm^w.zu&]UQЁHUy(öFHNc#.IA19⁁fHJW+QqLo^4 9"pX?:`+̪X 1 X6)#$tO#R9&&4%%iӎi0 vN T;wrG {TE@ 03T/;o^㒝?Zll@ߜϽ2zg((Tcq9?B7<<Z~l>;iLxLT{Nwy({z.n ;N361L!@ڼ'H}.KUxU|Z ۜ1Հ9#ܠ gJbV; ^ZkA=5{Rݜg0ȋH,ČqY`AXPZN~np;qh-o;NÊM#qObE3-s?&sJ1TrzPJ*p)T[9=0 s҈кpG92?J>ftP 9hE%Xrނ9~UsRo qHn)03x\I] ǃIP+A EݴSOԜPqOjvn9* HÓ19,AtԞ}֑p6I9f&|b{cI *eKҦJ;q{ })>l:I1Mw 8^)Py=>ZR)G#Pf@4*NAHs ABdl.q{I'/λ9S5gN N?Dߜc=OB==~Ic@#PC1LjWBF:"\%7)v`wK0pv~0g'j%]°Dp*IP@!wR>C1W0*(ǩ=N$p<(P'ǯM*;O? CGEW9zSA ߛ,qLq@`t\F] ǃ$u= c`9(Mir)s{G,}N*2wOjpev%TW+]Xvr,AJK;<>B+Ēr͊W63$СBʙ 8>)ʱ;q{ šžǨ?g|]01Py=>ZR)#}i FO̠1+|_l)r(<6$e |$zP]wsϠ".K:u@zl#\p1NKw末S?{$@"PC1MF jGB 0d`9LC$+Tp|N@AqA @lvaTT!w8^H mS0*vx 1OoiOjZZ(P$ ];NKw Vq[Rurs ©`8n) :\r2$zLxp^+x9ȥ;=$ g'sq>iFќs4jpG\+`2ǹտ˜33N'?E62dXcLuOc"*33Fp ܌`r9cX t1 '$Ӓ® ~4PU>%qTc*$ rOOؤW ǜ#7;]JBv`vԸFOn{`>a8) 䚐 uX) ҋӚtaB;t$H۞r?ƝTQ+R_҇b[v3R,KtsQhlf9mΤN0q"%:`A^n0;GP܍`؞N:(o( =MF7$Piv8h{wv Yp'< 0,ޢc,cj$CB FzcԸ,r{H, p()p3`)qD@Gѻ,F}$)8x:V's3-(3p;朡Q$8ĒCQ=085!±zSēԟU"<~t@'Nv8jb#ߏH 3X[yV 篥0H\(2I'JKsC>`@&@2 } *ێ>}EH>< ±@ T#sU 0yJ1gZ=@Č~ y y/uX) ҀG=cT@$Q<0y_*|(%c89> f[zTNT#0ޅجGsRmR'8"%P@UZv(PA#=;sףnT| rqJ@ SNTc8qM! '穡crRp<1XAX݀'<9oQNoLw,cjbAXtvO'M5@=03ڞTSUؐX@u5 c,( 8#0X22GAsM-X*LdY;N}HiFќs4o4/?:\q}859_(aX?ؒp02z꣔.F#2?xN1֥pq;Q!28HQ#UcޛA:EsҚdb(8 |!$yckd89*v@&0=UFA=ϰ`J s$*9'R֖L8R'8*O $zv9Q3⧌z`f$h 1=T(#y>09tF{E!9=ȧprb;|(: ob34Q@ $IʘI'PqiT쑻Ҋ(snb8& @4Q@,y*`X<~(&H =qE) ~EP{Z(==E1u$u>QHbt\'8A8_ʊ(%Ax,Iڊ(l(,ހd<`$$ڧ@0'o@NE XO|E!RzP|,OEn? # c\qz(a98z[Q@;8J34QABFIe@#'IE v84)=#wOT=0Ɂ (I<4bdgh&dz(hS +|NQLf##:Z(Cz.vZIMn /E (8I5" ܤAQEP݅=ɧ4c!$*ϽSW'o@O6K*~攡޽Ҋ) c9[@^?S G`*0sފ(P ;#'J!cڊ( W?CEXaE`I>Q@oSsJr7tR=0 @ P18ws~(cɤ0x!)Ao.{u@58) .>n֊)oE%qS*3u$eBrQA,as*O@2i$$~=袑#o'~$=E3;UIuEX9cǗy!:N .T`8U`!a∢u8,]-bxWϋUM2I61۬R ЍJn* {n[VY +S Psu U9[RBl˙F%B&2~b1$g]wğLہ*( ' @ MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0xBACK TO HOMEDhttp://geocities.yahoo.com/srcsincb/ 0DTimes New Roman(0(z[ 0 DMonotype Sorts(0(z[ 0  B .  @n?" dd@  @@`` x .b'    ! 3C !5"!#$%'(! ) _2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,@g4JdJd@z[ 0ppp@  g47d7d@z[ 0p@ pp<4BdBdl 0T4 ʚ;ʚ;<4ddddl|- 0X0___PPT10 R___PPT94/ 0? %O =!@IMS-DB Information Management System DB Concepts & Programming $A 9   Prepared By Mahesh Eluru ('W  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /*V ` 333WcL+᷷Ҫ` 333WcL+᷷Ҫ` 999>?" dd@,?dd@ l2 " d@ ` n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>> <( %,7GM?   s *4,s   s T Click to edit Master title style! !   c $s  s RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  c $ `` s D* 2  c $01 `  ) F*(2  c $\1 `  1 F*(2X  @A ޽h ?ming 333WcL+Ҫ  Serene  [S(     B CE,F    : C  @   `8j   s *YI p I T Click to edit Master title style! !  c $t\I  `   I W#Click to edit Master subtitle style$ $  c $ aI `` I D* 2Wc  c $heI `  I F*(2Wc  c $PjI `  I F*(2WcX  @A ޽h ?ming 333WcL+Ҫ 0 zr0 (    0Ͳ  P     P*    0(Ҳ       R*  d  c $ ?     0ղ   @   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6pٲ  `P    P*    6h۲  `    R*  H  0޽h ? ̙3380___PPT10.?,PUh @ (  r  S \Ip I r  S I `   I   *:3WMMMԔ?Ramesh Krishna ReddyArial Black0d8  | :3WMMMԔ?fromArial Black     4 WdԔԔ?www.geocities.com/srcsincTimes New Roman@j H  0޽h ? ̙33y___PPT10Y+D=' = @B +  ` P(   l  C I  I   0IPp D Basic Topics  H  0޽h ? ̙33y___PPT10Y+D=' = @B +g  p( dD r  S I   I l  C pIP@` I H  0޽h ? ̙33y___PPT10Y+D=' = @B +g  ((  (r ( S IP`  I l ( C I@` I H ( 0޽h ? ̙33y___PPT10Y+D=' = @B +g  (  r  S p  0  p  l  C pp @`0 p  H  0޽h ? ̙33y___PPT10Y+D=' = @B +g  ( ' r  S &p Pp0  p  l  C 'p @ p  H  0޽h ? ̙33y___PPT10Y+D=' = @B +   0((   0 <A ?04   p H  0޽h ? ̙33y___PPT10Y+D=' = @B +S zr  (     <>p `7 OBasic IMS Terminologies  6 Dp  @ ` : SRCS Units  XB  0D`0 0 XB  0D`0 `XB  0D` pXB  0Dp pXB  0D `XB  0D pXB  0DppXB  0D p  <Kp 0 P 2  <HOp &  1  <Rp p  3XB  0D`   6Tp p P  7Clients  6HXp @ P  6Employ  6[p @ p  8Projects    6_p @ @   6SalaryXB  0D P XB  0D P P XB  0D XB  0DP @ XB  0DP P P @ 1  <dp    Segment Occurrence Root Segment Parent Segment Child Segment Segment Level Path Database Record Twins Sequential Processing Random Processing  <kp P08< -SRCS Information Database  <pp p    Client Info  <tp  #   Project InfoH  0޽h ? ̙33y___PPT10Y+D=' = @B +a   $(  $l $ C @tp P@`  p  l $ C $wp  p  H $ 0޽h ? ̙33y___PPT10Y+D=' = @B +g  ,(  ,r , S `p    p  l , C  p ` p  H , 0޽h ? ̙33y___PPT10Y+D=' = @B +E  ld-20(  tx 0r 0 S `p  p  p   0 6p `p C IMS PGM1   0 6p ` BIMS PGM2 XB 0 0DpXB 0 0Dp 0 6p p  KDL/I CONTROL UNITXB  0 0D` `XB  0 0D` PXB  0 0D`PXB  0 0DP PXB  0 0DP @XB 0 0DP@XB 0 0D@ @XB 0 0D@ 0XB 0 0D@0XB 0 0D0 0XB 0 0D0@@XB 0 0D0  XB 0 0D0  0 6p `  >DBD1 0 6ܯp @`  >DBD2 0 6$p p `  >DBD3XB 0 0D`  XB 0 0D`   XB 0 0D` X2 0 0 ` XB 0 0D pX2 !0 0 @` XB "0 0D pXB #0 0D pXB $0 0D @@pX2 %0 0 p ` XB &0 0D pppXB '0 0D p (0 0p `@G C PCB for DB1  *0 0 p P@ 7 C PCB for DB2  +0 00p @@ ' C PCB for DB3 XB ,0 0D   -0 <p Z PSB .0 <dp  DBDs /0 <p 0 PP  IMS DBs 00 <@p  t  ;DB1 10 <p  `  ;DB2 20 <p  T  ;DB3H 0 0޽h ? ̙33y___PPT10Y+D=' = @B +D  kc4(  4l 4 C p ` p  O 4 0p T DBD : Database Description, describes physical Database DBDGEN : DBDGEN Utility, Describes the physical structure of the Database and creates DBDH 4 0޽h ? ̙33y___PPT10Y+D=' = @B +   8(  8r 8 S \     l 8 C ]    f 8 0a     DBD NAME=SRCS,ACCESS=(HIDAM,VSAM) DSG1 DATASET DD1=DDSAT,DEVICE=3380,SIZE=4096,FRSPC=0,15) SEGM NAME=SRU,PARENT=0,BYTES=40 FIELD NAME=(SRUCODE,SEQ,U),BYTES=3,START=1,TYPE=P FIELD NAME=SRUNAME,BYTES=5,START=4,TYPE=C FIELD NAME=SRULOC,BYTES=12,START=9,TYPE=C FIELD NAME=SRUHEAD,BYTES=20,START=21,TYPE=C SEGM NAME=CLIENT,PARENT=SRU,BYTES=45 FIELD NAME=(CLTID,SEQ,U),BYTES=4,START=1,TYPE=P FIELD NAME=CLTNAME,BYTES=10,START=5,TYPE=C FIELD NAME=CLTLOC,BYTES=11,START=15,TYPE=C FIELD NAME=CLTHEAD,BYTES=20,START=26,TYPE=C  H 8 0޽h ? ̙33y___PPT10Y+D=' = @B + !0<( v <y < <s Pb SEGM NAME=PROJECT,PARENT=CLIENT,BYTES=35 FIELD NAME=(PRJID,SEQ,U),BYTES=4,START=1,TYPE=P FIELD NAME=PRJNAME,BYTES=5,START=5,TYPE=C FIELD NAME=PRJTMSIZE,BYTES=4,START=10,TYPE=C FIELD NAME=PRJHEAD,BYTES=22,START=14,TYPE=C SEGM NAME=EMPLY,PARENT=SRU,BYTES=40 FIELD NAME=(EMPID,SEQ,U),BYTES=5,START=1,TYPE=P FIELD NAME=EMPNAME,BYTES=10,START=6,TYPE=C FIELD NAME=EMPPROJ,BYTES=5,START=16,TYPE=C FIELD NAME=EMPADDR,BYTES=20,START=21,TYPE=C SEGM NAME=SALARY,PARENT=EMPLY,BYTES=35 FIELD NAME=(SALEMPID,SEQ,U),BYTES=5,START=1,TYPE=P FIELD NAME=SALBASIC,BYTES=10,START=6,TYPE=C FIELD NAME=SALHRA,BYTES=5,START=16,TYPE=C FIELD NAME=SALDA,BYTES=5,START=21,TYPE=C DBDGEN FINISH END H < 0޽h ? ̙33y___PPT10Y+D=' = @B +    @@( )0) @d @ 0p ` PSB Program Specification Block,describes Logical structure of the Database that a program will use.It contains one or more PCB s (Program Communication Block). PCB describes one Database. PSBGEN PSBGEN Produces a load module stored in the PSBLIB library and creates PSB Major Macros Used PCB : Describes type (DB or DC), name of the DBD, Key length(length of the longest concatenated key the program can process) and processing Option (Defines how the segment may be accessed) PCB TYPE=DB,DBDNAME=SRCS,KEYLEN=20,PROCOPT=LS SENSEG : Define the name of the segments in the Database your program needs access to SENSEG NAME=CLIENT,PARENT=SRU SENFLD : Subordinate to the SENSEG macro, only fields that are defined by the SENFLD macro can be accessed from the I/O Area. SENFLD NAME=PROJECT,PARENT=CLIENT PSBGEN PSBNAME=MYPSB,LANG=COBOL END DH @ 0޽h ? ̙33y___PPT10Y+D=' = @B + PD|( ,lm DD D <̒  SAMPLE PSB FOR SRCS INFO DB PROJECT REFERENCE PROGRAM PCB TYPE=DB,DBDNAME=SRCS,KEYLEN=10,PROCOPT=LS SENSEG NAME=SRU,PARENT=0 SENSEG NAME=CLIENT,PARENT=SRU SENSEG NAME=PROJECT,PARENT=CLIENT PSBGEN PSBNAME=MYPSB,LANG=COBOL END SAMPLE PSB FOR SRCS INFO DB PROJECT REFERENCE PROGRAM PCB TYPE=DB,DBDNAME=SRCS,KEYLEN=10,PROCOPT=LS SENSEG NAME=SRU,PARENT=0 SENSEG NAME=CLIENT,PARENT=SRU SENSEG NAME=PROJECT,PARENT=CLIENT SENSEG NAME=EMPLY,PARENT=SRU SENSEG NAME=SALARY,PARENT=EMPLY PSBGEN PSBNAME=MYPSB,LANG=COBOL END H D 0޽h ? ̙33y___PPT10Y+D=' = @B +? f^`H(  H H 0  ^DL/I INTERFACE DL/I passes control to your program Uses ENRTY and CALL statement to code DL/I call in the Procedure Division ENTRY  DLITCBL USING PCB-name1 PCB-name2 This DL/I tells entry of the program for Batch program & MPP program CALL  CBLTDLI USING DLI-FUNCTION PCB-mask Segment-io-area [segment search arguments (s)] This call is the name of the interface module that link edited with your program s object module.4vH H 0޽h ? ̙33y___PPT10Y+D=' = @B +=  d\pL(  L L 0,  \CALL PARAMETERS CALL  CBLDTLI USING DLI-FUNCTION PCB-mask Segment-io-area [segment search argument (s) ] If we use PL/I language then CBLTDLI will be PLITDLI Parameter Function DL/I -Function A four byte code that tells DL/I what kind of call to make PCB-mask Arguments tells DL/I which PCB to use for the call IO-Area Tells DL/I where to put the segment SSA Gives DL/I additional criteria to use in finding a particular Segment, Can be upto 15 SSA s 0ywH L 0޽h ? ̙33y___PPT10Y+D=' = @B +D kcl( :=(-=H- l l 0d *V  cDL/I FUNCTIONS GU - Get Unique GN - Get Next GNP - Get Next within Parent GHU - Get Hold Unique GHN - Get Hold Next GHNP - Get Hold Next within Parent ISRT - To Insert REPL - To replace DLET - To Delete CHKP - To take a Checkpoint at a particular point XRST - To Restart from Particular point previous Checkpoint INIT - To Initialize SYNC - To commit 4H l 0޽h ? ̙33y___PPT10Y+D=' = @B +  P\(  P$ P 0ǝ z`  PCB MASK Define in linkage Section and establishes correspondence between linkage Section PSB-mask and PSB s with in your program. SAMPLE PCB-MASK LAYOUT VARIABLE DESCRIPTION 01 SRCS-PCB-MASK. 03 SR-DBD-NAME PIC X(8). Name of the Database being processed 03 SR-SEG-LEVEL PIC XX. Specifies current segment level in the DB 03 SR-STATUS-CODE PIC XX. Contains data yr program will evaluate after call 03 SR-PROC-OPT PIC X(4). Type of processing the program authorized to do 03 SR-SEG-NAME PIC X(8). Stores name of the segment just proceeded 03 SR-KEY-LENGTH PIC S9(5). Length of the concatenated key 03 SR-NUM-SENSEGS PIC S9(5). No of SENSEG macros subordinate to the PCB 03 SR-KEY-VALUE PIC X(20). Key value retrieved  {  1 8$&*!8 7m#1H P 0޽h ? ̙33y___PPT10Y+D=' = @B +" !!>BT}!( M(& T T 0`ܝ J`j VI-O AREA LAYOUT FOR SEGMENTSXB T 0D` XB T 0DXB T 0DXB T 0DXB T 0D XB T 0D` ` XB  T 0D`  T 0 * ?SRUCODE T 0X   @ SRUNAME  T 0H   >SRULOC T 0 `  ?SRUHEAD: T <   01 SRU-AREA. 03 SRU-CODE PIC X(3). 03 SRU-NAME PIC X(5). 03 SRU-LOC PIC X(12) 03 SRU-HEAD PIC X(20).XB T 0D  XB T 0D XB T 0D XB T 0D XB T 0D  XB T 0D  XB T 0D  T <,  Pl =CLTID T <D   ?CLTNAME T <    >CLTLOC T <    @CLT-HEAD 3 T <l (  01 CLIENT-AREA. 03 CLT-CLTID PIC X(4). 03 CLT-CLTNAME PIC X(10). 03 CLT-CLTLOC PIC X(11) 03 CLT-CLTHEAD PIC X(20).XB T 0D0 ` 0 XB  T 0D ` XB !T 0D0 XB "T 0D0  XB #T 0D0  XB $T 0D0 XB %T 0D0 ` `  &T < H B/  6PROJID 'T < 0   7PRJNAME (T 0P 0 l   6TMSIZE )T < 0   7PRJADDR; *T <,# E  01 PRJ-AREA. 03 PRJ-PROJID PIC X(4). 03 PRJ-PRJNAME PIC X(5). 03 PRJ-TMSIZE PIC X(4) 03 PRJ-HEAD PIC X(20).XB +T 0D XB ,T 0D XB -T 0DXB .T 0D XB /T 0DP P XB 0T 0DXB 1T 0DPP 2T <+ v  5EMPID 3T </ F  7EMPNAME 4T <d2 vb 7EMPPROJ 5T <5 F 6EMPADR+ 6T 08  @  01 EMP-AREA. 03 EMP-ID PIC X(5). 03 EMP-NAME PIC X(10). 03 EMP-PROJ PIC X(5) 03 EMP-ADR PIC X(20). XB 7T 0D0 0 XB 8T 0D  XB 9T 0D0  XB :T 0D0 PP XB ;T 0D0  XB T <?  0 01 SAL-AREA. 03 SAL-EMPID PIC X(5). 03 SAL-BASIC PIC X(10). 03 SAL-HRA PIC X(5). 03 SAL-DA PIC X(5). ?T 0DE 0   5EMPID @T <LI 0   5BASIC AT <M 0   3HRA BT <F 0 $  2DAH T 0޽h ? ̙33y___PPT10Y+D=' = @B +I phX(   X X 0V ` h . SEGMENT SEARCH ARGUMENT Identifies Segment Occurrence You want to access You may have to code several SSA s in a single DL/I CALL There are two types of SSA s Unqualified SSA & Qualified SSA UNQUALIFIED QUALIFIED Search for a Specific Segment type Searches for a specific occurrence of a specific segment type Access the database Sequentially Access the database Randomly Identify by segment name and space Identify by segment name and Seg-key Example 01 UNSRU-SSA. 01 QUALKBU-SSA. 03 SRU-UNSSA-NM PIC X(8) Value  SRU  . 03 SEG-NAME PIC X(8) VALUE  SRU  . 03 FILLER PIC X Value Space. 03 COM-CODE PIC X(2) VALUE  *- . 03 BEGIN-QUAL PIC X VALUE  ( . 03 KEY-NAME PIC X(8) VALUE  SRUKEY . 03 REL-OPR PIC X(2) VALUE  =  . 03 KEY-VALUE PIC X(20). 03 END-QUAL PIC X VALUE  ) . ^V[ 1x^V H X 0޽h ? ̙33y___PPT10Y+D=' = @B +m $(     0d|   $ COMMAND CODES Command Code Description D Retrieve Path F Access First Segment occurrence L Access Last Segment occurrence U Maintain current position at this level V Maintain current position at this level and higher levels Q Enqueue Segment N Do Not replace this Segment C Use a Concatenated Key P Establish Percentage at this level - Null command code / ignore L H  0޽h ? ̙33y___PPT10Y+D=' = @B +K0 E=`( 6`~~ ` ` 0Ĉ x` = DL/I STATUS CODES List of Codes Common Status Codes AB GK GB AC GP End of Database during Sequential retrieval using GN AD II AH IX GE AI LB Segment Occurrence as defined in a qualified SSA not AJ LC found or not added in a ISRT due to error in Specified path AK LD AM LE AI AO NO Error in opening the database dataset AT RX AU V1 Spaces DA SPACES Call ended normally DJ DX GA GB GD GEH5 iH ` 0޽h ? ̙33 dc(  d+ d 0~ x t  =Data Sensitivity DBA At a PSB level for SEGMENTS PROCOPT PCB TYPE=DB,DBDNAME-SRCS,,KEYLEN=11,PROCOPT SENSEG NAME =SRU,PARENT=0 SENSEG NAME =CLIENT,PARENT=SRU Processing Options : G, I, R, D, A, P, O, N, T, E, L, GS, LS, H At a PSB level for fields Done by DBA by use of SENFLD macro , specifying those fields that can be changed. Programmer At PROGRAM Level - Qualified SSA call with Command code N (No Replacement)r e fH d 0޽h ? ̙33y___PPT10Y+D=' = @B +3  ZR\(   \ \ 0 H&  RCheckpointing & Restart A point in the program where the database changes the program made are Considered complete and accurate -written to a DL/I log Used for Recovery Process Are of two types - Basic Checkpointing and Symbolic Checkpointing Basic Checkpointing CALL  CBLTDLI USING DLI-CHKP, I-O-PCB-MASK, CHECKPOINT-ID. Symbolic Checkpointing Stores program data along with checkpoint records and retrieves that data when program restarts after failure. For extended Restart , an XRST call to be issued with the same fields as in CHKP call. It allows DL/I to retrieve the value in checkpoint record and restores the specified fields. jL:ulOH \ 0޽h ? ̙33y___PPT10Y+D=' = @B +  h( B h h 0Թ HV  ]Explosive Mix - IMS DB with CICS Scheduling Call CICS Region / Partition@!+!=XB h 0D`XB h 0D`` XB h 0D ` XB h 0D  h 6ư @p  ; User Task   h 6˰   LUser Interface Block (UIB)  h 6ΰ    T"Program Communication Block (PCB)##^B  h 6D p ` ^B  h 6D` p   h 0<԰ 0 tDA DL/I task must establish addressability to UIB and one or more PCBEEH h 0޽h ? ̙33y___PPT10Y+D=' = @B + *"/4p(  p p 0<ڰ x&  NIMS & CICS Continued  p 04ް @` |CALL  CBLTDLI USING FUNC-INIT PSB-NAME ADDRESS OF DLIUIB SET ADDRESS OF PCB-ADDR-LIST TO UIBPCBAL SET ADDRESS OF PCB-1 TO PCB-1-ADR SET ADDRESS OF PCB-2 TO PCB-2-ADR & ...??XB p 0D@@XB p 0D@@XB  p 0D@@XB  p 0D@@XB  p 0D``XB  p 0D` ` XB p 0D`` XB p 0D`` XB p 0D  XB p 0D  XB p 0D  XB p 0DXB p 0D  XB p 0D  XB p 0D XB p 0D XB p 0D0@XB p 0D00XB p 0D0@XB p 0D@@XB p 0D@0@XB p 0D@ XB p 0D@00 XB p 0D 0   p <p pj NUser Interface Block !p 0Ͱ D D Address of PCB ListXB "p 0D0XB #p 0D0XB $p 0D00XB %p 0D &p 0 0w A Address of PCB 1 'p 0H @0'  A Address of PCB 2 (p < q0k JPCB Address list )p < @ '  4PCB1 *p <d @' 4PCB2XB ,p 0DP@PXB -p 0DP^B .p@ 6DXB /p@ 0D 0 XB 0p 0D  ^B 1p 6D  XB 2p 0DXB 3p 0D^B 4p@ 6DH p 0޽h ? ̙33y___PPT10Y+D=' = @B +   t(  VV t t 0 HVh BSecondary IndexingXB t 0D@ 0@XB t 0D@ PXB t 0DP 0PXB t 0D@00PXB t 0D pXB t 0Dp ppXB  t 0D pXB  t 0DpppXB  t 0Dp t <P p <W GEmployee Index Database t <  b< AEMP..Seg Addr t <  ~ ; Employee ID  t 0!   F Index Pointer Segment t 6x% 0  5SRUXB t 0D XB t 0DPXB t 0DPP XB t 0D  t 6(*  `  9CLIENTS t 6.    :EMPLOYEE  XB t 0D   t 6x1  `` :PROJECTS  ^B t 6Dp   t <@6  fo  EIndex Source Segment t 04 @  DIndex Target Segment t <9 P ` 7 b2Same index Source segment and index target segment33^B  t@ 6D H t 0޽h ? ̙33y___PPT10Y+D=' = @B + 0x(  x x 04? `` VSecondary Indexing ContinuedXB x 0D@ 0@XB x 0D@ PXB x 0DP 0PXB x 0D@00PXB x 0D pXB x 0Dp ppXB  x 0D pXB  x 0DpppXB  x 0Dp  x <I p <W GEmployee Index Database  x <K  R< ASRU..Seg Addr x <4Q ~ ; Employee ID  x 0TU   F Index Pointer Segment x 6Y 0  5SRUXB x 0D XB x 0DPXB x 0DPP XB x 0D  x 6`^    :EMPLOYEE  XB x 0D  ^B x 6Dp   x <4c  fo  EIndex Source Segment x 0g @  DIndex Target Segment x 0a P 7 h8Different index Source segment and index target segment99 x 6to  `  9CLIENTS x 6(s  `` :PROJECTS  ^B x@ 6D0 H x 0޽h ? ̙33y___PPT10Y+D=' = @B +< c[@|( 3t | | 0x `` f [ Secondary Indexing Continued Alternate sequencing is provided by storing pointers to Segments of the indexed Database in a separate secondary index data base Secondary index data base has only one segment type - the Index pointer segment which in turn contains a prefix element and a data element Prefix element points to the index target segment Secondary indexing is useful for accessing segments were both Index source segment and index target segment are same Index source segment and index target segment are different Two DBDGENS are required as a secondary database involves two database: one for indexed database , the other for the secondary index databaseQ4S>tNEH | 0޽h ? ̙33y___PPT10Y+D=' = @B +J qiP(    0\ `  cSecondary Indexing Continued DBDGEN - The Secondary Index code for SRCS DB (FH  <$ PJ NDBD NAME=SRCS,ACCESS=(HIDAM,VSAM) DSG1 DATASET DD1=DDSAT,DEVICE=3380,SIZE=4096,FRSPC=0,15) SEGM NAME=SRU,PARENT=0,BYTES=40 FIELD NAME=(SRUCD,SEQ,U),BYTES=2,START=1,TYPE=P & & SEGM NAME=EMPLY,PARENT=SRU,BYTES=80 LCHILD NAME= (MYPNTR,MYDBD),POINTER=INDX FIELD NAME=(EMPID,SEQ,U),BYTES=5,START=1,TYPE=P XDFLD NAME=MYINDX,SRCH=EMPID FIELD NAME=EMPNAME,BYTES=25,START=6,TYPE=C FIELD NAME=EMPPROJ,BYTES=15,START=31,TYPE=C FIELD NAME=EMPADDR,BYTES=35,START=46,TYPE=C & & . Lt(NH  0޽h ? ̙33y___PPT10Y+D=' = @B + `;( XZ@A`A    0 `` eSecondary Indexing Continued DBDGEN - The Secondary Index code for Secondary Index DB(IJ  0ܧ ``Z *DBD NAME=MYIDBD,ACCESS=(INDEX) DSG1 DATASET DD1=DDKAY,DEVICE=3380,SIZE=4096,FRSPC=0,15) SEGM NAME=MYPNTR,PARENT=0,BYTES=6 LCHILD NAME= (EMPID,SRCS), INDX=MYINDX FIELD NAME=(MYEMPID,SEQ,U),BYTES=6,START=1,TYPE=C DBDGEN FINISH END PSB Requirements for Secondary Indexing. PCB TYPE=DB,DBDNAME=SRCS,KEYLEN=10,PROCOPT=LS, PROCSEQ=MYIDBD SENSEG NAME=EMPLY SENSEG NAME=SRU,PARENT=EMPLY PSBGEN PSBNAME=MYSBX,LANG=COBOL END L+&}H  0޽h ? ̙33y___PPT10Y+D=' = @B +~ p5( 60X   0 xV X Difference Between MPP , BMP & DLI MPP (Message Processing Program) For Online programs( IMSDC) only. PSB used by a MPP program cannot be used by another programs simultaneously. Cannot run on Individual partitions. BMP (Batch message processing) For batch programs only PSB used by a BMP program cannot be used by another programs simultaneously. All partitions specified in PSB will be allocated whether used by program or not. Cannot run on Individual partitions. DL/I It can be used as Interface between MPP and Database OR BMP and Database For batch DL/I job it can access database directly PSB of DL/I job can be used by another jobs simultaneously It can run on Individual partitions. $# "!H  0޽h ? ̙33y___PPT10Y+D=' = @B +  L(  R  C *Aj0212199p ~ s *tI I ~  s *duI`  I   4 WH0*3fԔ?www.geocities.com/srcsincTimes New Roman pfB   WU&dV? P <6AArial Black {vH!5ec\0-{RNõU&^T   ,WU&dV? P <6TUTORIAL Arial Black {vH!5ec\0-{RNõU&@H    WU&dV? P <6fromArial Black {vH!5ec\0-{RNõU& `0   6"` l BACK TO HOME U 0 H  0޽h ? ̙33y___PPT10Y+D=' = @B +! 0 x(  R  3    ~  C   @    H  0޽h ? ̙33 4x[lWܙ}vAҤRHQ )6;:SwXUZ!hA@F D ("@$TCCx8Ν>ٵѝ9ss=s?ֿACydXᘨd$lY6]Un`M R "L6c`bacM`MbM ڋ&X7c6ʝ[W8 e| ږ~sA3?/ma&W+nL9%к/1pR"'%5&dS:訰飣%;]H9 xGR >y/4U\f=E#~d呄 9,w/F`b,ĤCp/z*,ȍ́V$2X>[e&D39C=UW8,NA |aNI| 9L>sw[p]sa>AiU~|J945S5OӘfmZ350[T_Zܙf+1 ޜi4[8qa C ͔ q^!Ӝm1| _){ E -zӇsBQL=m;,X¹InO`Fbw:ZYV cp30u"w%D0GR+ ;ְxI{B)+ gJ{AWͱð&Ԅ0&L j„0&L kě0 qfG&kN^g];_F^, ʤiSgp׃"The}ItBl Ѳ}A3CjU}Bh-j6q5UKXJEI>J )EGa U'Eْ Brt5\(i $gr|V9RbUiJ]kI>܇P$O;$3kUU/^*R4x3?M"&  !YKouS]t*Ļs6_CfHBe%2:!]0ŗ4S]IDf/ޖe3$weEsai;BHW-tyNJHlGkX_<?&2'>hC109pp~iWY~B(e-&pߩzeCGtu ˍ8Gσ^[1I^z(EXu/_6oA__6"`ZOz "_pRE!7B߷dL[r4p+ )R}‚)> ھY+5ŕ|۟{gpO[./m}׎ M;'oOǽ#v\Xrsz;7dֵ$*e6RM4e.ݕ<s¿:[Z /a]is͟7Ჵ[JdoefD{bn=kUimmH뚐υzyO{;dxIˮ[_?'8Yɣ.2t 9 I +"G씃ܞ};|mI? _4|z?Fs)J8em)/>t-&} '~K/ hy_Yy3sORvEQ͚3<4mi:6m5ۜCbKǖ:zTʍ%/ɤiK#J@lҿؖ7׿}7$,r̨ <=Կ3niko^9Kͳ{܎tekﳮE73}=`oZuk%^Wk3RKv\Vp6[[[+xϵXv|+g[%w~/u0iAn-r0>}CFJkMeOQFaHcfk|P(ոi ܪ #2B H]PU'8*@ d*2o["? p-*( ' < MS Org COh+'0U px  ( 4 @ LX`IMS-DBuzeluruLD:\Program Files\Microsoft Office\Templates\Presentation Designs\SERENE.POTrksatti53aMicrosoft PowerPointoso@В<@a(@_[ȫ@0WvjB,EGSg  )'    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwp4'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___www¼¼¼ݼ¼»¼¼¼¼¼¼™¼¼Ÿ™¼™¼¼¼¼ݼ¼»¼¼¼™½¼¼»¼¼¼¼¼¼»¼½¼¼¼¼¼¼¼½¼⼼¼¼¼¼¼⼼™¼ŸŸ¼¼¼¼»¼¼¼™Ÿ¼¼½Ÿ¼Ÿ¼¼¼¼¼¼¼¼Ÿ¼¼¼¼™»¼¼Ÿ¼™¼¼¼Ÿ¼™¼¼¼™»»¼¼¼¼¼Ÿ¼™¼™™¼™¼¼¼¼»¼™¼¼¼¼»»¼»¼¼¼¼™¼Ÿ¼¼Ÿ¼¼»¼¼¼¼¼¼¼»™¼™˜¼™™™¼¼¼¼¼¼¼¼¼™™™™™¼¼¼¼¼™¼¼¼¼¼™ž™¼¼¼¼™¼¼»¼¼¼¼¼¼¼™¼¼¼¼Ÿ¼Ÿ¼¼¼™™¼¼™¼¼Ÿ¼¼™»¼™¼¼¼¼¼¼™™¼™Ÿ¼¼¼¼¼™¼™™¼¼¼ŸŸ¼¼™™¼¼¼¼¼¼¼Ÿ¼¼¼¼¼™¼™™¼¼¼ݼ¼¼™™¼™¼¼¼¼¼Ÿ¼¼Ÿ¼¼¼¼¼¼¼¼¼¼Ÿ»Ÿ¼¼™™™™¼¼¼¼»¼¼™™¼™Ÿ™»»™¼™»¼ü»»¼¼¼¼Ÿ¼¼™»¼™¼»¼¼¼¼¼»™¼™™™¼¼»¼¼¼¼¼¼»¼¼¼¶¼³¼¼¼Ÿ¼¼¼´¼»´‘¼¼¼¼¼¼´´¼¼¼¼»¼»¼¼»™ô´¼¼¼¼µ´Ÿ»´ՙ՟ՙ¼¼Ÿ¼¼¼՟ռ´յ¼ռՙ™¼¼™¼¼ռּ֙ռ¼™™¼»¼¼¼յռՙռռֻ֟ՙռ¼™¼¼ռՙֶ֙֙ջֻֻּ֙™˜ՙŸ¼¼¼¼¼¼¼֟՟ֻּ֙֙¼¼™¼¼»Ÿ¼™¼™¼™¼¼™¼»¼¼֙»¼¼¼»¼Ÿ¼™™Ÿ™ּ¼™™¼¼¼¼¼™Ÿ™™™™¼¼¼»Ÿ¼¼™¼¼¼¼¼¼™Ÿ™™™¼¼¼¼¼Ÿ™¼Ÿ¼™¼¼ßŸ¼Ÿ¼¼Ÿ™Ÿ¼¼¼»™™¼»™¼¼½¼¼½¼¼ŸŸ¼™™Ÿ¼¼™¼¼¼™»¼¼¼¼¼™¼½¼¼™¼¼½Ÿ¼™¼¼¼š¼¼¼™™™™Ÿš™¼¼¼¼¼Ÿ™¼¼¼ ¼»¼™™¼»¼Ÿ¼¼¼¼¼¼¼¼Ÿ™™¼¼¼¼»Ÿ¼¼¼™¼¼¼¼Ÿ™™Ÿ¼Ÿ™¼™¼™™¼Ÿ¼Ÿ™¼¼¼¼¼¼¼»¼¼¼¼™¼¼¼™¼™¼¼¼¼¼¼¼¼™¼¼¼¼™¼¼™™¼¼¼¼™Ÿܟܼݙݙ἟Ÿ™™™¼¼¼¼¼ݻܼܼݟݼݼݟ¼ݻݻݼݼݟܼܻݼܼݘݙݼ™ݟݻܼݼݻݟݻ™¼¼¼™ݻݻݟܼݟᙼ™ݻݟܙܙܼݟܼܼݼݟݻݻݟܼ៼ܙ™ݻݟ¼¼¼™ܟݻݙݙἼݽ¼ܙݻݼݻܟܟŸ⟼⻟ݙݙἙݻἙݼ¼™Ÿ¼¼¼ݙ¼¼¼ݼݟᙼݙݼݟ»¼ܼܙܼŸݻݻܼݼ¼ݼܙἻ¼¼¼¼¼¼¼¼™»ܙܼݟܼݙ˜ݟ¼»»¼¼¼™š¼¼¼¼¼™™¼¼½¼¼üŸ¼¼Ÿ¼¼Ÿ¼¼¼¼Ÿ¼ü»¼¼¼¼™¼½™¼¼¼¼»¼¼¼¼¼¼»™¼¼™¼™»™¼¼¼¼™¼¼»¼¼¼Ÿ¼½¼½¼¼™™¼¼¼™¼ ¼¼¼¼¼¼¼™¼¼¼¼¼¼¼¼¼¼Ÿ™¼¼¼™¼¼¼»¼¼ŸŸ¼ü¼½¼¼¼¼¼¼¼½»¼¼¼¼¼¼½™¼ļ¼¼¼ļ¼™Ÿ™¼¼¼Ÿ¼½¼Ÿļ¼¼™Ļ™»ęϼ¼™™ğĞļğļļğϼęļļļļļ¼¼ęĞęļļļļļļğęļļğļğļęļĻĻļļğļϼ¼¼¼Ÿ¼ęĻļ¼ļļğļļļğļļļļĻęļ柽Ÿęęğļ¼¼¼™¼™¼™™ļļ¼¼¼Ÿ¼¼™¼¼™ļƼ¼¼½ļ¼ļ™™»™¼™¼¼¼¼¼¼¼¼¼Ÿ¼¼ŸŸ¼™ü¼¼¼¼»™»»Ÿ¼¼¼½¼Ÿ¼ļ¼¼»™¼¼™™¼ļğ™™»™˜ĻļĻęļļğ¼ļĻļ¼ğęļļęęęϼ¼¼ğğĻęęęĻęęęļļļğļļęļĻĻĻļļļļļęęļĻęĘğ柼¼™¼ğğęĘļğļļŸļļļğĻ™ęęğ𙼙™»ļļļ»ę™™ļ™ğﻻ晻¼¼™»¼¼¼¼»™¼»»¼™™¼™™»¼¼¼¼™™™™»¼¼¼™¼»¼¼»Ÿ™¼¼»Ÿ¼¼»¼¼¼¼¼¼¼»™¼¼»»¼Ÿ»¼™»¼¼»¼¼¼™¼™™¼™¼™™¼™™¼™™¼Ÿ™¼¼¼»¼¼™™¼»¼™™¼»¼»»¼¼¼¼¼¼¼¼¼¼¼¼ęļļļ¼ļ¼»¼¼Ÿęğęļļļ¼ļļ¼ļę¼ļğļļļ½ğğļ¼¼¼™¼¼™™ļļļŸ¼™»¼™ęğ¼¼¼ļļęļ¼¼¼¼™»ğŸğę™ļļğğ¼¼™™¼¼ļ?¼¼¼Ÿ¼»¼™™¼¼™¼BBH!B'HBHBBBHBBB'B'BB¼¼¼™™™Ÿ™»¼™H BHŸ¼¼¼™¼¼™¼¼™™H 'B B B B BHB¼™™¼™™Ÿ»¼™¼B HB B H HBH½¼½Ÿ™¼B BB BH BH H H B'B¼¼¼¼¼¼™™B HB B HBB BHB¼™Ÿ¼¼¼¼Ÿ'BB'HBHB'HB!HHBHH'BBH»¼¼»™™BHHBBHHBBHBBHB'BBBHB'¼™™™™¼¼¼¼HBBHB'BHHBH'HBBHHHBHB¼¼»¼¼¼¼Ÿ™™BACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x .a'    ! 3C !5"!#$%'(! ) _2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,@g4JdJd z[ 0ppp@  g47d7d z[ 0p@ pp<4BdBdL 0Pc 4 ʚ;ʚ;<4ddddL|- 080___PPT10 R___PPT94/ 0? %O =e!@IMS-DB Information Management System DB Concepts & Programming $A 9  '  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent an  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~-Root EntrydO)q|jB, PicturesDCurrent User"5SummaryInformation(\@UPowerPoint Document(DocumentSummaryInformation8H hart OrgPlusWOPX.402MS Organization Chart 2.0tBACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x .b'    ! 3C !5"!#$%'(! ) _2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,@g4JdJd z[ 0ppp@  g47d7d z[ 0p@ pp<4BdBdL 0JI4 ʚ;ʚ;<4ddddL|- 080___PPT10 R___PPT94/ 0? %O =!@IMS-DB Information Management System DB Concepts & Programming $A 9   Prepared By Mahesh Eluru ('W  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /*  f(  R  C *Aj0212199p ~ s *ܣ) ) ~  s *)`  )   4 WH0*3fԔ?www.geocities.com/srcsincTimes New Roman pfB   WU&dV? P <6AArial Black {vH!5ec\0-{RNõU&^T   ,WU&dV? P <6TUTORIAL Arial Black {vH!5ec\0-{RNõU&@H    WU&dV? P <6fromArial Black {vH!5ec\0-{RNõU& `0   6)"`  BACK TO HOME  U 0 H  0޽h ? ̙33y___PPT10Y+D=' = @B +rdq-"? @q-)( ' < MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0t  !#$%&'()*՜.+,D՜.+,x    $ On-screen Show:Kanbay Software (I) Pvt Ltd1#A 'Times New RomanMonotype SortsSereneMS Organization Chart 2.0AIMS-DB Information Management System DB Concepts & Programming Slide 2Advanced Topics3 File Vs DatabasesDatabase Structures Access TypesSlide 7Slide 8 DefinitionsDefinitions (contd)IMS Control Blocks Slide 12*Sample DBD Listing for SRCS Info Database Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles#go    ' /7?GOW_gow _PID_HLINKS TemplateType GraphicType Compression ScreenSize ScreenUsage MailAddress HomePage Other DownloadOriginal DownloadIEButton UseBrowserColor BackColor TextColor LinkColor VisitedColorTransparentButton ButtonType ShowNotes NavBtnPos OutputDirA\!http://www.geocities.com/srcsinc!http://www.geocities.com/srcsinc!http://www.geocities.com/_irksattirksattisrcsinc!http://www.geocities.com/srcsinc!http://www.geocities.com/srcsincdd establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /* *"@ (  r  S TqVp V r  S VP@& V   | :3WMMMԔ?fromArial Black     4 WdԔԔ?www.geocities.com/srcsincTimes New Roman *H  0޽h ? ̙33y___PPT10Y+D=' = @B +r? ¤-)( ' < MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0tBACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x .a'    ! 3C !5"!#$%'(! ) _2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,@g4JdJd z[ 0ppp@  g47d7d z[ 0p@ pp<4BdBdL 0Pc 4 ʚ;ʚ;<4ddddL|- 080___PPT10 R___PPT94/ 0? %O =e!@IMS-DB Information Management System DB Concepts & Programming $A 9  '  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /* *"@ (  r  S TqVp V r  S VP@& V   | :3WMMMԔ?fromArial Black     4 WdԔԔ?www.geocities.com/srcsincTimes New Roman *H  0޽h ? ̙33y___PPT10Y+D=' = @B +r,+? 6-)( ' < MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0tBACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x .`'    ! 3C !5"!#$%'(! ) _2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,@g4JdJd z[ 0ppp@  g47d7d z[ 0p@ pp<4BdBdL 0qV4 ʚ;ʚ;<4ddddL|- 080___PPT10 R___PPT94/ 0? %O =e!@IMS-DB Information Management System DB Concepts & Programming $A 9  '  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /*W ~v@ (  r  S p  r  S hP@&     4 WdԔԔ?www.geocities.com/srcsincTimes New Roman *H  0޽h ? ̙33y___PPT10Y+D=' = @B +rrq+? N.-)( ' < MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0tBACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x .`'    ! 3C !5"!#$%'(! ) _2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,@g4JdJd z[ 0ppp@  g47d7d z[ 0p@ pp<4BdBdL 0qV4 ʚ;ʚ;<4ddddL|- 080___PPT10 R___PPT94/ 0? %O =e!@IMS-DB Information Management System DB Concepts & Programming $A 9  '  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for      !"#$%&'()*+,./0123456789:;<=>?@ABC storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /*r /? . Y-g,( ' , &MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0t!BACK TO HOME@http://www.geocities.com/srcsinct#BACK TO HOME@http://www.geocities.com/srcsinct$BACK TO HOME@http://www.geocities.com/srcsinct%BACK TO HOME@http://www.geocities.com/srcsinct&BACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x.d'    ! 3C !5"!#$%'(! )_2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,g4RdRd z[ 0^ppp@  g47d7d z[ 0p@ pp<4BdBdL 0L4 ʚ;ʚ;<4ddddL|- 080___PPT10 ___PPT9/ 0!#$%&? %O =e!@IMS-DB Information Management System DB Concepts & Programming $A 9  '  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /*<  ` 333WcL+᷷Ҫ` 333WcL+᷷Ҫ` 999>?" dd@,?dd@ l2 " d@ ` n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>> "( %,7GM?   s *    T Click to edit Master title style! !   c $H   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  c $ӥ ``  D* 2  c $| `   F*(2  c $4  `   F*(2  60V#" ``h dHOME&U 0X  @A ޽h ?ming 333WcL+Ҫ  Serene7 ^V@ (  r  S p  r  S pP@&     4 WdԔԔ?www.geocities.com/srcsincTimes New Roman *   6:"``h dHOME!U 0H  0޽h ? ̙33y___PPT10Y+D=' = @B +y  ` 0(   l  C      0VPp D Basic Topics    6tV"``h dHOME$U 0H  0޽h ? ̙33y___PPT10Y+D=' = @B +G  nfp( dD r  S     l  C HP@`    64V"``h dHOME%U 0H  0޽h ? ̙33y___PPT10Y+D=' = @B +  D(  R  C *Aj0212199p ~ s *l>    ~  s *@? `      4 WH0*3fԔ?www.geocities.com/srcsincTimes New Roman pfB   WU&dV? P <6AArial Black {vH!5ec\0-{RNõU&^T   ,WU&dV? P <6TUTORIAL Arial Black {vH!5ec\0-{RNõU&@H    WU&dV? P <6fromArial Black {vH!5ec\0-{RNõU& `0   63V"``h dHOME#U 0H  0޽h ? ̙33y___PPT10Y+D=' = @B +r(?Y01+-? Y-g,( ' , &MS Org Chart OrgPlusWOPX.402MS Organization Chart 2.0t!utputputp f3  C:\testingBBACK TO HOME@http://www.geocities.com/srcsinct#BACK TO HOME@http://www.geocities.com/srcsinct$BACK TO HOME@http://www.geocities.com/srcsinct%BACK TO HOME@http://www.geocities.com/srcsinct&BACK TO HOME@http://www.geocities.com/srcsincb/ 0DTimes New Roman0z[ 0DMonotype Sorts0z[ 0 B .  @n?" dd@  @@`` x.d'    ! 3C !5"!#$%'(! )_2$*\I0ohA-2`(R$/*6W5q `($$2$a∢u @ 0AA @8+,g4JdJd z[ 0ppp@  g47d7d z[ 0p@ pp<4BdBdL 0Lʚ;ʚ;<4ddddL|- 080___PPT10 ___PPT9/ 0!#$%&? %O =e!@IMS-DB Information Management System DB Concepts & Programming $A 9  '  ]Files Vs Databases Networked,Hierarchical & Relational structure Access types - HSAM, HISAM,HDAM,HIDAM,VSAM IMS DB - an Hierarchical Structure Database Definitions - DBD Program Specification Block ,Program Control Block DL/I Calls - Data Retrieval and Manipulation DL/I Functions Qualified/ Unqualified Calls, SSAs, Command Codes DL/I Status codes^^Advanced Topics DData Sensitivity - Segment Level & Field level Checkpoint & Restart IMS DB in CICS Environment Secondary Indexing Difference between MPP, BMP, DLI Using  HFCTDLI  2 File Vs Databases32 Data more redundant Redundancy avoided Duplicate data Minimise Duplicates Data insecure Security provided No control over data Field level sensitivity Threat to Integrity Consistency of data Lack of inbuilt Data Logging, recovery features Commits & Rollbacks Lack of data Locks Automatic locks 6lC8Database Structures WNetwork Structures (e.g IDMS) Many to Many relationships Complex structure using Pointers Best for Keeping storage Hierarchical Structures (e.g IMS DB) One to Many Relationships Inverted Tree like Structure Best for storing parent and child type entities Relational Structures (e.g DB2) One to Many, Many to One Best for ease of data retrievalU%g 9U$h 8 Access Types  HSAM/SHSAM (Simple /Hierarchic sequential Access Method) The segments that make up the database record are related to one another by their physical locations (SHSAM has only root occurrences) HISAM/SHISAM (Simple / Hierarchic Indexed Sequential Access Method) The data is stored with hierarchic sequential organization along with an index for random processing (SHISAM has only index of root occurrences) HDAM (Hierarchic Direct Access Method) The segment occurrences include prefixes that contain the direct address pointers to related segment - stores root segment occurrences HIDAM (Hierarchic Indexed Direct Access Method) Similar to HDAM but stores an index of the root segment occurrences:D'0O - 6!*O     Definitions  Segment - Unit of Information handled in IMS - Unit of data transferred from DL/I in an IO operation - Consists of fields, key fields & Search fields Occurrence - Specific segment of a particular type of segment - Contains actual user data Root Segment - Top of the hierarchy - All other segments are derived from the root Parent Segment - Segment that has dependent segments y p;  y q=  Definitions (contd) wChild Segment - A dependent segment Segment Level - Depth of an IMS structure - Root is at Level 0, max 15 levels, max 255 segments Path - Series of segments from Root to the child Database record - Each occurrence of the Segment Plus all occurrence of the subordinate segments Twins - Segment occurrences of same type with same parent segment occurrence8N 9 O IMS Control Blocks    ZDBD : Names the database and identifies the access method DBD Name = SRCS, ACCESS=(HIDAM,VSAM) DATASET : Specifies DD Name used in the JCL and other parameters DATASET DD1=DDSAT,DEVICE=3380,SIZE=(4096),FRSPC=(0,15) SEGM : Names the segment. Identifies the parent and establishes the length SEGM Name =SRU,PARENT=0,BYTES=40 LCHILD : Names the logical segment used in secondary Indexing and Logical database LCHILD NAME=(SRUNAME,SRCS1),PTR=INDX FIELD : Defines fields. And identifies search &key fields by SEQ parameter FIELD NAME=(SRUCODE,SEQ,U)BYTES=3,START=1,TYPE=C DBDGEN: Indicates the end of the DBDGEN process DBDGEN COMMENT:  * IN 3rd COLUMN for writing user comments:7AIR3MXO@059 )Sample DBD Listing for SRCS Info Database*) 0  $  !"#%!-"   Prepared By Mahesh Eluru ('W /*r? ƢY-