F42UI11DeleteKitComponentLines

Kit Server Routines

Major Business Rule

Object Name: B4200470

Parent DLL: CDIST

Location: Client/Server

Language: C

Functional Description

Purpose
This function deletes all component records for a specific DOCO, DCTO, KCOO and KTLN
This function is called by P41351 Kit Selection


Setup Notes and Prerequisites

• Use bullet points.

Special Logic

None.


Technical Specification


2.1  Data Structure

mnDocumentNumberDOCO

szDocumentDCTO

szDocumentCompanyKCOO

mnLineNumberLNID

mnKitMasterLineNumberKTLN

szComputerIDCTID

mnJobNumberJOBS



2.2Related Tables 

Table Table Description

F42UI11



2.3Related Business Functions

Source NameFunction Name

B4200310F4211ClearWorkFile



2.4Processing 

if ( cUseCache == 1)
      Delete all kit component records from the F42UI11 by calling F4211 ClearWorkFile.

      

      While records exist where the KTLN from the F42UI11 matches the KTLN passed in lpDS

           Fetch record from F42UI11 where CTID, JOBS, DOCO, DCTO, KCOO, LNID

           If Record Found

               Call F4211ClearWorkFile


if ( cUseCache == 2)

      Delete all kit component records from the F42UI11  CACHE by calling F4211ClearWorkFile.

      

      While records exist where the KTLN from the F42UI11 CACHE matches the KTLN passed in lpDS

           Fetch range of records  where CTID, JOBS, DOCO, DCTO, KCOO, LNID

           and  XLIN = From Line Number - XLIN = Thru Line Number

           XLIN = FromLineNumber

           So - While XLIN < ThruLineNumber

                 Fetch Record

                 If Record Found

                     Call F4211ClearWorkFile

  


^

Data Structure

D4200470D - F42UI11 Delete Kit Component Lines


Special Input Expected

DOCODocument Number

DCTODocument Type

KCOODocument Company

LNIDLine Number

KTLNKit Master Line Number

LNIXFrom Line NumberWhen use cache = 2

LNIXThru Line NumberWhen use cache = 2

EV01UseCache0 = nothing,

1 = WF F42UI11,

2 = Cache


^

Parameter NameData ItemData TypeReq/OptI/O/Both
mnDocumentNumberDOCOMATH_NUMERICNONENONE

A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry, 
and so on.

szDocumentTypeDCTOcharNONENONE

A user defined code (00/DT) that identifies the type of document. This code also indicates the origin of the transaction. J.D. Edwards has 
reserved document type codes for vouchers, invoices, receipts, and time sheets, which create automatic offset entries during the post 
program. (These entries are not self-balancing when you originally enter them.) The following document types are defined by J.D. Edwards and 
should not be changed: P Accounts Payable documents   R Accounts Receivable documents   T Payroll documents   I Inventory documents  
O Purchase Order Processing documents   J General Accounting/Joint Interest Billing documents   S Sales Order Processing documents

szDocumentCompanyKCOOcharNONENONE

A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a 
sales order, and so on). If you use the Next Numbers by Company/Fiscal Year facility, the Automatic Next Numbers program (X0010) uses the 
order company to retrieve the correct next number for that company. If two or more order documents have the same order number and order 
type, the order company lets you locate the desired document. If you use the regular Next Numbers facility, the order company is not used to 
assign a next number. In this case, you probably would not use the order company to locate the document.

mnLineNumberLNIDMATH_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.

mnKitMasterLineNumberKTLNMATH_NUMERICNONENONE

This line number indicates the relative sequence in which a component is added to a kit or single level bill of materials. For example, the 
system automatically assigns a whole number to the kit master line, for example, 1.0000. Each component line is assigned a consecutive 
subset of that line number, for example, the first component has line 1.010, and the second component has 1.020.

szComputerIDCTIDcharNONENONE

mnJobNumberJOBSMATH_NUMERICNONENONE

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

Related Functions

None

Related Tables

F42UI11 SO Detail Cache File (MBF)
KitComponentCalcBalncdShipQtys

KitComponentCalcBalncdShipQtys

Kit Server Routines

Major Business Rule

Object Name: B4200470

Parent DLL: CDIST

Location: Client/Server

Language: C

Functional Description

Purpose
This function adjusts the SOQS, SOBK and SOCN per component item given the 
MaxKitMstrsToBeSold per component item.  This information is contained within the Link List

This function is called by P41351 Kit Selection, P4205 Shipment Confirmation and P42117

Back Order Release.


Setup Notes and Prerequisites

• Use bullet points.

Special Logic

None.



Technical Specification


2.1 Data Structure

idKitLinkListGENLNG

mnMaxKitMasterToBeSoldMATH01

mnKitMasterConvToPrimaryCONV

cBackOrderFlagBACK

cPartialShipmentsFlagAPTS

cCheckAvailabilityCKAV


2.2Related Tables 

Table Table Description
Work File


2.3Related Business Functions

Source NameFunction Name

2.4Processing 


//Note: *The Qty Per Display  per Component Item is in terms of the transaction uom of the 3002 *

the Quantity Ordered of Kit Masters in Primary


Example:  Sales Order   1 BX of Computers    ( where 1 BX = 3 EA)

              Bill of Material     1 Computer EA is made up of

                                                                                                      

      1  PR of Cables and

                                          2  EA of Hard Drives

Thus the Qty Per Display for Cables =  3  PR 

& the Qty Per Display for Hard Drives = 6 EA


*The Qty Available per Component Item is in terms of the transaction uom of the 3002

      *The CompToKitParentRatio per Component Item = the qnty set up in the F3002 Bill of 

                          Materials * the Previous Levels Hidden Qty Per (Feature Level) 

            * 


//   Since SOQS, SOBK and SOCN are stored in the F4211 in terms of Transaction UOM


There are 2 Reasons the Kit might not be able to ship in full:


 1.  Not Enough Available to Fill all of the Kit Master ordered

MaxKitMstrsAvailToSell    

 

2.  Not Enough component items ordered to fill to the feature item

MaxKitMstrsTtldToFeatures


Thus which ever of two items is less becomes your limiting factor in the amount of

MaxKit MastersToBeSold


We need to know the MaxKitMastersToBeSold in terms of the Number of Components of each

item so we can determine the appropriate SOQS, SOBK and SOCN


This number is obtained via the MaxKitMastersToBeSold

MaxKitMastersToBeSold  1BX * KitMastersConvFactToPrimary (3) = 3 EA

* KTP of component item  1  =  3 ComponentsNeededToBalToMaxKitMastersToBeSold


We need to know what we are supposed to balance to per item for back order and cancel reasons:

               
1.  NoOfComponentsNeededToBalance  To the 3002  ( Qty Per field Returned from Edits for Kits

                                   Or  KTP * the KitMstrsOrderedQtyInPrimary)


            Need a Internal Function in Maintain Kit Link List:  CalcNoOfCpntsNeededToBal

//If Maintenance Mode

            Retrieve KTP from F4211

Send in UORG KitMastersOrderedQtyInPrimary


