Using specification for GDSN attributes?

We are planning to participate in Global Data Synchronization Network (GDSN).  For that additional master data must be defined and managed.
SAP does not provide standard solutions for this requirement.
We use EHSM for GLM and other functions.  We therefore have substances defined for materials.
We envision expanding the property tree to include GDSN related attributes which define the related material assigned.  Custom programs will be used to report the attributes as required.  The GDSN attributes are not required or related to GLM or other typical EHSM functions.
My question - would it be inappropriate or incorrect to use the specification database in this manner?  What would be the pro/con of this usage we need to be aware of?

Dear Richard
e.g. SAP EHS MANAGEMENT is used to push to others data from MSDS/SDS etc.
E.g. IMDS Customer and Supplier Collaboration - SAP Product and REACH Compliance - SAP Library
shows one example. In the area of REACH a lot fo more examples can ge listed. *** well there is a "IUCLIDE" interface etc.
A lot of regulations, industry bodies require exchange of data; e.g. check: Examples of Data sharing demands in SAP EHS Management using XML
So as long as the data is related to "EHS" (and does have some material significance) EHS is a good option to store the data and to use SAP EHS Management as the "source" for exchange the data wirth 3rd parties. A lot of IT solutions a possible. most common is the scenario SAPERP( with EHS) => SPA XI/PI => External software; other options arepossible as well.
What are the pros of using EHS?
a.) you can easily enhance EHS so that the data can be stored
b.) you can perform data loads in EHS (unsing IMport, OCC or Data Editor option)
c.) you can use EHS easily for inquiries on the data stored
d.) you can print the data in WWI reports
e.) you can share the data using options as mentioned above
The use of material classes is "limited" here
From my point of view:
You can store data in material classes
You can do uploads (using SAP standards but on the same level as with EHS)
You can exchange the data
You can proint the data using Smartform and other classic ABAP feature as well may be use Adobe integration
The "inquiry" to the data is possible as well but limited
In most cases: if you analyze data relevance for EHS > 90% of the data to be shared can be classified as "EHS" data.
At the end it is a company decision which solution you would like to use.
C.B.

