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

192 lines
5.3 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
// Hook for dbs | invoice
// => Sets for user in d.3 admin
// File-Encoding: UTF-8 without BOM( Test: ü,ä,ö )
//------------------------------------------------------------------------------
// Created/Edited | Description
//------------------------------------------------------------------------------
// 08.2017 | dbs | invoice workflow 1.1.0
////////////////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------------------
// Dynamic value sets
/*------------------------------------------------------------------------------
// - GetCurrency
// - GetCreditorNo
// - GetCreditorName
// - GetCompanyCode
// - GetClient
//------------------------------------------------------------------------------
*/
proc GetCurrency( pReposId, pUser, pDocTypeShort, pRowNo )
{
vars lFromClause
//add scheme to from clause if set
if(gGMF_SCHEME_NAME != "")
{
lFromClause = ":(gGMF_SCHEME_NAME).:(gGMF_TABLE_CURRENCIES)"
}
else
{
lFromClause = ":gGMF_TABLE_CURRENCIES"
}
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
DBMS SQL SELECT DISTINCT iso, \
:pReposId \
FROM :lFromClause \
ORDER BY iso
DBMS ALIAS
}//end of GetCurrency
proc GetCreditorNo( pReposId, pUser, pDocTypeShort, pRowNo )
{
vars lWhereClause = "", lContactId = "", lClient = "", lCompanyCode = "", lContactName = "", lFromClause
lContactId = dok_dat_feld[ gDDF_CONTACT_ID ]
// add wildcard
lContactId = lContactId ## "%"
lWhereClause = "WHERE creditor_no LIKE :+lContactId"
// if company code is known add to where-clause
lCompanyCode = dok_dat_feld[ gDDF_COMPANY_CODE ]
if ( lCompanyCode != "" )
{
lWhereClause = lWhereClause ## " AND company_code = :+lCompanyCode "
}
// if name is known add to where-clause
lContactName = dok_dat_feld[ gDDF_CONTACT_NAME ]
if ( lContactName != "" )
{
lContactName = lContactName ## "%"
lWhereClause = lWhereClause ## " AND name LIKE :+lContactName "
}
// if client is known add to where-clause
lClient = dok_dat_feld[ gDDF_CLIENT ]
if ( lClient != "" )
{
lWhereClause = lWhereClause ## " AND client = :+lClient "
}
//add scheme to from clause if set
if(gGMF_SCHEME_NAME != "")
{
lFromClause = ":(gGMF_SCHEME_NAME).:(gGMF_TABLE_CREDITORS)"
}
else
{
lFromClause = ":gGMF_TABLE_CREDITORS"
}
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
DBMS SQL SELECT DISTINCT creditor_no, \
:pReposId \
FROM :lFromClause :lWhereClause \
ORDER BY creditor_no
DBMS ALIAS
}//end of GetCreditorNo
proc GetCreditorName( pReposId, pUser, pDocTypeShort, pRowNo )
{
vars lWhereClause = "", lContactName = "", lClient = "", lCompanyCode = "", lContactId = "", lFromClause
lContactName = dok_dat_feld[ gDDF_CONTACT_NAME ]
// add wildcard
lContactName = lContactName ## "%"
lWhereClause = "WHERE name LIKE :+lContactName"
// if company code is known add to where-clause
lCompanyCode = dok_dat_feld[ gDDF_COMPANY_CODE ]
if ( lCompanyCode != "" )
{
lWhereClause = lWhereClause ## " AND company_code = :+lCompanyCode "
}
// if client is known add to where-clause
lClient = dok_dat_feld[ gDDF_CLIENT ]
if ( lClient != "" )
{
lWhereClause = lWhereClause ## " AND client = :+lClient "
}
// if creditor_no is known add to where-clause
lContactId = dok_dat_feld[ gDDF_CONTACT_ID ]
if ( lContactId != "" )
{
lWhereClause = lWhereClause ## " AND creditor_no = :+lContactId "
}
//add scheme to from clause if set
if(gGMF_SCHEME_NAME != "")
{
lFromClause = ":(gGMF_SCHEME_NAME).:(gGMF_TABLE_CREDITORS)"
}
else
{
lFromClause = ":gGMF_TABLE_CREDITORS"
}
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
DBMS SQL SELECT DISTINCT name, \
:pReposId \
FROM :lFromClause :lWhereClause \
ORDER BY name
DBMS ALIAS
}//end of GetCreditorName
proc GetClient( pReposId, pUser, pDocTypeShort, pRowNo )
{
vars lFromClause
//add scheme to from clause if set
if(gGMF_SCHEME_NAME != "")
{
lFromClause = ":(gGMF_SCHEME_NAME).:(gGMF_TABLE_COMPANY_CODE)"
}
else
{
lFromClause = ":gGMF_TABLE_COMPANY_CODE"
}
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
DBMS SQL SELECT DISTINCT client_id, \
:pReposId \
FROM :lFromClause \
ORDER BY client_id
DBMS ALIAS
}//end of GetClient
proc GetCompanyCode( pReposId, pUser, pDocTypeShort, pRowNo )
{
//CompanyCode depends on Client
vars lFromClause, lWhereClause, lClient
lWhereClause = ""
lClient = dok_dat_feld[ gDDF_CLIENT ]
if ( lClient != "" )
{
lWhereClause = "WHERE client_id = :+lClient"
}
//add scheme to from clause if set
if(gGMF_SCHEME_NAME != "")
{
lFromClause = ":(gGMF_SCHEME_NAME).:(gGMF_TABLE_COMPANY_CODE)"
}
else
{
lFromClause = ":gGMF_TABLE_COMPANY_CODE"
}
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
DBMS SQL SELECT DISTINCT company_id, \
:pReposId \
FROM :lFromClause :lWhereClause \
ORDER BY company_id
DBMS ALIAS
}//end of GetCompanyCode