{"id":5801,"date":"2019-09-16T14:34:03","date_gmt":"2019-09-16T06:34:03","guid":{"rendered":"http:\/\/www.hefeiyu.com\/?p=5801"},"modified":"2019-09-16T14:34:03","modified_gmt":"2019-09-16T06:34:03","slug":"t100%e6%89%8b%e5%86%8c-%e5%8d%95%e6%a1%a3arti305","status":"publish","type":"post","link":"https:\/\/www.hefeiyu.com\/?p=5801","title":{"rendered":"T100\u624b\u518c \u5355\u6863(arti305)"},"content":{"rendered":"<p><strong>3.1 \u5355\u6587\u4ef6\u8868\u683c\u6a21\u578b<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/b2ed71efd6a97785415a2642a9e835f0.png\" \/><\/p>\n<p>\u5355\u6863\u6837\u677f\ufe5dpattern\ufe5e\u53ea\u80fd\u652f\u6301\u5355\u4e00\u7684\u4e3b\u8868\uff0c\u53e6\u5916\u53ef\u652f\u6301\u591a\u4e2a\u5b50\u8868\uff0c\u4f46\u662f\u5b50\u8868\u4e0e\u4e3b\u8868\u95f4\u7684\u5173\u8054\u5fc5\u987b\u662f\u300e1\u5bf91\u300f\u7684\u8fde\u7ed3\u3002<\/p>\n<p>\u5f62\u6210\u5355\u6587\u4ef6\u7684\u4e3b\u8868\uff0c\u8868\u683c\u578b\u6001\u5efa\u8bae\u987b\u4e3a\u300eM.\u4e3b\u6a94\u300f\u6216\u300eB.\u57fa\u7840\u6570\u636e\u6587\u4ef6\u300f\u3002\u56e0\u4e3a\u8fd9\u4e24\u7c7b\u8868\u683c\u5747\u6709\u53ef\u4ee5\u8bb0\u5f55\u7ef4\u62a4\u6570\u636e\u7684\u5171\u4eab\u5b57\u6bb5\u8bbe\u8ba1\u3002<\/p>\n<p><strong>3.2 \u5355\u6863\u53c2\u8003\u753b\u9762<\/strong><\/p>\n<p>\u5355\u6587\u4ef6\u6570\u636e\u6d4f\u89c8\u9875\u7b7e\ufe5d\u89c6\u9700\u6c42\u8bbe\u5b9a\ufe5e \/ \u5355\u6863\u8f93\u5165\u4e3b\u9875\u7b7e<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"870\" height=\"606\" class=\"wp-image-5802\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-160.png\" srcset=\"https:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-160.png 870w, https:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-160-768x535.png 768w\" sizes=\"auto, (max-width: 870px) 100vw, 870px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"895\" height=\"667\" class=\"wp-image-5803\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-161.png\" srcset=\"https:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-161.png 895w, https:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-161-768x572.png 768w\" sizes=\"auto, (max-width: 895px) 100vw, 895px\" \/><\/p>\n<p>\u5f00\u53d1\u65f6\uff0c\u5c31\u53ef\u4ee5\u4f9d\u636e\u9700\u6c42\uff0c\u8bbe\u5b9a\u662f\u5426\u9700\u8981\u300e\u8d44\u6599\u6d4f\u89c8\u533a\u5757\u300f\u9875\u7b7e\u3002<\/p>\n<p>\u6570\u636e\u6d4f\u89c8\u9875\u7b7e\u5de6\u4fa7\u7684\u300e\u67e5\u8be2\u65b9\u6848\u300f\u3001\u300e\u76f8\u5173\u4f5c\u4e1a\u300f\u3001\u300e\u7cfb\u7edf\u516c\u544a\u300f\u7b49\u533a\u5757\uff0c\u5747\u7531\u7cfb\u7edf\u7a0b\u5e8f\u7edf\u4e00\u63a7\u7ba1\uff0c\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u4e0d\u9700\u989d\u5916\u8fdb\u884c\u5904\u7406\ufe5d\u7a0b\u5e8f\u4ee3\u7801\u6bb5\u843d\u7531\u6837\u677f\u4ea7\u751f\ufe5e\u3002<\/p>\n<p><strong>3.3 \u5355\u6587\u4ef6\u7a0b\u5e8f\u6d41\u7a0b<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"517\" class=\"wp-image-5804\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/09\/word-image-162.png\" \/><\/p>\n<p><strong>3.4 \u5206\u6bb5\u7a0b\u5e8f\u6d41\u7a0b<\/strong><\/p>\n<p><strong>3.4.1\u5171\u4eab\u53ca\u6a21\u5757\u53d8\u91cf\u5ba3\u544a<\/strong><\/p>\n<p>\u7a0b\u5e8f\u6ce8\u8bb0\u6bb5\u843d<\/p>\n<p>01 {&lt;section id=&#8221;arti305.description&#8221; &gt;}<\/p>\n<p>02 #+ Version..: T100-ERP-1.00.00(SD\u7248\u6b21:2,PR\u7248\u6b21:2) Build-000060<\/p>\n<p>03 #+ Filename&#8230;: arti305<\/p>\n<p>04 #+ Description: \u6d41\u901a\u5546\u54c1\u5206\u7fa4\u7ef4\u62a4\u4f5c\u4e1a<\/p>\n<p>05 #+ Creator&#8230;.: 01752(2013\/11\/05)<\/p>\n<p>06 #+ Modifier&#8230;: 01752(2014\/07\/24) -SD\/PR- 01752(2014\/07\/24)<\/p>\n<p>07 #+ Buildtype..: \u5e94\u7528 i01 \u6837\u677f\u81ea\u52a8\u4ea7\u751f<\/p>\n<p>08 #+ \u4ee5\u4e0a\u6bb5\u843d\u7531\u5b50\u6837\u677fa00\u4ea7\u751f<\/p>\n<p>09 {&lt;\/section&gt;}<\/p>\n<p>\u5f15\u5165\u53ca\u5168\u5c40\u53d8\u91cf\u8bbe\u5b9a<\/p>\n<p>11 {&lt;section id=&#8221;arti305.global&#8221; &gt;}<\/p>\n<p>12 #\u5e94\u7528 i01 \u6837\u677f\u81ea\u52a8\u4ea7\u751f(Version:16)<\/p>\n<p>13 IMPORT os<\/p>\n<p>14 #add-point:\u589e\u52a0\u6c47\u5165\u9879\u76ee<\/p>\n<p>15 \u7a0b\u5e8f\u4e2d\u82e5\u9700\u4f7f\u7528JAVA\u6216Genero\u539f\u751flib\u5747\u987b\u5728\u6b64\u5904\u8bbe\u7f6eIMPORT<\/p>\n<p>16 #end add-point<\/p>\n<p>17 SCHEMA ds<\/p>\n<p>18 GLOBALS &#8220;..\/..\/cfg\/top_global.inc&#8221; # cfg\/top_global.inc\u4e2d\u5b58\u653e\u4e86\u6240\u6709T100\u7cfb\u7edf\u4e2d\u6240\u9700\u4f7f\u7528\u7684\u53d8\u91cf\uff0c\u4e8e\u6b64\u5904\u5f15\u5165<\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>\u5728top.global\u4e0b\u8bbe\u5b9a\u7684\u53d8\u91cf\u6709\u8bb8\u591a\u662f\u5728\u7a0b\u5e8f\u6267\u884c\u65f6\u5e38\u4f1a\u5f15\u7528\u6216\u53d8\u52a8\u7684\u3002\u4ee5\u4e0b\u5217\u51fa\u8f83\u4e3a\u5e38\u7528\u7684\u76f8\u5173\u53d8\u91cf\uff0c\u8be6\u7ec6\u5b9a\u4e49\u90e8\u5206\u8bf7\u53c2\u7167\u7cfb\u7edf\u8bf4\u660e\u3002<\/p>\n<p>g_enterprise \u76ee\u524d\u7684\u4f01\u4e1a\u4ee3\u7801\uff0c\u5c06\u9650\u5236\u7528\u6237\u6240\u80fd\u9605\u8bfb\u7684\u6570\u636e\u5185\u5bb9<\/p>\n<p>g_prog \u76ee\u524d\u6267\u884c\u7684\u4f5c\u4e1a\u7f16\u53f7\uff0c\u7528\u4e8e\u53d8\u6362\u753b\u9762\u663e\u793a\u6570\u636e\u4e0e\u4ea7\u751f\u7cfb\u7edf\u4fe1\u606f\uff0c\u4e0d\u53ef\u53d8\u66f4<\/p>\n<p>g_code \u76ee\u524d\u6267\u884c\u7684\u7a0b\u5e8f\u4ee3\u7801(4gl)\u540d\u79f0\uff0c\u4e0d\u53ef\u53d8\u66f4<\/p>\n<p>g_user \u76ee\u524d\u7528\u6237\u4ee3\u7801\uff0c\u5c06\u7eaa\u5f55\u7528\u6237\u7684\u64cd\u4f5c\u5386\u7a0b\u4e0e\u6743\u9650\u63a7\u5236\uff0c\u4e0d\u53ef\u53d8\u66f4<\/p>\n<p>g_qryparam \u52a8\u6001\u5f00\u7a97\u67e5\u8be2\u51fd\u5f0f\u6570\u636e\u4f20\u9012\u53d8\u91cf\uff0c\u4f7f\u7528\u5f00\u7a97\u529f\u80fd\u65f6\u987b\u5148\u7ed9\u4e88\u76f8\u5173\u53d8\u91cf<\/p>\n<p>g_dlang \u76ee\u524d\u7528\u6237\u6240\u9009\u53d6\u7684\u6570\u636e\u591a\u8bed\u8a00\u8bed\u7cfb\u4ee3\u7801\uff0c\u53ef\u900f\u8fc7\u5de5\u5177\u8fdb\u884c\u8bed\u7cfb\u8bbe\u5b9a<\/p>\n<p>g_site \u76ee\u524d\u7684\u8425\u8fd0\u636e\u70b9\u540d\u79f0\uff0c\u53ef\u900f\u8fc7\u5207\u6362\u8bfb\u53d6\u4e0d\u540c\u636e\u70b9\u7684\u6570\u636e<\/p>\n<p>g_errparam\u9519\u8bef\u4ee3\u7801\u4f20\u9012\u53d8\u91cf\uff0c\u900f\u8fc7\u6b64\u53d8\u91cf\u53ef\u63a7\u5236\u9519\u8bef\u4ee3\u7801\u7684\u663e\u793a\u5185\u5bb9\u4e0e\u6a21\u5f0f<\/p>\n<p>\u9664\u4e0a\u5217\u5916\u8fd8\u6709\uff1a<\/p>\n<p>g_bgjob \u8be5\u652f\u7a0b\u5e8f\u662f\u5426\u4ee5\u80cc\u666f\u6a21\u5f0f\u6267\u884c,g_today \u4eca\u65e5\u65e5\u671f,g_max_browse \u6d4f\u89c8\u9875\u7b7e\u6570\u636e\u6700\u5927\u7b14\u6570\u4e0a\u9650, g_max_rec \u5355\u8eab\u8d44\u6599\u6700\u5927\u7b14\u6570\u4e0a\u9650 \u2026 \u7b49\u7b49\u3002<\/p>\n<p>19 #add-point:\u589e\u52a0\u6c47\u5165\u53d8\u91cf\u6587\u4ef6<\/p>\n<p>20 \u90e8\u5206\u5927\u578b\u7a0b\u5e8f\u9700\u8981\u62e5\u6709\u81ea\u5df1\u7684inc\u53c2\u6570\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u81ea\u884c\u4e8e\u6b64\u5904\u6c47\u5165<\/p>\n<p>21 #end add-point<\/p>\n<p>22 #\u5355\u5934 type \u5ba3\u544a<\/p>\n<p>23 PRIVATE TYPE type_g_imck_m RECORD #\u7a0b\u5e8f\u9700\u4f7f\u7528\u7684\u5168\u5c40\u53d8\u91cf\uff0c\u53d8\u91cf\u6570\u636e\u4ece\u753b\u9762\u5b57\u6bb5\u53d6\u51fa\uff0c\u4e0d\u53ef\u589e\u51cf<\/p>\n<p>24 imck001 LIKE imck_t.imck001,<\/p>\n<p>25 &#8230;<\/p>\n<p>26 END RECORD<\/p>\n<p>27 #\u6a21\u5757\u53d8\u91cf(Module Variables)<\/p>\n<p>28 DEFINE g_imck_m type_g_imck_m #\u5355\u5934\u53d8\u91cf\u5ba3\u544a<\/p>\n<p>29 &#8230;<\/p>\n<p>30 DEFINE g_browser DYNAMIC ARRAY OF RECORD #\u67e5\u8be2\u65b9\u6848\u7528\u6570\u7ec4<\/p>\n<p>31 b_statepic LIKE type_t.chr50,<\/p>\n<p>32 b_imck001 LIKE imck_t.imck001<\/p>\n<p>33 END RECORD #\u8b8a\u6578\u5b9a\u7fa9\u6642\u82e5\u9700\u8981\u53c3\u7167\u8cc7\u6599\u578b\u614b\uff0c\u4f46\u5c6c\u65bcformonly\u6b04\u4f4d\uff0c\u5247\u53c3\u7167type_t<\/p>\n<p>34 #\u5355\u5934\u591a\u8bed\u8a00\u7528<\/p>\n<p>35 DEFINE g_master_multi_table_t RECORD<\/p>\n<p>36 DEFINE g_wc STRING #\u50a8\u5b58\u67e5\u8be2\u6761\u4ef6<\/p>\n<p>37 DEFINE gwin_curr ui.Window #Current Window<\/p>\n<p>38 DEFINE gfrm_curr ui.Form #Current Form<\/p>\n<p>39 #add-point:\u4f20\u5165\u53c2\u6570\u8bf4\u660e(global.argv)<\/p>\n<p>40 \u7a0b\u5e8f\u4e2d\u82e5\u9700\u8981\u81ea\u884c\u589e\u52a0\u8981\u7528\u7684\u5168\u5c40\u53d8\u91cf\u5219\u53ef\u4e8e\u6b64\u5904\u8bbe\u5b9a<\/p>\n<p># Form\u548ccurrent window\u90fd\u6709\u6307\u5b9a\u5168\u57df\u7269\u4ef6\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7269\u4ef6\u64cd\u4f5c<\/p>\n<p>41 #end add-point<\/p>\n<p>42 #add-point:\u4f20\u5165\u53c2\u6570\u8bf4\u660e(global.argv)<\/p>\n<p>43 \u81ea\u52a8\u8865\u5165 azzi900\u7684\u53c2\u6570\u5b9a\u4e49\u8bf4\u660e\u7279\u522b\u5199\u6cd5<\/p>\n<p>44 #argv[1] imaa_t.imaa002<\/p>\n<p>45 #argv[2] type_t.chr1 #\u6d4b\u8bd5\u7528\u53c2\u6570<\/p>\n<p>46 #end add-point<\/p>\n<p>47 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.2\u4e3b\u7a0b\u5e8f<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.main&#8221; &gt;}<\/p>\n<p>02 #+ \u6b64\u6bb5\u843d\u7531\u5b50\u6837\u677fa26\u4ea7\u751f<\/p>\n<p>03 #OPTIONS SHORT CIRCUIT<\/p>\n<p>04 #+ \u4f5c\u4e1a\u5f00\u59cb<\/p>\n<p>\u7565<\/p>\n<p>10 MAIN<\/p>\n<p>11 #add-point:main\u6bb5define<\/p>\n<p>12 \u6240\u6709FUNCTION\u5f00\u59cb\u5904\u5747\u6709\u9884\u8bbeadd-point\u63d0\u4f9b\u7f6e\u653e\u672c\u533a\u9700\u8981\u7684\u53d8\u91cf\u8bbe\u5b9a(\u6807\u51c6\u533a\u7528)\uff0c\u540e\u7eed\u4e0d\u518d\u5448\u73b0<\/p>\n<p>13 #end add-point<\/p>\n<p>14 #add-point:main\u6bb5define<\/p>\n<p>15 \u6240\u6709FUNCTION\u5f00\u59cb\u5904\u5747\u6709\u9884\u8bbeadd-point\u63d0\u4f9b\u7f6e\u653e\u672c\u533a\u9700\u8981\u7684\u53d8\u91cf\u8bbe\u5b9a(\u5ba2\u5236\u533a\u7528)\uff0c\u540e\u7eed\u4e0d\u518d\u5448\u73b0<\/p>\n<p>16 #end add-point<\/p>\n<p>17 OPTIONS<\/p>\n<p>18 INPUT NO WRAP<\/p>\n<p>19 DEFER INTERRUPT<\/p>\n<p>20<\/p>\n<p>21 #\u8bbe\u5b9aSQL\u9519\u8bef\u8bb0\u5f55\u65b9\u5f0f (\u6a21\u5757\u5185\u5b9a\u4e49\u6709\u6548)<\/p>\n<p>22 WHENEVER ERROR CALL cl_err_msg_log #\u7576\u7a0b\u5f0f\u904b\u884c\u4e2d\u906d\u9047\u4e0d\u53ef\u9810\u671f\u7684\u932f\u8aa4\u6642\u5c07\u932f\u8aa4\u8cc7\u8a0a\u5beb\u5165Log\u6a94\u5167<\/p>\n<p>&nbsp;<\/p>\n<p>23 #\u4f9d\u6a21\u5757\u8fdb\u884c\u7cfb\u7edf\u521d\u59cb\u5316\u8bbe\u5b9a(\u7cfb\u7edf\u8bbe\u5b9a)<\/p>\n<p>24 CALL cl_ap_init(&#8220;art&#8221;,&#8221;&#8221;) #\u7cfb\u7d71\u521d\u59cb\u5316\uff1a\u7d00\u9304\u76f8\u95dc\u7684\u8cc7\u8a0a(\u4f8b\u5982\u7a0b\u5f0f\u958b\u555f\u6642\u9593\u3001\u4f7f\u7528\u8005\u540d\u7a31\u7b49\u8cc7\u8a0a)<\/p>\n<p>25 #LOCK CURSOR (identifier)<\/p>\n<p>26 #add-point:SQL_define<\/p>\n<p>27 \u82e5\u4e0d\u613f\u4f7f\u7528\u4ea7\u751f\u5668\u4ea7\u51fa\u7684LOCK CURSOR\uff0c\u5219\u6b64\u5904\u53ef\u4ee5\u4f7f\u7528mark=y\u6807\u8bb0<\/p>\n<p>28 #end add-point<\/p>\n<p>29 LET g_forupd_sql = &#8221; SELECT &#8230; WHERE imckent= ? AND imck001=? FOR UPDATE&#8221;<\/p>\n<p>30 #add-point:SQL_define<\/p>\n<p>31 \u5f53\u4f7f\u7528mark=y\u6807\u8bb0\u65f6\uff0c\u5fc5\u987b\u4ece\u6b64\u5904\u8bbe\u5b9a\u60a8\u6240\u9700\u8981\u7684LOCK CURSOR<\/p>\n<p>32 #end add-point<\/p>\n<p>33 LET g_forupd_sql = cl_sql_forupd(g_forupd_sql) #\u8f6c\u6362\u4e0d\u540c\u6570\u636e\u5e93\u8bed\u6cd5<\/p>\n<p>34 LET g_forupd_sql = cl_sql_add_mask(g_forupd_sql) #\u906e\u853d\u7279\u5b9a\u8d44\u6599<\/p>\n<p>35 DECLARE arti305_cl CURSOR FROM g_forupd_sql # LOCK CURSOR<\/p>\n<p>41 LET g_sql = &#8221; SELECT UNIQUE t0.imck001,&#8230;&#8221;<\/p>\n<p>42 PREPARE arti305_master_referesh FROM g_sql<\/p>\n<p>43 IF g_bgjob = &#8220;Y&#8221; THEN<\/p>\n<p>44 #add-point:Service Call<\/p>\n<p>45 \u82e5\u7a0b\u5e8f\u4e3a\u80cc\u666f\u4f5c\u4e1a\uff0c\u5219\u5728\u6b64\u5904\u5b9a\u4e49\u5176\u884c\u4e3a<\/p>\n<p>46 #end add-point<\/p>\n<p>47 ELSE<\/p>\n<p>48 #\u753b\u9762\u5f00\u542f (identifier)<\/p>\n<p>49 OPEN WINDOW w_arti305 WITH FORM cl_ap_formpath(&#8220;art&#8221;,g_code)<\/p>\n<p>50 #\u753b\u9762\u8d44\u6599\u521d\u59cb\u5316<\/p>\n<p>51 CALL cl_ui_init() #\u6839\u64da\u8a72\u7a0b\u5f0f\u7684\u8a2d\u5b9a\u9032\u884c\u756b\u9762\u521d\u59cb\u5316, \u4e26\u532f\u5165ToolBar, TopMenu\u7684\u8cc7\u8a0a<\/p>\n<p>\u5b50\u756b\u9762\u986f\u793a\u6a19\u984c\u4e5f\u9700\u8981\u547c\u53eb<\/p>\n<p>52 #\u7a0b\u5e8f\u521d\u59cb\u5316<\/p>\n<p>53 CALL arti305_init()<\/p>\n<p>54 #\u8fdb\u5165\u9009\u5355 Menu (=&#8221;N&#8221;)<\/p>\n<p>55 CALL arti305_ui_dialog()<\/p>\n<p>56 #add-point:\u753b\u9762\u5173\u95ed\u524d<\/p>\n<p>57 \u753b\u9762\u5173\u95ed\u524d\u5982\u679c\u6709\u9700\u8981\u76f8\u5173\u7684\u5904\u7406\uff0c\u8bf7\u589e\u52a0\u4e8e\u6b64\u5904<\/p>\n<p>58 #end add-point<\/p>\n<p>59 #\u753b\u9762\u5173\u95ed<\/p>\n<p>60 CLOSE WINDOW w_arti305<\/p>\n<p>61 END IF<\/p>\n<p>62 CLOSE arti305_cl<\/p>\n<p>63 #add-point:\u4f5c\u4e1a\u79bb\u5f00\u524d<\/p>\n<p>64 \u7a0b\u5e8f\u5173\u95ed\u524d\u5982\u679c\u6709\u9700\u8981\u76f8\u5173\u7684\u5904\u7406\uff0c\u8bf7\u589e\u52a0\u4e8e\u6b64\u5904<\/p>\n<p>65 #end add-point<\/p>\n<p>66 #\u79bb\u5f00\u4f5c\u4e1a<\/p>\n<p>67 CALL cl_ap_exitprogram(&#8220;0&#8221;) #\u7a0b\u5f0f\u7d50\u675f\u6642\u9700\u547c\u53ebcl_ap_exitprogram, \u7d00\u9304\u6240\u9700\u7684\u76f8\u95dc\u8cc7\u8a0a<\/p>\n<p>68 END MAIN<\/p>\n<p>69 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.3 _init\u521d\u59cb\u5316<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.init&#8221; &gt;}<\/p>\n<p>02 #+ \u7a0b\u5e8f\u6570\u636e\u521d\u59cb\u5316 \u7a0b\u5f0f\u6240\u9700\u7684\u76f8\u95dc\u521d\u59cb\u5316\u7686\u5b9a\u7fa9\u65bc\u6b64(combobox\u8a2d\u5b9a\u3001\u8b8a\u6578\u8a2d\u5b9a\u3001\u756b\u9762\u8a2d\u5b9a\u7b49)<\/p>\n<p>03 PRIVATE FUNCTION arti305_init()<\/p>\n<p>\u7565<\/p>\n<p>10 #\u5b9a\u4e49combobox\u72b6\u6001<\/p>\n<p>11 CALL cl_set_combo_scc_part(&#8216;imckstus&#8217;,&#8217;17&#8217;,&#8217;N,Y&#8217;) #\u6b64\u4e3a\u4ea7\u751f\u5668\u4f9d\u636e\u753b\u9762\u6570\u636e\u4ea7\u51fa<\/p>\n<p>\u7565<\/p>\n<p>15 LET g_error_show = 1<\/p>\n<p>16 LET gwin_curr = ui.Window.getCurrent()<\/p>\n<p>17 LET gfrm_curr = gwin_curr.getForm()<\/p>\n<p>18 #add-point:\u753b\u9762\u8d44\u6599\u521d\u59cb\u5316<\/p>\n<p>19 #end add-point<\/p>\n<p>20 #\u6839\u636e\u5916\u90e8\u53c2\u6570\u8fdb\u884c\u641c\u5bfb<\/p>\n<p>21 CALL arti305_default_search()<\/p>\n<p>22 END FUNCTION<\/p>\n<p>23 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.4 _default_search \u6267\u884c\u540e\u9996\u6b21\u67e5\u8be2\u6570\u636e<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.default_search&#8221; &gt;}<\/p>\n<p>02 #+ \u5916\u90e8\u53c2\u6570\u641c\u5bfb<\/p>\n<p>#\u7a0b\u5f0f\u555f\u52d5\u6642\u9808\u5148\u7d93\u904e\u6b64\u6bb5\u843d, \u82e5\u6709\u5916\u90e8\u53c3\u6578\u6216\u9810\u8a2d\u7684\u67e5\u8a62\u65b9\u6848\u6642\u5247\u5e36\u51fa\u76f8\u95dc\u8cc7\u6599, \u82e5\u7121\u5247\u4e0d\u505a\u4efb\u4f55\u8655\u7406<\/p>\n<p>03 PRIVATE FUNCTION arti305_default_search()<\/p>\n<p>04 DEFINE li_idx LIKE type_t.num10<\/p>\n<p>\u7565<\/p>\n<p>05 IF cl_null(g_order) THEN<\/p>\n<p>06 LET g_order = &#8220;ASC&#8221;<\/p>\n<p>07 END IF<\/p>\n<p>#\u6839\u64da\u5916\u90e8\u53c3\u6578\u7d44\u5408g_wc, \u82e5\u6c92\u6709\u50b3\u905e\u53c3\u6578\u5247\u53d6\u51fa\u8a72\u7a0b\u5f0f\u7684\u9810\u8a2d\u67e5\u5c0b\u65b9\u6848, \u82e5\u7121\u8a2d\u5b9a\u67e5\u8a62\u65b9\u6848\u5247\u56de\u50b31=2 (\u4e0d\u641c\u5c0b\u4efb\u4f55\u8cc7\u6599)<\/p>\n<p>08 #\u6839\u636e\u5916\u90e8\u53c2\u6570(g_argv)\u7ec4\u5408wc<\/p>\n<p>09 IF NOT cl_null(g_argv[01]) THEN<\/p>\n<p>10 LET ls_wc = ls_wc, &#8221; imck001 = &#8216;&#8221;, g_argv[01], &#8220;&#8216; AND &#8221;<\/p>\n<p>11 END IF<\/p>\n<p>12 #add-point:default_search\u6bb5after sql<\/p>\n<p>13<\/p>\n<p>14 #end add-point<\/p>\n<p>15 IF NOT cl_null(ls_wc) THEN<\/p>\n<p>16 #\u82e5\u6709\u5916\u90e8\u53c2\u6570\u5219\u6839\u636e\u8be5\u53c2\u6570\u7ec4\u5408<\/p>\n<p>17 LET g_wc = ls_wc.subString(1,ls_wc.getLength()-5)<\/p>\n<p>18 LET g_default = TRUE<\/p>\n<p>19 ELSE<\/p>\n<p>20 #\u82e5\u65e0\u5916\u90e8\u53c2\u6570\u5219\u9884\u8bbe\u4e3a 1=2<\/p>\n<p>21 LET g_default = FALSE<\/p>\n<p>22 #\u9884\u8bbe\u67e5\u8be2\u6761\u4ef6<\/p>\n<p>23 LET g_wc = cl_qbe_get_default_qryplan()<\/p>\n<p>24 IF cl_null(g_wc) THEN<\/p>\n<p>25 LET g_wc = &#8221; 1=2&#8243;<\/p>\n<p>26 END IF<\/p>\n<p>27 END IF<\/p>\n<p>\u7565<\/p>\n<p>30 IF g_wc.getIndexOf(&#8221; 1=2&#8243;, 1) THEN<\/p>\n<p>31 LET g_default = TRUE<\/p>\n<p>32 END IF<\/p>\n<p>33 END FUNCTION<\/p>\n<p>34 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.5 _ui_dialog\u64cd\u4f5c\u529f\u80fd\u9009\u5355<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.ui_dialog&#8221; &gt;}<\/p>\n<p>02 #+ \u9009\u5355\u529f\u80fd\u5b9e\u9645\u6267\u884c\u5904<\/p>\n<p>03 PRIVATE FUNCTION arti305_ui_dialog()<\/p>\n<p>04 DEFINE li_exit LIKE type_t.num5 #\u5224\u522b\u662f\u5426\u4e3a\u79bb\u5f00\u4f5c\u4e1a<\/p>\n<p>05 DEFINE ls_wc STRING #wc\u7528<\/p>\n<p>06 DEFINE la_param RECORD #\u7a0b\u5e8f\u4e32\u67e5\u7528\u53d8\u91cf<\/p>\n<p>07 prog STRING, #\u4e32\u67e5\u7a0b\u5e8f\u540d\u79f0<\/p>\n<p>08 param DYNAMIC ARRAY OF STRING #\u4f20\u9012\u53d8\u6570<\/p>\n<p>09 END RECORD<\/p>\n<p>10 DEFINE ls_js STRING #\u8f6c\u6362\u540e\u7684json\u5b57\u7b26\u4e32<\/p>\n<p>\u7565<\/p>\n<p>21 LET li_exit = FALSE<\/p>\n<p>22 LET g_current_row = 0<\/p>\n<p>23 LET g_current_idx = 1<\/p>\n<p>26 #\u82e5\u6709\u5916\u90e8\u53c2\u6570\u67e5\u8be2, \u5219\u76f4\u63a5\u663e\u793a\u6570\u636e(\u9690\u85cf\u67e5\u8be2\u65b9\u6848)<\/p>\n<p>27 IF g_default THEN<\/p>\n<p>28 CALL gfrm_curr.setElementHidden(&#8220;mainlayout&#8221;,0)<\/p>\n<p>29 CALL gfrm_curr.setElementHidden(&#8220;worksheet&#8221;,1)<\/p>\n<p>30 LET g_main_hidden = 0<\/p>\n<p>31 ELSE<\/p>\n<p>32 CALL gfrm_curr.setElementHidden(&#8220;mainlayout&#8221;,1)<\/p>\n<p>33 CALL gfrm_curr.setElementHidden(&#8220;worksheet&#8221;,0)<\/p>\n<p>34 LET g_main_hidden = 1<\/p>\n<p>35 END IF<\/p>\n<p>41 #\u8fdb\u5165\u7a0b\u5e8f\u65f6\u9ed8\u8ba4\u6267\u884c\u7684\u52a8\u4f5c<\/p>\n<p>42 CASE g_actdefault<\/p>\n<p>43 WHEN &#8220;insert&#8221;<\/p>\n<p>44 IF cl_auth_chk_act(&#8220;insert&#8221;) THEN<\/p>\n<p>45 CALL azzi020_insert()<\/p>\n<p>46 END IF<\/p>\n<p>47 #add-point:action default\u81ea\u5b9a\u4e49<\/p>\n<p>48 \u82e5\u9700\u8981\u5e26\u53c2\u6570\uff0c\u6307\u5b9a\u8fdb\u6765\u7a0b\u5e8f\u5c31\u8981\u505a\u67d0\u67d0\u5de5\u4f5c\u65f6\uff0c\u53ef\u4ee5\u4e8e\u6b64\u5904\u8bbe\u5b9aaction<\/p>\n<p>49 #end add-point<\/p>\n<p>\u6839\u64dag_main_hidden\u6c7a\u5b9a\u9032\u5165menu\u6bb5\u843d\u6216dailog\u6bb5\u843d, \u5167\u90e8\u7684\u884c\u70ba\u76f8\u540c, \u4f46dialog\u6bb5\u589e\u52a0\u4e86display array (browser)<\/p>\n<p>50 END CASE<\/p>\n<p>\u7565<\/p>\n<p>61 #add-point:ui_dialog\u6bb5before dialog<\/p>\n<p>62 \u5f00\u59cb\u8fdb\u5165\u9009\u5355\u524d\u7684\u524d\u7f6e\u5904\u7406<\/p>\n<p>63 #end add-point<\/p>\n<p>64 WHILE li_exit = FALSE<\/p>\n<p>65 IF g_action_choice = &#8220;logistics&#8221; THEN<\/p>\n<p>\u7576\u4f7f\u7528\u8005\u9032\u884c\u71df\u904b\u64da\u9ede\u5207\u63db\u6642\u6703\u96e2\u958bdialog\u4e26\u91cd\u65b0\u9032\u5165, \u8996\u540c\u91cd\u555f\u7a0b\u5f0f, \u6e05\u7a7a\u756b\u9762\u4e0a\u5df2\u7d93\u67e5\u8a62\u689d\u4ef6\u7b49\u8cc7\u8a0a<\/p>\n<p>66 #\u6e05\u9664\u753b\u9762\u53ca\u76f8\u5173\u8d44\u6599<\/p>\n<p>67 CLEAR FORM<\/p>\n<p>68 CALL g_browser.clear()<\/p>\n<p>69 INITIALIZE g_imck_m.* TO NULL<\/p>\n<p>70 LET g_wc = &#8216; 1=2&#8217;<\/p>\n<p>71 LET g_action_choice = &#8220;&#8221;<\/p>\n<p>72 CALL arti305_init ()<\/p>\n<p>73 END IF<\/p>\n<p>74 #\u786e\u4fddg_current_idx\u4f4d\u4e8e\u6b63\u5e38\u533a\u95f4\u5185<\/p>\n<p>\u907f\u514d\u904e\u7a0b\u4e2d\u7684\u6bb5\u843d\u5c0e\u81f4\u7b46\u6578\u843d\u5728\u4e0d\u6b63\u5e38\u7684\u5340\u9593\u5167, \u91cd\u65b0\u7d66\u4e88\u6307\u6a19\u5167\u5bb9<\/p>\n<p>75 #\u5c0f\u4e8e,\u7b49\u4e8e0\u5219\u6307\u5230\u7b2c1\u7b14<\/p>\n<p>76 IF g_current_idx &lt;= 0 THEN<\/p>\n<p>77 LET g_current_idx = 1<\/p>\n<p>78 END IF<\/p>\n<p>79 CALL lib_cl_dlg.cl_dlg_before_display()<\/p>\n<p>\u6b64\u8655\u5305\u542b\u4e86\u8a31\u591a\u7cfb\u7d71\u6a19\u6e96ACTION, accept(\u78ba\u5b9a), cancel(\u653e\u68c4), insert(\u65b0\u589e), modify(\u4fee\u6539), query(\u67e5\u8a62), delete(\u522a\u9664),<\/p>\n<p>reproduce(\u8907\u88fd), first(\u4e0a\u4e00\u7b46),<\/p>\n<p>next(\u4e0b\u4e00\u7b46) \u2026 \u7b49\u7b49<\/p>\n<p>80 CALL cl_notice()<\/p>\n<p>81<\/p>\n<p>82 IF g_main_hidden = 0 THEN<\/p>\n<p>83 MENU<\/p>\n<p>84 BEFORE MENU<\/p>\n<p>85 CALL arti305_browser_fill(g_wc,&#8221;&#8221;)<\/p>\n<p>86 CALL cl_navigator_setting(g_current_idx, g_current_cnt)<\/p>\n<p>87 #\u8fd8\u539f\u4e3a\u539f\u672c\u6307\u5b9a\u7b14\u6570<\/p>\n<p>\u7565<\/p>\n<p>88 #\u5f53\u6bcf\u6b21\u70b9\u4efb\u4e00\u7b14\u6570\u636e\u90fd\u4f1a\u9700\u8981\u7528\u5230<\/p>\n<p>89 IF g_browser_cnt &gt; 0 THEN<\/p>\n<p>90 CALL arti305_fetch(&#8220;&#8221;)<\/p>\n<p>91 END IF<\/p>\n<p>92 #add-point:ui_dialog\u6bb5 before menu<\/p>\n<p>93 \u5728\u5bf9\u8bdd\u6846\u4e4b\u5185\u7684\u63a7\u5236\u533a\u5757\uff0c\u6bcf\u4e00\u5757\u540e\u65b9\u90fd\u4f1a\u7ed9\u4e88add-point<\/p>\n<p>94 #end add-point<\/p>\n<p>96<\/p>\n<p>96 #\u72b6\u6001\u4ee3\u7801\u5207\u6362<\/p>\n<p>97 ON ACTION statechange<\/p>\n<p>99 CALL arti305_statechange()<\/p>\n<p>100 LET g_action_choice=&#8221;statechange&#8221;<\/p>\n<p>\u900f\u904einclude\u7684\u65b9\u5f0f\u5f15\u5165\u6a19\u6e96action,\u6b64\u8655\u8207\u4e0b\u500b\u6bb5\u843d\u4e2d\u7684dialog\u7686\u5305\u542b\u4e86\u4e09\u500b\u6bb5\u843d\u7684\u6a19\u6e96action<\/p>\n<p>101 #\u7b2c\u4e00\u7b14\u8d44\u6599<\/p>\n<p>102 ON ACTION first<\/p>\n<p>103 CALL arti305_fetch(&#8220;F&#8221;)<\/p>\n<p>104 LET g_current_row = g_current_idx<\/p>\n<p>\u7565<\/p>\n<p>105 #\u4e3b\u9009\u5355\u7528ACTION<\/p>\n<p>dialog\u8207menu\u6bb5\u4e3b\u8981\u5dee\u7570\u70ba\u591a\u4e86display array\u7684\u6bb5\u843d(\u986f\u793a\u700f\u89bd\u9801\u7c64), \u5176\u9918\u5167\u5bb9\u7686\u76f8\u540c<\/p>\n<p>106 &amp;include &#8220;main_menu_exit_menu.4gl&#8221;<\/p>\n<p>107 &amp;include &#8220;relating_action.4gl&#8221;<\/p>\n<p>108 #\u4ea4\u8c08\u6307\u4ee4\u5171\u4eabACTION<\/p>\n<p>109 &amp;include &#8220;common_action.4gl&#8221;<\/p>\n<p>110 END MENU<\/p>\n<p>111 ELSE<\/p>\n<p>112 DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)<\/p>\n<p>113 #\u5de6\u4fa7\u6d4f\u89c8\u9875\u7b7e<\/p>\n<p>114 DISPLAY ARRAY g_browser TO s_browse.* ATTRIBUTE(COUNT=g_rec_b)<\/p>\n<p>115 BEFORE ROW<\/p>\n<p>116 #\u56de\u5f52\u65e7\u7b14\u6570\u4f4d\u7f6e (\u56de\u5230\u5f53\u65f6\u5f02\u52a8\u7684\u7b14\u6570)<\/p>\n<p>117 LET g_current_idx = DIALOG.getCurrentRow(&#8220;s_browse&#8221;)<\/p>\n<p>118 IF g_current_idx = 0 THEN<\/p>\n<p>119 LET g_current_idx = 1<\/p>\n<p>120 END IF<\/p>\n<p>121 LET g_current_row = g_current_idx #\u76ee\u524d\u6307\u6807<\/p>\n<p>122 LET g_current_sw = TRUE<\/p>\n<p>\u78ba\u4fdd\u9032\u5230\u700f\u89bd\u9801\u7c64\u6642\u53ef\u4ee5\u56de\u5230\u4e0a\u4e00\u6b21\u6307\u5b9a\u7684\u7b46\u6578<\/p>\n<p>123 CALL cl_show_fld_cont()<\/p>\n<p>124 #\u5f53\u6bcf\u6b21\u70b9\u4efb\u4e00\u7b14\u6570\u636e\u90fd\u4f1a\u9700\u8981\u7528\u5230<\/p>\n<p>125 CALL arti305_fetch(&#8220;&#8221;)<\/p>\n<p>126 END DISPLAY<\/p>\n<p>127<\/p>\n<p>128 BEFORE DIALOG<\/p>\n<p>129 #\u5148\u586b\u5145browser\u6570\u636e<\/p>\n<p>130 CALL arti305_browser_fill(g_wc,&#8221;&#8221;)<\/p>\n<p>131<\/p>\n<p>132 #\u5f53\u6bcf\u6b21\u70b9\u4efb\u4e00\u7b14\u6570\u636e\u90fd\u4f1a\u9700\u8981\u7528\u5230<\/p>\n<p>133 IF g_browser_cnt &gt; 0 THEN<\/p>\n<p>134 CALL arti305_fetch(&#8220;&#8221;)<\/p>\n<p>135 END IF<\/p>\n<p>136<\/p>\n<p>137 #\u67e5\u8be2\u65b9\u6848\u7528<\/p>\n<p>138 SUBDIALOG lib_cl_dlg.cl_dlg_qryplan<\/p>\n<p>139 SUBDIALOG lib_cl_dlg.cl_dlg_relateapps<\/p>\n<p>\u7565 \u5176\u4ed6\u90e8\u5206\u4e0eMENU\u6bb5\u76f8\u540c<\/p>\n<p>144 &amp;include &#8220;main_menu_exit_dialog.4gl&#8221;<\/p>\n<p>145 END DIALOG<\/p>\n<p>146 END IF<\/p>\n<p>147 END WHILE<\/p>\n<p>148 END FUNCTION<\/p>\n<p>149 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.6 _browser_fill\u6d4f\u89c8\u9875\u7b7e\u6570\u636e\u586b\u5145<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.browser_fill&#8221; &gt;}<\/p>\n<p>\u6488\u53d6\u55ae\u982d\u8cc7\u6599\u6642\u4e00\u5f8b\u5148\u900f\u904ebrowser_fill \u5c07\u8cc7\u6599\u586b\u5165 g_browser\u4e2d<\/p>\n<p>02 #+ \u6d4f\u89c8\u9875\u7b7e\u6570\u636e\u586b\u5145(\u4e00\u822c\u5355\u6587\u4ef6)<\/p>\n<p>03 PRIVATE FUNCTION arti305_browser_fill(p_wc,ps_page_action)<\/p>\n<p>04 DEFINE p_wc STRING<\/p>\n<p>\u7565<\/p>\n<p>11 LET p_wc = p_wc.trim() #\u5f53\u67e5\u8be2\u6309\u4e0b\u653e\u5f03 g_wc = &#8221; &#8221; \u6240\u4ee5\u8981\u6e05\u6389\u7a7a\u767d<\/p>\n<p>12 IF cl_null(p_wc) THEN #p_wc \u67e5\u8be2\u6761\u4ef6<\/p>\n<p>\u6839\u64da\u4f7f\u7528\u8005\u4e0b\u9054\u7684\u689d\u4ef6, \u6488\u53d6\u7b26\u5408\u689d\u4ef6\u7684\u8cc7\u6599\u7e3d\u7b46\u6578\u4e26\u986f\u793a\u5728\u756b\u9762\u4e0a, \u82e5\u8d85\u904e\u6700\u5927\u986f\u793a\u7b46\u6578\u5247\u63d0\u793a\u4f7f\u7528\u8005<\/p>\n<p>13 LET p_wc = &#8221; 1=1 &#8221;<\/p>\n<p>14 END IF<\/p>\n<p>15 #add-point:browser_fill\u6bb5wc\u63a7\u5236<\/p>\n<p>16 where\u6761\u4ef6 (p_wc) \u7684\u624b\u5de5\u8c03\u6574<\/p>\n<p>17 #end add-point<\/p>\n<p>18 LET g_sql = &#8221; SELECT COUNT(*) FROM imck_t &#8230;&#8221;<\/p>\n<p>19 &#8221; WHERE &#8220;,<\/p>\n<p>20 p_wc CLIPPED, cl_sql_add_filter(&#8220;gzwk_t&#8221;)<\/p>\n<p>21 #add-point:browser_fill\u6bb5cnt_sql<\/p>\n<p>22 \u5982\u679c\u6709\u9700\u8981\u81ea\u884c\u91cd\u65b0\u62df\u5b9a\u8ba1\u7b97\u7b14\u6570\u7684SQL\u6307\u4ee4\uff0c\u53ef\u4ee5\u7531\u6b64\u5904\u66f4\u65b0<\/p>\n<p>23 #end add-point<\/p>\n<p>24 PREPARE header_cnt_pre FROM g_sql<\/p>\n<p>25 EXECUTE header_cnt_pre INTO g_browser_cnt<\/p>\n<p>26 FREE header_cnt_pre<\/p>\n<p>27 #\u82e5\u8d85\u8fc7\u6700\u5927\u663e\u793a\u7b14\u6570<\/p>\n<p>28 IF g_browser_cnt &gt; g_max_browse THEN<\/p>\n<p>29 IF g_error_show = 1 THEN<\/p>\n<p>30 INITIALIZE g_errparam TO NULL<\/p>\n<p>31 LET g_errparam.extend = g_browser_cnt<\/p>\n<p>32 LET g_errparam.code = 9035<\/p>\n<p>33 LET g_errparam.popup = TRUE<\/p>\n<p>34 CALL cl_err()<\/p>\n<p>35 END IF<\/p>\n<p>36 END IF<\/p>\n<p>41 IF cl_null(g_add_browse) THEN<\/p>\n<p>42 #\u6e05\u9664\u753b\u9762<\/p>\n<p>43 CLEAR FORM<\/p>\n<p>44 INITIALIZE g_gzwk_m.* TO NULL<\/p>\n<p>45 CALL g_browser.clear()<\/p>\n<p>46 LET g_cnt = 1<\/p>\n<p>47 LET ls_wc = p_wc<\/p>\n<p>48 ELSE<\/p>\n<p>\u6839\u64da\u4f7f\u7528\u8005\u4e0b\u9054\u7684\u689d\u4ef6, \u7d44\u5408\u51fa\u6488\u53d6\u700f\u89bd\u9801\u7c64\u8cc7\u6599\u7684SQL, \u5176\u4e2d\u5305\u542b\u4e86\u4e3btable\u53ca\u76f8\u95dc\u7684reference<\/p>\n<p>49 LET ls_wc = g_add_browse<\/p>\n<p>50 LET g_cnt = g_current_idx<\/p>\n<p>51 END IF<\/p>\n<p>61 LET g_sql = &#8221; SELECT t0.gzwkstus,t0.gzwk001,t0.gzwk002,t0.gzwk003&#8243;,<\/p>\n<p>62 &#8221; FROM gzwk_t t0 &#8220;,<\/p>\n<p>63 &#8221; WHERE &#8220;, ls_wc, cl_sql_add_filter(&#8220;gzwk_t&#8221;)<\/p>\n<p>64 #add-point:browser_fill\u6bb5fill_wc<\/p>\n<p>65<\/p>\n<p>66 #end add-point<\/p>\n<p>67 LET g_sql = g_sql, &#8221; ORDER BY &#8220;,l_searchcol,&#8221; &#8220;,g_order<\/p>\n<p>68 #add-point:browser_fill\u6bb5before_pre<\/p>\n<p>69<\/p>\n<p>70 #end add-point<\/p>\n<p>71 #LET g_sql = cl_sql_add_tabid(g_sql,&#8221;gzwk_t&#8221;) #WC\u91cd\u7ec4<\/p>\n<p>72 LET g_sql = cl_sql_add_mask(g_sql) #\u906e\u853d\u7279\u5b9a\u8d44\u6599<\/p>\n<p>73 PREPARE browse_pre FROM g_sql<\/p>\n<p>74 DECLARE browse_cur CURSOR FOR browse_pre<\/p>\n<p>75 FOREACH browse_cur INTO g_browser[g_cnt].b_statepic,g_browser[g_cnt].b_imck001<\/p>\n<p>76 IF SQLCA.sqlcode THEN<\/p>\n<p>\u7565 \u9519\u8bef\u8baf\u606f<\/p>\n<p>81 END IF<\/p>\n<p>\u6839\u64da\u72c0\u614b\u78bc\u7684\u5167\u5bb9\u8abf\u6574\u700f\u89bd\u9801\u7c64\u986f\u793a\u7684\u5716\u7247, \u6b64\u8655\u986f\u793a\u7684\u70ba\u72c0\u614b\u78bc\u5c0f\u5716\u793a(\u8207\u55ae\u982d\u4e3b\u9801\u7684\u5716\u793a\u4e0d\u540c)<\/p>\n<p>82 #browser\u6bb5\u843d\u663e\u793a\u56fe\u7247<\/p>\n<p>83 CASE g_browser[g_cnt].b_statepic<\/p>\n<p>84 WHEN &#8220;N&#8221;<\/p>\n<p>85 LET g_browser[g_cnt].b_statepic = &#8220;stus\/16\/inactive.png&#8221;<\/p>\n<p>\u7565<\/p>\n<p>86 END CASE<\/p>\n<p>\u82e5\u7b46\u6578\u8d85\u51fa\u6700\u5927\u7b46\u6578\u4e0a\u9650\u5247\u4e2d\u65b7\u8cc7\u6599\u6488\u53d6, \u78ba\u4fdd\u6488\u53d6\u7684\u8cc7\u6599\u4e0d\u8d85\u904e\u8a72\u7a0b\u5f0f\u9650\u5236\u7684\u7b46\u6578\u4e0a\u9650<\/p>\n<p>91 LET g_cnt = g_cnt + 1<\/p>\n<p>92 IF g_cnt &gt; g_max_rec THEN<\/p>\n<p>93 EXIT FOREACH<\/p>\n<p>94 END IF<\/p>\n<p>95 END FOREACH<\/p>\n<p>96 #\u6e05\u7a7ag_add_browse, \u5e76\u6307\u5b9a\u6307\u9488\u4f4d\u7f6e<\/p>\n<p>97 IF NOT cl_null(g_add_browse) THEN<\/p>\n<p>98 LET g_add_browse = &#8220;&#8221;<\/p>\n<p>99 CALL g_curr_diag.setCurrentRow(&#8220;s_browse&#8221;,g_current_idx)<\/p>\n<p>00 END IF<\/p>\n<p>01 IF cl_null(g_browser[g_cnt].b_gzwk001) THEN<\/p>\n<p>02 CALL g_browser.deleteElement(g_cnt)<\/p>\n<p>03 END IF<\/p>\n<p>04 LET g_header_cnt = g_browser.getLength()<\/p>\n<p>05 LET g_current_cnt = g_browser.getLength()<\/p>\n<p>06 LET g_rec_b = g_browser.getLength()<\/p>\n<p>07 LET g_cnt = 0<\/p>\n<p>\u82e5\u4f7f\u7528\u8005\u6240\u6307\u5b9a\u7684\u689d\u4ef6\u7121\u6cd5\u7b26\u5408\u7684\u8cc7\u6599\u6642\u5247\u95dc\u9589\u7279\u5b9aaction\u7684\u529f\u80fd<\/p>\n<p>08 DISPLAY g_browser_cnt TO FORMONLY.b_count<\/p>\n<p>09 DISPLAY g_browser_cnt TO FORMONLY.h_count<\/p>\n<p>10 CALL azzi020_fetch(&#8220;&#8221;)<\/p>\n<p>11 FREE browse_pre<\/p>\n<p>12 #\u82e5\u65e0\u6570\u636e\u5219\u5173\u95ed\u76f8\u5173\u529f\u80fd<\/p>\n<p>13 IF g_browser_cnt = 0 THEN<\/p>\n<p>14 CALL cl_set_act_visible(&#8220;statechange,modify,delete,reproduce&#8221;, FALSE)<\/p>\n<p>15 ELSE<\/p>\n<p>16 CALL cl_set_act_visible(&#8220;statechange,modify,delete,reproduce&#8221;, TRUE)<\/p>\n<p>17 END IF<\/p>\n<p>18 END FUNCTION<\/p>\n<p>19 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.7 _fetch \u6570\u636e\u7b14\u6570\u67e5\u8be2\u4e0e\u6570\u636e\u6293\u53d6<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.fetch&#8221; &gt;}<\/p>\n<p>\u6839\u64da\u50b3\u5165\u7684\u72c0\u614b\u986f\u793a\u5c0d\u61c9\u7684\u8cc7\u6599\u7b46\u6578, F(\u7b2c\u4e00\u7b46), N(\u4e0b\u4e00\u7b46), P(\u4e0a\u4e00\u7b46), L(\u6700\u5f8c\u7b46), \/(\u6307\u5b9a\u7b46)<\/p>\n<p>02 #+ \u6307\u5b9aPK\u540e\u6293\u53d6\u5355\u5934\u5176\u4ed6\u6570\u636e<\/p>\n<p>03 PRIVATE FUNCTION arti305_fetch(p_fl)<\/p>\n<p>\u7565<\/p>\n<p>11 #\u6839\u636e\u4f20\u5165\u7684\u6761\u4ef6\u51b3\u5b9a\u6293\u53d6\u7684\u8d44\u6599<\/p>\n<p>12 CASE p_fl<\/p>\n<p>13 WHEN &#8220;F&#8221;<\/p>\n<p>14 LET g_current_idx = 1<\/p>\n<p>15 WHEN &#8220;\/&#8221;<\/p>\n<p>16 #\u8be2\u95ee\u8981\u6307\u5b9a\u7684\u7b14\u6570<\/p>\n<p>17 IF (NOT g_no_ask) THEN<\/p>\n<p>18 CALL cl_getmsg(&#8220;fetch&#8221;, g_lang) RETURNING ls_msg<\/p>\n<p>19 LET INT_FLAG = 0<\/p>\n<p>20 PROMPT ls_msg CLIPPED,&#8221;: &#8221; FOR g_jump<\/p>\n<p>21 &amp;include &#8220;common_action.4gl&#8221; #\u4ea4\u8c08\u6307\u4ee4\u5171\u4eabACTION<\/p>\n<p>22 END PROMPT<\/p>\n<p>23 IF INT_FLAG THEN<\/p>\n<p>24 LET INT_FLAG = 0<\/p>\n<p>25 EXIT CASE<\/p>\n<p>26 END IF<\/p>\n<p>27 END IF<\/p>\n<p>28 IF g_jump &gt; 0 THEN<\/p>\n<p>29 LET g_current_idx = g_jump<\/p>\n<p>30 END IF<\/p>\n<p>31 LET g_no_ask = FALSE<\/p>\n<p>32 END CASE<\/p>\n<p>33 LET g_browser_cnt = g_browser.getLength()<\/p>\n<p>34 #\u6d4f\u89c8\u9875\u7b14\u6570\u663e\u793a<\/p>\n<p>\u7565<\/p>\n<p>35 #\u907f\u514d\u8d85\u51fabrowser\u6570\u636e\u7b14\u6570\u4e0a\u9650<\/p>\n<p>36 IF g_current_idx &gt; g_browser.getLength() THEN<\/p>\n<p>37 LET g_current_idx = g_browser.getLength()<\/p>\n<p>38 END IF<\/p>\n<p>39 # \u8bbe\u5b9abrowse\u7d22\u5f15<\/p>\n<p>40 CALL cl_navigator_setting(g_browser_idx, g_browser_cnt)<\/p>\n<p>41 #\u4ee3\u8868\u6ca1\u6709\u6570\u636e, \u65e0\u9700\u505a\u540e\u7eed\u6570\u636e\u635e\u53d6\u4e4b\u52a8\u4f5c<\/p>\n<p>42 IF g_current_idx = 0 THEN<\/p>\n<p>43 RETURN<\/p>\n<p>44 END IF<\/p>\n<p>45 #\u6839\u636e\u9009\u5b9a\u7684\u7b14\u6570\u7ed9\u4e88key\u57df\u503c<\/p>\n<p>46 LET g_imck_m.imck001 = g_browser[g_current_idx].b_imck001<\/p>\n<p>47 #\u8bfb\u53d6\u5355\u5934\u6240\u6709\u5b57\u6bb5\u6570\u636e<\/p>\n<p>48 EXECUTE arti305_master_referesh USING g_imck_m.imck001 INTO g_imck_m.imck001,&#8230;<\/p>\n<p>49 #\u5c4f\u853d\u76f8\u5173\u5904\u7406<\/p>\n<p>\u6488\u53d6\u7684\u8cc7\u6599\u6703\u5148\u9032\u884c\u5099\u4efd, \u4e26\u50b3\u5165\u5c0d\u61c9\u7684\u906e\u7f69\u51fd\u5f0f\u4e2d\u8655\u7406, \u4e26\u56de\u50b3\u8655\u7406\u5f8c\u7684\u7d50\u679c, \u518d\u5099\u4efd\u906e\u7f69\u5f8c\u7684\u7d50\u679c<\/p>\n<p>50 LET g_imck_m_mask_o.* = g_imck_m.*<\/p>\n<p>51 CALL arti305_imck_t_mask()<\/p>\n<p>52 LET g_imck_m_mask_n.* = g_imck_m.*<\/p>\n<p>53 #\u6839\u636e\u8d44\u6599\u72b6\u6001\u5207\u6362action\u72b6\u6001<\/p>\n<p>54 CALL cl_set_act_visible(&#8220;statechange,modify,delete,reproduce&#8221;, TRUE)<\/p>\n<p>55 CALL azzi020_set_act_visible()<\/p>\n<p>56 CALL azzi020_set_act_no_visible()<\/p>\n<p>57 #\u4fdd\u5b58\u5355\u5934\u65e7\u503c<\/p>\n<p>58 LET g_imck_m_t.* = g_imck_m.*<\/p>\n<p>59 LET g_imck_m_o.* = g_imck_m.*<\/p>\n<p>60 #\u91cd\u65b0\u663e\u793a<\/p>\n<p>61 CALL arti305_show()<\/p>\n<p>62 END FUNCTION<\/p>\n<p>63 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.8 _show \u6570\u636e\u663e\u793a<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.show&#8221; &gt;}<\/p>\n<p>02 #+ \u6570\u636e\u663e\u793a<\/p>\n<p>03 PRIVATE FUNCTION arti305_show()<\/p>\n<p>\u7565<\/p>\n<p>11 #\u5728browser \u79fb\u52a8\u4e0a\u4e0b\u7b14\u53ef\u4ee5\u8fde\u52a8\u5207\u6362\u6570\u636e<\/p>\n<p>12 CALL cl_show_fld_cont()<\/p>\n<p>\u82e5\u6709\u81ea\u5b9a\u7fa9\u7684reference, \u65bc\u6b64\u8655\u6488\u53d6(\u4f8b\u5982\u6b64\u8655\u7684imck105_ref\u70ba\u81ea\u5b9a\u7fa9function)<\/p>\n<p>13 CALL arti305_set_pk_array()<\/p>\n<p>14 #\u663e\u793afollowup\u56fe\u6807<\/p>\n<p>15 CALL cl_user_overview_set_follow_pic()<\/p>\n<p>16 #\u8bfb\u5165ref\u503c(\u5355\u5934)<\/p>\n<p>17 #add-point:show\u6bb5reference<\/p>\n<p>18 \u7a0b\u5e8f\u5185REFERENCE\u5b57\u6bb5SQL\u586b\u5199\u4f4d\u7f6e<\/p>\n<p>19 #end add-point<\/p>\n<p>\u6839\u64da\u7576\u4e0b\u7684\u72c0\u614b\u78bc\u8f49\u63db\u6210\u5c0d\u61c9\u7684\u5716\u7247, \u4e26\u986f\u793a\u5230\u756b\u9762\u4e0a\u7684\u72c0\u614b\u78bc\u5716\u793a\u4e0a<\/p>\n<p>20 #\u5c06\u6570\u636e\u8f93\u51fa\u5230\u753b\u9762\u4e0a<\/p>\n<p>21 DISPLAY BY NAME g_imck_m.imck001,&#8230;<\/p>\n<p>\u7565<\/p>\n<p>31 #\u663e\u793a\u72b6\u6001(stus)\u56fe\u7247<\/p>\n<p>32 CASE g_imck_m.imckstus<\/p>\n<p>33 WHEN &#8220;N&#8221;<\/p>\n<p>34 CALL gfrm_curr.setElementImage(&#8220;statechange&#8221;, &#8220;stus\/32\/inactive.png&#8221;)<\/p>\n<p>35 END CASE<\/p>\n<p>36 END FUNCTION<\/p>\n<p>37 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.9 _set_pk_array \u8bbe\u5b9aPK\u6570\u636e\u63d0\u4f9b\u76f8\u5173\u6587\u4ef6\u4f7f\u7528<\/strong><\/p>\n<p>\u5c07\u8a72\u652f\u7a0b\u5f0f\u7684key\u6b04\u4f4d\u540d\u7a31\u8207\u5167\u5bb9\u50b3\u5165g_pk_array\u4e2d, \u4ee5\u4fbf\u65bc\u5f8c\u7e8c\u76f8\u95dclib\u7684\u4f7f\u7528<\/p>\n<p>01 {&lt;section id=&#8221;arti305.set_pk_array&#8221; &gt;}<\/p>\n<p>02 #+ \u7ed9\u4e88pk_array\u5185\u5bb9<\/p>\n<p>03 PRIVATE FUNCTION arti305_set_pk_array()<\/p>\n<p>04 CALL g_pk_array.clear()<\/p>\n<p>05 LET g_pk_array[1].values = g_imck_m.imck001<\/p>\n<p>06 LET g_pk_array[1].column = &#8216;imck001&#8217;<\/p>\n<p>07 END FUNCTION<\/p>\n<p>08 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.10 _query \u6570\u636e\u67e5\u8be2<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.query&#8221; &gt;}<\/p>\n<p>02 #+ \u6570\u636e\u67e5\u8be2QBE\u529f\u80fd\u51c6\u5907<\/p>\n<p>03 PRIVATE FUNCTION arti305_query()<\/p>\n<p>\u7565<\/p>\n<p>11 LET INT_FLAG = 0<\/p>\n<p>\u9032\u5165\u8cc7\u6599\u67e5\u8a62\u6bb5\u6642\u5148\u5c07\u5de6\u5074\u7684\u700f\u89bd\u9801\u7c64\u647a\u758a<\/p>\n<p>12 LET ls_wc = g_wc<\/p>\n<p>13 #\u5207\u6362\u753b\u9762<\/p>\n<p>14 IF g_main_hidden THEN<\/p>\n<p>15 CALL gfrm_curr.setElementHidden(&#8220;mainlayout&#8221;,0)<\/p>\n<p>16 CALL gfrm_curr.setElementHidden(&#8220;worksheet&#8221;,1)<\/p>\n<p>17 LET g_main_hidden = 0<\/p>\n<p>18 END IF<\/p>\n<p>19 CALL g_browser.clear()<\/p>\n<p>20 #browser panel\u6298\u8fed<\/p>\n<p>\u7565<\/p>\n<p>31 INITIALIZE g_imck_m.* TO NULL<\/p>\n<p>32 ERROR &#8220;&#8221;<\/p>\n<p>33 DISPLAY &#8221; &#8221; TO FORMONLY.b_count<\/p>\n<p>34 DISPLAY &#8221; &#8221; TO FORMONLY.h_count<\/p>\n<p>Query\u6642\u9032\u5165construct\u6bb5\u843d\u7531\u4f7f\u7528\u8005\u8f38\u5165\u5b9a\u7fa9\u7684\u689d\u4ef6<\/p>\n<p>35 CALL arti305_construct()<\/p>\n<p>36 IF INT_FLAG THEN<\/p>\n<p>37 #\u53d6\u6d88\u67e5\u8be2<\/p>\n<p>\u7565<\/p>\n<p>41 ELSE<\/p>\n<p>\u6839\u64da\u4f7f\u7528\u8005\u6240\u5b9a\u7fa9\u7684\u689d\u4ef6\u91cd\u65b0\u9032\u884c\u8cc7\u6599\u6488\u53d6, \u4e26\u586b\u5145\u5230g_browser\u4e2d<\/p>\n<p>42 LET g_current_row = 1<\/p>\n<p>43 LET g_current_cnt = 0<\/p>\n<p>44 END IF<\/p>\n<p>45 #\u6839\u636e\u6761\u4ef6\u91cd\u65b0\u6293\u53d6\u8d44\u6599<\/p>\n<p>46 LET g_error_show = 1<\/p>\n<p>47 CALL arti305_browser_fill(g_wc,&#8221;F&#8221;) #\u79fb\u5230\u7b2c\u4e00\u9875<\/p>\n<p>48 #\u50a8\u5b58WC\u4fe1\u606f<\/p>\n<p>\u5c07\u8a72\u6b21\u67e5\u8a62\u7684\u689d\u4ef6\u5b58\u5165\u8cc7\u6599\u5eab\u4e2d,\u63d0\u4f9b\u4f7f\u7528\u8005\u53d6\u7528<\/p>\n<p>49 CALL cl_dlg_save_user_latestqry(&#8220;(&#8220;||g_wc||&#8221;)&#8221;)<\/p>\n<p>50 IF g_browser.getLength() = 0 THEN<\/p>\n<p>\u7565<\/p>\n<p>61 ELSE<\/p>\n<p>62 CALL arti305_fetch(&#8220;F&#8221;)<\/p>\n<p>\u4f7f\u7528\u8005\u4e0b\u9054\u7684\u67e5\u8a62\u689d\u4ef6\u82e5\u627e\u7684\u5230\u8cc7\u6599\u5247\u53d6\u51fa\u7b2c\u4e00\u7b46\u4e26\u986f\u793a\u65bc\u756b\u9762\u4e0a<\/p>\n<p>63 END IF<\/p>\n<p>64 LET g_wc_filter = &#8220;&#8221;<\/p>\n<p>65 END FUNCTION<\/p>\n<p>66 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.11 _construct QBE\u6570\u636e\u67e5\u8be2<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.construct&#8221; &gt;}<\/p>\n<p>02 #+ QBE\u6570\u636e\u67e5\u8be2<\/p>\n<p>Construct\u6bb5\u8cc7\u6599\u521d\u59cb\u5316, \u5305\u542b\u7d66\u4e88\u958b\u7a97\u67e5\u8a62\u6642Lib\u6240\u9700\u7684\u76f8\u95dc\u9810\u8a2d\u503c<\/p>\n<p>03 PRIVATE FUNCTION arti305_construct()<\/p>\n<p>\u7565<\/p>\n<p>11 #\u6e05\u7a7a\u753b\u9762&amp;\u8d44\u6599\u521d\u59cb\u5316<\/p>\n<p>12 CLEAR FORM<\/p>\n<p>13 INITIALIZE g_gzwk_m.* TO NULL<\/p>\n<p>14 INITIALIZE g_wc TO NULL LET g_current_row = 1<\/p>\n<p>15 LET g_qryparam.state = &#8220;c&#8221;<\/p>\n<p>16 DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)<\/p>\n<p>17 #\u5c4f\u5e55\u4e0a\u53d6\u6761\u4ef6<\/p>\n<p>\u6b64\u8655\u5305\u542b\u4e86\u6240\u6709\u80fd\u5920\u63d0\u4f9b\u7d66\u4f7f\u7528\u8005\u4e0b\u9054\u67e5\u8a62\u689d\u4ef6\u7684\u6b04\u4f4d, \u5305\u542b\u4e86\u4e3btable\u6b04\u4f4d\u4ee5\u53ca\u591a\u8a9e\u8a00\u6b04\u4f4d<\/p>\n<p>18 CONSTRUCT BY NAME g_wc ON imck001, &#8230;<\/p>\n<p>\u7565<\/p>\n<p>21 #\u516c\u7528\u5b57\u6bb5\u5f00\u7a97\u76f8\u5173\u5904\u7406<\/p>\n<p>22 AFTER FIELD imckcrtdt<\/p>\n<p>23 CALL FGL_DIALOG_GETBUFFER() RETURNING ls_result<\/p>\n<p>24 IF NOT cl_null(ls_result) THEN<\/p>\n<p>25 IF NOT cl_chk_date_symbol(ls_result) THEN<\/p>\n<p>26 LET ls_result = cl_add_date_extra_cond(ls_result)<\/p>\n<p>27 END IF<\/p>\n<p>\u6b64\u6bb5\u843d\u91dd\u5c0d\u516c\u7528\u6b04\u4f4dconstruct\u9032\u884c\u7279\u6b8a\u8655\u7406(\u4f8b\u5982\u6642\u9593\u76f8\u95dc\u7684\u6b04\u4f4d\u5728\u8f38\u5165\u5f8c\u6703\u7d93\u904e\u8f49\u63db\u6210\u8cc7\u6599\u5eab\u53ef\u8fa8\u8b58\u7684\u683c\u5f0f)<\/p>\n<p>28 END IF<\/p>\n<p>29 CALL FGL_DIALOG_SETBUFFER(ls_result)<\/p>\n<p>\u7565<\/p>\n<p>31 END CONSTRUCT<\/p>\n<p>\u9032\u5165dialog\u524d\u5148\u9032\u884cQBE\u76f8\u95dc\u7684\u8cc7\u6599\u521d\u59cb\u5316(cl_qbe_init)<\/p>\n<p>32 BEFORE DIALOG<\/p>\n<p>33 CALL cl_qbe_init()<\/p>\n<p>34 ON ACTION accept<\/p>\n<p>35 ACCEPT DIALOG<\/p>\n<p>36 ON ACTION cancel<\/p>\n<p>37 LET INT_FLAG = 1<\/p>\n<p>38 EXIT DIALOG<\/p>\n<p>39 #\u67e5\u8be2\u65b9\u6848\u5217\u8868<\/p>\n<p>40 ON ACTION qbe_select<\/p>\n<p>41 LET ls_wc = &#8220;&#8221;<\/p>\n<p>42 CALL cl_qbe_list(&#8220;c&#8221;) RETURNING ls_wc<\/p>\n<p>43 #\u6761\u4ef6\u50a8\u5b58\u4e3a\u65b9\u6848<\/p>\n<p>44 ON ACTION qbe_save<\/p>\n<p>45 CALL cl_qbe_save()<\/p>\n<p>46 #\u4ea4\u8c08\u6307\u4ee4\u5171\u4eabACTION<\/p>\n<p>47 &amp;include &#8220;common_action.4gl&#8221;<\/p>\n<p>48 CONTINUE DIALOG<\/p>\n<p>49 END DIALOG<\/p>\n<p>50 END FUNCTION<\/p>\n<p>51 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.12 _insert \u8d44\u6599\u65b0\u589e<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.insert&#8221; &gt;}<\/p>\n<p>02 #+ \u8d44\u6599\u65b0\u589e<\/p>\n<p>03 PRIVATE FUNCTION arti305_insert()<\/p>\n<p>04 CLEAR FORM #\u6e05\u753b\u9762\u5b57\u6bb5\u5185\u5bb9<\/p>\n<p>05 INITIALIZE g_imck_m.* LIKE imck_t.* #DEFAULT \u8bbe\u5b9a<\/p>\n<p>06 LET g_imck001_t = NULL<\/p>\n<p>07 CALL s_transaction_begin()<\/p>\n<p>08 WHILE TRUE<\/p>\n<p>\u65b0\u589e\u524d\u7d66\u4e88\u8cc7\u6599\u9810\u8a2d\u503c, \u6b64\u8655\u5206\u70ba\u4e00\u822c\u6b04\u4f4d\u53ca\u5171\u7528\u6b04\u4f4d<\/p>\n<p>09 #\u516c\u7528\u5b57\u6bb5\u7ed9\u503c<\/p>\n<p>10 LET g_imck_m.imckownid = g_user<\/p>\n<p>\u7565<\/p>\n<p>11 #\u4e00\u822c\u5b57\u6bb5\u7ed9\u503c<\/p>\n<p>12 LET g_imck_m.imck108 = &#8220;1&#8221;<\/p>\n<p>13 #add-point:\u5355\u5934\u9ed8\u8ba4\u503c<\/p>\n<p>14 \u6709\u9700\u8981\u7ed9\u4e88\u521d\u59cb\u503c\u7684\u90e8\u5206\uff0c\u5747\u5728\u6b64\u5904\u8bbe\u5b9a<\/p>\n<p>15 #end add-point<\/p>\n<p>16 #\u663e\u793a\u72b6\u6001(stus)\u56fe\u7247<\/p>\n<p>17 CASE g_gzwk_m.gzwkstus<\/p>\n<p>18 WHEN &#8220;N&#8221;<\/p>\n<p>19 CALL gfrm_curr.setElementImage(&#8220;statechange&#8221;, &#8220;stus\/32\/open.png&#8221;)<\/p>\n<p>\u7565<\/p>\n<p>\u9032\u5165\u8cc7\u6599\u8f38\u5165\u6bb5, \u4e26\u7d66\u4e88\u72c0\u614ba, \u8868\u793a\u9032\u884c\u7684\u70ba\u65b0\u589e, \u72c0\u614bu\u4ee3\u8868\u4fee\u6539, \u72c0\u614br\u4ee3\u8868\u8907\u88fd<\/p>\n<p>21 END CASE<\/p>\n<p>22 #\u6570\u636e\u8f93\u5165<\/p>\n<p>23 CALL arti305_input(&#8220;a&#8221;)<\/p>\n<p>31 IF INT_FLAG THEN<\/p>\n<p>32 #\u82e5\u53d6\u6d88\u5219\u8fd8\u539f\u6570\u636e<\/p>\n<p>\u7565<\/p>\n<p>40 CALL azzi020_show()<\/p>\n<p>\u6839\u64da\u65b0\u589e\u7684\u8cc7\u6599\u7d44\u5408WC, \u4e26\u91cd\u65b0\u6488\u53d6\u8a72\u7b46\u8cc7\u6599\u5230g_browser\u4e2d(\u589e\u52a0\u5230\u6700\u672b\u7b46), \u6b64\u8655\u9808\u6ce8\u610f\u7684\u662f\u65b0\u589e\u7684\u8cc7\u6599\u8207\u539f\u672c\u8cc7\u6599\u7684\u6392\u5e8f\u65b9\u5f0f\u5c07\u6709\u6240\u4e0d\u540c(\u8907\u88fd\u6bb5\u7684\u8655\u7406\u540c\u65b0\u589e\u6bb5)<\/p>\n<p>41 RETURN<\/p>\n<p>42 END IF<\/p>\n<p>43 LET g_rec_b = 0<\/p>\n<p>44 EXIT WHILE<\/p>\n<p>45 END WHILE<\/p>\n<p>46 #\u6839\u636e\u8d44\u6599\u72b6\u6001\u5207\u6362action\u72b6\u6001<\/p>\n<p>47 CALL cl_set_act_visible(&#8220;statechange,modify,delete,reproduce&#8221;, TRUE)<\/p>\n<p>48 CALL azzi020_set_act_visible()<\/p>\n<p>49 CALL azzi020_set_act_no_visible()<\/p>\n<p>50 #\u5c06\u65b0\u589e\u7684\u8d44\u6599\u5e76\u5165\u641c\u5bfb\u6761\u4ef6\u4e2d<\/p>\n<p>51 LET g_imck001_t = g_imck_m.imck001<\/p>\n<p>52 LET g_state = &#8220;insert&#8221;<\/p>\n<p>53 #\u7ec4\u5408\u65b0\u589e\u6570\u636e\u7684\u6761\u4ef6<\/p>\n<p>54 LET g_add_browse = &#8221; imckent = &#8216;&#8221; ||g_enterprise|| &#8220;&#8216; AND&#8221;,<\/p>\n<p>55 &#8221; imck001 = &#8216;&#8221;, g_imck_m.imck001 CLIPPED, &#8220;&#8216; &#8221;<\/p>\n<p>56 #\u586b\u5230\u6700\u540e\u9762<\/p>\n<p>57 LET g_current_idx = g_browser.getLength() + 1<\/p>\n<p>58 CALL arti305_browser_fill(&#8220;&#8221;,&#8221;&#8221;)<\/p>\n<p>59 DISPLAY g_browser_cnt TO FORMONLY.h_count #\u603b\u7b14\u6570<\/p>\n<p>60 DISPLAY g_current_idx TO FORMONLY.h_index #\u5f53\u4e0b\u7b14\u6570<\/p>\n<p>61 CALL cl_navigator_setting(g_current_idx, g_browser_cnt)<\/p>\n<p>62 EXECUTE arti305_master_referesh USING g_imck_m.imck001 INTO g_imck_m.imckunit,\u2026<\/p>\n<p>63<\/p>\n<p>64 #\u5c06\u6570\u636e\u663e\u793a\u5230\u753b\u9762\u4e0a<\/p>\n<p>65 DISPLAY BY NAME g_imck_m.imckunit,\u2026<\/p>\n<p>66<\/p>\n<p>67 #\u529f\u80fd\u5df2\u5b8c\u6210,\u901a\u62a5\u8baf\u606f\u4e2d\u5fc3<\/p>\n<p>68 CALL arti305_msgcentre_notify(&#8221;)<\/p>\n<p>69 END FUNCTION<\/p>\n<p>67 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.13 _input \u6570\u636e\u8f93\u5165<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.input&#8221; &gt;}<\/p>\n<p>02 #+ \u6570\u636e\u8f93\u5165<\/p>\n<p>03 PRIVATE FUNCTION arti305_input(p_cmd)<\/p>\n<p>\u5c07\u55ae\u982d\u8cc7\u6599\u986f\u793a\u5230\u756b\u9762\u4e0a, \u5305\u542b\u5171\u7528\u6b04\u4f4d\u7684\u8cc7\u8a0a<\/p>\n<p>04 DEFINE p_cmd LIKE type_t.chr1<\/p>\n<p>\u7565<\/p>\n<p>11 #\u5207\u6362\u81f3\u8f93\u5165\u753b\u9762<\/p>\n<p>12 IF g_main_hidden THEN<\/p>\n<p>13 CALL gfrm_curr.setElementHidden(&#8220;mainlayout&#8221;,0)<\/p>\n<p>14 CALL gfrm_curr.setElementHidden(&#8220;worksheet&#8221;,1)<\/p>\n<p>15 LET g_main_hidden = 0<\/p>\n<p>16 END IF<\/p>\n<p>17 #\u5c06\u6570\u636e\u8f93\u51fa\u5230\u753b\u9762\u4e0a<\/p>\n<p>18 DISPLAY BY NAME g_imck_m.imck001,\u2026<\/p>\n<p>19 CALL cl_set_head_visible(&#8220;&#8221;,&#8221;YES&#8221;)<\/p>\n<p>20 #a-\u65b0\u589e,r-\u590d\u5236,u-\u4fee\u6539<\/p>\n<p>21 IF p_cmd = &#8216;r&#8217; THEN<\/p>\n<p>\u5c0d\u65bc\u55ae\u6a94\u7d50\u69cb\u800c\u8a00, \u8907\u88fd\u7684\u52d5\u4f5c\u8207\u65b0\u589e\u76f8\u540c, \u5dee\u7570\u53ea\u6709\u8907\u88fd\u6642\u4fdd\u7559\u4e86key\u6b04\u4f4d\u4ee5\u5916\u7684\u6240\u6709\u6b04\u4f4d\u5167\u5bb9<\/p>\n<p>22 #\u6b64\u6bb5\u843d\u7684r\u52a8\u4f5c\u7b49\u540c\u4e8ea<\/p>\n<p>23 LET p_cmd = &#8216;a&#8217;<\/p>\n<p>24 END IF<\/p>\n<p>25 LET l_insert = FALSE<\/p>\n<p>26 LET g_action_choice = &#8220;&#8221;<\/p>\n<p>27 LET g_qryparam.state = &#8220;i&#8221;<\/p>\n<p>\u6839\u64da\u8f38\u5165\u7684\u72c0\u614b\u95dc\u9589\u6216\u958b\u555f\u6b04\u4f4d\u7684\u7de8\u8f2f\u529f\u80fd, \u9810\u8a2d\u5728\u4fee\u6539\u6642\u95dc\u9589key\u6b04\u4f4d\u7684\u7de8\u8f2f\u529f\u80fd<\/p>\n<p>28 #\u63a7\u5236key\u5b57\u6bb5\u53ef\u5426\u8f93\u5165<\/p>\n<p>29 CALL arti305_set_entry(p_cmd)<\/p>\n<p>30 CALL arti305_set_no_entry(p_cmd)<\/p>\n<p>31 DISPLAY BY NAME g_imck_m.imck001,&#8230;<\/p>\n<p>32 DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)<\/p>\n<p>33 #\u5355\u5934\u6bb5<\/p>\n<p>34 INPUT BY NAME g_imck_m.imck001,&#8230; ATTRIBUTE(WITHOUT DEFAULTS)<\/p>\n<p>\u7565<\/p>\n<p>\u6839\u64da\u8a2d\u5b9a\u7684ACTION, \u6703\u81ea\u52d5\u7522\u51fa\u5c0d\u61c9\u7684\u6846\u67b6, \u4e26\u4e14\u6240\u6709ACTION\u57f7\u884c\u524d\u6703\u5148\u7d93\u904e\u8eab\u5206\u9a57\u8b49\u662f\u5426\u5141\u8a31\u57f7\u884c<\/p>\n<p>41 #+ \u6b64\u6bb5\u843d\u7531\u5b50\u6837\u677fa43\u4ea7\u751f<\/p>\n<p>42 ON ACTION update_item<\/p>\n<p>43 LET g_action_choice=&#8221;update_item&#8221;<\/p>\n<p>44 IF cl_auth_chk_act(&#8220;update_item&#8221;) THEN<\/p>\n<p>45 #add-point:ON ACTION update_item<\/p>\n<p>46 \u5728\u6b64\u5904\u5f00\u53d1\u4e2a\u522baction\u529f\u80fd\u5185\u5bb9<\/p>\n<p>47 #END add-point<\/p>\n<p>48 END IF<\/p>\n<p>\u7565<\/p>\n<table>\n<tbody>\n<tr>\n<td>\u8fdb\u5165input\u6bb5\u524d\u5148\u5f00\u542ftransaction, \u5e76\u5907\u4efd\u76f8\u5173\u7684\u5355\u5934\u53d8\u6570<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>51 BEFORE INPUT<\/p>\n<p>52 IF s_transaction_chk(&#8220;N&#8221;,0) THEN<\/p>\n<p>53 CALL s_transaction_begin()<\/p>\n<p>54 END IF<\/p>\n<p>55 #\u5176\u4ed6table\u6570\u636e\u5907\u4efd(\u786e\u5b9a\u662f\u5426\u66f4\u6539\u7528)<\/p>\n<p>56 LET g_master_multi_table_t.imckl001 = g_imck_m.imck001<\/p>\n<p>\u7565<\/p>\n<p>61 #\u6b64\u6bb5\u843d\u7531\u5b50\u6837\u677fa01\u4ea7\u751f<\/p>\n<p>62 BEFORE FIELD imck001<\/p>\n<p>\u6839\u64da\u6b04\u4f4d\u9700\u6c42, \u9032\u884c\u6b04\u4f4d\u7ba1\u63a7, \u53ef\u5206\u70baBEFORE FIELD, ON CHANGE, AFTER FILED, ON ACTION CONTROLP<\/p>\n<p>63 #add-point:BEFORE FIELD gzwk002<\/p>\n<p>64 \u6240\u6709\u533a\u5757\u4e2a\u522b\u5747\u7ed9\u5b9aadd-point<\/p>\n<p>65 #END add-point<\/p>\n<p>\u7565<\/p>\n<p>71 AFTER INPUT<\/p>\n<p>72 #\u82e5\u70b9\u9009cancel\u5219\u79bb\u5f00dialog<\/p>\n<p>73 IF INT_FLAG THEN<\/p>\n<p>74 EXIT DIALOG<\/p>\n<p>75 END IF<\/p>\n<p>\u6839\u64dap_cmd\u5224\u65b7\u7576\u4e0b\u7684\u884c\u70ba\u662f\u65b0\u589e(a)\u6216\u4fee\u6539(u), \u4e26\u9032\u884c\u4e0d\u540c\u7684\u8655\u7406\u6bb5\u843d<\/p>\n<p>76 IF p_cmd &lt;&gt; &#8220;u&#8221; THEN<\/p>\n<p>77 #\u5f53p_cmd\u4e0d\u4e3au\u4ee3\u8868\u4e3a\u65b0\u589e\/\u590d\u5236<\/p>\n<p>78 LET l_count = 1<\/p>\n<p>79 #\u786e\u5b9a\u65b0\u589e\u7684\u6570\u636e\u4e0d\u5b58\u5728(\u4e0d\u91cd\u590d)<\/p>\n<p>80 SELECT COUNT(*) INTO l_count FROM imck_t<\/p>\n<p>81 WHERE imckent = g_enterprise AND imck001 = g_imck_m.imck001<\/p>\n<p>82 IF l_count = 0 THEN<\/p>\n<p>83 #\u5c06\u65b0\u589e\u7684\u5355\u5934\u6570\u636e\u5199\u5165\u6570\u636e\u5e93<\/p>\n<p>84 INSERT INTO imck_t (imckent,&#8230;) VALUES (g_enterprise,&#8230;)<\/p>\n<p>85 #\u82e5\u5199\u5165\u9519\u8bef\u5219\u63d0\u793a\u9519\u8bef\u8baf\u606f\u5e76\u8fd4\u56de\u8f93\u5165\u9875\u9762<\/p>\n<p>86 IF SQLCA.sqlcode THEN<\/p>\n<p>\u7565<\/p>\n<p>91 NEXT CURRENT<\/p>\n<p>92 END IF<\/p>\n<p>93 #\u6570\u636e\u591a\u8bed\u8a00\u7528-\u589e\/\u6539<\/p>\n<p>\u7565<\/p>\n<p>01 CALL s_transaction_end(&#8216;Y&#8217;,&#8217;0&#8242;)<\/p>\n<p>02 ELSE<\/p>\n<p>03 #\u6570\u636e\u91cd\u590d\u51fa\u73b0<\/p>\n<p>\u7565<\/p>\n<p>11 CALL s_transaction_end(&#8216;N&#8217;,&#8217;0&#8242;)<\/p>\n<p>12 END IF<\/p>\n<p>13 ELSE<\/p>\n<p>\u8cc7\u6599\u4fee\u6539\u4e4b\u524d\u5148\u5c07\u906e\u7f69\u5f8c\u7684\u6b04\u4f4d\u9032\u884c\u9084\u539f, \u4e26\u514d\u8986\u84cb\u6b63\u5e38\u7684\u8cc7\u6599\u5167\u5bb9, \u4e4b\u5f8c\u518d\u9032\u884c\u5beb\u5165<\/p>\n<p>14 #\u4fee\u6539\u72b6\u6001\u65f6<\/p>\n<p>15<\/p>\n<p>16 #\u5c06\u5c4f\u853d\u5b57\u6bb5\u8fd8\u539f<\/p>\n<p>17 CALL arti305_imck_t_mask_restore(&#8216;restore_mask_o&#8217;)<\/p>\n<p>18 UPDATE imck_t SET (imck001,&#8230;) = (g_imck_m.imck001,&#8230;)<\/p>\n<p>19 WHERE imckent = g_enterprise AND imck001 = g_imck001_t<\/p>\n<p>20 CASE<\/p>\n<p>21 WHEN SQLCA.sqlerrd[3] = 0 #\u66f4\u65b0\u4e0d\u5230\u7684\u5904\u7406<\/p>\n<p>\u7565<\/p>\n<p>25 WHEN SQLCA.sqlcode #\u5176\u4ed6\u9519\u8bef<\/p>\n<p>\u7565<\/p>\n<p>\u66f4\u65b0\u8cc7\u6599\u5f8c\u518d\u9032\u5c07\u8cc7\u6599\u9032\u884c\u906e\u853d, \u78ba\u4fdd\u8cc7\u6599\u986f\u793a\u6642\u5df2\u5b8c\u6210\u906e\u7f69\u8655\u7406<\/p>\n<p>31 OTHERWISE<\/p>\n<p>32 #\u5c06\u5c4f\u853d\u5b57\u6bb5\u8fdb\u884c\u906e\u853d<\/p>\n<p>33 CALL arti305_imck_t_mask_restore(&#8216;restore_mask_n&#8217;)<\/p>\n<p>34 #\u7eaa\u5f55\u6570\u636e\u66f4\u52a8<\/p>\n<p>35 LET g_log1 = util.JSON.stringify(g_imck_m_t)<\/p>\n<p>36 LET g_log2 = util.JSON.stringify(g_imck_m)<\/p>\n<p>37 IF NOT cl_log_modified_record(g_log1,g_log2) THEN<\/p>\n<p>\u7d00\u9304\u4fee\u6539\u524d\u8207\u4fee\u6539\u5f8c\u7684\u55ae\u982d\u8cc7\u8a0a\u4e26\u5beb\u5165\u8cc7\u6599\u5eab, \u672a\u4f86\u82e5\u6709\u8cc7\u6599\u4fee\u6539\u4e0a\u7684\u7591\u616e\u53ef\u900f\u904e\u5de5\u5177\u67e5\u770b\u4fee\u6539log<\/p>\n<p>38 CALL s_transaction_end(&#8216;N&#8217;,&#8217;0&#8242;)<\/p>\n<p>39 ELSE<\/p>\n<p>40 CALL s_transaction_end(&#8216;Y&#8217;,&#8217;0&#8242;)<\/p>\n<p>41 END IF<\/p>\n<p>42 END CASE<\/p>\n<p>\u4e00\u822c\u6a19\u6e96\u8f38\u5165\u6642\u6709\u63d0\u4f9b\uff1acontrolf\ufe5d\u7dda\u4e0a\u6c42\u52a9\u6587\u4ef6\ufe5e\u3001controls\ufe5d\u55ae\u982d\u6298\u758a\ufe5e\u7b49\u529f\u80fd<\/p>\n<p>43 END IF<\/p>\n<p>44 END INPUT<\/p>\n<p>\u7565<\/p>\n<p>51 ON ACTION accept<\/p>\n<p>52 ACCEPT DIALOG<\/p>\n<p>53 #\u653e\u5f03\u8f93\u5165<\/p>\n<p>54 ON ACTION cancel #\u6309\u4e0b\u653e\u5f03 (ESC)<\/p>\n<p>56 ON ACTION close #\u5728dialog \u53f3\u4e0a\u89d2 (X)<\/p>\n<p>57 ON ACTION exit #\u6309\u4e0btoolbar\u7684\u79bb\u5f00<\/p>\n<p>58 #\u4ea4\u8c08\u6307\u4ee4\u5171\u4eabACTION<\/p>\n<p>59 &amp;include &#8220;common_action.4gl&#8221;<\/p>\n<p>60 CONTINUE DIALOG<\/p>\n<p>61 END DIALOG<\/p>\n<p>62 END FUNCTION<\/p>\n<p>63 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.14 _modify \u6570\u636e\u4fee\u6539<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.modify&#8221; &gt;}<\/p>\n<p>02 #+ \u6570\u636e\u4fee\u6539<\/p>\n<p>03 PRIVATE FUNCTION arti305_modify()<\/p>\n<p>04 #\u5148\u786e\u5b9akey\u503c\u65e0\u9057\u6f0f<\/p>\n<p>05 IF g_gzwk_m.gzwk001 IS NULL<\/p>\n<p>06 THEN<\/p>\n<p>07 INITIALIZE g_errparam TO NULL<\/p>\n<p>08 LET g_errparam.extend = &#8220;&#8221;<\/p>\n<p>09 LET g_errparam.code = &#8220;std-00003&#8221;<\/p>\n<p>10 LET g_errparam.popup = FALSE<\/p>\n<p>11 CALL cl_err()<\/p>\n<p>12 RETURN<\/p>\n<p>13 END IF<\/p>\n<p>14 ERROR &#8220;&#8221;<\/p>\n<p>15 #\u5907\u4efdkey\u503c<\/p>\n<p>16 LET g_imck001_t = g_imck_m.imck001<\/p>\n<p>17 CALL s_transaction_begin()<\/p>\n<p>18 #\u5148lock\u8d44\u6599<\/p>\n<p>19 OPEN arti305_cl USING g_enterprise,g_imck_m.imck001<\/p>\n<p>\u7565<\/p>\n<p>21 #\u663e\u793a\u6700\u65b0\u7684\u6570\u636e<\/p>\n<p>22 EXECUTE arti305_master_referesh USING g_imck_m.imck001 INTO g_imck_m.imck001,&#8230;<\/p>\n<p>23 #\u6570\u636e\u88ab\u4ed6\u4ebaLOCK, \u6216\u662fsql\u6267\u884c\u65f6\u51fa\u73b0\u9519\u8bef<\/p>\n<p>\u9032\u5165\u4fee\u6539\u6bb5\u524d\u5148\u6488\u53d6\u6700\u65b0\u7684\u8cc7\u6599, \u4e26\u9396\u5b9a\u8a72\u7b46\u8cc7\u6599, \u82e5\u9396\u5b9a\u6642\u51fa\u73fe\u932f\u5247\u63d0\u793a\u932f\u8aa4\u8a0a\u606f<\/p>\n<p>24 IF SQLCA.sqlcode THEN<\/p>\n<p>\u7565<\/p>\n<p>31 CLOSE azzi020_cl<\/p>\n<p>32 CALL s_transaction_end(&#8216;N&#8217;,&#8217;0&#8242;)<\/p>\n<p>33 RETURN<\/p>\n<p>34 END IF<\/p>\n<p>35 #\u663e\u793a\u6570\u636e<\/p>\n<p>36 CALL arti305_show()<\/p>\n<p>\u5c07\u4fee\u6539\u8005\u6539\u70ba\u76ee\u524d\u4f7f\u7528\u8005, \u4e26\u5e36\u51fa\u59d3\u540d, \u540c\u6642\u5c07\u4fee\u6539\u6642\u9593\u6539\u70ba\u7576\u4e0b\u7684\u6642\u9593<\/p>\n<p>&nbsp;<\/p>\n<p>41 WHILE TRUE<\/p>\n<p>42 LET g_imck_m.imck001 = g_imck001_t<\/p>\n<p>43 #\u5199\u5165\u4fee\u6539\u8005\/\u4fee\u6539\u65e5\u671f\u4fe1\u606f<\/p>\n<p>44 LET g_imck_m.imckmodid = g_user<\/p>\n<p>45 LET g_imck_m.imckmoddt = cl_get_current()<\/p>\n<p>46 LET g_imck_m.imckmodid _desc = cl_get_username(g_imck_m.imckmodid)<\/p>\n<p>47 #add-point:modify\u6bb5\u4fee\u6539\u524d<\/p>\n<p>48 \u4fee\u6539\u524d\u5c31\u8981\u586b\u5165\u7684\u9ed8\u8ba4\u503c\uff0c\u8bbe\u5b9a\u4e8e\u6b64\u5904<\/p>\n<p>49 #end add-point<\/p>\n<p>50 #\u6570\u636e\u8f93\u5165<\/p>\n<p>51 CALL arti305_input(&#8220;u&#8221;)<\/p>\n<p>52 #add-point:modify\u6bb5\u4fee\u6539\u540e<\/p>\n<p>53 \u4fee\u6539\u540e\u82e5\u6709\u9700\u8981\u603b\u548c\u5904\u7406\u6216\u662f\u4e32\u63a5\u5176\u4ed6\u8f93\u5165\u7ec4\u4ef6\uff0c\u8bbe\u5b9a\u4e8e\u6b64\u5904<\/p>\n<p>54 #end add-point<\/p>\n<p>\u7565<\/p>\n<p>61 #\u82e5\u6709modid\u8ddfmoddt\u5219\u8fdb\u884cupdate<\/p>\n<p>62 UPDATE imck_t SET (imckmodid,imckmoddt) = (g_imck_m.imckmodid, g_imck_m.imckmoddt)<\/p>\n<p>63 WHERE imckent = g_enterprise AND imck001 = g_imck001_t<\/p>\n<p>64 EXIT WHILE<\/p>\n<p>\u7576\u5b8c\u6210\u4fee\u6539\u52d5\u4f5c\u6642, \u66f4\u65b0\u8cc7\u6599\u4fee\u6539\u8005\u8207\u8cc7\u6599\u4fee\u6539\u65e5\u671f\u6b04\u4f4d<\/p>\n<p>65 END WHILE<\/p>\n<p>66 #\u6839\u636e\u8d44\u6599\u72b6\u6001\u5207\u6362action\u72b6\u6001<\/p>\n<p>67 CALL cl_set_act_visible(&#8220;statechange,modify,delete,reproduce&#8221;, TRUE)<\/p>\n<p>68 CALL azzi020_set_act_visible()<\/p>\n<p>69 CALL azzi020_set_act_no_visible()<\/p>\n<p>70 #\u7ec4\u5408\u65b0\u589e\u6570\u636e\u7684\u6761\u4ef6<\/p>\n<p>71 LET g_add_browse = &#8221; &#8220;,<\/p>\n<p>72 &#8221; gzwk001 = &#8216;&#8221;, g_gzwk_m.gzwk001 CLIPPED, &#8220;&#8216; &#8221;<\/p>\n<p>73 #\u586b\u5230\u5bf9\u5e94\u4f4d\u7f6e<\/p>\n<p>74 CALL azzi020_browser_fill(g_wc,&#8221;&#8221;)<\/p>\n<p>75 CLOSE arti305_cl<\/p>\n<p>76 CALL s_transaction_end(&#8216;Y&#8217;,&#8217;0&#8242;)<\/p>\n<p>77 #\u529f\u80fd\u5df2\u5b8c\u6210,\u901a\u62a5\u8baf\u606f\u4e2d\u5fc3<\/p>\n<p>78 CALL arti305_msgcentre_notify(&#8221;)<\/p>\n<p>79 LET g_worksheet_hidden = 0<\/p>\n<p>80 END FUNCTION<\/p>\n<p>71 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.15 _reproduce \u6570\u636e\u590d\u5236<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.reproduce&#8221; &gt;}<\/p>\n<p>02 #+ \u6570\u636e\u590d\u5236<\/p>\n<p>03 PRIVATE FUNCTION arti305_reproduce()<\/p>\n<p>04 DEFINE l_newno LIKE imck_t.imck001<\/p>\n<p>\u9032\u884c\u8907\u88fd\u524d\u5148\u6aa2\u67e5\u6240\u6709key\u6b04\u4f4d\u7686\u6709\u503c, \u5426\u5247\u63d0\u793a\u932f\u8aa4\u8a0a\u606f\u4e26\u8fd4\u56de<\/p>\n<p>05 DEFINE l_oldno LIKE gzwk_t.gzwk001<\/p>\n<p>06 DEFINE l_master RECORD LIKE gzwk_t.*<\/p>\n<p>\u7565<\/p>\n<p>11 #\u5907\u4efdkey\u503c<\/p>\n<p>12 LET g_gzwk001_t = g_gzwk_m.gzwk001<\/p>\n<p>13 #\u6e05\u7a7akey\u503c<\/p>\n<p>14 LET g_imck_m.imck001 = &#8220;&#8221;<\/p>\n<p>\u547c\u53eb\u7ba1\u63a7\u8f38\u5165\u6b04\u4f4d\u63a7\u5236\u7684\u5169\u500bfunction, \u6b64\u8655\u7684\u63a7\u5236\u6bb5\u8996\u540c\u65b0\u589e<\/p>\n<p>15 CALL arti305_set_entry(&#8220;a&#8221;)<\/p>\n<p>16 CALL arti305_set_no_entry(&#8220;a&#8221;)<\/p>\n<p>17 #\u516c\u7528\u5b57\u6bb5\u65b0\u589e\u7ed9\u503c<\/p>\n<p>18 LET g_imck_m.imckownid = g_user<\/p>\n<p>19 LET g_gzwk_m.gzwkmodid = &#8220;&#8221;<\/p>\n<p>20 LET g_gzwk_m.gzwkmoddt = &#8220;&#8221;<\/p>\n<p>21 LET g_gzwk_m.gzwkstus = &#8220;N&#8221;<\/p>\n<p>22 CALL s_transaction_begin()<\/p>\n<p>\u6839\u64da\u500b\u5225\u7a0b\u5f0f\u9032\u884c\u8907\u88fd\u6642\u9810\u8a2d\u8cc7\u6599\u7684\u8a2d\u5b9a, \u6b64\u6bb5\u7684\u9810\u8a2d\u503c\u53ef\u80fd\u8207\u65b0\u589e\u6bb5\u7684\u9810\u8a2d\u503c\u6709\u6240\u5dee\u7570<\/p>\n<p>23 #add-point:\u590d\u5236\u8f93\u5165\u524d<\/p>\n<p>24 \u590d\u5236\u524d\u82e5\u9700\u8981\u7ed9\u5b9a\u76f8\u5173\u7684\u9ed8\u8ba4\u503c\uff0c\u53ef\u4ee5\u5728\u6b64\u6307\u5b9a<\/p>\n<p>25 #end add-point<\/p>\n<p>\u7565<\/p>\n<p>31 #\u6570\u636e\u8f93\u5165<\/p>\n<p>32 CALL arti305_input(&#8220;r&#8221;)<\/p>\n<p>33 IF INT_FLAG THEN<\/p>\n<p>34 LET INT_FLAG = 0<\/p>\n<p>35 RETURN<\/p>\n<p>36 END IF<\/p>\n<p>37 CALL s_transaction_end(&#8216;Y&#8217;,&#8217;0&#8242;)<\/p>\n<p>38 #\u6839\u636e\u8d44\u6599\u72b6\u6001\u5207\u6362action\u72b6\u6001<\/p>\n<p>39 CALL cl_set_act_visible(&#8220;statechange,modify,delete,reproduce&#8221;, TRUE)<\/p>\n<p>40 CALL azzi020_set_act_visible()<\/p>\n<p>41 CALL azzi020_set_act_no_visible()<\/p>\n<p>42 #\u5c06\u65b0\u589e\u7684\u8d44\u6599\u5e76\u5165\u641c\u5bfb\u6761\u4ef6\u4e2d<\/p>\n<p>43 LET g_state = &#8220;insert&#8221;<\/p>\n<p>44 LET g_gzwk001_t = g_gzwk_m.gzwk001<\/p>\n<p>45 #\u7ec4\u5408\u65b0\u589e\u6570\u636e\u7684\u6761\u4ef6<\/p>\n<p>46 LET g_add_browse = &#8221; &#8220;,<\/p>\n<p>47 &#8221; gzwk001 = &#8216;&#8221;, g_gzwk_m.gzwk001 CLIPPED, &#8220;&#8216; &#8221;<\/p>\n<p>48 #\u586b\u5230\u6700\u540e\u9762<\/p>\n<p>49 LET g_current_idx = g_browser.getLength() + 1<\/p>\n<p>50 CALL azzi020_browser_fill(&#8220;&#8221;,&#8221;&#8221;)<\/p>\n<p>\u7565<\/p>\n<p>51 END FUNCTION<\/p>\n<p>52 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.16 _delete \u6570\u636e\u5220\u9664<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.delete&#8221; &gt;}<\/p>\n<p>02 #+ \u6570\u636e\u5220\u9664<\/p>\n<p>03 PRIVATE FUNCTION arti305_delete()<\/p>\n<p>04 DEFINE l_var_keys DYNAMIC ARRAY OF STRING<\/p>\n<p>\u9032\u884c\u522a\u9664\u524d\u5148\u6aa2\u67e5\u6240\u6709key\u6b04\u4f4d\u7686\u6709\u503c, \u5426\u5247\u63d0\u793a\u932f\u8aa4\u8a0a\u606f\u4e26\u8fd4\u56de<\/p>\n<p>05 #\u5148\u786e\u5b9akey\u503c\u65e0\u9057\u6f0f<\/p>\n<p>\u7565<\/p>\n<p>11 CALL s_transaction_begin()<\/p>\n<p>\u5148\u9032\u884c\u8cc7\u6599\u9396\u5b9a, \u78ba\u8a8d\u662f\u5426\u6709\u5176\u4ed6\u4eba\u6b63\u9396\u5b9a\u8a72\u7b46\u8cc7\u6599<\/p>\n<p>\u7565<\/p>\n<p>21 OPEN azzi020_cl USING g_gzwk_m.gzwk001<\/p>\n<p>22 #\u663e\u793a\u6700\u65b0\u7684\u6570\u636e<\/p>\n<p>23 EXECUTE arti305_master_referesh USING g_imck_m.imck001 INTO g_imck_m&#8230;.<\/p>\n<p>\u7565<\/p>\n<p>\u91cd\u65b0\u6488\u53d6\u8cc7\u6599, \u78ba\u4fdd\u5448\u73fe\u5230\u756b\u9762\u4e0a\u7684\u8cc7\u6599\u70ba\u6700\u65b0\u7684\u5167\u5bb9<\/p>\n<p>31 #\u5c06\u6700\u65b0\u6570\u636e\u663e\u793a\u5230\u753b\u9762\u4e0a<\/p>\n<p>32 CALL arti305_show()<\/p>\n<p>33 #\u786e\u8ba4\u8d44\u6599\u662f\u5426\u5220\u9664<\/p>\n<p>34 IF cl_ask_delete() THEN<\/p>\n<p>35 #add-point:\u5355\u5934\u5220\u9664\u524d<\/p>\n<p>36 \u5355\u5934\u5220\u9664\u524d\u7684\u68c0\u67e5\u6bb5\u843d<\/p>\n<p>37 #end add-point<\/p>\n<p>38 #\u5220\u9664\u76f8\u5173\u6587\u4ef6<\/p>\n<p>39 CALL arti305_set_pk_array()<\/p>\n<p>40 CALL cl_doc_remove()<\/p>\n<p>41 #\u5220\u9664\u8868\u6570\u636e<\/p>\n<p>42 DELETE FROM gzwk_t WHERE gzwk001 = g_gzwk_m.gzwk001<\/p>\n<p>43 #\u591a\u8bed\u8a00\u6570\u636e\u5220\u9664<\/p>\n<p>44 #add-point:\u5355\u5934\u5220\u9664\u540e<\/p>\n<p>45 \u5355\u5934\u5220\u9664\u540e\uff0c\u82e5\u6709\u5173\u8054\u6570\u636e\u8981\u4e00\u8d77\u780d\u9664\uff0c\u7531\u6b64\u8bbe\u5b9a<\/p>\n<p>46 #end add-point<\/p>\n<p>47 CLEAR FORM<\/p>\n<p>48 CALL azzi020_ui_browser_refresh()<\/p>\n<p>\u522a\u9664\u8a72\u7b46\u8cc7\u6599\u5f8c\u78ba\u8a8dg_browser\u5167\u662f\u5426\u9084\u6709\u5176\u4ed6\u8cc7\u6599, \u82e5\u6709\u5247\u53d6\u51fa\u88ab\u522a\u9664\u8cc7\u6599\u7684\u524d\u4e00\u7b46\u5167\u5bb9, \u82e5\u7121, \u5247\u6e05\u7a7a\u756b\u9762\u6240\u6709\u8cc7\u8a0a<\/p>\n<p>49 #\u786e\u4fdd\u753b\u9762\u4e0a\u4fdd\u6709\u6570\u636e<\/p>\n<p>50 IF g_browser_cnt &gt; 0 THEN<\/p>\n<p>51 CALL arti305_fetch(&#8220;P&#8221;)<\/p>\n<p>53 ELSE<\/p>\n<p>53 CLEAR FORM<\/p>\n<p>54 END IF<\/p>\n<p>55 END IF<\/p>\n<p>56 CLOSE arti305_cl<\/p>\n<p>57 CALL s_transaction_end(&#8216;Y&#8217;,&#8217;0&#8242;)<\/p>\n<p>58 END FUNCTION<\/p>\n<p>59 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.17 _ui_browser_refresh \u6d4f\u89c8\u9875\u7b7e\u6570\u636e\u91cd\u65b0\u663e\u793a<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.ui_browser_refresh&#8221; &gt;}<\/p>\n<p>02 #+ \u6d4f\u89c8\u9875\u7b7e\u6570\u636e\u91cd\u65b0\u663e\u793a<\/p>\n<p>03 PRIVATE FUNCTION arti305_ui_browser_refresh()<\/p>\n<p>04 DEFINE l_i LIKE type_t.num10<\/p>\n<p>\u78ba\u8a8d\u7576\u4e0b\u88ab\u522a\u9664\u7684\u8cc7\u6599, \u4e26\u5c07\u8a72\u8cc7\u6599\u5f9e\u700f\u89bd\u9801\u7c64\u7684\u9663\u5217\u4e2d\u522a\u9664, \u78ba\u4fdd\u756b\u9762\u8cc7\u6599\u7684\u4e00\u81f4\u6027<\/p>\n<p>\u7565<\/p>\n<p>08 FOR l_i =1 TO g_browser.getLength()<\/p>\n<p>09 IF g_browser[l_i].b_imck001 = g_imck_m.imck001 THEN<\/p>\n<p>10 CALL g_browser.deleteElement(l_i)<\/p>\n<p>11 END IF<\/p>\n<p>12 END FOR<\/p>\n<p>\u6839\u64da\u522a\u9664\u5f8c\u7684\u8cc7\u6599\u72c0\u6cc1\u5224\u5b9a, \u5982\u679c\u522a\u9664\u5f8c\u756b\u9762\u7121\u4efb\u4f55\u8cc7\u6599\u5247\u95dc\u9589\u7279\u5b9a\u6309\u9215\u7684\u529f\u80fd\u4e26\u6e05\u7a7a\u756b\u9762\u8cc7\u6599<\/p>\n<p>\u7565<\/p>\n<p>14 #\u82e5\u65e0\u6570\u636e\u5219\u5173\u95ed\u76f8\u5173\u529f\u80fd<\/p>\n<p>15 IF g_browser_cnt = 0 THEN<\/p>\n<p>16 CALL cl_set_act_visible(&#8220;statechange,\u2026&#8221;, FALSE)<\/p>\n<p>17 CALL cl_navigator_setting(0,0)<\/p>\n<p>18 CLEAR FORM<\/p>\n<p>19 ELSE<\/p>\n<p>20 CALL cl_set_act_visible(&#8220;mainhidden&#8221;, TRUE)<\/p>\n<p>21 END IF<\/p>\n<p>22 END FUNCTION<\/p>\n<p>23 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.18 _set_entry \u5355\u5934\u5b57\u6bb5\u5f00\u542f<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.set_entry&#8221; &gt;}<\/p>\n<p>02 #+ \u5355\u5934\u5b57\u6bb5\u5f00\u542f\u8bbe\u5b9a<\/p>\n<p>03 PRIVATE FUNCTION arti305_set_entry(p_cmd)<\/p>\n<p>\u6839\u64da\u50b3\u5165\u7684\u52d5\u4f5c(a\u70ba\u65b0\u589e,u\u70ba\u4fee\u6539)\u6c7a\u5b9a\u8981\u958b\u555f\u7de8\u8f2f\u7684\u6b04\u4f4d, \u9810\u8a2d\u70bakey\u6b04\u4f4d<\/p>\n<p>04 DEFINE p_cmd LIKE type_t.chr1<\/p>\n<p>05 IF p_cmd = &#8220;a&#8221; THEN<\/p>\n<p>06 CALL cl_set_comp_entry(&#8220;imck001&#8221;,TRUE)<\/p>\n<p>07 END IF<\/p>\n<p>08 END FUNCTION<\/p>\n<p>09 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.19 _set_no_entry \u5355\u5934\u5b57\u6bb5\u5173\u95ed<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.set_no_entry&#8221; &gt;}<\/p>\n<p>02 #+ \u5355\u5934\u5b57\u6bb5\u5173\u95ed\u8bbe\u5b9a<\/p>\n<p>03 PRIVATE FUNCTION arti305_set_no_entry(p_cmd)<\/p>\n<p>04 DEFINE p_cmd LIKE type_t.chr1<\/p>\n<p>\u7565<\/p>\n<p>11 IF p_cmd = &#8216;u&#8217; AND g_chkey = &#8216;N&#8217; THEN<\/p>\n<p>12 CALL cl_set_comp_entry(&#8220;imck001&#8221;,FALSE)<\/p>\n<p>\u6839\u64da\u50b3\u5165\u7684\u52d5\u4f5c\u6c7a\u5b9a\u8981\u95dc\u9589\u7de8\u8f2f\u7684\u6b04\u4f4d, \u9810\u8a2d\u70bakey\u6b04\u4f4d<\/p>\n<p>13 END IF<\/p>\n<p>\u7565<\/p>\n<p>21 END FUNCTION<\/p>\n<p>22 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.20 _statechange \u72b6\u6001\u4ee3\u7801\u5f02\u52a8<\/strong><\/p>\n<p>01 {&lt;section id=&#8221;arti305.state_change&#8221; &gt;}<\/p>\n<p>02 #+ \u786e\u8ba4\u7801\u53d8\u66f4<\/p>\n<p>03 PRIVATE FUNCTION arti305_statechange()<\/p>\n<p>\u96b1\u85cf\u7576\u4e0b\u7684\u72c0\u614b, \u986f\u793a\u5176\u4ed6\u7684\u72c0\u614b\u81f3\u9078\u55ae\u4e2d, \u4e26\u6839\u64da\u4f7f\u7528\u8005\u9078\u64c7\u7684\u72c0\u614b\u9032\u884c\u8655\u7406<\/p>\n<p>04 DEFINE lc_state LIKE type_t.chr5<\/p>\n<p>05<\/p>\n<p>06 CALL s_transaction_begin()<\/p>\n<p>07<\/p>\n<p>08 OPEN arti305_cl USING g_enterprise,g_imck_m.imck001<\/p>\n<p>09 IF STATUS THEN<\/p>\n<p>10 INITIALIZE g_errparam TO NULL<\/p>\n<p>\u7565<\/p>\n<p>21 RETURN<\/p>\n<p>22 END IF<\/p>\n<p>23 #\u663e\u793a\u6700\u65b0\u7684\u6570\u636e<\/p>\n<p>24 EXECUTE arti305_master_referesh USING g_imck_m.imck001 INTO \u2026<\/p>\n<p>\u7565<\/p>\n<p>31 MENU &#8220;&#8221; ATTRIBUTES (STYLE=&#8221;popup&#8221;)<\/p>\n<p>32 BEFORE MENU<\/p>\n<p>33 HIDE OPTION &#8220;approved&#8221;<\/p>\n<p>34 HIDE OPTION &#8220;rejection&#8221;<\/p>\n<p>35 CASE g_imck_m.imckstus<\/p>\n<p>36 WHEN &#8220;N&#8221;<\/p>\n<p>37 HIDE OPTION &#8220;inactive&#8221;<\/p>\n<p>38 WHEN &#8220;Y&#8221;<\/p>\n<p>39 HIDE OPTION &#8220;active&#8221;<\/p>\n<p>40 END CASE<\/p>\n<p>41 #add-point:menu\u524d<\/p>\n<p>42 \u5f00\u59cb\u7ef4\u62a4\u524d\uff0c\u5982\u679c\u6709\u989d\u5916\u9700\u8981\u5904\u7406\ufe5d\u6216\u4e0d\u663e\u793a\u7684\ufe5e\uff0c\u53ef\u7531\u6b64\u5904\u9690\u85cf<\/p>\n<p>43 #end add-point<\/p>\n<p>44 ON ACTION inactive<\/p>\n<p>45 IF cl_auth_chk_act(&#8220;open&#8221;) THEN<\/p>\n<p>46 LET lc_state = &#8220;N&#8221;<\/p>\n<p>47 #add-point:action\u63a7\u5236<\/p>\n<p>48 \u5982\u679c\u72b6\u6001\u53d8\u66f4\u65f6\uff0c\u6709\u9700\u8981\u989d\u5916\u5904\u7406\u6216\u8fde\u52a8\u7684\u539f\u4ef6\uff0c\u8bbe\u5b9a\u4e8e\u6b64\u5904<\/p>\n<p>49 #end add-point<\/p>\n<p>50 END IF<\/p>\n<p>51 EXIT MENU<\/p>\n<p>\u7565<\/p>\n<p>61 END MENU<\/p>\n<p>62 IF (lc_state &lt;&gt; &#8220;N&#8221; AND lc_state &lt;&gt; &#8220;Y&#8221;) OR cl_null(lc_state) THEN<\/p>\n<p>63 RETURN<\/p>\n<p>64 END IF<\/p>\n<p>65 UPDATE imck_t SET imckstus = lc_state<\/p>\n<p>66 WHERE imckent = g_enterprise AND imck001 = g_imck_m.imck001<\/p>\n<p>67 IF SQLCA.sqlcode THEN<\/p>\n<p>\u7565<\/p>\n<p>71 ELSE<\/p>\n<p>72 #\u6839\u636e\u9009\u62e9\u7684\u72b6\u6001\u663e\u793a\u56fe\u7247<\/p>\n<p>73 CASE lc_state<\/p>\n<p>74 WHEN &#8220;N&#8221;<\/p>\n<p>75 CALL gfrm_curr.setElementImage(&#8220;statechange&#8221;, &#8220;stus\/32\/inactive.png&#8221;)<\/p>\n<p>\u7565<\/p>\n<p>\u6839\u64da\u6240\u9078\u64c7\u7684\u72c0\u614b\u986f\u793a\u5c0d\u61c9\u7684\u5716\u7247\u5230\u756b\u9762\u4e0a(\u6b64\u8655\u70ba\u4e3b\u9801\u9762\u7684\u72c0\u614b\u78bc\u5716\u793a)<\/p>\n<p>81 END CASE<\/p>\n<p>82 LET g_imck_m.imckstus = lc_state<\/p>\n<p>83 DISPLAY BY NAME g_imck_m.imckstus<\/p>\n<p>84 END IF<\/p>\n<p>85<\/p>\n<p>86 CLOSE arti305_cl<\/p>\n<p>87 CALL s_transaction_end(&#8216;Y&#8217;,&#8217;0&#8242;)<\/p>\n<p>88<\/p>\n<p>89 #\u529f\u80fd\u5df2\u5b8c\u6210,\u901a\u62a5\u8baf\u606f\u4e2d\u5fc3<\/p>\n<p>90 CALL arti305_msgcentre_notify(lc_state)<\/p>\n<p>91<\/p>\n<p>92 END FUNCTION<\/p>\n<p>93 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.21 mask_functions\u5c4f\u853d\u5904\u7406<\/strong><\/p>\n<p>\u906e\u7f69\u76f8\u95dc\u7684\u8655\u7406\u51fd\u5f0f\u7686\u5728mask.4gl\u4e2d, \u6b644gl\u900f\u904eazzi850\u906e\u7f69\u8a2d\u5b9a\u7522\u51fa, \u8def\u5f91\u70ba\u201dcom\/inc\/erp\/\u6a21\u7d44\u5225\u201d\u5e95\u4e0b, \u8a72\u6a94\u6848\u7121\u6cd5\u7de8\u8f2f, \u4e14\u5728\u6bcf\u6b21\u7a0b\u5f0f\u7522\u751f\u6642\u6703\u81ea\u52d5\u7522\u751f<\/p>\n<p>01 {&lt;section id=&#8221;arti305.mask_functions&#8221; &gt;}<\/p>\n<p>02 &amp;include &#8220;erp\/art\/arti305_mask.4gl&#8221;<\/p>\n<p>03 {&lt;\/section&gt;}<\/p>\n<p><strong>3.4.22 _msgcentre_notify \u901a\u62a5\u8baf\u606f\u4e2d\u5fc3<\/strong><\/p>\n<p>01 PRIVATE FUNCTION arti305_msgcentre_notify(lc_state)<\/p>\n<p>02 DEFINE lc_state LIKE type_t.chr5<\/p>\n<p>03<\/p>\n<p>04 INITIALIZE g_msgparam TO NULL<\/p>\n<p>05 #action-id\u4e0e\u72b6\u6001\u586b\u5199<\/p>\n<p>06 IF g_action_choice = &#8220;statechange&#8221; THEN<\/p>\n<p>07 LET g_msgparam.state = g_action_choice,&#8221;:&#8221;,lc_state<\/p>\n<p>08 ELSE<\/p>\n<p>09 LET g_msgparam.state = g_action_choice<\/p>\n<p>10 END IF<\/p>\n<p>11<\/p>\n<p>12 #PK\u6570\u636e\u586b\u5199<\/p>\n<p>13 CALL arti305_set_pk_array()<\/p>\n<p>14 #\u5355\u5934\u6570\u636e\u586b\u5199<\/p>\n<p>15 LET g_msgparam.data[1] = util.JSON.stringify(g_imck_m)<\/p>\n<p>\u7565<\/p>\n<p>20 #\u547c\u53eb\u8baf\u606f\u4e2d\u5fc3\u4f20\u9012\u672c\u5173\u5b8c\u6210\u8baf\u606f<\/p>\n<p>21 CALL cl_msgcentre_notify()<\/p>\n<p>22 END FUNCTION<\/p>\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=5801\">T100\u624b\u518c \u5355\u6863(arti305)<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>3.1 \u5355\u6587\u4ef6\u8868\u683c\u6a21\u578b \u5355\u6863\u6837\u677f\ufe5dpattern\ufe5e\u53ea\u80fd\u652f\u6301\u5355\u4e00\u7684\u4e3b\u8868\uff0c\u53e6\u5916\u53ef\u652f\u6301\u591a\u4e2a\u5b50\u8868\uff0c\u4f46\u662f\u5b50\u8868\u4e0e\u4e3b\u8868\u95f4\u7684\u5173\u8054\u5fc5\u987b\u662f\u300e1\u5bf91\u300f\u7684\u8fde\u7ed3\u3002 \u5f62\u6210\u5355\u6587\u4ef6\u7684\u4e3b\u8868\uff0c\u8868\u683c\u578b\u6001\u5efa\u8bae\u987b\u4e3a\u300eM.\u4e3b\u6a94\u300f\u6216\u300eB.\u57fa\u7840\u6570\u636e\u6587\u4ef6\u300f\u3002\u56e0\u4e3a\u8fd9\u4e24\u7c7b\u8868\u683c\u5747\u6709\u53ef\u4ee5\u8bb0\u5f55\u7ef4\u62a4\u6570\u636e\u7684\u5171\u4eab\u5b57 [&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":[853,200,707],"class_list":["post-5801","post","type-post","status-publish","format-standard","hentry","category-490","tag-853","tag-200","tag-707"],"_links":{"self":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/5801","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=5801"}],"version-history":[{"count":1,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/5801\/revisions"}],"predecessor-version":[{"id":5805,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/5801\/revisions\/5805"}],"wp:attachment":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}