Director 11 line.count problem?

Hi all. My name is Natassa and this is my first time here!
I am not new with Director, but can't figure out the
following!
There seems to be something wrong when working with text
members regarding the line.count property. In our project, i parse
through XML files and store data in text members which are placed
on stage and run a mouseOver script using pointToLine(the mouseLoc)
in order to change the color of the "active" line of the text
member.
The XML files are all utf-8 encoded, since we have english,
greek and french text.
I use a repeat loop so as to fill a text member with some
titles.
I have tried everything i could think of and could not solve
my problem. So, i thought i should try something very basic and
figure out what is going on.
Nothing seems to be working!
I have run the following basic scripts with the following
output:
Example A
script:
--I use numToChar(940) which is a greek character, since in
our project we have english, greek, french all utf-8 encoded
member("myText").text=""
repeat with i=1 to 300
myString = " line " & numToChar(940) &
numToChar(940) & numToChar(940) & numToChar(940) & i
member("myText").line[ i ] =myString
put i,member("myText").line[ i ],
member("myText").line.count
end repeat
Message window output:
-- 1 " line άάάά1" 1
-- 2 " line άάάά2" 2
. (everything ok so far)
-- 232 " line άάάά232" 232
-- 233 " line άάάά233" 233
-- 234 " line άάάά234" 208
-- 235 "" 235 HERE IS THE PROBLEM - NO STING STORED IN THE
TEXT MEMBER AFTER THIS LINE
-- 236 "" 236
-- 237 "" 237
-- 299 "" 299
-- 300 "" 300
put member("myText").line.count
-- 300
put member("myText").line[300]
Example B
script:
--I use numToChar(940) which is a greek character, since in
our project we have english, greek, french all utf-8 encoded
member("myText").text=""
repeat with i=1 to 300
myString = " line " & numToChar(940) &
numToChar(940) & numToChar(940) & numToChar(940) & i
member("myText").setContentsAfter(RETURN & myString)
put i,member("myText").line[ i ],
member("myText").line.count
end repeat
Message window output:
-- 1 " line άάάά1" 2
-- 2 " line άάάά2" 3
. (everything ok so far)
-- 232 " line άάάά232" 233
-- 233 " line άάάά233" 234
-- 234 " line άάάά234" 209 HERE IS THE
PROBLEM - line.count DOES NOT WORK CORRECTLY
-- 235 " line άάάά235" 210
-- 299 " line άάάά299" 274
-- 300 " line άάάά300" 275
put member("clippings").line.count
-- 275
-- But if i copy the text of the member and paste it into a
text editor, there are 300 lines!!!
put member("clippings").line[300]
-- " line άάάά300"
As a result, the pointToLine(the mouse Loc) is not working
well! The mouse is over a line and a different line has the
"active" color...
As you can see, the problem occurs after line 234!! :-|
Does anyone else have the same problem? I have a deadline and
can't figure out what to do!!
p.s. I updated a director MX file to a director 11 file. A
text member (contains greek and latin characters) opened in MX has
a line.count of 384 (correct) and the same member opened in 11 gave
a line.count of 275!!!!! Again the same problem with
pointToLine()...

>
Example A
>
> -- 233 " line ????233" 233
> -- 234 " line ????234" 208
> -- 235 "" 235 HERE IS THE PROBLEM - NO STING STORED IN
THE TEXT MEMBER
> AFTER THIS LINE
FWIW: I can replicate this problem, and it doesn't occur in
DMX2004, so
it's a new bug. It seems that line 234 gets the line number
wrong (208)
and it all turns to custard after that
>
Example B
>
> -- 232 " line ????232" 233
> -- 233 " line ????233" 234
> -- 234 " line ????234" 209 HERE IS THE PROBLEM -
line.count DOES NOT WORK
> CORRECTLY
> -- 235 " line ????235" 210
And I can replicate this too.
However, I can "fix" your second example by referencing
member.text.line
instead of member.line. See the following alteration to your
original
handler:
on test2
member("myText").text=""
c = numToChar(940)
s = "line " & c & c & c & c
repeat with i=1 to 300
member("myText").setContentsAfter(RETURN & s & i)
put i, member("myText").text.line
, member("myText").text.line.count
end repeat
end
I can't find a fix for your first example in a similar
fashion. It's not
permitted to execute member("myText").text.line =
"string"
> As a result, the pointToLine(the mouse Loc) is not
working well! The mouse is
> over a line and a different line has the "active"
color...
> p.s. I updated a director MX file to a director 11 file.
A text member
> (contains greek and latin characters) opened in MX has a
line.count of 384
> (correct) and the same member opened in 11 gave a
line.count of 275!!!!! Again
> the same problem with pointToLine()...
Try instead measuring member.text.line.count instead of
member.line.count
I will try to replicate the pointToLine() issue and see if I
can find a
workaround.

