GetBillPayDefaultFlags

Get Bill Pay Default Flags

Minor Business Rule

Object Name: N1701000

Parent DLL: CCRIN

Location: Client/Server

Language: NER

1.1Purpose
This NER will retrieve the default Billable flag and the default Payable Flag for a part or a routing instruction for a CSMS Service Order. 

1.2Setup Notes and Prerequisites

If the EntitledFlag and MethodPriceCustomer is not available then a flag can be passed in along with the Service Order Number to retrieve this 

information from the F4817 (Work Order Extension).

If the PercentCovered is not available then a flag can be passed in along with the Cost Type to retrieve this information from the F1792 (Cost Code 

Percentages).  If the flag is passed in to retrieve the Service Order Extension then the Coverage Group does not have to be passed in, otherwise the Coverage 

Group must be passed in. 

If the MethodPriceServProvider and the PayForPartsFlag is not available then a flag can be passed in along with the Service Provider Address Book 

Number to retrieve this information from the F1797 (Address Book Extension). 

1.3Special Logic

2.1Parameters:

Data Item Data Structure DescriptionI/OReqNotes

EV01RetrieveServiceOrderIN1 = Yes

DOCOServiceOrderNumberINRequired ifRetrieveServiceOrder =1 EV01RetrievePercentCovered

I N1 = Yes

COVGRCoverageGroupINRequired if RetrievePercentCovered = 1 

and RetrieveServiceOrder <> 1

CCOSTCSMSCostTypeINRequiredifRetrievePercentCovered=1

EV01RetrieveServPrInfoIN1 = Yes

AN8ServiceProviderINRequired if RetrieveServPrInfo = 1

EV01ModeIY1 = Retrieve Billable Flag for Parts 2 = 

Retrieve Billable Flag for Routing Instruction 3 = Retrieve Payable Flag for 

Parts 4 = Retrieve Payable Flag for Routing Instruction 5 = Retrieve both the 

Billable Flag and the Payable Flag for Parts 6 = Retrieve both the Billable Flag and the 

Payable Flag for Routing Instruction

ENTCKEntitledFlagINRequired if Mode = 1, 2, 5, or 6 1 = 

Entitled

MTHPRMethodPriceCustomerINRequired if Mode = 1, 2, 5, or 6 F = Flat 

Rate T = Time & Materials Note: N (None) is not valid here

PCOVRPercentCoveredINRequired if Mode = 1, 2, 5, or 6

OPSQRouteInstrSeqNumberINRequired if Mode = 2, 4, 5 or 6 Routing Instruction 

Operation Sequence Number

MTHPRMethodPriceServProviderINRequired if Mode = 3, 4, 5 or 6 F = Flat Rate T = 

Time & Materials N = None

PYPRTPayForPartsFlagINRequired if Mode = 3 or 5 1 = Pay for parts

BILLBillableFlagO0 = Not Billable 1 = Billable

PAYABPayableFlagO0 = Not Payable 1 = Payable

SUPPSSuppressErrorMessagesIN1 = Suppress Error Messages

DTAIErrorMessageIDOError Message ID


2.2Related Tables 

Table Table Description

F4817Work Order Extension

F1792Cost Code Percentages

F1797A/B Extension


2.3Related Business Functions

Source NameFunction Name

N1700980F4817GetServiceOrder

N1700990F1792GetPercentCovered

N1700840F1797FetchRecord


2.4Processing 

//

//Check for valid Mode

//

If Mode <> 1 and Mode <> 2 and Mode <> 3 and Mode <> 4 and Mode <> 5 and Mode <> 6 then

Set ErrorMessageID = "    "

Else

//
//    Check if need to retrieve Service Order Extension Information

//

If RetrieveServiceOrder = 1

F4817GetServiceOrder

Endif

//

//    Check if need to retrieve Percent Covered

//

If RetrievePercentCovered = 1

F1792GetPercentCovered

Endif

//

//    Check if need to retrieve Service Provider Information from A/B Extension

//

If RetrieveServPrInfo = 1

F1797FetchRecord

Endif

//

//    If Mode = 1 or Mode = 5 then set Billable Flag for Parts

//

If Mode = 1 or Mode = 5 then

If MethodPriceCustomer = F then

BillableFlag = 0

Else

If EntitledFlag = 0

BillableFlag = 1

Else

If PercentCovered = 100

BillableFlag = 0

Else

BillableFlag = 1

Endif

Endif

Endif

Endif

//

//    If Mode = 2 or Mode = 6 then set Billable Flag for Routing Instruction

//

If Mode = 2 or Mode = 6 then

If EntitledFlag = 0

BillableFlag = 1

Else

If MethodPriceCustomer = F then
If RouteInstrSeqNumber = 1.00

If PercentCovered = 100

BillableFlag = 0

Else
BillableFlag = 1

Endif
Else

BillableFlag = 0

Endif

Else

If PercentCovered = 100

BillableFlag = 0

Else

BillableFlag = 1

Endif

Endif

Endif

Endif
//

