Home  >  Article  >  Database  >  EBS动态创建账户组合实现

EBS动态创建账户组合实现

WBOY
WBOYOriginal
2016-06-07 15:22:291156browse

目的:使用程序动态创建账户组合。如果账户组合存在的话,返回存在的ID,不存在的话就动态创建账户组合并返回id。 实现步骤: 1. 得到账簿的CHART_OF_ACCOUNTS_ID 2. 得到账户弹性域分隔符 3. 调用标准的API得到账户组合id 具体实现如下: 1. 得到账簿的CHAR

目的:使用程序动态创建账户组合。如果账户组合存在的话,返回存在的ID,不存在的话就动态创建账户组合并返回id。

实现步骤:

1. 得到账簿的CHART_OF_ACCOUNTS_ID

2. 得到账户弹性域分隔符

3. 调用标准的API得到账户组合id

具体实现如下:

1. 得到账簿的CHART_OF_ACCOUNTS_ID实现code:

SELECT sob.chart_of_accounts_id  
  INTO l_id_flex_num  
  FROM financials_system_params_all fsp, gl_sets_of_books sob  
 WHERE org_id = p_org_id  
   AND sob.set_of_books_id = fsp.set_of_books_id;  


2. 得到账户弹性域分隔符实现code:

SELECT concatenated_segment_delimiter  
  INTO l_segment_delimiter  
  FROM fnd_id_flex_structures  
 WHERE application_id = 101  
   AND id_flex_code = 'GL#'  
   AND id_flex_num = l_id_flex_num;


3. 调用标准的API得到账户组合id实现code:

 

l_concatenated_segments := l_segment1 || l_segment_delimiter ||  
                             p_segment2 || l_segment_delimiter ||  
                             p_segment3 || l_segment_delimiter ||  
                             l_segment4 || l_segment_delimiter ||  
                             l_segment5 || l_segment_delimiter ||  
                             l_segment6 || l_segment_delimiter ||  
                             l_segment7 || l_segment_delimiter ||  
                             l_segment8 || l_segment_delimiter ||  
                             l_segment9 || l_segment_delimiter ||  
                             l_segment10 || l_segment_delimiter ||  
                             l_segment11 || l_segment_delimiter ||  
                             l_segment12 || l_segment_delimiter ||  
                             l_segment13 || l_segment_delimiter ||  
                             l_segment14 || l_segment_delimiter ||  
                             l_segment15 || l_segment_delimiter ||  
                             l_segment16 || l_segment_delimiter ||  
                             l_segment17 || l_segment_delimiter ||  
                             l_segment18 || l_segment_delimiter ||  
                             l_segment19 || l_segment_delimiter ||  
                             l_segment20 || l_segment_delimiter ||  
                             l_segment21 || l_segment_delimiter ||  
                             l_segment22 || l_segment_delimiter ||  
                             l_segment23 || l_segment_delimiter ||  
                             l_segment24 || l_segment_delimiter ||  
                             l_segment25 || l_segment_delimiter ||  
                             l_segment26 || l_segment_delimiter ||  
                             l_segment27 || l_segment_delimiter ||  
                             l_segment28 || l_segment_delimiter ||  
                             l_segment29 || l_segment_delimiter ||  
                             l_segment30 || l_segment_delimiter;  
  l_gcc_account_id := apps.fnd_flex_ext.get_ccid(application_short_name => 'SQLGL',  
                                                 key_flex_code          => 'GL#',  
                                                 structure_number       => l_id_flex_num,  
                                                 validation_date        => to_char(SYSDATE,  
                                                                                   apps.fnd_flex_ext.DATE_FORMAT),  
                                                 concatenated_segments  => x_concatenated_seg);  
  fnd_file.PUT_LINE(fnd_file.log,  
                    'l_gcc_account_id:' || l_gcc_account_id);  
  IF l_gcc_account_id = 0 THEN  
    RETURN NULL;  
  END IF;  

注意 :如果账户ID返回0,表示没有创建成功。

错误原因:传入的参数不正确或者账户组合没有通过验证。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn