Saturday 4 April 2015

generate multiple records in AX AIF 2012 error (invalid end points)


when you run this job  sometimes  you may get a error as invalid end points



static void GenerateMutiplerecords(Args _args)
{
    CustTable           custTable;
    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(AxdCustomer));
    AxdSend::removeChildDs(query);

    actionId            = AifSendService::getDefaultSendAction(classnum(CustCustomerService), AifSendActionType::SendByQuery);
    aifConstraint.parmType(AifConstraintType::NoConstraint);
    aifConstraintList.addConstraint(aifConstraint) ;
    endpointList        = AifSendService::getEligibleEndpoints(actionId, aifConstraintList);

    AifSendService::SubmitFromQuery(actionId,endpointList,query,AifSendMode::Async);
}



solution for this is  when you create a outbound port  and  you select  your service which in this case is   and then you need to select all the  action ID you created   for the particular
service.(CRUDFFK)
then activate the service from the outbound port and  run this job

then run this job

static void ADCOutboundProcessing(Args _args)
{
new AifOutboundProcessingService().run();
new AifGatewaySendService().run();
info("Done");
}



then you will see an XML created in the respective  folder which was selected  for the path in AX 2012   and when you open the path you will get the multiple records over there

intercompany PO multiple product receipt by x++

public void processStampICPO(PackingSlipId _deliveryNote,                             Transdate _deliverydate,                             ...