Einzelnen Beitrag anzeigen

Roland Wind

Registriert seit: 2. Jul 2004
36 Beiträge
 
#47

Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden

  Alt 20. Feb 2007, 12:48
Hi

Habe es nochmal ausprobiert, die Struktur folgendermaßen zu übergeben:

Delphi-Quellcode:
if (StrLen(@InputParam.IT_Req_Txt_Fields.Field) <> 0) then
  SetInputParam('IT_REQ_TXT_FIELDS', 30, @InputParam.IT_Req_Txt_Fields.Field, 0);

procedure TSAPRFC.SetInputParam(const aParamName: string; aParamLength: Integer; aParamValue: Pointer;
  aParamType: Integer);
// Setzt Eingabeparameter für den RFC
var
  i: integer;
begin
  i := 0;
  while (i < SAPRFC_MaxParameters) and (FExporting[i].Name <> nil) do
    inc(i);

  if i = SAPRFC_MaxParameters then
    raise Exception.Create('Max params exeeded!');

  FExporting[i].Name := PChar(aParamName);
  FExporting[i].nLen := Length(aParamName);
  FExporting[i].aType := aParamType;
  FExporting[i].Leng := aParamLength;
  FExporting[i].Addr := aParamValue;
end;
Dabei bekomme ich folgende Meldung:

T:3256 ======> Datenfehler (ungültiger Datentyp 0) bei einem 'Remote Function Call'.
T:3256 <* RfcReceiveEx [1] : returns 3:RFC_SYS_EXCEPTION
T:3256 <* RfcCallReceiveEx [1] : returns 3:RFC_SYS_EXCEPTION

Schätze den Datentyp so zu übergeben funktioniert nicht. Habe in der Transaktion se37 nachgeguckt und zu dem Datentyp TTFIELDNAME folgende Informationen gefunden:

Initialisierung und Zugriff: Standardtabelle
Zeilentyp: Datentyp = CHAR
Zahl der Stellen = 30

Wie kann ich nun einen Tabellentyp als Importparameter übergeben ??
  Mit Zitat antworten Zitat