Title 3D render qualities vary

I am experiencing inconsistent render qualities in text titles within the same FCP 4.5 sequence. All my titles are created using Boris Title 3D, which is bundled with FCP. Some rendered titles are crisp and sharp, while others randomly are soft and blurry, (not aliased, as others have complained).
This is showing up not only on an NTSC video monitor, but also on the final encoded DVD on a video monitor.
All the titles are rendered with RT set to Safe and Video Playback Quality set to High. FCP 4.5 does not have sequence render settings of Fastest vs. Best, so I can not experiment with that.
None of the titles are sized in the sequence. They are all the original size as created in Text 3D. No filters are added to the titles.
The sequence is DV-NTSC, which I have heard already degrades the quality of text renders, but does not explain the variations. I have also tried a posted suggestion of copy/pasting the entire contents of the sequence to an uncompressed 8-bit sequence and re-rendering. The variations in quality remain.
I read in another thread that "Export Using Compressor" will give better results after encoding as this "uses an uncompressed image buffer for encoding any rendered material, which should give better results than the DV renders." If this is the case, I would like some confirmation on this before spending the 18 hours it takes to encode this lengthy show to MPEG-2.
Has anyone else experienced this random alternation between some title renders being sharp and others being soft in the same sequence?
Help is appreciated.

When you place the titles and size them Never do so from the Motion tab. Rather use the controls of the title in the Controls tab. Also view externally on a video monitor when you're doing this, because DV and titles really don't get along very well, but you'll find that just raising or lowering a single line will cause the softness to become MUCH sharper. Experiment with this, and you'll see what I'm talking about. move them up or down and watch the phenomenon.
Once you place titles from Title 3D, and then go to the motion tab to move them, they become bit mapped graphics, and not vector based, and thus lose quality.
You can resize them in the Controls tab too. don't expand them with the Motion tab for the reasons outlined above. I usually use the "distance" slider to grow or shrink them as I watch this in the Canvas. Use the crosshair "center" button to drag them around the screen once composed in the text entry window.
HTH
Jerry

