# BPM Code to create RFQ Sugg issue

**URL:** <https://www.epiusers.help/t/bpm-code-to-create-rfq-sugg-issue/110151>\
**Category:** Epicor ERP 10\
**Tags:** e10, bpm\
**Created:** [December 19, 2023, 8:30pm UTC](https://www.epiusers.help/t/bpm-code-to-create-rfq-sugg-issue/110151 "2023-12-19T20:30:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jakepielage](https://www.epiusers.help/user_avatar/www.epiusers.help/jakepielage/32/88261_2.png) [@jakepielage](https://www.epiusers.help/u/jakepielage)\
**Post date:** [December 19, 2023, 8:30pm UTC](https://www.epiusers.help/t/bpm-code-to-create-rfq-sugg-issue/110151/1 "2023-12-19T20:30:39Z")

</div>

Having a lot of trouble creating a simple code block to create a RFQ Sugg. Not a RFQ PO Sugg. It won’t save to the database. I looked at the contract xml file to see if I’m missing any requirements. I’ve tried in post and pre proc.

```cs

try
{
    using (var rfqSuggService = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.RFQSuggSvcContract>(Db))
    {
        Erp.Tablesets.RFQSuggTableset rfqSuggTableset = new Erp.Tablesets.RFQSuggTableset();

        
        rfqSuggService.GetNewRFQSugg(ref rfqSuggTableset);
        rfqSuggTableset.RFQSugg[0].Company = "TEST";
        rfqSuggTableset.RFQSugg[0].PartNum = "113028";
        rfqSuggService.Update(ref rfqSuggTableset);
        
       // rfqSuggTableset.RFQSugg[0].SugNum = 10;
       // rfqSuggTableset.RFQSugg[0].BuyerID = "JDP";
        //rfqSuggTableset.RFQSugg[0].RowMod = "A";
        
        //rfqSuggTableset.RFQSugg[0].LineDesc = "HI";
        rfqSuggTableset.RFQSugg[0].PartNum = "113028";
        rfqSuggTableset.RFQSugg[0].IUM = "LB";
        rfqSuggTableset.RFQSugg[0].QuoteNum = 0;
        rfqSuggTableset.RFQSugg[0].QuoteLine = 0;
        rfqSuggTableset.RFQSugg[0].RFQVendQuotes = 1;
        rfqSuggTableset.RFQSugg[0].ProcessRFQ = false;
        rfqSuggTableset.RFQSugg[0].RcvInspectionReq = false;
        
      
        // Set other values...

        // Submit the changes to the server
        rfqSuggService.Update(ref rfqSuggTableset);
        Db.Validate();
        Console.WriteLine("Update successful");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

```

OR

```cs

var SUGG = Ice.Assemblies.ServiceRenderer.GetService<Erp.Proxy.BO.RFQSuggImpl>(Db);
Erp.BO.RFQSuggDataSet SUGGTs = new Erp.BO.RFQSuggDataSet();
SUGG.GetNewRFQSugg(SUGGTs);
SUGGTs.RFQSugg[0].PartNum = "113028";
SUGGTs.RFQSugg[0].LineDesc = "GH1234";
SUGGTs.RFQSugg[0].IUM = "LB";

SUGG.Update(SUGGTs);

```

End Goal would be to loop through BAQ results prior to code block and create a new RFQ Sugg entry for each one. Im not necessarily looking to create an actual RFQ num. Just a Sugg Num.

```cs

string PartNum = string.Empty;
string LineDesc = string.Empty;
string IUM = string.Empty;
string RevisionNum = string.Empty;

try
{
    if (BAQ.Tables[0] != null)
    {
        using (var boSuggService = Ice.Assemblies.ServiceRenderer.GetService<Erp.Proxy.BO.RFQSuggImpl>(Db))
        {
            Erp.BO.RFQSuggDataSet SUGG = new Erp.BO.RFQSuggDataSet();

            foreach (DataRow baqRow in BAQ.Tables[0].Rows)
            {
                // Get a new RFQHead for each row
                boSuggService.GetNewRFQSugg(SUGG);

                // Set common values for all items in RFQHead
                //SUGG.RFQSugg[0].SugNum = 100;
                SUGG.RFQSugg[0].BuyerID = "JDP";
                SUGG.RFQSugg[0].RowMod = "A";
                SUGG.RFQSugg[0].Company = "TEST";
                
                SUGG.RFQSugg[0].ReqNum = 0;
                SUGG.RFQSugg[0].ReqLine = 0;
                SUGG.RFQSugg[0].GlbQuoteQuoted = false;
                SUGG.RFQSugg[0].GlbJobProdQty = 0;
                SUGG.RFQSugg[0].RequiredQty = 1;
                SUGG.RFQSugg[0].RcvInspectionReq = false;
                SUGG.RFQSugg[0].GlbSuggestion = false;
                SUGG.RFQSugg[0].QtyList = "1.00";
                SUGG.RFQSugg[0].ProcessRFQ = false;     
                SUGG.RFQSugg[0].RFQVendQuotes = 4;                  
                
                // Use the outer scope PartNum and LineDesc
                PartNum = baqRow["VendPart_PartNum"].ToString();
                LineDesc = baqRow["Part_PartDescription"].ToString();
                IUM = baqRow["Part_IUM"].ToString();
                RevisionNum = baqRow["PartRev_RevisionNum"].ToString();

                // Set values specific to each RFQHead using variables from BAQ
               SUGG.RFQSugg[0].CommentText = LineDesc;
               SUGG.RFQSugg[0].IUM = PartNum;
               SUGG.RFQSugg[0].PartNum = PartNum;

                // Submit the changes to the server for each row
                boSuggService.Update(SUGG);
                
                    Console.WriteLine("Update Response: Update successful");

            }
        }
    }
}
catch (Exception ex)
{
    Console.WriteLine("Error: " + ex.Message);
}

```

---

<div class="post-metadata">

**Author:** ![Banderson](https://www.epiusers.help/user_avatar/www.epiusers.help/banderson/32/50875_2.png) [@Banderson](https://www.epiusers.help/u/Banderson)\
**Post date:** [December 19, 2023, 9:05pm UTC](https://www.epiusers.help/t/bpm-code-to-create-rfq-sugg-issue/110151/2 "2023-12-19T21:05:27Z")

</div>

I don’t see you setting a row mod anywhere. Have you checked to see if that’s set correctly?

---

<div class="post-metadata">

**Author:** ![jakepielage](https://www.epiusers.help/user_avatar/www.epiusers.help/jakepielage/32/88261_2.png) [@jakepielage](https://www.epiusers.help/u/jakepielage)\
**Post date:** [December 19, 2023, 9:14pm UTC](https://www.epiusers.help/t/bpm-code-to-create-rfq-sugg-issue/110151/3 "2023-12-19T21:14:42Z")

</div>

I added in Row mod A but its still not sticking.

Company, PartNum, RequiredQty, RowMode = “A”

---

<div class="post-metadata">

**Author:** ![jakepielage](https://www.epiusers.help/user_avatar/www.epiusers.help/jakepielage/32/88261_2.png) [@jakepielage](https://www.epiusers.help/u/jakepielage)\
**Post date:** [December 19, 2023, 9:43pm UTC](https://www.epiusers.help/t/bpm-code-to-create-rfq-sugg-issue/110151/4 "2023-12-19T21:43:20Z")

</div>

Got an error somewhere trying to use the BO widget. Seems these are our requirements?

SugNum is required.  
Description is required.  
Part is required.  
Class is required.  
Job is required.  
Quote is required.  
Line is required.  
Asm is required.  
Supplier Number is required.

Exception caught in: Epicor.ServiceModel
