1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Set funcControl = CreateObject("SAP.Functions")
Set ctlTableFactory = CreateObject("SAP.TableFactory.1")
funcControl.Connection = objConnection
Set iObj_RFC = funcControl.Add(iStr_RFC)
Set tblOptions = iObj_RFC.Tables("OPTIONS")
Set tblFields = iObj_RFC.Tables("FIELDS")
Set tblData = iObj_RFC.Tables("DATA")
Set strExport1 = iObj_RFC.exports("QUERY_TABLE")
Set strExport2 = iObj_RFC.exports("DELIMITER")
Set strExport3 = iObj_RFC.exports("ROWCOUNT")
Set strExport4 = iObj_RFC.exports("ROWSKIPS")
strExport1.Value = pStr_NomTableSAP ' => le nom de la table SAP
strExport2.Value = "$" ' => Le séparateur de champ
strExport3.Value = iLng_Pas ' => le nombre de ligne à ramener lors de l'interrogation
strExport4.Value = iLng_Rowskip ' => le nombre de ligne à sauter lors de l'interrogation
For i = 0 To UBound(pStr_NomChampsSAP) '=> Tableau des noms des champs SAP à ramener
tblFields.AppendRow: tblFields(i + 1, "FIELDNAME") = pStr_NomChampsSAP(i)
Next
If Not IsNull(pStr_ClauseWhere) Then
' pStr_ClauseWhere => Tableau de la clause where d'interrogation
If Not IsEmpty(pStr_ClauseWhere) Then
For i = 0 To UBound(pStr_ClauseWhere)
tblOptions.AppendRow: tblOptions(i + 1, "TEXT") = pStr_ClauseWhere(i)
Next
End If
End If
If iObj_RFC.call = True Then ' Appel de la RFC
Else
MsgBox iObj_RFC.EXCEPTION
GoTo Erreur
End If
If tblData.Rowcount > 0 Then
"Début Insert."
lLng_RecordCount = tblData.Rowcount ' Nb de lignes ramenées
For iLng_Compteur = 1 To tblData.Rowcount
iLng_Pos = iLng_Compteur + iLng_Rowskip
iVar_Data = Split(tblData(iLng_Compteur, "WA"), "$") ' Split de la ligne ramenée par la RFC, selon le séparateur défini , $
... |
Partager