XX0901 Analysis

Purpose of Document

This document contains detail information of the Business Function XX0901(Validate Account Number) and its usage in dealing with Account Master Information.

This document is created based on EnterpriseOne 9.1 release.

This document requires expert knowledge in C++ programming and Account Master application.

This document may help in understanding how Account Master work and may help with customization, however, Oracle Support does not support customization. The information in this document is provided as is, to get input and ideas from other customers, consider posting this to the My Oracle Support Community at https://community.oracle.com/community/support/jdedwards_enterpriseone

Please refer to the following site for My Oracle Support Terms of use: http://www.oracle.com/pls/topic/lookup?ctx=mos_en&id=MOSHP983

 

 


The XX0901 (Validate Account Number) business function is used for Account Number Validation. This validation need to take place because database format is different from display format for each segment/components in building up account information.

Function NameDescriptionTemplate NamePurpose
GetAccountGeneralConstants F0009 Get General Account Constants D0000144 Read GL Constant from F0009 (Database Caching) and return it
SimpleAccountConcatenation Business Unit, Object, Subsidiary Merge D0000324 Scrub Account segments (MCU, OBJ, SUB) and return ANI format account information
ValidateAccountNumber F0901 Edit Account Number D0900028 Validate/return account information based on input value
X0006ScrubCostCenter F0006 Edit Business Unit D0900029 This function scrub the Business Unit  based on the format specified by the calling program.
X09011ScrubObjecAccount Object Account Format D0000030 Sub-function of SimpleAccountConcatenation
X09012ScrubSubAccount Subsidiary Format D0000031 Sub-function of SimpleAccountConcatenation
X0901TerminateCaches X0901 Terminate Caches D09X0901 Terminate object account cache at the end of transaction
X0907CheckFlex F0907 Get Flex Account Format D09X0907 If F0009.FLEX is ON (value=1), refers value from F0907 and set account format in flexible format
CheckforAccountExistenceF0901 Check for Account Existence (F0901) D0000005 Check whether returned Account ID exist in F0901 (Account Master)

 

Global variables are initialized as follows :
(Note: this information can be found in XX0901.h)

Based onValue
ACCOUNT_ID 1
ACCOUNT_NUMBER  2
UNSTRUCTURED_ACCOUNT  3
DISPLAY_SEGMENTS  4
DATABASE_SEGMENTS  5
OBJECT_SUBSIDIARY_ONLY 6
UNKNOWN 7

 

Based onValue
DEFAULT_FORMAT  1
LONG_ACCOUNT  2
SAME_AS_BASED_ON_FORMAT  3
UNFORMATED_SAME_AS_BASED_ON  4
RETURN_ACCOUNT_ID  5
RETURN_THIRD_ACCOUNT  6

 

Include Account SymbolValue
NO_ACCOUNT_SYMBOL 0
YES_ACCOUNT_SYMBOL 1

 

SegmentValue
SEGMENT_DISPLAY   ' '
SEGMENT_DATABASE  1
SEGMENT_UNKNOWN  2

 

ColumnValue
ACCOUNT_NUMBER_LENGTH  30
BUSINESS_UNIT_LENGTH  12
OBJECT_LENGTH  6
SUBSIDIARY_LENGTH  8
MAX_NUMBER_OF_PARTS  10
MAX_SHORT_ACCT_LEN  8
MAX_COST_CENTER_LEN  12
MAX_OBJECT_ACCT_LEN  6
MAX_SUB_ACCT_LEN  12
MAX_LONG_ACCT_PARTS  3
MAX_UNSTRUCT_ACCT_LEN  25

 






Business Functions

XX0901 - GetAccountGeneralConstants (F0009 Get General Account Constants)

Structure Member NameData TypeReqI/OAliasUsage
cShortAccountSymbol JCHAR   O SMS jdeGetShortAccountSymbol(&dsColF0009.gcsyms)
cLongAccountSymbol JCHAR   O SYML jdeGetLongAccountSymbol(&dsColF0009.gcsyml)
cThirdAccountSymbol JCHAR   O SYMU jdeGetThirdAccountSymbol(&dsColF0009.gcsymu)
cSeparatorCharacter JCHAR   O SEP jdeGetSeparatorAccount(&dsColF0009.gcsep)
cFlexAccountCoding JCHAR   O FLEX jdeGetStructuredAccountCode(&dsColF0009.gcflex)
cAllowInvalidAccts JCHAR   O ALIA jdeGetGLAllowInvalidAccts(&dsColF0009.gcalia)

