tag:blogger.com,1999:blog-23886984957258069362024-02-01T18:47:34.232-08:00PeopleSoft WorldSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.comBlogger74125tag:blogger.com,1999:blog-2388698495725806936.post-79542811445778242942010-05-19T02:53:00.000-07:002010-05-19T02:53:04.187-07:00Page Start to Display in ADD mode (or) component in ADD modeWhen we click on the component portal in menu then (the page with ADD button display) Then the following below PeopleCode Events will fire.<br />
<br />
<br />
<u><b>Search Processibg in Add Mode:</b></u> <br />
Record Field FieldDefault<br />
ComponentRecordField FieldDefault <br />
Record Field FieldFormula <br />
Record Field RowInit <br />
Record Field SearchInit <br />
ComponentRecordlevel SearchInit <br />
<b>-->Enter the Employee and click on Add</b><br />
Record Field FeildEdit <br />
ComponentRecordField FeildEdit <br />
Record Field FieldChange <br />
ComponentRecordField FieldChange <br />
Record Field Field Formula <br />
Record Field SaveEdit <br />
Record Field SearchSave <br />
ComponentRecordlevel SearchSave <br />
<br />
<br />
<br />
<br />
<u><b>Page Dispaly (or)Component Build Process in ADD Mode:</b></u><br />
Component Level Prebuild <br />
Record Field FieldFormula <br />
Record Field RowInit <br />
ComponentRecord RowInit <br />
Component Level PostBuild <br />
<b>Page Activate fires and displays the page</b> <b><br />
<br />
Save Processing:</b><br />
Record Field SaveEdit <br />
ComponentRecord SaveEdit <br />
Record Field SavePrechange <br />
ComponentRecord SavePrechange <br />
ComponentLevel SavePrechange <br />
Record Field Workflow <br />
ComponentLevel Workflow <br />
Record Field SavePostchange <br />
ComponentRecordlevel SavePostchange <br />
Component Level SavePostchange Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-66794745071279439732010-05-19T02:45:00.000-07:002010-05-19T02:45:05.719-07:00Search Process of a component in Update mode (UpdateDisplay/UpdateDisplayall) and Component Build Processing or Page build process in Update/Update DisplayallmodeWhen we click on the component portal in menu then the following below PeopleCode events will fire<br />
<br />
<u><b>Search Process</b></u> <br />
Record Field SearchInit <br />
ComponentRecord SearchInit<br />
<br />
<b>-->Click on Search</b><br />
Record Field SearchSave<br />
ComponentRecord SearchSave<br />
<br />
<u><b>Component Build Process or Page Build processing in Updatedisplay/UpdateDisplayall mode</b></u><br />
<b>-->Select the Employee ID from the list then </b><br />
Record Field RowSelect <br />
ComponentRecord RowSelect <br />
Component Level Prebuild <br />
Record Field FieldFormula <br />
Record Field RowInit <br />
ComponentRecord RowInit <br />
Component level Postbuild<br />
<b>Page Activate fires and displays the page</b> <br />
<br />
When we edit the field (Employee ID) then the following below PeopleCode Events will fire<br />
-->Edit the field (Employee ID) and hit on save then the following peoplecode events will fire<br />
Record Field FieldEdit <br />
ComponentRecordField FieldEdit <br />
Record Field FieldChange<br />
ComponentRecordField FieldChange <br />
Record Field FieldFormula <br />
<br />
<b>Save Processing PeopleCode Events:</b><br />
Record Field SaveEdit <br />
ComponentRecord SaveEdit <br />
Record Field SavePrechange <br />
ComponentRecordField SavePrechange <br />
ComponentLevel SavePrechange <br />
Record Field Workflow <br />
ComponentLevel Workflow <br />
Record Field SavePostchange <br />
ComponentRecordlevel SavePostchange <br />
Component Level SavePostchangeSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-38903235576230307192010-05-03T05:03:00.000-07:002010-05-04T22:31:42.317-07:00Inserting the data into 3 levels (0,1,2,3 levels) into database from flat file using Application EngineInserting the data into 3 levels (0,1,2,3 levels) into database from flat file using Application Engine Below is the sample code (Ive used 2 fields in all the 3 levels)<br />
<br />
<b>Level0 </b>-> Organisational ID, Organisational Name<br />
<b>Level1</b> -> College ID, College Name<br />
<b>Level2 </b>-> Department ID, Department Name<br />
<b>Level3</b> -> Employee ID, Employee Name, Age<br />
<br />
<br />
Local Record &R0, &R1, &R2, &R3;<br />
<br />
&R0 = CreateRecord(Record.A_ORG_TBL);<br />
&R1 = CreateRecord(Record.A_COL_TBL);<br />
&R2 = CreateRecord(Record.A_DEPT_TBL);<br />
&R3 = CreateRecord(Record.A_EMPL_TBL);<br />
<br />
&myfile = GetFile("C:\temp\harsha.txt", "R", %FilePath_Absolute);<br />
&myfile1 = GetFile("C:\temp\har.txt", "W", "A", %FilePath_Absolute);<br />
&myfile1.writeline("empty array creation");<br />
&myarray = CreateArrayRept("", 0);<br />
<br />
If &myfile.Isopen Then<br />
While &myfile.Readline(&str);<br />
&myfile1.WRITELINE("FILE OPENED");<br />
&myfile1.WRITELINE("string value is " | &str);<br />
&myarray = Split(&str, ",");<br />
<br />
SQLExec("SELECT A_ORGID FROM PS_A_ORG_TBL WHERE A_ORGID = :1", &myarray [1], &ORGID);<br />
&myfile1.WRITELINE("array value of orgid is " | &ORGID);<br />
&myfile1.WRITELINE(" A_ORGID VALUE IS " | &ORGID);<br />
<br />
<br />
SQLExec("SELECT A_ORGID,A_COLID FROM PS_A_COL_TBL WHERE A_ORGID = :1", &myarray [1], &ORGID1, &COLID1);<br />
SQLExec("SELECT A_ORGID,A_COLID,A_DEPTID FROM PS_A_DEPT_TBL WHERE A_ORGID = :1", &myarray [1], &ORGID2, &COLID2, &DEPTID);<br />
SQLExec("SELECT A_ORGID,A_COLID,A_DEPTID FROM PS_A_DEPT_TBL WHERE A_ORGID = :1", &myarray [1], &ORGID2, &COLID2, &DEPTID);<br />
SQLExec("SELECT A_ORGID,A_COLID,A_DEPTID,A_EMPLID FROM PS_A_EMPL_TBL WHERE A_ORGID = :1", &myarray [1], &ORGID3, &COLID3, &DEPTID3, &EID3);<br />
<br />
If &myarray [1] = &ORGID Then<br />
&R1.A_ORGID.Value = &myarray [1];<br />
&R1.A_COLID.Value = &myarray [2];<br />
&R1.A_COLNAME.Value = &myarray [3];<br />
&R1.Insert();<br />
&myfile1.WRITELINE("values inserted at level 1 ");<br />
rem End-If;<br />
rem SQLExec("SELECT A_ORGID,A_COLID,A_DEPTID FROM PS_A_DEPT_TBL WHERE A_ORGID = :1", &myarray [1], &ORGID2, &COLID2, &DEPTID);<br />
Else<br />
&R0.A_ORGID.Value = &myarray [1];<br />
&R0.A_ORGNAME.Value = &myarray [2];<br />
&R0.Insert();<br />
&myfile1.WRITELINE("values inserted at level 0 ");<br />
End-If;<br />
<br />
If &myarray [1] = &ORGID1 And<br />
&myarray [2] = &COLID1 Then<br />
<br />
&R2.A_ORGID.Value = &myarray [1];<br />
&R2.A_COLID.Value = &myarray [2];<br />
&R2.A_DEPTID.Value = &myarray [3];<br />
&R2.A_DEPTNAME.Value = &myarray [4];<br />
&R2.Insert();<br />
&myfile1.WRITELINE("values inserted at level 2 ");<br />
<br />
<br />
End-If;<br />
If &myarray [1] = &ORGID2 And<br />
&myarray [2] = &COLID2 And<br />
&myarray [3] = &DEPTID Then<br />
&R3.A_ORGID.Value = &myarray [1];<br />
&R3.A_COLID.Value = &myarray [2];<br />
&R3.A_DEPTID.Value = &myarray [3];<br />
&R3.A_EMPLID.Value = &myarray [4];<br />
&R3.A_EMPNAME.Value = &myarray [5];<br />
&R3.A_EMPLAGE.Value = &myarray [6];<br />
&R3.Insert();<br />
&myfile1.WRITELINE("values inserted at level 3 ");<br />
<br />
End-If;<br />
<br />
<br />
End-While;<br />
<br />
&myfile.Close();<br />
&myfile1.Close();<br />
End-If;Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-663679282435480422010-01-06T01:21:00.000-08:002010-01-06T01:23:09.747-08:00Steps for creating a GOTO ROWSTEPS FOR CREATING GOTO ROW<br />===========================<br />1.Create a new Field (TIN1_GOTOROW)<br />2.Create a new record (TIN1_GOWTO_WRK) and select the radio button Derived/Work.<br />Write the following below people code in the Field change in the Field level in TIN1_GOWTO_WRK table.<br />==============================================================================<br />&tinku = DoModal(Page.TIN1_GTROW_PNL, "Secondary Page ", - 1, - 1);<br /><br />If (&tinku = 1) Then<br /> &rowentered = GetRecord(Record.TIN1_GOWTO_WRK).GetField(Field.TIN1_GOTOROW).Value;<br /> rem WinMessage("hai", 64);<br /> <br /> If All(&rowentered) Then<br /> ¤trow = GetRowset();<br /> <br /> If (1 <= &rowentered And<br /> &rowentered <= ¤trow.activerowcount) Then<br /> REM IN THE BAOVE THE HIGHEST VALUE WILL BE PERSENT;<br /> &reqrow = GetRowset()(&rowentered);<br /> &field = &reqrow.getrecord(1).getfield(1);<br /> &field.SetCursorPos(%Page);<br /> Else<br /> WinMessage("THE ROW IS WITH IN THE TABLE ", 64);<br /> <br /> End-If;<br /> <br /> End-If;<br />End-If;<br /><br />=============================================================================<br />3.Create a new secondary page (TIN1_GTROW_PNL)<br />4.Drag and drop the WRK record in to the page.<br />5.Save it.Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-7286281878281848602010-01-05T22:17:00.000-08:002010-01-05T22:18:53.580-08:00Application Data SecurityDefnition security is a form of data security.We use it to control access to particular rows of data (object definitions) in PeopleTools tables.<br /><br />PeopleSoft also provides other methods to control the application data that a user is allowed to access in the PeopleSoft system. This task is also known as setting data permissions.With application data security, you can set data permissions at the following levels:<br /><br />1.Table Level(Querry Security)<br />2.Row Level (SQL View)<br />3.Feild Level (People Code)<br /><br />Table Level Security:<br />Table level security is implemented by using Querry security.<br />We can restrict the permissions to the users in accessing the tables while running and building the componenets<br /><br />We can do this by creating querry acess group in PeopleSoft Tree manager and then assinning the users to those groups with PeopleSoft querry security.<br /><br />PeopleSoft Query security is enforced only when usingPeopleSoft Query because it doesn’t control runtime page access to table data.<br /><br />Row Level Security:<br />It can be implementd using SQL view's.<br />It controls the access to individual rows of data stored within application database tables<br />It enables the data of a particular user is permitted to access.<br /><br />Field security:<br />Field level can be implemented using People Code.<br />Field security use people code to restrict access to particular fields or columns within application tables.Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-57942099050177292572010-01-05T21:44:00.000-08:002010-01-05T21:45:43.725-08:00domodalcomponent stepsDrag and drop the 2 fields STUID,NAME from the work record in all the pages<br /><br />1.Create the required fields and place them in to the record PS_SRI_STUMOD_TBL(*place the Student id and name in to the record*)<br />2.Create a Derived/Work record with 2 fields (stuid,name from grid) and save it with _WRK.<br />3.Place a hyperlink/ push button in the grid.In the hyperlink /pushbutton properties select the Destination as PeoplecodeCommand,record name:SRI_STU1_TBL and field name:SRI_STUABC_INFO and select the check button set component changed.<br /><br />4.IN component level record field level assign the values to the Derived/Work record.<br />Local Rowset &RS0, &RS1, &RS2, &RS3;<br />&RS0 = GetLevel0();<br />&RS1 = &RS0(1).GetRowset(Scroll.SRI_ORG1_TBL);<br />For &I = 1 To &RS1.ActiveRowCount<br /> &RS2 = &RS1(&I).GetRowset(Scroll.SRI_DEPT1_TBL);<br /> For &J = 1 To &RS2.ActiveRowCount<br /> &RS3 = &RS2(&J).GetRowset(Scroll.SRI_STU1_TBL);<br /> For &K = 1 To &RS3.ActiveRowCount;<br /> &SID = GetRecord(Record.SRI_STU1_TBL).GetField(Field.SRI_STU1_ID).Value;<br /> &SNAME = GetRecord(Record.SRI_STU1_TBL).GetField(Field.SRI_STU1_NAME).Value;<br /> SRI_STUAB_WRK.SRI_STU1_ID.Value = &SID;<br /> SRI_STUAB_WRK.SRI_STU1_NAME.Value = &SNAME; <br /> End-For;<br /> End-For;<br />End-For;<br />DoModalComponent(MenuName.SRI_UNV_MNU, BarName.SRI_UNV_MNU, ItemName.SRI_STUABS_CMP, Page.SRI_STUABS_PNL, "A", Record.SRI_STUAB_WRK);<br />5.Call the other page /component using the DoModalComponent function.<br />DoModalComponent(MenuName.SRI_UNV_MNU, BarName.SRI_UNV_MNU, ItemName.SRI_STUABS_CMP, Page.SRI_STUABS_PNL, "A", Record.SRI_STUAB_WRK);<br />6.Create a View for the STUDENTID and NAME (SRI_STUAB_VW)<br />7.For STUDENTID in the table PS_SRI_STUMOD_TBL give the view (this makes the scroll change when we select different student id's)Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-13207308421974369032010-01-05T21:30:00.000-08:002010-01-05T21:39:39.556-08:00Set ID and Business Unit<span style="font-weight:bold;">SetID</span><br />An identification code that represents a set of control table information or table sets. Set Ids enable the sharing of a set of control table information across two or more Business Units.<br /><br />Table sets enable you to share control table information and processing options among business units. The goal is to minimize redundant data and system maintenance tasks. When you assign a setID to a record group in a business unit, you indicate that all of the tables in the record group are shared between that business unit and any other business unit that also assigns that setID to<br />that record group. For example, you can define a group of common job codes that are shared between several business units. Each business unit that shares the job codes is assigned the same setID for that record group."<br /><br /><span style="font-weight:bold;">Business Unit</span><br />An identification code that represents a high-level organization of business information. You can use a business unit to define regional or departmental units within a larger organization.<br /> <br /> Business Unit organizes your company or your organization, SetIDs help you organize your data within the system. The HRMS system uses tables (Control Tables or Prompt Tables) that use a high-level key that enables you to identify and retrieve data from the system. A secondary high-level key, referred to as a SetID, has also been added on various tables. SetIDs are simply the labels used to identify a TableSet. Business Unit and SetID functionality in PeopleSoft HRMS also provides you with a higher business level for reporting purposes and other business data roll-up.Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-78166121372346967962010-01-05T21:09:00.000-08:002010-01-05T21:17:32.364-08:00Difference between Transcation Tables and Control Tables<span style="font-weight:bold;">Transaction tables</span> store data about day-to-day activities. Because of this, these tables are updated frequently and can be quite large. The type of transaction varies, such as invoices, paychecks, employee names and addresses, job history, benefits data.<br /><br />Information in transaction tables is organized and stored by <span style="font-weight:bold;">Business Unit.</span><br /><br /><span style="font-weight:bold;">Control tables</span> store information that define the accounting structure and processing rules that are used when transactions are entered into your PeopleSoft applications. Control tables include master lists such as customers, vendors, products, country and location tables. It is important to note that Control tables are static, meaning they only change when you perform specific maintenance on them.<br /><br />Control table information is organized and stored by a set identifier, commonly called a <span style="font-weight:bold;">SetID.</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-76095155648300587112010-01-05T21:03:00.000-08:002010-01-05T21:07:27.169-08:00Stand alone RowSet<span style="font-weight:bold;">STAND ALONE ROWSET</span><br />In PeopleCode a standalone rowset is an independent rowset object not associated with the component buffer. They allow you to work with data outside of the buffer by getting whatever additional data you need form the database. In this sense they replace the functionality of derived records which were once used as place holders to store data not directly associated with the component. Because a standalone rowset is standalone, there is no automatic action by the component processor on it. This means that if a standalone rowset is used to manipulate data (inserts/updates), code will need to be added to manually save the changes. <br /><br /><span style="font-weight:bold;">Code to create a standalone rowset object</span><br />Local Rowset &rsExample; <br />&rsExample = CreateRowset(Record.REC1);<br /><br /><span style="font-weight:bold;">Filling a standalone rowset</span><br />The Fill method in the Rowset class is used to populate the rowset. This parameters to the fill method are a Where clause and bind values. &rExample.Fill("where FIELD1 = :1", REC2.FIELD2);<br /><br /><span style="font-weight:bold;"><br />The following example writes a file using a file layout that contains parent-child records:</span><br />Local File &MYFILE; <br />Local Rowset &rsBusExp, &rsBusExpPer, &rsBusExpDtl; <br />Local Record &rBusExp, &rBusExpPer, &rBusExpDtl; <br />Local SQL &SQL1, &SQL2, &SQL3; <br />&rBusExp = CreateRecord(Record.PERSONAL_DATA); <br />&rBusExpPer = CreateRecord(Record.BUS_EXPENSE_PER); <br />&rBusExpDtl = CreateRecord(Record.BUS_EXPENSE_DTL); <br /> <br />&rsBusExp = CreateRowset(Record.PERSONAL_DATA, <br />CreateRowset(Record.BUS_EXPENSE_PER, <br />CreateRowset(Record.BUS_EXPENSE_DTL))); <br />&rsBusExpPer = &rsBusExp.GetRow(1).GetRowset(1); <br /> <br />&MYFILE = GetFile("c:\temp\BUS_EXP.out", "W", %FilePath_Absolute); <br />&MYFILE.SetFileLayout(FileLayout.BUS_EXP_OUT); <br />&EMPLID = "8001"; <br /> <br />&SQL1 = CreateSQL("%selectall(:1) where EMPLID = :2", &rBusExp, &EMPLID); <br />&SQL2 = CreateSQL("%selectall(:1) where EMPLID = :2", &rBusExpPer, &EMPLID); <br /> <br />While &SQL1.Fetch(&rBusExp) <br /> &rBusExp.CopyFieldsTo(&rsBusExp.GetRow(1).PERSONAL_DATA); <br /> &I = 1; <br /> While &SQL2.Fetch(&rBusExpPer) <br /> &rBusExpPer.CopyFieldsTo(&rsBusExpPer(&I).BUS_EXPENSE_PER); <br /> &J = 1; <br /> &SQL3 = CreateSQL("%selectall(:1) where EMPLID = :2 <br />and EXPENSE_PERIOD_DT = :3", &rBusExpDtl, &EMPLID, <br />&rsBusExpPer(&I).BUS_EXPENSE_PER.EXPENSE_PERIOD_DT.Value); <br /> &rsBusExpDtl = &rsBusExpPer.GetRow(&I).GetRowset(1); <br /> While &SQL3.Fetch(&rBusExpDtl) <br /> &rBusExpDtl.CopyFieldsTo(&rsBusExpDtl(&J).BUS_EXPENSE_DTL); <br /> &rsBusExpDtl.InsertRow(&J); <br /> &J = &J + 1; <br /> End-While; <br /> <br /> &rsBusExpPer.InsertRow(&I); <br /> &I = &I + 1; <br /> End-While; <br /> &MYFILE.WriteRowset(&rsBusExp); <br />End-While; <br />&MYFILE.Close();<br /><span style="font-weight:bold;"><br />Out Put for the above program</span><br />CC8001 03/01/199802/15/1998011200 USDConference 00001 <br />CC8001 03/01/199802/16/19980220000 JPYConference 00001<br /><br /><span style="font-weight:bold;">The following code shows an example of reading in a file and inserting the rows into the database:</span><br />Local File &MYFILE; <br />Local Rowset &rsBusExp, &rsBusExpPer, &rsBusExpDtl; <br />Local Record &rBusExp, &rBusExpPer, &rBusExpDtl; <br />Local SQL &SQL1; <br /><br />&rBusExp = CreateRecord(Record.PERSONAL_DATA); <br />&rBusExpPer = CreateRecord(Record.BUS_EXPENSE_PER); <br />&rBusExpDtl = CreateRecord(Record.BUS_EXPENSE_DTL); <br /> <br />&rsBusExp = CreateRowset(Record.PERSONAL_DATA, <br />CreateRowset(Record.BUS_EXPENSE_PER, <br />CreateRowset(Record.BUS_EXPENSE_DTL))); <br /> <br />&MYFILE = GetFile("c:\temp\BUS_EXP.out", "R", %FilePath_Absolute); <br />&MYFILE.SetFileLayout(FileLayout.BUS_EXP_OUT); <br /> <br />&SQL1 = CreateSQL("%Insert(:1)"); <br /> <br />&rsBusExp = &MYFILE.ReadRowset(); <br />While &rsBusExp <> Null; <br /> &rsBusExp.GetRow(1).PERSONAL_DATA.CopyFieldsTo(&rBusExp); <br /> &rsBusExpPer = &rsBusExp.GetRow(1).GetRowset(1); <br /> For &I = 1 To &rsBusExpPer.ActiveRowCount <br /> &rsBusExpPer(&I).BUS_EXPENSE_PER.CopyFieldsTo(&rBusExpPer); <br /> &rBusExpPer.ExecuteEdits(%Edit_Required); <br /> If &rBusExpPer.IsEditError Then <br /> For &K = 1 To &rBusExpPer.FieldCount <br /> &MYFIELD = &rBusExpPer.GetField(&K); <br /> If &MYFIELD.EditError Then <br /> &MSGNUM = &MYFIELD.MessageNumber; <br /> &MSGSET = &MYFIELD.MessageSetNumber; <br /> End-If; <br /> End-For; <br /> Else <br /> &SQL1.Execute(&rBusExpPer); <br /> &rsBusExpDtl = &rsBusExpPer.GetRow(&I).GetRowset(1); <br /> For &J = 1 To &rsBusExpDtl.ActiveRowCount <br /> &rsBusExpDtl(&J).BUS_EXPENSE_DTL.CopyFieldsTo(&rBusExpDtl); <br /> &rBusExpDtl.ExecuteEdits(%Edit_Required); <br /> If &rBusExpDtl.IsEditError Then <br /> For &K = 1 To &rBusExpDtl.FieldCount <br /> &MYFIELD = &rBusExpDtl.GetField(&K); <br /> If &MYFIELD.EditError Then <br /> &MSGNUM = &MYFIELD.MessageNumber; <br /> &MSGSET = &MYFIELD.MessageSetNumber; <br /> End-If; <br /> End-For; <br /> Else <br /> &SQL1.Execute(&rBusExpDtl); <br /> End-If; <br /> End-For; <br /> End-If; <br /> End-For; <br /> &rsBusExp = &MYFILE.ReadRowset(); <br />End-While; <br />&MYFILE.Close();Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-66915899871690207362010-01-05T20:55:00.000-08:002010-01-05T21:02:50.121-08:00Basic HRMS Setup's and adding the Benefits to the Employee SetupCreate SETID<br />Navigation:<br />Main Menu ->PeopleTools ->Utilities ->Administration ->TablesetID's<br /><br />Create Business Unit<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Business Unit<br /><br />Setup Location:<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Location<br /><br />Add a company<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Company<br /><br />Create an Establishment ID<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Establishment<br /><br />Create Departments<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Departments<br /><br />Setting the Business Unit options default<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Business Unit options default (Enter the company and Country details)<br /><br />Create a pay Group Table:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Pay Roll ->Pay Group Table<br /><br />Create a Job Code<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Job Attributes ->Job Code Table<br /><br />Setting Org Defaults permission lists<br />Navigation:<br />Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Org Defaults by permission Lists (Enter the Organisation related<br />data here)<br /><br />Tree Manager:<br />Navigation:<br />Main Menu ->Tree Manager->Tree Utilites ->Tree Manager<br />->Create a new tree with the name DEPT_SECURITY<br />->Select the structure ID as DEPARTMENT<br />->Select the category as HR<br />->Click on ADD LEVEL and add the following below levels<br />1.Corporate<br />2.Business<br />3.Region<br />4.Company<br />5.Department<br />6.Division<br />7.Group<br />8.Unit<br />->Select the root node<br />->save it.<br />Note: In Business Options Default enter the details.<br /><br />Security:<br />Navigation:<br />Main Menu ->Security ->Core Row Level Security ->Security by Permission Lists<br />->Select HCDPALL.Add ur business uint it and select the 011 as Security acess type.<br /><br />Security by Dept Tree:<br />Navigation:<br />Setup HRMS ->Security ->Core Row level Security ->Security by Dept Tree<br />->Select HCDPALL.Add your SETID and Department ID in it.<br /><br /><br />Running the Process:<br />Navigation:<br />Setup HRMS ->Security ->Core Row Level Security->Refresh SJT Class ALL / Refresh Trans SJT Tables / Refresh SJT OPR class<br /><br />Run all the above process<br /><br />Buzz the Application<br />Navigation:<br />Setup HRMS ->Install -> Installation Table<br />->Change the SETID and Campany Name.<br />->Restart the services.<br /><br />Adding a Person:<br />Navigation:<br />Main Menu ->Workforce Administration -> Personal Information ->Add a Person.<br /><br />Adding the Benfits to the existing Employee:<br />===================================<br />Base Benfits:<br />Adding a Health Plan to an Existing Employee:<br /><br />Provider / Vendor Tables:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Base Benfits ->Plans and Providers ->Provider/ Vendor Tables ->Vendor ID<br /><br />Benfit Plan Type:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Base Benfits ->Plans and Providers ->Provider/ Vendor Tables ->Benfit Plan Type<br /><br />Health Plan Table:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Plan Attributes ->Health Plan Table<br /><br />Health Coverage Codes:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Plan Attributes ->Health Coverage Codes<br /><br />Rates and Rules:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Base Benfits ->Rates and Rules ->Benfit Rates.<br /><br />Deduction Code:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Payroll Interface ->Deductions ->Deduction Tables.<br /><br />Cloning the Benfit Program Utility:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Base Benfits ->Program Structure ->Benfit Program clone Utility.<br /><br />->Select required Basic benfits and clone it.<br /><br />Benfit Program Table:<br />Navigation:<br />Main Menu ->Setup HRMS ->Product Related ->Base Benfits ->Program Structure ->Benfit Program Table.<br /><br />Adding the Benfit to the Employee:<br />Navigation:<br />Main Menu ->Workforce Administration ->Job Data ->Select the EMPLID ->Click on the Benfit program participation link ->Add the benfit program.<br /><br />Check it in Benfits<br />Navigation:<br />Main Menu ->Benfits ->Enroll in Benfits ->Assign to Benefit Program ->Select the EMPLID and check for Benfits.Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-77010650183692875822009-12-23T01:21:00.000-08:002009-12-23T01:33:12.457-08:00PeopleSoft Finance Tables with Detail Description XLS sheetHi Please find the PeopleSoft Finance Tables with Detail Description XLS sheet in the below link<br /><br /><br /> <span style="font-weight:bold;"> http://www.ziddu.com/download/7856877/PT_501.xls.html</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-61906170460212806412009-10-07T03:45:00.000-07:002009-10-07T03:52:27.638-07:00how tofind out which tables contain a certain SETID value.This post is to share another alternative on how to find out which tables contain a certain SETID value.<br />Navigate to <span style="font-weight:bold;">PeopleTools > Archive Data > Find Data</span><br />On the "<span style="font-weight:bold;">Field Name</span>" field enter "<span style="font-weight:bold;">SETID</span>", on the "<span style="font-weight:bold;">Value to Match</span>" field enter the value you are looking for.<br />The system will give a list of each and every table that has the requested value on the requested field.<br />this can be used for any other table/value, not only SETID.<br /><br />Another way to find in <span style="font-weight:bold;">Oracle database</span> is to run the below 2 SQL statements<br /><span style="font-weight:bold;"><br />SELECT TABLE_NAME<br />FROM DBA_TAB_COLUMNS<br />WHERE COLUMN_NAME='SETID'<br /><br />SELECT TABLE_NAME<br />FROM DBA_TAB_COLUMNS<br />WHERE COLUMN_NAME='BUSINESS_UNIT'</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-49629659504600543622009-10-01T05:14:00.000-07:002009-10-01T05:15:06.081-07:00To find all the records in a given component. Below is the query which takes component name as input and the list of all records in that component asTo find all the records in a given component. Below is the query which takes component name as input and the list of all records in that component as output.<br /><br />SELECT recname<br /> FROM pspnlgroup a, pspnlfield b<br /> WHERE (a.pnlname = b.pnlname OR a.pnlname = b.subpnlname)<br /> AND a.pnlgrpname = :component_name<br />GROUP BY recnameSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-68652002678005894442009-09-29T04:11:00.000-07:002009-09-29T04:12:25.212-07:00PeopleSoft HR Tables<span style="font-weight:bold;">PeopleSoft HR Tables<span style="font-style:italic;"></span></span><br /><br />PS_EMPLOYEES<br /> PS_EMPLOYEES_LNG<br /> PS_EMPLOYMENT<br /> PS_EMPLOYMENT_LNG<br /> PS_EMPLOYMENT_LNG1<br /> PS_EMPLOYMENT_LNG2<br /> PS_EMPLOYMENT_LNG3<br /> PS_HS_EMPLOYMENT<br /> PS_HS_EMPL_REL_CAN<br /> PS_HS_EMPL_REL_LNG<br /> PS_HS_EMPL_SUB_CAN<br /> PS_HS_EMPL_SUB_LNG<br /> PS_INJ_CLMADDR_CAN<br /> PS_JOB<br /> PS_PERSONAL_DATA<br /> PS_PERSONL_DTA_LNG<br /> PS_PERS_DATA_AET<br /> PS_PERS_DATA_EFFDT<br /> PS_PERS_DTAEFF_LNG<br /> PS_PERS_NID<br /> PS_JOB_EARNS_DIST<br /> PS_JOB_APPROVALS<br /> PS_BEN_PROG_PARTICSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-9901402303636417912009-09-29T04:10:00.000-07:002009-09-29T04:11:41.721-07:00Complete PeopleSoft Tables<span style="font-style:italic;"><span style="font-weight:bold;">Complete PeopleSoft Tables</span></span><br />PS_EMPLOYEES<br />PS_EMPLOYEES_LNG<br />PS_EMPLOYMENT<br />PS_EMPLOYMENT_LNG<br />PS_EMPLOYMENT_LNG1<br />PS_EMPLOYMENT_LNG2<br />PS_EMPLOYMENT_LNG3<br />PS_HS_EMPLOYMENT<br />PS_HS_EMPL_REL_CAN<br />PS_HS_EMPL_REL_LNG<br />PS_HS_EMPL_SUB_CAN<br />PS_HS_EMPL_SUB_LNG<br /> PS_INJ_CLMADDR_CAN<br />PS_JOB, PS_PERSONAL_DATA<br />PS_PERSONL_DTA_LNG<br />PS_PERS_DATA_AET<br />PS_PERS_DATA_EFFDT<br />PS_PERS_DTAEFF_LNG<br /> PS_PERS_NID<br />PS_JOB_EARNS_DIST<br />PS_JOB_APPROVALS<br />PS_STATE_TAX_DATA<br />PS_GENL_DEDUCTION<br />PS_BAL_ADJ_UI_CAN<br /> PS_CAN_CHECK_YTD<br />PS_CAN_DED_BALANCE<br /> PS_CAN_ERN_BALANCE<br />PS_CAN_TAX_BALANCE<br /> PS_CAN_TAX_DATA<br /> PS_CHECK_YTD<br />PS_DEDUCTION_BAL<br /> PS_EARNINGS_BAL<br /> PS_FED_TAX_DATA<br /> PS_TAX_BALANCE<br /> PS_LOCAL_TAX_DATA<br /> PS_BAL_ADJ_ARR<br /> PS_BAL_ADJ_CHK<br /> PS_BAL_ADJ_CN_CHK<br /> PS_BAL_ADJ_CN_DED<br /> PS_BAL_ADJ_CN_ERN<br /> PS_BAL_ADJ_CN_TAX<br /> PS_BAL_ADJ_DED<br /> PS_BAL_ADJ_ERN<br /> PS_BAL_ADJ_GRN<br /> PS_BAL_ADJ_TAX<br /> PS_DED_ARREARS<br /> PS_GARN_RULE<br /> PS_GARN_SCHED<br /> PS_GARN_SPEC<br /> PS_GENL_DED_CD<br /> PS_BAS_PARTIC<br /> PS_BAS_PARTIC_COST<br /> PS_BAS_PARTIC_DPND<br /> PS_BAS_PARTIC_INVT<br /> PS_BAS_PARTIC_OPTN<br /> PS_BAS_PARTIC_PLAN<br /> PS_BENEF_COMMENT<br /> PS_BEN_PROG_PARTIC<br /> PS_DEPENDENT_BENEF<br /> PS_DISABILITY_BEN<br /> PS_FSA_BENEFIT<br /> PS_FSA_PAYMENT<br /> PS_HEALTH_BENEFIT<br /> PS_HEALTH_DEPENDNT<br /> PS_LEAVE_ACCRUAL<br /> PS_LEAVE_PLAN<br /> PS_LIFE_ADD_BEN<br /> PS_LIFE_ADD_BENEFC<br /> PS_PENSION_BENEFC<br /> PS_PENSION_PLAN<br /> PS_RTRMNT_PLAN<br /> PS_SAVINGS_BENEFIC<br /> PS_SAVINGS_INVEST<br /> PS_SAVINGS_PLAN<br /> PS_VACATION_BENSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-11434884117842627222009-09-29T04:01:00.000-07:002009-09-29T04:10:28.672-07:00PeopleSoft Base Benefits Tables<span style="font-style:italic;"><span style="font-weight:bold;">Base Benefits Tables<br />====================</span></span><br /><br />PS_BAS_PARTIC<br />PS_BAS_PARTIC_COST<br />PS_BAS_PARTIC_DPND<br />PS_BAS_PARTIC_INVT<br />PS_BAS_PARTIC_OPTN<br />PS_BAS_PARTIC_PLAN<br />PS_BENEF_COMMENT<br />PS_BEN_PROG_PARTIC<br />PS_DEPENDENT_BENEF<br />PS_DISABILITY_BEN<br />PS_FSA_BENEFIT<br />PS_FSA_PAYMENT<br />PS_HEALTH_BENEFIT<br />PS_HEALTH_DEPENDNT<br />PS_LEAVE_ACCRUAL<br />PS_LEAVE_PLAN<br />PS_LIFE_ADD_BEN<br />PS_LIFE_ADD_BENEFC<br />PS_PENSION_BENEFC<br />PS_PENSION_PLAN<br />PS_RTRMNT_PLAN<br />PS_SAVINGS_BENEFIC<br />PS_SAVINGS_INVEST<br />PS_SAVINGS_PLAN<br />PS_VACATION_BENSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-62669042569695576152009-09-29T03:51:00.000-07:002009-09-29T03:56:34.521-07:00People Payroll Tables<span style="font-weight:bold;">Payroll Tables<br />==============<span style="font-style:italic;"></span></span><br />PS_STATE_TAX_DATA<br />PS_GENL_DEDUCTION<br />PS_BAL_ADJ_UI_CAN<br />PS_CAN_CHECK_YTDPS_CAN_DED_BALANCE<br />PS_CAN_ERN_BALANCE<br />PS_CAN_TAX_BALANCE<br />PS_CAN_TAX_DATA<br />PS_CHECK_YTDPS_DEDUCTION_BAL<br />PS_EARNINGS_BAL<br />PS_FED_TAX_DATA<br />PS_TAX_BALANCE<br />PS_LOCAL_TAX_DATAPS_BAL_ADJ_ARR<br />PS_BAL_ADJ_CHK<br />PS_BAL_ADJ_CN_CHK<br />PS_BAL_ADJ_CN_DED<br />PS_BAL_ADJ_CN_ERN PS_BAL_ADJ_CN_TAX<br />PS_BAL_ADJ_DED<br />PS_BAL_ADJ_ERN<br />PS_BAL_ADJ_GRN<br />PS_BAL_ADJ_TAXPS_DED_ARREARS<br />PS_GARN_RULE<br />PS_GARN_SCHED<br />PS_GARN_SPEC<br />PS_GENL_DED_CDSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-71406058239015973372009-09-08T01:46:00.001-07:002009-09-08T01:48:09.216-07:00To get the process output location in SQRTo get the process output location in SQR<br /><br /><span style="font-weight:bold;">select PRCSOUTPUTDIR<br />from PSPRCSPARMS <br />where PRCSINSTANCE = '123456789'</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-62849272521015297882009-09-08T01:33:00.000-07:002009-09-08T01:37:57.887-07:00To know the Run Status when running through the Process SchedulerTo know the Run Status while running through the Process Scheduler <br /><br /><span style="font-weight:bold;">select FIELDVALUE, XLATLONGNAME <br />from PSXLATITEM <br />where FIELDNAME = 'RUNSTATUS'</span><br /><br />The summary of the run status translates (from PeopleTools 8.49). Note that not all of these are active.<br /><br /><span style="font-weight:bold;">Value Status<br />===== =======<br />1 Cancel<br />2 Delete<br />3 Error<br />4 Hold<br />5 Queued<br />6 Initiated<br />7 Processing<br />8 Cancelled<br />9 Success<br />10 Not Successful<br />11 Posted<br />12 Unable to Post<br />13 resend<br />14 Posting<br />15 Content Generated<br />16 Pending<br />17 Success with Warning<br />18 Blocked<br />19 Restart<br /></span><br />The following below query will give us the summary of the process run statuses in your process request table<br /><br /><span style="font-weight:bold;">select <br /> RUNSTATUS,<br /> (<br /> select XLATSHORTNAME<br /> from PSXLATITEM<br /> where FIELDNAME = 'RUNSTATUS'<br /> and FIELDVALUE = RUNSTATUS<br /> ) as RUNSTATUS_DESCR,<br /> count(PRCSINSTANCE)<br />from <br /> PSPRCSRQST<br />group by <br /> RUNSTATUS<br />order by <br /> RUNSTATUS;<br /><br /><br /><br /><br /><br /></span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-31284564013487424612009-09-08T00:19:00.000-07:002009-09-08T00:23:29.067-07:00For getting a particular row number from a tableSELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases ) a WHERE row > 5 and row <= 10<br /><br /><br /><br />The query above returns rows 6 through 10 from sys.databases as ordered by the "name" column. ROW_NUMBER() is the key function we're using here. It's one of a set of ranking functions introduced in 2005. Note that it's always accompanied by an OVER clause that specifies the ordering that the row_number should be based on.<br /><br /><br />U can find the above query in the blow link<br /><span style="font-weight:bold;">http://blogs.msdn.com/sqlserver/archive/2006/10/25/limit-in-sql-server.aspx</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-50783614532812649542009-09-07T03:02:00.001-07:002009-09-07T03:02:40.298-07:00Peoplesoft Hot Keys<span style="font-weight:bold;">We all probably know that “CTRL J” hot key gives us the system information. But did you know that there are a lot more available. But you do not have to trouble your brain to remember them, simply press navigate to a search or transaction page and invoke hot key “CTRL K” to get all the information. Below are the results from PeopleSoft “CTRL K”.<br /> �<br />Accessing your application using the keyboard<br />Keyboard navigation is controlled by Hot keys and Access keys .<br />�<br />List of Hot Keys<br />Alt 1 — Executes different buttons depending on the page type<br /> > Save button on the Toolbar in a page<br /> > OK button on a secondary page<br /> > Search or Add button on a Search or Lookup page<br />Alt 2 — Return to Search<br />Alt 3 — Next in List<br />Alt 4 — Previous in List<br />Alt 5 — Valid Lookup Values<br />Alt 6 — Related Links<br />Alt 7 — Insert Row in grid or scroll area<br />Alt 8 — Delete Row in grid or scroll area<br />Alt 0 — Refreshes the page by invoking the Refresh button on the Toolbar<br />Alt . — Next set of rows in grid or scroll area [e.g., Alt period]<br />Alt , — Previous set of rows in grid or scroll area [e.g., Alt comma]<br />Alt / — Find in grid or scroll area [e.g., Alt forward slash]<br />Alt ‘ — View All in grid or scroll area [e.g., Alt prime]<br />Alt \ — Toggle between Add and Update on the Search page [e.g., Alt backslash]<br />Ctrl J — System Information<br />Ctrl K — Keyboard Information<br />Ctrl Y — Toggle menu between collapse and expand.<br />Ctrl Tab — Toggles focus through the frame set<br />Enter — Invokes the following buttons where present: OK, Search, Lookup<br />Esc — Cancel<br />�<br />List of Access Keys<br />Alt 9 — Takes you to the Help line<br />Alt \ — Takes you to the Toolbar [e.g., Alt backslash Enter]<br />Ctrl Z — Takes you to the Search box of the Menu<br />�<br />Menu Access Keys<br />The Ctrl Z combination will focus your cursor onto the menuing system. From there, you can use your tab key (or shift-tab to reverse direction) to navigate through the menu hierarchy.<br />�<br />About Access keys and Hot keys<br />> An Access Key is an Alt key combination that moves focus to a specified field on the current page.<br />For example, Alt \ moves focus to first button on the Toolbar. Then pressing the Enter key would invoke that action. Or, you may use the Tab key to move you to the next Toolbar button.<br />> A Hot Key performs an immediate action. For example, when focus is in a field that has lookup processing, Alt 5 invokes the Lookup page without having to press the Enter key.</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-88378572878515120822009-08-30T22:51:00.000-07:002009-08-30T22:54:04.832-07:00How to read the runcontrol parameters in AEWe can read the Runcontrol Parameters in Application Engine by the following below <span style="font-weight:bold;">2</span> ways:<br /><br /><span style="font-weight:bold;">SQL</span><br />%select(EMPLID)selct EMPLID from PS_AERUNCONTROL where PROCESS_INSTANCE=%PROCESS_INSTANCE AND OPRID=%oprid<br /><br /><span style="font-weight:bold;">PeopleCode</span><br />&SQL="Select EMPLID from PS_AERUNCONTROL where PROCESS_INSTANCE="|PS_TEST_AET.PROCESS_INSTANCE|"and OPRID="|%oprid<br /><br /><br />%PROCESS_INSTANCE or %Bind(PROCESS_INSTANCE) can be used.<br />%PROCESS_INSTANCE is more efficent and fasterSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-90586721258752482022009-08-19T23:03:00.000-07:002009-08-19T23:07:39.606-07:00Sample People Code for getting the DEPT ID based on the ORG IDBelow is the 3 level rowset peoplecode for getting the Department ID prompt values when we select the Organization ID from prompt table.(i'e when we select the Organization ID from the prompt table then the departments under the particular Organization should only display)<br />Local Rowset &RS0, &RS1, &RS2;<br />&RS0 = GetLevel0();<br />&RS1 = &RS0(1).GetRowset(Scroll.SRI_ORG1_TBL);<br />For &I = 1 To &RS1.ActiveRowCount<br /> &ID = &RS1(&I).GetRecord(Record.SRI_ORG1_TBL).GetField(Field.SRI_ORG_ID).Value;<br /> &SQL = CreateSQL("SELECT DESCR FROM PS_EXT_ORG_TBL WHERE EXT_ORG_ID=:1", &ID);<br /> While &SQL.FETCH(&DESCR)<br /> &RS1(&I).GetRecord(Record.SRI_ORG1_TBL).GetField(Field.SRI_ORG1_NAME).Value = &DESCR;<br /> REM WinMessage(&DESCR, 0);<br /> <br /> <br /> &RS2 = &RS1(&I).GetRowset(Scroll.SRI_DEPT1_TBL);<br /> <br /> <br /> For &J = 1 To &RS2.ActiveRowCount;<br /> &DI = &RS2(&J).GetRecord(Record.SRI_DEPT1_TBL).GetField(Field.SRI_ORG_ID).Value;<br /> &SQL1 = CreateSQL("SELECT ORG_DEPARTMENT FROM PS_ORG_DEPT WHERE EXT_ORG_ID=:1", &DI);<br /> While &SQL1.FETCH(&ORG_DEPARTMENT)<br /> REM SQLEXEC("SELECT COUNT(EMPLID) FROM ");<br /> If &ORG_DEPARTMENT = "" Then<br /> &RS2(&J).GetRecord(Record.SRI_DEPT1_TBL).GetField(Field.SRI_DEPT_ID).Value = "";<br /> WinMessage("There are no Departments under this Organisation ID", 0);<br /> Else<br /> &RS2(&J).GetRecord(Record.SRI_DEPT1_TBL).GetField(Field.SRI_DEPT_ID).Value = "";<br /> <br /> rem WinMessage(&ORG_DEPARTMENT, 0);<br /> <br /> End-If;<br /> End-While;<br /> End-For;<br /> End-While;<br />End-For;Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-79756347438127940972009-08-19T22:52:00.000-07:002009-08-19T22:55:35.244-07:00People Code for calucating the student marks,average and grade&A = STUD_TBL.STUD_MI.Value;<br />&B = STUD_TBL.STUD_M2.Value;<br />&C = STUD_TBL.STUD_M3.Value;<br />STUD_TBL.STUD_TOT = &A + &B + &C;<br />STUD_TBL.STUD_AVG = (&A + &B + &C) / 3;<br />If (&A = "") Or<br /> (&B = "") Or<br /> (&C = "") Then<br /> STUD_TBL.STUD_GRADE = "";<br />Else<br /> If (&A < 35) Or<br /> (&B < 35) Or<br /> (&C < 35) Then<br /> STUD_TBL.STUD_GRADE = "FAIL";<br /> Else<br /> If (STUD_TBL.STUD_AVG > 35) And<br /> (STUD_TBL.STUD_AVG < 50) Or<br /> (STUD_TBL.STUD_AVG > 35) And<br /> (STUD_TBL.STUD_AVG < 50) Or<br /> (STUD_TBL.STUD_AVG > 35) And<br /> (STUD_TBL.STUD_AVG < 50) Then<br /> STUD_TBL.STUD_GRADE = "C";<br /> Else<br /> If (STUD_TBL.STUD_AVG > 50) And<br /> (STUD_TBL.STUD_AVG < 70) Or<br /> (STUD_TBL.STUD_AVG > 50) And<br /> (STUD_TBL.STUD_AVG < 70) Or<br /> (STUD_TBL.STUD_AVG > 50) And<br /> (STUD_TBL.STUD_AVG < 70) Then<br /> STUD_TBL.STUD_GRADE = "B";<br /> Else<br /> If (STUD_TBL.STUD_AVG > 70) And<br /> (STUD_TBL.STUD_AVG <= 100) Or<br /> (STUD_TBL.STUD_AVG > 70) And<br /> (STUD_TBL.STUD_AVG <= 100) Or<br /> (STUD_TBL.STUD_AVG > 70) And<br /> (STUD_TBL.STUD_AVG <= 100) Then<br /> STUD_TBL.STUD_GRADE = "A"<br /> End-If<br /> End-If<br /> End-If<br /> End-If<br />End-IfSri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0tag:blogger.com,1999:blog-2388698495725806936.post-54794188765722524472009-08-19T22:47:00.000-07:002009-08-19T22:52:03.881-07:00Sample 2 level rowset code for Language selectionWhen we select the the language from the drop down list then the field names in two level's should change automatically.Below is the sample rowset (RS0,RS1) code for 2 levels.<br /><br />Local Rowset &rs0, &rs1;<br />&field = GetField(SRI_ORGSAMP_TBL.SRI_ORGSAMP_ID);<br />&field1 = GetField(SRI_ORGSAMP_TBL.SRI_ORGSAMP_NAME);<br />&LABELID = &field.Name;<br />&LABELID1 = &field1.Name;<br /><br /><span style="font-weight:bold;">/*CHINEESE LANGUAGE*/</span><br />If SRI_ORGSAMP_TBL.SRI_LANGUAGE.Value = "CHIN" Or<br /> SRI_ORGSAMP_TBL.SRI_LANGUAGE.Value = "" Then<br /> &field.Label = "GRO DI";<br /> &field1.Label = "GRO EMAN";<br /> &rs0 = GetLevel0();<br /> &rs1 = &rs0(1).GetRowset(Scroll.SRI_EMPSAMP_TBL);<br /> For &i = 1 To &rs1.ActiveRowCount<br /> /*Variable*/<br /> &empid = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_ID);<br /> &empid.Label = "EEOLPME DI";<br /> &NAME = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_NAME);<br /> &NAME.Label = "EMAN";<br /> &GENDER = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_GENDER);<br /> &GENDER.Label = "REDNEG";<br /> &COUN = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_COUN);<br /> &COUN.Label = "GNIKROW NOITACOL";<br /> &DOB = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_DOB);<br /> &DOB.Label = "BOD";<br /> &DOJ = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_DOJ);<br /> &DOJ.Label = "JOD";<br /> End-For;<br /> <br />End-If; <br /><span style="font-weight:bold;">/*END OFCHINEESE LANGUAGE*/</span><br /><span style="font-weight:bold;">/*FRANCE LANGUAGE*/</span><br />If SRI_ORGSAMP_TBL.SRI_LANGUAGE.Value = "FRAN" Or<br /> SRI_ORGSAMP_TBL.SRI_LANGUAGE.Value = "" Then<br /> &field.Label = "ORGANI ID";<br /> &field1.Label = "NAMEE";<br /> &rs0 = GetLevel0();<br /> &rs1 = &rs0(1).GetRowset(Scroll.SRI_EMPSAMP_TBL);<br /> For &i = 1 To &rs1.ActiveRowCount<br /> /*Variable*/<br /> &empid = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_ID);<br /> &empid.Label = "EMPOLOD ID";<br /> &NAME = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_NAME);<br /> &NAME.Label = "NAMEE";<br /> &GENDER = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_GENDER);<br /> &GENDER.Label = "DREE";<br /> &COUN = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_COUN);<br /> &COUN.Label = "Workingo Locationio";<br /> &DOB = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_DOB);<br /> &DOB.Label = "birtho";<br /> &DOJ = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_DOJ);<br /> &DOJ.Label = "joino";<br /> End-For;<br /> <br />End-If;<br /><span style="font-weight:bold;">/*END OF FRANCE LANGUAGE*/</span><br /><br /><span style="font-weight:bold;">/*ENGLISH LANGUAGE*/</span><br />If SRI_ORGSAMP_TBL.SRI_LANGUAGE.Value = "ENG" Or<br /> SRI_ORGSAMP_TBL.SRI_LANGUAGE.Value = "" Then<br /> &field.Label = "ORGANIZATION ID";<br /> &field1.Label = "ORG NAME";<br /> &rs0 = GetLevel0();<br /> &rs1 = &rs0(1).GetRowset(Scroll.SRI_EMPSAMP_TBL);<br /> For &i = 1 To &rs1.ActiveRowCount<br /> /*Variable*/<br /> &empid = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_ID);<br /> &empid.Label = "EMPLOYEE ID";<br /> &NAME = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_NAME);<br /> &NAMELabel = "NAME";<br /> &GENDER = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_GENDER);<br /> &GENDER.Label = "GENDER";<br /> &COUN = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_COUN);<br /> &COUN.Label = "WORKING LOCATION ";<br /> &DOB = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_DOB);<br /> &DOB.Label = "DATE OF BIRTH";<br /> &DOJ = &rs1(&i).GetRecord(Record.SRI_EMPSAMP_TBL).GetField(Field.SRI_EMPSAMP_DOJ);<br /> &DOJ.Label = "DATE OF JOIN";<br /> End-For;<br /> <br />End-If;<br /><span style="font-weight:bold;">/*END OF ENGLISH LANGUAGE*/</span>Sri Harshahttp://www.blogger.com/profile/07055600374301477821noreply@blogger.com0