This file records the Tcode and break points that used for AARef and account in Treasury.
Account assignment and account determination
Account assignment
Customizing for AAREF determination -> TPM30, TPM31, TPM32
Determined dynamically
To check determination SE16:
- TRACC_OPTIONS set AA_REF to “1“ or
- Test button im customizing
AAREF is stored in position indicator.
TPM_PIN_APPL function pool for position indicator:
- e.g. funtions TPM_PIN_CREATE, *_CHANGE, *_DISPLAY
When deal will be created it also creates position indicator. AAREF will be assigned to TRAC.
CL_POSITION_INDICATOR_MGT_PIN-> CREATE_TRAC_POSITION
* get accounting reference (if initial)
IF re_position_trac->aa_ref IS INITIAL AND
im_flg_migr IS INITIAL.
CL_POSITIONCONTEXT_TRAC->CLS_DETERMINE_AA_REF_ADTL
* Activate tracing ?
Input data for creation in methods CLS_COMPLETE_ADTL*, e.g. CLS_COMPLETE_ADTL_OC for OTCs
Function KEDR_DERIVE_CHARACTERISTICS derives AAREF dynamically from customizing according to derivation rules/moves/enhancements
BAdI TPM_POS_IND_TRAC to manipulate AAREF
Posting
Posting transactions: TBB1, TPM10, TPM18, TPM1, TPM44 etc.
CL_DISTRIBUTOR_SLD->PREPARE_ASYNC_POSTING
Prepares posting, so it sets the BUSTRANS_STATE to “5” (“to fix”)
CL_ADAPTOR_TRAC
->PROCESS_TRANSACTION
Takes relevant BUSTRANSID and checks if it needs to be posted
->CREATE_PLANNED_DOCUMENT
CL_DOCUMENT_TRAC
-> IF_DOCUMENT_TRAC~INITIALIZEFORPOSTING
-> SETATTRIBUTES
In the first run the BUSTRANS_STATE has status “5”, so it sets document_state to “1” (“planned”)
->DETERMINE_RELEVANCE
Document_state is “2”, so it sets relevance for TRAC to not relevant.
->POST_DOCUMENTS
Loops over _PostDocuments, but doesn’t have any yet
CL_DISTRIBUTOR_SLD->ASYNC_POSTING
Does actual posting, so BUSTRANS_STATE is “2” (“fixed”)
CL_ADAPTOR_TRAC
->PROCESS_TRANSACTION
->CREATEADAPTORDOCUMENTS
Creates persistent TRAC_DOCUMENTS
CL_DOCUMENT_TRAC
-> IF_DOCUMENT_TRAC~INITIALIZEFORPOSTING
-> SETATTRIBUTES
Gets transaction and flows to be posted; now document_state changed to “2”
-> ADDFLOWS
Creates TRAC flows and checks for posting relevance
-> SETACCASSREFTOFLOWS
Assigns AAREF (from the PIN manager, i.e. position context)
->DETERMINE_RELEVANCE
Now it is relevant for posting, because documents_state = “2”
->PREPARE_DOCUMENT_HEADER
->DETERMINELEDGER
Checks customizing (TRGC_TAC_VA)
-> CREATEACCINTERFACEOBJECTS
Creates accounting items (ACCITEMS)
CL_FLOW_TRAC
->PREPARE_ACCOUNT_DETERMINATION
CL_ACCOUNT_DETERMINATION_TRAC
->START_DETERMINATION
->FIND_POSTING_RULE
GL Account determination for one flow from customizing (TRAC_POSTRULE)
Currency swap in case currencies for debit and credit side are different (position currency, payment currency)
If payment request required, replaces bank clearing account – calls FI-BL-PT interface
(function FIBL_GET_PAYRQ_CLEARING_ACCT)
Determines if posting to G/L account or customer
Prepare dates, texts, position and local currency amounts, public sector data (funds, grants), fills additional data (e.g. KOSTL, GSBER, some fields in the table KNA1, BP data)
->POST_DOCUMENTS
CL_DOCUMENT_TRAC
->IF_DOCUMENT_TRAC~POST
Does actual postings, fill tables ACCIT and ACCCR
Function IDCFM_GENERATE_TAX_INFORMATION
If needed, create tax generation
Function AC_DOCUMENT_CREATE
SAPLRWCL FORM DOCUMENT_CREATE
Calls interfaces with FI and CO and creates accounting interface (FI, CO) documents
Function AC_DOCUMENT_POST (only in real run)
SAPLRWCL FORM DOCUMENT_POST
Calls interfaces with FI and CO and does real postings into accounting interface (FI, CO) documents
CL_POSTING_PROTOCOL_TRAC->ADD_NEW_PROTOCOL
Writes protocol (log)
Function CASH_FORECAST_TREASURY_POST
Posts into cash management
BAdI TPM_ACCIF_TRAC to manipulate postings
TPM_EXT_PAYMENT_TRPR to manipulate payments
Reversal
CL_ADAPTOR_TRAC
->PROCESS_TRANSACTION
CL_DOCUMENT_TRAC
->IF_DOCUMENT_TRAC~INITIALIZEFORREVERSAL
->REVERSE_DOCUMENT
CL_DOCUMENT_TRAC
->IF_DOCUMENT_TRAC~REVERSE
Thank you, very useful!