4GL+T100程序设计开发常用方法、技巧总结

这段时间参与了一些些4GL语言+T100程序的设计开发,作为一个4GL和T100的小白,在我遇到问题的时候我以为我能够在网上找到很好的参考资料和前辈们留下的经验分享,结果在网上一搜,关于4GL语言和T100程序设计开发的资料少之又少。因此我在开发过程中,从一个新手的角度写了一些开发步骤和常见的操作,希望能留给以后参与T100开发的人:


参与T100开发前,先熟悉T100常见的几个基本命名:

  1. 利用命令 r.r  azzi900 新建一个程序编号;
  2. 利用命令 r.r  adzi800 建立一张开发需求单;
  3. 利用命令 r.r  azzi910 维护作业编号;
  4. 利用命令 r.r  azzi850 维护程序运行权限;
  5. 利用命令r.r  adzi140或者r.t数据表设计器(建立表格、模块选择CIT)

新建表格:

  1. r.t打开表格设计器,新建一个表格,选择相应的开发需求单和模组,对表格添加字段并且设置相应属性;
  2. 设置相应的主外键关系,外键设置时需要注意对应的位置关系;
  3. 一般表格设计需要拖入grpB(基础资料档),里面包含异动资讯的相关字段;
  4. 表格新建完成后需要执行异动,异动之后才会成为真正的表格;
  5. 异动之后需要选择DBA的前三项(产出资料表刚要、清单、结构与规格设定)

 新增程序的开发流程:

  1. 在azzi900 新建一个程序编号;(输入程序编号即可)
  2. 在adzi800 建立一张开发需求单;(输入在azzi900新建的作业编号,需求,新建人。在作业开发添加项次1和作业编号,其余为tiptop)
  3. 回到T100设计器,选择“下载规格”,查找到刚建立的程序编号,并使用对应的开发需求单,签出规格及代码;(画面及代码)
  4. 回到T100设计器,选择“常用工具”->“画面产生器”,录入程序编号,选择样板类型;
  5. 到字段设置中,选择数据来源表,并选择需要的栏位到右边;
  6. 生成画面;
  7. 回到T100设计器,下载画面规格,并按需求调整,上传画面规格;
  8. 回到T100设计器,选择下载程序,然后下载代码到本地;
  9. 按需求调整代码,并上传;
  10. 打开azzi910,维护作业编号(输入作业编号即可);
  11. 打开azzi850,维护程序的运行权限,在“职能角色编号”输入admin搜索出所有作业编号,然后在基本数据中双击添加自己的编号 ;

根据以上步骤进行操作以后,一个新建程序基本已经完成了,接下来讲讲常用的操作:

开窗:

  1. 先在画面中将控件属性设置为允许开窗(右键对应字段开启)
  2. 在T100设计器中,打开“开窗设计器”并设计好窗体信息,写好sql语句;(此步骤可以参考其它开窗设计器来做)
  3. 在construct函数和input函数下的ON ACTION controlp INFIELD xxxxxxx字段中添加开窗逻辑:

construct函数:(程序在查询的时候会调用此开窗逻辑)

INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'c'			#'c'代表此窗体为复选框
LET g_qryparam.reqry = FALSE
CALL q_imaf001()                            #调用设计好的窗体
DISPLAY g_qryparam.return1 TO psamuc002  	#将窗体的回传值显示在画面对应的字段栏位中
NEXT FIELD psamuc002                     	#鼠标定位至对应的字段栏位中

input函数:(程序在新增的时候会调用此开窗逻辑)

INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'i'					#'i'代表此窗体为单选框
LET g_qryparam.reqry = FALSE
CALL q_imaf001()						#调用设计好的窗体
LET g_psamuc_d[l_ac].psamuc002 = g_qryparam.return1         #将开窗的回传值保存
DISPLAY g_psamuc_d[l_ac].psamuc002 TO psamuc002             #将回传值显示到画面上
NEXT FIELD psamuc002                          		#鼠标定位至某一栏位

程序设计中,需要对某一字段添加错误信息提示:

INITIALIZE g_errparam TO NULL 
LET g_errparam.extend = "警告:"       #错误信息的前缀
LET g_errparam.code = 'aap-00113'      #错误信息代码,在常用工具->错误讯息维护作业中添加
LET g_errparam.popup = FALSE           #错误信息是否需要弹框(false不用,true则有)
CALL cl_err()
NEXT FIELD CURRENT  

