Use a static file as the source of the HTML region

Hi all

Sorry for the maybe trivial question, but is be possible to use static files as the source of the HTML region? The files are pretty simple, but must be translated so we prefer to keep as a static, rather than paste multiple lines of region to conditionally display files.

I tried something like

< embed src = "#WORKSPACE_IMAGES #& FSP_LANGUAGE_PREFERENCE.file01.txt" >

It is however showing the HTML source on screen and making is not in html format.

The other option, I tried creating a URL zone that would get the content from the server, for example:

http://localhost:9080/Apex/wwv_flow_file_mgr.get_file?p_security_group_id=4874627831984398 & p_fname = en_file01.txt

... but I'm running against error access control list (ACL). The file opens when you load the link directly in a browser, but apparently localhost is not allowed to ACL and I would not have sysdba access where to deploy.

Finally I saw the recommendation to use an iframe in a similar discussion to display pdf file here Show PDF in Apex region Earth tried
"< iframe src =" ' #WORKSPACE_IMAGES #& FSP_LANGUAGE_PREFERENCE.file01.txt & embedded = true ' style = "" > < / iframe >

but receive "not found".

The requested URL /apex/wwv_flow_file_mgr.get_file was not found on this server"as if the file name is not received? Eponymous is parsed correctly in the embed tag.

Help, please

Atanas

Hello

To me it sounds you can use shortcuts instead to locate some files in the workspace files
http://docs.Oracle.com/CD/E37097_01/doc/doc.42/e35125/bldapp_cut.htm#sthref1696

Kind regards
Jari
-----
My Blog: http://dbswh.webhop.net/htmldb/f?p=BLOG:HOME:0
Twitter: http://www.twitter.com/jariolai

Tags: Database

