• EBS技术开发之返利开发


    返利是指公司间应收款项按一定比率的返还给客户。返利开发实质就是实现对应收发票的更改和新增(暂时我的理解)

    一.对发票行更改

    PACKAGE AP_INVOICE_LINES_ALL_PRIVATE IS
      PROCEDURE INSERT_ROW (X_LINE_NUM OUT NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER);
      PROCEDURE UPDATE_ROW (P_LINE_NUM IN NUMBER,P_INVOICE_ID IN NUMBER,P_ORG_ID IN NUMBER);
    END;
    PACKAGE BODY AP_INVOICE_LINES_ALL_PRIVATE IS
      PROCEDURE INSERT_ROW (X_LINE_NUM OUT NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER)IS
      v_row_id VARCHAR2(1000);
      v_line_number number;
      g_user_id         CONSTANT NUMBER := fnd_global.user_id;
      g_login_id        CONSTANT NUMBER := fnd_global.conc_login_id;
      g_request_id      CONSTANT NUMBER := fnd_global.conc_request_id;
      g_prog_appl_id    CONSTANT NUMBER := fnd_global.prog_appl_id;
      g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
      x_ccid number;
      V_AMOUNT NUMBER;
      BEGIN
      select max(NVL(line_number,0))
      into v_line_number
      from AP_INVOICE_LINES_ALL 
      where invoice_id = :parameter.G_INVOICE_ID;
      X_LINE_NUM := v_line_number + 1;
      cux_cuxaprebate_utl.create_account(p_org_id =>:parameter.g_org_id,
                               p_ccid   =>:parameter.G_CCID,
                               x_ccid   =>x_ccid);
      IF P_FLAG = 'CANCEL' THEN
      	V_AMOUNT := P_AMOUNT;
      ELSIF P_FLAG = 'APPLY' THEN
      	V_AMOUNT := - P_AMOUNT;	
      END IF;
      /*mo_global.init('AP');
      mo_global.set_policy_context(p_access_mode => 'S',
                                    p_org_id      => :parameter.g_org_id);--mo_global.get_current_org_id*/
      ap_ail_table_handler_pkg.insert_row(p_rowid                        => v_row_id,
                                          p_invoice_id                   => :parameter.G_INVOICE_ID,
                                          p_line_number                  => X_LINE_NUM,
                                          p_line_type_lookup_code        => 'MISCELLANEOUS',--杂项
                                          p_line_group_number            => NULL,
                                          p_requester_id                 => NULL,
                                          p_description                  => NULL,
                                          p_line_source                  => NULL,
                                          p_org_id                       => NULL,
                                          p_inventory_item_id            => NULL,
                                          p_item_description             => NULL,
                                          p_serial_number                => NULL,
                                          p_manufacturer                 => NULL,
                                          p_model_number                 => NULL,
                                          p_warranty_number              => NULL,
                                          p_generate_dists               => NULL,
                                          p_match_type                   => NULL,
                                          p_distribution_set_id          => NULL,
                                          p_account_segment              => NULL,
                                          p_balancing_segment            => NULL,
                                          p_cost_center_segment          => NULL,
                                          p_overlay_dist_code_concat     => NULL,
                                          p_default_dist_ccid            => x_ccid,--ccid
                                          p_prorate_across_all_items     => NULL,
                                          p_accounting_date              => :parameter.G_GL_DATE,--gl_date
                                          p_period_name                  => NULL,
                                          p_deferred_acctg_flag          => NULL,
                                          p_def_acctg_start_date         => NULL,
                                          p_def_acctg_end_date           => NULL,
                                          p_def_acctg_number_of_periods  => NULL,
                                          p_def_acctg_period_type        => NULL,
                                          p_set_of_books_id              => :parameter.G_SET_OF_BOOKS_ID,--
                                          p_amount                       => V_AMOUNT,--金额
                                          p_base_amount                  => NULL,
                                          p_rounding_amt                 => NULL,
                                          p_quantity_invoiced            => NULL,
                                          p_unit_meas_lookup_code        => NULL,
                                          p_unit_price                   => NULL,
                                          p_wfapproval_status            => 'NOT REQUIRED',--
                                          p_discarded_flag               => NULL,
                                          p_original_amount              => NULL,
                                          p_original_base_amount         => NULL,
                                          p_original_rounding_amt        => NULL,
                                          p_cancelled_flag               => NULL,
                                          p_income_tax_region            => NULL,
                                          p_type_1099                    => NULL,
                                          p_stat_amount                  => NULL,
                                          p_prepay_invoice_id            => NULL,
                                          p_prepay_line_number           => NULL,
                                          p_invoice_includes_prepay_flag => NULL,
                                          p_corrected_inv_id             => NULL,
                                          p_corrected_line_number        => NULL,
                                          p_po_header_id                 => NULL,
                                          p_po_line_id                   => NULL,
                                          p_po_release_id                => NULL,
                                          p_po_line_location_id          => NULL,
                                          p_po_distribution_id           => NULL,
                                          p_rcv_transaction_id           => NULL,
                                          p_final_match_flag             => NULL,
                                          p_assets_tracking_flag         => NULL,
                                          p_asset_book_type_code         => NULL,
                                          p_asset_category_id            => NULL,
                                          p_project_id                   => NULL,
                                          p_task_id                      => NULL,
                                          p_expenditure_type             => NULL,
                                          p_expenditure_item_date        => NULL,
                                          p_expenditure_organization_id  => NULL,
                                          p_pa_quantity                  => NULL,
                                          p_pa_cc_ar_invoice_id          => NULL,
                                          p_pa_cc_ar_invoice_line_num    => NULL,
                                          p_pa_cc_processed_code         => NULL,
                                          p_award_id                     => NULL,
                                          p_awt_group_id                 => NULL,
                                          p_pay_awt_group_id             => NULL, --NUMBER,--bug6639866
                                          p_reference_1                  => NULL,
                                          p_reference_2                  => NULL,
                                          p_receipt_verified_flag        => NULL,
                                          p_receipt_required_flag        => NULL,
                                          p_receipt_missing_flag         => NULL,
                                          p_justification                => NULL,
                                          p_expense_group                => NULL,
                                          p_start_expense_date           => NULL,
                                          p_end_expense_date             => NULL,
                                          p_receipt_currency_code        => NULL,
                                          p_receipt_conversion_rate      => NULL,
                                          p_receipt_currency_amount      => NULL,
                                          p_daily_amount                 => NULL,
                                          p_web_parameter_id             => NULL,
                                          p_adjustment_reason            => NULL,
                                          p_merchant_document_number     => NULL,
                                          p_merchant_name                => NULL,
                                          p_merchant_reference           => NULL,
                                          p_merchant_tax_reg_number      => NULL,
                                          p_merchant_taxpayer_id         => NULL,
                                          p_country_of_supply            => NULL,
                                          p_credit_card_trx_id           => NULL,
                                          p_company_prepaid_invoice_id   => NULL,
                                          p_cc_reversal_flag             => NULL,
                                          p_creation_date                => sysdate,
                                          p_created_by                   => g_user_id,
                                          p_last_updated_by              => g_user_id,
                                          p_last_update_date             => sysdate,
                                          p_last_update_login            => g_login_id,
                                          p_program_application_id       => NULL,
                                          p_program_id                   => NULL,
                                          p_program_update_date          => sysdate,
                                          p_request_id                   => NULL,
                                          p_attribute_category           => NULL,
                                          p_attribute1                   => NULL,
                                          p_attribute2                   => NULL,
                                          p_attribute3                   => NULL,
                                          p_attribute4                   => NULL,
                                          p_attribute5                   => NULL,
                                        /*  p_attribute6                   VARCHAR2 DEFAULT NULL,
                                          p_attribute7                   VARCHAR2 DEFAULT NULL,
                                          p_attribute8                   VARCHAR2 DEFAULT NULL,
                                          p_attribute9                   VARCHAR2 DEFAULT NULL,
                                          p_attribute10                  VARCHAR2 DEFAULT NULL,
                                          p_attribute11                  VARCHAR2 DEFAULT NULL,
                                          p_attribute12                  VARCHAR2 DEFAULT NULL,
                                          p_attribute13                  VARCHAR2 DEFAULT NULL,
                                          p_attribute14                  VARCHAR2 DEFAULT NULL,
                                          p_attribute15                  VARCHAR2 DEFAULT NULL,
                                          p_global_attribute_category    VARCHAR2 DEFAULT NULL,
                                          p_global_attribute1            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute2            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute3            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute4            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute5            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute6            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute7            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute8            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute9            VARCHAR2 DEFAULT NULL,
                                          p_global_attribute10           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute11           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute12           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute13           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute14           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute15           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute16           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute17           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute18           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute19           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute20           VARCHAR2 DEFAULT NULL,
                                          p_primary_intended_use         VARCHAR2 DEFAULT NULL,
                                          p_ship_to_location_id          NUMBER DEFAULT NULL,
                                          p_product_fisc_classification  VARCHAR2 DEFAULT NULL,
                                          p_user_defined_fisc_class      VARCHAR2 DEFAULT NULL,
                                          p_trx_business_category        VARCHAR2 DEFAULT NULL,
                                          p_product_type                 VARCHAR2 DEFAULT NULL,
                                          p_product_category             VARCHAR2 DEFAULT NULL,
                                          p_assessable_value             NUMBER DEFAULT NULL,
                                          p_control_amount               NUMBER DEFAULT NULL,
                                          p_tax_regime_code              VARCHAR2 DEFAULT NULL,
                                          p_tax                          VARCHAR2 DEFAULT NULL,
                                          p_tax_status_code              VARCHAR2 DEFAULT NULL,*/
                                          p_tax_rate_code                => 'CN_VAT_IN_17',
                                         /* p_tax_rate_id                  NUMBER DEFAULT NULL,
                                          p_tax_rate                     NUMBER DEFAULT NULL,
                                          p_tax_jurisdiction_code        VARCHAR2 DEFAULT NULL,
                                          p_purchasing_category_id       NUMBER DEFAULT NULL,
                                          p_cost_factor_id               NUMBER DEFAULT NULL,
                                          p_retained_amount              NUMBER DEFAULT NULL,
                                          p_retained_invoice_id          NUMBER DEFAULT NULL,
                                          p_retained_line_number         NUMBER DEFAULT NULL,
                                          p_tax_classification_code      VARCHAR2 DEFAULT NULL,*/
                                          p_calling_sequence             => NULL);
        EXCEPTION
        	WHEN OTHERS THEN
        	 FND_MESSAGE.DEBUG('给应付发票行插值时出现错误 : '||SQLERRM);
        	 raise form_trigger_failure;
        END;
        
        
        PROCEDURE UPDATE_ROW (P_LINE_NUM IN NUMBER,P_INVOICE_ID IN NUMBER,P_ORG_ID IN NUMBER)IS
         V_AMOUNT NUMBER;
        BEGIN
        --	fnd_message.debug('@@@P_LINE_NUM'||P_LINE_NUM);
        --		fnd_message.debug('@@@P_INVOICE_ID'||P_INVOICE_ID);
        	SELECT AMOUNT 
        	INTO   V_AMOUNT 
        	FROM   AP_INVOICE_LINES_ALL
        	WHERE INVOICE_ID = P_INVOICE_ID
        --	AND	  (ORG_ID     = P_ORG_ID or ORG_ID is null)
        	AND 	LINE_NUMBER = P_LINE_NUM
        	FOR UPDATE NOWAIT;
        	 
        	UPDATE AP_INVOICE_LINES_ALL
        	SET		 AMOUNT = 0
        	WHERE INVOICE_ID = P_INVOICE_ID
        --	AND	  ORG_ID     = P_ORG_ID
        	AND 	LINE_NUMBER = P_LINE_NUM;
        	--commit;
        	EXCEPTION
        	WHEN OTHERS THEN
        	 FND_MESSAGE.DEBUG('更新发票行时出现错误 : '||SQLERRM);
        	 raise form_trigger_failure;
        END;
    END;


     

    二.对发票分配行更改

    PACKAGE AP_DISTRIBUTIONS_PRIVATE IS
      PROCEDURE INSERT_ROW (P_LINE_NUM IN NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER,p_invoice_id in number);
    END;
    PACKAGE BODY AP_DISTRIBUTIONS_PRIVATE IS
      PROCEDURE INSERT_ROW (P_LINE_NUM IN NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER,p_invoice_id in number)IS
       v_row_id      VARCHAR2(1000);
       v_line_number NUMBER;
       g_user_id         CONSTANT NUMBER := fnd_global.user_id;
       g_login_id        CONSTANT NUMBER := fnd_global.conc_login_id;
       g_request_id      CONSTANT NUMBER := fnd_global.conc_request_id;
       g_prog_appl_id    CONSTANT NUMBER := fnd_global.prog_appl_id;
       g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
       x_ccid number := 0;
       p_invoice_distribution_id NUMBER;
       V_period_name VARCHAR2(100);
       X_DIS_LINE_NUM NUMBER;
       V_AMOUNT NUMBER;
      BEGIN
      --	fnd_message.debug('	SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) P_LINE_NUM:'||P_LINE_NUM);
      	SELECT nvl(MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)),0)
        INTO v_line_number
        FROM AP_INVOICE_DISTRIBUTIONS_ALL
       WHERE invoice_id = p_invoice_id
       AND invoice_line_number = P_LINE_NUM;
       
       X_DIS_LINE_NUM := v_line_number + 1;
      -- fnd_message.debug('	SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) v_line_number:'||v_line_number);
      -- fnd_message.debug('	SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) X_DIS_LINE_NUM:'||X_DIS_LINE_NUM);
       V_period_name := cux_gl_public_pkg.get_period_name(p_org_id =>:parameter.g_org_id,
       																									 p_gl_date =>:parameter.G_GL_DATE);
        cux_cuxaprebate_utl.create_account(p_org_id =>:parameter.g_org_id,
                               p_ccid   =>:parameter.G_CCID,
                               x_ccid   =>x_ccid);
       SELECT  ap_invoice_distributions_s.nextval INTO p_invoice_distribution_id FROM DUAL;
       
       IF P_FLAG = 'CANCEL' THEN
      	V_AMOUNT := P_AMOUNT;
      ELSIF P_FLAG = 'APPLY' THEN
      	V_AMOUNT := - P_AMOUNT;	
      END IF;
      mo_global.init('AR');
      mo_global.set_policy_context(p_access_mode => 'S',
                                    p_org_id      => :parameter.g_org_id);--:parameter.g_org_id--mo_global.get_current_org_id
      ap_aid_table_handler_pkg.insert_row(p_rowid => v_row_id,
                                          p_invoice_id => p_invoice_id,
                                          p_invoice_line_number => P_LINE_NUM,--行上的信息
                                          p_distribution_class => null,
                                          p_invoice_distribution_id => p_invoice_distribution_id,
                                          p_dist_code_combination_id => x_ccid,--ccid
                                          p_last_update_date => SYSDATE,
                                          p_last_updated_by => g_user_id,
                                          p_accounting_date => sysdate,--gl date
                                          p_period_name => V_period_name,
                                          p_set_of_books_id=> :parameter.G_SET_OF_BOOKS_ID,
                                          p_amount => V_AMOUNT,--金额
                                          p_description => null,
                                          p_type_1099 => null,
                                          p_posted_flag => null,
                                          p_batch_id => null,
                                          p_quantity_invoiced => null,
                                          p_unit_price => null,
                                          p_match_status_flag => null,
                                          p_attribute_category => null,
                                          p_attribute1 => null,
                                          p_attribute2 => null,
                                          p_attribute3 => null,
                                          p_attribute4 => null,
                                          p_attribute5 => null,
                                          p_prepay_amount_remaining => null,
                                          p_assets_addition_flag => 'U',
                                          p_assets_tracking_flag => 'N',
                                          p_distribution_line_number => X_DIS_LINE_NUM,--v_line_number + 1,--
                                          p_line_type_lookup_code =>  'MISCELLANEOUS',--杂项
                                          p_po_distribution_id => null,
                                          p_base_amount => null,
                                          p_pa_addition_flag => null,
                                          p_posted_amount => null,
                                          p_posted_base_amount => null,
                                          p_encumbered_flag => null,
                                          p_accrual_posted_flag => null,
                                          p_cash_posted_flag => null,
                                          p_last_update_login => null,
                                          p_creation_date => null,
                                          p_created_by => null,
                                          p_stat_amount => null,
                                          p_attribute11 => null,
                                          p_attribute12 => null,
                                          p_attribute13 => null,
                                          p_attribute14 => 'N',
                                          p_attribute6 => null,
                                          p_attribute7=> null,
                                          p_attribute8 => null,
                                          p_attribute9 => null,
                                          p_attribute10 => null,
                                          p_attribute15 => 'Y',
                                          p_accts_pay_code_comb_id => null,
                                          p_reversal_flag => null,
                                          p_parent_invoice_id => null,
                                          p_income_tax_region => null,
                                          p_final_match_flag => null,
                                          -- Removed for bug 4277744
                                          -- p_Ussgl_Transaction_Code              VARCHAR2,
                                          -- p_Ussgl_Trx_Code_Context              VARCHAR2,
                                          p_expenditure_item_date => null,
                                          p_expenditure_organization_id => null,
                                          p_expenditure_type => null,
                                          p_pa_quantity => null,
                                          p_project_id => null,
                                          p_task_id => null,
                                          p_quantity_variance => null,
                                          p_base_quantity_variance => null,
                                          p_packet_id => null,
                                          p_awt_flag => null,
                                          p_awt_group_id => null,
                                          p_pay_awt_group_id => null, --bug6639866
                                          p_awt_tax_rate_id => null,
                                          p_awt_gross_amount => null,
                                          p_reference_1 => null,
                                          p_reference_2 => null,
                                          p_org_id => :parameter.g_org_id,--------------------------------
                                          p_other_invoice_id => null,
                                          p_awt_invoice_id => null,
                                          p_awt_origin_group_id => null,
                                          p_program_application_id => null,
                                          p_program_id => null,
                                          p_program_update_date => null,
                                          p_request_id => null,
                                          p_tax_recoverable_flag => null,
                                          p_award_id => null,
                                          p_start_expense_date => null,
                                          p_merchant_document_number => null,
                                          p_merchant_name => null,
                                          p_merchant_tax_reg_number => null,
                                          p_merchant_taxpayer_id => null,
                                          p_country_of_supply => null,
                                          p_merchant_reference => null,
                                          p_parent_reversal_id => null,
                                          p_rcv_transaction_id => null,
                                          p_matched_uom_lookup_code => null,
                                         /* p_global_attribute_category   VARCHAR2 DEFAULT NULL,
                                          p_global_attribute1           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute2           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute3           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute4           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute5           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute6           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute7           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute8           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute9           VARCHAR2 DEFAULT NULL,
                                          p_global_attribute10          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute11          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute12          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute13          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute14          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute15          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute16          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute17          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute18          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute19          VARCHAR2 DEFAULT NULL,
                                          p_global_attribute20          VARCHAR2 DEFAULT NULL,*/
                                          p_calling_sequence=>NULL,
                                         /* p_receipt_verified_flag       VARCHAR2 DEFAULT NULL,
                                          p_receipt_required_flag       VARCHAR2 DEFAULT NULL,
                                          p_receipt_missing_flag        VARCHAR2 DEFAULT NULL,
                                          p_justification               VARCHAR2 DEFAULT NULL,
                                          p_expense_group               VARCHAR2 DEFAULT NULL,
                                          p_end_expense_date            DATE DEFAULT NULL,
                                          p_receipt_currency_code       VARCHAR2 DEFAULT NULL,
                                          p_receipt_conversion_rate     VARCHAR2 DEFAULT NULL,
                                          p_receipt_currency_amount     NUMBER DEFAULT NULL,
                                          p_daily_amount                NUMBER DEFAULT NULL,
                                          p_web_parameter_id            NUMBER DEFAULT NULL,
                                          p_adjustment_reason           VARCHAR2 DEFAULT NULL,
                                          p_credit_card_trx_id          NUMBER DEFAULT NULL,
                                          p_company_prepaid_invoice_id  NUMBER DEFAULT NULL,
                                          -- Invoice Lines Project Stage 1
                                          p_rounding_amt                 NUMBER DEFAULT NULL,
                                          p_charge_applicable_to_dist_id NUMBER DEFAULT NULL,
                                          p_corrected_invoice_dist_id    NUMBER DEFAULT NULL,
                                          p_related_id                   NUMBER DEFAULT NULL,
                                          p_asset_book_type_code         VARCHAR2 DEFAULT NULL,
                                          p_asset_category_id            NUMBER DEFAULT NULL,
                                          --ETAX: Invwkb
                                          p_intended_use             VARCHAR2 DEFAULT NULL,**/
                                          p_rcv_charge_addition_flag => 'N');
        EXCEPTION
        	WHEN OTHERS THEN
        	 FND_MESSAGE.DEBUG('给应付发票分配行插值时出现错误 : '||SQLERRM);
        	 raise form_trigger_failure;
        END;
        
        
      
    END;


     

  • 相关阅读:
    前端的一些雕虫小技,从100%和滚动条说起
    这事没完,继续聊spring cloud stream和kafka的这些小事
    简单聊一聊spring cloud stream和kafka的那点事
    是谁,在敲打我窗-CSS雨滴动画效果
    对照谈-官方spring-boot-starter和自定义starter异同分析
    从spring boot发邮件聊到开发的友好性
    抖音抖一抖-SVG和CSS视觉故障艺术小赏
    上位机组态控件PCHMI-PLC地址命名规则
    【C#格式化字符】【C#Chart图表控件】【饼图、柱形图、波形图】
    【PCHMI.DLL】【C#上位机二次开发文档】2021年7月15更新
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299548.html
Copyright © 2020-2023  润新知