Skip to main content

APEX Reports with dynamic help text in Oracle APEX 4.2 using CSS

Objective:

To show dynamic help text in APEX reports (Interactive/classical) in Oracle APEX 4.2 using CSS.

Solution:

Step 1: Create Interactive report

Step 2: Use below query in IR Region source.

SELECT
  *
FROM
  (
    SELECT
      ROWNUM level_value ,
      upper(target) target,
      started_by
    FROM
      (
        SELECT
          ('<span style="cursor:help" title="'
          || upper(reportname)
          || '">'
          || (
            CASE
              WHEN aa.sub_pageid !=:app_page_id
              THEN '<a href="'
                ||'f?p=&APP_ID.:'
                ||aa.sub_pageid
                ||':'
                || :app_session
                ||':::'
                ||aa.sub_pageid
                ||':">'
                ||initcap(aa.subtabname)
                ||' </a>'
              ELSE '<font color=purple>'
                ||initcap(aa.subtabname)
                ||'</font>'
            END)
          || '</span>') AS target,
          trim(upper(aa.subtabname)) rep_ord ,
          ab.maker_id AS "STARTED_BY"
        FROM
          rep_dept_report_map_details aa,
          ds_rep_report_master ab
        WHERE
          aa.repid IN
          (
            SELECT DISTINCT
              rsd.reportid
            FROM
              rep_role_dept_report_map rsd,
              rep_role_dept_map rd,
              rep_user_master um,
              rep_user_role_map ud,
              rep_role_master rm,
              rep_department_sub_master dsm,
              rep_dept_report_map_details reptd,
              rep_role_dept_sub_map rrdsm,
              ds_rep_report_master drp
            WHERE
              rsd.deptid               =rd.deptid
            AND trim(upper(um.user_id))=trim(upper(:p0_userid))
            AND um.user_id             =ud.user_id
            AND rd.roleid              =ud.roleid
            AND rsd.role_id            =ud.roleid
            AND rm.role_id             =ud.roleid
            AND dsm.dept_subid         =reptd.stabid
            AND rrdsm.dept_subid=dsm.dept_subid
            AND rm.role_id      =rrdsm.roleid
            AND rsd.reportid=reptd.repid
            AND drp.repid   =reptd.repid
            AND drp.rstatus LIKE 'C'
            AND trunc(SYSDATE) = trunc(drp.endtime)
          )
        AND aa.repid=ab.repid
        ORDER BY
          ab.endtime DESC
      )

  );

Output:



Comments

Popular posts from this blog

Printing Page Numbers in RTF Template [Oracle BI Publisher]

Here I am giving an example to print the page numbers dynamically in the RTF (Rich Text Format) template. Step 1:  Go to page footer and copy and paste the below script. Page |  <?fo:page-number?>  of  <?fo:page-number-citation:xdofo:lastpage-joinseq?> <fo:page-number> :   This is the object, which is used to represent the current page-number. <?fo:page-number-citation:xdofo:lastpage-joinseq?> :  This is the syntax, which is used to represent the total number of pages. Step 2:  Load the XML and preview the result. Output: That's it. References: fo:page-number Printing Page Number Code in Oracle XMLP RTF Template

Generating the report with APEX_DATA_EXPORT

With the APEX_DATA_EXPORT package, you are able to export data from Oracle Application Express in the following file types: PDF, XLSX, HTML, CSV, XML, and JSON. Step 1: Create a table and populate it with some sample records. CREATE TABLE emp   (     empno        NUMBER,     first_name   VARCHAR2(240),     last_name    VARCHAR2(240),     mgr          NUMBER,     deptno       NUMBER,     sal          NUMBER,     created_date TIMESTAMP (6),     comm         NUMBER,     hiredate     DATE,     JOB          VARCHAR2(240),     ename        VARCHAR2(240),     PRIMARY KEY (empno) USING INDEX ENABLE   ); /    INSERT INTO emp (empno, first_name, last_name, mgr,                   deptno, sal, created_date)         VALUES                 (1, 'Larry', 'Ellison', ,                  10, 5000, LOCALTIMESTAMP);   INSERT INTO emp (empno, first_name, last_name, mgr,                   deptno, sal, created_date)         VALUES                 (2, 'Juan', 'Juan', 1,  

Save Selected Interactive Grid Records into a Collection - Oracle APEX

Here I am giving an example to save selected interactive grid records into a oracle apex collection. Step 1: Create a new blank page. Note: Mine was page 20. You will need to update reference to " P20 " with your page number if it's different. Step 2: Create a new interactive grid report region to the page using below query. Set Static Id "EmpDetails" to the region. SELECT  *     FROM   ( SELECT  emp . empno ,                emp . ename ,                emp . JOB ,                dept . dname department ,                dept . loc  LOCATION ,                mgr . ename  manager ,                emp . hiredate ,                 nvl ( emp . sal , 0 )  salary ,                 nvl ( emp . comm , 0 )  commission            FROM  eba_demo_chart_emp emp ,                eba_demo_chart_dept dept ,                eba_demo_chart_emp mgr           WHERE  emp . deptno = dept . deptno             AND  emp . mgr      = mgr . empno  ( + )           ORDER   BY  emp . ename