initialer Upload
This commit is contained in:
188
Assmann/81_java_dbs_invoiceworkflow_v100.jpl
Normal file
188
Assmann/81_java_dbs_invoiceworkflow_v100.jpl
Normal file
@@ -0,0 +1,188 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Hook for dbs | invoice
|
||||
// => Java-Functions
|
||||
// File-Encoding: UTF-8 without BOM( Test: ü,ä,ö )
|
||||
//------------------------------------------------------------------------------
|
||||
// Created/Edited | Description
|
||||
//------------------------------------------------------------------------------
|
||||
// 16.01.2017 | dbs | invoice workflow 1.0.0.0
|
||||
// 06.11.2017 tott | Write State mit Langem Usernamen
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
global gDBS_RET_CODE_SERVLET_JAVA = ""
|
||||
global gDBS_RET_MSG_SERVLET_JAVA = ""
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// write current state of workflow to erp interface via java class
|
||||
//---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
proc write_state( pDocId, wfUser, wfState, wfStep, wfStepLvl, wfWebServiceURL )
|
||||
{
|
||||
vars lReturnCode, lReturnValue
|
||||
vars lCurrentTimestamp = getCurrentTimestamp()
|
||||
|
||||
vars lSplittedUsers // Number of returned values of function string_split
|
||||
vars lUsersString = wfUser // string to be splitted
|
||||
vars lCharSplitter = ";" // split character
|
||||
vars lCount, h_ReturnValue
|
||||
vars lUsers
|
||||
|
||||
gDBS_RET_CODE_SERVLET_JAVA = ""
|
||||
gDBS_RET_MSG_SERVLET_JAVA = ""
|
||||
|
||||
call api_log_info ("Start Function Write State")
|
||||
|
||||
lSplittedUsers = api_function ("string_split", lUsersString, lCharSplitter)
|
||||
// Ergebnisausgabe
|
||||
if( lSplittedUsers > 0 )
|
||||
{
|
||||
call api_log_info ("String wfUsers was splitted in :lSplittedUsers Strings.")
|
||||
|
||||
for lCount = 1 while( lCount <= lSplittedUsers ) step 1
|
||||
{
|
||||
// Username anhand ; Splitten und Langnamen ermitteln
|
||||
HIDE_API_ERROR_ONCE = "1"
|
||||
h_ReturnValue = api_function ("user_get_data", api_splitted_string[ lCount ])
|
||||
|
||||
if ( h_ReturnValue == 0 )
|
||||
{
|
||||
// das Komma erst setzen wenn ein User durch
|
||||
if( lCount != 1 )
|
||||
{
|
||||
lUsers = lUsers ## "; "
|
||||
}
|
||||
|
||||
// Umlaute umbennnen, da es sonst zu UTF8 Problemen kommt
|
||||
h_ReturnValue = api_function ("string_replace", api_user_realname, "ä", "ae" )
|
||||
h_ReturnValue = api_function ("string_replace", api_converted_string, "ü", "ue" )
|
||||
h_ReturnValue = api_function ("string_replace", api_converted_string, "ö", "oe" )
|
||||
h_ReturnValue = api_function ("string_replace", api_converted_string, "Ä", "Ae" )
|
||||
h_ReturnValue = api_function ("string_replace", api_converted_string, "Ü", "Ue" )
|
||||
h_ReturnValue = api_function ("string_replace", api_converted_string, "Ö", "Oe" )
|
||||
|
||||
// Username Lang speichern
|
||||
lUsers = lUsers ## api_converted_string
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
call api_clear_document_context()
|
||||
lReturnValue = api_function ("attribute_get_all", pDocId, "")
|
||||
|
||||
|
||||
if( lReturnValue == 0 )
|
||||
{
|
||||
// -----------------------------------------------------------
|
||||
// add request params
|
||||
lReturnValue = api_function ("java_add_param", wfWebServiceURL) // wfWebServiceURL
|
||||
lReturnValue = api_function ("java_add_param", gGMF_CONFIG_INTERFACE)
|
||||
lReturnValue = api_function ("java_add_param", "writeState")
|
||||
lReturnValue = api_function ("java_add_param", "ERPID" ## "|" ## pDocId) // pDocId api_doc_field[gDDF_ERP_ID])
|
||||
lReturnValue = api_function ("java_add_param", "SYSID" ## "|" ## api_doc_field[gDDF_SYSTEM_ID])
|
||||
lReturnValue = api_function ("java_add_param", "CLIENT" ## "|" ## api_doc_field[gDDF_CLIENT])
|
||||
lReturnValue = api_function ("java_add_param", "COMPANY_CODE" ## "|" ## api_doc_field[gDDF_COMPANY_CODE])
|
||||
lReturnValue = api_function ("java_add_param", "TIME_STAMP" ## "|" ## lCurrentTimestamp)
|
||||
lReturnValue = api_function ("java_add_param", "USER" ## "|" ## wfUser)
|
||||
lReturnValue = api_function ("java_add_param", "STATE" ## "|" ## wfState)
|
||||
lReturnValue = api_function ("java_add_param", "STEP" ## "|" ## wfStep)
|
||||
lReturnValue = api_function ("java_add_param", "STEPLVL" ## "|" ## wfStepLvl)
|
||||
|
||||
lReturnCode = api_function ("java_call_static", "com/dvelop/decs/erp/servlet/javacall/DecsERPServletConnector", "executePost")
|
||||
|
||||
if( lReturnCode != 0 || gDBS_RET_CODE_SERVLET_JAVA != 0 )
|
||||
{
|
||||
call api_log_info( "Error while creating xml request: " ## lReturnCode )
|
||||
call api_log_info( "Servlet returned error code: " ## gDBS_RET_CODE_SERVLET_JAVA )
|
||||
call api_log_info( "Servlet returned error message: " ## gDBS_RET_MSG_SERVLET_JAVA )
|
||||
return gERR_ERP_SVLT_WRITE_STATE
|
||||
}
|
||||
else
|
||||
{
|
||||
call api_log_info( "Created xml request for write_state(): " ## lReturnCode )
|
||||
return 0
|
||||
}
|
||||
}
|
||||
return 0
|
||||
} // end of write_state
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// write current users of workflow to erp interface via java class
|
||||
//---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
proc write_user( pDocId, wfUsers, wfState, wfStep, wfStepLvl, wfWebServiceURL )
|
||||
{
|
||||
vars lReturnCode, lReturnValue
|
||||
gDBS_RET_CODE_SERVLET_JAVA = ""
|
||||
gDBS_RET_MSG_SERVLET_JAVA = ""
|
||||
|
||||
call api_log_info ("START write_user.")
|
||||
|
||||
call api_clear_document_context()
|
||||
lReturnValue = api_function ("attribute_get_all", pDocId, "")
|
||||
|
||||
if( lReturnValue == 0 )
|
||||
{
|
||||
// Variablendeklaration
|
||||
vars lSplittedUsers // Number of returned values of function string_split
|
||||
vars lUsersString = wfUsers // string to be splitted
|
||||
vars lCharSplitter = ";" // split character
|
||||
|
||||
// call string_split
|
||||
lSplittedUsers = api_function ("string_split", lUsersString, lCharSplitter)
|
||||
// Ergebnisausgabe
|
||||
if( lSplittedUsers > 0 )
|
||||
{
|
||||
call api_log_info ("String wfUsers was splitted in :lSplittedUsers Strings.")
|
||||
|
||||
// -----------------------------------------------------------
|
||||
// add request params
|
||||
lReturnValue = api_function ("java_add_param", wfWebServiceURL) // wfWebServiceURL
|
||||
lReturnValue = api_function ("java_add_param", gGMF_CONFIG_INTERFACE)
|
||||
lReturnValue = api_function ("java_add_param", "writeUser")
|
||||
lReturnValue = api_function ("java_add_param", "ERPID" ## "|" ## api_doc_field[gDDF_ERP_ID])
|
||||
lReturnValue = api_function ("java_add_param", "SYSID" ## "|" ## api_doc_field[gDDF_SYSTEM_ID])
|
||||
lReturnValue = api_function ("java_add_param", "CLIENT" ## "|" ## api_doc_field[gDDF_CLIENT])
|
||||
lReturnValue = api_function ("java_add_param", "COMPANY_CODE" ## "|" ## api_doc_field[gDDF_COMPANY_CODE])
|
||||
lReturnValue = api_function ("java_add_param", "STEP" ## "|" ## wfStep)
|
||||
lReturnValue = api_function ("java_add_param", "STEPLVL" ## "|" ## wfStepLvl)
|
||||
|
||||
// start of for-loop --------------------------------------------------------------
|
||||
vars lCount // counter for loop
|
||||
vars lCurrentTimestamp = getCurrentTimestamp()
|
||||
lReturnValue = api_function ("java_add_param", "USERS_TIME_STAMP" ## "|" ## lCurrentTimestamp)
|
||||
lReturnValue = api_function ("java_add_param", "USERS_STATE" ## "|" ## wfState)
|
||||
|
||||
for lCount = 1 while( lCount <= lSplittedUsers ) step 1
|
||||
{
|
||||
lReturnValue = api_function ("java_add_param", "USERS_USER" ## "|" ## api_splitted_string[ lCount ])
|
||||
}
|
||||
// end of for-loop ---------------------------------------------------------------
|
||||
|
||||
lReturnCode = api_function ("java_call_static", "com/dvelop/decs/erp/servlet/javacall/DecsERPServletConnector", "executePost")
|
||||
|
||||
|
||||
if( lReturnCode != 0 || gDBS_RET_CODE_SERVLET_JAVA != 0 )
|
||||
{
|
||||
call api_log_info( "Error while creating xml request: " ## lReturnCode )
|
||||
call api_log_info( "Servlet returned error code: " ## gDBS_RET_CODE_SERVLET_JAVA )
|
||||
call api_log_info( "Servlet returned error message: " ## gDBS_RET_MSG_SERVLET_JAVA )
|
||||
return gERR_ERP_SVLT_WRITE_USER
|
||||
}
|
||||
else
|
||||
{
|
||||
call api_log_info ( "Created xml request for write_user(): " ## lReturnCode )
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( lSplittedUsers < 0 )
|
||||
{
|
||||
call api_log_error ("No users could be determined with string_split in write_user()! Errorcode was :lSplittedUsers.")
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
else
|
||||
{
|
||||
call api_log_error ("Errorcode :lReturnValue was returned!")
|
||||
}
|
||||
}//end of write_user
|
||||
Reference in New Issue
Block a user