




已阅读5页,还剩108页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TIPTOPGP教育訓練,報表作業程式本教材以TIPTOPGP5.0版為說明標準,1,學習目標,本章說明報表標準程式。報表種類繁多,其複雜度也各不相同。雖然如此,報表類程式的流程卻相當固定:包含使用者輸入條件及製作兩部分。學習完本章後,你將可以了解以下部分:報表類格式如何撰寫。,2,報表類型,CR報表邏輯簡單邏輯複雜,3,CR報表製作報表流程圖,MAIN,tm(),xxxx(),xxxx(),1.在xxxx()組sql抓取資料,與CrystalReport串接2.新的CR報表不會有rep()這個Function,4,程式畫面,5,CR報表畫面,6,外部程式傳遞參數或BackgroundJob時接受參數,tm(),xxxx(),rep(),MAIN,可接受參數ARG_VAL(序號)判斷參數是否有傳入值來決定是否執行BackgroundJob,7,外部程式傳遞參數或BackgroundJob時接受參數,LETg_pdate=ARG_VAL(1)LETg_towhom=ARG_VAL(2)LETg_rlang=ARG_VAL(3)LETg_bgjob=ARG_VAL(4)LETg_prtway=ARG_VAL(5)LETg_copies=ARG_VAL(6)LETtm.wc=ARG_VAL(7)LETtm.s=ARG_VAL(8)LETtm.t=ARG_VAL(9)LETtm.u=ARG_VAL(10)LETtm.a=ARG_VAL(11)LETtm.b=ARG_VAL(12)LETtm.c=ARG_VAL(13)LETg_rep_user=ARG_VAL(14)LETg_rep_clas=ARG_VAL(15)LETg_template=ARG_VAL(16),tm(),xxxx(),rep(),MAIN,8,外部程式傳遞參數或BackgroundJob時接受參數,IF(NOTcl_user()THENEXITPROGRAMENDIFWHENEVERERRORCALLcl_err_msg_logIF(NOTcl_setup(AXM)THENEXITPROGRAMENDIFCALLcl_used(g_prog,g_time,1)RETURNINGg_timeIFNOTcl_null(tm.wc)THENCALLr410()ELSECALLr410_tm(0,0)ENDIFCALLcl_used(g_prog,g_time,2)RETURNINGg_time,tm(),xxxx(),rep(),MAIN,9,輸入條件,分為construct跟input部分呼叫cl_dynamic_locale延後時間執行作業(BackgroundJob設定),tm(),xxxx(),rep(),MAIN,10,輸入條件,CONSTRUCTBYNAMEtm.wcONoea01,oea02,oea03,oea04,oea14,oea15,oea23,oea12,oeaholdENDCONSTRUCTIFg_action_choice=localeTHENLETg_action_choice=CALLcl_dynamic_locale()CONTINUEWHILEENDIFINPUTBYNAMEtm2.s1,tm2.s2,tm2.s3,tm2.t1,tm2.t2,tm2.t3,tm2.u1,tm2.u2,tm2.u3,tm.a,tm.b,tm.c,tm.moreWITHOUTDEFAULTSENDINPUT,tm(),xxxx(),rep(),MAIN,11,輸入條件,IFg_bgjob=YTHENSELECTzz08INTOl_cmdFROMzz_fileWHEREzz01=axmr410IFSQLCA.sqlcodeORl_cmdISNULLTHENCALLcl_err(axmr410,9031,1)ELSELETtm.wc=cl_replace_str(tm.wc,)LETl_cmd=l_cmdCLIPPED,g_pdateCLIPPED,g_towhomCLIPPED,CALLcl_cmdat(axmr410,g_time,l_cmd)ENDIFCLOSEWINDOWr410_wCALLcl_used(g_prog,g_time,2)RETURNINGg_timeEXITPROGRAMENDIF,tm(),xxxx(),rep(),MAIN,12,SQLCR報表處理邏輯簡單,可直接把TIPTOP所產生的SQL傳給CRCALLcl_prt_cs1()報表結果CR專屬DB的暫存檔CR報表處理邏輯複雜,無法由單一SQL產生報表結果。此類型的報表由TIPTOPGP把複雜的邏輯先處理,再寫到暫存檔(實體存在於DB:ds_report)CALLcl_prt_cs3(),CR報表類型,13,CR報表-邏輯簡單,範例:axmr110,14,報表結構,#抓取資料SQLLETl_sql=SELECTobg01,obg02,ima02,ima021,“,“obg03,obg04,obg09,obg10,obg21,FROMobg_file,ima_file,WHERE,tm.wc,ANDobg02=ima_file.ima01(+),ORDERBYobg02#與CrystalReports串接#CALLcl_prt_cs1(程式代號,樣版代號,抓取資料SQL,參數)CALLcl_prt_cs1(axmr110,axmr110,l_sql,),tm(),xxxx(),MAIN,15,CR報表-邏輯複雜,範例:axmr310,16,產生TempTableCR(1),清除TempTable的資料CR(2),將報表所需的資料寫到TempTableCR(3),與CrystalReports串接CR(4),程式修改部份,17,主程式,LETg_sql=oqa01.oqa_file.oqa01,oqa02.oqa_file.oqa02,.-CR(1)-#建立報表暫存檔LETl_table=cl_prt_temptable(axmr310,g_sql)CLIPPEDIFl_table=-1THENEXITPROGRAMENDIFLETg_sql=INSERTINTOds_report.,l_tableCLIPPED,VALUES(?,?,?,?,?.)“PREPAREinsert_prepFROMg_sql,tm(),xxxx(),MAIN,18,報表結構,#清除報表暫存檔資料CALLcl_del_data(l_table)-CR(2)-FOREACH#將資料寫入暫存檔EXECUTEinsert_prepUSING-CR(3)-ENDFOREACH#與CrystalReport串接#CALLcl_prt_cs3(程式代號,樣版代號,抓取資料SQL,參數)CALLcl_prt_cs3(axmr310,axmr310,g_sql,g_str)-CR(4)-,tm(),xxxx(),MAIN,19,CR報表樣版設計步驟,產生XML檔(p_genxml)製作報表格式(編輯CrystalReports樣版檔)報表格式設定作業(p_zaw)報表樣版、XML檔案存放至報表主機,20,產生XML檔(p_genxml),CALLcs1(),21,產生XML檔(p_genxml),4,1,2,3,下載XML到本機C:tiptop,22,產生XML檔(p_genxml),完成後的XML如此圖,23,產生XML檔(p_genxml),CALLcs3(),24,產生XML檔(p_genxml),4,1,2,3,下載XML到本機C:tiptop,25,產生XML檔(p_genxml),如果不是從頭到尾改一支全新的CR報表,而是要在已存在的CR報表加欄位,那就直接用WordPad開啟舊的XML,將要加的欄位加上去即可,要加欄位,請從別行Copy一行,然後將欄位名稱改掉,不要自己打上去,這樣出錯機率比較小,盡量打上SampleDate,以便後面編輯rpt檔案時可以預覽,26,安裝MicrosoftXPSDocumentWriter,後續在編輯CR樣版檔時,因我們有規定了固定的幾種紙張格式。但其中幾種紙張由於太大(A2,A1,A0),所以必須安裝MicrosoftXPSDocumentWriter(只有XP跟2003可裝,若非這兩種的,就請換裝PDFWriter)後,才可選到這幾種紙張。安裝步驟如下(需照此順序安裝):(1)安裝msxml6.msi(2)安裝XPSEPXPandServer200332bit.msi,27,安裝MicrosoftXPSDocumentWriter,安裝完後可在印表機裡看到MicrosoftXPSDocumentWriter,然後需要設定A2,A1,A0三種紙張格式。A0:寬84cm,高118.8cmA1:寬59.4cm,高84cmA2:寬42cm,高59.4cm(若已有就不用再設定了),28,製作報表格式(編輯CrystalReports樣版檔),29,1.開啟CrystalReports,30,2.透過CrystalReports所提供的標準報表精靈來產生報表,31,3.建立新連線ADO.NET(XML),32,4.選擇建立好的XML檔案路徑完成,33,5.選擇新增的NewDataSet,按下來新增資料來源,34,6.選擇顯示在報表上的欄位,35,7.選擇群組欄位,36,8.選擇摘要欄位(每個分組的小計Total),37,9.選擇只顯示出前五名的群組,38,10.選擇分析圖表,39,11.欄位篩選,40,12.選擇報表範本,41,13.報表樣版設定完成,42,14.設定報表樣版參數(26個),title1-公司名稱title2-報表名稱date-報表產生日期time-報表產生時間user-製表者prog-TIPTOP程式代號p1p20程式運用Ps.參數的順序一定要照左側圖示的順序來編輯,參數的型態皆為字串,43,15.設定報表樣版公式(2個),location動態logo用printstatus處理(結束)、(接下頁)用,44,製作報表樣版分為兩類,1.在舊的rpt增加欄位2.寫一支新的rpt,45,在舊的rpt增加欄位,要aoou702增加一個欄位g09,先將XML拿出來做修改,再開啟aoou702.rpt,46,在舊的rpt增加欄位,47,寫一支新的rpt,1.開啟一支已經存在的rpt檔案,48,寫一支新的rpt,2.資料庫-資料庫專家,49,寫一支新的rpt,3.將這支rpt原來用的DataSet移除,50,寫一支新的rpt,4.建立新連接ADO.NET(XML),51,寫一支新的rpt,5.選擇新增的NewDataSet,按下來新增資料來源,52,寫一支新的rpt,6.CR會將原來那個xml的欄位移除,剩下一些跟舊xml無關的物件,53,寫一支新的rpt,7.檢視-欄位總管-資料庫欄位-axmr340-將欄位拖拉到欲放置的位置,54,Q:為什麼要用舊的rpt來產生一支新的rpt?因為我們的CR報表有一些固定要設定的參數、公式欄位、logo、隱藏方式等等,如果每次編輯一個新的rpt都要從無到有,很容易會遺漏東西。用一支舊的來改,一些固定的參數、公式、logo等東西就不需再重新設定,對我們要產出報表所花的時間可以縮短很多。,55,報表格式設定作業(p_zaw),56,CR報表主機架構圖,安裝目錄,正式區topprod,測試區toptest,標準區topstd,tiptop,tiptop,tiptop,topcust,topcust,aim,aap,cim,cap,aimr100,aimr101,0,1,2,aimr100.xml,aimr100_0_std.rpt,aimr100_1_std.rpt,aimr100_2_std.rpt,57,報表樣版、XML檔案存放至報表主機,XML檔案CRServer-IIS的預設網站:topprod的實際路徑topcust模組程式代號模組目錄設定為小寫例如:topprodtopcustcxmcxmr213cxmr213.xml報表樣版檔案CRServer-IIS的預設網站:topprod的實際路徑topcust模組程式代號語言別例如:topprodtopcustcxmcxmr2130cxmr213_0_std.rpt,58,CR報表重要功能用法,59,以下幾個功能各位必須了解在CR中如何設定:1.跳頁2.金額取位3.動態logo4.Word套表5.虛擬欄位6.Barcode7.簽核欄位8.動態排序9.日期欄位設定,60,1.跳頁的處理有三種狀況:(1)明細類報表若有設定群組,可依照不同群組做跳頁的動作例:aoou702(2)憑證類報表通常是印完一張單據後就跳頁印別張單據例:axmr400(3)依照畫面INPUT跳頁條件的勾選,才決定要不要跳頁例:aapr121,61,(1)明細類報表若有設定群組,可依照不同群組做跳頁的動作(aoou702),62,(2)憑證類報表通常是印完一張單據後就跳頁印別張單據(axmr400),63,(3)依照畫面INPUT跳頁條件的勾選,才決定要不要跳頁(aapr121),64,以下幾個功能各位必須了解在CR中如何設定:1.跳頁2.金額取位3.動態logo4.Word套表5.虛擬欄位6.Barcode7.簽核欄位8.動態排序9.日期欄位設定,65,2.金額取位可透過CrystalReport的公式設定,搭配g_azi變數,進行格式處理。(以下,以axmr551Invoice列印為例,單據單價&金額依幣別進行“動態”取位。),66,4gl調整(1)產生temptable段增加需要的欄位,67,4gl調整(2)抓取小數位數相關資料,(3)將取位資料寫入暫存檔,68,rpt調整(1)針對單價或金額欄位(數字類型),按右鍵進行欄位格式設定,進入數字自訂頁,進行小數位數與進位設定的公式編輯器,69,rpt調整(2)點選小數位數的公式編輯器,指定使用的取位欄位(3)點選進位的公式編輯器,指定使用的進位欄位,70,以下幾個功能各位必須了解在CR中如何設定:1.跳頁2.金額取位3.動態logo4.Word套表5.虛擬欄位6.Barcode7.簽核欄位8.動態排序9.日期欄位設定,71,3.動態logo(1)新增一個公式欄位:location(2)更改物件名稱為:Picture1&把location指定給圖形位置(3)LOGO不要有超連結,72,(1)新增一個公式欄位:location,73,(1)新增一個公式欄位:location,74,(1)新增一個公式欄位:location,75,(2)更改物件名稱為:Picture1&把location指定給圖形位置,76,(2)更改物件名稱為:Picture1&把location指定給圖形位置,77,(2)更改物件名稱為:Picture1&把location指定給圖形位置,78,(2)更改物件名稱為:Picture1&把location指定給圖形位置,79,(3)LOGO不要有超連結,80,以下幾個功能各位必須了解在CR中如何設定:1.跳頁2.金額取位3.動態logo4.Word套表5.虛擬欄位6.Barcode7.簽核欄位8.動態排序9.日期欄位設定,81,4.Word套表(1)先準備好要套印的Word檔案(以abxr410為例)(2)開啟rpt,插入OLE物件(3)在對應的位置上擺上欄位,82,(1)先準備好要套印的Word檔案(以abxr410為例),83,(2)開啟rpt,插入OLE物件1.開啟rpt,選擇插入,OLE物件,84,(2)開啟rpt,插入OLE物件2.選擇從檔案建立瀏覽找到編好的那個Word檔案,然後按下確定,85,(2)開啟rpt,插入OLE物件3.將插入的物件拖拉到欲放置的位置,86,(3)在對應的位置上擺上欄位,87,以下幾個功能各位必須了解在CR中如何設定:1.跳頁2.金額取位3.動態logo4.Word套表5.虛擬欄位6.Barcode7.簽核欄位8.動態排序9.日期欄位設定,88,5.虛擬欄位表頭的欄位內容,若為代號+簡稱,為達到與舊報表一樣有Clipped效果,使用公式設定虛擬欄位串接。做法有二:(1)定一個公式欄位,來組合”代號”跟”說明”的値(2)拉一個空白的文字物件,將”代號”跟”說明”欄位拖入空白文字物件中,89,做法1:(1)定一個公式欄位,來組合”代號”跟”說明”的値(命名規則:要組合oea15與gem02,公式請命名成oea15_gem02),90,做法1:(2)設定相加公式,91,做法2:拉一個空白的文字物件,將”代號”跟”說明”欄位拖入空白文字物件中,92,以下幾個功能各位必須了解在CR中如何設定:1.跳頁2.金額取位3.動態logo4.Word套表5.虛擬欄位6.Barcode7.簽核欄位8.動態排序9.日期欄位設定,93,6.Barcode(1)要在報表裡列印Barcode,CR主機上需先安裝Barcode相關程式C39Tools_Setup.exe(若有要編輯CR檔案的Client端,也請安裝此exe檔)(2)將主機上多出來的這些Barcode字體安裝到各Client端(3)開啟rpt後,先定義一個公式欄位來處理Barcode(4)使用BarcodeC39ASCII()函式來處理Barcode(5)將此公式欄位拖拉到樣版上欲放置的位置,改變字體為Barcode字體ps.目前系統裡已經有使用Barcode的共有三支程式aimr800,asfr102,apmr920,94,(1)安裝Barcode相關程式C39Tools_Setup.exe,95,(2)將主機上多出來的這些Barcode字體安裝到各Client端,96,(3)開啟rpt後,先定義一個公式欄位來處理Barcod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品与饮料行业餐饮业数字化转型研究报告
- 2025年事业单位工勤技能-河南-河南机械热加工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南假肢制作装配工三级(高级工)历年参考题库典型考点含答案解析
- 2024版单位车辆出租合同
- 2025年事业单位工勤技能-江西-江西热力运行工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江西-江西土建施工人员五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏热处理工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-新疆-新疆舞台技术工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西殡葬服务工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西家禽饲养员一级(高级技师)历年参考题库含答案解析
- 2025年电信人工智能学习考试题库(含答案)
- 机器人焊接技术与应用考核试卷
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 中考名著《唐诗三百首》习题集
- 《会计职业道德》第2版 课件 第一章 道德和职业道德概述
- 危险性较大的分部分项工程安全监理实施细则
- 施工期间交通导行方案
- 《森林疗养基地建设技术导则》(T-CSF 001-2019)
- 《酒店客户关系管理 》课件-项目三 酒店客户关系管理制度
- 2024年中考英语试题分类汇编
- 2025版高考化学一轮复习第九章有机化合物1甲烷乙烯苯煤石油天然气的综合利用强化训练1含解析新人教版
评论
0/150
提交评论