Update BPAddresses using B1WS

I am trying to update BPAddresses records using B1WS.  It works fine for some Business Partners, but for others I get the following error message:
"10001166 - Items"
I can't see any obvious reason for the difference.  I have also tried sending my own message to DI Server, but with the same result.  I am using B1WS 1.1 and Business One 8.8.
Has anyone else experienced this, or have any idea what could be causing it?

Dear Stephen,
We had the same problem.
I have tried (in test environment) to set the SPGCounter, but I do not know how this is calculated.
Is this increased everytime you update the discounts manually in SAP B1?
Kind regards
Bart

Similar Messages

  • How to update sales orders using B1WS in SAP 8.8 PL18

    Hello all.
    We are having a problem updating sales orders using Sap Business One Web Service ( B1WS ).
    We are running SBO 8.8 PL18, MS-SQL 2008, and all is fine when using the SBO client.
    But when it comes to updating sales orders through B1WS we just cannot get it to work.
    We can add new orders easily without problems. Updating orders always gives this error:
    \[ORDR.PayDuMonth\]\[line: 0\] , 'Field cannot be updated (ODBC -1029)'
    We have checked and verified multiple times that our setup is correct.
    Also the WDSL files are verified.
    We can update orders just fine using the sboclient.
    And using B1WS we can basically do everything, besides updating.
    We have also tried this on different company db's, so we are quite sure this is not
    something related to some general setting we missed, but who knows?
    We have tried different ways to "assemble" the order before updating, but it always
    ends with the above error.
    Here is an example of one of the tests, where we load an order by docentry,
    increment the quantity of all open lines by '1', and then try to update it.
            protected void Page_Load(object sender, EventArgs e)
                // First we login
                string sessionId = "";
                LoginService.LoginService l_login = new LoginService.LoginService();
                LoginService.LoginDatabaseType l_dbtype = LoginService.LoginDatabaseType.dst_MSSQL2008;
                LoginService.LoginLanguage _lang = LoginService.LoginLanguage.ln_English;
                string _server = "SAP-8_8PL18";
                string _licserver = "SAP-8_8PL18:30000";
                string _db = "my_test_company";
                string _user = "manager";
                string _pass = "********";
                try
                    sessionId = l_login.Login(_server, _db, l_dbtype, true, _user, _pass,
                               _lang, true, _licserver);
                catch (Exception ex)
                    Response.Clear();
                    Response.Write(ex.Message);
                    Response.End();
                if (sessionId == "")
                    Response.Clear();
                    Response.Write("No sessionId");
                    Response.End();
                // We are logged in and have a sessionId
                // Now load a valid open order by docentry
                try
                    OrdersServiceRef.OrdersService orderService = new OrdersServiceRef.OrdersService();
                    orderService.MsgHeaderValue = new OrdersServiceRef.MsgHeader();
                    orderService.MsgHeaderValue.SessionID = sessionId;
                    orderService.MsgHeaderValue.ServiceName = OrdersServiceRef.MsgHeaderServiceName.OrdersService;
                    orderService.MsgHeaderValue.ServiceNameSpecified = true;
                    OrdersServiceRef.DocumentParams docParams = new OrdersServiceRef.DocumentParams();
                    docParams.DocEntry = 31; // Docentry of a known open order
                    docParams.DocEntrySpecified = true;
                    OrdersServiceRef.Document order = orderService.GetByParams(docParams);
                    OrdersServiceRef.DocumentDocumentLine line = null;
                    for (int i = 0; i < order.DocumentLines.Length; i++)
                        line = order.DocumentLines<i>;
                        if (line.LineStatus == OrdersServiceRef.DocumentDocumentLineLineStatus.bost_Open)
                            line.Quantity += 1;
                    orderService.Update(order);
                catch (System.Web.Services.Protocols.SoapException ex)
                    Response.Clear();
                    Response.Write(ex.Message);
                    Response.End();
                catch (Exception ex)
                    Response.Clear();
                    Response.Write(ex.Message);
                    Response.End();
                Response.Clear();
                Response.Write("All OK");
                Response.End();
    I hope that someone has an idea as to why this happens.
    The customer often changes quantity or adds lines on their orders,
    and the only way to solve it so far has been to make a new order and
    close the old one.
    Thanks in advance
    J. Thomsen

    Hi,
    Welcome you post on the forum.
    Have you checked if you only update a specific line instead of a loop?
    Thanks,
    Gordon

  • Update BPAddresses with DI-Server

    I try to Update the BPAddresses , with the CRD1.LineNum 0 is correct the update, but with CRD1.LineNum 1 not working.
    error LineNum 1:
    This entry already exists in the following tables (ODBC -2035)
    ObjectCode: oBusinessPartners
    strQueryParams:<CardCode>CV108070</CardCode>
    strUpdateData:<BPAddresses><row><AddressName>ShippingAddress 2</AddressName><City>Ciudad666</City></row></BPAddresses>
    result is correct, the data is Updated.
    <BPAddresses><row><AddressName>AA</AddressName><City>Ciudad666</City></row></BPAddresses>
    result is ERROR
    Linenum 0 AddressName = "ShippingAddress 2"
    LineNum 1 AddressName = "AA"
    SBO 2007
    Thanks in advance
    Jorge

    Make your life easier. Use B1WS. See:
    Error by connecting DI Server

  • Updating item via B1WS

    Hi all,
    I'm trying to update an item via ItemsService and i'm getting the error ODBC -2035 related with "item exists".
    I'm using this code:
                bool updated = false;
                try
                    ItemsService.ItemsService itemServ = new LogisticPda.ItemsService.ItemsService();
                    ItemsService.MsgHeader cabServ = new MsgHeader();
                    cabServ.SessionID = sessionId;
                    cabServ.ServiceName = MsgHeaderServiceName.ItemsService;
                    cabServ.ServiceNameSpecified = true;
                    itemServ.MsgHeaderValue = cabServ;
                    ItemParams pars = new ItemParams();
                    pars.ItemCode = itemCode;
                    Item item = itemServ.GetByParams(pars);
                    if (item != null)
                        item.U_ITOP_Ubi = ubi;
                        itemServ.Update(item);
                        updated = true;
                catch (Exception ex)
                    string msj = ex.Message;
    I know that the item exists but i want to update it using "Update(item)" method. SAP BO 2007 A SP01 PL06.
    Regards,

    Hi Nauzet,
    Some questions to try to find out where the problem comes from:
    1. Have you tried to do the same Update operation but changing another parameter in the Item (not a UDF)?
    2. If you work without UDFs, does the Item Update work fine with B1WS?
    There is a sample provided with B1WS doing an update on an item, maybe you can test if the sample works fine in your current version.
    3. Which fields are you filling inside the Item object? Mabye there is a similar problem as for the BPs we discovered sometime ago (Re: Update Business Partner via SAP Business One Webservices).
    Once you have find out the exact scenario to reproduce the problem please let me know, I have an 8.8 version I can try with to see if it has been fixed in 8.8 or not.
    Regards
    Trinidad.

  • Loading complex report data into a direct update DSO using APD

    Dear All,
    Recently, I had a requirement to download the report data into a direct update DSO using an APD. I was able to perform this easily when the report was simple i.e it has few rows and columns. But I faced problems If the report is a complex one. Summing up, I would like to know how to handle the scenarios in each of the following cases:
    1.   How should I decide the key fields and data fields of the direct update DSO ? Is it that the elements in ROWS will go to the
          key fields of DSO and the remaining to the data fields? Correct me.
    2.   What if the report contains the Restricted KFs and Calculated KFs? Do I have to create separate infoobjects in the BI
          system and then include these in the DSO data fields to accommodate the extracted data ?
    3.   How do I handle the Free Characteristics and Filters ?
    4.  Moreover, I observed that if the report contains selection screen variables, then I need to create variants in the report and
         use that variant in the APD. So, if I have 10 sets of users executing the same report with different selection conditions, then
         shall I need to create 10 different variants and pass those into 10 different APDs, all created for the same report ?
    I would appreciate if someone can answer my questions clearly.
    Regards,
    D. Srinivas Rao

    Hi ,
    PFB the answers.
    1. How should I decide the key fields and data fields of the direct update DSO ? Is it that the elements in ROWS will go to the
    key fields of DSO and the remaining to the data fields? Correct me.
    --- Yes , you can use the elements in the ROWS in the Key fields,  but in case you get two records with same value in the ROWS element the data load will fail. So you basically need to have one value that would be different for each record.
    2. What if the report contains the Restricted KFs and Calculated KFs? Do I have to create separate infoobjects in the BI
    system and then include these in the DSO data fields to accommodate the extracted data ?
    Yes you would need to create new Infoobjects for the CKF's and RKF's in the Report and include them in your DSO.
    3. How do I handle the Free Characteristics and Filters ?
    The default filters work in the same way as when you yourself execute the reoprt. But you cannot use the Free characterisitics in the APD. only the ROWS and cloumns element which are in default layout can be used.
    4. Moreover, I observed that if the report contains selection screen variables, then I need to create variants in the report and
    use that variant in the APD. So, if I have 10 sets of users executing the same report with different selection conditions, then
    shall I need to create 10 different variants and pass those into 10 different APDs, all created for the same report ?
    --- Yes you would need to create 10 different APD's. Its very simple to create, you can copy an APD. but it would be for sure a maintance issue. you would have to maintain 10 APD's.
    Please revert in case of any further queries.

  • How to send an updated list using batch job

    Hi All,
      The program displays data on the screen, if the data looks ok, then there is an option to update.
    When I run update, the program submits a batch job and the basic list gets updated, but my batch job is still sending the data on the screen. how can i send the updated list using batch job.
      Ex: output of the program
                    1         2
           there is an update button on the screen, when i press update button, my program submits in batch job, the above list becomes
                    1        2
                    3        4
    but when i check the spool, it shows the o/p as         1           2 ..it is not sending the updated list.
    Please suggest me how to send the updated data
    Thanks,
    Kumar

    Hi Krishna,
      I have added a button on the alv list. when i press update button, my program updates the list, then submits the batch job. I am attaching the sample test program i am trying with, please suggest me how can i get the updated list.
    *& Report  ZTESTSSSSS
    REPORT  ZTESTSSSSS.
    DATA: gt_fieldcat TYPE slis_fieldcat_alv,
          lt_fieldcat type slis_t_fieldcat_alv,
          gt_sort     TYPE slis_t_sortinfo_alv,
          g_repid     LIKE sy-repid,
          gt_layout   TYPE slis_layout_alv.
    start-of-selection.
      lt_return-type = 'S'.
      lt_return-message = 'test message'.
      append lt_return.
      CLEAR gt_fieldcat.
      gt_fieldcat-fieldname = 'TYPE'.
      gt_fieldcat-outputlen = '3'.
      gt_fieldcat-tabname   = 'LT_RETURN'.
      gt_fieldcat-seltext_l  =  'Type'.
      gt_fieldcat-seltext_m  =  'Type'.
      gt_fieldcat-seltext_s  =  'Type'.
      APPEND gt_fieldcat TO lt_fieldcat.
      CLEAR gt_fieldcat.
      gt_fieldcat-fieldname = 'MESSAGE'.
      gt_fieldcat-outputlen = '15'.
      gt_fieldcat-tabname   = 'LT_RETURN'.
      gt_fieldcat-seltext_l  =  'Message'.
      gt_fieldcat-seltext_m  =  'Message'.
      gt_fieldcat-seltext_s  =  'Message'.
      APPEND gt_fieldcat TO lt_fieldcat.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM       = sy-repid
          I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
          I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
          IT_FIELDCAT              = lt_fieldcat
        TABLES
          T_OUTTAB                 = lt_return
        EXCEPTIONS
          PROGRAM_ERROR            = 1
          OTHERS                   = 2.
    *&      Form  set_pf_status
          text
         -->RT_EXTAB   text
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'STANDARD'.
    ENDFORM. "Set_pf_status
    *&      Form  user_command
          text
         -->R_UCOMM      text
         -->RS_SELFIELD  text
    FORM user_command USING r_ucomm     LIKE sy-ucomm
                            rs_selfield TYPE slis_selfield.
      DATA: li_count TYPE I.
      IF r_ucomm EQ 'UPD'.
    Adding another message
        lt_return-type = 'S'.
        lt_return-message = 'Another test message'.
        APPEND lt_return.
        rs_selfield-refresh = 'X'.
        rs_selfield-col_stable = 'X'.
        rs_selfield-row_stable = 'X'.
        l_upd = 'X'.
       LOOP AT lt_return.
         WRITE: / lt_return-type, lt_return-message.
       ENDLOOP.
        IF sy-batch IS INITIAL.
          l_upd = 'X'.
    Open the Job
          CALL FUNCTION 'JOB_OPEN'
            EXPORTING
              jobname          = w_name
            IMPORTING
              jobcount         = w_number
            EXCEPTIONS
              cant_create_job  = 1
              invalid_job_data = 2
              jobname_missing  = 3
              OTHERS           = 4.
          IF sy-subrc = 0.
            SUBMIT ('ZTESTSSSSS') VIA JOB w_name NUMBER w_number
                    AND RETURN
                    WITH p_recnnr = p_recnnr.
            CALL FUNCTION 'JOB_CLOSE'
              EXPORTING
                jobcount             = w_number
                jobname              = w_name
                strtimmed            = 'X'
              EXCEPTIONS
                cant_start_immediate = 1
                invalid_startdate    = 2
                jobname_missing      = 3
                job_close_failed     = 4
                job_nosteps          = 5
                job_notex            = 6
                lock_failed          = 7
                OTHERS               = 8.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.  "User_command
    Thanks,
    Kumar

  • TS1702 Changed my email (also Apple ID) and have a new iPad, now I can't update or use any of the apps that I purchased on my old iPad because it wants to use my old email (ID) how do I fix this. I have spent a lot of money of these apps!

    I changed my email address, which in turn, changed my Apple ID. I changed the settings of my iPad and things were fine for me, but my husband shares a few apps with me and isn't able to update or use any of those apps now. The change doesn't work for him. 
    Now, I got a new iPad mini and I'm having the same problem. I have purchased many apps which I can't use now. I have a lot of work documents saved to them too.
    Is there anyway that both husband and I can change the setting so we can access the apps we have already purchased?

    You have to be signed into the correct Apple ID in order to download those purchases again for free.
    Settings>iTunes & App Store. Tap the old ID and sign out, then sign in with the new/changed ID.

  • Add fields to maintenance view and update then using events

    Hi experts:
      I've created a table with 4 fields, one of them is userid. Also, there is a maintenance view to add new entries.
      I want to display user name when typing userid using events (1 or 21). I know how to do it if username is one of the fields of the table, but there is a requirement to not store username in the table, just userid.
    My question is: is possible to add a field into the maintenance view and update it using events but not store the value in DB?.
    Thanks in advance for your help.
    Regards,
    Carlos.

    In the save event just clear the entries of the field(user name) in the internal table.

  • How to add a new record in updatable report using apex_item

    Hi,
    i am using an updatable report using the following select
    select
    aPEX_ITEM.POPUP_FROM_QUERY(2,emp_code,
    ' SELECT emp_surname, emp_code FROM hrm_employee ' ,null,null,null,null,null,'onchange="f_set_multi_items_tabular(this.value ''#ROWNUM#'''
    || ')"',null,null,null) PF_No,
    apex_item.text (32,
    NULL,
    80,
    100,
    'style="width:190px" ',
    'f11_' || '#ROWNUM#'
    ) Name,
    " REST_DATE",
    "REMARKS",
    from "roster"
    when i click on the button add row , only the column rest_date and the remarks are enable.
    why is the apex_item.text and apex_item_popup_from_query is disable ? and how i can make it enable.
    thanks
    regards
    jerry

    I could see that you are using the addRow() function to generate new blank row.
    I guess, this function(used by the builtin tabular form s) , identifies editable columns when they are marked so at the report column attributes.
    When you use apex_item API, it expects the columns to be standard report column and hence render the new rows as such.
    Some one from the development team might be able to give a better answer on that.
    As for avoiding this issue
    <li>One method , would be to define the columns editable(and display types) in report column attributes.
    <li> You can duplicate the last row using jQuery( *$('tr.highlight-row:last).after( $('tr.highlight-row:last).clone() )* ) and removing the field values, but events(for example datepicker) would remain attached to the original row , so it isn't very straightforward either.
    <li>If you want to use apex_item you would have to use a pseudo union to DUAL for generating a blank row and re-render the report either by a page load or a Dynamic Action. Sounds like a nice idea for a plugin.
    Now , if you want to add rows multiple times without saving them, then you would need to store the values in a collection at load and update the collection before adding the row.

  • Error in updating pricing using BAPI_QUOTATION_CREATEFROMDATA2

    Hi,
        I am using the BAPI function module BAPI_QUOTATION_CREATEFROMDATA2. I am calling BAPI_TRANSACTION_COMMIT subsequently
    I need to change an existing pricing condition ZMLT which is
    automatically determined by the config while creating a sales quotation
    Also I need to add ZFR1 and ZFR2 which are 2 freight condition types
    (Condition Class = 'F')
    Case 1
    If I set the LOGIC-SWITCH-COND_HANDL = 'X', then I can correctly update
    ZMLT using CONDITIONS_IN parameter, but I can't update ZFR1 and ZFR2
    since they are freight condition types (as per Note 593246)
    Case 2
    If I set LOGIC-SWITCH-COND_HANDL = ' ', then I can correctly update
    ZFR1 and ZFR2 freight condition types using the parameters
    CONDITIONS_IN and CONDITIONS_INX. But when I try to update ZMLT, it
    deactivates the existing line in the pricing and adds a new line with
    same condition type ZMLT. Why does it do this...?
    Here are the parameters that I am using as per Note 593246, Point 4
    CONDITIONS_IN-ITM_NUMBER = '000010'
    CONDITIONS_IN-COND_COUNT = '01'
    CONDITIONS_IN-COND_TYPE  = 'ZMLT'
    CONDITIONS_IN-COND_VALUE = 12.00
    CONDITIONS_IN-CURRENCY = ' '   (This is a percentage)
    CONDITIONS_INX-ITM_NUMBER = '000010'
    CONDITIONS_INX-COND_COUNT = '01'
    CONDITIONS_INX-COND_TYPE  = 'ZMLT'
    CONDITIONS_INX-UPDATEFLAG = 'U'
    CONDITIONS_INX-COND_VALUE = 'X'
    CONDITIONS_INX-CURRENCY = 'X'
       Please advise on this. Although the Total Value in the pricing is
    correctly updated, why does it deactivate one line and insert a new one
    for the same condition type.
       Please note that my requirement is to add condition types ZFR1, ZFR2
    and update ZMLT
    Thanks and Regards,
    Aditya Palekar

    Hi!
    You have very well prepared this example!
    ...and you analyzed it completely, this behavior is just the restriction you have to live with.
    Old style condition handling couldn't change values, so workaround with adding new line and inactive existing line was done. New condition handling has restrictions, too - so no freights.
    Why does it do this... it's a buggy feature or whatever you would like to call it. At least it was done by purpose, what internal reasons lead to this, I can't say.
    One workaround would be possible for you: create quotation with cond_handl = A, change afterwards with cond_handl = B.
    If you start with A = X and B = space or A = space and B = X should be the same in the end.
    Regards,
    Christian

  • Error while updating data using session and call transaction method

    Hi all,
        i have to update data using MM01 transaction from flat file to database.i have used both session method and call transaction method to do that.in both the methods data has been transferred from internal tables to screens but while updating the data that is by clicking the ok-code at the end of the transaction iam getting a dialogue box stating
       SAP EXPRESS DOCUMENT "UPDATE WAS TERMINATED" RECEIVED FROM AUTHOR "SAP".
      please tell whether the problem lies and solution for that.
                                       thanks and regards.

    hi,
    check your recording.check whether u saved your material no in recording or not.
    once again record the transacton mm01.
           MATNR LIKE RMMG1-MATNR,
           MBRSH LIKE RMMG1-MBRSH,
           MTART LIKE RMMG1-MTART,
           MAKTX LIKE MAKT-MAKTX,
           MEINS LIKE MARA-MEINS,
           MATKL LIKE MARA-MATKL,
           BISMT LIKE MARA-BISMT,
           EXTWG LIKE MARA-EXTWG,
    these are the fields which u have to take in internal table.
    this is the record which i took in my flatfile.use filetype as asc and hasfieldseperator as 'X'.
    SUDHU-6     R     ROH     MATSUDHU     "     001     7890     AA
    i did the same.but i didn't get any error.

  • Write an UPdate statement using the logic used in PL/SQL block (oracle 10g)

    Hi All,
    I have written the following PL/SQL block. I want to write an UPDATE statement using the logic used in the following PL/SQL block. can any one please help me out in this regards.
    DECLARE
       v_hoov_fag   gor_gold_post.hoov_flg%TYPE;
       v_b49n          gor_gold_post.b49n%TYPE;
       CURSOR c
       IS
          SELECT bs_id, loyalty_date, loyalty_period, contract_date
            FROM gor_gold_post
           WHERE tariff_code IN (169, 135, 136);
    BEGIN
       FOR rec IN c
       LOOP
          IF    (TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
                        - SYSDATE) < 304
             OR (    TRUNC (  ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
                            - SYSDATE
                           ) IS NULL
                 AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2
          THEN
             v_hoov_flg := 1;
          ELSE
             v_hoover_flag := 99;
          END IF;
          IF    (TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
                        - SYSDATE) < 121.6
             OR (    TRUNC (  ADD_MONTHS (rec.loyalty_date, rec.loyalty_period)
                            - SYSDATE
                           ) IS NULL
                 AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2
          THEN
             v_b49n := 1;
          ELSE
             v_b49n := 99;
          END IF;
          UPDATE gor_gold_post
             SET hoov_flg = v_hoov_flg,
                 b49n = v_b49n
           WHERE bs_id = rec.bs_id AND tariff_code IN (169, 135, 136);
          COMMIT;
       END LOOP;
    END;Thank you,

    Using case statement.
    UPDATE gor_gold_post
       SET hoov_flag = CASE WHEN TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) < 304
                                   OR
                                   (TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) IS NULL
                                AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2)
                           THEN 1
                           ELSE 99
                         END,
           b49n      = CASE WHEN TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) < 121.6
                             OR
                             (TRUNC (ADD_MONTHS (rec.loyalty_date, rec.loyalty_period) - SYSDATE) IS NULL
                                AND (SYSDATE - TO_DATE (rec.contract_date, 'YYYYMMDD')) > 91.2)
                           THEN 1
                           ELSE 99
                         END
    WHERE tariff_code IN (169, 135, 136);Note: Code not tested.

  • How to add Purchase Order entry using B1WS?

    Hi,
    I have implemented B1WS in DI server, I am trying to add purchase order entry, but after adding it via B1WS, I am not able to find entry in SAP;
    My code using B1WS:
    public void SAPPurchaseOrder(string _SID)
                _PIService = new PurchaseInvoicesService();
                Document doc = new Document();
                doc.Address ="ab";
                doc.AgentCode = "ab";
                doc.BaseAmountSCSpecified = false;
                doc.CardCode = "VEND7";
                doc.CardName = "Baker & Taylor";
                doc.DocDate = DateTime.Now.Date;
                doc.CreationDate = DateTime.Now.Date;
                doc.DocType = DocumentDocType.dDocument_Items;
                doc.DocumentStatus = DocumentDocumentStatus.bost_Open;
                doc.BaseAmount = 100000;
                doc.DocCurrency = "USD";
                MsgHeader msgHeader = new MsgHeader();
                msgHeader.SessionID = _SID;
                msgHeader.ServiceName = MsgHeaderServiceName.PurchaseInvoicesService;
                msgHeader.ServiceNameSpecified = true;
                _PIService.MsgHeaderValue = msgHeader;
                _PIService.Add(doc);
    Also, I found error while I have use "ADD FUNCTION" as;
    can not empty list of tables, doc1, doc3 and doc10
    Please suggest me a proper entry flow or code to implement.
    Thank you.
    Piyush
    (Rob IT team - Parabox Media Group)

    Hello,
    Just like DI API, you need add doc lines to purcahse order, here is a sample to add a purchase order.
    Public Function Add() As DocumentParams
                Dim myPOParams As DocumentParams = Nothing
                Try               
                    ' Create Input parameters
                    Dim poDoc As Document = New Document
                    poDoc.DocDueDate = Date.Now
                    poDoc.CardCode = "V10000"
                    Dim docLine1 As DocumentDocumentLine = New DocumentDocumentLine
                    docLine1.ItemCode = "A00001"
                    docLine1.Quantity = 1
                    docLine1.TaxCode = "NY"
                    poDoc.DocumentLines = Array.CreateInstance(docLine1.GetType(), 2)
                    poDoc.DocumentLines.SetValue(docLine1, 0)
                    Dim docLine2 As DocumentDocumentLine = New DocumentDocumentLine
                    docLine2.ItemCode = "A00002"
                    docLine2.Quantity = 1
                    docLine2.TaxCode = "NY"
                    poDoc.DocumentLines.SetValue(docLine2, 1)
                    ' Create Service
                    myPOService = New PurchaseOrdersService
                    ' Create Header
                    Dim msgHeader As MsgHeader = New MsgHeader()
                    msgHeader.SessionID = GlbData.sessionID
                    msgHeader.ServiceName = MsgHeaderServiceName.PurchaseOrdersService
                    msgHeader.ServiceNameSpecified = True
                    myPOService.MsgHeaderValue = msgHeader
                    ' Call command with output return
                    myPOParams = myPOService.Add(poDoc)
                    MsgBox("Purhcase Order added: " + myPOParams.DocEntry.ToString(), MsgBoxStyle.DefaultButton2)
                Catch ex As System.Exception
                    MsgBox(ex.Message, MsgBoxStyle.DefaultButton2)
                End Try
                Return myPOParams
            End Function
    Kind Regards
    -Yatsea

  • Longtext update by using save_text F.M

    Hi All ,
    I am updating longtext using F.M save_text the problem is
    my longtext is in the form longtext type c length 1000.
    Now how do i split this longtext such that i can pass the data in save_text.
    the parameter TDLINE is only 132 character.
    i tried using F.M tr_split_text at 132 char but the input parameter of this F.M can only take data of certain
    length
    Do any bdy know hw to go about it?
    Regards
    Bhanu

    Hi,
    If  your long text is in multiple lines of an internal table use the below code and take the text into some string varaible (lv_text_string here).
    Concatenate the text into a string variable
    LOOP AT lt_lines INTO lw_lines.
            CONCATENATE lv_text_string lw_lines-tdline INTO
                        lv_text_string SEPARATED BY space.
            CLEAR : lw_lines.
          ENDLOOP.
    Split the text into 132 char lines
    CALL FUNCTION 'RSDG_WORD_WRAP'
            EXPORTING
              textline            = lv_text_string
              delimiter           = space
              outputlen           = 132
            IMPORTING
              out_line1           = lv_outline1
              out_line2           = lv_outline2
              out_line3           = lv_outline3
            TABLES
              out_lines           = lt_text_lines
            EXCEPTIONS
              outputlen_too_large = 1
              OTHERS              = 2.
    Now use lt_text_lines for calling save_text FM. (Here lt_text_lines should be delared as an internal table of char132).
    Hope this helps you !!!
    Regards,
    Ganga

  • Read from database (Access) and update fields using MS ADODB

    Hello,
    I am trying to get records from database using MS ADODB._connection & ADODB._Recordset objects (from LabVIEW 6)
    I can:
    1. open connection (with ADODB._connection)
    2. write into tables (with ADODB._command)
    I can not: gets records and update fields using ADODB._connection & ADODB._Recordset.
    I do not know:
    1. how to connect between the connection that was opened and the recordset object
    2. where I can write the SQL text as input to the recordset
    Attached is DataBase.llb with DB_read.vi that display my steps.
    Thanks.
    Attachments:
    DataBase.llb ‏40 KB

    Try this one, after updating the names for database and the table you want.
    Let me know if it's working.
    p.s.: if you have problems, it could be a different adodb version ... but the sequence of methods is the same
    Attachments:
    EditdatabaseMe.vi ‏57 KB

Maybe you are looking for