Note:

 





XX0901 - SimpleAccountConcatenation  (Business Unit, Object, Subsidiary Merge)

Structure Member NameData TypeReqI/OAliasUsage
szAccountNumber[30] JCHAR   O ANI Long account format MCU, OBJ and SUB concatenated value with (Account Segment) separator. ANI column belongs to F0911 (Account Ledger) but not F0901 (Account Master)
szDatabaseBusinessUnit[13] JCHAR   I MCU (Input) Business Unit
szDatabaseObject[7] JCHAR   I OBJ (Input) Object Account
szDatabaseSubsidiary[9] JCHAR   I SUB (Input) Subsidiary





XX0901 - ValidateAccountNumber (F0901 Edit Account Number)

Structure Member NameData TypeReqI/OAliasUsage
szAccountNumber[30] JCHAR     ANI  
szAccountID[9] JCHAR     AID  
szUnstructuredAccount[26] JCHAR     ANS  
szDatabaseBusinessUnit[13] JCHAR     MCU  
szDatabaseObject[7] JCHAR     OBJ  
szDatabaseSubsidiary[9] JCHAR     SUB  
szDisplayBusinessUnit[13] JCHAR     MCUR  
szDisplayObject[7] JCHAR     OBJA  
szDisplaySubsidiary[9] JCHAR     SUBA  
szAccountDescription[31] JCHAR     DL01  
cBasedOnFormat JCHAR Y I EV01 You will need to specify a based on format as follows
 * 1 - Process using the short account
 * 2 - Process using the long account
 * 3 - Process using the third account
 * 4 - Process using the account segments

in DISPLAY mode
 * 5 - Process using the account segments
 
in DATABASE mode
 * 6 - Process using the object and subsidiary only.  Note:  when processed in this mode the short account, third account and the business unit segments will not be returned.
 * 7 - Process using the account symbols
cFormatAccountNumberAs JCHAR Y I EV02 (Optional) You will need to specify the account number format to return as follows
 * 1 - return default format
 * 2 - return structured account format (Default)
 * 3 - return is same mode as the based on format
 * 4 - return unformatted in the same mode as the based on format.
 * 5 - return short account
 * 6 - return third account
cIncludeAccountSymbol JCHAR Y I EV03  You will need to specify if an account symbol is to be included in the account number as follows
 * 1 - include the account symbol
 * 0 - do not include the account symbol
szErrorMessageID[5] JCHAR   O EKEY  
cReturnErrorID JCHAR   O EV01  
szAccountCompany[6] JCHAR     CO  
szAccountCurrency[4] JCHAR     CRCD  
cAccountPostingEdit JCHAR     PEC  
szAccountUnitOfMeasure[3] JCHAR     UM  
cModelAccountsFlag JCHAR     FMOD  
cAccountDuplication JCHAR     EV01  
cCostObjectEditCode01 JCHAR     CEC1  
cCostObjectEditCode02 JCHAR     CEC2  
cCostObjectEditCode03 JCHAR     CEC3  
cCostObjectEditCode04 JCHAR     CEC4  
cItemEditCode JCHAR     IEC  
cGLAccountTaxable JCHAR     TXGL  
szTaxArea1[11] JCHAR     TXA1  
cAdjustmentEntry JCHAR     ADJENT  
cFAR_UnAllowableFlag JCHAR     UAFL  

ValidateAccountNumber
   *  |
   *  |----I_3609VerifyParms:
   *  |----GetAccountGeneralConstants:
   *  |----I_XX0901_Interpret_Flex: Only when Flex accounts
   *  |----I_3609InterpretMode:
   *  |    |----X0006ScrubCostCenter:
   *  |    |----X09011ScrubObjectAccount:
   *  |    |----X09012ScrubSubAccount:
   *  |    |----I_XX0901_Parse_Segments:
   *  |    |----I_XX0901_Parse_Segments_Flex:
   *  |    |    |----I_3609CheckSpeed:
   *  |    |----I_3609ProcessShortAccount:
   *  |    |----I_3609ProcessLongAccount:
   *  |    |----I_3609ProcessLongAccountFlex:
   *  |    |----I_3609ProcessThirdAccount:
   *  |----I_3609FetchRecord:
   *  |----I_3609FormatReturn:
   *       |----I_3609FormatAccountID:
   *       |----I_3609FormatThirdAccount:
   *       |----I_3609FormatLongAccount:
   *            |----I_3609FormatLongAccountFlex:

 






