Peoplesoft Authorized Action Codes

In the Component Properties dialog box, specifythe update and data entry actions; on the Use tab, specify the searchrecord information. You can save notes about the component on theGeneral tab. Use the Internet tab to set attributes that affect howthe component appears in the browser at runtime.

This section discusses how to:

  • Open the Component Propertiesdialog box.

  • Set general properties.

  • Set use properties.

  • Set internet properties.

Of action code indicate the particular kind of action, for example, “promotion,” “resignation,” etc. (3) Nature of action codes 000-899 may be used only as authorized by the Office of Personnel Management. Within the 000-899 group of codes are ones used to record actions involving particular groups of employees. If your agency is authorized to use any of these special codes, your. PeopleSoft Purchasing captures and maintains records of raw materials, goods, Reduce contract leakage by allowing requesters to order only from item ies for which they are authorized. And analysis of items at different hierarchical levels. Quickly and efficiently d electronic item catalogs from your vendors. Numbers (UPNs). PeopleSoft HCM System Action/Reason Codes Effective December 1, 2007 PREFACE All Job Data and Position Data transactions entered in the PeopleSoft HCM System require the selection of an Action Code and a Reason Code. These codes are used to describe the type of employee or position action.

Opening the Component Properties Dialog Box

To open the Component Properties dialog box:

When processing an HR Change Form, you can find a list of Action and Reason codes in a setup table in PeopleSoft. Navigate to Action and Reason Codes. Click on Main Menu Set Up HRMS Product Related Workforce Administration Action Reasons. Find Action and Reason Codes.

  1. Open the component definition.

  2. Select select File, then select Definition Properties.

    The Component Properties dialog box appears with the General tabactive.

David's Oracle PeopleSoft Blog Wednesday, April 30, 2014. You can insert an HTML area control on any PeopleSoft page. You can insert it at any level on a page, and you can place it in a grid control. This control is rectangular and is easy to resize. WHEN 13 THEN 'Scroll Action - (Button/Hyperlink Destination)'. Listed below is information covering PeopleSoft payroll codes, Leave action summaries, and instrutions for individual compensations scenarios. For further detailed information regarding Norman PeopleSoft Payroll and ePAF transactions, please view the Guide to Payroll & Records PDF listed below. PeopleSoft Enterprise PT PeopleTools - Version 8.2 and later Information in this document applies to any platform.Checked for relevance on 17-JAN-2014. Goal. What do the Authorized Action codes mean in the PSAUTHITEM table?

Setting General Properties

Access the Component Properties dialog box.

Description

Enter a descriptive name for the component.

OwnerID

Select the application to which this component belongs.This list is helpful to identify the applications that are associatedwith the component during the application development phase.

LastUpdated

View the date and time of the last modificationmade to the component and the name of the user who made the modification.

The Sony VAIO driver only provide to you the fastest way to collection and download all drivers. So if you have any problems with drivers or softwares please contact us. If you have any relation questions for hardware, please contact the SONY eSupport. Sony vaio drivers download using service tag. SONY VAIO Wireless LAN (Wi-Fi) Communication Standard WPA2 Vulnerability - 8th Feb 2018 Important Notice: Free exchange of Carrying Pouch bundled with VAIO Personal Computer VPCYA15FG, VPCYB15AG, VPCYA17GG sold in India through authorized dealers of Sony India Pvt. Important Safety Notification for the Sony® VAIO® F11 and CW2 Series. Free Repair Program for VAIO Fit 11A/Flip Personal Computer. NVIDIA® Driver - Security Vulnerability. Wi-Fi WPA2 Vulnerability. Questions & Answers. Premium Support. Download the latest version.

Setting Use Properties

Access the Component Properties dialog box and selectthe Use tab.

Image: Component Properties dialog box: Use tab

This exampleillustrates the fields and controls on the Component Properties dialogbox: Use tab. You can find definitions for the fields and controlslater on this page.

Access

Search record

Specify the search record for this component.

Add search record

Specify if you want a different search record specificallyfor add actions. For example, if you selected the auto-numbering optionfor employee IDs (EMPLID), do not include EMPLID in the search record.Likewise, you might want to create special security views for addactions that limit the rows that users can add based on specific searchcriteria. The system default is the standard search record if youdo not specify an add search record.

Force Search Processing

Select to always run search logic (SearchInit PeopleCode)for this component. The default is deselected.

Note: If you select this option, all persistent searchfunctionality for the component is disabled, regardless of systemsettings.

See Configuring Web Profiles.

Detail page

No longer used in PeopleSoft applications. Thisoption appears for upgrade purposes only.

Context search record

Specify the record that defines the service parametersthat you must map for PeopleSoft component URL-related content servicesor content reference service types. The system uses the context searchrecord only when no key fields are defined for the primary searchrecord and only in a related content configuration.

Note: To see a subset of search records, type a few charactersfirst. The drop-down list box is populated with a list of all recorddefinitions with names that begin with those characters, thus reducingaccess time and enabling you to find specific records faster.

Actions

Add

Select to add a new high-level key, such as a newemployee ID or customer. Except in the case of effective dating, use Add to insert a new current row or to updatefuture rows.

Update/Display

Select to update existing rows only.

Update/Display All

Select to update current and future rows in an effective-datedrecord. Use only with effective-dated records. Do not use these actionsunless the main record that is associated with the page definitionsis effective dated. This information is translated to include historyat runtime.

Correction

Select to update any rows (history, current, andfuture) in an effective-dated record. Use only with effective-datedrecords. This information is translated to correct history at runtime.

Disable Saving Page

Select when you want to hide the Save button in the toolbar and disablethe Alt+1 (Save) hot key. Selecting this option prevents usersfrom being prompted to save when exiting a page. However, it doesnot prevent using PeopleCode to save a page with the DoSave() or DoSaveNow() functions. This functionality can be helpful for applications inwhich the user is not making database changes and does not need tobe prompted to save.

