小编Tom*_*com的帖子

进度4gl OpenEdge abl从目录中删除文件

如何使用OpenEdge ABL(progress-4gl)代码从目录中删除文件?

我找不到任何代表这个问题的代码示例.我知道如何输出值(路径),以及从值(路径)输入,但是如何完成删除?

progress-4gl openedge

1
推荐指数
1
解决办法
2110
查看次数

RDBMS索引进度问题-供参考

我发现在Progress 10.1中,当在查询中使用多个索引时,数据库将使用索引列表中的第一个索引,而不是最优化的索引,也不是两个索引的子集。

其他人有没有经历过?

================================================== ===============

定义了几个索引,但我们正在查看的两个索引是:XIE1cac_role_person ownering_entity_mnemonic owning_entity_key role_key

XIE2cac_role_person contract_obj person_role_code Effective_from_date

最初,我的代码如下,它使用的是第一个索引,该索引返回的数据集更大。

FOR EACH cac_role_person NO-LOCK 
        WHERE cac_role_person.contract_obj = cbm_contract.contract_obj 
          AND cac_role_person.owning_entity_mnemonic = "BROKER"
          AND (
              (cac_role_person.effective_to_date > TODAY 
          AND  cac_role_person.effective_to_date >=  
               cbm_contract_component.contract_component_start_date)
           OR (cac_role_person.effective_to_date = ? 
          AND cac_role_person.effective_from_date <=                  
              cbm_contract_component.contract_component_start_date)
              ):
Run Code Online (Sandbox Code Playgroud)

所以我现在强迫它使用第二索引:

FOR EACH cac_role_person NO-LOCK USE-INDEX XIE2cac_role_person
        WHERE cac_role_person.contract_obj = cbm_contract.contract_obj 
          AND cac_role_person.owning_entity_mnemonic = "BROKER"
          AND (
              (cac_role_person.effective_to_date > TODAY 
          AND  cac_role_person.effective_to_date >=  
               cbm_contract_component.contract_component_start_date)
           OR (cac_role_person.effective_to_date = ? 
          AND cac_role_person.effective_from_date <=                  
              cbm_contract_component.contract_component_start_date)
              ):
Run Code Online (Sandbox Code Playgroud)

