Invalid Requirement Category
Hi Experts,
While doing Sales Order Entry, it gives error message as Invalid Requirement Category. I maintained category Structure & coverage strategy
settings.Kindly help to solve this issue.
If the business process is configured for rebate, then have a look at the following note:-
Note 1614669 - Message "Error creating rebate credit memos" using VBO2
G. Lakshmipathi
Similar Messages
-
Invalid accountassignment category.
Hi
While saving service sales order i am getting the error Invalid accountassignment category.
The detailed error is like this
Invalid account assignment category (->long text)
Message no. IW063
Diagnosis
The system should assign a component to an account assignment category.
System Response
The account assignment category is not defined.
Procedure
In Customizing define the account assignment category for service- and maintenance orders.
In the standard, define the following values for the order category 30:
Account assignment type (general): F
Account assignment type (project): Q
Account assignment type (sales order): E
Sales document project: D
Please suggest
Thanks goutamDear Goutam,
Please check in Customizing for : IMG> Material management>Purchasing--> Account assignment --> Define combination of item categories/Acc assignment
Regards,
w1n -
Error Message - Invalid Parent Category for product
Hi Campaign Experts,
I am getting error message "Invalid Parent Category for product" in campaign when I am trying to assign a service product to campaign. Even I tried assigning sales product and also assigning at campaign element level, but the error always appears.
On the campaign screen in CRM 7.0 webUI, it allows me to search product and displays the product during search but raise error when I select the product.
Any suggestions?
Thanks
UmeshHi Umesh,
Just maintain Product hierarchy in :
SPRO->Customer Relationship Management->Account Planning->Product Assignments->Assign Product Hierarchies
Here you maintain Product hierarchy which has been used in your Product which you are trying to enter in Campaign.
Regards,
Dipesh. -
ExecuteBaseLogic : Invalid Dimension:CATEGORY
Hello SAP Guru,
I have design input schedules using EVDRE() with Time dimension in column and Entity dimension in row. When I send data to database I am getting the following message
Book Name : Test_Comparasion2.xlsx
Application : ABS_FMCG_PLAN
Status : Success
Submitted Count : 1
Accept Count : 1
Rejected Coount : 0
-Error Message-
ExecuteBaseLOgic : Invalid Dimension:CATEGORY
Please let me know how to rectify the above error message.
Thanks.
With regards,
Anand KumarHi,
It looks like there is a problem with your category dimension. Please try to process the dimension again selecting your application and full process. You ave to check also into Constants.lgl file located into Webfolders\<appset>\AdminApp\<application name> if the cstegorydim is properly assigned to your category dimension.
You acn also have a look into the logic log file located into Webfolders\<appset>\<application name>\Private publications\<user name>\Temp Files, maybe you can find more details about your error.
However, the error is related to default logic (you can retry to validate and save it) and application structure(you can try to modify your application), not to evdre. You will receive the same error trying to send data even using other methods.
Best regards,
Mihaela -
Hi Experts,
When this information error occurs:
Invalid memory category
regardsHi,
Go to transaction O11C. Maintintain the fields like
Order category 30
Document Type : Assign ur Document type
and
Account assignment type (general): F
Account assignment type (project): Q
Account assignment type (sales order): E
Sales document project: D
Hope this will help to solve ur problem
Reward Points If it is useful
Regards -
Invalid cost category while uploading through RPRCCC_READ_KR1025
Hello,
While uploading Amex KR1025 feed through RPRCCC_READ_KR1025 system is not uploading some of the transactions and giving the error u201CInvalid Cost Categoryu201D. The Cost Categories as followsu2013 22, 16, 17, 15, 12.
The cost categories which are working fine is 04, 08, PA. I tried uploading 78 transactions, out of 55 has been uploaded successfully and there are errors u201CInvalid Cost Categoryu201D in rest of the transactions.
As per u201CAMEX APA KR1025 Commercial Corporate Card Data Feed Attachmentsu201D these cost categories showing as MIS codes.
Please let me know where I can configure these cost categories.
Thanking you,
KannaSorry Experts,
Subject is Table names for Reports.
Awaiting for your golden replies.
Thanks in advance,
KUMAR. -
How to make a category required for all files created within a folder
I've defined a category. It has attributes which have been flagged as required.
When I view the properies of a particular workspace (library), the category is shown as available to the workspace. However, the category is not shown as required. And the "required" checkbox is not clickable.
So .. how, from the OCS DHTML applet, do I make a particular category a required category for all files in a folder?Perhaps the Category Attribute is not marked as "configurable" when it was created. You can check this by "switching into Admin Mode" and drilling down the Categories using "Manage Categories" link. Check if the category attribute is marked as configurable or not.
Ravikiran -
Uploading file with an enforced category
I am trying to upload files to a directory with an enforced category. I took the HandlingEnforcedCategories.java from the DEV Kit, modified to my requirements and still running into issue. It's something to do with library/workspace I think which I am still confused about.
My sandbox path is /regionUS/BUSINESS%20SECTOR/ (I am escaping the scape or else the api chokes)
My library/workspace is CUSTOMERS (library/bookshelf icon shows up here)
My folder where category is applied is COOLEZ which is under CUSTOMERS
I am trying to upload images and apply category to /regionUS/BUSINESS%20SECTOR/CUSTOMERS/COOLEZ/IMAGES/2009/04
all the folders exist and the category exist too but I am still getting the error that says
"Required metadata folder missing. Ensure prerequisite sample has been run."
The question is why would this complain about the missing metadata folder?
Here are the couple interested methods
public static void main(String args[]) {
try {
upload ( "coolac",
"coolpw",
"http://contentdbserverurl:7779/content/ws",
"regionUS/BUSINESS%20SECTOR/",
"CUSTOMERS/COOLEZ/IMAGES/2009/04/",
"test1.jpg",
new FileInputStream(new File("c:/test/test1.jpg")),
"DAMAGED_PRODUCT_IMAGES",
mapObj
catch (Exception e) {
e.printStackTrace();
} catch (ExelContentDBException e) {
e.printStackTrace();
// TODO
public static void upload(String username,
String password,
String contentDBURL,
String sandboxRootPath,
String workspaceName,
String sourceFilename,
FileInputStream sourceFileInputStream,
String categoryName,
Map categoryMap) throws ContentDBException {
System.out.println("**** : ApplyingCategories: starting");
FdkCredential credential = new SimpleFdkCredential(username, password);
ManagersFactory session = null;
try {
session = ManagersFactory.login(credential, contentDBURL);
FileManager fileM = session.getFileManager();
Item folder = null;
try {
Item sandbox = fileM.resolvePath(sandboxRootPath, null);
// Note: some clients may use the term 'Library' when referring to
// or displaying a Workspace Item (including the Content DB Web UI).
//for now I am hardcoding the values
Item workspace = (sandbox == null) ? null : fileM.resolveRelativePath(sandbox.getId(), "CUSTOMERS", null);
folder = (workspace == null) ? null : fileM.resolveRelativePath( workspace.getId(), "COOLEZ/IMAGES/2009/04/", null);
catch (FdkException e) {
System.out.println("**** : Error locating metadata folder.");
throw e;
if (folder == null) {
throw new ContentDBException("**** : Required metadata folder missing. Ensure prerequisite sample has been run.");
CommonManager commonM = session.getCommonManager();
AttributeRequest[] requestedAttributes = AttributeRequests.ITEM_CATEGORY_CONFIGURATION;
folder = commonM.getItem(folder.getId(),requestedAttributes);
Item categoryConfiguration = (Item) CommonUtils.getAttribute(folder, Attributes.CATEGORY_CONFIGURATION);
Map m = CommonUtils.getAttributesMap(categoryConfiguration);
boolean configEnabled = ((Boolean) m.get(Attributes.CONFIGURATION_ENABLED)).booleanValue();
Item[] requiredCategories = (Item[]) m.get(Attributes.REQUIRED_CATEGORIES);
if (configEnabled = false ||
requiredCategories == null ||
requiredCategories.length != 1) {
System.out.println("**** : Category configuration settings unexpected. Has prerequisite samples been run?");
throw new ContentDBException("Category configuration settings unexpected.");
requestedAttributes = AttributeRequests.CATEGORY_CLASS_ATTRIBUTES;
Item catClass = commonM.getItem(requiredCategories[0].getId(), requestedAttributes);
String displayName = (String) CommonUtils.getAttribute(catClass, Attributes.DISPLAY_NAME);
if (!displayName.equals(categoryName)) {
System.out.println("**** : Category configuration settings unexpected. Has prerequisite samples been run?");
throw new ContentDBException ("Category configuration settings unexpected.");
// get category metadata attribute internal names from the
// metadata attribute display names
// when creating a category instance definition, we specify internal names
String categoryKeyItems[] = new String[categoryMap.size()];
Set setObj = categoryMap.keySet();
Iterator iterObj = setObj.iterator();
int i = 0;
while (iterObj.hasNext()) {
categoryKeyItems[i] = (String) iterObj.next();
i++;
Map attributeMap = CategoryUtils.getCategoryAttrInternalNames(session,
catClass.getId(),
categoryKeyItems);
if (attributeMap == null ||
attributeMap.isEmpty() ) {
System.out.println("**** : Category class structure invalid.");
throw new ContentDBException ("Metadata configuration of the required Category class is invalid. Suggested resolution is to drop and recreate category class.");
requestedAttributes = null;
Item docDef = fileM.createDocumentDefinition(new NamedValue[] {
ClientUtils.newNamedValue(Attributes.NAME, sourceFilename),
ClientUtils.newNamedValue(Options.CONTENTSTREAM,
sourceFileInputStream)
}, requestedAttributes);
// First attempt to createDocument in the enforced metadata folder without
// supplying a category instance definition.
// If the enforced metadata folder has been setup correctly, an
// FdkException with error code ORACLE.FDK.AggregateError will occur
// containing an FdkExceptionEntry with errorcode ORACLE.FDK.MetaDataError
// and detailed error code ORACLE.FDK.MetadataRequired. The info
// NamedValue[] of the FdkExceptionEntry should have a key
// ECM.EXCEPTIONINFO.MissingMetaData with a long[] value containing the
// ids of the mandatory category classes for which definition were
// not supplied.
Item doc = null;
NamedValue[] documentDef = new NamedValue[] {
ClientUtils.newNamedValue(Options.USE_SAVED_DEFINITION,new Long(docDef.getId())),
ClientUtils.newNamedValue(Options.DESTFOLDER, new Long(folder.getId())),
try {
// The following call should FAIL !!! - and exception be caught in
// catch block
doc = fileM.createDocument(documentDef, null, null);
// The following calls should never occur ...
System.out.println("**** : Document create succeeded.");
System.out.println("**** : Are there no longer required categories on the folder?");
catch (FdkException fe) {
System.out.println("**** : Document create failed (which is what we expected).");
System.out.println("**** : " + fe);
// Next, attempt to retry createDocument in the enforced metadata folder
// this time supplying a category instance definition for the mandatory
// category class. The advantage of utilizing document definitions is
// that the content does not need to be reuploaded. The document
// definition can be reused when retrying the failed operation.
NamedValue[] categoryInstanceAttributes = new NamedValue[categoryKeyItems.length];
for (int x=0; x < categoryKeyItems.length; x++) {
categoryInstanceAttributes[x] = (NamedValue) categoryMap.get(categoryKeyItems[x]);
NamedValue[] categoryDef = new NamedValue[] {
ClientUtils.newNamedValue(Options.CATEGORY_CLASS_ID,
new Long(catClass.getId())),
ClientUtils.newNamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES,
categoryInstanceAttributes)
documentDef = new NamedValue[] {
ClientUtils.newNamedValue(Options.USE_SAVED_DEFINITION,new Long(docDef.getId())),
ClientUtils.newNamedValue(Options.DESTFOLDER, new Long(folder.getId())),
ClientUtils.newNamedValue(Options.CATEGORY_DEFINITION, categoryDef)
System.out.println("**** : Create a Document using saved definition item ...");
requestedAttributes = AttributeRequests.DOCUMENT_CATEGORY_ATTRIBUTES;
doc = fileM.createDocument(documentDef, null, requestedAttributes);
catch (Throwable t)
t.printStackTrace();
finally
CommonUtils.bestEffortLogout(session);
System.out.println("**** : ApplyingCategories: done");
}I finally got the code working that uploads a file with the attached catogory values. The problem was the internalAttributeMap that had to be created with CategoryUtils.getCategoryAttrInternalNames
I will post the code later with some cleanup. The documentation is not very friendly. The example code is very confusing. I don't have any books on it and I didn't go to any of Oracle's training either.
Do you guys know of any good books, sites or blogs on development with Cotnent DB? -
Problem in Product Category after upgrade
Hi Experts,
The problem occur after upgrade from CRM 6 to CRM 7. When doing the creation of campaign after inputting the Product ID a error message appear 'Invalid Parent Category for Product ____' . Found out that this checking was not available in CRM 6. Now we cant configure the product because this product comes from another system.
the checking is under CL_CRM_MKTGS_PROD_ASSIGN method CREATE_ITEM.
IF <fs_category_guid> IS INITIAL AND
<fs_category2_guid> IS INITIAL.
lv_msgv1 = lv_product_id.
MESSAGE e031(crm_mktgs_products) WITH lv_msgv1 INTO mv_message_text.
add_message_symsg( iv_log_type = cl_crm_mktgs_constants=>log_type_function ).
RETURN.
Appreciate for any input or idea.
Thanks in advance.
best regards,
EtrafanobHi Etrafanob, Experts,
I was wondering if this issue has been resolved, and if yes - how. Having the same here after an Upgrade from 4.0 to 7.0.
Thank you very much!
Best Regards -
Product allocation is not working after setting all required config!
Hello SD gurus, Would you please help me to resolve this issue?
I followed and configured all the required steps for product allocation in ECC 6.0 Version still the product allocation is not working as expected.
Here are the steps performed
1. Created procedure through OV1Z
Maintained Product allocation procedureT.code OV1Z
2. Maintain product allocation object Transaction code: OV2Z
3. Create required info structure as per requirement T.code MC21
4. Specify Hierarchy and Define the “Product allocation planning structure”
Transaction code: OV3Z
5.Define Consumption periods
6. Control product allocation
T. code: OV4Z
Selected the product allocation procedure and given the required criteria and assigned to Info. Structure S991. Activated ‘Requirement category’ for product allocation
8. T.code OVZ0
Activate schedule line category for product allocation
S991 Info structure Planning parameters updated
Mc7F
Create update
T.code MC24
Activate the update
T.code OMO1
Create planning Hierarchy
T.code: MC61/62
Maintain planning type
. T.Code: MC8A/B
Created the product allocation plan for required quantity through MC94 IN spite of reserving stock as shown against the product allocation material specific and customer specific product allocation is not worked and the regular Atp check allocated stock to some other customer when created SO.
Thanks for your help in advance
SriniHi Sumitra,
Thanks a lot for your quick response!
Actually to say availability check is working but not product allocation.
I checked the settings in Material master MRP 3 view for strategy group and it is 40.
Availability check is 02 assigned. OVZ9 settings are assigned correctly 02-A- SD Order.
Not knowing what is preventing to reserve the stock against product allocation!
Do you or any one know where to see the product allocation stock?
Best Regards& Thanks a lot for your help!
Srini -
Category attributes default values updating
Hi,
I'm developing an application that, upon upload of a file to the specified root folder(through the application), reads some values from a file, creates a folder structure based on those values, and moves the file in the bottom folder. Now, a predefined category should be attached to the file, to enable search by category attributes. My idea is to set the category as required on that bottom folder (or the first), and modify it's attribute default values, so that the file inherits them when moved in it. I have found mshannon's examples in some other thread ( Updating a document with category metadata using updateDocument(): error! ), the first one works only with files, not folders, and the second one doesn't work for me at all, I get an error:
javax.faces.el.EvaluationException: ORACLE.FDK.AggregateError:ORACLE.FDK.AggregateError
here is my code:
public static void updateAttributes() throws FdkException, RemoteException{
login();
FileManager fm = s_WsCon.getFileManager();
Item fajl = fm.resolvePath(prop.getProperty("userhome") + "/root folder/folder1/readme1.txt",
null);
long docID = fajl.getId();
NamedValue[] catInstAtr = new NamedValue[] {
new NamedValue("CUSTOM_138297", "changed value for att1"),
new NamedValue("CUSTOM_138299", "changed value for att2")
NamedValue[] catDef = new NamedValue[] {
new NamedValue(Options.UPDATE_CATEGORY_ID,new Long(139054)),
new NamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES, catInstAtr)
NamedValue[] docDef = new NamedValue[] {
new NamedValue(Options.CATEGORY_DEFINITION, catDef)
AttributeRequest[] reqAtr = new AttributeRequest[]{
new AttributeRequest(Attributes.DESCRIPTION, null)
fajl = fm.updateDocument(docID, docDef, reqAtr);
logut();
This example is (I think) only for updating on document level, but I could use a solution for folder-level updating, as I explained before. Can anyone help me?
Thanks,
PedjaPedja,
Here is my code to get category from Folder this is updated version from sample code TestCategory2.java
1. It will get the required category of a folder.
2. gets the internal category attribute names
3. get Category id if uploading file along with category attribute values OR
updating file and also updating previous category instance values..
package oracle.ifs.examples.content.testcases;
import java.util.Map;
import java.util.Properties;
import java.util.*;
// Facade Objects
import oracle.ifs.fdk.AttributeRequest;
import oracle.ifs.fdk.Attributes;
import oracle.ifs.fdk.FdkConstants;
import oracle.ifs.fdk.FdkErrorCodes;
import oracle.ifs.fdk.FdkException;
import oracle.ifs.fdk.FdkExceptionEntry;
import oracle.ifs.fdk.Item;
import oracle.ifs.fdk.Options;
import oracle.ifs.fdk.NamedValue;
import oracle.ifs.fdk.NamedValueSet;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import HTTPClient.HTTPConnection;
import HTTPClient.HTTPResponse;
import HTTPClient.HttpOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
// Web Services Managers
import oracle.ifs.fdk.CategoryManager;
import oracle.ifs.fdk.CommonManager;
import oracle.ifs.fdk.FileManager;
// Framework
import oracle.ifs.examples.content.fdk.FdkSession;
import oracle.ifs.examples.content.fdk.FdkUtils;
import oracle.ifs.examples.content.fdk.Managers;
import oracle.ifs.examples.content.fdk.constants.ItemAttributes;
import oracle.ifs.examples.content.fdk.constants.NamedValueConstants;
import oracle.ifs.examples.content.testcases.AbstractTest;
public class TestCategories3
implements ItemAttributes, NamedValueConstants
public TestCategories3()
public static void main(String[] args)
TestCategories3 tc3= new TestCategories3();
tc3.getCatinfo();
* This is where you write your test program.
public void getCatinfo()
log(this.getClass().getName()+": starting");
FdkSession session = null;
try
AttributeRequest[] requestedAttributes = null;
NamedValue[] sortOptions = null;
Map returnedAttrs = null, map = null;
log("\nAuthenticating as regular test user ...");
session = new FdkSession("http://xxx.com:8320/content/","anakkala","sample");
CommonManager commonM = Managers.getCommonManager(session);
CategoryManager categoryM = Managers.getCategoryManager(session);
FileManager fileM = Managers.getFileManager(session);
// save this attribute request so that it can be used later
AttributeRequest[] AR_CATEGORY_CONFIGURATION_ATTRIBUTES =
FdkUtils.newAttributeRequestArray(Attributes.CATEGORY_CONFIGURATION,
FdkUtils.newAttributeRequestArray(new Object[]
// Is the category configuration enabled
FdkUtils.newAttributeRequest(Attributes.CONFIGURATION_ENABLED),
// Can the category configuration be overridden or is it final
FdkUtils.newAttributeRequest(Attributes.CONFIGURATION_FINAL),
// What are the required categories for the category configuration
FdkUtils.newAttributeRequest(Attributes.REQUIRED_CATEGORIES,
// for the required categories ...
FdkUtils.newAttributeRequestArray(new Object[]
// What is the category classobject display name
FdkUtils.newAttributeRequest(Attributes.DISPLAY_NAME),
// get attributes inherited and introduced by category object
FdkUtils.newAttributeRequest(Attributes.METADATA_ATTRIBUTES,
// get full settings for each of these attributes
FdkUtils.newAttributeRequestArray(METADATA_ATTRIBUTE_ATTRIBUTES)
// Are there any attribute overrides for this category config?
FdkUtils.newAttributeRequest(Attributes.ATTRIBUTE_OVERRIDES,
// get full settings for each of these attribute overrides
FdkUtils.newAttributeRequestArray(ATTRIBUTE_OVERRIDE_ATTRIBUTES))
log("\nLooking up folder /d-rco/C1/L1/folder1 ...");
// convert attribute request map to AttributeRequest[]
requestedAttributes = AR_CATEGORY_CONFIGURATION_ATTRIBUTES;
Item folder =fileM.resolvePath(
"/d-rco/C1/L1/folder1",
requestedAttributes);
log("folder id is="+folder.getId());
log("\nProcessing requested attributes - goal: generate override ...");
//returns a map
returnedAttrs = FdkUtils.getAttributesMap(folder);
Item categoryConfig = (Item)
returnedAttrs.get(Attributes.CATEGORY_CONFIGURATION);
returnedAttrs = FdkUtils.getAttributesMap(categoryConfig);
// is CategoryConfiguration enabled?
Boolean ccEnabled = (Boolean) returnedAttrs.
get(Attributes.CONFIGURATION_ENABLED);
// is CategoryConfiguration final? false=subfolders can override
Boolean ccFinal = (Boolean) returnedAttrs.
get(Attributes.CONFIGURATION_FINAL);
// what are the attribute overrides for this category configuration
log("\nAttribute overrides ...");
Item[] attributeOverrides = (Item[]) returnedAttrs.
get(Attributes.ATTRIBUTE_OVERRIDES);
FdkUtils.log(attributeOverrides);
// what are the requred categories for this category configuration
log("\nRequired categories ...");
Item[] reqCategories = (Item[]) returnedAttrs.get(Attributes.REQUIRED_CATEGORIES);
FdkUtils.log(reqCategories);
log("After printing required categories");
if(ccEnabled.booleanValue() && !ccFinal.booleanValue()
&& reqCategories != null && reqCategories.length >= 1)
// Folder /<domain>/<basecontainer>/L1/F3.EC has an enabled category
// configuration that can be overridden and has required categories
// present ...
Item category = null;
for (int i=0; i < reqCategories.length; i++)
returnedAttrs = FdkUtils.getAttributesMap(reqCategories);
log( "xxx name="+((String) returnedAttrs.get(Attributes.DISPLAY_NAME) ));
if ( ((String) returnedAttrs.get(Attributes.DISPLAY_NAME)).
equals("BG_Serv_Req"))
category = reqCategories[i];
break;
log("category id="+category.getId());
if (category != null)
NamedValue[] internalCategoryAttrs = null;
try {
internalCategoryAttrs =getInternalCategoryAttrNames("BG_Serv_Req",session);
}catch(Exception e)
log("error getting internal names");
e.printStackTrace();
log("Category Attribute internal Name ="+ (String)internalCategoryAttrs[0].getValue());
log("Category Attribute internal Name ="+ (String)internalCategoryAttrs[1].getValue());
NamedValue[] categoryInstanceAttributes = new NamedValue[] {
// use the internal attribute name for all attributes
new NamedValue((String)internalCategoryAttrs[0].getValue(), "XNXNXNXN 234"),
new NamedValue((String)internalCategoryAttrs[1].getValue(), "SNKKSKSK 1234")
NamedValue[] categoryDef = new NamedValue[] {
// the id of the category object class for which this new category will be an
//instance of
new NamedValue(Options.CATEGORY_CLASS_ID, new Long(category.getId())),
// the updated values of the category instance
new NamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES, categoryInstanceAttributes)
String sourceFile="test.doc";
String folderPath = "C:\\upload";
requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
Item doc = fileM.resolveRelativePath(folder.getId(),sourceFile, requestedAttributes);
log("START ORACLE TEST CODE FROM TAR");
// this will get the category instance id
AttributeRequest categoryAR = new AttributeRequest();
categoryAR.setAttributeName(Attributes.CATEGORIES);
AttributeRequest[] attrRequests = new AttributeRequest[]
{ categoryAR};
Item myDoc = commonM.getItem(doc.getId(), attrRequests);
NamedValue[] requestedAttributesNV = myDoc.getRequestedAttributes();
int length = requestedAttributesNV == null ? 0 :
requestedAttributesNV.length;
Item[] itemCategories = null;
log("length="+length);
for (int i = 0; i < length; i++)
log("requestedAttributesNV[i].getName()="+requestedAttributesNV[i].getName());
if(requestedAttributesNV[i].getName().equals(Attributes.CATEGORIES))
itemCategories = (Item[]) requestedAttributesNV[i].getValue();
length = itemCategories == null ? 0 : itemCategories.length;
log("length="+length);
long categoryInstanceId = 0;
for (int i = 0; i < length; i++)
log("Category instance " + itemCategories[i].getName() + " has id " +
itemCategories[i].getId());
categoryInstanceId = itemCategories[i].getId();
log("END ORACLE TEST CODE FROM TAR");
/* If the document does not exist in OCS */
if (doc == null) {
requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
NamedValue[] nvdoc = FdkUtils.newNamedValueArray(
new Object[][] { { Attributes.NAME,sourceFile} }
Item def = fileM.createDocumentDefinition(nvdoc,requestedAttributes);
int uploadStatusCode = uploadContent(
session,
getSampleFileStream(sourceFile,folderPath),
(String) FdkUtils.getAttribute(def,Attributes.URL)
log("Upload Status to definition file: "+uploadStatusCode);
nvdoc = FdkUtils.newNamedValueArray(
new Object[][]
{ Attributes.NAME,sourceFile},
{ Options.USE_SAVED_DEFINITION, new Long(def.getId())},
{ Options.DESTFOLDER, new Long(folder.getId()) },
// apply category instance informationnew
{ Options.CATEGORY_DEFINITION, categoryDef }
requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
doc = fileM.createDocument(nvdoc,null,requestedAttributes);
}else /* if document already exist in OCS */
log(sourceFile+" file exists so updating ...");
int uploadStatusCode = uploadContent(
session,
getSampleFileStream(sourceFile,folderPath),
(String) FdkUtils.getAttribute(doc ,Attributes.URL)
log("uploadStatusCode="+uploadStatusCode);
FileInputStream fi= getSampleFileStream(sourceFile,folderPath);
log("category id using in update="+ category.getId());
NamedValue[] updatecatdef = new NamedValue[] {
//new NamedValue(Options.UPDATE_CATEGORY_ID, new Long(category.getId())),
new NamedValue(Options.UPDATE_CATEGORY_ID, new Long(categoryInstanceId)),
new NamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES,
new NamedValue[] {
new NamedValue((String)internalCategoryAttrs[0].getValue(), "AH234 V2"),
new NamedValue((String)internalCategoryAttrs[1].getValue(), "SNHGZ12 V2")
NamedValue[] nv = FdkUtils.newNamedValueArray(
new Object[][]
{ Attributes.NAME,sourceFile},
{ Attributes.DESCRIPTION,"Sample file"},
//{Options.CONTENTSTREAM, fi},
{ Options.CATEGORY_DEFINITION, updatecatdef }//Newly added for category upload
requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
// THIS IS WHERE WE ARE GETTING ERROR
fileM.updateDocument(doc.getId(),nv,requestedAttributes);
System.out.println("doc = fm.updateDocument is complete ........." );
} // end if (Document Confidentiality category present)
} // end if category configuration enabled / overridable etc
catch (FdkException fe)
FdkUtils.log(fe);
fe.printStackTrace();
catch (Exception e)
// java.net.MalformedURLException;
// java.rmi.RemoteException;
// javax.xml.rpc.ServiceException;
// org.apache.axis.AxisFault
log("Fatal exception occurred in run():");
e.printStackTrace();
finally
if (session != null)
session.disconnect();
log("\n"+this.getClass().getName()+": ending");
private FileInputStream getSampleFileStream(String filename,String path)
throws FileNotFoundException
FileInputStream stream = null;
if (filename != null && filename.length() >= 1)
if (path.length() >=1 && !path.endsWith("/"))
path += "/";
stream = new FileInputStream(new File(path+filename));
return stream;
public int uploadContent(
FdkSession session,
InputStream inputStream,
String destinationURL
throws Exception
int statusCode = -1;
if (inputStream == null) return statusCode;
HTTPConnection conn = null;
try
URL url = new URL(destinationURL);
conn = session.getHttpConnection(url);
byte[] buffer = new byte[8192];
int count=0;
HttpOutputStream outputStream = new HttpOutputStream();
HTTPResponse response = conn.Put(url.getFile(), outputStream);
try
while ((count = inputStream.read(buffer)) != -1)
outputStream.write(buffer, 0, count);
finally
outputStream.flush();
outputStream.close();
statusCode = response.getStatusCode();
finally
if (inputStream != null)
inputStream.close();
if (conn != null)
conn.stop();
conn = null;
return statusCode;
// Handle the response. Note that a successful response may not be
// 200, but may also be 201 Created, 204 No Content or any of the other
// 2xx range responses.
public void log(String s)
System.out.println(s);
public NamedValue[] getInternalCategoryAttrNames(String categoryName,FdkSession session) throws Exception
NamedValue[] returnNV = null;
Map attmap = new HashMap();
attmap.put(Attributes.METADATA_ATTRIBUTES,
FdkUtils.newAttributeRequestArray(
new String[] { Attributes.ATTRIBUTE_NAME,
Attributes.DISPLAY_NAME }));
AttributeRequest[] request = FdkUtils.getAttributeRequestArray(attmap);
Item cat = FdkUtils.getCategoryObject(session, null, categoryName, request);
log("inside method cat id="+cat.getId());
/** ANAKKALA START **/
NamedValue[] catNV = cat.getRequestedAttributes();
if( catNV != null && catNV.length >0)
for (int i=0; i<catNV.length; i++)
if(catNV[i].getName().equals("METADATA_ATTRIBUTES"))
//log("** CatNV.getName="+catNV[i].getName()+" value="+catNV[i].getValue());
Item[] meta = (Item[]) catNV[i].getValue();
log("meta length="+meta.length);
returnNV = new NamedValue[meta.length];
for (int j=0; j<meta.length; j++)
log("--Item getname="+meta[j].getName()+" value="+meta[j].getId()+" gettype="+meta[j].getType()+" gettypedesc="+meta[j].getTypeDesc());
returnNV[j] = new NamedValue(meta[j].getName(),meta[j].getName());
NamedValue[] metaNV = meta[j].getRequestedAttributes();
log("---metaNV length="+metaNV.length);
for(int k=0; k<metaNV.length; k++)
log("------metaNV.getName="+metaNV[k].getName()+" value="+metaNV[k].getValue());
/** ANAKKALA END **/
//NamedValue[] ret = null;
return returnNV; -
Hi All,
When i'm creating a item in the system automatically the item category set getting assigned to it (Purchasing) .
but this category set assigning with the wrong category code. How we can stop this , so that after i create i can assign the category set with required category code combination as per my requirment . please help me on this.
Thanks & Regs
RGuser549459 wrote:
Hi All,
When i'm creating a item in the system automatically the item category set getting assigned to it (Purchasing) .
but this category set assigning with the wrong category code. How we can stop this , so that after i create i can assign the category set with required category code combination as per my requirment . please help me on this.
Thanks & Regs
RGAfter creating an item in item master..you can go to tools and in there item categories and you can assign the categories there...Mostly my guess is if the item is a purchased item..it will be assigned to default purchasing category and it should also be assigned to inventory category too..as it is also a inventory item..
HTH
Mahendra -
Evaluation Paths for Audit Requirements
Hi,
For requirements, which belong to the "Subrequirements" requirements category, is "A500" typically the value that one would specify for this?
Thank you,
EricYesterday, I defined the evaluation path as you suggested. I am still seeing problems, so I assume that I must have something misconfigured or unconfigured somewhere else. This implies that I'm probably not done bothering the forum yet....
As far as getting the "SC" requirement selection into 4.72, it is not much of an issue for me, since we are supposed to be upgrading fairly soon, and for testing purposes, I should be able to use an eval path. I might still post an OSS message, as you suggest.
One thing that would be nice would be a complete "changelog" to view somewhere. I can see the release notes for my version in the implementation guide, but it would be nice to see the release notes for all versions. This would allow someone to make a quick determination about what became available and when. If such a changelog already exists, can you tell me where to access it?
Thanks again for your help, Joachim.
Best,
Eric -
Coverage Strategy use multiple Category Structures
Hi AFS Expert,
In the same Coverage Strategy, does it allow to use multiple Category Structures to do the transfer from requirement category to stock category?
E.g Category Structure: AA, BB
"Category Structure AA --> Coverage Strategy CS1 --> Requirement category" transfer to "Category Structure BB --> Coverage Strategy CS1 --> Stock category"
Is it possible to do?
Looking forward your kind advise.
Thanks,
MagHello Mag,
The coverage strategy is configured for a single category structure and it maps the category values of that category structure. We can define the sequence in which the stock categories map the requirement categories. We will not be able to map the requirement category to stock category across category structures.
Hope this information helps.
Regards
Sudha
>
Mag Sai wrote:
> Hi AFS Expert,
>
> In the same Coverage Strategy, does it allow to use multiple Category Structures to do the transfer from requirement category to stock category?
>
> E.g Category Structure: AA, BB
>
> "Category Structure AA --> Coverage Strategy CS1 --> Requirement category" transfer to "Category Structure BB --> Coverage Strategy CS1 --> Stock category"
>
> Is it possible to do?
>
> Looking forward your kind advise.
>
> Thanks,
> Mag -
BAPI "BAPI_POSRVAPS_GETLIST2" not extracting Orders with category BC and BD
Hi,
I am using a BAPI "BAPI_POSRVAPS_GETLIST2" to extract the receipts and requirement elements from live cache, however I found that this BAPI does not extract orders with category BC and BD (Stock transfer reservation).
Can you kindly let me know whether this is correct ? BC and BD does not fall in receipt or requirement category ?
If yes then which BAPI should I use to extract orders with BC and BD category ?
Thanks & Regards,
RohitHi Rohit,
The categories BC & BD are coming under reciepts & requirements only and i guess should be retrived by standard BAPI.
Please try using BAPI BAPI_POSRVAPS_GETLIST3.
and also mention correct 'locationproducts' as mentioned in the below thread.
Purchase order data for ATP category BH and BI not retrieved
Initially plese try to retrieve the details by 'Order number' to make sure the BAPI is working fine. Later you can do it by locproducts and ATP category.
Hope it helps.
Regards,
Deepthi
Maybe you are looking for
-
The same problem with Windows Vista 64bit-iTouch not recognized by iTunes
Happy Holidays, all. I was just hoping that someone had come up with a fix to the problem with iTouch and Windows Vista Premium (64bit). All I get is a picture of the plug pointing to the iTunes image on my iTouch, can't even see the regular icons ye
-
Why is my music no longer playing on my phone after iOS7 update?
I updated my phone to iOS7 (yay!) but now the majority of my music will not play on my my phone. The music plays on my computer just fine, but doesn't appear to sync to my phone now. This is how my 32 gig phone now appears on iTunes: It's filled to
-
How to fetch records from the database into a combo box?
Hi: I´m really new with ABLBPM and I´m trying to fetch records from the database to display them into a combo box as valid values for a presentation but I´m using a dynamic method with this code: <em>for each row in SELECT campo1, campo2 from TABLE</
-
Hi, i am developing a piece of software where i need to be able to edit the contents of an SWT table and then save any changes, i have been able to edit the cell contents, but am stuck saving the changes. I found how to edit the table cells using a s
-
To:NOAH:REGARDING CLIENT/SERVER Program
Dear Noah,,,how to run the server program since there is no component inside?Pls reply