{"id":5323,"date":"2019-09-04T08:39:28","date_gmt":"2019-09-04T00:39:28","guid":{"rendered":"http:\/\/www.hefeiyu.com\/?p=5323"},"modified":"2019-09-04T08:39:38","modified_gmt":"2019-09-04T00:39:38","slug":"t100-awsp900_01%e6%8e%a5%e5%8f%a3%e7%9b%b8%e5%85%b3%e7%9a%84xml%e5%a4%84%e7%90%86%e5%9b%9e%e5%86%99","status":"publish","type":"post","link":"https:\/\/www.hefeiyu.com\/?p=5323","title":{"rendered":"T100\u2014\u2014awsp900_01\u63a5\u53e3\u76f8\u5173\u7684XML\u5904\u7406\/\u56de\u5199"},"content":{"rendered":"<h1 class=\"postTitle\">T100\u2014\u2014awsp900_01\u63a5\u53e3\u76f8\u5173\u7684XML\u5904\u7406\/\u56de\u5199<\/h1>\n<div class=\"clear\"><\/div>\n<div class=\"postBody\">\n<div id=\"cnblogs_post_body\" class=\"blogpost-body \">\n<p>{&lt;section id=&#8221;awsp900_01.description&#8221; &gt;}<br \/>\n#\u61c9\u7528 a00 \u6a23\u677f\u81ea\u52d5\u7522\u751f(Version:2)<br \/>\n#+ Version..: T100-ERP-1.01.00(SD\u7248\u6b21:9,PR\u7248\u6b21:9) Build-000208<br \/>\n#+<br \/>\n#+ Filename&#8230;: awsp900_01<br \/>\n#+ Description: awsp900_01<br \/>\n#+ Creator&#8230;.: 00544(2014-01-16 17:51:43)<br \/>\n#+ Modifier&#8230;: 00509(2014-05-23 10:32:59) -SD\/PR-<\/p>\n<p>{&lt;\/section&gt;}<\/p>\n<p>{&lt;section id=&#8221;awsp900_01.global&#8221; &gt;}<br \/>\n#\u61c9\u7528 p00 \u6a23\u677f\u81ea\u52d5\u7522\u751f(Version:3)<br \/>\n#add-point:\u8a3b\u89e3\u7de8\u5beb\u9805\u76ee<\/p>\n<p>#end add-point<\/p>\n<p>IMPORT\u00a0os<br \/>\n#add-point:\u589e\u52a0\u532f\u5165\u9805\u76ee<br \/>\nIMPORT\u00a0xml<br \/>\nIMPORT\u00a0com<br \/>\nIMPORT\u00a0util<br \/>\n#end add-point<\/p>\n<p>SCHEMA\u00a0ds<\/p>\n<p>GLOBALS\u00a0&#8220;..\/..\/cfg\/top_global.inc&#8221;<br \/>\n#add-point:\u589e\u52a0\u532f\u5165\u8b8a\u6578\u6a94<br \/>\nGLOBALS\u00a0&#8220;..\/..\/cfg\/top_ws.inc&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#TIPTOP Service Gateway \u4f7f\u7528\u7684\u5168\u57df\u8b8a\u6578\u6a94<br \/>\nTYPE\u00a0type_g_attribute\u00a0DYNAMIC\u00a0ARRAY\u00a0OF\u00a0RECORD<br \/>\nname\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u5c6c\u6027\u540d\u7a31<br \/>\nvalue\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u5c6c\u6027\u503c<br \/>\nEND\u00a0RECORD<br \/>\nDEFINE\u00a0g_serial\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0gx_reqdoc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0gx_payload_request\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0g_resdoc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument\u00a0\u00a0\u00a0#Response XML Dom Document, #FUN-910058<br \/>\nDEFINE\u00a0g_dnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#&lt;Document&gt; \u7bc0\u9ede<br \/>\nDEFINE\u00a0g_snode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#&lt;Status&gt; \u7bc0\u9ede<br \/>\nDEFINE\u00a0g_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#&lt;Parameter&gt; \u7bc0\u9ede<br \/>\nDEFINE\u00a0g_count\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u8003\u616e\u591a\u7b46\u8cc7\u6599\u6642\u7684 id \u5e8f\u865f\u8a08\u6578<br \/>\nDEFINE\u00a0g_jason_type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0g_master_record\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>DEFINE\u00a0g_jason_request\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0g_jason_param\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DYNAMIC\u00a0ARRAY\u00a0OF\u00a0RECORD<br \/>\ndatakey\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\njsontext\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nEND\u00a0RECORD<\/p>\n<p>#end add-point<\/p>\n<p>{&lt;\/section&gt;}<\/p>\n<p>{&lt;section id=&#8221;awsp900_01.free_style_variable&#8221; &gt;}<br \/>\n#add-point:free_style\u6a21\u7d44\u8b8a\u6578(Module Variable)<\/p>\n<p>#end add-point<\/p>\n<p>{&lt;\/section&gt;}<\/p>\n<p>{&lt;section id=&#8221;awsp900_01.global_variable&#8221; &gt;}<br \/>\n#add-point:\u81ea\u5b9a\u7fa9\u6a21\u7d44\u8b8a\u6578(Module Variable)<\/p>\n<p>#end add-point<\/p>\n<p>{&lt;\/section&gt;}<\/p>\n<p>{&lt;section id=&#8221;awsp900_01.other_dialog&#8221; &gt;}<\/p>\n<p>{&lt;\/section&gt;}<\/p>\n<p>{&lt;section id=&#8221;awsp900_01.other_function&#8221; readonly=&#8221;Y&#8221; &gt;}<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_init ()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_init()<br \/>\nINITIALIZE\u00a0g_request\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0g_response\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0gx_reqdoc\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0gx_payload_request\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0gi_err_code\u00a0TO\u00a0NULL<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u521d\u59cb g_status \u8b8a\u6578\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nLET\u00a0g_status.code\u00a0=\u00a0&#8220;0&#8221;<br \/>\nLET\u00a0g_status.sqlcode\u00a0=\u00a0&#8220;0&#8221;<br \/>\nLET\u00a0g_status.description\u00a0=\u00a0&#8220;&#8221;<\/p>\n<p>LET\u00a0g_success\u00a0=\u00a0&#8216;Y&#8217;<br \/>\nLET\u00a0g_bgjob\u00a0=\u00a0&#8220;Y&#8221;<br \/>\nLET\u00a0g_srvcode\u00a0=\u00a0&#8220;000&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9810\u8a2d\u670d\u52d9\u6309\u7167\u6b63\u5e38\u6d41\u7a0b<br \/>\nLET\u00a0g_gui_type\u00a0=\u00a0&#8220;0&#8221;<br \/>\nLET\u00a0g_user\u00a0=\u00a0&#8220;tiptop&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u5f53\u524d\u8fd0\u884c\u7684\u7528\u6237<br \/>\nLET\u00a0g_lang\u00a0=\u00a0&#8220;zh_TW&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9ed8\u8ba4\u8bed\u8a00\u522b\uff08&#8221;zh_TW&#8221; &#8211; \u7e41\u4f53)<br \/>\nLET\u00a0g_today\u00a0=\u00a0TODAY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9ed8\u8ba4\u7684\u5f53\u524d\u65e5\u671f<br \/>\nLET\u00a0g_time\u00a0=\u00a0TIME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9ed8\u8ba4\u7cfb\u7edf\u5f53\u524d\u65f6\u95f4<\/p>\n<p>DISPLAY\u00a0&#8220;time_zone:&#8221;\u00a0,\u00a0cl_time_trans_by_tz(&#8220;system_time&#8221;)\u00a0#\u8a2d\u5b9a\u6642\u5340<\/p>\n<p>CALL\u00a0FGL_SETENV(&#8220;TPGateWay&#8221;,&#8221;1&#8243;)<br \/>\nCALL\u00a0FGL_SETENV(&#8220;TPGateWayErr&#8221;,&#8221;1&#8243;)<br \/>\nCALL\u00a0FGL_SETENV(&#8220;WSBGJOB&#8221;,&#8221;1&#8243;)<br \/>\nCALL\u00a0FGL_SETENV(&#8220;FGLGUI&#8221;,0)<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_read_file(p_file_path)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_read_file(p_file_path)<br \/>\nDEFINE\u00a0p_file_path\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_return_str\u00a0STRING<br \/>\nDEFINE\u00a0l_object\u00a0TEXT<\/p>\n<p>display\u00a0&#8220;file:&#8221;,\u00a0p_file_path<\/p>\n<p>IF\u00a0os.Path.size(p_file_path.trim())\u00a0&gt;\u00a00\u00a0THEN<\/p>\n<p>LOCATE\u00a0l_object\u00a0IN\u00a0FILE<\/p>\n<p>CALL\u00a0l_object.readFile(p_file_path)<br \/>\nLET\u00a0l_return_str\u00a0=\u00a0l_object<\/p>\n<p>FREE\u00a0l_object<br \/>\nEND\u00a0IF<br \/>\nRETURN\u00a0l_return_str<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_writeRequestLog()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_writeRequestLog()<br \/>\nDEFINE\u00a0l_ch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.Channel,<br \/>\nl_logFile\u00a0\u00a0\u00a0STRING,<br \/>\nl_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\nl_curr\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_sb\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.StringBuffer<br \/>\nDEFINE\u00a0l_request_doc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument<\/p>\n<p>WHENEVER\u00a0ERROR\u00a0CONTINUE<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u8a18\u9304\u6a94\u70ba $TEMPDIR\/aws-yyymmdd.log\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nLET\u00a0l_curr\u00a0=\u00a0cl_get_current()<br \/>\nLET\u00a0l_logFile\u00a0=\u00a0fgl_getenv(&#8220;TEMPDIR&#8221;),\u00a0&#8220;\/&#8221;,\u00a0&#8220;aws-&#8220;,\u00a0TODAY\u00a0USING\u00a0&#8216;YYYYMMDD&#8217;,\u00a0&#8220;.log&#8221;<br \/>\nLET\u00a0l_ch\u00a0=\u00a0base.Channel.create()<br \/>\nCALL\u00a0l_ch.setDelimiter(NULL)<br \/>\nCALL\u00a0l_ch.openFile(l_logFile,\u00a0&#8220;a&#8221;)<br \/>\nIF\u00a0STATUS\u00a0=\u00a00\u00a0THEN<br \/>\nLET\u00a0g_serial\u00a0=\u00a0CURRENT\u00a0HOUR\u00a0TO\u00a0FRACTION(3)<br \/>\nLET\u00a0l_sb\u00a0=\u00a0base.StringBuffer.create()<br \/>\nCALL\u00a0l_sb.append(g_serial)<br \/>\nCALL\u00a0l_sb.replace(&#8220;:&#8221;,\u00a0&#8220;&#8221;,\u00a00)<br \/>\nCALL\u00a0l_sb.replace(&#8220;.&#8221;,\u00a0&#8220;&#8221;,\u00a00)<br \/>\nLET\u00a0g_serial\u00a0=\u00a0l_sb.toString()<\/p>\n<p>LET\u00a0l_request_doc\u00a0=\u00a0xml.DomDocument.create()<br \/>\nCALL\u00a0l_request_doc.loadFromString(g_request.request)<br \/>\n#CALL l_request_doc.setFeature(&#8220;format-pretty-print&#8221;, true)<\/p>\n<p>LET\u00a0l_str\u00a0=\u00a0&#8220;#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; (&#8220;,\u00a0l_curr\u00a0,\u00a0&#8220;) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-#&#8221;,<br \/>\n&#8220;\\n[Request Service #&#8221;,\u00a0g_serial,\u00a0&#8220;]&#8221;,<br \/>\n&#8220;\\n\u00a0\u00a0\u00a0\u00a0&#8216;&#8221;,\u00a0g_service,\u00a0&#8220;&#8216; begin at &#8220;,\u00a0cl_get_time(),\u00a0&#8220;\\n&#8221;,<br \/>\n&#8220;\\n[Request Message #&#8221;,\u00a0g_serial,\u00a0&#8220;]&#8221;,<br \/>\n&#8220;\\n&#8221;,\u00a0l_request_doc.saveToString(),\u00a0&#8220;\\n&#8221;<\/p>\n<p>CALL\u00a0l_ch.write(l_str)<br \/>\nEND\u00a0IF<br \/>\nCALL\u00a0l_ch.close()<\/p>\n<p>IF\u00a0os.Path.chrwx(l_logFile\u00a0CLIPPED,438)\u00a0THEN\u00a0END\u00a0IF<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_create_response(p_response_str)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_create_response(p_response_str)<br \/>\nDEFINE\u00a0p_srvcode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_response_str\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_resdoc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_res_root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_payload_node\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tp_version\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_bpm_xml\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_dom_doc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0om.DomDocument<br \/>\nDEFINE\u00a0l_dom_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0om.DomNode<br \/>\nDEFINE\u00a0l_ch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.Channel<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>LET\u00a0l_tp_version\u00a0=\u00a0&#8220;1.0&#8221;<\/p>\n<p>#\u7522\u751f response xml.DomDocument<br \/>\nLET\u00a0l_resdoc\u00a0=\u00a0xml.DomDocument.CreateDocument(&#8220;response&#8221;)<br \/>\nCALL\u00a0l_resdoc.setFeature(&#8220;format-pretty-print&#8221;,\u00a0true)<\/p>\n<p>LET\u00a0l_res_root\u00a0=\u00a0l_resdoc.getDocumentElement()<\/p>\n<p>LET\u00a0l_pnode\u00a0=\u00a0l_resdoc.createElement(&#8220;srvver&#8221;)\u00a0\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;srvver&gt;<br \/>\nCALL\u00a0l_res_root.appendChild(l_pnode)<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_resdoc.createTextNode(l_tp_version)<br \/>\nCALL\u00a0l_pnode.appendChild(l_tnode)<\/p>\n<p>LET\u00a0l_pnode\u00a0=\u00a0l_resdoc.createElement(&#8220;srvcode&#8221;)\u00a0\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;srvcode&gt;<br \/>\nCALL\u00a0l_res_root.appendChild(l_pnode)<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_resdoc.createTextNode(g_srvcode)<br \/>\nCALL\u00a0l_pnode.appendChild(l_tnode)<\/p>\n<p>LET\u00a0l_payload_node\u00a0=\u00a0l_resdoc.createElement(&#8220;payload&#8221;)\u00a0\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;payload&gt;<br \/>\nCALL\u00a0l_res_root.appendChild(l_payload_node)<\/p>\n<p>IF\u00a0g_jason_param.getLength()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0g_jason_param.getLength()<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_resdoc.createElement(&#8220;param&#8221;)\u00a0\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;param&gt;<br \/>\nCALL\u00a0l_payload_node.appendChild(l_tnode)<\/p>\n<p>CALL\u00a0l_tnode.setAttribute(&#8220;key&#8221;,\u00a0g_jason_param[l_i].datakey)<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;type&#8221;,\u00a0&#8220;XML&#8221;)<\/p>\n<p>IF\u00a0NOT\u00a0cl_null(g_jason_param[l_i].jsontext)\u00a0THEN<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_resdoc.createCDATASection(g_jason_param[l_i].jsontext)<br \/>\nCALL\u00a0l_tnode.appendChild(l_pnode)<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0FOR<br \/>\nELSE<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_resdoc.createElement(&#8220;param&#8221;)\u00a0\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;param&gt;<br \/>\nCALL\u00a0l_payload_node.appendChild(l_tnode)<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;key&#8221;,\u00a0&#8220;data&#8221;)<br \/>\nIF\u00a0g_jason_type\u00a0=\u00a0&#8220;Y&#8221;\u00a0THEN<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;type&#8221;,\u00a0&#8220;JSON&#8221;)<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_resdoc.createTextNode(g_response.response)<br \/>\nELSE<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;type&#8221;,\u00a0&#8220;XML&#8221;)<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_resdoc.createCDATASection(p_response_str)<br \/>\nEND\u00a0IF<br \/>\nCALL\u00a0l_tnode.appendChild(l_pnode)<br \/>\nEND\u00a0IF<\/p>\n<p>#\u5c07 Response xml \u5beb\u5165\u56de\u50b3\u7684\u6a94\u6848<br \/>\n#\u76ee\u524d xml dom \u4e0d\u6703\u81ea\u52d5\u8df3\u884c, \u6240\u4ee5\u6539\u7528 dom node \u5132\u5b58\u8207\u50b3\u905e<br \/>\n#LET l_dom_doc = om.DomDocument.createFromString(l_resdoc.saveToString())<br \/>\n#LET l_dom_node = l_dom_doc.getDocumentElement()<br \/>\n#CALL l_dom_node.writeXml(&#8220;bpm_test.txt&#8221;)<br \/>\n#LET g_response.response = awsp900_01_read_file(&#8220;bpm_test.txt&#8221;)<\/p>\n<p>#CALL l_resdoc.save(g_response_file_path)<br \/>\nLET\u00a0g_response.response\u00a0=\u00a0l_resdoc.saveToString()<br \/>\nLET\u00a0g_response.response\u00a0=\u00a0cl_str_replace(\u00a0g_response.response\u00a0,&#8221;&lt;?xml version=\\&#8221;1.0\\&#8221; encoding=\\&#8221;UTF-8\\&#8221; standalone=\\&#8221;no\\&#8221;?&gt;&#8221;,&#8221;&#8221;)<br \/>\ndisplay\u00a0&#8220;response xml:&#8221;\u00a0,g_response.response<\/p>\n<p>LET\u00a0l_ch\u00a0=\u00a0base.Channel.create()<br \/>\nCALL\u00a0l_ch.openFile(g_response_file_path,\u00a0&#8220;w&#8221;)<br \/>\nCALL\u00a0l_ch.setDelimiter(&#8220;&#8221;)<br \/>\nCALL\u00a0l_ch.write(g_response.response)<br \/>\nCALL\u00a0l_ch.close()<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_preprocess()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_preprocess()<br \/>\nDEFINE\u00a0l_status\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_request_cdata\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_xmltype\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>#\u7a0b\u5f0f\u8b8a\u6578\u521d\u59cb\u5316<br \/>\nCALL\u00a0awsp900_01_init()<\/p>\n<p>#\u8f38\u5165\u6a94\u6848\u8def\u5f91<br \/>\nLET\u00a0g_request_file_path\u00a0=\u00a0g_argv[1]<br \/>\nDISPLAY\u00a0&#8220;request_file_path = &#8220;,g_request_file_path<\/p>\n<p>#\u8f38\u51fa\u6a94\u6848\u8def\u5f91<br \/>\nLET\u00a0g_response_file_path\u00a0=\u00a0g_argv[2]<br \/>\nDISPLAY\u00a0&#8220;response_file_path = &#8220;,g_response_file_path<\/p>\n<p>LET\u00a0g_count\u00a0=\u00a00<br \/>\nCALL\u00a0awsp900_01_createPayloadResponse()<\/p>\n<p>#\u5c07 XML \u6a94\u6848\u8f49\u70ba XML DomNode<br \/>\nCALL\u00a0awsp900_01_filetoxml(g_request_file_path)<br \/>\nRETURNING\u00a0l_status,gx_reqdoc,g_response.response<\/p>\n<p>IF\u00a0l_status\u00a0=\u00a0FALSE\u00a0THEN<br \/>\nRETURN<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0g_datakey.EntId\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;EntId&#8221;)<br \/>\nLET\u00a0g_enterprise\u00a0=\u00a0g_datakey.EntId<\/p>\n<p>IF\u00a0cl_null(g_enterprise)\u00a0AND\u00a0(cl_null(g_non_entId)\u00a0OR\u00a0g_non_entId\u00a0&lt;&gt;\u00a0&#8220;Y&#8221;)\u00a0THEN<br \/>\nLET\u00a0g_enterprise\u00a0=\u00a0FGL_GETENV(&#8220;TOPENT&#8221;)<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0g_datakey.CompanyId\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;CompanyId&#8221;)<br \/>\nLET\u00a0g_site\u00a0=\u00a0g_datakey.CompanyId<\/p>\n<p>IF\u00a0cl_null(g_site)\u00a0AND\u00a0g_non_entId\u00a0&lt;&gt;\u00a0&#8220;Y&#8221;\u00a0THEN<br \/>\nSELECT\u00a0gzxa007\u00a0INTO\u00a0g_site\u00a0FROM\u00a0gzxa_t<br \/>\nWHERE\u00a0gzxa001\u00a0=\u00a0g_account\u00a0AND\u00a0gzxaent\u00a0=\u00a0g_enterprise<br \/>\nIF\u00a0(SQLCA.SQLCODE)\u00a0THEN<br \/>\nLET\u00a0g_status.code\u00a0=\u00a0&#8220;100&#8221;<br \/>\nLET\u00a0g_status.description\u00a0=\u00a0&#8220;Site not found&#8221;<br \/>\nRETURN<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0g_lang\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;lang&#8221;)<br \/>\n#\u6307\u5b9a\u8cc7\u6599\u7684\u8a9e\u8a00\u5225<br \/>\nLET\u00a0g_dlang\u00a0=\u00a0g_lang<br \/>\nLET\u00a0g_account\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;acct&#8221;)<\/p>\n<p>IF\u00a0NOT\u00a0cl_null(g_account)\u00a0\u00a0THEN<br \/>\nLET\u00a0g_user\u00a0=\u00a0&#8220;&#8221;<br \/>\nSELECT\u00a0gzxa003\u00a0INTO\u00a0g_user\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u54e1\u5de5\u7de8\u865f<br \/>\nFROM\u00a0gzxa_t<br \/>\nWHERE\u00a0gzxa001\u00a0=\u00a0g_account\u00a0AND\u00a0gzxaent\u00a0=\u00a0g_enterprise<\/p>\n<p>IF\u00a0cl_null(g_user)\u00a0AND\u00a0g_non_entId\u00a0&lt;&gt;\u00a0&#8220;Y&#8221;\u00a0THEN<br \/>\nLET\u00a0g_status.code\u00a0=\u00a0&#8220;aws-00022&#8221;<br \/>\nRETURN<br \/>\nEND\u00a0IF<br \/>\nELSE<br \/>\nLET\u00a0g_status.code\u00a0=\u00a0&#8220;aws-00022&#8221;\u00a0#User account not found<br \/>\nRETURN<br \/>\nEND\u00a0IF<br \/>\n#\u6e05\u7a7a g_non_entId<br \/>\nLET\u00a0g_non_entId\u00a0=\u00a0&#8220;&#8221;<\/p>\n<p>LET\u00a0g_timestamp\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;timestamp&#8221;)<br \/>\nLET\u00a0g_prod_name\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;prod&#8221;)<br \/>\nLET\u00a0g_prod_ip\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;ip&#8221;)<br \/>\nLET\u00a0g_pord_mach\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;mach&#8221;)<br \/>\nLET\u00a0g_prod_shop\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;host&#8221;,&#8221;shop&#8221;)<\/p>\n<p>LET\u00a0g_datakey.DocProp\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;DocProp&#8221;)<br \/>\nLET\u00a0g_datakey.Prog\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;Prog&#8221;)<br \/>\nLET\u00a0g_datakey.FormId\u00a0\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;FormId&#8221;)<br \/>\nLET\u00a0g_datakey.SheetNo\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;SheetNo&#8221;)<br \/>\nLET\u00a0g_datakey.PK3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;PK3&#8243;)<br \/>\nLET\u00a0g_datakey.DocKey\u00a0\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;DocKey&#8221;)<br \/>\nLET\u00a0g_datakey.RefId\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;RefId&#8221;)<br \/>\nLET\u00a0g_messge.msgBatchNum\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;msgBatchNum&#8221;)<\/p>\n<p>LET\u00a0g_payload_request\u00a0=\u00a0&#8220;&#8221;<br \/>\nLET\u00a0g_payload_request\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,\u00a0&#8220;param&#8221;,&#8221;&#8221;)<\/p>\n<p>IF\u00a0NOT\u00a0cl_null(g_messge.msgBatchNum)\u00a0THEN<br \/>\nCALL\u00a0awsp900_01_getParamValue(gx_reqdoc)<br \/>\nEND\u00a0IF<br \/>\n#\u6c7a\u5b9a\u5167\u5bb9\u70ba XML or JSON<br \/>\nLET\u00a0l_xmltype\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,\u00a0&#8220;param&#8221;,&#8221;type&#8221;)<br \/>\nIF\u00a0l_xmltype\u00a0=\u00a0&#8220;JSON&#8221;\u00a0THEN<br \/>\nLET\u00a0g_jason_type\u00a0=\u00a0&#8220;Y&#8221;<\/p>\n<p>CALL\u00a0g_jason_param.clear()<br \/>\nLET\u00a0g_messge.msgBatchNum\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,&#8221;key&#8221;,&#8221;msgBatchNum&#8221;)<br \/>\nCALL\u00a0awsp900_01_getParamValue(gx_reqdoc)<br \/>\nELSE<br \/>\nLET\u00a0g_jason_type\u00a0=\u00a0&#8220;N&#8221;<br \/>\nEND\u00a0IF<\/p>\n<p>DISPLAY\u00a0&#8220;payload request:&#8221;,\u00a0g_payload_request\u00a0,\u00a0&#8220;;&#8221;<\/p>\n<p>#IF NOT cl_null(g_datakey.EntId) THEN<br \/>\n#\u00a0\u00a0\u00a0LET g_enterprise = g_datakey.EntId<br \/>\n#END IF<\/p>\n<p>#IF NOT cl_null(g_site) THEN<br \/>\n#\u00a0\u00a0\u00a0LET g_site = g_datakey.CompanyId<br \/>\n#END IF<\/p>\n<p>#\u5efa\u7acb Request XML Document<br \/>\nIF\u00a0l_xmltype\u00a0=\u00a0&#8220;JSON&#8221;\u00a0THEN<br \/>\nLET\u00a0g_jason_request\u00a0=\u00a0g_payload_request.trim()<br \/>\nELSE<br \/>\nLET\u00a0gx_payload_request\u00a0=\u00a0xml.DomDocument.create()<br \/>\nCALL\u00a0gx_payload_request.loadFromString(g_payload_request.trim())<br \/>\nEND\u00a0IF<\/p>\n<p>#\u670d\u52d9\u555f\u59cb\u8a18\u9304<br \/>\nLET\u00a0g_service\u00a0=\u00a0cl_bpm_get_node_attribute(gx_reqdoc,&#8221;service&#8221;,&#8221;name&#8221;)<br \/>\nCALL\u00a0cl_log_service_start(&#8220;S&#8221;,\u00a0g_service)<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_postprocess()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_postprocess()<br \/>\nDEFINE\u00a0l_status\u00a0RECORD<br \/>\ncode\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\nsqlcode\u00a0STRING,<br \/>\ndescription\u00a0\u00a0STRING<br \/>\nEND\u00a0RECORD<\/p>\n<p>CALL\u00a0awsp900_01_setStatus()<\/p>\n<p>IF\u00a0g_jason_type\u00a0=\u00a0&#8220;Y&#8221;\u00a0THEN<br \/>\nLET\u00a0l_status.code\u00a0=\u00a0g_status.code<br \/>\nLET\u00a0l_status.sqlcode\u00a0=\u00a0g_status.sqlcode<br \/>\nLET\u00a0l_status.description\u00a0=\u00a0g_status.description<br \/>\nIF\u00a0cl_null(g_messge_out.paramKey)\u00a0THEN<br \/>\nLET\u00a0g_response.response\u00a0=\u00a0util.JSON.stringify(l_status)<br \/>\nELSE<br \/>\nLET\u00a0g_response.response\u00a0=\u00a0g_messge_out.msgText<br \/>\nEND\u00a0IF<br \/>\nELSE<br \/>\nLET\u00a0g_response.response\u00a0=\u00a0g_resdoc.saveToString()<br \/>\nEND\u00a0IF<br \/>\n#\u7522\u751f response \u8cc7\u6599<br \/>\nCALL\u00a0awsp900_01_create_response(g_response.response)<\/p>\n<p>#\u670d\u52d9\u7d50\u675f\u8a18\u9304<br \/>\nCALL\u00a0cl_log_service_exit(&#8220;S&#8221;,\u00a0g_service)<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_createPayloadResponse ()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_createPayloadResponse()<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>LET\u00a0g_resdoc\u00a0=\u00a0xml.DomDocument.createDocument(&#8220;Response&#8221;)<br \/>\nCALL\u00a0g_resdoc.setFeature(&#8220;format-pretty-print&#8221;,\u00a0true)<\/p>\n<p>LET\u00a0g_response_root\u00a0=\u00a0g_resdoc.getDocumentElement()<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;Execution&#8221;)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;Execution&gt;<br \/>\nCALL\u00a0g_response_root.appendChild(l_node)<br \/>\nLET\u00a0g_snode\u00a0=\u00a0g_resdoc.createElement(&#8220;Status&#8221;)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u65bc &lt;Execution&gt; \u4e0b\u5efa\u7acb &lt;Status&gt;<br \/>\nCALL\u00a0l_node.appendChild(g_snode)<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;ResponseContent&#8221;)\u00a0\u00a0\u00a0#\u5efa\u7acb &lt;ResponseContent&gt;<br \/>\nCALL\u00a0g_response_root.appendChild(l_node)<br \/>\nLET\u00a0g_pnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Parameter&#8221;)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u65bc &lt;ResponseContent&gt; \u4e0b\u5efa\u7acb &lt;Parameter&gt;<br \/>\nCALL\u00a0l_node.appendChild(g_pnode)<br \/>\nLET\u00a0g_dnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Document&#8221;)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u65bc &lt;ResponseContent&gt; \u4e0b\u5efa\u7acb &lt;Document&gt;<br \/>\nCALL\u00a0l_node.appendChild(g_dnode)<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_setStatus()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_setStatus()<br \/>\nIF\u00a0NOT\u00a0cl_null(gi_err_code)\u00a0AND\u00a0(cl_null(g_status.code)\u00a0OR\u00a0g_status.code=&#8221;0&#8243;)\u00a0THEN<br \/>\nLET\u00a0g_status.code=gi_err_code<br \/>\nEND\u00a0IF<br \/>\nIF\u00a0g_status.code\u00a0!=\u00a0&#8220;0&#8221;\u00a0AND\u00a0cl_null(g_status.description)\u00a0THEN<br \/>\nLET\u00a0g_status.description\u00a0=\u00a0cl_getmsg(g_status.code,\u00a0g_lang)\u00a0\u00a0\u00a0#\u53d6\u5f97 error code \u8aaa\u660e<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0g_snode.setAttribute(&#8220;code&#8221;,\u00a0g_status.code)<br \/>\nCALL\u00a0g_snode.setAttribute(&#8220;sqlcode&#8221;,\u00a0g_status.sqlcode)<br \/>\nCALL\u00a0g_snode.setAttribute(&#8220;description&#8221;,\u00a0g_status.description)<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_filetoxml(p_file)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_filetoxml(p_file)<br \/>\nDEFINE\u00a0p_file\u00a0STRING<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_xmldoc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>IF\u00a0cl_null(p_file)\u00a0THEN<br \/>\nLET\u00a0l_str\u00a0=\u00a0&#8220;XML document is NULL. &#8221;<br \/>\nLET\u00a0g_status.code\u00a0=\u00a0&#8220;-1&#8221;<br \/>\nLET\u00a0g_status.description\u00a0=\u00a0l_str<br \/>\ndisplay\u00a0l_str<br \/>\nRETURN\u00a0FALSE,l_xmldoc,l_str<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_xmldoc\u00a0=\u00a0xml.DomDocument.Create()<br \/>\nCALL\u00a0l_xmldoc.load(p_file)<br \/>\nIF\u00a0l_xmldoc.getErrorsCount()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nLET\u00a0l_str\u00a0=\u00a0&#8220;It isn&#8217;t valid XML document. &#8221;<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_xmldoc.getErrorsCount()<br \/>\nLET\u00a0l_str\u00a0=\u00a0l_str,\u00a0l_xmldoc.getErrorDescription(l_i)<br \/>\nEND\u00a0FOR<br \/>\nLET\u00a0g_status.code\u00a0=\u00a0&#8220;-1&#8243;<br \/>\nLET\u00a0g_status.description\u00a0=\u00a0l_str<br \/>\nRETURN\u00a0FALSE,l_xmldoc,l_str<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0TRUE,l_xmldoc,&#8221;&#8221;<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getTag(p_xmldoc,p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getTag(p_xmldoc,p_name)<br \/>\nDEFINE\u00a0p_xmldoc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_att\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>LET\u00a0l_node_list\u00a0=\u00a0p_xmldoc.getElementsByTagName(p_name)<br \/>\nIF\u00a0l_node_list.getCount()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_pnode<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getParameter(p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getParameter(p_name)<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>INITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>IF\u00a0cl_null(p_name)\u00a0THEN<br \/>\nRETURN\u00a0NULL<br \/>\nEND\u00a0IF<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u641c\u5c0b &lt;Parameter&gt; \u662f\u5426\u6709\u6307\u5b9a\u540d\u7a31\u7684\u6b04\u4f4d\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0gx_payload_request.selectByXPath(&#8220;\/\/Parameter\/Record\/Field[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nIF\u00a0l_node_list.getCount()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_pnode.getAttribute(&#8220;value&#8221;)<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_value<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getNodeValue(p_xmldoc,p_tagname,p_attname)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getNodeValue(p_xmldoc,p_tagname,p_attname)<br \/>\nDEFINE\u00a0p_xmldoc\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0p_tagname\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_attname\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>INITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>IF\u00a0NOT\u00a0cl_null(p_attname)\u00a0THEN<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0p_xmldoc.selectByXPath(&#8220;\/\/&#8221;\u00a0||\u00a0p_tagname.trim()\u00a0||\u00a0&#8220;[@name=\\&#8221;&#8221;\u00a0||\u00a0p_attname\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nELSE<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0p_xmldoc.getElementsByTagName(p_tagname)<br \/>\nEND\u00a0IF<br \/>\nIF\u00a0l_node_list.getCount()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_pnode.getFirstChild()<br \/>\n#CDATA\u7684\u683c\u5f0f,\u4e00\u5b9a\u8981\u53d6\u5f97\u7b2c\u4e8c\u500b\u5b50\u7bc0\u9ede\u624d\u53ef\u53d6\u5f97\u5230CDATA\u7684\u8cc7\u6599.<br \/>\nWHILE\u00a0(\u00a0l_tnode\u00a0IS\u00a0NOT\u00a0NULL\u00a0)<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_value\u00a0,\u00a0l_tnode.getNodeValue()<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_value.trim()<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_tnode.getNextSibling()<br \/>\nEND\u00a0WHILE<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_value<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_wc_key(p_dockey)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_wc_key(p_dockey)<br \/>\nDEFINE\u00a0p_dockey\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_tok\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.StringTokenizer<br \/>\nDEFINE\u00a0l_tok_key\u00a0\u00a0\u00a0base.StringTokenizer<br \/>\nDEFINE\u00a0l_wc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_str2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num10<br \/>\nDEFINE\u00a0l_cnt\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num10<br \/>\nDEFINE\u00a0l_cnt2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num10<br \/>\nDEFINE\u00a0l_key_str\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0buf\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.StringBuffer<\/p>\n<p>LET\u00a0l_wc\u00a0=\u00a0&#8220;&#8221;<br \/>\nLET\u00a0l_str\u00a0=\u00a0&#8220;&#8221;<\/p>\n<p>LET\u00a0buf\u00a0=\u00a0base.StringBuffer.create()<br \/>\nCALL\u00a0buf.append(p_dockey)<br \/>\nCALL\u00a0buf.replace(\u00a0&#8220;{+}&#8221;,&#8221;|&#8221;,\u00a00)<br \/>\nLET\u00a0p_dockey\u00a0=\u00a0buf.toString()<\/p>\n<p>LET\u00a0l_tok\u00a0=\u00a0base.StringTokenizer.createExt(p_dockey\u00a0CLIPPED,&#8221;|&#8221;,&#8221;&#8221;,TRUE)<\/p>\n<p>WHILE\u00a0l_tok.hasMoreTokens()<br \/>\nLET\u00a0l_str\u00a0=\u00a0l_tok.nextToken()<br \/>\nLET\u00a0l_tok_key\u00a0=\u00a0base.StringTokenizer.createExt(l_str\u00a0CLIPPED,&#8221;=&#8221;,&#8221;&#8221;,TRUE)<br \/>\nLET\u00a0l_key_str\u00a0=\u00a0&#8220;&#8221;<br \/>\nWHILE\u00a0l_tok_key.hasMoreTokens()<br \/>\nLET\u00a0l_str2\u00a0=\u00a0l_tok_key.nextToken()<br \/>\nIF\u00a0cl_null(l_key_str)\u00a0THEN<br \/>\nLET\u00a0l_key_str\u00a0=\u00a0l_str2<br \/>\nELSE<br \/>\nLET\u00a0l_key_str\u00a0=\u00a0l_key_str\u00a0,&#8221;='&#8221;,l_str2,&#8221;&#8216;&#8221;<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0WHILE<br \/>\nIF\u00a0cl_null(l_wc)\u00a0THEN<br \/>\nLET\u00a0l_wc\u00a0=\u00a0l_key_str<br \/>\nELSE<br \/>\nLET\u00a0l_wc\u00a0=\u00a0l_wc\u00a0,&#8221; AND &#8220;,l_key_str<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0WHILE<\/p>\n<p>RETURN\u00a0l_wc<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_splite(p_dockey)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_splite(p_dockey)<br \/>\nDEFINE\u00a0p_dockey\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_tok\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.StringTokenizer<br \/>\nDEFINE\u00a0l_tok_key\u00a0\u00a0\u00a0base.StringTokenizer<br \/>\nDEFINE\u00a0l_wc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_str2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_cnt\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num10<br \/>\nDEFINE\u00a0l_cnt2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num10<br \/>\nDEFINE\u00a0l_key_str\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0buf\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.StringBuffer<\/p>\n<p>LET\u00a0l_wc\u00a0=\u00a0&#8220;&#8221;<br \/>\nLET\u00a0l_str\u00a0=\u00a0&#8220;&#8221;<\/p>\n<p>LET\u00a0l_tok\u00a0=\u00a0base.StringTokenizer.createExt(p_dockey\u00a0CLIPPED,&#8221;|&#8221;,&#8221;&#8221;,TRUE)<br \/>\nWHILE\u00a0l_tok.hasMoreTokens()<br \/>\nLET\u00a0l_str\u00a0=\u00a0l_tok.nextToken()<br \/>\nIF\u00a0cl_null(l_wc)\u00a0THEN<br \/>\nLET\u00a0l_wc\u00a0=\u00a0&#8220;&#8216;&#8221;,\u00a0l_str\u00a0,&#8221;&#8216;&#8221;<br \/>\nELSE<br \/>\nLET\u00a0l_wc\u00a0=\u00a0l_wc\u00a0,&#8221;,&#8221;,\u00a0&#8220;&#8216;&#8221;,\u00a0l_str\u00a0,&#8221;&#8216;&#8221;<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0WHILE<\/p>\n<p>RETURN\u00a0l_wc<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addMasterRecord(p_record, p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addMasterRecord(p_record,p_name)<br \/>\nDEFINE\u00a0p_record\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject,<br \/>\np_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_master_record\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<\/p>\n<p>WHENEVER\u00a0ERROR\u00a0CONTINUE<\/p>\n<p>#IF p_record IS NULL THEN<br \/>\n#\u00a0\u00a0\u00a0RETURN NULL<br \/>\n#END IF<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;RecordSet&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;Document&gt; \u4e0b\u5efa\u7acb &lt;RecordSet&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0g_dnode.appendChild(l_node)<\/p>\n<p>LET\u00a0g_count\u00a0=\u00a0g_count\u00a0+\u00a01<br \/>\nCALL\u00a0l_node.setAttribute(&#8220;id&#8221;,\u00a0g_count)<\/p>\n<p>LET\u00a0l_tnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Master&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;RecordSet&gt; \u4e0b\u5efa\u7acb &lt;Master&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_node.appendChild(l_tnode)<br \/>\nIF\u00a0NOT\u00a0cl_null(p_name)\u00a0THEN<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;name&#8221;,\u00a0p_name)<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;node_id&#8221;,\u00a0g_count)<br \/>\nEND\u00a0IF<\/p>\n<p>IF\u00a0p_record\u00a0IS\u00a0NULL\u00a0THEN<br \/>\nLET\u00a0l_master_record\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)<br \/>\nLET\u00a0g_master_record\u00a0=\u00a0l_master_record<br \/>\nCALL\u00a0l_tnode.appendChild(l_master_record)<br \/>\nRETURN\u00a0l_node<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0awsp900_01_buildRecord(l_tnode,\u00a0p_record)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u4f9d\u7167\u50b3\u5165\u7684\u8cc7\u6599\u65b0\u589e\u4e00\u7b46\u55ae\u982d\u8cc7\u6599<\/p>\n<p>LET\u00a0l_list\u00a0=\u00a0l_node.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nIF\u00a0l_list.getCount()\u00a0&gt;0\u00a0THEN<br \/>\nLET\u00a0g_master_record\u00a0=\u00a0l_list.getitem(1)<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u56de\u50b3\u6b64\u7b46\u55ae\u982d\u8cc7\u6599\u7bc0\u9ede<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addMasterRecordField(p_json_record, p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addMasterRecordField(p_name,p_json_record)<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject,<br \/>\np_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\np_detail\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_master_record\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_res_root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>WHENEVER\u00a0ERROR\u00a0CONTINUE<\/p>\n<p>IF\u00a0p_json_record.getLength()\u00a0=\u00a00\u00a0THEN<br \/>\ndisplay\u00a0&#8220;json length: 0&#8221;<br \/>\nRETURN\u00a0NULL<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_node_list\u00a0=\u00a0g_dnode.selectByXPath(&#8220;\/\/Master[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nIF\u00a0l_node_list.getCount()\u00a0=\u00a00\u00a0THEN<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;RecordSet&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;Document&gt; \u4e0b\u5efa\u7acb &lt;RecordSet&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0g_dnode.appendChild(l_node)<\/p>\n<p>LET\u00a0g_count\u00a0=\u00a0g_count\u00a0+\u00a01<br \/>\nCALL\u00a0l_node.setAttribute(&#8220;id&#8221;,\u00a0g_count)<\/p>\n<p>LET\u00a0l_tnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Master&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;RecordSet&gt; \u4e0b\u5efa\u7acb &lt;Master&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_node.appendChild(l_tnode)<br \/>\nIF\u00a0NOT\u00a0cl_null(p_name)\u00a0THEN<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;name&#8221;,\u00a0p_name)<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;node_id&#8221;,\u00a0g_count)<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_master_record\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)\u00a0\u00a0#\u65bc &lt;Master&gt;&gt;\u4e0b\u5efa\u7acb &lt;Record&gt; \u7bc0\u9ede<br \/>\nLET\u00a0g_master_record\u00a0=\u00a0l_master_record<\/p>\n<p>CALL\u00a0l_tnode.appendChild(l_master_record)<br \/>\nELSE<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_list1\u00a0=\u00a0l_pnode.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list1.getCount()<br \/>\nLET\u00a0l_master_record\u00a0=\u00a0l_list1.getItem(l_i)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0awsp900_01_buildMasterField(l_master_record,\u00a0p_json_record)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u4f9d\u7167\u50b3\u5165\u7684\u8cc7\u6599\u65b0\u589e\u4e00\u7b46\u55ae\u982d\u8cc7\u6599<\/p>\n<p>RETURN\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u56de\u50b3\u6b64\u7b46\u55ae\u982d\u8cc7\u6599\u7bc0\u9ede<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addDetailRecordField(p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addDetailRecordField(p_name)<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0\u00a0\u00a0util.JSONObject,<br \/>\np_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_master_record\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_res_root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_dnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0p_level\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>WHENEVER\u00a0ERROR\u00a0CONTINUE<\/p>\n<p>LET\u00a0l_node_list\u00a0=\u00a0g_dnode.selectByXPath(&#8220;\/\/Master[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nIF\u00a0l_node_list.getCount()\u00a0=\u00a00\u00a0THEN<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;RecordSet&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;Document&gt; \u4e0b\u5efa\u7acb &lt;RecordSet&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0g_dnode.appendChild(l_node)<\/p>\n<p>LET\u00a0g_count\u00a0=\u00a0g_count\u00a0+\u00a01<br \/>\nCALL\u00a0l_node.setAttribute(&#8220;id&#8221;,\u00a0g_count)<\/p>\n<p>LET\u00a0l_tnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Master&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;RecordSet&gt; \u4e0b\u5efa\u7acb &lt;Master&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_node.appendChild(l_tnode)<br \/>\nIF\u00a0NOT\u00a0cl_null(p_name)\u00a0THEN<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;name&#8221;,\u00a0p_name)<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;node_id&#8221;,\u00a0g_count)<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_master_record\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)\u00a0\u00a0#\u65bc &lt;Master&gt;\u4e0b\u5efa\u7acb &lt;Record&gt; \u7bc0\u9ede<br \/>\nLET\u00a0l_dnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Detail&#8221;)<\/p>\n<p>IF\u00a0cl_null(g_detail_name)\u00a0THEN<br \/>\nCALL\u00a0l_dnode.setAttribute(&#8220;name&#8221;,\u00a0&#8220;d1_1&#8221;)<br \/>\nELSE<br \/>\nCALL\u00a0l_dnode.setAttribute(&#8220;name&#8221;,\u00a0g_detail_name)<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0l_dnode.setAttribute(&#8220;node_id&#8221;,\u00a0&#8220;1_1&#8221;)<br \/>\nCALL\u00a0l_master_record.appendChild(l_dnode)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0# \u7522\u751f &lt;Detail&gt;<br \/>\nCALL\u00a0l_tnode.appendChild(l_master_record)<br \/>\nELSE<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_list1\u00a0=\u00a0l_pnode.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list1.getCount()<br \/>\nLET\u00a0l_master_record\u00a0=\u00a0l_list1.getItem(l_i)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_dnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u56de\u50b3\u6b64\u7b46Detail\u8cc7\u6599\u7bc0\u9ede<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_makeDetail(p_name,p_id)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_makeDetail(p_name,p_detail,p_id,p_node,p_json_record)<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_detail\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_id\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0util.JSONObject<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_dnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>DEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num5<\/p>\n<p>LET\u00a0l_node_list\u00a0=\u00a0g_dnode.selectByXPath(&#8220;\/\/Master\/Record\/Page[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]\/Detail\/Record&#8221;\u00a0,&#8221;&#8221;)<br \/>\nIF\u00a0l_node_list.getCount()\u00a0=\u00a00\u00a0THEN<\/p>\n<p>LET\u00a0l_dnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Detail&#8221;)<br \/>\nCALL\u00a0l_dnode.setAttribute(&#8220;name&#8221;,\u00a0p_detail)<br \/>\nCALL\u00a0l_dnode.setAttribute(&#8220;node_id&#8221;,\u00a0&#8220;1_&#8221;\u00a0||\u00a0p_id\u00a0)<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)<br \/>\nCALL\u00a0l_dnode.appendChild(l_node)<br \/>\nCALL\u00a0p_node.appendChild(l_dnode)<br \/>\nELSE<br \/>\nLET\u00a0l_dnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_list1\u00a0=\u00a0l_dnode.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list1.getCount()<br \/>\nLET\u00a0l_node\u00a0=\u00a0l_list1.getItem(l_i)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0awsp900_01_buildRecordField(l_node,\u00a0p_json_record)<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_buildDetailRecord(p_node, p_json_record)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_buildDetailRecord(p_node,p_json_record)<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0util.JSONObject<br \/>\nDEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0xml.DomNodeList,<br \/>\nl_list2\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_child\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_record\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_field\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER,<br \/>\nl_j\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\nl_value\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_k\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#FUN-D80090<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)\u00a0\u00a0#\u65bc &lt;Master&gt; \/ &lt;Detail&gt; \/ &lt;Parameter&gt;\u4e0b\u5efa\u7acb &lt;Record&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0p_node.appendChild(l_node)<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0p_json_record.getLength()<\/p>\n<p>INITIALIZE\u00a0l_name\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>#\u53d6\u5f97\u6b04\u4f4d\u540d\u7a31\u548c\u6b04\u4f4d\u503c<br \/>\nLET\u00a0l_name\u00a0=\u00a0p_json_record.name(l_i)<br \/>\nLET\u00a0l_value\u00a0=\u00a0p_json_record.get(p_json_record.name(l_i))<\/p>\n<p>LET\u00a0l_child\u00a0=\u00a0g_resdoc.createElement(&#8220;Field&#8221;)\u00a0#\u65bc &lt;Record&gt; \u4e0b\u5efa\u7acb &lt;Field&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_node.appendChild(l_child)<br \/>\nCALL\u00a0l_child.setAttribute(&#8220;name&#8221;,\u00a0l_name)<br \/>\nCALL\u00a0l_child.setAttribute(&#8220;value&#8221;,\u00a0l_value)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_buildRecord(p_node, p_json_record)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_buildRecord(p_node,p_json_record)<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0util.JSONObject<br \/>\n#DEFINE l_list1\u00a0\u00a0\u00a0\u00a0xml.DomNodeList,<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0l_list2\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_child\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_record\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_field\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER,<br \/>\nl_j\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\nl_value\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_k\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#FUN-D80090<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)\u00a0\u00a0#\u65bc &lt;Master&gt; \/ &lt;Detail&gt; \/ &lt;Parameter&gt;\u4e0b\u5efa\u7acb &lt;Record&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0p_node.appendChild(l_node)<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0p_json_record.getLength()<\/p>\n<p>INITIALIZE\u00a0l_name\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>#\u53d6\u5f97\u6b04\u4f4d\u540d\u7a31\u548c\u6b04\u4f4d\u503c<br \/>\nLET\u00a0l_name\u00a0=\u00a0p_json_record.name(l_i)<br \/>\nLET\u00a0l_value\u00a0=\u00a0p_json_record.get(p_json_record.name(l_i))<\/p>\n<p>LET\u00a0l_child\u00a0=\u00a0g_resdoc.createElement(&#8220;Field&#8221;)\u00a0#\u65bc &lt;Record&gt; \u4e0b\u5efa\u7acb &lt;Field&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_node.appendChild(l_child)<br \/>\nCALL\u00a0l_child.setAttribute(&#8220;name&#8221;,\u00a0l_name)<br \/>\nCALL\u00a0l_child.setAttribute(&#8220;value&#8221;,\u00a0l_value)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_buildRecordField(p_node, p_json_record)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_buildRecordField(p_node,p_json_record)<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0xml.DomNodeList,<br \/>\nl_list2\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_child\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_record\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_field\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER,<br \/>\nl_j\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\nl_value\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_k\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#FUN-D80090<\/p>\n<p>LET\u00a0l_child\u00a0=\u00a0g_resdoc.createElement(&#8220;Field&#8221;)\u00a0#\u65bc &lt;Record&gt; \u4e0b\u5efa\u7acb &lt;Field&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0p_node.appendChild(l_child)<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0p_json_record.getLength()<\/p>\n<p>INITIALIZE\u00a0l_name\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>#\u53d6\u5f97\u6b04\u4f4d\u540d\u7a31\u548c\u6b04\u4f4d\u503c<br \/>\nLET\u00a0l_name\u00a0=\u00a0p_json_record.name(l_i)<br \/>\nLET\u00a0l_value\u00a0=\u00a0p_json_record.get(p_json_record.name(l_i))<\/p>\n<p>#&lt;Field name=&#8221;imbadocno&#8221; datatype=&#8221;0&#8243; type=&#8221;Edit&#8221; label=&#8221;bpm_imbadocno&#8221; ref=&#8221;&#8221;&gt;<br \/>\nCALL\u00a0l_child.setAttribute(l_name\u00a0CLIPPED,\u00a0l_value\u00a0CLIPPED)<\/p>\n<p>END\u00a0FOR<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addFieldLang(p_type,p_tagname, p_fieldname,p_json_array)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addFieldLang(p_type,p_tagname,p_fieldname,p_json_array)<br \/>\nDEFINE\u00a0p_type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_tagname\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_fieldname\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_json_array\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONArray<br \/>\nDEFINE\u00a0l_json_record\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_child\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num5<br \/>\nDEFINE\u00a0l_j\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num5<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>IF\u00a0p_json_array.getLength()\u00a0=\u00a00\u00a0THEN<br \/>\ndisplay\u00a0&#8220;json length: 0&#8221;<br \/>\nRETURN<br \/>\nEND\u00a0IF<\/p>\n<p>CASE\u00a0p_tagname<br \/>\nWHEN\u00a0&#8220;Parameter&#8221;<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0g_resdoc.selectByXPath(&#8220;\/\/&#8221;\u00a0||\u00a0p_tagname\u00a0||\u00a0&#8220;\/Record\/Field[@name=\\&#8221;&#8221;\u00a0||\u00a0p_fieldname\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nWHEN\u00a0&#8220;Detail&#8221;<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0g_resdoc.selectByXPath(&#8220;\/\/&#8221;\u00a0||\u00a0p_tagname\u00a0||\u00a0&#8220;\/Record\/Field[@name=\\&#8221;&#8221;\u00a0||\u00a0p_fieldname\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nWHEN\u00a0&#8220;Page&#8221;<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0g_resdoc.selectByXPath(&#8220;\/\/Page[@name=\\&#8221;&#8221;\u00a0||\u00a0p_fieldname\u00a0CLIPPED||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nOTHERWISE<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0g_resdoc.selectByXPath(&#8220;\/\/&#8221;\u00a0||\u00a0p_tagname\u00a0||\u00a0&#8220;\/Record\/Page\/Field[@name=\\&#8221;&#8221;\u00a0||\u00a0p_fieldname\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nEND\u00a0CASE<\/p>\n<p>IF\u00a0l_node_list.getCount()\u00a0&gt;\u00a00\u00a0THEN<\/p>\n<p>LET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0p_json_array.getLength()<\/p>\n<p>INITIALIZE\u00a0l_json_record\u00a0TO\u00a0NULL<br \/>\nLET\u00a0l_json_record\u00a0=\u00a0p_json_array.get(l_i)<br \/>\n#\u65bc &lt;Record&gt; \u4e0b\u5efa\u7acb &lt;Field&gt; \u7bc0\u9ede<br \/>\nLET\u00a0l_child\u00a0=\u00a0g_resdoc.createElement(p_type)<br \/>\nFOR\u00a0l_j\u00a0=\u00a01\u00a0TO\u00a0l_json_record.getLength()<\/p>\n<p>INITIALIZE\u00a0l_name\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>#\u53d6\u5f97\u6b04\u4f4d\u540d\u7a31\u548c\u6b04\u4f4d\u503c<br \/>\nLET\u00a0l_name\u00a0=\u00a0l_json_record.name(l_j)<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_json_record.get(l_json_record.name(l_j))<\/p>\n<p>CALL\u00a0l_pnode.appendChild(l_child)<br \/>\nCALL\u00a0l_child.setAttribute(l_name,l_value)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addParameterRecord(p_json_record)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addParameterRecord(p_json_record)<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject<\/p>\n<p>WHENEVER\u00a0ERROR\u00a0CONTINUE<\/p>\n<p>IF\u00a0p_json_record.getLength()\u00a0=\u00a00\u00a0THEN<br \/>\ndisplay\u00a0&#8220;json length: 0&#8221;<br \/>\nRETURN\u00a0NULL<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0awsp900_01_buildRecord(g_pnode,\u00a0p_json_record)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u4f9d\u7167\u50b3\u5165\u7684\u8cc7\u6599\u65b0\u589e\u56de\u50b3\u53c3\u6578\u8cc7\u6599<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_createJasonResponse(p_str)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_createJasonResponse(p_str)<br \/>\nDEFINE\u00a0p_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>LET\u00a0g_jason_type\u00a0=\u00a0&#8220;Y&#8221;<br \/>\nLET\u00a0g_response.response\u00a0=\u00a0p_str<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_writeResponseLog()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter:<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0:<br \/>\n# Return code&#8230;.:<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0:<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_writeResponseLog()<br \/>\nDEFINE\u00a0l_ch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base.Channel,<br \/>\nl_logFile\u00a0\u00a0\u00a0STRING,<br \/>\nl_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p># \u8a18\u9304\u6a94\u70ba $TEMPDIR\/aws-yyymmdd.log\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nLET\u00a0l_logFile\u00a0=\u00a0fgl_getenv(&#8220;TEMPDIR&#8221;),\u00a0&#8220;\/&#8221;,\u00a0&#8220;aws-&#8220;,\u00a0TODAY\u00a0USING\u00a0&#8216;YYYYMMDD&#8217;,\u00a0&#8220;.log&#8221;<br \/>\nLET\u00a0l_ch\u00a0=\u00a0base.Channel.create()<br \/>\nCALL\u00a0l_ch.setDelimiter(NULL)<br \/>\nCALL\u00a0l_ch.openFile(l_logFile,\u00a0&#8220;a&#8221;)<br \/>\nIF\u00a0STATUS\u00a0=\u00a00\u00a0THEN<br \/>\nLET\u00a0l_str\u00a0=\u00a0&#8220;[Response Service #&#8221;,\u00a0g_serial,\u00a0&#8220;]&#8221;,<br \/>\n&#8220;\\n\u00a0\u00a0\u00a0\u00a0&#8216;&#8221;,\u00a0g_service,\u00a0&#8220;&#8216; end at &#8220;,\u00a0cl_get_time()\u00a0,\u00a0&#8220;\\n&#8221;,<br \/>\n&#8220;\\n[Response Message #&#8221;,\u00a0g_serial,\u00a0&#8220;]&#8221;,<br \/>\n&#8220;\\n&#8221;,\u00a0g_response.response,\u00a0&#8220;\\n&#8221;,<br \/>\n&#8220;#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;#\\n\\n&#8221;<br \/>\nCALL\u00a0l_ch.write(l_str)<br \/>\nEND\u00a0IF<br \/>\nCALL\u00a0l_ch.close()<\/p>\n<p>IF\u00a0os.Path.chrwx(l_logFile\u00a0CLIPPED,438)\u00a0THEN\u00a0END\u00a0IF<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addPageField(p_json_record,p_name,p_master_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addPageField(p_json_record,p_prog,p_name,p_type,p_master_name,p_detail_name)<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject<br \/>\nDEFINE\u00a0p_prog\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_master_name\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_detail_name\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>DEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_master_record\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_page_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>DEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num5<br \/>\nDEFINE\u00a0l_j\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num5<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>WHENEVER\u00a0ERROR\u00a0CONTINUE<\/p>\n<p>IF\u00a0p_json_record.getLength()\u00a0=\u00a00\u00a0THEN<br \/>\ndisplay\u00a0&#8220;json length: 0&#8221;<br \/>\nRETURN\u00a0NULL<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_node_list\u00a0=\u00a0g_dnode.selectByXPath(&#8220;\/\/Master\/Record\/Page[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;\u00a0,&#8221;&#8221;)<\/p>\n<p>IF\u00a0l_node_list.getCount()\u00a0=\u00a00\u00a0THEN<\/p>\n<p>LET\u00a0g_count\u00a0=\u00a0g_count\u00a0+\u00a01<br \/>\nIF\u00a0g_count\u00a0=\u00a01\u00a0THEN<br \/>\nLET\u00a0l_node\u00a0=\u00a0g_resdoc.createElement(&#8220;RecordSet&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;Document&gt; \u4e0b\u5efa\u7acb &lt;RecordSet&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0g_dnode.appendChild(l_node)<br \/>\nCALL\u00a0l_node.setAttribute(&#8220;id&#8221;,\u00a0g_count)<\/p>\n<p>LET\u00a0l_tnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Master&#8221;)\u00a0\u00a0\u00a0#\u65bc &lt;RecordSet&gt; \u4e0b\u5efa\u7acb &lt;Master&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_node.appendChild(l_tnode)<br \/>\nIF\u00a0NOT\u00a0cl_null(p_master_name)\u00a0THEN<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;name&#8221;,\u00a0p_master_name)<br \/>\nCALL\u00a0l_tnode.setAttribute(&#8220;node_id&#8221;,\u00a0g_count)<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0g_master_record\u00a0=\u00a0g_resdoc.createElement(&#8220;Record&#8221;)\u00a0\u00a0#\u65bc &lt;Master&gt;\u4e0b\u5efa\u7acb &lt;Record&gt; \u7bc0\u9ede<br \/>\nCALL\u00a0l_tnode.appendChild(g_master_record)<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_page_node\u00a0=\u00a0g_resdoc.createElement(&#8220;Page&#8221;)<br \/>\nCALL\u00a0l_page_node.setAttribute(&#8220;name&#8221;,\u00a0p_name)<br \/>\nCALL\u00a0l_page_node.setAttribute(&#8220;type&#8221;,\u00a0p_type)<\/p>\n<p>CALL\u00a0g_master_record.appendChild(l_page_node)<\/p>\n<p>#\u5efa\u7acbpage \u591a\u8a9e\u8a00<br \/>\nIF\u00a0p_type\u00a0=\u00a0&#8220;page&#8221;\u00a0THEN<br \/>\nCALL\u00a0awsp900_01_add_page_info(p_prog,p_name)<br \/>\nEND\u00a0IF<br \/>\nELSE<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_list1\u00a0=\u00a0l_pnode.getElementsByTagName(&#8220;Page&#8221;)<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list1.getCount()<br \/>\nLET\u00a0l_page_node\u00a0=\u00a0l_list1.getItem(l_i)<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<\/p>\n<p>#\u4f9d\u7167\u50b3\u5165\u7684\u8cc7\u6599\u65b0\u589e\u4e00\u7b46Page\u8cc7\u6599<br \/>\nIF\u00a0p_master_name\u00a0=\u00a0&#8220;D1&#8221;\u00a0THEN<br \/>\nCALL\u00a0awsp900_01_makeDetail(p_name,p_detail_name,1,l_page_node,p_json_record)<br \/>\nELSE<br \/>\nCALL\u00a0awsp900_01_buildRecordField(l_page_node,\u00a0p_json_record)<br \/>\nEND\u00a0IF<br \/>\nRETURN\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u56de\u50b3\u6b64\u7b46\u55ae\u982d\u8cc7\u6599\u7bc0\u9ede<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_add_page_info(p_prog,p_dzfb008)<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num5<br \/>\nDEFINE\u00a0p_prog\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>DEFINE\u00a0p_dzfb008\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0dzfb_t.dzfb008<br \/>\nDEFINE\u00a0l_lang\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DYNAMIC\u00a0ARRAY\u00a0OF\u00a0RECORD<br \/>\nname\u00a0\u00a0\u00a0\u00a0LIKE\u00a0gzcbl_t.gzcbl003,<br \/>\nvalue\u00a0\u00a0\u00a0LIKE\u00a0gzcbl_t.gzcbl004<br \/>\nEND\u00a0RECORD<br \/>\nDEFINE\u00a0l_lang_t\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>LET\u00a0l_i\u00a0=\u00a01<br \/>\nLET\u00a0l_lang_t\u00a0=\u00a0g_lang<br \/>\nDECLARE\u00a0gzzy_curs\u00a0CURSOR\u00a0FROM\u00a0&#8220;SELECT gzzy001,&#8221; FROM gzzy_t&#8221;<br \/>\nFOREACH\u00a0gzzy_curs\u00a0INTO\u00a0l_lang[l_i].*<br \/>\nLET\u00a0g_lang\u00a0=\u00a0l_lang[l_i].name<br \/>\nLET\u00a0l_lang[l_i].value\u00a0=\u00a0awsp900_01_get_description(p_prog\u00a0,p_dzfb008)<br \/>\nLET\u00a0l_i\u00a0=\u00a0l_i\u00a0+\u00a01<br \/>\nEND\u00a0FOREACH<br \/>\nCALL\u00a0l_lang.deleteElement(l_i)<br \/>\nCALL\u00a0awsp900_01_addFieldLang(&#8220;Lang&#8221;,&#8221;Page&#8221;,\u00a0p_dzfb008,\u00a0util.JSONArray.fromFGL(l_lang))<br \/>\nLET\u00a0g_lang\u00a0=\u00a0l_lang_t\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9084\u539f g_lang<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_get_description(p_gzzz002,p_name)<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0gzzd_t.gzzd003<br \/>\nDEFINE\u00a0p_gzzz002\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0gzzz_t.gzzz002<br \/>\nDEFINE\u00a0p_text\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9810\u8a2d\u986f\u793a\u6587\u5b57<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u73fe\u884cg_lang\u6a19\u7c64\u8aaa\u660e\u6587\u5b57(exp:\u6599\u4ef6\u7de8\u865f)<br \/>\nDEFINE\u00a0l_comment\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>IF\u00a0NOT\u00a0cl_null(p_name)\u00a0THEN<br \/>\nCALL\u00a0s_azzi902_get_gzzd(p_gzzz002,\u00a0p_name)<br \/>\nRETURNING\u00a0l_str,\u00a0l_comment<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_str<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u53d6\u5f97 Request XML &lt;Document&gt; \u7bc0\u9ede\u4e2d\u7684\u55ae\u6a94\u7b46\u6578\u500b\u6578<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getMasterRecordLength(p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getMasterRecordLength(p_name)<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_cnt\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u641c\u5c0b &lt;Document&gt; \u6709\u591a\u5c11\u7b46\u5c0d\u61c9\u7684 &lt;Master&gt; \u7bc0\u9ede\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nIF\u00a0cl_null(p_name)\u00a0THEN<br \/>\nLET\u00a0l_list\u00a0=\u00a0gx_payload_request.selectByXPath(&#8220;\/\/Document\/RecordSet\/Master&#8221;)<br \/>\nELSE<br \/>\nLET\u00a0l_list\u00a0=\u00a0gx_payload_request.selectByXPath(&#8220;\/\/Document\/RecordSet\/Master[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_cnt\u00a0=\u00a0l_list.getCount()<br \/>\nRETURN\u00a0l_cnt<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u53d6\u5f97 Request XML \u4e2d\u6307\u5b9a\u7684\u55ae\u6a94\u7bc0\u9ede Dom Node<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getMasterRecord(p_i,p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getMasterRecord(p_i,p_name)<br \/>\nDEFINE\u00a0p_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER,<br \/>\np_name\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_list2\u00a0\u00a0xml.DomNodeList<\/p>\n<p>IF\u00a0cl_null(p_i)\u00a0OR\u00a0p_i\u00a0=\u00a00\u00a0THEN<br \/>\nRETURN\u00a0NULL<br \/>\nEND\u00a0IF<\/p>\n<p>IF\u00a0cl_null(p_name)\u00a0THEN<br \/>\nLET\u00a0l_list\u00a0=\u00a0gx_payload_request.selectByXPath(&#8220;\/\/Document\/RecordSet\/Master&#8221;)<br \/>\nELSE<br \/>\nLET\u00a0l_list\u00a0=\u00a0gx_payload_request.selectByXPath(&#8220;\/\/Document\/RecordSet\/Master[@name=\\&#8221;&#8221;\u00a0||\u00a0p_name\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,\u00a0&#8220;&#8221;)<br \/>\nEND\u00a0IF<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list.getCount()<br \/>\nLET\u00a0l_node\u00a0=\u00a0l_list.getitem(l_i)<br \/>\nIF\u00a0l_i\u00a0=\u00a0p_i\u00a0THEN<br \/>\n#\u5f80\u4e0b\u53d6\u5f97 &lt;Record&gt; \u7bc0\u9ede\u56de\u50b3<br \/>\nLET\u00a0l_list2\u00a0=\u00a0l_node.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nLET\u00a0l_node\u00a0=\u00a0l_list2.getitem(1)<br \/>\nEXIT\u00a0FOR<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0FOR<\/p>\n<p>RETURN\u00a0l_node<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u53d6\u5f97 Request XML &lt;Document&gt; \u7bc0\u9ede\u4e2d\u7684\u55ae\u8eab\u7b46\u6578\u500b\u6578<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getDetailRecordLength(p_node,p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getDetailRecordLength(p_node,p_name)<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\np_name\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_list2\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_detail\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_cnt\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>IF\u00a0p_node\u00a0IS\u00a0NULL\u00a0THEN<br \/>\nRETURN\u00a00<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0p_node.getParentNode()\u00a0\u00a0\u00a0#\u5f9e &lt;Record&gt; \u53d6 &lt;Master&gt; \u7236\u7bc0\u9ede<br \/>\nLET\u00a0l_node\u00a0=\u00a0l_node.getParentNode()\u00a0\u00a0\u00a0#\u518d\u5f9e &lt;Master&gt; \u53d6 &lt;RecordSet&gt; \u7236\u7bc0\u9ede<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u641c\u5c0b &lt;RecordSet&gt; \u6709\u5c0d\u61c9\u7684 &lt;Detail&gt; \u7bc0\u9ede\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nIF\u00a0cl_null(p_name)\u00a0THEN<br \/>\nLET\u00a0l_list\u00a0=\u00a0l_node.selectByXPath(&#8220;\/\/Detail\/Record&#8221;)<br \/>\nRETURN\u00a0l_list.getCount()<br \/>\nELSE<br \/>\n#LET l_list = l_node.selectByXPath(&#8220;\/\/Detail[@name=\\&#8221;&#8221; || p_name || &#8220;\\&#8221;]\/Record&#8221; , &#8220;&#8221;)<br \/>\nLET\u00a0l_list\u00a0=\u00a0l_node.getElementsByTagName(&#8220;Detail&#8221;)<br \/>\nEND\u00a0IF<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list.getCount()<br \/>\nLET\u00a0l_detail\u00a0=\u00a0l_list.getitem(l_i)<br \/>\nIF\u00a0l_detail.getAttribute(&#8220;name&#8221;)\u00a0=\u00a0p_name\u00a0THEN<br \/>\nLET\u00a0l_list2\u00a0=\u00a0l_detail.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nRETURN\u00a0l_list2.getCount()<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0FOR<br \/>\nLET\u00a0l_cnt\u00a0=\u00a00\u00a0\u00a0\u00a0#\u627e\u4e0d\u5230<br \/>\nRETURN\u00a0l_cnt<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u53d6\u5f97 Request XML \u4e2d\u6307\u5b9a\u7684\u55ae\u6a94\u7bc0\u9ede Dom Node<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getDetailRecord(p_node,p_i,p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getDetailRecord(p_node,p_i,p_name)<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\np_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER,<br \/>\np_name\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_list2\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_node2\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_detail\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>IF\u00a0p_node\u00a0IS\u00a0NULL\u00a0THEN<br \/>\nRETURN\u00a00<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0l_node\u00a0=\u00a0p_node.getParentNode()\u00a0\u00a0\u00a0#\u5f9e &lt;Record&gt; \u53d6 &lt;Master&gt; \u7236\u7bc0\u9ede<br \/>\nLET\u00a0l_node\u00a0=\u00a0l_node.getParentNode()\u00a0\u00a0\u00a0#\u518d\u5f9e &lt;Master&gt; \u53d6 &lt;RecordSet&gt; \u7236\u7bc0\u9ede<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u641c\u5c0b &lt;RecordSet&gt; \u6709\u5c0d\u61c9\u7684 &lt;Detail&gt; \u7bc0\u9ede\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\nIF\u00a0cl_null(p_name)\u00a0THEN<br \/>\nLET\u00a0l_list\u00a0=\u00a0l_node.selectByXPath(&#8220;\/\/Detail\/Record&#8221;)<br \/>\nELSE<br \/>\n#LET l_list = l_node.selectByXPath(&#8220;\/\/Detail[@name=\\&#8221;&#8221; || p_name || &#8220;\\&#8221;]\/Record&#8221; , &#8220;&#8221;)<br \/>\nLET\u00a0l_list\u00a0=\u00a0l_node.getElementsByTagName(&#8220;Detail&#8221;)<br \/>\nEND\u00a0IF<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list.getCount()<br \/>\nLET\u00a0l_detail\u00a0=\u00a0l_list.getitem(l_i)<br \/>\nIF\u00a0l_detail.getAttribute(&#8220;name&#8221;)\u00a0=\u00a0p_name\u00a0THEN<br \/>\nLET\u00a0l_list2\u00a0=\u00a0l_detail.getElementsByTagName(&#8220;Record&#8221;)<br \/>\nLET\u00a0l_node2\u00a0=\u00a0l_list2.getitem(p_i)\u00a0\u00a0#\u53d6\u51fa\u6307\u5b9a\u7684Record<br \/>\nEXIT\u00a0FOR<br \/>\nEND\u00a0IF<br \/>\n#LET l_node2 = l_list.getitem(l_i)<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-#<br \/>\n# \u82e5\u641c\u5c0b\u7684\u55ae\u8eab &lt;Record&gt; \u7bc0\u9ede\u9806\u5e8f\u8207\u547c\u53eb\u6642\u50b3\u5165\u7684\u503c\u76f8\u540c\u6642\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-#<br \/>\n#IF l_i = p_i THEN<br \/>\n#\u00a0\u00a0\u00a0EXIT FOR<br \/>\n#END IF<br \/>\nEND\u00a0FOR<\/p>\n<p>RETURN\u00a0l_node2<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u53d6\u5f97\u6307\u5b9a\u7684 \u55ae\u982d \/ \u55ae\u8eab \u7bc0\u9ede\u4e2d\u7684\u6b04\u4f4d\u503c<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_getRecordField(p_node,p_name)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getRecordField(p_node,p_name)<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\np_name\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LIKE\u00a0type_t.num10<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>IF\u00a0p_node\u00a0IS\u00a0NULL\u00a0OR\u00a0cl_null(p_name)\u00a0THEN<br \/>\nRETURN\u00a0NULL<br \/>\nEND\u00a0IF<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n# \u63a5\u8457\u5c0b\u627e\u662f\u5426\u70ba\u5c0d\u61c9\u540d\u7a31\u7684 &lt;Field&gt; \u6b04\u4f4d\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#<br \/>\n#LET l_list = p_node.selectByXPath(&#8220;\/\/Field[@name=\\&#8221;&#8221; || p_name || &#8220;\\&#8221;]&#8221; ,&#8221;&#8221;)<br \/>\n#IF l_list.getCount() != 0 THEN\u00a0\u00a0\u00a0#\u627e\u7684\u5230\u7bc0\u9ede\u624d\u53d6\u503c<br \/>\n#\u00a0\u00a0\u00a0LET l_node = l_list.getitem(1)<br \/>\n#\u00a0\u00a0\u00a0LET l_value = l_node.getAttribute(&#8220;value&#8221;)<br \/>\n#END IF<\/p>\n<p>LET\u00a0l_list\u00a0=\u00a0p_node.getElementsByTagName(&#8220;Field&#8221;)<br \/>\nIF\u00a0l_list.getCount()\u00a0&gt;\u00a00\u00a0THEN\u00a0\u00a0\u00a0#\u627e\u7684\u5230\u7bc0\u9ede\u624d\u53d6\u503c<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0l_list.getCount()<br \/>\nLET\u00a0l_node\u00a0=\u00a0l_list.getitem(l_i)<br \/>\nLET\u00a0l_name\u00a0=\u00a0l_node.getAttribute(&#8220;name&#8221;)<br \/>\nIF\u00a0l_name\u00a0=\u00a0p_name\u00a0THEN<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_node.getAttribute(&#8220;value&#8221;)<br \/>\nEXIT\u00a0FOR<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_value<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getParamValue(p_xmldoc)<br \/>\nDEFINE\u00a0p_xmldoc\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0p_tagname\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_attname\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>INITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>LET\u00a0l_node_list\u00a0=\u00a0p_xmldoc.getElementsByTagName(&#8220;param&#8221;)<\/p>\n<p>IF\u00a0l_node_list.getCount()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nFOR\u00a0l_i\u00a0=\u00a01\u00a0\u00a0TO\u00a0l_node_list.getCount()<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(l_i)<br \/>\nLET\u00a0g_messge.param[l_i].key\u00a0=\u00a0l_pnode.getAttribute(&#8220;key&#8221;)<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_pnode.getFirstChild()<br \/>\n#CDATA\u7684\u683c\u5f0f,\u4e00\u5b9a\u8981\u53d6\u5f97\u7b2c\u4e8c\u500b\u5b50\u7bc0\u9ede\u624d\u53ef\u53d6\u5f97\u5230CDATA\u7684\u8cc7\u6599.<br \/>\nLET\u00a0l_value\u00a0=\u00a0&#8220;&#8221;<br \/>\nWHILE\u00a0(\u00a0l_tnode\u00a0IS\u00a0NOT\u00a0NULL\u00a0)<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_value\u00a0,\u00a0l_tnode.getNodeValue()<br \/>\nLET\u00a0g_messge.param[l_i].Value\u00a0=\u00a0l_value.trim()<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_tnode.getNextSibling()<br \/>\nEND\u00a0WHILE<br \/>\nEND\u00a0FOR<br \/>\nEND\u00a0IF<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_getDataKey(p_attname)<br \/>\nDEFINE\u00a0p_tagname\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_attname\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_value\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_node_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_pnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_tnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_str\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>INITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>LET\u00a0p_tagname\u00a0=\u00a0&#8220;key&#8221;<\/p>\n<p>IF\u00a0NOT\u00a0cl_null(p_attname)\u00a0THEN<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0gx_reqdoc.selectByXPath(&#8220;\/\/&#8221;\u00a0||\u00a0p_tagname.trim()\u00a0||\u00a0&#8220;[@name=\\&#8221;&#8221;\u00a0||\u00a0p_attname\u00a0CLIPPED\u00a0||\u00a0&#8220;\\&#8221;]&#8221;,&#8221;&#8221;)<br \/>\nELSE<br \/>\nLET\u00a0l_node_list\u00a0=\u00a0gx_reqdoc.getElementsByTagName(p_tagname)<br \/>\nEND\u00a0IF<br \/>\nIF\u00a0l_node_list.getCount()\u00a0&gt;\u00a00\u00a0THEN<br \/>\nLET\u00a0l_pnode\u00a0=\u00a0l_node_list.getitem(1)<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_pnode.getFirstChild()<br \/>\n#CDATA\u7684\u683c\u5f0f,\u4e00\u5b9a\u8981\u53d6\u5f97\u7b2c\u4e8c\u500b\u5b50\u7bc0\u9ede\u624d\u53ef\u53d6\u5f97\u5230CDATA\u7684\u8cc7\u6599.<br \/>\nWHILE\u00a0(\u00a0l_tnode\u00a0IS\u00a0NOT\u00a0NULL\u00a0)<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_value\u00a0,\u00a0l_tnode.getNodeValue()<br \/>\nLET\u00a0l_value\u00a0=\u00a0l_value.trim()<br \/>\nLET\u00a0l_tnode\u00a0=\u00a0l_tnode.getNextSibling()<br \/>\nEND\u00a0WHILE<br \/>\nEND\u00a0IF<\/p>\n<p>RETURN\u00a0l_value<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_build_JsonParam(p_key,p_json_rec)<br \/>\nDEFINE\u00a0p_key\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_json_rec\u00a0\u00a0\u00a0util.JSONObject<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<\/p>\n<p>LET\u00a0l_i\u00a0=\u00a0g_jason_param.getLength()\u00a0+\u00a01<br \/>\nLET\u00a0g_jason_param[l_i].datakey\u00a0=\u00a0p_key<br \/>\nLET\u00a0g_jason_param[l_i].jsontext\u00a0=\u00a0p_json_rec.toString()<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_make_JsonParam(p_key,p_value)<br \/>\nDEFINE\u00a0p_key\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0p_value\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_list\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_child\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>#LET g_jason_type = &#8220;Y&#8221;<br \/>\nLET\u00a0l_i\u00a0=\u00a0g_jason_param.getLength()\u00a0+\u00a01<br \/>\nLET\u00a0g_jason_param[l_i].datakey\u00a0=\u00a0p_key<br \/>\nLET\u00a0g_jason_param[l_i].jsontext\u00a0=\u00a0p_value<\/p>\n<p>#LET l_list = g_pnode.getElementsByTagName(&#8220;Record&#8221;)<\/p>\n<p>#IF l_list.getCount() &gt; 0 THEN<br \/>\n#\u00a0\u00a0\u00a0LET l_node = l_list.getitem(1)<br \/>\n#END IF<\/p>\n<p>#\u65bc &lt;Record&gt; \u4e0b\u5efa\u7acb &lt;Field&gt; \u7bc0\u9ede<br \/>\n#LET l_child = g_resdoc.createElement(&#8220;Json&#8221;)<br \/>\n#CALL l_node.appendChild(l_child)<br \/>\n#CALL l_child.setAttribute(&#8220;name&#8221;, p_key)<br \/>\n#CALL l_child.setAttribute(&#8220;value&#8221;, p_value)<\/p>\n<p>END\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_addDetail()<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_addDetail(p_name)<br \/>\nDEFINE\u00a0p_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_dnode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<\/p>\n<p>LET\u00a0l_dnode\u00a0=\u00a0g_resdoc.createElement(&#8220;Detail&#8221;)<\/p>\n<p>IF\u00a0cl_null(p_name)\u00a0THEN<br \/>\nCALL\u00a0l_dnode.setAttribute(&#8220;name&#8221;,\u00a0&#8220;d1_1&#8221;)<br \/>\nELSE<br \/>\nCALL\u00a0l_dnode.setAttribute(&#8220;name&#8221;,\u00a0p_name)<br \/>\nEND\u00a0IF<\/p>\n<p>CALL\u00a0l_dnode.setAttribute(&#8220;node_id&#8221;,\u00a0&#8220;1_1&#8221;)<br \/>\nCALL\u00a0g_master_record.appendChild(l_dnode)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u7522\u751f &lt;Detail&gt;<\/p>\n<p>RETURN\u00a0l_dnode<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63cf\u8ff0\u8bf4\u660e<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL s_aooi150_ins (\u4f20\u5165\u53c2\u6570)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPRIVATE\u00a0FUNCTION\u00a0awsp900_01_buildMasterField(p_node,p_json_record)<br \/>\nDEFINE\u00a0p_node\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0p_json_record\u00a0\u00a0\u00a0\u00a0\u00a0util.JSONObject<\/p>\n<p>DEFINE\u00a0l_list1\u00a0\u00a0\u00a0\u00a0xml.DomNodeList,<br \/>\nl_list2\u00a0\u00a0\u00a0\u00a0xml.DomNodeList<br \/>\nDEFINE\u00a0l_node\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_child\u00a0\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_record\u00a0\u00a0\u00a0xml.DomNode,<br \/>\nl_field\u00a0\u00a0\u00a0\u00a0xml.DomNode<br \/>\nDEFINE\u00a0l_i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER,<br \/>\nl_j\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER<br \/>\nDEFINE\u00a0l_name\u00a0\u00a0\u00a0\u00a0\u00a0STRING,<br \/>\nl_value\u00a0\u00a0\u00a0\u00a0STRING<br \/>\nDEFINE\u00a0l_k\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INTEGER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#FUN-D80090<\/p>\n<p>FOR\u00a0l_i\u00a0=\u00a01\u00a0TO\u00a0p_json_record.getLength()<\/p>\n<p>INITIALIZE\u00a0l_name\u00a0TO\u00a0NULL<br \/>\nINITIALIZE\u00a0l_value\u00a0TO\u00a0NULL<\/p>\n<p>#\u53d6\u5f97\u6b04\u4f4d\u540d\u7a31\u548c\u6b04\u4f4d\u503c<br \/>\nLET\u00a0l_name\u00a0=\u00a0p_json_record.name(l_i)<br \/>\nLET\u00a0l_value\u00a0=\u00a0p_json_record.get(p_json_record.name(l_i))<\/p>\n<p>#\u65bc &lt;Record&gt; \u4e0b\u5efa\u7acb &lt;Field&gt; \u7bc0\u9ede<br \/>\nLET\u00a0l_child\u00a0=\u00a0g_resdoc.createElement(&#8220;Field&#8221;)<br \/>\nCALL\u00a0p_node.appendChild(l_child)<br \/>\nCALL\u00a0l_child.setAttribute(&#8220;name&#8221;,\u00a0l_name)<br \/>\nCALL\u00a0l_child.setAttribute(&#8220;value&#8221;,\u00a0l_value)<\/p>\n<p>END\u00a0FOR<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>################################################################################<br \/>\n# Descriptions&#8230;: \u63d0\u4f9b\u7a0b\u5f0fload xml<br \/>\n# Memo&#8230;&#8230;&#8230;..:<br \/>\n# Usage&#8230;&#8230;&#8230;.: CALL awsp900_01_get_filetoxml(p_file)<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RETURNING \u56de\u4f20\u53c2\u6570<br \/>\n# Input parameter: \u4f20\u5165\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u4f20\u5165\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u4f20\u5165\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Return code&#8230;.: \u56de\u4f20\u53c2\u6570\u53d8\u91cf1\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e1<br \/>\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: \u56de\u4f20\u53c2\u6570\u53d8\u91cf2\u00a0\u00a0\u00a0\u56de\u4f20\u53c2\u6570\u53d8\u91cf\u8bf4\u660e2<br \/>\n# Date &amp; Author..: \u65e5\u671f By \u4f5c\u8005<br \/>\n# Modify&#8230;&#8230;&#8230;:<br \/>\n################################################################################<br \/>\nPUBLIC\u00a0FUNCTION\u00a0awsp900_01_get_filetoxml(p_file)<br \/>\nDEFINE\u00a0p_file\u00a0STRING<br \/>\nDEFINE\u00a0l_reqdoc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xml.DomDocument<br \/>\nDEFINE\u00a0l_status\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STRING<\/p>\n<p>CALL\u00a0awsp900_01_filetoxml(p_file)<br \/>\nRETURNING\u00a0l_status,gx_reqdoc,g_response.response<\/p>\n<p>IF\u00a0l_status\u00a0=\u00a0FALSE\u00a0THEN<br \/>\nRETURN\u00a0l_status<br \/>\nEND\u00a0IF<\/p>\n<p>LET\u00a0g_payload_request\u00a0=\u00a0&#8220;&#8221;<br \/>\nLET\u00a0g_payload_request\u00a0=\u00a0awsp900_01_getNodeValue(gx_reqdoc,\u00a0&#8220;param&#8221;,&#8221;&#8221;)<\/p>\n<p>LET\u00a0gx_payload_request\u00a0=\u00a0xml.DomDocument.create()<br \/>\nCALL\u00a0gx_payload_request.loadFromString(g_payload_request.trim())<\/p>\n<p>RETURN\u00a0TRUE<br \/>\nEND\u00a0FUNCTION<\/p>\n<p>{&lt;\/section&gt;}<\/p>\n<\/div>\n<\/div>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.hefeiyu.com\">\u8d6b\u975e\u57df<\/a> &raquo; <a href=\"https:\/\/www.hefeiyu.com\/?p=5323\">T100\u2014\u2014awsp900_01\u63a5\u53e3\u76f8\u5173\u7684XML\u5904\u7406\/\u56de\u5199<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>T100\u2014\u2014awsp900_01\u63a5\u53e3\u76f8\u5173\u7684XML\u5904\u7406\/\u56de\u5199 {&lt;section id=&#8221;awsp900_01.description&#8221; &gt;} #\u61c9\u7528 a00 \u6a23\u677f\u81ea\u52d5\u7522\u751f(Version:2) #+ Version [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[490],"tags":[822],"class_list":["post-5323","post","type-post","status-publish","format-standard","hentry","category-490","tag-awsp"],"_links":{"self":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/5323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5323"}],"version-history":[{"count":2,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/5323\/revisions"}],"predecessor-version":[{"id":5325,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/5323\/revisions\/5325"}],"wp:attachment":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}