Watch Dragon Ball Super, Dragon Ball Z, Dragon Ball GT Episodes Online for Free. English Subbed and dubbed anime streaming DB DBZ DBGT DBS episodes and movies HQ Streaming. Free Episodes Online. Watch Dragon Ball Z for free on AnimeLab.com! AnimeLab is exclusive to Australia and New Zealand. Enter your email & we'll let you know when AnimeLab is available in your country. You'll also get to watch dubbed shows, in HD and with no delays. It's a no brainer! Go Premium Okay, got it! All Dragon Ball Z Dubbed Episodes are available in HD. Watch Dragon Ball Z Dubbed Episodes Streaming Online only at DBZSuper.tv. All Dragon Ball Z Dubbed Episodes are available in HD. Free the Future. Dragon Ball Z Episode 193 Dubbed. One More Wish. Dragon Ball Z Episode 192 Dubbed. Goku`s Decision. Dragon Ball Z Episode 191 Dubbed. Dragon ball super free online. Dragon Ball Z Season 1 Episode 1. Dragon Ball Z Season 1 Episode 1. You may also like. The show was produced by Jane Startz, who also produced Tuck Everlasting and Ella Enchanted and was written for TV by James Krieg. The show was not renewed for a. Watch Dragon Ball Z Online on Putlocker. Put locker is the way to watch Dragon Ball Z movie in HD. Watch Dragon Ball Z in HD.

Download lingo 64 bit windows 10 for free. Education software downloads - LINGO by LINDO Systems and many more programs are available for instant and free download. Edmodo for Windows 10 Free Edmodo takes learning beyond the classroom by providing a free, safe place for teachers and students to connect and collaborate-anytime, anywhere. https://uinin.netlify.app/easy-lingo-for-windows-10.html. المترجم easy lingo for windows 8 64 bit free download كامل مع السيريال محمد 8:12 م برامج برنامج easy lingo مصنف على انه من افضل برامج ترجمة الكلمات والنصوص لعام 2015 وذلك لسهوله استخدامه وواجهته. تحميل ايزي لينجو easy lingo ايزي لنجو للترجمة - برنامج ترجمة easy lingo - برنامج easy lingo ايزي لينجو او ايزي لنجو برنامج ترجمة او قاموس ترجمة ناطق رائع. Windows 10 32/64 bit Windows 8 32/64 bit Windows.

Include in Navigation

Select to include the component in the menu navigationat runtime. The default is selected. If you do not want the componentincluded, deselect the check box.

Mandatory Spell Check

Select to ensure that spell check is run on alleligible spell check enabled fields in the component when a user savesthe page. A field is eligible if it has been changed (or its ReEditflag has been set) and it has not already been manually spell checkedsince it was last changed.

Read Only

Note: If you must add a new high-level key, such as anew employee number or customer, select both Add and Update/Display. If you are adding information to an existing high-level key, suchas adding education data for an employee, select only Update/Display. You are not adding a newemployee ID; it already exists on the database.

Three-Tier Execution Location

This section applies only to Windows client applications.

To partition application processing between theclient and the application server, you must define units that, asa whole, run in one location or the other. We call these units processinggroups. Processing groups can encompass one or more PeopleCode events.

Component Build

Specify where you want all processing to occur afterthe key list of a page is selected and before the user can interactwith the page. Processing includes building component buffers andrunning many types of PeopleCode.

Component Save

Specify where you want all processing to occur afterthe user saves the component and SaveEdit PeopleCode validations havesucceeded. Processing includes SavePreChange, WorkFlow, SavePostChangePeopleCode, and updates to the database.

Setting Internet Properties

Access the Component Properties dialog box and selectthe Internet tab.

Image: Component Properties dialog box: Internet tab

This exampleillustrates the fields and controls on the Component Properties dialogbox: Internet tab. You can find definitions for the fields and controlslater on this page.

Authorized

Search Page

Primary Action

Select the default mode by which the user accessesthe component.

Select New to access the component in Add mode.

Select Search to access the component in the mode that is specified in the Default Search Action field.

Select Keyword Search to access the component using the Keyword Search page. The KeywordSearch page is available only if you have configured the PeopleSoftSearch Framework and mapped the component to a search definition.

See Working with Search Pages.

Specify where you want all processing to occur afterthe key of a page is selected and before the user can interact withthe page. Processing includes building component buffers and runningmany types of PeopleCode.

Default Search Action

Select from a list of the actions that you set inthe Actions group box on theUse tab of the Components Properties dialog box. If you set only oneaction, this drop-down list box provides that choice as the default.The default search action determines the default that users see, butthey can select another option from the toolbar at runtime.

Default Search/Lookup Type

Specify the type of search or lookup which appearsby default when users access the search page and lookup pages associatedwith the component.

Select Basic display the Basic search page by default. The Basic search pageprovides access to a list of search key and alternate search key fieldsfrom which the user can choose one field to search. You should selectBasic as the default search type for new users because a basic searchpage is easier to use than other types of search pages.

Select Advanced to display the Advanced search page by default. The Advanced searchpage provide access to all search key and alternate search key fieldssimultaneously. You should select Advanced as the default search typefor power users because an advanced search page enables complex searches.

Select Keyword Only to display just the Keyword Search page by default. The KeywordSearch page is availably only if you have configured the PeopleSoftSearch Framework and mapped the component to a search definition.

See Working with Search Pages.

Allow Action Mode Selection

Select to display the Include History and CorrectHistory check boxes on a search page. If a user selects Include History on a search page, the pageappears in Update/Display All mode. If a user selects Correct History, the page appears in Correctionmode. However, both of these check boxes appear only on the searchpage if Update/Display All and Correction were selected as actions inthe Use properties for the component and the user has security accessto the modes. This check box is selected by default.

Link to Add Page

Enter the message set and number that stores thetext that comprises the link which users click to access the standardadd page.

Link to Find Existing Value Page

Enter the message set and number that stores thetext that comprises the link which users click to access the standardsearch page.

Link to Realtime Search Page

Enter the message set and number that stores thetext that comprises the link which users click to access the RealtimeSearch page. Because Realtime search functionality is disabled bydefault, these values are the same as the values associated with theLink to Find Existing Value Page. However, if you enable Keyword Search,you can enter different values so that the link text accurately indicatesthe type of search page that users access via the link.

Link to Keyword Search Page

Enter the message set and number that stores thetext that comprises the link which users click to access the KeywordSearch page, which appears only when Keyword Search is enabled forthe component.

Instructional Text

You set this option to display the Find an ExistingValue heading on the search page. You can change the default messageor redirect the component to use another message that is more appropriatefor your use.

Toolbar

Peoplesoft Authorized Action Codes 2017

Select the toolbar actions that you want to appearon the component pages. When you select a check box, that item appearsas a toolbar button at the base of the component at runtime. All toolbaractions are set to display by default with the exception of Next Page in Component , Previous Page in Component, and Notify. Note that the default settingsfor the Action and Save buttons are affected by settings onthe Use tab of the Component Properties dialog box.

Disabling any of the toolbar options also disablesthe hot key for that option in the PeopleSoft Pure Internet Architecture.

Save

Adds a Save, OK, or Apply button to the toolbar, depending on the page type.

Cancel

For modal components only. Deselecting this checkbox removes the Cancel buttonfrom the toolbar.

Spell Check

Runs spell check for all spell check-enabled fieldsin the component, regardless of whether any changes were made to thefield.

Return to List

Returns users to the search page.

Next in List and Previousin List

Populates the page with the next or previous rowof data from the database as shown on the Search page.

Next Page in Component and Previous Page in Component

Opens the next or previous page in the componentif it has more than one page.

Refresh

Displays the page again without saving any entereddata.

Notify

Enables the user to send a notification to otherusers.

View Worklist

Enables the user to view the worklist from the currentcomponent page.

Next in Worklist and Previousin Worklist

Enables the user to access the next or previousitem in the worklist.

Add, Update/Display, Update/Display All, and Correction

Select each option to enable these toolbar buttonsfor this component.

See Setting Use Properties.

Disable Toolbar

Select if you do not want the toolbar to appearon the component pages.

Multi-Page Navigation

Display Folder Tabs

Select to display folder tabs at the top of thecomponent page.

Display Hyperlinks

Select to display links at the bottom of the componentpage.

Processing Mode

Interactive

Select to send messages to the server whenever logicmust be run. When the user presses Tab to exit a field-level event,a transmission to the application server occurs to run that field-levelevent and the page is refreshed.

Deferred

Selected as the default. This mode reduces transmissionsto the application server.

See Understanding Processing Modes.

Allow Expert Entry

This option is available for both processing modes.

See Enabling the Expert Entry Feature in the Security Component.

WSRP Compliant Option

Peoplesoft Authorized Action Codes

Select the WSRP Compliant option to enable the component for Web Services for Remote Portlets(WSRP) publishing. If the component is enabled for WSRP publishing,then users can render the component in-line within the WSRP consumingportal.

If the component is not enabled for WSRP, when users navigates to the component from withina WSRP portlet the system will direct them to the PeopleSoft Portal,which loads the component. The user will effectively leave the WSRPconsuming portal page and navigate to the PeopleSoft system.

Note: This option enables you to distinguish between componentsthat are known to function only in the PeopleSoft Portal and thosethat are WSRP-compliant.

See Understanding WSRP.

Pagebar

The pagebar is a small menu bar that appears atthe top of each component page just below the universal navigationheader. You can select which options appear to the user for each component.All options are selected by default. Select the Disable Pagebar check box to disable thepagebar.

Help Link

Opens the online help PeopleBook entry for the currentpage.

Copy URL Link

Copies the current page URL to the clipboard. Thecopied URL includes page, action, and search key information thatappears in the context of the portal if the user passed through theportal. If the user did not pass through the portal, then only thepage appears, without the portal frames.

This option adds a small http button to the pagebar.

New Window Link

Opens a new browser window with the search pagefor the current component. Users can view or enter data in the newwindow.

Personalize Page Link

Opens the Page Personalizations page, which allowsusers to control the initial appearance of the component. This optionenables users to:

  • Select the initial page in thecomponent that appears.

  • Save the state of the expandedand collapsed sections.

  • Save the state of the View Allsettings on the page for grids and scroll areas.

  • Personalize the page field taborder.

Users can also elect to copy and share their settingsfor the component with other users.

Note: If you set this option for a particular component,all users accessing the component are able to personalize the pagesin the component unless their personalization options prevent themfrom customizing pages. Security permission list settings or personalizationoptions do not allow the option to be enabled or disabled per enduser per component.

See Understanding General Options.

See Personalizing Pages.

You can also enable or disable any of these optionsusing PeopleCode.

Peoplesoft Authorized Action Codes Form

Note: To enable thePrint link in the pagebar, select the Enable Print option on the Generalpage of the web profile and ensure Disable Pagebar is not selected.The appearance of the Print link is controlled by the web profile,not the component-level settings.

See Understanding Page Class.

Personalize Page Option

For the page personalization option to appear tousers, the following criteria, in addition to the selection of the Page Customization Link in the Pagebar,must be met:

  • A PeopleSoft Pure Internet Architecturepage, including search and secondary pages, must be visible to theuser.

  • The page cannot be a PeopleTools-generatedpage, such as the Page Personalization page or the Personalize Columnand Sort Order page for grids.

  • The current page cannot be aniScript.

  • The Personalize Pagelink cannot be hidden using PeopleCodefor the current component.

  • The Personalize Page Settings, CUSTOMPGSET, personalizationoption on the Define Personalizations page must be enabled.

    This option is enabled by default. If this option isdisabled, the end user cannot define, share, or copy page personalizationsand all existing page personalizations for the user are deleted.

  • The current page must allow someform of personalization based on the end user's security profile andmeet at least one of these conditions:

    • Display more than one page elementwith a TABINDEX >=1 supporting personalization (assume that all collapsiblesections are expanded when determining visibility).

    • Contain at least one visiblescroll area or grid with a visible ViewAll link, enabled or disabled.

    • Contain at least one visiblecollapsible section.