//If Add Mode

                  Send in KTP from EditForKits Business Function

                  Send in UORG KitMastersOrderedQtyInPrimary

   

            //    NoOfComponentsNeededToBal = KTP  * KitMastersOrderedQtyInPrimary


// NEW  4/1/96   Set Up For Kit Balancing


Cycle thru the link list - one item at a time

 

If   (Mode == S , R or P)
      WriteToWorkFileFlag == TRUE


If  Not a Text Line  - then perform the following:


  If  FI CKAV CheckAvailabilityFlag == 2 or ' '

     SOQS == Qty Per

     UORG == Qty Per


  If  FI CKAV  CheckAvailabiltyFlag == 1

  
1.  If Qty Per  < NoOfComponentsNeededToBalance

        UORG = NoOfComponentsNeededToBalance

        If ComponentsNeededToBalToMaxKitMastersToBeSold <  Qty Per

        // Note ComponentsNeededToBalToMaxKitMastersToBeSold is your limiting figure, thus you

                    don't need to check availability

            If  Back Order BACK == Y
                If  Allow Partial Shipments APTS  == Y

                    // Back order the remaining Qty

                     SOQS = ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOBK = NoOfComponentsNeededToBalance - 

ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOCN = 0

                else

                   //  Back order the entire Qty

                     SOQS =  0

                     SOBK = NoOfComponentsNeededToBalance

                     SOCN = 0

            else

                If  Allow Partial Shipments APTS == Y

                     // Cancel the Remaining Qty

                     SOQS = ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOBK = 0

                     SOCN = NoOfComponentsNeededToBalance - 

ComponentsNeededToBalToMaxKitMastersToBeSold

                else

                    //  Cancel the entire Qty

                     SOQS =  0

                     SOBK = 0

                     SOCN = NoOfComponentsNeededToBalance

       else  Qty Per < ComponentsNeededToBalToMaxKitMastersToBeSold

              // Note ComponentsNeededToBalToMaxKitMastersToBeSold is your limiting figure, thus 

you don't need to check availability, since it is already greater than the Qty Per 

requested

            If  Back Order BACK == Y

                If  Allow Partial Shipments APTS  == Y

                    // Back order the remaining Qty

                     SOQS = Qty Per

                     SOBK = NoOfComponentsNeededToBalance - Qty Per

                     SOCN = 0

                else

                   //  Back order the entire Qty

                     SOQS =  0

                     SOBK = NoOfComponentsNeededToBalance

                     SOCN = 0

            else

                If  Allow Partial Shipments APTS == Y

                     // Cancel the Remaining Qty

                     SOQS = Qty Per

                     SOBK = 0

                     SOCN = NoOfComponentsNeededToBalance - Qty Per

                else

                    //  Cancel the entire Qty

                     SOQS =  0

                     SOBK = 0

                     SOCN = NoOfComponentsNeededToBalance


    If Qty Per == NoOfComponentsNeededToBalance

        UORG = NoOfComponentsNeededToBalance

        If ComponentsNeededToBalToMaxKitMastersToBeSold <  NoOfComponentsNeededToBalance

        // Note ComponentsNeededToBalToMaxKitMastersToBeSold  is your limiting figure, thus you

                   don't need to check availability

            If  Back Order BACK == Y

                If  Allow Partial Shipments APTS  == Y

                    // Back order the remaining Qty

                     SOQS = ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOBK = NoOfComponentsNeededToBalance - 

ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOCN = 0

                else

                   //  Back order the entire Qty

                     SOQS =  0

                     SOBK = NoOfComponentsNeededToBalance

                     SOCN = 0

            else

                If  Allow Partial Shipments APTS == Y

                     // Cancel the Remaining Qty

                     SOQS = ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOBK = 0

                     SOCN = NoOfComponentsNeededToBalance - 

ComponentsNeededToBalToMaxKitMastersToBeSold

                else

                    //  Cancel the entire Qty

                     SOQS =  0

                     SOBK = 0

                     SOCN = NoOfComponentsNeededToBalance

       else        // Note ComponentsNeededToBalToMaxKitMastersToBeSold = Qty Per = 

NoOfComponentsNeededToBalance 

            SOQS = NoOfComponentsNeededToBalance

            SOBK = 0

            SOCN = 0




//   Do this last case statement

//  Note in Maintenance Mode I do not have the availability of the item.

//  Call Calculate Qty Available Shell  B3100380


If Qty Per  > NoOfComponentsNeededToBalance

        UORG = Qty Per

        If ComponentsNeededToBalToMaxKitMastersToBeSold < NoOfComponentsNeededToBalance 

       // Note ComponentsNeededToBalToMaxKitMastersToBeSold is your limiting figure, thus you

                   don't need to check availability

            If  Back Order BACK == Y

                If  Allow Partial Shipments APTS  == Y

                    // Back order the remaining Qty

                     SOQS = ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOBK = Qty Per - ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOCN = 0

                else

                   //  Back order the entire Qty

                     SOQS =  0

                     SOBK = Qty Per

                     SOCN = 0

            else

                If  Allow Partial Shipments APTS == Y

                     // Cancel the Remaining Qty

                     SOQS = ComponentsNeededToBalToMaxKitMastersToBeSold

                     SOBK = 0

                     SOCN = Qty Per - ComponentsNeededToBalToMaxKitMastersToBeSold

                else

                    //  Cancel the entire Qty

                     SOQS =  0

                     SOBK = 0

                     SOCN = Qty Per

       else    NoOfComponentsNeededToBalance  == ComponentsNeededToBalToMaxKitMastersToBeSold

               // Note:  Because ComponentsNeededToBalToMaxKitMastersToBeSold cannot be > 

                                          NoOfComponentsNeededToBalance

          If Availability >= Qty Per           

               SOQS = Qty Per

               SOBK = 0

               SOCN = 0

          else

              If  Back Order BACK == Y

                  If  Allow Partial Shipments APTS  == Y

                    // Back order the remaining Qty

                       SOQS = Available

                       SOBK = Qty Per - Available

                       SOCN = 0

                  else

                    //  Back order the entire Qty        **********  Note :    What do I Do?

                       SOQS =  0

                       SOBK = NoOfComponentsNeededToBalance

                       SOCN = 0

              else

                  If  Allow Partial Shipments APTS == Y

                     // Cancel the Remaining Qty

                       SOQS = Available

                       SOBK = 0

                       SOCN = Qty Per - Available

                  else

                      //  Cancel the entire Qty           *********** Note:  What do I Do?

                       SOQS =  0

                       SOBK = 0

                       SOCN = NoOfComponentsNeededToBalance


 



^

Data Structure

D4200470B - Kit Component Calc Balncd Ship Qtys


Special Input Expected

MATH01MaxKitMastersToBeSold

GENLNGKitLinkList

CONVKitMasterConvFactorToPrimary

BACKBackOrdersAllowedThe Calling function should determine if back orders

are allowed by checking the 4 files.

If all 4 files allow back orders then send in a 'Y'

APTSAllowPartialShipments

CKAVCheckAvailabilityFlag


Special Output Returned

GENLNGKitLinkList



^

