Showing posts with label Application Designer. Show all posts
Showing posts with label Application Designer. Show all posts

EXCEL To CI

Follow the following steps to implement the Excel To CI Utility

1) Grant access to the WEBLIB_SOAPTOCI iScript
Grant the above mentioned iscript in one of the permission lists of the user who running it.
2)  Enable Developer Menu in Microsoft Excel.
  • ·         Go to Excel Options. Click on the checkbox of Show Developer tab in the Ribbon.
     3) Make sure the macros are enabled (Microsoft Excel 2007).

·         Open  ExcelToCI.xls file which is located in the Excel folder of the PS_HOME.
·         Save As the ExcelToCI.xls Into Excel Macro-Enabled Workbook (xlsm format).
·         The workbook name must have .xslm extension .

4) Now open the Excel sheet , Need to supply the connection information and CI name associated with the component in further tabs

Open the connect information tab from the Excel sheet.
Most of the time above mentioned details you can get from the URL of the PIA of the any random page , some need to collect from the DBA.

Web Server Machine Name - Name of the web server connected to 


Protocol - HTTP/HTTPS


HTTP Port -
Port Number Web server is using 

Portal - Portal name using , Default is EMPLOYEE


PeopleSoft Site Name - PeopleSoft Site Name that was given at the time of installation of PIA ,Default one is ps

Node - PeoplSoft node name , Default one is PT_LOCAL


Language Code -ENG


Chunking Factor -No of rows of data to be transmitted to DB at one time , Default one is 40


Error Threshold - It can be set if we want to stop the import into DB after certain no of errors reached 

Action - This will be automatically set when the CI is set



The types of actions available are based on the structure of the component interface. The actions are:
·      Create.
This option is available if the component interface has create keys. Use this mode when new keys are being added at level 0.
·      Update.
This option is available if the component interface does not have create keys. Use this mode if you are adding new children to an existing parent.
·      UpdateData.
Use this option to update specific non-key values that already exist. The system uses the keys to locate the row, and when a match is found, the row is updated with new data. If a key match is not found by the system, it displays an error message indicating which collection was missing a key match.
When using the UpdateData action, you must provide all keys for the collection for the system to modify the data.

Most of the time you can fill the data by the PIA login URL 

i.e   http://hrms90v:9180/psp/HRMS90/?cmd=login

                 Web Server :  hrms90v

                 Protocol : http
                 Port : 9180
                 PeopleSoft Site Name : HRMS90

5)Connect to Database to create template and submit data
  Now go to Template tab and supply the Username ,password and CI name
Prompt will appear 

      Fill the details of ID, PWD of Application Designer that you created CI and  CI name, Which you want to Import the data through your component .







     Once submitting this utility will import the structure of the CI in the following way into Template tab.

   Collection : Scroll Data of the underlying component
   Property : Fields on the page    
   Record Type : Indicates the number related to scroll 

     The level 0 scroll record is always represented by 000. Level 1 scroll records appear with numbers that start with 100 and always have 00 as the last two numbers.
     Level 2 scrolls are identified by numbers that start with the identifier of their level 1 parent and end with a 0.
     Level 3 scrolls are identified by the first number from the level 1 parent, the second number from its level 2 parent, and then the third number from its own position in the list.
     The numbers for each scroll level are incremented based on the number of records that exist at that level. For example, level 0 would be 000, level 1 would be 100, level 2 would be 110, and so on.



    Field Type :Data Type of the field
    Field Length : Length of the field
    Key : Indicates the key structure of the field , This information comes from the record structure   it self
    Sequence : The sequence number represents the property order in the template

     Now make the fields into Gray by selecting them and click on Select Input Cell from menu , Here gray indicates that those are fields that you are including in your Template , Template looks like in the following way.





     Now Click on New Data Input from Menu to make the final template which accepts data from user.


    New Data Input :
Builds a new data input sheet based upon the selected input cells. When you build a new data input sheet, the system prompts you as to whether you want to overwrite the existing sheet. If you select Yes, a new data input sheet is created, overwriting the former one
Once after clicking it , It prompts you in the following way



Clc

on Yes , now we will enter into Data Input tab

6) Sample data is presented in the following way




Once the data entry is done proceed with clicking Stage Data for Submission button from the menu

7) Finally system will automatically enters into final tab Staging & Submission tab


 8) Finally click on Submit Data , It prompts for ID,Pwd .Supply the values & click on OK . It automatically populates the data into DB.






Component Interface

Component Interface

  •  Component Interface is an Integration Tool , 
  •  Its like a wrapper around the component .
  •  It exposes PeopleSoft component (Combination of pages) for the synchronous access from other applications
  •  One component can have multiple interfaces , But one CI maps to only one component 
Component Interface Architecture 
Every Component Interface will have 4 attributes 

  •     Name of the component
  •     Keys
  •     Properties
  •     Methods  
Component Interface Attributes
    Name of the component: Each Component Interface will have a unique name . It will be given at the time of the creation of the component interface 

    Keys : Keys will be created basing on the search record definition of the component

 Create Keys
 These keys will be formed based on the ADD mode of the component . Search key in the search record will come under this
 Get Keys
 Search key for the search record will form this keys
 Find Keys
 Both the search key & alternate search keys will form this
Properties: Properties gives access to component data and settings . There are 2 types properties
 Standard Properties
 These properties can be set to true or false .These cannot be displayed in Application Designer they are 
            Interactive Mode
            Get History Items
            Edit History Items

User-defined Properties
 User -defined properties will relates to record fields of the underlying component 
           Fields - Properties 
           Scroll data - Collections



Behavior of the CI by the property setting



EditHistoryItems=False
GetHistoryItems=True
It is same as the accessing the component in theUpdate/Display Allwhere we can see the past information but cannot edit the data
EditHistoryItems=True
GetHistoryItems=True
It is same as the accessing the component in theCorrection Mode
GetHistoryItems=False
It equivalents with Update Modehere there is no value to  EditHistoryItems when GetHistoryItems is false
Interactive Mode
False makes to skip firing of the individual properties (fields) code .
True means Code will get fire for the FieldChange event of the properties.



 Methods: A method is like a function that can perform a specific task according to requirement .There are 2 types of methods
 Standard Methods
 These are common for all the Interfaces 
  •      Find
  •      Get
  •      Create
  •      Cancel
  •      Save
 User defined Methods
 These are further created by user on his requirement


Creating Component Interface in Application Designer:
1. Open new Component Interface.
2. Select the Component
3. Save the Component Interface with _CI.
4. Drag and drop the component Interface in to the Application Engine Programs
(Which generates the People code automatically. Edit it )

To test the component Interface:
1. Right click Component Interface
2. Click on Test Component Interface.

Steps to give permissions to CI:
1. People Tools-->Security-->Permissions & Roles-->Permission Lists
2. Add HCCPFGALLP (Federal all pages)
3. Click on Component Interface tab.
4. Add the Component interface.
5. Select thr Coponent Interface and click on Edit.
6. Click on Full Access and click on Ok.
7. Save it.



PeopleSoft Technical Interview questions

Application Designer:


  1. SQL View & Dynamic view:   

            Ans) 1) SQL view is a database object and Dynamic view is not a database object
                    2) Needs to write sql manually in SQL view , Needs to populate the dynamic view                dynamically through peoplecode


     2. How to bypass the search page for a component
              Ans)   1) No searck keys in search record
                         2) Defining Installation table as a search record
                         3) By using PeopleCode function.



People Code:

  1. How do you change drop down list values dynamically?
Ans)  AddDropDownItem(CodeStringDescriptionString)
             ClearDropDownList()  
The AddDropDownItem method adds an item to the dropdown list in the control for the field. The first time this method is called, it overrides the prompt table or translate table used to populate the list. Those items no longer appear in the list. Only the items added using this method display.

           2. Dynamic Prompts  
  1. Through Dynamic Prompt we can dynamically change the underlying prompt table for a particular field depending upon previous selection  
  • Select EDITTABLE from DERIVED work record  
  • Assign this field name %EDITTABLE as a prompt table at record field properties  
  • In FieldChange PeopleCode write the PeopleCode based on the condition  
  • Turn the Interactive mode & Populate  DERIVED.fieldname with the use of People Code
  1. By using Dynamic views we can achieve the same  
  • Build a dynamic view in App Designer and place the fields and enable search and List box items  
  • Go to the record field which needs to have dynamic prompt , Assign this dynamic view as a prompt
  • Write people code to pass the SQL dynamically by using field property SQLTEXT
     3.Error Handling functions in People Code  
Ans)    Error MessageGetText  
         Error MessageGetExplainText
         Error MessageGet
4. Difference between SavePreChange & Post Change  

5. Difference between Component Prebuild and Post build  
6. Save Processing :  SaveEdit -> Save PreChange -> SQL Insert/Update/Delete ->Save Postchange  
7. Search Processing :

8.       Exit (1) causes immediate termination of a PeopleCode program. Use this parameter torollback database changes.


     Exit (0) caused immediate termination of a Peoplecode Program but don’t makerollback in the database.


Application Engine:
  1. What is Dynamic Call section? & App engine from scratch..?
              At Run time, the application engine can be coded to call the different section based on         certain conditions. In order to achieve it, the following steps need to be followed:



4. %SELECT & %SELECTININT  
5. Parallel Processing & Temporary tables advanced  
                 Parallel processing is simultaneous execution of multiple instances of a single program  
  • Concurrent execution of a program by multiple users  
  • Reduction of processing time by partitioning high volumes of data into batches
6. Commit in Application Engine  

7. Calling Sqr from Application Engine

CreateProcessRequest([ProcessType, ProcessName])

try
&Prc = CreateProcessRequest();

&Prc.ProcessType = "SQR Report";
&Prc.ProcessName = "Your_Process";
&Prc.RunControlID = Your_AET.RUNCNTLID;
&Prc.RunLocation = "Server";
&Prc.OutDestType = "Web";
&Prc.OutDestFormat = "PDF";

&Prc.Schedule();
If &Prc.Status = 0 Then
MessageBox(0, "", 0, -1, "Process Started");
Else
MessageBox(0, "", 0, -1, "Process could not start");
End-If;

catch Exception &ex
MessageBox(0, "", 0, -1 , "Process could not start");
end-try;

SQR:
  1. SHOW / DISPLAY  
  • SHOW : Can be used to show multiple variables at a time
  • DISPLAY: Can be used to show one variable at a time.
   2. LET / MOVE  
  • MOVE : In addition to moving data from one field to another, it can also perform data conversions
  • There is only one incompatible combination in the Move command: date and
Numeric fields cannot be converted into each other.
  • LET :command is used to assign values to variables
3. What is SQC  
  • Library files , Contains reusable code , Can be called from multiple SQR’S  
4. Why header & footer SC’s & Execution  
Header:
  1. SETENV.SQC
  1. STDHDG01.SQC
  1. SETUP02.SQC
FOOTER:
  1. CURDTTIM.SQC
  1. DATETIME.SQC
  1. RESET.SQC
5.  SQR Execution steps  

  1. Compile Stage :       
Reads all the SQC initially (all #INCLUDE files & #DEFINE variables)
Looks for ASK command  
Loads temporary buffer allocation for ARRAY s
Checks the Syntax  
  1. Run Stage :
BEGIN-PROGRAM  
                                          ---------------------------           
END-PROGRAM  
6. ASK /INPUT  
  • ASK /INPUT is used to take I/P parameters from user
  • ASK can only be used in SETUP section / Executes at the time of COMPILE time  
  • INPUT needs to be declared out of SETUP section & Executed at the time of run time.  
7.Compile time & Run time  
8.Error Handling in SQR  
9.Calling AE from SQR  
    
10. Load lookup / Array
11. On-Break  
12. FILE Opening & Reading process