zoukankan      html  css  js  c++  java
  • 帐套和会计科目的理解

    

    帐套(Set of Books,简称SOB)

           通俗地讲,帐套就是一系列帐簿(如明细帐、总分类

    帐等)的组合,我们的财务业务全记录在帐簿中。

           从系统角度讲,总帐帐套确定了一个企业所采用的会计

    科目结构、会计日历、记帐货币等基本因素,另外还有一些

    控制选项,如是否采用预算、平均余额等。



    借:001.HQIT.5503006.TONY.0      2000


        贷:001.0.1001.0.0                            2000


    帐套相关使用

    .   客户化开发中的多帐套屏蔽
    
    1)  得到当前OU的值。
    
    使用:mo_global.get_current_org_id或者fnd_global.org_id
    
    2)  根据组织id得到帐套id和公司名称。SQL语句为:
    
    DECLARE  
    
       l_org_information3 VARCHAR2(150);--帐套id
    
            l_company_desc     VARCHAR2(150);--公司中文描述
    
      BEGIN
    
       SELECT o3.org_information3,o3.attribute3
    
         INTO l_org_information3,l_company_desc
    
         FROM hr_all_organization_units    o,
    
              hr_all_organization_units_tl otl,
    
              hr_organization_information  o2,
    
              hr_organization_information  o3
    
        WHERE o.organization_id   = o2.organization_id
    
          AND o.organization_id   = o3.organization_id
    
          AND o2.org_information_context || '' = 'CLASS'
    
          AND o3.org_information_context = 'Operating Unit Information'
    
          AND o2.org_information1 = 'OPERATING_UNIT'
    
          AND o2.org_information2 = 'Y'
    
          AND o.organization_id   = otl.organization_id
    
          AND otl.language        = USERENV('LANG')
    
          AND o.organization_id   = &p_org_id;--OU id
    
       END;
    
    3)  得到本位币,SQL语句为:
    
    DECLARE
    
    l_local_currency_code VARCHAR2(15);--本位币
    
    BEGIN
    
    SELECT gsob.currency_code
    
        INTO l_local_currency_code
    
       FROM gl_sets_of_books gsob, hr_operating_units hou
    
      WHERE gsob.set_of_books_id = hou.set_of_books_id
    
      AND   hou.organization_id  = &p_org_id;--OU ID
    
    END;  
    
    4)  在程序中加上帐套和本位币的限制
    
    2.   多帐套实现扩展
    
    1)  得到帐套的SQL语句为:
    
    SELECT * FROM gl_ledgers;
    
    2)  得到法人的SQL语句为:
    
    SELECT * FROM xle_entity_profiles
    


    Oracle 会计科目结构决定了财务记帐的帐户,它采用了弹性


    域的概念,是分段结构,最长可30个段,每段各取一值形成


    一个组合,称为帐户。


    优点:灵活、方便




    各段含义


    公司段:进行独立财务核算的单位。


    部门段:进行费用核算的单位,也叫成本中心。


    科目段:自然科目,分为资产、负债、费用、成本、
                       权益等类别。


    备用段:根据需要启用,越多记帐越明细。


    最多允许30个段。

    会计科木存放在弹性域中

    SELECT ffvc.flex_value, ffvc.description
      FROM fnd_flex_values_vl ffvc, fnd_flex_value_sets ffsc
     WHERE ffvc.flex_value_set_id = ffsc.flex_value_set_id
       AND ffsc.flex_value_set_name = 'HSST_COMPANY' --公司段
       AND ffvc.enabled_flag = 'Y'
       AND SYSDATE BETWEEN nvl(ffvc.start_date_active, SYSDATE) AND
           nvl(ffvc.end_date_active, SYSDATE + 1);
    
    --成本中心
    SELECT ffvd.flex_value, ffvd.description
      FROM fnd_flex_values_vl ffvd, fnd_flex_value_sets ffsd
     WHERE ffvd.flex_value_set_id = ffsd.flex_value_set_id
       AND ffsd.flex_value_set_name = 'HSST_DEPARTMENT' --部门段
       AND ffvd.enabled_flag = 'Y'
       AND SYSDATE BETWEEN nvl(ffvd.start_date_active, SYSDATE) AND
           nvl(ffvd.end_date_active, SYSDATE + 1);
    
    --预估科目
    SELECT ffv.flex_value, ffv.description, ffv.*
      FROM fnd_flex_values_vl ffv, fnd_flex_value_sets ffs
     WHERE ffv.flex_value_set_id = ffs.flex_value_set_id
       AND ffs.flex_value_set_name = 'HSST_ACCOUNT' --科目段
       AND ffv.enabled_flag = 'Y'
       AND SYSDATE BETWEEN nvl(ffv.start_date_active, SYSDATE) AND
           nvl(ffv.end_date_active, SYSDATE + 1);


    获取账户的值和描述

    --获取账户描述和值
    DECLARE
      v_key_flex_code   := 'GL#';
      v_appl_short_name := 'SQLGL';
      v_application_id  := 101;
    
      v_ccid NUMBER := 3006; --查找的CCID
    BEGIN
      v_sob_id := fnd_profile.value_wnps('GL_SET_OF_BKS_ID');
      SELECT chart_of_accounts_id
        INTO v_coa_id
        FROM gl_sets_of_books sob
       WHERE sob.set_of_books_id = v_sob_id;
    END;
    
    delim := fnd_flex_apis.get_segment_delimiter(x_application_id => v_application_id,
                                                 x_id_flex_code   => v_key_flex_code,
                                                 x_id_flex_num    => v_coa_id);
    
    v_success := fnd_flex_keyval.validate_ccid(appl_short_name  => v_appl_short_name,
                                               key_flex_code    => v_key_flex_code,
                                               structure_number => v_coa_id,
                                               combination_id   => v_ccid);
    
    IF v_success THEN
      --获取账户描述
      v_account_desc := fnd_flex_keyval.concatenated_descriptions;
      --获取账户值
      v_account_num := fnd_flex_keyval.concatenated_values;
    END IF;
    
    END;
    



  • 相关阅读:
    js 学习之路8:for循环
    js 学习之路7:switch/case语句的使用
    Python语法速查: 16. 时间日期处理
    初级模拟电路:4-1 BJT交流分析概述
    初级模拟电路:3-11 BJT实现电流源
    Python语法速查: 7. 函数基础
    初级模拟电路:3-10 BJT实现开关电路
    初级模拟电路:3-9 BJT三极管实现逻辑门
    Python语法速查: 6. 循环与迭代
    初级模拟电路:3-8 BJT数据规格书(直流部分)
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299374.html
Copyright © 2011-2022 走看看