XX0901 - X0006ScrubCostCenter (F0006 Edit Business Unit)

Structure Member NameData TypeReqI/OAliasUsage
szDatabaseBusinessUnit[13] JCHAR   I/O MCU Priority 2
szDisplayBusinessUnit[13] JCHAR     MCUZ Priority 1
cBasedOnFormat JCHAR   I/O MIVL
  • ' ' - Business Unit in Display mode
  • 1 - Business Unit in Database mode
szDescription[31] JCHAR     DL01  
cValidateBusinessUnit JCHAR   I EV01
  • 0 - Do not validate business unit
  • 1 - Validate Business Unit
szCategoryCode012[4] JCHAR   O RP12  
mnContractNumber MATH_NUMERIC DOCO  
cAdjustmentEntry JCHAR     ADJENT  
cFAR_UnAllowableFlag JCHAR   O UAFL  
szCompany[6] JCHAR   O CO  





XX0901 - X09011ScrubObjecAccount (Object Account Format)

Structure Member NameData TypeReqI/OAliasUsage
szDatabaseObject[7] JCHAR   I/O OBJ (Optional) Priority 2
szDisplayObject[7] JCHAR   I/O OBJT Priority 1
cBasedOnFormat JCHAR   I MIVL * ' ' - Object in Display Mode
* 1 - Object in Database Mode (or SEGMENT_DATABASE)





XX0901 - X09012ScrubSubAccount (Susidiary Format)

Structure Member NameData TypeReqI/OAliasUsage
szDatabaseSubsidiary[9] JCHAR   I/O SUB (Optional) Priority 2
szDisplaySubsidiary[9] JCHAR   I/O SUBA Priority 1
cBasedOnFormat JCHAR Y I MIVL ' ' - Sub account in Display mode,
1 - Sub account in Database mode. (= SEGMENT_DATABASE)




XX0901 - X0901TerminateCaches (X0901 Terminate Caches)

Structure Member NameData TypeReqI/OAliasUsage
cTerminateI0901 JCHAR   I EV01 1 - Terminate Cache
0 - Do nothing
cTerminateI0012 JCHAR   I EV01 1- Terminate Cache
0 - Do nothing





XX0901 - X0907CheckFlex  (F0907 Get Flex Account Format)

Structure Member NameData TypeReqI/OAliasUsage
cFlexaccountcoding JCHAR   I/O EV01 Values from GL Constant F0009.gcflex.
Default is '1' = FLEX_ACCTS_NOT_USED




XX0901 - CheckforAccountExistenceF0901 (Check for Account Existence (F0901))

Structure Member NameData TypeReqI/OAliasUsage
szAccountID[9] JCHAR   I/O AID (Optional) Account ID. In case this value is NULL or '00000000' following MCU, OBJ and SBU should not be blank
(returns) F0901.gmaid when cUsingAccountIDFlag = 'N'
szCompany[6] JCHAR   O CO (returns) F0901.gmco
szBusinessUnit[13] JCHAR   I/O MCU (returns) F0901.gmmcu when cUsingAccountIDFlag = 'Y'
szObjectAccount[7] JCHAR   I/O OBJ (returns) F0901.gmobj when cUsingAccountIDFlag = 'Y'
szSubsidiary[9] JCHAR   I/O SUB (returns) F0901.gmsub when cUsingAccountIDFlag = 'Y'
szAccountDescription[31] JCHAR   O DL01 (returns) F0901.gmdl01
cModelConsolidationFlag JCHAR   O FMOD (returns) lF0901.gmfmod
cPostingEditCode JCHAR   O PEC (returns) F0901.gmpec
cLevelOfDetail JCHAR   O LDA (returns) F0901.gmlda
szCurrencyCode[4] JCHAR   O CRCD (returns) F0901.gmcrcd
sz3rdAccountNumber[26] JCHAR   O ANS (returns) F0901.gmans
szBudgetPatternCode[4] JCHAR   O BPC (returns) F0901.gmbpc
szUnitOfMeasure[3] JCHAR   O UM (returns) F0901.gmum
cBillable JCHAR   O BILL (returns) F0901.gmbill
szCategoryCode1[4] JCHAR   O R001 (returns) F0901.gmr001
szCategoryCode2[4] JCHAR   O R002 (returns) F0901.gmr001
szCategoryCode3[4] JCHAR   O R003 (returns) F0901.gmr001
szCategoryCode4[4] JCHAR   O R004 (returns) F0901.gmr001
szCategoryCode5[4] JCHAR   O R005 (returns) F0901.gmr001
szCategoryCode6[4] JCHAR   O R006 (returns) F0901.gmr001
szCategoryCode7[4] JCHAR   O R007 (returns) F0901.gmr001
szCategoryCode8[4] JCHAR   O R008 (returns) F0901.gmr001
szCategoryCode9[4] JCHAR   O R009 (returns) F0901.gmr001
szCategoryCode10[4] JCHAR   O R010 (returns) F0901.gmr001
szCategoryCode11[4] JCHAR   O R011 (returns) F0901.gmr001
szCategoryCode12[4] JCHAR   O R012 (returns) F0901.gmr001
szCategoryCode13[4] JCHAR   O R013 (returns) F0901.gmr001
szCategoryCode14[4] JCHAR   O R014 (returns) F0901.gmr001
szCategoryCode15[4] JCHAR   O R015 (returns) F0901.gmr001
szCategoryCode16[4] JCHAR   O R016 (returns) F0901.gmr001
szCategoryCode17[4] JCHAR   O R017 (returns) F0901.gmr001
szCategoryCode18[4] JCHAR   O R018 (returns) F0901.gmr001
szCategoryCode19[4] JCHAR   O R019 (returns) F0901.gmr001
szCategoryCode20[4] JCHAR   O R020 (returns) F0901.gmr001
szCategoryCode21[11] JCHAR   O R021 (returns) F0901.gmr001
szCategoryCode22[11] JCHAR   O R022 (returns) F0901.gmr001
szCategoryCode23[11] JCHAR   O R023 (returns) F0901.gmr001
szAlternateObjectAccount[7] JCHAR   O OBJA (returns) F0901.gmobja
szAlternateSubsidiary[9] JCHAR   O SUBA (returns) F0901.gmsuba
szWorkersCompInsuranceCode[5] JCHAR   O WCMP (returns) F0901.gmwcmp
cMethodOfComputation JCHAR   O CCT (returns) F0901.gmcct
szEquipmentRateCode[3] JCHAR   O ERC (returns) F0901.gmerc
cHeaderTypeCode JCHAR   O HTC (returns) F0901.gmhtc
cLodQuantityRollupCode JCHAR   O QLDA (returns) F0901.gmqlda
cCostCodeComplete JCHAR   O CCC (returns) F0901.gmccc
szUserID[11] JCHAR   O USER (returns) F0901.gmuser
szProgramID[11] JCHAR   O PID (returns) F0901.gmpid
szWorkStationID[11] JCHAR   O JOBN (returns) F0901.gmjobn
jdDateLastUpdated JDEDATE   O UPMJ (returns) F0901.gmupmj
mnTimeLastUpdated MATH_NUMERIC O UPMT (returns) F0901.gmupmt
cSuppressErrorsFlag JCHAR   I EV01 1 - Suppress Error
0 - Do not suppress Error
szErrorCode[5] JCHAR   O VC04A  
cAccountExistsFlag JCHAR   O EV01 set 'Y' when JDB_FetchKeyed() returns data from F0901(Either database cache or table)
cCostObjectEditCode01 JCHAR     CEC1 (returns) F0901.gmcec1
cCostObjectEditCode02 JCHAR     CEC2 (returns) F0901.gmcec1
cCostObjectEditCode03 JCHAR     CEC3 (returns) F0901.gmcec1
cCostObjectEditCode04 JCHAR     CEC4 (returns) F0901.gmcec1
cItemEditCode JCHAR     IEC (returns) F0901.gmiec
cGLAccountTaxable JCHAR     TXGL (returns) F0901.gmtxgl
szTaxArea1[11] JCHAR     TXA1 (returns) F0901.gmtxa1
cAdjustmentEntry JCHAR     ADJENT (returns) F0901.gmadjent
cFAR_UnAllowableFlag JCHAR     UAFL (returns) F0901.gmuafl