Tuesday, 16 December 2014

Current Opening for PeopleSoft in Birlasoft

Position - PeopleSoft FSCM Technofunctional Consultant

Location - Noida

Exp - 3+ Years

DoSave() and DoSaveNow() in Peoplecode



Dosave and Dosavenow functions are used to save component programmatically in peoplecode envents.


Getrowset And Createrowset in Peoplecode

Getrowset –is used to get rowset for a record in the component buffer.

Createrowset—is used to create rowset for a record which in database, and is also called a Standalone rowset.

Field Change vs Field Edit in Peoplecode Events

Difference between Field Change and Field Edit Event -


Field Change peoplecode event is for recalculating field values based on changes 
made to other fields e.g suppose u have 2 fields one is rate and other is quantity and there is another field which shows the total cost so whenever a value is changed in any of the above 2 field (rate and quantity) the total cost will also change so on field change event of these 2 fields u can write code to calculate the total cost.


Field edit event is used for validating field values if the field doe'snt pass the validation an error msg is diaplayed and the page is redisplayed with the field marked in red e.g to this could be that u may want that the quantity should not exceed 1000 if it does the system should display an error so u can write a peoplecode for that which will chk the quantity if it is greater than 1000 error msg will be displayed.


Events for error & warning -

Answer :  Field edit, Save edit, Search save, row delete, row insert.

Saturday, 13 December 2014

Events in Peoplecode

Record Field Events
FieldChange event
FieldDefault event
FieldEdit event
FieldFormula event
PrePopup event
RowDelete event
RowInit event
RowInsert event
RowSelect event
SaveEdit event
SavePostChange event
SavePreChange event
SearchInit event
SearchSave event
Workflow event
Component Record Field Events
FieldChange event
FieldDefault event
FieldEdit event
PrePopup event
Component Record Events
RowDelete event
RowInit event
RowInsert event
RowSelect event
SaveEdit event
SavePostChange event
SavePreChange event
SearchInit event
SearchSave event
Component Events
PostBuild event
PreBuild event
SavePostChange event
SavePreChange event
Workflow event
Page Events
Activate
Menu Events
ItemSelected

Standalone Rowset in Peoplecode


It’s a rowset that is outside of the component buffer and not related to the component presently being processed. Since it lies outside the data buffer, we will have to write PeopleCode to perform data manipulations like insert / update / delete.

Creation of Standalone Rowset

We use the below PeopleCode to create a standalone rowset. With this step, the rowset is just created with similar structure to that of the record SAMPLE_RECORD. However, the rowset would be empty at this point.

Local Rowset &rsSAlone;
&rsSAlone = CreateRowset(Record.SAMPLE_RECORD);

Populating  Standalone Rowset

Fill Method

&TRG_ID = '12345';
&rsSAlone.Fill("where TRAINING_ID = :1", &TRG_ID);

FillAppend Method

FillAppend is another method that we can use to populate a standalone rowset. This method appends the database records to the rowset starting from position of (last row + 1). Ie; it keeps the existing row intact and do not flush the rowset first like the Fill method.
&TRG_ID = '12345';
&rsSAlone.FillAppend("where TRAINING_ID = :1", &TRG_ID);

CopyTo Method

Local Rowset &rsSAlone2;
&rsSAlone2 = CreateRowset(Record.SAMPLE_RECORD);
&rsSAlone.CopyTo(&rsSAlone2);

Child Rowsets

Local Rowset &Lvl1, &Lvl2, &Lvl3;
&Lvl3 = CreateRowset(Record.SAMPLE_LVL3_REC);
&Lvl2 = CreateRowset(Record.SAMPLE_LVL2_REC, &Lvl3);
&Lvl1 = CreateRowset(Record.SAMPLE_LVL1_REC, &Lvl2);

Peoplecode to populate data in a Grid

