zoukankan      html  css  js  c++  java
  • 计划外折旧(unplanned deprn)API开发例程

    -******************************************************************************
      -- Punction: Get transaction date for API
      --******************************************************************************
      FUNCTION get_date_f(p_book_type_code IN VARCHAR2) RETURN DATE IS
        lv_transaction_date DATE;
      BEGIN
        --get transaction data entered
        SELECT greatest(dp.calendar_period_open_date,
                        least(trunc(SYSDATE), dp.calendar_period_close_date))
          INTO lv_transaction_date
          FROM fa_deprn_periods dp
         WHERE dp.book_type_code = p_book_type_code
           AND dp.period_close_date IS NULL;

        RETURN lv_transaction_date;
      EXCEPTION
        WHEN no_data_found THEN
          RETURN trunc(SYSDATE);
        WHEN too_many_rows THEN
          RETURN trunc(SYSDATE);
      END get_date_f;

      --******************************************************************************
      -- Procedure: exec API
      --******************************************************************************
      PROCEDURE do_unplanned_p(lv_errbuf OUT VARCHAR2, lv_retcode OUT VARCHAR2) IS
        lv_status                VARCHAR2(10);
        lv_msg_count             NUMBER;
        lv_msg_data              VARCHAR2(512);
        lv_transaction_header_id NUMBER(15);

      BEGIN
        FA_TRANS_API_PUB.DO_UNPLANNED(
                                      -- Standard Parameters --
                                      p_api_version      => 1.0,
                                      p_init_msg_list    => 'T',
                                      p_commit           => 'F',
                                      p_validation_level => 100,
                                      x_return_status    => lv_status,
                                      x_msg_count        => lv_msg_count,
                                      x_msg_data         => lv_msg_data,
                                      p_calling_fn       => 'fac_mass_deprn_adjustments_pkg.do_unplanned_p',
                                      -- API Options --
                                      p_debug_flag => 'NO',
                                      -- Out Parameters --
                                      x_transaction_header_id => lv_transaction_header_id,
                                      -- Transaction Info --
                                      p_transaction_date_entered => get_date_f(gv_catchup_amount.book_type_code),
                                      p_transaction_name         => 'ADJUSTMENT',
                                      p_transaction_subtype      => NULL,
                                      p_amortization_start_date  => NULL,
                                      p_calling_interface        => 'FAXASSET',
                                      p_last_update_date         => SYSDATE,
                                      p_last_updated_by          => -1,
                                      p_created_by               => -1,
                                      p_creation_date            => SYSDATE,
                                      p_last_update_login        => -1,
                                      p_attribute1               => NULL,
                                      p_attribute2               => NULL,
                                      p_attribute3               => NULL,
                                      p_attribute4               => NULL,
                                      p_attribute5               => NULL,
                                      p_attribute6               => NULL,
                                      p_attribute7               => NULL,
                                      p_attribute8               => NULL,
                                      p_attribute9               => NULL,
                                      p_attribute10              => NULL,
                                      p_attribute11              => NULL,
                                      p_attribute12              => NULL,
                                      p_attribute13              => NULL,
                                      p_attribute14              => NULL,
                                      p_attribute15              => NULL,
                                      p_attribute_category_code  => NULL,
                                      -- Asset Header Info --
                                      p_asset_id       => gv_catchup_amount.asset_id,
                                      p_book_type_code => gv_catchup_amount.book_type_code,
                                      -- Unplanned Depreciation Info --
                                      p_code_combination_id => gv_catchup_amount.code_combination_id,
                                      p_unplanned_amount    => gv_catchup_amount.catchup_amount,
                                      p_unplanned_type      => 'UNPLAN');

        IF lv_status = 'S' THEN
          --success
          --update record status
          UPDATE fac_mass_deprn_adjustment_load t
             SET t.status = 'Complete'
           WHERE t.request_id = gv_request_id
             AND t.book_type_code = gv_catchup_amount.book_type_code
             AND t.asset_number = gv_catchup_amount.asset_number;

        ELSE
          --failure
          --update record status
          UPDATE fac_mass_deprn_adjustment_load t
             SET t.status = 'Error'
           WHERE t.request_id = gv_request_id
             AND t.book_type_code = gv_catchup_amount.book_type_code
             AND t.asset_number = gv_catchup_amount.asset_number;
            END IF;
        COMMIT;

      EXCEPTION
        WHEN OTHERS THEN
          ROLLBACK;
          lv_retcode := SQLCODE;
          lv_errbuf  := SQLERRM;
      END do_unplanned_p;

             

                成长

           /      |     \

        学习   总结   分享

    QQ交流群:122230156

  • 相关阅读:
    win10 访问远程文件夹 此共享需要过时的SMB1协议 你不能访问此共享文件夹
    Navicat 1142 SELECT command denied to user 'sx'@'xxx' for table 'user'
    MySQL 密码参数配置与修改 validate_password
    MySQL 命令行下更好的显示查询结果
    MySQL 数据库的存储结构
    MySQL实验 内连接优化order by+limit 以及添加索引再次改进
    MySQL实验 子查询优化双参数limit
    MySQL 索引结构 hash 有序数组
    MySQL 树形索引结构 B树 B+树
    hbase2.1.9 centos7 完全分布式 搭建随记
  • 原文地址:https://www.cnblogs.com/benio/p/2077351.html
Copyright © 2011-2022 走看看