ORACLE EBS为客户和客户地点绑定银行账户

在ORALCE EBS的客户接口中,有一个需要就为客户绑定一个银行账户,这时候就需要使用一个API来实现这个功能,经过不断尝试,特意总结一下这个接口的使用方法,以便大家在使用的时候获得帮助。

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
-- Created on 2013/12/14 by V-PANTINGWEN 
DECLARE
  l_payer              iby_fndcpt_common_pub.payercontext_rec_type;
  l_assignment_attribs iby_fndcpt_setup_pub.pmtinstrassignment_rec_type;
  l_return_status      VARCHAR2(10);
  l_msg_count          NUMBER;
  l_msg_data           VARCHAR2(32767);
  l_assign_id          NUMBER;
  l_response           iby_fndcpt_common_pub.result_rec_type;
BEGIN
  l_payer.cust_account_id                         := 11058; ---客户账户编号
  l_payer.payment_function                        := 'CUSTOMER_PAYMENT'; --直接写死
  l_payer.Org_Type                                := 'OPERATING_UNIT'; --直接写死             若是给地点绑定的时候才填写值
  l_payer.party_id                                := 16060; --客户的party_id
  l_payer.Org_Id                                  := 101; --地点的org_id                      若是给地点绑定的时候才填写值
  l_payer.Account_Site_Id                         := 8025; --账户的地点用户编号               若是给地点绑定的时候才填写值
  l_assignment_attribs.instrument.instrument_type := 'BANKACCOUNT'; --写死,银行账户
  l_assignment_attribs.instrument.instrument_id   := 490; --银行账户编号
  l_assignment_attribs.priority                   := 1; --1写死
  iby_fndcpt_setup_pub.set_payer_instr_assignment(p_api_version        => 1.0,
                                                  p_init_msg_list      => fnd_api.g_false,
                                                  p_commit             => fnd_api.g_true,
                                                  x_return_status      => l_return_status,
                                                  x_msg_count          => l_msg_count,
                                                  x_msg_data           => l_msg_data,
                                                  p_payer              => l_payer,
                                                  p_assignment_attribs => l_assignment_attribs,
                                                  x_assign_id          => l_assign_id,
                                                  x_response           => l_response);
  DBMS_OUTPUT.put_line('l_return_status' || l_return_status);
  IF L_MSG_COUNT > 1 THEN
    FOR I IN 1 .. L_MSG_COUNT LOOP
      DBMS_OUTPUT.put_line(APPS.FND_MSG_PUB.GET(P_MSG_INDEX => APPS.FND_MSG_PUB.G_NEXT,
                                                P_ENCODED   => APPS.FND_API.G_FALSE));
    END LOOP;
  ELSE
    DBMS_OUTPUT.put_line(L_MSG_DATA);
  END IF;
END;

共有 0 条评论

Top