Registriert seit: 29. Jan 2009
297 Beiträge
Delphi 12 Athens
|
AW: SAP RFC_READ_TEXT funktioniert nicht mehr
13. Jun 2018, 10:10
So kann ich die Texte holen:
Delphi-Quellcode:
procedure TForm1.btn_GrunddatentexteClick(Sender: TObject);
var
Funct, Fields, Options, Table, Textline, Itemsrow: OleVariant;
r: integer;
//
ArtNr: string[18];
Sprache: string[1];
Textart: string[4];
begin
try
ArtNr:= '105073';
Sprache:= 'F'; // siehe SAP-Tabelle T002
Textart:= 'GRUN';
{ Grunddatentext (Text-ID GRUN)
Prüftext (Text-ID PRUE)
Interner Vermerk (Text-ID IVER)
Materialnotiz (Text-ID LTXT)
Einkaufsbestelltext (Text-ID BEST)
Vertriebstext (Text-ID 0001) }
//
if Logon_SAP_ConnectionObject then begin
SAPFunctions1.RemoveAll;
Funct:= SAPFunctions1.add('RFC_READ_TEXT');
Textline:= Funct.Tables.item('TEXT_LINES');
ItemsRow:= Textline.rows.add;
ItemsRow.Value[1]:= '002'; // Mandant
ItemsRow.Value[2]:= 'MATERIAL';
while length(ArtNr) < 18 do
ArtNr:= '0' + ArtNr;
ItemsRow.Value[3]:= ArtNr;
ItemsRow.Value[4]:= Textart;
ItemsRow.Value[5]:= Sprache;
if not Funct.call then
Set_Meldung(Funct.exception)
else
begin
Table:= Funct.tables.item('TEXT_LINES');
for r:= 1 to table.rowCount do begin // Der Text kann mehrere Zeilen haben
// mmo1.lines.Add(Table.Value(r, 1));
// mmo1.lines.Add(Table.Value(r, 2));
// mmo1.lines.Add(Table.Value(r, 3));
// mmo1.lines.Add(Table.Value(r, 4));
// mmo1.lines.Add(Table.Value(r, 5));
// mmo1.lines.Add(Table.Value(r, 6));
// mmo1.lines.Add(Table.Value(r, 7));
mmo1.lines.Add(Table.Value(r, 8)); // hier steht der Text
end;
end;
end;
finally
SAP_ConnectionObject.Logoff;
end;
end;
Geändert von Pfaffe (13. Jun 2018 um 17:23 Uhr)
Grund: Sprachcode 2 Zeichen? Nein 1 Zeichen! GRUN und nicht GRUND, 4 Zeichen.
|
|
Zitat
|