ME21N ステップバイステップ: 発注書の作成
このドキュメントでは、SAP トランザクション ME21N を使用して Microsoft Excel のデータから SAP Business Suite で発注書を作成するために、Winshuttle トランザクションを使う方法について説明します。
ステップ
レコード
- ステップ 1: デスクトップのショートカットまたは Windows の [スタート] メニューから Winshuttle Studio を起動します。
- [新規] をクリックします。
- [Transaction] をクリックし、[SAP の記録から作成] をクリックします。
- 使用する SAP システムを選択し、適切なユーザー データを入力して、[SAP にログオン] をクリックします。
目的の SAP システムが表示されない場合は、[高度な SAP ログオン] をクリックし、[システムの追加] をクリックして、システム情報を入力し、[OK] をクリックします。
- [トランザクション コード] ボックスに「ME21N」と入力します。
- レコーディング モードは標準のままにしておきます。[標準] が表示されない場合は、[変更] をクリックし、[バッチ入力モード] をクリックします。
注: ほとんどのトランザクションで、デフォルト モードは標準であり、Winshuttle ファンクション モジュール (WFM) は記録されている t-コードに最適なモードを選択します。WFM がインストールされていない場合、バッチ モードは ME21N で機能し、コントロールなしの非バッチ入力モードは、ほとんどのトランザクションで機能します。非バッチ モードは、SAP トランザクションから情報をダウンロードする場合、または動的アクションが実行されているか、ユーザー パラメータ値が使用されている財務または人事トランザクションに対して必要です。非バッチ モードにアクセスできない場合は、バッチ モードでの記録を試すことができます。SAP コントロールを使用しない場合と SAP コントロールを使用する場合の違いは、トランザクション画面に表示されるツールの違いだけです。詳細については、レコーディング モードのトピック (Connect モード または Foundation モード) を参照してください。
- [レコーディングの開始] をクリックします
ME21N トランザクションが開始されます。
注: バックグラウンド モードを使用しているため、レコーディング モードでは画面が若干異なる場合があります。画面は、SAP システムの構成方法によって異なる場合があります。
- ベンダーとドキュメントの日付を入力し、Enter キーを押します。
- ヘッダー データを入力します。
重要: 次のステップは、手動入力プロセスとは異なる場合があります。
- 続行するには、<ENTER> を押します
- 行項目の必須フィールドに入力します。
必要に応じて、選択した項目の項目明細セクションにデータを入力できます。データはトランザクションによって記録されます。
ただし、この例では、項目グリッドにのみデータを入力します。
- Enter キーを押します。
Enter キーを押すと、項目セクションの下のツールバーにある [フィルター] アイコンが有効になります。
- [フィルター] アイコンをクリックしてアイテム グリッドをクリアし、グリッドの最初の行にデータを入力できるようにします。これにより、Transaction スクリプトのレコーディングを実行するための反復可能なプロセスが構築されます。
[フィルター] アイコンをクリックすると、[フィルター条件の定義] ボックスが開きます。
- [列セット] から [項目] 列を選択し、左向きの三角形をクリックします。
これにより、[項目] 列が [フィルター条件] の選択に移動します。
注: 次のステップは、SAP のバージョンによって異なる場合があります。
- フィルター条件を指定するには、[フィルター条件の定義] ボックスの [フィルター] アイコンをクリックします。
ボックスにフィルター アイコンが含まれていない場合は、緑色のチェックマークをクリックしてフィルター条件を指定します。
- [フィルター条件の値を決定する] ボックスで、項目フィールドに常に一致しない値を入力します。
たとえば、発注書の項目が 999 を超えることはほとんどありません (技術的にも不可能です)。このフィールドに値 99999 を入力すると、項目グリッド セクションがレコード間で空になり、項目をグリッドの最初の行に入力できるようになります。これは、ME21N Tranasaction スクリプトを記録して実行するための鍵です。
- 緑色のチェックマークをクリックして続行します。
項目グリッド セクションが空になっていることに注意してください。[トランザクション マッパー] 画面でパターンが作成されるように、このグリッド セクションに別の項目を入力し続けることができます。
- [項目] セクションの最初の行で、次の発注書項目の必須フィールドにデータを入力します。
- Enter キーを押します。
ここでも、フィルターがアクティブであるため、データはグリッドから消えます。
- [保存] をクリックして、発注書を保存します。これでレコーディングも終了します。
Studio がスクリプトのコンパイルを完了すると、[マップ] タブが表示されます。
マップ
次に、このトランザクションのマッピングを作成します。スクリプトのマッピングは、SAP フィールドをデータ ファイル内のフィールドに接続するだけです。Transaction は、このプロセスを容易にするマッパーを提供します。
Auto Mapping は、マッパーに表示される順序でスクリプト全体を Excel スプレッドシートにマップします。このトランザクションは複雑であるため、代わりにフィールドを手動でマッピングします。
以下のスクリーンショットは、マッパーの [基本ビュー] タブを示しています。
マッパーの各行には、以下が表示されます。
- マッパー行番号: これは単なる参照番号です。
- フラグを有効にする: 有効なマッパー行のみがトランザクションによって実行されます。
- フィールドの説明: SAP テクニカル フィールド名に関連付けられたラベル。
- フィールド名: SAP テクニカル フィールド名。
- フィールドタイプ & 長さ: たとえば、String または Decimal、およびパディング オプション。
- マッピング方向: 固定値、Excel から SAP、SAP から Excel (または、Access にマッピングする場合: Access から SAP、SAP から Access)。
- 値: SAP フィールドに割り当てられた値。固定値または関連付けられたデータ ソース内のマップされた場所。
注: [プロパティ] ペインも表示されますが、以下には表示されません。
[データ セット] パネルに、選択したデータ ソース タイプのプレビュー画面が表示されます。
データ ソースのタイプを変更するには、[データ セット] タブのドロップダウン メニューをクリックし、必要なデータ ソースの種類を選択します。
選択を反映してプレビューが変更されます。この場合、Excel を使用します。
- スクリプトをデータ ソースにマップするには、データが移動する方向にドラッグします。このスクリプトの場合、Excel から SAP にデータをアップロードする場合は、Excel からマッパーにドラッグします。
最初にヘッダー データをマップします。この例では:
- 列 B を上にドラッグし、行 2 にドロップします。
- 列 C を行 3 までドラッグします。
- 列 D を行 4 までドラッグします。
- 列 E を行 5 までドラッグします。
最初の項目が入力されるまでフィルター アイコンはアクティブにならないため、最初の項目はヘッダー データの一部になります。
行項目データをマップします。この例では:
- 列 F を行 6 までドラッグします。
- 列 G を行 7 までドラッグします。
- 列 H を行 8 までドラッグします。
- 次の項目のマッピング プロセスを続行します。
これらは、ヘッダー ライン項目ではなく、明細行項目と見なされます。
すべての発注書項目を並べたままにするには、同じ列をマッパーの 2 番目の行項目にマップします。
- 列 F を行 10 までドラッグします。
- 列 G を行 11 までドラッグします。
- 列 H を行 12 までドラッグします。
- [エキスパート ビュー] タブをクリックします。
[エキスパート ビュー] には、画面ごとに編成されたフィールドが表示され、画面の名前、番号、および説明を確認できます。
- Excel スプレッドシートに複数の注文書のデータを含めることができるようにするには、各注文書に可変数の行項目があるため、一部のマッパー行にループを挿入します。
この例では、マッパー行 37 を選択し、Shift キーを押しながら行 42 をクリックします。
- [ループの作成] ボタンをクリックします。
- [ループ] ボックスがデフォルト値で開きますが、この値は変更できます。
- 上部のボックスには、マッパーのループの開始行と終了行が表示されます (強調表示された行、この場合は 37~42)。
- [ループ ID 列] ボックスには、ヘッダーと詳細 (行項目データ) の ID を含むスプレッドシートの列が表示されます。
列 A にループ ID をマップするには、[ループ識別子列] ボックスをクリックし、[マップされていない列を表示する] ボックスをクリックして、A をクリックし、[移動] をクリックします。
- [トランザクション ヘッダーを識別するテキスト] ボックスと [反復行項目を識別するためのテキスト] ボックスには、ヘッダー (H) 行と行項目 (D) 行を識別する値が表示されます。
- [OK] をクリックして、選択したマッパー行にループを挿入します。
マッパーは、ループを挿入した結果、次の変更を反映します。
- 選択した行の周りのループのグラフィカル描写は、どのマッパー行がループ内に含まれるかを示します。
- [プレビュー] パネルで ID 列が識別され、行 2 には最初のヘッダー ID 値が含まれています。
注: これは、空のファイルにマッピングしている場合にのみ、プレビュー ファイルに表示されます。
データを追加してスクリプトを実行する
- [実行] タブをクリックします。
注: Transaction は、ログ列を、最後にマップされた列 (この場合は列 S) の次に使用可能な列に自動的に割り当てます。
- 列にデータ (つまり、新しい注文書を作成するためのデータ) を入力します。
最初の項目は、ヘッダー データと同じ行に配置する必要があります。
開始行と終了行を指定し、データを含む Excel シートを指定し、ログ列を変更できます。
- アップロードを実行するには、Foundation ユーザーの場合は [テスト] ボタンをクリックし、Foundation ユーザーでない場合は [実行] ボタンをクリックします。
Studio で、スクリプトとデータ ファイルを保存するようプロンプトが表示されます。
Excel スプレッドシートが複数のスクリプトに使用される場合を除き、Excel スプレッドシートにスクリプトと同じ名前を付けることをお勧めします。
スクリプトとデータ ファイルを保存すると、スクリプトが実行されます。
実行が終了すると、黄色のメッセージ バーにメッセージが表示されます。
スプレッドシートのデータに基づいて発注書が作成され、発注書番号がログ列に返されます。
© Winshuttle, LLC ·Legal