顧客が「要求リスト」ページで「新規要求リストの作成」をクリックすると、
「新規要求リスト」ページ RequisitionListCreate.jsp が表示されます。
顧客は新規リストの名前、および個人用にするか共用にするかを選択する必要があります。
その後に、新規リストに入れるアイテムの SKU と数量を入力することができます。
注: 顧客はこのページの要求リストあたり最大 30 アイテムしか入力できません。 さらにアイテムを追加したい顧客は、「要求リストの編集」ページを使用する必要があります。 顧客が有効な SKU を入力して数量をブランクにした場合は、数量はデフォルトの 1 になります。 SKU フィールドが空の場合は、数量フィールドは無視されます。
コマンド
RequisitionListCreate.jsp は、以下のコマンドを使用します。
bean
RequisitionListCreate.jsp は、以下の bean を使用します。
インプリメンテーション
顧客が「要求リスト」ページで「新規要求リストの作成」をクリックすると、 RequisitionListCreateView コマンドが呼び出されて、 「新規要求リスト」ページ RequisitionListCreate.jsp が表示されます。 RequisitionListCreateView は、 データベース内で RequisitionListCreate.jsp に登録されています。 以下のコードで示されるように、フィールドはすべて初期化されて空になります。
//Form is loading under regular condition. Initialize all fields to empty. strName = ""; strStatus = "Y";
for (int i=0; i<31; i++) { strPartNumber[i] = ""; strQuantity[i] = ""; } strPartNumber[1] = partNumber; strQuantity[1] = quantity;
顧客が新規情報を入力して「保管」をクリックすると、 RequisitionListUpdate コマンドによって新規の要求リストが作成され、 そこに新規のアイテムが取り込まれます。 次に RequisitionListUpdateView によって「要求リストの編集」ページがロードされます。 その後、顧客は新規に作成された要求リストを編集して、 タイプの変更、新規アイテムの追加、または数量の変更を行うことができます。 RequisitionListUpdate.jsp は要求リストを編集するときに使用されます。
注: デフォルトの要求リストは個人用です。
エラー処理
誤った SKU や数量など、顧客が不正確な情報を入力した場合は、 以下のように ErrorDataBean がページ上にエラー・メッセージを表示します。
if (strMessageKey != null && strMessageKey.length() > 0) { // We have an error
strMessageParams = bnError.getMessageParam(); if (strMessageKey.equals(ECMessageKey._ERR_BAD_MISSING_CMD_PARAMETER)) { strErrorMessage = tooltechtext.getString("Newreq_Error_Missing_Parameter"); } else if (strMessageKey.equals(ECMessageKey._ERR_GETTING_SKU)) { TypedProperty nvps = bnError.getExceptionData(); if (nvps != null) { String catEntryId = nvps.getString("catEntryId"); ProductDataBean prodDB=new ProductDataBean(); prodDB.setProductID(catEntryId); com.ibm.commerce.beans.DataBeanManager.activate(prodDB, request); strErrorMessage = tooltechtext.getString("Newreq_Error_ProdSKU")+prodDB.getPartNumber(); }
} else if (strMessageKey.equals(ECMessageKey._ERR_PROD_NOT_EXISTING)) { strFieldName = (String)strMessageParams[0]; strErrorMessage = tooltechtext.getString("Newreq_Error_SKU") + strFieldName; } else if (strMessageKey.equals(ECMessageKey._ERR_INVALID_INPUT)) { strErrorMessage = tooltechtext.getString("Newreq_Error_Quantity")+jhelper.getParameter("quantity"); } //Retrieve form data entered before strName = jhelper.getParameter("orderDesc"); strStatus = jhelper.getParameter("status"); for (int i=1; i<31; i++) { strPartNumber[i] = jhelper.getParameter("partNumber_"+i); strQuantity[i] = jhelper.getParameter("quantity_"+i); if (strPartNumber[i]==null) strPartNumber[i] = ""; if (strQuantity[i]==null) strQuantity[i] = ""; }
}
![]() |