Parameter NameData ItemData TypeReq/OptI/O/Both
idKitLinkListGENLNGIDNONENONE


Special Input Expected

GENLNGab KitLinkList


Special Output Returned

GENLNGab KitLinkList


^

mnMaxKitMasterToBeSoldMATH01MATH_NUMERICNONENONE


Special Input Expected

MATH01ab MaxKitMastersToBeSold


^

mnKitMastersConvFactToPrimaryCONVMATH_NUMERICNONENONE


Special Input Expected

CONVab  ab KitMasterConvFactorToPrimary





^

cBackOrderFlagBACKcharNONENONE

An option that specifies whether to allow backorders for this item. You can allow backorders by item using the Item Master (P4101) or Item 
Branch/Plant (P41026) programs, by customer using the Customer Billing Instructions program (P03013), or by branch/plant using the 
Branch/Plant Constants program (P41001).  Valid values are: On Allow backorders for this item. Off Do not allow backorders for this item, regardless of 
the backorders code that is assigned to the customer.

cPartialShipmntsFlagAPTScharNONENONE

An option that indicates whether the customer accepts partial line shipments. Valid values are: On The customer accepts partial line 
shipments. No The customer does not accept partial shipments; the entire line must be shipped at one time.

cCheckAvailabilityCKAVcharNONENONE

A code that specifies whether the system performs availability checking.  You might want to turn on availability checking for certain items.  
For other items, if you assume that an adequate supply is available, leave availability checking turned off.  For PeopleSoft World, valid values 
are: Y The system performs availability checking. N The system does not perform availability checking.  For PeopleSoft EnterpriseOne, a 
check mark indicates that availability checking is turned on.

cCalledFromEV01charOPTNONE

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

Related Functions

None

Related Tables

F42UI11 SO Detail Cache File (MBF)
KitParentCalcBalncdShipQtys

KitParentCalcBalncdShipQtys

Kit Server Routines

Major Business Rule

Object Name: B4200470

Parent DLL: CDIST

Location: Client/Server

Language: C

Functional Description

Purpose
This function adjusts the SOQS, SOBK and SOCN of the Kit Master given the 
MaxKitMstrsToBeSold.

This function is called by P41351 Kit Selection, P4205 Shipment Confirmation and P42117

Back Order Release.


Setup Notes and Prerequisites

• Use bullet points.

Special Logic

None.



Technical Specification


2.1 Data Structure

mnMaxKitMastersToBeSoldMATH01

mnKitMastersOrderedQtyUORG

mnQtyMastersQuantityShippedSOQS

mnKitMastersBackOrderedQtySOBK

mnKitMastersCancelledQtySOCN

cPartialShipFlagAPTS

cBackorderFlagBACK


2.2Related Tables 

Table Table Description

2.3Related Business Functions

Source NameFunction Name

2.4Processing 
If  FI CKAV CheckAvailabilityFlag == 2 or ' '
     SOQS == Qty Per

     UORG == Qty Per

     SOBK = 0

     SOCN = 0


If  FI CKAV  CheckAvailabiltyFlag == 1

  
1. If MaxKitMastersToBeSold <  Qty Ordered

            If  Back Order BACK == Y

                If  Allow Partial Shipments APTS  == Y

                    // Back order the remaining Qty

                     SOQS = MaxKitMastersToBeSold

                     SOBK = Qty Ordered - MaxKitMastersToBeSold

                     SOCN = 0

                else

                   //  Back order the entire Qty

                     SOQS =  0

                     SOBK = Qty Ordered

                     SOCN = 0

            else

                If  Allow Partial Shipments APTS == Y

                     // Cancel the Remaining Qty

                     SOQS = MaxKitMastersToBeSold

                     SOBK = 0

                     SOCN = Qty Ordered - MaxKitMastersToBeSold

                else

                    //  Cancel the entire Qty

                     SOQS =  0

                     SOBK = 0

                     SOCN = Qty Ordered

       else  Qty Ordered  ==  MaxKitMastersToBeSold

      
               SOQS = Qty Per
                     SOBK = 0

                     SOCN = 0





Data Structure

D4200470E - Kit Parent Calc Balncd Ship Qtys

Special Input Expected
MATH01MaxKitMastersToBeSold

UORGKit Master Ordered Qty

APTSPartial Ship Flag

BACKBack Orders Allowed FlagThe Calling function should determine if back orders are 

allowed by checking the 4 files. If all 4 files allow back orders then send in a 'Y'


Special Output Returned

SOQSKit Master Qty Shipped

SOBKKit Master Back Ordered Qty

SOCNKit Master Cancelled Qty


^

Parameter NameData ItemData TypeReq/OptI/O/Both
mnMaxKitMastersToBeSoldMATH01MATH_NUMERICNONENONE


Special Input Expected

MATH01ab MaxKitMastersToBeSold



^

mnKitMastersOrderedQtyUORGMATH_NUMERICNONENONE


Special Input Expected

UORGab  ab Kit Master Ordered Qty





^

mnQtyMastersQtyShippedSOQSMATH_NUMERICNONENONE

The number of units committed for shipment in Sales Order Entry, using either the entered or the primary unit of measure defined for this 
item. In the Manufacturing system and Work Order Time Entry, this field can indicate completed or scrapped quantities. The quantity type is 
determined by the type code entered.

mnKitMastersBackOrderedQtySOBKMATH_NUMERICNONENONE

The number of units backordered in Sales Order Management or in Work Order Processing, using either the entered or the primary unit of 
measure defined for this item.

mnKitMastersCancelledQtySOCNMATH_NUMERICNONENONE

The number of units canceled in Sales Order or Work Order Processing, using either the entered or the primary unit of measure defined for 
this item. In manufacturing, this can also be the number of units scrapped to date.

cPartialShipFlagAPTScharNONENONE

An option that indicates whether the customer accepts partial line shipments. Valid values are: On The customer accepts partial line 
shipments. No The customer does not accept partial shipments; the entire line must be shipped at one time.

cBackOrderFlagBACKcharNONENONE

An option that specifies whether to allow backorders for this item. You can allow backorders by item using the Item Master (P4101) or Item 
Branch/Plant (P41026) programs, by customer using the Customer Billing Instructions program (P03013), or by branch/plant using the 
Branch/Plant Constants program (P41001).  Valid values are: On Allow backorders for this item. Off Do not allow backorders for this item, regardless of 
the backorders code that is assigned to the customer.

Related Functions

None

Related Tables

F42UI11 SO Detail Cache File (MBF)
KitParentGetMaxToBeSold

KitParentGetMaxToBeSold

Kit Server Routines

Major Business Rule

Object Name: B4200470

Parent DLL: CDIST

Location: Client/Server

Language: C

Functional Description

Purpose
This function calculates whether or not the next item is a limiting item.  
This function returns a new maximum number of Kit Master to be sold  by cycling thru the entire link 

list  

This function is called in P41351 Kit Selection, P4205 Shipment Confirmation and 

P42117 Back Order Release.


Setup Notes and Prerequisites

• Use bullet points.

Special Logic

None.



Technical Specification


2.1 Data Structure
idKitLinkListGENLNG

mnMaxKitMastersToBeSoldMATH01

mnKitMastersConvFactToPrimaryCONV

mnKitMastersShortItemITM

cCallingApplicationEV01


2.2Related Tables 
Table Table Description

2.3Related Business Functions

Source NameFunction Name

2.4Processing 


There are 2 Reasons the Kit might not be able to ship in full:

1.  Not Enough Available to Fill all of the Kit Master ordered

MaxKitMstrsAvailToSell    

 

2.  Not Enough component items ordered to fill to the feature item

MaxKitMstrsTtldToFeatures


Thus which ever of two items is less becomes your limiting factor in the amount of

MaxKit MastersToBeSold


      EXAMPLES:
// Note:*The Transaction Qty (QtyPer)  per Component Item is in terms of the 
transaction uom of the 3002 * the Quantity Ordered of Kit Masters in Primary

*The Qty Available per Component Item is in terms of the transaction uom of 

the 3002

*The CompToKitParentRatio per Component Item = the qnty set up in the F3002 

Bill of Materials * the Previous Levels Hidden Qty Per (Feature Level) 

Example:

      Bill of Materials:

1 ComputerEA

2 CablesEAF

1 Cables XPRO

1 Cables YPRO

2 CableKitsEAF

2 Kit XEAO

2 Hard DrivesEAS

// NOTE:  1 BX = 3 EA                                                               

                                   

                                                                                                      

    QtyPerPreviousHidden      KTP      Qty Per

Sales Order:Order 1 ComputerBX1

                                          2 CablesEAF(1 * 2) = 2                 

1 Cables XPRO(2 * 2) = 4       6

1 Cables YPRO     (2 * 2) = 4       6

2 CableKitEAF(2 * 2 ) =4 

2 Kit XEAO(2 * 4) = 8      12 

2 Hard Drives EAS(2 * 1) = 2       6


//  NEW


FOR  Cables X

     KTP = (Component / Parent) * QtyPerPreviousHidden 1  PR / EA * 2  = 2 PR/EA

     Qty Per =  Qty Per (3002) * QtyPerPreviousHidden * KitMastersOrderedQtyInPrimary  = 6

     Thus we need 6 Cables X to fill 1 BX of Computers



//  CODE:



1A .    FOR each item read in the link list   DO

             If  Not a Text Line

              If the Qty Available parm in the link list is not filled in then

               Call Calculated Qty Available Shell

               // NOTE:  This can happen when in Maintenance Mode and there is an item 

selected to be sold that was not touched by the P41351 Kit Selection Window ( i.e. the 

user never went that deep in blowing out the grid)


******     Calculate the MaxKitMstrsAvailToSell


1.   Calculate the ComponentToParentRatioInTransaction


   If  1 BX = 3 EA  then  

       Conv Factor Kit Master Trans UOM To Primary = 3 EA which is  3 EA / BX

       So,CompToParentRatioInTransaction = (KTP * ConvFactKitMastersTransToPrimary)

=(2 PR / EA)(3 EA/ BX)

= (6 PR / BX)


2.  Calculate the Maximum Kit Masters Available To Sell  


  If QNTY ( Quantity Per ( Trans UOM 3002) ) >  QAVL ( (Quanity Available) (Trans UOM 3002))

     modulas = QAVL ( Quantity Available) / QNTY (CompToParentRatioInTransaction)

     If  ( modulas < MATH01 MaxKitMstrsAvailToSell )

         MATH01  MaxKitMstrsAvailToSell = modulas

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

       

//   Note:   *  MaxKitMstrsAvailToSell is now in terms of the Kit Masters Ordered UOM

                ( QAVL  Qty Avail 6 PR / QNTY CompToParentRatioInPrimary  6 PR / BX   ) =  1 BX 's 

avail to sell


***********    Calculate the MaxKitMstrsTtldToFeatures


3.     ****

        Set MaxKitMstrsTtldToFeatures = 9999

        Read the first item of Link List

        While the end of the Link List is not found and Not a Text Line         

         

































 

          

        **** Determine KitMastersToBeSold


4.      if   MaxKitMstrsAvailToSell < MaxKitMstrsTtldToFeatures

             KitMastersToBeSold  = MaxKitMstrsAvailToSell

        else

             KitMastersToBeSold = MaxKitMstrsTtldToFeatures


Data Structure

D4200470A - Kit Parent Get Max To Be Sold


Special Input Expected

GENLNGKitLinkList

MATH01MaxKitMastersToBeSoldInitialize - depends on where called from.

i.e. P41351 it's UORG, in P42118 it's SOBK, P4205

it's SOQS, etc.. think about where it's being

called from

CONVKitMastersConvFactTransToPrimary

ITMKitMastersShortItem


Special Output Returned

GENLNGKitLinkList

MATH01MaxKitMastersToBeSold


^

Parameter NameData ItemData TypeReq/OptI/O/Both
idKitLinkListGENLNGIDNONENONE


Special Input Expected

GENLNGab KitLinkList


Special Output Returned

GENLNGab KitLinkList


^

mnMaxKitMastersToBeSoldMATH01MATH_NUMERICNONENONE


Special Input Expected

MATH01ab MaxKitMastersToBeSold


Special Output Returned

MATH01ab MaxKitMastersToBeSold


Significant Data Values

Initialize - depends on where called from.

i.e. P41351 it's UORG, in P42118 it's SOBK, P4205

it's SOQS, etc.. think about where it's being called from




^

mnKitMastersConvFactToPrimaryCONVMATH_NUMERICNONENONE


Special Input Expected

CONVab  ab KitMastersConvFactTransToPrimary






^

mnKitMastersShortItemITMMATH_NUMERICNONENONE


Special Input Expected

ITMab  ab KitMastersShortItem







^

cCallingApplicationEV01charOPTNONE

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

szLotGroupLOTGRPcharOPTNONE

Lot Group is the name of a user defined list of allowed non-blank lot status codes.  Entry of a Lot Group name in the Processing Option will 
allow this Application to process lots whose lot status code is defined within the specified Lot Group Name.  

Related Functions

None

Related Tables

F42UI11 SO Detail Cache File (MBF)
MaintainKitLinkList

MaintainKitLinkList

Kit Server Routines

Major Business Rule

Object Name: B4200470

Parent DLL: CDIST

Location: Client/Server

Language: C

Functional Description

Purpose
This function maintains a link list which contains the items which the user selected when selling a 
Kit Master Item.  This function Adds, Deletes and Searches upon items within the link list.  In 

addition, when this function is called from P4210 Maintenance Mode,  P4205 Mode S, P42117 Modes R & P, P42995 

Modes R and P42997 Mode C the link list will be built off of the F4211 file.


Setup Notes and Prerequisites

• Use bullet points.

Special Logic

None.



Technical Specification


2.1 Data Structure

idKitLinkListGENLNG

cModeMODE

mnDocumentNumberDOCO

szDocumentTypeDCTO

szDocumentCompanyKCOO

mnLineNumberLNID

szLastStatusLTTR

szNextStatusNXTR

