AdvancedSODetailLineSplit

Advanced Sales Order Detail Line Split

Major Business Rule

Object Name: B4200450

Parent DLL: CDIST

Location: Client/Server

Language: C

Functional Description

Purpose

Use this function to split the ship quantity from the backorder/cancel quantities in a sales order 

detail line (F4211).  After the split, the original line will contain the backorder/cancel quantities 

while a new line is created for the ship quantity.  The new line will essentially be a mirror image of 

the original line with some slight differences (e.g.., status codes).  You can optionally supply a 

split line quantity which will allow this function to write the new line with this quantity and leave any 

remaining quantities in the original line.


Setup Notes and Prerequisites

• In order to call this function, you must pass to it a row pointer that points to the Sales Order 
Detail record.  Use a business function to fetch and create this pointer.

• If you are splitting the new line to a different item location, your calling application or function 
must ensure that the inventory committed to the original location as well as the new location are 

properly adjusted.

• If splitting line to a different item location, the branch, location, and lot passed will be used to 
write the new detail line.  However, this function will not validate the value in these passed 

parameters.  Therefore, the calling application or function is responsible for editing the branch, location, 

and lot fields before passing them into the function.

'b7'b7

Special Logic

a)Use the Increment From Line Number (LNID) in the following ways:

1) If processing a kit component line, pass into this field the kit master's line number.
2) Pass into this field the line number from which the new line number will be incremented.

3) The new line number calculated by this function will be returned.


c)Set on the Bypass Update on Original Line (EV02=='1') if the original line needs to be split 
into multiple new lines and you would like to minimize the number of updates to the original line.  In 

the calling application or function, set this field to '1' and place the calls to this function in a 

loop.  Change this flag to '0' before calling this function to create the last split line.




Technical Specification


2.2Related Tables 

Table Table Description

F40203Order Activity Rules

F40205Line Type Master

F4211Sales Order Detail


2.3Related Business Functions

Source NameFunction Name

B0000027.CCurrencyConvForAndDom

B4000520.CGetItemUoMConversionFactor

B4000260.CVerifyActivityRuleStatus

B4002000.CComputeUnitOrExtendedAmount

B4200260.CWriteSalesHistoryOrLedger

B9800100.CGetAuditInfo

XF4105.CGetItemCost

XF4105.CGetItemCostInformation



2.4Processing 


Insert New Record to Table (F4211)

1.Use the GENLNG to retrieve data from the Sales Order Detail data structure (F4211).
2.If SDSOQS <= 0, set error code to '1' and exit function.// Exit function if  zero or 

negative ship quantity

3.If IVI-parm == ' ', fetch the Inventory Interface flag (LFIVI) from Line Type Master (F4205) 

using SDLNTY as the key.  Store the LFIVI to IVI in the parameter data strucutre.  If a record is not 

found, assign 'N' to IVI-parm.

// If the split line's order quantity is specified and it is less than the original detail line's 

ship qty,

// use it (save the remaining qty to a work field which will later on be updated to the original 

detail

// line); else, use the entire ship quantity of the original line to write the new detail line.


4.If UORG-parm != 0 and UORG-parm < SDSOQS
RemainingQty (WF) = SDSOQS - UORG-parm;

SDUORG = UORG-parm;

SDSOQS = UORG-parm;

else

SDUORG = SDSOQS;

RemainingQty (WF) = 0;

5.If RemainingQty (WF) > 0 or SDSOBK != 0 or SDSOCN != 0, line should be split. (Use a work field 

to indicate line splitting or use best C technique)   

6.If line splitting, save SDSOBK, SDSOCN, SDLNID, SDLTTR, SDNXTR, SDMCU, SDLOCN, SDCNID, SDADDJ, 

SDCARS, SDSO02, and SDLOTN to save fields.

// If updating to a different item location, use the branch, location, and lot passed


7.If EV04-parm == '1',
SDMCU = MCU-parm;

SDLOCN = LOCN-parm;

SDLOTN = LOTN-parm;

8.If line splitting, branch to the logic for splitting a sales detail line.
9.Execute the logic for adjusting the original sales detail line.


Split Sales Detail Line

1.Zero out SDSOBK and SDSOCN.
2.Calculate the line number of the split line.

a) If the line increment (RLLN-parm) is not passed,

If SDRLIT == ' ',

    default line increment to .01;

else

    default line increment to .1;


