CN114756221A - 基于ibm as400的程序自动生成方法及装置 - Google Patents
基于ibm as400的程序自动生成方法及装置 Download PDFInfo
- Publication number
- CN114756221A CN114756221A CN202210427508.4A CN202210427508A CN114756221A CN 114756221 A CN114756221 A CN 114756221A CN 202210427508 A CN202210427508 A CN 202210427508A CN 114756221 A CN114756221 A CN 114756221A
- Authority
- CN
- China
- Prior art keywords
- program
- template
- adjusted
- ibm
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012545 processing Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于IBM AS400的程序自动生成方法,包括:获取目标运行要求;根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。根据用户输入的目标运行要求可以自动生成规范的待调整程序模板;之后对待调整程序模板进行调整即可得到规范的,符合要求的程序代码。而由于用户只需要输入目标运行要求以及对待调整程序模板进行调整即可生成程序代码,极大的减少了代码撰写的时间。本发明还提供了一装置、设备及存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及程序生成技术领域,特别是涉及一种基于IBM AS400的程序自动生成方法、一种基于IBM AS400的程序自动生成装置、一种基于IBM AS400的程序自动生成设备以及一种计算机可读存储介质。
背景技术
IBM AS400作为IBM主打的一款小型机,在金融,零售,保险等领域有上百万的用户在使用。很多IBM AS400的程序开发使用RPG语言进行开发,RPG全称为Report ProgramGenerator,即报表程序生成语言。RPG程序的主要功能包括通过访问数据库实现联机/批量交易,通过交互程序提供人机访问接口,通过API(应用程序编程接口)实现例如socket(套接字)通讯的功能模块等。
一套完整的RPG应用程序包括:数据库文件定义,服务程序定义,功能模块程序定义,独立数据结构定义,运行环境参数定义,通讯模块定义,外部访问接口设计等,交互界面定义,打印输出文档定义等。由于RPG程序独特的编程规则,RPG程序的开发普遍存在新程序撰写需要大量的时间,以及代码形式不规范的问题。所以如何提供一种可以快速生成针对IBM AS400的形式规范的代码是本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种基于IBM AS400的程序自动生成方法,可以快速生成形式规范的代码;本发明的另一目的在于提供一种基于IBM AS400的程序自动生成装置、一种基于IBM AS400的程序自动生成设备以及一种计算机可读存储介质,可以快速生成形式规范的代码。
为解决上述技术问题,本发明提供一种基于IBM AS400的程序自动生成方法,包括:
获取目标运行要求;
根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;
对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
可选的,所述待调整程序模板包括数据库DDS定义模板、程序流程控制模板、程序功能模块模板、程序公共参数声明模板、程序公共模块模板、程序输出模板、运行环境定义模板、独立数据结构定义模板。
可选的,所述对所述待调整程序模板进行调整,生成基于RPG语言的程序代码包括:
对所述待调整程序模板进行调整,编译为服务程序;
将所述服务程序作为生成程序的参数进行程序编译,得到基于RPG语言的程序代码。
可选的,其特征在于,所述对所述待调整程序模板进行调整,生成基于RPG语言的程序代码包括:
对所述待调整程序模板添加预设格式的文件声明、数据结构定义、和数据处理逻辑语句,生成基于RPG语言的程序代码。
可选的,所述对所述待调整程序模板进行调整,生成基于RPG语言的程序代码包括:
获取关键字;
基于伪代码,调用代码生成脚本根据所述关键字调整所述待调整程序模板,生成基于RPG语言的程序代码。
可选的,在所述生成基于RPG语言的程序代码之后,还包括:
调用入口程序对所述程序代码进行测试,得到测试结果。
可选的,在所述生成基于RPG语言的程序代码之后,还包括:
当所述程序代码生成时,对所述程序代码进行注册。
本发明还提供了一种基于IBM AS400的程序自动生成装置,包括:
要求获取模块,用于获取目标运行要求;
框架生成模块,用于根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;
代码生成模块,用于对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
本发明还提供了一种基于IBM AS400的程序自动生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述基于IBM AS400的程序自动生成方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于IBM AS400的程序自动生成方法的步骤。
本发明所提供的一种基于IBM AS400的程序自动生成方法,包括:获取目标运行要求;根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
根据用户输入的目标运行要求可以自动生成规范的待调整程序模板;之后对待调整程序模板进行调整即可得到规范的,符合要求的程序代码。而由于用户只需要输入目标运行要求以及对待调整程序模板进行调整即可生成程序代码,极大的减少了代码撰写的时间。
本发明还提供了一种基于IBM AS400的程序自动生成装置、一种基于IBM AS400的程序自动生成设备以及一种计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种基于IBM AS400的程序自动生成方法的流程图;
图2为本发明实施例所提供的一种具体的基于IBM AS400的程序自动生成方法的流程图;
图3为本发明实施例所提供的一种基于IBM AS400的程序自动生成装置的结构框图;
图4为本发明实施例所提供的一种基于IBM AS400的程序自动生成设备的结构框图。
具体实施方式
本发明的核心是提供一种基于IBM AS400的程序自动生成方法。在现有技术中,RPG程序的开发普遍存在以下几个难点:新程序撰写需要大量的时间;程序代码存在大量不规范;程序处理过程接口定义存在不规范;程序进行作业间通讯的定义不规范;程序对事物控制的算法不规范的问题。
而本发明所提供的一种基于IBM AS400的程序自动生成方法,包括:获取目标运行要求;根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
根据用户输入的目标运行要求可以自动生成规范的待调整程序模板;之后对待调整程序模板进行调整即可得到规范的,符合要求的程序代码。而由于用户只需要输入目标运行要求以及对待调整程序模板进行调整即可生成程序代码,极大的减少了代码撰写的时间。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于IBM AS400的小型机,典型的联机交易处理流程包括:
首先外部输入通过报文经过企业总线或者综合前置发送到核心主机通讯端口;之后核心主机通讯端口可以有1个或多个,每个端口有1个或多个伺服程序进行处理;再之后通讯句柄发送到派发作业,在派发作业完成报文解析和交易信息统计,根据报文解析出来的交易代码发送到不同的数据队列。最后联机作业通过读取数据队列数据获取通讯句柄和交易报文,通过主控平台事务封装,并通过调用具体的交易处理模块进行商务计算,更新账务数据,完成打印输出后,通过通讯会话向交易发起端发送交易处理结果报文,协商后关闭通讯会话。
相应的,上述联机交易过程包括通讯服务程序,作业派发程和交易统计程序,交易处理程序,打印输出程序等多个部分。其中通讯处理在通讯程序和交易结束程序完成,通讯句柄和通讯报文作为参数在程序或作业间进行传递。通讯模块具有类似的处理逻辑,但侦听的端口不同;主控程序具有类似的逻辑,交易处理模块根据处理的交易的数量而配置匹配的交易处理模块。针对上述场景,应用需要配置通讯程序,报文处理程序,作业派发程序,主控程序,交易处理模块,打印输出程序等程序类型。每个程序类型,都对应特定的程序模板。
而典型的批量程序处理流程通常包括批量控制程序和批量执行程序两个部分,批量运行过程包括多个不同的阶段,每个阶段运行不同的交易内容,通过并行多个作业运行以提高运行速度。每个批量作业运行结束需要通知批量控制作业,在批量控制作业需要掌控当前批次作业的执行情况,当前批次作业运行完毕才能提交下一批次的作业内容。这个过程包括批量控制作业,批量执行作业。批量执行作业需要调度不同的执行模块,例如银行批量需要计算批量代收代付,个人贷款到期还款,***自动还款,定期自动转存,基金定投,结息处理等相关业务模块会被调用。这个过程需要生成批量控制程序模板,批量作业模板等。
请参考图1,图1为本发明实施例所提供的一种基于IBM AS400的程序自动生成方法的流程图。
参见图1,在本发明实施例中,基于IBM AS400的程序自动生成方法包括:
S101:获取目标运行要求。
在本步骤中,用户首先需要输入目标运行要求,该目标运行要求为用户根据实际需要执行的任务,所输入的运行要求。有关该运行要求的具体内容可以根据实际情况自行设定,在此不做具体限定。例如,在此处输入的目标运行要求具体可以是需要执行上述联机交易处理或批量程序处理等。
S102:根据目标运行要求生成程序运行框架。
在本发明实施例中,所述程序运行框架包括多个待调整程序模板。
在本步骤中,需要根据上述目标运行要求生成对应的程序运行框架,而该程序运行框架通常需要包括多个待调整程序模板。在本发明实施例中,上述待调整程序模板包括数据库DDS定义模板、程序流程控制模板、程序功能模块模板、程序公共参数声明模板、程序公共模块模板、程序输出模板、运行环境定义模板、独立数据结构定义模板。上述各个模板为在进行AS400编程的时候涉及到的程序代码功能模块。例如DDS(data descriptionspecifications的缩写,功能类似SQL的定义语法,用于定义表,视图,索引等数据库结构,是AS400定义数据库内部结构的专用语法结构)是AS400定义数据库结构的脚本定义,由于AS400内嵌DB2/400数据库,进行AS400编程,一个重要的步骤就是进行数据库结构的定义;流程控制模板用于设计控制模块,根据输入参数控制程序的下一层模块调用;程序功能模块模板用于定义具体的交易算法实现;程序公共参数声明模板用于定义全局或者局部常量或者变量的赋值;程序公共模块模板用于定义公共函数或者过程声明,例如密码校验算法,例如利息计算算法等;程序输出模板用于定义程序输出,例如输出用户明细查询结果,输出交易确认输出等;运行环境定义模板,用于定义日期格式,定义利息计算的精度,定义下一个结息日期等等;独立数据结构定义模板,例如通讯报文格式定义,密钥,通讯IP,端口定义等。
在本步骤生成的格式规范的程序运行框架,包括各个关键模块的程序模板,还可以包括通讯程序模板,主控程序模板,交互程序模板,交易处理程序模板,打印输出程序模板等。有关程序运行框架所包括的功能程序模板可以根据实际情况自行设定,在此不做具体限定。
S103:对待调整程序模板进行调整,生成基于RPG语言的程序代码。
在本步骤中,需要对上述待调整程序模板进行调整,从而生成最终基于RPG语言,适用于IBM AS400的程序代码。
具体的,本步骤通常包括:对所述待调整程序模板进行调整,编译为服务程序;将所述服务程序作为生成程序的参数进行程序编译,得到基于RPG语言的程序代码。
服务程序即Service Program,通过绑定Module对外提供函数和变量或常量。AS400的编译过程相对比较复杂,公用代码编译为模块,模块中需要外部调用的公共变量和函数需要通过绑定目录脚本进行Export声明,即在本步骤中会先将调整后的待调整程序模板编译为服务程序,所有的模块编译为服务程序以后,会将其作为生成程序的参数进行程序编译,最终生成可执行的程序代码。
具体的,对于数据库DDS定义模板,由于IBM AS400本质是数据库一体机,在AS400运行的程序很多都是和数据库打交道的,在定义程序代码之前,对需要使用的数据库进行定义也是一个重要的过程。IBM AS400内置的数据库为DB2/400,集成了文件型数据库和关系型数据库的特定,可以通过SQL语句对数据库的数据进行访问和定义,每一个具体的数据库对象(表,索引,视图,存储过程,触发器)又都表现为具体的文件对象,本发明实施例提供的数据库辅助设计使用的是DDS的定义方式,存储过程和触发器采用外置存储过程和触发器的自动生成算法。
对于程序流程控制模板,其主要针对C、CL、RPG提供各种编程需要的程序控制代码片段。具体的,程序流程控制模板通常包括联机交易控制流程、批量业务控制流程、业务维护控制流程、数据维护控制流程;其中联机交易控制流程包括通讯控制流程、主控控制流程、业务处理控制流程;而通讯控制流程会包括服务端通讯程序以及客户端通讯程序;而批量业务控制流程可以包括并发作业控制流程、作业调度控制流程、以及业务处理控制流程。
对于程序功能模块模板,通常包括有文件声明、数据结构声明、语句开始关键字、控制语句闭环设计、SUBSR…ENDSR的设计模式、PROC…ENDPR的设计、变量和函数声明部分、输入变量,操作符,输出变量的严格控制;其中数据结构声明包括/COPY外部文件声明引用、DCL-S变量申明、DCL-C常量声明、DCL-DS数据结构声明、指针引用申明、数组声明;控制语句闭环设计通常包括DOW…ENDDO、FOR…ENDFOR、IF…ELSE…ENDIF、DO…UNTIL、SWITCH…ENDSL等;输入变量,操作符,输出变量的严格控制通常包括类型兼容、变量长度兼容、格式或类型转换兼容等。
对于运行环境定义模板,其主要包括子***定义、作业队列定义、作业描述定义、输出队列定义等。
上述待调整程序模板通常仅仅为一个大体的内容,在本步骤中需要根据具体的程序实现要求,对各个待调整程序模板进行调整,使其具有对应的功能,得到最终对应整个程序的程序代码。需要说明的是,通过调整运行环境的运行环境定义模板,修改自动生成的代码的组成部分,可以对于特定功能模块提供多种处理的选择,例如进程间通讯可以使用文件,数据区,数据域,数据队列,用户队列等不同的选择,不同的选择使用不同的声明,写入,读取操作也需要对应不同的函数和参数。
有关本步骤的具体内容将在下述发明实施例中做详细介绍,在此不再进行赘述。
本发明实施例所提供的一种基于IBM AS400的程序自动生成方法,包括:获取目标运行要求;根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
根据用户输入的目标运行要求可以自动生成规范的待调整程序模板;之后对待调整程序模板进行调整即可得到规范的,符合要求的程序代码。而由于用户只需要输入目标运行要求以及对待调整程序模板进行调整即可生成程序代码,极大的减少了代码撰写的时间。
有关本发明所提供的一种基于IBM AS400的程序自动生成方法的具体内容将在下述发明实施例中做详细介绍。
请参考图2,图2为本发明实施例所提供的一种具体的基于IBM AS400的程序自动生成方法的流程图。
参见图2,在本发明实施例中,基于IBM AS400的程序自动生成方法包括:
S201:获取目标运行要求。
S202:根据目标运行要求生成程序运行框架。
上述S201至S202与上述发明实施例中S101至S102基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。
S203:对待调整程序模板添加预设格式的文件声明、数据结构定义、和数据处理逻辑语句,生成基于RPG语言的程序代码。
在本发明实施例中具体提供两种不同的对待调整程序模板进行调整的具体的方式。第一种如S203,直接在待调整程序模板中添加预设格式,即添加格式统一的文件声明、数据结构定义、和数据处理逻辑语句,以保证最终生成的程序代码的格式统一,规范。有关文件声明、数据结构定义、和数据处理逻辑语句的具体内容需要根据实际情况自行设定,在此不做具体限定。
S204:获取关键字。
对待调整程序模板进行调整的第一种方式如S204至S205,在本步骤中需要获取关键字,该关键字通常表征包括:指定需要输入的参数定义,需要进行的IO操作,根据具体的条件判断,确定需要调用的程序模块,指定需要产生的输出格式。有关关键字的具体内容需要根据实际情况自行设定,在此不做具体限定。
S205:基于伪代码,调用代码生成脚本根据关键字调整待调整程序模板,生成基于RPG语言的程序代码。
在本步骤中,具体会通过伪代码,通过代码生成脚本基于上述输入的关键字,对待调整程序模板进行调整,生成最终的程序代码。本步骤通常包括两种情况:第一种,基于前置关键字以及对应参数,生成对应的代码片段,例如DCLF+U+A+DISK+COMMIT[CUSTOMER]用于定义声明数据表文件CUSTOMER,更新方式打开,支持追加记录操作,数据库文件属性,支持事务处理。第二种,为直接添加计算部分,例如READ CUSTOMER。
在本步骤中通过配置参数和伪代码提示要实现的具体程序逻辑,根据后台的模板自动生成程序代码。这样生成的程序,参数声明采用固定的格式,程序模块使用已经规范好的编程代码,运行的成功率和运行效率有一定保证。
S206:调用入口程序对程序代码进行测试,得到测试结果。
即在本步骤中具体会调用入口程序,输入参数启动测试程序,通过交互操作或修改运行流程验证程序运行过程和计算结果。具体的,上述自动生成的程序代码可以直接进行编译并运行,程序代码本身具有调试输出代码,在debug模式下可以输出程序中间过程的计算结果和模块调用的历史以及返回码,以降低代码的调试难度。
S207:当程序代码生成时,对程序代码进行注册。
在本步骤中,可以通过与Git,Rational Concert等版本控制工具结合,在生成新的代码程序的时候,自动实现对新代码程序的注册过程,便于团队开发的代码管理和维护。
在本发明实施例所提供的程序运行框架,可以内置各项典型代码的示例(demo)。以服务器端通讯程序为例,提供基于阻塞的处理代码,非阻塞的程序处理代码;提供从建立socket句柄,绑定IP和本地端口,侦听,接收客户端请求,发送数据,接收数据,关闭socket句柄的完整代码片段。对于socket连接的处理提供本进程处理,spawn子进程处理,通过givedescriptor()和takedescriptor()的跨进程句柄传递的处理过程完整代码。
本发明实施例所提供的一种基于IBM AS400的程序自动生成方法,不同于市场上商业case工具或者代码生成工具(Code Generation),本发明实施例专注于IBM AS400环境和商业软件使用场景,除了能自动生成功能代码以外,在程序的编译,程序对象的权限管理,功能模块的实现,模板的修正等方面提供专业化的环境。在需求明确的情况下,快速开发程序原型,在实现程序功能,提供精度和准确度的同时保证程序代码的规范化和可读性。本发明实施例的着眼点在于快速程序代码开发,并提供各项标准场景的代码快速实现,通过简单调整就能实现指定功能,相对于其他case工具,本专利生成的代码程序完整性更高,可以直接编译运行。本发明实施例对编程涉及到的代码生成,代码权限管理,编译过程都进行了封装,便于实现AS400程序编写的快速处理。
下面对本发明实施例所提供的一种基于IBM AS400的程序自动生成装置进行介绍,下文描述的基于IBM AS400的程序自动生成装置与上文描述的基于IBM AS400的程序自动生成方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的一种基于IBM AS400的程序自动生成装置的结构框图。参照图3,基于IBM AS400的程序自动生成装置可以包括:
要求获取模块100,用于获取目标运行要求。
框架生成模块200,用于根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板。
代码生成模块300,用于对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
作为优选的,在本发明实施例中,所述待调整程序模板包括数据库DDS定义模板、程序流程控制模板、程序功能模块模板、程序公共参数声明模板、程序公共模块模板、程序输出模板、运行环境定义模板、独立数据结构定义模板。
作为优选的,在本发明实施例中,代码生成模块300包括:
服务程序单元,用于对所述待调整程序模板进行调整,编译为服务程序。
程序代码单元,用于将所述服务程序作为生成程序的参数进行程序编译,得到基于RPG语言的程序代码。
作为优选的,在本发明实施例中,代码生成模块300用于:
对所述待调整程序模板添加预设格式的文件声明、数据结构定义、和数据处理逻辑语句,生成基于RPG语言的程序代码。
作为优选的,在本发明实施例中,代码生成模块300包括:
关键字获取单元,用于获取关键字。
伪代码单元,用于基于伪代码,调用代码生成脚本根据所述关键字调整所述待调整程序模板,生成基于RPG语言的程序代码。
作为优选的,在本发明实施例中,还包括:
测试模块,用于调用入口程序对所述程序代码进行测试,得到测试结果。
作为优选的,在本发明实施例中,还包括:
注册模块,用于当所述程序代码生成时,对所述程序代码进行注册。
本实施例的基于IBM AS400的程序自动生成装置用于实现前述的基于IBM AS400的程序自动生成方法,因此基于IBM AS400的程序自动生成装置中的具体实施方式可见前文中的基于IBM AS400的程序自动生成方法的实施例部分,例如,要求获取模块100,框架生成模块200,代码生成模块300,分别用于实现上述基于IBM AS400的程序自动生成方法中步骤S101至S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
下面对本发明实施例提供的一种基于IBM AS400的程序自动生成设备进行介绍,下文描述的基于IBM AS400的程序自动生成设备与上文描述的基于IBM AS400的程序自动生成方法以及基于IBM AS400的程序自动生成装置可相互对应参照。
请参考图4,图4为本发明实施例所提供的一种基于IBM AS400的程序自动生成设备的结构框图。
参照图4,该基于IBM AS400的程序自动生成设备可以包括处理器11和存储器12。
所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的基于IBM AS400的程序自动生成方法的具体内容。
本实施例的基于IBM AS400的程序自动生成设备中处理器11用于安装上述发明实施例中所述的基于IBM AS400的程序自动生成装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的基于IBM AS400的程序自动生成方法。因此基于IBMAS400的程序自动生成设备中的具体实施方式可见前文中的基于IBM AS400的程序自动生成方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种基于IBM AS400的程序自动生成方法。其余内容可以参照现有技术,在此不再进行展开描述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于IBM AS400的程序自动生成方法、一种基于IBMAS400的程序自动生成装置、一种基于IBM AS400的程序自动生成设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于IBM AS400的程序自动生成方法,其特征在于,包括:
获取目标运行要求;
根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;
对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
2.根据权利要求1所述的方法,其特征在于,所述待调整程序模板包括数据库DDS定义模板、程序流程控制模板、程序功能模块模板、程序公共参数声明模板、程序公共模块模板、程序输出模板、运行环境定义模板、独立数据结构定义模板。
3.根据权利要求2所述的方法,其特征在于,所述对所述待调整程序模板进行调整,生成基于RPG语言的程序代码包括:
对所述待调整程序模板进行调整,编译为服务程序;
将所述服务程序作为生成程序的参数进行程序编译,得到基于RPG语言的程序代码。
4.根据权利要求1至3任一项权利要求所述的方法,其特征在于,所述对所述待调整程序模板进行调整,生成基于RPG语言的程序代码包括:
对所述待调整程序模板添加预设格式的文件声明、数据结构定义、和数据处理逻辑语句,生成基于RPG语言的程序代码。
5.根据权利要求1至3任一项权利要求所述的方法,其特征在于,所述对所述待调整程序模板进行调整,生成基于RPG语言的程序代码包括:
获取关键字;
基于伪代码,调用代码生成脚本根据所述关键字调整所述待调整程序模板,生成基于RPG语言的程序代码。
6.根据权利要求1所述的方法,其特征在于,在所述生成基于RPG语言的程序代码之后,还包括:
调用入口程序对所述程序代码进行测试,得到测试结果。
7.根据权利要求1所述的方法,其特征在于,在所述生成基于RPG语言的程序代码之后,还包括:
当所述程序代码生成时,对所述程序代码进行注册。
8.一种基于IBM AS400的程序自动生成装置,其特征在于,包括:
要求获取模块,用于获取目标运行要求;
框架生成模块,用于根据所述目标运行要求生成程序运行框架;所述程序运行框架包括多个待调整程序模板;
代码生成模块,用于对所述待调整程序模板进行调整,生成基于RPG语言的程序代码。
9.一种基于IBM AS400的程序自动生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述基于IBM AS400的程序自动生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于IBM AS400的程序自动生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427508.4A CN114756221A (zh) | 2022-04-22 | 2022-04-22 | 基于ibm as400的程序自动生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427508.4A CN114756221A (zh) | 2022-04-22 | 2022-04-22 | 基于ibm as400的程序自动生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756221A true CN114756221A (zh) | 2022-07-15 |
Family
ID=82331104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210427508.4A Pending CN114756221A (zh) | 2022-04-22 | 2022-04-22 | 基于ibm as400的程序自动生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756221A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117970865A (zh) * | 2024-04-02 | 2024-05-03 | 深圳市今天国际软件技术有限公司 | 用于智慧物流***的自动生成plc程序的方法及*** |
-
2022
- 2022-04-22 CN CN202210427508.4A patent/CN114756221A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117970865A (zh) * | 2024-04-02 | 2024-05-03 | 深圳市今天国际软件技术有限公司 | 用于智慧物流***的自动生成plc程序的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7035786B1 (en) | System and method for multi-phase system development with predictive modeling | |
CN104391934B (zh) | 数据校验方法和装置 | |
US7031901B2 (en) | System and method for improving predictive modeling of an information system | |
WO2020051540A1 (en) | System and method for a hybrid contract execution environment | |
CN101908015B (zh) | 一种基于构件生成测试案例的装置及方法 | |
CA3198981A1 (en) | Constructing executable program code based on sequence codes | |
US9697042B2 (en) | Extensibility of business process and application logic | |
JPH09512358A (ja) | インタフェース装置及び方法 | |
US8862613B2 (en) | Extensibility of business process and application logic | |
CN114756221A (zh) | 基于ibm as400的程序自动生成方法及装置 | |
US11947505B2 (en) | Systems and methods for tracking data lineage and record lifecycle using distributed ledgers | |
US20230153401A1 (en) | Systems and methods for third-party library management | |
CN110866813A (zh) | 管理会计用智能记账*** | |
CN114721641A (zh) | 一种自动生成代码的方法、装置、电子设备及存储介质 | |
CN111801696A (zh) | 支付页面管理方法、设备、支付***以及存储介质 | |
CN115080663A (zh) | 一种分布式数据库同步方法及***及装置及介质 | |
WO2022125451A1 (en) | Automatic smart contract analysis | |
CN114218914A (zh) | 业务匹配方法及相关装置 | |
US20200125569A1 (en) | Method and system to implement sql macros | |
US10453019B1 (en) | Business activity resource modeling system and method | |
CN113239064A (zh) | 一种数据库更新方法、装置、电子设备及存储介质 | |
CN111061789A (zh) | 一种智能电网基建信息管理*** | |
CN116521686B (zh) | 动态数据表处理方法、装置、计算机设备及存储介质 | |
US20220129283A1 (en) | Methods, systems, and media for generating an updated workflow for an operation executable by a computing device | |
Stipsits | Scalable Integration of Ethereum in a Microservice based Application through Layer 2 Rollups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |