666什么意思| 邓超什么星座的| 女人腿肿应该检查什么| 今天会开什么生肖| 吃黑豆有什么好处和坏处| 甲沟炎是什么样子的| 肝脏分泌什么| 滥竽充数的充是什么意思| 天津市市长什么级别| 为的多音字是什么| 次胖是什么意思| 女人喝黄连有什么好处| 古惑仔为什么不拍了| 爱爱是什么感觉| 脚趾头抽筋是什么原因| 梦到自己长白头发是什么意思| 狂野是什么意思| 985是什么学校| 电风扇什么牌子好| 三专是什么| 歌帝梵巧克力什么档次| 车厘子什么时候成熟| 头晕是什么原因| 谷旦是什么意思| 青蛙为什么晚上叫| 犬子是什么意思| 女命劫财代表什么| 什锦菜是什么菜| ceo是什么意思| 臻字五行属什么的| 己巳是什么意思| 肚子痛是什么原因| 生肖排第六是什么生肖| 儿童抗o高会引起什么病| 0元购是什么意思| 狗为什么喜欢吃骨头| 从来不吃窝边草是什么生肖| 绿茶喝多了有什么危害| 口干舌燥吃什么中成药| 感冒是挂什么科| 嘴巴干是什么原因| 子宫占位是什么意思| 倒着走路有什么好处| 什么叫支原体感染| 桥字五行属什么| 中字五行属什么| 鼻塞一直不好什么原因| 吃维生素a有什么好处| 什么样的人容易得脑瘤| 怀孕了吃什么药可以打掉| 包皮炎挂什么科| 葛优躺是什么意思| 白内障是什么| 康复治疗学什么| 痔疮不能吃什么| 郭麒麟什么学历| 备是什么意思| 娥皇女英是什么意思| 鸡属相和什么属相最配| 喝普洱茶有什么好处| 什么是末法时代| 白癜风早期症状是什么| touch是什么意思| 华萨尼男装是什么档次| scj是什么意思| 糖类抗原什么意思| 可否是什么意思| 中国第五大发明是什么| 头好出汗是什么原因| 豆腐吃多了有什么坏处| 什么的母鸡| 有所作为的意思是什么| 麒麟臂什么意思| 六味地黄丸什么功效| 为什么肚子上会长毛| 喝咖啡有什么好处和坏处| 燃面为什么叫燃面| 耳朵为什么老是痒| 荨麻疹吃什么| 胎盘埋在什么地方最好| 安陵容什么时候变坏的| gg是什么意思| 泰安有什么大学| 氯化镁是什么| 财务是什么意思| 把脉能看出什么隐私| 蝎子吃什么东西| 锁骨下面的骨头叫什么| 中性粒细胞计数偏高是什么意思| 梅子什么时候成熟| 肚子胀不消化吃什么药| 考军校要什么条件| 包拯属什么生肖| 心字旁的字有什么| mj是什么意思| LOP是什么胎位| 收到是什么意思| 鱼油功效和作用是什么| 预警是什么意思| 汉语拼音是什么时候发明的| 葡萄籽有什么功效和作用| pearl什么意思| 鹿晗和邓超什么关系| 什么叫质子| 辰时是什么时候| 吃什么药升血小板最快| 放的屁很臭是什么原因| 糖尿病人可以吃什么水果| 1981年是什么年| 捡和拣有什么区别| 早上起来不晨勃是什么原因| 除服是什么意思| 查甲功是什么意思| 咳嗽属于什么科室| 强直性脊柱炎挂什么科| 过敏性咽炎吃什么药| 李白为什么叫青莲居士| 胡说八道是什么意思| 女人平胸是什么原因| 什么海里没有鱼| 蛋疼是什么原因引起的| 下巴出汗多是什么原因| 切除胆囊有什么影响| ti什么意思| 吃六味地黄丸有什么好处| 梦见自己骑马是什么意思| 棕色皮鞋配什么颜色裤子| 土霉素主要是治疗什么病| 梦见下暴雨是什么意思| 蝉什么时候出现| 龙利鱼是什么鱼| 1027是什么星座| 拉条子是什么意思| 12.29是什么星座| 吃什么治白头发| 潆是什么意思| 秋天什么时候| 来日方长是什么意思| 胆囊炎吃什么药好得快| 蜻蜓点水的目的是什么| 坐骨神经吃什么药效果最好| 什么是甲减| 处女男和什么星座最配| 打粉是什么意思| 景泰蓝是什么| 什么地响| 丹宁蓝是什么颜色| 胃炎吃什么中成药效果好| 血小板低有什么症状| 贝字旁与什么有关| 宝贝什么意思| 什么样的白带是怀孕了| 土地兼并是什么意思| 4月26是什么星座| 7点至9点是什么时辰| 梦见黄金是什么意思| 甲减的原因是什么引起的| 小狗感冒症状是什么样的| apm是什么意思| 什么颜色加什么颜色等于蓝色| 头发硬是什么原因| 什么情况下需要做活检| 加德纳菌阳性是什么意思| 胸腔积液挂什么科| 安眠穴在什么位置| 水瓶座是什么星座| 内风湿是什么原因引起的| 肚子经常胀气是什么原因| 火箭是干什么用的| 玛丽苏什么意思| 什么币最值钱| 淋巴结肿大吃什么食物好| 微信上面有个耳朵是什么意思| 吃什么补白细胞快| 雀神是什么意思| 躯体症状是什么| 白兰地是什么酒| 青鹏软膏主要治疗什么| 左肺上叶肺大泡是什么意思| 农历九月五行属什么| 西洋参是补什么的| 时间观念是什么意思| 小便憋不住尿裤子是什么情况| 葵瓜子吃多了有什么危害| 工具人什么意思| 后背发凉是什么原因| 男人性功能不行是什么原因| 旗舰店是什么意思| 生肖鸡和什么生肖最配| 反将一军什么意思| 蛇什么时候蜕皮| 什么叫三观不正| 6.28什么星座| 姨妈的老公叫什么| ygk是什么牌子| 小孩子为什么会得抽动症| 母女丼什么意思| 血管炎症状表现是什么| 乔治阿玛尼和阿玛尼有什么区别| 性激素六项什么时候查| 什么什么桑田| 奄奄一息的息是什么意思| 免疫力差吃什么| 4点是什么时辰| 窦骁的父母是干什么的| 母亲节送母亲什么礼物| 葵水是什么意思| sco是什么意思| 梦见诈尸预示什么| 英五行属什么| 1965属什么生肖| 欢天喜地是什么生肖| 什么样的血管瘤不用治| 面部发红是什么原因| 门特是什么意思| 排卵日和排卵期有什么区别| CA是什么激素| msgm是什么品牌| ol是什么| 总打喷嚏是什么原因| 大便不规律是什么原因| 上山下水什么字| 佛牌是什么| 莲花白是什么菜| 呼吸困难是什么原因引起的| 腋下有异味是什么原因| 潋滟什么意思| 备孕检查什么项目| 江西特产有什么| 去医院看膝盖挂什么科| 14年属什么生肖| 贷款是什么意思| 为什么一躺下就头晕目眩| 小孩嘴唇发白是什么原因| 兆后面是什么单位| 膝盖痒是什么原因| 内裤发霉是什么原因| 梨子是什么季节的水果| 中医是什么| 印度人为什么不吃猪肉| 儿女情长英雄气短是什么意思| 舌头干涩是什么病前兆| 变态是什么意思| 头痛头晕吃什么药| 羊传染人的病叫什么名| 安全三原则是指什么| 端粒是什么| 博字属于五行属什么| 角鲨烯有什么作用| 子宫内膜息肉吃什么药| 知否知否应是绿肥红瘦什么意思| 绿色和红色混合是什么颜色| 尿酸高能喝什么酒| 子宫糜烂是什么症状| 什么眉什么目| 一行是什么意思| 活字印刷术是什么时候发明的| 南极被称为什么| 被和谐了是什么意思| 尿酸高是什么原因造成的| 提肛运动有什么好处| 狮子座什么性格| 2018年属什么生肖| parzin眼镜是什么牌子| 百度

