Ignore Empty Artboards?

I am using a slightly modified version of this script to export icons.
http://www.ericson.net/content/2011/06/export-illustrator-layers-andor-artboards-as-pngs-a nd-pdfs/
Say I have a document with three artboards named @1x, @2x, @3x, I am using the script to export each layer * each artboard to create my different size icons. Now the problem is that not every layer has artwork on every artboard. Is there a way to ignore empty artboards per layer? or At least how can I tell if an artboard is blank when a specific layer is selected?

I am using a slightly modified version of this script to export icons.
http://www.ericson.net/content/2011/06/export-illustrator-layers-andor-artboards-as-pngs-a nd-pdfs/
Say I have a document with three artboards named @1x, @2x, @3x, I am using the script to export each layer * each artboard to create my different size icons. Now the problem is that not every layer has artwork on every artboard. Is there a way to ignore empty artboards per layer? or At least how can I tell if an artboard is blank when a specific layer is selected?

Similar Messages

  • How to ignore empty text element while using DOM to parse xml??

    hi everyone,
    i am using DOM to parse an xml file. But i dont know how to cinfig the DocumentBuilderFactory to ignore empty text elements.
    For example, i have an xml file like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
        <child>Tom</child>
        <child>Jerry</child>
    </root>I used the following codes to parse:
    String fname = "Tom-and-Jerry.xml";
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setIgnoringElementContentWhitespace(true);
    factory.setIgnoringComments(true);
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    // Generate a DOM tree from the DOM builder.
    org.w3c.dom.Document dom = builder.parse(new File(fname));
    org.w3c.dom.NodeList list = dom.getChildNodes();
    for (int i=0; i<list.getLength(); i++) {
        System.out.println("Child No."+i);
        System.out.println("NodeName="+list.item(i).getNodeName());
        System.out.println("NodeType="+getType(list.item(i).getNodeType()));
        System.out.println("NodeValue="+list.item(i).getNodeValue());
        System.out.println();
    }The result is not exactly what i want ---- there are 5 children in list!! The 1st, 3rd and 5th are #text and their values are all empty. Only the 2nd and the 4th are the child that i expect.
    It is really troublesome to get all these silly empty texts as sub elements. I tried to get rid of them, but i failed. I just dont understand why factory.setIgnoringElementContentWhitespace(true) did not work.
    Anyone can help me? thanks.
    Heavy ZHENG

    I just dont understand why factory.setIgnoringElementContentWhitespace(true) did not work.That only does something if the XML has a DTD that enables it to know what whitespace can be ignored and what is significant. The API documentation for the method refers you to this document:
    http://www.w3.org/TR/REC-xml#sec-white-space

  • I need a method for ignoring empty lines

    Hi to all,
    i need a method for ignoring empty lines when my program reades a file like that
    start of file
    print "xoxox"
    //ignore this line
    println"xaxaxa"
    //ignore this line
    end of file
    cheers

    Are you having trouble detecting these empty lines? Or are you having trouble not processing them once you've detected them?
    For the first case, you neeed to define "empty." I assumed it meant "containing no characters," and that's what the first solution shows. Your example looks like "empty" means "starts with comment characters."
    For the second case, you ignore them by just not doing anything: read a line
    if (it is not empty) { // by whatever criteria you define for "empty"
       do something with it
    }

  • How do I have Adobe Acrobat 9.0 calculate the minimum of 10 fields BUT ignore empty fields?

    How do I have Adobe Acrobat 9.0 calculate the minimum of 10 fields BUT ignore the field if it is empty? Currently it counts blanks as 0 so when it comes up with the minimum it will always show 0 unless all 10 fields have values in them.

    You could loop through the fields and add the non-blank values to an array, and use the Math.min method to get the minimum. Here's an example custom Calculate script:
    // Custom calculate script
    (function () {
        // Array to hold non-blank field values
        var fa = [];
        // Loop through the fields...
        for (var i = 1; i < 11; i += 1) {
            // ...get the current field value, as string...
            var v = getField("text1." + i).valueAsString;
            // ...if not blank, add value to the array, as a number
            if (v) fa.push(+v);
        // Set this field's value to the minimum value in the array, otherwise blank
        event.value = fa.length > 0 ? Math.min.apply(null, fa) : "";
    This assumes the fields are named "text1.1", "text1.2", ..."text1.10" and that they're numeric. This type of field naming simplifies the code, so it would be good to use something similar and adjust the getField statement to match.

  • Ignore empty Payload

    Hello All,
    I have a Proxy-PI-SOAP scenario. There are situations when proxy generates messages with no payload. In that situation, it throws an error in PI (RWB -> Message Monitoring -> AE) as there is no node getting generated.
    I can apply the rule in Proxy code not to send the message to PI in case there is no payload, but business won't allow that.
    So, I have to handle this in PI.
    I can't use the dummy receiver, as it will again throw an error in case it is unable to find the receiver (I can't create a dummy receiver on the Prod box as per my Client).
    I would like to know what other option I am left with? I don't want to encounter any errors in the MONI or elsewhere. How I can "stop" the processing of those messages which are having empty payload?
    Just to add - I am using XSLT mapping.
    Any suggestions will be highly appreciated. Thanks for your time.
    --Abhi
    Edited by: Abhi_1516 on Jan 4, 2010 7:34 PM

    Hi Abhi,
    You can use the "Ignore" option in the Receiver Determination. Put a condition for the root node existence, if found send the message to the desired target else use the option "If no receiver is found" and check the radio button "Ignore".
    Just to let you know that with Ignore option, the messages will still show successful in RWB.
    Hope this helps.
    Regards,
    Neetesh

  • Ignore empty rows at end

    I have a csv file, which has empty lines at the end.
    My controlfile has a default sequence, due to which it is uploading all the empty lines at the end.
    How can i tell sql*loader to ignore these lines ?
    load data append into table Test_Data_staging
    fields terminated by "," optionally enclosed by '"' trailing nullcols          
    SERIAL_NUMBER SEQUENCE(COUNT,1),
    TEST_DATA_VERSION,
    ENVIRONMENT,
    TEST_DATA_OWNER
    )

    Hi,
    you can add a when clause (WHEN firstcolumn != BLANKS), here is an example:
    LOAD DATA
    INFILE 'C:\Temp\Book1.csv'
    BADFILE 'C:\Temp\Book1.bad'
    DISCARDFILE 'C:\Temp\Book1.dsc'
    TRUNCATE
    INTO TABLE "XTEST"
    WHEN (col1 != BLANKS)
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"' AND '"'
    TRAILING NULLCOLS
    (COL1,
    COL2,
    COL3)or if you want:
    LOAD DATA APPEND INTO TABLE TEST_DATA_STAGING
    WHEN (TEST_DATA_VERSION != BLANKS)
    FIELDS TERMINATED BY ","
    OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS
    SERIAL_NUMBER SEQUENCE(COUNT,1),
    TEST_DATA_VERSION,
    ENVIRONMENT,
    TEST_DATA_OWNER
    {code}
    Edited by: user11268895 on Aug 30, 2010 1:56 PM
    Edited by: user11268895 on Aug 30, 2010 1:56 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Query on MultiProvider by ignoring empty columns

    Hi Experts,
    I have a MultiProvider which contains 2 InfoCubes. InfoCube 1 (IC 1) contains Transport Request (TR) Status information, IC 2 contains Transport Request Object List information. Both ICs are related by the TR IDs. Not every TR has a Object List (better: Objects). Therefore, in IC 1 TRs exist that are not listed in IC 2.
    This leads to empty columns in the MultiProvider due to the union operation which is processed on both ICs. In particular the object related columns (object name, type, etc) are empty, if the TR does have a status information but at the same time without having any object listing, e. g. :
    TR ID - Status - Object Name - Object Type
    T123 - Successfull - # - #
    (# = Empty)
    When executing a query on this MultiProvider which counts the number of Objects I get the correct result, when NOT reporting on the TR ID level. However, if I execute a query which counts the number of Objects per Transport Request (TR ID), I get at least a "1" for EVERY transport request even if there does not exist ANY object within that TR ID (see example above).
    So my question: is there any way to ignore TR IDs when no object information exist for this Transport Request? Thus, the query would only report an object count > 0 if at least one object is associated to a certain TR ID.
    Many thanks for your help!
    Best regards
    Tobias

    I chose
    Exception Agg: Counter for All Detailed Values That Are Not Zero, NUll, or Error
    Ref Char: Object Name
    Activated Calc after Aggr.
    Did not change anything. I still get a table which shows the TR ID (eg T123), Object Name (Empty = #) and Object Count = 1
    I don't get why empty cells are part of the calculation even if the excep. aggr. is configured as described above...
    Any further ideas on that?
    Many thanks!

  • Ignore Empty Parameter

    I am trying to create a form that searches through a recordset. I am wondering, if several of the fields within the search form are left blank when submitted by the "GET" method, how I can have the query string ignore those empty parameters in the URL. I posted a similar question a little earlier and got no responses. I'm a newbie so let me now if I'm not phrasing my question correctly or something.

    I've attempted to use the longer version of the code to make my select statement work. This is the code that I've got now:
    $query_rs_results = "SELECT dogid, b_email, b_fname, b_lname, b_phone, b_url, dob, dod, reg_name, reg_no, o_email, o_fname, o_lname, o_phone, o_url, registry, semen_l, semen_f, semen_fc, semen_fr, photo FROM dog_main";
    // Set a flag to indicate whether the query has a WHERE clause
    // Set a variable to indicate if the select statement has a color value selected
    $where = false;
    $color = 0;
    if (isset($_GET['arm']) && !empty($_GET['arm'])) {
      $query_rs_results .= ' WHERE arm = '. GetSQLValueString($_GET['arm'], 'text');
      $where = true;
    if (isset($_GET['bite']) && !empty($_GET['bite'])) {
      if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'bite = ' . GetSQLValueString($_GET['bite'], 'text');
    if (isset($_GET['body']) && !empty($_GET['body'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'body1 = ' . GetSQLValueString($_GET['body'], 'text');
    if (isset($_GET['breadth']) && !empty($_GET['breadth'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'breadth = ' . GetSQLValueString($_GET['breadth'], 'text');
    if (isset($_GET['brisket']) && !empty($_GET['brisket'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'brisket = ' . GetSQLValueString($_GET['brisket'], 'text');
    if (isset($_GET['dentition']) && !empty($_GET['dentition'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'dentition = ' . GetSQLValueString($_GET['dentition'], 'text');
    if (isset($_GET['color_b']) && !empty($_GET['color_b'])) {
    $color = $color + 1;
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
      $query_rs_results .= '(color = ' . GetSQLValueString($_GET['color_b'], 'text');
    if (isset($_GET['color_bl']) && !empty($_GET['color_bl'])) {
    $color = $color + 1;
    If ($color > 1) {
      $query_rs_results .= ' OR ';
         } else {
                if ($where) {
                   $query_rs_results .= ' AND ';
                } else {
                   $query_rs_results .= ' WHERE ';
      $query_rs_results .= 'color = ' . GetSQLValueString($_GET['color_bl'], 'text');
    if (isset($_GET['color_br']) && !empty($_GET['color_br'])) {
    $color = $color + 1;
    If ($color > 1) {
      $query_rs_results .= ' OR ';
         } else {
                if ($where) {
                   $query_rs_results .= ' AND ';
                } else {
                   $query_rs_results .= ' WHERE ';
      $query_rs_results .= 'color = ' . GetSQLValueString($_GET['color_br'], 'text');
    if (isset($_GET['color_f']) && !empty($_GET['color_f'])) {
    $color = $color + 1;
    If ($color > 1) {
      $query_rs_results .= ' OR ';
         } else {
                if ($where) {
                   $query_rs_results .= ' AND ';
                } else {
                   $query_rs_results .= ' WHERE ';
      $query_rs_results .= 'color = ' . GetSQLValueString($_GET['color_f'], 'text');
    if (isset($_GET['color_h']) && !empty($_GET['color_h'])) {
    $color = $color + 1;
    If ($color > 1) {
      $query_rs_results .= ' OR ';
         } else {
                if ($where) {
                   $query_rs_results .= ' AND ';
                } else {
                   $query_rs_results .= ' WHERE ';
      $query_rs_results .= 'color = ' . GetSQLValueString($_GET['color_h'], 'text');
    if (isset($_GET['color_m']) && !empty($_GET['color_m'])) {
    $color = $color + 1;
    If ($color > 1) {
      $query_rs_results .= ' OR ';
         } else {
                if ($where) {
                   $query_rs_results .= ' AND ';
                } else {
                   $query_rs_results .= ' WHERE ';
      $query_rs_results .= 'color = ' . GetSQLValueString($_GET['color_m'], 'text');
    if (isset($_GET['color_o']) && !empty($_GET['color_o'])) {
    $color = $color + 1;
    If ($color > 1) {
      $query_rs_results .= ' OR ';
         } else {
                if ($where) {
                   $query_rs_results .= ' AND ';
                } else {
                   $query_rs_results .= ' WHERE ';
      $query_rs_results .= 'color = ' . GetSQLValueString($_GET['color_o'], 'text');
    if ($color > 0) {
    $query_rs_results .= ') ';
    if (isset($_GET['ears']) && !empty($_GET['ears'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'ears = ' . GetSQLValueString($_GET['ears'], 'text');
    if (isset($_GET['eye_color']) && !empty($_GET['eye_color'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'eye_color = ' . GetSQLValueString($_GET['eye_color'], 'text');
    if (isset($_GET['eye_shape']) && !empty($_GET['eye_shape'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'eye_shape = ' . GetSQLValueString($_GET['eye_shape'], 'text');
    if (isset($_GET['eye_tight']) && !empty($_GET['eye_tight'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'eye_tight = ' . GetSQLValueString($_GET['eye_tight'], 'text');
    if (isset($_GET['f_feet']) && !empty($_GET['f_feet'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'f_feet = ' . GetSQLValueString($_GET['f_feet'], 'text');
    if (isset($_GET['head']) && !empty($_GET['head'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'head = ' . GetSQLValueString($_GET['head'], 'text');
    if (isset($_GET['hocks']) && !empty($_GET['hocks'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'hocks = ' . GetSQLValueString($_GET['hocks'], 'text');
    if (isset($_GET['lip']) && !empty($_GET['lip'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'lip = ' . GetSQLValueString($_GET['lip'], 'text');
    if (isset($_GET['longevity']) && !empty($_GET['longevity'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'longevity = ' . GetSQLValueString($_GET['longevity'], 'text');
    if (isset($_GET['neck_length']) && !empty($_GET['neck_length'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'neck_length = ' . GetSQLValueString($_GET['neck_length'], 'text');
    if (isset($_GET['neck_set']) && !empty($_GET['neck_set'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'neck_set = ' . GetSQLValueString($_GET['neck_set'], 'text');
    if (isset($_GET['r_angulation']) && !empty($_GET['r_angulation'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'r_angulation = ' . GetSQLValueString($_GET['r_angulation'], 'text');
    if (isset($_GET['r_feet']) && !empty($_GET['r_feet'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'r_feet = ' . GetSQLValueString($_GET['r_feet'], 'text');
    if (isset($_GET['semen_f']) && !empty($_GET['semen_f'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'semen_f = ' . GetSQLValueString($_GET['semen_f'], 'text');
    if (isset($_GET['semen_fc']) && !empty($_GET['semen_fc'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'semen_fc = ' . GetSQLValueString($_GET['semen_fc'], 'text');
    if (isset($_GET['semen_fr']) && !empty($_GET['semen_fr'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'semen_fr = ' . GetSQLValueString($_GET['semen_fr'], 'text');
    if (isset($_GET['semen_l']) && !empty($_GET['semen_l'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'semen_l = ' . GetSQLValueString($_GET['semen_l'], 'text');
    if (isset($_GET['shoulders']) && !empty($_GET['shoulders'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'shoulders = ' . GetSQLValueString($_GET['shoulders'], 'text');
    if (isset($_GET['tail_length']) && !empty($_GET['tail_length'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'tail_length = ' . GetSQLValueString($_GET['tail_length'], 'text');
    if (isset($_GET['tail_set']) && !empty($_GET['tail_set'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'tail_set = ' . GetSQLValueString($_GET['tail_set'], 'text');
    if (isset($_GET['temperament']) && !empty($_GET['temperament'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'temperament = ' . GetSQLValueString($_GET['temperament'], 'text');
    if (isset($_GET['topline']) && !empty($_GET['topline'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'topline = ' . GetSQLValueString($_GET['topline'], 'text');
    if (isset($_GET['withers']) && !empty($_GET['withers'])) {
        if ($where) {
        $query_rs_results .= ' AND ';
      } else {
        $query_rs_results .= ' WHERE ';
        $where = true;
      $query_rs_results .= 'withers = ' . GetSQLValueString($_GET['withers'], 'text');
    echo "Query search = ".$query_rs_results;
    $query_limit_rs_results = sprintf("%s LIMIT %d, %d", $query_rs_results, $startRow_rs_results, $maxRows_rs_results);
    $rs_results = mysql_query($query_limit_rs_results, $dqdb) or die(mysql_error());
    $row_rs_results = mysql_fetch_assoc($rs_results);
    if (isset($_POST['totalRows_rs_results'])) {
      $totalRows_rs_results = $_POST['totalRows_rs_results'];
    } else {
      $all_rs_results = mysql_query($query_rs_results);
      $totalRows_rs_results = mysql_num_rows($all_rs_results);
    $totalPages_rs_results = ceil($totalRows_rs_results/$maxRows_rs_results)-1;
    I'm echoing $query_rs_results to verify that it is building the select statement correctly, but it is not.  The select statement being echoed is:
    SELECT dogid, b_email, b_fname, b_lname, b_phone, b_url, dob, dod, reg_name, reg_no, o_email, o_fname, o_lname, o_phone, o_url, registry, semen_l, semen_f, semen_fc, semen_fr, photo FROM dog_main
    The results page is displaying every dog in the database.
    What am I missing here?
    TIA,
    Laura

  • Printer "printing" empty artboard area

    My printer (actually, it's a laser engraver) is reading the entire artboard in addition to the actual image as needing to be run when set for "3D" (aka greyscale) images, as opposed to just going to the image on the artboard.  It is running as though it sees the empty space as white and it is trying to "color" it. When it gets to where the image is placed on the artboard, it runs the image (black or greyscale) within/on it. It wastes A LOT of time. I guess, what I really want to know is how to make sure the artboard area is not being picked up and seen as a part of the image. I need it's dimentions to be read, but not any fill except for the actual image(s) on the artboard. I've never had this problem in the past with other machines (by the same manufacturer) using Illustrator. I was using CS5, not CC.
    I ran this by the laser company's techs and they say it is an issue with my Illustrator/Adobe set up, not their driver. Of course, they are pretty dedicated to Corell and have no one on staff that can give me any real help with an Adobe product...
    Any help would be much appreciated

    "I guess, what I really want to know is how to make sure the artboard area is not being picked up and seen as a part of the image."
    make the artboard smaller--to just outside the image

  • Sumproduct and ignoring empty cells

    Hi there!
    I am working on creating a grade book with Numbers. And I would need help to find my way around a problem.
    To calculate the general grades in the "I" column, I used the following formula to assign coefficients (weight of each assignement on line 2) to a range of cells containing a grade (result of a formula calculating the average grade for each assignment).
    *I3 =SUMPRODUCT(B3:H3,$B$2:$H$2)*
    (Line 3 is for a specific student, columns B-H for the average grades of students on 7 types of assignments that need to be shown).
    I need to be able to give a general grade at any time during the semester, before all assignments taken.
    Problem:
    I cannot get a general grade (I3) until all the averages of all the assignments(B3:H3) are calculated (I guess because they contain references to cells with formulas: red arrow displayed until grades are entered).
    Question:
    Is there a way to calculate the general grades, respecting the assigned coefficients while ignoring the cells that don't have a numbered result.
    The idea would be =SUMPRODUCT(cells with numbered result (B3:H3), $B$2:$H$2 only match when corresponding line 3 cell has numbered result)
    I AM REALLY SORRY, I am new at this and it's hard for me to explain the problem in a more concise manner. I hope I made some sense!
    THANK YOU FOR YOUR PATIENCE!

    You were right, the reason why I was getting a red arrow is because AVERAGE cannot handle empty values.
    Using =IF(COUNT(B2:D2)=0,0,SUM(B2:D2)/COUNT(B2:D2)) will return 0 as a grade...which would lower the actual final grade of a student.
    That is why I was wondering if cells with no numbered value (or now with 0% as a value) could be ignored.
    To have an average of the cells with an actual grade, respecting their Weight, I would need to have a (group of) function(s) doing the following:
    1-Select each cell with value > 0% and multiply it by the assigned WEIGHT.
    2-Sum of the individual products obtained.
    3-(multiplied by 100%)divided by sum of all used assigned Weights
    In the following picture you will see the actual grades for Interro and Participation, the 0% grades that should be ignored, the Total (20%) that is wrong because these cells were not ignored ...and the (hopefully) Real Total (78.8%) that I obtained typing:
    =(Interrogations 'Student'*'Interrogations ' WEIGHT+Participation 'Student'*Participation WEIGHT)*Total WEIGHT/('Interrogations ' WEIGHT+Participation WEIGHT)
    !http://i249.photobucket.com/albums/gg221/KathyFR/RealAverage.jpg!
    Can you think of formula that would select the cells and make the calculations on its own (and that I could then drag to calculate the current total grade of all students throughout the semester)?
    (Now, I don't want to waste too much of your time...I can understand if you want to give up on me! Thanks for all you've done already! Hope you have some fun thinking about the problem).

  • Ignore empty rows

    I have the following table structure
    AccountTable
    ...accountID
    ...RegionID
    ...CategoryID
    ...subtypeID
    CategoryTable
    ...CategoryID
    ...accountID
    RegionTable
    ...RegionID
    ...accountID
    SubtypeTable
    ...SubtypeID
    ...accountID
    I want to form a query which will select all accounts belonging to a category,region & subtype(all AND).suppose if any of this table doesnt have data then the query should ignore that table and get data for the other two conditions. is there any way to do that in PL/SQL??(no procedures/functions)

    Hi,
    My problem is a bit different. in the tables i've included the wrong attribute.
    CategoryTable
    categoryID
    criteriaID
    RegionTable
    regionID
    criteriaID
    I want to get all the accounts belonging to particular category/region with a particular criteria ID(All AND).so i have to have a query like
    select accountID from accountstable acc where
    acc.regionID in (select regionID from regiontable where criteriaID = 34)
    and
    acc.categoryID in (select categoryID from categorytable where criteriaID = 34)
    but the problem is if any one of category/region is not having record it wont get me rows for the other condition
    I cameup with a solution like this
    select accountID from accountstable acc where
    acc.regionID in (select regionID from regiontable where criteriaID = 34)
    or
    (select count(regionID) from regiontable where criteriaID = 34) = 0)
    and
    acc.categoryID in
    select categoryID from categorytable where criteriaID = 34)
    or
    (select count(categoryID ) from categorytable where criteriaID = 34) = 0)
    This works fine as it negates the condition when no row is found. the pblm is it is taking more time
    any suggestion??

  • Ignoring empty select-option inputs

    Hi all,
    Have 3 input select options as follows:
    select-options: so_retnr for vbak-vbeln.
    select-options: so_matnr for mara-matnr.
    select-options: so_bstnr for vbak-bstnk.
    Iam using the above 3 select options in the following select.
    Now the user can fill-in all the above select inputs or any 1 or 2 of them.
    In my select statement I want to use only those select-options filled in by the user so that it wont make a full table search for the empty select-option input.
    Is there any easy way to check that in the select statement.
      select vbakvbeln vbakbstnk vbakihrez vbakaudat vbak~auart
           vbapmatnr vbaparktx vbap~kwmeng into corresponding fields
           of table gt_zrritab from vbak inner join vbap on
            vbakvbeln = vbapvbeln
            where  vbak~vbeln in so_retnr and
                   vbap~matnr in so_matnr and
                    vbak~bstnk in so_bstnr and
                    vbak~auart = 'ZRR'.
    Regards
    P

    data: t_string type string.
    if not so_retnr[] is initial and not so_matnr[] is initial and not so_bstnr[] is initial.
      t_string = 'vbakvbeln IN so_retnr AND vbapmatnr IN so_matnr AND vbak~bstnk IN so_bstnr'.
    elseif not so_retnr[] is initial and not so_matnr[] is initial and so_bstnr[] is initial
    t_string = 'vbakvbeln IN so_retnr AND vbapmatnr IN so_matnr.
    elseif not so_retnr[] is initial and so_matnr[] is initial and not so_bstnr[] is initial
      t_string = 'vbakvbeln IN so_retnr AND vbakbstnk IN so_bstnr'.
    elseif.
    etc....
    endif.
      SELECT vbakvbeln vbakbstnk vbakihrez vbakaudat vbak~auart
      vbapmatnr vbaparktx vbap~kwmeng INTO CORRESPONDING FIELDS
      OF TABLE gt_zrritab FROM vbak INNER JOIN vbap ON
      vbakvbeln = vbapvbeln
      WHERE (t_string)
       AND vbak~auart = 'ZRR'.
    zashok

  • Empty line handling in sender fileadapter FCC

    Hi Al,
      How do we ignore empty lines in the fixed length file by using FCC?
    In my input file,i would be having emply lines at last and as per my curect FCC configurations,it is reading that emplty line also and due to this,message got failed in message mapping.How do we ignore this in sender file adapter?
    I do not want to change any mapping condition.

    Hi Rajesh,
    Just a short in the dark . There is a parameter by the name of NameA.keepIncompleteFields
    This parameter is only evaluated if you enter a value for NameA.fieldFixedLengths.
    ○       If you enter NO and the last field found in the structure is shorter than specified in NameA.fieldFixedLengths, processing is terminated with a corresponding error message.This is the default.
    ○       If you enter YES, the last field found in the inbound structure is transferred to the outbound structure, even if it is shorter than specified in NameA.fieldFixedLengths.
    Caution
    You use this parameter to control the behavior of the conversion routine for the last field in a structure.
    Use the NameA.missingLastFields parameter to define the behavior at runtime when the structure contains less fields or no fields (as in your case a blank line) in total that specified in NameA.fieldFixedLengths.
    Regards
    joel

  • Empty files are getting created at receiver FTP server

    Hi Experts,
    I have an Idoc to File scenario where I am sending an XML file to receiver FTP server.
    Scenario is working fine but sometimes an empty file is getting generated at receiver FTP server.
    I have already selected ignore empty file at receiver channel so issue is not within PI system configuration.
    When I checked the message log I can see that almost all the files are getting created successfully without any issues, but
    for some files/messages I can see that there are below error logs.
    "Transmitting the message to endpoint <local> using connection IDoc_AAE_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not get FTP connection from connection pool (1 connections) within 5,000 milliseconds; increase the number of available connections"
    "Exception caught by adapter framework: Could not get FTP connection from connection pool (1 connections) within 5,000 milliseconds; increase the number of available connections."
    And after there is again success message log in the same message and it creating a file successfully during that time stamp.
    but the third party is sometime receiving empty file which I am not able to find in any trace or log (my file name is SD_timestamp.xml).
    Can you please let me know what is the solution and what adjustments FTP server need to do in order to resolve this issue.
    Thanks in advance.
    Regards,
    Rahul Kulkarni

    The error you are getting that says "Could not get FTP connection from connection pool (1 connections) within 5,000 milliseconds; increase the number of available connections" has probably nothing to do with the empty files problem.
    I second Hareesh Gampa that you first should try "temporary file creation". You might also need to tell the FTP owner that he should only pick up files with that are written completely and that do comply with a negotiated file name schema. The temp file should have another schema of course then. He should not pick up just every file that is written. See here for details
    http://help.sap.de/saphelp_nw74/helpdata/en/44/6830e67f2a6d12e10000000a1553f6/content.htm
    HTH
    Cheers
    Jens

  • Empty-Message Handling is not working in receievr File Adapter

    Hi All,
    I have selected "Empty-Message Handling" = 'Ignore'in Receiver File adapter, but still empty files are creating in target directory.
    Message mapping generates output based on the conditon, if the condition is 'false' mapping will generate empty file (no data is being mapped).
    Why Receiver file adapter is processing empty fiels even i set 'ignore' empty fiels in configuration (ID)?
    Hoe can i manage not to place empty fiels in target directory?
    File type is '.txt'
    Your help would be appreiciated greatly.
    Thanks,
    Rajesh

    Not sure why is it not working. Make sure the channel is activated and cache is refreshed properly. But as a workaround you may use OS script checking for size of message and deleting it or configure a BPM to avoid the file creation. Or else an adapter module as shown
    /people/gowtham.kuchipudi2/blog/2006/01/13/stop-creation-of-an-empty-file-from-file-adapter-using-module
    Regards,
    Prateek

Maybe you are looking for

  • How to download Adobe Reader?

    downloaded free adode reader cannot view attachment in english format?

  • Problem when mapping  model attribute to dropdownbyindex

    HI I am mapping model attribute ( this is mapped to Model field of RFC ) to DropDownbyIndex. Once i call BAPI the executed list of values populates into dropdown but it doesn't show first value, instead it puts one extra space in dropdown ( 1 blank b

  • Batch creation program takes long time for large file

    Hi, I am uploading batch using a custom program which uses BAPI_BATCH_SAVE_REPLICA.The program takes 4 hrs for uploading 100000 records. But when I am using a file with 400000 records. It creates the second batch after 8 hrs from the starting of the

  • No Alarms Work/ical alarms not firing. I have a solution that worked for me

    If anyone has had a look at this thread and still not found a solution... http://discussions.apple.com/thread.jspa?threadID=1215043&start=30&tstart=0 try this (busycal)... http://www.busymac.com/index.html I was having serious problems with my iCal a

  • ICWC Sales -Payment Method Invoice

    Hello Friends, We have a requirement to have Invoice as the Payment method in ICWC Sales. in the Sales Order we are not getting the Invoice option. In the Payment form data we are getting only COD and Payment Card options. I have checked in customizi