サブオブジェクト Dynpro
機能
サブオブジェクト
Dynpro は、タイプによって区別されます。必要であれば、オブジェクトのデータを内容ごとにグループ化することができ、個別に保守、格納することもできます。

ABAP
におけるプログラムは、属性、プログラムソース、テキスト要素、伝票に分割されます。各サブオブジェクトは、それぞれ自身の Dynpro をもち、個別に保守、格納することができます。1つのオブジェクトが、構造が同じいくつかのサブオブジェクトで構成されることがあります。この場合、サブオブジェクトは一覧形式で表示されることが多く、その一覧から特定のサブオブジェクトを選ぶことができます。

会計伝票にはいくつかの明細がありますが、いずれも構造は同じです。またインフォタイプ人事管理マスタレコードには時間軸上の行がいくつかありますが、いずれも構造は同じです。
すべてのデータを1つのマスクに含めることができず、いくつかのテンプレートに分散させて互いに結合することが必要な場合があります。

R/2
システムにおける RF 仕入先マスタレコードでは、レコードの Dynpro が互いに結合されています。このときのシーケーンスは定義済であり、すべての Dynpro が処理されてはじめてレコードが登録されます(レコードは“実質的な”サブオブジェクトではなく、 Dynpro がそのように扱われる)。上位の階層レベルにおけるナビゲーションオプション
前画面機能を用いると、階層の中の1レベル上の Dynpro 、例えば、サブオブジェクト一覧 Dynpro や第一画面など(アクセスできる画面や前の画面によって決まる)が現れます。また 他の<対象>機能を用いるとつねに第一画面になり、 終了機能では“タスクをコールする Dynpro ”になります。データがまだ保存されていないときは、確認のプロンプトを表示しなくてはなりません。

上位の階層レベルへのナビゲーションオプション(1)

上位の階層レベルへのナビゲーションオプション(1)
(簡易入力などの場合には)、 保存または登録機能と、第一画面への同時ナビゲーションを結合すると便利になることがあります。

保存時における第一画面へのナビゲーション
実際の問題として上位の階層レベルへナビゲーションできないとき、例えばデータが不整合であるなどのときのために、必ず 中止機能をサポートしておきます。ただしこの機能では、ユーザが入力したデータは失われます。

データが不整合のときのために中止機能をサポートする

いま、ユーザが R/2 で 供給者を選びました。しかし Dynpro シーケンスにおける2番目の Dynpro で、このプロセスを中止したくなりました。このような場合、データ入力がすべて完了していないので保存することはできませんが、プロセスを中止して、たとえば第一画面に戻るなどのオプションを用意しておくべきです(データが保持できるときは、もちろん 保持機能もサポートすること)。
同じ階層レベルにおけるナビゲーションオプション
オブジェクトの処理を行うとき、各機能を経由し制約なしでサブオブジェクトを選べるならば、同じ階層レベルにおけるナビゲーションにも同じ機能を用いることができます。

下位の階層レベルにおけるナビゲーション時と同じ機能を、同じ階層レベルのナビゲーションに用いる

SAPoffice
において同じ階層レベルの間でナビゲートするときに、第一画面でのものと同じ機能を用います。オブジェクト処理へのアクセスがサブオブジェクト一覧 Dynpro 経由で発生したときは、サブオブジェクトの処理時に、 前<サブオブジェクト>機能を用いることでそのサブオブジェクトの前のサブオブジェクト(一覧に従う)に分岐したり、 次<サブオブジェクト>機能を用いることでそのサブオブジェクトの次のサブオブジェクト(一覧に従う)に分岐することができます。 別の<サブオブジェクト>を用いると、一覧上の任意のサブオブジェクトに直接分岐することができます。ただしこれはサポートしなくてもかまいません。また、一覧にないサブオブジェクトには、 別の<サブオブジェクト>を用いても分岐することはできません。

一覧 Dynpro 経由でアクセスしたときのナビゲーション

RP
マスタデータの中で、ユーザは特定の日付における一覧から人の所在地を選んだとします。ここで 前レコードを用いると前の所在地が得られ、 次レコードを選ぶと次の所在地が得られます。サブオブジェクト一覧からすでにいくつかが選択されているときに、この機能を使うと、選択されている前後の行に分岐します。

行明細の一覧において1番目、3番目、7番目の明細が選択され、そのうちの1番目が表示されているとします。ここで次明細を用いると、明細2ではなく、すでに選択されている明細3が表示されます。
表示されている Dynpro が、“コンポーネント / 対象コンポーネント” Dynpro に分岐できる一覧 / テーブルで構成されているときは、 前<サブオブジェクト>および 次<サブオブジェクト>は現在のレベルにおいてのみナビゲートします。

前<サブオブジェクト>、次<サブオブジェクト>(機能)を参照して下さい。
下位 Dynpro 上でビューを変更できる、つまりサブオブジェクトの継続画面を見ることが可能なら、 前<サブオブジェクト>や 次<サブオブジェクト>のあと、ユーザが最初にアクセスしたサブオブジェクトの次に表示すべきビューが表示されます。

たとえば、 前<サブオブジェクト>、次<サブオブジェクト>(機能)を参照して下さい。
サブオブジェクトが定義済シーケンスで結合されているときは、 前の Dynpro機能を用いると前の Dynpro に、 次 Dynpro機能を用いると次の Dynpro に分岐することができます。

定義済シーケンスにおけるナビゲーション

R/2
では、仕入先の登録時に Dynpro の定義済シーケンスが処理されます。この場合、 次 Dynpro機能によって次の Dynpro に分岐して下さい。例えば、財務会計データから購買データに分岐します。このとき 前の Dynproを用いると、購買データから財務会計データに分岐します。下位の階層レベルにおけるナビゲーションオプション
下位の階層レベルを自由に定義できるなら、任意の機能を定義することができます(第一画面参照)。一覧経由で選択が行われたときは、サブオブジェクト一覧
Dynpro の場合と区別されます。