Thursday, December 12, 2013

Dynamically change the Tab Name in component

You can pass the tab name dynamically to component item label name.

1) Create the HTML object ZAM_COMP_LABLE and write the following piece of java code.









  


2)  Create the work record ZAM_COMP_LABEL_WRK along with field HTMLAREA

3) Drage the HTML Area from menu Insert

4) Assing the work record name and field to HTML area

5) Write the code either on Component - Post Build or Page activate

ZAM_COMP_LABEL_WRK.HTMLAREA.value = GetHTMLText(HTML.ZAM_COMP_LABLE,  NAME.NAME1);

6) In above example i am passing %bind(:1) value NAME.NAME1 name to the component tab
   %bind(:1) = NAME.NAME1

Tuesday, October 29, 2013

PeopleSoft Security Queries

Query to find the list of users having access to component, action along with Navigation details
 
SELECT DISTINCT roleclass.rolename,
authitem.menuname,
authitem.menulabel, 
authitem.baritemname,
authitem.itemlabel,
DECODE(authitem.DISPLAYONLY, 0, 'N', 1, 'Y') AS "Display_Only",
CASE authitem.AUTHORIZEDACTIONS
    WHEN 1 THEN 'Add'
    WHEN 2 THEN 'Update/Display'
    WHEN 3 THEN 'Add, Update/Display'
    WHEN 4 THEN 'Update/Display All'
    WHEN 5 THEN 'Add, Update/Display All'
    WHEN 6 THEN 'Update/Display, Update/Display All'
    WHEN 7 THEN 'Add, Update/Display, Update/Display All'
    WHEN 8 THEN 'Correction'
    WHEN 9 THEN 'Add, Correction'
    WHEN 10 THEN 'Update/Display, Correction'
    WHEN 11 THEN 'Add, Update/Display, Correction'
    WHEN 12 THEN 'Update/Display All, Correction'
    WHEN 13 THEN 'Add, Update/Display All, Correction'
    WHEN 14 THEN 'Update/Display, Update/Display All, Correction'
    WHEN 15 THEN 'Add, Update/Display, Update/Display All, Correction'
    ELSE 'SPECIAL' END AS "Authorized_Actions",
authitem.PNLGRPNAME,
CASE InStr(nav.PATH_TO_COMPONENT, 'Root>', 1)
  WHEN 0 THEN nav.PATH_TO_COMPONENT
  ELSE SubStr(nav.PATH_TO_COMPONENT, InStr(nav.PATH_TO_COMPONENT, 'Root>', 1) + 5, length(nav.PATH_TO_COMPONENT) - InStr(nav.PATH_TO_COMPONENT, 'Root>', 1) + 5)
  END AS navigation
from
(SELECT
DISTINCT a.CLASSID, a.MENUNAME, b.MENULABEL , a.BARITEMNAME,c.itemlabel ,
a.DISPLAYONLY,                                                                               
a.AUTHORIZEDACTIONS,
c.PNLGRPNAME
FROM PSAUTHITEM a, PSMENUDEFN b, PS_ACLCOMPONENT_V2 c
where a.MENUNAME = b.MENUNAME
AND a.menuname =  c.menuname
AND a.barname = c.barname
AND a.baritemname = c.baritemname) authitem ,
psroleclass roleclass,
(SELECT a.PORTAL_URI_SEG2 as component
, E.PORTAL_LABEL || '>' || D.PORTAL_LABEL || '>' ||C.PORTAL_LABEL ||
'>' || B.PORTAL_LABEL || '>' || A.PORTAL_LABEL as PATH_TO_COMPONENT
, A.PORTAL_URLTEXT
, A.PORTAL_ISPUBLIC as Active
, A.LASTUPDOPRID
, A.LASTUPDDTTM
, A.PORTAL_URI_SEG2
FROM PSPRSMDEFN A, PSPRSMDEFN B, PSPRSMDEFN C, PSPRSMDEFN D, PSPRSMDEFN
E
WHERE 1=1
AND A.PORTAL_PRNTOBJNAME = B.PORTAL_OBJNAME(+)
AND B.PORTAL_PRNTOBJNAME = C.PORTAL_OBJNAME(+)
AND C.PORTAL_PRNTOBJNAME = D.PORTAL_OBJNAME(+)
AND D.PORTAL_PRNTOBJNAME = E.PORTAL_OBJNAME(+)
AND (E.PORTAL_NAME IS NULL OR E.PORTAL_NAME = 'EMPLOYEE')
AND (A.PORTAL_NAME = 'EMPLOYEE' OR A.PORTAL_NAME IS NULL )
AND (B.PORTAL_NAME = 'EMPLOYEE' OR B.PORTAL_NAME IS NULL )
AND (C.PORTAL_NAME = 'EMPLOYEE' OR C.PORTAL_NAME IS NULL )
AND (D.PORTAL_NAME = 'EMPLOYEE' OR D.PORTAL_NAME IS NULL )
) nav
WHERE  roleclass.rolename =
AND authitem.classid = roleclass.classid
AND  authitem.PNLGRPNAME =  nav.PORTAL_URI_SEG2(+)
ORDER BY rolename, menuname, baritemname
 
