Sunday, September 23, 2012

SQL to get Record Field attributes of PeopleSoft Record

To get list of PS records with all fields attributes like keyfield information prompt table name, default value etc

----For Oracle DataBase

SELECT A.RECNAME,
       A.FIELDNAME,
    CASE
    WHEN bitand(A.USEEDIT,1) = 0 THEN 'N'
    WHEN bitand(A.USEEDIT,1) = 1 THEN 'Y'
ELSE ' ' END ,
       A.FIELDNUM,
    CASE B.FIELDTYPE
    WHEN 0 THEN 'CHAR'
    WHEN 1 THEN 'LONG CHAR'
    WHEN 2 THEN 'NBR'
    WHEN 3 THEN 'SIGN'
   WHEN 4 THEN 'DATE'
    WHEN 5 THEN 'TIME'
    WHEN 6 THEN 'DTTM'
    WHEN 7 THEN 'IMG'
    WHEN 8 THEN 'VERS'
ELSE ' ' END ,
       B.LENGTH,
       CASE
    WHEN bitand(A.USEEDIT,256) = 0 THEN 'N'
    WHEN bitand(A.USEEDIT,256) = 256 THEN 'Y'
    ELSE ' ' END ,
    A.EDITTABLE ,
    A.DEFRECNAME ,
    A.DEFFIELDNAME ,
        ( SELECT DISTINCT 'Y' FROM PSXLATITEM C WHERE C.FIELDNAME=A.FIELDNAME) AS TRANSLATE
FROM PSRECFIELDDB A ,PSDBFIELD B
WHERE A.RECNAME IN ('SF_ACCTG_LN'
)
AND A.FIELDNAME=B.FIELDNAME
ORDER BY A.RECNAME,A.FIELDNUM
 -_sql sERVER
SELECT A.RECNAME,
       A.FIELDNAME,
    CASE A.USEEDIT&1
    WHEN 0 THEN 'N'
    WHEN 1 THEN 'Y'
ELSE ' ' END AS KEYFIELD,
       A.FIELDNUM,
    CASE B.FIELDTYPE
    WHEN 0 THEN 'CHAR'
    WHEN 1 THEN 'LONG CHAR'
    WHEN 2 THEN 'NBR'
    WHEN 3 THEN 'SIGN'
    WHEN 4 THEN 'DATE'
    WHEN 5 THEN 'TIME'
    WHEN 6 THEN 'DTTM'
    WHEN 7 THEN 'IMG'
    WHEN 8 THEN 'VERS'
ELSE ' ' END "TYPE",
       B.LENGTH,
       CASE A.USEEDIT&256
    WHEN 0 THEN 'N'
    WHEN 256 THEN 'Y'
    ELSE ' ' END AS REQFIELD,
    A.EDITTABLE AS PROMPTTBL,
    A.DEFRECNAME AS  DEFAULT_REC,
    A.DEFFIELDNAME AS 'DEF_REC_FLD/VALUE',
        ( SELECT DISTINCT 'Y' FROM PSXLATITEM C WHERE C.FIELDNAME=A.FIELDNAME) AS TRANSLATE
FROM PSRECFIELDDB A ,PSDBFIELD B
WHERE A.RECNAME IN ('ARB_BILL_TP_LST',
)
AND A.FIELDNAME=B.FIELDNAME
ORDER BY A.RECNAME,A.FIELDNUM

---- For SQL Server DataBase

SELECT A.RECNAME,
A.FIELDNAME,
CASE A.USEEDIT&1
WHEN 0 THEN 'N'
WHEN 1 THEN 'Y'
ELSE ' ' END AS KEYFIELD,
A.FIELDNUM,
CASE B.FIELDTYPE
WHEN 0 THEN 'CHAR'
WHEN 1 THEN 'LONG CHAR'
WHEN 2 THEN 'NBR'
WHEN 3 THEN 'SIGN'
WHEN 4 THEN 'DATE'
WHEN 5 THEN 'TIME'
WHEN 6 THEN 'DTTM'
WHEN 7 THEN 'IMG'
WHEN 8 THEN 'VERS'
ELSE ' ' END "TYPE",
B.LENGTH,
CASE A.USEEDIT&256
WHEN 0 THEN 'N'
WHEN 256 THEN 'Y'
ELSE ' ' END AS REQFIELD,
A.EDITTABLE AS PROMPTTBL,
A.DEFRECNAME AS DEFAULT_REC,
A.DEFFIELDNAME AS 'DEF_REC_FLD/VALUE',
( SELECT DISTINCT 'Y' FROM PSXLATITEM C WHERE C.FIELDNAME=A.FIELDNAME) AS TRANSLATE

FROM PSRECFIELDDB A ,PSDBFIELD B

WHERE A.FIELDNAME=B.FIELDNAME

AND A.RECNAME IN ( )

ORDER BY A.RECNAME,A.FIELDNUM

-------------------------------------------------------------------------------------------------------------

No comments:

Post a Comment