金小妹领衔!2017科切拉音乐节最抢镜着装top10

百度 火箭连续进攻不中,麦科勒姆再中一球追到差2分,保罗强攻不中但抢到篮板,保罗被犯规两罚全中,最终火箭客场以115-111险胜终结开拓者13连胜。

OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation. Typically classified as a fourth-generation programming language, it utilizes an English-like syntax to simplify software development.[1] The language was called PROGRESS or Progress 4GL up until version 9, but in 2006, PSC changed the name to OpenEdge Advanced Business Language (OpenEdge ABL), in order to overcome a presumed industry perception that 4GLs were less capable than other languages.[2]

OpenEdge Advanced Business Language (ABL)
Developer(s)Progress Software Corporation
Stable release
OpenEdge 12.8 / January?21, 2024; 18 months ago?(2025-08-14)
Operating systemCross-platform (see below)
TypeRDBMS
LicenseProprietary
Websitewww.progress.com/openedge

OpenEdge ABL helps developers to develop applications optionally using its own integrated relational database and programming tools. These applications are portable across computing systems and allow access to various popular data sources without having to learn the underlying data access methods. This means that the end-user of these products can be unaware of the underlying architecture.

By combining a fourth-generation language and relational database, OpenEdge ABL allows the use of the rapid application development (RAD) model for developing software.

