TIPTOP自定义报表定制
tiptop快速帮助程式

tiptop快速帮助程式
p_zz:查询程序,显示模组编号、及相应的权限与相关程序
p_link:链接库显示其中所有程序及路径
p_list:输入程序加入*号显示所有这类程序,用于新开发程序加1 p_zr:通过输入档案即表,显示所用到的程序(找不到通过p_per中找字段)
P_zm:通过输入程序,显示系统目录中位置;并在程序目录编号中输入你需要的,然后在单身上加上你新做的程序号
p_perlang:设置新开发的栏位中文、繁文、英文
p_zo:报表输出的公司名称及图标,从这里设置
P_tabname:维护表的作业即档案,当在新增p_qry程序时
p_zaw:报表格式设定作业
p_zmd:新增存放目录,如u1\optest\opcust\\coo----并需重新执行.profile
p_ze :新增错误的信息,用于s_showmsg(),并可查找
p_base_act:新增按钮时,需要在此处更新ACTION语言(并在p_zz中更新action才会在p_base_act中显示)
p_zta:输表档案名,列出各个字段的中文
p_qry:查询弹出程序,比如q_ima
p_tool:查询被锁住的资料,并可解锁,当输入资料卡住时 ps:11v p_per:当p_zr找不到程序,可通过它输入列名查询出来,并要设置字段格式,如:###,###,##&.&&
p_zx:离职人员权限关掉,通过截止日期修改就行
p_query:自定义查询报表
p_cron:设定报表自动发邮件
p_zs:数据表结构更改信息
p_pw:可视化修改密码
p_bell:问题提交
p_bell2:问题查看。
TIPTOP报表客制步骤说明

TIPTOP報表客製步驟說明(Crystal Report)一.將正式區程式copy至客製區,以apmr900採購單為例Copy 4gl 程式檔Copy 4fd 畫面檔二.執行p_zz ,變更模組代碼及UNIX指令執行路徑設定APM=>CPM$FGLRUN $APMi/apmr900 => $FGLRUN $CPMi/apmr900三.p_link 變更鍵結程式資料設定,APM=>CPM,如下四.p_base_act維護Action指令,再更新單支權限五.修改apmr900.4gl程式GLOBAL 變數路徑GLOBALS "../../config/top.global" => GLOBALS "../../../tiptop/config/top.global" OPEN Form路徑OPEN WINDOW r900_w AT p_row,p_col WITH FORM "apm/42f/apmr900"=>OPEN WINDOW r900_w AT p_row,p_col WITH FORM "cpm/42f/apmr900"改好存檔六.COMPILE 畫面檔及程式檔畫面檔r.f2 apmr900r.gf apmr900 0 c程式檔r.c2 apmr900r.l2 apmr900六.至crystal report 主機將rpt檔copy至客製區D:\tiptop_cr\topprod\tiptop\apm\apmr900 copy 至D:\tiptop_cr\topprod\topcust\cpm\apmr900七.p_zaw 修改客製選項請勾選客製否八.完成註:1.若不是crystal report 報表,步驟六及七不需作2.若要改rpt 檔,請用crystal report 去修改。
TIPTOP财务管理

引言概述财务管理是企业重要的管理职能之一,对于企业的长期发展和经营决策有着重要的影响。
TIPTOP财务管理是指在持续关注财务状况的基础上,通过合理的资金运作和风险控制,为企业带来稳定的盈利和增长。
本文将对TIPTOP财务管理的五个主要方面展开阐述,包括财务规划、资金管理、风险控制、会计核算和财务报告。
正文内容1. 财务规划1.1 制定财务目标:企业在制定财务规划时需要明确财务目标,如提高利润、降低成本、增加资本回报等,以确保企业财务稳定和增长。
1.2 制定预算:预算是财务规划的重要工具,通过合理的收入和支出预测,帮助企业控制成本、提高效益,实现财务目标。
1.3 进行风险评估:财务规划还需要对市场风险、信用风险等进行评估,制定相应的风险管理策略,保障企业财务安全。
2. 资金管理2.1 短期资金管理:短期资金管理主要包括现金流预测、资金筹措、储备资金管理等,以确保企业在日常经营中的资金充足。
2.2 长期资金管理:长期资金管理主要关注企业的资本结构和资本配比,包括股权融资、债券融资等,以满足企业发展的资金需求。
2.3 资金投资决策:企业需要通过分析评估各种投资项目的风险和收益,选择最佳的投资机会,实现资金增值和财务增长。
3. 风险控制3.1 市场风险控制:市场风险是企业面临的最重要的风险之一,企业需要通过市场调研、竞争分析等手段,制定市场营销策略,减少市场风险。
3.2 信用风险控制:信用风险是企业与客户之间的关系中产生的风险,企业需要建立健全的信用管理制度,如信用评估、信用保险等,减少信用风险。
3.3 资金流动性风险控制:资金流动性风险是指企业在短期内无法满足支付债务和经营费用的能力,企业需要建立合理的流动性风险控制机制,确保资金周转灵活。
4. 会计核算4.1 财务数据收集:财务数据是进行会计核算的基础,企业需要建立健全的财务数据收集系统,保证数据的准确性和完整性。
4.2 会计周期管理:企业需要按照会计原则和法律法规,进行会计周期管理,包括会计准则遵循、会计期间调整等。
TIPTOP GP水晶报表开发

TIPTOP程式所產生的Query傳給CR
多個SQL或Crystal Report無法做到的 處理
TIPTOP程式先處理複雜的部分,再把資料 寫至temp table(實際存在)
TIPTOP
TIPTOP應用CR: 方式二
需由多個SQL得到報表結果 例如:使用UNION或選取多工廠資料
程式需作部份更動
browser
IIS
Windows clients With Crystal Report User
Crystal Report
Database Server
TIPTOP
TIPTOP串Crystal Report 方式
單個SQL
TIPTOP程式所產生的Query傳給Crystal Report
多個SQL或Crystal Report無法做到的 處理
TIPTOP
執行流程
TIPTOP程式 查詢條件的Query Crystal Reports輸出 (依TIPTOP傳送之Query)
TIPTOP
執 行 畫 面-直接傳SQL
輸入QBE條件式按下【確定】即串 接到Crystal Reports
TIPTOP
執行畫面
TIPTOP
TIPTOP串Crystal Report 方式
TIPTOP
執 行 畫 面 - 寫到TempTable
輸入條件式按下【確定】即串接到 Crystal Reports
TIPTOP
執行畫面
TIPTOP
3.1版(使用p_zaa) 與 3.6版(串聯CR)比較
對照組(for zaa)
aapr160
廠商進貨金額 排行表
TIPTOP
實驗組(for CR)
富士康TIPTOP生管系统方案

进度安排与里程碑节点
项目启动
确立项目目标,成立项目组,制定实施计划 。
数据迁移与接口对接完成
实现数据迁移和接口对接,确保数据准确性 和系统互联互通。
系统安装与配置完成
完成系统的安装、配置和调试,确保系统正 常运行。
培训与推广完成
完成系统培训,推广系统使用,提高用户操 作熟练度。
资源保障及协作机制
05
培训与推广策略
培训对象及内容设计
01
培训对象
02
内容设计
富士康TIPTOP生管系统的使用人员,包括生产、计划、物料、仓库 等部门的员工。
根据员工角色和需求,设计针对性的培训课程,包括系统操作、功能 应用、业务流程等。
培训方式与时间安排
01
培训方式
采用线上和线下相结合的方式 ,包括视频教程、现场演示、
业务流程重构设计
根据优化建议,对业务流程进行重构设计,确保 新流程更加合理、高效,并满足富士康业务需求 。
功能模块划分与定义
基础数据管理模块
包括物料、供应商、客户等基础数据 的管理功能,支持数据的增删改查等 操作。
库存管理模块
实现库存的实时查询、盘点、调拨等 功能,支持多种库存策略的配置和应 用。
操作实践等。
根据员工实际工作安排,制定灵 活的培训时间,确保员工能够充
分参与培训。
02
时间安排
推广策略及效果评估
推广策略
通过内部宣传、培训推广、案例分享 等方式,提高员工对富士康TIPTOP生 管系统的认知度和使用率。
效果评估
制定评估指标,定期对推广效果进行 评估,及时调整推广策略,确保推广 目标的实现。
人力资源保障
配备专业的项目实施团队,明确各成员职责与分 工。
tiptop gp印表机设置详解

