Friday, October 6, 2017

static void Job171(Args _args)
{
    InventTable inventTable = InventTable::find("Vouch312");
    InventTable InventTableTemplate = InventTable::find("Vouch310");
 
 
 
    inventItemPurchSetup inventItemPurchSetup , newinventItemPurchSetup;
    newinventItemPurchSetup = InventTable.inventItemPurchSetup();
    inventItemPurchSetup = InventTableTemplate.inventItemPurchSetup();
 
    newinventItemPurchSetup.selectForUpdate(true);
    newinventItemPurchSetup.InventDimId =  inventItemPurchSetup.InventDimId;
    newinventItemPurchSetup.InventDimIdDefault = inventItemPurchSetup.InventDimIdDefault;
    newinventItemPurchSetup.HighestQty =   inventItemPurchSetup.HighestQty;
    newinventItemPurchSetup.MultipleQty =  inventItemPurchSetup.MultipleQty ;
    newinventItemPurchSetup.LowestQty =  inventItemPurchSetup.LowestQty ;
    newinventItemPurchSetup.LeadTime =  inventItemPurchSetup.LeadTime ;
    newinventItemPurchSetup.write();

 
 static void createProdFromTemp(Args _args)
{
        SysRecordTmpTemplate    sysRecordTmpTemplate;
    SysRecordTemplate       recordTemplate;
    DirParty                dirParty;
    TEDDMFParametersExt     tedDMFParametersExt = TEDDMFParametersExt::find();
    container               dataContainer,RecordTmplateData;
    int                     i;
    EcoResProduct           ecoResProduct;
    InventTable             inventTable;

 
        EcoResProductTemplateApplyManagerUtils utils;
        delete_from inventTable WHERE inventTable.ItemId == "Vouch312";
 
    //if (releaseProductToCompany && sysRecordTmpTemplate.Data)
    //{
        //inventTable = InventTable::findByProduct(ecoResProduct.RecId);
//
        //utils = EcoResProductTemplateApplyManagerUtils::newDefault();
        //utils.applyTemplate(
            //sysRecordTmpTemplate.Data,
            //inventTable.ItemId);
    //}

 select firstOnly ecoResProduct where EcoResProduct.DisplayProductNumber == "Vouch312"; //Audio system
//
        //EcoResProductReleaseManager::releaseProductWithLegalEntityData(
            //ecoResProduct.RecId,
            //CompanyInfo::findDataArea(curext()).RecId,
            //"Vouch",
            //"Vouch");
 
    EcoResProductReleaseManagerBase::releaseProduct(ecoResProduct.RecId,
CompanyInfo::findDataArea('TBUK').RecId);
 
 
    if(ecoResProduct)
    {
            dataContainer = SysRecordTemplateTable::find(tableNum(InventTable)).Data;

            for (i = conlen(dataContainer); i; i--)
            {
                [sysRecordTmpTemplate.Description, sysRecordTmpTemplate.DefaultRecord, sysRecordTmpTemplate.Data, sysRecordTmpTemplate.Details] = conpeek(dataContainer, i);
                if(sysRecordTmpTemplate.Description == "100074")
                {
                    sysRecordTmpTemplate.OrgDescription = sysRecordTmpTemplate.Description;
                    sysRecordTmpTemplate.insert();
                    RecordTmplateData = sysRecordTmpTemplate.data;
           
                 
                    inventTable = InventTable::findByProduct(ecoResProduct.RecId);

                    utils = EcoResProductTemplateApplyManagerUtils::newDefault();
                    utils.applyTemplate(
                        RecordTmplateData,
                        inventTable.ItemId);
                          break;
                }
            }
            //recordTemplate = SysRecordTemplate::construct();
            //recordTemplate.parmForceCompanyTemplate("Test");
            //recordTemplate.parmCommon(inventTable);
            //recordTemplate.parmRecordTemplateValues(RecordTmplateData);
            //recordTemplate.createRecord();
            //inventTable.ItemId = ecoResProduct.productNumber();
            //inventTable.insert();
        }


}
static void Job171(Args _args)
{
    InventTable inventTable = InventTable::find("Vouch311");
    InventTable InventTableTemplate = InventTable::find("Vouch310");
 
    inventItemPurchSetup    inventItemPurchSetup ,
                            newinventItemPurchSetup;
    InventItemInventSetup   inventItemInventSetup,
                            newInventItemInventSetup;
    InventItemSalesSetup    inventItemSalesSetup,
                            newInventItemSalesSetup;
    ttsBegin;
 
   //  newinventItemInventSetup = InventTable.inventItemInventSetup();
    //inventItemInventSetup = InventTableTemplate.inventItemInventSetup();
 
    while select inventItemInventSetup
            where inventItemInventSetup.ItemId == "Vouch310"
    {
        newinventItemInventSetup.clear();
        newinventItemInventSetup = InventItemInventSetup::find(inventTable.ItemId,
                                                              inventItemInventSetup.InventDimId,               
                                                              true);
        newinventItemInventSetup.InventDimId =  inventItemInventSetup.InventDimId;
        newinventItemInventSetup.InventDimIdDefault = inventItemInventSetup.InventDimIdDefault;
        newinventItemInventSetup.HighestQty =   inventItemInventSetup.HighestQty;
        newinventItemInventSetup.MultipleQty =  inventItemInventSetup.MultipleQty ;
        newinventItemInventSetup.LowestQty =  inventItemInventSetup.LowestQty ;
        newinventItemInventSetup.LeadTime =  inventItemInventSetup.LeadTime ;
        newinventItemInventSetup.ItemId   = inventTable.ItemId;
        newinventItemInventSetup.write();
    }

 
 
   // newinventItemPurchSetup = InventTable.inventItemPurchSetup();
   // inventItemPurchSetup = InventTableTemplate.inventItemPurchSetup();
 
     
    while select inventItemPurchSetup
            where inventItemPurchSetup.ItemId == "Vouch310"
    {
        newinventItemPurchSetup.clear();
       newinventItemPurchSetup = inventItemPurchSetup::find(inventTable.ItemId,
                                                              inventItemPurchSetup.InventDimId,               
                                                              true);
         newinventItemPurchSetup.ItemId   = inventTable.ItemId;
        newinventItemPurchSetup.InventDimId =  inventItemPurchSetup.InventDimId;
        newinventItemPurchSetup.InventDimIdDefault = inventItemPurchSetup.InventDimIdDefault;
        newinventItemPurchSetup.HighestQty =   inventItemPurchSetup.HighestQty;
        newinventItemPurchSetup.MultipleQty =  inventItemPurchSetup.MultipleQty ;
        newinventItemPurchSetup.LowestQty =  inventItemPurchSetup.LowestQty ;
        newinventItemPurchSetup.LeadTime =  inventItemPurchSetup.LeadTime ;
        newinventItemPurchSetup.write();
    }
    //newinventItemSalesSetup = InventTable.inventItemSalesSetup();
  //  inventItemSalesSetup = InventTableTemplate.inventItemSalesSetup();
 
        while select inventItemSalesSetup
            where inventItemSalesSetup.ItemId == "Vouch310"
    {
    newinventItemSalesSetup.clear();
         newinventItemSalesSetup = InventItemSalesSetup::find(inventTable.ItemId,
                                                              inventItemSalesSetup.InventDimId,               
                                                              true);
          newinventItemSalesSetup.ItemId   = inventTable.ItemId;
    newinventItemSalesSetup.InventDimId =  inventItemSalesSetup.InventDimId;
    newinventItemSalesSetup.InventDimIdDefault = inventItemSalesSetup.InventDimIdDefault;
    newinventItemSalesSetup.HighestQty =   inventItemSalesSetup.HighestQty;
    newinventItemSalesSetup.MultipleQty =  inventItemSalesSetup.MultipleQty ;
    newinventItemSalesSetup.LowestQty =  inventItemSalesSetup.LowestQty ;
    newinventItemSalesSetup.LeadTime =  inventItemSalesSetup.LeadTime ;
    newinventItemSalesSetup.write();
    }

    ttsCommit;
}
/// <summary>
/// Method to create a record in the <c>PriceDiscAdmTrans</c> table
/// </summary>
/// <param name="_fromPriceDiscAdmTrans">
/// <c> PriceDiscAdmTrans </c>
/// </param>
/// <param name="_toPriceDiscAdmTrans">
/// <c> PriceDiscAdmTrans </c>
/// </param>
/// <param name="_journalNum">
/// <c> PriceDiscJournalNum </c>
/// </param>
/// <param name="inventDimId">
/// <c> InventDimId </c>
/// </param>
/// <param name="_fromCompany">
/// <c> SelectableDataArea </c>
/// </param>
/// <remarks>
/// to create a record in the <c>PriceDiscAdmTrans</c>
/// </remarks>
public void createPriceDiscAdmTrans(PriceDiscAdmTrans _fromPriceDiscAdmTrans, PriceDiscAdmTrans _toPriceDiscAdmTrans,
                                     PriceDiscJournalNum _journalNum, InventDimId inventDimId,
                                     SelectableDataArea _fromCompany)
{
    _toPriceDiscAdmTrans = this.updateToPriceDiscAdmTrans(_fromPriceDiscAdmTrans, _toPriceDiscAdmTrans, _fromCompany);

    _toPriceDiscAdmTrans.AccountCode             = _fromPriceDiscAdmTrans.AccountCode;
    _toPriceDiscAdmTrans.AccountRelation         = _fromPriceDiscAdmTrans.AccountRelation;
    _toPriceDiscAdmTrans.Agreement               = _fromPriceDiscAdmTrans.Agreement;
    _toPriceDiscAdmTrans.AllocateMarkup          = _fromPriceDiscAdmTrans.AllocateMarkup;
    _toPriceDiscAdmTrans.Amount                  = _fromPriceDiscAdmTrans.Amount;
    _toPriceDiscAdmTrans.CalendarDays            = _fromPriceDiscAdmTrans.CalendarDays;
    _toPriceDiscAdmTrans.Currency                = _fromPriceDiscAdmTrans.Currency;
    _toPriceDiscAdmTrans.DeliveryTime            = _fromPriceDiscAdmTrans.DeliveryTime;
    _toPriceDiscAdmTrans.FromDate                = _fromPriceDiscAdmTrans.FromDate;
    _toPriceDiscAdmTrans.GenericCurrency         = _fromPriceDiscAdmTrans.GenericCurrency;
    _toPriceDiscAdmTrans.InventDimId             = inventDimId;
    _toPriceDiscAdmTrans.ItemCode                = _fromPriceDiscAdmTrans.ItemCode;
    _toPriceDiscAdmTrans.ItemRelation            = _fromPriceDiscAdmTrans.ItemRelation;
    _toPriceDiscAdmTrans.JournalNum              = _journalNum;
    _toPriceDiscAdmTrans.Markup                  = _fromPriceDiscAdmTrans.Markup;
    _toPriceDiscAdmTrans.Module                  = _fromPriceDiscAdmTrans.Module;
    _toPriceDiscAdmTrans.Percent1                = _fromPriceDiscAdmTrans.Percent1;
    _toPriceDiscAdmTrans.Percent2                = _fromPriceDiscAdmTrans.Percent2;
    _toPriceDiscAdmTrans.PriceUnit               = _fromPriceDiscAdmTrans.PriceUnit;
    _toPriceDiscAdmTrans.QuantityAmountFrom      = _fromPriceDiscAdmTrans.QuantityAmountFrom;
    _toPriceDiscAdmTrans.QuantityAmountTo        = _fromPriceDiscAdmTrans.QuantityAmountTo;
    _toPriceDiscAdmTrans.Relation                = _fromPriceDiscAdmTrans.Relation;
    _toPriceDiscAdmTrans.SearchAgain             = _fromPriceDiscAdmTrans.SearchAgain;
    _toPriceDiscAdmTrans.ToDate                  = _fromPriceDiscAdmTrans.ToDate;
    _toPriceDiscAdmTrans.UnitId                  = _fromPriceDiscAdmTrans.UnitId;
    _toPriceDiscAdmTrans.DisregardLeadTime       = _fromPriceDiscAdmTrans.DisregardLeadTime;
    _toPriceDiscAdmTrans.InventBaileeFreeDays_RU = _fromPriceDiscAdmTrans.InventBaileeFreeDays_RU;
    _toPriceDiscAdmTrans.AgreementHeaderExt_RU   = _fromPriceDiscAdmTrans.AgreementHeaderExt_RU;
    _toPriceDiscAdmTrans.MaximumRetailPrice_IN   = _fromPriceDiscAdmTrans.MaximumRetailPrice_IN;
    _toPriceDiscAdmTrans.krfSalesOrderCategory   = _fromPriceDiscAdmTrans.krfSalesOrderCategory;
    _toPriceDiscAdmTrans.KRFMarkdownModel        = _fromPriceDiscAdmTrans.KRFMarkdownModel;
    _toPriceDiscAdmTrans.KRFMarkdownReason       = _fromPriceDiscAdmTrans.KRFMarkdownReason;
    _toPriceDiscAdmTrans.KRFIsMarkdown           = _fromPriceDiscAdmTrans.KRFIsMarkdown;
    _toPriceDiscAdmTrans.MustBeDeleted           = _fromPriceDiscAdmTrans.MustBeDeleted;
    // NS Developed by Aditi Gupta for TED_CS_FDD80_TradeAgreements on 1/18/2017 09:12:18 am
    _toPriceDiscAdmTrans.TEDRetailCategoryName   = _fromPriceDiscAdmTrans.TEDRetailCategoryName;
    _toPriceDiscAdmTrans.TEDItemName             = _fromPriceDiscAdmTrans.TEDItemName;
    // NE Developed by Aditi Gupta for TED_CS_FDD80_TradeAgreements on 1/18/2017 09:12:18 am
    recordList.add(_toPriceDiscAdmTrans);
}
tatic void idbExecutePricPriceDiscJourSvcJob(Args _args)
{
    // PricePrice Vars
    PricePriceDiscJournalService            PriceDiscSvc;
    PricePriceDiscJournal                   PriceDiscJour;
    PricePriceDiscJournal_PriceDiscAdmTrans PriceDiscJourAdmTrans;
    PricePriceDiscJournal_InventDim         PriceDiscJourDim;
   
    // keys return from create process
    AifEntityKeyList                        keys;
  
    PriceDiscSvc = PricePriceDiscJournalService::construct();
    PriceDiscJour = new PricePriceDiscJournal();
    PriceDiscJourAdmTrans = PriceDiscJour.createPriceDiscAdmTrans().addNew();
    PriceDiscJourDim = PriceDiscJourAdmTrans.createInventDim().addNew();

    // Set PriceDiscJourDim
    PriceDiscJourDim.parminventDimId("your dim id");

    // Set PriceDiscJourAdmTrans
   // PriceDiscJourAdmTrans.parmInventDim().add(PriceDiscJourDim);
    PriceDiscJourAdmTrans.parmItemRelation(InventTable::findByProduct( your product).ItemId);
    PriceDiscJourAdmTrans.parmItemCode(TableGroupAll::Table);
    PriceDiscJourAdmTrans.parmAmount(100.00);
    PriceDiscJourAdmTrans.parmFromDate(today());
    PriceDiscJourAdmTrans.parmAccountCode(TableGroupAll::All);
    PriceDiscJourAdmTrans.parmrelation(PriceType::PriceSales);
    PriceDiscJourAdmTrans.parmCurrency("USD");
   

    // Post PriceDiscJour
    keys = PriceDiscSvc.create(PriceDiscJour);
        }
    }
}



How ever , this will only create trade agreement .
If you want to post automatically, then you neeed to modify the "priceDiscAdmCheckPost" method of class


public void priceDiscAdmCheckPost()
{
    PriceDiscAdmCheckPost   priceDiscAdmCheckPost = new PriceDiscAdmCheckPost(false);//To make sure posting is happen

    if (initNoErrorsInInfolog == infolog.num(Exception::Error))
    {
        priceDiscAdmCheckPost.initJournalNum(priceDiscAdmTable.JournalNum);
        priceDiscAdmCheckPost.run();
    }
}

}