Related Links

Peoplesoft Security Authorized Action Codes


This blog is created for holding my quick reference notes. At the same time these could be helpful for visitors if they want to get the Component Interface working via Application Engine - Peoplecode real fast without going through too much detailed documentation. Once you have a working example file in your development environment, you can go back to peoplebooks and other documentation for understanding additional related topics and experiment with your creative ideas. I believe, after getting the example working first, the related peoplebooks were understood faster too.
The example has been created and tested on the following software environment:
Peoplesoft Application: FSCM 9.2
Peoplesoft Peopletools: 8.53.02
Peoplesoft Virtual Machine Image id: FSCMDB-85308-PI004
Database: Oracle 11.2.0
The major steps will be:
Create a new component working
Create new records, pages. component to be used in this example
Load sample data
Validate that the component is accessible on line
Insert the some data and validate saving
Create a Component Interface based on the Component and test
Create new Application Engine program that will
Read the run control table to get the input file name and saves in the state record
Read rows from the input data file and save in temporary table
Process all records using Component Interface
Assumptions:
1) The users have the knowledge of peopletools particularly creating records, pages, components, Peoplecode, Registering component, SQL, etc.
2) The users have working knowledge of Application Engine, creating process definition and attaching to a component tor executing from Web.
I will be logged in as VP1 so I do not have to spend too much time in security. Security in not the focus here.
Let us create new records, pages. component to be used in this example. We will also load sample data in appropriate tables.
Insert the following data in table PS_IBU_GROUP_INV using following SQLs.
insert into PS_IBU_GROUP_INV values ('NV89123','Las Vegas, NV Unit 89123','Las Vegas');
insert into PS_IBU_GROUP_INV values ('CA90701','Artesia, CA Unit 90701','Artesia');


We will start with two Business Unit groups. Additional Business Unit Groups will have to be maintained separately.
Create a new record PS_AJ_TABLE_TYPES and build the record.



Insert the following data in table PS_AJ_TABLE_TYPES using following SQLs.
insert into ps_aj_table_types values ('NV89123','PAYMENT_TERMS','Payment Terms Translation');
insert into ps_aj_table_types values ('NV89123','CURRENCY','Currency Code Translation');
insert into ps_aj_table_types values ('CA90701','PAYMENT_TERMS','Payment Terms Translation');
insert into ps_aj_table_types values ('CA90701','ACCOUNT','Account Translation');
insert into ps_aj_table_types values ('CA90701','UOM','Unit of Measure Translation');
insert into ps_aj_table_types values ('CA90701','CURRENCY','Currency Code Translation');

Create a new record PS_AJ_MAP_XLAT_TBL and build the record.

Create two pages like below.
and

Create a component as shown below.

Register the component, logout and log back in to see if the page is accessible online. Navigate to the location where you have added the new component.
Select Advanced Search, Select CA90701 Group and click on Search again. Select PAYMENT_TERMS.

Select the next tab Map Xlated Items.
Insert the following data using following SQLs.
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','CIA',' ',' ','SRC CIA','ADV','PSFT ADV',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','COD',' ',' ','SRC COD','COD','PSFT COD',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','DA',' ',' ','SRC DA','30day DA30','PSFT 30day DA30',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','EOM45',' ',' ','SRC EOM45','M45','PSFT M45',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','EOM75',' ',' ','SRC EOM75','M75','PSFT M75',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','LC90',' ',' ','SRC LC90','LC90','PSFT LC90',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','M45',' ',' ','SRC M45','M45','PSFT M45',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','M75',' ',' ','SRC M75','M75','PSFT M75',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','N00',' ',' ','SRC N00','N00','PSFT N00',SYSDATE,'AGGARWAA');
INSERT INTO PS_AJ_MAP_XLAT_TBL VALUES ('CA90701','PAYMENT_TERMS','N10',' ',' ','SRC N10','N30','PSFT N30',SYSDATE,'AGGARWAA');

Refresh the page and come back to the tab Map Xlated Items.

Let us add one row (11th row) as shown below and save.
select * from PS_AJ_MAP_XLAT_TBL WHERE IBU_GROUP = 'CA90701' AND TABLE_TYPE = 'PAYMENT TERMS';

We have 11 rows now. The addition of 11th row for N1M serves two purposes.
First, it shows the component and all its parts are working fine.
Second, this very row exists in our sample file so it will cause an abend. We will not delete this row now and let AE abend. We will then fix the file and rerun the AE to complete success.
Now that we have a working component, we will create a Component Interface based on this Component. To create a new Component Interface based on Component AJ_MAP_XLAT_TBL, from the File Menu, select New, select Component Interface from the New Definition list, and select component AJ_MAP_XLAT_TBL. Click Yes on the following dialog box.
Save the new Component Interface as AJ_MAP_XLAT_TBL_CI.

The security administration needs to be performed for the newly created Component Interface.
Let us test the CI. Open the CI in Application designer. From the Tools menu, select “Test Component Interface” menu item. The following dialog box appears.

To the left of “Get Existing” button, type IBU_GROUP as CA90701 and TABLE_TYPE as PAYMENT_TERMS and click on “Get Existing” button. You should see the data as shown below.
We need to create a new Application Engine program that will read the data from a CSV file and load the data to the Translate mapping table PS_AJ_MAP_XLAT_TBL using the Component Interface AJ_MAP_XLAT_TBL_CI. Before creating AE, let us create the objects to be used in AE.
Create a state record AJ_MAP_XLAT_AET as shown below.

Create temporary table record AJ_MAP_XLAT_T as shown below. Note the duplicate index key.

Create a file layout XLAT_LD that matches the layout of the input data file XLAT_DATA.CSV saved on application server. It will be used to read the data from the sample input file.

We will create an Application Engine which will read data from a CSV file, stores in a temporary table and uses CI driven by peoplecode in AE to process one record at a time from that temporary table. The structure of the AE AJ_XLAT_LD looks like the following.
The properties of AE are illustrated below.


The five actions in the AE are
1) Section=MAIN, Step=Step00, Action=SQL
This step reads the run control table to get the input file name and saves in the state record. The following SQL is used.
%Select(OPRID , RUN_CNTL_ID , FILE_NAME)
SELECT OPRID , RUN_CNTL_ID , FILE_NAME
FROM PS_AJ_RC_CI
WHERE OPRID = %OperatorId AND RUN_CNTL_ID = %RUNCONTROL

2) Section=MAIN, Step=Step02, Action=Peoplecode
This step
a) Gets the input file name from state record.
b) Opens a log file for saving messages.
c) Reads rows from the input data file.
d) Saves the input data in temporary table PS_AJ_MAP_XLAT_T.
The complete peoplecode is pasted below.
Global File &fileLog;
Local File &FILE1;
Local Record &AJ_TMP_TBL, &AJ_FileLayout_TBL;
Local SQL &SQL1;
Local Rowset &RS1, &RS2;
&FILE_DIRECTORY = '/home/psadm2/psft/pt/8.53/appserv/prcs/PRCSDOM/files/';
&FileName = AJ_MAP_XLAT_AET.FILE_NAME;
&FILE1 = GetFile(&FILE_DIRECTORY | &FileName, 'r', 'a', %FilePath_Absolute);
&FILE1.SetFileLayout(FileLayout.XLAT_LD);
&fileLog = GetFile(&FILE_DIRECTORY | '/AJ_MAP_XLAT_TBL_CI.log', 'w', 'a', %FilePath_Absolute);
&fileLog.WriteLine('&FileName = ' | &FileName);
&RS1 = &FILE1.CreateRowset();
&RS2 = CreateRowset(Record.AJ_MAP_XLAT_T);
&SQL1 = CreateSQL('%Insert(:1)');
&RS1 = &FILE1.ReadRowset();
While &RS1 <> Null;
&AJ_TMP_TBL = &RS2(1).GetRecord(Record.AJ_MAP_XLAT_T);
&AJ_FileLayout_TBL = &RS1(1).GetRecord(Record.AJ_MAP_XLAT_TBL);
&AJ_TMP_TBL.GetField(Field.PROCESS_INSTANCE).Value = AJ_MAP_XLAT_AET.PROCESS_INSTANCE;
&AJ_TMP_TBL.GetField(Field.IBU_GROUP).Value = &AJ_FileLayout_TBL.GetField(Field.IBU_GROUP).Value;
&AJ_TMP_TBL.GetField(Field.TABLE_TYPE).Value = &AJ_FileLayout_TBL.GetField(Field.TABLE_TYPE).Value;
&AJ_TMP_TBL.GetField(Field.MAP_FROM).Value = &AJ_FileLayout_TBL.GetField(Field.MAP_FROM).Value;
&AJ_TMP_TBL.GetField(Field.SUBDETAIL1).Value = &AJ_FileLayout_TBL.GetField(Field.SUBDETAIL1).Value;
&AJ_TMP_TBL.GetField(Field.SUBDETAIL2).Value = &AJ_FileLayout_TBL.GetField(Field.SUBDETAIL2).Value;
&AJ_TMP_TBL.GetField(Field.DESCR_FROM).Value = &AJ_FileLayout_TBL.GetField(Field.DESCR_FROM).Value;
&AJ_TMP_TBL.GetField(Field.TO_VALUE).Value = &AJ_FileLayout_TBL.GetField(Field.TO_VALUE).Value;
&AJ_TMP_TBL.GetField(Field.DESCR_TO).Value = &AJ_FileLayout_TBL.GetField(Field.DESCR_TO).Value;
&SQL1.Execute(&AJ_TMP_TBL);
&RS1 = &FILE1.ReadRowset();
End-While;
&FILE1.Close();

