• No results found

Create a 'row wise' session initialization block and a corresponding session variable to get all the parent nodes the user has access to in a tree Use the SQL

E- Business Suite and JD Edwards EnterpriseOne adapters:

A.1.29 How to Set Up General Ledger Security for Peoplesoft Overview

A.1.29.3 Configuring GL Segment Security

1. Create a 'row wise' session initialization block and a corresponding session variable to get all the parent nodes the user has access to in a tree Use the SQL

queries and session variable names as given in the table below depending on the dimension that is secured.

Table A–88 Initialization Blocks and Session Variables

Dimension SQL Variable Name

Dim – Cost Center

SELECT DISTINCT 'GL_SEC_

COSTCENTER_FILTEREDACCESS____ PSFT',

'Department'||'~'||DEFN.SETID||'~'| |DEFN.TREE_

NAME||'~'||DEFN.TREE_NODE FROM PS_KSEC_RULES RULES, PS_ KSEC_RULES_DEFN DEFN, PS_KSEC_ RULES_EVEN EVENTS, PS_KSEC_ OPR_RULES OPR WHERE OPR.KSEC_ RULE=EVENTS.KSEC_RULE AND EVENTS.KSEC_RULE=RULES.KSEC_ RULE AND RULES.KSEC_

RULE=DEFN.KSEC_RULE AND EVENTS.KSEC_EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND DEFN.CHARTFIELD='DEPTID' AND OPR.OPRID = 'VALUEOF(NQ_ SESSION.USER)'

UNION

SELECT DISTINCT 'GL_SEC_

COSTCENTER_FILTEREDACCESS____ PSFT',

'Department'||'~'||DEFN.SETID||'~'| |DEFN.TREE_

NAME||'~'||DEFN.TREE_NODE FROM PS_KSEC_RULES RULES, PS_ KSEC_RULES_DEFN DEFN,PS_KSEC_ RULES_EVEN EVENTS, PS_KSEC_ CLSS_RULES CLSS, PSOPRDEFN OP, PSROLEUSER ORL, PSROLECLASS RCL WHERE CLSS.OPRCLASS = RCL.CLASSID AND OP.OPRID = ORL.ROLEUSER AND

ORL.ROLENAME = RCL.ROLENAME AND CLSS.KSEC_

RULE=EVENTS.KSEC_RULE AND EVENTS.KSEC_RULE=RULES.KSEC_ RULE AND RULES.KSEC_

RULE=DEFN.KSEC_RULE AND EVENTS.KSEC_EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND DEFN.CHARTFIELD='DEPTID' AND OP.OPRID = 'VALUEOF(NQ_ SESSION.USER)

GL_SEC_COSTCENTER_ FILTEREDACCESS____PSFT

Dim – Natural Account

SELECT DISTINCT 'GL_SEC_ ACCOUNT_FILTEREDACCESS____ PSFT',

'Account'||'~'||DEFN.SETID||'~'||D EFN.TREE_NAME||'~'||DEFN.TREE_ NODE FROM PS_KSEC_RULES RULES, PS_KSEC_RULES_DEFN DEFN, PS_ KSEC_RULES_EVEN EVENTS, PS_ KSEC_OPR_RULES OPR WHERE OPR.KSEC_RULE=EVENTS.KSEC_ RULE AND EVENTS.KSEC_ RULE=RULES.KSEC_RULE AND RULES.KSEC_RULE=DEFN.KSEC_ RULE AND EVENTS.KSEC_ EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND

DEFN.CHARTFIELD='ACCOUNT' AND OPR.OPRID = 'VALUEOF(NQ_ SESSION.USER)'

UNION

SELECT DISTINCT 'GL_SEC_ ACCOUNT_FILTEREDACCESS____ PSFT',

'Account'||'~'||DEFN.SETID||'~'||D EFN.TREE_NAME||'~'||DEFN.TREE_ NODE FROM PS_KSEC_RULES RULES, PS_KSEC_RULES_DEFN DEFN,PS_ KSEC_RULES_EVEN EVENTS, PS_ KSEC_CLSS_RULES CLSS,

PSOPRDEFN OP, PSROLEUSER ORL, PSROLECLASS RCL WHERE

CLSS.OPRCLASS = RCL.CLASSID AND OP.OPRID = ORL.ROLEUSER AND ORL.ROLENAME = RCL.ROLENAME AND CLSS.KSEC_

RULE=EVENTS.KSEC_RULE AND EVENTS.KSEC_RULE=RULES.KSEC_ RULE AND RULES.KSEC_

RULE=DEFN.KSEC_RULE AND EVENTS.KSEC_EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND

DEFN.CHARTFIELD='ACCOUNT' AND OP.OPRID = 'VALUEOF(NQ_ SESSION.USER)'

GL_SEC_ACCOUNT_ FILTEREDACCESS____PSFT

Table A–88 (Cont.) Initialization Blocks and Session Variables

Dim – Balancing Segment

SELECT DISTINCT 'GL_SEC_

BALANCING_FILTEREDACCESS____ PSFT', 'Fund

Code'||'~'||DEFN.SETID||'~'||DEFN .TREE_NAME||'~'||DEFN.TREE_ NODE FROM PS_KSEC_RULES RULES, PS_KSEC_RULES_DEFN DEFN, PS_ KSEC_RULES_EVEN EVENTS, PS_ KSEC_OPR_RULES OPR WHERE OPR.KSEC_RULE=EVENTS.KSEC_ RULE AND EVENTS.KSEC_ RULE=RULES.KSEC_RULE AND RULES.KSEC_RULE=DEFN.KSEC_ RULE AND EVENTS.KSEC_ EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND DEFN.CHARTFIELD='FUND_ CODE' AND OPR.OPRID =

'VALUEOF(NQ_SESSION.USER)' UNION

SELECT DISTINCT 'GL_SEC_

BALANCING_FILTEREDACCESS____ PSFT', 'Fund

Code'||'~'||DEFN.SETID||'~'||DEFN .TREE_NAME||'~'||DEFN.TREE_ NODE FROM PS_KSEC_RULES RULES, PS_KSEC_RULES_DEFN DEFN,PS_ KSEC_RULES_EVEN EVENTS, PS_ KSEC_CLSS_RULES CLSS,

PSOPRDEFN OP, PSROLEUSER ORL, PSROLECLASS RCL WHERE

CLSS.OPRCLASS = RCL.CLASSID AND OP.OPRID = ORL.ROLEUSER AND ORL.ROLENAME = RCL.ROLENAME AND CLSS.KSEC_

RULE=EVENTS.KSEC_RULE AND EVENTS.KSEC_RULE=RULES.KSEC_ RULE AND RULES.KSEC_

RULE=DEFN.KSEC_RULE AND EVENTS.KSEC_EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND DEFN.CHARTFIELD='FUND_ CODE' AND OP.OPRID =

'VALUEOF(NQ_SESSION.USER)'

GL_SEC_BALANCING_ FILTEREDACCESS____PSFT

Table A–88 (Cont.) Initialization Blocks and Session Variables

Connection Pool: "PeopleSoft OLTP"."PeopleSoft OLTP DbAuth Connection Pool"

Notes:

- For the Dim – GL Segment<n> init blocks, use the appropriate chartfield string and the chartfield code based on the chartfield you are securing. You can get the chartfield code from the PeopleSoft source system and the chartfield string should match the names used in file_glacct_segment_config_psft.csv file.

- Use the default value for these variables as 'Default'. Dim – GL

Segment<n>

SELECT DISTINCT 'GL_SEC_

SEGMENT<n>_FILTEREDACCESS____ PSFT', '<

ChartfieldString>'||'~'||DEFN.SETID| |'~'||DEFN.TREE_

NAME||'~'||DEFN.TREE_NODE FROM PS_KSEC_RULES RULES, PS_ KSEC_RULES_DEFN DEFN, PS_KSEC_ RULES_EVEN EVENTS, PS_KSEC_ OPR_RULES OPR WHERE OPR.KSEC_ RULE=EVENTS.KSEC_RULE AND EVENTS.KSEC_RULE=RULES.KSEC_ RULE AND RULES.KSEC_

RULE=DEFN.KSEC_RULE AND EVENTS.KSEC_EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND

DEFN.CHARTFIELD='<ChartfieldCode >' AND OPR.OPRID = 'VALUEOF(NQ_ SESSION.USER)'

UNION

SELECT DISTINCT 'GL_SEC_

SEGMENT<n>_FILTEREDACCESS____ PSFT', '<

ChartfieldString>'||'~'||DEFN.SETID| |'~'||DEFN.TREE_

NAME||'~'||DEFN.TREE_NODE FROM PS_KSEC_RULES RULES, PS_ KSEC_RULES_DEFN DEFN,PS_KSEC_ RULES_EVEN EVENTS, PS_KSEC_ CLSS_RULES CLSS, PSOPRDEFN OP, PSROLEUSER ORL, PSROLECLASS RCL WHERE CLSS.OPRCLASS = RCL.CLASSID AND OP.OPRID = ORL.ROLEUSER AND

ORL.ROLENAME = RCL.ROLENAME AND CLSS.KSEC_

RULE=EVENTS.KSEC_RULE AND EVENTS.KSEC_RULE=RULES.KSEC_ RULE AND RULES.KSEC_

RULE=DEFN.KSEC_RULE AND EVENTS.KSEC_EVENT='INQUIRE' AND RULES.KSEC_ATTRIB='A' AND DEFN.KSEC_RULE_PARAM='TRE' AND

DEFN.CHARTFIELD='<ChartfieldCode >' AND OP.OPRID = 'VALUEOF(NQ_ SESSION.USER)'

GL_SEC_SEGMENT<n>_ FILTEREDACCESS____PSFT

Table A–88 (Cont.) Initialization Blocks and Session Variables

- All the variables created above should end with ____PSFT (4 '_' followed by the string PSFT). This is for multi source implementation where the same variable can be initialized using multiple SQL statements for multiple source systems.

2. Create a 'row wise' session initialization block and a corresponding session