s_axcp500_create_temp_table()建立暫存表Start1.xrcb_tmp2.s_axcp500_tmpEnds_axcp500_cal()成本計算主函式更新axci101最近計算成本年度、最近計算成本期別axcp500_process()TrueFalseaxcp500s_axcp500_cal()s_axcp500_cal1()成本計算主函式-優化s_axcp500_cal1()TrueFalses_axcp500_chk_cal()檢查憑證是否已產生1.取成本各參數的值2.取得成本計算方式s_axcp500_get_date()取得成本計算之日期相關資訊s_axcp500_get_curr()取得帳套幣別設定當啟用成本域時,成本計算類型的檢查取得成本含稅否檢查axct7*(除axct703、axct707)是否已存在資料,存在則報錯1.取得當期的起始&截止日期2.取得上期的年度、期別1.取得帳套設定的幣別&幣別設定2.取得企業參數-金額捨入類型s_axcp500s_axcp500取得成本含稅否s_axcp500_cre_tmp_table()建立暫存表料件成本階的檢查s_axcp500_ins_temp_table()資料新增進暫存表刪除不在料件範圍的工單(sfaa010=imaa001)s_axcp500_convert_sfaa012()生產數量轉換成本單位的數量s_axcp500_del_data()刪除本期已存在之成本資料s_axcp500_gen_repeat_docno()重複性生產,產生工單號s_axcp500_def_cursor()定義共用的CURSOR1.建立空表:xccc_tmp、xcck_tmp、xccd_tmp、xcce_tmp、xccz_tmp、xccg_tmp、xcha_tmp、xchb_tmp、xccq_tmp、sfale_return_tmp2.抓取資料新增暫存表:inaj_tmp、sfaa_tmp、xcbk_tmp、xmdl_tmp、sfba_tmp、sfdc_tmp、sfdd_tmp、sfac_tmp、sfac_tmp2抓取要處理的料件及成本階,新增s_axcp500_tmp資料刪除不在s_axcp500_tmp內的sfaa_tmp、sfac_tmp、sfac_tmp2、sfba_tmp將sfaa_tmp的生產數量、生產單位更新成成本數量、成本單位s_axcp500_avg_get_previous_balance()上期餘額轉至本期期初成本s_axcp500_avg1()月加權計算主函式Retrun拆件在製(xcch_t、xcci_t)s_axcp500_avg1()s_axcp500_avg_def_cursor()月加權CURSOR定義s_axcp500_avg1_def_cursor()月加權CURSOR定義s_axcp500_avg1_set_xcck_1()新增xcck資料,更新入項成本s_axcp500_avg1_set_xccc_1()新增xccc資料,更新入項成本s_axcp500_avg1_wip_part1()一般在製前置處理s_axcp500_avg1_repeat_wip_part1()重複性工單前置處理1.新增所有的xcck2.當參數銷退來源=3.更新xcck的入項4.更新xcck033,1.新增所有的xccc_2.更新xccc的期初3.從xcck的數量、入庫&當站下線、其是否生成倉庫成本資料99→階0階s_axcp500_avg99→階0階s_axcp500_avg1_set_xcck_2()更新一般、委外入庫金額s_axcp500_avg1_set_xccc_2()更新一般、委外入庫金額s_axcp500_avg1_set_xcck_3(更新重工領出、銷退入庫金額是否生成倉庫成本資料99階Startxcce_tmp、xchb_tmpxmdl_tmp、sfac_tmp、s_axcp500_avg_coproduct()聯產品處理s_axcp500_avg1_rework()重工工單處理s_axcp500_avg1_set_xccc_4()更新重工入庫金額更新拆件投入的金額(xcck202)s_axcp500_avg1_set_xccc_3(更新重工領出、銷退入庫金額(參數=部響)是否生成倉庫成本資料s_axcp500_avg_disassemble(拆件工單處理s_axcp500_avg1_set_xcck_5(更新所有出項成本s_axcp500_avg1_set_xccc_5(更新所有出項成本是否生成倉庫成本資料是否生成倉庫成本資料Continue/EndForeachTrueFalseursor()定義cursor()定義xcck_1()入項成本xccc_1()入項成本s_axcp500_avg1_set_xccq_1()新增xccq資料,更新入項成本_part1()理wip_part1()理1.新增所有的xcck資料(判斷inaj036給予xcck055的值)2.當參數銷退來源=1.原始出貨月時,記錄銷退單價成本3.更新xcck的入項成本金額:採購入庫、當站下線、調撥、雜收4.更新xcck033,雜收發對應的科目1.新增所有的xccq_t資料2.更新xccq的期初資料,先抓上期開帳,無開帳則抓上期期末3.從xcck的數量、金額,更新xccq的入項數量、成本金額:採購入庫、雜收入庫、調整入庫&當站下線、其他入庫1.新增所有的xccc_t資料2.更新xccc的期初資料,先抓上期開帳,無開帳則抓上期期末3.從xcck的數量、金額,更新xccc的入項數量、成本金額:採購入庫、雜收入庫、調整入庫&當站下線、其他入庫無做任何處理s_axcp500_avg1_wip()一般在製工單處理s_axcp500_avg1_repeat_wip()重複性工單處理xcp500_avg1_set_xcck_2()更新一般、委外入庫金額xcp500_avg1_set_xccc_2()更新一般、委外入庫金額s_axcp500_avg1_set_xccq_2()更新一般、委外入庫金額xcp500_avg1_set_xcck_3()更新重工領出、銷退入庫金額無做任何處理更新一般工單入庫、委外入庫的xcck金額1.更新xccc生產入庫、委外入庫的數量、金額2.更新料件的單位成本(xccc280)是否生成倉庫成本資料1.更新xccq生產入庫、委外入庫的數量、金額2.更新料件的單位成本(xccq280)更新xcck重工領出、銷退入庫的金額99階Startaxcp500_avg_coproduct()聯產品處理_axcp500_avg1_rework()重工工單處理xcp500_avg1_set_xccc_4()更新重工入庫金額1.更新xccc重工入庫的數量、金額2.更新料件的單位成本(xccc280)新拆件投入的金額(xcck202)xcp500_avg1_set_xccc_3()領出、銷退入庫金額(參數=部份影響)s_axcp500_avg1_set_xccq_3()更新重工領出、銷退入庫金額更新xcck重工領出、銷退入庫的金額1.更新xccc重工領出、銷退入庫的數量、金額2.更新料件的單位成本(xccc280)是否生成倉庫成本資料1.更新xccq重工領出、銷退入庫的數量、金額2.更新料件的單位成本(xccq280)抓取聯產品及多產出入庫的xcck數量、金額,更新xccg_t的轉出數量、金額xcp500_avg_disassemble()拆件工單處理s_axcp500_avg1_set_xccq_4()更新重工入庫金額xcp500_avg1_set_xcck_5()更新所有出項成本xcp500_avg1_set_xccc_5()更新所有出項成本s_axcp500_avg1_set_xccq_5()是否生成倉庫成本資料1.更新xccq重工入庫的數量、金額2.更新料件的單位成本(xccq280)更新出項成本:領退料、銷貨、銷退、銷售費用、雜發、庫存報廢、盤盈虧...1.更新出項成本:領退料、銷貨、銷退、銷售費用、雜發、庫存報廢、盤盈虧...2.更新期末結存3.更新結存調整4.更新銷貨/銷退收入金額是否生成倉庫成本資料1.更新出項成本:領退料、銷貨、銷退、銷售費用、雜發、庫存報廢、盤盈虧...2.更新期末結存3.更新結存調整Continue/EndForeachRetrun暫存表寫入正式表xcck_t、xccc_t、xccq_t、xccd_t、xcce_t、xccz_t、xccg_t、xcha_t、xchb_t購入庫、雜收入s_axcp500_avg1_wip_1()新增在製主件資料,更新數量s_axcp500_avg1_wip_2_1()新增在製元件資料s_axcp500_avg1_wip_3()新增在製元件發料明細資料,更新數量s_axcp500_avg1_wip_4_1()根據主件轉出,計算下階料的轉出數量製程s_axcp500_avg1_wip_part1()s_axcp500_avgRetruns_axcp50處理本s_axcp500_avg_wip_process()s_axcp取本期xccs_axcp處理DL+s_axcp處理As_axcp500_avg1_rework()s_axcp500_avgs_axcp500_avg_disassemble()s_axcp500_disassemble_1()處理拆件工單Retruns_axcp500_avg1_wip_5()處理本期主件金額s_axcp500_avg1_set_xcck_4()更新重工入庫金額s_axcp500_avg_coproduct()聯產品處理Retruns_axcp500_avgwip_1()更新數量p_2_1()料ip_3()料,更新數量s_axcp500_avg_wip_xchb_1()s_axcp500_avg_wip_xcha_1()p_4_1()料的轉出數量1.新增所有的xccd_t資料2.更新xccd的期初資料,先抓上期開帳,再抓上期期末3.更新xccd的材料投入套數(xccd201)及本期轉出數量(xccd301)1.新增所有的xcce_t資料2.更新xcce的期初資料,先抓上期開帳,再抓上期期末(xcce_t計錄當月整個發退料資料)1.新增所有的xccz_t資料2.更新xccz的期初資料,先抓上期開帳,再抓上期期末3.更新xccz數量:本期投入、本期當站下線、一般退料、超領退、盤差(xccz_t記錄每筆發料資料)TrueFalse1.下階料轉出數量暫存到wip4_tmp32.建立wip4_tmp4(DL+OH+SUB使用)3.建立wip4_tmp5(ADJUST使用)s_axcp500_avg1_wip_4_2()處理本期下階料轉出s_axcp500_get_xccd()取本期xccd資料,無則做新增s_axcp500_wip_2_3()處理DL+OH+SUB的投入s_axcp500_wip_2_4()處理ADJUST的投入更新本期入庫轉出(xcce301、xcce302)、本期差異轉出(xcce303、xcce304)、期末結存(xcce901、xcce902)TrueFalses_axcp500_avg1_wip_2_2()處理本期下階料投入更新本期本階投入(xcce201、xcce202)、當站下線(xcce205、xcce206)、一般退料(xcce207、xcce208)、超領退(xcce209、xcce210)、盤差(xcce307、xcce308)、期末結存1.從xcbk_t抓取人工製費資料2.從應付/入庫抓取加工費3.更新DL+OH+SUB的xcce201、xcce2021.從axct312抓取在製成本調整資料3.更新ADJUST的xcce201、xcce202mble_1()單s_axcp500_disasse處理拆件的元s_axcp500_disassemble_1()s_axcp500_disasse處理拆件在製s_axcp500_disasse處理拆件的元_avg1_wip_5()期主件金額g1_set_xcck_4()工入庫金額vg_coproduct()品處理合計所有的xcce金額,更新到xccd金額抓取聯產品及多產出入庫的xcck數量、金額,更新xccg_t的轉出數量、金額更新xcck重工入庫的金額s_axcp500s_axcp500_disasse處理拆件的元s_axcp500_disasse處理拆件的主s_axcp500_avg_wip_process()s_axcp500_get_xccd()取本期xccd資料,無則做新增s_axcp500_wip_2_3()處理DL+OH+SUB的投入s_axcp500_wip_2_4()處理ADJUST的投入s_axcp500_avg1_wip()s_axcp500_avg1_wip_2_2()處理本期下階料投入s_axcp500_avgs_axcp500_avg1_wip_4_2()處理本期下階料轉出s_axcp500_avg1_wip_5()處理本期主件金額s_axcp500_wip_2_4()處理ADJUST的投入Retrun合計所有的xcce金額,更新到xccd金本期投入、本期轉出、差異轉出、期末s_axcp500_disassemble_wip_4()處理拆件的元件轉出1.取得拆件入庫數量(xcck201)2.取得拆件入庫料件的成本3.更新拆件的入庫轉出(xcci301、xcci302)4.工單結案,把期末結存轉至差異sassemble_1()TrueFalses_axcp500_disassemble_wip_1()處理拆件在製主件s_axcp500_disassemble_wip_2()處理拆件的元件投入1.取得拆件在製主件資料(xcch),並結轉上期期末資料至本期期初2.取得本期投入工時3.新增或更新拆件在製主件資料(xcch)s_axcp500_disassemble_wip_4()處理拆件的元件轉出s_axcp500_disassemble_wip_5()處理拆件的主件資料Retrun1.取得拆件入庫數量(xcck201)2.取得拆件入庫料件的成本3.更新拆件的入庫轉出(xcci301、xcci302)4.工單結案,把期末結存轉至差異將拆件在製元件的期初、本期投入、本期轉出、差異轉出、期末結存,更新到拆件在製主件xcp500_get_xccd()xccd資料,無則做新增xcp500_wip_2_3()DL+OH+SUB的投入axcp500_wip_2_4()處理ADJUST的投入TrueFalsep500_avg1_wip_2_2()處理本期下階料投入更新本期本階投入(xcce201、xcce202)、當站下線(xcce205、xcce206)、一般退料(xcce207、xcce208)、超領退(xcce209、xcce210)、盤差(xcce307、xcce308)、期末結存1.從xcbk_t抓取人工製費資料2.從應付/入庫抓取加工費3.更新DL+OH+SUB的xcce201、xcce202p500_avg1_wip_4_2()處理本期下階料轉出axcp500_wip_2_4()處理ADJUST的投入更新本期入庫轉出(xcce301、xcce302)、本期差異轉出(xcce303、xcce304)、期末結存(xcce901、xcce902)1.從axct312抓取在製成本調整資料3.更新ADJUST的xcce201、xcce202合計所有的xcce金額,更新到xccd金額:期初、本期投入、本期轉出、差異轉出、期末結存s_axcp500_disassemble_wip_2()s_axcp500_disassemble_wip_2_1()上期期末結轉至本期期初s_axcp500_disassemble_wip_2_2()處理拆件工單的本期投入s_axcp500_disassemble_wip_2_3()處理拆件工單的人工、加工、製費1.取得上期的拆件在製元件2.新增或更新拆件在製元件抓取工單投/退料數量(xcc新拆件本期投入(xcci2011.從xcbk_t抓取人工製費2.從應付/入庫抓取加工費3.更新DL+OH+SUB的xs_axcp500s_axcp500_disassemble_wip_2_3()處理拆件工單的人工、加工、製費s_axcp500_disassemble_wip_2_4()處理拆件工單的在製成本調整Retrun1.從xcbk_t抓取人工製費2.從應付/入庫抓取加工費3.更新DL+OH+SUB的x1.從axct312抓取在製成本3.更新ADJUST的xcci20TrueFalse1.取得上期的拆件在製元件資料(xcci)結轉至本期期初2.新增或更新拆件在製元件資料(xcci)抓取工單投/退料數量(xcck201)、金額(xcck201)更新拆件本期投入(xcci201、xcci202)1.從xcbk_t抓取人工製費資料2.從應付/入庫抓取加工費3.更新DL+OH+SUB的xcci2021.從xcbk_t抓取人工製費資料2.從應付/入庫抓取加工費3.更新DL+OH+SUB的xcci2021.從axct312抓取在製成本調整資料3.更新ADJUST的xcci201、xcci202料件502556本月發料單有金額但無數量請做調整->(xccc301=0&xccc302<>0)台欣七月成本問題如下:工單TY-510-20170720004的下階元件投入出現製費三金額,但是目前從未使用到製費三,axci115未有製費三的設定,axct300成本開帳也沒有製費三BAAZ064A029BABZ064A018德微axcq301載帶防靜電SMB-3(FC-SX0)GS013(12mm*400M)蓋帶防靜電SMA/BDENKA/ALSHST(9.3mm*480M)E-FF1-201705190020E-FF1-201705190020在製成本(元件)期末數量為負在製成本(元件)期末數量為負