【正文】
py[]string i_title//窗口的標題變量窗口函數(shù)f_itemchanged(r_code)參數(shù):string r_code返回值類型:integerstring r_code1 CHOOSE CASE i_type CASE 39。 then =true end if 打印cb_print:clicked!str_printtool l_str_printtool //定義結構,存放調用參數(shù) = dw_table//賦值:需要打印的datawindow名字 = 39。) (Clicked!) ELSE ROLLBACK USING SQLCA。 增加cb_insert:clicked!long r_row(0)r_row=()(r_row)()(1)(r_row)()(0,FALSE)(r_row,TRUE)set_tab_old()gf_dw_count(dw_table,sle_count)不修改cb_modi:clicked!IF =39。c_postion39。 //SQL serverr_code=~39。r_name=f_string(r_name)//r_code=39。 END CHOOSE IF 100 then MESSAGEBOX(39。) //當前行當前列的值設為空 RETURN 1 END IF END IF NEXT //數(shù)據(jù)庫中已經存在的編碼不能再次輸入 CHOOSE CASE i_type CASE c_func SELECT func_code INTO :r FROM c_func WHERE func_code= :r_code 。amp。提示39。 ELSE ROLLBACK USING SQLCA。close(parent)open(w_set) 退出cb_cancel:clicked!close(parent)窗口名W_setMessage參數(shù)無主要功能系統(tǒng)設置窗口實例變量聲明無窗口函數(shù)wf_change_menu(r_menu_name)參數(shù):string r_menu_name返回值類型:integerstring ls_menuselect s_menu into :ls_menu from c_menu where menu_group=:r_menu_name。) //取關鍵字 delete from c_supp where = :r_primary[1] 。oper_code39。 FOR r_row=1 TO r_rowcount r_primary[1]=(r_row,39。SetPointer(arrow!) if f_sql() then returnelse// messagebox(39。2002010139。人員信息39。0239。00139。,39。,39。,39。,39。)。,39。)。0239。無39。0439。txt39。 insert into c_file_type values (39。自由39。 insert into c_mean values (39。導入39。,39。) 。,39。) 。0439。副董事長39。INSERT INTO c_postion(postion_code, postion_name) VALUES (39。%39。39。函數(shù)名函數(shù)功能f_oper_check判斷操作員輸入的編碼及密碼是否合法gf_dw_count顯示數(shù)據(jù)窗口的行數(shù)f_where_exist判斷有無WHERE條件f_string字符變量的處理f_sql,0、100:false,1:truegf_ini_table碼表初始化f_i_o導入導出初始f_dw_test_repeat對數(shù)據(jù)窗口中的導入數(shù)據(jù)進行重復性測試f_dw_test_repeat_del刪除導入導出中的重復數(shù)據(jù)函數(shù)名f_oper_check返回值類型integer函數(shù)功能判斷操作員輸入的編碼及密碼是否合法參數(shù)定義r_oper_code:stringr_pass:string腳本string r_oper_pass SELECT pass INTO :r_oper_pass FROM c_operator WHERE oper_code= :r_oper_code。d:\io39。重慶工學院會計學院 實驗案例39。8039。實驗環(huán)境:安裝Windows操作系統(tǒng)、PowerBuilder軟件、SQL Anywhere數(shù)據(jù)庫、教師提供的軟件原型平臺等。實驗內容:在PowerBuilder中,建立《存貨子系統(tǒng)》的SQL Anywhere數(shù)據(jù)庫。實驗內容: 通過分析《存貨子系統(tǒng)》的數(shù)據(jù)流程圖,寫出《存貨子系統(tǒng)》的數(shù)據(jù)字典。根據(jù)業(yè)務流程圖和數(shù)據(jù)流程圖,存貨子系統(tǒng)基本可以劃分為入庫管理、出庫管理、盤點管理、報損管理、調撥管理等五個功能模塊。實驗方式:分組進行。由于存貨數(shù)量賬(三級賬)、存貨明細賬(二級賬)、總賬(一級賬)是由不同的人員編制的,因此,會出現(xiàn)賬賬不一致的問題。(2)存貨核算與管理——出庫、期末處理與管理的分析流程當生產部門提出領料申請、銷售部門提出發(fā)運產品時,出庫業(yè)務便開始進行;到會計期末進行相應的處理,并提交各種管理分析報告。② 如果可以收貨,倉庫保管員編制收貨憑證,并將收貨憑證和質檢抽樣存貨移入質檢部門,進行抽樣檢驗。上機機時: 2機時實驗內容:《庫存管理存貨核算系統(tǒng)》業(yè)務流程描述。為了深入了解存貨核算與管理的特點,我們首先分析手工條件下存貨核算與管理的業(yè)務處理流程,掌握存貨出庫、入庫、期末結賬、對賬以及管理分析的過程。③ 如果質檢合格,將質檢合格存貨退返倉庫,進行庫存移庫操作,并編制驗收報告。① 倉庫保管員接到各車間、用料單位提出的領料申請,或者銷售部門提出的發(fā)運請求,經審核單據(jù)后,編制出庫單,并發(fā)出存貨。因此,期末還需要進行三級賬的核對工作,很多企業(yè)要花費一定的人力物力每月必須進行對賬。實驗內容:通過分析《存貨子系統(tǒng)》的業(yè)務流程圖,利用Visio軟件畫出《存貨子系統(tǒng)》的數(shù)據(jù)處理流程圖。每個功能模塊又可以繼續(xù)劃分為若干個功能模塊,直到每個功能模塊都能夠表示相當獨立的功能為止。數(shù)據(jù)流的描述數(shù)據(jù)流編號數(shù)據(jù)流名稱簡述數(shù)據(jù)流來源數(shù)據(jù)流去向F1庫存產品信息表庫存部門記錄存貨信息的表庫存模塊其他各模塊F2庫存盤點表庫存部門記錄存貨期末盤點情況的表庫存模塊賬務模塊F3入庫單庫存部門開出的入庫單庫存模塊采購模塊F4出庫單庫存部門開出的出庫單庫存模塊銷售模塊F5銷售退貨入庫單庫存部門開出的銷售退貨入庫單庫存模塊銷售模塊F6采購申請單庫存不足時庫存部門開出的采購申請單庫存模塊采購模塊F7報損單庫存部門開出的報損單庫存模塊質管模塊F8部門用途表各部門領用存貨類別表庫存模塊賬務模塊F9流水賬單存貨出入情況的賬單庫存模塊信息使用者F10期初余額表庫存期初余額庫存模塊信息使用者處理邏輯的描述處理邏輯編號處理邏輯名稱簡述輸入的數(shù)據(jù)流輸出的數(shù)據(jù)流P1驗收貨物對采購入庫的貨物進行檢驗采購單驗收單P2出庫處理對銷售的貨物進行出庫檢驗銷售單銷售檢驗單P3審核調撥單對調撥單申請進行審核調撥單(申請)調撥單(審核)P4盤點庫存對庫存中的存貨進行盤點實物清單庫存盤點單P5審核報損單對報損單申請進行審核報損單報損單(審核) 數(shù)據(jù)存儲的描述數(shù)據(jù)存儲編號數(shù)據(jù)存儲名稱簡述S1庫存賬目存貨入庫、出庫、退貨、報損后修改當前庫存量外部實體的描述外部實體編號外部實體名稱簡述輸入的數(shù)據(jù)流輸出的數(shù)據(jù)流E1倉庫部門對存貨保管、增減變化進行管理的部門驗收單、銷售單入庫單、出庫單E2采購部門采購存貨的部門入庫單采購單E3銷售部門銷售商品的部門出庫單銷售單E4財務部門進行賬務處理的部門庫存盤點單、報損單帳簿、報表 利用PowerDesigner軟件,建立《存貨子系統(tǒng)》的PDM。在Sybase 中心Sybase Central中,利用Utilities 工具中的Change Log File Information功能,刪除所建數(shù)據(jù)庫的transaction log file文件。實驗方式:分組進行。string g_IPAddress,g_MachineNamestring g_log_rec=39。string g_p_name=39。 ,g_pathfilename //導入導出路徑string g_dir_sc=39。 IF = 100 then messagebox(g_sys_name,您提供的操作員號碼不正確!) return 1ELSE IF trim(r_oper_pass) trim(r_pass) THEN messagebox(g_sys_name,您提供的密碼和操作員號不符!~r~r是否沒有區(qū)分大小寫?) return 2 END IFEND IFreturn 0函數(shù)名gf_dw_count返回值類型無函數(shù)功能顯示數(shù)據(jù)窗口的行數(shù)參數(shù)定義r_dw_table: datawindowr_sle_count: singlelineedit腳本long r_row,r_countr_count=()r_row=()IF r_row0 and r_count0 THEN =string(r_row)+39。END IFreturn函數(shù)名f_where_exist返回值類型integer函數(shù)功能判斷有無WHERE條件參數(shù)定義r_orig_sql: string腳本if pos(r_orig_sql,39。ELSE r= r+39。0139。) 。,39。INSERT INTO c_edu_level(edu_level_code,edu_level_name ) VALUES (39。學士39。INSERT INTO ZW_C_PZLX(PZLX_CODE,PZLX_NAME) VALUES (39。付款憑證39。)。0139。)。0139。)。,39。)。,39。insert into c_interval values (39。每年39。insert into c_flag_code values (39。c_operator39。D:\io\data39。0039。0139。,39。,39。,39。,39。提示39。oper_code39。) delete from c_operator where = :r_primary[1] 。 NEXT CASE ELSE END CHOOSEf_sql()return r_return通過分析,設計《存貨子系統(tǒng)》的通用窗口。choose case ls_menu case 39。 END IF END IFEND IF窗口函數(shù)2get_tab_order()參數(shù):無返回值類型:無integer jFOR j=1 TO i_col i_tab[j]=(j, 0) NEXT窗口函數(shù)3set_tab_0()參數(shù):無返回值類型:無integer jFOR j=1 TO i_col (j, 0)NEXT=39。,39。X可修改39。 CASE 39。提示39。 ~39。+ r_code +~39。 r_where_sql= where like + r_code amp。amp。 messagebox(39。 39。c_operator39。) ((),39。) CHOOSE CASE ename[i] CASE 39。 //選擇的碼表 CASE cb_postion_code//所有按鈕以cb_開頭(命名規(guī)則:cb_+列名) r_type=39。 (data+39。) // messagebox(39。 CHOOSE CASE r_col CASE 39。 r_code=data //相當于r_code=( r_row, col) // r_code1=f_sheet_len(r_code) //r_code1是規(guī)格化后的編碼// if r_coder_code1 then// r_code = r_code1// end if // (r_code) if f_itemchanged(r_code)=1 then (r_row,r_col,39。,ls_dwo_name+39。) END CHOOSEEND CHOO