Announcement

Collapse
No announcement yet.

Spaltenüberschriften formatieren SQL PLUS

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spaltenüberschriften formatieren SQL PLUS

    Hallo Zusammen,
    ich habe eine Anfängerfrage zum formatieren und zur Umbenennung der Spaltenüberschriften meines HTML Reports.
    Folgendes habe ich erstellt:

    @ DEFINES.sql

    conn &DBUSER/&DBPWD@&DBNAME;

    -- get report period of previous month (&PERIOD)
    COL my_logdate new_value PERIOD noprint
    SELECT TO_CHAR(ADD_MONTHS(sysdate, -1), 'YYYYMM') AS my_logdate FROM dual;

    set serveroutput on
    set pagesize 400
    set verify off
    set markup html on entmap off


    --start spooling
    spool &LOGDIR\Testoutput_&&PERIOD..html

    PROMPT ************************************************** ****
    PROMPT Test
    PROMPT (Test)
    PROMPT ************************************************** ****

    select distinct
    a.number,
    a.no,
    a.date,
    substr(wf,1,instr(wf,';')-1)WF_NAME,
    GET_DATA.CODES_DECODE(xyz,s.s) AS S,
    s.firstdate,
    s.seconddate,
    from
    table a,
    table d,
    table f
    where
    …;
    spool off

    Nur leider werden in der HTML Ausgabe meine Spaltenüberschriften abgeschnitten. Ich würde meine Spaltenüberschriften auch gerne ersetzen. Ich dachte mir, das funktioniert zum Beispiel über
    COL a.date HEADING 'DATUM 1'
    und ich möchte, dass die Spaltenüberschrift komplett angezeigt wird. Aber egal wo im Skript ich diese Anweisung einfüge, es wird einfach nicht umgesetzt. Vielleicht kann mir jemand schreiben an welcher Stelle ich die COL Anweisung einfügen muss und wie ich sie entsprechend formatieren kann. Benötige ich noch eine Set Anweisung dazu?

    Vielen Dank schon mal für eure Hilfe!
    Viele Grüße

  • #2
    Die Spaltendefinition sollte idealerweise vor der Ausgabe erfolgen.
    Mglw. steht sie in @Define? Oder was steht dort drin?
    (das müsste eine Datei sein, die bereits solche oder ähnliche Definitionen enthält, ist Dir das Prinzip dieser Scriptaufrufe per@ klar?)

    ggf. prüfst Du die falsche Ausgabedatei?
    Sicherheitshalber sofort nach der Ausführung das "Logdir" aufsuchen und dort die Dateien nach Datum sortiert anzeigen.
    Gruß, defo

    Comment


    • #3
      In meiner Defines Datei steht nur dbNAME, dbUser und das Passwort drin und die Pfadangaben für die Dateien. Ich bekomme eine schöne Ausgabe, aber eben niemals die geänderten Spaltenüberschriften. Du meinst hier an dieser Stelle oder?

      @ DEFINES.sql

      conn &DBUSER/&DBPWD@&DBNAME;

      -- get report period of previous month (&PERIOD)
      COL my_logdate new_value PERIOD noprint
      SELECT TO_CHAR(ADD_MONTHS(sysdate, -1), 'YYYYMM') AS my_logdate FROM dual;

      set serveroutput on
      set pagesize 400
      set verify off
      set markup html on entmap off


      --start spooling
      spool &LOGDIR\Testoutput_&&PERIOD..html

      PROMPT ************************************************** ****
      PROMPT Test
      PROMPT (Test)
      PROMPT ************************************************** ****

      COL a.date HEADING 'DATE 1'

      select distinct
      a.number,
      a.no,
      a.date,
      substr(wf,1,instr(wf,';')-1)WF_NAME,
      GET_DATA.CODES_DECODE(xyz,s.s) AS S,
      s.firstdate,
      s.seconddate,
      from
      table a,
      table d,
      table f
      where
      …;
      spool off

      Also einfach vor die SELECT Anweisung?

      Comment


      • #4
        Originally posted by Neshi View Post
        Also einfach vor die SELECT Anweisung?
        Ja, warum nicht?

        Ich könnte mir vorstellen, dass der Alias in der Define COL Anweisung der "Schuldige" ist.
        Lass mal "a." weg.
        Auch wenn Oracle bei der Select Liste noch unter bestimmten Bedingungen identische Spaltennamen erlaubt, es macht bei der Definition der Spaltennamen in sqlplus nicht mehr viel Sinn per Alias zu unterscheiden.
        Gruß, defo

        Comment


        • #5
          Du hast recht!!! Das war das Problem! VIELEN DANK FÜR DEINE HILFE!!!!

          Comment

          Working...
          X