R作业进行打印时的操作顺序和步骤:

  • 1.生成画面后,进azzi901生成报表元件,后面改名_g01;
  • 2.签出报表元件;
  • 3.进入adzp188进行报表元件设计:添加资料表,添加字段,改变群组;
  • 4.设置参数:参数说明:where condition 参数编号:tm.wc;对单头单身排版;
  • 5.生成样板和元件(未来只需要改变元件);
  • 6.下载xxxxxx_g01,修改xxxxxx_g01_sel_prep 的g_where参数,如:
#add-point:sel_prep g_order name="sel_prep.g_order"
LET g_where = " WHERE itchucent = itciucent AND itchucdocno = itciucdocno",
              " AND itciuc001 = itcguc001",
              " AND ",tm.wc CLIPPED
  • 7.在主程序里面的process中增加一下代码:
IF cl_null(g_master.wc) THEN
    CALL l_arg.clear()
    LET l_token = base.StringTokenizer.create(ls_js,",")
    LET l_cnt = 1
    WHILE l_token.hasMoreTokens()
         LET ls_next = l_token.nextToken()
         LET l_arg[l_cnt] = ls_next
         LET l_cnt = l_cnt + 1
     END WHILE
     CALL l_arg.deleteElement(l_cnt)
     LET  g_master.wc = l_arg[01]
ELSE
    LET g_master.wc = g_master.wc,"#AND#apcaent#=#",g_enterprise
END IF
CALL citr112_g01(g_master.wc)
  • 8.上传,并下载GR样板;
  • 9.用Genero Studio打开样板里面的第一个4rp文件;
  • 10.档案→纸张设定,调整间距;
  • 11.在R里面作业call改元件;
  • 12.adzp188可以设置打印出来的排序,一般为单号排序,可以增加项次排序。

程序过单:

  1. 在adzi800中找到自己的开发需求单,在构建清单中有自己程序和画面的签出状态;
  2. 打开adzi888,根据adzi800中的需求单,根据该需求单,新增一条程序注册数据,在数据清单中依次将操作过的作业、条件输入;(如果是一个新增程序,则需要将作业azzi900、azzi910、azzi902,azzi903等都需要写入,新增的表格则将表格写入adzi150;如果有ACC应用分类码,则将azzi650写入,并将分类码写在对应的Key值上,如果新增了SCC码,则将azzi600写入,并将对于的码值写入Key值中)
  3. 在完成程序的构建清单和资料清单填写后,在adzi800当前需求单的状态下,整单操作、导出设计及设置数据将文件保存到本地目录中;
  4. 连接VPN,只有连接了VPN才能将程序过单到目的服务器中;
  5. XShell中连接需要过单的目的服务器;
  6. 在目的服务器中,打开adzi800,整单操作、导入设计及设置数据;
  7. 导入过程完成解压操作即可,加压完成,此作业顺利将过单。

T100开发常用固定变量:

  • g_enterprise 目前的企業代碼,將限制使用者所能閱讀的資料內容 
  • g_prog 目前執行的作業編號,用於變換畫面顯示資料與產生系統資訊,不可變更 
  • g_code 目前執行的程式代碼(4gl)名稱,不可變更 
  • g_user 目前使用者代碼,將紀錄使用者的操作歷程與權限控制,不可變更 
  • g_qryparam 動態開窗查詢函式資料傳遞變數,使用開窗功能時須先給予相關變數 
  • g_dlang 目前使用者所選取的資料多語言語系代碼,可透過工具進行語系設定 
  • g_site 目前的營運據點名稱,可透過切換讀取不同據點的資料 
  • g_errparam 錯誤代碼傳遞變數,透過此變數可控制錯誤代碼的顯示內容與模式 
  • g_bgjob 該支程式是否以背景模式執行
  • g_today 今日

T100开发常用变量命名规则:

  • 企业   xxxxent
  • 门店   xxxxsite
  • 人员   xxxxid
  • 部门   xxxxdp
  • 法人   xxxxcomp
  • 项次   xxxxseq
  • 项序   xxxxseq1
  • 状态码 xxxxstus
  • 帐别   xxxxld
  • 单号   xxxxdocno

T100开发常用作业:

  • artt300    imba_t    artm300 物料基础信息 imaa_t        
  • ainq100 库存查询作业
  • apmt801  pmba_t    apmm801 交易对象基础信息 pmaa_t
  • aooi100 门店或者组织 ooef_t
  • agli010 法人和帐别 glaa_t
  • apmt500 采购
  • adbt500 销售

T100目录:

  • topprd:正式区
  • toptst:测试区
  • topstd:标准区
  • toppth:验证区

