Custom Rules upload in 5.3

Hello,
I have a proof of concept project for GRC 5.3 implementation and  have configured the GRC RAR as per the config Guide and the Rule upload was done accordingly. In the configrued system, I am seeing the GLOBAL Rule set and all the rules generated against it.
The real problem started when I started to load the custom Rule Files (BP,Functions.txt etc etc ) for all the custom rules we plan to use. I tried to load the  custom Files from CONFIGURATION tab -> RULE UPLOAD.
- I am seeing some error messages and now I dont know if I have damaged the existing rules and need to fix the Global itself ?
- How do I bring in the customized Text Files for Rules ?
Thanks,
Farah
HERE IS A SNAPSHOT OF ERRORS :
Business process ID: AP00 cannot be deleted because a Function ID exists
Business process ID: BS00  cannot be deleted because a Risk ID exists
Business process ID: CA00  cannot be deleted because a Risk ID exists
Business process ID: CR00 cannot be deleted because a Function ID exists
Business process ID: EC00 cannot be deleted because a Function ID exists
Business process ID: FI00  cannot be deleted because a Risk ID exists
Business process ID: HR00  cannot be deleted because a Risk ID exists
Business process ID: MM00  cannot be deleted because a Risk ID exists
Business process ID: PM00  cannot be deleted because a Risk ID exists
Business process ID: PR00  cannot be deleted because a Risk ID exists
Business process ID: SD00  cannot be deleted because a Risk ID exists
Business process ID: SR00 cannot be deleted because a Function ID exists
Business process upload not complete due to above errors

Hello Alpesh,
So if I am understanding it right, I should manually create a new Rulesset from the Rule Architect tab and for the decription call it custom
and then start uploading the Rules against it .
I will try it now and see if I can upload it without any errors or warning.
Thanks,
Farah