3) Section=MAIN, Step=Step03, Action=Call Section
This step calls the section PROC_STG which will process all records loaded in the temporary table PS_AJ_MAP_XLAT_T.
4) Section=PROC_STG, Step=Step01, Action=Do Select
This step will read all records from the temporary table PS_AJ_MAP_XLAT_T for the current process_instance number. For each row retrieved, the saved in the state record and the next peoplecode is executed.
5) Section=PROC_STG, Step=Step01, Action=Peoplecode
This step will is the core part of this blog entree. It processes each record read from the temporary table PS_AJ_MAP_XLAT_T in the previous DO-SELECT action, one at a time. For each iteration. The record is grabbed from the state record and the peoplecode for processing the data through CI is executed.
Open the peoplecode text window related to Section=PROC_STG, Step=Step01, Action=Peoplecode.
Drag the CI to peoplecode text window and review the template generated.
The template peoplecode generated by peoplesoft is listed below. The code highlighted in red will likely need to change.
The template peoplecode generated by peoplesoft is listed below. The code highlighted in red will likely need to change.
/* >
This is a dynamically generated PeopleCode template to be used only as a helper
to the application developer.
You need to replace all references to '[*]' OR default values with references to
PeopleCode variables and/or a Rec.Fields. */
Local File &fileLog;
Local ApiObject &oSession, &oAjMapXlatTblCi;
Local ApiObject &oAjMapXlatTblCollection, &oAjMapXlatTbl;
Function errorHandler()
Local ApiObject &oPSMessageCollection, &oPSMessage;
Local number &i;
Local String &sErrMsgSetNum, &sErrMsgNum, &sErrMsgText, &sErrType;
&oPSMessageCollection = &oSession.PSMessages;
For &i = 1 To &oPSMessageCollection.Count
&oPSMessage = &oPSMessageCollection.Item(&i);
&sErrMsgSetNum = &oPSMessage.MessageSetNumber;
&sErrMsgNum = &oPSMessage.MessageNumber;
&sErrMsgText = &oPSMessage.Text;
&fileLog.WriteLine(&sErrType | ' (' | &sErrMsgSetNum | ',' | &sErrMsgNum | ') - ' | &sErrMsgText);
End-For;
rem ***** Delete the Messages from the collection *****;
&oPSMessageCollection.DeleteAll();
End-Function;
try
rem ***** Set the Log File *****;
&fileLog = GetFile('C:UsersitAppDataLocalTempAJ_MAP_XLAT_TBL_CI.log', 'w', 'a', %FilePath_Absolute);
&fileLog.WriteLine('Begin');
rem ***** Get current PeopleSoft Session *****;
&oSession = %Session;
rem ***** Set the PeopleSoft Session Error Message Mode *****;
rem ***** 0 - None *****;
rem ***** 1 - PSMessage Collection only (default) *****;
rem ***** 2 - Message Box only *****;
rem ***** 3 - Both collection and message box *****;
&oSession.PSMessagesMode = 1;
rem ***** Get the Component Interface *****;
&oAjMapXlatTblCi = &oSession.GetCompIntfc(CompIntfc.AJ_MAP_XLAT_TBL_CI);
If &oAjMapXlatTblCi = Null Then
errorHandler();
throw CreateException(0, 0, 'GetCompIntfc failed');
End-If;
rem ***** Set the Component Interface Mode *****;
&oAjMapXlatTblCi.InteractiveMode = False;
&oAjMapXlatTblCi.GetHistoryItems = True;
&oAjMapXlatTblCi.EditHistoryItems = False;
rem ***** Set Component Interface Get/Create Keys *****;
&oAjMapXlatTblCi.IBU_GROUP = [*];
&oAjMapXlatTblCi.TABLE_TYPE = [*];
rem ***** Execute Get *****;
If Not &oAjMapXlatTblCi.Get() Then
rem ***** No rows exist for the specified keys.*****;
errorHandler();
throw CreateException(0, 0, 'Get failed');
End-If;
rem ***** Execute Create ******;
rem If Not &oAjMapXlatTblCi.Create() Then;
rem ***** Unable to Create Component Interface for the Add keys provided. *****;
rem errorHandler();
rem throw CreateException(0, 0, 'Create failed');
rem End-If;
rem ***** Begin: Get/Set Component Interface Properties *****;
rem ***** Get/Set Level 0 Field Properties *****;
&fileLog.WriteLine('&oAjMapXlatTblCi.TABLE_TYPE = ' | &oAjMapXlatTblCi.TABLE_TYPE);
rem &oAjMapXlatTblCi.TABLE_TYPE = [*];
&fileLog.WriteLine('&oAjMapXlatTblCi.TABLE_NAME = ' | &oAjMapXlatTblCi.TABLE_NAME);
rem &oAjMapXlatTblCi.TABLE_NAME = [*];

rem ***** Set/Get AJ_MAP_XLAT_TBL Collection Field Properties -- Parent: PS_ROOT Collection *****;
&oAjMapXlatTblCollection = &oAjMapXlatTblCi.AJ_MAP_XLAT_TBL;
Local integer &i19;
For &i19 = 1 To &oAjMapXlatTblCollection.Count;
&oAjMapXlatTbl = &oAjMapXlatTblCollection.Item(&i19);
&fileLog.WriteLine('&oAjMapXlatTbl.MAP_FROM = ' | &oAjMapXlatTbl.MAP_FROM);
rem &oAjMapXlatTbl.MAP_FROM = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.SUBDETAIL1 = ' | &oAjMapXlatTbl.SUBDETAIL1);
rem &oAjMapXlatTbl.SUBDETAIL1 = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.SUBDETAIL2 = ' | &oAjMapXlatTbl.SUBDETAIL2);
rem &oAjMapXlatTbl.SUBDETAIL2 = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.DESCR_FROM = ' | &oAjMapXlatTbl.DESCR_FROM);
rem &oAjMapXlatTbl.DESCR_FROM = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.TO_VALUE = ' | &oAjMapXlatTbl.TO_VALUE);
rem &oAjMapXlatTbl.TO_VALUE = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.DESCR_TO = ' | &oAjMapXlatTbl.DESCR_TO);
rem &oAjMapXlatTbl.DESCR_TO = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.LASTUPDDTTM = ' | &oAjMapXlatTbl.LASTUPDDTTM);
rem &oAjMapXlatTbl.LASTUPDDTTM = [*];
&fileLog.WriteLine('&oAjMapXlatTbl.LASTUPDOPRID = ' | &oAjMapXlatTbl.LASTUPDOPRID);
rem &oAjMapXlatTbl.LASTUPDOPRID = [*];
End-For;
rem ***** End: Get/Set Component Interface Properties *****;
rem ***** Execute Save *****;
rem If Not &oAjMapXlatTblCi.Save() Then;
rem errorHandler();
rem throw CreateException(0, 0, 'Save failed');
rem End-If;

rem ***** Execute Cancel *****;
rem If Not &oAjMapXlatTblCi.Cancel() Then;
rem errorHandler();
rem throw CreateException(0, 0, 'Cancel failed');
rem End-If;
catch exception &ex
rem Handle the exception;
&fileLog.WriteLine(&ex.ToString());
end-try;
&fileLog.WriteLine('End');
&fileLog.Close();

After making changes to peoplecode for our CI processing, the final peoplecode is pasted below.

