在程序中調用RFC的Read_Text 取長文本 出錯!

_GodFather 2010-05-14 10:36:48

procedure TfrmRFCB.btnReadTextClick(Sender: TObject);
begin
(* parameter "true" : SilentLogOn *)
if Connection.LogOn(0,true) <> true then
raise Exception.Create('Error logon!');

try
try
Animate1.Active := true;
(* assign the existing connection to the *)
(* component SAPFunctions1 *)
SAPFunctions2.Connection := Connection;
//調用Read_Text函數
Funct := SAPFunctions2.add('Read_Text');
Funct.exports('LANGUAGE').value := '1'; //文本語言:ZH,ZF
Funct.exports('ID').value := 'F01'; //標識: 項目文本F01
Funct.exports('OBJECT').value := 'EKKO';//文本對象:EKPO項目文本
//Funct.exports('CLIENT').value := '208';//
//關鍵標識號,表頭則為憑証號, 行項目文本則為(單號+項目碼)
Funct.exports('NAME').value := Trim(edtCode.Text); //+POItems.Value(1,'PO_ITEM');
if not Funct.call then
showMessage(Funct.exception)
else
begin
POTEXTITEM := funct.tables.item('LINES');
Memo2.Lines.Add(POTEXTITEM.Value(1,'TDLINE'));
end;
except on E: Exception do
raise Exception.Create(E.Message);
end;

finally
Animate1.Active := false;
end;
end;


程序調用,運行到這一行就報錯,
Funct.exports('LANGUAGE').value := '1'; //文本語言:ZH,ZF

提示地址錯誤:Read of Address: 0000000 。 :(((((

請問如何在其它程序中中RFC方式調用,獲取PO的表頭文本,項目文本?


...全文
151 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小嘉茗的爸爸 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 skm 的回复:]
Read_Text函數必須是RFC類型才能調用,如果不是,則要封裝一個RFC函數。
[/Quote]


这个是SAP的标准函数,外部不能直接调用的。先用se37去创建个RFC,在这里面再调用read_text
skm 2010-06-11
  • 打赏
  • 举报
回复
Read_Text函數必須是RFC類型才能調用,如果不是,則要封裝一個RFC函數。
_GodFather 2010-05-14
  • 打赏
  • 举报
回复
是在Funct := SAPFunctions2.add('Read_Text'); 就出地址錯 FUNCT地址為0000000
怎麼在RFC中取不到Read_Text啊

2,679

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 ERP/CRM
社区管理员
  • ERP/CRM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