Local Rowset &rset0, &rset1; Local Row &ROW;
&rset0 = GetLevel0(); &rset1 = &rset0(1).GetRowset(Scroll.HRB_ITM_MMT_ADD); &rows = &rset1.ActiveRowCount; Local Record &REC, &REC2; &REC = CreateRecord(Record.MASTER_ITEM_TBL); &REC2 = CreateRecord(Record.HRB_ITM_MMT_ADD);
&BUCOUNT = 1; For &j = 1 To &rset1.ActiveRowCount
&PREVBU = &rset1(&j).GetRecord(Record.HRB_ITM_MMT_ADD).GetField(Field.SETID).Value; &r = CurrentRowNumber();
&rset1.InsertRow(&r); End-For;
The grid is placed on level 1 of a secondary page and is populated using Peoplecode written in the Activate event of the secondary page. We use the SQL object &VCHRS_GRD_SQL to fetch some Voucher IDs and Vendor IDs from the database and populate the grid with these values.

Local SQL &VCHRS_GRD_SQL;
/* SQL object for fetching the vouchers and vendors*/
Local Rowset &VCHRS_GRD_RS;
/*Rowset for accessing the Grid*/
 
&VCHRS_GRD_SQL = CreateSQL("SELECT V.VOUCHER_ID, V.VENDOR_ID FROM PS_VOUCHER V WHERE V.BUSINESS_UNIT =:1 AND V.ACCOUNTING_DT > :2", &SGK_BU, &SGK_ACCTG_DT);
/*creating the SQL statement*/
 
&VCHRS_GRD_RS = GetLevel0()(1).GetRowset(Scroll.SGK_VCHR_DVW);
/*creating a rowset corresponding to the grid */
 
While &VCHRS_GRD_SQL.Fetch(&GRD_VOUCHER_ID, &GRD_VENDOR_ID)
&VCHRS_GRD_RS(1).SGK_VCHR_DVW.VOUCHER_ID.Value = &GRD_VOUCHER_ID;
/*assigning the voucher ID to the filed in the grid */
&VCHRS_GRD_RS(1).SGK_VCHR_DVW.VENDOR_ID.Value = &GRD_VENDOR_ID;
/*assigning the Vendor ID to the filed in the grid */
&VCHRS_GRD_RS.InsertRow(0);
/* inserting a new row at the beginning of the grid*/
End-While;
 
&VCHRS_GRD_RS.DeleteRow(1);
/* deleting the empty row left after all the insertions */
&VCHRS_GRD_SQL.Close();
/* closing the SQL object */

Multiple SQL Statements in SQL Action in PeopleSoft Application Engine

While writing App Engines, we normally write one SQL statement per SQL Action. That is how it is in most of the delivered App Engine. But in certain situations, we may need to put in multiple SQL statements into a single SQL Action.
This can be achieved by using %Execute function.
In your SQL Action, place the %Execute() on the very first line. Below that you start writing your SQL statements one by one. Take care to delimit each SQL statement with a semi colon as the App Engine expects a semi colon between statements within an %Execute function by default.
The sample code below would make things clear.
%Execute(); 
 SQL Statement One;
 SQL Statement Two;
 SQL Statement Last;

Friday, 12 December 2014

PeopleSoft Intergartion Broker

Intergartion Broker is used in Peoplesoft to Upload Data from Excel or Xml file.
This process setup to generate xml file from excel file and upload data in peoplesoft components.

i have described some setup and procedure to explain Voucher Upload process using Integration Broker.

Please refer the attached document to create process of Voucher Upload from excel file.



Voucher Upload Process from Excel in PeopleSoft

Wednesday, 10 December 2014

XML Publisher Tricks




*When creating a report definition can we select a psquery as data source that has not been registered?
When creating a report definition, you can select a PeopleSoft Query data source that has not yet been registered and that data source is registered automatically once the report definition is saved.
However, all other types of data sources must be registered before they can be associated with a report definition.

*What is the name of the page used for registering the data source?
Navigation: Reporting Tools> XML Publisher,>Data Source
 PSXPDATASRC

