How can I find the specific channel name and modify channel name in automatically in VBS?

How can I find the specific channel name and modify channel name in automatically in VBS? (DIAdem 9.1)
I would like to change channel name = "speed01" ... "speed10"  to  channel name = "velocity01"..."velocity10.
martino

Hello Martino,
this script will help:
Option Explicit
Dim i
Dim n
For i=1 To 10
If i < 10 then
n = CNo("speed0" & i)
Else
n = CNo("speed" & i)
End If
If n > 0 Then
If i < 10 then
ChnName(n) = "velocitiy0" & i
Else
ChnName(n) = "velocitiy" & i
End If
End If
Next
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  

Similar Messages

  • How can i find the meta chain name?

    My process chains are running based on meta chain option,So how can i find the meta chain name???

    Hello
    Goto SE16
    Table RSPCCHAIN
    ut u r local chain name as varient and exe
    similerly goback if the chain you get is also a local chain....Until you get only one chain...
    Where Used List --
    RSPCPROCESSLOG table
    You can see the Process Logs at SM37 too based on the Technical name of the Chain you can trace the Meta chian
    Thanks
    Geeta

  • How can if find the most repeated character and number ???

    Hi,
    I have a question. For instance, if we have a text file which contains:
    aaabbbhhhhhhtttttsjs12366
    How can i find the most repeated character and number. I have to add this code to the following program:
    I will aprreciate if you can help.
    Regards,
    Serkan
    import java.io.*;
    public class LineLen {
         public static void main(String args[]) throws Throwable {
              final String filename = "deneme1.txt";
              BufferedReader infile = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
              String line = infile.readLine();
              int linenum = 0;
              while (line != null) {
                   int len = line.length();
                   linenum++;
                   System.out.print(linenum + "\t");
                   for (int i = 0; i<len; i++)
                   System.out.print("*");
                   System.out.println("");
                   line = infile.readLine();
    }

    For a small alphabet like English, array migt be used:
    //in a for loop
    ++array[s.charAt(i)];For a big alphabet like chinese, HashMap might be barely used:
    map.put(s.charAt(i), increment(map.get(s.charAt(i))));
    // increment is a user defined method, possibly for an Integer object,
    // that returns a new Integer object

  • How can we find the original XML Name of a Field

    Hi All,
    Just like the Reports To Field has XML Name as *[<ManagerFullName>]*
    Can anyone tell me how I can find the Original XML Name for the "Reports To (Alias)" User field?.
    Thanks in advance,
    Royston

    My scenario is that,
    When a user saves a new campaign I want to change the owner of this campaign to the user he reports to i.e(Manager Alias) Since the Owner field takes the Alias Name.
    To achieve this I have created a workflow to assign that Campaign to the Manager.
    Here is the Code snippet
    The triggering event is : Before modified record is saved.
    action is Update Field Owner with UserValue('<ManagerAlias>')
    Unfortunately its not accepting the ManagerAlias field....I have tried a similar scenario with the <ManagerFullName> field and its working fine.
    Thanks,
    -Royston
    Edited by: Royston Goveia on May 12, 2009 9:59 PM

  • How can I find the servlet class name from inside a ServletFilter?

    Ive implemented a servlet filter, but need to discover the class name of any servlet class that gets executed.
    Ive dug through the spec and cant seem to find any path to do this.
    Seems the methods needed to do this have been deprecated. (for security reasons?)
    Is there any way to write a ServletFilter to grab this info?
    If not, is there any other way to capture every servlet execution in the container, time its execution, and log the class name along with the execution time?
    (***WITHOUT*** requiring a classpath over ride of any container provider classes)
    Any help is much appreciated. Been banging my head against this for some time now :(

    request.getServletPath() returns the part of the URL which refers to the servlet. It isn't the classname of the servlet but it should be a reasonable surrogate. If you log that, then you could write some code which reads your web.xml and uses the servlet-mapping elements to convert it to servlet class names later.

  • How can i find the music itunes scanned and deleted from my ipod classic

    So I recently scanned my ipod classic for any problems and it decided to delete a whole bunch of my music.
    It also said something about putting the corrupted files in a "Found" Folder which i cannot find.
    Is there a way to get the music back somehow?

    Syncing to a "New" Computer or replacing a "crashed" Hard Drive: Apple Support Communities
    or
    Recovering your iTunes library from your iPod or iOS device: Apple Support Communities

  • How can i find the available JDBC driver name?

    hi,
    can anyone tell me how can i find the JDBC driver name in XI

    Hi
    The available JDBC drivers can be viewed in the file found in the following path in ur XI  server
    :\usr\sap\XR3\DVEBMGS00\j2ee\cluster\server0\bin\ext\
    regards
    krishna

  • How can i find the year/specs of a laptop?

    I am planning on purchasing a macbook from a local shop and they say it is slightly used but are giving it to me for a substantially low price. They said they will allow me to check it out and see if i want to buy it or not. How can i find the year of purchase and specs of the laptop quickly and through simple use at the store to decided if i want to make the purchase? also, how can i judge if a mac is fully functioning in a short period of time? sorry for my lack of knowledge as i have only ever owned a pc

    When examining the laptop, boot it up, click the Apple menu, and click "About This Mac." It will tell you the CPU and RAM. Click the More Info button for the full System Information listing of all hardware and software.
    The System Information Hardware Overview section will list the exact model like this:
      Model Name:          MacBook Pro
      Model Identifier:          MacBookPro8,2
    You can look up the Model Identifier to determine the year of release and more specs. I have the MacTracker app on my iPhone which has a complete database of all Macs ever made, so I look it up there.
    On the desktop, if you select the hard disk icon and choose Get Info you will get a readout of the disk capacity and how much is used/free.
    It's hard to know if a Mac has a hidden problem, after only a few minutes of examination. You will have to wing it or ask for some kind of warranty.

  • If I have the serial number of my Retina display, how can I find the manufacturer?

    I have the serial number of my new 15" MBP w/Retina Display:  how can I find the manufacturer's name?  I knowit it is either LG or Samsung.
    The numbers are:  LSN154YL01001  and  DLM2396021PF49HBG.
    Any help would be appreciated.....

    Samsung.

  • How can I find the index from a specific container?

    How can I find the index from a specific container?
    For example, if I'm traversing through textframes like so (an example, not tested):
    var doc = app.activeDocument;
    var story = doc.pages[0].textFrames[0].parentStory;
    for (var i=0, l=story.textContainers.length; i<l; i++) {
         var textFrame = story.textContainers[i];
         if (textFrame.constructor.name == "TextFrame") {
              var lastPara = textFrame.paragraphs.lastItem();        //How can I find the index of this in relation to the story?
    How can I find the index of "lastPara" in relation to the story rather than the current container?
    I tried:
    var newPara = story.paragraphs[lastPara.index];
    but this results in an invalid object. . .
    alert(newPara.isValid);      //returns false

    The .index property is the character offset. So lastPara will begin at story.characters[lastPara.index].

  • How can I find the dns names ?

    those what are made in the control panel...

    how can I find the dns names ?That is OS specific thus you must either use Runtime.exec() or use JNI to get to the names.
    If you search this forum you will find more specific suggestions on how to get them.

  • How can I see the alpha channel in the channels palette?

    Hello, mi format plugin loads a rgba image. I see it with transparency, that's ok, but when I go to the channels tab I only see 4 items (RGB, Red, Green and Blue).
    How can I see the alpha channel of my file in the channel tab?
    Thanks!

    OK, something must be wrong... but I don't find it!
    That's my whole code (resumed). I ommit some code (saving file code (not used) or main function, where I only call te "DoSomething" functions. You can see that I use layers. The DoReadContinue function is only used to show the preview.
    In the DoReadStart function I set the parameters for the layers (and the preview), and I fill the "data" and "layerName" params in the DoReadLayerContinue function. I hope you can understand the code!
    const int32 IMAGE_DEPTH = 32;
    SPBasicSuite * sSPBasic = NULL;
    SPPluginRef gPluginRef = NULL;
    FormatRecord * gFormatRecord = NULL;
    intptr_t * gMxiInfoHandle = NULL;
    MXIInfo* gMxiInfo = NULL;
    int16 * gResult = NULL;
    #define gCountResources gFormatRecord->resourceProcs->countProc
    #define gGetResources   gFormatRecord->resourceProcs->getProc
    #define gAddResource    gFormatRecord->resourceProcs->addProc
    CmaxwellMXI* cMax;
    static void DoReadPrepare (void){
        gFormatRecord->maxData = 0;
    static void DoReadStart(void){
        char header[2];
        ReadScriptParamsOnRead (); // override params here
      if (*gResult != noErr) return;
        // Read the file header
        *gResult = SetFPos (gFormatRecord->dataFork, fsFromStart, 0);
        if (*gResult != noErr) return;
        ReadSome (sizeof( header ) * 2, &header);
        if (*gResult != noErr) return;
      // Check the magic number for avoid no-mxi files
        int headerID = CheckIdentifier (header);
        if( headerID != HEADER_MXI ) *gResult = formatCannotRead;
      if (*gResult != noErr) return;
      // The file is OK. Let's continue to obtain the data of the image.
      cMax = new CmaxwellMXI( 0 );
      strlen((char*)gFormatRecord->fileSpec->name);
      gMxiInfo->filename = _strdup((char *)gFormatRecord->fileSpec->name + 1);
      bool res = cMax->getMXIIInfo(
                    (const char*)gMxiInfo->filename,
                    gMxiInfo->width, gMxiInfo->height,
                    gMxiInfo->burn, gMxiInfo->monitorGamma, gMxiInfo->iso,
                    gMxiInfo->shutter, gMxiInfo->fStop, gMxiInfo->intensity,
                    gMxiInfo->scattering,
                    gMxiInfo->nMultilightChannels, gMxiInfo->lightNamesList,
                    gMxiInfo->availableBuffersMask,
                    gMxiInfo->widthPreview, gMxiInfo->heightPreview,
                    gMxiInfo->bufferPreview);
      if(!res) return;
      // Check the available extra buffers
      int count = 0;
      if( gMxiInfo->availableBuffersMask & CmaxwellMXI::ALPHA_BUFFER ){
        // We will use that string to obtain later the desired extra buffer.
        gMxiInfo->extraBuffersList[count] = "ALPHA";
        gMxiInfo->hasAlpha = true;
        count++;
      else{
        gMxiInfo->hasAlpha = false;
      gMxiInfo->nExtraBuffers = count;
      switch( IMAGE_DEPTH ){
      case 8:
          gMxiInfo->mode = plugInModeRGBColor;
          break;
      case 16:
          gMxiInfo->mode = plugInModeRGB48;
          break;
      case 32:
          gMxiInfo->mode = plugInModeRGB48; //96 gives me an error
          break;
      // SET UP THE DOCUMENT BASIC PARAMETERS.
      VPoint imageSize;
      if( gFormatRecord->openForPreview ){
        // Preview always RGB8.
        imageSize.v = gMxiInfo->heightPreview;
        imageSize.h = gMxiInfo->widthPreview;
        gFormatRecord->depth = 8;
        gFormatRecord->imageMode = plugInModeRGBColor;
        gFormatRecord->planes = 3;
        gFormatRecord->loPlane = 0;
        gFormatRecord->hiPlane = 2;
        gFormatRecord->colBytes = 3;
        gFormatRecord->rowBytes = imageSize.h * gFormatRecord->planes;
        gFormatRecord->planeBytes = 1;
      else{
        // Configure the layers. All RGBA32.
        imageSize.v = gMxiInfo->height;
        imageSize.h = gMxiInfo->width;
        gFormatRecord->depth = IMAGE_DEPTH;
        gFormatRecord->imageMode = gMxiInfo->mode;
        gFormatRecord->layerData =
            2 + gMxiInfo->nMultilightChannels + gMxiInfo->nExtraBuffers;
        gFormatRecord->planes = 4; // RGBA.
        gFormatRecord->loPlane = 0;
        gFormatRecord->hiPlane = 3;
        gFormatRecord->planeBytes = IMAGE_DEPTH >> 3;
        gFormatRecord->rowBytes = imageSize.h * gFormatRecord->planes * ( IMAGE_DEPTH >> 3 );
        gFormatRecord->colBytes = gFormatRecord->planes * ( IMAGE_DEPTH >> 3 );
        gFormatRecord->transparencyPlane = 3;
        gFormatRecord->transparencyMatting = 1;
        gFormatRecord->blendMode = PIBlendLinearDodge;
        gFormatRecord->isVisible = true;
      SetFormatImageSize(imageSize);
      gFormatRecord->imageHRes = FixRatio(72, 1);
      gFormatRecord->imageVRes = FixRatio(72, 1);
      VRect theRect;
      theRect.left = 0;
      theRect.right = imageSize.h;
      theRect.top = 0;
      theRect.bottom = imageSize.v;
      SetFormatTheRect(theRect);
      // No resources for now.
      if (sPSHandle->New != NULL) gFormatRecord->imageRsrcData = sPSHandle->New(0);
      gFormatRecord->imageRsrcSize = 0;
        return;  
    /// Called for prewiew only.
    static void DoReadContinue (void){
        // Dispose of the image resource data if it exists.
        DisposeImageResources ();
      if( gFormatRecord->openForPreview ){   
        VPoint imageSize = GetFormatImageSize();
        gFormatRecord->data = gMxiInfo->bufferPreview;
          if (*gResult == noErr) *gResult = gFormatRecord->advanceState();
        if( gFormatRecord->data != NULL ){
          delete[] (Crgb8*)gMxiInfo->bufferPreview;
          gMxiInfo->bufferPreview = NULL;
          gFormatRecord->data = NULL;
      // De momento nos olvidamos de los icc profiles [TODO]
        //DoReadICCProfile ();
    static void DoReadFinish (void)
        // Dispose of the image resource data if it exists.
        DisposeImageResources ();
        WriteScriptParamsOnRead (); // should be different for read/write
      // write a history comment
        AddComment ();
      // Clean some memory.
      if( gMxiInfo->lightNamesList != NULL ){
        for( unsigned int i = 0; i < gMxiInfo->nMultilightChannels; i++){
          if( gMxiInfo->lightNamesList[i] != NULL ){
            delete[] gMxiInfo->lightNamesList[i];
            gMxiInfo->lightNamesList[i] = NULL;
        delete[] gMxiInfo->lightNamesList;
        gMxiInfo->lightNamesList = NULL;
      if( gMxiInfo->bufferPreview != NULL ){
        delete[] gMxiInfo->bufferPreview;
        gMxiInfo->bufferPreview = NULL;
      if( gMxiInfo->filename != NULL ){
        delete[] gMxiInfo->filename;
        gMxiInfo->filename = NULL;
      if( cMax != NULL ){
        delete cMax;
        cMax = NULL;
    static void DoReadLayerStart(void){
      // empty
    static void DoReadLayerContinue (void){
      int32 done;
        int32 total;
      VPoint imageSize = GetFormatImageSize();
      // Set the progress bar data
      done = gFormatRecord->layerData + 1;
      total = gMxiInfo->nMultilightChannels + gMxiInfo->nExtraBuffers + 2;
      // Dispose of the image resource data if it exists.
      DisposeImageResources ();
      uint32 bufferSize = imageSize.v * gFormatRecord->rowBytes;
      int nPixels = gMxiInfo->width * gMxiInfo->height;
      char* lightName = NULL;
      // SET THE BLACK BACKGROUND
      if( gFormatRecord->layerData == 0 ){
        gFormatRecord->data = (void*)new byte[bufferSize];
        for( int i = 0; i < nPixels; i++ ){
          ((float*)gFormatRecord->data)[ i * 4 ]     =
          ((float*)gFormatRecord->data)[ i * 4 + 1 ] =
          ((float*)gFormatRecord->data)[ i * 4 + 2 ] = 0.0;
          ((float*)gFormatRecord->data)[ i * 4 + 3 ] = 1.0;
        // Set the layer name.
        gFormatRecord->layerName = new uint16[64];
        gFormatRecord->layerName[0] = 'B';
        gFormatRecord->layerName[1] = 'a';
        gFormatRecord->layerName[2] = 'c';
        gFormatRecord->layerName[3] = 'k';
        gFormatRecord->layerName[4] = 'g';
        gFormatRecord->layerName[5] = 'r';
        gFormatRecord->layerName[6] = 'o';
        gFormatRecord->layerName[7] = 'u';
        gFormatRecord->layerName[8] = 'n';
        gFormatRecord->layerName[9] = 'd';
        gFormatRecord->layerName[10] = '\0';
      // LOAD THE LIGHT LAYERS
      else if( gFormatRecord->layerData < gMxiInfo->nMultilightChannels + 1 ){
        void* lightBuffer = NULL;
        void* alphaBuffer = NULL;
        byte foob;
        dword food;
        // Get the light buffer.
        bool res = cMax->getLightBuffer(
                               (char*)gMxiInfo->filename,
                               gFormatRecord->layerData - 1, IMAGE_DEPTH,
                               lightBuffer,
                               gMxiInfo->width, gMxiInfo->height, lightName);
        if(!res){
          *gResult = readErr;
          return;
        if( gMxiInfo->hasAlpha ){
          // Get the alpha buffer.
          res = cMax->getExtraBuffer(
                                (char*)gMxiInfo->filename,
                                "ALPHA", IMAGE_DEPTH, alphaBuffer,
                                food, food, foob);
          if(!res){
            *gResult = readErr;
            return;
        else{
          alphaBuffer = (void*)new float[ gMxiInfo->width * gMxiInfo->height * 3 ];
          for( int i = 0; i < nPixels; i++ ){
            // Only need to set the red channel.
            ((float*)alphaBuffer)[ i * 3 ] = 1.0;
        // Put them together.
        gFormatRecord->data = (void*)new byte[bufferSize];
        for( int i = 0; i < nPixels; i++ ){
          ((float*)gFormatRecord->data)[ i * 4 ]     = ((float*)lightBuffer)[ i * 3 ];
          ((float*)gFormatRecord->data)[ i * 4 + 1 ] = ((float*)lightBuffer)[ i * 3 + 1 ];
          ((float*)gFormatRecord->data)[ i * 4 + 2 ] = ((float*)lightBuffer)[ i * 3 + 2 ];
          ((float*)gFormatRecord->data)[ i * 4 + 3 ] = ((float*)alphaBuffer)[ i * 3 ];
        delete[] (float*)lightBuffer;
        delete[] (float*)alphaBuffer;
        // Set the layer name.
      //LOAD THE EXTRA CHANNELS
      if( ... ){
      //READ THE RENDER BUFFER
      if( ... ){
      // User can abort.
      if (gFormatRecord->abortProc()){
          *gResult = userCanceledErr;
          return;
      // Commit the layer.
      if (*gResult == noErr) *gResult = gFormatRecord->advanceState();
      // Update the progress bar.
      (*gFormatRecord->progressProc)( done, total );
      // Free memory.
      if( gFormatRecord->data != NULL ){
        delete[] (float*)gFormatRecord->data;
        gFormatRecord->data = NULL;
      if( lightName != NULL ){
        delete[] lightName;
        lightName = NULL;
    static void DoReadLayerFinish (void)
      // Nothing to do.
    And that's the image that I obtain loading a 8 layer image:
    The layers have transparency (when I set "transparencyPlane" to  -1, or 0, or 1, or 2, or 3, or 4....., I got the same result!). The blending mode is still "normal". I had set it to "linear dodge" The "isVisible" param works OK.
    Alpha 1 is still black.
    Is possible that I need to set something in the .r file? I had to add "FormatLayerSupport { doesSupportFormatLayers }," to manage layers, for instance.

  • How can i find the printing program?

    hi
    i have sap script how can i find the printing program ?
    ami

    ami bardogo wrote:
    hi
    what is the different between the commands 'break' and 'break-point'
    thanks,
    ami
      h2 Breakpoints  h2
    Apart from being able to execute an ABAP program in the Debugger, you can also start the Debugger call by the choosing a breakpoint. This is achieved by setting one or more of these breakpoints in the program. A breakpoint is a signal at a particular point in the program that tells the ABAP runtime processor to interrupt processing and start the Debugger. The Debugger is activated when the program reaches this point.
    There is also a special kind of breakpoint called a watchpoint. When you use watchpoints, the Debugger is not activated until the contents of a particular field change. For more information, refer to the chapter Watchpoints.
    Breakpoint Variants
    The Debugger contains different breakpoint variants:
    Static
    A user-specific breakpoint is inserted in the source code as an ABAP statement using the keyword BREAK-POINT. A non user-specific breakpoint is set in the ABAP Editor using the BREAK user name statement.
    Directly set
    dynamic breakpoints
    Can be set in the ABAP Editor or the Debugger by double-clicking a line, for example. Dynamic breakpoints are always user-specific, and are deleted when you log off from the R/3 System.
    Breakpoints
    at statements
    The Debugger stops the program immediately before the specified statement is executed.
    Breakpoints
    at subroutines
    The Debugger stops the program immediately before the specified subroutine is called.
    Breakpoints at function modules
    The Debugger stops the program immediately before the specified function module is called.
    Breakpoints at methods
    The Debugger stops the program immediately before the specified method is called.
    Breakpoints at exceptions and system exceptions
    The Debugger stops the program immediately after a system exception, that is, after a runtime error has been intercepted.
    Static Breakpoints
    Static breakpoints are always user-independent if there is no specification of a user name. Once a user has inserted the statement BREAK-POINT or BREAK name in an ABAP program, the system always interrupts the program at that point for that user or only for the user name. This procedure is only useful in the development phase of an application when program execution is always to be interrupted at the same place. For more information, refer to the chapter Static Breakpoints.
    In HTTP sessions, a static breakpoint is skipped if you did not set additional dynamic HTTP breakpoints in the editor of a BSP page. Instead, a corresponding system log entry is written, which can be checked using transaction SM21.
    Dynamic Breakpoints
    Dynamic breakpoints are user-specific. Therefore, you should use them if you only want the program to be interrupted when you run it yourself, not when it is being executed by other users. All dynamic breakpoints are deleted when you log off from the R/3 System.
    Dynamic breakpoints are more flexible than static breakpoints because you can deactivate or delete them at runtime. They have the following advantages:
    ·        You do not have to change the program code.
    ·        You can set them even when the program is locked by another programmer.
    ·        You can define a counter that only activates the breakpoint after it has been reached.
    Special dynamic breakpoints are useful when you want to interrupt a program directly before a particular ABAP statement, a subroutine, or an event, but do not know exactly where to find it in the source code. Event here is used to refer to the occurrence of a particular statement, for example, or calling up a method. Special dynamic breakpoints are user-specific. You can only set them in the Debugger. For more information, refer to the chapter Dynamic Breakpoints.
    In HTTP sessions, the system stops both at static and dynamic breakpoints if a dynamic breakpoint was set in the editor of a BSP page before program execution.
    Lifetime and Transfer of Breakpoints
    A static breakpoint remains intact as long as the BREAK-POINT or BREAK-POINT name statement is not removed from the source code. Without saving, dynamic breakpoints only remain intact in the relevant internal session. However, they remain in effect during the entire user session if they are saved by choosing the menu path Breakpoints ® Save in the ABAP Debugger. For more details on the subject of user sessions and modes, refer to Modularization Techniques in the ABAP keyword documentation.
    If you call an HTTP session during a user session, only the HTTP breakpoints are loaded when the HTTP session is started. You activate HTTP debugging in the ABAP Editor by choosing Utilities ® Settings ® HTTP Debugging. Depending on the setting, the system then displays either the HTTP or standard breakpoints in the Editor.
    If you call an update session during a user session, breakpoints that were defined beforehand in the calling processing unit are copied to the new update session, where they can be displayed under Breakpoints. If, in the ABAP Debugger, you check Update Debugging  under Settings and then, for example, call the update module func using CALL FUNCTION func IN UPDATE TASK, a new window is opened in which you can debug this function module in the update session. All the breakpoints that were set in the calling processing unit can also be processed here.
    For further information on special breakpoints, refer to:
    Breakpoints at Statements
    Breakpoints at Subroutines
    Breakpoints at Function Module Calls
    Breakpoints at Methods
    Breakpoints at System Exceptions
    h2 page  break h2
    WINDOW TYPES
    When defining a layout set window, you must select a window type for the window. You can choose between three types:
    • Constant windows (CONST)
    • Variable windows (VAR)
    • Main windows (MAIN)
    CONSTANT WINDOW
    A window of type CONST has the same contents and size on all layout set pages, on which a corresponding page window is defined. This allows the processing of the window contents to be optimized internally.
    Page windows whose allocated window is of type CONST must have the same size throughout the layout set. If a window of type CONST is full, all remaining text the application program wants to output in this window, is lost. Constant windows do not trigger a page break. In other words: all text exceeding the window size is simply truncated.
    VARIABLE WINDOW
    The contents of variable windows is processed again for each page, on which the window appears. The system outputs only as much text as fits into the window. Text exceeding the window size is truncated; the system does not trigger a page break. Unlike constant windows, the page windows declared as variable windows may have different sizes on different layout set pages.
    As far as the processing of the window contents is concerned, the system currently treats constant and variable windows alike. The only difference is that constant windows have the same size throughout the layout set.
    MAIN WINDOW
    Each layout set must have one window of type MAIN. Such a window is called the main window of the layout set. For SAPscript layout sets, the main window has a central meaning:
    • It controls the page break.
    • It contains the text body that may cover several pages.
    • It allows to fix text elements at the upper and lower margins of the allocated page window (for example, for column headings).
    As soon as a window of type MAIN is full, SAPscript automatically triggers a page break and continues to output the remaining text in the main window of the subsequent page. Page windows of type MAIN have the same width throughout the layout set. The SAPscript composer thus avoids reformatting of the text after each page break.
    If a page does not have a main window, the system implicitly processes all other windows of the page and continues with the subsequent page. This page must not call itself as subsequent page (recursive call), since this would produce an endless loop. In such a case, SAPscript terminates the output after three subsequent pages.
    HOW THE COMPOSER WORKS
    The composer or layout set processor is the central formatting module for the print output. It prepares the texts for the different output devices by using the allocated styles or layout sets.
    Processing a layout set happens in a certain order. You must know some facts concerning the different window types, the setting of subsequent pages, or the dynamic control from within the print program.
    Page control in layout sets
    Define subsequent page statically
    Define subsequent page dynamically
    Format a layout set page
    PAGE CONTROL IN LAYOUT SETS
    SAPscript automatically triggers a page break as soon as the main window of one page is full. To be able to execute the page break, the system must know on which subsequent page to continue outputting the text. You can specify the subsequent page either statically when defining the layout set, or you can set the subsequent page dynamically during layout set output.
    If the subsequent page is not specified, SAPscript automatically terminates printing, thereby ignoring any other output statements of the application program.
    DEFINE SUBSEQUENT PAGE STATICALLY
    You define the subsequent page statically with the layout set maintenance transaction. First, specify the start page in the layout set header. The system automatically calls this page whenever the layout set is started. With this page, or, more correctly, with the page window of this page, the text output starts. For each page, specify the subsequent page in the page definition. After a page break, the system continues text output on the subsequent page defined for the last page. By specifying start page and subsequent pages, you can define a page sequence.
    DEFINE SUBSEQUENT PAGE DYNAMICALLY
    The page sequence set in the layout set definition can be changed by the application program dynamically at runtime. If you want the layout set to start with a page other than the one defined in the layout set header, specify the desired start page using the parameter STARTPAGE when you call the function module START_FORM. However, this new start page is valid only for the current call of the function module.
    If you want to break to a subsequent page other than the one specified in the page definition, use the control statement NEW-PAGE to set the name of the new page.
    NEW-PAGE .
    NEW-PAGE ends the output on the current page. The new subsequent page is only valid for the current call of the control statement. You can either include the control statement explicitly into the text of a text element or pass it to the layout set output using the function module CONTROL_FORM.
    FORMAT LAYOUT SET PAGE
    The process of formatting the output is controlled by the text contents in the BODY area of the main window. If the main window is completely filled, or if the control statement NEW-PAGE appears in the main window, the system executes a page break. Only at this point in time the system formats the contents of the windows of the other types and replaces the variables with the current values.
    For each other window, the system first outputs the default text element, if it exists. Then it processes and formats the list of the active text elements of this window, which you set using the function module WRITE_FORM with the parameter FUNCTION (SET, APPEND, DELETE). Any text that does not fit into the page window is truncated.
    As a consequence to this processing order of the composer, the reservation of space for the TOP and BOTTOM areas must be made beforehand. If the BODY area of the main window already contains text, a new text output to the TOP area does not appear on the current page but on the subsequent page in the TOP area. The same applies for the BOTTOM area. If the BODY area is filled to such an extend that the new BOTTOM text no longer fits into the current main window, this text appears on the subsequent page in the BOTTOM area.
    A frequent error in application programs is that for the subsequent page (for example, NEXT) of a layout set no main window is defined. If the formatted text of the previous page did not fit into the corresponding main window , the composer searches the subsequent pages for a main window to output the text remainder. However, if the subsequent page of NEXT is NEXT again, the composer encounters an endless loop.
    To be able to create correct page breaks in longer text, you should define a main window on each layout set page.
    LAYOUT SET CONTROL
    To output SAPscript layout sets, in the print program you must always start the output with OPEN_FORM and end it with CLOSE_FORM. The function module OPEN_FORM initializes the SAPscript composer and opens the specified layout set for subsequent output. The system combines all output for this layout set up to the CLOSE_FORM to one print request. If CLOSE_FORM is missing, nothing will be printed.
    To output data in a layout set, you must use the SAPscript function modules WRITE_FORM, WRITE_FORM_LINES, and CONTROL_FORM. You can use these function modules any number of times in any order between opening and closing a layout set.
    You cannot use the ABAP/4 statement WRITE to write output to a SAPscript layout set.
    Several print requests
    Start a layout set again
    Switch layout sets
    Find layout sets
    SEVERAL PRINT REQUESTS
    Within one transaction, you can open and close several layout sets using OPEN_FORM and CLOSE_FORM, however not simultaneously. You can use parameters in the OPEN_FORM to control whether the output is stored in the same print request. But also the SAP spool decides, depending on several plausibility checks, whether new output is appended to an existing print request or whether to create a new print request anyway.
    CALL FUNCTION 'OPEN_FORM'
    CALL FUNCTION 'CLOSE_FORM'
    CALL FUNCTION 'OPEN_FORM'
    CALL FUNCTION 'CLOSE_FORM'
    You cannot combine ABAP/4 list output and SAPscript output in one print request.
    START A LAYOUT SET AGAIN
    Usually a print program does not print only one urging letter or one account statement, but several layout sets for different customers. To have the output for each customer begin with the start page of the layout set, you must start the current layout set again and again.
    To start a layout set again, you must first end the current layout set and then open the layout set again. Within one print request, first call the function module END_FORM. It executes the final processing for the current layout set. Then start the layout set again using START_FORM. Output then begins again on the start page of the desired layout set.
    CALL FUNCTION 'OPEN_FORM'
    CALL FUNCTION 'START_FORM'
    CALL FUNCTION 'END_FORM'
    CALL FUNCTION 'START_FORM'
    CALL FUNCTION 'END_FORM'
    CALL FUNCTION CLOSE_FORM
    If you use START_FORM and END_FORM, you must not specify a layout set for OPEN_FORM. However, in this case you can use the SAPscript output functions only after opening a layout set with START_FORM.

  • How can we find the most usage and lowest usage of table in Sql Server by T-SQL

    how can we find the most usage and lowest usage of table in Sql Server by T-SQL
    The table has time stamp column
    StartedOn datetime
    EndedOn datetime

    The Below query has been used , but the textdata column doesnot include the name of the table ServiceLog.
    SELECT
    FROM
    databasename,
    duration
    fn_trace_gettable('F:\Program
    Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\log_148.trc',
    default)
    WHERE
    DATABASENAME='ZTCFUTURE'
    AND TEXTDATA
    IS
    NOT
    NULL
    --AND TEXTDATA LIKE 'SERVICE%'
    order
    by cpu
    desc; 

  • I had 2 games of clash of clans on 1 game centre.  Now I can only see one?  How can I find the other one?

    My kids had 2 games of clash of clans on 1 game centre.  Now I can only see one?  How can I find the other one?
    My daughter set up a game centre on her ipad.  My son, on his ipad used the same game centre log in.  He then set up his own game of clash of clans.  After my son set up his Clash of Clans, my daugher set up her own Clash of Clans using the same game centre log in on her ipad.  Both were using the Clash of Clans successfully on their own ipads using the same game centre log in. 
    One day my son signed into someone elses Clash of Clans, since then he is unable to go back to his Clash of Clans and can only see his sisters.
    Please let me know if this can be resolved.
    We wish to delete my daughters Clash of Clans - as she does not use it at all.  We would like to regain access to my sons. 
    My son can visit his Clash of Clans - his clan name is 'The Big Boys'  He has a shield that is blue with a yellow lightning from top right to bottom left.  His name is Fat Poo (I know ridiculous).
    If you can help us or advise us what to do we would make my son very happy
    thanks

    Thanks for taking a stab at it: that didn't prove to be the problem. That option in the settings for tabbed browsing was not checked.
    I may be a bit behind the times: I am used to tabbed browsing showing all the tabs it possibly can, instead of just the last one. Sometimes it won't even show the last tab: I can have 15 tabs open, and not see a single tab. I've been confused by this into closing a window with lots of tabs open, because it looks like a single page-window.
    My main problem with the tab-bar flashing to the end of the row is that it means a great deal more mouse-clicking around to browse.
    I haven't tried installing the latest beta. Maybe that would fix the problem.
    Toddo

Maybe you are looking for