b) If Increment From Line Number (LNID) in the parameter is zero,

The new line number is the current line number plus the line increment (RLLN) passed.  (i.e., SDLNID 
= SDLNID + RLLN)

    else

Calculate the new line number by adding the Kit Master Line Number and the line increment.  (i.e., 
SDLNID = LNID + RLLN).

3.Validate against F4211 to make sure the new line number is unique.  Use an existing business 
function.  If not unique, repeat step 2b-3.

4.Using the original F4211 record as a copy, map all fields to a new F4211 record.  (Use the best 

technique in C)

5.Assign the current line number (SDLNID) to LNID in the paramater data structure.


6.Call GetItemUOMConversionFactor and update the following fields:

BranchPlant<=SDMCU

FromUnitOfMeasure<=SDUOM

ToUnitOfMeasure<=SDUOM4

QuantityToConvert<=SDUORG

InventoryInterfaceFlag<=LFIVI

ShortItemNumber<=SDITM

ConversionFactorFrom_to_Tonot used

ConversionFactorFrom_to_Primary=>ConversionFactor_Trans_To_Prim

ConversionFactorTo_to_Primary=>ConversionFactor_Price_To_Prim

UnitOfMeasureToPrimary<=SDUOM1

QuantityConvertedToPrimary=>SDPQOR

ConvertToSecondary<=1

UnitOfMeasureToSecondary<=SDUOM2

QuantityCOnvertedToSecondary=>SDSQOR

ConvertToPurchasingnot used

UnitOfMeasureToPurchasingnot used

QuantityConvertedToPurchasingnot used

ConvertToPricingnot used

UnitOfMeasureToPricingnot used

QuantityConvertedToPricingnot used

ConvertToShippingnot used

UnitOfMeasureToShippingnot used

QuantityConvertedToShippingnot used

ConvertToWeight<=1

UnitOfMeasureToWeight<=SDWTUM

QuantityConvertedToWeight=>SDITWT

ConvertToVolume<=1

UnitOfMeasureToVolume<=SDVLUM

QuantityConvertedToVolume=>SDITVL

UOMByBranchnot used

PotencyModenot used

LotNumber<=SDLOTN

PotencyControlfuture use

StandardPotencyfuture use

ErrorMessageIDnot used

SuppressMessageFlag<=' '


7.If the Override Cost field (SDCSTO) != '1' and EV03=='1',

a) Retrieve the unit cost by calling GetItemCost (XF4105.C)


InventoryCostSelection<=I

PurchaseCostSelectionnot used

CostingMethodnot used

ItemNumber<=SDITM

Branch<=SDMCU

Location<=SDLOCN

Lot<=SDLOTN

CostLevel<=CLEV-parm

ItemCostRecord=>F4105Pointer (WF)

ReturnF4105RowPointer<=1

ErrorCodenot used

CallType<=1


b) Then call GetItemCostInformation (XF4105.C) and free F4105 pointer after the call:


F4105RowPointer<=F4105Pointer (WF)

Locationnot used

Lotnot used

Lot Gradenot used

Unit Cost=>SDUNCS

InventoryCostSelectionnot used

PurchaseCostSelectionnot used

Costing Methodlnot used


c) If SDFUC != 0, use CurrencyConvForAndDom (B0000027.C) to convert domestic cost to foreign.

Currency Conversion Rate<=SDCRR

Domestic Amount<=>SDUNCS

Foreign Amount<=>SDFUC

Domestic Currency Codenot used

Foreign Currency Codenot used

ConversionDecimals<=Decimals from math numeric data structure of 'FUC'.


// Recalculate the extended cost if the quantity shipped has changed and this is not a kit component.


8.If (RemainingQty (WF) > 0 and SDRLIT == ' ') or ((SDCSTO != '1' and EV03=='1') and SDRLIT == ' 
')

   a) If SDFUC != 0 and SDSOQS != 0, calculate the foreign extended cost using 

ComputeUnitOrExtendedAmount(B4002000.C)


Quantity - Transaction UM<=SDSOQS

Conv Fctr from Trn to Primary<=ConversionFactor_Trans_To_Prim

Quantity in Primary UOMnot used

Unit Price - Pricing UM<=SDFUC

Conv Fctr from Pricing to Primary<=1

Unit Price - Primary UMnot used

Extended Amount - Primary UM=>SDFEC

Mode of Processing<=2

Suppress Error 0/1<=1

Error Code 0/1not used

Error Message Codenot used


b) If SDSOQS != 0, calculate the domestic extended cost by calling ComputeUnitOrExtendedAmount 
(B4002000.C)


Quantity - Transaction UM<=SDSOQS

Conv Fctr from Trn to Primary<=ConversionFactor_Trans_To_Prim

Quantity in Primary UOMnot used

Unit Price - Pricing UM<=SDUNCS

Conv Fctr from Pricing to Primary<=1

Unit Price - Primary UMnot used

Extended Amount - Primary UM=>SDECST

Mode of Processing<=2

Suppress Error 0/1<=1

Error Code 0/1not used

Error Message Codenot used


// If the shipping amount of the new line is adjusted and this is not a kit component line,

// recalculate the price and cost extensions in foreign and domestic using the new ship quantity.


9.If RemainingQty (WF) > 0 and SDSOQS != 0 and SDRLIT == ' '
If SDFUP != 0

Calculate the foreign extended price using ComputeUnitOrExtendedAmount 


Quantity - Transaction UM<=SDSOQS

Conv Fctr from Trn to Primary<=ConversionFactor_Trans_To_Prim

Quantity in Primary UOMnot used

Unit Price - Pricing UM<=SDFUP

Conv Fctr from Pricing to Primary<=ConversionFactor_Price_To_Prim

Unit Price - Primary UMnot used

Extended Amount - Primary UM=>SDFEA

Mode of Processing<=2

Suppress Error 0/1<=1

Error Code 0/1not used

Error Message Codenot used


Calculate the domestic extended price by calling ComputeUnitOrExtendedAmount 

Quantity - Transaction UM<=SDSOQS

Conv Fctr from Trn to Primary<=ConversionFactor_Trans_To_Prim

Quantity in Primary UOMnot used

Unit Price - Pricing UM<=SDUPRC

Conv Fctr from Pricing to Primary<=ConversionFactor_Price_To_Prim

Unit Price - Primary UMnot used

Extended Amount - Primary UM=>SDAEXP

Mode of Processing<=2

Suppress Error 0/1<=1

Error Code 0/1not used

Error Message Codenot used


10.SDLTTR = LTTR (override last status in input parameter).
// If an override next status is passed, validate it before using it.

11.If NXTR-parm != ' ' and NXTR-parm != 





















































































































































































































































































































































































































































































































































































































































































S'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'06'1a'9f'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'1a'par

Data Structure

D4200450 - Advanced Sales Order Detail Line Split

Special Input Expected
Data Item D/S Description         I/O   Required Notes

GENLNGF4211LongPointer           I/O      Y

EV01      Preference Processing   I      NFuture use.  Set to '1' if preference option is 

set in SOE                                                        and not warehouse.

EV02      Bypass Update on           I   N'1' = Do not update the original detail line.

            Original Line 

EV03   Update Unit Cost           I  N'1' = Retrieve current cost and update ' ' =  

Do not                                                                                                  

           update cost

CLEV  Cost Level                 I   NMust be passed in if updating unit cost.

RLLN      Line Incrementer           I   NPass the value of the line increment.  Default 

to .01                                                       if not sent.

LNID      Increment From Line Number I/ONIf zero,calculate the split line's line number 

by 

                                                      incrementing from the line number in the 

F4211pointer;                                                       else, increment from this line number.

LTTR      Override Last Ship Status  I   YThis is the override last status of the new 

line.

LTT2  Override Last B/O Status   I  YThis is the overide last status of the 

backorder line

NXT2  Override Last Cancel Status I YThis is the override last status of a cancel 

line.

FLD2        Hard Commit Flag         I    NPass '1' if hard commiting

IVI      Inventory interface       I   NPass this value to save one read to the Line 

Type                                                       Master (F40205).

WRTH   Write Sales Ledger Y/N    I/O NPass this value in to save one read to the 

Order                                                       Activity Rule (F40203).

EV04  Split to Different         I        N'1' = Split new line to new item location.

               Item Location

MCU   New Branch/Plant           I  NIf EV04=1, use MCU in F4211 ptr.

LOCN  New Location               I  NIf EV04=1, use LOCN in F4211 ptr.

LOTN  New Lot Number             I   NIf EV04=1, use LOTN in F4211 ptr.

PID   Program ID                 I  Y

UPMJ      Today's Date         I   NOptional. If NULL, call GetAuditInfo.

TDAY      Time of Day               I      NOptional. If NULL, call GetAuditInfo.

USER  User ID               I   NOptional. If NULL, call GetAuditInfo.

JOBN      WorkStationID              I   Optional If NULL call GetAuditInfo

UORG   Split Line's Order Qty     I   NIf zero, use SOQS in F4211 ptr.

NXTR  Split Line's Next Status   I  NIf not blank, update it to split line.

CNID      Split Line's Container ID  I  NIf not blank, update it to split line.

ADDJ      Split line's Actual Ship   I      NIf not blank date, update it to split line.

CARS      Split Line's Carrier No.   I   NIf not zero, update it to split line.

SO02      Split Line's OH Status   I        NIf not Blank, update it to split line.



Special Output Expected

   

Data Item D/S Description         I/O   Required Notes

ERRC  Error Code                 O  N'1' if error occured in this function.

^

Parameter NameData ItemData TypeReq/OptI/O/Both
idF4211LongPointerGENLNGIDNONENONE

General purpose ID variable.

cPreferenceProcessingEV01charNONENONE

Special Input Expected
Data Item  ab Data Structure  Descriptionab       Requiredab  Notesab 
EV01        ab Preference Processing                   Nab                 Future use.  Set to '1' if preference option is set in SOE and not  warehouse.ab 



Significant Data Values

1 - preference option is set in SOE and not warehousex 



^

cBypassUpdateOnOriginalLineEV02charNONENONE

Special Input Expected
Data Item  ab Data Structure Description             Required              ab  Notesab 
EV02ab                 Bypass Update on Original Line        Nab                 '1' = Do not update the original detail  line.ab 


Significant Data Values

1 - Do not update the original detail line




^

cUpdateUnitCostEV03charNONENONE

Special Input Expected
Data Item  ab Data Structure  Descriptionab         Requiredab  Notesab 
EV03ab                 Update Unit  Costab                   ab  Nab '1' = Retrieve current cost and update ' ' =  Do not update  costab 


Significant Data Values

1  - Retrieve current cost and update 

'' - Do not update 



^

cCostLevelCLEVcharNONENONE

A code that indicates whether the system maintains one overall inventory cost for the item, a different cost for each branch/plant, or a 
different cost for each location and lot within a branch/plant. The system maintains inventory costs in the Inventory Cost table (F4105). Valid codes 
are:    1   Item level    2   Item/Branch level    3   Item/Branch/Location level

mnLineIncrementerRLLNMATH_NUMERICNONENONE

A number of the detail line on the related order for which the current order was created. For example, on a purchase order created to fill 
open sales orders, this is the line number of the sales order on which the item you are ordering appears.

mnIncremenFromLineNumberLNIDMATH_NUMERICNONENONE

A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns 
this number,but in some cases you can override it.

szOverrideLastShipStatusLTTRcharNONENONE

A code (system 40/type AT) specifying the last step in the processing cycle that this order line has successfully completed.

szOverrideLastBackorderStatusLTT2charNONENONE

The code that specifies what step in the processing cycle was last completed successfully for this order line.

szOverrideLastCancelStatusNXT2charNONENONE

User defined code (40/AT) that specifies what the next standard step is in the processing cycle for this order type. You set up the steps for 
the processing cycle on the Order Activity Rules form.

cHardCommitFlagFLD2charNONENONE

An option that determines how the Shop Floor Management system commits inventory. The options are as follows:     o Hard commitment at 
creation of parts list. The system performs a hard commitment at the creation of the parts list. The hard commitment remains in effect until 
inventory is relieved.     o Soft commitment, then changed to hard commitment when printing. The system performs a soft commitment at the 
creation of the parts list.        The system then changes the commitment to a hard commitment during the pick list print process (P31410) for the 
work order. The hard commitment remains in effect until inventory is relieved.     o Soft commitment at creation of parts list. The system performs a 
soft commitment at creation of the parts list. The soft commitment remains in effect until inventory is relieved. When you set the Commitment 
Method field in the Branch/Plant Constants form to 2 or 3, you must use either Hard commitment at creation of parts list or Soft commitment, 
then hard commitment when printing because a hard commitment must be performed. If you want to identify substitute items when a shortage 
occurs, you must choose the hard commitment at creation of parts list option. When you choose either Soft, Hard when printing or Soft at creation 
of Parts List, any line item in the parts list may be hard-committed prior to printing or relieving the inventory. For World: When the hard/soft 
commit option is set to 2 or 3, any line item in the parts list may be hard committed prior to printing or relieving the inventory. Valid codes are:    1   
Hard commitment    2   Soft commitment, hard commitment when printing (P31410)    3   Soft commitment For OneWorld: To specify how the 
program commits inventory, click one of the following options under the Hard/Soft Commit heading:     o Hard at creation of parts list     o Soft, Hard 
when printing (P31410)     o Soft at creation of parts list