//    If Mode = 3 or Mode = 5 then set Payable Flag for Parts

//

If Mode = 3 or Mode = 5 then

If MethodPriceServProvider = N then

PayableFlag = 0

Else

If MethodPriceServProvider = F then

If PayForPartsFlag = 1

PayableFlag = 1

Else

PayableFlag = 0

Endif

Else
Payable Flag = 0

Endif
Endif

Endif

//

//    If Mode = 4 or Mode = 6 then set Payable Flag for Routing Instruction

//

If Mode = 4 or Mode = 6 then

If MethodPriceServProvider = N then

PayableFlag = 0

Else

If MethodPriceCustomer = F then
If RouteInstrSeqNumber = 1.00

PayableFlag = 1

Else
PayableFlag = 0

Endif
Else

PayableFlag = 0
Endif
Endif

Endif


Data Structure

D1701000 - Get Bill Pay Default Flags

Parameter NameData ItemData TypeReq/OptI/O/Both
cRetrieveServiceOrderEV01charOPTNONE

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

mnServiceOrderNumberDOCOMATH_NUMERICOPTNONE

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.

cRetrievePercentCoveredEV01charOPTNONE

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

szCoverageGroupCOVGRcharOPTNONE

A user defined code that specifies the Coverage Group. The Coverage Group consists of unlimited cost codes and the percentage 
covered for each cost code.

szCSMSCostTypeCCOSTcharOPTNONE

A code that designates the item being costed. Examples would be:    A1   Material    B1   Labor    X1   Freight    X2   Travel

cRetrieveServPrInfoEV01charOPTNONE

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

mnServiceProviderAN8MATH_NUMERICOPTNONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

cModeEV01charREQINPUT

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

szEntitledFlagENTCKcharOPTNONE

A user defined code (17/ER) to indicate the results of an entitlement check. Valid values are:    0   Not entitled    1   Transaction entitled    2   
Contract found, but no existing service type    3   Contract found, but no day and date assigned    4   Covered under default warranty

cMethodPriceCustomerMTHPRcharOPTNONE

A code used to determine if this type of service should be priced based on a flat rate or based on actual time and materials. Valid values 
are:    F        Charges for labor are based on one flat rate. Charges for parts are already included in the flat rate.    T        Charges for labor are 
based on actual labor hours. Charges for parts are based on actual parts used.    Blank A blank value is only valid when defining the Method of 
Pricing for a service provider. It is used to indicate that the service provider is an internal service provider and should not be paid.

mnPercentCoveredPCOVRMATH_NUMERICOPTNONE

The percentage covered under warranty or contract. This is used to calculate the amount to bill or the amount to cost for the line item being 
processed on the service order or call.

mnRouteInstrSeqNumberOPSQMATH_NUMERICOPTNONE

A number used to indicate an order of succession. In routing instructions, a number that sequences the fabrication or assembly steps in the 
manufacture of an item. You can track costs and charge time by operation. In bills of material, a number that designates the routing step in the 
fabrication or assembly process that requires a specified component part. You define the operation sequence after you create the routing 
instructions for the item. The Shop Floor Management system uses this number in the backflush/preflush by operation process. In engineering 
change orders, a number that sequences the assembly steps for the engineering change. For repetitive manufacturing, a number that 
identifies the sequence in which an item is scheduled to be produced. Skip To fields allow you to enter an operation sequence that you want to begin 
the display of information. You can use decimals to add steps between existing steps. For example, use 12.5 to add a step between steps 
12 and 13.

cMethodPriceServProviderMTHPRcharOPTNONE

A code used to determine if this type of service should be priced based on a flat rate or based on actual time and materials. Valid values 
are:    F        Charges for labor are based on one flat rate. Charges for parts are already included in the flat rate.    T        Charges for labor are 
based on actual labor hours. Charges for parts are based on actual parts used.    Blank A blank value is only valid when defining the Method of 
Pricing for a service provider. It is used to indicate that the service provider is an internal service provider and should not be paid.

cPayForPartsFlagPYPRTcharOPTNONE

A code to indicate if the service provider should be paid for parts used during a repair. Valid values are:        Y or 1 - Pay the service provider 
for parts used.        N or 0 - Do not pay the service provider for parts used.

cBillableFlagBILLcharOPTNONE

Specifies whether a general ledger account should be billed. Valid codes are:    Y Yes, the account should be billed.    N No, it should not be 
billed.    1   It is eligible only for invoicing.    2   It is eligible only for revenue recognition.    4   It is eligible only for cost. Note: Codes 1, 2, and 4 
relate only to the Service Billing system.

cPayableFlagPAYABcharOPTNONE

This field specifies whether a general ledger account should be paid. Valid values are:    Y The account should be paid.    N The account 
should not be paid.

cSuppressErrorMessageSUPPScharOPTNONE

A flag indicating whether or not runtime error messaging will occur when an error message is issued from a business function.        0 = allow 
runtime error message handling.        1 = suppress runtime error message handling.

szErrorMessageIDDTAIcharOPTNONE

A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

Related Functions

None

Related Tables

None