TIPTOP ERP系统函数cl_show_array()

TIPTOP ERP系统函数cl_show_array()
TIPTOP ERP系统函数cl_show_array()

系统函数cl_show_array() 在TIPTOP系统中设有这样的一个方法cl_show_array(),这个方法的主要作用是开窗呈现一个动态数组中的内容,主要用于我们在对单身里面多条数据进行逐一判断,最终将单身里面有错误的信息,在不写任何开窗代码的情况下,使用这个cl_show_array()将错误信息组合罗列在弹窗里面,外加了一个导出excel的功能.废话不多说直接写段代码测试一下,编写一个名为f4.4gl文件,然后上传编译,在42m目录下面使用命令fglrun cxm_f4.42m执行,弹出结果. 【注:因为是测试,所以这里面有些系统自带函数注释掉一些, 然后添加了两个比较重要的函数FUNCTION cl_set_comp_att_text(ps_fields, ps_att_value)(动态设定栏位标题) 和FUNCTION cl_set_comp_visible(ps_fields, pi_visible)(动态隐藏栏位),这两个方法里面做了一些小小的改动】

代码如下:

MAIN

DEFINE test1,test2 STRING

DEFINE r DYNAMIC ARRAY OF RECORD

key INTEGER,

lastname CHAR(20)

END RECORD

LET r[1].key = 1

LET r[1].lastname = 'Condor1'

LET r[2].key = 2

LET r[2].lastname = 'Condor2'

LET r[3].key = 3

LET r[3].lastname = 'Condor3'

LET test1 = "|",'Item' CLIPPED

LET test1 =test1.trim(),"|",'Content' CLIPPED

LET test2 = '测试数据!' CLIPPED

CALL cl_show_array(base.typeinfo.create(r),test2,test1) // base.typeinfo.create(r)数组内容,test2窗口标题,test1栏位标题(注意栏位标题的格式以”|”将其分开,因为后面的代码里面会以”|”来截取)

END MAIN

FUNCTION cl_show_array(pnode_array,ps_win_title,ps_title_str)

DEFINE pnode_array om.DomNode

DEFINE ps_win_title STRING

DEFINE ps_title_str STRING

DEFINE lnode_record om.DomNode

DEFINE llst_fields om.NodeList

DEFINE lnode_field om.DomNode

DEFINE llst_rec_fields om.NodeList

DEFINE li_child_cnt SMALLINT

DEFINE li_rec_cnt INTEGER

DEFINE lr_array DYNAMIC ARRAY OF RECORD

field1 STRING,

field2 STRING,

field3 STRING,

field4 STRING,

field5 STRING,

field6 STRING,

field7 STRING,

field8 STRING,

field9 STRING,

field10 STRING

END RECORD

DEFINE ls_visible_str STRING

DEFINE li_i SMALLINT

DEFINE li_j SMALLINT

DEFINE ls_i STRING

DEFINE lst_title_names base.StringTokenizer

DEFINE ls_title STRING

DEFINE g_max_rec INTEGER

DEFINE lwin_curr ui.Window

LET g_max_rec = 10 // 这个g_max_rec在global是有定义的,这里因为只是做简单测试赋值一固定值10

IF pnode_array IS NULL THEN

RETURN

ELSE

LET li_rec_cnt = pnode_array.getChildCount()

LET lnode_record = pnode_array.getFirstChild()

END IF

IF lnode_record IS NULL THEN

RETURN

ELSE

LET llst_rec_fields = lnode_record.selectByTagName("Field")

LET li_child_cnt = llst_rec_fields.getLength()

END IF

FOR li_i = 1 TO li_rec_cnt

IF li_i > g_max_rec THEN

-- CALL cl_err( '', 9035, 0 ) //系统自带错误提示的方法注释

EXIT FOR

END IF

IF li_i = 1 THEN

LET lnode_record = pnode_array.getFirstChild()

ELSE

LET lnode_record = lnode_record.getNext()

END IF

LET llst_fields = lnode_record.selectByTagName("Field")

FOR li_j = 1 TO llst_fields.getLength()

LET lnode_field = llst_fields.item(li_j)

CASE li_j

WHEN 1

LET lr_array[li_i].field1 = lnode_field.getAttribute("value")

WHEN 2

LET lr_array[li_i].field2 = lnode_field.getAttribute("value")

WHEN 3

LET lr_array[li_i].field3 = lnode_field.getAttribute("value")

WHEN 4

LET lr_array[li_i].field4 = lnode_field.getAttribute("value")

WHEN 5

LET lr_array[li_i].field5 = lnode_field.getAttribute("value")

WHEN 6

LET lr_array[li_i].field6 = lnode_field.getAttribute("value")

WHEN 7

LET lr_array[li_i].field7 = lnode_field.getAttribute("value")

WHEN 8

LET lr_array[li_i].field8 = lnode_field.getAttribute("value")

WHEN 9

LET lr_array[li_i].field9 = lnode_field.getAttribute("value")

WHEN 10

LET lr_array[li_i].field10 = lnode_field.getAttribute("value")

END CASE

END FOR

END FOR

OPEN WINDOW cl_show_array_w AT 1,1 WITH FORM "lib/42f/cl_show_array"

A TTRIBUTE(STYLE="frm_list")

-- CALL cl_ui_init() //系统自带的方法注释

-- CALL cl_chg_win_title(ps_win_title) //系统自带方法注释,换成下面的两句更改窗口标题

LET lwin_curr = ui.window.getCurrent()

CALL lwin_curr.setText(ps_win_title)

DISPLAY li_rec_cnt TO FORMONL https://www.360docs.net/doc/5e6850165.html,t

--CALL cl_set_act_visible("accept,cancel",FALSE) //系统自带隐藏按钮代码注释

DISPLAY ARRAY lr_array TO s_array.* ATTRIBUTE(COUNT=g_max_rec,UNBUFFERED)

BEFORE DISPLAY

FOR li_i = li_child_cnt + 1 TO 10

LET ls_i = li_i

LET ls_visible_str = ls_visible_str,"field",ls_i

IF li_i != 10 THEN

LET ls_visible_str = ls_visible_str,","

END IF

END FOR

CALL cl_set_comp_visible(ls_visible_str,FALSE) //隐藏掉不需要栏位

LET lst_title_names = base.StringTokenizer.create(ps_title_str,"|")

LET li_i = 1

WHILE lst_title_names.hasMoreTokens()

LET ls_title = lst_title_names.nextToken()

LET ls_title = ls_title.trim()

CASE li_i

WHEN 1

CALL cl_set_comp_att_text("field1",ls_title) //动态设定栏位标题

WHEN 2

CALL cl_set_comp_att_text("field2",ls_title)

WHEN 3

CALL cl_set_comp_att_text("field3",ls_title)

WHEN 4

CALL cl_set_comp_att_text("field4",ls_title)

WHEN 5

CALL cl_set_comp_att_text("field5",ls_title)

WHEN 6

CALL cl_set_comp_att_text("field6",ls_title)

WHEN 7

CALL cl_set_comp_att_text("field7",ls_title)

WHEN 8

CALL cl_set_comp_att_text("field8",ls_title)

WHEN 9

CALL cl_set_comp_att_text("field9",ls_title)

WHEN 10

CALL cl_set_comp_att_text("field10",ls_title)

END CASE

LET li_i = li_i + 1

END WHILE

ON ACTION exporttoexcel // 汇出excel的方法注释

#IF cl_chk_act_auth() THEN mark by FUN-650020

--CALL

cl_export_to_excel(ui.Interface.getRootNode(),base.TypeInfo.create(lr_array),'','') #END IF

ON ACTION exit

EXIT DISPLAY

