CSMSRetrieveVertexGeoCodes

S/WM Retrieve Vertex GeoCodes

Minor Business Rule

Object Name: N1701500

Parent DLL: CCRIN

Location: Client/Server

Language: NER

1.Functional Description

1.1Purpose

Retrieve the appropriate Vertex GeoCodes based on what you are processing.


1.2Setup Notes and Prerequisites


1.3Special Logic

This NER should not be called if Vertex is not active.  


2.Technical Specifications


2.4Processing 

//

//     CONTRACT LOGIC

//

If BF cCallingModule_EV01 is equal to "1"

   //

   //     Validate Tax Rate Area passed in

   //

   Validate GeoCode and Tax Rate Area

If VA evt_cBillablesCodeIsValid_EV01 is equal to "1"

      //

      //     Tax Rate Area is a GeoCode - Vertex is being used

      //

      If BF szHeaderBUTaxRateArea_TXA1 is equal to 

      Or BF szHeaderBUTaxRateArea_TXA1 is equal to 

         Gets All Business Unit Master Information from the F0006

            BF szHeaderBusinessUnit_MCU -> szCostCenter

VA evt_mnHeaderBUABNum_AN8 <- mnAddressNumber
BF szHeaderBUTaxRateArea_TXA1 <- szTaxArea1

            BF szHeaderBUTaxExplCode_EXR1 <- szTaxExplanationCode1
   If BF szHeaderBUTaxRateArea_TXA1 is equal to 
         Or BF szHeaderBUTaxRateArea_TXA1 is equal to 

            If VA evt_mnHeaderBUABNum_AN8 is not equal to 

            And VA evt_mnHeaderBUABNum_AN8 is not equal to 

            And VA evt_mnHeaderBUABNum_AN8 is not equal to 

               SupplerMaster-MBF

                  "I" -> cActionCode

                  "" -> cUpdateMasterFile

                  "" -> cProcessEdits

BF szHeaderBUTaxRateArea_TXA1 <- szTaxArea2
                  BF szHeaderBUTaxExplCode_EXR1 <- szTaxExemptReason2

                  VA evt_mnHeaderBUABNum_AN8 -> mnAddressNumber

            End If

         End If

      End If

      //

      //     Validate Header Business Unit Tax Rate Area

      //

      Validate GeoCode and Tax Rate Area

      If VA evt_cBillablesCodeIsValid_EV01 is equal to "1"

         //

         //     Validate Detail Business Unit Tax Rate Area

         //

         If BF szHeaderBusinessUnit_MCU is not equal to BF szDetailBusinessUnit_MCU

            If BF szDetailBUTaxRateArea_TXA1 is equal to 

            Or BF szDetailBUTaxRateArea_TXA1 is equal to 

               Gets All Business Unit Master Information from the F0006

                  BF szDetailBusinessUnit_MCU -> szCostCenter

                  VA evt_mnDetailBUABNum_AN8 <- mnAddressNumber

                  BF szDetailBUTaxRateArea_TXA1 <- szTaxArea1

                  BF szDetailBUTaxExplCode_EXR1 <- szTaxExplanationCode1

               If BF szDetailBUTaxRateArea_TXA1 is equal to 

               Or BF szDetailBUTaxRateArea_TXA1 is equal to 

                  If VA evt_mnDetailBUABNum_AN8 is not equal to 

                  And VA evt_mnDetailBUABNum_AN8 is not equal to 

                  And VA evt_mnDetailBUABNum_AN8 is not equal to 

                     SupplerMaster-MBF

                        "I" -> cActionCode

                        "" -> cUpdateMasterFile

                        "" -> cProcessEdits

                        BF szDetailBUTaxRateArea_TXA1 <- szTaxArea2

                        BF szDetailBUTaxExplCode_EXR1 <- szTaxExemptReason2

                        VA evt_mnDetailBUABNum_AN8 -> mnAddressNumber

                  End If

               End If

            End If

