Well I didn no succeed in running runAs(). It keep telling my method does not exist. It looks like the method im calling must me static not sure if I must make it also server static but it still don't work. When trying to work with prompt() it just skip the RunAS() part..
Can I force batch to run on custom user instead of client / server side by run runsImpersonated()?
// I was unable to insert this as code...
server static public void main(Args _args)
{
RunAsPermission _perm;
UserId _runAsUser;
SysUserInfo _userInfo;
_userInfo = SysUserInfo::find('testUser');
_runAsUser = _userInfo.Id;
_perm = new RunAsPermission(_runAsUser);
_perm.assert();
container _param;
FormRun formRun = _args.caller();
FormDataSource CustInvoiceJour_ToSend_ds, CustPackingSlipJour_toSend_ds, docuRef_toSend_ds;
if (formRun.name() == formStr(DocumentHistory))
{
CustPackingSlipJour_toSend_ds = formRun.dataSource(formDataSourceStr(DocumentHistory, CustPackingSlipJour));
custInvoiceJour_ToSend_ds = formRun.dataSource(formDataSourceStr(DocumentHistory, CustInvoiceJour_ToSend));
docuRef_toSend_ds = formRun.dataSource(formDataSourceStr(DocumentHistory, docuRef));
DocumentHistorySaveSelected sendSelected = new DocumentHistorySaveSelected(custInvoiceJour_ToSend_ds, CustPackingSlipJour_toSend_ds, docuRef_toSend_ds);
// if (sendSelected.prompt())
{
RunAs(_runAsUser, classnum(DocumentHistorySaveSelected), staticmethodStr(DocumentHistorySaveSelected, "runOperation"),_param);
// sendSelected.runOperation();
}
// RunAs(_runAsUser, classnum(DocumentHistorySaveSelected), methodStr(DocumentHistorySaveSelected, "run"),_param);
// CodeAccessPermission::revertAssert();
}