doc-exports/docs/dws/tool/dws_mt_0158.html
Lu, Huayi 27019c2991 DWS TOOL 830.201 version
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:35:25 +00:00

1253 lines
142 KiB
HTML

<a name="EN-US_TOPIC_0000001772696296"></a><a name="EN-US_TOPIC_0000001772696296"></a>
<h1 class="topictitle1">Packages</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p142931113195111">Packages are schema objects that group logically related PL/SQL types, variables, functions and procedures. In Oracle, each package consists of two parts: package specification and package body. The package specification may contain variables and REF CURSOR in variables. The package REF CURSORs are identified and migrated in the referred places. The functions and procedures in the package body are migrated into individual functions and procedures. The types and variables in the package body are migrated to each of the functions and procedures.</p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p4445698820">If the schema names of the package specification and package body do not match, then the tool will log a schema name mismatch error to the <strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1040735612307">DSCError.log</strong> file.</p>
<div class="fignone" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_fig1531917481910"><span class="figcap"><b>Figure 1 </b>Migration of PL/SQL packages</span><br><span><img id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_image63201161114839" src="figure/en-us_image_0000001657865806.png"></span></div>
<div class="p" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1050535822219"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b17630193519545">Input - PL/SQL Packages </strong>(Package specifications and body)<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen13506135814221"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">pkg_get_empdet</span>
<span class="k">IS</span>
<span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">get_ename</span><span class="p">(</span><span class="n">eno</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nb">number</span><span class="p">,</span><span class="n">ename</span><span class="w"> </span><span class="k">out</span><span class="w"> </span><span class="n">varchar2</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span><span class="w"> </span>
<span class="w"> </span><span class="k">BEGIN</span><span class="w"> </span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">ename</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">','</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">last_name</span><span class="w"> </span>
<span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">ename</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">emp</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">empno</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">eno</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">get_ename</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">get_sal</span><span class="p">(</span><span class="n">eno</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nb">number</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">number</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span><span class="w"> </span>
<span class="w"> </span><span class="n">lsalary</span><span class="w"> </span><span class="nb">number</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">BEGIN</span><span class="w"> </span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">salary</span>
<span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">lsalary</span><span class="w"> </span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">emp</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">empno</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">eno</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">lsalary</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">get_sal</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">pkg_get_empdet</span><span class="p">;</span>
<span class="w"> </span><span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p950855813225"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b14895441185412">Output</strong> (The output contains separate functions and procedures for each of the functions and procedures in the package body of the input)</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen204171720519"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span>
<span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span>
<span class="n">pkg_get_empdet</span><span class="p">.</span><span class="n">get_ename</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">eno</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nb">number</span><span class="w"> </span><span class="p">,</span><span class="n">ename</span><span class="w"> </span><span class="k">out</span><span class="w"> </span><span class="n">varchar2</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span>
<span class="k">SELECT</span>
<span class="w"> </span>
<span class="n">ename</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">','</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">last_name</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">ename</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span>
<span class="n">emp</span>
<span class="w"> </span><span class="k">WHERE</span>
<span class="w"> </span>
<span class="n">empno</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">eno</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="o">/</span>
<span class="k">CREATE</span>
<span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span>
<span class="n">pkg_get_empdet</span><span class="p">.</span><span class="n">get_sal</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">eno</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nb">number</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">number</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="n">lsalary</span><span class="w"> </span><span class="nb">number</span><span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span>
<span class="k">SELECT</span>
<span class="w"> </span>
<span class="n">salary</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">lsalary</span>
<span class="w"> </span>
<span class="k">FROM</span>
<span class="w"> </span>
<span class="n">emp</span>
<span class="w"> </span>
<span class="k">WHERE</span>
<span class="w"> </span>
<span class="n">empno</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">eno</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span>
<span class="k">RETURN</span><span class="w"> </span><span class="n">lsalary</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<div class="p" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p51613045216"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b0159161110268">Input - PL/SQL Packages</strong><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen4159121192616"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">vw_emp_name</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span>
<span class="w"> </span><span class="k">Select</span><span class="w"> </span><span class="n">pkg_get_empdet</span><span class="p">.</span><span class="n">get_sal</span><span class="p">(</span><span class="n">emp</span><span class="p">.</span><span class="n">empno</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">empsal</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">emp</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p416531115264"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1734101111413">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen133461114416"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span>
<span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">vw_emp_name</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span>
<span class="w"> </span>
<span class="n">pkg_get_empdet</span><span class="p">.</span><span class="n">get_sal</span><span class="w"> </span><span class="p">(</span><span class="n">emp</span><span class="p">.</span><span class="n">empno</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">empsal</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp</span><span class="p">)</span>
<span class="p">;</span>
<span class="w"> </span>
<span class="k">output</span><span class="p">:</span><span class="w"> </span>
<span class="k">set</span>
<span class="n">package_name_list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'func'</span><span class="w"> </span><span class="p">;</span>
<span class="k">CREATE</span>
<span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">func1</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">i1</span><span class="w"> </span><span class="nb">INT</span><span class="w"> </span><span class="p">)</span>
<span class="k">RETURN</span><span class="w"> </span><span class="nb">INT</span><span class="w"> </span><span class="k">As</span><span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">r_rthpagat_list</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="n">RECORD</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="cm">/* Record</span>
<span class="cm">information about cross-border RMB */</span>
<span class="n">business</span><span class="w"> </span><span class="k">parameters</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">rthpagat</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">rthpagat_REQUESTID</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">REQUESTID</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_PARAMTNAME</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">PARAMTNAME</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_PARAMNUM</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">PARAMNUM</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_PARAMSTAT</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">PARAMSTAT</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_REQTELLERNO</span><span class="w"> </span><span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">REQTELLERNO</span><span class="o">%</span><span class="k">TYPE</span>
<span class="p">,</span><span class="n">rthpagat_REQUESTTIME</span><span class="w"> </span><span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">REQUESTTIME</span><span class="o">%</span><span class="k">TYPE</span>
<span class="p">,</span><span class="n">rthpagat_HOSTERRNO</span><span class="w"> </span><span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">HOSTERRNO</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_HOSTERRMSG</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">HOSTERRMSG</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_GATBANK</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE1</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_GATEEBANK</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE2</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_TELLER</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE3</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_DATE</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE4</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_BM_GATBANK</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE5</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_BM_GATEEBANK</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE6</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_BM_LMTEL</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE7</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">,</span><span class="n">rthpagat_BM_LMDAT</span>
<span class="n">RMTS_REMITTANCE_PARAM</span><span class="p">.</span><span class="n">VALUE8</span><span class="o">%</span><span class="k">TYPE</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="n">v1</span><span class="w"> </span><span class="n">r_rthpagat_list</span><span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="o">/</span>
<span class="w"> </span><span class="k">reset</span>
<span class="n">package_name_list</span><span class="w"> </span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p12376175614019"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b19811183754214">Input -Function/Procedure With No Parameter</strong></p>
<div class="p" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p18807117134318">In case a procedure or function does not have any parameter or argument, put () after procedure or function name while calling the same procedure or function.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen19435155513421"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">g_pkg_name</span><span class="w"> </span><span class="n">CONSTANT</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'bas_lookup_misc_pkg'</span><span class="p">;</span>
<span class="w"> </span><span class="n">g_func_name</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">30</span><span class="p">);</span>
<span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">func_name</span><span class="w"> </span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">l_func_name</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="n">l_func_name</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">g_pkg_name</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">'.'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">g_func_name</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">l_func_name</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">func_name</span><span class="p">;</span>
<span class="w"> </span><span class="c1">------------------------------------------------------------------------------</span>
<span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">insert_fnd_data_change_logs</span><span class="p">(</span><span class="n">pi_table_name</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_table_key_columns</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_table_key_values</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_column_name</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_column_change_from_value</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_column_change_to_value</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_op_code</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_description</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="k">OUT</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="n">g_func_name</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'insert_fnd_data_change_logs_t'</span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Others Exception raise in '</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">func_name</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">','</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">SQLERRM</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">insert_fnd_data_change_logs</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="p">;</span><span class="w"> </span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p4733195684014"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b12061059103817">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen0622183323815"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span>
<span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="o">#</span><span class="n">func_name</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span>
<span class="w"> </span><span class="n">PACKAGE</span>
<span class="w"> </span><span class="k">IS</span><span class="w"> </span>
<span class="w"> </span><span class="n">l_func_name</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">MIG_PV_VAL_DUMMY_G_PKG_NAME</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_GET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="w"> </span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="w"> </span><span class="p">,</span><span class="s1">'g_pkg_name'</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">::</span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">MIG_PV_VAL_DUMMY_G_FUNC_NAME</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_GET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="w"> </span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="w"> </span><span class="p">,</span><span class="s1">'g_func_name'</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">::</span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="n">l_func_name</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">MIG_PV_VAL_DUMMY_G_PKG_NAME</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">'.'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">MIG_PV_VAL_DUMMY_G_FUNC_NAME</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_SET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="p">,</span><span class="s1">'g_pkg_name'</span><span class="p">,</span><span class="n">MIG_PV_VAL_DUMMY_G_PKG_NAME</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_SET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="p">,</span><span class="s1">'g_func_name'</span><span class="p">,</span><span class="n">MIG_PV_VAL_DUMMY_G_FUNC_NAME</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">l_func_name</span><span class="w"> </span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="c1">-------------------------------------------------------------------------------------------------</span>
<span class="k">CREATE</span>
<span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="o">#</span><span class="n">insert_fnd_data_change_logs</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">pi_table_name</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_table_key_columns</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_table_key_values</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_column_name</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_column_change_from_value</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_column_change_to_value</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_op_code</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span>
<span class="w"> </span><span class="p">,</span><span class="n">pi_description</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="n">po_error_msg</span><span class="w"> </span><span class="k">OUT</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="n">PACKAGE</span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">MIG_PV_VAL_DUMMY_G_FUNC_NAME</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_GET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="w"> </span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="w"> </span><span class="p">,</span><span class="s1">'g_func_name'</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">::</span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="n">MIG_PV_VAL_DUMMY_G_FUNC_NAME</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'insert_fnd_data_change_logs_t'</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_SET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="p">,</span><span class="s1">'g_pkg_name'</span><span class="p">,</span><span class="n">MIG_PV_VAL_DUMMY_G_PKG_NAME</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">MIG_ORA_EXT</span><span class="p">.</span><span class="n">MIG_FN_SET_PKG_VARIABLE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'SAD'</span><span class="p">,</span><span class="s1">'bas_lookup_misc_pkg'</span><span class="p">,</span><span class="s1">'g_func_name'</span><span class="p">,</span><span class="n">MIG_PV_VAL_DUMMY_G_FUNC_NAME</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Others Exception raise in '</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="o">#</span><span class="n">func_name</span><span class="p">()</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">','</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">SQLERRM</span><span class="w"> </span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1541057194011"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b19710173244212">Input - Package Body with no procedure and functions</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p6890721124219">In case package body does not have any logic,for example, procedures and functions, DSC needs to remove all code from the same package. The output is basically blank.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen2348121216439"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_subtype_pkg</span><span class="w"> </span><span class="k">IS</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">bas_subtype_pkg</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p201741718184415"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b72351445103619">Input - SUBTYPE</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p150452711376">With the SUBTYPE statement, PL/SQL allows you to define your own subtypes or aliases of predefined datatypes, sometimes referred to as abstract datatypes.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen84228441379"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="ss">&quot;SAD&quot;</span><span class="p">.</span><span class="ss">&quot;BAS_SUBTYPE_PKG&quot;</span><span class="w"> </span><span class="k">IS</span>
<span class="n">SUBTYPE</span><span class="w"> </span><span class="n">CURRENCY</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="n">BAS_PRICE_LIST_T</span><span class="p">.</span><span class="n">CURRENCY</span><span class="o">%</span><span class="k">TYPE</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">bas_subtype_pkg</span><span class="p">;</span>
<span class="o">/</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="ss">&quot;SAD&quot;</span><span class="p">.</span><span class="ss">&quot;BAS_SUBTYPE_PKG&quot;</span><span class="w"> </span><span class="k">IS</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">bas_subtype_pkg</span><span class="p">;</span>
<span class="o">/</span>
<span class="c1">--********************************************************************</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">get_currency</span><span class="p">(</span><span class="n">pi_price_type</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">)</span><span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_currency</span><span class="w"> </span><span class="n">bas_subtype_pkg</span><span class="p">.</span><span class="n">currency</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="n">g_func_name</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'get_currency'</span><span class="p">;</span>
<span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="n">rec_currency</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">currency</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sad_price_type_v</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">price_type_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_price_type</span><span class="p">)</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="n">v_currency</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">rec_currency</span><span class="p">.</span><span class="n">currency</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">v_currency</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">get_currency</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pkg</span><span class="p">;</span>
<span class="w"> </span><span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p13114131974416"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b20769141123818">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen2473152163813"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span></pre></div></td><td class="code"><div><pre><span></span><span class="ss">&quot;SAD&quot;</span><span class="p">.</span><span class="ss">&quot;BAS_SUBTYPE_PKG&quot;</span><span class="w"> </span><span class="n">package</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">blank</span><span class="w"> </span><span class="k">after</span><span class="w"> </span><span class="n">migration</span><span class="p">.</span>
<span class="c1">--**********************************************************</span>
<span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">bas_lookup_misc_pk</span><span class="o">#</span><span class="n">get_currency</span><span class="p">(</span><span class="n">pi_price_type</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">)</span><span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_currency</span><span class="w"> </span><span class="n">BAS_PRICE_LIST_T</span><span class="p">.</span><span class="n">CURRENCY</span><span class="o">%</span><span class="k">TYPE</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="n">g_func_name</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'get_currency'</span><span class="p">;</span>
<span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="n">rec_currency</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">currency</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sad_price_type_v</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">price_type_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_price_type</span><span class="p">)</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="n">v_currency</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">rec_currency</span><span class="p">.</span><span class="n">currency</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">v_currency</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<div class="note" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_note2040871017395"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p9409810193912">As the SUBTYPE not supported in GaussDB, the SUBTYPE variable used needs to be replaced with the actual type.</p>
</div></div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p314713013382"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b163611733122613">Input - sys.dbms_job</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p8453191572614">The DBMS_JOB package schedules and manages jobs in the job queue.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen61619495262"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="ss">&quot;SAD&quot;</span><span class="p">.</span><span class="ss">&quot;EIP_HTM_INTEGRATION_PKG&quot;</span>
<span class="k">IS</span>
<span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">Greate_import_instruction_job</span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_jobid</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">IF</span>
<span class="n">bas_lookup_misc_pkg</span><span class="p">.</span><span class="n">Exits_run_job</span><span class="p">(</span><span class="s1">'eip_htm_integration_pkg.import_instruction_job'</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'N'</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">sys</span><span class="p">.</span><span class="n">dbms_job</span><span class="p">.</span><span class="n">Submit</span><span class="p">(</span><span class="n">job</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">v_jobid</span><span class="p">,</span>
<span class="w"> </span><span class="n">what</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="s1">'begin</span>
<span class="s1"> eip_htm_integration_pkg.import_instruction_job;</span>
<span class="s1"> end;'</span><span class="p">,</span>
<span class="w"> </span><span class="n">next_date</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">SYSDATE</span><span class="p">);</span>
<span class="w"> </span><span class="k">COMMIT</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="p">;</span>
<span class="c1">---</span>
<span class="k">END</span><span class="w"> </span><span class="n">greate_import_instruction_job</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">eip_htm_integration_pkg</span><span class="p">;</span><span class="w"> </span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p205011105384"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b19744615132715">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen151609361270"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span>
<span class="n">sad</span><span class="p">.</span><span class="n">Eip_htm_integration_pkg</span><span class="o">#</span><span class="n">greate_import_instruction_job</span>
<span class="k">IS</span>
<span class="w"> </span><span class="n">v_jobid</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">Bas_lookup_misc_pkg</span><span class="o">#</span><span class="n">exits_run_job</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="s1">'eip_htm_integration_pkg.import_instruction_job'</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'N'</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">dbms_job</span><span class="p">.</span><span class="n">Submit</span><span class="p">(</span><span class="n">job</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">v_jobid</span><span class="p">,</span>
<span class="w"> </span><span class="n">what</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="s1">'begin</span>
<span class="s1"> eip_htm_integration_pkg.import_instruction_job;</span>
<span class="s1"> end;'</span><span class="p">,</span>
<span class="w"> </span><span class="n">next_date</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">SYSDATE</span><span class="p">);</span>
<span class="w"> </span><span class="cm">/* COMMIT; */</span>
<span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="p">;</span>
<span class="c1">---</span>
<span class="k">END</span><span class="p">;</span><span class="w"> </span>
</pre></div></td></tr></table></div>
</div>
<div class="note" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_note41304112816"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1513018110289">Remove the SYS schema while calling the package.</p>
</div></div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p18110175063817"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b838020369374">Input - Procedure/Function variable</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p11639104317376">The variable declaration of <span id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_text20550134813620">GaussDB(DWS)</span> does not support the NULL constraint. Therefore, you need to comment out the NULL keyword.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen1681618571375"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">sad_lookup_contract_pkg</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span>
<span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">CONTRACT_DISTRIBUTE_STATUS_S2</span><span class="p">(</span><span class="n">PI_CONTRACT_NUMBER</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">)</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">CUR_CONTRACT</span><span class="p">.</span><span class="n">CONTRACT_STATUS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Cancel'</span><span class="p">;</span>
<span class="w"> </span><span class="k">ELSE</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Active'</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">CONTRACT_DISTRIBUTE_STATUS_S2</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">sad_lookup_contract_pkg</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p911657172716"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b25271704466">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen136261842103817"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">sad_lookup_contract_pkg</span><span class="p">.</span><span class="n">Contract_distribute_status_s2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">pi_contract_number</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="k">IS</span>
<span class="w"> </span><span class="n">l_contract_distribute_statusvarchar2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="cm">/* NULL */</span>
<span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">cur_contract</span><span class="p">.</span><span class="n">contract_status</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Cancel'</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">ELSE</span>
<span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Active'</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">;</span>
<span class="k">EXCEPTION</span>
<span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="p">;</span><span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p11871222281"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b081913385312">Input - Configuration parameter addPackageNameList = true</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1317010521637">Hint to access objects from specific schema by system.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen0489671841"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">IC_STAGE</span><span class="p">.</span><span class="n">PKG_REVN_ARPU</span>
<span class="k">AS</span>
<span class="c1">-----------</span>
<span class="c1">-----------</span>
<span class="k">END</span><span class="w"> </span><span class="n">PKG_REVN_ARPU</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p354611933814"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1128612277415">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen1236918341343"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="n">package_name_list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'PKG_REVN_ARPU'</span><span class="w"> </span><span class="p">;</span>
<span class="c1">--------------</span>
<span class="c1">--------------</span>
<span class="k">reset</span><span class="w"> </span><span class="n">package_name_list</span><span class="w"> </span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p16387162215419"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1116814588413">Input - </strong><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b771778161">Configuration parameter addPackageNameList = false</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p17802132217412">Hint to access objects from specific schema by system.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen67732093720"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">IC_STAGE</span><span class="p">.</span><span class="n">PKG_REVN_ARPU</span>
<span class="k">AS</span>
<span class="c1">-----------</span>
<span class="c1">-----------</span>
<span class="k">END</span><span class="w"> </span><span class="n">PKG_REVN_ARPU</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p93771056719"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1344512300720">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen270015461773"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="n">SEARCH_PATH</span><span class="o">=</span><span class="n">PKG_REVN_ARPU</span><span class="p">,</span><span class="k">PUBLIC</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1516016613719"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b2083142212151">Input -PACKAGE</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1248614251151">Hint that procedure and functions belongs to a package.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen14750340131518"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">sad_lookup_contract_pkg</span><span class="w"> </span>
<span class="k">IS</span><span class="w"> </span>
<span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">CONTRACT_DISTRIBUTE_STATUS_S2</span><span class="p">(</span><span class="n">PI_CONTRACT_NUMBER</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">)</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">CUR_CONTRACT</span><span class="p">.</span><span class="n">CONTRACT_STATUS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Cancel'</span><span class="p">;</span>
<span class="w"> </span><span class="k">ELSE</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Active'</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">L_CONTRACT_DISTRIBUTE_STATUS</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">CONTRACT_DISTRIBUTE_STATUS_S2</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">sad_lookup_contract_pkg</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p17379232471"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_b758383117">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen22982817161"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">sad_lookup_contract_pkg</span><span class="p">.</span><span class="n">Contract_distribute_status_s2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">pi_contract_number</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="n">PACKAGE</span>
<span class="k">IS</span>
<span class="w"> </span><span class="n">l_contract_distribute_statusvarchar2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">cur_contract</span><span class="p">.</span><span class="n">contract_status</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Cancel'</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">ELSE</span>
<span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Active'</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">;</span>
<span class="k">EXCEPTION</span>
<span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">l_contract_distribute_status</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<div class="note" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_note1923716265162"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1323832661613">You need to put the PACKAGE keyword while creating any procedure and function in front of the IS/AS statement.</p>
</div></div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p16849832571"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1324511814254">Input -Nested Procedure</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1836631792517">Creating a procedure inside a procedure is known as a nested procedure. The nested procedure is private and belongs to the parent procedure.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen109310389251"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">refresh_sw_product_amount</span><span class="p">(</span><span class="n">pi_stage_id</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_product_amount</span><span class="w"> </span><span class="n">sad_sw_product_amount_t</span><span class="p">.</span><span class="n">product_amount</span><span class="o">%</span><span class="k">TYPE</span><span class="p">;</span>
<span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">get_sw_no</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_xh</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="n">to_number</span><span class="p">(</span><span class="n">substrb</span><span class="p">(</span><span class="k">MAX</span><span class="p">(</span><span class="n">sw_no</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
<span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">v_xh</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sad</span><span class="p">.</span><span class="n">sad_sw_product_amount_t</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">v_xh</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="s1">'SW'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">lpad</span><span class="p">(</span><span class="n">to_char</span><span class="p">(</span><span class="n">v_xh</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">'0'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">'Y'</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">get_sw_no</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="n">rec_pu</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="o">*</span><span class="p">,</span><span class="w"> </span><span class="n">sh</span><span class="p">.</span><span class="n">header_id</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">asms</span><span class="p">.</span><span class="n">ht_stages</span><span class="w"> </span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="n">asms</span><span class="p">.</span><span class="n">ht</span><span class="p">,</span><span class="w"> </span><span class="n">sad</span><span class="p">.</span><span class="n">sad_distribution_headers_t</span><span class="w"> </span><span class="n">sh</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">hth</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ht</span><span class="p">.</span><span class="n">hth</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">sh</span><span class="p">.</span><span class="n">contract_number</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">hth</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">sh</span><span class="p">.</span><span class="n">stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">stage_id</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">ht</span><span class="p">.</span><span class="n">sw_track_flag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Y'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">to_char</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">category_id</span><span class="p">)</span><span class="w"> </span><span class="k">IN</span>
<span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">code</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">asms</span><span class="p">.</span><span class="n">asms_lookup_values</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">type_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'CATEGORY_ID_EQUIPMENT'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">enabled_flag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Y'</span><span class="p">)</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">status</span><span class="p">,</span><span class="w"> </span><span class="s1">'-1'</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="s1">'0'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="p">)</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="k">SUM</span><span class="p">(</span><span class="n">nvl</span><span class="p">(</span><span class="n">product_amount</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
<span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">v_product_amount</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sad</span><span class="p">.</span><span class="n">sad_products_t</span><span class="w"> </span><span class="n">sp</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">sp</span><span class="p">.</span><span class="n">header_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rec_pu</span><span class="p">.</span><span class="n">header_id</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">sp</span><span class="p">.</span><span class="n">sw_flag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Y'</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">refresh_sw_product_amount</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p147581441172412"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b6150143618274">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen11706559162710"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">get_sw_no</span><span class="p">(</span><span class="n">pi_stage_id</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">)</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_xh</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="n">to_number</span><span class="p">(</span><span class="n">substrb</span><span class="p">(</span><span class="k">MAX</span><span class="p">(</span><span class="n">sw_no</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
<span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">v_xh</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sad</span><span class="p">.</span><span class="n">sad_sw_product_amount_t</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">v_xh</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="p">;</span>
<span class="w"> </span><span class="k">RETURN</span><span class="w"> </span><span class="s1">'SW'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">lpad</span><span class="p">(</span><span class="n">to_char</span><span class="p">(</span><span class="n">v_xh</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">'0'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">'Y'</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="p">;</span><span class="w"> </span>
<span class="o">/</span>
<span class="w"> </span><span class="c1">--*****************************************************************************</span>
<span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">refresh_sw_product_amount</span><span class="p">(</span><span class="n">pi_stage_id</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="n">v_product_amount</span><span class="w"> </span><span class="n">sad_sw_product_amount_t</span><span class="p">.</span><span class="n">product_amount</span><span class="o">%</span><span class="k">TYPE</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="n">rec_pu</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="o">*</span><span class="p">,</span><span class="w"> </span><span class="n">sh</span><span class="p">.</span><span class="n">header_id</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">asms</span><span class="p">.</span><span class="n">ht_stages</span><span class="w"> </span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="n">asms</span><span class="p">.</span><span class="n">ht</span><span class="p">,</span><span class="w"> </span><span class="n">sad</span><span class="p">.</span><span class="n">sad_distribution_headers_t</span><span class="w"> </span><span class="n">sh</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">hth</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ht</span><span class="p">.</span><span class="n">hth</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">sh</span><span class="p">.</span><span class="n">contract_number</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">hth</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">sh</span><span class="p">.</span><span class="n">stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">stage_id</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">ht</span><span class="p">.</span><span class="n">sw_track_flag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Y'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">to_char</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">category_id</span><span class="p">)</span><span class="w"> </span><span class="k">IN</span>
<span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">code</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">asms</span><span class="p">.</span><span class="n">asms_lookup_values</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">type_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'CATEGORY_ID_EQUIPMENT'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">enabled_flag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Y'</span><span class="p">)</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">status</span><span class="p">,</span><span class="w"> </span><span class="s1">'-1'</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;&gt;</span><span class="w"> </span><span class="s1">'0'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="p">)</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="k">SUM</span><span class="p">(</span><span class="n">nvl</span><span class="p">(</span><span class="n">product_amount</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
<span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">v_product_amount</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sad</span><span class="p">.</span><span class="n">sad_products_t</span><span class="w"> </span><span class="n">sp</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">sp</span><span class="p">.</span><span class="n">header_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rec_pu</span><span class="p">.</span><span class="n">header_id</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">sp</span><span class="p">.</span><span class="n">sw_flag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Y'</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="p">;</span>
<span class="k">END</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<div class="note" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_note535172462817"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1857819345288">When nested procedures/functions are implemented, the package variables in all procedures/functions must be processed.</p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p457983422819">After migrating sub-procedures/functions, migrate the parent procedure/function.</p>
</div></div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p19914529132511"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b837673575310">if pkgSchemaNaming = false</strong></p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p17255183755310">if <strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b15773141293917">pkgSchemaNaming</strong> is set to<strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b165781773917"> false</strong>, PL RECORD migration should not have package name in the type name as its schema.</p>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1433514173544"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b1649712395414">Input</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen9516204925310"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span>
<span class="normal">55</span>
<span class="normal">56</span>
<span class="normal">57</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="n">PACKAGE</span><span class="w"> </span><span class="n">BODY</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">sad_dml_product_pkg</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">save_sad_product_line_amount</span><span class="p">(</span><span class="n">pi_stage_id</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">,</span>
<span class="w"> </span><span class="n">pi_product_line_code</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">,</span>
<span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="k">OUT</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">)</span><span class="w"> </span><span class="k">IS</span>
<span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">t_line</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="n">RECORD</span><span class="p">(</span>
<span class="w"> </span><span class="n">product_line</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">30</span><span class="p">),</span>
<span class="w"> </span><span class="n">product_amount</span><span class="w"> </span><span class="nb">NUMBER</span><span class="p">);</span>
<span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">tab_line</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="k">OF</span><span class="w"> </span><span class="n">t_line</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">BINARY_INTEGER</span><span class="p">;</span>
<span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="n">tab_line</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">5000</span><span class="p">);</span>
<span class="w"> </span><span class="n">v_product_line</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="nb">INTEGER</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_start</span><span class="w"> </span><span class="nb">INTEGER</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="nb">INTEGER</span><span class="p">;</span>
<span class="w"> </span><span class="k">BEGIN</span>
<span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_start</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">pi_product_line_code</span><span class="p">;</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">instr</span><span class="p">(</span><span class="n">v_product_line_arr</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">,</span><span class="w"> </span><span class="n">v_start</span><span class="p">);</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">0</span>
<span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">EXIT</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">substr</span><span class="p">(</span><span class="n">v_product_line_arr</span><span class="p">,</span><span class="w"> </span><span class="n">v_start</span><span class="p">,</span><span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="w"> </span><span class="n">rec_line</span><span class="p">(</span><span class="n">v_count</span><span class="p">).</span><span class="n">product_line</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">v_product_line</span><span class="p">;</span>
<span class="w"> </span><span class="n">rec_line</span><span class="p">(</span><span class="n">v_count</span><span class="p">).</span><span class="n">product_amount</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">substr</span><span class="p">(</span><span class="n">v_product_line_arr</span><span class="p">,</span><span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">length</span><span class="p">(</span><span class="n">v_product_line_arr</span><span class="p">));</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="p">;</span>
<span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">..</span><span class="w"> </span><span class="n">rec_line</span><span class="p">.</span><span class="k">count</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">sad_product_line_amount_t</span><span class="w"> </span><span class="n">spl</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">spl</span><span class="p">.</span><span class="n">product_line_amount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rec_line</span><span class="p">(</span><span class="n">v_count</span><span class="p">).</span><span class="n">product_amount</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">spl</span><span class="p">.</span><span class="n">stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_stage_id</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">spl</span><span class="p">.</span><span class="n">product_line_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rec_line</span><span class="p">(</span><span class="n">v_count</span><span class="p">).</span><span class="n">product_line</span><span class="p">;</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="k">SQL</span><span class="o">%</span><span class="n">NOTFOUND</span>
<span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">sad_product_line_amount_t</span>
<span class="w"> </span><span class="p">(</span><span class="n">stage_id</span><span class="p">,</span><span class="w"> </span><span class="n">product_line_code</span><span class="p">,</span><span class="w"> </span><span class="n">product_line_amount</span><span class="p">)</span>
<span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">pi_stage_id</span><span class="p">,</span><span class="w"> </span><span class="n">rec_line</span><span class="p">(</span><span class="n">v_count</span><span class="p">).</span><span class="n">product_line</span><span class="p">,</span><span class="w"> </span><span class="n">rec_line</span><span class="p">(</span><span class="n">v_count</span><span class="p">).</span><span class="n">product_amount</span><span class="p">);</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="p">;</span>
<span class="w"> </span><span class="k">EXCEPTION</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Others Exception raise in '</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">func_name</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">','</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">SQLERRM</span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">save_sad_product_line_amount</span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="n">sad_dml_product_pkg</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_p1221317278538"><strong id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0237712466_b6995101215546">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696296__en-us_topic_0000001706104665_en-us_topic_0238518405_en-us_topic_0237362344_en-us_topic_0202727116_screen87651230155414"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span>
<span class="normal">55</span>
<span class="normal">56</span>
<span class="normal">57</span>
<span class="normal">58</span>
<span class="normal">59</span>
<span class="normal">60</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">sad_dml_product_pkg</span><span class="o">#</span><span class="n">t_line</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">product_line</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">product_amount</span><span class="w"> </span><span class="nb">NUMBER</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">sad_dml_product_pkg</span><span class="o">#</span><span class="n">save_sad_product_line_amount</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="nb">NUMBER</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">pi_product_line_code</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="n">VARCHAR2</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="k">OUT</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="n">PACKAGE</span><span class="w"> </span>
<span class="k">IS</span><span class="w"> </span>
<span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">tab_line</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="n">VARRAY</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">10240</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">OF</span><span class="w"> </span><span class="n">SAD</span><span class="p">.</span><span class="n">sad_dml_product_pkg</span><span class="o">#</span><span class="n">t_line</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="n">tab_line</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">5000</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_start</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_start</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">pi_product_line_code</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">instr</span><span class="p">(</span><span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">,</span><span class="s1">','</span><span class="w"> </span><span class="p">,</span><span class="n">v_start</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="n">v_pos</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">EXIT</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">SUBSTR</span><span class="p">(</span><span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">,</span><span class="n">v_start</span><span class="w"> </span><span class="p">,</span><span class="n">v_pos</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">).</span><span class="n">product_line</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">v_product_line</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">).</span><span class="n">product_amount</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="n">SUBSTR</span><span class="p">(</span><span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">,</span><span class="n">v_pos</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">,</span><span class="k">length</span><span class="p">(</span><span class="w"> </span><span class="n">v_product_line_arr</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="mi">1</span><span class="p">..</span><span class="w"> </span><span class="n">rec_line</span><span class="p">.</span><span class="k">count</span><span class="w"> </span>
<span class="w"> </span><span class="n">LOOP</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">sad_product_line_amount_t</span><span class="w"> </span><span class="n">spl</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">spl</span><span class="p">.</span><span class="n">product_line_amount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">).</span><span class="n">product_amount</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">spl</span><span class="p">.</span><span class="n">stage_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pi_stage_id</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">spl</span><span class="p">.</span><span class="n">product_line_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">).</span><span class="n">product_line</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="k">SQL</span><span class="o">%</span><span class="n">NOTFOUND</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">sad_product_line_amount_t</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">stage_id</span><span class="p">,</span><span class="w"> </span><span class="n">product_line_code</span><span class="p">,</span><span class="w"> </span><span class="n">product_line_amount</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">pi_stage_id</span><span class="p">,</span><span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">).</span><span class="n">product_line</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">rec_line</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">v_count</span><span class="w"> </span><span class="p">).</span><span class="n">product_amount</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="n">LOOP</span><span class="w"> </span><span class="p">;</span>
<span class="k">EXCEPTION</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">OTHERS</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="n">po_error_msg</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="s1">'Others Exception raise in '</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">func_name</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">','</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">SQLERRM</span><span class="w"> </span><span class="p">;</span>
<span class="k">END</span><span class="w"> </span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_mt_0156.html">PL/SQL Packages</a></div>
</div>
</div>