cInventoryInterfaceIVIcharNONENONE

A code that identifies the type of interface to the Inventory Management system. Valid values are:    Y The dollar or unit value of any activity 
containing this line type will be reflected in inventory. The system also edits the item that you enter to ensure that it is a valid item. Y is the 
default.    A The system recognizes the number that you enter as a G/L account number. The system uses this code in purchasing only.    B The 
system performs edits when using format 4 in purchase order entry.        The system retrieves price data from the inventory tables, but does not 
update the quantity on the purchase order. This code is valid only when you have set the G/L Interface field to Y (yes). Budget checking is 
fully functional when you use this interface code.    D The item in this line is an inventory item that will not affect availability or quantities.    N The 
item is not an inventory item. To verify whether the item exists in the Item Master file, use Inventory Interface N in conjunction with the flag, Edit 
the Item Master for Non-Stock Items.

cWriteSalesLedgerWRTHcharNONENONE

A code that tells the system to write a record to the history table (F42199  for Sales Order Management and F43199 for Purchase Order 
Management). Valid codes are:    Y Write a record for selected fields to the history table    N Do not write a record to the history table 

mnSplitLineOrderQtyUORGMATH_NUMERICNONENONE

The quantity of units affected by this transaction.

cSplitToDifferentItemLocationEV04charNONENONE

Special Input Expected
Data Item  ab Data Structure  Descriptionab  ab  Requiredab  Notesab 
EV04        ab Split to Different Item Location             N            ab '1' = Split new line to new item  location.ab 


Significant Data Values

1 - Split new line to new item location



^

szNewBranchPlantMCUcharNONENONE

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

szNewLocationLOCNcharNONENONE

The storage location from which goods will be moved.

szNewLotNumberLOTNcharNONENONE

A number that identifies a lot or a serial number. A lot is a group of items with similar characteristics.

cErrorCodeERRCcharNONENONE

This error code indicates if any errors occurred during the creation of the Trip Document Detail (F4914) records by the Delivery Document 
Set Server program (XT4914).

szProgramIDPIDcharNONENONE

The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry 
interactive program is P4210, and the number of the Print Invoices batch process report is R42565. The program ID is a variable length value. 
It is assigned according to a structured syntax in the form TSSXXX, where: T The first character of the number is alphabetic and identifies the 
type, such as P for Program, R for Report, and so on. For example, the value P in the number P4210 indicates that the object is a 
program. SS The second and third characters of the number are numeric and identify the system code. For example, the value 42 in the number P4210 
indicates that this program belongs to system 42, which is the Sales Order Processing system. XXX The remaining characters of the numer are 
numeric and identify a unique program or report. For example, the value 10 in the number P4210 indicates that this is the Sales Order Entry 
program.

jdTodaysDateUPMJJDEDATENONENONE

The date that specifies the last update to the file record.

mnTimeOfDayTDAYMATH_NUMERICNONENONE

The computer clock in hours:minutes:seconds.

szUserIDUSERcharNONENONE

The code that identifies a user profile.

szWorkStationIDJOBNcharNONENONE

The code that identifies the work station ID that executed a particular job.

szSplitLineNextStatusNXTRcharNONENONE

A user defined code (system 40/type AT) indicating the next step in the order flow of the line type.

szSplitLineContainerIDCNIDcharNONENONE

A code on the container or that you assign to the container in which the items on this purchase order or order line were shipped to you. You 
can assign container information to an order during receipts entry.

jdSplitLineActualShipDateADDJJDEDATENONENONE

The date on which the shipment to the customer is confirmed as shipped. During shipment confirmation, the system updates the Sales 
Order Detail table (F4211) with this date.

mnSplitLineCarrierNumberCARSMATH_NUMERICNONENONE

The address number for the preferred carrier of the item. The customer or your organization might prefer a certain carrier due to route or 
special handling requirements.

cSplitLineOHStatusSO02charNONENONE

A code that indicates if the committed inventory for this sales detail line has been relieved from the On Hand Quantity. A value of 1 reflects 
that the shipment confirmation program (P4205) or the Sales Update program (R42800) has relieved inventory and written a cardex record to 
the Item Ledger File (F4111). To activate on hand update at shipment comfirmation time, the order type of the sales order will need to be added 
to the User Defined Code Table (40/IU). If on hand is not updated with the Shipment Confirmation program (P4205), it will be updated by the 
Sales Update program (R42800).

mnJobnumberAJOBSMATH_NUMERICOPTNONE

The job number (work station ID) which executed the particular job.

mnAmountExtendedCostECSTMATH_NUMERICOPTNONE

For accounts receivable and accounts payable, the invoice (gross) amount. For sales orders and purchase orders, the unit cost times the 
number of units.

mnAmountForeignExtCostFECMATH_NUMERICOPTNONE

The product of the cost of an item, expressed in foreign currency according to the orders exchange rate, times the number of units.

mnAmountExtendedPriceAEXPMATH_NUMERICOPTNONE

The number of units multiplied by the unit price.

mnAmountForeignExtPriceFEAMATH_NUMERICOPTNONE

The product of the foreign price times the number of units.

szComputerIDCTIDcharOPTNONE

mnRelatedPoSoLineNo_RLLNRLLNMATH_NUMERICOPTNONE

A number of the detail line on the related order for which the current order was created. For example, on a purchase order created to fill 
open sales orders, this is the line number of the sales order on which the item you are ordering appears.

cDualUnitOfMeasureItemDUALcharOPTNONE

An option that indicates that the system must maintain inventory balances and record transactions for an item in a secondary unit of 
measure that does not have a fixed conversion to the primary unit of measure. Typically, you choose this option when the item is ordered or sold by 
a packaged quantity and priced by weight or volume. Note: For a dual unit of measure item, the system might require a tolerance check for 
inventory transactions (excluding inventory adjustments) between the primary unit of measure and the secondary unit of measure.

cDualPickingProcessOptionDPPOcharOPTNONE

An option that determines for a dual unit of measure item whether the system uses the primary or secondary unit of measure for the following 
processes:   o Picking   o Sales order availability checking   o Committing inventory for sales   o Splitting purchase order lines  To use the 
primary unit of measure, do not choose this option. To use the secondary unit of measure, choose this option.

mnSplitLineOrderQtySecondaryDQTYMATH_NUMERICOPTNONE

The number of units (for the unit of measure) that is not contained in the unit of measure structure. For dual units of measure, the system 
tracks both the primary quantity and the secondary quantity. Depending on how the picking processing option is set, the system tracks either the 
primary unit of measure or the secondary unit of measure for a unit of measure structure.

mnTransToSecondConvFactorMATH06MATH_NUMERICOPTNONE

Event point for Math Numeric.

mnAmountUnitCostUNCSMATH_NUMERICOPTNONE

The amount per unit, derived by dividing the total cost by the unit quantity.

cShipAscendingDateFlagEV01charOPTNONE

An option that specifies the type of processing for an event.

cCheckExpirationDateEDCKcharOPTNONE

An option that determines whether the system ensures that a lot be shipped in ascending order in relation to other lots that have already 
been shipped. When you choose this option, the system enforces the ship ascending lot rule based on the expiration date to ensure that the lot 
being shipped has an expiration date that is greater than that of the lots that have been previously shipped.

cCheckSellByDateSBCKcharOPTNONE

An option that indicates whether the system ensures that a lot being shipped to a customer is shipped in ascending order by the sell by 
date. If you choose this option, the system ensures that each lot that is being shipped has a sell by date that is greater than or equal to the date 
on which the last lot was shipped.

cCheckBestBeforeDateBBCKcharOPTNONE

An option that specifies whether the system ensures that the lot that you are shipping to a customer has a value in the Best Before Date field 
that is greater than or equal to the value for the last lot that you shipped.

cCommitmentDateMethodCMDMcharOPTNONE

A user defined code (H40/CD) that specifies which date the system uses to commit inventory when an item is committed by date. The 
default value is 01 (lot expiration date). The date fields are stored in the Lot Master table (F4108).

cQuantityFutureCommittedDA03charOPTNONE

Code telling the system to include the quantity on any sales order whose requested shipment date is beyond the specific commitment 
days. The valid codes are: Blank  No effect on the quantity available    -      Reduces the quantity available (default)