mnComponentItemITM

mnCompLineNumberCPNT

mnQtyShippedSOQS

mnQtyBackOrderedSOBK

mnQtyCancelledSOCN

jdRequestedDateDRQJ

mnConvFactTransToPrimaryCONV

mnDomUnitPriceUPRC

szTransactionUOMUOM

mnNoOfCpntPerParentKTP

szRelatedItemNumberRLIT

mnKitLineNumberKTLN

mnRelatedKitCompRKIT

szPricingUOMUOM4

mnQtyOrderedUORG

cErrorCodeERRC

cSuppressErrorMsgERRC

szErrorMsgIDDTAI

cActionCodeERRC

mnParentItemKIT

szCurrentLevelVC10A

mnDomUnitCostUNCS

cFoundEV01

szPrimaryItemNumberUITM

szComponentBranchCMCU

cPriceOverrideFlagPROV

cCostOverrideFlagCSTO

szLineTypeLNTY

cCommitmentFlagCOMM

szLocationLOCN

szLotNumberLOTN

cActionCodeForEditLineACTN

mnKitMstrsORderedQtyInPrimaryUORG

cCheckAvailFlagCKAV

mnQuantityAvailableQAVL

cTextLineYNTXYN

cAddBackInBOEV01

cOtherQuantity12OTQY

jdPromiseDelDatePDDJ

mnFutureQtyCommittedSONE

cCallingApplicationEV02


2.2Related Tables 

Table Table Description
F4211Sales Detail


2.3Related Business Functions

Source NameFunction Name

2.4Processing 


A single Link List node  should contain the following:
  mnDocumentNumberDOCO;

  szDocumentType[3]DCTO;

  szDocumentCompany[6]KCOO;

  mnLineNumberLNID;

  szLastStatus[4]LTTR;

  szNextStatus[4]NXTR;

  mnComponentItemITM;

  mnCompLineNumberCPNT;

  mnQtyShippedSOQS;

  mnQtyBackorderedSOBK;

  mnQtyCancelledSOCN;

  jdRequestedDateDRQJ;

  mnConversionFactorCONV;Passed in  - Modes A, M

All other Modes Returned via B.F. 

KitComponentGetQtyAvail

  mnDomUnitPriceUPRC;

  szTranactionUOM[3]UOM;

  mnNoOfCpntPerParentKTP;

  szRelatedItemNumber[9]RLIT;

  mnKitLineNumberKTLN;

  mnRelatedKitCompRKIT;

  szPricingUOM[3]UOM4;

  mnQtyOrderedUORG;

  mnParentItemITM;

  szCurrentLevel[11]VC10A;

  mnDomUnitCostUNCS;

  szPrimaryItemNumber[27]UITM;

  szComponentBranch[13]CMCU;

  cTextLineYNTXYN;       Needed for Kit Balancing 

  
cLineTypeLNTY;        Needed for Edit Line
  cPriceOverrideFlagPROV;
  cCostOverrideFlagCSTO;

  mnQtyAvailableQAVL;

  bContainedInF4211BOOL;

  cActionCodeForEditLineACTN;

  mnNoOfCpntsNeededToBalMATH01; =  KTP * KitMastersOrderedQtyInPrimary


  cCommitmentFlagCOMM Added 10/15/96 for BO Release

  mnOtherQty1or2OTQY   Added 10/15/96 for BO Release

  jdPromisedDelDatePDDJ    Added 10/15/96 for BO Release

  mnFutureQtyCommitSONE    Added 10/15/96 for BO Release


Action Code:


1   Add:    Add an item to the end of the link list.  Fill in the node completely

2  Delete:  Search for a specific node and delete it from the list

3  Search:  Search for a specific node and return the information contained within

4  Delete ALL:  Delete the entire link list

5  Traverse List:  By Passing the pointer to the link list back and forth, starting at the 

beginning of the list - traverse the list returning

one item at a time until the end of the list is encountered. Initialize cFound to 0 

prior Parms to indicate if record was found or end of list:

cFound= 0    Start at beginning of list

= 1   Record Found no error

= 2   Record NOT found

= 3   End of list encountered


6  Search & Update Qty:Search for a specific node and update the Qty Ordered Info This mode is 

used w/ Tab Out of Control of Qty Per field It is used to update the Qty 

Ordered field. Next Status, Last Status and Qty Per are the only fields which can 

be changed in the Kit Selections Window.


7.  WriteListToWorkFile:  For each node in the list, a work file is written to:


****************************************************************************

Code:


If the Link List is  NULL

   Create Link List

    Save Pointer 

    If  Mode != A

               //  build the link list by reading the info in the F4211 file

               Set Continue Flag to FALSE

               Call internal function BuildListFromF4211

 

             Note:  Save all Fields in the link list node that need to be passed to the F4211EditLine

                       The Unique Key to the link list is DOCO, DCTO, KCOO, ITM (component item), 

                       KIT (immediate parent), RLIT(level 1 parent) & CPNT (component line number)

                       The F4211 file does not contain KIT, thus there is a possibility for a mis match when

                       searching the link list.  Need database change on the AS/400   


If the Link List != NULL  & Continue Flag = TRUE

    If  Mode == A       Then when maintaining the link list you can insure uniqueness

          NoOfCpntsNeededToBal = KTP * KitMastersOrderedQtyInPrimary

          If  ActionCode = Add  (1)

              call internal function IB4200470_LoadKitNode

              call internal function Add to Kit Link List

          If  ActionCode = Delete (2)

              call internal function Delete from Kit Link List

          If  ActionCode = Search (3)

              call internal function Search Kit Link List

              If  found

                   call internal function  Retrieve Node Info

          If  ActionCode = Delete All (4)

             Delete the entire link list and free all memory

          If  ActionCode = Traverse (5)

             call internal function TraverseKitLinkList

          If  ActionCode = Update (6)

             call internal function  Search Kit Link List

             If found

                 call internal function IB4200470_UpdateQtysAndStatus

                             

      If Mode != A

          If ActionCode = Add (1)
              Search the link list to determine if already contained within

              call internal function Search Kit Link List

              If Not Found

                  call internal function IB4200470_LoadKitNode

                  call internal function Add to Kit Link List

              else

                  If the nodes element bContainedInF4211 is TRUE 

                       Update the ActionCodeForEditLine to 'C' 

                       call IB4200470_UpdateNodeInfo

                  else

                       Leave the ActionCodeForEditLine unchanged

                       call internal function UpdateNodeInfo


           If ActionCode = Delete (2)

              Since the record existed in the F4211 we do not want to delete it from the file we

              want to mark it as cancelled.  Thus set the action code = D

              Search the link list to find the item to delete

              call internal function Search Kit Link List 

              If Found

                  If the nodes element bContainedInF4211 is TRUE 

                          Update the ActionCodeForEditLine to 'D'

                          call IB4200470_UpdateNodeInfo

                 else

                     Delete the node from the link list

                     Re-index the rest of the lists Line Numbers

  

           If ActionCode = Search (3)

              call internal function Search Kit Link List

              If  found

                   call internal function  Retrieve Node Info

          If  ActionCode = Delete All (4)

             Delete the entire link list and free all memory

          If  ActionCode = Traverse (5)

             call internal function TraverseKitLinkList

          If  ActionCode = Update (6)

             call internal function  Search Kit Link List

             If found

                 If the nodes element bContainedInF4211 is TRUE 

                       Update the ActionCodeForEditLine to 'C'

                       call internal function IB4200470_UpdateQtysAndStatus

                  else

                        Leave the ActionCodeForEditLine unchanged

                       call internal function IB4200470_UpdateQtysAndStatus



