Variable in book

I have a book with two novellas in it (short stories) with a total of about 35 files. Each story has a cover page with the title which has a paratag called "HB_HeadingBook". I'd like the title of the novella to appear in the header of each page.
So far Frame has resisted all of my attempts to do this using running header/footer 2 which I've defined as "<$paratext[HB_HeadingBook]>".
How do I put a variable on the master page which updates with the correct title?
Thanks.

At the book level, define the $volnum variable to be a Text entry and enter in the title of the novella. Then on the Master pages, in the running h/f text block, use the <$volnum> variable instead of the $paratext reference.
You may have to break the book into two separate book files and then build a book of books to run both novellas together.

Similar Messages

  • Possible to have "global" variable for book files?

    I'm working in FM9, I am wondering if there is any way to have a variable that spans all the .fm files within a book file?
    thanks
    gary in vermont

    Gary,
    With FM9 you have the option to exclude selected files from standard book operations, like printing or saving as XML. Using this, I recommend the following to handle global features like variable values, condition settings and maybe other stuff:
    * Add a new document "GlobalStuff.fm" to your book, at the very end.
    * Use this document to easily set variables etc., delete all other information you don’t want to be global (maybe even all paragraph and character catalogs).
    * Right-click this document in the book and select "Exclude".
    Whenever you need to update some global data, you would do it in this file before importing the changed properties into all other files of the book.
    - Michael

  • XML document must have a top level element. Error processing resource

    Hi,
    I am trying to send a XML file to a web browser from a servlet. I read the contents of the XML file into a string and I am sending it to the brower. Before I do this I set the 'Content-type' header of the httpResponse to "application/xml" . Embedded in the XML file is an xml-stylesheet elemetn indicating which *.xsl stylesheet to use to parse the XML content.
    I get the following error:
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
    XML document must have a top level element. Error processing resource 'http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
    Now, if I take the stylesheet element out of the XML string I sent, then the browser stores the content into and *.xml file. I manually run the "xml-to-xsl " stylesheet mentioned in the error output above, and there is no problem, the xml content gets successfully transformed in a viewable HTML .
    It is only when I embed the "stylesheet" element into the XML content that I get this error.
    So the browser is receiveing valid XML.
    I am not sure if the above error is complaining about the XML content I send or the stylesshet .
    Does anyone have an idea of what am I doing wrong?
    For your information here are my servlet code and the XML file:
    servlet:-
    package webapps.testReplyingXML;
    import java.io.BufferedReader;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileReader;
    import java.util.Enumeration;
    import java.util.StringTokenizer;
    import java.io.PrintWriter;
    public class ReplyXML extends HttpServlet {
              static int transactionCount = 0;
              public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException ,IOException {
                   String Q_PARAM = "query";
                   String requestString = req.getQueryString();
                   for ( Enumeration en = req.getParameterNames() ; en.hasMoreElements() ; )
         String k = (String)en.nextElement() ;
         String[] x = req.getParameterValues(k) ;
         String s = null;
         String DATA_PARAM= "";
         for(int i = 0 ; i < x.length ; i++ )
         s = x[i] ;
         //System.out.println("s = " + s);
         if (k.equals("query")){
              try {
                             //res.setHeader("Content-Type", "application/xml");
                             //res.setHeader("Transfer-Encoding", "chunked");
                             //res.setHeader("Cache-Control", "no-cache");
                             //res.setHeader("Server", "Jetty/5.1.10");
                             //res.setHeader("Pragma", "no-cache");
                             //res.setHeader("X-Joseki-Server", "Joseki-3.0-dev");
                             res.setStatus(res.SC_OK);
                             StringBuffer fileData = new StringBuffer(1000);
                        BufferedReader reader = new BufferedReader(new FileReader("sparql_results.xml"));
                        char[] buf = new char[1024];
                        int numRead=0;
                        while((numRead=reader.read(buf)) != -1){
                        String readData = String.valueOf(buf, 0, numRead);
                        fileData.append(readData);
                        buf = new char[1024];
                        reader.close();
                        String xmlMsg= fileData.toString();
                        System.out.println("XMLMSG= " + xmlMsg);
                             PrintWriter outresp = res.getWriter();
                             outresp.println(xmlMsg);
                             outresp.close();
              }catch (Exception e) {
                   e.printStackTrace();
              public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
                   doGet(req, res);
    XML FILE:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="xml-to-html.xsl"?>
    <sparql
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xs="http://www.w3.org/2001/XMLSchema#"
    xmlns="http://www.w3.org/2005/sparql-results#" >
    <head>
    <variable name="book"/>
    <variable name="title"/>
    </head>
    <results ordered="false" distinct="false">
    <result>
    <binding name="book">
    <uri>http://example.org/book/book6</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Half-Blood Prince</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book5</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Order of the Phoenix</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book4</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Goblet of Fire</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book3</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Prisoner Of Azkaban</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book2</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Chamber of Secrets</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book1</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Philosopher's Stone</literal>
    </binding>
    </result>
    </results>
    </sparql>

    Error processing resource http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
    Well, if one more character had been deleted from that message then you would have a problem. But as it is, the error message says there's an error processing a resouce whose name ends with "xml-to-html.xs" followed by something. That would be the stylesheet if I'm not mistaken. Most likely the browser can't find it at the URL mentioned in the error message.

  • Most efficient way to add a lot of text?

    Hey all,
    I have a project for a client who wants me to make flash cards for 350 scripture passages. Basically the cards need the Passage name and number on the top, with the actual passage underneath. Originally I was looking up each passage online, copying it, and pasting it into a new text box one at a time. However, this is taking forever.
    I was able to locate an XML Bible and was wondering if its at all possible to use that to speed up my process? Is it possible to set up the text boxes with the correct tags so that when I import the XML it fills them in with the proper specific passage? If not, is there an easier way to do this than one at a time?
    I'm quite new to using XML with Indesign, so detailed advice would be appreciated! Thanks for any help!

    Can you work with ready-to-place XML?
    I've tinkered a bit with a file called KJV.XML and a custom style sheet, and came up with this scheme. All you have to do is fill the variable "list" with the names of the books and chapter and verse number, then save the style sheet.
    Choose "Import XML", then select the file "KJV.XML" (since that's what the style sheet is based upon -- if you have another XML data file, the names of the individual elements may not match). In the dialog, select "Choose XSLT"; browse for the XSLT file and select that. ID will import the verses as "quote", with the name of the book and verse in a tag "title" and the text itself in a tag "verse". From then on you'd have to consult someone who knows how to process it any further
    This is the style sheet -- copy, paste into a plain text editor, and save as "verses.xslt". The variable you should fill in is on line #6; be sure to use a comma to separate Book name and verse, and put a colon between chapter and verse number. Hope it works for you!
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:strip-space elements="*" />
    <xsl:variable name="list" select="'Exodus 23:5|Exodus 28:3|Job 28:16'" />
    <!-- Match everything in the root -->
    <xsl:template match="/">
         <xsl:apply-templates />
    </xsl:template>
    <xsl:template match="bible">
         <xsl:element name="quotes">
              <xsl:call-template name="nextEntry">
                   <xsl:with-param name="list" select="$list" />
              </xsl:call-template>
         </xsl:element>
    </xsl:template>
    <xsl:template name="nextEntry">
         <xsl:param name="list" select="''" />
         <xsl:param name="this" select="substring-before(concat($list,'|'), '|')"/>
         <xsl:param name="next" select="substring-after($list, '|')"/>
         <xsl:element name="title">
              <xsl:value-of select="$this" />
         </xsl:element>
         <xsl:variable name="book" select="substring-before($this, ' ')" />
         <xsl:variable name="chap" select="substring-before(substring-after($this, ' '), ':')" />
         <xsl:variable name="vers" select="substring-after($this, ':')" />
         <xsl:element name="verse">
              <xsl:apply-templates select="testament/book[@name=$book]/chapter[@number=$chap]/verse[@number=$vers]" />
         </xsl:element>
    <xsl:text>
    </xsl:text>
         <xsl:if test="string-length($next) &gt; 0">
              <xsl:call-template name="nextEntry">
                   <xsl:with-param name="list" select="$next" />
              </xsl:call-template>
         </xsl:if>
    </xsl:template>
    </xsl:stylesheet>

  • AS3 and XML, HELP!

    Hi
    I have no idea where to post this, so pls forgive me if im in the wrong place, but I have an Assessment due tomorrow, I'm only 4 weeks knew to AS3 and Flash, and confused as, so pls forgive me if i also look silly asking this question.
    The issue is loading data from an XML file and having it present in a Flash website. Its a book review thing (i've altered the XML and AS3 for posting here so please bare that in mind), so the XML looks a little like this
    <books>
        <book>
            <bookName>The Monsters</bookName>
            <genres>
                <genre>Thriller</genre>
                <genre>Crime</genre>
                <genre>Comedy</genre>
            </genres>
            <description>about the mummies.</description>
            <image>mummies.jpg</image>
            <reviews>
                <review>
                    <date>16/07/2011</date>
                    <name>unnamed</name>
                    <info>
                        <rating>5</rating>
                        <why>blah blah</why>
                        <theGood>it was good...</theGood>
                        <the Bad>it was bad…</theBad>
                    </info>
                </review>
            </reviews>
        </book>
    <books>
    but each Book has multiple reviews, i've just shown you one. Anyway, i need to present this information in 3 dynamic text fields when a book is selected in my ComboBox… after a lot of trouble i got the basics of it. So in the Genre box the genres will display, and in the Description box the description will display, and in the Review box i can get all the information, but only with all the tags. I need it to display without any tags, it would be wonderful if i could figure out how i could put date, name etc in front of that information as well, but I cant even begin to figure that one out.  For the life of me i cannot figure it out. below is the code I have so far:
    //Load XML
    var booksXML:XML = new XML();
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest("gigGuide.xml");
    loader.addEventListener(Event.COMPLETE,loaderOnComplete);
    loader.load(request);
    function loaderOnComplete(event:Event):void
       booksXML = new XML(event.target.data);
       var books:Array = new Array({label:"Select a Book"});
       for each (var book:XML in booksXML.band)
          books.push({label:book.bookName.toString(), data:book.description.toXMLString(),
                     infoLocal:book.genres.genre.toString(), infoDate:book.reviews.review.toString(),
                     infoImage:book.image});
       bandCB.dataProvider = new DataProvider(bands);
    //ComboBox changeable
    bookCB.addEventListener(Event.CHANGE, changeHandler2);
    function changeHandler2(event:Event):void
       genre_txt.text = ComboBox(event.target).selectedItem.infoLocal;
       description_txt.text = ComboBox(event.target).selectedItem.data;
       reviews_txt.text = ComboBox(event.target).selectedItem.infoDate;
       empty_mc.tex = ComboBox(event.target).selectedItem.infoImage; //doesn't work
    any help would be greatly appreciated, and the image doesn't work, i've already faced facts that im not going to get that one to work
    Thank you in advance

    From what I can see you have a few problems. In your loaderOnComplete you set the data provider with 'bands' but create a variable called 'books'.
    Also, you want to be using the XMLList object to parse your data out. It's much simpler.
    Have a look at the following:
    var booksXML:XML;
    function loaderOnComplete(e:Event):void
              booksXML = new XML(e.target.data);
              var books:XMLList = booksXML.book;
              trace(books[0].bookName);
              var bookReviews:XMLList = books[0].reviews.review;
              trace(bookReviews[0].name);
    trace(bookReviews[0].date);
    First we get all the book xml objects in an XML List - the trace traces book number 0's name - The Monsters.
    Next, you can get all the reviews for a book in another XML List. Here we use the first book - book[0] and trace out the review's name and date.
    You can iterate through an XMLList as it has a length() method - (not a length property)
    Also, loading an image for a book would be easy - you just grab the image property of the current book and then use a Loader to load it.
    trace(books[0].image);

  • Inheritance and Serialization

    Dear forum members:
    I am facing some problem with one of my programs.
    I have once abstract superclass name LibraryItem and 2 other sub-classes named Book and CD both of which extends LibraryItem class.
    In the definition of all 3 classes I have mentioned 'implements serializable'
    Now I have also designed one driver class to test objects of Book.The program is running smooth except at the last part where I am trying to write one objects of Book class in a file named "item.dat".Actually I can't write the objects in the file and I am getting the following error message -
    java.io.NotSerializableException
    Code for LibraryItem class
    import cs1.*;
    import java.io.*;
    abstract public class LibraryItem implements Serializable{
    protected String callNo;
    protected String desc;
    protected String author;
    protected static int booksBorrowed = 0;
    protected static int toBeShelved = 0;
    protected static int onShelf = 0;
    protected static int booksHold = 0;
    protected boolean toShelf;
    protected boolean borrowed;
    protected boolean onHold;
    public LibraryItem( String newCallNo, String newDesc, String newAuthor ) {
         callNo = newCallNo;
         desc = newDesc;
         author = newAuthor;
         borrowed = false;
    onShelf++;
    toShelf = false;     
    onHold = false;
    System.out.println("\n\nA new library item created!");
    protected abstract String getCallNo();
    protected abstract String getDesc();
    protected abstract String getAuthor();
    protected void setCallNo() {
         System.out.print("\nPlease enter the new call number - ");
         callNo = Keyboard.readString();
    protected void setDesc() {
         System.out.print("\nPlease enter the new description for the item - ");
         desc = Keyboard.readString();
    protected void setAuthor() {
         System.out.print("\nPlease enter the new author for the item - ");
         author = Keyboard.readString();
    protected static int getBorrowed() {
         return booksBorrowed;
    protected static int getToBeShelved() {
         return toBeShelved;
    protected boolean getBorrowedStatus() {
         return borrowed;
    protected static int getonShelf() {
         return onShelf;
    protected static int getHold() {
    return booksHold;     
    protected boolean borrowed() {
    boolean valid = false;
    if( onHold == true ) {
    if( borrowed == false && toShelf == true ) {
         borrowed = true;
         System.out.println("\nItem has been issued for the member");
    booksBorrowed++;
    //onShelf--;
    onHold = false;
    booksHold--;
    valid = true;
    else if( borrowed == true && toShelf == false ) {
    System.out.println("\nSorry...!!!Item is already on hold!");
    valid = false;
    else if( borrowed == false && toShelf == false ) { 
    borrowed = true;
         System.out.println("\nItem has been issued for the member");
    booksBorrowed++;
    onShelf--;
    valid = true;
    else {
    System.out.println("\nSorry...!!!Item is either borrowed or not shelved!");
    valid = false;
    return valid;
    protected boolean returned() {
    boolean valid = false;
    if( borrowed == true ) {
    borrowed = false;
    System.out.println("\nItem is returned !");
    if( onHold == false )
    toBeShelved++;     
    toShelf = true;
    booksBorrowed--;
    valid = true;
         else {
         System.out.println("\nItem...!!!Book is not borrowed till now!");
    valid = false;
         return valid;
    protected void placeHold() {
    if( borrowed == false ) {     
    System.out.println("\nItem is on the shelf, it can be borrowed now!");
    else if( borrowed == false && onHold == true )
    System.out.println("\nItem already on hold!");
    else if( borrowed == true && onHold == false ) {
    onHold = true;
    System.out.println("\nItem of has been placed on hold for the member!");
    booksHold++;
    else if( borrowed == true && onHold == true )
    System.out.println("\nItem already on hold!");
    protected void placeOnShelve() {
    if( borrowed == false && toShelf == true && onHold == false ) {
    System.out.println("\nItem of choice has been shelved and ready to be borrowed");
    toBeShelved--;
    toShelf = false;
    onShelf++;
    else      
    System.out.println("\nEither the book is borrowed OR already on hold by some other member!");
    public boolean equals(Object otherObject) {
              boolean result = false;          // Assume different, unless we prove otherwise!
              try {
                   if (otherObject instanceof LibraryItem )
                        LibraryItem otherItem = (LibraryItem)otherObject;
                        result = (this.callNo.equals(otherItem.callNo));
              } catch (Exception e) {
                   System.err.println("An error occurred during Student.equals(): " + e.getMessage());
                   e.printStackTrace(System.err);
              return result;
    public abstract String toString();
    Code for Book class
    import java.io.*;
    import java.util.*;
    class Book extends LibraryItem implements Serializable{
         protected String category = "";
    protected BufferedReader input;     
    protected int year;
         public Book(String callNo, String description, String author, int year, String category) {
              super(callNo, description, author);
              this.category = category;     
              this.year = year;
              input = new BufferedReader(new InputStreamReader(System.in));
         protected String getCallNo() {
              return callNo;
    protected String getDesc() {
              return desc;
    protected String getAuthor() {
              return author;
    protected int getYear() {
              return year;
    public String toString() {
         return(desc+" by "+author+" belongs to "+category+" category");     
    protected void setCategory() throws IOException {
         String newCategory;
         System.out.println();
         System.out.print("Enter the new category for this book - ");
    newCategory = input.readLine();
    category = newCategory;
    System.out.println("The category of the book has been set to "+category);           
    Code for BookDriver class
    import java.io.*;
    import java.util.*;
    class BookDriver {
         public static void main( String args[] ) throws IOException {
              FileOutputStream file = new FileOutputStream("LibraryAndCard.dat");
    ObjectOutputStream outStream = new ObjectOutputStream(file);
              Book book = new Book("B123","C# made quiet easy","Rony", 2007, "Computer Books");
              System.out.println(book);
              book.setCategory();
         outStream.writeObject(book);      
         outStream.close();
    Pls do help me with your suggestions.when it is trying to write the object in the specified file in the statement outStream.writeObject(book), its throwing the above mentioned exception!
    thanx and regards
    RK

    What is the full error that is displayed in the console? It seems to me (although Im not too familiar with serialization) that its probably one of the class variables in Book that is not serializable (The BufferedReader doesn't seem to implement seriablizable???)
    If it is just this then you can presumably just write a new writeObject(inputstream) method to replace the defaultWriteObject in the inputstream? Just make it write the vital data about the reader instead of writing the object. Or you could write a little class extending bufferedreader and just adding serialization.
    You would need to do an equivalent readObject too.
    Hope that is of some help

  • Help In Sort ...

    Hi
    I have written two class Catalogue & Book.
    I am try to sort elements in Arraylist but it falls over with the error
    Exception occurred during event dispatching:
    java.lang.ClassCastException: cwrk2.Book
         at cwrk2.Catalogue$Com_Util_ComParator.compare(Catalogue.java:73)
         at java.util.Arrays.mergeSort(Arrays.java:1181)
         at java.util.Arrays.sort(Arrays.java:1128)
         at java.util.Collections.sort(Collections.java:121)
    The Code is for catalogue is
    import java.util.*;
    public class Catalogue
         private static ArrayList bookList = new ArrayList();
         public static void add(Book bk)
              bookList.add(bk);
    // IT FALLS HERE
              Collections.sort(bookList, new Com_Util_ComParator());
         // add books
         public static void main ( String[] args )
              Catalogue.add( new Book( "Whipping Star", "Frank Herbert", "2A" ));
              Catalogue.add( new Book( "The Worlds Of Frank Herbert", "Frank Herbert", "2A" ));
              Catalogue.add( new Book( "The Death Of Sleep", "Anne McCaffrey: Jody Lynn Nye", "2B" ));
              Catalogue.add( new Book( "The Death Of Sleep", "Enne McCaffrey: Jody Lynn Nye", "2B" ));
              static class Com_Util_ComParator implements Comparator
                   public int compare(Object o1,Object o2)
                        return ((String)o1).compareToIgnoreCase((String)o2) ;
    The code for Book
    import java.util.StringTokenizer;
    public class Book
         private String title; // title of the book
         private String authors; // writer of the book
         private String shelf; // shelf where the book is kept
         // book constructor initialises the variables
         public Book( String title, String authors, String shelf )
              this.title = title;
              this.authors = authors;
              this.shelf = shelf;
    ---------------------

    static class Com_Util_ComParator implements
    public int compare(Object o1,Object o2)
    return ((String)o1).compareToIgnoreCase((String)o2) ;
    }You are sorting a list that contains Book objects and here you are casting your Book objects to String objects. A Book is not a String, so you will get a ClassCastException.
    Jesper

  • Half working ObjectInputStream...What the heck?

    I'm saving an object to a file. No problem. But when I read it back, one of the datafields are populated with data...???
    class variables:
         private Book lastBookAdded; -----works
         private static int databaseSize = 5; -----works
         final private static int alphabet = 26; -----works
         private static int numBooks = 0; -----ALWAYS 0
    *Bang head on wall

    arggs, I meant one of the datafield is populated with the wrong data, it's numBook
    I did a pre-save and post-load comparison. Every field are identical except numBook, which always get stuck with a 0

  • Can I have a variable that lists the name of the Book?

    Hi, I'm creating a document as an InDesign Book, ie a lot of documents in the Book Pallette. I'd like to have a variable that lists the book name. Is this possible?
    I've tried finding how to create new variables but I can't see anything. I'm guessing <$bookname> is the code but I can't figure out how to enter it as a variable in CS5.
    Thanks,

    What does this have to do with scripting? I don't believe you can create a variable that is automatically populated with the book name, but you can simply create a regular variable and synchronize it across all documents in the book.

  • How can I utilize text variable in my book which only uses data merge on the first chapter?

    Hey ladies and gents, I'm trying to automate a process here and running into trouble. I have the first chapter of a book with several data merge fields (legal documents etc), and want the later chapters to pick up from what I have already merged via text variables or SOMETHING. From what I've tried, the options available to me are limited and buggy.
    Using the running header with character styles almost worked, but it removes all visual tracking in text around it (I assume this is a bug) and it only works for the first/last instance of the style. I need something that will fill in all instances.
    Here is an example of what I'm doing. In the ch1 document of my book I data merge the Name, Age and Occupation of a person. In chapter two I want to have a variable that takes the name that was merged in ch1. Any ideas? Doesn't seem possible!

    I need some solution that references live text, specifically different fields that have been data merged. This solution needs to work between documents, so your cross-reference suggestion was in the right direction. If I data merge 'Plan Name' from a CSV file into my first document and mark it with something (character style, paragraph style, text anchor etc), I want to have places in my other documents that pull that exact text from the first.
    If document 1 says 'the plan is XXXX', document 2 will copy that name, i.e. 'According to plan XXXX'. Whatever solution this is it's what I'm looking for.

  • Text variable for total number of pages in book?

    Hello,
    Is it possible to create a text variable that contains the total number of pages in a book?
    The only option I see is for the total number of pages in a document, which doesn't come out right for any but the last doc in the book.
    Thanks,
    -dp-

    If you use the Cross Reference plug-in from DTPtools.com, you can create a cross ref to the last page of the book across the chapters.
    This is an old FrameMaker trick and I have not tried it with InDesign, but it should work. Test out the trial version first (do it on a copy of the book).

  • Add new variable in Selection ID for planning book

    Hello,
    Need your suggestion-
    We have requirement to add new variable -like SNP Planner in SNP Selection ID of Planning book. Please suggest steps to configure this
    Regards
    Pandit

    Pandit
    There are more than one ways of doing this.
    The best option is to create a freely definable attribute (Spro  --- APO >> Master data >> Freely definable attributes) at material location level and now you will  automatically be able to see the attribute when your create a selection id. But you have to make sure you add logic in your material cIF user exit or create a custom program in APO to populate the desired values for the freely definable attribute for all materials in the selection
    Thanks
    Saradha

  • Variable header for books

    I asked  this about a month ago and I’m still looking and hoping for an answer on the possibility:
    I have a bunch of User Manuals set up as books with with the chapters as individual files.
    Several chapters are being used in more than one book.
    The challenge: Is there a way to set up a Variable Header to pick up the book name?
    For example:
    The footer has the file/chapter name: "Getting Started".
    The header must reflect the book name, not the file/chapter:  "Installation Guide"
    Thank you!

    A file can be used in multiple books with no problems (other than those you might introduce by synching styles with different definitions, but the same names, or synching the numbers), but you are asking to do something that is unsupported in any form.
    Cross references could be set up t a single document that contains the text for a single book name, but, aside from the unreliability of cross-document cross-references, that isn't going to help you either since the reference would be an absolute link, not a variable that would change with the name of the book the file was currently residing in.
    One thing that might work would be to make a "master file" that has no header info or page numbering. Instead of linking this file via the book panel, place the pages from the master file into multiple other documents as required, and add the headers and numbering in the files where you place them. They would behave in a manner similar to linked graphics. Edit the master, then update the links.

  • Updating a variable across multiple files in a book

    Hi guys,
    I have a book file with multiple files (prelim pages and chapters). In the header of each prelim page and chapter file I'm using a variable. How can I make a simple change to the variable and update it across all files that use it? I've tried looking through the menus and opening all files but I can't see any method of making a global change.
    Advice appreciated.
    Cheers
    Carl

    How about File > Import formats …
    1. make a new file (source) where you define just the variable you want to copy to other files (targets)
    2. import that variable from the source file into the target files
    When all the target files are in a .book, you can select them in the book and then use File > Import formats. Otherwise, the same command from inside each target – but you can always make a dummy .book referencing all the target files.
    Setting up a source file first means you can work with only the variables you want to, if you have some that change per chapter and others that stay the same throughout the book.
    N
    [ps] Watch out for the default behaviour of the Import from Document pulldown, which sets itself determinedly to "current file"

  • Can a Text Variable be shared across document in a Book?

    I'd like to define a single instance of a text variable and have it available to all documents in a Book (.indb). Can't figure out how. Is this possible?
    InDesign CS5.5 (both mac & pc versions)

    InDesign can't, automatically.
    But it is an option in the Book panel -- you can enable text variables to synchronize along with loads of other stuff. Then all it needs is a quick click on the Synchronize button.
    Just make sure you only enable the items you really want to sync.

Maybe you are looking for