mnAmountForeignUnitCostFUCMATH_NUMERICOPTNONE

Amount - Foreign Unit Cost

mnActualShipmentTimeADTMMATH_NUMERICOPTNONE

The actual time of shipment. Enter the time using the 24-hour time format (HHMMSS). For example, enter 6:00 a.m. as 060000, and enter 7:00 
p.m. as 190000.

mnFutureUse3NumericCFS3MATH_NUMERICOPTNONE

mnFutureUse3Numeric_2CFS3MATH_NUMERICOPTNONE

mnFutureUse3Numeric_3CFS3MATH_NUMERICOPTNONE

mnFutureUse3Numeric_4CFS3MATH_NUMERICOPTNONE

szModeOfTransportMOTcharOPTNONE

A user defined code (00/TM) that describes the nature of the carrier being used to transport goods to the customer. For example, by rail, by 
road, and so on.

szRouteCodeROUTcharOPTNONE

The route field is a user defined code (system 42, type RT) that represents the delivery route on which the customer resides. This field is 
one of several factors used by the freight summary facility to calculate potential freight charges for an order. For picking, use the route code with 
the stop and zone codes to group all of the items that are to be loaded onto a delivery vehicle for a specific route. You set up a default for 
each of these fields on the Customer Billing Instruction form.

cStatusInWarehouseOriginalSWMScharOPTNONE

This flag can contain the following values:    blank Sales Order line which has not entered warehousing.    I Sales Order line inside the 
warehousing system.  These lines cannot be modified.    O Sales Order line which entered and exited the warehousing system.

jdCancelDateOriginalCNDJJDEDATEOPTNONE

The date that the order should be canceled if the goods have not been sent to the customer or the goods have not been received from the 
supplier. This is a memo-only field and does not cause the system to perform any type of automatic processing. If a line on a sales order in 
canceled in Sales Order Entry, this field will  be updated with the date the line has been canceled.                         

szGlCategoryGLPTcharOPTNONE

A user defined code (41/9) that identifies the G/L offset that system uses when it searches for the account to which it posts the transaction. If 
you do not want to specify a class code, you can enter **** (four asterisks) in this field. You can use automatic accounting instructions (AAIs) to 
predefine classes of automatic offset accounts for the Inventory Management, Procurement, and Sales Order Management systems. You 
might assign G/L class codes as follows:    IN20   Direct Ship Orders    IN60   Transfer Orders    IN80   Stock Sales  The system can generate 
accounting entries based upon a single transaction. For example, a single sale of a stock item can trigger the generation of accounting entries 
similar to the following:         Sales-Stock (Debit) xxxxx.xx     A/R Stock Sales (Credit) xxxxx.xx     Posting Category: IN80             Stock Inventory 
(Debit) xxxxx.xx     Stock COGS (Credit) xxxxx.xx The system uses the class code and the document type to find the AAI.

cPricingBasedOnDateCP01charOPTNONE

A code that determines how the system updates the Price Effective Date in the Sales Order Header (F4201) and Detail (F4211) tables. In 
the Sales Order Management system, the system uses the Price Effective Date to retrieve the base price from the Sales Order Header table 
(F4106) and price adjustments from Sales Order Detail table (F4072).

cPriceRetrievalUOMUMB1charOPTNONE

A code that specifies the unit of measure that the system uses for retrieving base prices and price adjustments for sales order processing, 
service and warranty management, and ship and debit processing. The system allows users to define base prices in the Item Base Price 
File table (F4106) and price adjustments in the Price Adjustment Detail table (F4072) in various units of measure. If the base price or price 
adjustments are not found in the specified unit of measure, then the system uses the primary unit of measure for the item.

Related Functions

B0000027 CurrencyConvForAndDom
B4000260 Line Type - Activity Rules
B4000520 Get Item UoM Conversion Factor
B4000770 Convert String To Numeric
B4002000 Compute Unit Or Extended Amount
B4200260 Write Sales History Or Ledger
B4500090 F4074 Price Adjustment Ledger Server
B4500200 F4573 Get Next Free Good
B9800100 Get Audit Information
N4101460 Dual Unit of Measure Price
XF4105 Item Cost I/O

Related Tables

F004201 Prepayment Transaction Table
F4211 Sales Order Detail File
F42119 Sales Order History File
ize:10pt">