tiptop gp印表機設置詳解TIPTOP GP的印表機設置比較麻煩,很多初學者搞不清楚該怎樣設置。
其實TIPTOP GP一共有三處列印設置,只有三處的設置都匹配了才能列印出符合要求的報表:(以下的設置以三等分的連續報表紙為例:)一.TIPTOP GP程式中的列印設置:在TIPTOP GP程式的REPORT FUNCTION中,OUTPUT部分定義了報表的長度,邊界,表頭,表尾等。
指令含義LEFT MARGIN左邊距TOP MARGIN上邊距BOTTOM MARGIN下邊距PAGE LENGTH報表長度例如: OUTPUTTOP MARGIN 0LEFT MARGIN 0BOTTOM MARGIN 0PAGE LENGTH 23需要注意的是,這裡的列印設置會影響這支程式所有的報表輸出類型。
如果報表不需要由程式直接從印表機列印輸出,只做顯示或者多格式輸出。
下面的VTCP和WINDOWS 印表機設置就不需要了。
二.TIPTOP GP 用戶端程式 VTCP 中的印表機設置:如果TIPTOP GP要直接進行列印輸出的話需要在用戶端安裝 VTCP ,VTCP的列印設置控制著輸出到打印紙上的字體大小和頁面大小。
打開VTCP“設定”中的“列印設定”這裡的水準密度點數和垂直密度點數也就是印表機的解析度DPI,不同的印表機解析度DPI也不一樣(一般點陣式印表機的解析度比較低,噴墨和雷射印表機的解析度高一些)。
所以在這裡的設置不是固定不變的,而是根據不同的印表機分別設置的。
在這裡有個快速設置的技巧,先把“行間距點數”設置為0,“每頁行數”設置為0,然後調整“列印字體”大小,讓“每頁最多可列印”66行左右。
(A4紙一張的打印行數)。
再根據TIPTOP GP程式中的報表長度輸入每頁行數。
(例如:如果報表是列印到A4紙上的,每頁行數就是66。
列印到3等分連續紙上的,每頁行數就是23。
和TIPTOP GP程式中的報表長度保持一致)三.WINDOWS系統中的印表機設置:WINDOWS系統中的印表機設置控制著最終打印紙張的輸出,設置方法如下:1.在WINDOWS中添加列印的紙張大小。
课程09TIPTOPGP报表作业

• 開啟M視A窗IN • 使用者輸入條件
• 外部程式串過來 • background job
tm() 組sql並抓取資料 xxxx()
報表格式設定
xxxx() FORMAT
rep()
rep()
程式畫面
報表畫面
輸入條件
• 分為construct跟input部分 • 呼叫cl_dynamic_locale • 延後時間執行作業
012,345.00 • USING ‘$##,###’
$12,345 Ex. -12345 • USING ‘---,---’
-12,345 P.S. 字元b表示一個blank或是space
GROUP WITH AGGREGATE
• GROUP COUNT(expression) • GROUP MAX(expression) • GROUP MIN(expression) • GROUP SUM(expression) • GROUP AVG(expression)
BOTTOM MARGIN SIZE
PAGE LENGTH SIZE
End output from PAGE TRAILER
REPORT Function
• PAGE HEADER • BEFORE GROUP OF • ON EVERY ROW • AFTER GROUP OF • PAGE TRAILER • ON LAST ROW
報表結構
START REPORT rep_name FOREACH
OUTPUT TO REPORT rep_name(expr_list) END FOREACH FINISH REPORT
邊界設定
OUTPUT Section
tiptop自定义公式流程

在这边输入或选择条件其 中输入的部分支持QBE语 法
下面来举例
选择对应的料件 (可Control + P开窗)
输入对应的组成用量 及损耗率 Control + P可开辅助 输入窗
列出当前主件包 含的所有属性
列出所有可选的 参数
列出所有可选的 函数
列出所有可选的 表达式(公式)
点击选中任何一个选项 或下面任何一个按钮 都会将当前选项 插入到后面的窗体中
BOM自定义公式流程 BOM自定义公式流程
主件必须为 多属性母料件
ห้องสมุดไป่ตู้
计算方式请 选择”公式”
这几列是主件对 这几列是具体需 应的属性 , 用来 要使用公式的栏 生成条件结构 位, 在里面填写 此时进入下一个栏位 具体的公式 就会自动弹出 公式定义窗体了 点击这个按钮可 以根据上面网格 中的内容来生成 最后的公式
常用的运算符
可输入多行公式
然后点击”整合生成公式”
点击确定编辑 各个公式 自动生成的组成用量公式 自动生成的元件料号公式 自动生成的损耗率公式
点击确定报存 当前的三个公式 并关闭窗体
在此对各个公式 进行最后的调整 修改完成后要对公 式进行测试 此时可以点击此按钮回 到上面的网格中
该元件位置对应的公式前缀 具体公式名为: 元件料号公式 : &BOM-CL-27-1& 组成用量公式 : &BOM-CL-27-2& 损 耗 率公式 : &BOM-CL-27-3&
Tiptop生产管理介绍(

2.工单开立----BOM版本管理
3.工单开立----可与制程管理系统结合, 维护相关制程(详见制程系统介
绍)
4.工单展开选项(于BOM建立)
若对A开立工单
---不展开(不展开备料)
---不展开, 自动开立工单
(对A下工单,系统自动产生B工单)
---展开(将产生C , D 备料)
---开窗询问
5.工单紧急比率(CRITICAL RATIO)重新计算( asfp201)
2.与产品结构管理系统之关连 ◆产品工艺路线信息为开立工单工艺之来源。
3.与成本计算管理系统之关连 ◆移转单或报工单上的生产工时,为成本计算之制造工时 生成之信息来源。
(五) BOM示意图
椅子(制成品)
座垫
中支 扶手×2 轮子×4 底座 螺丝包 足垫×4
普背合
通板成
泡
皮
棉
4.电镀 3.钻孔 2.研磨
交
录入工单工艺作业
机器稼动率分析表
易 流
回馈
录入移转单作业
录入委外进/退货作业
录入生产入库单作业
程
录入报工单作业
生产工时明细表
供应商委外预计进货明细表
工作中心/供应商在制明细帐
(二)工艺派工发单流程
录入工单 从产品工艺自动生成工单工艺
录入工单工艺--信息调整
工单 产品工艺路线
工艺派工单 工艺派工单 工艺派工单
检料
工单超领 发料扣帐
asfi512
END
工单欠料补料作业流程
START
工单欠料补 料作业 asfi513
工单发料单 打印
asfr501 #3欠料补料
工单欠料 补料扣帐
asfi513
自定义报表设置步骤

自定义报表设置步骤
当查询报表中的报表数据不能满足用户的需求时,用户可以通过自定义报表或自定义套打的方式来实现,现以自定义报表为例具体操作步骤如下:
1、以系统管理员的身份登录到HR系统中,选择系统设置中的自定义报表,点击向导进入
向导设置界面,选择需要的数据库表,如:员工基本信息表、员工工作信息表等,注:要选择视图表,否则有些字段的显示会出现代码而不是数据,如图所示:
2、建立表之间的关联,表中是以员工的ID号为关联字段的,
3、选取表中的字段,作为报表中要显示的字段,也可以自定义字段。
注:在字段列表中添加了公司代码和部门代码这两个字段,如果不添加这两个字段,则在查询报表中的过滤条件将不起作用。
添加完字段后在查询中自动生成相对应的SQL查询语句,也可以在其中添加自定义SQL语句,如按生日月份的递增顺序来显示职员的基本信息,则要添加的SQL语句如下:
4、然后保存,选择报表的类型,可以先预览一下,最后可以发布报表,并给某个用户查询该自定义报表的权限及范围,如图:
5、 设置权限后就可以到查询报表中——职员管理报表——自定义职员管理报表查询报表
了。
TIPtop5.3版 WEB报表开发流程

TIPTOP WEB报表开发流程制作:Silinjun 2012-9-6 一.安装ORACLE客户端.QQ:18075060 1.ORACLE客户端(需要安装管理员端,一般安装10g的)2.安装好后,配置ORACLE. 1 .打开Oracle Net Manager3. 点开Oracle Net配置\本地\服务命名\再点上面的编辑\出来下面配置画面.4. 在网络服务名里输入:topprod (tiptop 的Oracle 的实例都是用这个名子),点一下步5.选择默认Tcp/IP(Internet 协议),点下一步.6.主机名:输入自己Oracle 主机的IP 地址.端口号默认用1521端口.7.在服务名里输入:topprod (Titpop 用的Oracle 的实例名都是这个)8.单击测试.9.点更改登录按钮10.用户名和口令都输入ods 后,点确定.因为Tiptop web 报表开发需要用ods 用户登录.11.用户名和口令都输入后点测试,测试成后功后点关闭,退出Oracle配置.二.安装Tiptop Web报表开发所需的软件.这里就不讲了,按提示安装所需要语言包即可.1..安装好后先不要打开,先打开ERP,运行p_rscfg程式.2.打开windows\system32\ drivers\etc\HOSTS (用记事本打开即可)3.打开后在最后一行加入报表站台IP位置和BOE报表系统CMS Name.这两个在开才打开的p_rscfg程式里自己找.注意IP和CMS Name之间要空一格,6400端口就不要写上去了. 配置好后,点保存即可.4.打开designer, 找一下刚安装好的BOE_XIR3_SP3_Client ,在开始菜单程式里应该有的.5.在系统里输入BOE 报表系统CMS Name.然后输入BOE 报表主机用户名和密码.这个SE 要安装好后,会告诉你用户名和密码的. 身份验证就选默认即可. 单击确定进入UNV .6.点新建,输入报表名称,连接选ODS,其它默认就好.7.点击一下测试 然后点确定.8.选择菜单里的插入,点插入表.这里很慢,要等几分钟,系统会把所有的表都带抓出来.将报表所需的表拉到画面上,相关联字段直接连起来.然后创建类和子类,和对像(子类在类里,对像在子类里,这里所创建的,以后在报表里就可以直接拉出相应的对像出来做查询报表就好了,所以报表上要的对像都创建好).9.对像属性里的Select 参考一下系统原有的做好的报表(点菜单里的导入,选择一下就可以了),直接复制过即可,然后点一下分析,通过就OK10.报表设计好后点一下完整性检查,看一下有没有错误.按照错误提示去检查和修改.11.好了后,点保存,存在本机任意位置即可.12.然后点,在菜单点导出.13.再点浏览,找到你在存放的位置,这里我们存放在TOPPROD\TOPCUST\FACT\CXM 下. 再单击确定,即可.12.打开Web Intelligence 胖客户端, 找一下刚安装好的BOE_XIR3_SP3_Client ,在开始菜单程式里应该有的. 输入用户名和密码,这个跟designer 登录用户和密码是一样的.13.登录后,点新建,选Universe 点下一步14.打到你刚导出到服务器 上的那张你设计好的报表, 点确定.15.将所需要的字段拖到结果对像里,然后点运行查询,就生成了新的查询报表16.单击保存,文件名输入cxmr011,就是后面你要用的程式名称.17.保存后,点菜单里的导出到CMS 找到相对应的客制目录. 这里我们先CXM 完成后关闭.18.打开p_srcfg,单击汇入单支报表19.在Program ID 里输入cxmr011,就是刚才上传的文件名 在Module ID 里找到CXM,就是刚才上传的目录,单击确定.20.成功后会有下面提示,点确定.21.打开p_zz程式,更新一下cxmr011这个程式运行权限.22.运行cxmr011程式就好了。
TIPTOPgp版单sql报表_cs1

# Prog. Version..: '3.50.01-07.04.04(00010)' ## Pattern name...: aooi010.4gl# Descriptions...: 签核人员# Date & Author..: 91/04/11 By Lee# Modify : 92/05/05 By David# Modify.........: No:MOD-470400 04/07/22 By Nicola 进入程式,右边有一个放弃的butoom# Modify.........: No:MOD-470515 04/10/05 By Nicola 加入"相关文件"功能# Modify.........: No:FUN-4C0044 04/12/07 By pengu Data and Group权限控管# Modify.........: No:FUN-510027 05/01/13 By pengu 报表转XML# Modify.........: No:MOD-530117 05/03/16 By pengu CALL cl_prt()时参数传错造成无法执行列印# Modify.........: No:FUN-4A0089 05/04/22 By saki 试做笔数显示# Modify.........: No:MOD-580242 05/09/12 By Nicola PAGE LENGTH g_line 改为g_page_line# Modify.........: No:FUN-640199 06/04/19 By saki 新讯息显示范例# Modify.........: TQC-640187 06/04/26 By Claire Display 修改# Modify.........: No:FUN-650190 06/06/07 By Pengu RING MENU处有一个退出的BUTTON,与PACKAGE的STYLE不符,建议去掉# Modify.........: No:FUN-660131 06/06/19 By Cheunl cl_err --> cl_err3# Modify.........: No:FUN-680102 06/08/28 By zdyllq 类型转换# Modify.........: No:FUN-6A0066 06/10/20 By atsea 将g_no_ask修改为mi_no_ask# Modify.........: No:FUN-6A0081 06/11/01 By atsea l_time转g_time# Modify.........: No.TQC-6B0105 07/03/07 By carrier 连续两次查询,第二次查不到资料,做修改等操作会将当前笔停在上次查询到的资料上# Modify.........: No.070424 07/04/24 By chenl 报表范例DATABASE dsGLOBALS "../../config/top.global"DEFINE g_azb RECORD LIKE azb_file.*,g_azb_t RECORD LIKE azb_file.*, #备份旧值g_azb01_t LIKE azb_file.azb01, #Key值备份g_wc STRING, #储存user 的查询条件#No:FUN-580092 HCN #No.FUN-680102g_sql STRING, #组sql 用#No.FUN-680102g_azb_rowid LIKE type_file.chr18 #ROWID使用#No.FUN-680102 INTDEFINE g_forupd_sql STRING #SELECT ... FOR UPDA TE NOWAIT SQL #No.FUN-680102DEFINE g_before_input_done LIKE type_file.num5 #判断是否已执行Before Input指令#No.FUN-680102 SMALLINTDEFINE g_chr LIKE azb_file.azbacti #No.FUN-680102 V ARCHAR(1)DEFINE g_cnt LIKE type_file.num10 #No.FUN-680102 INTEGERDEFINE g_i LIKE type_file.num5 #count/index for any purpose#No.FUN-680102 SMALLINTDEFINE g_msg LIKE type_file.chr1000 #No.FUN-680102 V ARCHAR(72) DEFINE g_curs_index LIKE type_file.num10 #No.FUN-680102 INTEGERDEFINE g_row_count LIKE type_file.num10 #总笔数#No.FUN-680102 INTEGERDEFINE g_jump LIKE type_file.num10 #查询指定的笔数#No.FUN-680102 INTEGERDEFINE mi_no_ask LIKE type_file.num5 #是否开启指定笔视窗#No.FUN-680102 SMALLINT #No.FUN-6A0066#cr报表DEFINE g_str STRING #No.070424 cr修改处作用:组传递参数MAINDEFINEp_row,p_col LIKE type_file.num5 #No.FUN-680102 SMALLINT# l_time LIKE type_file.chr8 #No.FUN-6A0081OPTIONSFORM LINE FIRST + 2, #画面开始的位置MESSAGE LINE LAST, #讯息显示的位置PROMPT LINE LAST, #提示讯息的位置INPUT NO WRAP #输入的方式: 不打转DEFER INTERRUPT #撷取中断键IF (NOT cl_user()) THENEXIT PROGRAMEND IFWHENEVER ERROR CALL cl_err_msg_logIF (NOT cl_setup("AOO")) THENEXIT PROGRAMEND IFLET p_row = ARG_V AL(1)LET p_col = ARG_V AL(2)CALL cl_used(g_prog,g_time,1) RETURNING g_time #No:MOD-580088 HCN 20050818 #No.FUN-6A0081INITIALIZE g_azb.* TO NULLLET g_forupd_sql = "SELECT * FROM azb_file WHERE ROWID = ? FOR UPDA TE NOWAIT"DECLARE i010_cl CURSOR FROM g_forupd_sql # LOCK CURSORLET p_row = 5 LET p_col = 10OPEN WINDOW i010_w A T p_row,p_col WITH FORM "aoo/42f/aooi010"A TTRIBUTE (STYLE = g_win_style CLIPPED) #No:FUN-580092 HCNCALL cl_ui_init()LET g_action_choice = ""CALL i010_menu()CLOSE WINDOW i010_wCALL cl_used(g_prog,g_time,2) RETURNING g_time #No:MOD-580088 HCN 20050818 #No.FUN-6A0081END MAINFUNCTION i010_curs()DEFINE ls STRINGCLEAR FORMCONSTRUCT BY NAME g_wc ON # 萤幕上取条件azb01,azb02,azb06,azbuser,azbgrup,azbmodu,azbdate,azbacti#No:FUN-580031 --start-- HCNBEFORE CONSTRUCTCALL cl_qbe_init()#No:FUN-580031 --end-- HCNON ACTION controlpCASEWHEN INFIELD(azb01)CALL cl_init_qry_var()LET g_qryparam.form = "q_gen"LET g_qryparam.state = "c"LET g_qryparam.default1 = g_azb.azb01CALL cl_create_qry() RETURNING g_qryparam.multiretDISPLAY g_qryparam.multiret TO azb01NEXT FIELD azb01OTHERWISEEXIT CASEEND CASEON IDLE g_idle_secondsCALL cl_on_idle()CONTINUE CONSTRUCTON ACTION about #MOD-4C0121CALL cl_about() #MOD-4C0121ON ACTION help #MOD-4C0121CALL cl_show_help() #MOD-4C0121ON ACTION controlg #MOD-4C0121CALL cl_cmdask() #MOD-4C0121#No:FUN-580031 --start-- HCNON ACTION qbe_selectCALL cl_qbe_select()ON ACTION qbe_saveCALL cl_qbe_save()#No:FUN-580031 --end-- HCNEND CONSTRUCT#资料权限的检查IF g_priv2='4' THEN #只能使用自己的资料LET g_wc = g_wc clipped," AND azbuser = '",g_user,"'"END IFIF g_priv3='4' THEN #只能使用相同群的资料LET g_wc = g_wc clipped," AND azbgrup MA TCHES '",g_grup CLIPPED,"*'"END IFIF g_priv3 MA TCHES "[5678]" THEN #TQC-5C0134群组权限LET g_wc = g_wc clipped," AND azbgrup IN ",cl_chk_tgrup_list() END IFLET g_sql="SELECT ROWID,azb01 FROM azb_file ", # 组合出SQL 指令" WHERE ",g_wc CLIPPED, " ORDER BY azb01"PREPARE i010_prepare FROM g_sqlDECLARE i010_cs # SCROLL CURSOR SCROLL CURSOR WITH HOLD FOR i010_prepareLET g_sql="SELECT COUNT(*) FROM azb_file WHERE ",g_wc CLIPPED PREPARE i010_precount FROM g_sqlDECLARE i010_count CURSOR FOR i010_precountEND FUNCTIONFUNCTION i010_menu()DEFINE l_cmd LIKE type_file.chr1000 #No.FUN-680102CHAR(100) MENU ""BEFORE MENUCALL cl_navigator_setting(g_curs_index, g_row_count)ON ACTION insertLET g_action_choice="insert"IF cl_chk_act_auth() THENCALL i010_a()END IFON ACTION queryLET g_action_choice="query"IF cl_chk_act_auth() THENCALL i010_q()END IFON ACTION nextCALL i010_fetch('N')ON ACTION previousCALL i010_fetch('P')ON ACTION modifyLET g_action_choice="modify"IF cl_chk_act_auth() THENCALL i010_u()END IFON ACTION invalidLET g_action_choice="invalid"IF cl_chk_act_auth() THENCALL i010_x()END IFON ACTION deleteLET g_action_choice="delete"IF cl_chk_act_auth() THENCALL i010_r()END IFON ACTION reproduceLET g_action_choice="reproduce"IF cl_chk_act_auth() THENCALL i010_copy()END IFON ACTION outputLET g_action_choice="output"IF cl_chk_act_auth()THEN CALL i010_out()END IFON ACTION helpCALL cl_show_help()ON ACTION exitLET g_action_choice = "exit"EXIT MENU#------------FUN-650190 modify# ON ACTION cancel #No:MOD-470400# LET g_action_choice = "exit"# EXIT MENU#------------FUN-650190 endON ACTION jumpCALL i010_fetch('/')ON ACTION firstCALL i010_fetch('F')ON ACTION lastCALL i010_fetch('L')ON ACTION controlgCALL cl_cmdask()ON ACTION localeCALL cl_dynamic_locale()CALL cl_show_fld_cont() #No:FUN-550037 hmfON IDLE g_idle_secondsCALL cl_on_idle()CONTINUE MENUON ACTION about #MOD-4C0121CALL cl_about() #MOD-4C0121COMMAND KEY(INTERRUPT)LET INT_FLAG=FALSE #MOD-570244 marsLET g_action_choice = "exit"EXIT MENUON ACTION related_document #No:MOD-470515LET g_action_choice="related_document"IF cl_chk_act_auth() THENIF g_azb.azb01 IS NOT NULL THENLET g_doc.column1 = "azb01"LET g_doc.value1 = g_azb.azb01CALL cl_doc()END IFEND IFEND MENUCLOSE i010_csEND FUNCTIONFUNCTION i010_a()MESSAGE ""CLEAR FORM # 清萤墓栏位内容INITIALIZE g_azb.* LIKE azb_file.*LET g_azb01_t = NULLLET g_wc = NULLCALL cl_opmsg('a')WHILE TRUELET g_azb.azbuser = g_userLET g_azb.azbgrup = g_grup #使用者所属群LET g_azb.azbdate = g_todayLET g_azb.azbacti = 'Y'CALL i010_i("a") # 各栏位输入IF INT_FLAG THEN # 若按了DEL键INITIALIZE g_azb.* TO NULLLET INT_FLAG = 0CALL cl_err('',9001,0)CLEAR FORMEXIT WHILEEND IFIF g_azb.azb01 IS NULL THEN # KEY 不可空白CONTINUE WHILEEND IFINSERT INTO azb_file V ALUES(g_azb.*) # DISK WRITEIF SQLCA.sqlcode THEN# CALL cl_err(g_azb.azb01,SQLCA.sqlcode,0) #No:FUN-660131CALL cl_err3("ins","azb_file",g_azb.azb01,"",SQLCA.sqlcode,"","",0) #No:FUN-660131CONTINUE WHILEELSESELECT ROWID INTO g_azb_rowid FROM azb_fileWHERE azb01 = g_azb.azb01END IFEXIT WHILEEND WHILELET g_wc=' 'END FUNCTIONFUNCTION i010_i(p_cmd)DEFINE p_cmd LIKE type_file.chr1, #No.FUN-680102 V ARCHAR(1) l_gen02 LIKE gen_file.gen02,l_gen03 LIKE gen_file.gen03,l_gen04 LIKE gen_file.gen04,l_gem02 LIKE gem_file.gem02,l_input LIKE type_file.chr1, #No:FUN-680102 V ARCHAR(1),l_n LIKE type_file.num5 #No.FUN-680102 SMALLINTDISPLAY BY NAMEg_azb.azb01,g_azb.azb02,g_azb.azb06,g_azb.azbuser,g_azb.azbgrup,g_azb.azbmodu,g_azb.azbdate,g_azb.azbactiINPUT BY NAMEg_azb.azb01,g_azb.azb02,g_azb.azb06,g_azb.azbuser,g_azb.azbgrup,g_azb.azbmodu,g_azb.azbdate,g_azb.azbactiWITHOUT DEFAULTSBEFORE INPUTLET l_input='N'LET g_before_input_done = FALSECALL i010_set_entry(p_cmd)CALL i010_set_no_entry(p_cmd)LET g_before_input_done = TRUEAFTER FIELD azb01DISPLAY "AFTER FIELD azb01"IF g_azb.azb01 IS NOT NULL THENIF p_cmd = "a" OR # 若输入或更改且改KEY(p_cmd = "u" AND g_azb.azb01 != g_azb01_t) THENSELECT count(*) INTO l_n FROM azb_file WHERE azb01 = g_azb.azb01IF l_n > 0 THEN # DuplicatedCALL cl_err(g_azb.azb01,-239,1)LET g_azb.azb01 = g_azb01_tDISPLAY BY NAME g_azb.azb01NEXT FIELD azb01END IFCALL i010_azb01('a')IF NOT cl_null(g_errno) THENCALL cl_err('azb01:',g_errno,1)LET g_azb.azb01 = g_azb01_tDISPLAY BY NAME g_azb.azb01NEXT FIELD azb01END IFEND IFEND IFAFTER INPUTIF INT_FLAG THENEXIT INPUTEND IFIF g_azb.azb01 IS NULL THENDISPLAY BY NAME g_azb.azb01LET l_input='Y'END IFIF l_input='Y' THENNEXT FIELD azb01END IFON ACTION CONTROLO # 沿用所有栏位IF INFIELD(azb01) THENLET g_azb.* = g_azb_t.*CALL i010_show()NEXT FIELD azb01END IFON ACTION controlpCASEWHEN INFIELD(azb01)CALL cl_init_qry_var()LET g_qryparam.form = "q_gen"LET g_qryparam.default1 = g_azb.azb01CALL cl_create_qry() RETURNING g_azb.azb01# CALL FGL_DIALOG_SETBUFFER( g_azb.azb01 )DISPLAY BY NAME g_azb.azb01NEXT FIELD azb01OTHERWISEEXIT CASEEND CASEON ACTION CONTROLZCALL cl_show_req_fields()ON ACTION CONTROLGCALL cl_cmdask()ON ACTION CONTROLF # 栏位说明CALL cl_set_focus_form(ui.Interface.getRootNode()) RETURNING g_fld_name,g_frm_name #Add on 040913CALL cl_fldhelp(g_frm_name,g_fld_name,g_lang) #Add on 040913ON IDLE g_idle_secondsCALL cl_on_idle()CONTINUE INPUTON ACTION about #MOD-4C0121CALL cl_about() #MOD-4C0121ON ACTION help #MOD-4C0121CALL cl_show_help() #MOD-4C0121END INPUTEND FUNCTIONFUNCTION i010_azb01(p_cmd)DEFINEp_cmd LIKE type_file.chr1, #No.FUN-680102 V ARCHAR(1)l_gen02 LIKE gen_file.gen02,l_gen03 LIKE gen_file.gen03,l_gen04 LIKE gen_file.gen04,l_genacti LIKE gen_file.genacti,l_gem02 LIKE gem_file.gem02LET g_errno=''SELECT gen02,gen03,gen04,genactiINTO l_gen02,l_gen03,l_gen04,l_genactiFROM gen_fileWHERE gen01=g_azb.azb01CASEWHEN SQLCA.sqlcode=100 LET g_errno='aoo-070'LET l_gen02=NULLLET l_gen03=NULLLET l_gen04=NULLWHEN l_genacti='N' LET g_errno='9028'OTHERWISELET g_errno=SQLCA.sqlcode USING '------'END CASEIF p_cmd='d' OR cl_null(g_errno)THENDISPLAY l_gen02 TO FORMONLY.gen02DISPLAY l_gen03 TO FORMONLY.gen03DISPLAY l_gen04 TO FORMONLY.gen04SELECT gem02 INTO l_gem02 FROM gem_fileWHERE gem01=l_gen03IF SQLCA.sqlcode THEN LET l_gem02=' ' END IFDISPLAY l_gem02 TO gem02END IFEND FUNCTIONFUNCTION i010_q()##CKPLET g_row_count = 0LET g_curs_index = 0CALL cl_navigator_setting(g_curs_index,g_row_count)INITIALIZE g_azb.* TO NULL #No.FUN-6A0015MESSAGE ""CALL cl_opmsg('q')DISPLAY ' ' TO tCALL i010_curs() # 宣告SCROLL CURSORIF INT_FLAG THENLET INT_FLAG = 0CLEAR FORMRETURNEND IFOPEN i010_countFETCH i010_count INTO g_row_countDISPLAY g_row_count TO tOPEN i010_cs # 从DB产生合乎条件TEMP(0-30秒) IF SQLCA.sqlcode THENCALL cl_err(g_azb.azb01,SQLCA.sqlcode,0)INITIALIZE g_azb.* TO NULLELSECALL i010_fetch('F') # 读出TEMP第一笔并显示END IFEND FUNCTIONFUNCTION i010_fetch(p_flazb)DEFINEp_flazb LIKE type_file.chr1 #No:FUN-680102 V ARCHAR(1)WHEN 'N' FETCH NEXT i010_cs INTO g_azb_rowid,g_azb.azb01 WHEN 'P' FETCH PREVIOUS i010_cs INTO g_azb_rowid,g_azb.azb01 WHEN 'F' FETCH FIRST i010_cs INTO g_azb_rowid,g_azb.azb01WHEN 'L' FETCH LAST i010_cs INTO g_azb_rowid,g_azb.azb01 WHEN '/'IF (NOT mi_no_ask) THEN #No.FUN-6A0066 CALL cl_getmsg('fetch',g_lang) RETURNING g_msgLET INT_FLAG = 0 ######add for prompt bugPROMPT g_msg CLIPPED,': ' FOR g_jumpON IDLE g_idle_secondsCALL cl_on_idle()ON ACTION about #MOD-4C0121CALL cl_about() #MOD-4C0121ON ACTION help #MOD-4C0121CALL cl_show_help() #MOD-4C0121ON ACTION controlg #MOD-4C0121CALL cl_cmdask() #MOD-4C0121END PROMPTIF INT_FLAG THENLET INT_FLAG = 0EXIT CASEEND IFEND IFFETCH ABSOLUTE g_jump i010_cs INTO g_azb_rowid,g_azb.azb01LET mi_no_ask = FALSE #No.FUN-6A0066END CASEIF SQLCA.sqlcode THENCALL cl_err(g_azb.azb01,SQLCA.sqlcode,0)INITIALIZE g_azb.* TO NULL #TQC-6B0105LET g_azb_rowid = NULL #TQC-6B0105RETURNELSECASE p_flazbWHEN 'F' LET g_curs_index = 1WHEN 'P' LET g_curs_index = g_curs_index - 1WHEN 'N' LET g_curs_index = g_curs_index + 1WHEN 'L' LET g_curs_index = g_row_countWHEN '/' LET g_curs_index = g_jumpCALL cl_navigator_setting(g_curs_index, g_row_count)DISPLAY g_curs_index TO FORMONLY.idx #No:FUN-4A0089END IFSELECT * INTO g_azb.* FROM azb_file # 重读DB,因TEMP有不被更新特性WHERE ROWID = g_azb_rowidIF SQLCA.sqlcode THEN# CALL cl_err(g_azb.azb01,SQLCA.sqlcode,0) #No:FUN-660131CALL cl_err3("sel","azb_file",g_azb.azb01,"",SQLCA.sqlcode,"","",0) #No:FUN-660131 ELSELET g_data_owner=g_azb.azbuser #FUN-4C0044权限控管LET g_data_group=g_azb.azbgrupCALL i010_show() # 重新显示END IFEND FUNCTIONFUNCTION i010_show()LET g_azb_t.* = g_azb.*DISPLAY BY NAME g_azb.*CALL i010_azb01('d')CALL cl_show_fld_cont() #No:FUN-550037 hmfEND FUNCTIONFUNCTION i010_u()IF g_azb.azb01 IS NULL THENCALL cl_err('',-400,0)RETURNEND IFSELECT * INTO g_azb.* FROM azb_file WHERE azb01=g_azb.azb01IF g_azb.azbacti = 'N' THENCALL cl_err('',9027,0)RETURNEND IFMESSAGE ""CALL cl_opmsg('u')LET g_azb01_t = g_azb.azb01BEGIN WORKOPEN i010_cl USING g_azb_rowidIF STATUS THENCALL cl_err("OPEN i010_cl:", STA TUS, 1)CLOSE i010_clRETURNEND IFFETCH i010_cl INTO g_azb.* # 对DB锁定IF SQLCA.sqlcode THENCALL cl_err(g_azb.azb01,SQLCA.sqlcode,1)RETURNEND IFLET g_azb.azbmodu=g_user #修改者LET g_azb.azbdate = g_today #修改日期CALL i010_show() # 显示最新资料WHILE TRUECALL i010_i("u") # 栏位更改IF INT_FLAG THENLET INT_FLAG = 0LET g_azb.*=g_azb_t.*CALL i010_show()CALL cl_err('',9001,0)EXIT WHILEEND IFUPDA TE azb_file SET azb_file.* = g_azb.* # 更新DBWHERE ROWID = g_azb_rowidIF SQLCA.sqlcode THEN# CALL cl_err(g_azb.azb01,SQLCA.sqlcode,0) #No:FUN-660131CALL cl_err3("upd","azb_file",g_azb.azb01,"",SQLCA.sqlcode,"","",0) #No:FUN-660131CONTINUE WHILEEND IFEXIT WHILEEND WHILECLOSE i010_clCOMMIT WORKEND FUNCTIONFUNCTION i010_x()IF g_azb.azb01 IS NULL THENCALL cl_err('',-400,0)RETURNEND IFBEGIN WORKOPEN i010_cl USING g_azb_rowidIF STATUS THENCALL cl_err("OPEN i010_cl:", STA TUS, 1)CLOSE i010_clRETURNEND IFFETCH i010_cl INTO g_azb.*IF SQLCA.sqlcode THENCALL cl_err(g_azb.azb01,SQLCA.sqlcode,1)RETURNEND IFCALL i010_show()IF cl_exp(0,0,g_azb.azbacti) THENLET g_chr=g_azb.azbactiIF g_azb.azbacti='Y' THENLET g_azb.azbacti='N'ELSELET g_azb.azbacti='Y'END IFUPDA TE azb_fileSET azbacti=g_azb.azbactiWHERE ROWID=g_azb_rowidIF SQLCA.SQLERRD[3]=0 THENCALL cl_err(g_azb.azb01,SQLCA.sqlcode,0)LET g_azb.azbacti=g_chrEND IFDISPLAY BY NAME g_azb.azbactiEND IFCLOSE i010_clCOMMIT WORKEND FUNCTIONFUNCTION i010_r()IF g_azb.azb01 IS NULL THENCALL cl_err('',-400,0)RETURNEND IFBEGIN WORKOPEN i010_cl USING g_azb_rowidIF STATUS THENCALL cl_err("OPEN i010_cl:", STA TUS, 0)CLOSE i010_clROLLBACK WORKRETURNEND IFFETCH i010_cl INTO g_azb.*IF SQLCA.sqlcode THENCALL cl_err(g_azb.azb01,SQLCA.sqlcode,0)RETURNEND IFCALL i010_show()IF cl_delete() THENDELETE FROM azb_file WHERE azb01 = g_azb.azb01CLEAR FORMOPEN i010_countFETCH i010_count INTO g_row_countDISPLAY g_row_count TO tOPEN i010_csIF g_curs_index = g_row_count + 1 THENLET g_jump = g_row_countCALL i010_fetch('L')ELSELET g_jump = g_curs_indexLET mi_no_ask = TRUE #No.FUN-6A0066CALL i010_fetch('/')END IFEND IFCLOSE i010_clCOMMIT WORKEND FUNCTIONFUNCTION i010_copy()DEFINEl_newno LIKE azb_file.azb01,l_oldno LIKE azb_file.azb01,p_cmd LIKE type_file.chr1, #No.FUN-680102 V ARCHAR(1)l_input LIKE type_file.chr1 #No:FUN-680102 V ARCHAR(1)IF g_azb.azb01 IS NULL THENCALL cl_err('',-400,0)RETURNEND IFLET l_input='N'LET g_before_input_done = FALSECALL i010_set_entry('a')LET g_before_input_done = TRUEINPUT l_newno FROM azb01AFTER FIELD azb01IF l_newno IS NOT NULL THENSELECT count(*) INTO g_cnt FROM azb_fileWHERE azb01 = l_newnoIF g_cnt > 0 THENCALL cl_err(l_newno,-239,0)NEXT FIELD azb01END IFSELECT gen01FROM gen_fileWHERE gen01= l_newnoIF SQLCA.sqlcode THENDISPLAY BY NAME g_azb.azb01LET l_newno = NULLNEXT FIELD azb01END IFEND IFON ACTION controlp # 沿用所有栏位IF INFIELD(azb01) THENCALL cl_init_qry_var()LET g_qryparam.form = "q_gen"LET g_qryparam.default1 = g_azb.azb01CALL cl_create_qry() RETURNING l_newno# CALL FGL_DIALOG_SETBUFFER( l_newno )#DISPLAY BY NAME l_newno #TQC-640187 markDISPLAY l_newno TO azb01 #TQC-640187SELECT gen01FROM gen_fileWHERE gen01= l_newnoIF SQLCA.sqlcode THENDISPLAY BY NAME g_azb.azb01LET l_newno = NULLNEXT FIELD azb01END IFNEXT FIELD azb01END IFON IDLE g_idle_secondsCALL cl_on_idle()CONTINUE INPUTON ACTION about #MOD-4C0121CALL cl_about() #MOD-4C0121ON ACTION help #MOD-4C0121CALL cl_show_help() #MOD-4C0121ON ACTION controlg #MOD-4C0121CALL cl_cmdask() #MOD-4C0121END INPUTIF INT_FLAG THENLET INT_FLAG = 0DISPLAY BY NAME g_azb.azb01RETURNEND IFDROP TABLE xSELECT * FROM azb_fileWHERE ROWID=g_azb_rowidINTO TEMP xUPDA TE xSET azb01=l_newno, #资料键值azbacti='Y', #资料有效码azbuser=g_user, #资料所有者azbgrup=g_grup, #资料所有者所属群azbmodu=NULL, #资料修改日期azbdate=g_today #资料建立日期INSERT INTO azb_fileSELECT * FROM xIF SQLCA.sqlcode THEN# CALL cl_err(g_azb.azb01,SQLCA.sqlcode,0) #No:FUN-660131CALL cl_err3("ins","azb_file",g_azb.azb01,"",SQLCA.sqlcode,"","",0) #No:FUN-660131 ELSEMESSAGE 'ROW(',l_newno,') O.K'LET l_oldno = g_azb.azb01LET g_azb.azb01 = l_newnoSELECT ROWID,azb_file.* INTO g_azb_rowid,g_azb.* FROM azb_fileWHERE azb01 = l_newnoCALL i010_u()SELECT ROWID,azb_file.* INTO g_azb_rowid,g_azb.* FROM azb_fileWHERE azb01 = l_oldnoEND IFLET g_azb.azb01 = l_oldnoCALL i010_show()END FUNCTIONFUNCTION i010_out()DEFINEl_i LIKE type_file.num5, #No.FUN-680102 SMALLINTl_azb RECORD LIKE azb_file.*,l_gen RECORD LIKE gen_file.*,l_name LIKE type_file.chr20, # External(Disk) file name #No.FUN-680102 V ARCHAR(20)#cr报表,以下的数组将不再发挥作用。
鼎新ERP(TIPTOP60)教育训练会计总帐

04 教育训练实施方案
培训对象与需求分析
培训对象
会计总帐操作人员、财务主管、财务 经理等。
需求分析
根据不同岗位和职责,分析培训对象 所需掌握的鼎新ERP(Tiptop60)会计 总帐操作技能、系统配置、报表制作 等方面的知识和技能。
培训计划与时间安排
培训计划
制定详细的培训计划,包括培训 内容、时间安排、培训方式等。
01
案例一
某制造企业应用鼎新ERP(Tiptop60)进行会计总帐管理,通过系统实现
财务管理流程的自动化和规范化,提高了工作效率和准确性。
02 03
案例二
某零售企业采用鼎新ERP(Tiptop60)进行会计总帐管理,通过系统整合 各部门数据,实现销售、采购、库存等环节的协同管理,提升了企业整 体运营效率。
财务报表
提供资产负债表、利润表、现 金流量表等标准财务报表,满
足日常管理需求。
自定义报表
支持用户根据自身需求自定义 报表,满足个性化管理需求。
报表分析
对报表数据进行多维度分析, 提供图表展示,帮助企业进行 决策分析。
报表导出
支持将报表导出为Excel、PDF 等格式,方便企业进行数据共
享和汇报。
系统安全与权限管理
用户管理
对系统用户进行统一管理,包括用户 创建、权限分配等操作。
角色管理
根据实际需求创建角色,并为角色分 配相应的权限,实现权限的集中管理。
权限控制
对系统功能进行细粒度权限控制,确 保不同用户只能访问其对应的功能模 块。
数据备份与恢复
定期对系统数据进行备份,确保数据 安全;在必要时可进行数据恢复,保 证业务连续性。
培训服务
该产品提供完善的培训服 务,包括产品使用培训、 管理培训等,帮助客户更 好地应用产品。
自定义报表的操作步骤

自定义报表的操作步骤嘿,小伙伴们!今天咱们来唠唠自定义报表这事儿,就像打造一场专属自己的数据魔法秀。
首先呢,你得把自己想象成一个超级大厨,而那些数据就是你的食材。
打开你的数据仓库,就像打开一个装满各种奇奇怪怪食材的超级大冰箱。
这里面有各种各样的数据,有的像调皮的小豆子,到处乱蹦;有的像巨大的南瓜,又笨又重,还特别显眼。
然后呢,你要确定你这道“报表大餐”的主题。
这就好比你决定要做一道是甜到心坎的甜品,还是辣到喷火的川菜。
比如说你想做一个“本月销售英雄榜”的报表,那这个就是你的主题啦。
这个主题就是你的魔法棒指挥棒,所有的数据都得围着它转。
接下来,开始挑选数据啦。
这就像在菜市场买菜一样,挑挑拣拣。
那些有用的数据呢,就像新鲜的蔬菜,赶紧放进篮子里;那些没用的数据,就像烂掉的苹果,一脚踢开。
要是不小心把没用的数据混进去了,那你的报表就像一锅乱炖,啥味道都不对了。
选好数据后,就到了布局这一步啦。
这就像给你的房子装修一样。
你得想清楚,哪个数据放在哪里,就像你决定沙发放在客厅中间还是角落。
表头就像房子的屋顶,要坚固又显眼,把重要的信息放在表头,就像在屋顶上挂个大招牌。
再然后就是设计报表的样式咯。
这可是让你的报表从“路人甲”变成“超级明星”的关键一步。
你可以把数字弄得像一群穿着整齐制服的小士兵,排列得整整齐齐;也可以把图表设计得像一幅超级酷炫的艺术画,让人看一眼就被吸引。
比如说做个柱状图,那些柱子就像一个个强壮的巨人,在比谁更高大威猛。
别忘了给报表加点调料哦,这里的调料就是注释和说明。
它们就像美食旁边的小标签,告诉别人这个菜是啥味道,用了啥特殊食材。
有了注释,别人看你的报表就像在吃一道有详细菜单介绍的大餐,清楚明白。
等你把这一切都搞定了,就像完成了一件超级艺术品。
你的自定义报表就像一个精心打扮的模特,准备走上数据的T台,向全世界展示它的魅力啦。
最后再检查一遍,可别让那些小错误像调皮的小老鼠一样偷偷溜进去,破坏了你的完美作品。
TIPTOP报表

TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
crystal report 画面
TIPTOP
crystal report 画面
汇出功能
TIPTOP
crystal report 画面
汇出功能
TIPTOP
crystal report 画面
打印功能
TIPTOP
crystal report 画面
打印功能
TIPTOP
crystal report 画面
TIPTOP
Cl_del_data()
输入参数:temp table名称
范例: cl_del_data(‘axmr110_080504’)
TIPTOP
串接修改范例
(axmr213)
设计一对应axmr213的crystal report报表
维护p_genxml(报表资料来源维护作业) 制作crystal report报表模板 维护p_zaw(CR报表格式维护作业)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
串接修改范例
(axmr110)
TIPTOP
TIPTOP系统

编辑本段TIPTOP ERP系统TOP GP ERP是以大型集团化企业为主要客户对象的ERP解决方案,并以“集团统筹、全球掌控”为核心理念。
迄今已经协助数千家企业信息化实施,其范围覆盖快速成长型企业、大中规模的成熟型企业、集团化经营企业和全球化经营等多种企业形态;并提供完整可行的全方位解决方案,有效串连企业间数字应用,让企业轻松跃上全球运作、协同管理。
不仅是一套各种模组集合而成的套装软体,更深层的涵义代表的是一套企业营运制度与管理模式的最佳实务,也是企业最基本的e化起点,想要成功的导入ERP,所需要的不仅仅是相关软体、硬体设备的支出,更重要的是,企业本身必须配合其组织目标及对IT技术的应用现况齐头并进,才能达到更佳的成效。
ERP市场既已达到成熟的阶段,ERP也早已成为企业不可获缺的竞争起点,企业在制定其IT策略,评估是否导入ERP,也不仅是单面向的考虑产品功能,而是更重视ERP导入的风险、产生的效益、整合系统的需求以及服务厂商的选择;而从企业内部的管理到企业间的商务协同运作,也发现不同产业所强调的经营特性反映在系统需求上各不相同,因此开始从ERP逐步建构各阶段的企业资讯蓝图,亦即ERPII的范畴。
制程与工作站管理模组特色提供多制程功能:主 / 副制程共用制程提供各制程人工与机器的时间:设置 / 生产弹性设定制程:委外 / PQC / Check in / Check in Hold /Check out Hold 制程作业:移转报工 / 当站下线 / Bonus / 重工 / PQC / 制程委外 / 品质异常处理 / 盤点严谨的 WIP 量投入转出管制提供完整制程数量查询生产管理模组特色工单型态:一般 / 委外 / 重工 / 拆件 / 预测 / 试产工单用料:材料预控、用料模拟、替代料处理、欠料管理工单发放:优先顺序、派工建议、多重发放工单发料:成套发料、合并发料、工单挪料、超领、欠料补料、Backflush 工单进度:工单状况、订单查询、作业进度追踪工单入库:FQC、下阶 / 本阶报废、投入产出管制工单结案:效率分析、用料分析、重新开启大陆来料加工厂之管理资讯物料需求管理(MRP)模组特色具多版本MRP模拟功能及差异分析比较提供多工厂MRP 可选择使用净变式 ( Net Change ) 或者再生式 ( Regeneration ) 物料需求模拟提供潜在呆滞分析,以降低存货成本金额化的物料需求计画,以利资金管理可追溯需求来源,反应最终产品之影响可选择提供取代料 ( 新旧料 ) 及替代料 ( 主副料 ) 处理建议存货管理模组特色仓库的弹性规划与管理:多工厂 / 多仓库 / 多储位 / 多批号 / 多单位的换算/多单位管理库存异动单别设定:使用者 / 进出仓库设限库存异动追踪稽核 ( Bin Card ) 库存异常检核:安全库存过高或不足、过去及未来呆滞料分析、存货周转率计算、有效期限管制仓库存货盤点及在制品盤点 ( WIP ) 工厂 & 仓库间调拨 / 同业间借料和还料库存的静态资讯及动态资讯查询三种成本资料:标准、预设、现时产品结构管理(BOM)模组特色产品结构:一般 / 虚拟 / 选配 / 计划提供工程 BOM 、特性BOM及保税 BOM 选配 BOM 自动编码 AVL ( Approved Vendor List ) 产品结构与制程结合:作业编号 / 投料时距 / 消耗料件多版本产品结构工程变更管理:ECR & ECN 取代料 ( Running Change ) 及替代料 ( Substitution ) 插件位置管理 ( SMT ) 用料比对分析:共用料 / 差异料分析产品成本的模拟:实际成本 / 标准成本 / 预设成本 / 最近进价 / 币别 / 汇率模具管理模组开发执行单可设定每套模具专用 BOM 加工需求单可视情况增加或变更加工项目模具规格到试模完成前 , 一直再设变 , 所以用料及工时方便收集多套模具委外生产 , 可汇总一张加工通知单完工後 , 由系统自动结转产生异动单据成本系统计算每套模具成本票据资金管理模组特色结合应收帐款及应付帐款管理多币别处理及汇兑损益处理票况管理及异动记录银行媒体自动调节同时提供会计帐及出纳帐现金变动设定及变动明细融资管理 / 外汇买卖 / 定存单多次质押集团资金模拟、集团资金调度提供资金预估报表:公司别 / 银行别 / 多币别配销管理模组特色完整的国内销售及国外销售处理流程订单类别:一般 / 换货 / 出至境外 / 境外仓出货 / BU 间销售多角贸易处理 ( 两岸三地贸易 ) 选配件处理 ( Optional ) 处理 CTO ( Configure To Order ) 的订单交易型态 CKD ( 多阶 ) & SKD ( 单阶 ) 销售处理及成品替代出货客户区分:销售客户、送货客户、发票客户、收款客户信用管制:严谨,完整,弹性价格策略、产品序号管理及出货客户验收管理帐款分段:订金 / 交货 / 尾款 ( 三段收款 ) 全球接单、多厂区分配生产及产销资讯整合整合条码机制强大的後端分析,因应频繁的销售活动完整的管销损益分析。
自定义报表的操作步骤

自定义报表的操作步骤宝子,今天来和你唠唠自定义报表的操作呀。
咱先说为啥要自定义报表呢 ?有时候呀,系统自带的报表不能完全满足咱的需求,自定义报表就能按照咱的想法,把想要的数据组合、呈现出来,超酷的。
那开始操作啦。
第一步,你得找到报表工具入口哦。
这个入口可能在你使用的软件或者系统的菜单里,就像在一个装满宝藏的箱子里找钥匙一样,要仔细瞅瞅那些菜单选项,可能是在“数据”或者“报表”之类的大分类下面。
找到入口后,就开始定义报表的结构啦。
这就像是搭积木,你要决定哪些数据块是你想要的。
你可以选择不同的数据源,可能是数据库里的不同表格,或者是从其他文件导入的数据。
这个时候呀,你要清楚自己想要分析哪些数据,是销售额、用户数量还是别的啥。
接着呢,选择数据字段。
这就好比是从一堆漂亮珠子里挑出你想串成项链的那些珠子。
比如说你要做一个员工绩效报表,那员工姓名、业绩完成量、考勤情况这些字段就是你要挑出来的珠子啦。
然后呀,设置报表的格式。
你想让报表看起来美美的吧?可以调整字体、字号、颜色这些。
就像给你的报表穿上漂亮衣服一样。
要是数据有排序的要求,这个时候也可以设置哦,比如按照销售额从高到低排列,这样重要的数据就一目了然啦。
再之后呢,要是有计算的需求,可别忘了设置公式呀。
比如说你想算出平均销售额,就得设置好求平均值的公式。
这就像是给报表加上了一个小魔法,让数据自己算出你想要的结果。
保存好你的自定义报表。
给它取个好记的名字,这样下次要用的时候就能一下子找到它啦。
宝子,自定义报表不难的,就像玩一个有趣的游戏,按照这些步骤来,你也能做出超实用的自定义报表哦。
。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若资料量太大, 则分段 显示
执行查询 - 打印
执行查询 - 打印
QBE 窗口:
-输入 QBE 条件
执行查询
数据库查询
单纯查询数据库数据
数据库查询
数据库查询
数据库查询
数据库查询
数据库查询
功能架构 功能说明 执行查询 外部呼叫执行 范例
外部呼叫执行(1) 外部呼叫执行(1)
输出格式(Layout) 输出格式(Layout) – 多格式输出
设定多格式输出格式
输出格式(Layout) 输出格式(Layout) – 多格式输出
版面设定:
报表打印行数、报表边界、 最大查询笔数
功能架构 功能说明 执行查询 外部呼叫执行 范例
将自定义查询挂在 Menu 上
自定义查询设计完成
外部呼叫执行(1) 外部呼叫执行(1)
外部呼叫执行(1) 外部呼叫执行(1)
外部呼叫执行(2) 外部呼叫执行(2)
外部呼叫执行(2) 外部呼叫执行(2)
练习:
参照上述内容,自己动手制作一支 p_query报表 p_query报表 要求: 1、参照表结构pmw_file,pmx_file(字段要求: 、参照表结构pmw_file,pmx_file(字段要求: pmw01,pmw03,pmw04,pmw05,pmw05 1,pmx06,pmx08,pmx081,pmx082,pmx1 1) 2、要有分组,合计
自定义查询报表
•查询单ID : 输入查询程序代号 (Ex: tqrain0001、anmi001..等) •查询单名称 : 输入打印显示的报表名 称 [注] 若在 p_zz 已建立数据时,查询单 名 称必须至 p_zz「打印设定」的 “报表打印 抬头” 进行维护. •查询报表是否输入查询条件: 开启 QBE 画面供使用者输入查询条件 - 进阶查询选项: QBE 画面增加进阶选 项, 包含排序/跳页/合计/字段隐藏否...等 条件选项
请在 p_zz 中新增一笔 资料 程序代号 = Query 代号 程序名称 = Query 名称 执行指令 = $FGLRUN p_query queryid para
新增一笔程序基本数据 将该查询挂在 Query 的 Menu 上 设定权限
系统预设一 Folder 为 “自定查询”, 系统将询 问 是否自动挂在此目录下, 或者手动挂上
查询指令(SQL) 查询指令(SQL) – 参数说明
SQL 指令中的特殊 WHERE 条件,可利用自变量 (arg, 50组)将变数传入查询中 - 自变量(arg)可以为一个变量
- 自变量(arg)也可以为一个 Where 子句
查询指令(SQL) 查询指令(SQL)
•输入 SQL 指令后,自动产生单身数据 •显示名称:依语言别,设定打印时报表单身字段抬头名称 •字段属性:设定此字段属性 预设为「G:其它」:表示以数据库型态为主 •字段宽度:设定印列时的字段宽度; (文字字段才可设定宽度,数值字段不可调整)
请输入 SQL 指令的 WHERE 条件
基础(Wizard) 基础(Wizard) – 预览 SQL 指令
1. 预览 Wizard 设定产生的 SQL 指令 2. 确定 OK 时,请按「完成」Action
查询指令(SQL) 查询指令(SQL)
•透过 Wizard 产生 SQL 指令 : 可使用『SQL Wizard』action 再调整 SQL 指令 PS:若手动调整 SQL 指令,则会取消 SQL Wizard 功能 •直接输入 SQL 指令 : 无提供 SQL Wizard 功能
字段设定
字段设定 – 打印显示设定
•设定打印时是否显示此字段 Y: 显示字段 N:隐藏字段 M:依多单位设定 示 V:依计价单位设定 => 依照计价单位参数设定是否显 示 X:依多套帐设定 定是否 显示 => 依照使用多帐别功能参数设 => 依照多单位参数设定是否显
字段设定 – 画面字段宽度
设定 QBE 画面或过滤功能窗口 显示的字段宽度
基础(Wizard) 基础(Wizard) – 选定字段
1.请挑选 Select 的 Table 字段 2.字段清单 : 可利用开窗选择 Table 字段
基础(Wizard) 基础(Wizard) – 设定字段顺序
利用『上、下按键」设定字段的 显示顺序
基础(Wizard) 基础(Wizard) – 设定字段条件
说明: 完全在精灵的指导下快速完成 的查询, 过程中尚未使用到进 阶的设定功能
自定义查询设计 – 进阶 (手动) 手动)
自定义查询设计 直接撰写 SQL 系统解析并自动产生 Layout 字段数据设定 数据权限设定 Group 设定 表达式设定 Layout 参数设定 执行查询
功能架构 功能说明 执行查询 外部呼叫执行 范例
TIPTOP GP 自定义查询报表功能介绍
讲 师:王召霞 神州数码管理有限公司 易拓事业部
功能架构 功能说明 执行查询 外部呼叫执行 范例
功能架构
现成的查询 Yes 执行查询 自定义查询设计
完成
1. p_zz p_query q_id para 2. p_zy 权限 Control 3. p_zm 4. 建立专属 Folder
执行查询
可使用一般执行GP程序 的方法启动”自定义查询” 为动态产生, 没有 per 档
依查询设定开启画面 依据参数决定是否须要输入QBE 显示查询结果
若有传入参数, 且指定 不用让使用者下条件, 则直接带出数据, 不用进行 QBE 输入
多格式输出/打印机打印
查询指令(SQL) 查询指令(SQL)
•使用 SQL Wizard : 利用精灵模式(Wizard) 快速产生 SQL 指令 •直接输入 SQL 指令: 自行输入 SQL 指令
基础(Wizard) 基础(Wizard) – 选定 Table
1. 请先挑选关联的 Table 2.设定完成后,请按『下一步』
字段设定 – 小数字
•小数字设定: 数值字段可指定打印小数位个数 做 format •字段属性、币别字段/小数位 : -单价成本/金额/小计总计/汇率 : 打印时会依照币别字段数据,参考『币别资 料维护作业(aooi050)』的小数字设定 -自行定义 : 直接设定小数字个数
字段设定 – 字段数据转换
•数据转换设定: 可以将 SELECT 的字段内容进行资料替换。
字段设定 – 字段数据转换
•转换项目: - 单一 : 设定 单一内容 转换值 - 其它 : 设定 其它全部内容 转换值 •取代型态:可选择固定值或ze代码 - 固定 : 固定值 - p_ze : ze 代码
权限设定
数据权限设定: 权限控管依照 p_zz 设定
字段设定 – QBE 窗口显示顺序
设定 QBE 窗口显示的字段及顺序
字段设定 – QBE 字段开窗设定
•开窗(QBE) : 设定 QBE 窗口显示的字 段是否提供开窗(ControlP)功能 •查询代码 : 输入动态查询程序代码 •动态开窗参数设定 : 可设定是否需 construct / WHERE 条件/传入参数
分群(Group) 分群(Group)
设定 Group/ 排序条件/ 跳页
计算(Sum) 计算(Sum)
计算(Sum) 计算(Sum)
字段说明
计算式 : 字段计算方式 ; 提供项目为: 小计/合计/平均/总平均
显示方式 : 打印时小计说明显示方式 1. 字段名称+计算式 => 如: “请购单号 小计:” 2. 计算式 => 如: “小计:” 3. 不显示 =>不显示计算式说明 Group 字段 : 设定字段应依照哪一个字段作计算
No
挂到 Menu 上
Yes
立即查询
No 储存自定义查询
二次过滤数据 多格式输出 打印机打印 Text / Excel / PDF
定义查询设计 – 基础 (Wizard)
自定义查询设计
来源为已经订定 关联的Table
选定 Table 选定字段 设定字段顺序 设定字段条件 系统产生 SQL 执行查询