OracleEBS_R12实用技术开发

  • Upload
    soiree

  • View
    121

  • Download
    0

Embed Size (px)

DESCRIPTION

OracleEBS_R12实用技术开发

Citation preview

  • Oracle ERP R12 .doc

    Oracle ERP R12 E-BUSINESS SUITE

    : Siman.He < > MSN : [email protected]

    : 2008-07-23 : 2008-07-23 : : Demo 1.0

    :

  • Oracle ERP R12 .doc

    50

    10/10/07 1.0

    /

    1 2 3 4

  • Oracle ERP R12 .doc

    ...................................................................................................................................2 ........................................................................................................................5 ....................................................................................................................5 MOAC .................................................................................................................11 R12 .......................................................................................................14 WEB ............................................................................................................15

    1 // Open API .......................18 1 ....................................................................................................................18 2 ....................................................................................................................18 3 ....................................................................................................................19 4 ....................................................................................................................19

    2 R12 ...........................................................20 1 ....................................................................................................................20 2 ....................................................................................................................20

    3 RMA API RMA Open Interface/Open API......................22 1 ....................................................................................................................22 2 ....................................................................................................................22 3 ....................................................................................................................24 4 ....................................................................................................................24

    4 RCV RCV Open Interface/Open API.................................25 1 ....................................................................................................................25 2 ....................................................................................................................27 3 ....................................................................................................................27 4 ....................................................................................................................27

    5 ..........................................................28 1 ........................................................................................................28 2 ....................................................................................................................29 3 ....................................................................................................................31

    6 ..................................................................32 1 ....................................................................................................................32 2 ....................................................................................................................32 3 ....................................................................................................................40 4 ....................................................................................................................40

    7 API ...................................................................................42

  • Oracle ERP R12 .doc

    1 ....................................................................................................................42 2 ....................................................................................................................42 3 ............................................................................................................................42

    8 API ..............................................................................43 1 ....................................................................................................................43 2 ....................................................................................................................43 3 ....................................................................................................................44 4 ....................................................................................................................44

    9 OU ..............................................................................46 1 ............................................................................................................................46 2 ....................................................................................................................46

    10 ...............................................................................47 1 ............................................................................................................................47 2 ....................................................................................................................47 3 ....................................................................................................................49 4 ....................................................................................................................50

  • Oracle ERP R12 .doc

    Oracle ERP R12

    1. CUXD CUXX

    create tablespace CUXD datafile '/u01/oracle/test/db/apps_st/data/cuxd01.dbf' size 200M reuse autoextend on next 100M;

    create tablespace CUXX datafile '/u01/oracle/test/db/apps_st/data/cuxx01.dbf' size 200M reuse autoextend on next 100M;

    2.

    create USER CUX identified by CUX default tablespace CUX temporary tablespace temp

    3.

    GRANT RESOURCE TO CUX; GRANT ANALYZE ANY TO CUX; GRANT CREATE TYPE TO CUX; GRANT CREATE TABLE TO CUX; GRANT CREATE VIEW TO CUX; GRANT ALTER SESSION TO CUX; GRANT QUERY REWRITE TO CUX; GRANT CREATE CLUSTER TO CUX; GRANT CREATE SESSION TO CUX; GRANT CREATE SEQUENCE TO CUX; GRANT CREATE SNAPSHOT TO CUX; GRANT CREATE SYNONYM TO CUX; GRANT CREATE TRIGGER TO CUX; GRANT DROP ANY OUTLINE TO CUX; GRANT DROP ANY INDEX TO CUX; GRANT DROP ANY VIEW TO CUX; GRANT ALTER ANY OUTLINE TO CUX; GRANT CREATE ANY OUTLINE TO CUX; GRANT CREATE DATABASE LINK TO CUX; GRANT EXECUTE ON SYSTEM.AD_DDL TO CUX; GRANT EXECUTE ON SYSTEM.AD_DDL TO CUX;

  • Oracle ERP R12 .doc

    GRANT SELECT ANY TABLE TO CUX; GRANT SELECT ANY SEQUENCE TO CUX;

    CUXD CUXX

    cux_ad_dd.Register_Table('CUX','CUX_XXXX');

    Procedure Register_Table(p_Appl_Short_Name In Varchar2, p_Tab_Name In Varchar2) Is l_Col_Name Varchar2(100); l_Col_Seq Number; l_Col_Type Varchar2(100); l_Col_Width Number; l_Nullable Varchar2(1); l_Translate Varchar2(1); l_Precision Number; l_Scale Number; Cursor c Is Select Column_Name, Column_Id, Data_Type, Data_Length, Nullable, 'N', Data_Precision, Data_Scale From All_Tab_Columns Where Owner = p_Appl_Short_Name And Table_Name = p_Tab_Name Order By Column_Id; Begin /* Register Table Command */ Ad_Dd.Register_Table(Upper(p_Appl_Short_Name), Upper(p_Tab_Name), 'T', 512, 10, 70); /* Register Column Command */ Open c; Loop Fetch c Into l_Col_Name, l_Col_Seq, l_Col_Type, l_Col_Width, l_Nullable, l_Translate, l_Precision, l_Scale; Exit When c%Notfound; Ad_Dd.Register_Column(Upper(p_Appl_Short_Name), Upper(p_Tab_Name), l_Col_Name, l_Col_Seq, l_Col_Type, l_Col_Width, l_Nullable, l_Translate, l_Precision, l_Scale); End Loop; End Register_Table;

  • Oracle ERP R12 .doc

    >>

    XXX Customization Application

    CUX

    CUX_TOP

    XXX

    ORACLE >>ORACLE>"Oracle "

    CUX

    1

    XXX Customization Application

  • Oracle ERP R12 .doc

    *.1 0

    >>ORACLE>""

  • Oracle ERP R12 .doc

    XXX Customization Application

    Oracle APPS

    APPLMGR ( appltest)

    APPLMGR ( appltest)$APPL_TOP cux CUX

    APPL_TOP (/u01/oracle/test/apps/apps_st/appl)

    |

    CUX_TOP (/u01/oracle/test/apps/apps_st/appl /cux/12.0.0)

    |

    ---------------------------------------------------------------------------------

    | | | | | | | | | | | | |

  • Oracle ERP R12 .doc

    admin forms lib html log mesg out reports bin wf setup sql package

    | | | | |

    ---- ---- ---- ----

    | | | | | | | |

    US ZHS US ZHS US ZHS wft sql

    (CUX_TOP) FTP INSTANCE.env APPL_TOP

    INSTANCENAME_HOSTNAME.env TEST.envTEST_erptest.env.XML INSTANCE.env XML

    ####################################################################

    # The CONTEXT_FILE variable stores the location of the context file.

    ####################################################################

    CONTEXT_FILE="/u01/oracle/test/inst/apps/test_ebstest/appl/admin/test_ebstest.xml"

    export CONTEXT_FILE

    CONTEXT_FILE /u01/oracle/test/inst/apps/test_ebstest/appl/admin/test_ebstest.xml test_ebstest.xml CUX_TOP( CUX_TOP AU_TOP)

    /u01/oracle/test/apps/apps_st/appl/cux/12.0.0

    .,Apache R12Apache$INST_TOP/admin/scripts AUTO Config XMLBBS

  • Oracle ERP R12 .doc

    MOAC

    Moac MOAC Oracle Applications Multiple Organizations Access Control Multiple Organizations architecture (Multi-Org) includes a new feature Multiple Organizations Access Control (MOAC) in Release 12. The Access Control feature is backward compatible, which means that there are no code or procedural changes if MOAC is not implemented (i.e. The user is assigned one operating unit for a responsibility). .

    The Access Control feature in Release 12 allows the user to enter or query records in one or more operating units without changing application responsibility. It is the system administrators discretion to either implement the feature or use the same multiple organizations profile option setting available before Release 12 by using the single operating unit mode (i.e. one operating unit for a responsibility).

    In Release 12, the multiple organizations context value is no longer initialized by the FND_GLOBAL.APPS_INITIALIZE routine thereby reducing unnecessary context setting and resource consumption for applications that do not use operating unit context for data security.

    To use the single operating unit mode you must set the "Initialization SQL Statement Custom profile" the "mo_global.init('S',null);" to initialize operating unit context based on the "MO: Operating Unit" profile option and the "MO: Security Profile" profile option should not be set.

    Fresh install of Release 12 Application is enabled with multiple organizations, however, the system administrator must create operating units to use multi organizations sensitive application products. The user can create new operating units in the Accounting Setup Manager page in addition to HRMSs Define Organizations page.

    MOACNote:420787.1 MOAC

    MOACOracle 11i HRMSR12

    1 2 3 FORMOU 1 PL/SQLM Begin MO_GLOBAL.INIT(M) ; End ;

  • Oracle ERP R12 .doc

    2 TAB

    3 FORMPRE-FORM TRIGGERS

    MO_GLOBAL.INIT(M) ; OU ( mo_global.check_access(operating_unit) = 'Y' OR fnd_profile.VALUE('XLA_MO_SECURITY_PROFILE_LEVEL') IS NULL ) OU

    1. HRMS

  • Oracle ERP R12 .doc

    ERPIOINVENTORY ORGANIZATIONMOACOUIOOUIO

    / Profile MO HRMS

  • Oracle ERP R12 .doc

    R12

    R12

    mo_global 1. MO_GLOBAL.INITM MOAC(

    )OUPL/SQLOU 2. MO_GLOBAL.CHECK_ACCESS () OU

    MO_GLOBAL.INITMR12Form

    3. MO_GLOBAL.SET_ORG_ACCESS SESSIONOUorg_id MO_GLOBAL.SET_ORG_ACCESS

    mo_global.set_org_access(p_org_id, NULL, fnd_global.application_short_name); VPDR12

    VPDR12mo_globalformwhen-new-form-instancepre-formFormMO_GLOBAL.INITM

  • Oracle ERP R12 .doc

    WEB

    WEB

    FND Xliff /OA_DOC/ Xliff /OA_DOC/ Profile

    FND FND $INST_TOP

  • Oracle ERP R12 .doc

    Apache .

    FormWEB

    WEBSQL WEB TAB

    VO,VOSQL

    VOVOXMLDownload ($JAVA_TOP/)

  • Oracle ERP R12 .doc

    WEB Discover R12 WEB Discover MO_GLOBAL.INITM WEB Discover Form oracle Profile SQL - , BEGIN mo_global.init('M'); END ; Site

  • Oracle ERP R12 .doc

    1 //Open API

    1 MTL_ONHAND_QUANTITIES

    TRANSACTION_QUANTITY ++++ MTL_RESERVATIONS (MTL_MATERIAL_TRANSACTIONS_TEMP)

    2 /*-------------------------------------------------------------------------------- $ Header PTAC , SKip Siman He , 2008.03.25 * Procedure GET_ITEM_ATT_QTY * Purpose : ---------------------------------------------------------------------------- */ FUNCTION get_item_att_qty(p_item_id NUMBER, p_organization_id NUMBER, p_subinventory_code VARCHAR2) RETURN NUMBER IS l_onhand_qty NUMBER; l_resv_qty NUMBER; l_qoh NUMBER; l_rqoh NUMBER; l_qr NUMBER; l_qs NUMBER; l_att NUMBER; l_atr NUMBER; l_tree_mode NUMBER; l_msg_count VARCHAR2(100); l_msg_data VARCHAR2(1000); l_return_status VARCHAR2(1); x_return VARCHAR2(1); BEGIN -- Transact mode l_tree_mode := 2; inv_quantity_tree_pub.clear_quantity_cache; inv_quantity_tree_pub.query_quantities p_api_version_number => 1.0, p_init_msg_lst => 'F', x_return_status => l_return_status, x_msg_count => l_msg_count, x_msg_data => l_msg_data, p_organization_id => p_organization_id, p_inventory_item_id => p_item_id, p_tree_mode => l_tree_mode, p_is_revision_control => FALSE, p_is_lot_control => FALSE, p_is_serial_control => FALSE, p_revision => NULL, p_lot_number => NULL, p_lot_expiration_date => NULL, p_subinventory_code => p_subinventory_code, p_locator_id => NULL, p_onhand_source => inv_quantity_tree_pvt.g_all_subs, x_qoh => l_qoh, x_rqoh => l_rqoh, x_qr => l_qr,

  • Oracle ERP R12 .doc

    x_qs => l_qs, x_att => l_att, -- x_atr => l_atr); -- RETURN l_att; END;

    3

    4

  • Oracle ERP R12 .doc

    2 R12

    1 R12

    2

    1. AR_CUSTOMERS

    2. SHIP_TO cust_acct_site_id address_id site_use_id AR SHIP_TO/BILL_TO OM SHIP_TO/BILL_TO

    SELECT site.site_use_id, acs.customer_id, acs.customer_number customer_num, acs.customer_name customer_name, site.cust_acct_site_id customer_site_id, site.location customer_site_code, loc.city customer_city, loc.address1, loc.address2, loc.address3, loc.address4 FROM ar_customers acs, hz_cust_site_uses_all site, hz_cust_acct_sites_all acct_site, hz_party_sites party_site, hz_locations loc WHERE acct_site.party_site_id = party_site.party_site_id AND party_site.location_id = loc.location_id AND acct_site.cust_account_id = acs.customer_id AND acct_site.cust_acct_site_id = site.cust_acct_site_id AND site.site_use_code = 'SHIP_TO' AND site.status = 'A' AND acct_site.status = 'A'

    3. AR_CONTACTS_V

    SELECT acv.contact_id, acv.customer_id, acv.address_id, acv.first_name, acv.last_name, acv.contact_party_id, acv.party_relationship_id, acv.rel_party_id FROM ar_contacts_v acv WHERE contact_id = 1040

  • Oracle ERP R12 .doc

    CONTACT_PARTY_ID

    HZ_PARTIES.PARTY_ID = CONTACT_PARTY_ID

    REL_PARTY_ID

    4

    PARTY_RELATIONSHIP_ID

    Party_id HZ_RELATIONSHIPSHZ_RELATIONSHIPS.RELATIONSHIP_ID = PARTY_RELATIONSHIP_ID

    4. /WEB/Mailer

    SELECT acv.contact_id, acv.customer_id, acv.address_id, acv.first_name, acv.last_name, acv.contact_party_id, acv.party_relationship_id, acv.rel_party_id, apv.phone_id, apv.contact_point_type, apv.primary_flag, apv.phone_type, apv.phone_number, apv.status FROM ar_contacts_v acv, ar_phones_v apv WHERE acv.contact_id = 1040 AND acv.rel_party_id = apv.owner_table_id AND apv.owner_table_name = 'HZ_PARTIES' AND apv.contact_point_type = 'PHONE' AND apv.status = 'A'

    apv.primary_flag apv.status A,apv.contact_point_type PHONE/ EMAIL/ WEB 3 3 .

    5. /WEB/Mailer

    SELECT apv.phone_id, apv.contact_point_type, apv.primary_flag, apv.phone_type, apv.phone_number, apv.status FROM ar_phones_v apv WHERE apv.owner_table_id = 3202 AND apv.owner_table_name = 'HZ_PARTY_SITES' AND apv.contact_point_type = 'PHONE' AND apv.status = 'A'

    3202 party_id, 4

  • Oracle ERP R12 .doc

    3 RMAAPIRMA Open Interface/Open API

    1 RMA()RMA RCV RCV RMA

    ERP ERP

    2 ERP ,ERP RMA ERP RVCTP

    2 RCV_HEADERS_INTERFACE PROCESSING_STATUS_CODE PENDING RECEIPT_SOURCE_CODE CUSTOMER TRANSACTION_TYPE NEW VALIDATION_FLAG Y AUTO_TRANSACT_CODE DELIVER RCV_TRANSACTIONS_INTERFACE PROCESSING_STATUS_CODE PENDING TRANSACTION_STATUS_CODE PENDING PROCESSING_MODE_CODE BATCH RECEIPT_SOURCE_CODE CUSTOMER TRANSACTION_TYPE RECEIVE VALIDATION_FLAG Y AUTO_TRANSACT_CODE DELIVER DESTINATION_TYPE_CODE INVENTORY INSPECTION_STATUS_CODE NOT INSPECTED

    *.

    rcv_headers_interface_rec rcv_headers_interface%ROWTYPE; rcv_transactions_interface_rec rcv_transactions_interface%ROWTYPE;

    SELECT rcv_headers_interface_s.NEXTVAL INTO l_header_interface_id FROM dual;

  • Oracle ERP R12 .doc

    SELECT ool.line_id, ool.ordered_quantity INTO l_rtn_line_id, l_order_qty FROM oe_order_lines_all ool WHERE flow_status_code = 'AWAITING_RETURN' START WITH ool.line_id = l_line_id CONNECT BY PRIOR ool.line_id = ool.split_from_line_id; rcv_headers_interface_rec.header_interface_id := l_header_interface_id; rcv_headers_interface_rec.group_id := l_group_id; rcv_headers_interface_rec.processing_status_code := 'PENDING'; rcv_headers_interface_rec.receipt_source_code := 'CUSTOMER'; rcv_headers_interface_rec.transaction_type := 'NEW'; rcv_headers_interface_rec.validation_flag := 'Y'; rcv_headers_interface_rec.customer_id := l_customer_id; rcv_headers_interface_rec.auto_transact_code := 'DELIVER'; rcv_headers_interface_rec.expected_receipt_date := l_transaction_date; rcv_headers_interface_rec.last_update_date := SYSDATE; rcv_headers_interface_rec.last_updated_by := fnd_global.user_id; rcv_headers_interface_rec.last_update_login := fnd_global.login_id; rcv_headers_interface_rec.creation_date := SYSDATE; rcv_headers_interface_rec.created_by := fnd_global.user_id; INSERT INTO rcv_headers_interface VALUES rcv_headers_interface_rec; SELECT rcv_transactions_interface_s.NEXTVAL INTO rcv_transactions_interface_rec.interface_transaction_id FROM dual;

    rcv_transactions_interface_rec.header_interface_id := l_header_interface_id; rcv_transactions_interface_rec.group_id := l_group_id; rcv_transactions_interface_rec.processing_status_code := 'PENDING'; rcv_transactions_interface_rec.transaction_status_code := 'PENDING'; rcv_transactions_interface_rec.processing_mode_code := 'BATCH'; rcv_transactions_interface_rec.validation_flag := 'Y'; rcv_transactions_interface_rec.receipt_source_code := 'CUSTOMER'; rcv_transactions_interface_rec.customer_id := l_customer_id; rcv_transactions_interface_rec.customer_site_id := l_customer_site_id; rcv_transactions_interface_rec.oe_order_header_id := l_header_id;

    -- oe_order_line_id rcv_transactions_interface_rec.oe_order_line_id := l_rtn_line_id; rcv_transactions_interface_rec.source_document_code := 'RMA'; rcv_transactions_interface_rec.transaction_type := 'RECEIVE'; rcv_transactions_interface_rec.auto_transact_code := 'DELIVER'; rcv_transactions_interface_rec.destination_type_code := 'INVENTORY'; rcv_transactions_interface_rec.inspection_status_code := 'NOT INSPECTED'; rcv_transactions_interface_rec.validation_flag := 'Y'; rcv_transactions_interface_rec.item_id := l_inventory_item_id; rcv_transactions_interface_rec.transaction_date := l_transaction_date; rcv_transactions_interface_rec.quantity := l_transaction_qty; rcv_transactions_interface_rec.unit_of_measure := l_unit_uom_code; rcv_transactions_interface_rec.to_organization_id := l_organization_id;

    l_rtn_line_id ERP line_id EBS 300 line_id = 1 line_qty = 1000

    LINE_ID LINE_QTY STATUS SPLIT_FROM_LINE_ID 1 300 CLOSED 2 700 AWAITING_RETURN 1

    Line_id = 1 Line_id = 1 Line_id = 2 400

    LINE_ID LINE_QTY STATUS SPLIT_FROM_LINE_ID 1 300 CLOSED

  • Oracle ERP R12 .doc

    2 400 CLOSED 1 3 300 AWAITING_RETURN 2

    RMA RMA Release WSH_PICKING_BATCHES_PUB.RELEASE_BATCH R12 trace

    3 PO_INTERFACE_ERROR Log Log

    4

  • Oracle ERP R12 .doc

    4 RCVRCV Open Interface/Open API

    1 Oracle EBS RCV (RMA)

    Oracle ERP Other System Other System ERP Other System ERP

    PO_DISTRIBUTION_ID

    PO_DISTRIBUTION_ID PARENT_TRANSACTION_ID

    PO_LINE_LOCATION_ID PO_DISTRIBUTION_ID PO_LINE_LOCATION_ID + SHIPMENT_LINE_ID RCV_TRANSACTION .

    PO_LINE_LOCATION_ID PO_DISTRIBUTION_ID PO_DISTRIBUTION_ID PO_DISTRIBUTION_ID RCV_TRANSACTION Receive PO_DISTRIBUTION_ID RCV_TRANSACTION

    PO MTL_Supply PO_DISTRIBUTION_ID

  • Oracle ERP R12 .doc

    MTL_Supply SUPPLY_TYPE_CODE POSHIPMENT_HEADER_ID SHIPMENT_LINE_ID

    SUPPLY_TYPE_CODE RECEIVINGSHIPMENT_HEADER_ID SHIPMENT_LINE_ID RCV_TRANSACTION_ID RCV_SUPPLY RCV_TRANSACTIONS PO_LINE_LOCATION_ID

    MTL_Supply PARENT_TRANSACTION_ID

    API PO_DISTRIBUTION_ID PO_LINE_LOCATION_ID PO_LINE_LOCATION_ID

    API PO_DISTRIBUTION_ID GROUP_ID PO_LINE_LOCATION_ID PO_LINE_LOCATION_ID PO_LINE_LOCATION_ID PO_DISTRIBUTION_ID PO_DISTRIBUTION_ID 0

    API PO_DISTRIBUTION_ID GROUP_ID PO_DISTRIBUTION_ID

  • Oracle ERP R12 .doc

    2 RCV

    RCV >

    3 RCV

    PO_INTERFACE_ERROR DEBUG

    4 RCV

  • Oracle ERP R12 .doc

    5

    1 Oracle ERP Oracle ERP

    ()

    LOV

    Oracle Form

  • Oracle ERP R12 .doc

    Excel CE_BANK_STMT_INT_MAP_V CE_BANK_STMT_MAP_HDR_V ( OU,) STATEMENT_NUMBER

    2 123456,7 Excle

    , cell_1, cell_2 .. cell_7 INSERT INTO cux_temp_matrix_cells (working_id, line_no, cell_1, cell_2, cell_3, cell_4, cell_5, cell_6, cell_7, cell_8, cell_9, cell_10, cell_11, cell_12, cell_13, cell_14, cell_15,

  • Oracle ERP R12 .doc

    cell_16, cell_17, cell_18, cell_19, cell_20, cell_21, cell_22, cell_23, cell_24, cell_25, cell_26, cell_27, cell_28, cell_29, cell_30) VALUES (p_working_id, p_line_no, upper(r_cells(1)), r_cells(2), r_cells(3), r_cells(4), r_cells(5), r_cells(6), r_cells(7), r_cells(8), r_cells(9), r_cells(10), r_cells(11), r_cells(12), r_cells(13), r_cells(14), r_cells(15), r_cells(16), r_cells(17), r_cells(18), r_cells(19), r_cells(20), r_cells(21), r_cells(22), r_cells(23), r_cells(24), r_cells(25), r_cells(26), r_cells(27), r_cells(28), r_cells(29), r_cells(30));

    SQL

    l_stmt_header_sql := 'insert into cux_ce_statement_headers_int(' || l_map_cloumn_h || ') ' || 'select ' || l_temp_cloumn_h || ' from cux_temp_matrix_cells where ' || '(' || l_stmt_column_h || ' = ' || '''' || l_stmt_value || '''' || ' and rownum =1 )'; EXECUTE IMMEDIATE l_stmt_header_sql;

    l_map_cloumn_h l_temp_cloumn_h Excle l_stmt_column_h l_stmt_value

    l_stmt_line_sql := 'insert into cux_ce_statement_lines_int(' || l_map_cloumn_l || ') ' || 'select ' || l_temp_cloumn_l || ',' || '''' || l_account_num || '''' || ' bank_account_num from cux_temp_matrix_cells where ' || l_stmt_column_l || ' = ' || '''' || l_stmt_value || ''''; EXECUTE IMMEDIATE l_stmt_line_sql;

  • Oracle ERP R12 .doc

    cux_ce_statement_lines_int cux_ce_statement_headers_int ce_statement_headers_int ce_statement_lines_interface

    CSV l_req_id := fnd_request.submit_request('CE',

    'ARPLABIM', NULL, NULL, FALSE, 'IMPORT', g_bank_branch_id, NULL, NULL, NULL, NULL, NULL, to_char(SYSDATE, 'YYYY/MM/DD HH24:MI:SS'), NULL, NULL, NULL, NULL, NULL, NULL, 'N', NULL);

    20

    cux_ce_statement_imp_pkg.pck

    3 11222333444, csv |

  • Oracle ERP R12 .doc

    6

    1 Oracle ERP ERP

    +++ ++ +++ ++

    3

    1 AP/AR/GL

    2

    3

    4

    2

    CE_AUTO_BANK_MATCH CUX_POPULATE_AVAILABLE_GT POPULATE_AVAILABLE_GT /*----------------------------------------------------------------- $ Header PATC , SKip (Siman.he) , 2008.01.16 * Version 1.0 * Purpose : AR/AP/GL * Logic PTAC AR/AP/GL CASH: cux_ce_222_transactions_v JE_CREDIT: GL cux_ce_101_transactions_v JE_DEBIT: GL cux_ce_101_transactions_v MISC: cux_ce_222_transactions_v PAYMENT: cux_ce_200_transactions_v REFUND: cux_ce_200_transactions_v -----------------------------------------------------------------*/ PROCEDURE cux_populate_available_gt(p_bank_account_id NUMBER) IS l_inserted_count NUMBER; BEGIN ce_auto_bank_rec.debug('>>CE_AUTO_BANK_MATCH.cux_populate_available_gt');

  • Oracle ERP R12 .doc

    -- clean up the temp table DELETE ce_available_transactions_tmp;

    /*---------------------------------------------------------- $ Header PTAC Skip , siman.he 2008.01.14 * Function Description : AP -------------------------------------------------------- */ IF ce_auto_bank_match.av_200_inserted_flag = 'N' THEN ce_auto_bank_rec.debug('inserting data from ce_200_transactions_v'); INSERT INTO ce_available_transactions_tmp (seq_id, row_id, multi_select, bank_account_id, bank_account_name, bank_account_num, bank_name, bank_branch_name, trx_id, trx_type, type_meaning, trx_number, check_number, currency_code, amount, bank_account_amount, amount_cleared, gl_date, status_dsp, status, trx_date, cleared_date, maturity_date, exchange_rate_date, exchange_rate_type, user_exchange_rate_type, exchange_rate, bank_charges, bank_errors, batch_name, batch_id, agent_name, customer_name, payment_method, vendor_name, customer_id, supplier_id, reference_type_dsp, reference_type, reference_id, actual_amount_cleared, creation_date, created_by, last_update_date, last_updated_by, remittance_number, cash_receipt_id, application_id, count_cleared, bank_currency_code, trx_currency_type, code_combination_id,

  • Oracle ERP R12 .doc

    period_name, journal_entry_name, document_number, journal_entry_line_number, clearing_trx_type, journal_category, base_amount, receipt_class_id, receipt_method_id, receipt_class_name, deposit_date, value_date, reversed_receipt_flag, legal_entity_id, org_id, ce_bank_acct_use_id, reconciled_status_flag) SELECT ce_available_transactions_s.NEXTVAL, row_id, multi_select, bank_account_id, bank_account_name, bank_account_num, bank_name, bank_branch_name, trx_id, trx_type, type_meaning, trx_number, check_number, currency_code, amount, bank_account_amount, amount_cleared, gl_date, status_dsp, status, trx_date, cleared_date, maturity_date, exchange_rate_date, exchange_rate_type, user_exchange_rate_type, exchange_rate, bank_charges, bank_errors, batch_name, batch_id, agent_name, customer_name, payment_method, vendor_name, customer_id, supplier_id, reference_type_dsp, reference_type, reference_id, actual_amount_cleared, creation_date, created_by, last_update_date, last_updated_by, remittance_number, cash_receipt_id, application_id, count_cleared, bank_currency_code, trx_currency_type, code_combination_id, period_name, journal_entry_name, document_number,

  • Oracle ERP R12 .doc

    journal_entry_line_number, clearing_trx_type, journal_category, base_amount, receipt_class_id, receipt_method_id, receipt_class_name, deposit_date, value_date, reversed_receipt_flag, legal_entity_id, org_id, ce_bank_acct_use_id, 'N' FROM cux_ce_200_transactions_v WHERE bank_account_id = p_bank_account_id; ce_auto_bank_match.av_200_inserted_flag := 'Y'; END IF; /*---------------------------------------------------------- $ Header PTAC Skip , siman.he 2008.01.14 * Function Description : AR -------------------------------------------------------- */ IF ce_auto_bank_match.av_222_inserted_flag = 'N' THEN -- AP data has not been inserted into the GT table ce_auto_bank_rec.debug('inserting data from ce_222_transactions_v'); INSERT INTO ce_available_transactions_tmp (seq_id, row_id, multi_select, bank_account_id, bank_account_name, bank_account_num, bank_name, bank_branch_name, trx_id, trx_type, type_meaning, trx_number, check_number, currency_code, amount, bank_account_amount, amount_cleared, gl_date, status_dsp, status, trx_date, cleared_date, maturity_date, exchange_rate_date, exchange_rate_type, user_exchange_rate_type, exchange_rate, bank_charges, bank_errors, batch_name, batch_id, agent_name, customer_name, payment_method, vendor_name, customer_id, supplier_id, reference_type_dsp, reference_type, reference_id, actual_amount_cleared,

  • Oracle ERP R12 .doc

    creation_date, created_by, last_update_date, last_updated_by, remittance_number, cash_receipt_id, application_id, count_cleared, bank_currency_code, trx_currency_type, code_combination_id, period_name, journal_entry_name, document_number, journal_entry_line_number, clearing_trx_type, journal_category, base_amount, receipt_class_id, receipt_method_id, receipt_class_name, deposit_date, value_date, reversed_receipt_flag, legal_entity_id, org_id, ce_bank_acct_use_id, reconciled_status_flag) SELECT ce_available_transactions_s.NEXTVAL, row_id, multi_select, bank_account_id, bank_account_name, bank_account_num, bank_name, bank_branch_name, trx_id, trx_type, type_meaning, trx_number, check_number, currency_code, amount, bank_account_amount, amount_cleared, gl_date, status_dsp, status, trx_date, cleared_date, maturity_date, exchange_rate_date, exchange_rate_type, user_exchange_rate_type, exchange_rate, bank_charges, bank_errors, batch_name, batch_id, agent_name, customer_name, payment_method, vendor_name, customer_id, supplier_id, reference_type_dsp, reference_type, reference_id, actual_amount_cleared, creation_date, created_by, last_update_date,

  • Oracle ERP R12 .doc

    last_updated_by, remittance_number, cash_receipt_id, application_id, count_cleared, bank_currency_code, trx_currency_type, code_combination_id, period_name, journal_entry_name, document_number, journal_entry_line_number, clearing_trx_type, journal_category, base_amount, receipt_class_id, receipt_method_id, receipt_class_name, deposit_date, value_date, reversed_receipt_flag, legal_entity_id, org_id, ce_bank_acct_use_id, 'N' FROM cux_ce_222_transactions_v WHERE bank_account_id = p_bank_account_id; ce_auto_bank_match.av_222_inserted_flag := 'Y'; END IF;

    /*---------------------------------------------------------- $ Header PTAC Skip , siman.he 2008.01.14 * Function Description : -------------------------------------------------------- */ IF ce_auto_bank_match.av_101_inserted_flag = 'N' THEN ce_auto_bank_rec.debug('inserting data from ce_101_transactions_v'); INSERT INTO ce_available_transactions_tmp (seq_id, row_id, multi_select, bank_account_id, bank_account_name, bank_account_num, bank_name, bank_branch_name, trx_id, trx_type, type_meaning, trx_number, check_number, currency_code, amount, bank_account_amount, amount_cleared, gl_date, status_dsp, status, description, trx_date, cleared_date, maturity_date, exchange_rate_date, exchange_rate_type, user_exchange_rate_type, exchange_rate, bank_charges, bank_errors,

  • Oracle ERP R12 .doc

    batch_name, batch_id, agent_name, customer_name, payment_method, vendor_name, customer_id, supplier_id, reference_type_dsp, reference_type, reference_id, actual_amount_cleared, creation_date, created_by, last_update_date, last_updated_by, remittance_number, cash_receipt_id, application_id, count_cleared, bank_currency_code, trx_currency_type, code_combination_id, period_name, journal_entry_name, document_number, journal_entry_line_number, clearing_trx_type, journal_category, base_amount, receipt_class_id, receipt_method_id, receipt_class_name, deposit_date, value_date, reversed_receipt_flag, legal_entity_id, org_id, ce_bank_acct_use_id, reconciled_status_flag) SELECT ce_available_transactions_s.NEXTVAL, row_id, multi_select, bank_account_id, bank_account_name, bank_account_num, bank_name, bank_branch_name, trx_id, trx_type, type_meaning, trx_number, check_number, currency_code, amount, bank_account_amount, amount_cleared, gl_date, status_dsp, status, description, trx_date, cleared_date, maturity_date, exchange_rate_date, exchange_rate_type, user_exchange_rate_type, exchange_rate, bank_charges, bank_errors, batch_name, batch_id,

  • Oracle ERP R12 .doc

    agent_name, customer_name, payment_method, vendor_name, customer_id, supplier_id, reference_type_dsp, reference_type, reference_id, actual_amount_cleared, creation_date, created_by, last_update_date, last_updated_by, remittance_number, cash_receipt_id, application_id, count_cleared, bank_currency_code, trx_currency_type, code_combination_id, period_name, journal_entry_name, document_number, journal_entry_line_number, clearing_trx_type, journal_category, base_amount, receipt_class_id, receipt_method_id, receipt_class_name, deposit_date, value_date, reversed_receipt_flag, legal_entity_id, org_id, ce_bank_acct_use_id, 'N' FROM cux_ce_101_transactions_v WHERE bank_account_id = p_bank_account_id; ce_auto_bank_match.av_101_inserted_flag := 'Y'; END IF; SELECT COUNT(1) INTO l_inserted_count FROM ce_available_transactions_tmp; /*---------------------------------------------------------- $ Header PTAC Skip , siman.he 2008.01.14 * Function Description : Debug -------------------------------------------------------- */ IF ce_auto_bank_rec.g_ce_debug_flag NOT IN ('Y', 'C') THEN DELETE FROM cux_ce_auto_bank_temp; INSERT INTO cux_ce_auto_bank_temp SELECT * FROM ce_available_transactions_tmp; COMMIT; END IF; ce_auto_bank_rec.debug('l_inserted_count=' || l_inserted_count); EXCEPTION WHEN OTHERS THEN ce_auto_bank_rec.debug('EXCEPTION: cux_populate_available_gt' || SQLERRM); RAISE; END cux_populate_available_gt;

    *. View View View

  • Oracle ERP R12 .doc

    AP/AR/GL match_engine Copy match_engine CUX_MATCH_LINE

    ce_auto_bank_match.pck ce_auto_bank_rec.pck

    3

    debug debug

    4 Oracle R12 12.01 12.0.4 Bug .

    CE_STATEMENT_RECONCILS_ALL JE_HEADER_ID REFERENCE_ID

  • Oracle ERP R12 .doc

    JE_HEADER_ID JE_LINE_NUM CE_STATEMENT_RECONCILS_ALL CURRENT_RECORD_FLAG Y . CURRENT_RECORD_FLAG N , CE_STATEMENT_RECONCILS_ALL STATEMENT_LINE_ID ID CURRENT_RECORD_FLAG Y JE_HEADER_ID REFERENCE_ID JE_HEADER_ID JE_LINE_NUM CURRENT_RECORD_FLAG= Y

    :

    Oracle Patch ce_statement_recons_pkg_6888494.pkb ce_statement_recons_pkg_6888494.pkb CURRENT_RECORD_FLAG N .

  • Oracle ERP R12 .doc

    7 API

    1 API

    API profile HZ R12.0.4 API oe_order_pub.process_order OE_Validate_Header Attributes OE_ORDER_CACHE.IS_FLEX_ENABLED('OE_HEADER_ATTRIBUTES') Profile ATTRIBUTE API

    2 API API OE_Validate_Header.Attributes

    API

    3 API API

  • Oracle ERP R12 .doc

    8 API

    1 Oracle EBS 3

    2 'AWAITING_SHIPPING';

    /*---------------------------------------------------------------------------- $ Header PTAC , SKip Siman He , 2008.0.17 * FUNCTION : VALIDATE_SHIP_QTY * Version 1.0 * Purpose : * -------------------------------------------------------------------------- */ PROCEDURE oe_split_line(p_line_id IN NUMBER, p_ship_qty IN NUMBER, p_inv_item_id IN NUMBER, o_spilted_line_id OUT NUMBER, o_errcode OUT NUMBER, o_errmsg OUT VARCHAR2) IS x_return_status VARCHAR2(100); x_line_id NUMBER; CURSOR csr_order_info IS SELECT line.ordered_quantity qty, line.order_quantity_uom uom, line.line_id, line.request_date, line.ship_from_org_id, line.ship_to_org_id, head.header_id, head.org_id, head.order_number, line.line_number FROM oe_order_headers_all head, oe_order_lines_all line WHERE line.header_id = head.header_id AND line.line_id = p_line_id AND line.flow_status_code = 'AWAITING_SHIPPING'; l_order_info csr_order_info%ROWTYPE; l_line_tab oe_oe_form_line.split_line_tbl_type; l_status VARCHAR2(2000); l_msg_count VARCHAR2(2000); l_msg_data VARCHAR2(2000); BEGIN o_errcode := 0; OPEN csr_order_info; FETCH csr_order_info

  • Oracle ERP R12 .doc

    INTO l_order_info; CLOSE csr_order_info; /*fnd_global.apps_initialize(user_id => 2881, resp_id => 21623, resp_appl_id => 660);*/ IF l_order_info.qty > p_ship_qty THEN l_line_tab(1).line_id := l_order_info.line_id; l_line_tab(1).ordered_quantity := l_order_info.qty - p_ship_qty; l_line_tab(1).ship_to_org_id := l_order_info.ship_to_org_id; l_line_tab(1).request_date := l_order_info.request_date; l_line_tab(1).ship_from_org_id := l_order_info.ship_from_org_id; l_line_tab(2).ordered_quantity := p_ship_qty; l_line_tab(2).ship_to_org_id := l_order_info.ship_to_org_id; l_line_tab(2).request_date := l_order_info.request_date; l_line_tab(2).ship_from_org_id := l_order_info.ship_from_org_id; oe_oe_form_line.split_line(p_split_by => 'USER', x_line_tbl_type => l_line_tab, p_change_reason_code => NULL, p_change_comments => NULL, x_return_status => l_status, x_msg_count => l_msg_count, x_msg_data => l_msg_data); IF l_status = 'S' THEN SELECT line_id INTO o_spilted_line_id FROM oe_order_lines_all ool WHERE flow_status_code = 'AWAITING_SHIPPING' AND ool.ordered_quantity = p_ship_qty AND ool.split_from_line_id = l_order_info.line_id AND rownum = 1; ELSE o_spilted_line_id := NULL; o_errcode := -20001; o_errmsg := l_msg_data; RETURN; END IF; END IF; EXCEPTION WHEN OTHERS THEN o_spilted_line_id := NULL; o_errcode := -20001; o_errmsg := SQLERRM; END;

    3

    4 API ORG_ID MOAC() ORG_ID MOAC , OU OU session OU

    mo_global.set_org_access(p_org_id, NULL, fnd_global.application_short_name);

  • Oracle ERP R12 .doc

  • Oracle ERP R12 .doc

    9 OU

    1 R12

    GL_INTERFACE OU OU

    OU

    2 Oracle EBS GL_INTERFACEGL_INTERFACE_CONTROL

    Group_id GL_INTERFAC GL_INTERFACE_CONTROL OU Group_id OU R12 MOAC()

  • Oracle ERP R12 .doc

    10

    1 R12

    Oracle AR /AR /AP /AP

    Oracle Table xla_events, xla_ae_headers , xla_ae_lines , xla_transaction_entities,ra_cust_trx_line_gl_dist_all,gl_import_references

    1 xla_events xla_ae_headers xla_ae_lines gl_import_references

    2 xla_ae_headers , xla_ae_lines xla_transaction_entities source_id_int_1 ID

    2

    2 -- AP Payments

    SELECT aca.check_id source_id, aca.check_number source_num, aca.org_id, hou.NAME company_name, h.period_name, h.accounting_date, aca.status_lookup_code, te.ledger_id, h.application_id, te.entity_code, l.code_combination_id, fnd_flex_ext.get_segs('SQLGL', 'GL#', gl.chart_of_accounts_id, l.code_combination_id) account, xla_oa_functions_pkg.get_ccid_description(gl.chart_of_accounts_id, l.code_combination_id) account_description, ap_checks_pkg.get_posting_status(aca.check_id) posting_flag, fnd_flex_keyval.segment_value(1) company_code, fnd_flex_keyval.segment_value(3) type_name, l.accounting_class_code, h.balance_type_code, h.completed_date, l.accounted_dr, l.accounted_cr, l.currency_code, l.entered_dr, l.entered_cr FROM xla_ae_headers h,

  • Oracle ERP R12 .doc

    xla_ae_lines l, xla_events e, xla_transaction_entities te, gl_ledgers gl, ap_checks_all aca, hr_operating_units hou WHERE e.event_id = h.event_id AND e.application_id = h.application_id AND h.ae_header_id = l.ae_header_id AND h.application_id = l.application_id AND nvl(nvl(accounted_cr, accounted_dr), 0) 0 AND h.application_id = 200 AND gl.ledger_id = h.ledger_id AND te.application_id = h.application_id AND te.entity_id = h.entity_id AND te.entity_code = 'AP_PAYMENTS' AND te.ledger_id = 2022 AND nvl(te.source_id_int_1, -99) = aca.check_id AND hou.organization_id = aca.org_id AND ap_checks_pkg.get_posting_status(aca.check_id) IN ('Y', 'P') AND h.period_name = p_period_name AND (mo_global.check_access(aca.org_id) = 'Y');

    -- AP Invioce

    SELECT aia.invoice_id source_id, aia.invoice_num source_num, aia.org_id, hou.NAME company_name, h.period_name, h.accounting_date, aia.invoice_type_lookup_code, te.ledger_id, ap_invoices_pkg.get_approval_status(aia.invoice_id, aia.invoice_amount, aia.payment_status_flag, aia.invoice_type_lookup_code) source_status, l.code_combination_id, fnd_flex_ext.get_segs('SQLGL', 'GL#', gl.chart_of_accounts_id, l.code_combination_id) account, xla_oa_functions_pkg.get_ccid_description(gl.chart_of_accounts_id, l.code_combination_id) account_description, ap_invoices_pkg.get_posting_status(aia.invoice_id) posting_flag, h.application_id, te.entity_code, l.code_combination_id, fnd_flex_keyval.segment_value(1) company_code, fnd_flex_keyval.segment_value(3) type_name, l.accounting_class_code, h.balance_type_code, h.completed_date, l.accounted_dr, l.accounted_cr, l.currency_code, l.entered_dr, l.entered_cr FROM xla.xla_ae_headers h, xla.xla_ae_lines l, xla.xla_events e, xla.xla_transaction_entities te, gl_ledgers gl, ap_invoices_all aia, hr_operating_units hou WHERE e.event_id = h.event_id AND e.application_id = h.application_id AND h.ae_header_id = l.ae_header_id

  • Oracle ERP R12 .doc

    AND h.application_id = l.application_id AND nvl(nvl(accounted_cr, accounted_dr), 0) 0 AND h.application_id = 200 AND gl.ledger_id = h.ledger_id AND te.application_id = h.application_id AND te.entity_id = h.entity_id AND te.entity_code = 'AP_INVOICES' AND te.ledger_id = 2022 AND aia.invoice_id = nvl(te.source_id_int_1, -99) AND hou.organization_id = aia.org_id AND ap_invoices_pkg.get_posting_status(aia.invoice_id) IN ('Y', 'P') AND h.balance_type_code = 'A' AND h.period_name = p_period_name

    -- AR Transaction SELECT l.accounted_dr accounted_dr, l.accounted_cr accounted_cr, fnd_flex_ext.get_segs('SQLGL', 'GL#', 50328, l.code_combination_id) account_description FROM xla_ae_lines l, xla_ae_headers h, xla_transaction_entities te WHERE te.application_id = h.application_id AND te.entity_id = h.entity_id AND h.ae_header_id = l.ae_header_id AND h.application_id = l.application_id AND nvl(nvl(accounted_cr, accounted_dr), 0) 0 AND te.application_id = 222 AND te.entity_code = 'TRANSACTIONS' AND te.source_id_int_1 = l_customer_trx_id ORDER BY h.ae_header_id, l.displayed_line_number; -- AR Receipts SELECT l.accounted_dr accounted_dr, l.accounted_cr accounted_cr, fnd_flex_ext.get_segs('SQLGL', 'GL#', 50328, l.code_combination_id) account_description FROM xla_ae_lines l, xla_ae_headers h, xla_transaction_entities te WHERE te.application_id = h.application_id AND te.entity_id = h.entity_id AND h.ae_header_id = l.ae_header_id AND h.application_id = l.application_id AND nvl(nvl(accounted_cr, accounted_dr), 0) 0 AND te.application_id = 222 AND te.entity_code = 'RECEIPTS' AND te.source_id_int_1 = l_cash_receipt_id ORDER BY h.ae_header_id, l.displayed_line_number;

    -- XLA

    SELECT * FROM gl_import_references gir, xla_ae_lines xal, xla_ae_headers xah, gl_je_headers gjh, gl_je_lines gjl WHERE gir.gl_sl_link_id = xal.gl_sl_link_id AND xal.ae_header_id = xah.ae_header_id AND gir.je_header_id = gjl.je_header_id AND gir.je_line_num = gjl.je_line_num AND gjh.je_header_id = gjl.je_header_id

    3

  • Oracle ERP R12 .doc

    4

    ORACLE(CUX_TOP).,Apache

    MOACMoac/

    R12R12

    WEBWEBWEB Discover

    1 //Open API1 234

    2 R1212

    3 RMAAPIRMA Open Interface/Open API1234

    4 RCVRCV Open Interface/Open API1234

    5 123

    6 1234

    7 API 123

    8 API1234

    9 OU12

    10 1234