Auth control of materials & BOM's

hi,
i am from PLM and i would like to know how the authorizations of materials and BOM can be controlled in R3.
For all i know,
1. we need to look in to the auth groups
2. create objects with the required auth group
3. create a role which has an auth object having this auth group
4. assign the role to the user to enable to access.
(Correct me if i am wrong)
But i am not sure how each step is perfomed and where would we need basis help.
Also, pls tell me if the entire object(not any particular attribute of the object) needs to be blocked for a user how i can go about doing this.
Pls advice.

Dear Sujata,
Just check this,I'm not sure whether it anwers all your queries.
1.The org level settings defined in PFCG controls the authorization to view or change or create at plant level or for company code
etc.
2.It's not possible to control for material specific,but where as possible at material type level and not at view level or field level.
3.If my understanding is correct we can control through the authorization objects that are displayed in SU24.
4.Wherever * is given for an authorization object means ,it is possible to perform all activities or valid for that object.
I will suggest you to get a test user id assigned with a limited T Codes in a single role and check the details of the role in PFCG for
better understanding.Or even you can discuss with your Basis consultant.
Regards
S Mangalraj

Similar Messages

  • Sales order materials (BOM) are not coming to the delivery

    Hello,
    created the sales order with BOM materials, in the sales it's showing the all materls (BOM materials) as per our configuration. but when i try to create  the delivery it's not showing the all materials in delivery.
    maintained item level bom
    for material -
    A,  i have maintined the components A1, A2 & A3 (items), when i created order with material A,  its showing the A, A1,A2 & A3 materialsin the order, but when i try to create the delivery its showing only A1 & A2 materials. it not showing in the delivery A3 material.
    any locks or blocks for POI?
    any one help regarding this issue
    Regards|ks

    Hello,
    i have checked the delviery group in the sales order all items are under the same delviery group. but why the delviery not showing all item in one delviery?
    Could you please reply
    Regards|KS

  • How do Auth Groups assigned to BOMs

    Security Folks,
    How can the auth groups used on the Bill of Material (BOM) ? I assume they need to be created by Functional folks via SPRO. Any input is appreciated.
    Thanks.

    Hi,
    Auth groups are assigned within the BOM itself.   When you create or change a BOM, you add the auth group in the header section.  Whoever is responsible for the creation / change of BOM's maintains the auth group which can then be used with C_STUE_BER.

  • Phantom materials/BOMs in routing without component assignments

    Hi All,
    I have the follwing setup of BOMs/Routings:
    BOM:
    superBOM                  Routing
         subBOM 1             operation 0030     phantom item
              component 1.1  operation 0020
              component 1.2  operation 0010
         subBOM 2             operation 0030     phantom item
              component 2.1  operation 0040
    For the materials subBOM 1 and subBOM 2 I have set the Special Procurement type 50 (Phantom assembly) in MRP2.
    I created first the subBOMs and then the superBOM.
    My issue is that in CA03 or CA02 all of the component assignments are disappeared.
    When I create a production order to the superBOM then all components will be assigned to operation 0010 in sequence 0. (first operation)
    In some cases all components are assigned as an inheritance in the production order to the operation 0030 (like the phantoms has).
    I checked the SAP Notes and I just found one with a report: 352375 - Item conversion in phantom assembly
    Is not there any solution which I can use for multi-level BOMs where I only want the lowest level explosion with the lowest level component assignments?
    We would not like to MRP the materials for the subBOMs and we only need to have the lowest level components in the production order.
    Thank you in advance!
    Best regards
    Tamas

    Hi Tamas,
    You can try to set phantom in BOM Item instead of material master. Take out Spl proc type from SubBOM1 & subBOM2 & set it( Phantom item tick) at BOM item level in SuperBOM.
    MAy be in prod order , it will still retain assignment.
    Try & let know , if it works,
    Jatin

  • Trade Preference customizing in ECC - Control Settings for BOM Transfer

    Hi,
    i am struggeling what i should customize in the field "BOM Application for GTS" in ECC customizing activity "Control Transfer of Bills of Product for Preference and Re-Export".
    Should i use SD01 or PP01 or PI01. As far as i know my company is using classic production orders as well as process orders.
    Does anyone know the impact on the field?
    Is it only relevant for exception cases like "sales order BOMS"? I have found this thread and there SD01 was maintained:
    Preference: Control Transfer of Bills of Material
    Thanks.
    Regards Tobias

    HI Tobias,
    I`m not sure if you still need help with this one. If your customer only uses production order boms then PP01 is the right choice for you....
    Regards,
    BP

  • How to Create the Bills of Materials(BOM) in an Agile Application

    Hi,
    I need help on how to create a BOM in an Agile Application, after creating this in agile, then where to see this details in an E-Business Suite, and also explain the advantages of an BOM
    Regards
    Srini

    supahsain08 wrote:
    Well i did this
    Triangle.setLocation(50, 100);
    (where Triangle is a buton)
    it doesn't do anything, stays at the same placeIt's all about context here and there are still many unknowns here that can effect your result and that you have not told us or shown us. My suggestion to you is to consider posting an SSCCE (Short, Self Contained, Correct (Compilable), Example, a condensed program similar to your current program in that it demonstrates the problem at hand, but is the smallest bit of code that still compiles and has no extra code that's not relevant to your problem. For more info on SSCCEs please look here:
    [http://homepage1.nifty.com/algafield/sscce.html|http://homepage1.nifty.com/algafield/sscce.html]
    Also, when posting your code, please use code tags so that your code will retain its formatting and be readable. To do this, you can will need to paste already formatted code into the forum, highlight this code, and then press the "code" button at the top of the forum Message editor prior to posting the message. You may want to click on the Preview tab to make sure that your code is formatted correctly. Another way is to place the tag [code] at the top of your block of code and the tag [/code] at the bottom, like so:
    [code]
      // your code block goes here.
      // note the differences between the tag at the top vs the bottom.
    [/code]or
    {code}
      // your code block goes here.
      // note here that the tags are the same.
    {code}good luck, pete

  • Delivery Copy Control to sto BOM Header

    hi friends
    we have requirement to stop copying BOM header if there is any component is not copied from sales order to Delivery.
    we are trying to use the copied routine from existed standine routine FV50B101.
    please any one can give me the solution in this program where i can find the how many for compnents copied fo each BOM. if i know the location where are they copying compnenets then i can handle it.
    please give me solution.
    Thanks
    Ramesh

    remark: for me the check is in line 113 (SAPKH60407).
    Please read OSS note 842829:
    2. The system does not transfer the partner data from the STO to the replenishment delivery. This particularly applies to the forwarding agent. The replenishment delivery uses only the customer of the receiving plant (EKPO-WERKS) as a partner. In the replenishment delivery, this customer (EKPV-KUNNR) is the direct goods recipient. The customer is not the sold-to party or a general debtor, for whom the system would determine a (different) goods recipient using the customer master in the replenishment delivery. If the PO header contains a vendor, you can use a modification to transfer the vendor as a partner to the replenishment delivery, if required. However, this is not the standard system behavior. There is no known modification for transferring the forwarding agent.

  • Need controlling certification materials in ECC 6.0

    Dear Experts ,
    kindly suggest me the relevent link or sources where can I get controlling ECC 6.0 material for the examination in june .

    Hello,
    Resource Planning
    Use
    Resource planning is a planning aid. If you only know the quantities of consumed resources (see also: Resources) you can use resource planning to plan activity-dependent or activity-independent primary costs or revenues by quantity. You can carry out detailed planning of a cost element by subdividing the cost element on the basis of the resources. The system valuates the given resource consumption with a price, which you can store separately in the system.
    You can also link resources to a material or to a base planning object. This means that a resource or a base planning object has been entered in the resource master record. For the valuation of resource consumption during planning, the system uses the price of the material, regardless of whether you have defined a price for the resource during pricing (see also: Pricing).
    http://help.sap.com/erp2005_ehp_02/helpdata/en/17/316cc3b43011d19296c8d204c10000/frameset.htm
    Regards,
    Sourabh

  • Implosion BILL OF MATERIALS (BOM) Query

    Hi ,
    Can anyone help me with framing  a BOM Implosion query. The query is expected to return me all the PARENT items for a particular CHILD item i give in the filter. It is like a query which returns the 'ITEM WHERE USED' data for a child item referring
    to where all the child item has been used (In any parent items). Google-ing on the same we could only get queries which gives BOM explosions .. if anyone has any idea on the IMPLOSION query please do share ....  woul
    It would be helpful if the query has ERP tables which can be used rather than examples Thankyou

    Try this:
      SELECT DISTINCT
        LEVEL,  mp.organization_code, msi1.inventory_item_id parent_item_id, msi1.segment1 parent_item , msi1.description parent_desc, msi1.item_type,
        bic.COMPONENT_QUANTITY, sys_connect_by_path(msi2.segment1, '/') as "PATH"    
      FROM bom.bom_structures_b bbom ,
        bom.bom_components_b bic , apps.mtl_system_items msi1, apps.mtl_system_items msi2, apps.mtl_parameters mp
      WHERE bbom.bill_Sequence_id = bic.bill_sequence_id
      AND bbom.organization_id = bic.pk2_value
      AND bbom.assembly_item_id = msi1.inventory_item_id
      AND bbom.organization_id = msi1.organization_id
      AND bic.component_item_id = msi2.inventory_item_id
      AND bbom.organization_id = msi2.organization_id
      and bbom.organization_id = mp.organization_Id
      AND NVL(bic.disable_date, SYSDATE+1) > SYSDATE
      AND bbom.organization_id = :org_id
      START WITH  bic.component_item_id = :component_item_id --Start with the component_item_id
      CONNECT BY NOCYCLE PRIOR  bbom.assembly_item_id  = bic.component_item_id AND PRIOR bbom.organization_id = bbom.organization_id

  • Problems with bill copying control and materials with variant configuration

    Hi experts,
    I have a problem with a bill copying control and the way that my customer is trying to create and print the Bill (VF01).
    Let me explain...They have in a Sales Order a material with variant configuration per position, each one can have many characteristics. This characteristics must be printing on the billing document, creating different bills 'coz the max. lines number is 18, so the bill must change page per material-characteristics.
    Example:
    Max. Number Lines = 3
    Position 10      
    Material A     
         -Characteristic A
         -Characteristic B
         -Characteristic C     (Bill 1) 
         -Characteristic D
         -Characteristic E
         -Characteristic F     (Bill 2)
    Position 20
    Material B     
         -Characteristic A     (Bill 3) counting characteristics upside
         -Characteristic B
         -Characteristic C
         -Characteristic D     (Bill 4)
    I created on Tx VOFM (Data Transfer-Billing documents) a routine trying to control this jump, but my problem is when I'm creating the Bill document (VF01) this work only by position, the debugging enter per position.. so I don't have any control to tell the program must count the characteristics and create another bill.
    So... Somebody can help me..or have any idea to solve this problem.....
    Thxs a lot!!!!
    Diego Helfer

    HI Diego
      For our coming assignment, we do have similar sort of situation. Currently we are in Requirements Gathering phase.
      Though we do not have Variant Configuration in place, we do have restriction for no..of items to be used for printing in Billing Documents.
      Current proposal is that we will restrict at Sales Order Creation. If the number of items are increasing, we will restrict saving the document and loading has to be done again. As itz better to restrict at initial phase.
      Our schema is One Sales Order -> One Delivery -> One Billig Document.
       Will post if we can manage to acheive some other way and do request you the same.
    Kind Regards
    Eswar

  • Mass Deleting Materials from BOMs

    Hi,
    Our scenarios is that,
    We have a KALP named material type which are raw materials for us..
    And we decided to delete all these materials from BOMs.
    Through CS20 t.code we can delete materials one by one from bill of materials.
    But we have about 900 materials like that.
    Is mass deleting possible instead of deleting one by one?
    Thanx in advance

    this can be done in CS20 en mass. CS20 is the mass transaction for bom changes.
    enter your component number, select delete items and execute.
    it will list all header materials boms that have this item.
    click the button to select all and execute

  • Pricing not Picked up in Billing for one of the BOM items

    Hello SAPians,
    I have an issue.
    A Standard Charge Estimate was created from Service Order.
    Invoicing was done on the same day of the Standard charge Estimate.  The issue is
    There 3 Materials (BOM)-LUMF.   The price at
    10.  Service item    Rs  0.00    TAP-  (No price)
    20.  Service Item    Rs 184.00 TAD   (Priced)
    30.  Service item    Rs 266.00 TAD   (Priced)
    total order value Rs 450/.   Total Billing amount Rs 266.00 and NOT Rs 450/. 
    The error is item at 20 not picked pricing in Invoicing. Pricing analysis in Invoicing shows "Condition record exists, but has not been set"  Message 108.
    The possibility of User Manually deleting the Condition Type in Billing is reuled out.
    Your guidance and suggestions are appreciated
    Thanks in Advance

    Hi,
    Please read the below details of the message 108 and carry out new pricing in the invoice, this will solve your problem:
    Condition record exists, but has not been set
    This message tells you that the condition record exists, but has not been set in the document. If pricing was carried out again for the document item, then the condition would be set.
    There are different reasons for this:
    1. The condition was deleted manually in the item condition screen.
    2. The condition record was created later. Please note that order processing and pricing have buffer mechanisms. This means that a newly added condition record might only be found after order processing has been left completely and then started again.
    If the condition type is used for subsequent settlement (rebate), there may be subsequent updating of business volume (the agreement is is created retrospectively). The document conditions do not contain the condition record, as the condition record was not created when pricing was carried out. Updating of business volume is carried out using special functions for subsequent settlement.
    3. When an item was added, the condition record was accessed with key fields other than change time. This could lead to different results in the requirements check at the time of adding and the change time. This can occur when modifications are made.
    4. In billing (or when copying orders): Certain condition types were not determined in the source document (this is usually controlled by the pricing requirements). When creating the document, the document flow (TVCPF,TVCPA) is processed using a pricing type that does not redetermine these condition types, although they are supposed to be called via the requirements.
    Hrishikesh

  • BOM Explosion problem

    Hi,
    I have multilevel BOM (almost 10 levels with around 1500 materials), in which many materials repeat at different levels.
    I am facing problem in one of the material during MRP, This material is used at 10 different levels. Altogether to produce a FG it requires in 36 numbers. In different levels quantity of it required is different. Say 8,1,4,2 etc but total qty is 36.
    When MRP is run the requirement generated for this material is same at all levels i.e 36(total qty) / 10  (BOM levels) = 3.6
    But actually system must generate requirements as per BOM quantity. Not sure what is wrong.
    Requesting you all to reply quickly for this issue.
    Regards,
    Pavan

    Hi,
    Below is the little knowledge i have which want to share with all the august people around.Hope it would be helpful enough for you to get the results.
    A BOM is not exploded in the following situations:
    - No BOM is effective:
    -- On the explosion date and in the given area of validity
    For the given effectivity parameters
    - The BOM has a deletion indicator.
    - The BOM is a multiple BOM, and has no alternative that matches the lot size for your required quantity.
    - No BOM matches the selection criteria of the BOM application you selected.
    - This is possible in the following situations, for example:
    -- The application does not take all BOM usages into account.
    For example, the application only takes BOMs that are relevant to production into account, so a BOM that is relevant to sales and distribution is not exploded.
    -- The application selects a specific alternative on the explosion date you require. The material master record supports alternative determination by Explosion date.
    If the specified alternative is not valid on the explosion date, the BOM is not exploded.
    -- The application takes production versions in the material master record into account, but no production version has a BOM that is valid on the explosion date you require. The material master record supports alternative determination by Production version.
    The system only explodes the BOM defined for the production version that matches the alternative and/or usage entered on the explosion date required.
    -- The application only takes BOMs with certain status indicators into account.
    For example, the application for MRP only explodes BOMs that have at least the status Explosion for MRP.
    Further checks:
    - Do the proper Scheduling in Routing (Backward/forward). In md61 give the requirement in next month.check your in-house production, planned delivery time in md02 give MRP Control parameter Rexplode BOM and Routing.
    - Check BOM explosion data in MRP4 view of material master view ( Individual/Coll data).
    Please revert with your response
    Thanking You in Anticipation
    Regards
    Chandra

  • Sample bom creation and explosion in sales order

    hi,
         can any one help to create a simple bom with atleast one sub item for the bom and create a sales order in which the bom explodes ( i mean when u enter the main bom item it should list its sub items as its line item below it)...
    (also mention what item categories are to be taken care ... )
    rewards for sure
    thanks
    mmn

    Hi MMn,
    Bill of materials (BOM)
    1. In the SAP System, you can use BOMs to represent different objects (such as materials, equipment, functional location BOMs, and documents) and to maintain object-specific data.
    2. Document BOM: A complex document may be made up of several documents, such as a program, technical drawings, papers, and photographs. These related information and documentation objects are grouped together as a unit using a document structure – a BOM for a document.
    3. Equipment BOMs are used to describe the structure of equipment and to assign spare parts to equipment for maintenance purposes. Bills of material for functional locations group together the elements of a technical structure, such as the functional unit of an entire plant.
    4. You work with order BOMs when you specially tailor the make-to-order production of your products to the requirements of your customers. In order to meet the customer requirements, sales order specific modifications to various assemblies are often required. Furthermore, assemblies are often specially constructed for a particular sales order.
    5. Before you can create a BOM for the component parts of an object, the object must have a valid master record in your system.
    6. A bill of material that you create for a material is known as a material BOM in the SAP System. A BOM explosion answers the question: What is the product made of? This question arises in various situations, such as when you want to:
    Determine material requirements for a product
    Look at the overall structure of a product in a design department
    See an overview of the parts and materials required
    Calculate the effects of changes to costs
    7. BOM is a collection of materials that make up a product. For example – computer, home theatre system. Material BOM is complex and is dependent on sales and distribution, material management or production planning.
    8. The most important rule is that the material type has to be a FINISHED PRODUCT (FERT) in order to categorise it as a BOM.
    9. BOM processing is divided into two different ways – either at the MAIN item level if the item is assembled or at the sub-item level (i.e. at the component level) if the material is not assembled.
    10. BOM is configured at the item category level (VOV7) and transaction code to create a BOM is CS01.
    11. In case of single level BOM, main item categories TAQ and TAP should represent single level BOM in VOV7 and in case of multi level BOM, the main item categories should represent multi level BOM.
    Main item level processing
    1. The material master records should have the item category group ERLA in the sales org.2 screen of the finished product. In this case, the associated sub items function only as text items, and thus are not relevant for delivery. This process ensures that pricing, inventory control and delivery processing is carried out the header level that is for the finished product only. This is mainly relevant to the assembled products.
    2. item category group – ERLA; main item category – TAQ (schedule line – CP) and sub item category – TAE (schedule line – CT)
    Sub-item level processing
    1. If the business prefers to have the sub-items be responsible for pricing, inventory control and delivery processing, the item category group should be LUMF on screen sales org.2 of the respective material master record. This ensures that subcomponents are relevant for processing. This is relevant to the products that are not assembled.
    2. item category group – LUMF; main item category – TAP (schedule line is CT), sub item category – TAN (schedule line is CP)
    Multi-level BOM
    In order to activate the multi-level BOM, structure scope in VOV7 has to be changed from single level explosion to multi level explosion.
    Try this and revert back fr clearifications
    Reward Points if helpful.
    Regards
    Srini

  • Restrict Access To Page Not Working with Different Auth Levels

    I have just started playing with the idea of using different auth levels to allow different users access to certain pages on my site.
    Within my SQL database I have a authlevel table consisting of 3 possible levels (guest, user, admin)
    I am using the Dreamweaver "Log in user" to log in users based on username, pass, and auth level and "Restrict access to page" set to allow user levels 'user' and 'admin'.
    The problem, however, occurs when trying to log in.  No matter what auth level I try I am redirected to my page where users should be redirected if they are not allowed to enter that page.
    I have included below my code from my login page and the page where all authorized users (user and admin) should be directed upon entering the restricted area.
    Login Page:
    <?php require_once('../Connections/hondovfd.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    ?>
    <?php
    // *** Validate request to login to this site.
    if (!isset($_SESSION)) {
      session_start();
    $loginFormAction = $_SERVER['PHP_SELF'];
    if (isset($_GET['accesscheck'])) {
      $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    if (isset($_POST['username'])) {
      $loginUsername=$_POST['username'];
      $password=$_POST['password'];
      $MM_fldUserAuthorization = "authlevel";
      $MM_redirectLoginSuccess = "/membersonly/membersonly.php";
      $MM_redirectLoginFailed = "/membersonly/loginfailed.php";
      $MM_redirecttoReferrer = false;
      mysql_select_db($database_hondovfd, $hondovfd);
      $LoginRS__query=sprintf("SELECT username, password, authlevel FROM login WHERE username=%s AND password=%s",
      GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
      $LoginRS = mysql_query($LoginRS__query, $hondovfd) or die(mysql_error());
      $loginFoundUser = mysql_num_rows($LoginRS);
      if ($loginFoundUser) {
        $loginStrGroup  = mysql_result($LoginRS,0,'authlevel');
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;          
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
        header("Location: " . $MM_redirectLoginSuccess );
      else {
        header("Location: ". $MM_redirectLoginFailed );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/phptemplate.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- InstanceBeginEditable name="Title" -->
    <title>Log In</title>
    <!-- InstanceEndEditable -->
    <meta name="description" content="Hondo Fire and Rescue serves the Arroyo Hondo and Canada Village areas of Santa Fe County, NM." />
    <meta name="keywords" content="hondo, hondo fire, hondo vfd, hondo fire department, santa fe county fire department, santa fe county, volunteer fire department, hondo volunteer fire department" />
    <link href="../stylesheet.css" type="text/css" rel="stylesheet" />
    <!--[if IE]>
    <style type="text/css">
    #mainContent, #sidebar1 { zoom: 1;}
    </style>
    <![endif]-->
    <script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="../SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="thrColLiqHdr">
    <div id="container">
    <div id="header"></div>
      <div id="sidebar1">
      <h3>Navigation : </h3>
      <ul id="MenuBar1" class="MenuBarVertical">
      <li><a href="/index.php">Home</a></li>
    <li><a href="/support.php">Support Hondo</a></li>
      <li><a class="MenuBarItemSubmenu" href="#">Information Menu</a>
        <ul>
          <li><a href="/people.php">Our People</a></li>
          <li><a href="http://www.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=101620713606637979698.00045b6ead4ab4ea70b78&z=11" target="_blank">Response Area</a></li>
          <li><a href="/medical.php">Medical</a></li>
          <li><a href="/apparatus.php">Apparatus</a></li>
          <li><a href="/training.php">Training</a></li>
          <li><a href="/volunteer.php">Volunteer</a></li>
          <li><a href="/statistics.php">Statistics</a></li>
          <li><a href="/patchtrading.php">Patch Trading</a></li>
        </ul>
      </li>
      <li><a href="/album.php">Photo Gallery</a></li>
      <li><a href="/calendar.php">Calendar</a></li>
      <li><a href="/news.php">Blog/News</a></li>
      <li><a href="/links.php">Links</a></li>
      <li><a href="/contact.php">Contact Us</a></li>
    </ul>
    <br />
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
      <span class="lefttext">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="8567201">
    <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
    <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </img></input></input>
      </span>
    </form>
    <span class="lefttext"><br />
    </span>
    <center>
      <span class="lefttext"><a href="http://www.facebook.com/pages/Santa-Fe-NM/Hondo-Volunteer-Fire-Department/74284233488" target="_blank" class="lefttext">Hondo VFD on Facebook</a></span>
    </center>
      <!-- end #sidebar1 --></div>
      <div id="sidebar2"> 
        <p><a href="/membersonly/login.php">Log In</a> | <a href="/membersonly/logout.php">Log Out</a></p>
        <p>Call Statistics for <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/month.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?> as of <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/date.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></p>
      <table width="90%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="60%">EMS Calls</td>
        <td width="40%"><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/emscalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
      <tr>
        <td>Fire Calls</td>
        <td><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/firecalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
    </table>
      <hr />
        <div id="cse" style="width:100%;">Loading</div>
    <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
      google.load('search', '1');
      google.setOnLoadCallback(function(){
        new google.search.CustomSearchControl().draw('cse');
      }, true);
    </script>
         <!-- End Google Search Element -->
      </div>
      <!-- end #sidebar2 -->
      <div id="mainContent">
      <div class="top"></div><div class="wrap"><!-- InstanceBeginEditable name="Main Content" -->
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="47" class="h2">Members Only Login</td>
      </tr>
      <tr>
        <td><form ACTION="<?php echo $loginFormAction; ?>" id="login" name="login" method="POST">
        <table width="40%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="31%">Username:</td>
        <td width="69%"><input name="username" type="text" /></td>
      </tr>
      <tr>
        <td>Password</td>
        <td><input name="password" type="password" /></td>
      </tr>
    </table>
    <input name="Submit" type="submit" />
        </form></td>
      </tr>
    </table>
      <!-- InstanceEndEditable -->
    </div>
    <div class="bottom"></div>
    </div>
         <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --> <br class="clearfloat" />
      <div id="footer">
        <p align="center">&copy; Copyright 2009 Hondo Volunteer Fire Department | <a href="mailto:[email protected]">Contact Us</a><a href="http://www.legalhelpers.com/chapter-13-bankruptcy/chapter13.html"></a><br />Hosting provided by <a href="http://studiox.com/" target="_blank">Studio X</a></p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    <?php include_once("/var/home/hondovfd/hondovfd.org/www/analyticstracking.php"); ?>
    </body>
    <!-- InstanceEnd --></html>
    Other Page:
    <?php
    if (!isset($_SESSION)) {
      session_start();
    $MM_authorizedUsers = "user,admin";
    $MM_donotCheckaccess = "false";
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
      // For security, start by assuming the visitor is NOT authorized.
      $isValid = False;
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
      // Therefore, we know that a user is NOT logged in if that Session variable is blank.
      if (!empty($UserName)) {
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
        // Parse the strings into arrays.
        $arrUsers = Explode(",", $strUsers);
        $arrGroups = Explode(",", $strGroups);
        if (in_array($UserName, $arrUsers)) {
          $isValid = true;
        // Or, you may restrict access to only certain users based on their username.
        if (in_array($UserGroup, $arrGroups)) {
          $isValid = true;
        if (($strUsers == "") && false) {
          $isValid = true;
      return $isValid;
    $MM_restrictGoTo = "/membersonly/loginfailed.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
      $MM_referrer .= "?" . $QUERY_STRING;
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo);
      exit;
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/phptemplate.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- InstanceBeginEditable name="Title" -->
    <title>Members Only Area</title>
    <!-- InstanceEndEditable -->
    <meta name="description" content="Hondo Fire and Rescue serves the Arroyo Hondo and Canada Village areas of Santa Fe County, NM." />
    <meta name="keywords" content="hondo, hondo fire, hondo vfd, hondo fire department, santa fe county fire department, santa fe county, volunteer fire department, hondo volunteer fire department" />
    <link href="../stylesheet.css" type="text/css" rel="stylesheet" />
    <!--[if IE]>
    <style type="text/css">
    #mainContent, #sidebar1 { zoom: 1;}
    </style>
    <![endif]-->
    <script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="../SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="thrColLiqHdr">
    <div id="container">
    <div id="header"></div>
      <div id="sidebar1">
      <h3>Navigation : </h3>
      <ul id="MenuBar1" class="MenuBarVertical">
      <li><a href="/index.php">Home</a></li>
    <li><a href="/support.php">Support Hondo</a></li>
      <li><a class="MenuBarItemSubmenu" href="#">Information Menu</a>
        <ul>
          <li><a href="/people.php">Our People</a></li>
          <li><a href="http://www.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=101620713606637979698.00045b6ead4ab4ea70b78&z=11" target="_blank">Response Area</a></li>
          <li><a href="/medical.php">Medical</a></li>
          <li><a href="/apparatus.php">Apparatus</a></li>
          <li><a href="/training.php">Training</a></li>
          <li><a href="/volunteer.php">Volunteer</a></li>
          <li><a href="/statistics.php">Statistics</a></li>
          <li><a href="/patchtrading.php">Patch Trading</a></li>
        </ul>
      </li>
      <li><a href="/album.php">Photo Gallery</a></li>
      <li><a href="/calendar.php">Calendar</a></li>
      <li><a href="/news.php">Blog/News</a></li>
      <li><a href="/links.php">Links</a></li>
      <li><a href="/contact.php">Contact Us</a></li>
    </ul>
    <br />
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
      <span class="lefttext">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="8567201">
    <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
    <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </img></input></input>
      </span>
    </form>
    <span class="lefttext"><br />
    </span>
    <center>
      <span class="lefttext"><a href="http://www.facebook.com/pages/Santa-Fe-NM/Hondo-Volunteer-Fire-Department/74284233488" target="_blank" class="lefttext">Hondo VFD on Facebook</a></span>
    </center>
      <!-- end #sidebar1 --></div>
      <div id="sidebar2"> 
        <p><a href="/membersonly/login.php">Log In</a> | <a href="/membersonly/logout.php">Log Out</a></p>
        <p>Call Statistics for <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/month.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?> as of <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/date.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></p>
      <table width="90%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="60%">EMS Calls</td>
        <td width="40%"><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/emscalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
      <tr>
        <td>Fire Calls</td>
        <td><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/firecalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
    </table>
      <hr />
        <div id="cse" style="width:100%;">Loading</div>
    <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
      google.load('search', '1');
      google.setOnLoadCallback(function(){
        new google.search.CustomSearchControl().draw('cse');
      }, true);
    </script>
         <!-- End Google Search Element -->
      </div>
      <!-- end #sidebar2 -->
      <div id="mainContent">
      <div class="top"></div><div class="wrap"><!-- InstanceBeginEditable name="Main Content" -->
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="47" class="h2">Members Only Area</td>
      </tr>
      <tr>
        <td><p><a href="/membersonly/documents.php">Useful Documents</a></p>
          <p><a href="/membersonly/IncidentCount01_08.pdf">Current Call Statistics</a> as of 9/3/09</p>
          </td>
      </tr>
    </table>
      <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script><!-- InstanceEndEditable -->
    </div>
    <div class="bottom"></div>
    </div>
         <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --> <br class="clearfloat" />
      <div id="footer">
        <p align="center">&copy; Copyright 2009 Hondo Volunteer Fire Department | <a href="mailto:[email protected]">Contact Us</a><a href="http://www.legalhelpers.com/chapter-13-bankruptcy/chapter13.html"></a><br />Hosting provided by <a href="http://studiox.com/" target="_blank">Studio X</a></p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    <?php include_once("/var/home/hondovfd/hondovfd.org/www/analyticstracking.php"); ?>
    </body>
    <!-- InstanceEnd --></html>

    you don't need all that bloat.  set a session during login of some kind of uniquely identifying id.  i.e.
    $_SESSION['id'] = $row_rs['id'];
    then on the pages you need to protect, check it like this....
    <?php
    session_start();
    if (!(isset($_SESSION['id']) && $_SESSION['id'] != '')) {
    die(header("Location: http://www.notinprotectedareas.com")); }
    ?>
    you can use an include file i.e.
    <?php require_once('login_check.php'); ?>
    where file is name login_check.php to make your auth controls clean on your protected pages.

Maybe you are looking for