Monday, April 29, 2013

PeopleSoft Quick Reference (Cheat sheet)

This is a quick reference or cheat sheet for PeopleSoft development, I keep this list printed because I also work with other programming languages so sometimes things might mixed up in my head.
  Please note that these lists aren't 100% complete since I really just add stuff as I need (And remember to add!), but all the most frequently used commands are there:

System variables:
%AsOfDate
%Component %PanelGroup
%CompIntfcName
%Currency
%Date
%DateTime
%Time
%DbName
%DbType
%EmailAddress
%Employeeid
%FilePath_Absolute
%Language
%IsMultiLanguageEnabled
%Menu
%Mode
%NavigatorHomePermissionList
%OperatorId
%OperatorClass
%OperatorRowLevelSecurityClass
%Page %Panel
%PermissionLists
%PrimaryPermissionList
%PSAuthResult
%Roles
%RowSecurityPermissionList
%Session
%ServerTimeZone
%SQLRows
%WLInstanceID
%WLName

Buffer methods and properties:
ReadRowset
GetFile
CreateRecord
GetLevel0
GetRowset
GetRecord
GetRow
GetField
GetRelated
IsNew
IsChanged
FieldChanged
FetchValue 
CurrentRowNumber
TotalRowCount
ActiveRowCount
RecordNew
RecordChanged
RecordDeleted
CopyFieldsTo
GetCompIntfc


