范例:
代码:
#add-point:input段落 name="ui_dialog.input"
INPUT BY NAME g_master.bdate,g_master.edate,g_master.l_group
ATTRIBUTE(WITHOUT DEFAULTS)
AFTER FIELD edate
IF NOT cl_null(g_master.edate) AND NOT cl_null(g_master.bdate) THEN
IF g_master.edate < g_master.bdate THEN
LET g_master.edate = NULL
DISPLAY g_master.edate TO edate
NEXT FIELD edate
END IF
END IF
END INPUT
#end add-point
#add-point:construct段落 name="ui_dialog.construct"
CONSTRUCT BY NAME g_master.wc ON pmdo001,imaa009,pmaa080,pmdl004
ON ACTION controlp INFIELD pmdo001
INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'c'
LET g_qryparam.reqry = FALSE
CALL q_imaf001() #呼叫開窗
DISPLAY g_qryparam.return1 TO pmdo001 #顯示到畫面上
NEXT FIELD pmdo001 #返回原欄位
ON ACTION controlp INFIELD imaa009
INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'c'
LET g_qryparam.reqry = FALSE
CALL q_rtax001() #呼叫開窗
DISPLAY g_qryparam.return1 TO imaa009 #顯示到畫面上
NEXT FIELD imaa009 #返回原欄位
ON ACTION controlp INFIELD pmaa080
INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'c'
LET g_qryparam.reqry = FALSE
LET g_qryparam.arg1 = '251'
CALL q_oocq002() #呼叫開窗
DISPLAY g_qryparam.return1 TO pmaa080 #顯示到畫面上
NEXT FIELD pmaa080 #返回原欄位
ON ACTION controlp INFIELD pmdl004
INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'c'
LET g_qryparam.reqry = FALSE
CALL q_pmaa001_3() #呼叫開窗
DISPLAY g_qryparam.return1 TO pmdl004 #顯示到畫面上
NEXT FIELD pmdl004 #返回原欄位
END CONSTRUCT
#end add-point
双击汇总,打开对应报表;
#add-point:page1自定義行為 name="ui_dialog.body.page1.action"
ON ACTION modify_detail
LET l_wc_web = l_wc
LET l_wc_web = cl_replace_str(l_wc_web,"pmdo001","imaa001")
LET l_wc_web = cl_replace_str(l_wc_web,"pmdl004","pmaa001")
CASE g_master.l_group
WHEN '1'
CALL apmr006_x01(l_wc_web)
WHEN '2'
CALL apmr006_x02(l_wc_web)
WHEN '3'
CALL apmr006_x03(l_wc_web)
WHEN '4'
CALL apmr006_x04(l_wc_web)
WHEN '5'
CALL apmr006_x05(l_wc_web)
END CASE
#end add-point
#+ 單身陣列填充
PRIVATE FUNCTION cpmq006_b_fill()
#add-point:b_fill段define-客製 name="b_fill.define_customerization"
#end add-point
DEFINE ls_wc STRING
DEFINE l_pid LIKE type_t.chr50
DEFINE ls_sql_rank STRING
#add-point:b_fill段define-標準 (請盡量不要在客製環境修改此段落內容, 否則將後續patch的調整需人工處理) name="b_fill.define"
#end add-point
#add-point:b_fill段sql_before name="b_fill.sql_before"
CALL cl_set_comp_visible("b_pmdl004,b_pmdl004_desc,b_pmdl002,b_pmdl002_desc,b_pmdl003,b_pmdl003_desc,b_pmdo001,b_pmdo001_desc,b_pmdo001_desc_1,b_imaa009,b_imaa009_desc",FALSE)
CASE g_master.l_group
WHEN '1' #供应商编码
CALL cl_set_comp_visible("b_pmdl004,b_pmdl004_desc",TRUE)
WHEN '2' #采购人员
CALL cl_set_comp_visible("b_pmdl002,b_pmdl002_desc",TRUE)
WHEN '3' #采购部门
CALL cl_set_comp_visible("b_pmdl003,b_pmdl003_desc",TRUE)
WHEN '4' #产品分类
CALL cl_set_comp_visible("b_imaa009,b_imaa009_desc",TRUE)
WHEN '5' #料件编号
CALL cl_set_comp_visible("b_pmdo001,b_pmdo001_desc,b_pmdo001_desc_1",TRUE)
END CASE
IF cl_null(g_master.wc) THEN
LET g_master.wc = " pmdlsite = '",g_site CLIPPED,"' AND pmdlent = '",g_enterprise CLIPPED,"' "
ELSE
LET g_master.wc = g_master.wc CLIPPED," AND pmdlsite = '",g_site CLIPPED,"' AND pmdlent = '",g_enterprise CLIPPED,"' "
END IF
LET g_master.wc = g_master.wc CLIPPED," AND (pmdl005 = '1' OR pmdl005 = '2' OR pmdl005 = '3' OR pmdl005 = '5' ) AND pmdlstus='Y'"
IF NOT cl_null(g_master.bdate) THEN
LET g_master.wc = g_master.wc , " AND pmdldocdt >= to_date( '",g_master.bdate,"','yy/mm/dd') "
END IF
IF NOT cl_null(g_master.edate) THEN
LET g_master.wc = g_master.wc , " AND pmdldocdt <= to_date('",g_master.edate,"','yy/mm/dd') "
END IF
LET l_wc = g_master.wc
#end add-point
IF cl_null(g_wc_filter) THEN
LET g_wc_filter = " 1=1"
END IF
IF cl_null(g_wc) THEN
LET g_wc = " 1=1"
END IF
IF cl_null(g_wc2) THEN
LET g_wc2 = " 1=1"
END IF
LET ls_wc = g_wc, " AND ", g_wc2, " AND ", g_wc_filter
CALL g_pmdl_d.clear()
#add-point:陣列清空 name="b_fill.array_clear"
#end add-point
LET g_cnt = l_ac
IF g_cnt = 0 THEN
LET g_cnt = 1
END IF
LET l_ac = 1
# b_fill段sql組成及FOREACH撰寫
#應用 qs04 樣板自動產生(Version:9)
#+ b_fill段資料取得(包含sql組成及FOREACH段撰寫)
LET ls_sql_rank = "SELECT UNIQUE pmdl004,'',pmdl002,'',pmdl003,'','','','','','','','','','' ,DENSE_RANK() OVER( ORDER BY pmdl_t.pmdldocno) AS RANK FROM pmdl_t",
#table2
" LEFT JOIN pmdn_t ON pmdnent = pmdlent AND pmdldocno = pmdndocno",
"",
" WHERE pmdlent= ? AND 1=1 AND ", ls_wc
LET ls_sql_rank = ls_sql_rank, cl_sql_add_filter("pmdl_t"),
" ORDER BY pmdl_t.pmdldocno"
#add-point:b_fill段rank_sql_after name="b_fill.rank_sql_after"
LET ls_sql_rank = " SELECT pmdl004,pmaal003,pmdl002,ooag011,pmdl003,ooefl003,pmdo001,imaal003,imaal004,imaa009,rtaxl003,pmdo006,pmdo033 ",
" FROM pmdo_t ",
" LEFT JOIN pmdn_t ON pmdnent=pmdoent AND pmdndocno=pmdodocno AND pmdnseq=pmdoseq ",
" LEFT JOIN pmdl_t ON pmdlent=pmdnent AND pmdldocno=pmdndocno ",
" LEFT JOIN imaa_t ON imaaent=pmdnent AND imaa001=pmdn001 ",
" LEFT JOIN pmaa_t ON pmaaent=pmdlent AND pmaa001=pmdl004 ",
" LEFT JOIN pmaal_t ON pmaalent=pmdlent AND pmaal001=pmdl004 AND pmaal002='zh_CN' ",
" LEFT JOIN ooag_t ON ooagent=pmdlent AND ooag001=pmdl002 ",
" LEFT JOIN ooefl_t ON ooeflent=pmdlent AND ooefl001=pmdl003 AND ooefl002='zh_CN' ",
" LEFT JOIN imaal_t ON imaaent=pmdnent AND imaal001=pmdn001 AND imaal002='zh_CN' ",
" LEFT JOIN rtaxl_t ON rtaxlent=imaaent AND rtaxl001=imaa009 AND rtaxl002='zh_CN' ",
" WHERE ",l_wc CLIPPED
{
#end add-point
LET g_sql = "SELECT COUNT(1) FROM (",ls_sql_rank,")"
PREPARE b_fill_cnt_pre FROM g_sql #總筆數
EXECUTE b_fill_cnt_pre USING g_enterprise INTO g_tot_cnt
FREE b_fill_cnt_pre
#add-point:b_fill段rank_sql_after_count name="b_fill.rank_sql_after_count"
}
LET g_sql = "SELECT COUNT(1) FROM (",ls_sql_rank,")"
PREPARE b_fill_cnt_pre FROM g_sql #總筆數
EXECUTE b_fill_cnt_pre INTO g_tot_cnt
FREE b_fill_cnt_pre
#end add-point
CASE g_detail_page_action
WHEN "detail_first"
LET g_pagestart = 1
WHEN "detail_previous"
LET g_pagestart = g_pagestart - g_num_in_page
IF g_pagestart < 1 THEN
LET g_pagestart = 1
END IF
WHEN "detail_next"
LET g_pagestart = g_pagestart + g_num_in_page
IF g_pagestart > g_tot_cnt THEN
LET g_pagestart = g_tot_cnt - (g_tot_cnt mod g_num_in_page) + 1
WHILE g_pagestart > g_tot_cnt
LET g_pagestart = g_pagestart - g_num_in_page
END WHILE
END IF
WHEN "detail_last"
LET g_pagestart = g_tot_cnt - (g_tot_cnt mod g_num_in_page) + 1
WHILE g_pagestart > g_tot_cnt
LET g_pagestart = g_pagestart - g_num_in_page
END WHILE
OTHERWISE
LET g_pagestart = 1
END CASE
LET g_sql = "SELECT pmdl004,'',pmdl002,'',pmdl003,'','','','','','','','','',''",
" FROM (",ls_sql_rank,")",
" WHERE RANK >= ",g_pagestart,
" AND RANK < ",g_pagestart + g_num_in_page
#add-point:b_fill段sql_after name="b_fill.sql_after"
LET g_sql = " WITH t1 AS ( ",
" SELECT pmdl004,pmaal003,pmdl002,ooag011,pmdl003,ooefl003,pmdo001,imaal003,imaal004,imaa009,rtaxl003,pmdo006,pmdo033 ",
" FROM pmdo_t ",
" LEFT JOIN pmdn_t ON pmdnent=pmdoent AND pmdndocno=pmdodocno AND pmdnseq=pmdoseq ",
" LEFT JOIN pmdl_t ON pmdlent=pmdnent AND pmdldocno=pmdndocno ",
" LEFT JOIN imaa_t ON imaaent=pmdnent AND imaa001=pmdn001 ",
" LEFT JOIN pmaa_t ON pmaaent=pmdlent AND pmaa001=pmdl004 ",
" LEFT JOIN pmaal_t ON pmaalent=pmdlent AND pmaal001=pmdl004 AND pmaal002='zh_CN' ",
" LEFT JOIN ooag_t ON ooagent=pmdlent AND ooag001=pmdl002 ",
" LEFT JOIN ooefl_t ON ooeflent=pmdlent AND ooefl001=pmdl003 AND ooefl002='zh_CN' ",
" LEFT JOIN imaal_t ON imaaent=pmdnent AND imaal001=pmdn001 AND imaal002='zh_CN' ",
" LEFT JOIN rtaxl_t ON rtaxlent=imaaent AND rtaxl001=imaa009 AND rtaxl002='zh_CN' ",
" WHERE pmdoent=? AND ",l_wc CLIPPED," ) "
CASE g_master.l_group
WHEN '1' #供应商编码
LET g_sql = g_sql, " SELECT pmdl004,pmaal003,'','','','','','','','','',SUM(pmdo006),to_char(SUM(pmdo006)/(SELECT SUM(pmdo006) FROM t1)*100,'fm990.99')||'%',SUM(pmdo033),to_char(SUM(pmdo033)/(SELECT SUM(pmdo033) FROM t1)*100,'fm990.99')||'%' ",
" FROM t1 ",
" GROUP BY pmdl004,pmaal003 ",
" ORDER BY pmdl004 "
WHEN '2' #采购人员
LET g_sql = g_sql, " SELECT '','',pmdl002,ooag011,'','','','','','','',SUM(pmdo006),to_char(SUM(pmdo006)/(SELECT SUM(pmdo006) FROM t1)*100,'fm990.99')||'%',SUM(pmdo033),to_char(SUM(pmdo033)/(SELECT SUM(pmdo033) FROM t1)*100,'fm990.99')||'%' ",
" FROM t1 ",
" GROUP BY pmdl002,ooag011 ",
" ORDER BY pmdl002 "
WHEN '3' #采购部门
LET g_sql = g_sql, " SELECT '','','','',pmdl003,ooefl003,'','','','','',SUM(pmdo006),to_char(SUM(pmdo006)/(SELECT SUM(pmdo006) FROM t1)*100,'fm990.99')||'%',SUM(pmdo033),to_char(SUM(pmdo033)/(SELECT SUM(pmdo033) FROM t1)*100,'fm990.99')||'%' ",
" FROM t1 ",
" GROUP BY pmdl003,ooefl003 ",
" ORDER BY pmdl003 "
WHEN '4' #产品分类
LET g_sql = g_sql, " SELECT '','','','','','','','','',imaa009,rtaxl003,SUM(pmdo006),to_char(SUM(pmdo006)/(SELECT SUM(pmdo006) FROM t1)*100,'fm990.99')||'%',SUM(pmdo033),to_char(SUM(pmdo033)/(SELECT SUM(pmdo033) FROM t1)*100,'fm990.99')||'%' ",
" FROM t1 ",
" GROUP BY imaa009,rtaxl003 ",
" ORDER BY imaa009 "
WHEN '5' #料件编号
LET g_sql = g_sql, " SELECT '','','','','','',pmdo001,imaal003,imaal004,'','',SUM(pmdo006),to_char(SUM(pmdo006)/(SELECT SUM(pmdo006) FROM t1)*100,'fm990.99')||'%',SUM(pmdo033),to_char(SUM(pmdo033)/(SELECT SUM(pmdo033) FROM t1)*100,'fm990.99')||'%' ",
" FROM t1 ",
" GROUP BY pmdo001,imaal003,imaal004 ",
" ORDER BY pmdo001 "
END CASE
#end add-point
LET g_sql = cl_sql_add_mask(g_sql) #遮蔽特定資料
PREPARE cpmq006_pb FROM g_sql
DECLARE b_fill_curs CURSOR FOR cpmq006_pb
OPEN b_fill_curs USING g_enterprise
FOREACH b_fill_curs INTO g_pmdl_d[l_ac].pmdl004,g_pmdl_d[l_ac].pmdl004_desc,g_pmdl_d[l_ac].pmdl002,
g_pmdl_d[l_ac].pmdl002_desc,g_pmdl_d[l_ac].pmdl003,g_pmdl_d[l_ac].pmdl003_desc,g_pmdl_d[l_ac].pmdo001,
g_pmdl_d[l_ac].pmdo001_desc,g_pmdl_d[l_ac].pmdo001_desc_1,g_pmdl_d[l_ac].imaa009,g_pmdl_d[l_ac].imaa009_desc,
g_pmdl_d[l_ac].l_sum_cnt,g_pmdl_d[l_ac].l_sum_cntb,g_pmdl_d[l_ac].l_sum_money,g_pmdl_d[l_ac].l_sum_moneyb
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.extend = "FOREACH:"
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.popup = TRUE
CALL cl_err()
EXIT FOREACH
END IF
#add-point:b_fill段資料填充 name="b_fill.fill"
#end add-point
CALL cpmq006_detail_show("'1'")
CALL cpmq006_pmdl_t_mask()
IF l_ac > g_max_rec THEN
IF g_error_show = 1 THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.extend = ""
LET g_errparam.code = 9035
LET g_errparam.popup = TRUE
CALL cl_err()
END IF
EXIT FOREACH
END IF
LET l_ac = l_ac + 1
END FOREACH
#應用 qs05 樣板自動產生(Version:3)
#+ b_fill段其他table資料取得(包含sql組成及資料填充)
#add-point:b_fill段資料填充(其他單身) name="b_fill.others.fill"
#end add-point
CALL g_pmdl_d.deleteElement(g_pmdl_d.getLength())
#add-point:陣列長度調整 name="b_fill.array_deleteElement"
#end add-point
LET g_error_show = 0
LET g_detail_cnt = g_pmdl_d.getLength()
LET l_ac = g_cnt
LET g_cnt = 0
#應用 qs06 樣板自動產生(Version:3)
#+ b_fill段CURSOR釋放
CLOSE b_fill_curs
FREE cpmq006_pb
#調整單身index指標,避免翻頁後指到空白筆數
CALL cpmq006_detail_index_setting()
#重新計算單身筆數並呈現
CALL cpmq006_detail_action_trans()
LET l_ac = 1
IF g_pmdl_d.getLength() > 0 THEN
CALL cpmq006_b_fill2()
END IF
CALL cpmq006_filter_show('pmdl004','b_pmdl004')
CALL cpmq006_filter_show('pmdl002','b_pmdl002')
CALL cpmq006_filter_show('pmdl003','b_pmdl003')
CALL cpmq006_filter_show('pmdo001','b_pmdo001')
CALL cpmq006_filter_show('imaa009','b_imaa009')
CALL cpmq006_filter_show('pmdlstus','b_pmdlstus')
END FUNCTION
#+ 單身陣列填充2
PRIVATE FUNCTION cpmq006_b_fill2()
#add-point:b_fill2段define-客製 name="b_fill2.define_customerization"
#end add-point
DEFINE li_ac LIKE type_t.num10
#add-point:b_fill2段define-標準 (請盡量不要在客製環境修改此段落內容, 否則將後續patch的調整需人工處理) name="b_fill2.define"
#end add-point
#add-point:FUNCTION前置處理 name="b_fill2.before_function"
#end add-point
LET li_ac = l_ac
#單身組成
#應用 qs07 樣板自動產生(Version:6)
#+ b_fill2段table資料取得(包含sql組成及資料填充)
#Page2
CALL g_pmdl2_d.clear()
#add-point:陣列清空 name="b_fill2.array_clear"
{
#end add-point
#table2
#為避免影響執行效能,若是按上下筆就不重組SQL
IF g_action_choice <> "fetch" OR cl_null(g_action_choice) THEN
LET g_sql = "SELECT UNIQUE '','','','','','','','','','','','','','','','','','','','','','',
'','','','','','','','','','',pmdnud001,pmdn015,pmdn045,pmdn049,'',pmdn051,'' FROM pmdn_t",
"",
" WHERE pmdnent=? AND pmdndocno=?"
IF NOT cl_null(g_wc2_table2) THEN
LET g_sql = g_sql CLIPPED," AND ",g_wc2_table2 CLIPPED
END IF
LET g_sql = g_sql, " ORDER BY pmdn_t.pmdnseq"
#add-point:單身填充前 name="b_fill2.before_fill2"
}
LET g_sql = " SELECT pmdldocno,pmdldocdt,pmdl004,pmaal003,pmdl002,ooag011,pmdl003,ooefl003,pmdl005,pmdlud002,pmdlstus,pmdoseq, ",
" pmdoseq1,pmdoseq2,pmdo003,pmdo001,imaal003,imaal004,pmdo004,pmdo005,pmdo006,pmdo011,pmdo012,pmdo013,pmdo009, ",
" pmdo015,pmdo016,pmdo017,pmdo040,pmdo019,pmdo024,pmdo033,pmdnud001,pmdn015,pmdn045,pmdn049,oq1.oocql004,pmdn051,oq2.oocql004 ",
" FROM pmdo_t ",
" LEFT JOIN pmdn_t ON pmdnent=pmdoent AND pmdndocno=pmdodocno AND pmdnseq=pmdoseq ",
" LEFT JOIN pmdl_t ON pmdlent=pmdnent AND pmdldocno=pmdndocno ",
" LEFT JOIN imaa_t ON imaaent=pmdnent AND imaa001=pmdn001 ",
" LEFT JOIN pmaa_t ON pmaaent=pmdlent AND pmaa001=pmdl004 ",
" LEFT JOIN pmaal_t ON pmaalent=pmdlent AND pmaal001=pmdl004 AND pmaal002='zh_CN' ",
" LEFT JOIN ooag_t ON ooagent=pmdlent AND ooag001=pmdl002 ",
" LEFT JOIN ooefl_t ON ooeflent=pmdlent AND ooefl001=pmdl003 AND ooefl002='zh_CN' ",
" LEFT JOIN imaal_t ON imaaent=pmdnent AND imaal001=pmdn001 AND imaal002='zh_CN' ",
" LEFT JOIN rtaxl_t ON rtaxlent=imaaent AND rtaxl001=imaa009 AND rtaxl002='zh_CN' ",
" LEFT JOIN oocql_t oq1 ON oq1.oocqlent=pmdnent AND oq1.oocql001='265' AND oq1.oocql002=pmdn049 AND oq1.oocql003='zh_CN' ",
" LEFT JOIN oocql_t oq2 ON oq2.oocqlent=pmdnent AND oq2.oocql001 IN ('258','317') AND oq2.oocql002=pmdn051 AND oq2.oocql003='zh_CN' ",
" WHERE ",l_wc CLIPPED
CASE g_master.l_group
WHEN '1' #供应商编码
LET g_sql = g_sql, " AND pmdl004 = '",g_pmdl_d[g_detail_idx].pmdl004,"' "
WHEN '2' #采购人员
LET g_sql = g_sql, " AND pmdl002 = '",g_pmdl_d[g_detail_idx].pmdl002,"' "
WHEN '3' #采购部门
LET g_sql = g_sql, " AND pmdl003 = '",g_pmdl_d[g_detail_idx].pmdl003,"' "
WHEN '4' #产品分类
LET g_sql = g_sql, " AND imaa009 = '",g_pmdl_d[g_detail_idx].imaa009,"' "
WHEN '5' #料件编号
LET g_sql = g_sql, " AND pmdo001 = '",g_pmdl_d[g_detail_idx].pmdo001,"' "
END CASE
{
#end add-point
LET g_sql = cl_sql_add_mask(g_sql) #遮蔽特定資料
PREPARE cpmq006_pb2 FROM g_sql
DECLARE b_fill_curs2 CURSOR FOR cpmq006_pb2
END IF
OPEN b_fill_curs2 USING g_enterprise,g_pmdl_d[g_detail_idx].pmdldocno
LET l_ac = 1
FOREACH b_fill_curs2 INTO g_pmdl2_d[l_ac].pmdldocno,g_pmdl2_d[l_ac].pmdldocdt,g_pmdl2_d[l_ac].pmdl004,
g_pmdl2_d[l_ac].pmdl004_2_desc,g_pmdl2_d[l_ac].pmdl002,g_pmdl2_d[l_ac].pmdl002_2_desc,g_pmdl2_d[l_ac].pmdl003,
g_pmdl2_d[l_ac].pmdl003_2_desc,g_pmdl2_d[l_ac].pmdl005,g_pmdl2_d[l_ac].pmdlud002,g_pmdl2_d[l_ac].pmdlstus,
g_pmdl2_d[l_ac].pmdoseq,g_pmdl2_d[l_ac].pmdoseq1,g_pmdl2_d[l_ac].pmdoseq2,g_pmdl2_d[l_ac].pmdo003,
g_pmdl2_d[l_ac].pmdo001,g_pmdl2_d[l_ac].pmdo001_2_desc,g_pmdl2_d[l_ac].pmdo001_2_desc_1,g_pmdl2_d[l_ac].pmdo004,
g_pmdl2_d[l_ac].pmdo005,g_pmdl2_d[l_ac].pmdo006,g_pmdl2_d[l_ac].pmdo011,g_pmdl2_d[l_ac].pmdo012,
g_pmdl2_d[l_ac].pmdo013,g_pmdl2_d[l_ac].pmdo009,g_pmdl2_d[l_ac].pmdo015,g_pmdl2_d[l_ac].pmdo016,
g_pmdl2_d[l_ac].pmdo017,g_pmdl2_d[l_ac].pmdo040,g_pmdl2_d[l_ac].pmdo019,g_pmdl2_d[l_ac].pmdo024,
g_pmdl2_d[l_ac].pmdo033,g_pmdl2_d[l_ac].pmdnud001,g_pmdl2_d[l_ac].pmdn015,g_pmdl2_d[l_ac].pmdn045,
g_pmdl2_d[l_ac].pmdn049,g_pmdl2_d[l_ac].pmdn049_2_desc,g_pmdl2_d[l_ac].pmdn051,g_pmdl2_d[l_ac].pmdn051_2_desc
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.extend = "FOREACH:"
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.popup = TRUE
CALL cl_err()
EXIT FOREACH
END IF
#add-point:b_fill2段資料填充 name="b_fill2.fill2"
}
LET g_sql = cl_sql_add_mask(g_sql) #遮蔽特定資料
PREPARE cpmq006_pb2 FROM g_sql
DECLARE b_fill_curs2 CURSOR FOR cpmq006_pb2
OPEN b_fill_curs2
LET l_ac = 1
FOREACH b_fill_curs2 INTO g_pmdl2_d[l_ac].pmdldocno,g_pmdl2_d[l_ac].pmdldocdt,g_pmdl2_d[l_ac].pmdl004,
g_pmdl2_d[l_ac].pmdl004_2_desc,g_pmdl2_d[l_ac].pmdl002,g_pmdl2_d[l_ac].pmdl002_2_desc,g_pmdl2_d[l_ac].pmdl003,
g_pmdl2_d[l_ac].pmdl003_2_desc,g_pmdl2_d[l_ac].pmdl005,g_pmdl2_d[l_ac].pmdlud002,g_pmdl2_d[l_ac].pmdlstus,
g_pmdl2_d[l_ac].pmdoseq,g_pmdl2_d[l_ac].pmdoseq1,g_pmdl2_d[l_ac].pmdoseq2,g_pmdl2_d[l_ac].pmdo003,
g_pmdl2_d[l_ac].pmdo001,g_pmdl2_d[l_ac].pmdo001_2_desc,g_pmdl2_d[l_ac].pmdo001_2_desc_1,g_pmdl2_d[l_ac].pmdo004,
g_pmdl2_d[l_ac].pmdo005,g_pmdl2_d[l_ac].pmdo006,g_pmdl2_d[l_ac].pmdo011,g_pmdl2_d[l_ac].pmdo012,
g_pmdl2_d[l_ac].pmdo013,g_pmdl2_d[l_ac].pmdo009,g_pmdl2_d[l_ac].pmdo015,g_pmdl2_d[l_ac].pmdo016,
g_pmdl2_d[l_ac].pmdo017,g_pmdl2_d[l_ac].pmdo040,g_pmdl2_d[l_ac].pmdo019,g_pmdl2_d[l_ac].pmdo024,
g_pmdl2_d[l_ac].pmdo033,g_pmdl2_d[l_ac].pmdnud001,g_pmdl2_d[l_ac].pmdn015,g_pmdl2_d[l_ac].pmdn045,
g_pmdl2_d[l_ac].pmdn049,g_pmdl2_d[l_ac].pmdn049_2_desc,g_pmdl2_d[l_ac].pmdn051,g_pmdl2_d[l_ac].pmdn051_2_desc
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.extend = "FOREACH:"
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.popup = TRUE
CALL cl_err()
EXIT FOREACH
END IF
#end add-point
CALL cpmq006_detail_show("'2'")
CALL cpmq006_pmdn_t_mask()
IF l_ac > g_max_rec THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.extend = ""
LET g_errparam.code = 9035
LET g_errparam.popup = TRUE
CALL cl_err()
EXIT FOREACH
END IF
LET l_ac = l_ac + 1
END FOREACH
#Page2
CALL g_pmdl2_d.deleteElement(g_pmdl2_d.getLength())
#add-point:陣列長度調整 name="b_fill2.array_deleteElement"
#end add-point
#Page2
LET li_ac = g_pmdl2_d.getLength()
DISPLAY li_ac TO FORMONLY.cnt
LET g_detail_idx2 = 1
DISPLAY g_detail_idx2 TO FORMONLY.idx
#add-point:單身填充後 name="b_fill2.after_fill"
#end add-point
LET l_ac = li_ac
END FUNCTION