Tuesday, January 8, 2019

Class Executing the Form Values to insert and updating every time opening the form in list page

class ASAP_SalesOrder_Infolog
{

}
------------

public static void main(Args args)
{
    SalesTable              SalesTableInfo, SalesLocal , salesTable;
    SalesLine               salesLine;
    SalesId                 salesId , currentSalesId;
    ASAP_SalesStatus_Info   ASAP_SalesStatus_Info, infoLocalTable,validateLocalInfo;
    DataAreaId              companyId,localCompanyId;
    int                     i = 0;

    if (args.dataset() == tableNum(SalesTable))
    {
        SalesLocal     =   args.record();

        salesId     = SalesLocal.SalesId;

        select ASAP_SalesStatus_Info
         where ASAP_SalesStatus_Info.SalesId == salesId ;

        if(ASAP_SalesStatus_Info.SalesId !=salesId)
        {

          while select crossCompany SalesTableInfo
            where SalesTableInfo.salesId == salesId
                {
                    ASAP_SalesStatus_Info.clear();
                    ASAP_SalesStatus_Info.SalesId      = SalesTableInfo.salesId;
                    ASAP_SalesStatus_Info.DataArea     = strUpr(SalesTableInfo.dataAreaId);
                    ASAP_SalesStatus_Info.SalesStatus  = SalesTableInfo.SalesStatus;
                    ASAP_SalesStatus_Info.IsInserted   = NoYes::Yes;
                    ASAP_SalesStatus_Info.Approval     = NoYes::No;
                    ASAP_SalesStatus_Info.IsGenerated  = i + 1;

                    ASAP_SalesStatus_Info.insert();

                    i++;

                }
        }

      while select crossCompany salesTable
           where salesTable.salesId == salesId
           {
            while select forupdate ASAP_SalesStatus_Info
                order by ASAP_SalesStatus_Info.DataArea
                    where ASAP_SalesStatus_Info.SalesId == salesTable.salesId
                {
                    changeCompany(salesTable.dataAreaId)
                    {
                        if(ASAP_SalesStatus_Info.DataArea == salesTable.dataAreaId)
                        {
                         ttsBegin;

                         ASAP_SalesStatus_Info.SalesStatus  = salesTable.SalesStatus;
                         ASAP_SalesStatus_Info.Update();

                         ttsCommit;
                        }
                    }
                }

            }


   ttsBegin;
       while select crossCompany SalesTable where SalesTable.salesId == salesId
        {
          select infoLocalTable
             order by infoLocalTable.DataArea
               where infoLocalTable.salesId == SalesTable.salesId;
                {
                 changeCompany(SalesTable.dataAreaId)
                    {
                       companyId      = strUpr(salesTable.dataAreaId);
                       localCompanyId = strUpr(infoLocalTable.DataArea);

                       select infoLocalTable  where  infoLocalTable.DataArea != companyId;
                         {
                             select  validateLocalInfo where validateLocalInfo.SalesId == SalesTable.salesId//infoLocalTable.SalesId
                             && validateLocalInfo.DataArea == SalesTable.dataAreaId;
                             if(!validateLocalInfo)
                             {
                                validateLocalInfo.clear();
                                validateLocalInfo.SalesId      = SalesTable.salesId;
                                validateLocalInfo.SalesStatus  = SalesTable.SalesStatus;
                                validateLocalInfo.IsInserted   = NoYes::Yes;
                                validateLocalInfo.Approval     = NoYes::No;
                                validateLocalInfo.DataArea     = companyId;
                                validateLocalInfo.insert();
                             }

                        }
                     }
                }

           }

        ttsCommit;

    }

   new MenuFunction(MenuItemDisplayStr(ASAP_SalesOrder_Status),MenuItemType::Display).run(Args);
}



No comments:

Post a Comment