*What is schema file consists of?
To create the schema we could simply follow the structure in the XML document and define each element as we find it.

*Can we include images in reports using Xml publisher?
Yes, in many ways,Based on this option we will remove the Report from Report repository and archive the Data to the report Archive table. The maximum limit is 999 days.

 *From which peopletools onwards the XML publisher is applicable?
  8.48 onwards.

*What are the data sources available in XML Publisher?
 PS Query,Rowset,Xml and XmlDoc.

*How do we setup add-ins for MS-Word?
 Go to XmlPublisher-->setup-->Designer Help-->Plug-in for MS Word

*What are the different output formats in XML Publisher?
   PDF,RTF,Excel and HTML

*What is the meaning of Bursting?Is it mandatory option in XMLP?
  Bursting is just like Group by caluse in SQL. Its optional in XMLP.

*Where can we maintain security in XMLP?
  Report Definition

*How to run the XMLP using data source as PS Query?How to schedule the XMLP?
 We can run XMLP using Query Report Viewer and Scheduling is done with Query Report Scheduler.

*What are the advantages of XMLP over other reporting tools?
 XMLP have different datasources to get the data.
In XMLP, we can easily design output template through MS Word.
We can easily maintain security in XMLP

*Identify the below script?
a. HTML
b. Java Script
c. Java
d. People code
XML – Correct


*What is different the vb.net and XML?
Vb.net is product of micro Soft Corporation. it is for developing application programs. Xml is an open standard one. It is for representing data. Xml is not restricted to the particular language. We can use to represent data of any type of application. XML is common one. For business to business communication XML is Best one.

*Does XML Publisher have an ability to use the switching feature of multi-language data entry?
Because XML Publisher uses managed object functionality, you do not have the ability to use the switching feature of multi-language data entry. You can populate related language tables by logging in and establishing a different session language. The related language table for that session can then be populated.

*What are the formats supported by XML Publisher?
It can generate reports in many formats (PDF, RTF, Excel, HTML, and so on) in many languages.

*Briefly Describe XML Publisher?
Oracle has developed a standalone Java-based reporting technology called XML Publisher (XMLP) that streamlines report and form generation. A primary feature of Oracle's XML Publisher product is the separation of the data extraction process from the report layout. XML Publisher provides the ability to design and create report layout templates with the more common desktop applications of Microsoft Word and Adobe Acrobat, and renders XML data based on those templates.

*What are the implementation steps involved in XML Publisher?
 XML Publisher implementation can be divided into the following phases:
    Configure XML Publisher.
    Register data sources.
    Create templates.
    Define XML Publisher reports.
    Run XML Publisher reports.
    Locate and view published XML Publisher reports.

*What are the categories involved XML Publisher security?
XML Publisher security can be separated into three categories:
    Defining reports.
    Running reports.
    Viewing reports.

*What is XML Publisher Business Processes?
XML Publisher menu access is permission list driven and depends on permission list and role assignment. PeopleTools delivers permission list security and roles for XML Publisher report developers and XML Publisher power users.
Permission list PTPT2600 is intended for report developers.
Permission list PTPT2500 is intended for power users and provides access to Query data sources for ad hoc reporting through Query Report Viewer and Query Report Scheduler.
Users assigned to other permission lists and roles, such as permission list PTPT1000, may only have access to the XML Publisher Report Repository.

*File setting relative to the application server?
The -Dxdo.ConfigFile setting is relative to the application server or process scheduler domain directory, which is the current directory when the domain starts up.

*Why Report Category is required?
Report Category is a required attribute on all report definitions and Content Library sub-templates. By assigning a report category, you are actually applying row level security to the data on those components.

*The PeopleCode XML Publisher classes also respect report category settings and read-only access rights.
  True

*When do XML Publisher report definition output options are reflected in the output type and output format prompts on the Process Scheduler Request page?
Only when the application process that runs the report is assigned the process type of XML Publisher.

