Sunday, 28 April 2019

Returning List in AIF Custom services

[
        SysEntryPointAttribute(true),
        AifCollectionTypeAttribute('return',Types::Class,classStr(BW_JournalDetailsContract))
    ]
    public List getJournalDetails(JournalId     _journalId)
    {
        InventJournalTable              inventJournalTable, inventJournalTableUpdate;
        InventJournalTrans              inventJournalTrans;
        List                            detailsList  =   new List(Types::Class);
        str                             valueCentre, subValueCentre, unitCode;
        String50                         msg;
     
        if (_journalId)
        {
            while select inventJournalTable
                join  inventJournalTrans
                where inventJournalTable.JournalId  ==  _journalId
                && inventJournalTrans.JournalId ==  inventJournalTable.JournalId
            {
                if(inventJournalTable.Posted    ==  NoYes::Yes)
                {
                    BW_JournalDetailsContract       journalDetailsContract  = new   BW_JournalDetailsContract();
                    valueCentre                     =   this.getValueCentre(inventJournalTrans.DefaultDimension);
                    subValueCentre                  =   this.getSubValueCentre(inventJournalTrans.DefaultDimension);
                    unitCode                        =   this.getUnitCode(inventJournalTrans.DefaultDimension);
                    msg                             =   strFmt("%1 Journal is Posted", _journalId);

                    journalDetailsContract.parmItemId(inventJournalTrans.ItemId);
                    journalDetailsContract.parmQty(inventJournalTrans.Qty);
                    journalDetailsContract.parmUser(inventJournalTable.PostedUserId);
                    journalDetailsContract.parmTransDateTime(inventJournalTable.PostedDateTime);
                    journalDetailsContract.parmvalueCentre(valueCentre);
                    journalDetailsContract.parmSubValueCentre(subValueCentre);
                    journalDetailsContract.parmunitCode(unitCode);
                    journalDetailsContract.parmMessage(msg);
                    detailsList.addEnd(journalDetailsContract);
                }
                else
                {
                    BW_JournalDetailsContract       journalDetailsContract  = new   BW_JournalDetailsContract();
                    msg = strFmt("%1 Journal is not posted", _journalId);
                    journalDetailsContract.parmMessage(msg);
                    detailsList.addEnd(msg);
                }
            }
        }
        else
        {
            BW_JournalDetailsContract       journalDetailsContract  = new   BW_JournalDetailsContract();
            msg = strFmt("%1 Journal is not available in database", _journalId);
            journalDetailsContract.parmMessage(msg);
            detailsList.addEnd(msg);
        }
        return detailsList;
    }

No comments:

Post a Comment