Script 1:(Works in Both 11i & R12)

SELECT gcc.segment1
||’.’
||gcc.segment2
||’.’
||gcc.segment3 ACCOUNT,
A1.DESCRIPTION
||’-‘
||A2.DESCRIPTION
||’-‘
|| A3.DESCRIPTION DECS
FROM fnd_flex_values_vl A1,
fnd_flex_values_vl A2,
fnd_flex_values_vl A3,
gl_code_combinations gcc
WHERE a1.flex_value       =gcc.segment1
AND a1.FLEX_VALUE_SET_ID IN
(SELECT FLEX_VALUE_SET_ID
FROM fnd_id_flex_segments
WHERE application_id       = 101
AND id_flex_code           = ‘GL#’
AND enabled_flag           = ‘Y’
AND application_column_name=’SEGMENT1′
)
AND a2.flex_value         =gcc.segment2
AND a2.FLEX_VALUE_SET_ID IN
(SELECT FLEX_VALUE_SET_ID
FROM fnd_id_flex_segments
WHERE application_id       = 101
AND id_flex_code           = ‘GL#’
AND enabled_flag           = ‘Y’
AND application_column_name=’SEGMENT2′
)
AND a3.flex_value         =gcc.segment3
AND a3.FLEX_VALUE_SET_ID IN
(SELECT FLEX_VALUE_SET_ID
FROM fnd_id_flex_segments
WHERE application_id       = 101
AND id_flex_code           = ‘GL#’
AND enabled_flag           = ‘Y’
AND application_column_name=’SEGMENT3′

);

Script 2: ( Applicable in R12)

SELECT gcc.CONCATENATED_SEGMENTS,
gl_flexfields_pkg.get_concat_description( gcc.chart_of_accounts_id, gcc.code_combination_id) acc_description

FROM gl_code_combinations_kfv gcc;

OPM PROCESS EXECUTION TABLES R12

  • GME_BATCH_HEADER
  • GME_BATCH_HEADER_MIG
  • GME_BATCH_HISTORY
  • GME_BATCH_MAPPING_MIG
  • GME_BATCH_SALES_ORDERS
  • GME_BATCH_STEPS
  • GME_BATCH_STEPS_MIG
  • GME_BATCH_STEP_ACTIVITIES
  • GME_BATCH_STEP_ACTIV_MIG
  • GME_BATCH_STEP_CHARGES
  • GME_BATCH_STEP_CHARGES_MIG
  • GME_BATCH_STEP_DEPENDENCIES
  • GME_BATCH_STEP_DEP_MIG
  • GME_BATCH_STEP_ITEMS
  • GME_BATCH_STEP_ITEMS_MIG
  • GME_BATCH_STEP_RESOURCES
  • GME_BATCH_STEP_RESOURCES_MIG
  • GME_BATCH_STEP_RSRC_SUMMARY
  • GME_BATCH_STEP_TRANSFERS
  • GME_BATCH_STEP_TRANSFERS_MIG
  • GME_BATCH_TXNS_MIG
  • GME_ERES_GTMP
  • GME_EXCEPTIONS_GTMP
  • GME_GANTT_DOCUMENT_FILTER
  • GME_INVENTORY_TXNS_GTMP
  • GME_LAB_BATCH_LOTS
  • GME_MATERIAL_DETAILS
  • GME_MATERIAL_DETAILS_MIG
  • GME_MATERIAL_DISPENSING_GTMP
  • GME_MIGRATION_CONTROL
  • GME_PARAMETERS
  • GME_PENDING_PRODUCT_LOTS
  • GME_PROCESS_PARAMETERS
  • GME_PROCESS_PARAMETERS_MIG
  • GME_RESOURCE_TXNS
  • GME_RESOURCE_TXNS_GTMP
  • GME_RESOURCE_TXNS_MIG
  • GME_RESOURCE_TXNS_SUMMARY
  • GME_SCALE_DETAIL
  • GME_TEMP_EXCEPTIONS
  • GME_TEXT_HEADER
  • GME_TEXT__TL
  • GME_TRANSACTION_PAIRS
  • GME_UNALLOCATED_ITEMS_GTMP