*Use of Report definitions?
Report definitions associate a data source with template files. A data source registers the schema and sample data design files. It is the extracted application fields from the data source files that are placed into the template files to create the final report.

*What is mainly based on Report definition access?
Report definition access is based on user permission list security and roles.

*How is registering Process in Report definition?
When creating a report definition, you can select a PeopleSoft Query data source that has not yet been registered and that data source is registered automatically once the report definition is saved. However, all other types of data sources must be registered before they can be associated with a report definition.

*How can u check the format of an XML output file?
You can check the format of an XML output file by opening it using Microsoft Internet Explorer (IE). IE opens the file and alerts you to any problems, such as unclosed tags.

*What does Bursting feature do?
Bursting is an optional advanced feature that is only available when reports are run through Process Scheduler and is not intended for real-time online viewing. It is typically used when you are repeating the generation of a templated report layout many times for multiple like sets of data.
For example, generating a batch run on vendor purchase orders or customer invoices. With bursting, you can generate individual report files resulting in separate secured output. For example, generating a file for each vendor, customer or employee.

*From where, Bursted reports must be runned?
Bursted reports must be run from the Query Report Scheduler component.

*What is to be done in order for a schema field to take advantage of the bursting features?
It must be registered with the data source of the report definition.

*What are Sub-templates?
Sub-templates are secondary RTF or XSL templates that are imported by primary RTF or XSL report templates. The primary template accesses the sub-template through the XSL import style sheet feature.The sub-template files are independently stored and are not registered in association with a data source or primary template.

*Template Translation feature is based upon?
The Template Translation feature is based upon standard Localization Interchange File Format (XLIFF) .xlf file processing. Each report template or sub-template file can have related translation XLIFF files. These XLIFF files include translation units for each content element to be translated.

*Does a template must exist before it can be translated?
Yes, template must exist before it can be translated.
Template translations are not available for template types other than RTF. For a PDF report, there must be multiple PDF templates registered to the report, one for each locale or language as required.

*Do related prompts appear?
If a query is run through Reporting Tools, Query, Schedule Query, the XML Publisher-related prompts do not appear. Only the basic table-formatted query results are generated.

*How to Insert the Image in XML Publisher?
It is advised to use the Microsoft Word Insert menu option to insert the image, as the additional properties that need to be set for the RTF template to correctly generate reports with those images are automatically set by using this method. Additionally, dragging and dropping an image onto a template creates a link to the local machine being used and may cause problems when the report is generated.The user has to be online to access the image referenced in the URL.

*XMLP report data sources can be?
PSQuery
XMLDoc
Rowset
XML file

*XMPL reports cannot have multiple templates
False


*What are the Template types?
PDF
RTF
E-text
XSL

*What are the Report output types?
HTML
PDF
RTF
XLS

*What is the file which Xml publishers’ global engine settings are defined?
Xml publishers’ global engine settings are defined in the xdo.cfg file

*What are the steps involved in creating XML?
Data sourceà generate xml and schema filesà load xml file to templateà create report definition (declare template type)àupload template fileà setting the properties for security purpose (setting report categories ID)à viewing output

*How do mail your report output?
Reporting toolà xml publisherà query report schedulerà Run button (Distribution) we can view the mail.

*What is E-text?
An E-Text template is an RTF-based template that is used to generate text output for Electronic Funds Transfer (EFT) and Electronic Data Interchange (EDI). At runtime, BI Publisher applies this template to an input XML data file to create an output text file that can be transmitted to a bank or other customer.

*How to generate E-text report and what are the steps involved in it?
Data sourceà generate xml and schema filesà load xml file to templateà create report definition (declare E-text template type)àupload template fileà setting the properties for security purpose (setting report categories ID)à viewing output

*How do you schedule your query, other than Query Report Scheduling?
Through App engine or Peoplecode we scheduling.
Import Application Packages, PSXP_MALGEN this is used for generate xml scheme file and xml date file.

*Did u use charts in your template?
Add-In à temple builder à Insert àcharts