第一个代码在30小时内修复了约4000次,而改进后的12小时内修复了7万次。(循环是更大的部分的一部分,但这只是我需要加快处理17倍的更改

database progress-4gl progress-db openedge

1
推荐指数
1
解决办法
764
查看次数

如何使用Progress 4gl中的参数从List执行过程?

我有一些这样的清单

DEFINE VARIABLE procedurelist AS CHARACTER EXTENT 5
    INITIAL [ "1.p", "2.p", "3.p", "4.p", "5.p"].
Run Code Online (Sandbox Code Playgroud)

但这个带输入输出参数的所有程序,我想执行这个程序,我该怎么做?我不知道该怎么做.

progress-4gl openedge

1
推荐指数
1
解决办法
1046
查看次数

输出到输出流有什么区别

请问你能帮我理解输出到输出流 4GL 和输出流之间的区别,还有什么是?,进度文档页面没有多大帮助.

非常感谢你.

progress-4gl openedge

1
推荐指数
1
解决办法
135
查看次数

为什么我们需要编译4GL进度程序?

我想知道为什么我们需要编译4GL进度程序?真的在那里后面发生了什么?为什么我们在编译程序后得到.r文件?当我们检查语法是否正确时,我们将得到一个消息框``语法正确'',它如何发现错误并显示消息。欢迎任何解释。

progress-4gl openedge

0
推荐指数
1
解决办法
128
查看次数

如何将字符转换为十进制4GL?

我写了一个查询以将字符显示为十进制值,但出现错误。让我分享:

DEFINE VARIABLE cDateTime AS CHARACTER NO-UNDO.

DEFINE TEMP-TABLE tt_data NO-UNDO
    FIELD DateTime   AS DECIMAL FORMAT "->>,>>9.99".

ASSIGN
cDateTime = "20191604121566".

CREATE tt_data.
ASSIGN
tt_data.DateTime = DECIMAL(cDateTime) /* Message Date and Time */

Run Code Online (Sandbox Code Playgroud)

但它说:

“无法使用->>>,>>>,>> 9.999999显示值”。

您能帮忙解决这个问题,并告诉我这里有什么问题吗?

progress-4gl openedge

0
推荐指数
1
解决办法
172
查看次数

按升序对列表值进行排序的函数

是否有任何功能正在按升序对逗号分隔的列表值进行排序?或者有另一种方法吗?Ex- 4,6,8,1 输出- 1,4,6,8

progress-4gl openedge

0
推荐指数
1
解决办法
312
查看次数

是否有 Progess abl 方法只显示一定数量的记录,即相当于 SQL 中的 rownum ?

当我经常查询进度数据库时,我只想查看 10 条左右的记录来查看值是什么,而不是整个记录表。Progress abl 中是否有相当于 SQL 的 rownum 的东西?

SQL:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
Run Code Online (Sandbox Code Playgroud)

进展 ABL:

FOR EACH table_name NO-LOCK:
    display table_name.column_1, table.name.column_2. 
//just show me 10 records -- how can I do that?
END.
Run Code Online (Sandbox Code Playgroud)

progress-4gl openedge

0
推荐指数
2
解决办法
817
查看次数

进步中的联系

我正在尝试使用正在进行的 CONNECT 命令连接到主机,但它返回连接失败,但是当尝试通过 Postman 执行此操作时,发送已正确完成。有人可以告诉我通过 Progress 连接缺少什么吗?

下面是我运行的用于建立连接的代码:

将变量 hSocket123 定义为句柄 NO-UNDO。

将变量 cConnectionURL 定义为字符不可撤消。

cConnectionURL =“-H”:U +“7d8p6n4c7b.execute-api.us-east-1.amazonaws.com”+“-S”:U + 字符串(80)。

创建套接字 hSocket123。

hSocket123:CONNECT(cConnectionURL)无错误。

消息 hSocket123:CONNECT(cConnectionURL) 查看警报框信息按钮 正常。

附件是 informacao.xml 文件,我通过 Postman 成功发送了该文件。

通过Progress[[发送xml文件

enter image description here]
Run Code Online (Sandbox Code Playgroud)

( https://i.stack.imgur.com/bkA32.jpg )]( https://i.stack.imgur.com/oqdrw.jpg )

progress-4gl openedge postman

0
推荐指数
1
解决办法
116
查看次数

ABL Progress OpenEdge:使用分隔符更新 csv 文件中的记录

我正在致力于能够刷新数据库环境的第一步。

首先,我将环境 1 中的表导出到名为 Test1 的 csv 文件。

OUTPUT TO VALUE("X:\Test\Test1.csv").

FOR EACH Test1 NO-LOCK:
    EXPORT DELIMITER ',' Test1.      
END.

OUTPUT CLOSE

Run Code Online (Sandbox Code Playgroud)

然后我将此文件导入到环境 2,其中不知道 test1 中的所有记录是否都存在于环境 2 中。也不知道顺序是否相同(这是以下功能受限的地方)



INPUT FROM "X:\Test\Test1.csv".

FOR EACH Test12:
    IMPORT DELIMITER ',' Test1.
END.

Run Code Online (Sandbox Code Playgroud)

因此,我需要能够查看环境 2 中的现有记录是否存在于从环境 1 导出的文件 Test1 中,并通过调整环境 2 中的这些记录来应用更改/更新。

不幸的是,我无法更具体地提供姓名和日期,因为这是保密的

我尝试使用显示的脚本通过删除仍然运行良好的记录来编辑 notepadd++ 中的导出文件 Test1。然而,当我还通过删除记录删除了留下的空白规则时,所有内容都向上移动了一行,它提到entryID(第一列)已经存在。这意味着它存在于文件的另一行中(这是我删除记录之前的下面的行。)。

development-environment production-environment progress-4gl openedge

0
推荐指数
1
解决办法
136
查看次数