Wednesday, October 16, 2019

FNDLOAD and WFLOAD Commands in Oracle applications

Below are a list of FNDLOAD and WFLOAD commands which are used to move FND object from one instance to another instance.

FND OBJECT
DOWONLOAD/
UPLOAD
FNDLOAD COMMAND
Concurrent Programs
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_ORACLE_INTERFACE_PROG.ldt PROGRAM APPLICATION_SHORT_NAME="XXGMS" CONCURRENT_PROGRAM_NAME="XX_CUSTOM_ORACLE_INTERFACE_PROG"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_ORACLE_INTERFACE_PROG.ldt
Request groups
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_MY_REPORT_GROUP_NAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME="XX_MY_REPORT_GROUP_NAME" APPLICATION_SHORT_NAME="XXGMS"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct
Descriptive Flexfields
DOWNLOAD
$FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_PO_REQ_HEADERS_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=PO DESCRIPTIVE_FLEXFIELD_NAME='PO_REQUISITION_HEADERS'
UPLOAD
$FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct XX_PO_REQ_HEADERS_DFF.ldt
DFF against FND_LOOKUPS
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_FND_COMMON_LOOKUPS_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=FND DESCRIPTIVE_FLEXFIELD_NAME='FND_COMMON_LOOKUPS'
DFF against Project Accounting Expenditure Types
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_PA_EXPENDITURE_TYPES_DESC_FLEX_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=PA DESCRIPTIVE_FLEXFIELD_NAME='PA_EXPENDITURE_TYPES_DESC_FLEX'
Lookups
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct XX_LOOKUP.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="AR" LOOKUP_TYPE="XX_LOOKUP_TYPE"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct XX_LOOKUP.ldt
Oracle Menus
DOWNLOAD
$FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct ICX_POR_SSP_HOME.ldt MENU MENU_NAME="ICX_POR_SSP_HOME"
UPLOAD
$FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct ICX_POR_SSP_HOME.ldt
FND Messages (single message)
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct \XX_ICX_POR_LIFECYCLE_PAY_TIP.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME='ICX' MESSAGE_NAME=XX_ICX_POR_LIFECYCLE_PAY_TIP
FND Messages (all the messages within an application)
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct \XX_ALL_GMS_MESSAGES_00.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME='XXGMS'
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_ICX_POR_LIFECYCLE_PAY_TIP.ldt
User definitions from FND_USER
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct ./XX_FND_USER_PASSI.ldt FND_USER USER_NAME='ANILPASSI'
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct ./XX_FND_USER_PASSI.ldt
Profile Option
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct POR_ENABLE_REQ_HEADER_CUST.ldt PROFILE PROFILE_NAME="POR_ENABLE_REQ_HEADER_CUST" APPLICATION_SHORT_NAME="ICX"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct POR_ENABLE_REQ_HEADER_CUST.ldt
Request Set
DOWNLOAD Request Set
FFNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET.ldt REQ_SET REQUEST_SET_NAME="FNDRSSUB4610101_Will_look_like_this"
DOWNLOAD Request Linkage
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET_LINK.ldt REQ_SET_LINKS REQUEST_SET_NAME="FNDRSSUB4610101_Will_look_like_this"
UPLOAD Request Set
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET.ldt
UPLOAD Linkages
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET_LINK.ldt
Responsibility
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_PERSON_RESPY.ldt FND_RESPONSIBILITY RESP_KEY="XX_PERSON_RESPY"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_PERSON_RESPY.ldt
Forms Personalizations
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_PERWSHRG.ldt FND_FORM_CUSTOM_RULES function_name="PERWSHRG-404"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_PERWSHRG.ldt
XML Templates and DD
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl.lct targetldtfile.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME=XXX DATA_SOURCE_CODE=EMP_DD
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl.lct targetldtfile.ldt
Value Sets
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME="value set name"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt 
Profile Option
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct ICSSFORM.ldt FORM FORM_APP_SHORT_NAME='ICIGS' FORM_NAME='ICSSAR%'
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct POR_ENABLE_REQ_HEADER_CUST.ldt
Form
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct POR_ENABLE_REQ_HEADER_CUST.ldt PROFILE PROFILE_NAME="POR_ENABLE_REQ_HEADER_CUST" APPLICATION_SHORT_NAME="ICX"
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct ICSSMENU.ldt
Form Function
DOWNLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct ICSSFUNC.ldt FUNCTION FUNC_APP_SHORT_NAME='ICIGS' FUNCTION_NAME='ICSSAR%'
UPLOAD
FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct ICSSMENU.ldt
Workflow
DOWNLOAD
WFLOAD apps/$passwd 0 Y DOWNLOAD XXWFITEMTYPE.wft
UPGRADE
WFLOAD apps/$pwd 0 Y UPGRADE xxwfitemtype.wft
FORCE
WFLOAD apps/$pwd 0 Y FORCE xxwfitemtype.wft

Sunday, August 4, 2019

O2C CYCLE steps

Steps

  1. Enter sales order
  2. Book the sales order
  3. Pick release ( Release sales order)
  4. Move order
  5. Ship confirm
  6. Create Invoice
  7. Create Receipt
  8. Transfer to General ledger
  9. Journal import
  10. journal posting

  1. CREATE SALES ORDER 
    1. Header
      1. With customer info
    2. Line with item info
    3. Check availability qty of item
    4. Check the bank end tables
      1. OE_ORDER_HEADERS_ALL
        1. Flow_status_code = Entered
      2. OE_ORDER_LINES_ALL
        1. Flow_status_code = Entered 
  2. BOOK SALES ORDER 
    1. Sales order status : booked
    2. Check the back end tables
      1. OE_ORDER_HEADERS_ALL
        1. Flow_status_code = Booked
      2. OE_ORDER_LINES_ALL
        1. (Flow_status_code = Awaiting shipping)
      3. WSH_DELIVERY_DETAILS
        1. RELEASED_STATUS= 'R' (ready to release)
      4. WSH_DELIVERY_ASSIGNMENTS
        1. new row inserted
    3. Backgroud programs
      1. DEMAND INTERFACE PROGRAM
  3. PICK RELEASE ( Release sales order) [ Items in SO must be released from inventory ]
    1. Nav :( Shipping > Release sales order > Release sales order)
    2. search sales order
      1. auto create delivery ,Auto pick confirm, Auto pack delivery, Auto allocate = 'Y'
      2. Click 'Execute now' button
      3. Pick release process completes successfully and calls programs
        1. Auto pack report
        2. shipping exception report
        3. Pick slip report
    3. Back end tables 
      1. WSH_NEW_DELIVERIES ( NEW ROW CREATED)
      2. WSH_DELIVERY_DETAILS
        1. ( if Auto pick confirm = y )
          1. RELEASED_STATUS= 'S' (Release to warehouse)
        2. else do following from step 4 
  4. PICK CONFIRM (Move order )[ Confirning that the released item is picked for shipping ]
    1. (Nav: Inventory super user > Move order > Transact move order)
    2. search with 4th number in 'pick slip report' (batch request number)
      1. click 'view update allocation ' > click Transact button > Transact button will be deactivated
      2. close Transact move order form
    3. Go to order organizer form> search SO number > additional info > deliveries tab > pick status > Staged / Pick confirm
    4. view delivery details button > Delivery line details button >
      1. Line status : Staged / Pick confirm
      2. Next step  field value : ship confirm
  5. SHIP CONFIRM [ Confirming that the item is Shipped at customers location ]
    1. Nav : OM > Shipping > tansactions
    2. query order number
    3. Click on Delivery tab shows > click Ship confirm button 
      1. Enable following  : Yes 
        1. Ship entered qty :  
        2. Create delivery for staged quantities : yes
        3. Set delivery in transit : yes
        4. Create bill of lading : yes
        5. Close trip: yes
      2. Get a message saying : Delivery was successfully confirmed 
    4. Ship confirm will call other programs like, in Run> View request
      1. Interface trip stop
      2. Vehicle load sheet details
      3. Commercial invoice
      4. Packing slip report
      5. Bill of lading
    5. Backend tables
      1. WSH_DELIVERY_DETAILS (RELEASE STATUS = C (means Ship confirm))
      2. OE_ORDER_LINES_ALL (Flow status code = shipped)
      3. MTL_RESERVATIONS( INVENTORY_ITEM_ID = 'o2citem' => table empty > data freezed)\
      4. MTL_ONHAND_QUANTITIES_DETAIL(for item 'o2c' reduces by qty of SO)
      5. MTL_MATERIAL_TRANSACTIONS( for inventory item id > will show 4 rows 
        1. look at transaction qty column  
          1. 1 row for adding items
          2. 1 row > release from Inventory 
          3. 1 for moving to staging area
          4. 1 row > staging to transportation
  6. SO INTERFACE 
    1. Order organizer > SO > additional info >> deliveries > view delivery details >
      1. Line status > interfaced 
      2. next step  field : Not applicable
    2. RA_INTERFACE_LINES_ALL :  (INTERFACE_LINE_ATTRIBUTE1 = SO NUMBER)
      1. Now shipping status will be interfaced 
  7. CREATE INVOICE 
    1. Run Workflow background process
      1. item type : OM standard
      2. process deferred : yes
      3. Process time out : Yes
    2. This calls 2 more programs
      1. ADS ( Auto invoice master)
      2. Auto invoice import
    3. Go to AR > Transactions form
      1. Query the invoice using SO in 'Reference' field 
      2. Note the invoice number
      3. create accounting
    4. Back end tables
      1. Transaction tables
        1. RA_CUSTOMER_TRX_ALL ( TRX NUMBER = INV NUM) - Note CUSTOMER_TRX_ID 
        2. RA_CUSTOMER_TRX_LINES_ALL ( CUSTOMER_TRX_ID = xx)
        3. RA_CUSTOMER_TRX_LINE_GL_DIST_ALL ( CUSTOMER_TRX_ID = xx) -
          1. Look for TAX amount
          2. Find EVENT_ID
      2. Create accounting - SLA
        1. SLA
          1. XLA_EVENTS (where EVENT_ID =xx)
          2. XLA_AE_HEADERS (where EVENT_ID = XX)
          3. XLA_AE_LINES (where AE_HEADER_ID = XX)
      3. Interface
        1. GL_INTERFACE ( Reference26 = EVENT_ID)
      4. GL_TABLES
        1. Create accounting
          1. View request > journal import > view output > note : batch name 
        2. GL resp
        3.  Tables
          1. GL_JE_BATCHES( NAME = BATCH NAME)
          2. GL_JE_HEADERS (JE_BATCH_ID)
          3. GL_JE_LINES (JE_HEADER_ID)
  8. CREATE RECEIPT
    1. Create Reciepts for all the invoices created in previous step
    2. AR > Receipts form ( TRX NUMBER)
  9. TRANSFER TO GL
    1. To transfer the Receivables accounting information to general ledger,
    2. run General Ledger Transfer Program.
      Navigation: Receivables> View Requests
    3. ( We use this for invoices from AUTO INVOICE PROGRAM )
  10. JOURNAL IMPORT
    1. To transfer the data from General Ledger Interface table to General Ledger,
    2. run the Journal Import program from Oracle General Ledger.
    3. Navigation: General Ledger > Journal> Import> Run
  11. JOURNAL POSTING
    1. We have to Post journal batches that we have imported previously to update the account balances in General Ledger.
    2. Navigation: General Ledger> Journals > EnterQuery for the unposted journals for a specific period as shown below.

Custom Business Events - How to Create, Subscribe and Raise

Create Business Event and its Subscription. How to test Business event!!!

Business event will function same as trigger. when ever any create, update or delete action will happen on business event related page it will trigger this Business event. 
We will add any PLSQL function, procedure or any java class to create some action which is related to our requirement.
e.g. if suppose on supplier page we need detail for any updated field then we can assign any custom function in subscription of business event "apps.oracle.pos.supplier.profile"

 To Create Business Event kindly add Workflow Administration Responsibility to your user.
In that responsibility you will find business event setup in below given navigation.
Workflow => Administrator Workflow => Business Events






Press on Create Event Button and enter information for Event Name, Display Name, Owner Name and Owner Tag details as shown in below screenshot.


Click on Apply Button. Then search for xxcust.oracle.test.funcBE in Business event window.
and click on subscription.


Now click on Create subscription Button


Enter system node information and mentioned Action Type as "Custom". and then click on Next Button.


Create custom function which will insert business event related information into temp table.
I have created one function "xxcust_anyevent_log" which have logic to insert business event related detail into custom table.
Mention same function name in PLSQL Rule function section as shown in below given screenshot.


click on Next button. on next page insert information for Owner name and owner Tag and then click on apply button. 


Again go back to business event Tab and search for custom business event name. you confirm business event name and subscription PLSQL function name.

To test this business event click on Test Button.


Enter Event Key as any number and then click on Raise in PLSQL button , It will show you message Event xxcust.oracle.test.funcBE is raised.



Log in to SqlDeveloper and query to custom table xxcust_test_event_log. it will show you records with custom business event.





HOW TO RAISE THE CUSTOM BUSINESS EVENT


wf_event.RAISE to be used for the purpose.
Sample code for the same can be seen below.

DECLARE
  x_event_parameter_list wf_parameter_list_t;
  x_user_id                    INTEGER := 99999;
  x_user_name               VARCHAR2(100) := 'ANILPASSI';
  x_param                     wf_parameter_t;
  x_event_name             VARCHAR2(100) := 'xx.oracle.apps.test01';
  x_event_key               VARCHAR2(100) := 'ANIL_0001';
  x_parameter_index       NUMBER := 0;
BEGIN
  x_event_parameter_list := wf_parameter_list_t();
  --Lets add the first value to the Event Parameter i.e. user_id
  x_param := wf_parameter_t(NULL
                           ,NULL);
  x_event_parameter_list.EXTEND;
  x_param.setname('XX_TEST_USER_ID');
  x_param.setvalue(x_user_id);
  x_parameter_index := x_parameter_index + 1;
  x_event_parameter_list(x_parameter_index) := x_param;
  --Lets add the second value to the Event Parameter i.e. User Name
  x_param := wf_parameter_t(NULL
                           ,NULL);
  x_event_parameter_list.EXTEND;
  x_param.setname('XX_TEST_USER_NAME');
  x_param.setvalue(x_user_name);
  x_parameter_index := x_parameter_index + 1;
  x_event_parameter_list(x_parameter_index) := x_param;
  wf_event.RAISE(p_event_name => x_event_name
                ,p_event_key  => x_event_key
                ,p_parameters => x_event_parameter_list
             /*,p_event_data   =>  p_data*/
                );
END;
/


FNDLOAD and WFLOAD Commands in Oracle applications

Below are  a list  of FNDLOAD and WFLOAD commands which are used to move FND object from one instance to another instance. FND OBJECT...