Показать сообщение отдельно
Старый 20.06.2018, 21:13   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
a33ik: AIF document service jobs/info
Источник: http://daxonline.org/1616-aif-docume...jobs-info.html
==============

Job to execute/process messages
static void AifTestRun(Args _args){ // inbound messages new AIFGatewayReceiveService().run(); new AIFInboundProcessingService().run(); // outbound messages new AIFOutboundProcessingService().run(); new AIFGatewaySendService().run(); info("done");}Example of "read" outbound:static void AifTest(Args _args){ AxdSendContext axdSendContext = AxdSendContext::construct(); AifEntityKey aifEntityKey = AifEntityKey::construct(); Map keyData; AifConstraintList aifConstraintList = new AifConstraintList(); AifConstraint aifConstraint = new AifConstraint(); VendInvoiceInfoTable vendInvoice; XMLDocPurpose _xMLDocPurpose = XMLDocPurpose::Original; AifSendMode _aifSendMode = AifSendMode::Async ; select firstOnly vendInvoice order by RecId desc where vendInvoice.PurchId == 'BHF-000060'; keyData = SysDictTable::getKeyData(vendInvoice); aifEntityKey.parmTableId(vendInvoice.TableId); aifEntityKey.parmRecId(vendInvoice.RecId); aifEntityKey.parmKeyDataMap(keyData); axdSendContext.parmXMLDocPurpose(_xMLDocPurpose); axdSendContext.parmSecurity(false); aifConstraint.parmType(AifConstraintType::NoConstraint) ; aifConstraintList.addConstraint(aifConstraint) ; AifSendService::submitDefault( classnum(VendInvoiceService), aifEntityKey, aifConstraintList, _aifSendMode, axdSendContext.pack()); info("done");}Example of "find" outbound. Export all records by query:static void ABIVend(Args _args){ VendTable vendTable; AxdSendContext axdSendContext = AxdSendContext::construct(); AifEntityKey aifEntityKey = AifEntityKey::construct(); AifConstraintList aifConstraintList = new AifConstraintList(); AifConstraint aifConstraint = new AifConstraint(); AifEndpointList endpointList; AifActionId actionId; Query query; QueryBuildDataSource qbds; query = new Query(queryStr(AxdVendTable)); AxdSend::removeChildDs(query); actionId = AifSendService::getDefaultSendAction(classnum(VendVendTableService), AifSendActionType::SendByQuery); aifConstraint.parmType(AifConstraintType::NoConstraint); aifConstraintList.addConstraint(aifConstraint) ; endpointList = AifSendService::getEligibleEndpoints(actionId, aifConstraintList); AifSendService::SubmitFromQuery(actionId,endpointList,query,AifSendMode::Async);}In case of changes and adding new services:
  • Forward compile of modified AxBC class
  • Incremental CIL
  • Restart AOS
  • AX Client config > tab:Connection >button:Refresh configuration
Also form AifService which is not available from menu. Open click Refresh button.
For error System Administration -> Periodic -> Services and Application Integration Framework -> Exceptions

// Note: For debugging
\Classes\AifInboundProcessingService\runAsUserInPartition

File name generation for a file adapter
\Classes\AifFileSystemSendAdapter\getNewOutFileName


Источник: http://daxonline.org/1616-aif-docume...jobs-info.html