#TQC-660079...............begin

ON ACTION cancel

LET INT_FLAG=0

EXIT DISPLAY

#TQC-660079...............end

END DISPLAY

--CALL cl_set_act_visible("accept,cancel",TRUE) //隐藏按钮方法注释

CLOSE WINDOW cl_show_array_w

END FUNCTION

FUNCTION cl_set_comp_att_text(ps_fields, ps_att_value) //动态设定栏位标题DEFINE ps_fields STRING,

ps_att_value STRING

DEFINE lst_fields base.StringTokenizer,

lst_string base.StringTokenizer,

ls_field_name STRING,

ls_field_value STRING,

ls_win_name STRING

DEFINE lnode_root om.DomNode,

lnode_win om.DomNode,

lnode_pre om.DomNode,

llst_items om.NodeList,

li_i SMALLINT,

lnode_item om.DomNode,

ls_item_name STRING,

lnode_item_child om.DomNode,

ls_item_pre_tag STRING,

ls_item_tag_name STRING

DEFINE g_chg DYNAMIC ARRAY OF RECORD

item STRING,

value STRING

END RECORD

DEFINE lwin_curr ui.Window

IF (ps_fields IS NULL) THEN

RETURN

ELSE

LET ps_fields = ps_fields.toLowerCase()

END IF

LET lwin_curr = ui.Window.getCurrent()

LET lnode_win = lwin_curr.getNode()

LET ls_win_name = lnode_win.getAttribute("name")

LET llst_items = lnode_win.selectByPath("//Form//*")

LET lst_fields = base.StringTokenizer.create(ps_fields, ",")

LET lst_string = base.StringTokenizer.create(ps_att_value,",")

WHILE lst_fields.hasMoreTokens() AND lst_string.hasMoreTokens()

LET ls_field_name = lst_fields.nextToken()

LET ls_field_value = lst_string.nextToken()

LET ls_field_name = ls_field_name.trim()

IF ls_field_name.equals(ls_win_name) THEN

CALL lnode_win.setAttribute("text",ls_field_value)

END IF

FOR li_i = 1 TO llst_items.getLength()

LET lnode_item = llst_items.item(li_i)

LET ls_item_name = lnode_item.getAttribute("colName")

IF (ls_item_name IS NULL) THEN

LET ls_item_name = lnode_item.getAttribute("name")

IF (ls_item_name IS NULL) THEN

CONTINUE FOR

END IF

END IF

IF (ls_item_name.equals(ls_field_name)) THEN

LET ls_item_tag_name = lnode_item.getTagName()

IF ls_item_tag_name.equals("TableColumn") OR

ls_item_tag_name.equals("Window")OR

ls_item_tag_name.equals("Button") THEN #FUN.570234 Add By Lifeng

CALL lnode_item.setAttribute("text",ls_field_value.trim()) #FUN-530037 ELSE

LET lnode_pre = lnode_item.getPrevious()

LET ls_item_pre_tag = lnode_pre.getTagName()

IF ls_item_pre_tag.equals("Label") THEN

CALL lnode_pre.setAttribute("text",ls_field_value.trim()) #FUN-530037 END IF

END IF

EXIT FOR

END IF

END FOR

END WHILE

END FUNCTION

FUNCTION cl_set_comp_visible(ps_fields, pi_visible) //动态设定栏位标题隐藏DEFINE ps_fields STRING,

pi_visible SMALLINT

DEFINE lst_fields base.StringTokenizer,

ls_field_name STRING

DEFINE lnode_root om.DomNode,

llst_items om.NodeList,

li_i SMALLINT,

lnode_item om.DomNode,

lnode_prev om.DomNode,

ls_item_name STRING,

ls_prev_name STRING, #No:FUN-570225

ls_item_tag STRING,

ls_prev_tag STRING

DEFINE lwin_curr ui.Window,

lfrm_curr ui.Form

DEFINE lnode_frm om.DomNode

DEFINE ls_formName STRING

DEFINE li_idx SMALLINT

DEFINE li_gav_cnt SMALLINT

DEFINE lc_cust_flag V ARCHAR(1)

DEFINE ls_gav09 V ARCHAR(1) --LIKE gav_file.gav09

DEFINE ls_notNull STRING,

ls_required STRING

DEFINE ls_gav01 V ARCHAR(20), --LIKE gav_file.gav01,

ls_gav02 V ARCHAR(20) --LIKE gav_file.gav02

-- #FUN-640184

-- IF g_bgjob = 'Y'

-- AND g_gui_type NOT MATCHES "[13]" THEN #TQC-710024 add

-- RETURN

-- END IF

-- #END FUN-640184

IF (ps_fields IS NULL) THEN

RETURN

ELSE

LET ps_fields = ps_fields.toLowerCase()

END IF

LET lwin_curr = ui.Window.getCurrent()

LET lfrm_curr = lwin_curr.getForm()

LET lnode_frm = lfrm_curr.getNode()

LET lnode_root = ui.Interface.getRootNode()

#No:MOD-750003 --start--

# LET llst_items = lnode_root.selectByPath("//Form//*") LET llst_items = lnode_frm.selectByPath("//Form//*")

#No:MOD-750003 ---end---

LET lst_fields = base.StringTokenizer.create(ps_fields, ",")

# FUN-4B0078

LET ls_formName = lnode_frm.getAttribute("name")

LET li_idx = ls_formName.getIndexOf("T", 1)

IF li_idx != 0 THEN

LET ls_formName = ls_formName.subString(1, li_idx - 1) END IF

LET ls_gav01 = ls_formName

-- SELECT COUNT(*) INTO li_gav_cnt FROM gav_file

-- WHERE gav01 = ls_gav01 AND gav08 = 'Y'

IF li_gav_cnt > 0 THEN

LET lc_cust_flag = "Y"

ELSE

LET lc_cust_flag = "N"

END IF

# ---

WHILE lst_fields.hasMoreTokens()

LET ls_field_name = lst_fields.nextToken()

LET ls_field_name = ls_field_name.trim()

LET ls_gav02 = ls_field_name

FOR li_i = 1 TO llst_items.getLength()

LET lnode_item = llst_items.item(li_i)

LET ls_item_name = lnode_item.getAttribute("colName")

IF (ls_item_name IS NULL) THEN

LET ls_item_name = lnode_item.getAttribute("name")

IF (ls_item_name IS NULL) THEN

CONTINUE FOR

END IF

END IF

IF (ls_item_name.equals(ls_field_name)) THEN

LET ls_item_tag = lnode_item.getTagName()

IF (ls_item_tag.equals("Group") OR

ls_item_tag.equals("Grid") OR

ls_item_tag.equals("Folder") OR

ls_item_tag.equals("Page") OR

ls_item_tag.equals("Label") OR #FUN-550113

ls_item_tag.equals("Button")) THEN #隐藏GROUP,BUTTON这类的元件

IF (pi_visible) THEN

CALL lfrm_curr.setElementHidden(ls_field_name,0)

ELSE

CALL lfrm_curr.setElementHidden(ls_field_name,1)

END IF

EXIT FOR

END IF

IF (pi_visible) THEN

CALL lfrm_curr.setFieldHidden(ls_field_name,0)

IF (ls_item_tag.equals("FormField")) THEN

LET lnode_prev = lnode_item.getPrevious()

IF lnode_prev IS NOT NULL THEN

LET ls_prev_tag = lnode_prev.getTagName()

LET ls_prev_name = lnode_prev.getAttribute("name") #No:FUN-570225

#No:FUN-570225 --start--

IF ls_prev_tag = "Button" AND lnode_prev.getAttribute("tag") = "+" THEN

