﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>A1VBCode Forums / Classic Visual Basic (VB 6 or earlier) / VBA(Excel, Word, etc...)  / I am new to VBA. I am not able to loop the data to process / Latest Posts</title><generator>InstantForum.NET v4.1.1</generator><description>A1VBCode Forums</description><link>http://www.a1vbcode.com/vbforums/</link><webMaster>forums@a1vbcode.com</webMaster><lastBuildDate>Thu, 17 May 2012 02:05:34 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: I am new to VBA. I am not able to loop the data to process</title><link>http://www.a1vbcode.com/vbforums/Topic5198-14-1.aspx</link><description>I think you have to renew connection to system after ech line .&lt;/P&gt;&lt;P&gt;Place following line after "Do" command&lt;/P&gt;&lt;P&gt;function.connection.copy&lt;/P&gt;&lt;P&gt;Following my solution for RFC_CALL TRANSACTION:&lt;/P&gt;&lt;P&gt;Dim FunctionCtrl As Object&lt;BR&gt;Dim MatNr As String, Werk As String, DispoMerk As String, Disponent As String&lt;BR&gt;Dim SapConnection As Object&lt;BR&gt;Dim func1 As Object&lt;BR&gt;Dim tbloptions As Object&lt;BR&gt;Dim BDCTable As Object&lt;BR&gt;Dim MsgStruc As Object&lt;BR&gt;Set FunctionCtrl = CreateObject("SAP.Functions")&lt;BR&gt;Set SapConnection = FunctionCtrl.Connection&lt;BR&gt;If Not SapConnection.Logon(0, False) Then&lt;BR&gt;    MsgBox "Logon failed !!"&lt;BR&gt;    Exit Sub&lt;BR&gt;End If&lt;BR&gt;Worksheets("Datenmaske").Range("A2:A64435").ClearContents&lt;BR&gt;For x = 2 To Cells(Worksheets("Datenmaske").Rows.Count, 2).End(xlUp).Row&lt;BR&gt;MatNr = Worksheets("Datenmaske").Range("B" &amp;amp; x).Value&lt;BR&gt;Werk = Worksheets("Datenmaske").Range("C" &amp;amp; x).Value&lt;BR&gt;DispoMerk = Worksheets("Datenmaske").Range("E" &amp;amp; x).Value&lt;BR&gt;Disponent = Worksheets("Datenmaske").Range("F" &amp;amp; x).Value&lt;BR&gt;SapConnection.Copy&lt;BR&gt;Set FunctionCtrl = CreateObject("SAP.Functions")&lt;BR&gt;Set func1 = FunctionCtrl.Add("RFC_CALL_TRANSACTION")&lt;BR&gt;func1.exports("TRANCODE") = "MM02"&lt;BR&gt;func1.exports("UPDMODE") = "A"&lt;BR&gt;Set BDCTable = func1.tables("BDCTABLE")&lt;BR&gt;.........&lt;/P&gt;&lt;P&gt;If Not func1.Call Then&lt;BR&gt;    MsgBox "Fehler beim Aufrufen von RFC_CALL_TRANSACTION"&lt;BR&gt;    Exit Sub&lt;BR&gt;Else&lt;BR&gt;    If func1.exception &amp;lt;&amp;gt; "" Then&lt;BR&gt;        MsgBox "Exception " &amp;amp; func1.exception &amp;amp; " aufgetreten"&lt;BR&gt;    Else&lt;BR&gt;        'Der Aufruf war erfolgreich, wir geben die SAP-Meldung aus:&lt;BR&gt;        Set MsgStruc = func1.imports("MESSG")&lt;BR&gt;        Worksheets("Datenmaske").Range("A" &amp;amp; x).Value = MsgStruc("MSGTY") &amp;amp; " / " &amp;amp; MsgStruc("MSGID") &amp;amp; " / " &amp;amp; MsgStruc("MSGNO") &amp;amp; " / " &amp;amp; MsgStruc("MSGTX")&lt;BR&gt;        'MsgBox MsgStruc("MSGTY") &amp;amp; " / " &amp;amp; MsgStruc("MSGID") &amp;amp; " / " &amp;amp; MsgStruc("MSGNO") &amp;amp; " / " &amp;amp; MsgStruc("MSGTX")&lt;BR&gt;    End If&lt;BR&gt;End If&lt;BR&gt;Next x&lt;/P&gt;&lt;P&gt;End Sub&lt;BR&gt;</description><pubDate>Tue, 13 Jul 2010 05:18:21 GMT</pubDate><dc:creator>friedmi</dc:creator></item><item><title>I am new to VBA. I am not able to loop the data to process</title><link>http://www.a1vbcode.com/vbforums/Topic5198-14-1.aspx</link><description>Hi,&lt;br&gt;I am trying to call a transaction (ME32K) in SAP system through a Macro in Excel spread sheet. I provided data in Rows and Columns. Once I run Macro, it is processing only one row instead of all rows until the next row is empty. I attached spread sheet.&lt;br&gt;See the logic below.&lt;br&gt; --------------------------&lt;br&gt;Dim j As Integer&lt;br&gt;    &lt;br&gt;Public Sub add_bdcdata(BdcTable As Object, program As String, dynpro As String, dynbegin As String, fnam As String, fval As String)&lt;br&gt;&lt;br&gt;    Dim vField As Variant&lt;br&gt;       &lt;br&gt;    j = j + 1&lt;br&gt;    &lt;br&gt;    BdcTable.Rows.Add&lt;br&gt;    &lt;br&gt;    BdcTable.Value(j, "PROGRAM") = program      ' Program Name&lt;br&gt;    BdcTable.Value(j, "DYNPRO") = dynpro        ' Dynpro Number&lt;br&gt;    BdcTable.Value(j, "DYNBEGIN") = dynbegin    ' X if a screen&lt;br&gt;    BdcTable.Value(j, "FNAM") = fnam            ' Field Name&lt;br&gt;    BdcTable.Value(j, "FVAL") = fval            ' Field Value&lt;br&gt;        &lt;br&gt;    Debug.Print BdcTable.Value(j, "FVAL")&lt;br&gt;End Sub&lt;br&gt;&lt;br&gt;Public Sub rfc_call_transaction()&lt;br&gt;    Dim Functions As Object&lt;br&gt;    Dim RfcCallTransaction As Object&lt;br&gt;    Dim Messages As Object&lt;br&gt;    Dim BdcTable As Object&lt;br&gt;    &lt;br&gt;    ' Create the Function control (that is, the high-level Functions collection):&lt;br&gt;    Set Functions = CreateObject("SAP.Functions")&lt;br&gt;      &lt;br&gt;    ' Set the rest of Connection object values:&lt;br&gt;    Functions.Connection.System = "QA[Quality Assurance]"&lt;br&gt;    Functions.Connection.client = "100"&lt;br&gt;    Functions.Connection.user = "User1"&lt;br&gt;    Functions.Connection.password = ""&lt;br&gt;    Functions.Connection.language = "EN"&lt;br&gt;    &lt;br&gt;    If Functions.Connection.Logon(0, False) &lt;&gt; True Then&lt;br&gt;       Exit Sub&lt;br&gt;    End If&lt;br&gt;    &lt;br&gt;    Dim iBOB As Integer&lt;br&gt;       &lt;br&gt;  Do&lt;br&gt; &lt;br&gt;    ' Retrieve the Function object (the Connection object must be set up before Function objects can be created):&lt;br&gt;    Set RfcCallTransaction = Functions.Add("RFC_CALL_TRANSACTION")&lt;br&gt;&lt;br&gt;    ' Set the export parameters&lt;br&gt;    RfcCallTransaction.exports("TRANCODE") = "ME32K"&lt;br&gt;    RfcCallTransaction.exports("UPDMODE") = "S"&lt;br&gt;    Set BdcTable = RfcCallTransaction.Tables("BDCTABLE")&lt;br&gt;&lt;br&gt;    ' Set the tables parameter and add the data for the call transaction&lt;br&gt;    add_bdcdata BdcTable, "SAPMM06E", "205", "X", "", ""&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "BDC_CURSOR", "RM06E-EVRTN"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "BDC_OKCODE", "=KOPF"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "RM06E-EVRTN", ActiveCell.Offset(iBOB, 0).Value&lt;br&gt;    add_bdcdata BdcTable, "SAPMM06E", "201", "X", "", ""&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "BDC_CURSOR", "EKKO-KTWRT"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "BDC_OKCODE", "=BU"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-EKGRP", ActiveCell.Offset(iBOB, 1).Value&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-PINCR", "10"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-UPINC", "1"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-KDATB", ActiveCell.Offset(iBOB, 2).Value&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-KDATE", ActiveCell.Offset(iBOB, 3).Value&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-ZTERM", ActiveCell.Offset(iBOB, 4).Value&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-KTWRT", ActiveCell.Offset(iBOB, 5).Value&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-ZBD1T", "30"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-WKURS", "1.00000"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-INCO1", "DES"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-INCO2", "SAN DIEG0 CA"&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-TELF1", ActiveCell.Offset(iBOB, 6).Value&lt;br&gt;    add_bdcdata BdcTable, "", "", "", "EKKO-LIFRE", ActiveCell.Offset(iBOB, 7).Value&lt;br&gt;    &lt;br&gt;    'End SubCall the function (if the result is false, then display a message):&lt;br&gt; If RfcCallTransaction.Call = True Then&lt;br&gt;         Set Messages = RfcCallTransaction.imports("MESSG")&lt;br&gt;         MsgBox Messages.Value("MSGTX")&lt;br&gt;     Else&lt;br&gt;      MsgBox " Call Failed! error: " + GetCustomers.Exception&lt;br&gt;     End If&lt;br&gt;iBOB = iBOB + 1&lt;br&gt;Loop Until IsEmpty(ActiveCell.Offset(iBOB, 0))&lt;br&gt;&lt;br&gt;Functions.Connection.Logoff&lt;br&gt; End Sub&lt;br&gt;-----------------------------------------&lt;br&gt;Thank you&lt;br&gt;GuestUser</description><pubDate>Tue, 19 Oct 2004 21:57:40 GMT</pubDate><dc:creator>GuestUser</dc:creator></item></channel></rss>
