ToolTech 新規要求リスト・ページ (Business Edition)

顧客が「要求リスト」ページで「新規要求リストの作成」をクリックすると、 「新規要求リスト」ページ 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] = "";
	}
} 

関連概念

関連タスク

関連参照

IBM 著作権