Redwood: 販売オーダーへのノートの追加

1つ以上のノートを販売オーダーまたはオーダー明細に追加します。 また、オーダーの改訂時にノートを編集および削除することもできます。

次のような利点があります:

  • 顧客満足度が向上します。 各顧客の要件を満たすことができるように、各顧客に固有の詳細を追加します。 たとえば、一意の配送詳細、アンボックス化手順、使用上のヒント、危険物の輸送方法の説明、特別な挨拶などを追加します。
  • 柔軟性 販売オーダーの作成時または発行後にノートを追加します。 オーダー・ヘッダーのオーダー全体に適用されるノートを追加するか、オーダー明細ごとに一意のノートを追加します。

Order Management作業領域、salesOrdersForOrderHub REST APIまたはオーダー管理拡張を使用して、ノートを作成できます。

Order Management作業領域

Order Management作業領域で再設計されたページを使用して、ノートを管理します。

試す:

  1. 「ホーム」>「Order Management」>「Order Management (新規)」>「Sales Orders」>「Create Order」に移動します。
  2. ビジネス・ユニットおよび顧客を追加し、「保存」をクリックします。
  3. 「追加オーダー詳細」 >「添付およびノート」をクリックし、「追加」(+アイコン)をクリックします。
    この機能の詳細
  1. デフォルトの「一般ノート」タイプを使用するか、別のタイプを選択してノートを入力し、「保存」
    この機能の詳細
    をクリックします。
  1. ノート・セクションの「列のカスタマイズ」をクリックし、「添付」および「ノート」列を表示します。
  2. オーダー明細を追加し、「添付およびノート」列のアイコンをクリックします。
    この機能の詳細
  1. ノートを追加します。
    この機能の詳細

この機能を使用して、Order Managementの再設計されたページでのみノートを作成、更新または削除できます。 これは、クラシック・ページでは実行できません。

  • クラシック・ページでテキスト・ノートを作成した場合、再設計されたページで添付として表示できます。
  • 再設計されたページでノートを作成した場合、クラシック・ページにそのノートを表示することはできません。

オーダー管理拡張

この例では、オーダー・ヘッダーとオーダー明細にノートを追加します。

import oracle.apps.scm.doo.common.extensions.Note;
if (!"HdrLineNote".equals(header.getAttribute("CustomerPONumber"))) return;
Note header_note = new Note();
header_note.setText("This is test note");
header_note.setNoteTypeCode("ORA_SCM_FOM_SO_GENERAL");
header.createNote(header_note);
def lines = header.getAttribute("Lines");
Note line_note = new Note();
while(lines.hasNext()) {
  def line = lines.next();
  line_note.setText("This is test line note");
  line_note.setNoteTypeCode("ORA_SCM_FOM_SO_GENERAL");
  line.createNote(line_note);
}

この例では、オーダー・ヘッダーに現在あるすべてのノートを取得します。

import oracle.apps.scm.doo.common.extensions.Note
if (!"GetHdrLineNote".equals(header.getAttribute("CustomerPONumber"))) return
def notes = header.getNotes()
for (note in notes) {
  String text = note.getText() + "These are header notes";
  header.setAttribute("PackingInstructions",text);
}

この例では、現在オーダー明細にあるすべてのノートを取得します。

import oracle.apps.scm.doo.common.extensions.Note;
if (!"DeleteNoteOnSave_run_extension".equals(header.getAttribute("CustomerPONumber"))) return;
List<Note> notes = header.getNotes();
Iterator<Note> it = notes.iterator();
header.setAttribute("PackingInstructions", "it");
while (it.hasNext()) {
    def note = it.next();
    long text = note.getNoteId();
    header.setAttribute("PackingInstructions", text.toString());
    header.deleteNote(text);
}
def lines = header.getAttribute("Lines");
while(lines.hasNext()){
  def line = lines.next();
  List<Note> lnotes = line.getNotes();
  Iterator<Note> lit = lnotes.iterator();
  while(lit.hasNext()){
     def lnote = lit.next();
     long ltext = lnote.getNoteId();
     line.deleteNote(ltext);
  }
}

この例では、現在オーダー明細にあるすべてのノートを取得して削除し、新しいノートを作成します。

import oracle.apps.scm.doo.common.extensions.Note
if (!"deleteandadd".equals(header.getAttribute("CustomerPONumber"))) return
def lines = header.getAttribute("Lines");
while(lines.hasNext()){
  def line = lines.next();
  def lnotes = line.getNotes();
  for(lnote in lnotes){
    long noteId = lnote.getNoteId();
    line.deleteNote(noteId);
  }
  Note line_note = new Note();
  line_note.setText("This is new note on line");
  line_note.setNoteTypeCode("ORA_SCM_FOM_SO_GENERAL");
  line.createNote(line_note);
}

拡張機能を使用できるのは、ノートを作成または更新する場合のみです。 次の属性を使用します。

  • NoteIdText (NoteText)
  • NoteTypeCode
  • NoteTypeMeaning
  • ObjectId
  • ObjectType

REST API

説明

CURL

Payload

ヘッダー・ノートを作成します。

https://envxxxx.fusionapps.ocs.oc-test.com:443/fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHub/header_id/child/notes

{

"テキスト": "これはヘッダー・ノートです"、

"NoteTypeCode": "ORA_SCM_FOM_SO_GENERAL"

}

ヘッダー・ノートを取得します。

https:// envxxxx.fusionapps.ocs.oc-test.com:443/fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHub/GPR:KH_1001-01/child/notes

 

明細ノートを取得します。

https://envxxx.fusionapps.ocs.oc-test.com/fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHub/GPR:OM_01_01/child/lines/100106911191729/child/notes/

 

ヘッダー・ノートを更新します。 ノートを取得し、Upsertを使用して更新します。

 

{

  "OrderKey": "GPR:KH_1001-01"、 //OrderKeyは操作する順序を識別するために必要です

 "notes": [

    {"NoteId": "300100665390458",

     "NoteTypeCode":"ORA_SCM_FOM_SO_GENERAL",

     "テキスト": "ノートの更新"

    }

    ]

}

REST APIは、ノートの作成または更新にのみ使用できます。 次の属性を使用します。

  • テキスト。 これはノート・テキストです。
  • NoteTypeCode
  • NoteTypeMeaning
  • NoteId

有効化および構成ステップ

この機能を有効化するうえで必要な操作はありません。

オプションとして、次の参照コードを使用してノート・タイプを追加できます。

  • ノート・タイプをオーダー・ヘッダーに追加するには、「注文書ノートの使用」を参照してください。
  • オーダー明細ノートの使用: オーダー明細にノート・タイプを追加します。

ヘッダーと明細にノート・タイプを追加する必要があるとします。

  1. 「ホーム」>「自分の企業」>「設定および保守」> 「拡張参照コードの管理」に移動します。
  2. Sales Order Notes参照タイプを検索し、新しい行を追加してその属性(参照コード、拡張コード、拡張名など)を設定し、「保存」をクリックします。
    この機能の詳細
  1. 「Order Line Notes(オーダー・ライン・ノート)」参照コードでも同じことを実行します。
    この機能の詳細

拡張参照コードの管理タスクはOracle Human Capital Managementタスクであることに注意してください。 これらのノート・タイプを環境間でエクスポートおよびインポートする必要がある場合は、実装プロジェクトを作成して構成パッケージをエクスポートしてから、宛先環境にインポートする必要があります。 Order Managementのインスタンス間での設定のコピーを参照してください。

ヒントと考慮事項

バック・トゥ・バック・フローまたは直接出荷フローでは、作業オーダーまたは購買オーダーのノートを表示できません。

テキストへの太字の適用など、ワークエリアの使用時にノートに書式を適用する場合、Order Managementでは書式タグを使用してその書式をデータベースに保存します。 その後、拡張またはREST APIを使用してノートを取得すると、Order Managementではそのタグがレスポンスに含まれます。 テキストのみを取得するには、タグの切り取りが必要になる場合があります。 たとえば:
この機能の詳細

主なリソース

アクセス要件

この機能の使用に必要な新しい権限はありません。