OPM INVENTORY TABLE R12

  • BISOPM_ONHANDSALE_SUM
  • BIS_OPM_PROD_SUM
  • GMI_AUTO_ALLOCATION_BATCH
  • GMI_CATEGORY_SETS
  • GMI_CLOS_WAREHOUSES
  • GMI_DISCRETE_TRANSFERS
  • GMI_DISCRETE_TRANSFER_LINES
  • GMI_DISCRETE_TRANSFER_LOTS
  • GMI_ITEMS_XML_INTERFACE
  • GMI_ITEM_CATEGORIES
  • GMI_ITEM_CONV_AUDIT
  • GMI_ITEM_CONV_AUDIT_DETAILS
  • GMI_ITEM_ORGANIZATIONS
  • GMI_LOTS_CONV_XML_INTERFACE
  • GMI_LOTS_XML_INTERFACE
  • GMI_LOT_TRACE
  • GMI_MASSTRANS_CTL
  • GMI_MIGRATION_PARAMETERS
  • GMI_OBSOLETE_ITEM_COLUMNS
  • GMI_QUANTITY_XML_INTERFACE
  • GMI_SUBLOT_GENERATE
  • GMI_TRAN_TMP
  • IC_ADJS_JNL
  • IC_ALLC_CLS
  • IC_ALOT_PRM
  • IC_CLDR_DTL
  • IC_CLDR_HDR
  • IC_CLDR_HDR_B
  • IC_CLDR_HDR_TL
  • IC_COMD_CDS
  • IC_COST_CLS
  • IC_CRUL_CLS
  • IC_CTMS_CLS
  • IC_CYCL_ADT
  • IC_CYCL_DTL
  • IC_CYCL_ERR
  • IC_CYCL_HDR
  • IC_CYCL_MSC
  • IC_DECM_MST
  • IC_FRGT_CLS
  • IC_GLED_CLS
  • IC_INVN_CLS
  • IC_INVN_TYP
  • IC_ITEM_CDT
  • IC_ITEM_CNV
  • IC_ITEM_CPG
  • IC_ITEM_HIERARCHY
  • IC_ITEM_MST
  • IC_ITEM_MST_B
  • IC_ITEM_MST_B_MIG
  • IC_ITEM_MST_TL
  • IC_ITEM_WHS
  • IC_JRNL_MST
  • IC_LOCT_INV
  • IC_LOCT_MST
  • IC_LOTS_CPG
  • IC_LOTS_MST
  • IC_LOTS_MST_MIG
  • IC_LOTS_STS
  • IC_PERD_BAL
  • IC_PHYS_CNT
  • IC_PHYS_ERR
  • IC_PKGS_MST
  • IC_PLNT_INV
  • IC_PRCE_CLS
  • IC_PRCH_CLS
  • IC_PURG_PRM
  • IC_RANK_MST
  • IC_SALE_CLS
  • IC_SHIP_CLS
  • IC_STAT_RPT
  • IC_STOR_CLS
  • IC_SUMM_INV
  • IC_TAXN_ASC
  • IC_TAXN_CLS
  • IC_TEXT_HDR
  • IC_TEXT_TBL_TL
  • IC_TRAN_ARC
  • IC_TRAN_CMP
  • IC_TRAN_PND
  • IC_TXN_REQUEST_HEADERS
  • IC_TXN_REQUEST_LINES
  • IC_WHSE_INV
  • IC_WHSE_MST
  • IC_WHSE_REL
  • IC_WHSE_STS
  • IC_XFER_MST
  • IN_ADDR_MST
  • IN_CTRY_MST
  • IN_ITEM_MST
  • IN_REGN_MST
  • IN_STAT_CTL
  • IN_STAT_DTL
  • IN_STAT_HDR
  • IN_STAT_MSG
  • IN_TEXT_HDR
  • IN_TEXT_TBL_TL
  • IN_TOFD_MST
  • SY_WF_ITEM_ROLES
YOur Work Flow mailer is triggering Mail often when you clone your Instance and you are unable to test the New stuff using work Flow Mailer 

Here is the solution for the Work flow mailer to stop sending older mails in the Test Instance 

UPDATE WF_NOTIFICATIONS

SET STATUS = ‘CLOSED’
where status =’OPEN’;
UPDATE WF_NOTIFICATIONS
SET MAIL_STATUS = ‘SENT’
where status =’OPEN’;

commit; 
Simple , but very Effective steps to Control your work flow mailer , sending old mails

Check this Steps:

Application Manager — > Application Dashboard ->

Application System– > Dev–> service Components –> Component Details

Set override Address : Dev: Work Flow Notification Mailer

Enter the Over Ride Address : *******. Mail .Com

Update the scripts:

update fnd_svc_comp_param_vals fscpv
set fscpv.PARAMETER_VALUE = ‘<override email address>’
where fscpv.parameter_id in (select fscpt.parameter_id
from fnd_svc_comp_params_tl fscpt
where fscpt.display_name = ‘Test Address’);

If this is Entered he/She will receive all the notification mails which has been triggered in the DEV or UAT 

Step 1Login to “Workflow Administrator Web Applications”
Image

Step 2
Ensure that Notification Mailer is running, and then click on icon as below
Image

Step 3
Click on “View Details”
Image

Step 4.
Click on “Set Override Address”
Image

Step 5.
Finally you can change the email address here. Please read the instructions in red carefully.
Image

Back Orders

·         The Oracle “term” backorder is a “status” on the order line or delivery line indicating that you have tried to release an order for picking in your warehouse, but that the pick release was UNSUCCESSFUL because there was no available inventory.(Backorder can be partial or complete). The Oracle term backorder does NOT mean that you have open purchase orders for the out-of-stock item from your vendors.

·         The term backorder is also used in business a little differently than in Oracle. The term “An item is on backorder” usually means that the item is not in stock, but the shipping company has already placed purchase orders from their suppliers to restock the item.

·         Back Order is when you do not fulfill the Sales Order, or if the inventory is out of stock for delivery to customer.

Back to Back Orders (B2B)


In Drop-ship items are directly shipped to customer from the supplier and only logical receiving is performed in Oracle. In B2B orders items are physically received to Oracle from supplier and later they are shipped to customers.

Ex: When an order for Laptop is placed, you cannot send laptop and charger differently to the customer. If the company is not interested in maintaining the inventory of chargers, B2B is perfect solution as laptop charger order will go out when ever an order is created for laptop.And the charger is received to oracle and can be shipped with the Laptop.

Flow status code of the order line –FSC
Item reservation type ….IRT

1. Enter sales order …source code Internal
2. Book the order, at this time FSC – Supply Eligible
3. Perform progress order … and FSC –PO Req. Requested & IRT inventory
4. Req. Import –FSC –PO Req. Created & IRT external requisition
5. Auto Create PO –FSC – PO created & IRT PO order
6. Perform receiving transaction— FSC Awaiting shipping& IRT Inventory
After this complete the order as normal sales order.

Important Notes:
Items used in Back to back order should be ATO enabled, Build in WIP flag checked and in general planning set the Buy flag.
In B2B order at some point we will physically receive goods before shipping them out, where as in Drop ship goods are directly shipped to Customer
Drop ship order may connect to more than one PO but B2B is connected to single PO.

Requirement: change the Executable field into uppercase within the Concurrent Program Executable screen
 
Follow these steps to make the Executable field uppercase using CUSTOM.pll:
 
1.    Enable show custom events: Log in to the Application Developer responsibility and enable Show Custom Events. Check the blog post for enabling custom events:


Custom events can be enabled through the below navigation:

Once you enable show custom events, oracle will display the name of each and every event that can be trapped using CUSTOM.pll. Using this technique, you can identify the custom event that you need to trap to achieve the desired result.

 Custom Events

 

2.    Gather information: A message box will appear when this form is opened, indicating that the form name is FNDCPMPE, the block name is FND_EXECUTABLES, the field name is USER_EXECUTABLE_NAME, and the event name is WHEN-NEW-FORM-INSTANCE. Note down the names of these components as these will be required in programming CUSTOM.pll. To double-check the name of field, navigate to the Executable field and use the Help/Diagnostics/Examine menu to see the name.
 
3.    Write code in CUSTOM.pll: Open Oracle Forms Builder, highlight PL/SQL Libraries, and navigate from the menu to File | Open. Open the CUSTOM.pll file and expand the nodes. Within the node Attached Libraries, you will see FNDSQF and APPCORE2. Write your logic in a procedure called event, using the following sample syntax:
 
procedure event(event_name varchar2) is
form_name varchar2(30) := name_in(‘system.current_form’);
block_name varchar2(30) := name_in(‘system.cursor_block’);
begin
if form_name=’FNDCPMPE’ then
if event_name=’WHEN-NEW-FORM-INSTANCE’ then
app_item_property2.set_property(‘FND_EXECUTABLES.USER_EXECUTABLE_NAME’,CASE_RESTRICTION, UPPERCASE);
end if;
end if;
end event;
 
OR you can even write your extensions in a package.event(event_name) and call this procedure in package body of custom.event.
 
After making the programming changes to CUSTOM.pll, scroll down to the bottom of the package body Custom and make these changes to the version history of CUSTOM.pll:
 
This code should appear as a sublisting under #3fdrcsid(‘$Header: CUSTOM.pld 120.1 2009/03/03 18:43:00 appldev ship $’);
 
4.    Transfer CUSTOM.pll to $AU_TOP/resource: Log in to the forms server and change the directory to $AU_TOP/resource. Ensure you have a backup of CUSTOM.pll either in the source control system or on the file system. Next, transfer CUSTOM.pll from your desktop to $AU_TOP/resource.
 
5.    Generate CUSTOM.pll: Use the command frmcmp_batch, replacing the apps password with the relevant value on your system. After running this command, CUSTOM.plx will be created in $AU_TOP/resource:
 
cd $AU_TOP/resource
##For R12 use frmcmp_batch
frmcmp_batch module=CUSTOM.pll userid=apps/appspassword output_
file=./CUSTOM.plx compile_all=special module_type=LIBRARY
batch=yes
##For 11i Use f60gen command as shown below
f60gen module=CUSTOM.pll userid=apps/appspassword output_file=./
CUSTOM.plx module_type=LIBRARY
 
6.    Test your changes: Log out and log back in to the Concurrent Program Executable screen. You will notice that it is no longer possible to enter the concurrent program executable name using lowercase letters.
 
 

Concepts: Using the Custom Library

Customizing Oracle E-Business Suite with the CUSTOM Library

The CUSTOM library allows extension of Oracle E-Business Suite without modification of Oracle E-Business Suite code. You can use the CUSTOM library for customizations such as Zoom (such as moving to another form and querying up specific records), enforcing business rules (for example, vendor name must be in uppercase letters), and disabling fields that do not apply for your site.
You write code in the CUSTOM library, within the procedure shells that are provided. All logic must branch based on the form and block for which you want it to run. Oracle E-Business Suite sends events to the CUSTOM library. Your custom code can take effect based on these events.
Important: The CUSTOM library is provided for the exclusive use of Oracle E-Business Suite customers. The Oracle E-Business Suite products do not supply any predefined logic in the CUSTOM library other than the procedure shells described here.

Writing Code for the CUSTOM Library

The CUSTOM library is an Oracle Forms Developer PL/SQL library. It allows you to take full advantage of all the capabilities of Oracle Forms Developer, and integrate your code directly with Oracle E-Business Suite without making changes to Oracle E-Business Suite code.
The as-shipped CUSTOM library is located in the AU_TOP/resource directory (or platform equivalent). Place the CUSTOM library you modify in the AU_TOP/resource directory in order for your code to take effect.
After you write code in the CUSTOM procedures, compile and generate the library using Oracle Forms. Then place this library into $AU_TOP/resource directory (or platform equivalent). Subsequent invocations of Oracle E-Business Suite will then run this new code.


Warning: If there is a .plx (compiled code only) for a library, Oracle Forms Developer always uses the .plx over the .pll. Therefore, either delete the .plx file (so your code runs directly from the .pll file) or create your own .plx file using the Oracle Forms compiler. Using the .plx file will provide better preformance than using the .pll file. Depending on your operating system, a .plx may not be created when you compile and save using the Oracle Forms Developer. Form Builder. In this case, you must generate the library using the Oracle Forms Developer compiler from the command line (using the parameter COMPILE_ALL set to Yes). 

Be aware of the open form environment in which Oracle E-Business Suite operates. Also, each running form has its own database connection.

The following considerations and restrictions apply to the CUSTOM library and any libraries you attach to CUSTOM:

  • You cannot use any SQL in the library. However, you can use a record group to issue SELECT statements, and you can use calls to stored procedures for any other DML operations such as updates, inserts, or deletes.
  • Oracle Forms global variables in your code are visible to all running forms.

Altering Oracle E-Business Suite Code

Frequently you need to know the names of blocks and items within Oracle E-Business Suite forms for your CUSTOM logic. You should use the Examine feature available on the Help->Diagnostics menu while running the form of interest; it will give you easy access to all object names. You should not open Oracle E-Business Suite forms in the Oracle Forms Developer to learn this information.
You should exercise caution when changing any properties or values of items in the form from which CUSTOM logic is invoked.


The CUSTOM library is intended to be a mechanism to augment Oracle code with your own. Using the CUSTOM library to alter Oracle code at runtime may bypass important validation logic and may jeopardize the integrity of your data. You should thoroughly test all logic you add to the CUSTOM library before using it in a production environment.