Similar Messages

  • Order of delivery schedule line counter at schedule agreements from MRP run

    Currently we are using schedule agreements for our long term external suppliers, but we are facing a problem with the order of new delivery schedule lines created during MRP run.
    Because of master data settings like, lot size, rounding value, plan delivery time and planning time fence to set as firm new requirements, multiple schedule lines are created with no order for schedule line counter.
    Does anyone is aware of a BADI, user exit or customizing control to have this schedule line counter in order?
    Thank you
    Daniel Guillen
    IT
    Skyworks Inc.

    Hi,
    Pls put this query in SD fourms  and get immly help because this is technical fourms.
    Anil

  • Creating Packages from BLOB field contents, line wrap problems

    Good afternoon,
    we use an in-house developed database-driven update system to update both our databases and filesystems, the system itself performs really well but there is still one problem I can't fix without some expert help:
    the code of to-be-updated Oracle packages is stored inside of a BLOB field, the BLOB field will contain both the package specification and package body and needs to be split into two parts to first execute the spec and then to execute the package body (I tried to execute both in a single step but this didn't work). This works for packages with less than 32767 characters and also works in some other cases but I found one case where the executed code contains an extra line wrap right in the middle of a word.
    To make it more clear (I hope it's comprehensible), imagine the following database content:
    CREATE OR REPLACE Package
    MyPack
    AS
    [... a lot procedure headers ...]
    END MyPack;
    CREATE OR REPLACE
    Package Body MyPack AS
    [... a lot more procedures ...]
    PROCEDURE myTest (intID OUT integer)
    AS
    BEGIN
      SELECT count (*) into intID FROM MyTa[--this is where the dbms_lob.substr() ends --]ble;
    END;
    END MyPack;My code searches for the second occurrence of the "Create or replace package", splits the code into spec and body, executes the specification and keeps on adding the rest of the code to a VARCHAR2A variable called "storedCode" from the BLOB. Now in the above example, after the specification has been removed from the string, the remaining characters (ending with the "MyTa" string) are added to the varchar2a variable, the next line is fetched from the BLOB via "dbms_lob.substr()" and added as long as dbms_lob.substr() does not return a NULL value (end of BLOB). When the code is executed after all has been fetched, the generated Package Body will contain an extra line wrap right in the middle of the "MyTable" word compiling the package invalid.
    This is the procedure code I use (definitely improvable, I'm better in MSSQL and MySQL dialects ...) to load, parse and execute the BLOB content:
       -- to run package code
      procedure runPackageCode (stepRef integer)
      AS
        numLines integer default 1;
        pos     integer default 1;
        storedCode    LOG_CHANGEDOBJECT.STOREDOBJECT%type;
        objectCursor  integer;
        lSqlOut     integer;
        sqlCommand  dbms_sql.varchar2a;
        emptyCommand dbms_sql.varchar2a;
        pIsError integer := 0;
        pErrorMsg varchar2(200) := '';
        updateRef integer := 0;
        currentUpdate integer := 0;
        schemaReference varchar2(20);
        -- required to do string cutting
        strLine varchar2(32767);
        strLeftFromSlash varchar2(32767);
        strRemaining varchar2(32767);
        intDelimiterPos integer := 0;
      begin
        -- retrieve update ID
        SELECT log_update_ref INTO currentUpdate FROM link_update_with_taskstep WHERE log_taskstep_ref = stepRef;
         begin
            select storedobject, change_area
            into storedCode, schemaReference
            from vw_storedobjects
            where step_id = stepRef;
         exception
          when no_data_found then
            pIsError := 1;
            pErrorMsg := 'Invalid SQL ID ' || stepRef;
            pkg_generic.LogError(updateRef, 'LocalUpdater', stepRef, 'Run package code failed: ' || pErrorMsg);
         end;
          if pIsError = 0 then     
            begin
              -- change schema
              execute immediate 'alter session set current_schema = ' || schemaReference;         
              objectCursor := dbms_sql.open_cursor;   
              loop
                strLine := UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(storedCode, 32767, pos));
                intDelimiterPos := regexp_instr(strLine, '\s*Create\s*or\s*Replace\s*Package', 2, 1, 0, 'i');
                while intDelimiterPos > 0
                loop
                  -- '/' found, execute currently stored statement
                  strLeftFromSlash := substr(strLine, 1, intDelimiterPos-1);
                  strLine := substr(strLine, intDelimiterPos);
                  -- execute the extracted part without any '/' in it
                  sqlCommand(numLines) := regexp_replace(strLeftFromSlash, '(^|\s+)/(\s+|$)', '', 1, 0, 'm');
                  if (sqlCommand(numLines) is not null) then
                    objectCursor := dbms_sql.open_cursor;   
                    dbms_sql.parse(objectCursor, sqlCommand, 1, numLines, true, dbms_sql.native);
                    lSqlOut := dbms_sql.execute(objectCursor);
                    dbms_sql.close_cursor(objectCursor);
                  end if;
                  -- reset sqlCommand
                  sqlCommand := emptyCommand;
                  -- reset line counter and store remaining string
                  numLines := 1;
                  -- check for further '/'s           
                  intDelimiterPos := regexp_instr(strLine, '\s*Create\s*or\s*Replace\s*Package', 2, 1, 0, 'i');
                end loop;
                -- add the remaining strLine to the sqlCommand
                strLine := regexp_replace(strLine, '(^|\s+)/(\s+|$)', '', 1, 0, 'm');
       --> I assume this line breaks the code, lpad()'ing the content to move it to the end of a varchar2a line didn't help
                sqlCommand(numLines) := strLine;
                exit when sqlCommand(numLines) is null;
                pos := pos+32767;
                numLines := numLines+1;
              end loop;
              objectCursor := dbms_sql.open_cursor;   
              dbms_sql.parse(objectCursor, sqlCommand, 1, numLines, true, dbms_sql.native);   
              lSqlOut := dbms_sql.execute(objectCursor);
              dbms_sql.close_cursor(objectCursor);
              commit;
              -- reset schema
              execute immediate 'alter session set current_schema = UPDATE_DB';
              -- set state to installed
              pkg_update.setstepstate(stepRef, 'Installed');
        exception
        when others then
              -- reset schema
              execute immediate 'alter session set current_schema = UPDATE_DB';
              -- set state to installFailed
              pkg_update.setstepstate(stepRef, 'InstallFailed');
              pkg_generic.LogError(updateRef, 'Database', stepRef, 'Run package code failed: ' || sqlerrm);
        end;
        end if;
      END;    Thanks if you kept on reading so far, I would really appreciate any feedback!
    Regards, Sascha

    Welcome to the forum!
    Whenever you post provide your 4 digit Oracle version (result of SELECT * FROM V$VERSION).
    Thanks for providing an easy-to-understand problem statement and for using code tags.
    >
    the code of to-be-updated Oracle packages is stored inside of a BLOB field
    >
    This should be stored in a CLOB since it is character data. Why are you using BLOB?
    >
    the BLOB field will contain both the package specification and package body and needs to be split into two parts to first execute the spec and then to execute the package body
    >
    Good, clear problem statement. So why doesn't your code do just what you said it should do: 1) split the code into two parts, 2) execute the spec and 3) execute the body.
    Instead of writing code that does these three relatively simple steps your code tries to combine splitting and executing and mushes/mashes it all together. The result, as you found, is code that is hard to understand, hard to debug, doesn't work and doesn't report on what it is doing.
    Code like this doesn't have a performance issue so the code should implement the simple step-by-step process that you so elegantly stated in your problem description:
    1. split the code into two parts
    2. execute the spec
    3. execute the body
    My advice is to refactor your code to perform the above steps in the proper order and to add proper exception handling and reporting for each step. Then when a step isn't working you will know exactly where and what the problem is.
    Here are my recommendations.
    1. Add two CLOB variables - one will hold the spec, the second will hold the body
    2. Add a comment (you have some good ones in the code now) for every step no matter how trivial it may be
    3. Add exception/error handling to EVERY STEP
    Your code for the first step has a comment but no exception handling. What should happen if you don't get any data? Why aren't you validating the data you get? Dynamic SQL using table-driven data is great, I love it, but you MUST validate that the data you get is what you expect to get.
        -- retrieve update ID
        SELECT log_update_ref INTO currentUpdate FROM link_update_with_taskstep WHERE log_taskstep_ref = stepRef;Recommended
        -- step 1 - retrieve update ID - This is the id that determines BLAH, BLAH, BLAH - add appropriate to tell a new developer what this ID is and what it means.
        BEGIN
            SELECT log_update_ref INTO currentUpdate FROM link_update_with_taskstep WHERE log_taskstep_ref = stepRef;
        EXCEPTION
            WHEN ??? THEN -- what should happen if step 1 fails? Do it here - don't default to an exception handler that is several pages away.
        END;Your code
         begin
            select storedobject, change_area
            into storedCode, schemaReference
            from vw_storedobjects
            where step_id = stepRef;
         exception
          when no_data_found then
            pIsError := 1;
            pErrorMsg := 'Invalid SQL ID ' || stepRef;
            pkg_generic.LogError(updateRef, 'LocalUpdater', stepRef, 'Run package code failed: ' || pErrorMsg);
         end;
    Good - except there is no comment that says what this does - I assume that the query above and this block are the 'retrieve update ID ' step?
    You log an error message and set the error flag to '1'. But since you don't want to continue why aren't you exiting the procedure and returning right here?
          if pIsError = 0 then     
            beginSo now you check the error flag and do several pages of code if there were no errors.
    I don't like that 'inverted' logic.
    If you don't want to continue then STOP right now! Don't make a developer scan through pages and pages of code to find out you really aren't doing anything else if there was an error.
    Either put a RETURN statement in the exception handler above or change your code to
          if pIsError = 1 then     
            RETURN;
          end if;Now the rest of the code doesn' t have to be indented; you will never get there if there is an error. Check for errors after every step and exit right then as appropriate.
              -- change schema
              execute immediate 'alter session set current_schema = ' || schemaReference;         
              objectCursor := dbms_sql.open_cursor;   
              loop
                strLine := UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(storedCode, 32767, pos));
                intDelimiterPos := regexp_instr(strLine, '\s*Create\s*or\s*Replace\s*Package', 2, 1, 0, 'i');
                while intDelimiterPos > 0
                loopThis code mixes all of the steps together into one giant mess. You open a cursor, try to split the BLOB into spec and body and try to parse and execute both all within a double nested loop.
    Even if that works correctly another developer will have a hard time understanding what the code is doing and fixing it if it goes wrong. And it will go wrong if you let me test if for you because I will put garbage into the BLOB for the spec, body or both to make sure it breaks and to see how your code handles it.
    I suggest you rewrite this double nested loop to perform the three steps separately.
    1. split the code into two parts
    a. put the spec into one new CLOB variable and the body into the other.
    b. use DBMS_OUTPUT (or a work table) to output the spec and body so you can see what the code is and make sure the 'split' process worked properly. You probably created that BLOB by manually concatenating the SPEC and BODY to begin with so now create a SPLIT process to split them again and give them back to you. This is such a fundamental component that I suggest creating a new SPLIT_MY_BLOB procedure. This procedure would take a BLOB and return two CLOBS as OUT parameters: one CLOB is the spec and one is the body. Then you can reuse this 'split' procedure in other code or more complex versions of code. Modular programming is the key.
    2. execute the spec - Now have a step that executes the spec and does something appropriate if the step succeeds or if it fails. I mean, do you really want to do execute the body if the spec execution fails? What do you want to do? Should you delete the body and spec? If you don't you might wind up with an INVALID body based on old code and an INVALID spec based on the new code you were trying to use. How will anyone, including you, know that the spec and body in the ALL_SOURCE view is really two different versions of things?
    This suggests that for your use case you may want to consider DROPPING the entire package, spec and body, before trying to recreate them both. At least if the package is totally missing anyone will know that the entire thing needs to be put back. Ahhhh - but to do that you need to know the package name so you can drop it. Than may require adding another step to get the package name from your data-driven table and adding a DROP PACKAGE step.
    3. execute the body - This step executes the body. Hmmmm - we have two nearly identical steps. So why don't you create a new function/procedure that takes a CLOB as input, uses dynamic sql to execute it and returns a result code. That would be useful. Then you could execute ANY sql stored in a CLOB and have a generic function that you can use for other things.
    Right now you are using the VARCHAR2 table version of DBMS_SQL.PARSE but you would change this to use the CLOB version.
    The end result of this refactoring is a main function/procedure that acts as the CONTROL - it decides what to do and what data (BLOB) to do it with. But it doesn't actually do ANY of the work. It just controls what is done.
    And you have a couple of generic, reuseable functions that actually do the work. One knows how to split a CLOB into spec and body. The other knows how to use dynamic SQL to execute a CLOB.
    Now you have a modular architecture that is easy to understand, easy to code and easy to test.

  • Regarding line count in normal list

    Hi all,
    In normal list am giving line count as 32. Its showing output correctly in my system. But when am seeing my output in other system the second page header is coming in the first page. I think according to configuration line count may change. Plese tell what i need to do to get ouput correct irrespective of system(Is there any system variable is there to do this).

    This actuly configuration problem
    configuration of sap in that system not done properly'
    I am sying this becouse i also faced same problem
    so configer it again ....
    Waiting for reward points........................

  • Logical line count

    hey yall
    I m trying to write myself a program that will count the number of logical lines in a java program. For example, if my input is
    ddafa
    //daga
    daddfa
    tab tab tab --tab s meaning white space i ve to skip
    eaqr
    my program should skip the comments, the white spaces, tabs, newline returns and return me 3.
    I ve started thinking and editing and more thinking, and now I'm getting frustrated over how to skip white space.
    Also, is there any way to skip white space upto, say a comment, in the middle of the page? Like this
    The startsWith("/") didn't work.
    Here is my program
      public class LOC   
           public static void main(String[] args)
             String file    = "a";
             int count = 0;
             InputStreamReader input = new InputStreamReader (System.in);
             BufferedReader stdin      = new BufferedReader(input);         
             try
                System.out.println("Enter name of file:> ");     
                file = stdin.readLine();  
                FileReader fr = new FileReader(file);
                BufferedReader in = new BufferedReader(fr); 
                String inputLine = in.readLine();          
                while(inputLine != null)
                   while(!inputLine.startsWith("/"))
                      count++;
                               for (int i = 0; i < inputLine.length();  i++)
                                  char c = inputLine.charAt(i);
                                  if(!Character.isWhitespace(c))
                                     count++;   
            inputLine = in.readLine();  // to exit the e                   
                   inputLine = in.readLine();
                }Somebody needs to help please.

    Thanks to yall for ur quick and helpful responses. I skimmed thru the java documentation, and yes, trim appeared to be useful in skipping white space.
    This is what I have accomplished with the addition of trim. I could not get the tricky slashSlashComment() class to work, so I figured out my own.
    but...
    Now I have another problem. If my input is all consecutive lines, my program runs fine. Forex, if i have
    fdaf
              mofo
    I get an answer of 4, which is perfect.
    However, if I have one space between the lines, I lose data!
    fdaf
    dada
    dada
         mofo
    I get 2 lines.
    Could this be due to trim() cutting all the white space between the two lines?
    //===========================================================
    // LOC.java
    // Author: Denem Orhun
    // Comp 6700 Software Process
    //============================================================
       import java.io.*;
       import java.util.*;
        public class LOC   
           public static void main(String[] args)
             String file    = "a";
             int count = 0;
             char c = ' ';
             InputStreamReader input = new InputStreamReader (System.in);
             BufferedReader stdin      = new BufferedReader(input);         
             try
                System.out.println("Enter name of file:> ");     
                file = stdin.readLine();  
                FileReader fr = new FileReader(file);
                BufferedReader in = new BufferedReader(fr); 
                String inputLine = in.readLine();          
                while(inputLine != null)
                   String newString =    inputLine.trim(); //get rid of the white space
                   if((newString.length() == 0 || newString.charAt(0) == '/'))
                      inputLine = in.readLine();     
                   if(newString.charAt(0) == "/n") 
                      inputLine = in.readLine();              
                   else
                      count++; 
                   inputLine = in.readLine();  // to exit the while loop                   
                System.out.println(c);
                in.close(); // close the input stream   
                System.out.println("Number of lines " + count);
                 catch(FileNotFoundException exception)
                   System.out.println("File not found");
                 catch (IOException exception)
                   System.out.println(exception);
       }I believe I m very close to the solution but I m sure its a very minor error in there. I ve been staring at the screen for lets see, since yall's posts and the screen is starting to blink lol...

  • Multiple small stories with variable line counts assigned to different editors

    I have a "best practice" question for you more experienced InCopy users about what workflow you recommend for my specific issue. I am experienced in InDesign, but am a InCopy newbie. I want to make sure I'm not missing a solution because my lack of experience with InCopy may be causing me not to see the forest for the trees.
    Short version: What is the best way to allow multiple editors access to each of multiple small stories separately (one story per editor), but to allow the line count of each story to be variable each week, while adjusting the rest of the stories along with it on the page (see image below)?
    Details: My publishing company's workflow is on CS6 with editors working in Word, and we're upgrading to CC2014 with InCopy. We have 7 in-house editors, and all files on an in-house server. We have quick deadlines (some are 15 minutes from editor writing copy to transmitting publication to subscribers). In the example below, we have 10 sections, and I have all seven editors writing different sections at the same time. A final editor has control over fitting the final page. My INDD files to test the new workflow use an assignment-based workflow. I understand I can place each of these sections as their own story, under the same assignment, so a different editor can have them checked out. However, each section does not have the same line count from week to week. Markets with more activity will get more lines.
    In our current workflow, we have multiple rough Word docs pulled into one master doc with a script, that the final editor edits to fit, so each section can be a different number of lines as long as the total is the same. Then production staff load it in. When we upgrade, we can use a hybrid workflow where the final editor just loads that final Word doc into one InCopy story and edits it to fit.
    It would be great if I just didn't understand how to make the text height variable for the story each editor is typing, and auto-adjust so the next story starts below where the story above it ends, and you all had an idea how I can do it!
    Thanks! Nancy

    I disagree to Seshu's answer to question 1.
    Correct answer of question 1 is C and <u><b>not A.</b></u>
    Sorry I didn't find time to check the rest.
    <u>To the examinee</u>
    I wouldn't assume all answers from SDN-ers are correct if my certification exam was knocking the door! I would rather try and find out the correct answers myself from the system instead of mugging these answers without any understanding of the technology involved! Find out the answers yourself from the system...that way it will help you to understand why the answer is 'C' and not 'A'...just knowing the answer is 'C' is not good enough...one has to understand "why" its 'C' and not 'A'. Hope you get my point! Good luck.

  • Link between Delivery schedule line counter from PO and the material docume

    Dear Gurus,
    I have one PO with single line item having delivery schedule -
    Material 1 -
    delivery schedule 01.01.2009     2000
                                                         01.03.2009    5000
    I have received quantity against this Po
    I want to know where I can find the link between Delivery schedule line counter from PO and the material document
    Best regards
    Sar

    There is no link from the MAterial document line item (Table Mseg) to the PO Schedule Line (EKET).
    If this is for Evaluating an on time delivery or GR, you may consider the following approach.
    PO details Po Date  QTY
    Sch1   01Jun2009   200   
    SCH2  08Jun2009   100
    GR Details
    GR1   01Jun2009   180
    GR2   07Jun2009   110
    GR3  09Jun2009      10
    Calculate a *** total qty for the PO Line.
    PO details Po Date  CUMUL QTY
    Sch1   01Jun2009   200   
    SCH2  08Jun2009   300
    Calculate a *** total qty for the ontime GR.
    PO details Po Date  CUMUL PO QTY  CUMUL GR on time
    Sch1   01Jun2009   200                180
    SCH2  08Jun2009   300                 290 (180+110)  the 3rd GR was too late
    Evaluate the PO SChedule Lines as follows:
    Po SCL qty + CUMUL GR QTY - CUMUL PO QTY = ADJ GR ON Time Qty
    SCH1 01Jun2009
    200 + 180 - 200 = 180 on time for 01Jun2009 date ( 90% fill rate)
    SCH2 08Jun2009
    100 + 290 - 300 = 90 on time for 08Jun2009 date (90 % fill rate) the first 20 of the GR on 07Jun2009 went to fill the late, early date.
    Best of luck !
    SCH2 100 +290 - 300 = 90 on time for 07Jun2009 date

  • Report:Setting the line-count in the output automatically

    i want to set the line-count in the report automatically irrespective of screen resolution.could you please explain.

    hi,
    try this,
    report zrich_0001  line-count 25(4).
    reward points if useful,
    regards,
    Raj,

  • PDF Letterhead Text LINE SPACING PROBLEM

    I recently upgraded from Pro 8 to X Pro on my Windows XP desktop. With Pro * I used the typewriter fucntion to place text onto my pdf letterhead. I have my letterhead in pdf format on my hardrive. I saved this texted letterhead without a problem, i.e., with the font, paragraphs, and line spacing eaxtly as it was when I creared it. With X Pro, after having placed text in my letterhead using the Typewriter function, my attempt to save the texted in letter head results in a pdf document which does not respect the line spacing I used w=hen creating it. Why am I have this line spacing problem?

    Thank you Michael,
    I am simply trying to continue using X Pro the way I used Pro 8. In Pro 8 I
    used the Typewriter function to input text to the letter head stored in my
    hard drive. Perhaps this is a functionality I lost as a result of the
    upgrade to X Pro -- I hope not??
    Joseph S. Tann, Jr., Esq.
    CONFIDENTIALITY NOTICE: This transmission is intended only for the addressee
    shown above. It may contain information that is privileged, confidential, or
    otherwise protected from disclosure. If you are not the intended recipient,
    please do not read, copy, or use it, and do not disclose it to others.
    Please notify the sender of the delivery error by replying to this message
    and then delete it from your system. Thank you.

  • Varying the line count in every page

    Hi All..
    I want to vary the line count in a page in my report.
    I have mentioned the line size n line count at the starting of the report, n it prints the same no of lines in every page but in the subsequent pages , I want to increase the line count .
    How can I do that ? 
    Thanks.

    Hi Naimesh..
    thanks for the reply .
    well,the code u suggested does not work..NEW-PAGE is jus a standalone command with which the line count cannot be associated.
    I actually have some header details that shud only appear on 1st page , n basing on the line count all works fine on 1st page ..but on the 2nd page the header details ned not appear , so only the itab details are getting printed , so the sy-tabix value remains the same but the line count is less than the 1st page leaving some space at the bottom of the page .
    And in the subsequent pages the printing takes place but from the begining of the page n also leaving more space at the bottom of the page.
    I want that equal no of lines get printed each page , also leaving equal no of lines at the bottom of each page.
    Hope I'm  sounding clear.
    Any answers ?
    Thanks.
    Sangeet.

  • At Line selection problem

    hi,
    iam stuck up with AT LINE-SELECTION problem ie i designed a screen where they need month list on clicking F4. i got the month list using month_names_get in the screen but while clicking the relevant month no.it's not entering into the required parameter. i have attached the codings,
    MODULE MONTH_DIS OUTPUT.
      SUPPRESS DIALOG.
      LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
      SET PF-STATUS SPACE.
      NEW-PAGE NO-TITLE.
      WRITE:/ 'SELECT MONTH' COLOR COL_HEADING.
      ULINE.
      DATA: T_MNTH LIKE T247 OCCURS 12 WITH HEADER LINE.
      refresh t_mnth.
      CALL FUNCTION 'MONTH_NAMES_GET'
       EXPORTING
         LANGUAGE                    = SY-LANGU
    IMPORTING
      RETURN_CODE                 =
        TABLES
          MONTH_NAMES                 = T_MNTH
       EXCEPTIONS
         MONTH_NAMES_NOT_FOUND       = 1
         OTHERS                      = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      loop at t_mnth.
        write:/ t_mnth-mnr, t_mnth-ltx.
      endloop.
      CLEAR T_MNTH-MNR.
    ENDMODULE.                 " MONTH_DIS  OUTPUT
    AT LINE-SELECTION.
      p_period = t_mnth-mnr.
      CHECK NOT p_period IS INITIAL.
      LEAVE TO SCREEN 0.
    here in the AT LINE-SELECTION, the selected month is not coming to the required parameter.
    pls help me in this issue,
    Thanks in advance,
    Premnath.

    You need to set a "Hide" after the write... I suggest you also set your own dialog PF-STATUS too so you can have just a PF2 "pick" button and a Cancel button ( this will look better to the user).
    loop at t_mnth.
      write:/ t_mnth-mnr, t_mnth-ltx.
      hide: t_mnth.  "needs this
    endloop.
    clear: t_mnth.

  • Dynamic setting of line count and footer in classical report

    Hi all,
    In classical report,we can set line count and footer at the beginning of the report  as Line-count 6(2), here out of 6 lines 4 lines is for content and 2 lines is for footer (assume no standard heading), but if my report produces less content than 4 say 3 at run time ,then footer will not be displayed .Here again i have to set line count and footer as 5(2) in order to get the footer to be displayed ,so How can i achieve dynamic setting of the line count and footer,
    Thanks,
    Avinash

    Use RESERVE,
    START-OF-SELECTION.
    RESERVE 6 LINES.           "at the last of your code
    This will trigger a page-break & footer will be displayed.

  • How to allocate space for headers in reports through line size r line count

    hi ,
    may i know how to allocate space for a header ( we do the same for footer through line-count ( footer space ) ) through line size or line count in reports...
    thanks in advance..

    Hi..,
    There is no need to reserve any space for the header. TOP-OF-PAGE can by default allocates the space for the header.
    If you still having confusion just  go ahead with this link. This is the research on same thing in defferent way.
    [Link|lines reservation for TOP-OF-PAGE & END-OF-PAGE;
    Thanks,
    Naveen.I

  • Line size and line count

    Hi all,
    May i know about line size and line count impact on reports ?
    i mean depending on line sizes values i.e 200 etc hw it will effect report either in output display  or length ?
    and also ablout line count too.
    Thanks in advance.

    This information may help you
    *... LINE-SIZE width *
    Effect
    This addition specifies the line width of the basic list and details list of the program to width characters, and sets the system field sy-linsz to this value. The line width determines the number of characters in the line buffer as well as the number of columns in the list displayed. The value width must be a positive numeric literal. The maximum line width is 1,023 characters.
    When the LINE-SIZE is not specified, the line width of the basic list is set to a standard width based on the window width of the current Dynpro, but is at least as wide as a standard size SAP window. For the standard width, the contents of sy-linsz is 0. The LINE-SIZE overwrites the value of the like-named LINE-SIZE addition to the statement SUBMIT and can be overwritten during list creation with the like-named LINE-SIZE addition to the statement NEW-PAGE.
    Note
    The current maximum line width is stored in the constants slist_max_linesize of the type group SLIST. Also defined there is a type slist_max_listline of type c with length slist_max_linesize.
    *... LINE-COUNT page_lines[(footer_lines)] *
    Effect
    This addition specifies the page length for the basic list of the program to page_lines lines and fills the system field sy-linct with this value. If the LINE-COUNT is not specifed, and if page_lines are less than or equal to 0 or greater than 60,000, then the page length is set internally to 60,000. This setting overwrites the passed value of the like-named LINE-SIZE addition to the statement SUBMIT and can be overwritten during list creation with the like-named LINE-COUNT addition to the statement NEW-PAGE.
    If you optionally specify a number for footer_lines, a corresponding number of lines are reserved for the page footer, which can be described in the event block END-OF-PAGE.
    You must specify page_lines and footer_lines as numeric literals.
    Notes
    For screen lists, you should use the standard value since, as a rule, page breaks defaulted through LINE-COUNT are not adjusted to the window size.
    You should also use the standard value for print lists, so that you can still select the page size on a printer-specific basis. A print list should be created in such a way so that it can handle every page size.
    Specifying a fixed line count is only useful for form-type lists with a fixed page layout. Here, however, you should always check whether such forms can be created by other means, such as SAPScript forms.

  • How to get file line count.

    Hey guys,
    How to get file line count very fast? I am using BufferedReader to readLine() and count. But when dealing with big file, say several GB size, this process will be very time consuming.
    Is there any other methods?
    Thanks in advace!

    What I'd do is you create an infofetcher, register a listener, implement gotMore() and have that scan for '\n'
    Some might suggest getting rid of the listener/sender pattern or use multiple threads to make ii faster. This might help a little, but only if your I/O is super-duper speedy.
    you are welcome to use and modify this code, but please don't change the package or take credit for it as your own work.
    InfoFetcher.java
    ============
    package tjacobs.io;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.Iterator;
    * InfoFetcher is a generic way to read data from an input stream (file, socket, etc)
    * InfoFetcher can be set up with a thread so that it reads from an input stream
    * and report to registered listeners as it gets
    * more information. This vastly simplifies the process of always re-writing
    * the same code for reading from an input stream.
    * <p>
    * I use this all over
         public class InfoFetcher implements Runnable {
              public byte[] buf;
              public InputStream in;
              public int waitTime;
              private ArrayList mListeners;
              public int got = 0;
              protected boolean mClearBufferFlag = false;
              public InfoFetcher(InputStream in, byte[] buf, int waitTime) {
                   this.buf = buf;
                   this.in = in;
                   this.waitTime = waitTime;
              public void addInputStreamListener(InputStreamListener fll) {
                   if (mListeners == null) {
                        mListeners = new ArrayList(2);
                   if (!mListeners.contains(fll)) {
                        mListeners.add(fll);
              public void removeInputStreamListener(InputStreamListener fll) {
                   if (mListeners == null) {
                        return;
                   mListeners.remove(fll);
              public byte[] readCompletely() {
                   run();
                   return buf;
              public int got() {
                   return got;
              public void run() {
                   if (waitTime > 0) {
                        TimeOut to = new TimeOut(waitTime);
                        Thread t = new Thread(to);
                        t.start();
                   int b;
                   try {
                        while ((b = in.read()) != -1) {
                             if (got + 1 > buf.length) {
                                  buf = IOUtils.expandBuf(buf);
                             int start = got;
                             buf[got++] = (byte) b;
                             int available = in.available();
                             //System.out.println("got = " + got + " available = " + available + " buf.length = " + buf.length);
                             if (got + available > buf.length) {
                                  buf = IOUtils.expandBuf(buf, Math.max(got + available, buf.length * 2));
                             got += in.read(buf, got, available);
                             signalListeners(false, start);
                             if (mClearBufferFlag) {
                                  mClearBufferFlag = false;
                                  got = 0;
                   } catch (IOException iox) {
                        throw new PartialReadException(got, buf.length);
                   } finally {
                        buf = IOUtils.trimBuf(buf, got);
                        signalListeners(true);
              private void setClearBufferFlag(boolean status) {
                   mClearBufferFlag = status;
              public void clearBuffer() {
                   setClearBufferFlag(true);
              private void signalListeners(boolean over) {
                   signalListeners (over, 0);
              private void signalListeners(boolean over, int start) {
                   if (mListeners != null) {
                        Iterator i = mListeners.iterator();
                        InputStreamEvent ev = new InputStreamEvent(got, buf, start);
                        //System.out.println("got: " + got + " buf = " + new String(buf, 0, 20));
                        while (i.hasNext()) {
                             InputStreamListener fll = (InputStreamListener) i.next();
                             if (over) {
                                  fll.gotAll(ev);
                             } else {
                                  fll.gotMore(ev);
    InputStreamListener.java
    ====================
    package tjacobs.io;
         public interface InputStreamListener {
               * the new data retrieved is in the byte array from <i>start</i> to <i>totalBytesRetrieved</i> in the buffer
              public void gotMore(InputStreamEvent ev);
               * reading has finished. The entire contents read from the stream in
               * in the buffer
              public void gotAll(InputStreamEvent ev);
    InputStreamEvent
    ===============
    package tjacobs.io;
    * The InputStreamEvent fired from the InfoFetcher
    * the new data retrieved is from <i>start</i> to <i>totalBytesRetrieved</i> in the buffer
    public class InputStreamEvent {
         public int totalBytesRetrieved;
         public int start;
         public byte buffer[];
         public InputStreamEvent (int bytes, byte buf[]) {
              this(bytes, buf, 0);
         public InputStreamEvent (int bytes, byte buf[], int start) {
              totalBytesRetrieved = bytes;
              buffer = buf;
              this.start = start;
         public int getBytesRetrieved() {
              return totalBytesRetrieved;
         public int getStart() {
              return start;
         public byte[] getBytes() {
              return buffer;
    ParialReadException
    =================
    package tjacobs.io;
    public class PartialReadException extends RuntimeException {
         public PartialReadException(int got, int total) {
              super("Got " + got + " of " + total + " bytes");
    }

Maybe you are looking for

  • HT5625 My iPhone has a different Apple ID than my iTunes and iCloud accounts.

    Why is this?  I change my password on iTunes and through the App Store using my secret questions.  However, the password is not accepted.  What am I doing wrong?

  • PM issue:CATS eror log!!

    HI! PM gurus, in CATS error log when particular order is checked system shows different plant as correct than one in the order. But actual work order has different plant. Sometimes plant is incorrect,sometimes work center is incorrect and sometimes b

  • Virtual Keyboard(mouse keyboard) in adf

    Hi All, I am developing an application using adf(jspx pages) in which on a jsff page i need to show virtual keyboard for entering password fields....normally we have this facility while login to our internet banking...is it possible using adf?? and h

  • Customer return for make to order material

    Dear All, I am doing return process for make to order material. while doing return delivery, delivery qty has not come. when i enter it manually it shows error Only 0 NOS of material ABC001  available Message no. VL150 Can anyone tell me the solution

  • Now that we are on NW2004s...

    We are just finishing up our upgrade from 4.6c to nw2004s and ecc 6.0. The issue is, we did a technical upgrade only. Will we still be able to use things like SCM, eWM, etc... all of the new, latest and greatest of toys, or will be have to do the fun