当前位置: 首页 > news >正文

Calling PeopleTools APIs 调用PeopleTools API

Calling PeopleTools APIs
调用PeopleTools API

You can call all of the PeopleTools APIs from an Application Engine program. When using APIs, remember that:

您可以从应用程序引擎程序调用所有PeopleTools API。使用API时,请记住:

  • All the PeopleTools APIs contain a Save method.
  • 所有PeopleTools API都包含一个Save方法。

However, when you call an API from your Application Engine program, regardless of the Save method of the API, the data is not saved until the Application Engine program issues a commit.

但是,当您从应用程序引擎程序调用API时,无论API的Save方法如何,数据都不会保存,直到应用程序引擎程序发出提交。

  • If you called a component interface from an Application Engine program, all the errors related to the API are logged in the PSMessage collection associated with the current session object.
  • 如果您从应用程序引擎程序调用组件接口,所有与API相关的错误都会记录在与当前会话对象关联的PSMessage集合中。
  • If you sent a message, errors are written to the message log and the Application Engine message log.
  • 如果您发送了消息,错误将写入消息日志和应用程序引擎消息日志。
  • If an Application Engine program called from a message subscription PeopleCode encounters errors and the program exits (with Exit (1)), the error is written to the message log and is marked as an error
  • 如果从消息订阅PeopleCode调用的应用程序引擎程序遇到错误并且程序退出(使用Exit(1)),则错误将写入消息日志并标记为错误
Using the CommitWork Function
使用CommitWork函数

This function commits pending changes (inserts, updates, and deletes) to the database. When using CommitWork, remember that:

此函数向数据库提交挂起的更改(插入、更新和删除)。使用Commit Work时,请记住:

  • This function can be used only in an Application Engine program that has restart disabled.
  • 此功能只能在已禁用重新启动的应用程序引擎程序中使用。
  • The CommitWork function is useful only when you are processing SQL one row at a time in a single PeopleCode program, and you need to commit without exiting the program.
  • CommitWork函数只有当您在单个PeopleCode程序中一次处理一行SQL,并且您需要在不退出程序的情况下提交时才有用。

In a typical Application Engine program, SQL commands are split between multiple Application Engine actions that fetch, insert, update, or delete application data. You use the section or step level commit settings to manage the commits.

在典型的应用程序引擎程序中,SQL命令在多个获取、插入、更新或删除应用程序数据的应用程序引擎操作之间拆分。使用节或步骤级别提交设置来管理提交。

Related Links

“CommitWork” (PeopleCode Language Reference)

相关链接"CommitWork"(PeopleCode语言参考)

Calling WINWORD Mail Merge

调用WINWORD邮件合并

If the Process Scheduler is booted using a shared drive on another machine and you intend to call a WINWORD mail merge process from Application Engine, then you must do one of the following to ensure successful completion:

如果进程计划程序是使用另一台计算机上的共享驱动器启动的,并且您打算从应用程序引擎调用WINWORD邮件合并进程,则必须执行以下操作之一以确保成功完成:

  1. Configure the Process Scheduler to run Application Engine programs using psae instead ofpsaesrv.

将进程调度程序配置为使用psae而不是psae srv运行应用程序引擎程序。

  1. Ensure the generated document is saved locally, not on a shared network drive.

确保生成的文档保存在本地,而不是共享的网络驱动器上。

Using PeopleCode Examples 使用PeopleCode示例

The following topics provide examples of common ways that you can use PeopleCode within Application Engine programs.

以下主题提供了在应用程序引擎程序中使用PeopleCode的常用方法的示例。

Do When Actions

Do When 操作

Instead of a Do When action that checks a %BIND value, you can use PeopleCode to perform the equivalent operation. For example, suppose the following SQL exists in your program:

与检查%BIND值的Do When操作不同,您可以使用PeopleCode执行等效的操作。例如,假设您的程序中存在以下SQL:

%SELECT(EXISTS) SELECT 'Y' FROM PS_INSTALLATION WHERE %BIND(TYPE) = 'X'),

Using PeopleCode, you could insert this code:

使用PeopleCode,您可以插入以下代码:

If TYPE = 'X' Then

   Exit(0);

Else

   Exit(1);

End-if;

If you set the On Return parameter on the PeopleCode action properties to Skip Step, this code behaves the same as the Do When action. The advantage of using PeopleCode is that no trip to the database occurs.

如果将PeopleCode操作属性上的On Return参数设置为Skip Step,则此代码的行为与Do When操作相同。使用PeopleCode的优点是不会发生对数据库的访问。

Dynamic SQL

动态SQL

If you have a Select statement that populates a text field with dynamic SQL, such as the following:

如果您有一个Select语句,该语句使用动态SQL填充文本字段,如下所示:

%SELECT(AE_WHERE1)

SELECT 'AND ACCOUNTING_DT  <= %Bind(ASOF_DATE)'

You can use this PeopleCode:

您可以使用此PeopleCode:

AE_WHERE1 = "AND ACCOUNTING_DT  <= %Bind(ASOF_DATE)";

Sequence Numbering

序列编号

If you typically use Select statements to increment a sequence number inside of a Do Select, While, or Until loop, you can use the following PeopleCode instead:

如果您通常使用Select语句在Do Select、While或Until循环内递增序列号,则可以改为使用以下PeopleCode:

SEQ_NBR = SEQ_NBR + 1;

Using PeopleCode rather than SQL can affect performance significantly. Because the sequencing task occurs repeatedly inside a loop, the cost of using a SQL statement to increment the counter increases with the volume of transactions your program processes. When you are modifying a program to take advantage of PeopleCode, the areas of logic you should consider are those that start with steps that run inside a loop.

使用PeopleCode而不是SQL会显著影响性能。因为定序工作在循环内重复发生,所以使用SQL陈述式递增计数器的成本会随程式处理的交易量而增加。当您修改程序以利用PeopleCode时,您应该考虑的逻辑区域是那些以在循环中运行的步骤开始的逻辑区域。

Note: You can also use the meta-SQL constructs %Next and %Previous when performing sequence numbering. These constructs may improve performance in both PeopleCode and SQL calls.

附注:您还可以使用元SQL构造%执行序列编号时,选择Next和%Previous。这些构造可以提高PeopleCode和SQL调用的性能。

Rowsets

行集

You can use rowsets in Application Engine PeopleCode; however, using rowsets means you will be using PeopleCode to handle more complicated processing, which degrades performance.

您可以在应用程序引擎PeopleCode中使用行集;但是,使用行集意味着您将使用PeopleCode处理更复杂的处理,这会降低性能。

相关文章:

Calling PeopleTools APIs 调用PeopleTools API

Calling PeopleTools APIs 调用PeopleTools API You can call all of the PeopleTools APIs from an Application Engine program. When using APIs, remember that: 您可以从应用程序引擎程序调用所有PeopleTools API。使用API时&#xff0c;请记住: All the PeopleTools …...

强化学习,快速入门与基于python实现一个简单例子(可直接运行)

文章目录 一、什么是“强化学习”二、强化学习包括的组成部分二、Q-Learning算法三、迷宫-强化学习-Q-Learning算法的实现全部代码&#xff08;复制可用&#xff09;可用状态空间检查是否超出边界epsilon 的含义更新方程 总结 一、什么是“强化学习” 本文要记录的大概内容&am…...

【手写实现一个简单版的Dubbo,深刻理解RPC框架的底层实现原理】

手写实现一个简单版的Dubbo&#xff0c;深刻理解RPC框架的底层实现原理 RPC框架简介了解Dubbo的实现原理服务暴露服务引入服务调用 手写实现一个简单版的Dubbo服务暴露ServiceBeanProxyFactory#getInvokerProtocol#exportRegistryProtocol#export 服务引入RegistryProto#referD…...

计数问题+约瑟夫问题(map)

目录 一、计数问题 二、约瑟夫问题 一、计数问题 #include<iostream> #include<map> using namespace std; int main() {int n,x;cin>>n>>x;map<int,int>m;for(int i1;i<n;i){if(i>1 && i<10){m[i];}else{int temp i;while (…...

Maven聚合项目发布至私服指定模块

无论是从事框架开发工作还是公共服务模块开发&#xff0c;为了解决通用性问题&#xff0c;常常需要发布一些依赖组件至maven私服。然而通常我们得maven工程都是由多个模块组成得聚合工程&#xff08;一个父工程下有多个模块&#xff09;。 这个时候可能会面临两个窘境&#xf…...

SpringCloud 微服务全栈体系(十六)

第十一章 分布式搜索引擎 elasticsearch 六、DSL 查询文档 elasticsearch 的查询依然是基于 JSON 风格的 DSL 来实现的。 1. DSL 查询分类 Elasticsearch 提供了基于 JSON 的 DSL&#xff08;Domain Specific Language&#xff09;来定义查询。常见的查询类型包括&#xff1…...

「快学Docker」监控和日志记录容器的健康和性能

「快学Docker」监控和日志记录容器的健康和性能 1. 容器健康状态监控2. 性能监控3. 日志记录几种采集架构图 4. 监控工具和平台cAdvisor&#xff08;Container Advisor&#xff09;PrometheusGrafana 5. 自动化运维 1. 容器健康状态监控 方法1&#xff1a;需要实时监测容器的运…...

midjourney过时了?如何使用基于LCM的绘图技术画出你心中的画卷。

生成 AI 艺术在近年来迅速发展&#xff0c;吸引了数百万用户。然而&#xff0c;传统的生成 AI 艺术需要等待几秒钟或几分钟才能生成&#xff0c;这对于快节奏的现代社会来说并不理想。 近日&#xff0c;中国清华大学和 AI 代码共享平台 HuggingFace 联合开发了一项新的机器学习…...

【代码随想录】算法训练计划28

回溯 1、子集 题目&#xff1a; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2…...

量化交易:筹码理论的探索-筹码分布计算的实现

前言 很多朋友习惯了同花顺、大智慧等看盘软件&#xff0c;经常问到筹码分布如何计算。 说起来筹码分布的理论在庄股时代堪称是一个划时代产品&#xff0c;虽然历经level2数据、资金流统计、拆单算法与反拆单算法等新型技术的变革&#xff0c;庄股时代也逐渐淡出市场&#xf…...

常用Redis的键命令参考

一、DEL DEL key [key …] 删除给定的一个或多个 key 。 不存在的 key 会被忽略。 #删除单个键127.0.0.1:6379> set name zhangsan OK 127.0.0.1:6379> del name (integer) 1# 删除一个不存在的 key&#xff0c; 失败&#xff0c;没有 key 被删除127.0.0.1:6379> E…...

Lombok @With 的纯弊端及如何避免

由于是第一篇写关于 Lombok 的日志&#xff0c;所以有些不情愿去开门见山直接触及 With, 而要先提一提本人对 Lombok 的接触过程。 两三年之前写 Java 代码一直都是全手工打造。一个数据类&#xff0c;所有必须的 setter/getter, toString, hashcode() 等全体现在源代码中&…...

C语言每日一题(38)无重复字符的最长字串

力扣 3 无重复字符的最长字串 题目描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s…...

Azure Machine Learning - Azure可视化图像分类操作实战

目录 一、数据准备二、创建自定义视觉资源三、创建新项目四、选择训练图像五、上传和标记图像六、训练分类器七、评估分类器概率阈值 八、管理训练迭代 在本文中&#xff0c;你将了解如何使用Azure可视化页面创建图像分类模型。 生成模型后&#xff0c;可以使用新图像测试该模型…...

PaddleOCR学习笔记

Paddle 功能特性 PP-OCR系列模型列表 https://github.com/PaddlePaddle/PaddleOCR#%EF%B8%8F-pp-ocr%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9E%8B%E5%88%97%E8%A1%A8%E6%9B%B4%E6%96%B0%E4%B8%AD PP-OCR系列模型列表&#xff08;V4&#xff0c;2023年8月1日更新&#xff09; 配置文…...

安卓用SQLite数据库存储数据

什么是SQLite&#xff1f; SQLite是安卓中的轻量级内置数据库&#xff0c;不需要设置用户名和密码就可以使用。资源占用较少&#xff0c;运算速度也比较快。 SQLite支持&#xff1a;null&#xff08;空&#xff09;、integer&#xff08;整形&#xff09;、real&#xff08;小…...

MMFN-AL

MMFN means ‘multi-modal fusion network’ 辅助信息 作者未提供代码...

7、独立按键控制LED状态

按键的抖动 对于机械开关&#xff0c;当机械触点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个开关在闭合时不回马上稳定地接通&#xff0c;在断开时也不会一下子断开&#xff0c;所以在开关闭合及断开的瞬间会伴随一连串的抖动 #include <REGX52.H…...

香蕉派BPI-M4 Zero单板计算机采用全志H618,板载2GRAM内存

Banana Pi BPI-M4 Zero 香蕉派 BPI-M4 Zero是BPI-M2 Zero的最新升级版本。它在性能上有很大的提高。主控芯片升级为全志科技H618 四核A53, CPU主频提升25%。内存升级为2G LPDDR4&#xff0c;板载8G eMMC存储。它支持5G WiFi 和蓝牙, USB接口也升级为type-C。 它具有与树莓派 …...

微信小程序内部跳到外部小程序

要在微信小程序中跳转到外部小程序&#xff0c;可以使用wx.navigateToMiniProgram函数。以下是一个示例&#xff1a; wx.navigateToMiniProgram({appId: 外部小程序的appId,path: 外部小程序的路径,extraData: {id: xxx},success(res) {// 跳转成功} })在这个示例中&#xff0…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...