History

edit

The original Progress 4GL was designed in 1981 as an architecture-independent language and integrated database system that could be used by non-experts to develop business applications by people who were not computer scientists but were knowledgeable in their business domain. At that time, business applications were often written in COBOL (for machines like corporate IBM mainframes) and sometimes in C (for departmental minicomputers running the UNIX operating system). When the IBM PC became popular, it developed a need for business software that could be used on those and other inexpensive computers. The Progress system was created to be used on both IBM PC machines running DOS and on a variety of computers that could run UNIX and minicomputer operating systems such as OpenVMS.

Syntax and semantics

edit

Progress ABL is a strongly typed, late-bound, English-like programming language. Although initially designed as a procedural language, starting with version 10.1 it was enhanced with object-oriented grammar elements, which can be mixed with the original procedural style. A block of code may have a transaction scoped to it, in which case database changes will be committed when it completes. An error raised within such a block will undo these changes. These defaults may be overridden by the programmer.

Simple programs run without a graphical user interface, but there is syntax to create one programmatically, or programmers can use the provided tools to build one.

Examples

edit

Hello world

edit

The following ABL code creates a window with the text "Hello, World!" and a button labelled "OK".

DEFINE VARIABLE w AS HANDLE NO-UNDO.

CREATE WINDOW w ASSIGN 
    WIDTH = 50
    HEIGHT = 5
    MESSAGE-AREA = FALSE
    STATUS-AREA = FALSE.

CURRENT-WINDOW = w.

DEFINE BUTTON btnOK LABEL "OK" SIZE 12 BY 1.2.
FORM 
    "Hello World!" VIEW-AS TEXT AT COL 20 ROW 2
    btnOK AT COL 20 ROW 4
    WITH FRAME f SIZE 50 BY 5 NO-BOX THREE-D.

VIEW FRAME f.
ENABLE btnOK WITH FRAME f.
WAIT-FOR "CHOOSE" OF btnOK.
DELETE OBJECT w.

A message-box can be used to achieve the same effect:

MESSAGE "Hello World!"
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

The INFO parameter controls the message icons, and can be replaced with ERROR or WARNING for different looks.

The most basic "Hello, World" program is:

DISPLAY "Hello ".

SQL SELECT equivalent

edit

The SQL statement:

SELECT * FROM customer;

(along with your chosen language connection and display procedures) can be expressed in Progress / ABL as:

FOR EACH customer NO-LOCK:
    DISPLAY customer.
END.

SQL UPDATE equivalent

edit

The SQL statement:

UPDATE customer 
    SET salesman = 'Fred'
    WHERE custno = 14;