Internal Functions:


BOOL   IB4200470_BuildListFromF4211

      /*

       * Initialize Qty Available to a -1.  This in conjuction

       * with bContainedInF4211 flag indicates that

       * Calculate Qty Available was probably never called when

       * in Maintenance Mode. This information will be checked

       * in GetMaxKitMastersToBeSold.

       */

              Calculate the inverse of the ConversionFactorToPrimary

              Fetch the F4211 Records given DOCO, DCTO, KCOO and LNID

              Note:  the first record retrieved is the kit master - we do not store the kit master

                         in the link list - only the components - so add .01 to the lnid and fetch the next record

              Continue to fetch all records , add .01 the line number

              For each record retrieved

                      If Mode != A or M  AND (Check Availability Flag is ON)  NOTE: NOT EXECUTED IN  

                                                                                                                                  P41351

                                 call internal   KitComponentGetQtyAvailable to retrieve the

                                  QAVL Qty Available and 

                      else

                                 QAVL & CONV are passed in via lpDS


                      Mark each node as bContainedInF4211 = TRUE

                      If the lpDS Next Status == 999

                          ActionCodeForEditLine = D

                      else

                           ActionCodeForEditLine = C

                      call IB4200470_LoadKitNodeFromF4211Record

                      call  IB4200470_AddToKitLinkList


BOOL  IB4200470_SearchKitLinkList

Search the link list for DOCO, DCTO, KCOO, LNID, ITM, CPNT and RLIT

              If found

                  call  IB4200470_RetrieveNodeInfo


BOOL  IB4200470_AddToKitLinkList

             Add the item to the Link List


void  IB4200470_DeleteFromKitLinkList

              call IB4200470_SearchLinkList

              If Found

                 If Mode == A

                     Delete the node from the link list

                     Re-index the rest of the lists Line Numbers

                 else

                      If the nodes element bContainedInF4211 is TRUE 

                          Update the ActionCodeForEditLine to 'D'

                          call IB4200470_UpdateNodeInfo

                      else

                          Delete the node from the link list

                          Re-index the rest of the lists Line Numbers



BOOL  IB4200470_TraverseKitLinkList


void  IB4200470_LoadKitNodeFromF4211   


void  IB4200470_LoadKitNode

Data Structure

D4200470 - Maintain Kit Link List

Special Input Expected
GENLNGKitLinkListPtr to the kit link list

MODEModeM = Maintenance

A = Add

S = Shipment Confirmation

R = Repost

P = Back Order Release

DOCODocumentNumber*Required for all Modes 

DCTODocumentType*Required for all Modes

KCOODocumentCompany*Required for all Modes

LNIDLineNumber*Required for all Modes

send out incr/decr 1.01, 1.02

LTTRLastStatussend in GC LTTR

NXTRNextStatussend in GC NXTR

ITMComponentItemsend in GC ITM

CPNTComponentLineNumbersend in GC CPNT ( 3002)

SOQSQtyShippedsend in

SOBKQtyBackordered

SOCNQtyCancelled

DRQJRequestedDatesend in GC DRQJ

UPRCDomUnitPricesend in GC PRIC (3002)

UNCSDomUnitCostsend in GC UNCS (3002)

UOMTransactionUOMsend in GC TransUOM

KTPNoOfCpntPerParentsend in Component/Parent Ratio

RLITRelatedItemNumbersend in Level 1 Parent

KTLNKitLineNumbersend in FI LNID

RKITRelatedKitComp

UOM4PricingUOMsend in GC PricingUOM

UORGQuantityOrderedsend in GC Qty Per

ERRCErrorCode?

ERRCSuppressErrorMsg?

DTAIErrorMsgID?

ERRCActionCode1 = ADD Node - if Node exists                               

  Update Node

2 = DELETE Node

3 = SEARCH and Retrieve

4 = DELETE Entire Link List & Free Memory

5 = Traverse List and Retrieve Node Info one item at a time

6 = Search and Update Qty Ordered & Status' Parm

KITParentItem

EV03FoundIf ActionCode = 5 Initialize Found to 0 and pass in/out

UITMPrimaryItemNumber

CMCUComponentBranch

LNTYLineTypeNeeded for Edit Line & Kit Bal

UORGKitMstrsOrderedQtyInPrimary*Required for All Modes

CKAVCheck Availability Flag*Required for All Modes

QAVLQuanity Available

TXYNText Line Y/NNeeded for Kit Balancing

EV09AddInBOQtyNeeded when Mode is 'P'

LVLCurrentLevel

CONVConvFactTransToPrimaryNeeded in all modes other than 'A' This field is used to 

obtain the Inverse of the TtoPConvFact which is passed into CalcQtyAvailShell.  This parm reduces the 

need for another hit to GetItemUOMConvFactor.


Special Output Returned

GENLNGKitLinkListPtr to the kit link list

MODEModeM = Maintenance

A = Add

S = Shipment Confirmation

R = Repost

P = Back Order Release

LNIDLineNumber*Required for all Modes

send out incr/decr 1.01, 1.02

LTTRLastStatussend in GC LTTR

NXTRNextStatussend in GC NXTR

SOQSQtyShippedsend in

SOBKQtyBackordered

SOCNQtyCancelled

DRQJRequestedDatesend in GC DRQJ

UPRCDomUnitPricesend in GC PRIC (3002)

UNCSDomUnitCostsend in GC UNCS (3002)

UOMTransactionUOMsend in GC TransUOM

KTPNoOfCpntPerParentsend in Component/Parent Ratio

KTLNKitLineNumbersend in FI LNID

RKITRelatedKitComp

UOM4PricingUOMsend in GC PricingUOM

UORGQuantityOrderedsend in GC Qty Per

ERRCErrorCode?

ERRCSuppressErrorMsg?

DTAIErrorMsgID?

EV03FoundIf ActionCode = 5 Initialize Found to 0 and pass in/out

UITMPrimaryItemNumber

CMCUComponentBranch?

PROVPriceOverrideFlag

CSTOCostOverrideFlag

LNTYLineTypeNeeded for Edit Line & Kit Bal

COMMCommittmentFlag

LOCNLocation

LOTNLot Number

ACTNActionCodeForEditLine

QAVLQuanity Available

TXYNText Line Y/NNeeded for Kit Balancing

COMMCommitmentFlagAdded 10/15/96 BO Release needs from F4211

OTQYOtherQty1or2Added 10/15/96 BO Release needs from F4211

PDDJPromisedDelDateAdded 10/15/96 BO Release needs from F4211

