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 RouteInstrSeqNumber = 1.00
If PercentCovered = 100
BillableFlag = 0
BillableFlag = 1
Else
BillableFlag = 0
Endif
Else
If PercentCovered = 100
BillableFlag = 0
Else
BillableFlag = 1
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
Payable Flag = 0
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 RouteInstrSeqNumber = 1.00
PayableFlag = 1
PayableFlag = 0
Else
Endif
D1701000 - Get Bill Pay Default Flags
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
cRetrieveServiceOrder | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnServiceOrderNumber | DOCO | MATH_NUMERIC | OPT | NONE |
A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry,
| ||||
cRetrievePercentCovered | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
szCoverageGroup | COVGR | char | OPT | NONE |
A user defined code that specifies the Coverage Group. The Coverage Group consists of unlimited cost codes and the percentage
| ||||
szCSMSCostType | CCOST | char | OPT | NONE |
A code that designates the item being costed. Examples would be: A1 Material B1 Labor X1 Freight X2 Travel | ||||
cRetrieveServPrInfo | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnServiceProvider | AN8 | MATH_NUMERIC | OPT | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
cMode | EV01 | char | REQ | INPUT |
An option that specifies the type of processing for an event. | ||||
szEntitledFlag | ENTCK | char | OPT | NONE |
A user defined code (17/ER) to indicate the results of an entitlement check.
Valid values are:
0 Not entitled
1 Transaction entitled
2
| ||||
cMethodPriceCustomer | MTHPR | char | OPT | NONE |
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
| ||||
mnPercentCovered | PCOVR | MATH_NUMERIC | OPT | NONE |
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
| ||||
mnRouteInstrSeqNumber | OPSQ | MATH_NUMERIC | OPT | NONE |
A number used to indicate an order of succession.
In routing instructions, a number that sequences the fabrication or assembly steps in the
| ||||
cMethodPriceServProvider | MTHPR | char | OPT | NONE |
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
| ||||
cPayForPartsFlag | PYPRT | char | OPT | NONE |
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
| ||||
cBillableFlag | BILL | char | OPT | NONE |
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
| ||||
cPayableFlag | PAYAB | char | OPT | NONE |
This field specifies whether a general ledger account should be paid. Valid values are:
Y The account should be paid.
N The account
| ||||
cSuppressErrorMessage | SUPPS | char | OPT | NONE |
A flag indicating whether or not runtime error messaging will occur when an error message is issued from a business function.
0 = allow
| ||||
szErrorMessageID | DTAI | char | OPT | NONE |
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
|
None |
None |