(again, along with your chosen language connection and display procedures) can be expressed in Progress / ABL as:

FOR EACH customer WHERE customer.custno = 14 EXCLUSIVE-LOCK:
    ASSIGN customer.salesman = 'Fred'.
END.

.. (Some assumptions have been made about indexing, locking and transaction scoping in order to keep this example simple.)

Data access in the ABL is record-based, in contrast to the result-set-based processing found in traditional SQL languages. While SQL operations typically act on sets of records, ABL processes one record at a time, similar to using a cursor in SQL.

Record-based processing provides a fine-grained locking model, allowing the developer to apply different lock levels (e.g., EXCLUSIVE-LOCK, SHARE-LOCK, or NO-LOCK) when accessing records.

This approach can offer predictable memory usage, especially in environments using shared memory connections, where the application and database reside on the same host. In client-server (networked) deployments, however, each record or block of records fetched typically involves a network round trip. For example, with a default prefetch size of 50 records and a network latency of 50 ms, retrieving 1,000,000 records may result in up to 1,000 seconds of latency. This illustrates a potential drawback of record-by-record access in high-latency environments.[citation needed]

Application areas

edit

The language is used in a wide variety of application areas, some examples:

  • Mortgage and auto loan origination at US banks
  • Rental car reservation systems
  • Manufacturing ERP
  • Wholesale distribution ERP
  • Warehouse systems
  • Transportation systems
  • Commercial service force dispatching
  • Security card systems
  • Gaming systems (think Las Vegas, not video)

OpenEdge can be used for:[3]

  • Microsoft Windows GUI (Graphical User Interface)
  • WWW programming (Unix and Windows)
  • CHUI (CHaracter User Interface) (Unix and Windows)
  • JSON and XML appserver programming (Unix and Windows)
  • as well background process programming (Unix and Windows).

Notes

edit
  1. ^ Campbell, John, Programmer's Progress, a guide to the progress language. white star software, 1991
  2. ^ Salvador Vinals, Introducing OpenEdge Advanced Business Language (ABL), PSC whitepaper, 2007
  3. ^ "Use Cases of Progress OpenEdge 2024". www.trustradius.com. 2025-08-14. Retrieved 2025-08-14.

References

edit
edit
亚硝酸钠是什么东西 人生观价值观世界观是什么意思 耽美是什么 不免是什么意思 吃什么可以去湿气
精斑是什么 蓝莓什么时候成熟 什么风什么什么 晚上八点到九点是什么时辰 皮瓣手术是什么意思
11楼五行属什么 黄鳝不能和什么一起吃 双手发麻是什么原因 忆苦思甜下一句是什么 喝咖啡对身体有什么好处
疣是什么样子图片 肾错构瘤是什么病 午餐肉是什么肉做的 我是舅舅的什么人 肾阴虚吃什么食物补
腹泻拉水吃什么药hcv9jop3ns5r.cn 为什么会长寻常疣hcv8jop5ns9r.cn 属猴是什么命hcv9jop6ns7r.cn 肩胛骨疼是什么原因hcv8jop4ns9r.cn 尿检粘液丝高什么意思hcv8jop3ns6r.cn
娘酒是什么酒hcv8jop7ns1r.cn 香蕉不能和什么水果一起吃hcv9jop3ns7r.cn 类胡萝卜素主要吸收什么光hcv9jop7ns5r.cn 蜈蚣为什么不能打死hcv8jop6ns6r.cn 阴毛的作用是什么hcv9jop1ns5r.cn
一什么雨伞hcv9jop1ns1r.cn 心脏神经官能症吃什么药hcv9jop0ns6r.cn 中耳炎不能吃什么食物hcv7jop6ns6r.cn 甲状腺功能挂什么科hcv9jop2ns2r.cn 维u是什么药hcv8jop8ns7r.cn
本科是什么意思hcv9jop3ns4r.cn 11月13日什么星座helloaicloud.com 原则性问题是什么意思hcv8jop1ns3r.cn mm表示什么hcv9jop3ns3r.cn 孕早期可以吃什么水果hcv8jop3ns8r.cn
百度