Similar Messages

  • Multi-Provider Provider-Specific Properties for Navigational Attributes

    Experts,
    I need to over-ride the naming for a navigational attribute in a multi-provider.
    For non-navigational attributes you simply use the Provider-Specific Properties.  This selection is not available for navigational attributes.
    Is there a different way to apply alternative naming to navigational attributes in a Mult-Provider without affecting the global definition in the base cube.
    Thanks in advance

    No - the users want their own verions of the name as default
    Thanks for the reply

  • Using base classes for common attributes

    Can TopLink handle use of non-mapped abstract base classes? There are a number of fields that are common to each and every one of my domain objects which, following good OO design principals, are moved up to a common superclass. So I have:
    public abstract class AbstractDomainObject
    private Integer id;
    private Date dateCreated;
    private Integer creatorId;
    private Date dateModified;
    private Integer modifierId;
    // ... appropriate attribute accessors
    Then a concrete class which gets mappped in Workbench:
    public class Address
    extends AbstractDomainObject
    ... specific attributes
    I tried mapping all the specific attributes explicitly defined in the Address class and then using "Map Inherited Fields > To SuperClass" in Workbench. However, when attempting to test my mappings in the SessionConsole, only the attributes explicitly defined on Address are present in the SELECT clause.
    Can what I am trying be done? If so, how?

    Steve,
    What you are trying to do is very common and the process you described is exactly how map the class. I will summarize a couple of points for mapping this scenario.
    1. You only need to import Address in and map it. If AbstractDomainObject is imported into the Mapping Workbench make sure that it is disabled. The abstract class is only required on the project's CLASSPATH.
    2. You should not enable inheritance for the Address class. Inheritance is for situations where the abstract base class has its own independent table. I am assuming that your Address class has its own table that contains fields for all of the attributes it needs along with those of the abstract base class.
    Assuming these conditions are met then TopLink will work fine with you Address class just as if it had all of the inherited attributes directly.
    If you are still having trouble take a look through your generated project (XML or Java) to ensure that mappings exist in Address for All attributes. If the project looks good then I am at a loss. Customers have been using this pattern of use for over 5 years with TopLink and Java inheritance.
    Cheers,
    Doug

  • I have been putting in a URL and yahoo snags it parses it to several words then gives me a search page... I use Google for search andf I want to go to the specific URL I entered... How do I block Yahoo from doing this crap?

    I use google for my search engine. I do not have any reference to Yahoo in my plugins or extensions on Firefox. Every time I enter a specific URL in the Firefox box, Yahoo comes up, has the full URL I entered to go directly to. It has the URL in the Yahoo search entry field and it parses the name to several words that make up the entire URL. Asks me if I only want the name I entered and lists every site that contains the words it parses... Yahoo is really screw up if it hijacks the browser. How do I prevent them from doing this...

    Hi,
    The Reset Firefox feature can fix many issues by restoring Firefox to its factory default state while saving your essential information.
    Note: ''This will cause you to lose any Extensions, Open websites, and some Preferences.''
    To Reset Firefox do the following:
    #Go to Firefox > Help > Troubleshooting Information.
    #Click the "Reset Firefox" button.
    #Firefox will close and reset. After Firefox is done, it will show a window with the information that is imported. Click Finish.
    #Firefox will open with all factory defaults applied.
    Further information can be found in the [[Reset Firefox – easily fix most problems]] article.
    Did this fix your problems? Please report back to us!

  • How can I uniquely identify computers on the same network/account specifically for airdrop use?  When I change name on one computer under contacts if changes on all computers.

    How can I uniquely identify computers on the same network/account specifically for airdrop use?  When I change name on one computer under contacts it changes on all computers.  I would like to change icon and name for each computer.

    you would need to setup a VPN and tunnel into your office.
    FYI..the default ports are 3283 and 5900.

  • Can I use my new iphone 5 with the old iHome iD9SVC Speaker System if I get an apadter? or should i just buy new speaker system made specifically for the iphone5

    can I use my new iphone 5 with my old iHome iD9SVC speaker system if I get an adapter? or should i just buy a new speaker system made specifically for the iphone 5?

    Look iTunes>Preferences>Devices...is a backup listed for your iPhone 5 dated BEFORE you restored your iPhone 4 backup to your iPhone 5? If not, your data is gone. If there is a backup, on your iPhone 5: Settings>General>Reset>Erase All Content & Settings. You should now be able to restore that backup, if it exists, to your iPhone 5.

  • Using or for the same attribute?

    /web:window[@index='0']/web:document[(@name='body' or @name='finderBody')]/web:form[@name='search']Is this valid? I can't seem to make it work.
    The app under test has different names in the two supported versions.
    Using the right name attribute works, but then I will need two versions of the test too. (see below).
    /web:window[@index='0']/web:document[@name='body']/web:form[@name='search']
    /web:window[@index='0']/web:document[@name='finderBody']/web:form[@name='search']I am hoping there is a way to run the same test in both versions. Any ideas?

    Hi
    The or statement should work, if you are certain that the names are correct and its not working perhaps you should open an SR with Oracle.
    As a workaround you can databank the body name and make sure you use the correct name for the environment when you playback.
    Regards
    Alex

  • I want to use Firefox for a specific webpage and my Safari for the rest of my browsing. I have an Apple macbook and am very new to Firefox

    I want to use Firefox for a specific webpage and Safari for the rest of my browsing. I have an Apple macbook and am very new to Firefox

    I thought my response was clear, but to reiterate:
    1.  10.5.1.42
    2.  None, nada, zero, zilch.  I have no iPhone account with any carrier.  There is a deactivated ATT sim card in the3 phone.  Someone gave it to me.  I only want to use it as an iPod Touch.
    3.  PC with Windows 7 (I can offer more detailed info, but I am not sure how that would help.
    I had already read that link.  Reset did not resolve (both hard and soft)

  • I want to set default printer settings to be used only for a specific type of application, certain documents. All other print jobs should use a different default setting for the printer.

    I am printing a specific document from a web based application. This document need to be printed in landscape. So I would like to set the default settings for this specific printer to landscape. But for all other printers it should be portrait. But this does not seem to work. The browser picks the settings from the standard/default printer and uses this for all print jobs.

    Embie wrote:
    I was told by support that my problem was a hardware problem and that HP would not replace the faulty hardware.  Great.  I will replace my faulty hardware manufacturer.  Simple, HP never again.
    In the hour since you have registered you have posted seven messages, none of which contain any useful information that would allow someone here to help you.  Please read this post then provide some details in a new thread.  What printer model? What operating system? How is the printer connected - USB, wired LAN, Wireless LAN, bluetooth?  What is the problem you are having (with the printer...)?
    Bob Headrick,  HP Expert
    I am not an employee of HP, I am a volunteer posting here on my own time.
    If your problem is solved please click the "Accept as Solution" button ------------V
    If my answer was helpful please click the "Thumbs Up" to say "Thank You"--V

  • What's the use for "name" attribute?

    Almost every object has a "name" attribute and "display name" attribute, e.g. page, tab, template.
    What is the exact use of the name attribute. For my understanding, one of its use to is contruct a URL for the object. For example, when I want to add one item to a page, the shows me the path to the page is:
    PAGE / HELLO_PAGE_GROUP / HELLO_PAGE / TAB37465 / TAB37469 /
    TAB37465 is the name of the tab attribute. I realized this and went to change the name of the tab to a more meaningful value. However, when I try to add the item, the page Path did not change. Is this a oracle internal bug?
    I have similar problem with navigation page. I published a navigation page as portlet. I changed the name of the navigation page and use the name as the portlet name, the new name of the portlet can not be reflected in the portlet repository.

    Jerry,
    1. I tried to add an item to the page within the tab. On the "add item" page, it shows me the path to the current page. Ok, Let's forget about "item", and just talk about the path to a tabbed page. The path/URL never changes, even after I change the tab "name" attribute.
    2. I am talking about the name of the portlet within portlet repository. Let's see within page group A, I created navigation page with name of "test". I published the page as a portlet. In the portlet repository, I can see a new portlet "test" under "new/A". I changed navigation page name from "test" to be "B", however, the portlet name never changed in the portlet repository. It's always "test".

  • Error when using a condition for required attribute

    Hi
    I have a requirement to validate the mandatory fields only when the submit button is pressed....if some other button is pressed or some how the form is submitted the validations should not be performed....
    I have used required="#{MyBB.somecondition}" for all the mandatory fields...the method that is being called for doing the condition check is given below:
    public boolean isSomeCondition() {
        // assumes submitButton is a component binding 
        FacesContext fc = FacesContext.getCurrentInstance();
        Map reqParams = fc.getExternalContext().getRequestParameterMap();
        return reqParams.containsKey(submitButton.getClientId());
      }It is same that is given at the following location
    http://wiki.apache.org/myfaces/How_The_Immediate_Attribute_Works ---Soln 3
    But the problem is if I am submitting the form using Javascript from another page(page is a popup that is opened inside the current window), this condition doesnt work and it gives me an error saying "Check some field for its value"
    Please help me sort out this problem
    Thanks

    I think the problem is not clear....my mistake
    I try to be more elaborate on this....
    I open up a popup page from my main window....Here I perform a search(lets say there is a requirement for finding the Country and pincode for a particular city that the user enters)
    Now when I select the particular row in the datatable and click the submit button...... I want the selected values to be filled inside the parent window.....
    I want to bring to your notice that the button that is clicked is in the popup page...not in the parent window.....
    So you see that when that button in popup is clicked i am submiting the form of the parent window and during that time I dont want the validation to occur..... To submit the form of the parent window I use the Javascript like this : window.opener.document.forms[0].submit();Also one more thing that I want to mention is that the method that is used for specifying the condition for required attribute for mandatory fields in the parent window works fine for any button that i click inside my parent window......
    What I mean by this is lets say I have a button to add a dynamic row into my parent page then also I have to submit the form but during that time validation should not occur and it works fine.
    So now I think its clear that the Javascript is being invoked from another page which is submitting the parent window.....
    Then you're doing something wrong. Invoking the wrong button maybe? So please enlighten me where i am wrong and how possibly would I know which button I am invoking??

  • For the Attribute Movement type(BWA) we use Value " 201" and not "101" why?

    Hello Experts,
    We are in SRM 7.0 classic scenario,
    For the Attribute Movement type(BWA) we use Value " 201" and not "101" and provide the Source syst(backend R/3)
    Can you all plz help me understand what is the difference if use value "101" for the  Attribute Movement type(BWA)
    Also,can you all plz help me understand if we shd use value "101" or "201" for the  Attribute Movement type(BWA) and under what scenario.
    Any pointers will be highly appreciated.
    Thanks & Regards,
    RKS

    Hi,
    Movment type " 201 maintained for the Classic scenario only.
    It is necessary to maintain the attribute if the default material group for a given user (or) sit is set to a backend logical system. The EBP system knows that if the user is set for backend procurement ,that there might be a possibility for a reservation to be generated therefore it checks to see that a value for this attribute is  maintained. The BWA value should be defined  for the  as 201 preceeded by the logical system and a backslash.
    101 should not be used. This isfor the Good receipt.
    In the extended classic scenario when you do the confirmations in SRM the movement type 101 will be created in the
    backend system (R/3 or ECC6.0)
    Regards
    Ganesh Kumar .G

  • Problem using tags as an attribute for other tags.

    Hi there,
    I'd like to know if there is a way to use a tag as an attribute for an other tag.
    Exemple :
    <user:testparent param="<user:param param='1' />" >
    When doing so, the value of param is <user:param param='1'/>, and not the value that should be returned by the <user:param /> tag.
    Is there a way to use the value returned by this tag as a parameter ?
    With text, the correct value returned by the tag is used, so I guess it's possible to do so with custom tags.
    Thanks.

    Okay, here is an example of the process...
    I have this Class that acts as the parent to all the tags that I use:
    package net.thelukes.steven.scriptbits;
    import java.io.IOException;
    import java.util.HashSet;
    import java.util.Set;
    //Other Imports ...
    public abstract class ScriptBitsTag extends BodyTagSupport  {
         public int doAfterBody() throws JspException {
              return TagSupport.SKIP_BODY;
         public int doEndTag() throws JspException {
              return TagSupport.EVAL_PAGE;
         /* All subclasses of ScriptBitsTag should call super.doStartTag()
          * at the begining of their own doStartTag();
         public int doStartTag() throws JspException {
              initAttributes();
              return TagSupport.SKIP_BODY;
         public abstract  void setAttributeValue(String attributeName, String attributeValue);
         public abstract String getAttributeValue(String attributeName);
         /* Use this method to initialize attributes at the start of tag execution */
         public abstract void initAttributes();
         //...So, for example, I will have a sb:slidingFrame tag that looks like this:
    package net.thelukes.steven.scriptbits;
    // Imports...
    public class SlidingFrameTag extends ScriptBitsTag {
         private java.util.Map<SlidingFrameAts,String> attributes =
                   new java.util.EnumMap<SlidingFrameAts,String>(SlidingFrameAts.class);
         public int doStartTag() throws JspException {
              super.doStartTag();
              //... Do initialize here
              return TagSupport.EVAL_BODY_INCLUDE;
         public int doEndTag() throws JspException {
              //... Do work that depends on nested parameter values here...          
              return TagSupport.EVAL_PAGE;
         //Normal setXXX methods for attributes... <sb:slidingFram windowID="..." >
         public void setWindowID(String name) {
              windowName = name;
         //Do What should happen when nested tag does its work...
         //     <sb:slidingFrame><sb:attribute .../></slidingFrame>
         //For me, just put values in proper place in map...
         public void setAttributeValue(String name, String value) {
              SlidingFrameAts attrib = SlidingFrameAts.valueOf(name);
              if (attrib == null)
                   return;
              else if (attrib == SlidingFrameAts.useDefaultStyleSheet)
                   this.setUseDefaultStylesheet(Boolean.valueOf(value));
              else if (attrib == SlidingFrameAts.offX)
                   attributes.put(attrib, value);
              else {
                   nonDefaultInit = true;
                   attributes.put(attrib, value);
         public String getAttributeValue(String name) {
              return attributes.get(SlidingFrameAts.valueOf(name));
         //Set Default values for all attributes.
         public void initAttributes() {
    }So now I have a tag that is designed to be nested inside ScriptBitsTags and provide attributes for them:
    package net.thelukes.steven.scriptbits;
    //includes
    public class ScriptBitsAttributeTag extends BodyTagSupport {
         private String attName = null;
         private String attVal  = null;
         //Normal set methods for in tag attribes: <sb:attribute name="..." value="..."/>
         public void setName(String name) {
              attName = name;
         public void setValue(String value) {
              attVal = value;
         public int doEndTag() throws JspException {
              //If value not set yet, it should come from the tag's body
              //<sb:attribute name="...">Some Value</sb:attribute>
              if (attVal == null) {
                   if (bodyContent != null && bodyContent.getString() != null) {
                        attVal = bodyContent.getString().trim();
                   } else {
                        //If not found in body, then use empty string for value...
                        //(or some appropriate value....)
                        attVal = "";               
              setAttribute();
              return TagSupport.EVAL_PAGE;
         //Assign the attribute to the this tag's parent.
         private void setAttribute() {
              ScriptBitsTag parentTag =
                   (ScriptBitsTag)TagSupport.findAncestorWithClass(this, ScriptBitsTag.class);
              parentTag.setAttributeValue(attName, attVal);          
    }The TLD has the SlidingFrame tag look like this:
      <tag>
        <description>Sliding Menu Window</description>
        <display-name>SlidingWindow</display-name>
        <name>slidingWindow</name>
        <tag-class>net.thelukes.steven.scriptbits.SlidingFrameTag</tag-class>
        <body-content>jsp</body-content>
        <!-- attributes available for in tag sb:slidingFram windowID="..." for example -->
        <!-- set required to false to allow the attribute to be set by sb:attribute tag -->
      </tag>The rest of the tld is pretty standard... In my JSP I then have:
    <sb:slidingFrame windowID="sliding_frame">
      <%-- Attribute Set for this sliding frame --%>
      <sb:attribute name="speed">
        <c:out value="${sessionScope.speedV}"/>
      </sb:attribute>
      <%-- Content of the sliding frame --%>
      Menu Item A<br/>
      Menu Item B<br/>
      Menu Item C<br/>
      <hr/>
      Menu Item A<br/>
    </sb:slidingFrame>In this case, instead of doing:
    <sb:slidingFrame speed="<sb:attribute value='whatever'/>">I nested the attribute tag between sb:slidingFrame's open and close tag. You have to make sure that any work you want to do that depends on the value of speed is done in the doEndTag so as to make sure it occurs after the nested tag does its work.

  • Tool Tip for VO attribute using Groovy

    Hi All,
    I was wondering how to use groovy for Tool Tip of a view object attribute.
    What I am basically looking for is return the String from a RowImpl class method and set it as a Tool Tip text.
    my method:
    public String applyToolTip(){
    return "This is my Tool Tip";
    Groovy used for Tool Tip Attribute
    adf.object.applyToolTip()
    also tried with,
    adf.object.viewObject.applyToolTip()
    None of them work. Also I tried writing the same method in VOImpl class. No luck.. Please help with explanation.
    Thanks.

    Hi,
    Groovy is not used throughout ADF BC. It can be used in validation and to define default values to an attribute but not for UI hints. For tool tips you would use message bundles (assuming your question is towards internationalization). Tool tips are defined on the AttributeDef of a View Object attribute and thus not defined per VO instance.
    Frank

  • Is it possible to ignore "Rigid relationships between attributes cannot be changed" when using ProcessUpdate for Dimension?

    As per the title is it possible to ignore "Rigid relationships between attributes cannot be changed" when using ProcessUpdate for Dimension?
    We have a case where very rarely an item might have been miscategorised so the brand is manually changed.  We want this dimension to be rigid to speed up ProcessUpdate.
    We do a ProcessFull each night, so it will get corrected then, but during the hourly updates we would just like to ignore this error if possible?

    Hello,
    The rigid relationship should be defined when the members will not change over time. Here are some threads regarding rigid relationship for your reference, please see:
    Processing OLAP Cube: http://social.technet.microsoft.com/Forums/sqlserver/en-US/17a55593-9543-404e-a579-0a011965585d/processing-olap-cube?forum=sqlanalysisservices
    Flexible and rigid relationship: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/2d8f5443-065d-4485-9385-6f0b5fa417da/flexible-and-rigid-relationship?forum=sqlanalysisservices
    If you have any feedback on our support, please click
    here.
    Regards,
    Elvis Long
    TechNet Community Support

Maybe you are looking for