ラベル APEX の投稿を表示しています。 すべての投稿を表示
ラベル APEX の投稿を表示しています。 すべての投稿を表示

2016/10/31

インタラクティブレポートの条件付き書式(背景色を変える) その2 - APEX

  • Goal
    以前の記事だと、リンク付きのセルの場合色が変わらないことが発覚!!
    なのでリンク付きのセルの場合でも変更できる方法がこれ。
    インタラクティブレポートにおいて、セルの背景色を条件に応じて変更する。

    (As is) リンク付きのセルは以下のようにセルの色が変わらない。。。


  • How
    1. ソースを見れば、タグTDに、Style属性がセットされていない。なので、動的アクションでの、JAVASCRIPTが原因…


    2. jQueryでの親属性の取得方法を変更する。動的アクションのJavascriptをparent() から、closest()へ変更する。


    3. インタラクティブレポートの列属性の設定を変更する(リンク付きの列のみ)

    以下が、結果。画像の背景が白なのは、別の問題…。

2016/10/28

javascriptで他のページにリンクする - 動的アクション - APEX

  • Goal
    ボタン押下時に、WEBDAVのフォルダ内のPDFファイルを立ち上げる
    その時に、テキストボックス(SELECTリスト)の値を引数として使う

    (例) Openボタンをクリックしたら、テキストボックスの "文字列.pdf" を開く
       これは、12345.pdfを開いたイメージ


  • How
    ボタンにダイナミックアクションを設定し、Javascriptで開く
    ダイナミックアクションのJavascriptの例は以下の通り


2016/09/25

1.他のテーブルとのマッチングのやりかた(1列文字列から1行テーブルへ変換)

目次に戻る
APEXでのCHECKBOX(チェックボックス)の取扱

1.他のテーブル(名称マスター)とのマッチングのやりかた
 (1列文字列から1行テーブルへ変換、その後マッチングしてまた1行文字列に戻す)


 Goal ‐ 以下のように、チェックボックスの返り値とマスターをマッチングをする
 #SQLサンプル
  COLUMN FOODS を FUNCTION T_GET_NAME に渡して、名称リストを取得

 #FUNCTION T_GET_NAME のSQL

 
 #解説 - コロン(:)区切りのテキストを1行テーブルへ変換するSQL






2016/09/24

CHECKBOX(チェックボックス)のハンドリング - 目次 - APEX


APEX上でのCHECKBOX(チェックボックス)のハンドリング方法


Table of contents
 
1.他のテーブルとのマッチングのやりかた

  (1列文字列から1行テーブルへ変換)
 2.検索する/フィルターをかける


Background

 APEXでチェックボックスを使う、コロン(:)区切りの文字列で値が帰ってくる。
 それをどう扱うのか?というメモ...

 (例)




2016/09/23

インタラクティブレポートのセルをクリック時にポップアップを立ち上げる - APEX

  • Goal
    インタラクティブレポートにおいて、セルのクリック時にポップアップ画面を立ち上げる。

    (例) Name をクリックしたら詳細をポップアップで表示する。




  • How
    1. インタラクティブレポート → レポート属性 → 列属性 → 列リンク

      ターゲット = URL
      URL に Javascript を貼り付ける
      &APP_ID.に違うAPP_ID を指定して飛ばす事もできる





    2. (追記)IEだと、POPUP表示時に、元の画面の情報が消えるエラーが発生!
      「void(0);」を追記すると解消する



2016/09/21

リージョンタイトルの書式設定 - APEX

  • Goal
    リージョンのタイトルの書式を変更する。文字を大きくしたり、色を変更する。

    (To be 例) USER_ID を追加し、文字を大きくして、太字+色を赤色に変更した例
     


  • As is

    変更前はこんな感じ



  • How
    1. リージョン定義 → タイトル に HTMLを埋め込む。変数も追加できる。

    サンプル


    &APP_USER. はログインユーザーIDを意味する変数


     

2016/08/12

インタラクティブレポートの条件付き書式(背景色を変える) - APEX

  • Goal
    インタラクティブレポートにおいて、セルの背景色を条件に応じて変更する。

    (To be 例) セルの書式を動的に以下の条件で設定する。
      Fare < 30                    緑色
      30 <= FARE < 50      黄色
      50 <= FARE < 70      ピンク色
      70 <= FARE                 赤色+白抜き文字+太字
     


  • As is

    変更前はこんな感じ



  • How
    1. セルの書式を格納するダミーカラムを、インタラクティブレポート内のSOURCEで作成する。レポート属性の列属性は、"非表示"とする。
    今回は、"FARE_COLOR"というカラムを追加。





    2. カラム"FARE"の書式を設定する。
    列属性: FARE > 列の書式 HTML式に以下をセットする。



    3. 動的アクションで、Javascriptを実行。




  • Reference
    #全般
    TBD - APEX and other things

    #データセット
    Titanic: Machine Learning From Disaster

    #アイコン
    フリーアイコン

2016/06/14

インターネットからの開発者サイトへのアクセスを禁止する - APEX

  • 状況
    インターネットからの開発者サイトへのアクセス時、ログイン画面が表示される。そのアクセスに対して、403エラーを返す。
    また、イントラ向けアプリとインターネット向けアプリが混在している場合、インターネットからのイントラ向けアプリへのアクセスに対して、403エラーを返す。

    以下の画面をインターネットから表示させない。
  • Solution
    mod_rewrite でコントロールする。

    (例) - APEX 4.2.x + OHS を想定
    開発者向け画面(アプリケーション番号は、四千番台:4xxx)と1で始まるアプリケーション番号(1xxx)へのインターネットからのアクセスを403リダイレクトする。

    1. HTTP 接続の場合 - httpd.conf ファイルに以下を追記する

    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^p=1 [OR]
    RewriteCond %{QUERY_STRING} ^p=4
    RewriteRule ^(.*) - [F]


    2. HTTPS接続の場合 - ssl.conf ファイルのvirtualhost内に上記を追記する。
       (注) mod_osslが利用できるようになっていることを確認する。

    ssl.conf のサンプル

    変更後 のイメージ

2016/06/09

カラムの幅を固定する - インタラクティブレポート - APEX

  • Goal  (APEX 5.x 向け、4.xは別の方法)
    インタラクティブレポートにおいて、カラムの幅を固定する。
    改行して2行表示にならないようにする。

  • How
    1. インタラクティブリージョンに、静的IDを設定する


    2. 幅を変更したいカラムに、静的IDを設定する


    3. ページのCSS インラインに以下を追加する

  • To be
    以下のように拡がる


インタラクティブレポートのセルに画像/アイコンを入れる(リンク 無、動的アクション 無) - APEX

  • Goal
    インタラクティブレポートにおいて、セルの中身を画像に変更する。
    リンク 無し、動的アクション 無しで、単に画像が表示されるだけ。
    フィルターは文字列で検索ができる。
    (To be 例) 性別をアイコンで表示する。
        Icon by http://www.fatcow.com/free-icons

    フィルターはこんな感じ

  • As is

    変更前はこんな感じ

  • How
    0. 共有コンポーネント > 静的アプリケーションファイル に、アイコンをUPLOADする。
     その時に、ファイル名を項目の名前と一致させておく。
     この場合は、"male" と "female"。

    1. リージョン: インタラクティブレポート で 対象の列を選び、
     指定 > タイプ: リンク
     リンク > ターゲット: タイプ = "URL"
                                            URL = "#"
     リンクテキストを以下にする

     
  • Reference
    #全般
    Jari's APEX blog

    #データセット
    Titanic: Machine Learning From Disaster

    #アイコン
    フリーアイコン

2016/05/10

7.初回ログイン時、パスワード変更画面へリダイレクト :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Steps
    7. 初回ログイン時、パスワード変更画面へリダイレクト
      -Home画面のロード時にパスワード変更画面へリダイレクトさせる
      -初回ログインかどうかは、PWD_EXPIREで判定

     #HOME画面にProcessを追加



     #Source :OWA_UTILのリダイレクトを使う


     
     



2016/05/06

6.パスワード変更画面の作成 その3 :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Steps
    3.ボタン押下時のプロセスの追加

     #ボタンには、”ページの送信”の設定のみ

     #データベースアクションはなし

     
     #ページ送信後のプロセスで、FUNCTION CHGPWD を呼び出す
           (3.PASSWORDを変更するFUNCTION で作成)



2016/05/04

6.パスワード変更画面の作成 その2 :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Steps
    2.パスワードの検証プロセスの追加

     #USER_IDが、NULLではない
     #新旧パスワードが一緒ではない
     #新パスワードに空白がない
     #パスワードは8文字以上 :SQL式
     #大文字を1文字以上含む :SQL式
     #小文字を1文字以上含む :SQL式
     #新パスワードと確認用パスワードが一致している
     #USERNAMEが、ログインUSERと一致している :SQL式





    3.ボタン押下時のプロセスの追加 へ続く

2016/04/28

6.パスワード変更画面の作成 その1 :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Steps
    1.ページの作成 >> 空白のページを作成
     静的コンテンツのリージョンを作成し、ボタン(Change/Cancel)と
     アイテムを作成する
     Note
     #テンプレート: LOGINを選択
     #リージョンのテンプレート: LOGINを選択
     #旧Pass/新Pass/確認新Pass表示形式: パスワードを選択



    2.パスワードの検証プロセスの追加 へ続く

2016/04/23

フリーアイコン - Free Icons

フリーアイコンのサンプル
商用利用も可能とのこと
Creative Commonsなので、以下を追記して利用

"Icon by http://www.fatcow.com/free-icons"




2016/04/04

5.認証スキームの作成 :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Steps
    1.共有コンポーネント > 認証スキーム から 作成



    2.スキームタイプ=カスタム,
     設定 > 認証ファンクション名=AUTH
     (2.ID/PASSWORDをチェックするFUNCTION で作成)



    3.カレントと表示されていることを確認

2016/03/22

APP_USERを意図的にセットする


2016/03/19

4.PASSWORDを初期化するPROCEDURE :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Goal
    パスワードを初期化し、新しいパスワードをEmailで送信するプロシージャ
    新規ユーザー登録後とパスワード忘れ時に呼び出すことを想定している。
    また、新パスワードでの初回ログイン時にパスワード変更を強制するために、USERMASTERテーブルにEXPIREフラグを立てる。
    EMAILはAPEX_MAILを使って送信する。
  • Source

0.USERMASTER テーブルを作る :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Goal
    USERMASTERテーブルのサンプル
    パスワードの初期化機能と初回ログイン時にパスワード変更の強制を
    想定しているため、EXPIREフラグを追加している。
  • Source

2016/03/17

3.PASSWORDを変更するFUNCTION :APEX ID/PASSWORD認証機能 - カスタム編 -

  • Goal
    パスワードを変更するFUNCTION
    パスワードの条件(8文字以上、英数字 etc)はAPEX上で実装するので、このファンクションではチェックしていない。パスワード変更画面で、パスワード変更ボタンを押したときに呼び出す。パスワードチェック時及び新パスワードのハッシュ化時は、1.PASSWORDをハッシュ化するFUNCTIONを呼び出す。
  • Source