***********************************************************************
Below are the SQLs to find the Peoplecode and SQL objects which are  created or modified by you but not included in any of your project.
 
 
--------------------------------------------------
-- Selects Peoplecode not inserted in a project
--------------------------------------------------
SELECT
CASE A.OBJECTID1
when 1 then 'Record Peoplecode'
when 3 then 'Menu Peoplecode'
when 9 then 'Page Peoplecode'
when 10 then 'Component level Peoplecode'
when 60 then 'Message Peoplecode'
when 74 then 'Component Interface Peoplecode'
when 87 then 'Subscription Peoplecode'
END AS  OBJect_Type
,
A.OBJECTVALUE1 || '.' || A.OBJECTVALUE2 || '.' || A.OBJECTVALUE3 || '.' || A.OBJECTVALUE4 || '.' || A.OBJECTVALUE5 || '.' || A.OBJECTVALUE6  || '.' || A.OBJECTVALUE7
AS EXTENDED_OBJ_NAME
FROM PSPCMPROG    A 
 , PSPCMTXT B -- join to pspcmtxt to filter out reverted changes (back to blank)
WHERE  LASTUPDOPRID =
AND  A.OBJECTID1 || A.OBJECTVALUE1 || A.OBJECTID2 ||A.OBJECTVALUE2 || A.OBJECTID3 || A.OBJECTVALUE3 || A.OBJECTID4 || A.OBJECTVALUE4
NOT IN
(
SELECT OBJECTID1 || OBJECTVALUE1 || OBJECTID2 || OBJECTVALUE2 || OBJECTID3 || OBJECTVALUE3 || OBJECTID4 || OBJECTVALUE4
FROM PSPROJECTITEM I, PSPROJECTDEFN   d
WHERE I.PROJECTNAME = D.PROJECTNAME
AND D.LASTUPDOPRID =
and i.objecttype in (8,9,39,40,42,43,44,46,47,48)
)
AND a.objectid1                               = b.objectid1
AND a.objectvalue1                        = b.objectvalue1
AND a.objectid2                               = b.objectid2
AND a.objectvalue2                        = b.objectvalue2            
AND a.objectid3                               = b.objectid3
AND a.objectvalue3                        = b.objectvalue3
AND a.objectid4                               = b.objectid4
AND a.objectvalue4                        = b.objectvalue4
AND a.objectid5                               = b.objectid5
AND a.objectvalue5                        = b.objectvalue5
AND a.objectid6                               = b.objectid6
AND a.objectvalue6                        = b.objectvalue6
AND a.objectid7                               = b.objectid7
AND a.objectvalue7                        = b.objectvalue7
AND  A.OBJECTID1 NOT IN   (66,104)
;    
  
 
 
--------------------------------------------------
-- Selects App Engine Peoplecode not inserted in a project
--------------------------------------------------
SELECT
DISTINCT
'Application Engine Peoplecode',
A.OBJECTVALUE1 || '.' || A.OBJECTVALUE2 || '.' || A.OBJECTVALUE3 || '.' || A.OBJECTVALUE4 || '.' || A.OBJECTVALUE5 || '.' || A.OBJECTVALUE6  || '.' || A.OBJECTVALUE7
FROM PSPCMPROG    A 
WHERE  LASTUPDOPRID =
AND   A.OBJECTID1|| A.OBJECTVALUE1|| A.OBJECTID2||A.OBJECTVALUE2||A.OBJECTVALUE3||A.OBJECTVALUE4||A.OBJECTVALUE5  
 NOT IN
(
SELECT I.OBJECTID1 ||I.OBJECTVALUE1 || I.OBJECTID2 ||REPLACE(I.OBJECTVALUE2,' ','')
 FROM PSPROJECTITEM I, PSPROJECTDEFN   d
WHERE I.PROJECTNAME = D.PROJECTNAME
AND D.LASTUPDOPRID =
and objecttype =43
)
and A.OBJECTID1 = 66
;    
 
--------------------------------------------------
-- Selects App Package Peoplecode not inserted in a project
--------------------------------------------------
SELECT
'Application Package Peoplecode'
, A.OBJECTVALUE1 || '.' || A.OBJECTVALUE2
 FROM PSPCMPROG    A 
WHERE  LASTUPDOPRID =
AND   A.OBJECTID1|| A.OBJECTVALUE1|| A.OBJECTID2||A.OBJECTVALUE2
NOT IN
(
SELECT I.OBJECTID1 ||I.OBJECTVALUE1 || I.OBJECTID2 || I.OBJECTVALUE2
 FROM PSPROJECTITEM I, PSPROJECTDEFN   d
WHERE I.PROJECTNAME = D.PROJECTNAME
AND D.LASTUPDOPRID =
and objecttype =58
)
and A.OBJECTID1 = 104
;    
 
 
 
--------------------------------------------------
-- Selects SQL Objects not inserted in a project
--------------------------------------------------
SELECT 
CASE WHEN SQLTYPE = 0 THEN 'SQL Object '
WHEN SQLTYPE = 1 THEN 'App Engine Step '
WHEN SQLTYPE = 2 THEN 'Record View'
WHEN SQLTYPE = 6 THEN 'Application Engine XSLT'
END AS OBJECTTYPE      ,
SQLID
FROM PSSQLDEFN
WHERE   LASTUPDOPRID =
AND  SQLID
NOT IN
(
SELECT OBJECTVALUE1
FROM PSPROJECTITEM I, PSPROJECTDEFN   d
WHERE I.PROJECTNAME = D.PROJECTNAME
AND D.LASTUPDOPRID =
AND OBJECTTYPE in (30)
);

Wednesday, September 18, 2013

Web Service in PeopleSoft

Integration technology built into the PeopleSoft Internet Architecture – the PeopleSoft Integration Broker

• Embedded in tool set and delivered with all PeopleSoft Enterprise applications
• Providing support for:
• Web Services
• Inbound/outbound synchronous/asynchronous XML messaging,including SOAP support
• COM, C, C++, Java, XML access to PeopleSoft application logic via API
• Flat File processing, inbound and outbound


What is an Integration Broker?



• Messaging
• Transformation
• Routing
• Connectors
• Development
• Monitoring


Services


Focus on Added Web Services Support in PeopleTools 8.48





Upgrade - Retrofit Activity

SQL to find a specific string in all SQL definitions:

SELECT SQLID, CASE WHEN SQLTYPE=0 THEN 'SQL Object' WHEN SQLTYPE=1 THEN 'AE Step'
WHEN SQLTYPE=2 THEN 'SQL View' END AS SQLTYPE, SQLTEXT FROM PSSQLTEXTDEFN WHERE SQLTEXT LIKE '%<Mention search value here>%'



Below is list of SQL object type.
SQLTYPE
Data/Object Type
0
Stand alone SQL objects
1
Application engine step
2
SQL belongs to a view
 
 
SQL to find a specific string in all SQL definitions:
SELECT    CASE OBJECTID1 WHEN 1 THEN 'Record' WHEN 2 THEN 'Field' WHEN 3 THEN 'Menu' WHEN 4 THEN 'Bar Name' WHEN 5 THEN 'Item Name' WHEN 9 THEN 'Page' WHEN 10 THEN 'Component' WHEN 12 THEN 'Event' WHEN 20 THEN 'DB Type' WHEN 21 THEN 'Effective Date' WHEN 39 THEN 'Market' WHEN 60 THEN 'Message' WHEN 66 THEN 'App Eng' WHEN 74 THEN 'Comp Int - CI' WHEN 77 THEN 'Section' WHEN 78 THEN 'Step' WHEN 87 THEN 'Subscription' WHEN 104 THEN 'App Package' WHEN 105 THEN 'Class' WHEN 106 THEN 'Class' WHEN 107 THEN 'Class'    ELSE 'N/A' END AS OBJECTID1,OBJECTVALUE1,   CASE OBJECTID2 WHEN 1 THEN 'Record' WHEN 2 THEN 'Field' WHEN 3 THEN 'Menu' WHEN 4 THEN 'Bar Name' WHEN 5 THEN 'Item Name' WHEN 9 THEN 'Page' WHEN 10 THEN 'Component' WHEN 12 THEN 'Event' WHEN 20 THEN 'DB Type' WHEN 21 THEN 'Effective Date' WHEN 39 THEN 'Market' WHEN 60 THEN 'Message' WHEN 66 THEN 'App Eng' WHEN 74 THEN 'Comp Int - CI' WHEN 77 THEN 'Section' WHEN 78 THEN 'Step' WHEN 87 THEN 'Subscription' WHEN 104 THEN 'App Package' WHEN 105 THEN 'Class' WHEN 106 THEN 'Class' WHEN 107 THEN 'Class'    ELSE 'N/A' END AS OBJECTID2, OBJECTVALUE2,   CASE OBJECTID3   WHEN 1   THEN 'Record'   WHEN 2   THEN 'Field'   WHEN 3   THEN 'Menu'   WHEN 4   THEN 'Bar Name'   WHEN 5   THEN 'Item Name'   WHEN 9   THEN 'Page'   WHEN 10   THEN 'Component'   WHEN 12   THEN 'Event'   WHEN 20   THEN 'DB Type'   WHEN 21   THEN 'Effective Date'   WHEN 39   THEN 'Market'   WHEN 60   THEN 'Message'   WHEN 66   THEN 'App Eng'   WHEN 74   THEN 'Comp Int - CI'   WHEN 77   THEN 'Section'   WHEN 78   THEN 'Step'   WHEN 87   THEN 'Subscription'   WHEN 104   THEN 'App Package'   WHEN 105   THEN 'Class'   WHEN 106   THEN 'Class'   WHEN 107   THEN 'Class'  ELSE 'N/A' END AS OBJECTID3,OBJECTVALUE3, CASE OBJECTID4   WHEN 1   THEN 'Record'   WHEN 2   THEN 'Field'   WHEN 3   THEN 'Menu'   WHEN 4   THEN 'Bar Name'   WHEN 5   THEN 'Item Name'   WHEN 9   THEN 'Page'   WHEN 10   THEN 'Component'   WHEN 12   THEN 'Event'   WHEN 20   THEN 'DB Type'   WHEN 21   THEN 'Effective Date'   WHEN 39   THEN 'Market'   WHEN 60   THEN 'Message'   WHEN 66   THEN 'App Eng'   WHEN 74   THEN 'Comp Int - CI'   WHEN 77   THEN 'Section'   WHEN 78   THEN 'Step'   WHEN 87   THEN 'Subscription'   WHEN 104   THEN 'App Package'   WHEN 105   THEN 'Class'   WHEN 106   THEN 'Class'   WHEN 107   THEN 'Class'    ELSE 'N/A' END AS OBJECTID4, OBJECTVALUE4 ,   CASE OBJECTID5   WHEN 1   THEN 'Record'   WHEN 2   THEN 'Field'   WHEN 3   THEN 'Menu'   WHEN 4   THEN 'Bar Name'   WHEN 5   THEN 'Item Name'   WHEN 9   THEN 'Page'   WHEN 10   THEN 'Component'   WHEN 12   THEN 'Event'   WHEN 20   THEN 'DB Type'   WHEN 21   THEN 'Effective Date'   WHEN 39   THEN 'Market'   WHEN 60   THEN 'Message'   WHEN 66   THEN 'App Eng'   WHEN 74   THEN 'Comp Int - CI'   WHEN 77   THEN 'Section'   WHEN 78   THEN 'Step'   WHEN 87   THEN 'Subscription'   WHEN 104   THEN 'App Package'   WHEN 105   THEN 'Class'   WHEN 106   THEN 'Class'   WHEN 107   THEN 'Class'  ELSE 'N/A' END AS OBJECTID5,OBJECTVALUE5, CASE OBJECTID6   WHEN 1   THEN 'Record'   WHEN 2   THEN 'Field'   WHEN 3   THEN 'Menu'   WHEN 4   THEN 'Bar Name'   WHEN 5   THEN 'Item Name'   WHEN 9   THEN 'Page'   WHEN 10   THEN 'Component'   WHEN 12   THEN 'Event'   WHEN 20   THEN 'DB Type'   WHEN 21   THEN 'Effective Date'   WHEN 39   THEN 'Market'   WHEN 60   THEN 'Message'   WHEN 66   THEN 'App Eng'   WHEN 74   THEN 'Comp Int - CI'   WHEN 77   THEN 'Section'   WHEN 78   THEN 'Step'   WHEN 87   THEN 'Subscription'   WHEN 104   THEN 'App Package'   WHEN 105   THEN 'Class'   WHEN 106   THEN 'Class'   WHEN 107   THEN 'Class'    ELSE 'N/A' END AS OBJECTID6,OBJECTVALUE6,   CASE OBJECTID7 WHEN 1 THEN 'Record' WHEN 2 THEN 'Field' WHEN 3 THEN 'Menu' WHEN 4 THEN 'Bar Name' WHEN 5 THEN 'Item Name' WHEN 9 THEN 'Page' WHEN 10 THEN 'Component' WHEN 12 THEN 'Event' WHEN 20 THEN 'DB Type' WHEN 21 THEN 'Effective Date' WHEN 39 THEN 'Market' WHEN 60 THEN 'Message' WHEN 66 THEN 'App Eng' WHEN 74 THEN 'Comp Int - CI' WHEN 77 THEN 'Section' WHEN 78 THEN 'Step' WHEN 87 THEN 'Subscription' WHEN 104 THEN 'App Package' WHEN 105 THEN 'Class' WHEN 106 THEN 'Class' WHEN 107 THEN 'Class'    ELSE 'N/A' END AS OBJECTID7,OBJECTVALUE7,PCTEXT   FROM PSPCMTXT WHERE PCTEXT LIKE '%Mention search value here%';   
 
List of OBJECTID1 field values:
 
ObjectID
Object Type
1
Record
3
Menu
9
Page
10
Component
60
Message
66
App Eng
74
Comp Int - CI
104
App Package
  
 
Please have a look and add this sql to our Retrofit approach document.
 
Select PNLNAME, FIELDNUM, RECNAME, FIELDNAME,CASE FIELDTYPE
        WHEN 0 THEN 'Static Text'
        WHEN 1 THEN 'Frame'
        WHEN 2 THEN 'Group Box'
        WHEN 3 THEN 'Statis Image'
        WHEN 4 THEN 'Edit Box'
        WHEN 5 THEN 'Dropdown List'
        WHEN 6 THEN 'Long Edit Box'
        WHEN 7 THEN 'Check Box'
        WHEN 8 THEN 'Radio Button'
        WHEN 9 THEN 'Image'
        WHEN 10 THEN 'Scroll Bar'
        WHEN 11 THEN 'Subpage'
        WHEN 12 THEN 'Peoplecode Command - (Button/Hyperlink Destination)'
        WHEN 13 THEN 'Scroll Action - (Button/Hyperlink Destination)'
        WHEN 14 THEN 'Toolbar Action - (Button/Hyperlink Destination)'
        WHEN 15 THEN 'External Link - (Button/Hyperlink Destination)'
        WHEN 16 THEN 'Internal Link - (Button/Hyperlink Destination)'
        WHEN 17 THEN 'Process - (Button/Hyperlink Destination)'
        WHEN 18 THEN 'Secondary Page'
        WHEN 19 THEN 'Grid'
        WHEN 20 THEN 'Tree'
        WHEN 21 THEN 'Secondary Page - (Button/Hyperlink Destination)'
        WHEN 23 THEN 'Horizontal Rule'
        WHEN 24 THEN 'Tab Separator'
        WHEN 25 THEN 'Html Area'
        WHEN 26 THEN 'Prompt Action - (Button/Hyperlink Destination)'
        WHEN 27 THEN 'Scroll Area'
        WHEN 29 THEN 'Page Anchor'
        WHEN 30 THEN 'Chart'
        WHEN 31 THEN 'Push Button/Link'
        WHEN 32 THEN 'Analytic Grid'
        ELSE TO_CHAR(FIELDTYPE)
    END CASE
from sysadm.PSPNLFIELD where pnlname = '';
 
Retrofit - Private Queries using below sql updates:
 
UPDATE SYSADM.PSQRYBIND SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYCRITERIA SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYDEFN SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYDEL SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYEXPR SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYFIELD SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYRECORD SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYSELECT SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYSTATS SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';
UPDATE SYSADM.PSQRYTRANS SET OPRID = ' ' WHERE OPRID = '' AND QRYNAME = '';