CALL lnode_prev.setAttribute("hidden",0)

LET lnode_prev = lnode_prev.getPrevious()

IF lnode_prev IS NOT NULL THEN

LET ls_prev_tag = lnode_prev.getTagName()

END IF

END IF

#No:FUN-570225 ---end---

IF (ls_prev_tag.equals("Label")) AND

(ls_prev_name NOT MATCHES "dummy*" OR ls_prev_name IS

-570225

CALL lnode_prev.setAttribute("hidden",0)

END IF

END IF

END IF

ELSE

#FUN-4B0078 #MOD-4C0124

CALL lfrm_curr.setFieldHidden(ls_field_name,1)

IF (ls_item_tag.equals("FormField")) THEN

LET lnode_prev = lnode_item.getPrevious()

IF lnode_prev IS NOT NULL THEN

LET ls_prev_tag = lnode_prev.getTagName()

LET ls_prev_name = lnode_prev.getAttribute("name") #No:FUN-570225

#No:FUN-570225 --start--

IF ls_prev_tag = "Button" AND lnode_prev.getAttribute("tag") = "+" THEN

CALL lnode_prev.setAttribute("hidden",1)

LET lnode_prev = lnode_prev.getPrevious()

IF lnode_prev IS NOT NULL THEN

LET ls_prev_tag = lnode_prev.getTagName()

END IF

END IF

#No:FUN-570225 ---end---

IF (ls_prev_tag.equals("Label")) AND

(ls_prev_name NOT MATCHES "dummy*" OR ls_prev_name IS NULL) THEN #No:FUN-570225

CALL lnode_prev.setAttribute("hidden",1)

END IF

END IF

END IF

END IF

EXIT FOR

END IF

END FOR

END WHILE

END FUNCTION

最终显示的效果如下图:

Edit by condor

2012年10月23日15:15:47

大规模的能量储存系统及技术

大规模的能量储存系统及技术 摘要 现代社会,人类社会越来越离不开电了,但是电能只能即发即用,那么如何将电能储存,并实现大规模的储存将会对人类的现代化作出进一步的贡献。据调查研究,目前国内外储存电能的形式有飞轮蓄能、抽水蓄能、蓄冷蓄能、蓄热蓄能、高效电池蓄能、压缩空气蓄能、燃料电池蓄能以及超导电磁寻能等,但基于技术及经济方面的考虑,抽水储能仍然是目前的主流储存电能的方式,本文将简单的谈下抽水储能方面的技术及系统。 关键词:电能储存技术,抽水储能,电力系统 0引言 近年来,随着我国人民生活水平的提高和产业结构的调整,系统中电力负荷结构也在不断发生变化,电力的增长速度超过电量的增长速度,系统的负荷峰谷差逐年增大,使各系统的调峰问题愈来愈突出,运行中经常由于突然出现的负荷高峰与预测相距较大而造成电网拉闸限电,严重影响了电力系统的供电质量及电力系统的经济效益,也给国民经济带来了很大损失。现代电网的大规模互联,使系统的结构和运行方式越来越复杂多变,而越来越严格的环境和生态要求,又使建造新的发电和输电系统非常困难,随着电力系统的重构和市场化,对已有设备的充分利用就显得日益重要。互联电力系统运行在越来越接近其传输极限的水平上,这进一步增加了输电系统的压力。当一个大系统由于事故的连锁反应而导致系统瓦解,出现大面积停电时,会造成难以估计的经济损失和社会影响。规划和运行中的不确定因素和不安全因素的增加对系统的安全稳定控制提出了越来越严峻的挑战。而无论是调峰问题,还是稳定问题,其根源都在于能量的不平衡,或者说是电能的生产、输送、消费的瞬时不平衡,电能存储技术可以提供一种简单的解决电能供需不平衡问题的办法。各种形式的储能装置可以在电网负荷低谷的时候作为化学形式,物理形式又可以分为机械储能和电磁场储能。 1 电能储存现状 1.1 飞轮储能 飞轮储能技术作为一种新的电能存储技术,与超导储能技术、燃料电池技术一样,都是近年来出现的有很大发展前景的储能技术,已经开始越来越广泛地应用于国内外许多行业。飞轮储能装置主要有3 个核心构件:飞轮、电机和电力电子装置。 基本工作原理是:将外界输入的电能通过电动机转化为飞轮转动的动能储存起来;当外界需要电能时,又通过发电机将飞轮的动能转化为电能,输出到外部负载。它要求飞轮空闲运转时候损耗非常小。当外设通过电力电子装置给电机供

tiptop系统应用-01基础操作管理系统

鼎新電腦股份有限公司 產品中心 VER6.50

頁次 壹. 系統操作...................................................... 1-1 貳. 如何新增使用者................................................ 2-1 參. 如何建置USERMENU.............................................. 3-1 肆. 多工廠環境介紹................................................ 4-1 伍. 系統基本資料 (一)系統參數設定作業(aoos010)................................ 5-1 (二)公司名稱建立作業(p_zo)..................................... 5-2 (三)部門資料維護作業(aooi030)................................ 5-3 (四)員工資料維護作業(aooi040)................................ 5-4 (五)區域資料維護作業(aooi100)...................................5-5 (六)國別資料維護作業(aooi090)...................................5-6 (七)單位資料維護作業(aooi101).................................5-7 (八)單位換算資料維護作業(aooi102)...............................5-8 (九)碼別代號說明資料維護作業(aooi080)...........................5-10 (十)會計期間設定作業(aoos020)...................................5-12 (十一)週期期間產生作業(aoos030).................................5-13 (十二)稅別資料維護作業(aooi150).................................5-14 (十三)專案名稱資料維護作業(aooi200).............................5-15 (十四)交運資料維護作業(aooi160).................................5-16 (十五)幣別資料維護作業(aooi050).................................5-17 (十六)每月匯率維護作業(aooi060).................................5-18 (十七)每日匯率維護作業(aooi070).................................5-19 陸、異常系統查詢作業 一、編號連續檢查作業(aoou701)....................................6-1 二、系統重要資料修改記錄查詢(aooq030)............................6-2 三、程式使用率分析表(aoor010)..................................6-3

TipTop成本操作手册

(一)计算操作步骤 1.成本计算前置流程 1)制造系统月结(asmp610):用以更新现行年月,以便前端可以录入单据。

2)成会关帐作业(asmp620): 1.当月所有库存异动单据(销货单,采购入库单,生产入库单,生产领料单,,杂收杂发单)等全部处理完毕,需要执行成会关 帐,2.成会关帐在asmp620-制造系统成会关帐作业,关帐就意味着不能修改以前的单据 3.此只程序的权限只有财务的成本会计有,其他人不应该有4一般是在次月的1日把关帐日期设置为上月的月底 3)未审核单据查核(aoou702) 1.查核各系统未审核及过账单据 2.每个责任人每天自己执行,主管定期执行 3.成本会计每周执行,定期发给相关主管4)入库未立应付检查(aapr140):查核入库单未立应付的部分

5)销货单未立应收(axmr660) 6)库存重计(aimp620) 目的:成会关帐,会计期间调整以后,TIPTOP系统制造段,还需进行库存月结计算作业,目的是将每个月的库存异动数据进行计算,算出每个月的所有料件的库存月末数量及下月期初数量,并且存在一个专门的档案里面(imk_file), 此做法好处是将料件的库存数量计算,依月为单位进行拆分,未来进行库存数量查询,不用将从上线第一天到现在的所有 资料进行计算,减轻系统处理负担.

2. 成本基本设置 1) 成本参数设置(axcs010) 2) 单别成会分类设置(axci010):此部分是维护前端单据计算成本的单据性质 1. 此是成本计算的前提条件,除现行成本结算年度及现行成本结算月 份可以更改外,其余的不能随便修改 2. 。现行成本结算年度及月份须于每次成本计算完毕后修改为下个月 3. 采购入库单价来源-一般选择实际成本 4. 工单入库来源-一般选择实际成本 5. 工单工时录入方式-一般选择3 依实际录入-期末有在制,留存比例按约当量来算 依投入套数-期末有在制,留存比例按投入产出 依产出套数-期末无在制 6. 每月人工制费维护工时录入方式-一般选择2-区分年月成本中心 存货科目取得得方式:取自料件主档

Tiptop管理员手册

易拓管理员手册 目录 一)Linux基础概念 (2) 二)Linux基础操作 (2) 1)登入Linux操作系统 (2) 2)Linux基础指令 (8) 三)相关文件夹/文件介绍 (9) Part2:Oracle部分 (10) 一、登入Oracle (10) 二、启动Oracle (10) 三、关闭Oracle (11) 四、查看Oracle表空间使用情况 (11) 五、增加Oracle表空间 (12) 六、处理表锁 (13) 七、备份还原Oracle数据 (13) Part3:GP部分 (15) 一、易拓系统架构说明 (15) 二、易拓目录结构说明 (16) 三、易拓用户说明 (17) 四、添加Tiptop ERP用户 (17) 五、新建ERP帐套 (19) 六、系统备份检查 (22) 七、Tiptop GP重要文件介绍 (24) 八、环境变量 (24) 九、系统慢问题 (25)

Part:1 OS部分 一)Linux基础概念 1)和Windows一样,Linux是一种操作系统,一样有文件、进程、磁盘分区各种概念。 2)不同于Windows,Linux的维护是在命令行界面完成,因此需要掌握一些Linux维护指令。 3)根据28定律,我们只要掌握20%的指令,就可以完成80%的维护操作了。 4)现在开始万里长征第一步:登入Linux,以便进行对Linux的操作。 二)Linux基础操作 1)登入Linux操作系统 1)推荐下载安装XShell最新版本登入OS,方便日后操作 启动XShell 点击New 新建一个到AP操作系统的链接 2)点击Connection选项,设定以下栏位的值:

TIPTOP系统管理

鼎新電腦股份有限公司 產品中心 VER GP 1.0

頁次 壹. 系統操作...................................................... 1-1 貳. 如何新增使用者................................................ 2-1 參. 如何建置USERMENU.............................................. 3-1 肆. 多工廠環境介紹................................................ 4-1 伍. 系統基本資料 (一)系統參數設定作業(aoos010)................................ 5-1 (二)公司名稱建立作業(p_zo)..................................... 5-2 (三)部門資料維護作業(aooi030)................................ 5-3 (四)員工資料維護作業(aooi040)................................ 5-4 (五)區域資料維護作業(aooi100)...................................5-5 (六)國別資料維護作業(aooi090)...................................5-6 (七)單位資料維護作業(aooi101).................................5-7 (八)單位換算資料維護作業(aooi102)...............................5-8 (九)碼別代號說明資料維護作業(aooi080)...........................5-10 (十)會計期間設定作業(aoos020)...................................5-11 (十一)週期期間產生作業(aoos030).................................5-12 (十二)稅別資料維護作業(aooi150).................................5-13 (十三)專案名稱資料維護作業(aooi200).............................5-14 (十四)交運資料維護作業(aooi160).................................5-15 (十五)幣別資料維護作業(aooi050).................................5-16 (十六)每月匯率維護作業(aooi060).................................5-17 (十七)每日匯率維護作業(aooi070).................................5-18 陸、異常系統查詢作業 一、編號連續檢查作業(aoou701)....................................6-1 二、系統重要資料修改記錄查詢(aooq030)............................6-2 三、程式使用率分析表(aoor010)..................................6-3

相关文档
最新文档