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

Saturday, 28 June 2014

Depreciation calculation Process stuck in Nosuccess and Error.


Depreciation calculation Process stuck in Nosuccess and Error.
then execute the below statement and correct the run control id and rerun the process.
SELECT count(*) FROM PS_OPEN_TRANS                                                          
WHERE BUSINESS_UNIT = '22000'AND CALC_DEPR_STATUS = 'I'
(5 Rows Selected)

 

UPDATE  PS_OPEN_TRANS
SET CALC_DEPR_STATUS = 'P'
WHERE BUSINESS_UNIT = '22000' AND CALC_DEPR_STATUS = 'I'
(5  Rows Selected)

Regular voucher with withholding posted before applying with Advance voucher


Advance adjustment with withholding entry. A regular voucher with withholding posted before applying with Advance voucher.
Due to which, two lines created in Remittance where in Voucher vendor amount adjusted with advance voucher and withholding amount remains unapplied.
 SELECT COUNT(*)  FROM PS_VCHR_LINE_WTHD
 WHERE BUSINESS_UNIT = '' AND VOUCHER_ID IN (‘ ')
 AND VOUCHER_LINE_NUM = 1 AND WTHD_ENTITY = ‘ 'AND WTHD_TYPE = ' '
 AND WTHD_JUR_CD = ‘’ AND WTHD_CLASS = '' AND WTHD_APPL_FLG ='V'
(5 Row Selected)
UPDATE PS_VCHR_LINE_WTHD
SET WTHD_APPL_FLG = 'P' WHERE BUSINESS_UNIT= '' AND VOUCHER_ID IN (‘ ')
AND VOUCHER_LINE_NUM = 1 AND WTHD_ENTITY = '' AND WTHD_TYPE = ''
AND WTHD_JUR_CD = '' AND WTHD_CLASS = '' AND WTHD_APPL_FLG ='V'
(5 Row Updated)
SELECT COUNT(*)  FROM PS_VCHR_LINE_WTHD
 WHERE BUSINESS_UNIT = '' AND VOUCHER_ID IN (‘')
 AND VOUCHER_LINE_NUM = 1 AND WTHD_ENTITY = ‘’ AND WTHD_TYPE = ''
 AND WTHD_JUR_CD = ‘’ AND WTHD_CLASS = '' AND WTHD_APPL_FLG ='P'
(5 Row Selected)

UPDATE PS_VCHR_LINE_WTHD
SET WTHD_APPL_FLG = 'V' WHERE BUSINESS_UNIT= '' AND VOUCHER_ID IN (‘')
AND VOUCHER_LINE_NUM = 1 AND WTHD_ENTITY = '' AND WTHD_TYPE = 'INDTD'
AND WTHD_JUR_CD = '' AND WTHD_CLASS = '' AND WTHD_APPL_FLG ='P'
(5 Row Updated)

Prepaid Reversal Acoounting entries are not correct after appying prepaid voucher


Insertion of prepay reversal entry which not created by system.

SELECT Count(*)FROM  PS_VCHR_ACCTG_LINE
WHERE BUSINESS_UNIT = 22
AND VOUCHER_ID = '00036349'
AND POSTING_PROCESS = 'PPAY'
(0 ROWS SELECTED)
INSERT INTO PS_VCHR_ACCTG_LINE
VALUES(22,'00036349',0,'ACCRUAL','PPAY',99998,1,1,'APA',0,'CORPORATE',' ',21000,' ',' ',' ', 175613,'INR','CRRNT',1,44.916, 3909.81,0,0,' ','Accounts Payable',    175613, -3909.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ','01-OCT-2011',0,0,22000,' ','',0,'N','N',671436,'N',' ',' ',' ',0,0,' ',' ',0,0,0,' ',0,0,' ',' ',' ',' ',' ',' ','I','USD',' ',' ',' ',' ',' ','I','I',' ',' ',0,0,0,'ACTUALS',' ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ',0,'',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0,0,0,' ',' ',' ' ,' ',' ',0,'N',' ',' ',' ',' ','01-OCT-2011','I','N','V','V','C','01-OCT-2011',' ',' ','01-OCT-2011',0,0,0,' ',0,'Y','APVD','AP',' ','N',0,0,0,0,0,0,' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0)
INSERT INTO PS_VCHR_ACCTG_LINE
VALUES(22,'00036349',0,'ACCRUAL','PPAY',99998,1,1,'DST',0,'CORPORATE',' ',12350,' ',' ',' ',-177388,'INR','CRRNT',1,44.916,-3949.33,0,0,' ','Expense Distribution',-177387,-3949.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ','01-OCT-2011',0,0,22000,' ','',0,'N','N',671436,'N','N',' ','N',0,0,' ',' ',0,0,0,'N',0,0,' ',' ',' ',' ',' ',' ','I','USD','N',' ',' ',' ',' ','I','I',' ',' ',0,0,0,'ACTUALS',' ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ',0,'01-OCT-2011',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0,0,0,' ',' ',22000,22000,' ',0,'E',' ','',' ',' ','01-OCT-2011','I','N','V','V','C','01-OCT-2011',' ',' ','01-OCT-2011',0,0,0,' ',0, 'N','APVD','AP',' ','N',0,0,0,0,0,0,' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0)
INSERT INTO PS_VCHR_ACCTG_LINE
VALUES(22,'00036349',0,'ACCRUAL','PPAY',99998,1,1,'WTH',0,'CORPORATE',' ',23420,' ',' ',' ',1774,   'INR','CRRNT',1,44.916, 39.50,  0,0,' ','Withholding Liability',177387, 3949.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ','07-Oct-2011',0,0,22000,' ','',0,'N','N',671436,'N',' ',' ',' ',0,0,' ',' ',0,0,0,' ',0,0,' ',' ',' ',' ',' ',' ','I','USD',' ',' ',' ',' ',' ','I','I',' ',' ',0,0,0,'ACTUALS',' ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ',0,'07-Oct-2011',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0,0,0,' ',' ',' ',' ',' ',0,'N',' ',,' ',' ','07-Oct-2011','I','N','V','V','C','07-Oct-2011',' ',' ','07-Oct-2011',0,0,0,' ',0,'N','APVD','AP',' ','N',0,0,0,0,0,0,' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0)
INSERT INTO PS_VCHR_ACCTG_LINE
VALUES(22,'00036349',0,'ACCRUAL','PPAY',99998,1,1,'APA',0 ,'LOCAL',' ',21000,' ',' ',' ', 175613,'INR','CRRNT',1,1,175613,0,0,' ','Accounts Payable',      -175613,-175613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ','01-OCT-2011',0,0,22000,' ','',0,'N','N',671436 'N',' ',' ',' ',0,0,' ',' ',0,0,0,' ',0,0,' ',' ',' ',' ',' ',' ','I','INR',' ',' ',' ',' ',' ','I','I',' ',' ',0,0,0,'ACTUALS',' ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ',0,'01-OCT-2011',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0,0,0,' ',' ',' ',' ',' ',0,'N',' ',' ',' ',' ','01-OCT-2011','I','Y','V','V','C','01-OCT-2011',' ',' ','01-OCT-2011',0,0,0,' ',0,'Y','APVD','AP',' ','N',0,0,0,0,0,0,' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0)
INSERT INTO PS_VCHR_ACCTG_LINE
VALUES(22,'00036349',0,'ACCRUAL','PPAY',99998,1,1,'DST',0 ,'LOCAL',' ',12350,' ',' ',' ',-177387,'INR','CRRNT',1,1,-177387,0,0,' ','Expense Distribution', -177387,-177387,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ','01-OCT-2011',0,0,22000,' ','',0,'N','N',671436,'N','N',' ','N',0,0,' ',' ',0,0,0,'N',0,0,' ',' ',' ',' ',' ',' ','I','INR','N',' ',' ',' ',' ','I','I',' ',' ',0,0,0,'ACTUALS',' ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ' ,0,'',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0,0,0,' ',' ',22000,22000,' ',0,'E',' ',' ',' ',' ','01-OCT-2011','I','Y','V','V','C','01-OCT-2011',' ',' ','01-OCT-2011',0,0,0,' ',0,'N','APVD','AP',' ','N',0,0,0,0,0,0,' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0)
INSERT INTO PS_VCHR_ACCTG_LINE
VALUES(22,'00036349',0,'ACCRUAL','PPAY',99998,1,1,'WTH',51,'LOCAL',' ',23420,' ',' ',' ',   1774,'INR','CRRNT',1,1,  1774,0,0,' ','Withholding Liability',-177387,-177387,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ','07-Oct-2011',0,0,'22000',' ',,0,'N','N',671436,'N',' ',' ',' ',0,0,' ',' ',0,0,0,' ',0,0,' ',' ',' ',' ',' ',' ','I','INR',' ',' ',' ',' ',' ','I','I',' ',' ',0,0,0,'ACTUALS',' ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,' ',0,'07-Oct-2011',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0,0,0,' ',' ',' ',' ',' ',0,'N',' ',,' ',' ','07-Oct-2011','I','Y','V','V','C','07-Oct-2011',' ',' ','07-Oct-2011',0,0,0,' ',0,'N','APVD','AP',' ','N',0,0,0,0,0,0,' ',' ',' ',' ',' ',' ',' ',' ',' ','N',0)

Vouchers posting process struck in error


If user run the voucher posting process and voucher is not getting picked for posting then execute the below update statement and run the posting process.

select count(*) from ps_voucher where voucher_id in ('00033333','00033308') and business_unit='220001' and IN_PROCESS_FLG='Y'
(2 ROWS SELECTED)

update ps_voucher set IN_PROCESS_FLG='N' where voucher_id in ('00033333','00033308')and business_unit='220001' and IN_PROCESS_FLG='Y'
(2 ROWS UPDATED)

Vouchers were not getting picked for Matching Process

if Vouchers were not getting picked for Matching Process then excute the below statement and run again matching process.

SELECT COUNT(*) FROM PS_VOUCHER WHERE VOUCHER_ID LIKE '00033333' AND BUSINESS_UNIT='22000'
AND MATCH_OVERRIDE='N' AND MATCH_STATUS_VCHR='E'

1 row selected

UPDATE PS_VOUCHER SET MATCH_OVERRIDE='Y', MATCH_STATUS_VCHR='O' WHERE VOUCHER_ID LIKE '00033333'
AND MATCH_OVERRIDE='N' AND MATCH_STATUS_VCHR='E'
1 row updated

Journals are not being created after running journal generator process in Asset Management

Journals are not being created after running journal generator process.
showing Unique Constraint error in message log.
there is issue becuase of Datetime stamp is different so refer the update statement and execute.

SELECT * FROM  ps_dist_ln
WHERE business_unit=22000 AND journal_id=' '  AND asset_id IN( '000000013924' ,'000000013925','000000013926')
AND  ACCOUNTING_DT ='30-MAR-2013'  AND DTTM_STAMP =to_DATE('04/03/2013 13:13:28','MM/DD/YYYY HH24:MI:SS')
--12 rows selected

UPDATE ps_dist_ln SET  ACCOUNTING_DT='31-MAR-2013' , DTTM_STAMP =to_DATE('04/03/2013 19:19:19','MM/DD/YYYY HH24:MI:SS')
WHERE business_unit=22000 AND journal_id=' '  AND asset_id IN( '000000013924' ,'000000013925','000000013926')
AND  ACCOUNTING_DT ='30-MAR-2013'  AND DTTM_STAMP =to_DATE('04/03/2013 13:13:28','MM/DD/YYYY HH24:MI:SS')
--12 rows updated

After exeution of update statement again run the generate journal process for the same date and you will gat message that 1 journal has been created in messgae log.

Friday, 27 June 2014

Tracing of Application Engine & SQR & People Code in PeopleSoft


Application Engine Trace
1. Open the process definition
2. Select the overrides tab.
3. Select Append on the parameters field.
4. Enter -TRACE 131 -TOOLSTRACEPC 3596 -TOOLSTRACESQL
143
5. Save the record.

SQR Trace


1. Open the process definition
2. Select the overrides tab.
3. Select Append on the parameters field.
4. Enter –DEBUG[ABC]… (replace ABC with the debug letters
provided in the sqr, sqc source).
5. Save the record.


Tracing Setting in PeopleSoft
Both the process scheduler (psprcs.cfg) and application server (psappsrv.cfg) config files allow for permanent tracing settings as well as setting up trace Masks. psprcs.cfg - /appserv/prcs// psappsrv.cfg - /appserv//

Trace Masks are setup to limit the amount of tracing allowed when a user wants to trace through the front end package.

LogFence allows for lower and higher detail tracing with regards to application server standard logging. This is ideal for identifying problems on the application server.

To enable the trace link in the Sign on page.
People-tools > Web-profile.

 Web profile > Debugging Tab -> Check the Option - Show Trace Link at Signon



Callsection and SQL actions are mutually exclusive in App Engine


It is due to Commit in the database. It is mutually
exclusive so that there is no inconsistency in the database.
In Brief.....
Usually a commit takes place after the STEP, not after the
ACTION. Both SQL as well as CallSection are Actions. If they
were not mutually exclusive you could execute an SQL (update,
insert or so) and before comitting go to an entirely different
programm where you would work on the same data, change that data
and then come back to the originating program to issue the
commit on a dataset that has changed. I think you can see the
potential errors that can come up.

Send Mail and TriggerBusinessEvent Function in PeopleSoft


Send Mail Function


&RET = SendMail(&MAIL_FLAGS, &MAIL_TO, &MAIL_CC, &MAIL_BCC, &MAIL_SUBJECT, &MAIL_TEXT, &MAIL_FILES, &MAIL_TITLES, &MAIL_FROM, &MAIL_SEP, &CONTTYPE, &REPLYTO, &SENDER);
&MAIL_FLAGS = 0;
&MAIL_TO = "abc@def.com";
&MAIL_CC = "";
&MAIL_SUBJECT = "Helpdesk ID : " | " " | REQ_HDR_VW.REQ_ID;
&MAIL_TEXT = "Hi Team," | Char(10) | Char(10) | "This is automatically generated helpdesk id for:" | Char(10) | "Requisition ID:" | REQ_HDR_VW.REQ_ID | " " | Char(10) | "Business Unit:" | REQ_HDR_VW.BUSINESS_UNIT | Char(10) | "Requisition raised by" | ": " | REQ_HDR_VW.REQUESTOR_ID | Char(10) | "Requestor Name: " | &name | Char(10) | "Requestor Emailid: " | &emailid | Char(10) | Char(10) | "Item:" | TB_REQ_DESC_WRK.COMMENTS | Char(10) | Char(10) | "Approximate Amount:" | REQ_APPROVAL_WR.MERCH_AMT_TTL_BSE | Char(10) | Char(10) | "Aptara Helpdesk ID and Comments:" | Char(10) | REQ_APPROVAL_WR.COMMENTS | Char(10) | "Req. line comments:" | TB_REQ_DESC_WRK.COMMENTS_2000;
&MAIL_FILES = "";
&MAIL_TITLES = "";



TriggerBusinessEvent

      &RTN = TriggerBusinessEvent(BusProcess."REQ_NOTIFICATION", BusActivity."Notify Requester", BusEvent."Amount Approved");

Tuesday, 24 June 2014

Types of Voucher in PeopleSoft


In Peoplesoft there are different types of Voucher in Accounts Patable. we have explained the difference as per attached highlighted docs. Refer the documents to check Reversal,Adjustment and Journal and Regular vouchers.

 

Regular Voucher

Adjustment Voucher

Journal Voucher

Reversal Voucher