SONEFutureQtyCommitAdded 10/15/96 BO Release needs from F4211


^

Parameter NameData ItemData TypeReq/OptI/O/Both
idKitLinkListGENLNGIDNONENONE

ab  ab  ab  ab 
Special Input Expected

GENLNGab KitLinkList


Special Output Returned

GENLNGab KitLinkList


Significant Data Values

Ptr to the kit link list


^

cModeMODEcharNONENONE

The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed.

mnDocumentNumberDOCOMATH_NUMERICNONENONE

A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry, 
and so on.

szDocumentTypeDCTOcharNONENONE

A user defined code (00/DT) that identifies the type of document. This code also indicates the origin of the transaction. J.D. Edwards has 
reserved document type codes for vouchers, invoices, receipts, and time sheets, which create automatic offset entries during the post 
program. (These entries are not self-balancing when you originally enter them.) The following document types are defined by J.D. Edwards and 
should not be changed: P Accounts Payable documents   R Accounts Receivable documents   T Payroll documents   I Inventory documents  
O Purchase Order Processing documents   J General Accounting/Joint Interest Billing documents   S Sales Order Processing documents

szDocumentCompanyKCOOcharNONENONE

A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a 
sales order, and so on). If you use the Next Numbers by Company/Fiscal Year facility, the Automatic Next Numbers program (X0010) uses the 
order company to retrieve the correct next number for that company. If two or more order documents have the same order number and order 
type, the order company lets you locate the desired document. If you use the regular Next Numbers facility, the order company is not used to 
assign a next number. In this case, you probably would not use the order company to locate the document.

mnLineNumberLNIDMATH_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.

szLastStatusLTTRcharNONENONE

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

szNextStatusNXTRcharNONENONE

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

mnComponentItemITMMATH_NUMERICNONENONE

ab  ab 
Special Input Expected

ITMab  ab ComponentItem


Special Output Returned



Significant Data Values

send in GC ITM.



^

mnCompLineNumberCPNTMATH_NUMERICNONENONE

A number that indicates the sequence of the components on a bill of material. It initially indicates the relative sequence in which a 
component was added to a kit or single level bill of material. You can modify this number to change the sequence in which the components appear on 
the bill of material. Skip To fields allow you to enter a component line number that you want to begin the display of information.

mnQtyShippedSOQSMATH_NUMERICNONENONE

The number of units committed for shipment in Sales Order Entry, using either the entered or the primary unit of measure defined for this 
item. In the Manufacturing system and Work Order Time Entry, this field can indicate completed or scrapped quantities. The quantity type is 
determined by the type code entered.

mnQtyBackorderedSOBKMATH_NUMERICNONENONE

The number of units backordered in Sales Order Management or in Work Order Processing, using either the entered or the primary unit of 
measure defined for this item.

mnQtyCancelledSOCNMATH_NUMERICNONENONE

The number of units canceled in Sales Order or Work Order Processing, using either the entered or the primary unit of measure defined for 
this item. In manufacturing, this can also be the number of units scrapped to date.

jdRequestedDateDRQJJDEDATENONENONE

The date that an item is scheduled to arrive or that an action is scheduled for completion.

mnConvFactTransToPrimaryCONVMATH_NUMERICNONENONE

The factor that the system uses to convert one unit of measure to another unit of measure.

mnDomUnitPriceUPRCMATH_NUMERICNONENONE

The list or base price to be charged for one unit of this item. In sales order entry, all prices must be set up in the Item Base Price File table 
(F4106).

szTranactionUOMUOMcharNONENONE

A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box).

mnNoOfCpntPerParentKTPMATH_NUMERICNONENONE

The total number of the current component needed per unit of the parent kit.

szRelatedItemNumberRLITcharNONENONE

If an individual item of inventory is sold as a component of a kit or assembly (single level bill-of-materials), the item number of that kit is the 
'related'item number.

mnKitLineNumberKTLNMATH_NUMERICNONENONE

This line number indicates the relative sequence in which a component is added to a kit or single level bill of materials. For example, the 
system automatically assigns a whole number to the kit master line, for example, 1.0000. Each component line is assigned a consecutive 
subset of that line number, for example, the first component has line 1.010, and the second component has 1.020.

mnRelatedKitCompRKITMATH_NUMERICNONENONE

In the Sales Order Processing System, when a kit component is defined in the Bill of Materials Master (F3002) as a second level or higher 
item, it will be grouped and stored in the Sales Order Detail File (F4211) under a related kit component. This relationship is maintained so that 
the system can perform kit balancing on the kit throughout the order processing cycle. For example, if a kit has the following structure in the 
Bill of Materials:        Level 0 - A         Level 1 - B, C, D        Level 2 - B1, B2, D1, D2, D3                 Level 3 - B11, B12   Components B1, B2, B11, and 
B12 will be grouped under Related Item B.

szPricingUOMUOM4charNONENONE

A user defined code (00/UM) that indicates the unit of measure in which you usually price the item.

mnQtyOrderedUORGMATH_NUMERICNONENONE

The quantity of units affected by this transaction.

cErrorCodeERRCcharNONENONE


Special Output Returned

ERRCab  ab ErrorCode




^

cSuppressErrorMsgERRCcharNONENONE


Special Input Expected

ERRCab  ab SuppressErrorMsg


^

szErrorMsgIDDTAIcharNONENONE


Special Input Expected

DTAIab  ab ErrorMsgID


Special Output Returned

DTAIab  ab ErrorMsgID





^

cActionCodeERRCcharNONENONE


Special Input Expected

ERRCab  ab ActionCode


Significant Data Values

1 = ADD Node - if Node exists Update Node

2 = DELETE Node

3 = SEARCH and Retrieve

4 = DELETE Entire Link List & Free Memory

5 = Traverse List and Retrieve Node Info one item at a time

6 = Search and Update Qty Ordered & Status' Parm


^

mnParentItemKITMATH_NUMERICNONENONE

The system provides for three separate item numbers.    1.   Item Number (short) - An eight-digit, computer assigned, completely 
non-significant item number.    2.   2nd Item Number - The 25-digit, free form, user defined alphanumeric item number.    3.   3rd Item Number - Another 
25-digit, free form, user defined alphanumeric item number.

szCurrentLevelVC10AcharNONENONE

This is a generic field used as a work field in Everest.

mnDomUnitCostUNCSMATH_NUMERICNONENONE

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

cFoundEV01charNONENONE

Special Input Expected
EV03ab  ab Found


Special Output Returned

EV03ab  ab Found


Significant Data Values

If ActionCode = 5 Initialize Found to 0 and pass in/out




^

szPrimaryItemNumberUITMcharNONENONE


Special Input Expected

UITMab  ab PrimaryItemNumber


Special Output Returned

UITMab  ab PrimaryItemNumber


^

szComponentBranchCMCUcharNONENONE

A secondary or lower-level business unit. The system uses the value that you enter to indicate that a branch or plant contains several 
subordinate departments or jobs. For example, assume that the component branch is named MMCU. The structure of MMCU might be as follows:    
Branch/Plant - (MMCU)       Dept A - (MCU)       Dept B - (MCU)       Job 123 - (MCU)