常用Shell操作命令:

  • r.c:编译程序,需在4gl路径之下执行,产生的42m会自动搬至该目录下;
  • r.cs:为小程序测试用,产生的42m仍在4gl目录下; 
  • r.l:打包可执行档或共享程序档(42r、42x) ;
  • r.l:xxx ALL 修改子程序/元件,或调整r.q设定后;建议手动执行此指令,将相关呼叫的主程序一并扫出并重新Link; 
  • r.f:编译程序画面;
  • r.p:预览程序画面;
  • r.r:运行作业(可以进行模糊查询:1.根据程序编号进行模糊查询(如:r.r axrp);2.根据程序中文说明进行模糊查询(如:r.r 重评价))
  • r.rd:执行作业后,若SQL错误则会留下 log档;  
  • r.d:Debug工具;
  • r.dg:Debug工具 原厂DEBUG功能(r.d出错时使用;测试传参时使用);
  • r.s:产生档案 SCHEMA 的工具;
  • rebuild:系统重建编译;

常用T100固定函数调用:

  • cl_set_combo_scc(栏位名称,系统分类码) 下拉框选项,在azzi600里面进行设置
  • cl_set_combo_scc_part(栏位名称,系统分类码,系统分类码值)  azzi600里面的单身
  • cl_set_comp_visible(栏位名称,TRUE/FALSE) 判断栏位是否显示
  • cl_set_toolbaritem_visible("open_apmt500_01",TRUE) 是否打开子程序
  • cl_get_para(g_enterprise,g_site,参数编号) 判断据点参数 “参数编号”在azzi993里面设置
  • cl_set_comp_att_text('pmdldocno',错误信息) 错误信息
  • cl_set_act_visible("accept,cancel", FALSE) 功能隐藏 
  • 14
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 对于这个问题,我可以为您提供一些基础的信息和思路,但具体的代码实现需要根据您使用的开发语言和数据库类型进行调整。首先,您需要使用 ALTER TABLE 语句来修改表结构,例如: ALTER TABLE TableName ADD ColumnName DataType; 其中,TableName 是要修改的表名,ColumnName 是要添加的列名,DataType 是要添加的列的数据类型。在您的情况下,您需要根据您使用的 4gl 和数据库类型进行具体实现。 ### 回答2: 要在鼎捷T100中增加一个栏位,需要进行以下步骤: 1. 打开鼎捷T100平台,并登录管理员账号。 2. 进入表单设计器,找到需要增加栏位的表单。 3. 在表单设计器中,选择添加栏位的功能,并选择栏位类型。可以根据具体需求选择文本、数字、日期等类型。 4. 输入所需的栏位名称,并设置栏位属性。可以选择栏位的长度、是否必填、是否唯一等。 5. 根据需要,设置栏位的显示格式。可以选择日期格式、数字格式、金额格式等。 6. 根据表单的设计需求,确定栏位的位置。可以选择在已有栏位之前或之后添加新栏位。 7. 设置栏位的权限控制。根据用户角色,可以设置栏位的只读、读写或隐藏权限。 8. 完成栏位的设计后,保存并发布表单。此时,新添加的栏位将在表单中显示出来。 9. 验证新增栏位的功能。可以填写表单并保存,然后查看新添加的栏位是否正常显示和保存数据。 总体而言,通过以上步骤,可以在鼎捷T100中成功地增加一个栏位,并满足用户对表单的特定需求。 ### 回答3: 要在鼎捷T100中增加一个4GL栏位,需要按照以下步骤进行操作。 首先,登录到鼎捷T100系统的后台管理界面。进入到相关模块的开发者界面,例如表格管理或者数据管理。 接下来,在相应的表格或数据管理界面中,找到需要增加栏位的表格。点击进入这个表格的开发模式。 然后,在开发模式下,找到要增加栏位的位置。一般来说,可以选择在表格的末尾或者合适的位置进行增加。 接着,点击表格列配置或相关选项,进入栏位配置界面。在这个界面中,可以设置新增栏位的属性、名称、数据类型等。 然后,根据实际需求,选择合适的栏位类型。例如,可以选择字符型、数字型或日期型等。 接下来,根据栏位的属性和类型,进行相应的配置。例如,可以设置栏位长度、小数位数、默认值等。 然后,根据实际应用需要,选择是否设置栏位的必填属性或者其他约束条件。 最后,保存栏位配置,并检查是否生效。可以在查看或编辑数据时,确认新的栏位已经成功添加到表格中。 总之,通过以上步骤,可以在鼎捷T100系统中用4GL语言增加一个栏位,并对其进行相应的配置和设置。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值