Fusion Blog

EBS Blog


Contact Us

Senthilkumar Shanmugam
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

Search Courses



JUser: :_load: Unable to load user with ID: 881

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

AK Dictionary is an active data dictionary that enables you to define inquiry applications for the web, and generate

many of the application's characteristics at runtime. The data dictionary stores key information

about your application, including appearance, language, security requirements, navigation, and data.

MSCA/MWA Framework uses AK Repository mainly for two purpose:

1) Defining Labels

2) Defining DFIs

1) Defining Labels:

When we create a new custom page using MSCA/MWA Framework, we use setPrompt() set the labels to the fields.

In order to support MLS(Multi Language Support), we need to define these

labels as Items in AK Repository and link into custom page.

2)DFI(Data Field Identifier):

DFI functionality in Oracle Mobile Applications (MSCA and WMS) allows identification of the type of data that is embedded within

a barcode when it is scanned by the mobile device. DFI usually consists of one to three characters that precede the

value of the data that is encoded in the barcode.

We will see each of them in detail now.

Steps to Create Labels in AK Repository:

Step 1: Define Attribute

Navigation: AK Developer ->Define Attributes

Create a record necessary information like Attribute ID,Attribute Name,Label etc

Step 2: Define a Controller

Before creating a region in AK Repository, we need to have a controller to associate to the AK Region.

Following is a sample controller class for an AK Region

package xxx.oracle.apps.inv.utilities;

import oracle.apps.fnd.common.VersionInfo;

public class CustomInvResourceTable


    public CustomInvResourceTable()




    public static final String RCS_ID = "$PkgHeader:$";

    public static final boolean RCS_ID_RECORDED =

          VersionInfo.recordClassVersion("$PkgHeader:$", "xxx.oracle.apps.inv.utilities");


    public static final String AK_CAR_SIGN = "XXWMS_CAR_SIGN";



Step 3: Define a AK Region:

Navigation: AK Developer ->Define Regions

Create a record with Region Id, Region Name etc and associate the controller class which we created in the previous step.

Step 4: Link AK Regions and AK Attributes

Navigation: AK Developer ->Define Regions

Click on Region Items Button

Create new record and link the attribute(s) which we created previously. If you plan to use the field as DFI,

you have to define the DFI attributes in "Default Varchar2 Value" Column. For example, a value like 

"DFI=Q REQ=N" means that when a barcode is scanned on that field using the hand held mobile device, 

Q will be stripped from the barcode and the remaining value will be stored in the field.

In this case, The Barcode should have the value like "Q123456".

How do I retrieve the label in the Custom page?

You can set the label to the field by using APIs to retrieve from AK Repository. See Below for a sample Code

mPONum.setPrompt(MWALib.getAKPrompt(ses, "xxx.oracle.apps.inv.utilities.CustomInvResourceTable", "XXWMS_PO_NUM"));



XXWMS_PO_NUM is an attribute defined in AK repository.

mPONum is field bean in Custom Mobile Page.

How do I move the AK repository contents from one instance to another?

The AKLOAD program is used for uploading and downloading the contents.

Detailed syntax can be found in the following URL:http://download-uk.oracle.com/docs/cd/A60725_05/html/comnls/us/ak/akload.htm




java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST="



java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST="



java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST="


My customer asks me to change the prompt on Std Mobile Screens. How Can I do it?

Case 1: Say suppose, the Customer wants to change prompt "Lot Qty" to "Qty" in all the mobile pages:

To change the prompts follow the steps below:

Goto the AK Developer Responsibility

Goto Define region.


Click on Region items.

Search for your prompt.

In this case it is INV_LOT_QUANTITY_PROMPT.

Modify the Long description.


Restart the listener.

Case 2: Say suppose, the Customer wants to change prompt "Lot Qty" to "Qty" only in a specific page.

Option 1: WMS Personalization

If your client is on release 11.5.10 or R12.1, you can use Oracle WMS Personalization Framework. See metalink note 469339.1 for more details

Option 2: MWA Extension

You can extend the standard Page and change the prompt. Sample code is as below:

public class XXItemOnhandQueryPage extends ItemOnhandQueryPage {

    public XXItemOnhandQueryPage(Session s) {




    public void pageEntered(MWAEvent e) throws AbortHandlerException,





             getItemDescrField.setPrompt("Senthil Desc");

            //this has to be defined in AK  repository if you need MLS



Further References:

More about AK Repository : http://download-uk.oracle.com/docs/cd/A60725_05/html/comnls/us/ak/aktop.htm

More about DFIs and Barcode Scanning : Metalink note 297992.1

Please note that this is purely based on my experience. Feel free to comment any suggestions on this article.



0 #1 Husain 2008-10-21 12:01
Hi Senthil,

There are very few developers in MWA/MSCA and the architecture is not even documented. Thanks for providing such a valuable information and helping us out on issues.

You Rock !!

Hus ain
0 #2 Rohini 2008-10-21 12:08
My Pleasure.

Chee rs,
0 #3 Kaushik 2009-05-12 08:46
I am calling quality plan in MSCA.In there i have a sql code to auto populate an element which is using FND_PROFILE pkg(to be exact FND_PROFILE.val ue('ORG_ID')).B ut it is not working.Can you give me any idea how to get profile values in sql code running in MSCA?
Thnx in advance.
0 #4 Rohini 2009-05-12 09:34
Hi Kausik,

Gettin g profile values from in SQL code in MSCA is no different from normal Oracle Apps Practice.

Can you please explain your problem in a detailed manner?

Thanks and Regards,
Senthi l
0 #5 Kaushik 2009-05-12 23:34
Thanks Senthil for your prompt reply.

I am calling a quality inspection plan in MSCA for PO receipts.In the plan elements i have actions which populates other elements through sql code which uses FND_PROFILE.val ue('ORG_ID').Th e code runs from apps but it fails to work from MSCA.Removing the FND_PROFILE the value gets populated in the element. So i was thinking whether there is any alternative to FND_PROFILE to get the profile values.

Thanks ,
0 #6 Rohini 2009-05-13 05:05
Hi Kausik,

May I know how do you implement this feature in MSCA? I would like to see the code snippet of the same.

Thanks and Regards,
Senthi l
0 #7 Kaushik 2009-05-13 10:28
For receiving inspection we are using quality instead of Purchasing.This is done by setting
QA: PO Inspection to Quality which by default is set to Oracle Purchasing.In the quality receiving plan
we have written code in the quality plan element action to assign a value to another collection element.
The sql code written is a simple select statement which goes something like this:
select ...
from oe_order_header s_all,
wher e ..
and org_id= fnd_profile.val ue('ORG_ID').

The element(a reference information element type) in the plan gets populated from context and the code in its action
fires to populate the value from sql code inot the other element.

Now when i'm using fnd_profile.val ue('ORG_ID') in the query the code is not working.
Removi ng it i am able to get the value.

I want to know if apps is initialized from MSCA.If so then how and why fnd_profile.val ue is not working.

Thank s,
0 #8 Rohini 2009-05-13 10:48
Hi Kaushik,

Sorry about asking too may questions. I am still not able to get a clear picture of how and where you are using the SQL query in MSCA. Are you using in any of the page or listener class or a PLSQL proc/func called from MSCA forms?

Kindly Clarify.

Thank s and Regards,
Senthi l
0 #9 Kaushik 2009-05-13 11:24
Hi Senthil,
Sorry for not being able to clarify the things to you.

The sql codes are written in Oracle Quality Collection Plans.I am not writing any code in MSCA.

I have created a new receiving inspection plan in Oracle Quality module.Added elements to it.Now for an element i added an action. Here when value is entered for the element the "Assign a value to a Collection element" action is triggered which executes a sql code and assigns the value returned by the sql to another element.

Now when the inspection plan is called up while doing PO Inspect the element where the action is defined gets populated with a value from context and the action gets triggered. The sql code gets fired and value returned by the code is assigned to the other element.Now this code is having problem when fnd_profile.val ue is used.

Hope this makes things clear to you now.

Thanks for your time
0 #10 Kaushik 2009-05-14 14:53
hi ,

I found the problem.it was failing sql validation for the element.Sorry for wasting your time..
0 #11 Siddhi Dwivedi 2009-08-27 06:36
Hi Senthil,

We are getting WMS messages sometimes in english or sometimes in different language.
Could you please let me know how to handle multilingual set up in WMS.

Can it be handled at some profile level or in code?

Please advise.

Thanks & Regards,
0 #12 Rohini 2009-08-27 08:23
Hi Siddhi,

As far as I understand, I see no difference but MSCA and normal APPS in terms of handling MLS. It is all based on Database seesion language I beleive.

Pleas e post the issue in our forum http://apps2fusion.com/forums/viewforum.php?f=145

Thanks and Regards,
Senthi l
0 #13 Rohini 2009-08-27 11:34
Hi Siddhi,

As far as I understand, I see no difference but MSCA and normal APPS in terms of handling MLS. It is all based on Database seesion language I beleive.

Pleas e post the issue in our forum http://apps2fusion.com/forums/viewforum.php?f=145

Thanks and Regards,
Senthi l
0 #14 rmk 2009-10-08 21:08
Is it possible to remove the Org Code requirement which comes the first time of logging in? For some of the users who only use it at a particular site is it possible to standardize it from a profile option ?

Not quite sure how to set it up with mobile apps.

Thanks for the help.
0 #15 Rohini 2009-10-09 12:35

You may need to extend the OrgSubinvFuncti on.java (not sure of the exact package) and default the Org Value from a profile option.

Hope this helps.

Thanks and Regards,
Senthi l
0 #16 Rohini 2009-10-09 12:39
Sorry .. it might be OrgFunction.jav a

Check out the following files ... you can find it out.

"oracle.a pps.inv.utiliti es.server.Valid ateOrgPage";
"o racle.apps.inv. utilities.serve r.InvOrganizati onPageBean";

T hanks and Regards,
Senthi l
0 #17 James Kim 2009-12-14 15:01
I was browsing apps2fusion website and came across your picture in the posting which I thought I recognized.

Hey didn't you work in Perth Australia one time on MacMahon project with Vipin?
Are you in UK now?

Not sure if you remember me, but this is James from Korea. I'm now working in Canada.. I thought I'd drop you a line and say hello :)
0 #18 Rupa 2010-03-23 05:44
Hi Senthil,
I want to scan the field Shipment Number. There is no DFI attribute defined for this. How can I go for defining a new DFI's?
Can you please guide me?

Ru pa
0 #19 Rohini 2010-03-24 16:19
Hi Rupa,

As mentioned in the above article, you can go ahead and add your DFI attribute for the Shipment Number Field. Have a close look at the last Figure in the above article.

Thank s and Regards,
Senthi l
0 #20 mkrupun 2012-03-15 00:54

My custom page how to display the Instance name or dabase name or site name .
String username= (session.getObj ect("USERNAME") ).toString();
t his.setPrompt(" ABCR-Entry :- " +username);
Cur rently i'm able to display Page name and user name.

Please help
0 #21 kanth253709 2012-04-10 05:53
we need display quantity ordered for an line in PO receipts page. currently it displays only quantity received.

Kind ly let us know the way to achieve this
0 #22 shailendrasingh 2012-06-19 10:45
hi Senthil,
i have requirement to change Language for Oracle MSCA Mobile Device.please tell me how to change the languge.

Thank s,
0 #23 krsrasu 2012-10-11 03:39
Hi Guru

You know there is two kinds of printing solution is there in Oracle label printing. Directly to printer and put xml to 3rd party printer. which one is best and what situation to use either one. also let me know do we need to setup DFI for all the items in AK setup? also do we need to delvelop labels for all the items, locations and subinventories. ? What is the difference between label and LPN?

thanks in advance

with regards
0 #24 Syed.apps1 2013-05-15 12:14
Hi Shanmugam,

We have followed all the above steps that has been provided for DFIs functionality. But still we are not able to complete the process.

Syed .
-1 #25 Davidh 2013-06-14 06:48
Hi Senthil,
I hope that you are still following this thread... it has invaluable information.
I have a problem scanning in barcodes and I think you can help.
Our company barcodes for part numbers come out of a legacy system and contain spaces at the end.
How can I TRIM these codes of spaces while scanning. When I try to perform a receiving and position the cursor on the Item field and scan with the barcode I get the error "No result if found" and the cursor returns to the first character position.
Our version of Oracle is 11.5.9.
Please help
Thank you
+1 #26 Prads 2013-06-25 16:58
I have created few custom attributes and a region. However, where do I provide the Multi-lingual label input?
I see that select* from AK_REGION_ITEMS _TL stores multi-lingual data for labels, but which screen can I use to enter it? I queried the FND Messages, but I dont see anything there.

Thanks in advance.
0 #27 Mayank 2015-01-02 05:29
hi Senthil,
i have requirement to change Language for Oracle MSCA Mobile Device.please tell me how to change the languge.

Thank s
0 #28 Mayank 2015-01-02 05:34
Hi all,I have followed every step that is mentioned over here but my custom attribute prompts are not working, do we need some command or some jar file to run ?? Please help i want to implement mls on my custom msca pages
0 #29 Pradip 2015-07-30 13:29
I did same code. But when I tried to scan at that time whole string displays in my cusrson position and immediate it becomes blank.

Can anyone plz help me in this ?

Add comment

Security code

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Jun 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
   1  2  3  4  5  6
  7  8  910111213

Enquire For Training

Fusion Training Packages

Get Email Updates

Powered by Google FeedBurner