Friday, 30 May 2014

Major differences in WMS and non WMS enabled organization


  • To transact a move order in WMS enable inventory org we can transact only via hand held devices having MSCA application or we can transact via desktop simulator of MSCA application.The reason is quite simple. When org is WMS enabled we will not find the "Transact" button on "transact move order" Form.

  • Rule based picking and dropping (put away) is not possible without WMS.

  • Selective lable printing could be made possible only with the help of rules of WMS.

Monday, 24 February 2014

WMS Custom Hook

wms_re_custom_pub

WMS Rule used in picking?

select Transaction_temp_id,Put_away_rule_id,pick_strategy_id,pick_rule_id,move_order_line_id,organization_id,subinventory_code,Locator_id from apps.mtl_material_transactions_temp;

and Rule name:

select * from apps.wms_rules where rule_id = RULE_ID_OF_ABOVE_QUERY

and Stratigy Name:

select * from apps.wms_strategies where strategy_id = STRATEGI_ID_OF_ABOVE_QUERY

Cycle Count : Reinitialize versus Update

----------------------------
Do not reinitialize everyday as this is the incorrect usage of the application. Re-initialize deletes all and re-loads. Update will update the items. Re-initialize is not the way to add new items, end users should be using update instead. Everytime re-(initialization) is run on the cycle count, all historical counts are erased and the system assumes it has the total number of counts to perform. This could cause an increase of items selected for count on any given day.

Auto-scheduling for cycle count logic

Auto-scheduling for cycle count logic works like this:
Within a given class - the system first tries to find out how many items needs to be scheduled for count. (Cycle count Scheduler) Formula to compute the number of items to schedule within a given class is as follows:

Max items to schedule = [(Total items in class * Nworkdays) / (ClasscountInterval) ] + 1
where ClasscountInterval = Number of working days in a year / (Number of counts / year for that class).

Next when you auto-generate cycle count requests based upon the number of items to be scheduled within a given class - the program tries to find the item with the lowest schedule order within that class. (see the respective table &  MTL_CYCLE_COUNT_ITEMS ). Suppose there are two items so the program will pick the items with the lowest schedule order ( in a series of 1,2,3,4,5 the system will schedule items with schedule order 1 and 2).

Once the counting is done - it will update the schedule order to 6 , 7 respectively. So next time you count - the system does not schedule the same items but picks up items with lowest schedule number again within that class (in the second case the series available is 3,4,5,6,7 so it will pick items with schedule order 3,4).

Best Note : 416149.1

Sunday, 1 July 2012

What is the difference between "Transaction Open Interface" and "Pending Transactions"


·         Navigate Inventory Responsibility -> Transactions -> Transaction Open Interface

-- This form queries the MTL_TRANSACTIONS_INTERFACE table

·         Navigate Inventory Responsibility -> Transactions -> Pending Transactions

-- This form queries the MTL_MATERIAL_TRANSACTIONS_TEMP table
 

Q. What is the MTL_TRANSACTIONS_INTERFACE table used for?

A. This is the Interface between non-Inventory applications and the Inventory Transactions module.

In other words any other module other than Inventory that wants to update Inventory has to come through this table. Modules such as WIP (Work In Progress) and OE (Order Entry) first pass their records to the MTL_TRANSACTIONS_INTERFACE (MTI) for validation.
The Transactions Manager (INCTCM) reads records from the MTI table, validates them and moves the successful transactions into the MTL_MATERIAL_TRANSACTIONS_TEMP table, and submits Transaction workers (sub-processes - INCTCW) which then process these records through inventory. This process consists of data derivation, validation, and the transfer of records from MTL_TRANSCTIONS_INTERFACE, MTL_TRANSACTIONS_LOTS_INTERFACE and MTL_SERIAL_NUMBERS_INTERFACE into their associated TEMP (temporary) tables from where the transactions processor processes them.


Q. What is the MTL_MATERIAL_TRANSACTIONS_TEMP table used for?

A. The transactions are passed to the MTL_MATERIAL_TRANSACTONS_TEMP table after initial validation by the Transactions Manager (INCTCM) from the MTL_TRANSACTIONS_INTERFACE. A job id is attached and a Transactions Worker (INCTCW) is submitted by the INCTCM process to get the records processed and moved to the MTL_MATERIAL_TRANSACTONS table.
This table is also used by the Inventory and Purchasing modules which write transactions directly into this table after validation.

Inventory Module Forms like the Miscellaneous transactions form write directly into this table. The transactions which are created through this form are via on-line processing. It is from this table that the inventory quantities finally get updated and serial/lot numbers get updated.

Wednesday, 27 June 2012

How to print LPN lables with custom component that is not on mobile device?

Its Normal practice to invoke RTP via
fnd_request.submit_request() function'

But... the main difference is of parameters that we pass...

When we want to invoke the LPN lable printing request then we should use the following parameters in the function call:

fnd_request.submit_request(application => 'PO'
,program => 'RVCTP'
,description => NULL
,start_time => NULL
,sub_request => FALSE
,argument1 => 'BATCH'
,argument2 => v_group_id
,argument3 => g_org_id);


If we are not interested in LPN lables then we can use the above request without following 2 parameters:

1) argument2 => v_group_id
2) argument3 => g_org_id


How To Install (Register) a New Font Using XML Publisher [ID 373377.1]

I have tried to make the barcode output according to the above document ID.
I also got success in printing the barcode in XML output file.
This approach does not take any profile option in consideration.

You need to change the font in RTF file itself. As I did in RTF for LOT Number field.
Please follow this approach.