Similar Messages

  • Premiere-After Effects Dynamic Link render times vary wildly after minimal composition changes

    Here is something strange that happens a lot to me.
    I'll have a sequence in Premiere Pro CC 2014 that is entirely or largely an AE comp that I have dynamically linked.  I'll use a specific case as an example, but it's happened with various projects.
    In this most recent one the visual (but not audio) of my Premiere sequence is one AE dynamically linked comp of about 90 seconds.  It's more or less a fancy slide show- some photos with moves, some text, motion blur, masking, maybe a few filters.  Fairly basic stuff as far as After Effects goes.
    Anyhow, I like to render the sequence in Premiere and then watch it down with music to see if the timing works and make adjustments from there.  That's my usual workflow.  The strange thing is that when I render, the render times can vary tremendously.  With this particular project, one time rendered in about 2 minutes in Premiere.  I watched it down and I noticed a spelling error, which I fixed.  Just changing one word of text in AE.  This, of course, causes the entire linked comp to need to be rendered again in Premiere.  This time when I go to render, it took about 20 minutes and it only got about  70% of the way through.  A huge difference and all I changed was a couple letters, which shouldn't impact how intensive of a render is needed.  What I usually do is cancel the render when it takes that long, then quit Premiere, reopen, and render right away after I open.  When I do this, after the application restart, the sequence will then render in the faster approximately 2 minute duration.  Almost invariably this is true.
    So I end up quitting and restarting Premiere a lot to get the faster render times.  But of course that's annoying.
    What is going on here?
    I know that some might have critiques of the workflow and watching in Premiere and the fact that one letter change forces the entire sequence re-render.  I know I could break it up and there are ways around that.  But I am not interested in such critiques.  My work flow actually is quite efficient when the 2 minute render time happens.  Just not when it takes 10x more than that for the same thing.  Why are there these huge render time swings?
    My guess is that some cache gets filled up, so when the application is just started, and the cache is empty, the render works much better.  But I really do not know.
    Help please.

    There is currently a bug that causes Dynamic Link performance to be poor when the main After Effects application is running. (The underlying issue is that the main After Effects application is sending many more messages during Dynamic Link than it needs to.)
    The easy workaround is to quit the main After Effects application when using Premiere Pro to process a dynamically linked After Effects composition.
    This bug is fixed in an update due to be released in less than two weeks.

  • Title needs render on FCP4.1

    Hi there guys !
    I am sub titling a short film that I've done but I started to develop this rendering problem. I might have the settings wrong and that's why is asking me to render.
    I would understand if I had a lot of efx on the film or three or four layers on top of each other but on my case I only have one and the title which is on V3. As soon as I drop it over the red line comes on and I need to render.
    Now that I am trimming some of the shots it is annoying to render each title in order to preview it.
    I need to render even I change the contrast and brightness of the picture.
    I would understand if I was using a slow machine but I have a dual 2GIG G5 with 1.5 gig ram and plenty disc space.
    Thank you for you're time
    Regards
    LONI

    Any thime you put a title over picture you need to render.
    I've always had to render. If the title is all alone...V1, no video, then it doesn't require rendering, but over picture...always.

  • How to create a FCPX Project Template so you don't have to wait for titles to render each time?

    Hi there
    I'm currently creating 3-4 minute video clips that all look pretty much the same, just with different video and audio really.
    I have a title at the beginning, video and audio throughout (with a couple of cross dissolve transitions) and 2 titles permanently over the video.
    The video changes per video, the audio changes per video, the title at the beginning changes per video, but the two titles over the video do not need to ever change.
    Is it possible to create some kind of Project Template where I just replace the video/audio clip and the rest pretty much stays the same?
    The problem I'm having is that its taking forever to render the two titles over the video each time.
    Is there anyway to get around it having to render the two titles over the video each time as they dont ever change? (Well the length of them does, but not the text itself)
    Thanks

    shippo_uk wrote:
    Is there no way …
    again: each frame has to be re-calculated.
    consider speeding-up render-processes by
    • a new, faster Mac
    • more RAM
    • purchase of Compressor, and use its 'virtual render-farm'-feature aka full-use of all cores of your Mac
    • even more Ram
    • clever 'distribution' of source files and project files onto fast (7200rpm/ fw800) external harddrives instead of one single intHDD for OS&working files
    • a lil' more Ram
    • play wit your kids while Mac's rendering …

  • Why do titles take so long to render?

    I have to continually stop and wait for my title to render every time I make a small change.  This eats up a lot of my time.  So, why do titles take so long to render?

    I am sorry all but I am seriously rethinking my potential switch to FCPX.  I am in the fifth hour of rendering a 1-minute 10 second title.  I really cannot move on because I need to see what is happening.  The entire project hangs and I get the spinning beach ball of death (SBBOD) if I try to do anything else.  This all reminds me of when I had fairly large applications on my 9500 and it would get so far behind in executing commands that I had to stop, walk away, to let the computer catchup.  This should NOT happen on a 8-core (16 virtual) MacPro 4.1 with 20Gs of RAM.This just *****!

  • FCP 10.1 Title render hanging

    I installed 10.1 on Mavricks and when I try to create a title the render engine hangs. All past videos with titles show up as unrendered as well. Anyone else having this problem? Anyone know how to fix this?

    Turns out there was a bad font. It was located in my user folder. USERNAME > Library > Fonts. I deleted them all and reinstalled.

  • Bex Query variants not working

    Hello Experts,
    I have a unique problem with one of my queries, the query variants which are created before Nov 1 are not fetching any vaules instead it gives a message MAKE ENTRY IN ALL THE FIELDS......
    the variants which are created in Nov are working fine.....we have not done any upgrade....
    does anyone faced this kind of problem? what needs to done to get back the variant values in the selection screen.
    Any help is highly appreciated.
    Regards

    Was there a change to an InfoObject that is in the InfoProvider that is also one of the query input options?
    e.g. IO ZHARA used to be defeined as a Char with a length of 4, but was changed after Nov 1 to Char, length of 8.
    If you change an IO like this that is in the variant, that will render the variant unusable.
    There is a program that checks for variants that have been broken like this, and another that you enter the query's technical name and it repairs the variant.
    Try a search on SDN for something like "query variant program".  I'll post the program names after I get back in the office tomorrow.

  • My FCP titles are fuzzy, even after rendering.

    Creating some simple titles in FCP. They are fuzzy and look unrendered. I've tried rendering them every way I can. They don't show as needing rendering.
    How can I get these titles to render and appear normal (i.e. not fuzzy)?
    These are simple text titles, not a crawl or anything like that.

    Try using boris title3d. You need to understand the difference between vector and bitmapped graphics. Boris title3d allows you to work with "vector" text which will create the text for each frame at high resolution as long as you use the control tab to reposition and resize.
    It's much more flexible than the text generator.

  • Titles into Timeline CS3

    Premiere Pro CS3.
    I create rolling titles almost daily. No problems until the last few days. I select the roll option, run it, and save. I then preview it. All the letters are very crisp unil I drop the title into the timeline. Once inserted into the timeline the material is transformed into extremely distorted, fuzzy text.
    If I use text with no rolling, no crawling - that works to a point –until I add on an effect. The effect renders the text into a blur. For months I’ve used this computer with no adversity. Suddenly my work is compromised with respect to creating usable titles.
    I use a HP xw8200 Xeon Dual CPU 3 Ghz ; 3 GB Memory ; Nvidia Quadro FX 1300 ; Xp Pro SP 2.
    Let me know if there is a solution. Thanks

    I'm adding to the comment. I did create 'export to movie' an *.avi film of the current project.
    In the source area for viewing the title is crisp, sharp. I then drop the film into the timeline and the title in render extremely fuzzy.
    I did an export to adobe media encorder thinking that the text would be sharp. It wasn't it. But the avi is fine until the material is dropped
    into the timeline....

  • Changing seq. aspect ratio: crashes FCP

    Hi all,
    Despite my best intentions, my project contains sequences with different settings, which is causing problems on export. A quick overview of sequence contents and field dominance settings:
    - SEQUENCE FIELD DOMINANCE: NONE
    - PSD frame-graphic overlay (FD: None)
    - QT titles from Keynote w/ transparency (FD: None)
    - regular footage (FD: lower)
    These field dom settings are the only ones that allow the titles to render crisply.
    Rendering out using Compressor, DVD-90 settings. Some sequences render perfectly, but in others, the titles are jagged & blurry when rendered out. The only difference I can find, is in the sequence aspect ratios.
    The sequences that render properly, are set at 720x480 NTSC DV (3:2).
    The ones that render jagged/blurry titles, are 720x486 CCIR 601 NTSC (40:27). (These display crisply in FCP Canvas, but render improperly.)
    When I change a sequence's aspect ratio to NTSC DV 3:2, I get "Operation Not Allowed," then "Out of memory," then the canvas turns red with the words "Display unavailable. Close and reopen window to restore." Sometimes, I get the beachball and then FCP crashes.
    Closing and reopening doesn't help; I still have the red window. Only changing back to CCIR 601 brings the sequence back online.
    I have tried creating a new sequence and copy/pasting, but I get "Out of memory" etc.
    Can anyone advise??
    Thanks very much,
    Brett

    By default Compressor assumes you're providing a 720x480 media file for compression to DVD. This is because DVD players can display only a 720x480 image.
    If you send a 720x486 media file through the default Compressor settings, it will squeeze the image vertically to fit 720x480. It typically does not do this well.
    If you suspect this is the problem, duplicate the DVD-90 setting, use the Inspector window and click on the Geometry button, select a Custom crop and crop 2 lines from the top and 4 lines from the bottom (always crop in even numbers for DVD playback). Rename and save the setting.

  • Ichat 5.0.3 compatibility with 4.0.9

    Hi,
    This has likely been answered by other posts but could not find an adequate answer to my inquiry;
    The problem I have is I am running OS X 10.6.6 (Snow Leopard) with iChat 5.0.3 and my video conferencing with others that have software versions of OS X 10.5.8 (Leopard) with iChat 4.0.9 does not work. Text chatting works fine but audio and/or video chatting does not work; upon initiating the A/V chats it appears to be working but once accepted, initiating from either side yields same result, the session returns an error message prompting to send/decline report to Apple.
    I was hoping there is a simple fix, such as an update for ichat only, and not an entire OS update......
    Thanks folks!

    Hi,
    Welcome to the    Discussions
    I have two computers. One that Runs 10.6.6 as of today and one that runs 10.5.8
    I have a Buddy I video chat to fairly regularly who had a G5 and updated to an Intel during the life of 10.6
    Using an AIM name to an AIM Name, Jabber to Jabber or even Bonjour Chats seems to show me no differences in the Chats I used to get at Snow Leopards release.
    The iChat 4.0.9 on the 10.5.8 G4/1Ghz Dual Processor has always been of slightly lower Quality than the Pic coming form the MacBook pro running ichat 5.0.3 and Snow Leopard.
    I have noticed a drop in iChat 4.0.9 to my friend's new Intel.
    I get breaks in the Audio feed and some occasional pic issues.
    What does improve things is if Both ends set the Bandwidth in iChat (iChat Menu > Preferences > Video/Audio Section > Bandwidth Limit drop down) to 500kbps
    Historically iChat 2, 3 and 4 needs to have System Preferences > Quicktime > Streaming tab set to the 1.5Mbps
    In the first two version the Automatic Quicktime setting was read a 0kbps
    The highest setting of "LAN/Intranet" is also not read correctly in iChat 2 and 3
    In iChat 4 the Automatic setting is read s 384kbps
    Therefore setting the 1.5Mbps figure allows iChat to "See" as much of any Internet Connection speed as is feasible.
    It also meant that literally globally must people were inside a relatively narrow window on Internet Speeds that iChats Buffering (Smooths out fluctuations) could cope with.
    iChat 5 is not "Capped" by any Quicktime Streaming setting (It does not exist)
    You could be on a really fast service of several 10s of Mbps and bee much faster than your Buddy.
    For Video Pics and Audio this can be a problems if the Buffering cannot keep up. (Voice and Picture breakup)
    At the Connection point, prior to that your faster internet and faster Processor may interpret the slower response from the other end as being no response at all.
    I find this particularly true if my G$ is doing it's Time Machine Backup as it seems to tie up my Processor/Screen so I cannot Click the Accept button Fast enough (I also run Little Snitch which adds s few "Accept" clicks on the way)
    So...
    The iChat 4 Buddy needs to set the System Preferences > Quicktime > Streaming speed to Get he most out of their Connection.
    Then it pays that both ends Cap the Bandwidth in iChat to the same Speed.
    We suggest the 500kbps as this is fast enough to Host 4 Way Video Chats.
    This also gets around some ISPs management of Peer-to-Peer File Sharing when they low down a Network.
    It also gets around large fluctuations in your Internet speed.
    5% of a potential 1.5Mbps is nowhere near 5% of a 25Mbps service (realistically some variations can exceed the Upload speed at either end let alone the iChat 4 Buddy)
    Method.
    Set the settings to 500kbps before a Chat.
    Go to the Video Menu and open the Connection Doctor (Set to Stats if it is not already)
    Start the Chat.
    Audio Only chats do show some dynamic qualities, varying on who is talking.
    About 50kbps is normal at the talking end and about 25kbps for the non speaker.
    Video Chats will show mostly stable speeds based on the Bandwidth Limit you have selected. 350kbps would be about "normal" for a 500kbps cap.
    Once the Bit Rate looks fairly Stable then increase the setting at one end.
    Th iChat Buffering will smooth this change out over time and you will see the Bit rate increase (Providing your Upload speed is faster to accommodate this).
    Once "Stable" again then increase the setting at the other end.
    Repeat to until you find the highest successful speed setting. (Some experimentation may be needed to work out a settings that works for as many as possible).
    NOTES:-
    The Bandwidth Setting can be changed during a "Live Chat"
    If a ichat 4 Buddy has to Change the Quicktime Streaming setting iChat will need a Restart at that end to "See" the new Speed.
    9:19 PM Friday; January 7, 2011
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"

  • FM for Documantation of a ABAP

    Hi,
    is there any FM or CL to show the Documentation of an Report?
    thanks.
    regards, Dieter

    With BP_JOBVARIANT_OVERVIEW, you can offer your users a simplified display and management function for their "express-method" jobs.
    The function module does the following:
    displays the job title, report name and variant, start time specification, status, and scheduling user of each selected "express" job
    allows users to change the start specification and restart period of jobs that have not yet been run
    allows a user to display the job log and spool output of completed jobs
    allows users to delete jobs that are not currently executing.
    Example
    You could use the following code to let users check on jobs that they have scheduled with the sample code shown in Easy Job Scheduling Using BP_JOBVARIANT_SCHEDULE:
    call function 'BP_JOBVARIANT_SCHEDULE' " Schedule jobs;
    " counterpart to
    exporting " BP_JOBVARIANT_OVERVIEW
    title_name = 'Documentation Check' " Displayed as title of
    " of scheduling screens
    job_name = 'DocuCheck' " Name of background
    " processing job
    prog_name = 'RSTWGZS2' " Name of ABAP
    " report that is to be
    " run -- used also to
    " select variants
    exceptions
    no_such_report = 01. " PROG_NAME program
    " not found.
    call function 'BP_JOBVARIANT_OVERVIEW'
    exporting
    title_name = 'Documentation Check' " Displayed as title
    " of overview screen
    job_name = 'DokuCheck' " Jobs with this name
    " are listed
    prog_name = 'RSTWGZS2'
    exceptions
    no_such_job = 01.
    The user is presented with  a documentatio n screen
    as  is given in site http://help.sap.com/erp2005_ehp_03/helpdata/EN/fa/096cd8543b11d1898e0000e8322d00/frameset.htm
    From this screen, your users can do the following, subject to background processing authorizations:
    delete or change the start time of jobs that have not yet started
    display the job logs and spool output generated by jobs that have been completed.

  • Traffic Signals in ALV Without using oops only for normal Grid Display.

    Hi Experts ,
    I need to add traffic signals into my normal ALV Grid program without using oops concepts.
    Please any one send me full code or provide me one program code without using oops concept for normal ALV Grid .
    I searched in many forums but i found most of the programs wriiten using oops concept with ALV's but here my requirement without using oops concept and only normal reuse_alv_grid_display.
    Thanks in Advance.
    Venky.

    You can check the below sample code.Traffic light is implemented in it.
    REPORT ztest NO STANDARD PAGE HEADING
                    LINE-SIZE 255 MESSAGE-ID zlqm.
    TYPE-POOLS : slis,icon.
    TABLES :qals,qave.
    INCLUDE : zlqmr002_top,              "Global Data Declaration
              zlqmr002_selection_screen, "Selection Screen Inputs
              zlqmr002_subroutine.       "Subroutines
    INITIALIZATION
    INITIALIZATION.
      PERFORM variant_init.
    AT SELECTION-SCREEN
    AT SELECTION-SCREEN.
    Check for Variant existance
      PERFORM pai_of_selection_screen.
    *Validation for Material
    AT SELECTION-SCREEN ON s_matnr.
      IF NOT s_matnr IS INITIAL.
        SELECT SINGLE matnr
               INTO g_matnr
               FROM mara
               WHERE matnr IN s_matnr.
        IF sy-subrc <> 0.
          SET CURSOR FIELD 'S_MATNR'.
          MESSAGE e000 WITH text-003.
        ENDIF.
      ENDIF.
    *Validation for Plant
    AT SELECTION-SCREEN ON s_werk.
      IF NOT s_werk IS INITIAL.
        SELECT SINGLE werks
               INTO g_werk
               FROM t001w
               WHERE werks IN s_werk.
        IF sy-subrc <> 0.
          SET CURSOR FIELD 'S_WERK'.
          MESSAGE e000 WITH text-004.
        ENDIF.
      ENDIF.
    *Validation for Inspection Type
    AT SELECTION-SCREEN ON s_art.
      IF NOT s_art IS INITIAL.
        SELECT SINGLE art
               INTO g_art
               FROM tq30
               WHERE art IN s_art.
        IF sy-subrc <> 0.
          SET CURSOR FIELD 'S_ART'.
          MESSAGE e000 WITH text-005.
        ENDIF.
      ENDIF.
    *Validation for Code group
    AT SELECTION-SCREEN ON s_vcdgrp.
      IF NOT s_vcdgrp IS INITIAL.
        SELECT SINGLE codegruppe
               INTO g_vcdgrp
               FROM qpgr
               WHERE codegruppe IN s_vcdgrp.
        IF sy-subrc <> 0.
          SET CURSOR FIELD 'S_VCDGRP'.
          MESSAGE e000 WITH text-006.
        ENDIF.
      ENDIF.
    *Validation for Code
    AT SELECTION-SCREEN ON s_vcode.
      IF NOT s_vcode IS INITIAL.
        SELECT SINGLE code
               INTO g_vcode
               FROM qpcd
               WHERE code IN s_vcode.
        IF sy-subrc <> 0.
          SET CURSOR FIELD 'S_VCODE'.
          MESSAGE e000 WITH text-007.
        ENDIF.
      ENDIF.
    Process on value request
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
      PERFORM f4_for_variant.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vcdgrp-low.
      PERFORM get_codegroup.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vcdgrp-high.
      PERFORM get_codegroup.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vcode-low.
      PERFORM get_code.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vcode-high.
      PERFORM get_code.
    START-OF-SELECTION.
    START-OF-SELECTION.
    **Selecting data form Database tables
      PERFORM select_data TABLES i_out i_out1.
    END-OF-SELECTION
    END-OF-SELECTION.
    **Generate ALV
      PERFORM generate_alv.
    DATA TYPES
    TYPES : BEGIN OF t_qals,
              matnr      TYPE  qals-matnr,          "Material
              werk       TYPE  qals-werk,           "Plant
              mengeneinh TYPE  qals-mengeneinh,     "UOM
              lmenge01   TYPE  qals-lmenge01,       "Unrestricted qty
              lmenge02   TYPE  qals-lmenge02,       "Scrap qty
              lmenge03   TYPE  qals-lmenge03,       "Sample qty
              lmenge04   TYPE  qals-lmenge04,       "Blocked qty
              lmenge05   TYPE  qals-lmenge05,       "Retain qty
              lmenge06   TYPE  qals-lmenge06,       "Othermat qty
              lmenge07   TYPE  qals-lmenge07,       "RTV qty
              lmenge08   TYPE  qals-lmenge08,       "Exp.scrap qty
              prueflos   TYPE  qals-prueflos,       "Inspection lot
              art        TYPE  qals-art,            "Inspection type
              charg      TYPE  qals-charg,          "Batch
              vcode      TYPE  qave-vcode,          "Usage decision
              vdatum     TYPE  qave-vdatum,         "Date
              qmnum      TYPE  qmel-qmnum,          "Notification
            END OF t_qals.
    TYPES : BEGIN OF t_out,
              icon       TYPE  icon-id,             "Status
              matnr      TYPE  qals-matnr,          "Material
              werk       TYPE  qals-werk,           "Plant
              mengeneinh TYPE  qals-mengeneinh,     "UOM
              vcode      TYPE  qave-vcode,          "Usage decision
              mncod(30)  TYPE  c,                   "Disposition
              lmenge01   TYPE  qals-lmenge01,       "Unrestricted qty
              lmenge02   TYPE  qals-lmenge02,       "Scrap qty
              lmenge03   TYPE  qals-lmenge03,       "Sample qty
              lmenge04   TYPE  qals-lmenge04,       "Blocked qty
              lmenge05   TYPE  qals-lmenge05,       "Retain qty
              lmenge06   TYPE  qals-lmenge06,       "Othermat qty
              lmenge07   TYPE  qals-lmenge07,       "RTV qty
              lmenge08   TYPE  qals-lmenge08,       "Exp.scrap qty
              prueflos   TYPE  qals-prueflos,       "Inspection lot
              art        TYPE  qals-art,            "Inspection type
              qmnum      TYPE  qmel-qmnum,          "Notification
              vdatum     TYPE  qave-vdatum,         "Date
              charg      TYPE  qals-charg,          "Batch
            END OF t_out.
    TYPES :  BEGIN OF t_qmsm,
               qmnum    TYPE  qmsm-qmnum,
               manum    TYPE  qmsm-manum,
               mncod    TYPE  qmsm-mncod,
             END OF t_qmsm.
    TYPES:   BEGIN OF t_disp,
               qmnum     TYPE  qmsm-qmnum,
               mncod(30) TYPE  c,
             END OF t_disp.
    TYPES:   BEGIN OF t_codegrp,
               katalogart  TYPE  qpgt-katalogart,
               codegruppe  TYPE  qpgt-codegruppe,
               kurztext    TYPE  qpgt-kurztext,
             END OF t_codegrp.
    TYPES:   BEGIN OF t_code,
               katalogart  TYPE  qpct-katalogart,
               codegruppe  TYPE  qpct-codegruppe,
               code        TYPE  qpct-code,
               version     TYPE  qpct-version,
               kurztext    TYPE  qpct-kurztext,
             END OF t_code.
    INTERNAL TABLES
    DATA: i_qals     TYPE TABLE OF t_qals,
          wa_qals    LIKE LINE  OF i_qals,
          i_qmsm     TYPE TABLE OF t_qmsm,
          wa_qmsm    TYPE t_qmsm,
          i_disp     TYPE TABLE OF t_disp,
          wa_disp    LIKE LINE  OF i_disp,
          i_out      TYPE TABLE OF t_out,
          wa_out     TYPE t_out,
          i_out1     TYPE TABLE OF t_out,
          wa_out1    TYPE t_out,
          i_codegrp  TYPE TABLE OF t_codegrp,
          i_code     TYPE TABLE OF t_code,
          i_qmsm_tmp TYPE TABLE OF t_qmsm.
    DATA: i_fieldcat  TYPE slis_t_fieldcat_alv,
          i_layout    TYPE slis_layout_alv,
          g_repid     TYPE sy-repid,
          wa_fieldcat TYPE slis_fieldcat_alv.
    Global Variables
    DATA : g_matnr    TYPE  matnr,
           g_werk     TYPE  werks,
           g_art      TYPE  qpart,
           g_vcdgrp   TYPE  qvgruppe,
           g_vcode    TYPE  qvcode,
           g_red      TYPE  c,
           g_yellow   TYPE  c,
           g_table(6) TYPE  c,
           g_save(1)  TYPE  c,
           g_exit(1)  TYPE  c,
           g_report   TYPE  sy-repid,
           g_var      TYPE  disvariant,
           g_variant  TYPE  disvariant.
    Constants
    CONSTANTS: c_green  TYPE icon-id VALUE '@08@',
               c_yellow TYPE icon-id VALUE '@09@',
               c_red    TYPE icon-id VALUE '@0A@'.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_matnr   FOR  qals-matnr,    "Material Number
                     s_werk    FOR  qals-werk,     "Plant
                     s_art     FOR  qals-art,      "Inspection Type
                     s_vcdgrp  FOR  qave-vcodegrp, "Usage Decision Code Group
                     s_vcode   FOR  qave-vcode,    "Usage Decision Code
                     s_vdatum  FOR  qave-vdatum.   "Usage Decision Code Date
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_all   RADIOBUTTON GROUP g1 DEFAULT 'X',
                p_excp  RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-009.
    "Variant Selection
    PARAMETERS: p_vari TYPE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK b3.
    *&      Form  select_data
          Select Inspection Details
    FORM select_data TABLES p_out  STRUCTURE wa_out
                            p_out1 STRUCTURE wa_out.
      DATA:l_mncod(30) TYPE c.
      REFRESH : i_qals,i_qmsm,i_qmsm_tmp,i_disp,p_out.
      SELECT qalsmatnr     qalswerk      qals~mengeneinh
             qalslmenge01  qalslmenge02  qals~lmenge03
             qalslmenge04  qalslmenge05  qals~lmenge06
             qalslmenge07  qalslmenge08  qals~prueflos
             qalsart       qalscharg     qave~vcode
             qavevdatum    qmelqmnum
             INTO CORRESPONDING FIELDS OF TABLE i_qals
                  FROM qals
                  INNER JOIN qave
                        ON qalsprueflos = qaveprueflos
                  INNER JOIN qmel
                        ON qalsprueflos = qmelprueflos
                  WHERE qals~matnr    IN s_matnr
                    AND qals~werk     IN s_werk
                    AND qals~art      IN s_art
                    AND qals~stat34   EQ 'X'
                    AND qave~vcodegrp IN s_vcdgrp
                    AND qave~vcode    IN s_vcode
                    AND qave~vdatum   IN s_vdatum.
      IF sy-subrc NE 0.
        MESSAGE i000 WITH text-008.
      ENDIF.
      IF NOT i_qals IS INITIAL.
        SELECT qmnum manum mncod INTO TABLE i_qmsm
                                 FROM qmsm
                                 FOR ALL ENTRIES IN i_qals
                                 WHERE qmnum EQ i_qals-qmnum
                                   AND mngrp LIKE 'Q_D%'
                                   AND kzloesch NE 'X'.
      ENDIF.
    ***Concatenation of Disposition Codes
      IF NOT i_qmsm IS INITIAL.
        i_qmsm_tmp = i_qmsm.
        SORT i_qmsm_tmp BY qmnum mncod.
        DELETE ADJACENT DUPLICATES FROM i_qmsm_tmp COMPARING qmnum mncod+0(2).
        CLEAR wa_qmsm.
        LOOP AT i_qmsm_tmp INTO wa_qmsm.
          MOVE wa_qmsm-qmnum TO wa_disp-qmnum.
          CONCATENATE l_mncod wa_qmsm-mncod+0(2) INTO l_mncod SEPARATED BY space.
          AT END OF qmnum.
            SHIFT l_mncod LEFT DELETING LEADING space.
            MOVE l_mncod TO wa_disp-mncod.
            APPEND wa_disp TO i_disp.
            CLEAR:wa_disp,l_mncod.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ***Transfer of data to the output table
      LOOP AT i_qals INTO wa_qals.
        MOVE-CORRESPONDING wa_qals TO wa_out.
        CLEAR wa_disp.
        READ TABLE i_disp INTO wa_disp
                          WITH KEY qmnum = wa_qals-qmnum.
        IF sy-subrc EQ 0.
          MOVE wa_disp-mncod TO wa_out-mncod.
        ENDIF.
        PERFORM check_quantity USING wa_qals.
        CLEAR wa_qmsm.
        LOOP AT i_qmsm INTO wa_qmsm
                       WHERE qmnum EQ wa_qals-qmnum.
          PERFORM check_group USING wa_qals
                                    wa_qmsm.
          CLEAR wa_qmsm.
        ENDLOOP.
        IF g_red NE 'X'.
          CLEAR wa_qmsm.
          LOOP AT i_qmsm INTO wa_qmsm WHERE qmnum = wa_qals-qmnum
                                        AND mncod0(2) NE wa_qals-vcode0(2).
            g_yellow = 'X'.
          ENDLOOP.
        ENDIF.
        IF g_yellow EQ 'X'.
          MOVE c_yellow TO wa_out-icon.
        ELSEIF g_red EQ 'X'.
          MOVE c_red TO wa_out-icon.
        ELSE.
          MOVE c_green TO wa_out-icon.
        ENDIF.
        APPEND wa_out TO p_out.
        CLEAR:wa_qals,wa_out,g_red,g_yellow.
      ENDLOOP.
    ***IF only exceptions are need to be displayed
      IF p_excp EQ 'X'.
        CLEAR wa_out.
        LOOP AT p_out INTO wa_out WHERE icon EQ c_red.
          APPEND wa_out TO p_out1.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " select_data
    *&      Form  populate_fieldcat
          Populate the Fieldcat Table
    FORM populate_fieldcat USING p_table TYPE c.
    **status
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'ICON'.
      wa_fieldcat-seltext_l   = text-010.
      wa_fieldcat-outputlen   = 15.
      wa_fieldcat-icon        = 'X'.
      APPEND wa_fieldcat TO i_fieldcat.
    **Material
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'MATNR'.
      wa_fieldcat-seltext_l   = text-011.
      wa_fieldcat-outputlen   = 15.
      APPEND wa_fieldcat TO i_fieldcat.
    **Plant
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'WERK'.
      wa_fieldcat-seltext_l   = text-012.
      wa_fieldcat-outputlen   = 7.
      APPEND wa_fieldcat TO i_fieldcat.
    **Usage Decision
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'VCODE'.
      wa_fieldcat-seltext_l   = text-013.
      wa_fieldcat-outputlen   = 15.
      APPEND wa_fieldcat TO i_fieldcat.
    **Dispositions
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'MNCOD'.
      wa_fieldcat-seltext_l   = text-014.
      wa_fieldcat-outputlen   = 18.
      APPEND wa_fieldcat TO i_fieldcat.
    **UOM
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'MENGENEINH'.
      wa_fieldcat-seltext_l   = text-015.
      wa_fieldcat-outputlen   = 18.
      APPEND wa_fieldcat TO i_fieldcat.
    **Unrestricted Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE01'.
      wa_fieldcat-seltext_l   = text-016.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Scrap Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE02'.
      wa_fieldcat-seltext_l   = text-017.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Sample Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE03'.
      wa_fieldcat-seltext_l   = text-018.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Blocked Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE04'.
      wa_fieldcat-seltext_l   = text-019.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Retain Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE05'.
      wa_fieldcat-seltext_l   = text-020.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Other Mat Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE06'.
      wa_fieldcat-seltext_l   = text-021.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **RTV Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE07'.
      wa_fieldcat-seltext_l   = text-022.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Exp. Scrap Quantity
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'LMENGE08'.
      wa_fieldcat-seltext_l   = text-023.
      wa_fieldcat-qfieldname  = 'MENGENEINH'.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Inspection Lot
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'PRUEFLOS'.
      wa_fieldcat-seltext_l   = text-024.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Inspection Type
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'ART'.
      wa_fieldcat-seltext_l   = text-025.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Notification
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'QMNUM'.
      wa_fieldcat-seltext_l   = text-026.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Date
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'VDATUM'.
      wa_fieldcat-seltext_l   = text-027.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    **Batch
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'CHARG'.
      wa_fieldcat-seltext_l   = text-028.
      wa_fieldcat-outputlen   = 20.
      APPEND wa_fieldcat TO i_fieldcat.
    ENDFORM.                    " populate_fieldcat
    *&      Form  check_quantity
          To Check the Quantity
    FORM check_quantity  USING  p_qals TYPE t_qals.
      IF wa_qals-lmenge01 GT 0.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND ( mncod CP 'UI'
                          OR   mncod CP 'SR'
                          OR   mncod CP 'ND' ).
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
      IF wa_qals-lmenge02 GT 0 AND g_red NE 'X'.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND ( mncod CP 'SC'
                          OR   mncod CP 'SR' ).
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
      IF wa_qals-lmenge04 GT 0 AND g_red NE 'X'.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND ( mncod CP 'RW'
                          OR   mncod CP 'RD' ).
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
      IF wa_qals-lmenge05 GT 0 AND g_red NE 'X'.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND mncod CP 'R1'.
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
      IF wa_qals-lmenge06 GT 0 AND g_red NE 'X'.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND mncod CP 'RD'.
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
      IF wa_qals-lmenge07 GT 0 AND g_red NE 'X'.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND mncod CP 'RV'.
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
      IF wa_qals-lmenge08 GT 0 AND g_red NE 'X'.
        LOOP AT i_disp TRANSPORTING NO FIELDS
                       WHERE qmnum EQ wa_qals-qmnum
                         AND ( mncod CP 'SC'
                          OR   mncod CP 'SE' ).
        ENDLOOP.
        IF sy-subrc NE 0.
          g_red = 'X'.
        ENDIF.
      ENDIF.
    ENDFORM.                    " check_quantity
    *&      Form  check_group
          To check the Disposition Code
    FORM check_group  USING  p_qals TYPE t_qals
                             p_qmsm TYPE t_qmsm.
      IF p_qmsm-mncod+0(2) EQ 'UI' AND
         NOT p_qals-lmenge01 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'RW' AND
         NOT p_qals-lmenge04 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'SC' AND
          NOT p_qals-lmenge02 GT 0 AND
          NOT p_qals-lmenge08 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'SE' AND
         NOT p_qals-lmenge08 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'RV' AND
         NOT p_qals-lmenge07 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'SR' AND
          NOT p_qals-lmenge01 GT 0 AND
          NOT p_qals-lmenge02 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'ND' AND
         NOT p_qals-lmenge01 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'R1' AND
         NOT p_qals-lmenge05 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
      IF p_qmsm-mncod+0(2) EQ 'RD' AND
          NOT p_qals-lmenge04 GT 0 AND
          NOT p_qals-lmenge06 GT 0.
        g_red = 'X'.
        EXIT.
      ENDIF.
    ENDFORM.                    " check_group
    *&      Form  call_alv
          Call ALV Grid Display
    FORM call_alv  TABLES   p_out STRUCTURE wa_out.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = g_repid
          i_callback_pf_status_set = 'PF_STATUS_SET'
          i_callback_user_command  = 'USER_COMMAND'
          is_layout                = i_layout
          it_fieldcat              = i_fieldcat[]
        TABLES
          t_outtab                 = p_out
        EXCEPTIONS
          program_error            = 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.
    ENDFORM.                    " call_alv
    *&      Form  generate_alv
          Build ALV
    FORM generate_alv .
      IF NOT i_out  IS INITIAL OR
         NOT i_out1 IS INITIAL.
        g_repid = sy-repid.
        IF p_excp EQ 'X'.
          MOVE 'I_OUT1' TO g_table.
        ELSEIF p_all EQ 'X'.
          MOVE 'I_OUT' TO g_table.
        ENDIF.
        PERFORM populate_fieldcat USING g_table.
        i_layout-zebra        = 'X'.
        i_layout-colwidth_optimize = 'X'.
        IF p_excp = 'X'.
          PERFORM call_alv TABLES i_out1.
        ELSEIF p_all = 'X'.
          PERFORM call_alv TABLES i_out.
        ENDIF.
      ENDIF.
    ENDFORM.                    " generate_alv
    *&             Form  PF_STATUS_SET
                 Setting PF Status
    FORM pf_status_set USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'STATUS1' .
    ENDFORM.                    "PF_STATUS_SET
    *&              Form USER_COMMAND
               User Command Processing
    FORM user_command USING r_ucomm     TYPE sy-ucomm
                            rs_selfield TYPE slis_selfield.
      CASE r_ucomm.
        WHEN 'UDG'.
          IF p_all EQ 'X'.
            CLEAR wa_out.
            READ TABLE i_out INTO wa_out INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'QLS' FIELD wa_out-prueflos.
          ELSEIF p_excp EQ 'X'.
            CLEAR wa_out1.
            READ TABLE i_out1 INTO wa_out1 INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'QLS' FIELD wa_out1-prueflos.
          ENDIF.
          CALL TRANSACTION 'QA13' AND SKIP FIRST SCREEN.
        WHEN 'QNF'.
          IF p_all EQ 'X'.
            CLEAR wa_out.
            READ TABLE i_out INTO wa_out INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'IQM' FIELD wa_out-qmnum.
          ELSEIF p_excp EQ 'X'.
            CLEAR wa_out1.
            READ TABLE i_out1 INTO wa_out1 INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'IQM' FIELD wa_out1-qmnum.
          ENDIF.
          CALL TRANSACTION 'QM03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM. "USER_COMMAND
    *&      Form  variant_init
         Initialize variant
    FORM variant_init .
    Set Options: save variants userspecific or general
      g_save = 'A'.
      g_report = sy-repid.
      g_var-report = g_report.
    Get default variant
      g_variant = g_var.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = g_save
        CHANGING
          cs_variant = g_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        p_vari = g_variant-variant.
      ENDIF.
    ENDFORM.                    " variant_init
    *&      Form  f4_for_variant
          F4 help for variant
    FORM f4_for_variant .
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant = g_var
          i_save     = g_save
        IMPORTING
          e_exit     = g_exit
          es_variant = g_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 2.
        MESSAGE ID sy-msgid TYPE 'S'      NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        IF g_exit = space.
          p_vari = g_variant-variant.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f4_for_variant
    *&      Form  pai_of_selection_screen
          Check existence of Variant
    FORM pai_of_selection_screen .
      IF NOT p_vari IS INITIAL.
        MOVE g_var TO g_variant.
        MOVE p_vari TO g_variant-variant.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
          EXPORTING
            i_save     = g_save
          CHANGING
            cs_variant = g_variant.
        g_var = g_variant.
      ELSE.
        PERFORM variant_init.
      ENDIF.
    ENDFORM.                    " pai_of_selection_screen
    *&      Form  get_codegroup
          Get F4 help for Code Group
    FORM get_codegroup .
      DATA: i_return TYPE TABLE OF ddshretval.
      SELECT katalogart codegruppe kurztext FROM qpgt
                                            INTO TABLE i_codegrp
                                            WHERE katalogart EQ '3'
                                              AND sprache EQ sy-langu.
      IF sy-subrc EQ 0.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
           EXPORTING
        DDIC_STRUCTURE         = ' '
             retfield               = 'CODEGRUPPE'
             dynpprog               = sy-repid
             dynpnr                 = sy-dynnr
             dynprofield            = 'S_VCDGRP'
             value_org              = 'S'
           TABLES
             value_tab              = i_codegrp[]
          return_tab             = i_return[]
           EXCEPTIONS
             parameter_error        = 1
             no_values_found        = 2
             OTHERS                 = 3
        IF sy-subrc <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDFORM.                    " get_codegroup
    *&      Form  get_code
          Get F4 help for Code
    FORM get_code .
      DATA: l_field       TYPE rsscr-name VALUE 'S_VCDGRP',
            l_field_kind  TYPE rsscr-kind VALUE 'S',
            li_par_values TYPE TABLE OF rsparams,
            la_par_values TYPE rsparams,
            r_cdgrp       TYPE RANGE OF qpct-codegruppe,
            la_cdgrp      LIKE LINE  OF r_cdgrp.
    **Get the values entered in the selection screen
      PERFORM f4_get_related_values IN PROGRAM rsdbspf4
              TABLES li_par_values
              USING l_field l_field_kind.
      IF NOT li_par_values IS INITIAL.
        CLEAR:la_cdgrp,la_par_values.
        LOOP AT li_par_values INTO la_par_values.
          MOVE-CORRESPONDING la_par_values TO la_cdgrp.
          IF la_cdgrp-option IS INITIAL.
            MOVE 'EQ' TO la_cdgrp-option.
          ENDIF.
          APPEND la_cdgrp TO r_cdgrp.
          CLEAR la_cdgrp.
        ENDLOOP.
      ENDIF.
      SELECT katalogart codegruppe
             code       version
             kurztext FROM qpct
                      INTO TABLE i_code
                      WHERE katalogart EQ '3'
                        AND codegruppe IN r_cdgrp
                        AND sprache EQ sy-langu.
      IF sy-subrc EQ 0.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
           EXPORTING
        DDIC_STRUCTURE         = ' '
             retfield               = 'CODE'
             dynpprog               = sy-repid
             dynpnr                 = sy-dynnr
             dynprofield            = 'S_VCODE'
             value_org              = 'S'
           TABLES
             value_tab              = i_code[]
         return_tab             =
           EXCEPTIONS
             parameter_error        = 1
             no_values_found        = 2
             OTHERS                 = 3
        IF sy-subrc <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDFORM.                    " get_code

  • Does creative cloud run on windows xp

    does creative cloud run on windows xp.
    what limitations are there with xp

    Creative Cloud is a collection of 17 separate Adobe software titles.
    Tech specs vary by application, all listed individually here: http://www.adobe.com/products/creativecloud/tech-specs.html
    The main issues:
    Lightroom 4 (now available in the Creative Cloud) will not run on Windows XP
    http://www.adobe.com/products/photoshop-lightroom/tech-specs.html
    Premiere Pro CS6 and After Effects CS6 will only run on 64 bit operating systems
    Photoshop CS6 Extended: 3D features and some GPU-enabled features are not supported on Windows XP.
    If you're running Windows XP 32 bit, you'll only see 14 software apps available for download since Lightroom, Premiere Pro and After Effects are not supported on that operating system.

  • AIR for iOS View performance

    In using FB4.6 with AIR 3.4 for iOS on Mac OS X 10.7.4 and when I run this on an iPad 2, one of my views is taking 3.2 secs before it's displayed. I've search for references to things to do to improve the performance
    I have a View containing a TabbedViewNavigator with 2 tabs:-
    <s:TabbedViewNavigator width="100%" height="100%">     <s:ViewNavigator label="tabOne" firstView="TabOneView" width="100%" height="100%"/>     <s:ViewNavigator label="tabTwo" firstView="TabTwoView" width="100%" height="100%"/></s:TabbedViewNavigator>
    The the first view is:-
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:s="library://ns.adobe.com/flex/spark"
            actionBarVisible="false"
            title="TabOneView"
            render="trace(DateUtils.currentTime()+'TabOneView.render')"
            preinitialize="trace(DateUtils.currentTime()+'TabOneView.preinitialize')"
            contentCreationComplete="trace(DateUtils.currentTime()+'TabOneView.contentCreationComplet e')"
            creationComplete="trace(DateUtils.currentTime()+'TabOneView.creationComplete')"
            width="100%" height="100%">
            <fx:Script>
                <![CDATA[
                    import DateUtils;
                ]]>
            </fx:Script>
            <s:layout>
                <s:ConstraintLayout>
                    <s:constraintColumns>
                        <s:ConstraintColumn id="leftPadding" width="10"/>
                        <s:ConstraintColumn id="leftColumn" width="100%"/>
                        <s:ConstraintColumn id="gutterColumn" width="20"/>
                        <s:ConstraintColumn id="rightColumn" width="100%"/>
                        <s:ConstraintColumn id="rightPadding" width="10"/>
                    </s:constraintColumns>
                    <s:constraintRows>
                        <s:ConstraintRow id="topPadding" height="10"/>
                        <s:ConstraintRow id="mainRow" height="67.5%"/>
                        <s:ConstraintRow id="operationRow" height="18.75%"/>
                        <s:ConstraintRow id="gutterRow" height="10"/>
                        <s:ConstraintRow id="commentsRow" height="18.75%"/>
                        <s:ConstraintRow id="bottomPadding" height="10"/>
                    </s:constraintRows>
                </s:ConstraintLayout>
            </s:layout>
            <s:Label id="field1" height="44" fontSize="40" fontWeight="bold" textAlign="right"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:0"/>
            <s:Label id="field2" fontSize="20" fontWeight="bold"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:50"/>
            <s:Label id="field3" fontSize="20" fontWeight="bold" textAlign="right"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:50"/>
            <s:Label text="FIELD 1" left="leftColumn:0" top="mainRow:74" mouseEnabled="false" cacheAsBitmap="true" maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" />
            <s:Label text="FIELD 2" right="rightColumn:0" top="mainRow:74" textAlign="right" cacheAsBitmap="true" maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF"/>
            <s:Label id="field4" left="leftColumn:0" top="mainRow:94" fontSize="20" fontWeight="bold"/>
            <s:Label id="field5" right="rightColumn:0" top="mainRow:94" fontSize="20" fontWeight="bold" textAlign="right"/>
            <s:Label text="FIELD 4" left="leftColumn:0" top="mainRow:117" cacheAsBitmap="true"/>
            <s:Label text="FIELD 5" right="rightColumn:0" top="mainRow:117" textAlign="right" cacheAsBitmap="true"/>
            <!-- left side -->
            <s:Label id="field6" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:157"/>
            <s:Label text="FIELD 6" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:180"/>
            <s:Label id="field7" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:204"/>
            <s:Label text="FIELD 7" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF"  cacheAsBitmap="true"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:227"/>
            <s:Label id="field8" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:251"/>
            <s:Label text="FIELD 8" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:274"/>
            <s:Label id="field9" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:298"/>
            <s:Label text="FIELD 9" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:321"/>
            <s:Label id="field10" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:345"/>
            <s:Label text="FIELD 10" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:368"/>
            <s:Label id="field11" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:392"/>
            <s:Label text="FIELD 11" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="leftColumn:0" right="leftColumn:0" top="mainRow:415"/>
            <!-- right side -->
            <s:Label id="field12" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:157"/>
            <s:Label text="FIELD 12" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:180"/>
            <s:Label id="field13" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:204"/>
            <s:Label text="FIELD 13" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:227"/>
            <s:Label id="field14" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:251"/>
            <s:Label text="FIELD 14" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:274"/>
            <s:Label id="field15" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:298"/>
            <s:Label text="FIELD 16" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:321"/>
            <s:Label id="field17" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:345"/>
            <s:Label text="FIELD 17" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:368"/>
            <s:Label id="field18" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:392"/>
            <s:Label text="FIELD 18" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:415"/>
            <s:Label id="field19" fontSize="20" fontWeight="bold" textAlign="right" width="100%"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:439"/>
            <s:Label text="FIELD 19" textAlign="right" width="100%" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"
                     left="rightColumn:0" right="rightColumn:0" top="mainRow:462"/>
            <!-- bottom groups -->
            <s:Label text="FIELD 20" width="100%" left="leftColumn:0" right="rightColumn:0" top="operationRow:0" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"/>
            <s:Label id="field20" fontSize="16"
                     opaqueBackground="0xffffff"
                     paddingLeft="5" paddingRight="5" paddingTop="5" paddingBottom="5"
                     left="leftColumn:0" right="rightColumn:0" top="operationRow:20" bottom="operationRow:0"/>
            <s:Label text="FIELD 21" width="100%" left="leftColumn:0" right="rightColumn:0" top="commentsRow:0" mouseEnabled="false"  maxDisplayedLines="1"
                     fontSize="12" fontWeight="bold" color="0x0D71FF" cacheAsBitmap="true"/>
            <s:Label id="field21" fontSize="16"
                     opaqueBackground="0xffffff"
                     paddingLeft="5" paddingRight="5" paddingTop="5" paddingBottom="5"
                     left="leftColumn:0" right="rightColumn:0" top="commentsRow:20" bottom="commentsRow:0"/>
    </s:View>
    What am I missing in terms of performance?

    Thanks for reporting it here, could you please consider it logging via bugbase.adobe.com and share the bug number here for reference.
    -Pahup

Maybe you are looking for

  • 4 GB iPod Nano connected to A/C source but not charging

    I have resetted my iPod to factory settings and used all other common troubleshooting tips but... My 4GB iPod Nano is connected to an A/C source but does not charge. Oddly enough, the iPod says its charging, but when I disconnect the source, the batt

  • I completed a full system recovery. Still getting a configuration error. (code purple).

    I have a completed a full system recovery using vista.  completely redid the hard drive with recovery disk.  When startup occurs, I get a message saying a configuration error.  contact HP.  (code purple).  Is this a hard drive issue?  Help where to g

  • Add new repeating frame

    Hi, i have to modify a report which has some repeating frames and i need to add a new repeating frame which will include the existing repeating frames, i choose the repeating frame icone in paper layout but it does not include the existing frame, can

  • Problems printing to a Canon iRc2880

    Hi, I wonder if anyone can help with an issue i have here at work with a number of apple laptops (running 10.5.2) not being able to print to a network printer within a 2003 domain. The print in question is a Canon iRC2880i and i've tried everything t

  • Own developements & Customizing starting with Z

    Hi, quick question: it is known that project specific customizing needs to start with Z or with Y in order to avoid being overwritten in the next SAP version. Is there any other letter I may use in order to start my own customizing or developments? T