cPriceOverrideFlagPROVcharNONENONE

A value established by the sales order entry program whenever a unit or extended price is entered into an order line item, overriding the 
price calculated by the program.

cCostOverrideFlagCSTOcharNONENONE

A code that specifies whether the change order is a terms only change. For those organizations that elect to view subcontracts on a 
detailed line item basis, terms only changes are in most cases those that have a non-dollar effect, such as a schedule change. For those 
organizations that elect to view their contracts on a summary job cost coding basis, all changes are automatically classified for processing purposes 
as terms only changes. In this case the base contract is automatically incremented for each change order and the individual change order 
amount is carried for informational purposes only. All change orders created in processing mode 3 (account method -incremental), are terms 
only changes. Most inquiry screens and reports exclude terms only items.

szLineTypeLNTYcharNONENONE

A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
General Ledger, Job Cost, Accounts Payable, Accounts Receivable, and Inventory Management. It also specifies the conditions under 
which a line prints on reports, and it is included in calculations. Codes include the following: S Stock item   J Job cost   N Nonstock item   F Freight  
T Text information   M Miscellaneous charges and credits   W Work order

cCommitmentFlagCOMMcharNONENONE

A value that indicates whether you specified from which Location and Lot a particular item was to come. If you specified a storage area, the 
program assigns a Hard (H) commit, and subsequent programs will not determine which Location and Lot to use to satisfy the order line. If 
you did not specify a storage area, the program assigns a Soft (S) commit and attempts to determine which Location and Lot records can best 
satisfy the order line quantity. Valid codes are:    S Soft Committed,    H Hard Committed    C Hard Committed by Commitment Program    K Kit 
Master Line (No Commitment)    N Work Order (No Commitment)

szLocationLOCNcharNONENONE

The storage location from which goods will be moved.

szLotNumberLOTNcharNONENONE

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

cActionCodeForEditLineACTNcharNONENONE


Special Output Returned

ACTNab  ab ActionCodeForEditLine





^

mnKitMstrsOrderedQtyInPrimaryUORGMATH_NUMERICNONENONE

ab 
Special Input Expected

UORGab  ab KitMstrsOrderedQtyInPrimary


Significant Data Values

Required for All Modes

^

cCheckAvailFlagCKAVcharNONENONE

A code that specifies whether the system performs availability checking.  You might want to turn on availability checking for certain items.  
For other items, if you assume that an adequate supply is available, leave availability checking turned off.  For PeopleSoft World, valid values 
are: Y The system performs availability checking. N The system does not perform availability checking.  For PeopleSoft EnterpriseOne, a 
check mark indicates that availability checking is turned on.

mnQuantityAvailableQAVLMATH_NUMERICNONENONE

The number of on-hand units minus the number of units committed to prior orders.

cTextLineYNTXYNcharNONENONE

A code that indicates whether the information with this order line type contains only text information. In World software, valid values are:    Y 
This line contains only text information.    N This line contains more than text information. In OneWorld, a checkmark indicates that the 
information with this order line type contains only text information.

cAddBackInBOEV01charNONENONE

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

cOtherQuantity12OTQYcharNONENONE

SALES ORDER PROCESSING DEFINITION: This field determines if the Quantity on Other Sales Order 1 or 2 field in the Item Location file is 
to be updated instead of the Soft Commit or Hard Commit fields. PURCHASING DEFINITION: This field determines if the Quantity on Other 
Purchase Order field is updated in the Item Location file instead of the On Purchase Order field.

jdPromiseDelDatePDDJJDEDATENONENONE

The promised shipment date for either a sales order or purchase order. The Supply and Demand Programs use this date to calculate 
Available to Promise information. This value can be automatically calculated during sales order entry. This date represents the day that the item 
can be shipped from the warehouse.

mnFutureQtyCommittedSONEMATH_NUMERICNONENONE

The number of inventory units tentatively committed to this order line. Such tentative commitment may occur through the use of Blanket 
Orders, where you have agreed to sell a specified quantity of an item but the delivery date or dates are unknown at the time of the order.  The 
contents of this field will typically have an impact, not on the Committed or On Sales Order fields shown on various screens, but more likely on 
such fields as Quantity 1 or Quantity 2  as shown on the Availability screen (exit from Branch Inventory).

cCallingApplicationEV02charOPTNONE

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

cFixedOrVariableQtyFORQcharOPTNONE

A code that indicates if the quantity per assembly for an item on the bill of material varies according to the quantity of the parent item 
produced or is fixed regardless of the parent quantity. This value also determines if the component quantity is a percent of the parent quantity. Valid 
values are:    F Fixed Quantity    V Variable Quantity (default)    %   Quantities are expressed as a percentage and must total 100%For 
fixed-quantity components, the Work Order and Material Requirements Planning systems do not extend the component's quantity per assembly 
value by the order quantity.

szComputerIDCTIDcharOPTNONE

mnJobnumberJOBSMATH_NUMERICOPTNONE

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

mnParentWFLineNoLNIXMATH_NUMERICOPTNONE

mnGenericMathNumericMATH01MATH_NUMERICOPTNONE

- - - Good Performance Low Value. 

cGenericCharacterEV01charOPTNONE

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

szGenericStringDL01charOPTNONE

A user defined name or remark.

szLotGroupLOTGRPcharOPTNONE

Lot Group is the name of a user defined list of allowed non-blank lot status codes.  Entry of a Lot Group name in the Processing Option will 
allow this Application to process lots whose lot status code is defined within the specified Lot Group Name.  

Related Functions

None

Related Tables

F42UI11 SO Detail Cache File (MBF)
position: absolute; left: 0.500000in">KitLineNumbersend in FI LNID

RKITRelatedKitComp

UOM4PricingUOMsend in GC PricingUOM

UORGQuantityOrderedsend in GC Qty Per

ERRCErrorCode?

ERRCSuppressErrorMsg?

DTAIErrorMsgID?

ERRCActionCode1 = ADD Node - if Node exists                               

  Update Node

2 = DELETE Node

3 = SEARCH and Retrieve

4 = DELETE Entire Link List & Free Memory

5 = Traverse List and Retrieve Node Info one item at a time

6 = Search and Update Qty Ordered & Status' Parm

KITParentItem

EV03FoundIf ActionCode = 5 Initialize Found to 0 and pass in/out

UITMPrimaryItemNumber

CMCUComponentBranch

LNTYLineTypeNeeded for Edit Line & Kit Bal

UORGKitMstrsOrderedQtyInPrimary*Required for All Modes

CKAVCheck Availability Flag*Required for All Modes

QAVLQuanity Available

TXYNText Line Y/NNeeded for Kit Balancing

EV09AddInBOQtyNeeded when Mode is 'P'

LVLCurrentLevel

CONVConvFactTransToPrimaryNeeded in all modes other than 'A' This field is used to 

obtain the Inverse of the TtoPConvFact which is passed into CalcQtyAvailShell.  This parm reduces the 

need for another hit to GetItemUOMConvFactor.


Special Output Returned

GENLNGKitLinkList