Peoplecode Built-in functions:
Abs
AccruableDays
AccrualFactor
Acos
ActiveRowCount
AddAttachment
AddEmailAddress
AddKeyListItem
AddSystemPauseTimes
AddToDate
AddToDateTime
AddToTime
All
AllOrNone
AllowEmplIdChg
Amortize
Asin
Atan
BlackScholesCall
BlackScholesPut
BootstrapYTMs
Break
BulkDeleteField
BulkInsertField
BulkModifyPageFieldOrder
BulkUpdateIndexes
CallAppEngine
CancelPubHeaderXmlDoc
CancelPubXmlDoc
CancelSubXmlDoc
Catch
ChDir
ChDrive
ChangeEmailAddress
Char
CharType
CheckMenuItem
Clean
ClearKeyList
ClearSearchDefault
ClearSearchEdit
Code
Codeb
CollectGarbage
CommitWork
CompareLikeFields
Component
ComponentChanged
ConnectorRequest
ConnectorRequestURL
ContainsCharType
ContainsOnlyCharType
Continue
ConvertChar
ConvertCurrency
ConvertDatetimeToBase
ConvertRate
ConvertTimeToBase
CopyAttachments
CopyFields
CopyFromJavaArray
CopyRow
CopyToJavaArray
Cos
Cot
CreateArray
CreateArrayAny
CreateArrayRept
CreateDirectory
CreateException
CreateJavaArray
CreateJavaObject
CreateMCFIMInfo
CreateMessage
CreateObject
CreateObjectArray
CreateProcessRequest
CreateRecord
CreateRowset
CreateRowsetCache
CreateSOAPDoc
CreateSQL
CreateWSDLMessage
CreateXmlDoc
CubicSpline
CurrEffDt
CurrEffRowNum
CurrEffSeq
CurrentLevelNumber
CurrentRowNumber
DBCSTrim
DBPatternMatch
Date
Date3
DatePart
DateTime6
DateTimeToHTTP
DateTimeToLocalizedString
DateTimeToTimeZone
DateTimeValue
DateValue
Day
Days
Days360
Days365
DeQueue
Declare Function
Decrypt
Degrees
DeleteAttachment
DeleteEmailAddress
DeleteImage
DeleteRecord
DeleteRow
DeleteSQL
DeleteSystemPauseTimes
DetachAttachment
DisableMenuItem
DiscardRow
DoCancel
DoModal
DoModalComponent
DoModalPanelGroup
DoSave
DoSaveNow
Else
EnQueue
EnableMenuItem
EncodeURL
EncodeURLForQueryString
Encrypt
EncryptNodePswd
End-Evaluate
End-For
End-Function
End-If
End-Try
End-While
EndMessage
EndModal
EndModalComponent
Error
EscapeHTML
EscapeJavascriptString
EscapeWML
Evaluate
Exact
Exec
ExecuteRolePeopleCode
ExecuteRoleQuery
ExecuteRoleWorkflowQuery
Exit
Exp
ExpandBindVar
ExpandEnvVar
ExpandSqlBinds
Fact
FetchSQL
FetchValue
FieldChanged
FileExists
Find
FindCodeSetValues
FindFiles
Findb
FlushBulkInserts
For
FormatDateTime
Forward
Function
GenerateActGuideContentUrl
GenerateActGuidePortalUrl
GenerateActGuideRelativeUrl
GenerateComponentContentRelURL
GenerateComponentContentURL
GenerateComponentPortalRelURL
GenerateComponentPortalURL
GenerateComponentRelativeURL
GenerateExternalPortalURL
GenerateExternalRelativeURL
GenerateHomepagePortalURL
GenerateHomepageRelativeURL
GenerateMobileTree
GenerateQueryContentURL
GenerateQueryPortalURL
GenerateQueryRelativeURL
GenerateScriptContentRelURL
GenerateScriptContentURL
GenerateScriptPortalRelURL
GenerateScriptPortalURL
GenerateScriptRelativeURL
GenerateTree
GenerateWorklistPortalURL
GenerateWorklistRelativeURL
GetAESection
GetArchPubHeaderXmlDoc
GetArchPubXmlDoc
GetArchSubXmlDoc
GetAttachment
GetBiDoc
GetCalendarDate
GetChart
GetChartURL
GetCwd
GetEnv
GetField
GetFile
GetGrid
GetHTMLText
GetImageExtents
GetInterlink
GetJavaClass
GetLevel0
GetMessage
GetMessageInstance
GetMessageXmlDoc
GetMethodNames
GetNRXmlDoc
GetNextNumber
GetNextNumberWithGaps
GetNextNumberWithGapsCommit
GetNextProcessInstance
GetPage
GetPubContractInstance
GetPubHeaderXmlDoc
GetPubXmlDoc
GetRecord
GetRelField
GetRow
GetRowset
GetRowsetCache
GetSQL
GetSelectedTreeNode
GetSession
GetSetId
GetStoredFormat
GetSubContractInstance
GetSubXmlDoc
GetSyncLogData
GetTreeNodeParent
GetTreeNodeRecordName
GetTreeNodeValue
GetURL
GetUserOption
GetWLFieldValue
Global
Gray
GrayMenuItem
Hash
HermiteCubic
Hide
HideMenuItem
HideRow
HideScroll
HistVolatility
Hour
Idiv
If
InboundPublishXmlDoc
InitChat
InsertImage
InsertRow
Int
Integer
IsAlpha
IsAlphaNumeric
IsDate
IsDateTime
IsDaylightSavings
IsDigits
IsHidden
IsMenuItemAuthorized
IsMessageActive
IsModal
IsModalComponent
IsModalPanelGroup
IsNumber
IsOperatorInClass
IsSearchDialog
IsTime
IsUserInPermissionList
IsUserInRole
LTrim
Left
Len
Lenb
LinearInterp
Ln
Local
Log10
LogObjectUse
Lower
MarkPrimaryEmailAddress
MarkWLItemWorked
Max
MessageBox
Min
Minute
Mod
Month
MsgGet
MsgGetExplainText
MsgGetText
NextEffDt
NextRelEffDt
NodeDelete
NodeRename
NodeSaveAs
NodeTranDelete
None
NotifyQ
NumberToDisplayString
NumberToString
ObjectDoMethod
ObjectDoMethodArray
ObjectGetProperty
ObjectSetProperty
OnlyOne
OnlyOneOrNone
PanelGroupChanged
PingNode
PriorEffDt
PriorRelEffDt
PriorValue
Product
Prompt
Proper
PublishXmlDoc
PutAttachment
Quote
RTrim
Radians
Rand
ReSubmitPubHeaderXmlDoc
ReSubmitPubXmlDoc
ReSubmitSubXmlDoc
ReValidateNRXmlDoc
RecordChanged
RecordDeleted
RecordNew
RefreshTree
RelNodeTranDelete
RemoteCall
RemoveDirectory
RenameDBField
RenamePage
RenameRecord
Repeat
Replace
Rept
Return
ReturnToServer
RevalidatePassword
Right
Round
RoundCurrency
RowFlush
RowScrollSelect
RowScrollSelectNew
SQLExec
ScheduleProcess
ScrollFlush
ScrollSelect
ScrollSelectNew
Second
SendMail
SetAuthenticationResult
SetChannelStatus
SetComponentChanged
SetControlValue
SetCursorPos
SetDBFieldAuxFlag
SetDBFieldCharDefn
SetDBFieldFormat
SetDBFieldFormatLength
SetDBFieldLabel
SetDBFieldLength
SetDBFieldNotUsed
SetDefault
SetDefaultAll
SetDefaultNext
SetDefaultNextRel
SetDefaultPrior
SetDefaultPriorRel
SetDisplayFormat
SetLabel
SetLanguage
SetMessageStatus
SetNextPage
SetNextPanel
SetPageFieldPageFieldName
SetPasswordExpired
SetPostReport
SetReEdit
SetRecFieldEditTable
SetRecFieldKey
SetSearchDefault
SetSearchDialogBehavior
SetSearchEdit
SetTempTableInstance
SetTracePC
SetTraceSQL
SetUserOption
SetupScheduleDefnItem
Sign
Sin
SinglePaymentPV
SortScroll
Split
Sqrt
StartWork
StopFetching
StoreSQL
String
Subrecords
Substitute
Substring
Substringb
SwitchUser
SyncRequestXmlDoc
Tan
Then
Throw
Time
Time3
TimePart
TimeToTimeZone
TimeValue
TimeZone
TimeZoneOffset
TotalRowCount
Transfer
TransferExact
TransferMobilePage
TransferNode
TransferPage
TransferPanel
TransferPortal
Transform
TransformEx
TransformExCache
TreeDetailInNode
TriggerBusinessEvent
Truncate
Try
UnCheckMenuItem
Unencode
Ungray
Unhide
UnhideRow
UnhideScroll
UniformSeriesPV
Until
UpdateSysVersion
UpdateValue
UpdateXmlDoc
Upper
Value
ViewAttachment
ViewContentURL
ViewURL
Warning
Weekday
When
When-Others
While
WinEscape
WinExec
WinMessage
WriteToLog
Year




Friday, April 26, 2013

SQL*Plus global login trick

Quick post to get things started!

  So when using SQL*plus (which, to me is still the best tool ever for executing long scripts and long-running scripts), I added a few commands to my global login script which may be helpful to most people, I think.
  First things first... WHAT is the global login script and WHERE is it?
  WHAT: The global login script is a script that will run every time you login to a database using SQL*plus.
  WHERE: It is a file named glogin.sql located in your oracle home \sqlplus\admin (example: D:\app\<username>\product\11.2.0\client_1\sqlplus\admin\glogin.sql)

  Anyway, you might be thinking: "So... WHY would I want anything to run automatically every time I connect!??". The reason is simple... to configure your SQL*plus environment!
  Here a little something I added to my glogin.sql, that's made my life much easier (and a little safer too!):


--let's not print all this stuff when we login 
set echo off
set feedback off
set verify off
set head off
--get the currently logged in username as a variable
col user new_value uname
set termout off
select user from dual;
--get the current database name as a variable
col global_name new_value gname
select global_name from global_name;
set termout on
clear columns
--set the SQL prompt text to username@dbname>
def promptstr=&uname.@&gname
set sqlp '&promptstr>'
--undefine the variables
undef promptchar
undef promptstr
undef uname
undef gname
--set the usual stuff back on
set feedback on
set verify on
set head on
set serveroutput on
--Finally set echo back on
set echo on

Here's what my SQL*plus login looks like:
C:\>set local=testdb
C:\>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Sex Abr 26 19:51:28 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

User name: scott
Password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

scott@testdb>conn foo/bar@proddb
Connected.
foo@proddb>

  Nice huh? Never forget where you are connected to.

  I got this trick from Natalka Roshak, in this great post, a long time ago:


Thursday, April 25, 2013

First post!

Hi there!

  Welcome to my first post. I'll just post stuff I find useful about software development and related stuff.
  Not today. But I will.

For now, while trying to remain neutral on OS's and platforms, one message must always be clear:


DEVELOPERS DEVELOPERS DEVELOPERS

Bye!