Assembles a dynamic search query against EXT_USER with outer joins to related tables and optional predicates appended at runtime based on caller-supplied criteria. Supports filtering by test-user flag, name, email, user type, status, access group, and customer ID.
SELECT*FROM(SELECTDISTINCT-- (all EXT_USER columns with aliases as in SQL-015),c.company_nameASSearchForCompanyNameFROMEXT_USERLEFTJOINpersonpONp.person_seq_num=ext_user.person_seq_numLEFTJOINext_user_typetONt.ext_user_seq_num=ext_user.ext_user_seq_numLEFTJOINext_user_access_groupgONg.EXT_USER_TYPE_SEQ_NUM=t.EXT_USER_TYPE_SEQ_NUMLEFTOUTERJOINcompanycONc.company_seq_num=t.company_seq_numLEFTOUTERJOINperson_emailpeONpe.person_seq_num=p.person_seq_numLEFTOUTERJOINemail_addresseONe.email_address_seq_num=pe.email_address_seq_numWHEREEXT_USER.test_user_flag=:TestUserFlag-- Optional predicates appended at runtime:-- AND g.ext_user_access_group_code = :AccessGroupCode-- AND (UPPER(t.customer_id) = :CustomerID OR UPPER(t.credential_1_id) = :CustomerID2)-- AND LOWER(e.email_address) LIKE :Email-- AND UPPER(p.name) LIKE :Name-- AND t.ext_user_type_code = :UserTypeCode-- AND ext_user.status_code = :StatusCode)-- Optional outer row limit: WHERE ROWNUM <= <limit>
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.