Advertisement
Guest User

Untitled

a guest
Jul 30th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 8.85 KB | None | 0 0
  1. DECLARE
  2.  
  3.    l_enota        VARCHAR2(2);
  4.    l_mid          NUMBER;
  5.    l_hs           NUMBER;
  6.    l_hd           VARCHAR2(2000);
  7.    l_labela       VARCHAR2(100);
  8.    l_ul_mid       NUMBER;
  9.    l_na_mid       NUMBER;
  10.    l_ob_mid       NUMBER;
  11.    l_pt_mid       NUMBER;
  12.    l_po_mid       NUMBER;
  13.    l_datum_od     VARCHAR2(100);
  14.    l_datum_vod    VARCHAR2(100);
  15.    l_datum_od_f   DATE;
  16.    l_datum_vod_f  DATE;
  17.    l_status       VARCHAR2(2);
  18.    l_yc           NUMBER;
  19.    l_xc           NUMBER;
  20.  
  21.    l_ns           VARCHAR2(100) := 'xmlns:wfs=http://www.opengis.net/wfs/2.0';
  22.    l_ns_f         VARCHAR2(100) := 'xmlns:SI.GURS.RPE=https://prostor4.gov.si/ows2-pub/SI.GURS.RPE';
  23.    
  24.    l_vsebina_xml  xmltype;
  25.    l_collection   xmltype;
  26.    l_member       xmltype;
  27.    l_response     clob;
  28.    l_convert      clob;
  29.    l_member_c     clob;
  30.    l_smeti        clob;
  31.    l_req          clob;
  32.    l_req_n        clob;
  33.    l_startindex   NUMBER := 0;
  34.    l_zst          NUMBER := 1;
  35.    l_count        NUMBER;
  36.    
  37.    
  38.  
  39. BEGIN
  40.  
  41. LOOP
  42.    EXIT WHEN l_startindex > 50000;
  43.    l_req := '<?xml version="1.0" encoding="UTF-8"?>
  44.   <GetFeature request="getFeature" version="2.0.0" service="WFS" outputFormat="application/gml+xml; version=3.2" count="1" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:SI.GURS.RPE="https://prostor4.gov.si/ows2-pub/SI.GURS.RPE">
  45.    <Query typeNames="SI.GURS.RPE:HS">
  46.      <PropertyName>ENOTA</PropertyName>
  47.      <PropertyName>HS_MID</PropertyName>
  48.      <PropertyName>HS</PropertyName>
  49.      <PropertyName>HD</PropertyName>
  50.      <PropertyName>LABELA</PropertyName>
  51.      <PropertyName>UL_MID</PropertyName>
  52.      <PropertyName>NA_MID</PropertyName>
  53.      <PropertyName>OB_MID</PropertyName>
  54.      <PropertyName>PT_MID</PropertyName>
  55.      <PropertyName>PO_MID</PropertyName>
  56.      <PropertyName>D_OD</PropertyName>
  57.      <PropertyName>DV_OD</PropertyName>
  58.      <PropertyName>STATUS</PropertyName>
  59.      <PropertyName>Y_C</PropertyName>
  60.      <PropertyName>X_C</PropertyName>
  61.    </Query>
  62.   </GetFeature>';
  63.  
  64.    l_req_n := '<?xml version="1.0" encoding="UTF-8"?>
  65.   <GetFeature request="getFeature" version="2.0.0" service="WFS" outputFormat="application/gml+xml; version=3.2" startIndex="'||l_startindex||'" count="1" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:SI.GURS.RPE="https://prostor4.gov.si/ows2-pub/SI.GURS.RPE">
  66.    <Query typeNames="SI.GURS.RPE:HS">
  67.      <PropertyName>ENOTA</PropertyName>
  68.      <PropertyName>HS_MID</PropertyName>
  69.      <PropertyName>HS</PropertyName>
  70.      <PropertyName>HD</PropertyName>
  71.      <PropertyName>LABELA</PropertyName>
  72.      <PropertyName>UL_MID</PropertyName>
  73.      <PropertyName>NA_MID</PropertyName>
  74.      <PropertyName>OB_MID</PropertyName>
  75.      <PropertyName>PT_MID</PropertyName>
  76.      <PropertyName>PO_MID</PropertyName>
  77.      <PropertyName>D_OD</PropertyName>
  78.      <PropertyName>DV_OD</PropertyName>
  79.      <PropertyName>STATUS</PropertyName>
  80.      <PropertyName>Y_C</PropertyName>
  81.      <PropertyName>X_C</PropertyName>
  82.    </Query>
  83.   </GetFeature>';
  84.    
  85.    
  86.    IF l_startindex = 0 THEN
  87.       l_response := met_akcije_ws.f_ws_klic
  88.                               ( p_wse_sifra     => 'GURS'
  89.                               , p_request_body  => l_req
  90.                               );
  91.    ELSE
  92.       l_response := met_akcije_ws.f_ws_klic
  93.                               ( p_wse_sifra     => 'GURS'
  94.                               , p_request_body  => l_req_n
  95.                               );          
  96.    put_xl_line('tu sem');                                      
  97.    END IF;
  98.    l_vsebina_xml := xmltype.createxml(l_response);
  99.  
  100.    l_collection := l_vsebina_xml.EXTRACT('//wfs:FeatureCollection/child::node()'
  101.                                        ,l_ns
  102.                                         );
  103. --   l_convert := l_collection.getClobVal();
  104. --   put_xl_line(l_convert);
  105.  
  106.    l_member := l_vsebina_xml.EXTRACT('//wfs:FeatureCollection/wfs:member/child::node()'
  107.                                     ,l_ns
  108.                                     );
  109. --   l_smeti := l_member.getClobVal();
  110. --   put_xl_line(l_smeti);
  111. put_xl_line('---------ASD1 Pred Parsiranjem----------');
  112.        LOOP
  113.            IF l_member.EXISTSNODE('/SI.GURS.RPE:HS['||l_zst||']', l_ns_f) = 0 THEN
  114.                EXIT;
  115.            END IF;
  116.            put_xl_line('---------ASD2 Med Parsiranjem----------');
  117.            l_enota          := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:ENOTA/child::node()'
  118.                                        ,l_ns_f).getStringVal();                          
  119.            l_mid            := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HS_MID/child::node()'
  120.                                        ,l_ns_f).getStringVal();
  121.            l_hs             := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HS/child::node()'
  122.                                        ,l_ns_f).getStringVal();
  123.                                        
  124.            IF l_member.EXISTSNODE('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HD/child::node()', l_ns_f) = 0 THEN
  125.                l_hd := NULL;
  126.            ELSE
  127.                l_hd         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HD/child::node()'
  128.                                                    ,l_ns_f).getStringVal();
  129.            END IF;
  130.            
  131.            l_labela         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:LABELA/child::node()'
  132.                                        ,l_ns_f).getStringVal();
  133.            l_ul_mid         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:UL_MID/child::node()'
  134.                                        ,l_ns_f).getStringVal();
  135.            l_na_mid         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:NA_MID/child::node()'
  136.                                        ,l_ns_f).getStringVal();
  137.            l_ob_mid         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:OB_MID/child::node()'
  138.                                        ,l_ns_f).getStringVal();                                                                                  
  139.            l_pt_mid         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:PT_MID/child::node()'
  140.                                        ,l_ns_f).getStringVal();
  141.            l_po_mid         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:PO_MID/child::node()'
  142.                                        ,l_ns_f).getStringVal();  
  143.                                                                                                    
  144.            l_datum_od       := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:D_OD/child::node()'
  145.                                        ,l_ns_f).getStringVal();
  146.            l_datum_od_f     := TO_DATE(l_datum_od, 'yyyy-mm-dd"t"hh24:mi:ss"z"');
  147.                                
  148.            l_datum_vod      := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:DV_OD/child::node()'
  149.                                        ,l_ns_f).getStringVal();
  150.            l_datum_vod_f    := TO_DATE(l_datum_vod, 'yyyy-mm-dd"t"hh24:mi:ss"z"');
  151.  
  152.            l_status         := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:STATUS/child::node()'
  153.                                        ,l_ns_f).getStringVal();
  154.            l_yc             := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:Y_C/child::node()'
  155.                                        ,l_ns_f).getStringVal();
  156.            l_xc            := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:X_C/child::node()'
  157.                                        ,l_ns_f).getStringVal();                                                                                                                                    
  158.                                        
  159.            l_zst := l_zst +1;    
  160. --           put_xl_line('Zaporedno : ' || l_zst);                      
  161. --           put_xl_line('Enota : '     ||l_enota);
  162.            put_xl_line('HS_MID : '    ||l_mid);                      
  163. --           put_xl_line('HS : '        ||l_hs);
  164. --           put_xl_line('HD : '        ||l_hd);
  165. --           put_xl_line('LABELA : '    ||l_labela);
  166. --           put_xl_line('UL_MID : '    ||l_ul_mid);
  167. --           put_xl_line('NA_MID : '    ||l_na_mid);
  168. --           put_xl_line('OB_MID : '    ||l_ob_mid);
  169. --           put_xl_line('PT_MID : '    ||l_pt_mid);
  170. --           put_xl_line('PO_MID : '    ||l_po_mid);                    
  171. --           put_xl_line('D_OD : '      ||to_char(l_datum_od_f));
  172. --           put_xl_line('DV_OD : '     ||to_char(l_datum_vod_f));                      
  173. --           put_xl_line('STATUS : '    ||l_status);
  174. --           put_xl_line('Y_C : '       ||l_yc);                      
  175. --           put_xl_line('X_C : '       ||l_xc);
  176. --           put_xl_line('-----------------------');
  177.        END LOOP;
  178. l_startindex := l_startindex + 50000;
  179. END LOOP;      
  180. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement