1. Get the description of the translate value:

No need to write SQLEXEC on PSXLATITEM passing fieldname and Field value. Just use LongTranslateValue property to get the long description of the field as: 

Local Any &VALUE; 
Local Field &MYFIELD;

&MYFIELD = GetField(); 
&VALUE = &MYFIELD.LongTranslateValue; 

If the field has a null value, a null string is returned. If the field isn’t based on a translate table, or the value isn’t in the translate table, the field’s current value is returned. Because the current value can be of any type, this property has a type of Any.

In the same way we can use the ShortTranslateValue property to return the short description of a translate value of a field.

2. Hide/Unhide the asterisk(*) on required fields:

You have made some field as required in record field property but don't want that asterisk to appear with field.

In this case just use the property ShowRequiredFieldCue and make that true or false to show or hide that asterisk (*, also known as required field cue). 

Local Field &MYFIELD; 
&MYFIELD.ShowRequiredFieldCue = False; 

One thing to be remembered here is that no cue is ever shown on a pushbuttons or display-only fields.

3. Getting or checking the field type in peoplecode:

If you wish to get the type of a field or want to write peoplecode and want to write the conditional statement based on the type of the field then the type property can be used there.

This property returns the type of field. And peoplecode may be written as: 

Local Field &MYFIELD;

If &MYFIELD.Type = "CHAR" Then 
--- processing logic --- 
Else 
--- processing logic --- 
End-If; 

The returned value from type property can be one of the following strings:

1. CHAR 
2. DATE 
3. DATETIME 
4. IMAGE (for static images) 
5. IMAGEREFERENCE 
6. LONGCHAR 
7. NUMBER 
8. SIGNEDNUMBER 
9. TIME

Note. Fields of type Attachment have a type of IMAGE. Remember that This property is read-only and you can only get the return value of type string.

4. Increment the key (Request ID/Transaction Number/....) and get from database:

Very common requirement, many times while saving a new transaction we run SQLEXEC on database, get the highest key value and increment it by one and save a new row with that key.

Why to run query and do this mathematics if we can do this by using GetNextNumber peoplecode functions?

Use GetNextNumber function to increment the value in a record for the field you specify by one and returns that value. If the new value generated exceeds max number which is specified as second parameter, a negative value (-1 or -2 or -3) is returned and the field value isn't incremented. 

&Val = GetNextNumber(RECORD.FIELD, 99999999); 

An evaluate can be written after that to error handling or default processing as: 

Evaluate &Val 
When = %GetNextNumber_SQLFailure 
-- do processing -- 
When = %GetNextNumber_TooBig 
-- do processing -- 
When = %GetNextNumber_NotFound 
-- do processing -- 
When-other 
-- do default processing using &Val -- 
End-Evaluate; 

5. Expand or collapse a groupbox/scroll using peoplecode:

This is required when we want to display or hide the fields in groupbox on page organized in different groups using hyperlink or button.

For this we can use DataAreaCollapsed property and functionality can be achieved by setting this property to true or false.

One thing to remeber is that you must set the group box as Collapsible Data Area on the page field properties for the group box in PeopleSoft Application Designer before you could this property.

To collapse (Hide): 
&TEST1.DataAreaCollapsed = True;

To expand (show): 
&TEST1.DataAreaCollapsed = False;

Here &TEST1 can be either a collapsible group box or scroll area.

一些peoplecode小技巧【一】的更多相关文章

  1. 一些peoplecode小技巧平【二】

    1. Set component changed page field property: For understanding this open a page in application desi ...

  2. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  3. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  4. 分享两个BPM配置小技巧

    1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...

  5. linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!

    这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...

  6. JS处理事件小技巧

    今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...

  7. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

  8. css小技巧(1)

    1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...

  9. 最强 Android Studio 使用小技巧和快捷键

    写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...

随机推荐

  1. svn: E175002: can not read HTTP status line

    问题:eclipse连接svn:https://bdsvn-pc/svn/Project,报错svn: E175002: can not read HTTP status line 解决办法:将域名改 ...

  2. PostgreSQL在Ubuntu上安装指南

    安装环境: Ubuntu 10.04-desktop-i386 PostgreSQL 8.4 1. 安装PostgreSQL 输入如下命令 sudo apt-get install postgresq ...

  3. 安装jdk java -version 不是自己所需要的版本

    原服务器安装有1.4的jdk,应用需要安装1.6的jdk.安装完毕后在/etc/profile里配置1.6jdk的环境变量后使用命令java -version显示还是原来的1.4的版本. 解决办法: ...

  4. 403 Forbidden

    http://baike.baidu.com/link?url=JJXC_XqJ2d-twe1dhbLUiRgvZU5OfneRURT4LvrtWBqv9Av4J0GPOlwk3KQuRx4Hzu4N ...

  5. 菜鸟-手把手教你把Acegi应用到实际项目中(4)

    今天就讲个ConcurrentSessionFilter. 在Acegi 1.x版本中,控制并发HttpSession和Remember-Me认证服务不能够同时启用,它们之间存在冲突问题,这是该版本的 ...

  6. Redis附加功能之Redis流水线pipeline

    流水线功能的目的:通过减少客户端与服务器之间的通信次数来提高程序的执行效率. 一.通信 在一般情况下, 用户每执行一个 Redis 命令,客户端与服务器都需要进行一次通信:客户端会将命令请求发送给服务 ...

  7. Android系统下检测Wifi连接互联网是否正常的代码

    /**  *  * 判断网络状态是否可用  *  * @return true: 网络可用 ; false: 网络不可用  */    public boolean isConnectInternet ...

  8. 软件测试—— junit 单元测试

    Tasks: Install Junit(4.12), Hamcrest(1.3) with Eclipse Install Eclemma with Eclipse Write a java pro ...

  9. unity3d学习重点记录

    本文主要是记录在学习unity3d中遇到的重点功能的实现,以及一些API的使用方法.以便在以后使用到的时候查找. 1,给一个UIButton添加执行的事件 // Use this for initia ...

  10. Unity3d - RPG项目学习笔记(一)

    通过NGUI和工程素材,学习泰课项目——黑暗之光. 现阶段心得整理: 一.开始界面 开始界面显示顺序为:①白幕渐隐:②镜头拉近:③标题渐显:④按键响应. 1.1 白幕渐隐 NGUI是一个非常强大的插件 ...