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"));
mPONum.retrieveAttributes("XXWMS_PO_NUM");
Where,
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
Example:
Download:
Region:
java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=1.1.1.1)(PORT=1527))(CONNECT_DATA=(SID=DEV)))"
DOWNLOAD XXWMS_MOBILE_RN.jlt GET REGION INV XXINVRESOURCETABLE
Attribute:
java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=1.1.1.1)(PORT=1527))(CONNECT_DATA=(SID=DEV)))"
DOWNLOAD XXWMS_MOBILE_ATTR.jlt GET ATTRIBUTE INV XXWMS%
Upload:
java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=1.1.1.1)(PORT=1527))(CONNECT_DATA=(SID=DEV)))"
UPLOAD XXWMS_MOBILE_RN.jlt UPDATE American_America.AL32UTF8
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.
Region ID = INVRESOURCETABLE.
Click on Region items.
Search for your prompt.
In this case it is INV_LOT_QUANTITY_PROMPT.
Modify the Long description.
Save.
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) {
super(s);
}
public void pageEntered(MWAEvent e) throws AbortHandlerException,
InterruptedHandlerException,
DefaultOnlyHandlerException
{
super.pageEntered(e);
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.
Comments
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 !!
Thanks,
Hus ain
Chee rs,
Senthil
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.
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
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 ,
Kaushik
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
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,
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
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
Kaushik
I found the problem.it was failing sql validation for the element.Sorry for wasting your time..
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,
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
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
Not quite sure how to set it up with mobile apps.
Thanks for the help.
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
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
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 :)
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?
Thanks,
Ru pa
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
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
Kind ly let us know the way to achieve this
i have requirement to change Language for Oracle MSCA Mobile Device.please tell me how to change the languge.
Thank s,
Shailendra
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
krsrasu
We have followed all the above steps that has been provided for DFIs functionality. But still we are not able to complete the process.
Regards,
Syed .
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
David
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.
i have requirement to change Language for Oracle MSCA Mobile Device.please tell me how to change the languge.
Thank s
Can anyone plz help me in this ?
RSS feed for comments to this post