Thursday, November 2, 2017

MOVE CONCURRENT PROG DEF FROM ONCE INSTANCE TO ANOTHER INSTANCE

Valueset
=========

$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXRS_CUST_PRICING_TYPE_NEW_VS.ldt VALUE_SET FLEX_VALUE_SET_NAME="XXRS_CUST_PRICING_TYPE_NEW"


Concurrent Program Definition
======================================

FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXRS_WIP_PROD_TIME.ldt PROGRAM APPLICATION_SHORT_NAME="XXRS" CONCURRENT_PROGRAM_NAME="XXRS_WIP_PROD_TIME"


XXRSOE_CUST_PRICING

FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXRSOE_CUST_PRICING.ldt PROGRAM APPLICATION_SHORT_NAME="ONT" CONCURRENT_PROGRAM_NAME="XXRSOE_CUST_PRICING"


Data Definition and Template Registration
======================================

FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD  $XDO_TOP/patch/115/import/xdotmpl.lct XXRS_WIP_PROD_TIME_DD.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME='XXRS' DATA_SOURCE_CODE='XXRS_WIP_PROD_TIME' TMPL_APP_SHORT_NAME='XXRS' TEMPLATE_CODE='XXRS_WIP_PROD_TIME'



DATA_TEMPLATE (Data Source .xml file)
=====================================

java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=290098-vm4.testdb.rsne.com)(PORT=1528))(CONNECT_DATA=(SERVICE_NAME=UAT)))' -LOB_TYPE DATA_TEMPLATE -LOB_CODE XXRS_WIP_PROD_TIME -APPS_SHORT_NAME XXRS -LANGUAGE en -lct_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE $XXRS_WIP_PROD_TIME_D


RTF TEMPLATE (Report Layout .rtf file)
======================================

java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=290098-vm4.testdb.rsne.com)(PORT=1528))(CONNECT_DATA=(SERVICE_NAME=UAT)))' -LOB_TYPE TEMPLATE -LOB_CODE XXRS_WIP_PROD_TIME -APPS_SHORT_NAME XXRS -LANGUAGE en -TERRITORY 00 -lct_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE $XXRS_WIP_PROD_TIME_DT



Bursting File
=============
java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=290098-vm4.testdb.rsne.com)(PORT=1528))(CONNECT_DATA=(SERVICE_NAME=UAT)))" -LOB_TYPE BURSTING_FILE -APPS_SHORT_NAME XXRS  -LOB_CODE  XXRS_ASN_ERROR_RPT -LANGUAGE en  -XDO_FILE_TYPE XML-BURSTING-FILE -FILE_NAME XXRS_ASN_ERROR_RPT_BURST.xml -CUSTOM_MODE FORCE


===================
upload commands
===================

Valueset
=========
$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct XXRS_CUST_PRICING_TYPE_NEW_VS.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


Concurrent Program
===================

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XXRS_WIP_PROD_TIME.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE




Data Definition and Template Registration
======================================

FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl.lct XXRS_WIP_PROD_TIME_DD.ldt


DATA_TEMPLATE (Data Source .xml file)
=====================================

java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=290098-vm4.testdb.rsne.com)(PORT=1528))(CONNECT_DATA=(SERVICE_NAME=UAT)))' -LOB_TYPE DATA_TEMPLATE -LOB_CODE XXRS_WIP_PROD_TIME -XDO_FILE_TYPE XML -FILE_NAME $DATA_FILE_PATH/$DATA_FILE_NAME.xml -APPS_SHORT_NAME XXRS -NLS_LANG en -TERRITORY US -LOG_FILE $LOG_FILE_NAME


RTF TEMPLATE (Report Layout .rtf file)
======================================

java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=290098-vm4.testdb.rsne.com)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=DEV)))' -LOB_TYPE TEMPLATE -LOB_CODE XXRS_ASN_ERROR_RPT -XDO_FILE_TYPE RTF -FILE_NAME $XXRS_TOP/XXRS_ASN_ERROR_RPT_en_US.rtf -APPS_SHORT_NAME XXRS -NLS_LANG en -TERRITORY US -LOG_FILE $LOG_FILE_NAME



Bursting File
=============

java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION  "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=290098-vm4.testdb.rsne.com)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=DEV)))"  -LOB_TYPE BURSTING_FILE -APPS_SHORT_NAME XXRS  -LOB_CODE  XXRS_ASN_ERROR_RPT -LANGUAGE en  -XDO_FILE_TYPE XML-BURSTING-FILE -FILE_NAME XXRS_ASN_ERROR_RPT.xml -CUSTOM_MODE FORCE


Table level Data flow for Order to Cash Flow (Oracle Apps)

In this blog I have highlight some of the KEY tables involved in Order to Cash table. There are lot of database table involves in this flow , but I have highlighted the key table and link between these tables.It help you while desiging the reports &queries. These tables are
OE_ORDER_HEADERS_ALL                  OE_ORDER_LINES_ALL 
WSH_DELIVERY_DETAILS                    WSH_DELIVERY_ASSIGNMENTS
WSH_NEW-DELIVERIES                         WSH_DELIVERY_LEGS
WSH_TRIP_STOPS                                   WSH_TRIPS
M TL_TRX_REQUEST_LINES                MTL_MATERIAL_TRANSACTION_TEMP
OE_SETS                                                     OE_LINE_SETS                     
PO_LINES_ALL                                         MTL_RESERVATIONS
MTL_MATERIAL_TRANSACTIONS_ALL
Data Flow Diagram
    In case you need sql Queries , please feel free to contact me.


    Friday, October 27, 2017

    O2C Order Status in Lines & Shipping in Back End & Front End

    Status
    Lines-Back End
    Front End
    WSH-Back End
    front end
    Triggered Programs
    Entered
    ENTERED
    ENTERED
    -
    -
    Booked
    AWAITING_SHIPPING
    AWAITING_SHIPPING
    R
    Ready to Release
    Pic Release
    AWAITING_SHIPPING
    Awaiting Shipping
    S
    Released to Warehouse
    Pick Selection List Generation,Pick Slip Report
    Pick Confirm
    AWAITING_SHIPPING
    Picked
    Y
    Staged/Pick Confirmed
    Ship Confirm
    AWAITING_SHIPPING
    Picked
    C
    Shipped
    After Runnning Trip Stop
    SHIPPED
    Shipped
    C
    Interfaced
    run Interface Trip Stop - SRS
    After Work flow Bgnd  Process
    CLOSED
    Closed
    C
    Interfaced
    Workflow Background Process
    Invoice
    CLOSED
    Closed
    C
    Interfaced
    Delivery Level='Closed'
    Trip Level='Closed'
    Autoinvoice Master Program,
    Autoinvoice Import Program,
    Prepayment Matching Program (Prepayments Matching Program)


    Oracle Applications : Opening Periods


    What is Period:

    1. An interval of time characterized by the occurrence of a certain condition, event, or phenomenon: a period of economic prosperity.

    2 Geology A unit of time, longer than an epoch and shorter than an era.

    Significance Of Opening Periods in Oracle apps:

    TO OPEN MONTHLY PERIODS OF DIFFERENT MODULES OR NEXT YEAR AND FOLLOW THE BELOW STEPS

    1. HOW TO OPEN INVENTORY PERIODS (INV) :

    Follow the below given navigation path :

    INVENTORY - > ORACLE INVENTORY - > ACCOUNTING CLOSE CYCLE - > INVENTORY ACCOUNTING PERIODS

    Oracle Inventory Periods


    2. HOW TO OPEN PAYABLE PERIODS (AP):

    Follow the below given navigation path :

    PAYABLES - > ORACLE PAYABLES - > ACCOUNTING - > CONTROL PAYABLES PERIODS

    Oracle AR Periods


    3. HOW TO OPEN RECEIVABLE PERIODS (AR) :

    Follow the below given navigation path :

    RECEIVABLES - > ORACLE RECEIVABLES - > CONTROL - > ACCOUNTING - > OPEN/CLOSE PERIODS

    4. HOW TO OPEN GENERAL PERIODS (GL) :

    Follow the below given navigation path :

    GENERAL SUPER LEDGER - > SETUP - > OPEN/CLOSE



    5 Navigate to Purchasing SuperUser->Setup->Financials->Accounting->Control Purchasing Periods , then enter the Fiscal year and click Go button.

    (If it prompts for selecting Operating Unit,select it and click Go button.)

    Oracle Purchasing Periods


    Query to get whether accounting period or not?

    SELECT   application_id
    into     g_application_id
      FROM   fnd_application_tl
     WHERE   application_name = 'Receivables'


    SELECT   SET_OF_BOOKS_ID INTO P_SOB_ID FROM GL_SETS_OF_BOOKS

    P_ACCOUNTING_DATE IS YOUR period

    FUNCTION validate_gl_accounting_date (p_accounting_date   IN DATE,
                                          p_sob_id            IN NUMBER)
       RETURN BOOLEAN
    IS
       v_count   NUMBER := 0;
    BEGIN
       SELECT   COUNT ( * )
         INTO   v_count
         FROM   gl_period_statuses gps
        WHERE       gps.application_id = g_gl_application_id
                AND gps.set_of_books_id = p_sob_id
                AND gps.closing_status IN ('O', 'F')
                AND p_accounting_date BETWEEN NVL (gps.start_date,
                                                   p_accounting_date)
                                          AND  NVL (gps.end_date,
                                                    p_accounting_date);

       IF v_count > 0
       THEN
          RETURN TRUE;
       ELSE
          RETURN FALSE;
       END IF;
    END validate_gl_accounting_date;

    Thursday, October 26, 2017

    Run Concurrent Program from Form: Launch SRS Built In

    Run Concurrent Program from Form: Launch SRS Built In


    Form Personalization to run Concurrent Program from Form 

    Built-in : Launch SRS Program.

    Example :

    Our Requirement is to Run Production Batch Sample Label from Production Batch Form.

    We could completed this requirement through Form Personalization in below steps.

    A)-Define 1 Menu : Special Menu for the Report, that shall show in tools Menu bar.
    B)-Attach Concurrent Program menu with this Special Menu (defined in the above step).
    C)- Store batch id ( For parameter to run your concurrent) in one Global variable.
    D)- In Concurrent Definition window , Assign Global variable value to the Parameter for Batch id.

    Here are the screen shots.

    Requirement is like Below.


    Goto Help --> Diagnostics --> Custom Code --> Personalize.

    Add 1 New Sequence for You personalization, and Select Event as When-New-Form-Instance.



    Goto Actions, and Choose any 1 special Menu.



    Once menu is define, we need to attach Concurrent program to this menu.

    Create new Sequence, for attaching The concurrent program with special menu defined in above step.



    Goto Actions, here we need to define 2 Actions
    1)- Global Variable to store Batch ID for Parameter.
    2)- Attach Concurrent program to the Special Menu.


    Global Variable name should be Logical and unique, as this needs to be pass to your concurrent program.



    Save your work, Till here personalization is done for Concurrent program is attached and run, now Concurrent program will be run , but we have to assign Parameters manually, it will not pick any parameter automatically.

    Step-3, To pass parameters from Batch form automatically.

    GO TOà System adminà applicationà Concurrentà define

    Now we have to attach Global variable from above steps to Concurrent Program.



    Go to Parameters, and then pass global variable from the earlier form i.e, Batch Form.


    Select Batch id parameter.

    Its Default Type Should be SQL Statement.

    Then Pass the 

    “select :GLOBAL.XX_BATCH_ID from dual”

    Now try to run report from Batch form,

    How to call a Concurrent Program from a Special Menu Item?

    Well, we can run our concurrent programs from a Special Menu Item, and if you have a requirement of this sort, you can use the steps below to use Form Personalization Builtin to achieve this task in couple of minutes.
    1] First create the Special Menu Item wherever required through Form Personalization. Here I have added a Special Menu Item called ‘Assign Item to a Subinventory’ to the Form-‘INVIDITM’. For that assign the Trigger Event as ‘WHEN-NEW-FORM-INSTANCE’.
    2] In Actions Tab, choose the type as ‘MENU’ and select the Menu Entry and give a Proper Menu Label.
    3] Create the Concurrent Program which you want to attach to this custom menu item. Once created, assign the program to the Request Group of the Responsibility. Also it is required to add the ‘Lunch SRS Form’ Function (Requests: Submit) to the main menu of that responsibility. If you don’t do this step you may get Form Personalization error in later steps.
    4] Create one more entry in Form Personalization window with Trigger Event as your custom menu item.
    5] Here select the Actions Type as ‘Builtin’ and Builtin Type as ‘Lunch SRS Form’. In the program name give the name of your concurrent program.
    6] Validate and Apply Now
    Once done, you will be able to view the custom menu item in the Form and when you will click it, it opens the SRS Form with your concurrent program.

    Basic Form Personalization steps in oracla apps

    Basic Form Personalization steps in oracla apps

    Oracle has provided a simple and easy feature to implement the customer specific requirements without modifying the underlying forms code or CUSTOM library. Although CUSTOM library still can be used for forms customization to implement the complex business logic, the personalization feature provided in the latest release is easy, faster and requires minimum development effort.
    If user needs to personalize any details in a form like changing field names, adding some validations, etc, then Form Personalization can provide the way out in few simple steps.
    Please follow here to go through Steps with example

    Steps:

    Step – 1:

    Go to the specific form where you need the changes

    Then we need to note down the block and field name which is needed in next steps.
    So keep the cursor on the required field and then Go to Help --> Diagnostics -->Examine


    Note down the Block and Field value.

    Step -2:

    Now the step to do the personalization
    Follow this navigation
    Help Ã  Diagnostics Ã  Custom Code Ã  Personalize

    This will show the Form Personalization window

    Here you need to do the customization as per the requirement.
    As you can see in this form, there are mainly 4 sections
    1.       Rule
    2.       Condition
    3.       Actions
    4.       Context

    Step – 3:

    Rule:

    This is the section where you need to create the rules how your requirement is going to be executed. This section contains 4 segments, Seq, description, Level and Enabled flag.
    Seq : Need to give the Sequence how the rule will execute (a number)
    Description: Write a sort description of the rule which you are going to create
    Level: Select the level where you want the rule to execute
    Enabled: This is the flag which will enable or disable the rule.
    Example:

    Step – 4:

    Condition:

    Now need to set the condition.
    This is the section where you will define when the rule will be executed.
    This section contains 4 segments, Trigger Event, Trigger Object, Condition and Processing mode.
    Trigger Event: This specifies where the rule will be executed. There are mainly 5 types of event which decided the trigger of the rule.

    Trigger Object:  This is the Object in the form which decides at what level the rule will be executed.
    The values can be “<Form Name>”, ‘<Block Name>” or “<Item Name>”
    Condition: Here mention any SQL statement to control the execution of the rule when the mentioned criterion is met.
    Processing Mode: This is the mode where you want the rules to be executed.
    Example:

    Step – 5:

    Actions:

    This decides what will happen when the rule will execute.
    This contains 2 sections.
    Left sections contains Seq, Type, Description, Language, Enabled
    Seq: Mention the Action sequence which this rule will execute
    Type: This is of 4 types, Property, Message, Builtin, Menu.
    This decides which type of action, the rule will perform.
    According to this the right section will come and need to fill the detailed actions.
    Description: Write a description on the action which this will perform.
    Language: Select the language
    Enabled: You can enable or disable the actions here.
    Right Section is a dynamic section; it appears depending on the Type field value in Left section.

    Action Types:

    Property
    The action type “Property” is used to set the properties of the objects. The various objects include
    “Item, Window, and Block etc.”.  Actual object name defined in the form should be entered after selecting the object type.
    Property Name is the property to be changed
    Value is the new desired value for the property.
    The current value of the property will be displayed when clicked on the “Get Value” button.
    Example:
    Object Type = “Item”
    Target Object = “:ORDER.ORDER_NUMBER”
    Property Name = “PROMPT_TEXT”
    Value = “Claim Number”
    The value is interpreted at runtime, so you can use SQL functions and operators. Any value started with “=” operator will be interpreted at runtime; otherwise the value is treated as is entered in the value field

    Message:
    The action type “Message” is used to display custom messages during runtime. Message Type and Description should be entered after selecting the action type as “Message”. The available message types are “Error, Warning, Hint, Question and Debug”. Depending on the response expected from the user, the appropriate message type should be selected.
    Example:
    Message Type = “Hint”
    Message Text = “Please Follow the Date format DD-MON-YYYY”

    Builtin:
    The action type “Builtin” is used to execute the form and AOL API’s. Depending on the API type selected, the parameters should be entered.
    Example:
    Builtin Type = FND_UTILITIES.OPEN_URL
    Argument = http://www.oracle.com

    Menu:
    The action type “Menu” is used to activate the available special menus on the Tools menu.
    Oracle Applications provide 45 special menus under Tools menu which can be used by customers based on their requirements.
    Select the SPECIAL menu which is not used by the form. Menu label is the prompt which appears to the users when Tools menu is invoked, block specifies the blocks for which the special menu should be activated and Icon name is the .ico file name.
    A separator can be created above the activated special menu by selecting the “Render line before menu” checkbox.
    Example:
    Menu Entry = SPECIAL4
    Menu Label = Additional Order Header Information
    Enabled in Blocks(s) = ORDER
    Icon Name = Flower.ico

    Step – 6:

    Context:

    Context manages to whom the personalization should apply. This is similar to the concept of using profile options in Oracle Applications. The various levels are Site, Responsibility, Industry and User. During runtime, the values provided in the context are evaluated and personalization rules will be applied. Usage of context is very vital in implementing the personalization to prevent the inappropriate users accessing these customizations of the form.
    Example:
    Context = Responsibility
    Value = Order Management Super User

    STEP BY STEP ANALYSIS

    Requirement: Don’t allow the user to use more than 1 qty in Order line Qty field during creation of a sales order.

    Solution:

    Step -1:
    Go to the specific form where you need the changes
    Here in this case this will be the Sales Orders form and then Line Items tab.

    Then we need to note down the block and field name which is needed in next steps.
    So keep the cursor on the required field and then Go to Help Ã  Diagnostics Ã  Examine


    Note down the Block and Field value.
    Step -2:
    Help --> Diagnostics --> Custom Code --> Personalize

    Step – 3:
    Fill the Rule section

    Step – 4:
    Fill the Condition section

    Step – 5:
    Fill the Actions section

    Step – 6:
    Fill the context As you need.
    Save this.
    Log out of the application and login again, then in Sales Order line item tab enter Qty field value as 1 and try to save, you can see the message.

    Oracle Fusion - Cost Lines and Expenditure Item link in Projects

    SELECT   ccd.transaction_id,ex.expenditure_item_id,cacat.serial_number FROM fusion.CST_INV_TRANSACTIONS cit,   fusion.cst_cost_distribution_...