/* >

This is a dynamically generated PeopleCode template to be used only as a helper
to the application developer.
You need to replace all references to '[*]' OR default values with references to
PeopleCode variables and/or a Rec.Fields. */
Global File &fileLog;
Local ApiObject &oSession, &oAjMapXlatTblCi;
Local ApiObject &oAjMapXlatTblCollection, &oAjMapXlatTbl;
Function errorHandler()
Local ApiObject &oPSMessageCollection, &oPSMessage;
Local number &i;
Local string &sErrMsgSetNum, &sErrMsgNum, &sErrMsgText, &sErrType;
&oPSMessageCollection = &oSession.PSMessages;
For &i = 1 To &oPSMessageCollection.Count
&oPSMessage = &oPSMessageCollection.Item(&i);
&sErrMsgSetNum = &oPSMessage.MessageSetNumber;
&sErrMsgNum = &oPSMessage.MessageNumber;
&sErrMsgText = &oPSMessage.Text;
&fileLog.WriteLine(&sErrType | ' (' | &sErrMsgSetNum | ',' | &sErrMsgNum | ') - ' | &sErrMsgText);
End-For;
rem ***** Delete the Messages from the collection *****;
&oPSMessageCollection.DeleteAll();
End-Function;
try
&fileLog.WriteLine('Begin');
rem ***** Get current PeopleSoft Session *****;
&oSession = %Session;
rem ***** Set the PeopleSoft Session Error Message Mode *****;
rem ***** 0 - None *****;
rem ***** 1 - PSMessage Collection only (default) *****;
rem ***** 2 - Message Box only *****;
rem ***** 3 - Both collection and message box *****;
&oSession.PSMessagesMode = 1;
rem ***** Get the Component Interface *****;
&oAjMapXlatTblCi = &oSession.GetCompIntfc(CompIntfc.AJ_MAP_XLAT_TBL_CI);
If &oAjMapXlatTblCi = Null Then
errorHandler();
throw CreateException(0, 0, 'GetCompIntfc failed');
End-If;
rem ***** Set the Component Interface Mode *****;
&oAjMapXlatTblCi.InteractiveMode = False;
&oAjMapXlatTblCi.GetHistoryItems = True;
&oAjMapXlatTblCi.EditHistoryItems = False;
rem ***** Set Component Interface Get/Create Keys *****;
&oAjMapXlatTblCi.IBU_GROUP = AJ_MAP_XLAT_AET.IBU_GROUP;
&oAjMapXlatTblCi.TABLE_TYPE = AJ_MAP_XLAT_AET.TABLE_TYPE;
&fileLog.WriteLine('TEST &oAjMapXlatTblCi.IBU_GROUP = ' | &oAjMapXlatTblCi.IBU_GROUP);
&fileLog.WriteLine('TEST &oAjMapXlatTblCi.TABLE_TYPE = ' | &oAjMapXlatTblCi.TABLE_TYPE);
rem ***** Execute Get *****;
If Not &oAjMapXlatTblCi.Get() Then
rem ***** No rows exist for the specified keys.*****;
errorHandler();
throw CreateException(0, 0, 'Get failed');
End-If;
rem ***** Execute Find *****;
rem If Not &oAjMapXlatTblCi.find() Then
rem ***** No rows exist for the specified keys.*****;
rem errorHandler();
rem throw CreateException(0, 0, 'find failed');
rem End-If;
rem ***** Execute Create ******;
rem If Not &oAjMapXlatTblCi.Create() Then;
rem ***** Unable to Create Component Interface for the Add keys provided. *****;
rem errorHandler();
rem throw CreateException(0, 0, 'Create failed');
rem End-If;
rem ***** Begin: Get/Set Component Interface Properties *****;
rem ***** Get/Set Level 0 Field Properties *****;
&oAjMapXlatTblCi.TABLE_TYPE = AJ_MAP_XLAT_AET.TABLE_TYPE;
&oAjMapXlatTblCi.TABLE_NAME = 'PAYMENT_TERMS';
&fileLog.WriteLine('&oAjMapXlatTblCi.TABLE_TYPE = ' | &oAjMapXlatTblCi.TABLE_TYPE);
&fileLog.WriteLine('&oAjMapXlatTblCi.TABLE_NAME = ' | &oAjMapXlatTblCi.TABLE_NAME);
rem ***** Set/Get AJ_MAP_XLAT_TBL Collection Field Properties -- Parent: PS_ROOT Collection *****;
&oAjMapXlatTblCollection = &oAjMapXlatTblCi.AJ_MAP_XLAT_TBL;
&fileLog.WriteLine('TEST1 &oAjMapXlatTblCollection.Count = ' | &oAjMapXlatTblCollection.Count);
&oAjMapXlatTbl = &oAjMapXlatTblCollection.InsertItem(1);
&oAjMapXlatTbl.MAP_FROM = AJ_MAP_XLAT_AET.MAP_FROM;
&oAjMapXlatTbl.SUBDETAIL1 = AJ_MAP_XLAT_AET.SUBDETAIL1;
&oAjMapXlatTbl.SUBDETAIL2 = AJ_MAP_XLAT_AET.SUBDETAIL2;
&oAjMapXlatTbl.DESCR_FROM = AJ_MAP_XLAT_AET.DESCR_FROM;
&oAjMapXlatTbl.TO_VALUE = AJ_MAP_XLAT_AET.TO_VALUE;
&oAjMapXlatTbl.DESCR_TO = AJ_MAP_XLAT_AET.DESCR_TO;
rem &oAjMapXlatTbl.LASTUPDDTTM = AJ_MAP_XLAT_AET.LASTUPDDTTM;
rem &oAjMapXlatTbl.LASTUPDOPRID = AJ_MAP_XLAT_AET.LASTUPDOPRID;
&fileLog.WriteLine('&oAjMapXlatTbl.MAP_FROM = ' | &oAjMapXlatTbl.MAP_FROM);
&fileLog.WriteLine('&oAjMapXlatTbl.SUBDETAIL1 = ' | &oAjMapXlatTbl.SUBDETAIL1);
&fileLog.WriteLine('&oAjMapXlatTbl.SUBDETAIL2 = ' | &oAjMapXlatTbl.SUBDETAIL2);
&fileLog.WriteLine('&oAjMapXlatTbl.DESCR_FROM = ' | &oAjMapXlatTbl.DESCR_FROM);
&fileLog.WriteLine('&oAjMapXlatTbl.TO_VALUE = ' | &oAjMapXlatTbl.TO_VALUE);
&fileLog.WriteLine('&oAjMapXlatTbl.DESCR_TO = ' | &oAjMapXlatTbl.DESCR_TO);
rem &fileLog.WriteLine('&oAjMapXlatTbl.LASTUPDDTTM = ' | &oAjMapXlatTbl.LASTUPDDTTM);
rem &fileLog.WriteLine('&oAjMapXlatTbl.LASTUPDOPRID = ' | &oAjMapXlatTbl.LASTUPDOPRID);
rem ***** End: Get/Set Component Interface Properties *****;
rem ***** Execute Save *****;
If Not &oAjMapXlatTblCi.Save() Then;
errorHandler();
throw CreateException(0, 0, 'Save failed');
End-If;
rem ***** Execute Cancel *****;
rem If Not &oAjMapXlatTblCi.Cancel() Then;
rem errorHandler();
rem throw CreateException(0, 0, 'Cancel failed');
rem End-If;
catch Exception &ex
rem Handle the exception;
&fileLog.WriteLine(&ex.ToString());
end-try;
&fileLog.WriteLine('End');

