Preview:
[DataContractAttribute]
public class NW_POConfirmationContract
{
    str 25            RequestID;
    TransDate         RequestDate;
    PurchIdBase       PurchaseOrder;
    PurchRFQCaseId    RFQId;
    PurchReqId        PurchReqId;
    Email             Email;
    str 200           SubjectOrProjectTitle;
    str               PoReport;
    EcoResProductType ProductType;
    VendAccount       Supplier;
    DlvDate           DeliveryDate;
    NW_Attachement    Attachment;
    List              Lines;

    [DataMemberAttribute('RequestID')]
    public str ParmRequestID(str _RequestID = RequestID)
    {
        RequestID = _RequestID;
        return RequestID;
    }

    [DataMemberAttribute('RequestDate')]
    public TransDate ParmRequestDate(TransDate _RequestDate = RequestDate)
    {
        RequestDate = _RequestDate;
        return RequestDate;
    }

    [DataMemberAttribute('PurchaseOrder')]
    public PurchIdBase ParmPurchaseOrder(PurchIdBase _PurchaseOrder = PurchaseOrder)
    {
        PurchaseOrder = _PurchaseOrder;
        return PurchaseOrder;
    }

    [DataMemberAttribute('RFQId')]
    public PurchRFQCaseId ParmRFQId(PurchRFQCaseId _RFQId = RFQId)
    {
        RFQId = _RFQId;
        return RFQId;
    }

    [DataMemberAttribute('OfficialContactEmail')]
    public Email ParmOfficialContactEmail(Email _Email = Email)
    {
        Email = _Email;
        return Email;
    }

    [DataMemberAttribute('PurchReqId')]
    public PurchReqId ParmPurchReqId(PurchReqId _PurchReqId = PurchReqId)
    {
        PurchReqId = _PurchReqId;
        return PurchReqId;
    }

    [DataMemberAttribute('SubjectOrProjectTitle')]
    public str ParmSubjectOrProjectTitle(str _SubjectOrProjectTitle = SubjectOrProjectTitle)
    {
        SubjectOrProjectTitle = _SubjectOrProjectTitle;
        return SubjectOrProjectTitle;
    }

    [DataMemberAttribute('ProductType')]
    public EcoResProductType ParmProductType(EcoResProductType _ProductType = ProductType)
    {
        ProductType = _ProductType;
        return ProductType;
    }

    [DataMemberAttribute('Supplier')]
    public VendAccount ParmSupplier(VendAccount _Supplier = Supplier)
    {
        Supplier = _Supplier;
        return Supplier;
    }

    [DataMemberAttribute('DeliveryDate')]
    public DlvDate ParmDeliveryDate(DlvDate _DeliveryDate = DeliveryDate)
    {
        DeliveryDate = _DeliveryDate;
        return DeliveryDate;
    }

    [DataMemberAttribute('POReport')]
    public str ParmPoReport(str _PoReport = PoReport)
    {
        PoReport = _PoReport;
        return PoReport;
    }

    [DataMemberAttribute('Attachment')]
    public NW_Attachement ParmAttachment(NW_Attachement _Attachment = Attachment)
    {
        Attachment = _Attachment;
        return Attachment;
    }

    [DataMemberAttribute('Lines') , 
        AifCollectionType('Lines',Types::Class , classStr(NW_POConfirmationLinesContract))]
    public List ParmLines(List _Lines = Lines)
    {
        Lines = _Lines;
        return Lines;
    }

}

