Files
d.velop/Assmann/11_definitions_dbs_invoiceworkflow.jpl
2024-06-17 16:49:41 +02:00

227 lines
17 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
// Hook
// => Definition of variables
// File-Encoding: UTF-8 without BOM( Test: ü,ä,ö )
//------------------------------------------------------------------------------
// Created/Edited | Description
//------------------------------------------------------------------------------
// 08.2017 | dbs | invoice workflow 1.1.0
////////////////////////////////////////////////////////////////////////////////
// WFL PROCESS ID
global gDBS_INVOICE_WFL_ID = "5utr82engsp9i09ljpf5gsk4jm"
// USERGROUPS (GRP) ( has to be ID !!! )
global gGRP_CLEARING = "Accounting"
global gGRP_ACCOUNTING = "Accounting"
// DOCUMTENT TYPES (DTS)
global gDTS_INVOICE = "DERGS" // Document type short name for: Eingangsrechnung/Grutschrift
global gDTS_INVOICE_ATTACHMENT = "DREAN" // Document type short name for: Rechnungsanlage
global gDTS_CREDITOR_TRANS_FOLDER = "AKRVG" // Document type short name for: Kreditorenvorgangsakte
global gDTS_CREDITOR_FOLDER = "AKR" // Document type short name for: Kreditorenakte
// ATTRIBUTE FIELD NUMBERS (DDF)
global gDDF_CONTACT_ID = 81
global gDDF_CONTACT_NAME = 43
global gDDF_STREET = 14 //3
global gDDF_ZIP = 9 //4
global gDDF_CITY = 10 //5
global gDDF_COUNTRY = 15 //6
global gDDF_INVOICE_ID = 21 //7
global gDDF_INVOICE_TYPE = 8
global gDDF_DOCUMENT_CATEGORY = 4 //9
global gDDF_COMPANY_CODE = 5 //10
global gDDF_CURRENCY = 11
global gDDF_ERP_ID = 12
global gDDF_WFL_STATUS = 13
global gDDF_WFL_STEP = 3 //14
global gDDF_CLIENT = 31 //15
global gDDF_TRANSACTION_ID = 2
global gDDF_STORAGE = 18
global gDDF_ACCOUNT_DESCRIPTION = 19
global gDDF_DESCRIPTION = 23
global gDDF_DEPARTMENT = 35
global gDDF_GUID = 47
global gDDF_SYSTEM_ID = 48
global gDDF_TECH_ID = 49
global gDDF_INVOICE_DATE = 52
global gDDF_DELIVERY_DATE = 54
global gDDF_ACCOUNTING_DATE = 50
global gDDF_PAYED_DATE = 53
global gDDF_CAPTURE_DATE = 51
global gDDF_COST_CENTER = 60
global gDDF_GL_ACCOUNT = 61
global gDDF_INTERNAL_ORDER = 62
global gDDF_DESCRIPTION_LONG = 63
global gDDF_NET_VALUE = 64
global gDDF_COST_UNIT = 65
global gDDF_VERIFIER_STAMP = 66
global gDDF_MWST_PRODUCT_GROUP = 67
global gDDF_WFL_MEMBER = 68
global gDDF_MWST_COMPANY_GROUP = 69
global gDDF_APPROVER_STAMP = 99
global gDDF_APPROVER_STAMP_2ND_LVL = 99
global gDDF_TAX_KEY = 99
global gDDF_GROSS_AMOUNT = 70
global gDDF_NET_AMOUNT = 71
global gDDF_TAX_AMOUNT = 72
// GENERAL MODIFICATION FLAGS (GMF)
global gGMF_FORCE_CLEARING_STEP = "0" // Step clearing is forced
global gGMF_FORCE_ACCOUNTING_STEP = "0" // Step accounting is forced
global gGMF_MULTILEVEL_APPROVAL = "0" // Multilevel approval is activated
global gGMF_FIT_MULTILVL_APPROVAL = "1" // Multilevel approval goes not through all levels, just to highest fitting level
global gGMF_DIRECT_ERP_ACCOUNTING = "0" // Direct accounting into ERP-System
global gGMF_REFUSE_IN_CHECK = "0" // Refuse of Invoice in step check enabled
global gGMF_BALANCE_NET_OR_GROSS = "n" // Interpretation of net or gross positions for calculation of balance (n, g) -> when calculation is configured for net amounts, the accounting step should be configures as necessary in gGMF_ACTIVE_ACCOUNTING_STEP
global gGMF_REFUSE_IN_ACCOUNTING = "0" // Refuse of Invoice in step enabled
global gGMF_4_EYES_PRINCIPLE = "0" // 4-Eyes-Principle activated
global gGMF_CHECK_DUPLICATES = "1" // Determination of dublicates activated
global gGMF_REFUSAL_INFORM_USER = "0" // User can be manually informed about refusal of invoice
global gGMF_REFUSAL_INFORM_GROUP = "RefusalI" // Group with all users/groups that can be informed about refusal of invoice
global gGMF_ROUND_DIFF_AUTOMATIC = "0" // Shall rounding differences be balanced automatically
global gGMF_ROUND_DIFF_TOLERANCE = "5" // Maximum difference for automatic balance of rounding differences in cents
// GENERAL MODIFICATION FLAGS: Force client or company_code
global gGMF_CLIENT_EXISTS = "1" // When client is forced field will be automatically filled and not be shown in wfl
global gGMF_COMPANY_CODE_EXISTS = "0" // When company_code is forced field will be automatically filled and not be shown in wfl
// GENERAL MODIFICATION FLAGS: DETERMINATION OF VERIFIER AND APPROVER
global gGMF_PRIO_COST_CENTER = "1" // Priority of cost_center within determination of verifier and approver (1 - 4)
global gGMF_PRIO_GL_ACCOUNT = "3" // Priority of gl_account within determination of verifier and approver (1 - 4)
global gGMF_PRIO_INTERNAL_ORDER = "2" // Priority of internal_order within determination of verifier and approver (1 - 4)
global gGMF_PRIO_COST_UNIT = "4" // Priority of cost_unit within determination of verifier and approver (1 - 4)
global gGMF_NET_OR_GROSS = "n" // Interpretation of net or gross amount within determination of verifier and approver (n, g)
global gGMF_MANUALLY_CHOICE_1 = "1" // Manually choice of verifier and approver on first level (0,1)
// GENERAL MODIFICATION FLAGS: MODIFICATION RELEVANT ATTRIBUTES IN ACCOUNTING
global gGMF_ADD_ROWS_ACCOUNTING = "1" // User in accounting is allowed to add new rows proof and verify them an reduce amounts of other line items
global gGMF_MODR_COST_CENTER = "0" // Is modification of cost_center in position data relevant for return to step check
global gGMF_MODR_COST_UNIT = "0" // Is modification of cost_unit in position data relevant for return to step check
global gGMF_MODR_GL_ACCOUNT = "0" // Is modification of gl_account in position data relevant for return to step check
global gGMF_MODR_INTERNAL_ORDER = "0" // Is modification of internal_order in position data relevant for return to step check
global gGMF_MODR_POS_NET_VALUE = "0" // Is modification of net_value in position data relevant for return to step check
global gGMF_MODR_POS_GROSS_VALUE = "0" // Is modification of gross_value in position data relevant for return to step check
global gGMF_MODR_CLIENT = "0" // Is modification of client in header data relevant for return to step check
global gGMF_MODR_CREDITOR = "0" // Is modification of creditor in header data relevant for return to step check
global gGMF_MODR_COMPANY_CODE = "0" // Is modification of company_code in header data relevant for return to step check
global gGMF_MODR_INV_GROSS_VALUE = "0" // Is modification of gross_value in header data relevant for return to step check
// GENERAL MODIFICATION FLAGS: ESCALTION RELEVANT CONFIGURATIONS
global gGMF_ESCAL_TIME_CLEARING = 0 // Days until escalation happens in step clearing
global gGMF_ESCAL_TIME_CHECK = 7 // Days until escalation happens in step check
global gGMF_ESCAL_TIME_APPROVAL_1 = 7 // Days until escalation happens in step approval of position data
global gGMF_ESCAL_TIME_APPROVAL_N = 0 // Days until escalation happens in step approval of invoice
global gGMF_ESCAL_TIME_ACCOUNTING = 0 // Days until escalation happens in step accounting
global gGMF_ESCAL_USER_CLEARING = "Accounting" // User or group to be informed about escalation in step clearing
global gGMF_ESCAL_USER_CHECK = "Accounting" // User or group to be informed about escalation in step check
global gGMF_ESCAL_USER_APPROVAL_1 = "Accounting" // User or group to be informed about escalation in step approval of position data
global gGMF_ESCAL_USER_APPROVAL_N = "Accounting" // User or group to be informed about escalation in step approval of invoice
global gGMF_ESCAL_USER_ACCOUNTING = "Accounting" // User or group to be informed about escalation in step accounting
// GENERAL MODIFICATION FLAGS: FOR AUTO TRANSACTION ID GENERATION
global gGMF_TRANSACTION_ID_PRAEFIX = "RE" // Prefix of automaticly generated transaction id
global gGMF_TRANSACTION_ID_SIZE = 6 // Length of leading nulls in transaction id counter
// GENERAL MODIFICATION FLAGS: SMTP SERVER
global gGMF_SEND_QUEST_MAIL = "0" // Shall mails be send when receiving answer in question function
global gGMF_SMTP_SERVER = "" // SMTP-Server for mail sending
// GENERAL MODIFICATION FLAGS: FOR ERP INTERFACE
global gGMF_CALL_INTERFACE = "1" // Shall the ERP-Interface be called in workflow or not
global gGMF_ERP_VALIDATE_POS_DATA = "0" // Validate item lines against ERP-System
global gGMF_ERP_WRITE_LAST_STEP = "0" // only write or book records in last step of workflow into ERP-System
global gGMF_CONFIG_INTERFACE = "NAVContext.xml" // Name of interface configuration file
global gGMF_WEB_SERVICE_URL = "http\://localhost\:8081/DecsERPServlet/DecsERPServlet" // webservice url (wfWebServiceURL)
global gDBS_RET_CODE_SERVLET_JAVA = ""
global gDBS_RET_MSG_SERVLET_JAVA = ""
// GENERAL MODIFICATION FLAGS: FOR ERP CONNECTION VIA HOOK -> see 51_erp_dbs_invoice.jpl
global gGMF_GET_ERP_META_DATA_HOOK = "1" // Shall the meta data be loaded from erp system
// GENERAL MODIFICATION FLAGS: FOR DATABASE TYPE AND SCHEME NAME
vars lGMF_DATABASE_ARRAY[3] = { "MSSQL", "ORACLE", "DB2" } // init array for database type
vars lGMF_DATABASE_TYPE_ID = 1 // Microsoft SQL: 1, Oracle: 2, DB2: 3, configure the database type
global gGMF_DATABASE_TYPE = lGMF_DATABASE_ARRAY[lGMF_DATABASE_TYPE_ID]
global gGMF_SCHEME_NAME = "" //Scheme name of master data tables in masterdatabase, necessary for DB2
global gGMF_SCHEME_NAME_RUN_TIME = "" //Scheme name of run-time data tables in database, necessary for DB2
//GENERAL MODIFICATION FLAGS : FOR TABLE NAMES OF RUN-TIME DATA TABLES
global gGMF_TABLE_CHECK_FST_APPR = "dbs_inv_auth_check_fst_appr"
global gGMF_TABLE_SND_APPROVAL = "dbs_inv_auth_snd_approval"
global gGMF_TABLE_CUSTOM_COUNTER = "dbs_inv_custom_counter"
//GENERAL MODIFICATION FLAGS : FOR TABLE NAMES OF MASTER DATA TABLES
global gGMF_TABLE_CREDITORS = "dbs_inv_creditors"
global gGMF_TABLE_COMPANY_CODE = "dbs_inv_company_code"
global gGMF_TABLE_CURRENCIES = "dbs_inv_currencies"
global gGMF_TABLE_COST_CENTERS = "dbs_inv_cost_centers"
global gGMF_TABLE_COST_UNITS = "dbs_inv_cost_unit"
global gGMF_TABLE_GL_ACCOUNT = "dbs_inv_gl_account"
global gGMF_TABLE_INTERNAL_ORDERS = "dbs_inv_internal_orders"
global gGMF_TABLE_PAYMENT_TERMS = "dbs_inv_payment_terms"
global gGMF_TABLE_TAX_KEY = "dbs_inv_tax_key"
// WORKFLOW (WFL)
// !!! specified in dataset
global gSTORAGE_WORKFLOW = "dbsInvoiceWorkflow"
global gSTORAGE_ARCHIVE = "dbsInvoiceArchive"
// !!! wfl_steps are specified in dataset
global gWFL_STEP_UNDEFINED = "Undefined"
global gWFL_STEP_CLEARING = "dbsInvoiceClearing"
global gWFL_STEP_CHECK = "dbsInvoiceCheck"
global gWFL_STEP_APPROVAL = "dbsInvoiceApproval"
global gWFL_STEP_ACCOUNTING = "dbsInvoiceAccounting"
// !!! wfl_status are specified in dataset
global gWFL_STATUS_NEW = "dbsInvoiceNew"
global gWFL_STATUS_IN_PROGRESS = "dbsInvoiceInProgress"
global gWFL_STATUS_FINISHED = "dbsInvoiceFinished"
global gWFL_STATUS_REFUSED = "dbsInvoiceRefused"
global gWFL_STATUS_SEND_TO_ERP = "dbsInvoiceSendToERP"
global gWFL_STATUS_ACCOUNTED = "dbsInvoiceAccounted"
vars lWFL_TITLE_CLRG_ARRAY[2] // init array for titles of hold files in step clearing
vars lWFL_TITLE_CHEC_ARRAY[2] // init array for titles of hold files in step check
vars lWFL_TITLE_APPR_ARRAY[2] // init array for titles of hold files in step approval
vars lWFL_TITLE_ACCT_ARRAY[2] // init array for titles of hold files in step accounting
lWFL_TITLE_CLRG_ARRAY[1] = "dbs|invoice workflow - Vorkontierung" // german title of hold files in step clearing
lWFL_TITLE_CHEC_ARRAY[1] = "dbs|invoice workflow - Sachliche Prüfung" // german title of hold files in step check
lWFL_TITLE_APPR_ARRAY[1] = "dbs|invoice workflow - Freigabe Stufe" // german title of hold files in step approval
lWFL_TITLE_ACCT_ARRAY[1] = "dbs|invoice workflow - Kontierung" // german title of hold files in step accounting
lWFL_TITLE_CLRG_ARRAY[2] = "dbs|invoice workflow - Clearing" // english title of hold files in step clearing
lWFL_TITLE_CHEC_ARRAY[2] = "dbs|invoice workflow - Verification" // english title of hold files in step check
lWFL_TITLE_APPR_ARRAY[2] = "dbs|invoice workflow - Approval Level" // english title of hold files in step approval
lWFL_TITLE_ACCT_ARRAY[2] = "dbs|invoice workflow - Accounting" // english title of hold files in step accounting
global gWFL_MAIN_LANGUAGE = 1 // German: 1, English: 2, configuration of title and history language in holdfiles
global gWFL_TITLE_CLEARING = lWFL_TITLE_CLRG_ARRAY[gWFL_MAIN_LANGUAGE] // configured title of hold files in step clearing
global gWFL_TITLE_CHECK = lWFL_TITLE_CHEC_ARRAY[gWFL_MAIN_LANGUAGE] // configured title of hold files in step check
global gWFL_TITLE_APPROVAL = lWFL_TITLE_APPR_ARRAY[gWFL_MAIN_LANGUAGE] // configured title of hold files in step approval
global gWFL_TITLE_ACCOUNTING = lWFL_TITLE_ACCT_ARRAY[gWFL_MAIN_LANGUAGE] // configured title of hold files in step accounting
global gWFL_RESP_ADMIN_USER = "sa" // Workflow responsible
global gWFL_RESP_ESCAL_USER = "sa" // Total escalation responsible
// ERROR CODES (ERR)
global gERR_IMPORT_DUPLICATE_ERR = 310
global gERR_IMPORT_DUPLICATE_FOUND = 315
global gERR_ERP_SVLT_WRITE_USER = 320
global gERR_ERP_SVLT_WRITE_STATE = 325
global gERR_ERP_SVLT_CREATE_RECORD = 330
// Loglevel
global gLOGLEVEL = 9