コンテンツエリア開始

Procedure documentation BarCodeReader の使用 Locate the document in its SAP Library structure

用途

BarCodeReader は、特別な装置を使用してバーコードを読み込むことができる Pocket PC でのモバイルデータエントリに使用されます。たとえば、製品のパッケージングに記載された EAN 製品 ID が含まれているバーコードを読み込むことができます。

この UI エレメントを Web Dynpro アプリケーションのビューに挿入した場合は、アプリケーションが呼び出されると Pocket PC でデータのスキャンが可能になり、読み込まれたデータを SAP NetWeaver Application Server に渡すことができるようになります。

前提条件

      SAP NetWeaver Developer Studio をコンピュータにインストールし、これを使用してモバイル Web Dynpro アプリケーションを登録できるようにしておく必要があります。

      Web Dynpro アプリケーションを実行する SAP NetWeaver Application Server にアクセスできる必要があります。

      Intermec Technologies 製または Symbol Technologies 製の特殊なスキャン装置が搭載されたPocket PC を使用している必要があります。

      コンポーネント、ウィンドウ、ビューを含む Web Dynpro プロジェクトを登録しておく必要があります。

手順

ビューの定義

...

       1.      BarCodeReader を挿入するビューにナビゲートします。

       2.      ビューをダブルクリックするか、コンテキストメニューから編集を選択します。

       3.      モバイル UI エレメント BarCodeReader を挿入します。

Note

このインタフェースエレメントはユーザインタフェース上では表示されませんが、モバイルアプリケーションが呼び出されたときにモバイルデバイスのスキャン機能が有効化されます。モバイルデバイスによってバーコードが読み込まれる (つまり、イベント onRead がトリガされる) と、データがサーバに渡され、コンテキストに保存できるようになります。イベントパラメータがアクションのパラメータにマップされている必要があります。

       4.      TextViewエレメント (たとえば ShowData) を挿入します。

アクションの定義

...

       1.      ビューデザイナで、アクション Scan を定義し、このアクションにパラメータ ScanData を指定します。

コンテキスト構造の指定

...

       1.      コンテキストタブからコンテキストルートノードを選択し、コンテキストメニューで新規 値属性を選択します。

       2.      属性にデータ型 string を指定します。

UI エレメントプロパティの指定

...

...

       1.      BarCodeReader type プロパティに以下のいずれかの値を割り当てます。

       intermec(Intermec Technologies 製のモバイルデバイスを使用している場合)

       symbol(Symbol Technologies 製のモバイルデバイスを使用している場合)

       2.      アクション Scan BarCodeReade のイベント onRead に割り当てます。

       3.      コンテキスト属性 data へのコンテキストパスを、UI エレメント TextView のプロパティ text に割り当てます。コンテキスト属性 data はルートノード属性であるため、文字列 data のみを割り当てます。コンテキスト属性を選択するには、行の右側のボタンを押してください。

ビューコントローラの実装

...

       1.      ビューコントローラの実装に以下のソースコードを追加します。

       2.      これを行うには、実装タブに切り替えます。
読み込まれたデータは、Scan アクションのイベントハンドラによりコンテキストに渡され、関連するコンテキスト属性が設定されます。

public void onActionScan(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, java.lang.String scanData )

{

      //@@begin onActionScan(ServerEvent)        wdThis.wdGetContext().currentContextElement().setData(scanData);

//@@end/

また、wdDoModifyView メソッド内でパラメータマッピングを定義する必要があります。

public static void wdDoModifyView(IPrivateBarCodeTestView wdThis, IPrivateBarCodeTestView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)

{

      //@@begin wdDoModifyView

      if (firstTime)

            IWDBarCodeReader barCodeReader = (IWDBarCodeReader)
                 
view.getElement("BarCodeReader");

            barCodeReader.mappingOfOnRead().addSourceMapping
                 
("data","scanData");

      }

//@@end

  }

 

結果

バーコードスキャナが搭載された Pocket PC 上でこの Web Dynpro アプリケーションを呼び出すと、Pocket PC ではスキャンが可能になります。バーコードがスキャナによって読み込まれると、データがサーバに渡され、ビューのコンテキストに保存されます。

TextView text プロパティが対応するコンテキスト属性 Data にバインドされているため、このバーコードに保存されたデータは TextView に表示することができます。

 

コンテンツエリア終了