Similar Questions

  • Is this really the case with the free player, the clients can access is no longer a PDF to add comments and mark out? We have always used a PDF file for the reviews of books/documents, but now we hear customers that there is no way to add comments and ann

    Is this really the case with the free player, the clients can access is no longer a PDF to add comments and mark out? We have always used a PDF file for the reviews of books/documents, but now we hear customers that there is no way to add comments and annotation. Please let me know if this is the case, or if there is a solution

    '' If '' they use the free software Adobe Reader and "If" there is no security prevent this, he should be able to add comments.

    It'll be hard to say what's wrong without more details such as what exact version of the reader they use, they open the pdf file in a browser or in the player itself and what exactly happens when they try to add comments.

  • How to display the pdf file in the apex region

    How to view pdf file in an apex html region. pdf files are stored in the column of type blob of a table. Please note this is not a static file. I am able to create a link to download and view the pdf in a new window. But it's not my priority. I need to see the full pdf file in the html area.

    I looked around the forums but couldn't find a good answer. All suggestions will be useful. Thank you

    Hi Alexandre-Oracle,

    Alexander-Oracle wrote:

    How to display the pdf file in an html apex region. PDF files are stored in the column of type blob of a table. Please note this is not a static file. I am able to create a link to download and view the pdf in a new window. But it's not my priority. I need to see the full pdf file in the html area.

    I looked around the forums but couldn't find a good answer. All suggestions will be useful. Thank you

    See the following thread I explained how to display PDF in the region HTML using the embed tag:

    Re: Display pdf

    I hope this helps!

    Kind regards

    Kiran

  • Embed the PDF file in the HTML area

    Hello

    I have a simple report - with a link to view an underlying document. The document is displayed on a separate page with a HTML region. Say the file to display is statement.pdf and it is has already been transferred to the images of the apex. There is a hidden field P3_FILENAME on the view page. This gets the value of the report. On the HTML region:
    <div style="">
    <embed height="600" width="1200" name="Statement" src="#WORKSPACE_IMAGES#&P3_FILENAME." type="application/pdf" />
    </div>
    but it does not work. However, if I simply do this and 'run' the page - it displays very well.
    <div style="">
    <embed height="600" width="1200" name="Statement" src="#WORKSPACE_IMAGES#statement.pdf" type="application/pdf" />
    </div>
    Looking at the source of the failing resulting page I can see that the values were set successfully.

    Any ideas?

    Thank you
    P

    I think that the HTML code is the search of explicit & P3_FILENAME. and can't find it because it is referenced by the HTML renderer instead of the PL/SQL engine that would manage the substitution of variables.

    Try to create a PL/SQL region where you write the divs as strings using the DBMS_OUTPUT. PUT_LINE. I use it to create fairly complicated reports and it works very well to let me do a substitution of variables between my HTML code. Here's a simple example (mine is a procedure that that gives the word for food in page variables):

    create or replace PROCEDURE PROC_DASH_SAFETY(x_org NUMBER, x_dt DATE)
    AS
      v_dt_disp        VARCHAR2(15);
      v_dt             DATE           := x_dt;
      v_org_id         NUMBER         := x_org;
      v_fact_id        NUMBER;
      v_org_nm         VARCHAR2(47);
      v_org_tz         VARCHAR2(4);
      ontime           VARCHAR2(47);
      v_saf_ct         PLS_INTEGER    := 0;
      v_eff_ct         PLS_INTEGER    := 0;
      saf_aud_t        NUMBER;
      saf_aud_a        NUMBER;
      eqp_aud_t        NUMBER;
      eqp_aud_a        NUMBER;
      saf_chk_t        NUMBER;
      saf_chk_a        NUMBER;
      saf_loss         NUMBER;
      eff_mpg_t        NUMBER;
      eff_mpg_a        NUMBER;
      eff_idl_t        NUMBER;
      eff_idl_a        NUMBER;
      eff_brk_t        NUMBER;
      eff_brk_a        NUMBER;
      pm_tgt_pct       NUMBER;
      pm_ct            INTEGER;
      pm_act_pct       NUMBER;
      pm_done          NUMBER;
      pm_ovrdue        NUMBER;
    begin  -- 100
      select ORG_NM, TZ into v_org_nm, v_org_tz from ORG_ENTITIES
       where ORG_ID = v_org_id;
      v_dt_disp   :=  to_char(v_dt,'MM/DD/YYYY');
      ----------
      select CASE WHEN v_org_tz = 'MST' and sysdate - v_dt < 33/24
                     THEN 'Yes'
                WHEN v_org_tz = 'MDT' and sysdate - v_dt < 33/24
                     THEN 'Yes'
                WHEN v_org_tz = 'MST' and sysdate - v_dt >= 33/24
                     THEN 'No'
                WHEN v_org_tz = 'MDT' and sysdate - v_dt >= 33/24
                     THEN 'No'
                WHEN v_org_tz = 'CST' and sysdate - v_dt < 32/24
                     THEN 'Yes'
                WHEN v_org_tz = 'CDT' and sysdate - v_dt < 32/24
                     THEN 'Yes'
                WHEN v_org_tz = 'CST' and sysdate - v_dt >= 32/24
                     THEN 'No'
                WHEN v_org_tz = 'CDT' and sysdate - v_dt >= 32/24
                     THEN 'No'
                WHEN v_org_tz = 'EST' and sysdate - v_dt < 31/24
                     THEN 'Yes'
                WHEN v_org_tz = 'EDT' and sysdate - v_dt < 31/24
                     THEN 'Yes'
                WHEN v_org_tz = 'EST' and sysdate - v_dt >= 31/24
                     THEN 'No'
                WHEN v_org_tz = 'EDT' and sysdate - v_dt >= 31/24
                     THEN 'No'
                WHEN v_org_tz = 'PST' and sysdate - v_dt < 34/24
                     THEN 'Yes'
                WHEN v_org_tz = 'PDT' and sysdate - v_dt < 34/24
                     THEN 'Yes'
                WHEN v_org_tz = 'PST' and sysdate - v_dt >= 34/24
                     THEN 'No'
                WHEN v_org_tz = 'PDT' and sysdate - v_dt >= 34/24
                     THEN 'No'
                ELSE 'No'
           END as PRINT_TIME
      into ontime
      from dual;
      ----------
      htp.p('

    Dashboard information is confidential. Refer to your employee handbook for confidentiality guidelines.

    '); --htp.p('

    '|| v_org_nm ||' on '|| v_dt_disp ||'

    '); htp.p(''); htp.p(''); htp.p(''); htp.p('
    Dashboard for '|| v_org_nm ||' on '|| v_dt_disp ||' Dashboard run on time? '|| ontime ||'
    '); htp.p(''); ---------- --Safety htp.p(''); select COUNT(ID) into v_eff_ct from VF_TARGET_PERF where ORG_ID = v_org_id and v_dt between BEGIN_DATE and NVL(END_DATE,sysdate); IF v_eff_ct = 1 THEN select MPG, IDLE_TIME, HARD_BRAKES into eff_mpg_t, eff_idl_t, eff_brk_t from VF_TARGET_PERF where ORG_ID = v_org_id and v_dt between BEGIN_DATE and NVL(END_DATE,sysdate); ELSE eff_mpg_t := 0; eff_idl_t := 0; eff_brk_t := 0; END IF; select SUM(TRIP_DISTANCE)/SUM(TRIP_FUEL), SUM(HARD_BRAKE_COUNT), SUM(IDLE_TIME)/SUM(TRIP_TIME)*100 into eff_mpg_a, eff_brk_a, eff_idl_a from PEOPLENETIF.TRIP_DATA where TRUNC(TRIPSTART_TIMESTAMP) = v_dt-1 and VEHICLE_LABEL IN (select EQUIP_TAG from EQUIPMENT WHERE ORG_ID = v_org_id and EQUIP_TYPE_ID = 1) and TRIP_FUEL > 0 AND DRIVING_MPG <= 10; htp.p(''); EXCEPTION when VALUE_ERROR then dbms_output.put_line('VALUE_ERROR exception raised'); end; /
  • The use of bind variables in the HTML source region

    < nl >

    workspace http://apex.Oracle.com/pls/apex/f?p=49417:1: SVK demo/demo

    I have problems integrating an element variable in an embedded HTML string that should popup a video mode when the button is pressed.

    Element 1 works very well and it's what I want to accomplish with point 2, but when I pass: p1_url, it does not work even if the content of the equivalent of two text boxes.

    svk1965 wrote:

    Hi fac586:

    You who modifies the code to use * $('_#foo').html ($v ('P1_SAVED_ITEM2')); * ?? If so, I think that solved my problem here. I tested it and it seems to work everytime now. Thank you

    Yes. It was very late and I could not spend more time on a detailed explanation. foo is the static region ID, I assigned to the masked area of the HTML to use as a jQuery selector.

  • Impossible to display the names of HTML files in the HTML Files (topics) folder in the project manager

    RH8, I want to see the names of the HTML files instead of topic titles in the project manager.  I chose the button toggle project manager and the name of the folder is passed to "HTML Files (topics)" of "Project Files".  However, the folder of files HTML (topics) lists topics with subject titles, rather than the names of HTM files.  I was expecting to see the topic list in the Manager component of project with HTM file names.

    What should I do to display topics by names of HTM files in project manager?  The rocker is not working properly, or I do not understand what the toggle button?

    This occurs for each project, we have - all of which have been improved from RoboHelp X 5 to RH8.

    Thanks for your help.

    Susan

    You switch between the new view and the classic view. Try the view menu.

    See www.grainge.org for creating tips and RoboHelp

  • How to convert RTF file to the Html tag in java?

    I want to convert Doc to Html tag in java.

    I need this conversion of java code.


    Can you tell me use jar or class?


    DOC/RTF = > CONVERT INTO = > HTML tag


    regads Ninja,

    Published by: Ninja on 1 Sep, 2011 19:12

    Published by: Ninja on 1 Sep 2011 22:03

    A simple google search reveals this: http://www.codeproject.com/Tips/136483/Java-How-to-convert-RTF-into-HTML

  • refresh the html region when the selection list or selected ir line chang

    Apex 4.2

    Hello

    I made a simple page for test actions.

    I have

    -an interactive report and a selection in my first area list.

    -a field of text (P5000_indid) to keep the selected indid

    -region of html where the source is:

    DECLARE

    CURSOR c_ind IS

    SELECT indid, ind, industry

    IND

    WHEN indid as: P5000_INDID;

    BEGIN

    FOR a c_ind IN LOOP

    HTP.p ("< style b =" white-space: nowrap;) "> Indid: ' |" a.indid |' ---> ' || a.Industry: '< /b > < br / >');

    END LOOP;

    END;

    I'm sorry, but I m a bit confused with all the things I read before and do not know what is possible or not and what is the best practice to:

    1. select in the selectList (is it also possible to retrieve the selected (highlighted) or line in the IR)

    2 update the P5000_INDID

    3. refresh the html box according to the value of P5000_INDID (I was able to refresh an IR according to value, but there was the possibility to say what variable to present, but I have no

    see for the region of html)

    I m doing this test, because in the end, I would like to be able to regresh a small chart according to the selected line of the IR.  Do you think that it is possible to s?

    Sorry for my newbie question

    Thanks for your help

    L.

    OK, I finally found everything that I needed,

    You can test it on:

    http://Apex.Oracle.com/pls/Apex/f?p=53793

    Demo/demo

    the content of the output area now is the result of an application process, according to a parameter.

    It is called with javascript onChange and response replace the contents of the region

    and you can also see that I can now select a line and show it by changing the color of the line, and then update the output.

    and when a line is selected, it resets the selection on the selectList to avoid triggering the event on the selection list.

  • dynamically change the title of the HTML region

    I have a hidden element that contains the name of the table that should work with the page. I'd do it to display the name of this table in the style of the HTML area. Is this possible?

    Thank you
    View

    Yep:

    Put something like:

    & P1_TABLE_NAME.

    In the title.

  • Use to download files from the repository on a T110 II

    Hello

    I'm new on the Dell Poweredge server from HP Proliant, I see that I have something that are similar.

    I downloaded and installed the Dell Repository Manager. Created the repository folder and filled with the files I need for my PE T110 II. But I don't want to install them one by one, and I don't want to search if I need or not this because one version I have installed is outdated.

    I have the Version Control Repository Manager, which is similar to Dell Repository Manager, HP, and I have the Version Control Agent which compares the version of each driver, software and firmware installed on the server in the repository. If I have a difference I can mark each one and click on install.

    How can I do this on Dell?

    Kind regards
    Edgar

    Hello Edgar

    Repositories are just that they are custodians of file with a catalog. They are intended to be used in conjunction with another OpenManage product as a system Build and update utility or update of the Server utility. It can be used with many other products, OpenManage and controllers of life cycle. All products which work together with repositories should have the characteristics that you are curious about.

    When you create a repository, you can do a SUU. This will create an ISO that can be run in Windows. It will give a day and available interface, and it will allow you to choose what to update. There is also an option for an update of Linux bootable. This will create an ISO that you can start to update BIOS and firmware.

    esantos999
    Created the repository folder and filled with the files I need for my PE T110 II.

    This installation type is simply a repository location. When you use a utility like the SBUU or the controller of the lifecycle, you can direct it to this folder location if you have set up as an FTP site. It will use the catalog and the files to this location as a repository to pull updates from.

    Thank you

  • I just created my first form and saved as a PDF file. The editable regions have a blue background color and I would like to change that. Can it be done?

    Hi guys I just created my new form and it was very easy. However once I convert it to PDF format the boxes in the form are blue and I would like to change the color. any know if this is possible?

    The blue background is the field pointing out you have the option to turn off. If you don't see the purple bar on top with the toggle button to highlight the fields, it should display by clicking on the icon above (purplish) in the left navigation pane

  • Optimize the download of static files in APEX developemnt

    Heyo!

    I use apex 4.2.6.

    Scenario:

    I use the js or css custom referenced in my application file. Whenever I need to change something that I have to open my file in my editor (ST3), edit it, save it, remove the old static file in the apex, download the new and then check the results.

    It is extremely tedious. Is there an easier way? Something like from the file system? Just while I am in the process of development.

    Hi Para,

    Para wrote:

    I checked the folder of images on my server and it is not all the files I've downloaded at the apex. It contains only the ordinary images/js/css... files needs to this Summit.

    Yes. It contains the files of images/js/css for the constructor of the APEX. But you can create a new folder at the location of the East and store your images/js/css application files and send them using the #IMAGE_PREFIX #yourfolder/yourfile.js, instead of upload to SEO and the shared components using #APP_IMAGES # #WORKSPACE_IMAGES or #.

    Kind regards

    Kiran

  • How to write information to complete file including the names of columns in the ftp adapter using the Ombudsman?

    Hi all

    I have a requirement like the reading of the data from the DB table and put it in a location of ftp server using mediator.also file in the ftp location must be in .csv format.

    I am able to get the data from the file in .csv format.

    But here, my requirement is I want the data from the file with the names of columns (i.e. header information).

    Can someone help me in this problem.

    Thanks in advance,

    Divya.

    Hello

    I am able to get the information to complete file with column names.

    I added a code in the ftpadapter xsd file.

    nxsd:version = "NXSD".

    nxsd:stream = "chars".

    nxsd: encoding = "US-ASCII".

    nxsd:hasHeader = 'true '.

    nxsd:headerLines = "1".

    nxsd:headerLinesTerminatedBy = "${eol}.

    nxsd:outboundHeader = "empno, ename, sal, location, status ${eol} '"

    By adding the code above, I'm able to get the full file header information.

    Thank you

  • The display of a static file downloaded content

    Hello

    APEX version is 4.0.2.

    I want to see the content of some static files (javascript files) that have been uploaded in the database. However, I see that the options 'Display install file Script' and 'Display delete Script file '. Is it not possible to simply download these files to the database?

    Thank you
    Matthias

    Hello

    You can change the view of your report of static files in the shared components of the icons to details. When you do so, you will see a download link for each file. In my opinion, the 'Details' should be the default view.

  • JavaScript as a static file or file system?

    Hello

    We use the APEX 3.2 with Oracle 10 g and Oracle HTTP Server.
    I know there are two ways to include custom javascript source files in an application:
    1) download as a static file to the workspace or the application and refer using the # #WORKSPACE_IMAGES tag # or #APP_IMAGES.
    (2) put on the Web server as a file on the file system under the images directory and refer using the #IMAGE_PREFIX tag #.

    Are there advantages of performace (caching perhaps?) to use one method over the other?


    Thank you
    Matthias

    Hello

    Download in the form of static files has the advantage of being stored in the database (such as retrieval etc.), but is generally slower. In previous versions, it also prevented the caching, but this problem has been fixed now.

    However I have noticed significant storage performance benefits in the file system, it is much faster (there no round-trip to the database to retrieve them.). It also means that they can be shared with other non-apex applications, easily. It is also independent, app/workspace

    How I organize it is to have a base directory for recording things like the external libraries (ExtJS, jQuery, etc.) you want shared on a global scale. They are saved by the ie version.

    /Custom/core/ExtJS/2.3.0
    /Custom/core/ExtJS/3.0.0

    Then I create a substitution at the level of the application than the cards called /custom/cor/extjs/2.3.0 to & EXTJS. then I can change the full version at the application level and without having to modify the templates whenevr a different version is necessary. It goes the same for levels theme files and work space. If my file structure has these levels.

    core/custom /.
    space of work/custom /.
    /Custom/workspace/.../application
    /Custom/workspace/.../theme
    /Custom/workspace/.../application/.../theme

    Once again, everything that he mapped with chains of substitution to make reference and path of change more easily.

    Very fast, very simple.

    See you soon

    Ben
    http://www.munkyben.WordPress.com
    Don't forget to mark the answers useful or correct ;)

  • Maybe you are looking for

    '); select COUNT(ID) into v_saf_ct from DASHBOARD_AUDITS where DATE_INDEX = v_dt and ORG_ID = v_org_id; htp.p(''); htp.p(''); htp.p(''); IF v_saf_ct = 1 THEN select LOSS into saf_loss from DASHBOARD_AUDITS where DATE_INDEX = v_dt and ORG_ID = v_org_id; select AUDIT_TARGET, AUDIT_ACTUAL, CHKRD_TARGET, CHKRD_ACTUAL, MECH_TARGET, MECH_ACTUAL into saf_aud_t, saf_aud_a, saf_chk_t, saf_chk_a, eqp_aud_t, eqp_aud_a from DASHBOARD_AUDITS where DATE_INDEX = v_dt and ORG_ID = v_org_id; ----Safety Audits IF saf_aud_t > 0 THEN htp.p(''); htp.p(''); IF ROUND(saf_aud_a*100/saf_aud_t,2) >= 100 THEN htp.p(''); ELSIF ROUND(saf_aud_a*100/saf_aud_t,2) < 100 THEN htp.p(''); ELSE htp.p(''); END IF; ELSE htp.p(''); htp.p(''); END IF; IF saf_loss = 1 THEN htp.p(''); ELSE htp.p(''); END IF; ----Equipment Audits --eqp_aud_t := 0; --eqp_aud_a := 0; IF eqp_aud_t > 0 THEN htp.p(''); htp.p(''); IF ROUND(eqp_aud_a*100/eqp_aud_t,2) >= 100 THEN htp.p(''); ELSIF ROUND(eqp_aud_a*100/eqp_aud_t,2) < 100 THEN htp.p(''); ELSE htp.p(''); END IF; ELSE htp.p(''); htp.p(''); END IF; ----Checkrides IF saf_chk_t > 0 THEN htp.p(''); htp.p(''); IF ROUND(saf_chk_a*100/saf_chk_t,2) >= 100 THEN htp.p(''); ELSIF ROUND(saf_chk_a*100/saf_chk_t,2) < 100 THEN htp.p(''); ELSE htp.p(''); END IF; ELSE htp.p(''); htp.p(''); END IF; ELSE htp.p(''); END IF; htp.p('
    Safety
    TargetActual%Loss Free Day?
    Safety Audits'|| saf_aud_t ||''||saf_aud_a||''||ROUND(saf_aud_a*100/saf_aud_t,2)||'%'||ROUND(saf_aud_a*100/saf_aud_t,2)||'%-
    Safety AuditsNo Audit Target set'||saf_aud_a||'-Yes
    No
    Equipment Audits'||eqp_aud_t||''||eqp_aud_a||''||ROUND(eqp_aud_a*100/eqp_aud_t,2)||'%
    '||ROUND(eqp_aud_a*100/eqp_aud_t,2)||'%
    -
    Equipment AuditsNo Equipment Audits Target Set'||eqp_aud_a||'-
    Check Rides'||saf_chk_t||''||saf_chk_a||''||ROUND(saf_chk_a*100/saf_chk_t,2)||'%
    '||ROUND(saf_chk_a*100/saf_chk_t,2)||'%
    -
    Check RidesNo Checkride Target Set'||saf_chk_a||'-
    This information has not been recorded.
    '); htp.p(''); htp.p(''); htp.p(''); ------MPG htp.p(''); htp.p(''); IF eff_mpg_t > 0 THEN IF ROUND(eff_mpg_a/eff_mpg_t*100,1) >= 100 THEN htp.p(''); ELSE htp.p(''); END IF; ELSE htp.p(''); END IF; htp.p(''); ------Idle Time htp.p(''); htp.p(''); IF eff_idl_t > 0 THEN IF ROUND(eff_idl_a/eff_idl_t*100,1) > 100 THEN htp.p(''); ELSE htp.p(''); END IF; ELSE htp.p(''); END IF; htp.p(''); ------Hard Brakes htp.p(''); htp.p(''); --htp.p(''); htp.p(''); htp.p(''); ------Preventative Maintenance select COUNT(ID) into pm_ct from DASHBOARD_PM where ORG_ID = v_org_id and DATE_INDEX = v_dt; IF pm_ct = 1 THEN select PM_TARGET into pm_tgt_pct from PM_TARGETS where ORG_ID = v_org_id and v_dt >= START_DATE and v_dt <= NVL(END_DATE,sysdate); select PM_COMPLETE, PM_DUE into pm_done, pm_ovrdue from DASHBOARD_PM where ORG_ID = v_org_id and DATE_INDEX = v_dt; IF pm_ovrdue = 0 THEN pm_act_pct := 100; ELSIF pm_done > 0 THEN pm_act_pct := ROUND((pm_done-pm_ovrdue)/pm_done*100,1); ELSE pm_act_pct := 0; END IF; htp.p(''); htp.p(''); IF pm_tgt_pct > 0 THEN IF ROUND(pm_act_pct-pm_tgt_pct,1) < 0 THEN htp.p(''); ELSE htp.p(''); END IF; ELSE htp.p(''); END IF; htp.p(''); ELSE htp.p(''); htp.p(''); htp.p(''); htp.p(''); htp.p(''); END IF; htp.p('
    EfficiencyTargetActual%
    MPG'||eff_mpg_t||''||ROUND(eff_mpg_a,2)||''||ROUND(eff_mpg_a/eff_mpg_t*100,1)||'%'||ROUND(eff_mpg_a/eff_mpg_t*100,1)||'%-
    Idle Time'||eff_idl_t||''||ROUND(eff_idl_a,2)||''||ROUND(eff_idl_a/eff_idl_t*100,1)||'%'||ROUND(eff_idl_a/eff_idl_t*100,1)||'%-PM''s
    Hard Brakes'||eff_brk_t||''||ROUND(eff_brk_a,0)||''||ROUND(eff_brk_a/eff_brk_t,1)||'%-CompleteOverdue
    PM Currency'||ROUND(pm_tgt_pct,1)||'%'||ROUND(pm_act_pct,1)||'%'||ROUND(pm_act_pct-pm_tgt_pct,1)||'%'||ROUND(pm_act_pct-pm_tgt_pct,1)||'%Set Target!'||pm_done||''||pm_ovrdue||'
    PM Currency- %- %Enter PMs!- %----