📄 ar_m_cash_batch_approval.dml
字号:
END_IF
GL_POSTINGS(SOURCE_REFERENCE) = CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER)
GL_POSTINGS(BATCH_NUMBER)=CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER)
GL_POSTINGS(PERIOD) = CASH_RECEIPT_BATCH_HEADERS(PERIOD)
GL_POSTINGS(YEAR) = CASH_RECEIPT_BATCH_HEADERS(YEAR)
GL_POSTINGS(COST_CENTER) = CASH_RECEIPT_BATCHES(COST_CENTER)
GL_POSTINGS(POSTING_DESCRIPTION) = MESSAGE("P_2CASH_RECEIPT_BATCH_1",CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER), &
CASH_RECEIPT_BATCHES(CR_BATCH_SEQ_NUMBER))
GL_POSTINGS(ACCOUNT_IDENT) = (PARAMETER("ACCOUNT_IDENT_ACTUAL"))
GL_POSTINGS(GL_SHORT_CODE) = &
CASH_RECEIPT_TAX_DETAILS(AR_TAX_CODE)
GL_POSTINGS(ACCOUNT_NUMBER) = &
CASH_RECEIPT_TAX_DETAILS(AR_TAX_FULL_ACCOUNT)
GL_POSTINGS(SYS_CURRENCY_CODE)=CASH_RECEIPT_BATCHES(SYS_CURRENCY_CODE)
GL_POSTINGS(SYS_CURRENCY_RATE)=CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE)
GL_POSTINGS(SYS_CURRENCY_METHOD)=#CURRENCY_METHOD
GL_POSTINGS(SYS_BASE_CURRENCY_CODE)=#BASE_CURRENCY_CODE
GL_POSTINGS(SYS_CURRENCY_RATIO_INDIC)=#CURRENCY_RATIO_INDIC
GL_POSTINGS(GL_POSTING_CURRENCY_CR) = CASH_RECEIPT_TAX_DETAILS(TAX)
IF (#CURRENCY_METHOD > '0')
IF (#CURRENCY_RATIO_INDIC = (PARAMETER("MULTIPLY_RATIO_INDIC")))
GL_POSTINGS(GL_POSTING_BASE_CR) = ROUND(CASH_RECEIPT_TAX_DETAILS(TAX) * &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
ELSE
GL_POSTINGS(GL_POSTING_BASE_CR) = ROUND(CASH_RECEIPT_TAX_DETAILS(TAX) / &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
END_IF
END_IF
GL_POSTINGS(ACTIVATION_STATUS) = (PARAMETER("STATUS_ACTIVE"))
ADD TO GL_POSTINGS
IF (%STATUS <> %SUCCESS) EXIT (%FAILURE)
END_IF
END_BLOCK
END_FORM
PROCEDURE_FORM POST_TAX_ON_CASH
BEGIN_BLOCK CR_POSTING
#A = (#TAX_RATE/100 + 1)
#B = (CASH_RECEIPT_BATCHES(AR_TRAN_TOTAL_CURRENCY)/#A)
#TEMP_TAX_VALUE = (CASH_RECEIPT_BATCHES(AR_TRAN_TOTAL_CURRENCY) - #B)
CLEAR_BUFFER GL_POSTINGS
GL_POSTINGS(COMPANY_CODE) = #COMPANY_CODE
GL_POSTINGS(DIVISION) = CASH_RECEIPT_BATCHES(DIVISION)
GL_POSTINGS(POSTING_DATE) = CASH_RECEIPT_BATCH_HEADERS(BANK_DATE)
GL_POSTINGS(SOURCE_MODULE) = (PARAMETER("MODULE_AR"))
GL_POSTINGS(MODULE_TRANSACTION_TYPE) = (PARAMETER("TTYPE_CR"))
GL_POSTINGS(POSTING_REFERENCE) = #CASH_RECEIPT_NUMBER
GL_POSTINGS(SOURCE_REFERENCE) = CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER)
GL_POSTINGS(BATCH_NUMBER)=CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER)
GL_POSTINGS(PERIOD) = CASH_RECEIPT_BATCH_HEADERS(PERIOD)
GL_POSTINGS(YEAR) = CASH_RECEIPT_BATCH_HEADERS(YEAR)
GL_POSTINGS(COST_CENTER) = CASH_RECEIPT_BATCHES(COST_CENTER)
GL_POSTINGS(POSTING_DESCRIPTION) = MESSAGE("P_2CASH_RECEIPT_BATCH_1",CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER), &
CASH_RECEIPT_BATCHES(CR_BATCH_SEQ_NUMBER))
GL_POSTINGS(ACCOUNT_IDENT) = (PARAMETER("ACCOUNT_IDENT_ACTUAL"))
GL_POSTINGS(GL_SHORT_CODE) = #AR_TAX_CODE
GL_POSTINGS(ACCOUNT_NUMBER) = #AR_TAX_ACCOUNT
GL_POSTINGS(SYS_CURRENCY_CODE)=CASH_RECEIPT_BATCHES(SYS_CURRENCY_CODE)
GL_POSTINGS(SYS_CURRENCY_RATE)=CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE)
GL_POSTINGS(SYS_CURRENCY_METHOD)=#CURRENCY_METHOD
GL_POSTINGS(SYS_BASE_CURRENCY_CODE)=#BASE_CURRENCY_CODE
GL_POSTINGS(SYS_CURRENCY_RATIO_INDIC)=#CURRENCY_RATIO_INDIC
GL_POSTINGS(GL_POSTING_CURRENCY_CR) =#TEMP_TAX_VALUE
IF (#CURRENCY_METHOD > '0')
IF (#CURRENCY_RATIO_INDIC = (PARAMETER("MULTIPLY_RATIO_INDIC")))
GL_POSTINGS(GL_POSTING_BASE_CR) =ROUND(#TEMP_TAX_VALUE * &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
ELSE
GL_POSTINGS(GL_POSTING_BASE_CR) = ROUND(#TEMP_TAX_VALUE / &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
END_IF
END_IF
GL_POSTINGS(ACTIVATION_STATUS) = (PARAMETER("STATUS_ACTIVE"))
ADD TO GL_POSTINGS
IF (%STATUS <> %SUCCESS) EXIT (%FAILURE)
END_BLOCK
BEGIN_BLOCK DR_POSTING
CLEAR_BUFFER GL_POSTINGS
GL_POSTINGS(COMPANY_CODE) = #COMPANY_CODE
GL_POSTINGS(DIVISION) = CASH_RECEIPT_BATCHES(DIVISION)
GL_POSTINGS(POSTING_DATE) = CASH_RECEIPT_BATCH_HEADERS(BANK_DATE)
GL_POSTINGS(SOURCE_MODULE) = (PARAMETER("MODULE_AR"))
GL_POSTINGS(MODULE_TRANSACTION_TYPE) = (PARAMETER("TTYPE_CR"))
GL_POSTINGS(POSTING_REFERENCE) = #CASH_RECEIPT_NUMBER
GL_POSTINGS(SOURCE_REFERENCE) = CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER)
GL_POSTINGS(BATCH_NUMBER)=CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER)
GL_POSTINGS(PERIOD) = CASH_RECEIPT_BATCH_HEADERS(PERIOD)
GL_POSTINGS(YEAR) = CASH_RECEIPT_BATCH_HEADERS(YEAR)
GL_POSTINGS(COST_CENTER) = CASH_RECEIPT_BATCHES(COST_CENTER)
GL_POSTINGS(POSTING_DESCRIPTION) = MESSAGE("P_2CASH_RECEIPT_BATCH_1",CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER), &
CASH_RECEIPT_BATCHES(CR_BATCH_SEQ_NUMBER))
GL_POSTINGS(ACCOUNT_IDENT) = (PARAMETER("ACCOUNT_IDENT_ACTUAL"))
GL_POSTINGS(GL_SHORT_CODE) = #TEMP_TAX_CODE
GL_POSTINGS(ACCOUNT_NUMBER) = #TEMP_TAX_ACCOUNT
GL_POSTINGS(SYS_CURRENCY_CODE)=CASH_RECEIPT_BATCHES(SYS_CURRENCY_CODE)
GL_POSTINGS(SYS_CURRENCY_RATE)=CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE)
GL_POSTINGS(SYS_CURRENCY_METHOD)=#CURRENCY_METHOD
GL_POSTINGS(SYS_BASE_CURRENCY_CODE)=#BASE_CURRENCY_CODE
GL_POSTINGS(SYS_CURRENCY_RATIO_INDIC)=#CURRENCY_RATIO_INDIC
GL_POSTINGS(GL_POSTING_CURRENCY_DR) =#TEMP_TAX_VALUE
IF (#CURRENCY_METHOD > '0')
IF (#CURRENCY_RATIO_INDIC = (PARAMETER("MULTIPLY_RATIO_INDIC")))
GL_POSTINGS(GL_POSTING_BASE_DR) =ROUND(#TEMP_TAX_VALUE * &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
ELSE
GL_POSTINGS(GL_POSTING_BASE_DR) =ROUND(#TEMP_TAX_VALUE / &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
END_IF
END_IF
GL_POSTINGS(ACTIVATION_STATUS) = (PARAMETER("STATUS_ACTIVE"))
ADD TO GL_POSTINGS
IF (%STATUS <> %SUCCESS) EXIT (%FAILURE)
PERFORM CREATE_TAX_TRANSACTION_FOR_TAX_ON_CASH
END_BLOCK
END_FORM
PROCEDURE_FORM CREATE_TAX_TRANSACTION_FOR_TAX_ON_CASH &
BEGIN_BLOCK TAX_TRANSACTION_ADD
CLEAR_BUFFER TAX_TRANSACTIONS
TAX_TRANSACTIONS(COMPANY_CODE) = #COMPANY_CODE
TAX_TRANSACTIONS(DIVISION) = #DIVISION
TAX_TRANSACTIONS(SOURCE_MODULE) = (PARAMETER("MODULE_AR"))
TAX_TRANSACTIONS(TRANSACTION_TYPE) = (PARAMETER("TTYPE_CR"))
TAX_TRANSACTIONS(TAX_TRANSACTION_NUMBER) = #CASH_RECEIPT_NUMBER
TAX_TRANSACTIONS(TRANSACTION_LINE_NUMBER)= CASH_RECEIPT_BATCHES(CR_BATCH_SEQ_NUMBER)
TAX_TRANSACTIONS(SEQUENCE) = "001"
TAX_TRANSACTIONS(CUSTOMER_NUMBER) = CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER)
TAX_TRANSACTIONS(CUSTOMER_TAX_CODE) = #CUST_TAX_CODE
TAX_TRANSACTIONS(PRODUCT_TAX_CODE) = ""
TAX_TRANSACTIONS(PERIOD) = CASH_RECEIPT_BATCH_HEADERS(PERIOD)
TAX_TRANSACTIONS(TRANSACTION_DATE) = CASH_RECEIPT_BATCHES(TRANSACTION_DATE)
TAX_TRANSACTIONS(SYS_TRAN_TOTAL_CURRENCY)= CASH_RECEIPT_BATCHES(AR_TRAN_TOTAL_CURRENCY) -#TEMP_TAX_VALUE
TAX_TRANSACTIONS(SYS_TAX_CURRENCY) = #TEMP_TAX_VALUE
TAX_TRANSACTIONS(YEAR) = CASH_RECEIPT_BATCH_HEADERS(YEAR)
TAX_TRANSACTIONS(SOURCE_REFERENCE) = CASH_RECEIPT_BATCHES(CUSTOMER_REFERENCE)
TAX_TRANSACTIONS(SYS_CURRENCY_CODE) = CASH_RECEIPT_BATCHES(SYS_CURRENCY_CODE)
TAX_TRANSACTIONS(SYS_CURRENCY_RATE) = CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE)
TAX_TRANSACTIONS(SYS_CURRENCY_RATIO_INDIC)= CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATIO_INDIC)
IF (#CURRENCY_METHOD > '0')
IF (TAX_TRANSACTIONS(SYS_CURRENCY_RATIO_INDIC) = (PARAMETER("MULTIPLY_RATIO_INDIC")))
TAX_TRANSACTIONS(SYS_TRAN_TOTAL_BASE) = ROUND(TAX_TRANSACTIONS(SYS_TRAN_TOTAL_CURRENCY) * &
TAX_TRANSACTIONS(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
TAX_TRANSACTIONS(SYS_TAX_BASE) = ROUND(TAX_TRANSACTIONS(SYS_TAX_CURRENCY) * &
TAX_TRANSACTIONS(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
ELSE
TAX_TRANSACTIONS(SYS_TRAN_TOTAL_BASE) = ROUND(TAX_TRANSACTIONS(SYS_TRAN_TOTAL_CURRENCY) / &
TAX_TRANSACTIONS(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
TAX_TRANSACTIONS(SYS_TAX_BASE) = ROUND(TAX_TRANSACTIONS(SYS_TAX_CURRENCY) / &
TAX_TRANSACTIONS(SYS_CURRENCY_RATE),#BASE_CURRENCY_DECIMAL)
END_IF
END_IF
ADD TO TAX_TRANSACTIONS
IF (%STATUS = %FAILURE)
MESSAGE/IDENTIFIER/BELL/WAIT P_00822
EXIT
END_IF
END_BLOCK
END_FORM
PROCEDURE_FORM CREATE_AR_TRANSACTION_RECORD &
/TABLE=CASH_RECEIPT_BATCHES &
/WITH=COMPANY_CODE=#COMPANY_CODE &
/WITH=DIVISION = CASH_RECEIPT_BATCH_HEADERS(DIVISION) &
/WITH=CR_BATCH_NUMBER=CASH_RECEIPT_BATCH_HEADERS(CR_BATCH_NUMBER)
BEGIN_BLOCK LOAD_TRANS_RECORD
#AR_SHORT_CODE = #DEF_AR_SHORT_CODE
#AR_FULL_ACCOUNT = #DEF_AR_FULL_ACCOUNT
IF (CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER) = #CASH_SALES)
GOTO CREATE_GL_POSTINGS
END_IF
FIND IN CUSTOMERS &
/LOCK=NONE &
/WITH=COMPANY_CODE = #COMPANY_CODE &
/WITH=DIVISION = #DIVISION &
/WITH=CUSTOMER_NUMBER = CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER)
IF ((CUSTOMERS(AR_SHORT_CODE) <> "") OR (CUSTOMERS(AR_FULL_ACCOUNT) <> ""))
#AR_SHORT_CODE = CUSTOMERS(AR_SHORT_CODE)
#AR_FULL_ACCOUNT = CUSTOMERS(AR_FULL_ACCOUNT)
END_IF
#ADDRESS_CODE = CUSTOMERS(DEFAULT_ADDR)
FIND IN CUSTOMER_ADDRESSES &
/LOCK=NONE &
/WITH=COMPANY_CODE=#COMPANY_CODE &
/WITH=DIVISION=CASH_RECEIPT_BATCHES(DIVISION) &
/WITH=CUSTOMER_NUMBER=CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER) &
/WITH=ADDRESS_CODE=#ADDRESS_CODE
#CUST_TAX_ON_CASH = CUSTOMER_ADDRESSES(SYS_TAX_ON_CASH)
#CUST_TAX_CODE = CUSTOMER_ADDRESSES(TAX_CODE)
CLEAR_BUFFER AR_TRANSACTIONS
AR_TRANSACTIONS(SALESPERSON_CODE) = CUSTOMER_ADDRESSES(SALESPERSON_CODE)
AR_TRANSACTIONS(COMPANY_CODE) = #COMPANY_CODE
AR_TRANSACTIONS(DIVISION) = CASH_RECEIPT_BATCHES(DIVISION)
AR_TRANSACTIONS(CUSTOMER_NUMBER)= CASH_RECEIPT_BATCHES(CUSTOMER_NUMBER)
AR_TRANSACTIONS(PERIOD) = CASH_RECEIPT_BATCH_HEADERS(PERIOD)
AR_TRANSACTIONS(YEAR) = CASH_RECEIPT_BATCH_HEADERS(YEAR)
AR_TRANSACTIONS(TRANSACTION_TYPE) = (PARAMETER("TTYPE_CR"))
AR_TRANSACTIONS(TRANSACTION_DATE) = CASH_RECEIPT_BATCHES(TRANSACTION_DATE)
AR_TRANSACTIONS(ORIG_INVOICE_DIVISION) = #DIVISION
#CASH_RECEIPT_NUMBER = AR_TRANSACTION_TYPES(TRANSACTION_NUMBER)
AR_TRANSACTION_TYPES(TRANSACTION_NUMBER) = #CASH_RECEIPT_NUMBER + 1
AR_TRANSACTIONS(TRANSACTION_NUMBER) = #CASH_RECEIPT_NUMBER
CASH_RECEIPT_BATCHES(TRANSACTION_NUMBER) = &
AR_TRANSACTIONS(TRANSACTION_NUMBER)
AR_TRANSACTIONS(BATCH_NUMBER) = &
CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER)
AR_TRANSACTIONS(BATCH_SEQUENCE_NUMBER)=&
CASH_RECEIPT_BATCHES(CR_BATCH_SEQ_NUMBER)
AR_TRANSACTIONS(CREDIT_STATUS_CODE) = ""
AR_TRANSACTIONS(PID) = ""
AR_TRANSACTIONS(DUE_DATE) = %TODAY
! *** 15-dec-1998 *** ape -
! AR_TRANSACTIONS(DOCUMENT_REFERENCE)=&
! CASH_RECEIPT_BATCHES(CR_BATCH_NUMBER)&"-" &&
! CASH_RECEIPT_BATCHES(CR_BATCH_SEQ_NUMBER)
AR_TRANSACTIONS(DOCUMENT_REFERENCE) = CASH_RECEIPT_BATCH_HEADERS(BANK_CODE)
! *** 15-dec-1998 *** ape
AR_TRANSACTIONS(TRANSACTION_DESCRIPTION) = MESSAGE("P_26258")
AR_TRANSACTIONS(DORC_INDICATOR) = AR_TRANSACTION_TYPES(DORC_INDICATOR)
AR_TRANSACTIONS(CUSTOMER_REFERENCE) = &
CASH_RECEIPT_BATCHES(CUSTOMER_REFERENCE)
AR_TRANSACTIONS(BANK_CODE)=#BANK_CODE
AR_TRANSACTIONS(CASH_DISCOUNT) = &
CASH_RECEIPT_BATCHES(CASH_DISCOUNT)
AR_TRANSACTIONS(STATEMENT_ACCOUNT) = CUSTOMERS(STATEMENT_ACCOUNT)
AR_TRANSACTIONS(SYS_CURRENCY_CODE) = &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_CODE)
AR_TRANSACTIONS(SYS_CURRENCY_RATE) = &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_RATE)
IF (#CURRENCY_METHOD <> '0')
AR_TRANSACTIONS(SYS_BASE_CURRENCY_CODE) =#BASE_CURRENCY_CODE
AR_TRANSACTIONS(SYS_RATE_AUTHORITY) = &
CASH_RECEIPT_BATCHES(SYS_RATE_AUTHORITY)
AR_TRANSACTIONS(SYS_RATE_TYPE) = &
CASH_RECEIPT_BATCHES(SYS_RATE_TYPE)
AR_TRANSACTIONS(SYS_CURRENCY_FIXED_FLAG) = &
CASH_RECEIPT_BATCHES(SYS_CURRENCY_FIXED_FLAG)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -