External Production

externalProduction

Present all objects for external Production

 

hmtoggle_plus1External Delivery Provision

externalPurchaseOrder

 

ExternalPurchaseOrder List of all Purchase order related to external production

Only with ExtenralDocEntry > 0 and Status = O

 

GET ExternalPurchaseOrder?$select=[fieldnames],&$filter=ExternalDocEntry bg 0 and ExternalStatus eq 'O'

 

Read related BoM Position

workorderpovision

 

Get with WorkOrderProvisionBom (ExternalDocEntry): List of all BoM with Quantity information or PreAssign Function

 

Post PreAssign (see PreAssign)

{"BaseDocEntry":6002008,"BaseLineNumber":10,"RoutingPosition":40,"External":"Y","PDocType":"externalsend","ExternalDocEntry":240,"Format":"JSON"}

 

Create Transfer to the Supplier warehouse with:

Post Transfer

{"ExternalDocEntry":240,  // ExternalPurchaseOrder.ExternalDocEntry
"Allocation":true, // Create Reservation on target warehouse
"CloseExtProvision":false, // Close the process. If true, no additional provision possible
"DocumentLines":[{
    "BaseType":"wo","BaseDocEntry":6002008,"BaseLineNumber":10,"BaseLineNumber2":40, // Link to work order
    "ItemCode":"RM", 
    "WhsCode":"01",// From Source Warehouse
    "DistNumber":"",
    "RFID": null,
    "ToWhsCode":"2000-a", // Target warehouse. Must be the same as in ExternalPurchaseOrder/ExternalWhsCode
    "ToBinCode": "b",
    "ToRFID": null,
    "DistNumber": "",
    "Quantity": 0.0100
    }
    ]
}

Note: Item Version is part of Batch/Serial number. You don't need to define this in a transfer document.

 


 

hmtoggle_plus1External Goods receipt PO

ExternalPurchaseOrder List of all Purchase order related to external production, but

 

ExternalDocEntry can be 0 ( we don't check this)

ExternalStatus must be closed ('C')

But Purchase order line must be opened PurchaseOrderLines/LineStatus eq 'O'

 

GET ExternalPurchaseOrder?$select=[fieldnames],&$filter=ExternalStatus eq 'C' and  PurchaseOrderLines eq 'O' 

 

Create Goods Receipt from external production

See ExternalPurchaseDelivery

 

POST ExternalPurchaseDelivery

 
{
"ExternalDocEntry":Number // Purchaserder/ExternalDocEntry ( 0 = no provision )
"NumAtCard":String,
"Remarks":String,
"Reference2":String,
"TrackingNumber":String,
 
"DocumentLines":[{
   "BaseDocEntry":ExternalPurchaseOrder/DocEntry,
   "BaseLineNumber":PurchaseOrderLines/LineNumber,
   "Quantity":Decimal, // Quantity Good
   "Scrap":Decimal, // Quantity Scrap. 
   "CloseId":Boolean, // Close Purchase Order and provision process 
   }]
}

 

Note: The system close the Purchase automatically, if total quantity is delivered (Scrap quantity ignored) or "CloseId" is true

The system activate automatically next operation (allow to create receipts).

The system close the linked routing position, if

  - not last routing position

  - not first routing position, if backflush process is on first operation

  - if with provision

 

Note: Last or first operation:
The system don't create backflush or receipt document for material related to this Routing position but not related to the external process.

 

Notes for settings:

externalProductionSetting

Stock undercut not checked by Backend. It's part of front end

Max. Pur order quantity not checked by Backend. It's part of front end

Provision issue: Only automatically issue is supported. Only material which is possible to book automatically. The back end  can't open a window

In error case of backflush process the system can't make an rollback from the goods receipt PO document. Only warning message in the resultString from ExternalPurchaseDelivery post.

 

hmtoggle_plus1Extenral Issue provision parts

Get list of open "Issue Provision parts"

Get ExternalPurchaseDelivery?$filter=ExternalStatus eq 'O'

Return all PO Goods receipt with provision part

{"value":[{ "DocEntry": 220,
            "DocNumber": 220,  // Document Number from PO Receipt
            "Reference2": null,
            (....)
            "DocumentStatus": "O", // Provision part is open
            "ExternalDocEntry": 100089, // Provision Document
            "ExternalStatus": "O", (...)} ]}

 

The ExternalDocEnrty must be defined in PreAssign and Issue document

 

Post PreAssign (see PreAssign)

{"BaseDocEntry":6002008, // Work order
 "BaseLineNumber":10,  // Work order Position
  "RoutingPosition":40, // Routing position
  "External":"Y",
  "PDocType":"externalissue", // DocType for external issue provision part
  "ExternalDocEntry":100240, // The ExternalPurchaseDelivery/ExternalDocEntry
  "Format":"JSON" // Return result in JSON FOrmat
} 

 

Issue Provision Issue function

    IssueWo: Use normal Issue function together with Transaction="issuewo". 

   Note: Send ExternalDocEntry from ExternalPurchaseDelivery/ExternalDocEntry

 
Post Issue
{
"Transaction":"issuewo",
"ExternalDocEntry":100240, // ExternalPurchaseDelivery/ExternalDocEntry
"CloseExtIssue":false, // set to true, if you want to close the complete process
"DocumentLines":
 [
    {
     "Base_DocEntry":642,
     "Base_LineNumber":10,
     "Base_LineNumber2":20,
     "ItemCode":"RM",
     "Quantity":5,
     "WhsCode":"Mc"
    }
 ]
}

 

Close process:

   Set parameter CloseExtIssue:true

 

Post Issue
{
"Transaction":"issuewo",
"ExternalDocEntry":100240, // ExternalPurchaseDelivery/ExternalDocEntry
"CloseExtIssue":true, // set to true, if you want to close the complete process
"DocumentLines": [..]

}