Similar Messages

  • Rule Upload : GRC10

    Hello Gurus,
    Would appreciate if anyone can let me know how to use the Upload SOD rules feature under SPRO>Access Control> Access Risk Analysis> SOD Rules> Upload SOD rules.
    Here I am asked to upload the files for Business Process, Function, Permission, Risk etc. but not sure where can I get the format for these files? I need to append few new functions and their corresponding risks into an existing ruleset.
    Many thanks in advance.

    Hello Vikas,
    Thanks, have dropped you a mail for the files. Though I am not very sure I need them or whould I directly use the export functionality of my exixting SAP GRC 5.3 ruleset.
    We have decided not go to for the Global Ruleset but use the custom one from GRc 5.3 (as we were using GRC 5.3 earlier) by importing the same. Thus I have the following questions on he rueset Migration:
    1. How will I migrate existing Ruleset from 5.3 to 10.0 Development Box(using your files or I guess there is a functionality already in 5.3 to export the ruleset)? Can you please tell me how to Migrate this (which was actually my question)?
    2. How will then I be able to Migrate the ruleset from GRC 10.0 Development Box to GRC 10.0 Quality Box?
    Thanks.

  • RAR - Rules Upload

    Hi Experts,
    From the RAR, I can see the default "Global" ruleset. I went to the Configuration tab, navigated to Rule Upload > Generare Rules, and clicked on the Foreground button, and I see a list of Risk Description, conflicting conflicts etc etc.
    However, I did not want to use the Global ruleset, as I have a customized ruleset which addresses my client's SoD concerns very specifically. What I did first was to export the all components of the rules (as a backup) and then I navigated to the Rule Architect Tab, and manually deleted all the Risks, Functions, Rule Sets and Business Process (in that order).
    I then proceeded to the Configuration tab > Rule Upload and uploaded the Business process, Function, Function Authorisation, Rule Set and Risk. No error messages encountered as I followed the Rule File Templates as per the configuration guide. But it also does not tell me if I was successful in importing those files. (so I assumed no error message = import successful)
    However, when I navigated to Rule Upload > Generate Rules, and clicked on the Foreground button, I was unable to see any list generated this time. I tried to export all the components of the rules (based on what I imported) to troubleshoot, and I found that the "function_permission.txt" and the "Risk_desc.txt" portions were missing from the exported textfile. However, all the other information from other text files are in that exported text file.
    From initial analysis, this seems like the Function Authorisation and the Risk files may not have been imported successfully. Would like to know if anyone has encountered this problem and what actions should be taken to rectify it?
    Thanks!

    Hi Experts,
    Thanks for your response.
    I followed the Rule Set Template from the configuration guide to the letter.
    Upon closer inspection of the contents in what I exported, I discovered that for the "function_action.txt" portion, the Tcodes of some of the business process were not found, for e.g.
    Business Process FA may have tcodes under function action Tab, but business process IM seems to have no tcodes under the function action Tab. I suspect that during the import, certain business processes were not "picked up", whereas others were. It was a clean omission of tcodes from IM business process. Does the naming convention of business process follow some reserved words (i.e. financial accounting must be FA, procurement Must be PR etc to be same as the global ruleset)?
    In addition, for those business process which have tcodes reflected in the function action Tab, I tried to click on the "+" to expand and see the objects, fields and values under the function permission Tab, but it cannot be expanded (i.e. blank).

  • How to implemet rulesets withn our overwring custom rules

    Hi GRC Experts,
    Recently we have done upgrade from 4.6C to ECC 6 and upgraded the VIRSA component from VIRSA 400_46C to VIRSA 400_700.
    Before upgrade we have done some custom changes in the rule set. But after upgrade, we need to get the additional ruleset from SAP for ECC6. I am afraid if I overwrite the custom changes if I implemet the additional ruleset provided by SAP. What is the best way to get the rulesets implemented without overwriting the existing custom ones?
    Awaiting your opinions and suggessions.
    Regards
    Prasanth

    Hi Prasanth,
    Your existing data will not be deleted when you upload the new ruleset. Use the Configuration, Rule Upload option which only appends the data.
    You can ignore the ALL files, since you have the data already in the system.
    Below thread gives you some light on the basic questions of an upgrade:
    Upgrade of GRC 5.2 to GRC AC 5.3
    Regards,
    Raghu

  • OTL Time Card Explosion based on custom rules

    Hi,
    I am working on a customization in which the users are setting up some custom rules thru some custom form. They want the Time card to be exploded based on these rules.
    Can someone please suggest me some API which i can use to explode the time card. And also does this explosion move the data to HXT tables ?
    would I need to run the transfer to BEE program? or the API would automatically move the data to BEE.
    Thanks
    PS

    Hi,
    I will answering your doubts no 3 and 4
    Instead of using XML template, I would suggest you to use WED Adi, which can be called from the OTL page
    button. And at that time the only thing u have to upload server with the WebAdi template.
    Here you will not need to build a custom table, a view will solve the purpose. And there is not need of further maintenance
    For the file to be read only you can include it in the code while extending your respective controller class.
    But Oracle recommend not to extend controller class. Let the client be aware of it, that it requires the extension
    of controller class of the page. If he thumps up the extension of controller class then your life becomes pretty simple.
    Regards,
    Pankaj Kedia

  • Custom Rule - Problem in passin values From Rule Container to WF Container?

    Hi Guys,
    I am having hard time passing values back from my custom rule. I have created a custom rule to determine the agents in PFAC which takes in the Person number as import element of container. It determines the Manager as agent and I am passing Managers Person Number back to workflow. If he dont approve the Request then it will be passed to his boss. In this case I will pass this imported Mangers Person number back to rule so that his boss will be determined as agent. I  have created ZRULE function module. I am passing value back from Rule container to Workflow Container using following code.
    swc_set_element ac_container 'SUPERPERNR'  lf_super_pernr.
    I have created a element SUPERPERNR on rule container and workflow container as well .The problem is in the Rule container I am not able to create SUPERPERNR as export parameter. The tick mark is grayed out and there is no option for setting it as export.
    My question is do I have create a Export element on Rule container or Not? If i just write the code
    ( swc_set_element ac_container 'SUPERPERNR'  lf_super_pernr ) will it set the value in WF container? In my case it is not setting. I have to bind the values from rule container to WF container and if My rule container element is not allowing me to click the tick mark as export how can i pass value of of rule container back to WF Container?
    Please help me guys.
    Thanks,
    Manish.

    Hi Manish,
         Same scenario I have developed in my system. This all steps I did in my system.
    1) Created a Z function module which takes import parameter (Parameter name = 'EMP') in the
        format 'US100123'.
    2) This in turn fetches back the supevisor or boss as an export parameter (Parameter name = 'BOSS') in
         the format 'US100245'.
    3) This function module is attached to a BUS object(SWO1).
    4) While attaching this function module to BUS object you need not do any manual coding it is done
        automatically.
    5) Implement, release and generate this BUS object.
    6) Create a new variable in your workflow (Parameter name = 'ZSUPERVISOR') for storing the value
        which is returned by the Z method.
    7) Create a new task.
    8) Put in your BUS object name, then your Z method name, select background processing checkbox.
    9) Press save, it will ask for transfer of missing elements, select yes.
    10) Then you will see a green button below your Z method name click on it.
    11) Top portion contains your Z method variables, below to it you have the import parameter window in
          this window you should have &EMP& -> &EMP&., below to import parameter window you have
          export parameter window in this window you should have &BOSS& <- &BOSS&. (This is method
          binding).
    12) Now click on enter button then click on back button it will generate the task binding automatically
         just press yes.
    13) Now click on binding exist button.
    14) Here you have the Workflow container variables as well as the system container variables.
    15) In the import parameter window left portion is for your workflow variables and right portion is for your 
          method variables. In my case i had sent workflow initiator and fetched his supervisor. The Import
          parameter binding was &WF_INTIATOR& -> &EMP&. and the export parameter binding part was
          &ZSUPERVISOR& <- &BOSS&.
    16) Save the task and run the workflow.
    Regards.
    Vaibhav Patil.

  • Migration of Fxcop Custom Rules to Visuatl Studio 2012

    I have an existing custom rule which was written in visual studio 2008 using fxocp SDK 1.35 and Microsoft.CCI 1.35. Now i am migrating it to latest version of Fxcop 11.0 and Microsoft .cci 11.0 using Vistual Studio 2012.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //using Microsoft.FxCop.Sdk.Introspection;
    //using Microsoft.Cci;
    using Microsoft.FxCop.Sdk;
    using System.Collections;
    using System.IO;
    namespace LDOFxCopCustomRules.Rules.Design
    class DisposableObjectsShouldBeDisposed : BaseDesignRules
    string sFileName = System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"] + "\\" + @"DisposableObjectsShouldBeDisposed.Xls";
    bool bDisplayErrors = String.IsNullOrEmpty(System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"]);
    //string sExceptionLogFileName = @"D:\RTE.txt";
    static string sLockString = "Lock";
    string sFormat = "{0}\t{1}\t{2}\t{3}\n";
    string sAssemblyName;
    string sClassName;
    string sLineNumber;
    // Fields
    private Hashtable m_fieldsOwnedByType;
    private Hashtable m_fieldsWithDispose;
    private Method m_method;
    // Methods
    public DisposableObjectsShouldBeDisposed()
    : base("DisposableObjectsShouldBeDisposed")
    this.m_fieldsWithDispose = new Hashtable();
    this.m_fieldsOwnedByType = new Hashtable();
    if (!bDisplayErrors && !File.Exists(sFileName))
    if (!bShowInAllReport)
    lock (sLockString)
    File.WriteAllText(sFileName, string.Format(sFormat, "Assembly", "Class", "Method (fully qualified name)", "Line number"));
    public override ProblemCollection Check(Member member)
    string sTemp = member.FullName;
    bool bFinally = false;
    bool bDataReader = false;
    bool bDisposedCalled = false;
    int nDataReaderCount = 0;
    Local oCheckLocal;
    Method oMethod = null;
    int nCurrent = 0;
    InstructionList oList = null;
    this.m_method = RuleUtilities.GetMethod(member);
    if (this.m_method == null)
    return null;
    this.m_fieldsWithDispose.Clear();
    this.m_fieldsOwnedByType.Clear();
    //if (!this.m_method.DeclaringType.IsAssignableTo(SystemTypes.IDisposable))
    // return null;
    //if (RuleUtilities.ExtendsControl(this.m_method.DeclaringType))
    // return null;
    //if (!RuleUtilities.IsDisposeBool(this.m_method) && (!RuleUtilities.IsDisposeMethod(this.m_method) || HasDisposeBoolMethod(this.m_method.DeclaringType)))
    // return null;
    if (this.m_method.DeclaringType.IsAssignableTo(SystemTypes.IDisposable))
    if (RuleUtilities.ExtendsControl(this.m_method.DeclaringType))
    return null;
    if (!RuleUtilities.IsDisposeBool(this.m_method) && (!RuleUtilities.IsDisposeMethod(this.m_method) || HasDisposeBoolMethod(this.m_method.DeclaringType)))
    return null;
    sClassName = m_method.DeclaringType.Name.Name;
    sAssemblyName = m_method.DeclaringType.DeclaringModule.ContainingAssembly.ModuleName;
    MemberList members = this.m_method.DeclaringType.Members;
    for (int i = 0; i < members.Length; i++)
    switch (members[i].NodeType)
    case NodeType.Field:
    Field field = members[i] as Field;
    if (!field.IsStatic && field.Type.IsAssignableTo(SystemTypes.IDisposable))
    this.m_fieldsWithDispose[field] = null;
    break;
    case NodeType.InstanceInitializer:
    case NodeType.Method:
    this.VisitMethod(members[i] as Method);
    break;
    new DisposeVisitor(this.m_fieldsWithDispose).Visit(this.m_method);
    if (this.m_fieldsWithDispose.Count > 0)
    foreach (Field field2 in this.m_fieldsWithDispose.Keys)
    if (this.m_fieldsOwnedByType.Contains(field2))
    string str = RuleUtilities.Format(this.m_method.DeclaringType);
    string str2 = RuleUtilities.Format(field2.Type);
    sLineNumber = field2.SourceContext.StartLine.ToString();
    Problem item = new Problem(base.GetResolution(new string[] { str, field2.Name.Name, str2 }), field2.Name.Name);
    if (bDisplayErrors)
    base.Problems.Add(item);
    else
    if (bShowInAllReport)
    lock (LockClass.objLockAllReport)
    File.AppendAllText(sSingleReportName, string.Format(sSingleReportFormat, sAssemblyName, sClassName, m_method.FullName, sLineNumber, "DisposableObjectsShouldBeDisposed"));
    else
    lock (sLockString)
    File.AppendAllText(sFileName, string.Format(sFormat, sAssemblyName, sClassName, m_method.FullName, sLineNumber));
    else
    if (member.NodeType == NodeType.Method)
    oMethod = member as Method;
    // The below block is to identify if any of the method's class is implemented from the interface IDataReader.
    // If that is the case, the method will be skipped and next method will be picked.
    // Ideally, this should be changed to scanning each class, skipping if it has implemented IDataReader and then
    // scan the methods for proper usage of IDataReader. But due to time constraints, this change is not done
    TypeNode typ = oMethod.DeclaringType;
    InterfaceList intList = typ.Interfaces; // get the list of interfaces of the class and check for IDataReader
    foreach (Interface intf in intList)
    if (intf.FullName.Contains("IDataReader"))
    return null;
    // Start the actual logic
    if (oMethod != null)
    oList = oMethod.Instructions;
    Instruction oInstruction;
    for (nCurrent = 0; nCurrent < oList.Length; nCurrent++)
    oInstruction = oList[nCurrent];
    if (oInstruction.OpCode == OpCode._Locals)
    LocalList oLocalList = oInstruction.Value as LocalList;
    int nCount = oLocalList.Length;
    for (int nIdx = 0; nIdx < nCount; nIdx++)
    if (oLocalList[nIdx].Type.Name.Name == "IDataReader")
    bDataReader = true;
    nDataReaderCount++;
    if (nDataReaderCount > 0)
    if (oInstruction.OpCode == OpCode._Finally)
    bFinally = true;
    if (bFinally)
    if (oInstruction.OpCode == OpCode.Callvirt)
    oCheckLocal = oList[nCurrent - 1].Value as Local;
    if (oCheckLocal != null && oCheckLocal.Type != null && oCheckLocal.Name != null && oCheckLocal.Type.Name.Name != null && oCheckLocal.Type.Name.Name == "IDataReader")
    bDisposedCalled = true;
    //nDataReaderCount--;
    // Microsoft.FxCop.Sdk.Problem oProblem = new Microsoft.FxCop.Sdk.Problem(base.GetResolution(sTemp1), oMethod.Name.Name);
    if (bDataReader && !bDisposedCalled)
    sClassName = oMethod.DeclaringType.Name.Name;
    sAssemblyName = oMethod.DeclaringType.DeclaringModule.ContainingAssembly.ModuleName;
    sLineNumber = nCurrent > 0 && nCurrent < oList.Length? oList[0].SourceContext.StartLine.ToString().Trim() : string.Empty;
    if (bDisplayErrors)
    Microsoft.FxCop.Sdk.Problem oProblem = new Microsoft.FxCop.Sdk.Problem(base.GetResolution(sTemp), sClassName);
    base.Problems.Add(oProblem);
    else
    if (bShowInAllReport)
    lock (LockClass.objLockAllReport)
    File.AppendAllText(sSingleReportName, string.Format(sSingleReportFormat, sAssemblyName, sClassName, m_method.FullName, sLineNumber, "DisposableObjectsShouldBeDisposed"));
    else
    lock (sLockString)
    File.AppendAllText(sFileName, string.Format(sFormat, sAssemblyName, sClassName, oMethod.FullName, sLineNumber));
    return base.Problems;
    private static bool HasDisposeBoolMethod(TypeNode type)
    MemberList members = type.Members;
    int num = 0;
    int length = members.Length;
    while (num < length)
    Method method = members[num] as Method;
    if ((method != null) && RuleUtilities.IsDisposeBool(method))
    return true;
    num++;
    return false;
    public override Statement VisitAssignmentStatement(AssignmentStatement assignment)
    MemberBinding target = assignment.Target as MemberBinding;
    if (target != null)
    Field boundMember = target.BoundMember as Field;
    if (((boundMember != null) && (boundMember.DeclaringType == this.m_method.DeclaringType)) && (assignment.Source is Construct))
    this.m_fieldsOwnedByType[boundMember] = null;
    return base.VisitAssignmentStatement(assignment);
    // Properties
    public override TargetVisibilities TargetVisibility
    get
    return TargetVisibilities.All;
    // Nested Types
    private class DisposeVisitor : StandardVisitor
    // Fields
    private Hashtable m_fieldsWithDispose;
    private Method m_method;
    private Hashtable m_recursionCache = new Hashtable();
    private Hashtable m_variableToFieldMap = new Hashtable();
    // Methods
    internal DisposeVisitor(Hashtable fieldsWithDispose)
    this.m_fieldsWithDispose = fieldsWithDispose;
    public override Statement VisitAssignmentStatement(AssignmentStatement assignment)
    Local target = assignment.Target as Local;
    if (target != null)
    MemberBinding source = assignment.Source as MemberBinding;
    if (source != null)
    Field boundMember = source.BoundMember as Field;
    if ((boundMember != null) && (boundMember.DeclaringType == this.m_method.DeclaringType))
    this.m_variableToFieldMap[target] = boundMember;
    return base.VisitAssignmentStatement(assignment);
    public override Method VisitMethod(Method method)
    this.m_method = method;
    return base.VisitMethod(method);
    public override Expression VisitMethodCall(MethodCall call)
    MemberBinding callee = call.Callee as MemberBinding;
    if (callee != null)
    Method boundMember = callee.BoundMember as Method;
    if (boundMember == null)
    return base.VisitMethodCall(call);
    MemberBinding targetObject = callee.TargetObject as MemberBinding;
    Field key = null;
    if (targetObject == null)
    Local local = callee.TargetObject as Local;
    if (local != null)
    key = this.m_variableToFieldMap[local] as Field;
    else
    key = targetObject.BoundMember as Field;
    if (((key != null) && this.m_fieldsWithDispose.ContainsKey(key)) && (((boundMember.Name.Name == "Dispose") || (boundMember.Name.Name == "Close")) || ((boundMember.Name.Name == "Clear") && boundMember.DeclaringType.IsAssignableTo(FrameworkTypes.HashAlgorithm))))
    this.m_fieldsWithDispose.Remove(key);
    else if ((boundMember.DeclaringType == this.m_method.DeclaringType) && !this.m_recursionCache.Contains(boundMember))
    this.m_recursionCache[boundMember] = null;
    this.VisitMethod(boundMember);
    return base.VisitMethodCall(call);
    Below errors are raised. Please let me know the solution
    1. Error 2 Inconsistent accessibility: base class 'Microsoft.FxCop.Sdk.StandardVisitor' is less accessible than class 'LDOFxCopCustomRules.Rules.Design.DisposableObjectsShouldBeDisposed.DisposeVisitor' D:\LDOFxCopCustomRules\DisposableObjectsShouldBeDisposed.cs 287 23 LDOFxCopCustomRules
    Error 3 'Microsoft.FxCop.Sdk.StandardVisitor' is inaccessible due to its protection level D:\LDOFxCopCustomRules\DisposableObjectsShouldBeDisposed.cs 287 40 LDOFxCopCustomRules
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //using Microsoft.FxCop.Sdk.Introspection;
    //using Microsoft.Cci;
    using Microsoft.FxCop.Sdk;
    using System.Collections;
    using System.IO;
    namespace LDOFxCopCustomRules.Rules.Design
    class AvoidUnusedParameters : BaseDesignRules
    string sFileName = System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"] + "\\" + @"AvoidUnusedParameters.Xls";
    bool bDisplayErrors = String.IsNullOrEmpty(System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"]);
    //string sExceptionLogFileName = @"D:\RTE.txt";
    static string sLockString = "Lock";
    string sFormat = "{0}\t{1}\t{2}\t{3}\n";
    string sAssemblyName;
    string sClassName;
    string sLineNumber;
    private Hashtable m_parameterUsage;
    public AvoidUnusedParameters()
    : base("AvoidUnusedParameters")
    this.m_parameterUsage = new Hashtable();
    if (!bDisplayErrors && !File.Exists(sFileName))
    if (!bShowInAllReport)
    lock (sLockString)
    File.WriteAllText(sFileName, string.Format(sFormat, "Assembly", "Class", "Method (fully qualified name)", "Line number"));
    public override ProblemCollection Check(Member member)
    Method method = member as Method;
    if (!ShouldAnalyze(method))
    return null;
    this.m_parameterUsage.Clear();
    if (CallGraph.FunctionPointersFor(method).Length > 0)
    return null;
    if (method.DeclaringType.IsAssignableTo(SystemTypes.Delegate))
    return null;
    if (RuleUtilities.IsEventHandling(method))
    return null;
    if (RuleUtilities.IsVisualBasicModule(method.DeclaringType.DeclaringModule) && (method.Name.Name == "Dispose__Instance__"))
    return null;
    if (RuleUtilities.HasCustomAttribute(method, SystemTypes.ConditionalAttribute))
    return null;
    for (int i = 0; i < method.Instructions.Length; i++)
    switch (method.Instructions[i].OpCode)
    case OpCode.Ldarg_0:
    case OpCode.Ldarg_1:
    case OpCode.Ldarg_2:
    case OpCode.Ldarg_3:
    case OpCode.Ldarg_S:
    case OpCode.Ldarga_S:
    case OpCode.Ldarg:
    case OpCode.Ldarga:
    Parameter parameter = method.Instructions[i].Value as Parameter;
    this.m_parameterUsage[parameter] = null;
    break;
    sClassName = method.DeclaringType.Name.Name;
    sAssemblyName = method.DeclaringType.DeclaringModule.ContainingAssembly.ModuleName;
    sLineNumber = method.SourceContext.StartLine.ToString();
    for (int j = 0; j < method.Parameters.Length; j++)
    Parameter key = method.Parameters[j];
    if (!this.m_parameterUsage.ContainsKey(key))
    FixCategories breaking = FixCategories.Breaking;
    if (!method.IsVisibleOutsideAssembly)
    breaking = FixCategories.NonBreaking;
    string str = RuleUtilities.Format(method);
    string name = method.Parameters[j].Name.Name;
    Problem item = new Problem(base.GetResolution(new string[] { name, str }), name);
    item.FixCategory = breaking;
    if (bDisplayErrors)
    base.Problems.Add(item);
    else
    if (bShowInAllReport)
    lock (LockClass.objLockAllReport)
    File.AppendAllText(sSingleReportName, string.Format(sSingleReportFormat, sAssemblyName, sClassName, method.FullName, sLineNumber, "AvoidUnusedParameters"));
    else
    lock (sLockString)
    File.AppendAllText(sFileName, string.Format(sFormat, sAssemblyName, sClassName, method.FullName, sLineNumber));
    this.m_parameterUsage.Clear();
    return base.Problems;
    private static bool IsVSUnitTestInitializer(Method method)
    if ((method.IsStatic && (method.ReturnType == SystemTypes.Void)) && ((method.Parameters.Length == 1) && (method.Parameters[0].Type.Name.Name == "TestContext")))
    for (int i = 0; i < method.Attributes.Length; i++)
    AttributeNode node = method.Attributes[i];
    if ((node.Type.Name.Name == "AssemblyInitializeAttribute") || (node.Type.Name.Name == "ClassInitializeAttribute"))
    return true;
    return false;
    private static bool ShouldAnalyze(Method method)
    if (method == null)
    return false;
    if ((method.Parameters.Length == 0) && method.IsStatic)
    return false;
    if (method.IsVirtual)
    return false;
    if (method.IsExtern)
    return false;
    if (method.IsAbstract)
    return false;
    if (RuleUtilities.IsFinalizer(method))
    return false;
    if (method.Name.Name == "__ENCUpdateHandlers")
    return false;
    Module declaringModule = method.DeclaringType.DeclaringModule;
    if (method.Name.Name.StartsWith("__", StringComparison.Ordinal) && RuleUtilities.IsAspAssembly(declaringModule))
    return false;
    if (RuleUtilities.IsISerializableConstructor(method))
    return false;
    if (IsVSUnitTestInitializer(method))
    return false;
    if (RuleUtilities.MethodOrItsTypeMarkedWithGeneratedCode(method))
    return false;
    return true;
    // Properties
    public override TargetVisibilities TargetVisibility
    get
    return TargetVisibilities.All;
    Below Errors are raised
    Error 8 The name 'SystemTypes' does not exist in the current context D:\AvoidUnusedParameters.cs 53 49 LDOFxCopCustomRules
    Error 9 'Microsoft.FxCop.Sdk.RuleUtilities' does not contain a definition for 'IsVisualBasicModule' D:\AvoidUnusedParameters.cs 61 27 LDOFxCopCustomRules
    Error 11 'Microsoft.FxCop.Sdk.BaseIntrospectionRule.FixCategories' is a 'property' but is used like a 'type' D:\AvoidUnusedParameters.cs 98 17 LDOFxCopCustomRules
    Error 12 The best overloaded method match for 'Microsoft.FxCop.Sdk.RuleUtilities.Format(Microsoft.FxCop.Sdk.AttributeNode)' has some invalid arguments D:\AvoidUnusedParameters.cs 103 30 LDOFxCopCustomRules
    Error 13 Argument 1: cannot convert from 'Microsoft.FxCop.Sdk.Method' to 'Microsoft.FxCop.Sdk.AttributeNode' D:\AvoidUnusedParameters.cs 103 51 LDOFxCopCustomRules
    Error 14 The name 'SystemTypes' does not exist in the current context D:\AvoidUnusedParameters.cs 136 55 LDOFxCopCustomRules
    Error 16 The type or namespace name 'Module' could not be found (are you missing a using directive or an assembly reference?) D:\LDOFxCopCustomRules\AvoidUnusedParameters.cs 180 9 LDOFxCopCustomRules
    Error 17 'Microsoft.FxCop.Sdk.RuleUtilities' does not contain a definition for 'IsAspAssembly' D:\AvoidUnusedParameters.cs 181 90 LDOFxCopCustomRules
    Error 18 'Microsoft.FxCop.Sdk.RuleUtilities' does not contain a definition for 'MethodOrItsTypeMarkedWithGeneratedCode' D:\AvoidUnusedParameters.cs 193 27 LDOFxCopCustomRules

    Hi sathishkumarV,
    I am trying to involve someone familiar with this topic to further look at this issue. There might
    be some time delay. Appreciate your patience.
    Best Regards,
    Jack
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Customer Balance upload vs Vendor balance upload --- URGENT!!!!!!!!!!!!!

    Hi Peers
    I want to know the difference between Customer Balance upload and Vendor balance upload. How do you upload transactional data upload. If any boby have any documnets for this plz fwd it to me. My email id is [email protected] Its very very urgent
    Regards
    Rajaram

    use report RFBIBL00 (look at its documentation)
    A.

  • Customer Invoice Upload Tool - Can't get extension fields to populate

    In the documentation for the customer invoice upload documentation, it says to get the tag for your extension field in the Customer Invoice XML Output. No issues there. But when I add the extension field to the XML for the Customer Invoice Request Service Interface, the field never populates in the generated invoice request. Note that I cannot create a new XML Upload Service interface as a workaround because this is a 3.5 customer system
    The extension fields are in a different namespace from the Request Service Interface, so I've tried the two methods below to populate my Advertiser extension field. I've had no luck with either. Here's some sample XML from the beginning of the file. The files are also attached. Any help is appreciated.
    [ I also posted on the SCN where I  attached the test files.|http://scn.sap.com/thread/3237936]
    Method 1
    <?xml version="1.0"?>
    <CustomerInvoiceRequestRequest>
    <MessageHeader>
    <CreationDateTime/>
    </MessageHeader>
    <CustomerInvoiceRequest actionCode="04" reconciliationPeriodCounterValue="1">
    <BaseBusinessTransactionDocumentID>EXT_100001_TALINV</BaseBusinessTransactionDocumentID>
    <BaseBusinessTransactionDocumentTypeCode>29</BaseBusinessTransactionDocumentTypeCode>
    <ProposedInvoiceDate>2012-09-16</ProposedInvoiceDate>
    <Name>hhhc</Name>
    <ReferenceBusinessTransactionDocumentID>100001</ReferenceBusinessTransactionDocumentID>
    <Advertiser xmlns="http://sap.com/xi/AP/CustomerExtension/BYD/A03DP">
    <EXTAdvertiser00163E027E021ED1BFDF09124EFF4876_002>JUDSON</EXTAdvertiser00163E027E021ED1BFDF09124EFF4876_002>
    </Advertiser>
    <BusinessProcessVariantType>
    <BusinessProcessVariantTypeCode>1</BusinessProcessVariantTypeCode>
    <MainIndicator>true</MainIndicator>
    </BusinessProcessVariantType>
    Method 2
    <?xml version="1.0"?>
    <CustomerInvoiceRequestRequest>
    <MessageHeader>
    <CreationDateTime/>
    </MessageHeader>
    <CustomerInvoiceRequest actionCode="04" reconciliationPeriodCounterValue="1">
    <BaseBusinessTransactionDocumentID>EXT_100002_TALINV</BaseBusinessTransactionDocumentID>
    <BaseBusinessTransactionDocumentTypeCode>29</BaseBusinessTransactionDocumentTypeCode>
    <ProposedInvoiceDate>2012-09-16</ProposedInvoiceDate>
    <Name>hhhc</Name>
    <ReferenceBusinessTransactionDocumentID>100002</ReferenceBusinessTransactionDocumentID>
    <n1:EXTAdvertiser00163E027E021ED1BFDF09124EFF4876_002 xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/A03DP">JUDSON</n1:EXTAdvertiser00163E027E021ED1BFDF09124EFF4876_002>
    <BusinessProcessVariantType>
    <BusinessProcessVariantTypeCode>1</BusinessProcessVariantTypeCode>
    <MainIndicator>true</MainIndicator>
    </BusinessProcessVariantType>

    Hi Judson,
    Thanks for sharing this answer, i am also facing the same issue. But here in my case i have extension field in Items nodes and also got the xml node from customer invoice xml, like below but when i process the xml it adds invoice request but dont maps th "test" nodes data to that extended column.
    <n1:test_0LIGMSME2T388H1SZMFGTNHGN_Y38WD8BTY xmlns:n1="http://0008768412-one-off.sap.com/Y38WD8BTY_">test data</n1:test_0LIGMSME2T388H1SZMFGTNHGN_Y38WD8BTY>
    Could you please suggest what i am missing.

  • How can I allow a customer to upload an image to be stuck onto a mug or t-shirt and then view what it would look like on that mug or t-shirt?

    How can I allow a customer to upload an image to be stuck onto a mug or t-shirt and then view what it would look like on that mug or t-shirt?

    In the absence of drivers, a rather nasty way to achieve this would be to ensure that your software always occupies the same portion of the screen such that you know the position of the 'sample' button. You could then simulate a mouse click at those coordinates when you require a sample to be taken.
    This would not be a robust solution as a user could move or minimise the window, or other windows could also find their way into the critical position and cause the application to work incorrectly or cause unexpected things to happen.
    However, if you just need a short term work around this method might be acceptable, just be aware of the risks if you try it.
    Searching for simulate mouse clicks and having a play is the way forward.
    As an example of simulating a mouse click in a certain position, have a look here:
    http://forums.ni.com/t5/LabVIEW/Programatically-Se​lecting-a-ring/m-p/1463242#M557128
    Ian

  • Junk Mail: applying custom rules disables junk database

    Using default settings my junk mail filter works most of the time. But there are several persistent streams of spam that never get recognized as junk, and custom rules would identify them easily. But everytime I try, suddenly all the other junk that was being flagged comes through to my in box. I've selected "Trust junk mail headers in messages" and "Filter junk mail before applying my rules" but it has no effect.
    Also, the minute I add custom rules, "Erase Junk Mail" greys out and cannot be selected anymore. I have to first send my junk box to trash, then erase my trash.
    I've read the help files and they don't address this at all. (Same problem in 10.6)

    Don't have 3.0 on my computer but go to the Mail menu and choose Preferences.
    The click on Junk Mail then on Advanced and see what color is chosen in the setting and the conditions under which it is set.

  • LSMW : Customer Master upload

    hello,
    i am uploading customer master data using the standard object : 0050 and program : RFBIDE00.
    I am trying to upload data like Street2, street3 and street 4 which can be viewed in the street address drop down in transacction XD01/02. In my lsmw i am using the mapping for these fields in the structure BIADDR2 where the fields i mapped to are str_suppl1, str_suppl2, str_suppl3.
    but when i try and upload data i do not get these fields updated even though i have given  them in the upload file.
    Please can anyone tell me the reason why it is doing so?
    Thanks and Regards
    Swanand

    Hi Swanand,
    We have done the customer master upload using LSMW but with the IDoc variant (message type DEBMAS). You can upload all data you need using this IDoc.
    Regards,
    John.

  • Customer balances upload

    hi experts,
    can any one tell me what r the screens come for transaction code 'f-22' customer balances upload.what r the mandatory fields for each screen.
    Thanks &Regards
    ravikumar

    hi javeed
    pls let me know
    arjun

  • Error in Custom Rule EVALUATE_AGENT_VIA_RULE

    Hi,
    I am working on a workflow and have created a custom rule for a workflow. When I simulate this rule, it returns 1 users but when workflow is triggered, Possible agents and Actual agents are blank.
    i am getting error in Rule EVALUATE_AGENT_VIA_RULE
    Resolution of rule AC95000017 for task TS00008267: no agent found
    Workflow WS95000137 no. 000000424779 activity 0000000044 role 'AC95000017'
    No agent found.
    Could someone please explain if I have missed anything while defining.
    Regards,
    Siva

    Hi,
    Document Number and Document Type are the input paramers for my custom Rule ,
    When documents changes Based on condition(RA orVA) Only my workflow needs to be trigger. for that i have provided the condition in Basic data tab of my workflow. after that if it is a RA send a mail vendor (one activity step and i have used this step as Background) then it should go for PR USER  for Approval( for that i have created one Custom Rule and  mentioned in user decision tab).
    I have passed binding form workflow to Rule  Document Number , and Document Type.
    Swhactor table i am using in rule.. am geting the correct USER here when i simulte(test this RULE).
    What is the relation from event contaner to workflow container here?
    Regards,
    Siva

  • Using RFBIDE00 for customer master upload

    Hi all,
       Does any one used batch input program RFBIDE00 for Customer master  Upload data in to SAP.
       Could you please explain how to use it...  its urgent, appreciare if your early reply..
       I am planing to use it through Run the program from SE38..
    Thanks..

    hi good sap1,
    Batch Input - Customer Master Data (RFBIDE00)
    Description
    All new fields for customer master records can be transferred to the R/3 System also with the report RFBIDE00.
    Furthermore, the batch input can be carried out with the existing record definitions. By means of the end of record marker, the report recognizes which record structures do not yet correspond to the extended record layout and initializes the new fields with NODATA.
    It is pointed out in the batch log, which structures are yet to be maintained. This should be done as soon as possible to be able to use the new functions or fields
    Introduction
    It is now possible to pass the information concerning tax categories and withholding types (for the extended withholding functionality) and the special Argentine fields via the standard batch-input program. Please look at the standard documentation if you need further information on the program.
    Additional Fields
    The additional fields have been added to the structures BKNA1 (general information) and BKNB1 (company code data). Please use transaction SE12 to see the fields of the structures.
    Enrichments for Tax Categories
    The following table shows how to fill the interface table BKNAT to pass the tax category data:
    Field
    Description
    Value
    Input
    STYPE
    Record type
    2
    obligatory
    TBNAM
    Table name
    KNAT
    obligatory
    XDELE
    Flag: Delete entry
       optional
    TAXGR
    Tax category
       obligatory
    Enrichments for Extended Withholding Data
    The following description shows how to fill the interface table BKNBW to pass the tax category data:
    Field
    Description
    Value
    Input
    STYPE
    Record type
    2
    obligatory
    TBNAM
    Table name
    KNBW
    obligatory
    XDELE
    Flag: Delete entry
       optional
    WITHT
    Withholding type
       obligatory
    thanks
    karthik
    reward me points if usefull

Maybe you are looking for

  • Can't set max\min frequencies with CPUpower

    Hi all ! And happy easter to everyone ! I'm having a problem with CPU Frequency Scaling... I want to set maximum and minimum frequencies according to mi CPU specs, but I'm unable to do this. Well, starting from the beginning : I've a Samsung NP535U3C

  • Problem with custom task for approval

    Hi Experts, I have created webdynpro for abap application and custom task for apporval of the clock correction. I have maintained the visualization parameter in SWFVISU. But when I clicks on the approval task in UWL, it opens R/3 screen and it shows

  • Unable to select sounds from Sound Effects file

    Hi, Please help.  I am using a MacBook Pro - OS X 10.6.7 Mid 2009  (I am NOT a pro!)  I cannot seem to change my alert sounds.  I have changed my selection from "Glass" to "Basso" for example, but it will only play my previous selected sound? i.e Gla

  • InDesign Fonts problem Bookmark Script

    Dear All, We developed one script for creation of Bookmark in InDesign CS2. When we are runnign this script content formatting is getting anmoly changed, I analyzed InDesign file and came to know that due to a font called "Trade Gothic Bold No. 2" du

  • Help pause AS3.0 frame Change Timer on rollover

    could someone help me out on as to how I could go about pausing this timer on rollover of an object, stage... anything? I am just cycling images on the main timeline via this timer but would like the timer to pause if a user has mouse over one of the