Create a process definition for the AE and Attach AE to a component from where you can execute it.
Create sample data file and specify the location.

First 2 records will be good, 3rd will be duplicate. Remaining 4 will be good. So the CI will stop on 3rd record. Let us execute the AE.
The AE did not complete successfully. No record was loaded. The following log was created.
&FileName = XLAT_DATA.CSV
Begin
TEST &oAjMapXlatTblCi.IBU_GROUP = CA90701
TEST &oAjMapXlatTblCi.TABLE_TYPE = PAYMENT_TERMS
&oAjMapXlatTblCi.TABLE_TYPE = PAYMENT_TERMS
&oAjMapXlatTblCi.TABLE_NAME = PAYMENT_TERMS
TEST1 &oAjMapXlatTblCollection.Count = 11
&oAjMapXlatTbl.MAP_FROM = N14
&oAjMapXlatTbl.SUBDETAIL1 =
&oAjMapXlatTbl.SUBDETAIL2 =
&oAjMapXlatTbl.DESCR_FROM = SRC N14
&oAjMapXlatTbl.TO_VALUE = N14
&oAjMapXlatTbl.DESCR_TO = PSFT N14
End
Begin
TEST &oAjMapXlatTblCi.IBU_GROUP = CA90701
TEST &oAjMapXlatTblCi.TABLE_TYPE = PAYMENT_TERMS
&oAjMapXlatTblCi.TABLE_TYPE = PAYMENT_TERMS
&oAjMapXlatTblCi.TABLE_NAME = PAYMENT_TERMS
TEST1 &oAjMapXlatTblCollection.Count = 12
&oAjMapXlatTbl.MAP_FROM = N15
&oAjMapXlatTbl.SUBDETAIL1 =
&oAjMapXlatTbl.SUBDETAIL2 =
&oAjMapXlatTbl.DESCR_FROM = SRC N15
&oAjMapXlatTbl.TO_VALUE = N15
&oAjMapXlatTbl.DESCR_TO = PSFT N15
End
Begin
TEST &oAjMapXlatTblCi.IBU_GROUP = CA90701
TEST &oAjMapXlatTblCi.TABLE_TYPE = PAYMENT_TERMS
&oAjMapXlatTblCi.TABLE_TYPE = PAYMENT_TERMS
&oAjMapXlatTblCi.TABLE_NAME = PAYMENT_TERMS
TEST1 &oAjMapXlatTblCollection.Count = 13
&oAjMapXlatTbl.MAP_FROM = N1M
&oAjMapXlatTbl.SUBDETAIL1 =
&oAjMapXlatTbl.SUBDETAIL2 =
&oAjMapXlatTbl.DESCR_FROM = SRC N1M
&oAjMapXlatTbl.TO_VALUE = N30
&oAjMapXlatTbl.DESCR_TO = PSFT N30
(18,2) - Data being added conflicts with existing data. (18,2)
(91,37) - Error saving Component Interface. {AJ_MAP_XLAT_TBL_CI} (91,37)
Save failed (0,0) AJ_XLAT_LD.PROC_STG.GBL.default.1900-01-01.Step01.OnExecute PCPC:4096 Statement:56
End

First 2 records were good but the 3rd will was already existing. So the CI stopped on 3rd record (This 3rd record is the same 11th record we added online earlier). Nothing is saved in the PS_AJ_MAP_XLAT_TBL table as there was no commit in the Application Engine. By default commit occurs at only the successful completion of Application Engine.
Delete the 3rd record from the data file. So we have 6 records in the data file now. Delete Process instance in Process Monitor. Rerun the AE.
AE completes successfully. All 6 records are processed. Let us review the data loaded.

Let see the data on the web page as well.
That is it.
When you are comfortable with this much information about Component Interfaces, you may consider the following additional related items:
1) The CSV file can have first column indicating Insert, Update or Delete. Accordingly the code will have to be modified.
2) Have Effective dated rows and see the additional handling requirements.
3) Once the file is successfully processed, it should be moved to an archive folder with proper datetime stamp.
4) Add some validation to the component and see how the Component Interface behaves when those validations fail.
5) The following queries might be useful.
a) SQL Query to find search records in a CI
SELECT SEARCHRECNAME, ADDSRCHRECNAME
FROM PSBCDEFN
WHERE BCNAME = 'AJ_MAP_XLAT_TBL_CI';

b) SQL Query to find out the records exposed by a CI
SELECT distinct RECNAME
FROM PSBCITEM
WHERE BCNAME = 'AJ_MAP_XLAT_TBL_CI';
c) SQL Query to find out the Component associated with a Component Interface
SELECT BCPGNAME,MARKET,MENUNAME
FROM PSBCDEFN
WHERE BCNAME = 'AJ_MAP_XLAT_TBL_CI';
d) Identify which USER, ROLE and PERMISSION LIST has access to a particular Component Interface
SELECT DISTINCT R.ROLEUSER AS USER_IDS, C.ROLENAME as ROLE, P.CLASSID AS PERMISSION_LIST
FROM PSROLEUSER R, PSROLECLASS C, PSAUTHBUSCOMP P
WHERE R.ROLENAME = C.ROLENAME
AND P.CLASSID = C.CLASSID
AND P.BCNAME = 'AJ_MAP_XLAT_TBL_CI'
ORDER BY 1,2,3;