在庫削減の設定オプション
オーダー管理の在庫削減を設定する際のオプションの一部の詳細を取得します。
拡張可能フレックスフィールドの使用
オーダー管理のオーダー明細の拡張可能フレックスフィールドを使用して、在庫管理の在庫トランザクションの付加フレックスフィールドに属性値を送信します。
オーダー管理および在庫管理でINVENTORY_TRX_INFORMATION_LINEコンテキストを作成し、フレックスフィールドの設定時にこのコンテキストで最大35の属性を追加できます。
使用可能な属性を次に示します。
| オーダー明細の拡張可能フレックスフィールド | 在庫トランザクションの付加フレックスフィールド | データ型 | 
|---|---|---|
| ATTRIBUTE_CHAR1からATTRIBUTE_CHAR20 | ATTRIBUTE1からATTRIBUTE20 | VARCHAR2 | 
| ATTRIBUTE_NUMBER1からATTRIBUTE_NUMBER10 | ATTRIBUTE1からATTRIBUTE10 | NUMBER | 
| ATTRIBUTE_DATE1からATTRIBUTE_DATE5 | ATTRIBUTE1からATTRIBUTE5 | DATE | 
処理ロジックでの在庫トランザクションの許可属性の使用
- 
               割当ルールで在庫トランザクションの許可属性を使用します。 たとえば、在庫トランザクションの許可属性がYの場合にのみ、事前定義済のオーケストレーション・プロセスをオーダー明細に割り当てます。 
- 
               在庫トランザクションがある販売オーダーを取得するには、オーダー情報webサービスで使用するペイロードの在庫トランザクションの許可属性と在庫に送信済属性を使用します。 
- 
               オーケストレーション・プロセスの明細選択基準または分岐条件で、在庫トランザクションの許可属性および在庫への送信属性を使用します。 次に例を示します。 - 
                     在庫トランザクションの許可属性がYの場合、オーダー明細の処理にスケジュール・タスクを使用しないでください。 
- 
                     在庫トランザクションの許可属性の値に従って、オーケストレーション・プロセスを分岐します。 
 ルール・セットおよびwebサービス・ペイロードでこれらの属性に使用する名前は異なります。 webサービスを使用する場合: - 
                     在庫トランザクションの許可ではなくInventoryTransactionFlagを使用します。 
- 
                     インベントリに送信のかわりにInventoryInterfacedFlagを使用します。 
 
- 
                     
- 
               在庫トランザクションの許可属性の検証ルール・セットを作成します。 これまたは事前定義済の履行明細は、作成した処理制約の条件として在庫管理ルール・セットにインタフェースされます。 たとえば: - 
                     オーダー明細の在庫トランザクションの許可がはいの場合、またはオーダー管理がすでに明細を在庫に送信している場合は、属性の更新を許可しないでください。 
 
- 
                     
変換ルールおよびオーダー管理の拡張機能
オーダー明細の在庫トランザクションの許可属性をYに設定する変換ルールまたはオーダー管理拡張を作成します。
次のようなオーダー管理拡張を検討します:
- 
               オーダー・タイプがSTDで、品目が標準および出荷可能品目の場合は、在庫トランザクションの許可属性をYに設定します。 
- 
               On-Saveイベントを使用します。 
拡張コードは次のとおりです。
def lines = header.getAttribute("Lines");
def orderType = header.getAttribute("TransactionTypeCode");
if(!orderType.equals("STD"))
return;
while (lines.hasNext()) {
  def line = lines.next();
  def itemSubTypeCode = line.getAttribute("ItemSubTypeCode");
  def inventoryItemId = line.getAttribute("ProductIdentifier");                                       
  def orgId = line.getAttribute("InventoryOrganizationIdentifier");                                   
  if(itemSubTypeCode.equals("STANDARD")){
    //Derive Shippable Flag value
    def item = getItem(inventoryItemId, orgId);  
    String shippableFlag = item.getAttribute("ShippableItemFlag");
    if("Y".equals(shippableFlag)){
      line.setAttribute("InventoryTransactionFlag","Y");
    }
  }
}
   
Object getItem(Long itemId, Long orgId) {
  def itemPVO = context.getViewObject("oracle.apps.scm.productModel.items.publicView.ItemPVO");        
  def vc = itemPVO.createViewCriteria();                                                              
  def vcrow = vc.createViewCriteriaRow();                                                              
  vcrow.setAttribute("InventoryItemId", itemId);                                                       
  vcrow.setAttribute("OrganizationId", orgId);                                                         
  def rowset = itemPVO.findByViewCriteria(vc, -1);                                                     
  def item = rowset.first();                                                                           
  return item;
}
説明
| コード | 説明 | 
|---|---|
| 
                            | 在庫トランザクションの許可属性の値を設定します。 | 
| 
                            | オーダー・タイプを指定します。 たとえば、標準オーダー・タイプのテストです。 | 
| 
                            | オーダー・タイプを指定します。 たとえば、標準オーダー・タイプのテストです。 
                            | 
| 
                            | 品目サブタイプを指定します。 STANDARDを使用する必要があります。 | 
| 
                            | 品目が出荷可能であることを指定します。 shippableFlagをYに設定する必要があります。 | 
この拡張は、出荷可能な標準品目に対してのみ使用します。