사용자정의 쿼리 예

조정 준수 예

예 1

이러한 조정 준수 예에서는 "월별" 빈도가 포함된 기간 목록을 표시하는 보고서를 실행하려 한다고 가정합니다.

디자인 중인 보고서에 매개변수가 포함되는 경우 레코드를 표시하지 않거나 모든 레코드를 표시하도록 보고서를 디자인할 수 있습니다.

  • 매개변수 쿼리: select frequency_id, frequency_name from arm_frequencies

  • 보고서 쿼리 옵션 1: (사용자가 빈도 값을 제공하지 않을 경우 기간을 반환하지 않음)

    select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = ~FREQUENCY~

  • 보고서 쿼리 옵션 2: (사용자가 빈도 값을 제공하지 않을 경우 모든 기간을 반환함)

    select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = coalesce(~FREQUENCY~,pf.frequency_id)

    Note:

    매개변수 이름은 아무 이름이나 지정할 수 있지만 물결표(~)로 묶어야 합니다.

    두 번째 옵션에서 coalesce() 함수는 목록에서 null이 아닌 첫 번째 값을 반환합니다. 따라서 FREQUENCY가 null이면 pf.frequency_id를 반환하며, 이 경우 해당 조건이 항상 true(pf.frequency_id = pf.frequency_id)이므로 모든 레코드가 반환됩니다.

예 2

단일 TEXT 매개변수(~INPUT_PARAMETER~)를 사용하여 Login1, Login2, Login3과 같은 여러 값을 Oracle Database INSTR 함수를 사용하는 보고서 쿼리에 전달할 수 있습니다.

다음 보고서 쿼리 예제는 Login1,Login2,Login3의 TEXT 매개변수가 전달된 후 FCM_USERS 테이블의 행을 반환합니다.

SELECT first_name, last_name FROM fcm_users 
       WHERE INSTR(','||'~INPUT_PARAMETER~'||',', ','||USER_LOGIN||',') > 0;

트랜잭션 일치 예

이러한 예에서는 지정된 조정 유형의 조정 목록을 확인하려 한다고 가정합니다.

  • 매개변수 쿼리

    SELECT TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, (TM_RECON_TYPE.NAME || ' (' || TM_RECON_TYPE.TEXT_ID || ')') AS RECONCILIATION_TYPE_NAME FROM TM_RECON_TYPE TM_RECON_TYPE
  • 보고서 쿼리, 옵션 1: 사용자가 조정 유형을 선택하지 않은 경우 조정을 반환하지 않음.

    SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID,TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, NVL ((SELECT P_FCM_USERS.USER_NAME FROM FCM_USERS_V P_FCM_USERS WHERE TM_RECON.PREPARER = P_FCM_USERS.USER_ID ), TM_RECON.PREPARER ) AS PREPARER, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND (TM_RECON_TYPE.TEXT_ID = '~RECONCILIATION_TYPE_ID~')
  • 보고서 쿼리, 옵션 2: 사용자가 조정 유형을 선택하지 않은 경우 모든 조정 반환.

    SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID,TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, NVL ((SELECT P_FCM_USERS.USER_NAME FROM FCM_USERS_V P_FCM_USERS WHERE TM_RECON.PREPARER = P_FCM_USERS.USER_ID ), TM_RECON.PREPARER ) AS PREPARER, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND COALESCE('~RECONCILIATION_TYPE_ID~',TM_RECON_TYPE.TEXT_ID)

    Note:

    매개변수 이름은 아무 이름이나 지정할 수 있지만 물결표(~)로 묶어야 합니다.

    두번째 옵션에서 coalesce() 함수는 목록에서 널이 아닌 첫번째 값을 반환합니다. RECONCILIATION_TYPE_ID가 널이면 TM_RECON_TYPE.TEXT_ID를 반환하며, 이 경우 조건은 항상 참((TM_RECON_TYPE.TEXT_ID = TM_RECON_TYPE.TEXT_ID)이므로 모든 레코드가 반환됩니다.

  • 보고서 쿼리, 옵션 3: 사용자가 액세스 권한이 있는 경우 모든 조정 반환).

    SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID, TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE, ARM_RECONCILIATIONS ProfileEO WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND TM_RECON.TEXT_ID = ProfileEO.RECONCILIATION_ACCOUNT_ID AND $ARM_SECURITY_CLAUSE$ AND ProfileEO.PERIOD_ID = -2