//---------------
 [AifCollectionTypeAttribute('return' , Types::Class , classStr(NW_POConfirmationContract))]
    public list GetPOConfirmation()
    {
        NW_POConfirmationHeader NW_POConfirmationHeader;
        NW_POConfirmationLines  NW_POConfirmationLines;
        List HeaderList;
        List LinesList;
        NW_POConfirmationContract       POContractRequest;
        NW_Attachement                  NW_Attachement;
        NW_POConfirmationLinesContract  POContractLines;

        List errors = new List(Types::String);
        HeaderList = new List(Types::Class);
        changecompany('SHC')
        {
            try
            {

                while select NW_POConfirmationHeader
                    where NW_POConfirmationHeader.IsConfirmedFromFO == NoYes::No && NW_POConfirmationHeader.IsConfirmedFromPortal == NoYes::No &&
                    NW_POConfirmationHeader.IsRejected == NoYes::No
                {
                    POContractRequest = new NW_POConfirmationContract();
                    NW_Attachement = new NW_Attachement();

                    POContractRequest.ParmRequestID(NW_POConfirmationHeader.RequestID);
                    POContractRequest.ParmRequestDate(NW_POConfirmationHeader.RequestDate);
                    POContractRequest.ParmPurchaseOrder(NW_POConfirmationHeader.PurchaseOrder);
                    POContractRequest.ParmRFQId(NW_POConfirmationHeader.RFQId);
                    POContractRequest.ParmPurchReqId(NW_POConfirmationHeader.PurchReqId);
                    POContractRequest.ParmSubjectOrProjectTitle(NW_POConfirmationHeader.SubjectOrProjectTitle);
                    POContractRequest.ParmProductType(NW_POConfirmationHeader.ProductType);
                    POContractRequest.ParmSupplier(NW_POConfirmationHeader.Supplier);
                    POContractRequest.ParmDeliveryDate(NW_POConfirmationHeader.DeliveryDate);
                    POContractRequest.ParmOfficialContactEmail(NW_POConfirmationHeader.OfficialContactEmail);
                    POContractRequest.ParmPoReport(NW_POConfirmationHeader.POReport);
                    NW_Attachement.ParmAttachment(NW_POConfirmationHeader.Attachment);
                    NW_Attachement.ParmFileName(NW_POConfirmationHeader.FileName);
                    NW_Attachement.ParmFileType(NW_POConfirmationHeader.FileType);
                    POContractRequest.ParmAttachment(NW_Attachement);

                    LinesList = new List(Types::Class);

                    while select NW_POConfirmationLines where NW_POConfirmationLines.RequestID == NW_POConfirmationHeader.RequestID
                    {
                        POContractLines = new NW_POConfirmationLinesContract();
                
                        POContractLines.ParmItemId(NW_POConfirmationLines.ItemId);
                        POContractLines.ParmDescription(NW_POConfirmationLines.Description);
                        POContractLines.ParmCategoryName(NW_POConfirmationLines.CategoryName);
                        POContractLines.ParmQuantity(NW_POConfirmationLines.Quantity);
                        POContractLines.ParmPurchUnit(NW_POConfirmationLines.PurchUnit);
                        POContractLines.ParmPrice(NW_POConfirmationLines.Price);
                        POContractLines.ParmCurrencyCode(NW_POConfirmationLines.CurrencyCode);
                        POContractLines.ParmTotalPrice(NW_POConfirmationLines.TotalPrice);
                        POContractLines.ParmDeliveryLocation(NW_POConfirmationLines.DeliveryLocation);
                        POContractLines.ParmTax(NW_POConfirmationLines.Tax);
                        POContractLines.ParmTotalOrderPrice(NW_POConfirmationLines.TotalOrderPrice);
                        POContractLines.ParmAdditionalNotes(NW_POConfirmationLines.AdditionalNotes);

                        LinesList.addEnd(POContractLines);
                    }
                    POContractRequest.ParmLines(LinesList);
                    HeaderList.addEnd(POContractRequest);
                }
            }
            catch
            {
                SysInfologEnumerator enumerator;
                SysInfologMessageStruct msgStruct;
 
                enumerator = SysInfologEnumerator::newData(infolog.cut());
 
                while(enumerator.moveNext())
                {
                    msgStruct = new SysInfologMessageStruct(enumerator.currentMessage());
 
                    errors.addEnd(msgStruct.message());
                    HeaderList.addEnd(errors);
                }
            }
        }
        return HeaderList;
    }
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter