| SOPTYPE | smallint | Yes | 1=QUOTE,2=ORDER,3=INVOICE,4=RETURN,5=BKORDER,6=FULFILLMENT ORDER | IN |
| SOPNUMBE | char(21) | Yes | SOP Number | IN |
| USERDATE | datetime | No | User Date - used to determine if a lot is expired, defaults to system date | IN |
| LOCNCODE | char(10) | No | Location Code - defaults from IV setup if not passed in | IN |
| LNITMSEQ | int | Yes | Line sequence - has to match Kit Item Line sequence | IN |
| ITEMNMBR | char(30) | Yes | Component Item Number | IN |
| AutoAssignBin | smallint | No | Use Default Bin - either the SOFULFILLMENT or SORETURN-item site combination or site default | IN |
| ITEMDESC | char(100) | No | Item description | IN |
| QUANTITY | numeric(19,5) | Yes | Qty to Inv for SOPTYPE = 1, 2 & 5; Billed Qty for SOPTYPE = 3 | IN |
| QTYTBAOR | numeric(19,5) | No | Qty to BackOrder | IN |
| QTYCANCE | numeric(19,5) | No | Quantity Canceled | IN |
| QTYFULFI | numeric(19,5) | No | Quantity Fulfilled - if set to something other then null, that number is used | IN |
| QUOTEQTYTOINV | numeric(19,5) | No | Quote Qty to Invoice - added to @I_vQUANTITY and @I_vQTYCANCE for total amount | IN |
| QTYONHND | numeric(19,5) | No | Qty on hand - used for SOPTYPE = 4 | IN |
| QTYRTRND | numeric(19,5) | No | Qty returned - used for SOPTYPE = 4 | IN |
| QTYINUSE | numeric(19,5) | No | Qty in use - used for SOPTYPE = 4 | IN |
| QTYINSVC | numeric(19,5) | No | Qty in service - used for SOPTYPE = 4 | IN |
| QTYDMGED | numeric(19,5) | No | Qty damaged - used for SOPTYPE = 4 | IN |
| CUSTNMBR | char(15) | Yes | Customer Number | IN |
| DOCID | char(15) | No | Document ID - Should be same as DOCID passed to Line for Kit | IN |
| UNITCOST | numeric(19,5) | No | Used for NON IV items or Returns - if null then default is pulled for IV or 0 for non IV | IN |
| NONINVEN | smallint | No | 0=Inventoried Component Item; 1=Non Inventoried Component Item | IN |
| AUTOALLOCATESERIAL | int | No | Auto Allocate Serial Numbers on the Fly 0 = Auto & 1 = Manual & 2 = Mixed | IN |
| AUTOALLOCATELOT | int | No | Auto Allocate Lot Numbers on the Fly 0 = = Auto & 1 = Manual & 2 = Mixed | IN |
| CMPNTSEQ | int | No | Component Sequence if @I_vUpdateIfExists=1; defaults if not passed in and not required | IN |
| CMPITUOM | char(9) | No | Component unit of measure - defaults if not passed in | IN |
| CURNCYID | char(15) | No | Currency ID | IN |
| UpdateIfExists | smallint | No | Component unit of measure - defaults if not passed in | IN |
| RecreateDist | smallint | No | Used only if @I_vUpdateIfExists = 1 - determines if distributions auto recreate | IN |
| RequesterTrx | smallint | No | Requester Transaction - 0=false,1=true - if true than populates Requester shadow table | IN |
| QtyShrtOpt | smallint | No | Qty Shortage Opt.: 1=Sell Balance; 2=Override Shortage; 3=BO All; 4=BO Balance; 5=Cancel All; 6=Cancel Balance | IN |
| RECREATECOMM | smallint | No | RECREATECOMM: 0 = Do not recreate the commission amount ; 1 = Reclaculate the commission amount - TFS BugID# 71626 | IN |
| USRDEFND1 | char(50) | No | User Defined field - developer use only | IN |
| USRDEFND2 | char(50) | No | User Defined field - developer use only | IN |
| USRDEFND3 | char(50) | No | User Defined field - developer use only | IN |
| USRDEFND4 | varchar(8000) | No | User Defined field - developer use only | IN |
| USRDEFND5 | varchar(8000) | No | User Defined field - developer use only | IN |
| ErrorState | int | No | Create Custom Business Logic | INOUT |
| oErrString | char(255) | No | Create Custom Business Logic | INOUT |