我想格式化日期时间字段,但我无法弄清楚语法。我希望它显示如下:“mm:dd:yy hh:mm am”。
For every 和 For First.. 的含义是什么?下面的示例
FOR EACH <db> NO-LOCK,
FIRST <db> OF <db> NO-LOCK:
Run Code Online (Sandbox Code Playgroud)
展示 ..
这也是为什么我们每次都需要对每个表使用 NO-LOCK。
我是 4GL 语言的新手。我编写了一个逻辑,试图检查维数组的 <> "" 值并给出语法错误。谁能帮我解决我犯错误的地方以及我写的逻辑是否正确?
DEFINE VARIABLE anotarray AS CHARACTER NO-UNDO.
DEFINE VARIABLE barray AS CHARACTER EXTENT 3 NO-UNDO.
ASSIGN
barray[1] = "yes"
barray[2] = "no"
anotarray = ""
.
/***value can be stored randomly in variable barray. so we cannot specify [1],[2],[3] for if condition***/
/***based on req. I need to check both anotarray or barray <> "" ***/
IF (anotarray OR barray ) <> "" THEN DISP barray.
/*** ERROR thrown- An array was specified in an …Run Code Online (Sandbox Code Playgroud) 当我经常查询进度数据库时,我只想查看 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) 如果我们在每个 where 子句中使用查找函数会好吗?会导致性能问题吗?请帮助理解并提供如何避免的示例。
define variable cGroupID as character no-undo.
for each <table> no-lock where lookup(cGroupID,<table.fieldname>) <> 0:
**do something...**
end.
note - table field name can have multiple comma separated group
Run Code Online (Sandbox Code Playgroud) 我们正在设置一台新的 Windows 计算机,但未{DLC11.5}/gui/ablunit.pl
找到/安装。它是在较旧的安装上。
创建它是否需要一些特殊的设置/安装选项?它可能是开发者工作室的一部分吗?
谁能帮我从字符串中删除换行符?在 csv 文件导出期间,它会在单个单元格中创建 2 行。请在黑暗中扔一盏灯
lvc_string = "|
5678".
Run Code Online (Sandbox Code Playgroud)
删除换行符后应该是
lvc_string = "|5678".
Run Code Online (Sandbox Code Playgroud) 只是知道从 UTF-8 到 UTF-8 BOM 的转换。我使用下面的查询,但它没有给出预期的结果。如果我错了请纠正我。
define stream m_str.
output stream m_str to value("C:\inetpub\file.txt") convert target "UTF-8".
/*Data goes here*/
output stream m_str close.
Run Code Online (Sandbox Code Playgroud) 我的公司有很多代码用于FIND FIRST获取第一个寄存器(在唯一字段上搜索)。
但是,在了解有关 Progress 的更多信息时,有几个地方建议我进行搜索FOR FIRST,说FIND FIRST可能找不到具有相同值的第一个寄存器。
说我需要使用唯一字段查找第一个值,这两者之间真的有区别吗?除了不需要检查该字段是否可用之外
FOR FIRST file_path WHERE file_path.file_name = "ABCDEF" NO-LOCK:
// Do my thing
END.
Run Code Online (Sandbox Code Playgroud)
FIND FIRST file_path WHERE file_path.file_name = "ABCDEF" NO-LOCK NO-ERROR.
IF AVAIL file_path THEN DO:
// Do my thing
END.
Run Code Online (Sandbox Code Playgroud)
我使用时发现的唯一问题是在没有可用记录的情况下FOR FIRST不使用。IF NOT AVAIL
我正在尝试使用正在进行的 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 )