// Validate Detail Branch Plant Info

            Validate GeoCode and Tax Rate Area

         Else

            BF szDetailBUTaxExplCode_EXR1 = BF szHeaderBUTaxExplCode_EXR1

            BF szDetailBUTaxRateArea_TXA1 = BF szHeaderBUTaxRateArea_TXA1

         End If

      End If

      //

      //     Assign GeoCodes to Data Structure

      //

      If VA evt_cBillablesCodeIsValid_EV01 is equal to "1"

         BF szShipToBillable_VGCST = BF szTaxRateArea_TXA1

         BF szShipFromBillable_VGCST = BF szDetailBUTaxRateArea_TXA1

         BF szOrderAcceptBillable_VGCST = BF szHeaderBUTaxRateArea_TXA1

         BF cBillableGeoCodesValid_EV01 = "1"

      Else

         BF szShipToBillable_VGCST = ""

         BF szShipFromBillable_VGCST = ""

         BF szOrderAcceptBillable_VGCST = ""

         BF cBillableGeoCodesValid_EV01 = "2"

      End If

   Else

      //

      //     Tax Rate Area is NOT a GeoCode - Vertex is NOT being used

      //

      BF cBillableGeoCodesValid_EV01 = "0"

   End If

End If

//

//     SERVICE ORDER LOGIC

//

If BF cCallingModule_EV01 is equal to "2"

   //

   //     Retrieve Responsible Business Unit Tax Information for both Payables and

   //     Billables

   //

   If BF szHeaderBUTaxRateArea_TXA1 is equal to 

   Or BF szHeaderBUTaxRateArea_TXA1 is equal to 

      Gets All Business Unit Master Information from the F0006

         BF szHeaderBusinessUnit_MCU -> szCostCenter

         VA evt_mnHeaderBUABNum_AN8 <- mnAddressNumber

         BF szHeaderBUTaxRateArea_TXA1 <- szTaxArea1

         BF szHeaderBUTaxExplCode_EXR1 <- szTaxExplanationCode1

      If BF szHeaderBUTaxRateArea_TXA1 is equal to 

      Or BF szHeaderBUTaxRateArea_TXA1 is equal to 

         If VA evt_mnHeaderBUABNum_AN8 is not equal to 

         And VA evt_mnHeaderBUABNum_AN8 is not equal to 

         And VA evt_mnHeaderBUABNum_AN8 is not equal to 

            SupplerMaster-MBF

               "I" -> cActionCode

               "" -> cUpdateMasterFile

               "" -> cProcessEdits

               BF szHeaderBUTaxRateArea_TXA1 <- szTaxArea2

               BF szHeaderBUTaxExplCode_EXR1 <- szTaxExemptReason2

               VA evt_mnHeaderBUABNum_AN8 -> mnAddressNumber

         End If

      End If

   End If

   // Validate Header Branch Plant

   Validate GeoCode and Tax Rate Area

   //

   //     Retrieve GeoCodes for Billables

   //

   If BF cBillableOrPayable_EV01 is equal to "1"

   Or BF cBillableOrPayable_EV01 is equal to "3"

      Validate GeoCode and Tax Rate Area

If VA evt_cBillablesCodeIsValid_EV01 is equal to "1"
         //

         //     Tax Rate Area is a GeoCode - Vertex is being used

         //

         If VA evt_cBUCodeIsValid_EV01 is equal to "1"

            BF szShipToBillable_VGCST = BF szTaxRateArea_TXA1

            BF szShipFromBillable_VGCST = BF szHeaderBUTaxRateArea_TXA1

            BF szOrderAcceptBillable_VGCST = BF szHeaderBUTaxRateArea_TXA1

            BF cBillableGeoCodesValid_EV01 = "1"

         Else

            BF szShipToBillable_VGCST = ""

            BF szShipFromBillable_VGCST = ""

            BF szOrderAcceptBillable_VGCST = ""

            BF cBillableGeoCodesValid_EV01 = "2"

         End If

      Else

         //

         //     Tax Rate Area is NOT a GeoCode - Vertex is NOT being used

         //

         BF cBillableGeoCodesValid_EV01 = "0"

      End If

   End If

   //

   //     Retrieve GeoCodes for Payables

   //

   If BF cBillableOrPayable_EV01 is equal to "2"

   Or BF cBillableOrPayable_EV01 is equal to "3"

      If BF szSuppliersTaxRateArea_TXA1 is equal to 

      Or BF szSuppliersTaxRateArea_TXA1 is equal to 

         If BF mnSupplierABNumber_AN8 is not equal to 

         And BF mnSupplierABNumber_AN8 is not equal to 

         And BF mnSupplierABNumber_AN8 is not equal to 

            SupplerMaster-MBF

               "I" -> cActionCode

               "" -> cUpdateMasterFile

               "" -> cProcessEdits

               BF szHeaderBUTaxRateArea_TXA1 <- szTaxArea2

               BF szHeaderBUTaxExplCode_EXR1 <- szTaxExemptReason2

               VA evt_mnHeaderBUABNum_AN8 -> mnAddressNumber

         End If

      End If

// Validate Suppliers Tax Information

      Validate GeoCode and Tax Rate Area

      If VA evt_cPayablesCodeIsValid_EV01 is equal to "1"

         //

         //     Suppliers Tax Rate Area is a GeoCode - Vertex is being used

         //

         If VA evt_cBUCodeIsValid_EV01 is equal to "1"

            BF szShipToBillable_VGCST = BF szHeaderBUTaxRateArea_TXA1

            BF szShipFromBillable_VGCST = BF szSuppliersTaxRateArea_TXA1

            BF szOrderAcceptBillable_VGCST = BF szHeaderBUTaxRateArea_TXA1

            BF cPayableGeoCodesValid_EV01 = "1"

         Else

            BF szShipToBillable_VGCST = ""

            BF szShipFromBillable_VGCST = ""

            BF szOrderAcceptBillable_VGCST = ""

            BF cPayableGeoCodesValid_EV01 = "2"

         End If

      Else

         //

         //      Vertex is NOT being used for Payables

         //

         BF cPayableGeoCodesValid_EV01 = "0"

      End If

   End If

End If


Data Structure

D1701500 - S/WM Retrieve Vertex GeoCodes

This NER (N1701500) should be called only if the "VertexIsActiveFlag" flag is equal to "1".

^

Parameter NameData ItemData TypeReq/OptI/O/Both
cCallingModule_EV01EV01charREQINPUT

1 = Contracts
2 = Service Orders

^

cBillableOrPayable_EV01EV01charREQINPUT

1 = Retrieve GeoCode for Billables only
2 = Retrieve GeoCode for Payables only

3 = Retrieve GeoCode for Billables and Payables


*Options 2 and 3 are applicable to Service Orders only.

^

szTaxRateArea_TXA1TXA1charREQINPUT

This should be the Tax Rate Area that is on the actual record being processed.  

Contracts = pass in Tax Rate Area on the Contract detail line

Service Orders = pass in Tax Rate Area on the Service Order

^

szHeaderBUTaxRateArea_TXA1TXA1charOPTBOTH

If the Tax Rate Area for the Header Business Unit has already been retrieved, pass the information in 
so that the NER does not have to retrieve it again.

^

szDetailBUTaxRateArea_TXA1TXA1charOPTBOTH

If the Tax Rate Area for the Detail Business Unit has already been retrieved, pass the information in 
so that the NER does not have to retrieve it again.


^

szSuppliersTaxRateArea_TXA1TXA1charOPTBOTH

If the Tax Rate Area for the Supplier has already been retrieved, pass the information in so that the 
NER does not have to retrieve it again.


Information for Supplier is needed only if calculating GeoCodes for Service Order Payables.

^

cVertexIsActiveFlag_VVTXVVTXcharREQINPUT

1 = Vertex is Active
Blank = Vertex is not Active


N7300001 (Determine if Vertex is Active) needs be called within calling program to get this flag.  

This NER (N1701500) should not be called if this flag is not equal to "1".

^

szTaxExplanationCode_EXR1EXR1charREQINPUT

This should be the Tax Explanation Code that is on the actual record being processed.  

Contracts = pass in Tax Explanation Code on the Contract detail line


Service Orders = pass in Tax Explanation Code on the Service Order


^

szHeaderBUTaxExplCode_EXR1EXR1charOPTBOTH

If the Tax Explanation Code for the Header Business Unit has already been retrieved, pass the 
information in so that the NER does not have to retrieve it again.

^

szDetailBUTaxExplCode_EXR1EXR1charOPTBOTH

If the Tax Explanation Code for the Detail Business Unit has already been retrieved, pass the 
information in so that the NER does not have to retrieve it again.

^

szSuppliersTaxExplCode_EXR1EXR1charOPTBOTH

If the Tax Explanation Code for the Supplier has already been retrieved, pass the information in so 
that the NER does not have to retrieve it again.


Information for Supplier is needed only if calculating GeoCodes for Service Order Payables.

^

cSuppressErrorMessage_SUPPSSUPPScharOPTINPUT

1 = Suppress Error Messages
Blank = Do NOT Suppress Error Messages

^

szErrorMessageID_DTAIDTAIcharOPTOUTPUT

Currently not being used.
^

szHeaderBusinessUnit_MCUMCUcharOPTINPUT

Contracts = Business Unit within F1720
   *If this value is not passed in, the Business Function will retrive it.


Service Orders = Business Unit within F4801

^

szDetailBusinessUnit_MCUMCUcharOPTINPUT

Contracts = Business Unit within F1721
Service Orders = N/A

^

szShipFromBillable_VGCSTVGCSTcharOPTOUTPUT


^

szShipToBillable_VGCSTVGCSTcharOPTOUTPUT


^

szOrderAcceptBillable_VGCSTVGCSTcharOPTOUTPUT


^

szShipFromPayable_VGCSTVGCSTcharOPTOUTPUT

Not applicable for Contracts.
^

szShipToPayable_VGCSTVGCSTcharOPTOUTPUT

Not applicable for Contracts.
^

szOrderAcceptPayable_VGCSTVGCSTcharOPTOUTPUT

Not applicable for Contracts.
^

cBillableGeoCodesValid_EV01EV01charOPTOUTPUT

0 = Vertex is not being used.
1 = Vertex is being used for Billables.  All 3 GeoCodes are valid.  

2 = Vertex is being used for Billables.  GeoCodes are not valid.

^

cPayableGeoCodesValid_EV01EV01charOPTOUTPUT

0 = Vertex is not being used.
1 = Vertex is being used for Payables.  All 3 GeoCodes are valid.  

2 = Vertex is being used for Payables.  GeoCodes are not valid.

^

mnSupplierABNumber_AN8AN8MATH_NUMERICOPTNONE

Information for Supplier is needed only if calculating GeoCodes for Service Order Payables.
^

szItemBalanceCat_VVITVVITcharOPTINPUT

Special Input Character:
This is retrieved from the Vertex Constants.


Special Output Character
:

^

mnShortItemNumber_ITMITMMATH_NUMERICOPTINPUT

Special Input Character:


Special Output Character:


^

szBranchPlant_MMCUMMCUcharOPTINPUT

Special Input Character:
Branch of the Inventory Item Number entered.


Special Output Character:


^

mnDocumentOrderInvoice_DOCODOCOMATH_NUMERICOPTINPUT

This field is currently only used for the Contracts module. 

If the Business Unit from the F1720 is not passed in, the business function will retrieve the value.  

In order to do this, the Contract Number is needed.  The F1720 Business Unit is needed to calculate 

the "Order Accept" GeoCode.

^

szContractChangeNum_COCHCOCHcharOPTINPUT

This field is currently only used for the Contracts module. 

If the Business Unit from the F1720 is not passed in, the business function will retrieve the value.  

In order to do this, the Contract Change Number is needed.  The F1720 Business Unit is needed to 

calculate the "Order Accept" GeoCode.

^

cInventoryInterfaceFlag_IVIIVIcharOPTINPUT

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.

szOrderType_DCTODCTOcharOPTINPUT

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

szLineType_LNTYLNTYcharOPTINPUT

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

szVertexProductCategory_VVTCVVTCcharOPTBOTH

User defined code used in the Vertex Tax Decision Maker for products or services that are non-taxable or are at a non-stanard rate.

Related Functions

None

Related Tables

None