这是我的问题
define varibale MyArray as character extent 40 no-undo.
define variable Mychara as character no-undo.
Mychara = "hai this is checking how to copy values"
Run Code Online (Sandbox Code Playgroud)
现在我想将此字符串复制到我的"MyArray".所以它应该如下
MyArray [1] = h,MyArray [2] = a,MyArray [3] = i,MyArray [4] ="",MyArray [5] = t,MyArray [6] = h等等......
那怎么办呢?
我正在拼命寻找为Progress OpenEdge ABL制作makefile的方法,并让它根据源文件的变化仅编译应用程序的一个子集.
有没有人设置这样的东西?我之前在C应用程序中使用过makefile,但是从未在Windows环境中使用过不是所有文件都符合设定命名约定的环境(例如abc/xxx可能是程序或包含).
如何使用OpenEdge ABL(progress-4gl)代码从目录中删除文件?
我找不到任何代表这个问题的代码示例.我知道如何输出值(路径),以及从值(路径)输入,但是如何完成删除?
我发现在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倍的更改
我正在尝试创建一个临时表,它与数据库中已存在的表完全相同.如何将每行添加到临时表?
DEFINE TEMP-TABLE o_ttProducts.
FOR EACH Product:
/*Add current row to the o_ttProducts temp table*/
END.
Run Code Online (Sandbox Code Playgroud) 请问你能帮我理解输出到输出流 4GL 和输出流之间的区别,还有什么是流?,进度文档页面没有多大帮助.
非常感谢你.
在删除表之前导出表的数据就像一个超级按钮一样。
范例:
OUTPUT TO VALUE("C:\mytable.d") APPEND.
EXPORT mybd.mytable.
OUTPUT CLOSE.
DELETE mybd.mytable.
Run Code Online (Sandbox Code Playgroud)
但是,我还没有使它在使用缓冲区句柄时起作用。以下内容将导出一个整数,而不是删除的数据。
DEF INPUT PARAM hlTableToDelete AS HANDLE NO-UNDO.
...
OUTPUT TO VALUE("C:\" + hiTableToDelete:NAME + ".d") APPEND.
EXPORT hlTableToDelete:HANDLE.
OUTPUT CLOSE.
hlTableToDelete:BUFFER-DELETE().
Run Code Online (Sandbox Code Playgroud)
命令运行export并实际导出缓冲区句柄的数据需要哪种语法?
我有一个函数GetQuantity返回一个小数。在某些情况下,我不返回任何内容,即返回空字符串,以便显示“”。
实际行为:
所需行为:
在情况3中,我显然可以返回-1.0或其他值,但这不是我所需要的。
FUNCTION GetQuantity RETURNS DECIMAL(INPUT num AS INTEGER):
DEFINE VARIABLE quantity AS DECIMAL NO-UNDO FORMAT "->,>>>,>>9.9<<<<<<<<".
quantity = 3.3. //initialization is neccessary as IRL my value is initialized
IF num = 1 THEN DO:
RETURN 1.0.
END.
ELSE IF num = 2 THEN DO:
RETURN 2.0.
END.
RETURN quantity. //base case return ' '
END.
DISPLAY GetQuantity(3)
Run Code Online (Sandbox Code Playgroud) 我是进步的新手。我只是按照下面的知识库文章,但我没有得到所需的输出。 https://knowledgebase.progress.com/articles/Knowledge/How-to-write-ap-script-to-execute-via-proenv-to-produce-a-stderr-stdout-in-a-file
MESSAGE ENTRY (1, "This is a test") VIEW-AS ALERT-BOX.
MESSAGE "Hello there" VIEW-AS ALERT-BOX.
DISPLAY "hello world".
Run Code Online (Sandbox Code Playgroud)
proenv>proenv -b -p test.p > test.out
Run Code Online (Sandbox Code Playgroud)
$ cat test.out
DLC: /opt/progress/117
WRKDIR: /opt/progress/wrk_117
OEM: /opt/progress/oemgmt_117
OEMWRKDIR: /opt/progress/wrk_oemgmt_117
Inserting /opt/progress/117/bin to beginning of path and
setting the current directory to /opt/progress/wrk_117.
OpenEdge Release 11.7.5 as of Fri Jun 7 08:29:03 EDT 2019
Run Code Online (Sandbox Code Playgroud)
我没有找到,我做错了什么。感谢这方面的帮助。谢谢。
我正在尝试导入一个 .csv 文件以匹配数据库中的记录。但是,数据库记录有前导零。这是一个字符字段 数据量有点高的一面。这里数据库中字段的长度是 x(15)。
我面临的问题是 .csv 文件包含像示例 AB123456789 这样的数据,其中数据库字段具有 "00000AB123456789" 。
我正在将 .csv 导入到字符变量中。
有人可以让我知道我应该怎么做才能使用进度查询获取前缀零吗?
谢谢你。