Internal CSS Sheets for Design Mode

Hello,
i've an problem with using my own CSS Stylesheets.
The WYSIWYG Editor shows not the right things, cause i'am using browser hacks and difficult CSS Statements.
Can I define own Stylesheets only for the WYSIWYG Editor so that the Editor uses this Sheets for rendering?
Such functionality has the Adobe MAcromedia Dreamweaver for example.
Thanks for interest
Martl

I believe you are using the components provided in the creator palette.
These components take care that they get rendered correctly in most of the widely used browsers. So, you musnt really be using "browser hacks" for these components.
If there is something complicated that needs to be done to make these components render correctly, please bring it out so that it can be fixed by appropriate developers.
These components on the palette rely on CSS to give the look and feel that they have. Providing two different sets of style sheets at creation time and after they have been deployed would mean that errors that may be found out during page creation may not happen.
That said, i believe there may be a way in which you could do this. (though i havent tested it.). The themes documentation link that was given earlier talks about creating custom themes. So, for WYSIWYG editing, you could put your own custom theme designed for that particular purpose in there and then for deployment, create a war file for the application, replace the theme present in WEB-INF/lib (i think this is the correct path that creator puts the themes jar file inside) directory with the themes jar file that you intend to use for deployment purposes.

Similar Messages

  • Galleries of sample CSS sheet for RoboHelp?

    Hi all,
    Anybody know of any sites with galleries of sample CSS sheet
    for RoboHelp 7 HTML?
    Tia
    - avi

    Try googling but most of us create our own style sheets using
    the in-built ones or from scratch. They are so specific to a sites'
    needs that I doubt you'd find anything too useful.

  • Searching the correct "style.css" sheet for InfoView

    Hi guys,
    i have to customize the apperience of InfoView for a Customer. I did pretty good by using Firefox and "FireBug" PlugIn so i can see which *.css Files i need to edit.
    I hearbly cant find the "style.css" sheet for the Panel in the "Document List". I mean the Panel with the Buttons "Switch to Folder", "Switch to Categories", "Refresh", "New", and so on.
    I also need to customize the Background color, Font, etc. there.
    Firebug tells me the style.css lies here:
    SERVER:8080/InfoViewAppActions/ure/ure/dhtmllib/custom/skin_ure
    But on the OS side i only have:
    D:\Business Objects\Tomcat55\webapps\InfoViewAppActions\
    And even no "style.css" file under the whole Folder InfoViewAppActions.
    Anyone knows where i cant find this stylesheet ?
    Environment:
    Windows Server 2003 R2 SP2
    BOE XI 3.1 FP 1.4
    Default Tomcat 5.5
    Thanks in advance!
    -Seb.
    Edited by: Sebastian Wiefett on Aug 26, 2009 4:52 PM

    The file omni.jar is a ZIP archive in the Firefox installation folder that stores a lot of the extra (chrome) files that Firefox uses. In previous Firefox versions those files were separate files on disk, but those files were moved to one large ZIP archive that has an optimized file order to load the files in it as quickly as possible during the start up. If you want to inspect files in that archive and your file manager doesn't allow access directly than make a copy of the file and add a .zip file extension.
    You can open that archive file and browse to the /chrome/toolkit/res folder.

  • DW Design Mode not rendering properly

    Can anyone help me with this one ...
    Grab the source from this site
    http://www.s-3corp.com/ and save
    the
    page. Open it in DW design mode. try to select the text and
    edit it
    from within DW design mode?
    If I want to edit the content - I must do it in code view. If
    I attempt
    to select text in design view - then DW selects the entire
    containing
    div - which is really really annoying.
    Any ideas? I assume it is a setting of some kind - except
    this is the
    only site I have that does this. So then I think it is in the
    code
    somehow? The styling? AARRRGHH!! :)
    Thanks,
    Chris
    Chris Luksha
    Echo Web Services
    Making Your Website Resound
    p: 603-831-0099
    f: 603-532-8906
    http://www.echowebservices.com/
    Now supplying Thawte certs
    http://tinyurl.com/2xnxo8
    AND Authorize.net Low rates
    http://tinyurl.com/2cmoq3
    And Did I mention I love building Cartweaver Modules

    It's a pragmatic solution to the problem of fitting 5 pounds
    of content into
    a 3 pound box. If you have content in a region that must
    scroll, and if
    DW's design view were to show you all of the content, it
    would break your
    layout. This is the solution to that issue....
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "Chris Luksha"
    <[email protected]> wrote in message
    news:fm3hga$q8r$[email protected]..
    > Hi Murray - the code is on the page -
    http://www.s-3corp.com/
    >
    > Of course it is using includes so there are 6 included
    files or so -
    > however they are line for line when rendered - so..
    >
    > Anyway - I just now created a new style sheet for design
    time and hid the
    > menu navigation bar above the content -which was the
    content masking the
    > content - or at least part of it :)
    >
    > And that worked once I double clicked in the content
    area.
    >
    > So I think my solution will be to import the "localonly"
    style sheet from
    > the main style sheet and simply put a blank
    "localonly.css" file on the
    > server while my local one hides the menu.
    >
    > At least it is a workaroound for now. So why does the
    overflow effect DW
    > in this way?
    >
    >
    > Chris Luksha
    > Echo Web Services
    > Making Your Website Resound
    > p: 603-831-0099
    > f: 603-532-8906
    >
    http://www.echowebservices.com/
    >
    > Now supplying Thawte certs
    http://tinyurl.com/2xnxo8
    > AND Authorize.net Low rates
    http://tinyurl.com/2cmoq3
    > And Did I mention I love building Cartweaver Modules
    >
    > Murray *ACE* wrote:
    >>> However even though I am there I still can't
    click the beginning of the
    >>> content text.
    >>
    >> This usually means that there is a masking
    positioned element over top of
    >> the part you are trying to edit. Why not show us the
    page / code?
    >>

  • Dropdown Style Design Mode Preview

    RH9
    After creating a Drop Down Hotspot style to incorporate "twisties", the applied style does not show in Design Mode.  It works as expected when previewed and published, but it would be nice to be able to tell that something is there when editing the topic.
    There appears to be 3 ways to tell that the style was applied when viewing in Design Mode.
    Cursor changes when hovered over the text (2 dots)
    Text shows with shading behind it (This is not always the case, and I cant tell what I did to make it show or not)
    Can use View>Show>Tag List
    Although these are "OK", its not a definite visual that can be identified easily.  My preference, if I could have one, is for Design mode to show the Arrow graphic I used in the Style.
    Any guidance with my concern would be greatly appreciated.

    Suggestions can always be entered here: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
    it's the only place where they get noticed officially by Adobe

  • Why is the character style for hyperlinks not displaying correctly in design mode/viewing/output?

    I am using RH9 and generating WebHelp, and I needed to globally bump up the font size of just my hyperlinked text. I went into my Style Sheet > Character tab, changed the font size of the various character settings for hyperlinks, and clicked Apply and then OK. Normally, this would change all of my hyperlink text font sizes immediately across all of my topics. However, this time, it made no changes to any existing hyperlinked text, and it only affected new hyperlinks that I subsequently added. For the existing hyperlinks, I can only manually change the font size of the each hyperlink one at a time, but that's crazy (there's 100's in this help).
    I can successfully change other characters styles and paragraph styles. This issue only affects the hyperlink character styles. It also shows up in all RH modes - Design mode, viewing, and in the final output.
    Is this an indication of a corrupted style sheet or some other combination of events that I have yet to discover?

    Hi,
    You probably have inline styling in your project overwriting the font size of your style sheet. How are you changing the font size of the individual hyperlinks?
    There is a workaround for inline styling: Open your CSS in notepad and add !important after the font-size:
    font-size: 4pt !important;
    Note that this is a workaround, not a solution. As a solutions you can remove all the style attributes from your hyperlinks to force them to take the CSS styling again.
    Greet,
    Willam

  • Flash Builder 4 CSS Design Mode

    Hello,
         I would like to know why CSS Design mode was removed from Flash Builder 4?
         I am a Design/Developer so it was much easier for me to use CSS in Design mode.
         What are my options? Is there any other tools for visual editing CSS for a Flex application?
    Thanks

    Hi Fernando, sorry for the delayed response.  CSS Design Mode is not available for Flex 4 projects, but it is still available in Flex 3 projects.  The reason for this is that designing components in Flex 4 is often a lot different, since it relies highly on the new spark skinning architecture.  There is, however, an Appearance panel available in design view which supplies a set of the main inheriting styles. Setting these styles in the Appearance panel will result in assigning values to a global style selector.
    I hope this helps,
    Rob

  • How can i load a specific CSS style sheet for Safari?

    Okay, So I have some structure issues when viewing my website on Safari compared to Firefox. Is there a way to put a code in the <head> tag to load a specific CSS style sheet for Safari like you can do with IE?
    Thanks.

    I took a screenshot of your page from Firefox (shown below).  I assume you're seeing the same problem in Safari.  If you increase text size one click, the keyboard image drops below the #contact division.
    1) Height is a restiction in all browsers except IE.  Avoid  using height values on containers with text in them.  If needed to show  a background image, use the min-height property.
    2)  Fix your code errors. Some browsers are very sensitive to errors.
    3)  Your #content lacks cohesion. You need 3 columns, each with a width in pixels.  Or simply use a 3-column table.
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists
    http://alt-web.com/
    http://twitter.com/altweb
    http://alt-web.blogspot.com

  • Support for different fonts in design mode

    It's very difficult figuring out where to place components in
    design mode when special fonts are used. Because they take up
    more/less space than the default font (used in design mode), the
    actual sizes of components when the app actually runs is never the
    same as they were in design mode.
    Basically if you're using special fonts, design mode becomes
    half useless. Is there a way around this problem? Can we at least
    change the font that design mode uses somehow?

    Heh, just noticed it DOES work on my highest level mxml file
    (application tag mxml), but not the others. Still experimenting...
    seems to be a bug of some kind, I guess.
    It seems that if you specifically include the style tag:
    <mx:Style source="../../../css/yourCssFile.css"/>
    It works fine, even for mxml nested in sub folders. Of
    course, this is ugly- I had to put a bunch of ../'s just to reach
    the css file I need, AND "refresh" the design view for it to
    work...
    And why this annoying warning message when I specifically
    include the CSS into an mxml I want to use design view on?
    "CSS type selectors are not supported in components."

  • CSS, Design Mode vs Live Mode vs Missing Manual

    Hi,
    I downloaded the trial version of DreamWeaver to see if I'd like to purchase it. To get a feeling for it, I've been using the CSS3 Missing Manual and doing the tutorials. Several times I've put code into DreamWeaver then clicked over to Live/Design Modes to see how it was coming along and what was supposed to happen wasn't visible BUT when I copy and past either the CSS or HTML into Coda, it comes out just as the book says it should. Any suggestions as to why?
    I just tried to add text shaddow using the following which works in Coda but not DreamWeaver -- and it's really frustrating.
    body{background-color:rgb(255,255,255);border: 3px solid rgb(75,75,75); box-shadow:0 0 15px 5px rgba(51,51,255,1);width:760px; margin-top:20px; margin-left:auto; margin-right:auto;padding:15px;}
    Also, when I add CSS into my webpage in DW Live Mode will show it but Design Mode will not. Is that normal? What is the use of Design Mode vs Live Mode?
    Thank you,
    ct

    But the code I listed above doesn't preview (correctly) in either view, but will view correctly in Coda (a cheaper than DreamWeaver webpage builder). I don't understand why. It there a special property to doing  floating that I'm not aware of? Theimage with the blue bloat is from Coda, the other image is from DW. Notice the difference? It's the same code. How can that be? I'm guessing that DW is set up differently but I'm not sure how to change it so that it displays correctly. Any suggestions? 

  • CSS rules show up in design mode, but not in live or in browser.

    So some rules work in the browser some appear when in design mode, but not in live mode or in the browser. 
    In one case there is no competing rules I applied background color and border color to a dynamic table and I see the colors in design view.  In another there is a competing rule, but the one that wins is #content, when the rule I want #content #footer p is (obviously) a compound and at the bottom of the rules.
    Any thoughts?
    Thanks
    Gregg

    AH In preparing my stylesheet to show you, I noticed the rule above those two was missing it's ending curly brace. Problem solved! That's what I get for checking code when I am sleepy!
    Thank you SnakeEyez02
    Gregg

  • Design mode/ Live Mode

    I know there is a simple fix to this but I can't figure it out. I have a website that has a few pages created in Dreamweaver CS6. I few weeks back, the site and the webpages looked good. Then a few days ago, I logged into Dreamweaver and began to update a new page for our current winners, and this is when something went wrong.
    In design mode, my web page looks like its supposed to, background image and all the image attachments including the Logo are where they are suppose to be. However, in Live mode my page is all white, and all the attached images are not viewable. The attachment images have a ? mark  in the center of each box where an image would be placed.
    I now have a webpage that up until a week or so ago worked and now, whenever someone views that page, all they see is a white screen.
    Can someone please assist me in getting this issue resolved.
    Thanks!
    Joann

    Copy & paste this revised code into a new, blank document.  Incidentally, you should keep embedded CSS code to a minimum.  Also group all page specific styles into one set of <style> tags below the external style sheet.   Winner Dates and WinnerDates are not valid.   And they lack .class or #ID designation and no spaces allowed in selector names.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>SPAR Racing Engine 2008 Winners</title>
    <meta name="description" content="SPAR 2008 600 Micro Sprint Feature Winners" />
    <meta name= "keywords" content= "600 micro sprint race engines,SPAR Racing Engines,600 mini sprint race engines racing" />
    <meta name="publisher" content="SPAR Racing Engines LLC"/>
    <meta name="copyright" content="Copyright 2009. SPAR Racing Engines LLC, All Rights reserved."/>
    <meta name="Author" content="SPAR Racing Engines, LLC"/>
    <meta name="language" content="en-US"/>
    <meta name="distribution" content="global"/>
    <meta name="revisit-after" content="3 days"/>
    <meta name="robots" content="all"/>
    <link rel="shortcut icon" href="/Images/Favicon.jpg"/>
    <link rel="icon" type="image/jpg" />
    <link href="../../spar.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    body {
        background-color: #000;
        background-image: url(/Images/spar2.gif);
        background-repeat: repeat-x;
    #container #header #main_body_container #main #victories #winners_names #date p {
        color: #FFF;
        font-size: 16px;
        line-height: 20px;
        font-weight: normal;
        font-family: "Times New Roman", Times, serif;
    #apDiv1 {
        position: absolute;
        left: 522px;
        top: 204px;
        width: 465px;
        height: 106px;
        z-index: 1;
        font-size: 18px;
        color: #000;
        background-color: #000000;
    #apDiv2 {
        position: absolute;
        left: 769px;
        top: 291px;
        width: 241px;
        height: 632px;
        z-index: 2;
        visibility: visible;
    #apDiv3 {
        position: absolute;
        left: 348px;
        top: 335px;
        width: 290px;
        height: 43px;
        z-index: 3;
        color: #F00;
        font-size: 24px;
    #apDiv3 strong { text-decoration: underline; }
    #apDiv4 {
        position: absolute;
        left: 1092px;
        top: 161px;
        width: 74px;
        height: 458px;
        z-index: 4;
        visibility: visible;
    a:link {
        color: #F00;
    a:visited {
        color: #900;
        font-size: 14px;
    /**THESE STYLES HAVE INVALID SELECTOR NAMES. EITHER FIX OR DELETE THEM
    Winner Dates {
        font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
        font-size: 14px;
        font-weight: bold;
        color: #F00;
        text-decoration: underline;
    WinnerDates {
        font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
        font-size: 14px;
        font-weight: bold;
        color: #F00;
        text-decoration: underline;
    </style>
    <script src="/Scripts/swfobject_modified.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    //-->
    </script>
    </head>
    <body onload="MM_preloadImages('/Images/home.gif','/Images/engines_roll.gif','/Images/ourVict.g if','/Images/ContactUs.gif')">
    <div id="apDiv1">
    <p><strong><a href="/winners2009/index.html" target="_parent" class="highlight">2009 WINNERS</a>     <a href="/winners/winners2010/index.html" class="highlight"> 2010 WINNERS</a>     <a href="/winners/winners2011/index.html" class="highlight"> 2011 WINNERS</a></strong></p>
    <p><strong> <a href="/winners/winners2012/index.html" class="highlight">2012 WINNERS</a>     <a href="/winners/Winners2013/index.html" class="highlight"> 2013 WINNERS</a>      <a href="/winners/Winners2014/index.html" class="highlight">20104 WINNERS</a></strong></p>
    <p> </p>
    <p> </p>
    </div>
    <div id="apDiv2"><img src="/Images/Victory.png" width="367" height="702" alt="#"/></div>
    <div id="apDiv3"><strong>2008 Feature Winners</strong></div>
    <div id="container">
    <div id="header">
    <div id="logo"><img src="../../Images/logo.pdf.jpg" alt="r6 engine" width="356" height="154" align="bottom" /></div>
    <div id="flashholder">
    <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="627" height="128">
    <param name="movie" value="../../flash/testimonials_Conv.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
    <param name="expressinstall" value="/Scripts/expressInstall.swf" />
    <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. --> <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="../../flash/testimonials_Conv.swf" width="627" height="128">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <param name="expressinstall" value="/Scripts/expressInstall.swf" />
    <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
    <div>
    <h4>
    Content on this page requires a newer version of Adobe Flash Player.
    </h4>
    <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
    </object>
    </div>
    <div id="home"><a href="/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image15','','/Images/home.gif',1)"><img src="../../Images/home.gif" alt="r6 engine" name="Image15" width="59" height="27" id="Image15" border="0" /></a></div>
    <div id="engines"><a href="../../engines/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image11','','/Images/engines_roll.gif',1)"><img src="../../Images/engines.gif" alt="r6 engine" name="Image11" width="66" height="27" id="Image11" border="0" /></a></div>
    <div id="winners"><a href="/winners/index.html"><img src="../../Images/winners_roll.gif" alt="r6 engine" width="66" height="27" /></a></div>
    <div id="our_vict"><a href="../../our_victories/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image12','','/Images/ourVict.gif',1)"><img src="../../Images/ourVict.gif" alt="r6 engine" name="Image12" width="99" height="27" id="Image12" border="0" /></a></div>
    <div id="contact"><a href="../../contact/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image13','','/Images/ContactUs.gif',1)"><img src="../../Images/ContactUs.gif" alt="r6 engine" name="Image13" width="100" height="27" id="Image13" border="0" /></a></div>
    <div id="nav_end"><img src="../../Images/nav_end.gif" alt="" width="237" height="27" /></div>
    <div id="main_body_container">
    <div id="left_col"><img src="../../Images/left_col.jpg" alt="r6 engine" width="73" height="458" /></div>
    <div id="main">
    <div id="victories">
    <div class="Engine_font_Head" id="winners_names">
    <p> </p>
    <p> </p>
    <p> </p>
    <p class="body_font_Head"> </p>
    <div id="date">
    <p> </p>
    <p><strong>DATE</strong></p>
    <p>OCT<br />
    <br />
    SEPT<br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    AUG<br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    JULY<br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    JUNE<br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    MAY<br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    APRIL<br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    </p>
    <p>MAR<br />
    <br />
    <br />
    <br />
    <br />
    </p>
    <p>FEB<br />
    <br />
    <br />
    JAN</p>
    </div>
    <div id="names">
    <p> </p>
    <p><strong>Name</strong></p>
    <p>Mike Dicely<br />
    <br />
    Duayne Gutshall<br />
    Lex Burrit<br />
    Tyler Walton<br />
    Jesse Fitz<br />
    Bill Thomas<br />
    Tim Buckwalter<br />
    Darryl Ruggles<br />
    Alysha Ruggles<br />
    Lee Nardelli<br />
    Terry Scheaffer<br />
    Lex Burrit<br />
    Alex Bright<br />
    Issac Sneeringer<br />
    <br />
    Mike Rutherford<br />
    Alysha Ruggels<br />
    Tim Barricks<br />
    Mike Rutherford<br />
    Ryan Smith<br />
    Brian Carber<br />
    Tyler DeVault<br />
    Ryan Greth<br />
    Jake Murphy<br />
    Ryan Smith<br />
    Tyler DeVault<br />
    Brian Carber<br />
    <br />
    Nick Cooper<br />
    Lex Burrit<br />
    Ryan Smith<br />
    Ryan Smith<br />
    Brent Marks<br />
    Nick Cooper<br />
    Nick Cooper<br />
    Mike Freed<br />
    Jan Luckenbaugh<br />
    Ryan Smith<br />
    Ryan Greth<br />
    Ryan Smith<br />
    David Reinhardt<br />
    Bill Thomas<br />
    Mike Rutherford<br />
    Issac Sneeringer<br />
    Bill Thomas<br />
    Issac Sneeringer<br />
    Robbie Kendall<br />
    Mike Dicely<br />
    Ben Murphy<br />
    Jake Murphy<br />
    Jake Murphy<br />
    Tim Gladfelter<br />
    <br />
    Brendon Bright<br />
    Ryan Greth<br />
    Thomas Kohler<br />
    Kyle Moody<br />
    Tom Kohler<br />
    Mike Rutherford<br />
    Jeff Hartman<br />
    Ryan Greth<br />
    Mike Dicely<br />
    Mike Rutherford<br />
    Tyler Walton<br />
    Heath Hehnley<br />
    Jeff Hartman<br />
    <br />
    Jake Murphy<br />
    Robbie Kendall<br />
    Ryan Greth<br />
    Tom Kohler<br />
    Alex Bright<br />
    Lex Burrit<br />
    Brent Marks<br />
    Thomas Kohler<br />
    Brent Marks<br />
    Jake Murphy<br />
    Mike Rutherford<br />
    Mike Dicely<br />
    <br />
    Bill Thomas<br />
    Brock Zerfoss<br />
    Brent Marks<br />
    Heath Hehnley<br />
    Thomas Kohler<br />
    Jeff Hartman<br />
    Dwayne Gutshall<br />
    Brock Zerfoss<br />
    Heath Hehnley<br />
    Lex Burrit<br />
    Tim Gladfelter<br />
    <br />
    Robbie Kendall<br />
    Ryan Greth<br />
    Ben Murphy<br />
    Mike Rutherford<br />
    Mike Rutherford<br />
    <br />
    Brent Marks<br />
    Lex Burrit<br />
    <br />
    Lex Burrit<br />
    Lex Burrit</p>
    </div>
    <div id="track">
    <p> </p>
    <p><strong>Track</strong></p>
    <p>Linda<br />
    <br />
    Trailways<br />
    Trailways<br />
    Path Valley<br />
    Path Valley<br />
    Airport<br />
    Path Valley<br />
    Paradise<br />
    Paradise<br />
    Bridgeport<br />
    Lindas<br />
    Lindas<br />
    Lanco<br />
    Trailways<br />
    <br />
    Lindas<br />
    Paradise<br />
    Path Valley<br />
    Lanco<br />
    Greenwood<br />
    Greenwood<br />
    Path Valley<br />
    Trailways<br />
    Path Valley<br />
    Greenwood<br />
    Kutztown<br />
    Kutztown <br />
    <br />
    Paradise<br />
    Lindas<br />
    Greenwood<br />
    Kutztown<br />
    Kutztown<br />
    Paradise<br />
    Paradise<br />
    Lanco<br />
    Trailways<br />
    Greenwood<br />
    Path Valley<br />
    Kutztown<br />
    Greenwood<br />
    Airport<br />
    Lindas<br />
    Trailways<br />
    Airport<br />
    Trailways<br />
    Lanco<br />
    Greenwood<br />
    Susq. Speedway<br />
    Trailways<br />
    Path Valley<br />
    Lincoln<br />
    <br />
    Lindas<br />
    Trailways<br />
    Path Valley<br />
    Trailways<br />
    Kutztown<br />
    Lindas<br />
    Bridgeport<br />
    Path Valley<br />
    Path Valley<br />
    Lindas<br />
    Path Valley<br />
    Greenwood<br />
    Bridgeport<br />
    <br />
    Hesston<br />
    Trailways<br />
    Trailways<br />
    Lanco<br />
    Lanco <br />
    WhipCity<br />
    Lanco<br />
    Greenwood<br />
    Path Valley<br />
    Path Valley<br />
    Lanco<br />
    Lanco<br />
    <br />
    Airport<br />
    Lindas<br />
    Trailways<br />
    Lanco<br />
    Path Valley<br />
    New Egypt<br />
    Trailways<br />
    Greenwood<br />
    Airport<br />
    Greenwood<br />
    Trailways<br />
    <br />
    Trailways<br />
    Path Valley<br />
    Path Valley<br />
    Hammerdown<br />
    Hammerdown<br />
    <br />
    East Bay<br />
    East Bay<br />
    <br />
    Mototown<br />
    Mototown</p>
    </div>
    <div id="class">
    <p> </p>
    <p><strong>Class</strong></p>
    <p>600 national<br />
    <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600 <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600/Wingless<br />
    600<br />
    600<br />
    SideWinder<br />
    600<br />
    600<br />
    600<br />
    600 <br />
    <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600 <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600 SHOWDOWN<br />
    600 SPEEDWEEK<br />
    600 SPEEDWEEK<br />
    600 SPEEDWEEK<br />
    600 SPEEDWEEK<br />
    600 SPEEDWEEK<br />
    <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    SideWinder<br />
    600<br />
    600 <br />
    600<br />
    600<br />
    600<br />
    <br />
    600<br />
    600<br />
    SideWinder<br />
    600 <br />
    600<br />
    600<br />
    600<br />
    600<br />
    SideWinder<br />
    600<br />
    600 <br />
    600<br />
    <br />
    600<br />
    600<br />
    SideWinder<br />
    600<br />
    600 <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    <br />
    600<br />
    600<br />
    600<br />
    600<br />
    600<br />
    <br />
    600<br />
    600<br />
    <br />
    600<br />
    600</p>
    </div>
    </div>
    </div>
    <div class="disclaimer" id="prices_subject_to_change"></div>
    </div>
    <img src="/Images/right_col.png" width="71" height="458" alt="#"/>
    <div class="nav_font" id="blank_footer">&copy; 2009 SPAR Racing Engines, LLC   &bull;   York Pennsylvania   &bull;   (717) 600-7168  </div>
    </div>
    </div>
    </div>
    <script type="text/javascript">
    // <![CDATA[
    swfobject.registerObject("FlashID");
    // ]]>
    </script>
    </body>
    </html>
    Nancy O.

  • Eclipse +flex 3 plugin crashes when trying to see mxml file in design mode

    Hi,
    I have strange problem I've been struggling with for 3 days.
    I have eclipse-jee-europa-fall2-win32(eclipse europa 3.3.1.1)
    + adobe flex 3 eclipse plugin.
    My workspace consists of several projects + one library.
    There is not problem when trying to edit any mxml file when
    my library is not imported yet. Once I import it to my workspace I
    cannot see any mxml file in design mode since it crashes with the
    following msg in log:
    Did anyone have similar problem and maybe knows the
    solutiuon? I've reinstalled/redownoaded eclipse, flex plugin, flash
    players and so on. What's more it happens only on my machine - same
    project on different one works without crushing.
    !ENTRY org.eclipse.osgi 2 0 2008-02-22 09:13:18.046
    !MESSAGE While loading class
    "org.eclipse.mylyn.tasks.ui.TasksUiPlugin", thread
    "Thread[main,6,main]" timed out waiting (5000ms) for thread
    "Thread[Worker-0,5,main]" to finish starting bundle
    "update@plugins/org.eclipse.mylyn.tasks.ui_2.1.0.v20070927-0900.jar
    [313]". To avoid deadlock, thread "Thread[main,6,main]" is
    proceeding but "org.eclipse.mylyn.tasks.ui.TasksUiPlugin" may not
    be fully initialized.
    !STACK 0
    org.osgi.framework.BundleException: State change in progress
    for bundle
    "update@plugins/org.eclipse.mylyn.tasks.ui_2.1.0.v20070927-0900.jar"
    by thread "Worker-0".
    at
    org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.j ava:1141)
    at
    org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:258)
    at
    org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLa zyStarter.java:111)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java :417)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoade r.java:189)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:34 0)
    at
    org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackag e.java:37)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java :405)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.jav a:83)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at
    org.eclipse.mylyn.context.ui.ContextUiPlugin$5.run(ContextUiPlugin.java:258)
    at
    org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at
    org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    at
    org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
    at
    org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
    at
    org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    at
    org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
    at
    org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    at
    org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    at
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
    at
    org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    at
    org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at
    org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
    at
    org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLau ncher.java:106)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.jav a:76)
    at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
    Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
    Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at
    org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
    Caused by:
    org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
    ... 40 more
    Root exception:
    org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
    at
    org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.j ava:1141)
    at
    org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:258)
    at
    org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLa zyStarter.java:111)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java :417)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoade r.java:189)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:34 0)
    at
    org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackag e.java:37)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java :405)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
    at
    org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.jav a:83)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at
    org.eclipse.mylyn.context.ui.ContextUiPlugin$5.run(ContextUiPlugin.java:258)
    at
    org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at
    org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    at
    org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
    at
    org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
    at
    org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    at
    org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
    at
    org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    at
    org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    at
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
    at
    org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    at
    org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at
    org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
    at
    org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLau ncher.java:106)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.jav a:76)
    at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
    Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
    Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at
    org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
    !ENTRY org.eclipse.help 4 0 2008-02-22 09:18:14.375
    !MESSAGE Required attribute "label" missing from "topic"
    element in "/com.adobe.flexbuilder.help/tocAPI.xml" (skipping
    element)
    !ENTRY org.eclipse.help 4 0 2008-02-22 09:18:14.375
    !MESSAGE Required attribute "label" missing from "topic"
    element in "/com.adobe.flexbuilder.help/tocAPI.xml" (skipping
    element)
    !ENTRY org.eclipse.help 4 0 2008-02-22 09:18:14.375
    !MESSAGE Required attribute "label" missing from "topic"
    element in "/com.adobe.flexbuilder.help/tocAPI.xml" (skipping
    element)
    !ENTRY org.eclipse.help 4 0 2008-02-22 09:18:14.375
    !MESSAGE Required attribute "label" missing from "topic"
    element in "/com.adobe.flexbuilder.help/tocAPI.xml" (skipping
    element)

    I've found solution by myself so I'll present it here. Maybe
    someone will need it.
    The problem of such behaviour was that Flex plugin always (at
    least on my pc) wants to ustart eclipse using its own JRE from here
    C:\Program Files\Adobe\Flex Builder 3 Plug-in\jre (default dir).
    This environment is Java 5. When you go to
    eclipse>window>preferences>Java>Installed JREs and you
    delete default Flex JRE, add new to point to for example C:\Program
    Files\Java\jre1.6.0_04 eclipse still uses JRE from C:\Program
    Files\Adobe\Flex Builder 3 Plug-in\jre. Do not know why
    Flex/eclipse does that but if you simply overwrite C:\Program
    Files\Adobe\Flex Builder 3 Plug-in\jre files with newer JRE from
    C:\Program Files\Java\jre1.6.0_04 all works perfectly.
    Hope it helps somebody ;-)
    thanks Artur

  • Data transfer from sap r/3 into excel sheet for mi01

    hi gurus,
       as i  am a xi consultant i got requirement to write a program for data transfer from sap r/3 into excel sheet for MI01.can any body help me by giving sample code or example for this requirement.please help me.

    Hi Rohit,
    This is an upload program and it has used both function modules to upload from an excel to R3 and to download from R3 onto excel.
    GUI_UPLOAD
    GUI_DOWNLOAD
    are the function modules used.
    Hope this helps,
    *Output:        Downloads error records onto presentation server,
    *               Displays report with number of success and error records
    REPORT ZMCG047CONTR NO STANDARD PAGE HEADING
                                   LINE-SIZE 255
                                   MESSAGE-ID ZM.
    *&       Table declarations
    TABLES : T001W,     "Plants/Branches
             T024E,     "Purchasing Organizations
             T001.      "Company Codes
    *              TYPE-POOLS  DECLARATION
    TYPE-POOLS : SLIS.
    *                       Types  Declaration                            *
    TYPES: BEGIN OF T_RECORD,    "record storing contract info
            LIFNR(010),      "Vendor Number
            EVART(004),      "Agreement Type
            EKORG(004),      "Purchasing Organization
            EKGRP(003),      "Purchasing Group
            WERKS(004),      "Plant
            LGORT(004),      "Storage Location
            KDATB(010),      "Valid start Date
            KDATE(010),      "Valid End Date
            ZTERM(004),      "Payment Terms
            KTWRT(020),      "Target Value
            EPSTP(001),      "Item Category
            EMATN(018),      "Material Number
            KTMNG(017),      "Target Quantity
            NETPR(014),      "Net Price
            PEINH(006),      "Net Price Unit
            BPRME(003),      "Net Price Order Price Unit
            IDNLF(035),      "Vendor Material number
            WEBRE(001),      "GR Based-IV
            MEPRF(001),      "Pricing Date Category
            LTEX1(040),      "Info Text
            DATAB(010),      "Valid From
            DATBI(010),      "Valid To
            KSCHL(004),      "Condition Type
            KBETR(016),      "Condition Rate if scale is not given
            KONWA(005),      "Currency
            KPEIN(005),      "Condition Pricing Unit
            KMEIN(003),      "Condition Unit of Measure
            KSTBM(019),      "Scale
            KBETR_01(016),   "Scale Rate
            DEL_FLAG,        "Delete Flag Indicator
            ERR_MSG(100),    "Error Message
          END OF T_RECORD,
          BEGIN OF T_ERR_RECORD,   "to have error records stored
             LIFNR(010),      "Vendor Number
             EVART(004),      "Agreement Type
             EKORG(004),      "Purchasing Organization
             EKGRP(003),      "Purchasing Group
             WERKS(004),      "Plant
             LGORT(004),      "Storage Location
             KDATB(010),      "Valid start Date
             KDATE(010),      "Valid End Date
             ZTERM(004),      "Payment Terms
             KTWRT(020),      "Target Value
             EPSTP(001),      "Item Category
             EMATN(018),      "Material Number
             KTMNG(017),      "Target Quantity
             NETPR(014),      "Net Price
             PEINH(006),      "Net Price Unit
             BPRME(003),      "Net Price Order Price Unit
             IDNLF(035),      "Vendor Material number
             WEBRE(001),      "GR Based-IV
             MEPRF(001),      "Pricing Date Category
             LTEX1(040),      "Info Text
             DATAB(010),      "Valid From
             DATBI(010),      "Valid To
             KSCHL(004),      "Condition Type
             KBETR(016),      "Condition Rate if scale is not given
             KONWA(005),      "Currency
             KPEIN(005),      "Condition Pricing Unit
             KMEIN(003),      "Condition Unit of Measure
             KSTBM(019),      "Scale
             KBETR_01(016),   "Scale Rate
             DEL_FLAG,        "Delete Flag Indicator
             ERR_MSG(100),    "Error Message
          END OF T_ERR_RECORD,
          BEGIN OF T_LOEKZ,    "To have deletion indicators for materials
              LOEKZ(001),    "Deletion indicator in purchasing document
              EMATN(018),    "Material Number
              WERKS(004),    "Plant
              LGORT(004),    "Storage Location
              BSTYP(001),    "Purchasing document category
          END OF T_LOEKZ,
          BEGIN OF T_MATNR,  " Type definition to store details of materials
               MATNR(018),    "Material Number
          END OF T_MATNR,
          BEGIN OF T_T001,   " Type definition for company codes
              BUKRS(004),    " Company Code
          END OF T_T001,
          BEGIN OF T_ZMVXREF,   "Cross-Reference table type
              D_ALTKN(10),      "Legacy Vendor Number
              D_BUKRS(4),       "Legacy Company Code
              M_ALTKN(10),      "SAP Company Code
          END OF T_ZMVXREF,
          BEGIN OF T_LFA1,    "Master data of vendors
              LIFNR(10),      "Vendor Number
          END OF T_LFA1,
    *  Type Declaration for T024E (Company Codes)
           BEGIN OF T_T024E,
             EKORG   LIKE   T024E-EKORG,     "Purchasing organization
             BUKRS   LIKE   T024E-BUKRS,     "Company Code
           END OF T_T024E,
    *  Type Declaration for t001w (Plant)
           BEGIN OF T_T001W,
             WERKS  LIKE  T001W-WERKS,            "Plant
           END OF T_T001W,
    *  Type Declatation for String Line
           BEGIN OF T_STR1,                                     "#EC NEEDED
             SLINE(6000) TYPE C,
           END OF T_STR1.
    TYPES:  BEGIN OF T_BDCDATA.  "BDC Data
            INCLUDE STRUCTURE BDCDATA.
    TYPES:  END OF T_BDCDATA.
    *       Internal Tables  Declaration                                  *
    DATA:
    *      Internal table to store input file data
           I_RECORD TYPE STANDARD TABLE OF T_RECORD INITIAL SIZE 0,
    *      Internal table to capture errors
           I_ERR_REC TYPE STANDARD TABLE OF T_ERR_RECORD INITIAL SIZE 0,
    *      Internal table to check for deletion indicators
           I_LOEKZ TYPE STANDARD TABLE OF T_LOEKZ INITIAL SIZE 0,
    *      Internal table to check for material numbers
           I_MATNR TYPE STANDARD TABLE OF T_MATNR INITIAL SIZE 0,
    *      Internal table used for storing Cross-Reference data of Vendor
           I_ZMVXREF TYPE STANDARD TABLE OF T_ZMVXREF INITIAL SIZE 0,
    *      Internal table for holding Vendor Numbers from Master table
           I_LFA1 TYPE STANDARD TABLE OF T_LFA1 INITIAL SIZE 0,
    *      Internal table for holding Purchase Org and Company Codes
           I_T024E TYPE STANDARD TABLE OF T_T024E INITIAL SIZE 0,
    *      Internal table for holding Plants
           I_T001W TYPE STANDARD TABLE OF T_T001W INITIAL SIZE 0,
    *      Internal table for storing a list of Company Codes
           I_T001 TYPE STANDARD TABLE OF T_T001 INITIAL SIZE 0,
    *      Internal table used for ALV Reporting
           I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    *      Internal table used for holding List Header
           I_LISTHEADER TYPE SLIS_T_LISTHEADER,    "EC NEEDED
    *      Internal table to hold ALV Event
           I_ALV_EVENT TYPE SLIS_T_EVENT,
    *      Internal table to hold Sort Info for ALV Report
           I_SORT TYPE SLIS_T_SORTINFO_ALV,
    *      Internal table for BDC Data
           I_BDCDATA TYPE STANDARD TABLE OF T_BDCDATA INITIAL SIZE 0,
    *      Internal table for messages
           I_MESSTAB TYPE TABLE OF BDCMSGCOLL,
    *      Internal table for String line
           I_STR1 TYPE STANDARD TABLE OF T_STR1 INITIAL SIZE 0.
    *       Work Area Declaration                                         *
    DATA:
    *  Work Area to hold data for the Open Contract
          WA_RECORD TYPE T_RECORD,
    *  Work Area to hold previous record data
          WA_RECORDPREV TYPE T_RECORD,
    *  Work Area to hold errors
          WA_ERR_REC TYPE T_ERR_RECORD,
    *  Work Area to hold the Deletion Indicator of materials
          WA_LOEKZ TYPE T_LOEKZ,
    *  Work Area to hold Material numbers of required materials
          WA_MATNR TYPE T_MATNR,      "EC NEEDED
    *  Work Area to hold errors occured while performing BDC
          WA_MESSTAB TYPE BDCMSGCOLL,
    *  Work Area to hold field catalog for ALV Reports
          WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    *  Work Area to hold list header data for ALV reports
          WA_LISTHEADER TYPE SLIS_LISTHEADER,
    *  Work Area to hold ALV Event
          WA_ALV_EVENT LIKE LINE OF I_ALV_EVENT,  "EC NEEDED
    *  Work Area to hold Layout of ALV Report
          WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    *  Work Area to hold Cross-Reference data of Vendor
          WA_ZMVXREF TYPE T_ZMVXREF,
    *  Work Area to hold Vendor Numbers from Master table
          WA_LFA1 TYPE T_LFA1,    "EC NEEDED
    *  Work Area to hold Purchase Org and Company Codes
          WA_T024E TYPE T_T024E,
    *  Work Area to hold Company Codes
          WA_T001 TYPE T_T001,
    *  Work Area to hold Plants
          WA_T001W TYPE T_T001W,
    *  Work Area to hold Sort Info for ALV Report
          WA_SORT TYPE SLIS_SORTINFO_ALV,
    *  Work Area to hold BDC Data
          WA_BDCDATA TYPE T_BDCDATA,
    *  Work Area for String line
          WA_STR1 TYPE T_STR1.
    *       Variables  Declaration                                        *
    DATA: V_ERRMSG(500),           "To temporarily store the error message
          V_CONV_DATE(10) TYPE C,  "To capture the converted date format
          V_DATE LIKE SY-DATUM,
          V_REPID LIKE SY-REPID,   "holds report id
          V_CROSS_REFERENCE_ERROR TYPE I,  " cross-reference error
          V_INPUTERROR_FLAG VALUE '',      " input error status
          V_FILENAME TYPE STRING,          " File Name
          VEN_FLAG(1),                       " at new status
          MAT_FLAG(1),                      " at new status
          V_IND(2) TYPE N,                 " index of table control
          V_IND2(2) TYPE N,                " index of table control
          V_IND3(2) TYPE N,                " index of table control
          V_EVRTP1(20),
          V_EPSTP1(20),
          V_EMATN1(20),
          V_KTMNG1(20),
          V_NETPR1(20),
          V_PEINH1(20),
          V_BPRME1(20),
          V_TCSELFLAG1(20),
          V_KSCHL2(20),
          V_KBETR2(20),
          V_KONWA2(20),
          V_KPEIN2(20),
          V_KMEIN2(20),
          V_SELKZ2(20),
          V_KBETR3(20),
          V_KSTBM3(20),
          V_LINE TYPE I,
          V_STR TYPE X VALUE '09',
          V_EXIST TYPE C,
          V_EXIST1 TYPE C,
          V_ISDIR TYPE C,
          V_ISDIR1 TYPE C.
    *       Constants  Declaration                                        *
    CONSTANTS: C_TCODE(5) VALUE 'ME31K', "Trx code - Open Contract Creation
               C_TRUE     VALUE 'X',       " Del_Flag indicator
               C_LOEKZ_MARKED VALUE 'X',   "Deletion indicator for material
               C_INPUTERROR_FLAG_YES VALUE 'X',  "Input File Indicator
               C_VEN_ERR1 VALUE 1,    "Error Indicator
               C_16(2)    VALUE '16',
               C_VEN_ERR2 VALUE 2,    "Error Indicator
               C_VEN_ERR3 VALUE 3,    "Error Indicator
               C_VEN_SUCS VALUE 0,    "Success Indicator
               C_SUCCESS  LIKE SY-SUBRC VALUE '0',
               C_STRUE    VALUE 'S',  "Del_flag for SAP Errors
               C_YTRUE    VALUE 'Y',  "Del_flag for Success Records
               C_MSGTYP_E VALUE 'E',  "holds error message type
               C_MSGTYP_S VALUE 'S',  "holds success message type
               C_BSTYP    VALUE 'K',  "Purchasing Document type is Contract
               C_BACKGROUND VALUE 'N', "Background mode
               C_FOREGROUND VALUE 'A', "All Screen mode
               C_ERRORS   VALUE 'E',   "Error screen mode
               C_WK(2)    VALUE 'WK'. "Value Contract
    *        Selection Screen                                             *
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-033.
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS:
    *              Plant
                   S_WERKS FOR T001W-WERKS OBLIGATORY,
    *              Purchase Organization
                   S_EKORG FOR T024E-EKORG OBLIGATORY.
    *              Company Code
    PARAMETER      P_BUKRS LIKE T001-BUKRS OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 3.
    PARAMETER RB_SERVE RADIOBUTTON GROUP RBX DEFAULT 'X' USER-COMMAND U1.
    SELECTION-SCREEN COMMENT 6(19)  TEXT-036.
    SELECTION-SCREEN POSITION 37.
    PARAMETER RB_LOCAL RADIOBUTTON GROUP RBX.
    SELECTION-SCREEN COMMENT 40(13) TEXT-035.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    PARAMETERS:
    *    Parameter holding Input File name
              P_FILE LIKE RLGRAP-FILENAME
                     OBLIGATORY
                     LOWER CASE
                     DEFAULT 'C:\'
                     MODIF ID G1,
              P_FILE1 LIKE RLGRAP-FILENAME
                      OBLIGATORY
                      LOWER CASE
                      DEFAULT '/celestica/interface/corp/in/work/'
                      MODIF ID G2,
    *    Parameter specifying Mode of calling the Transaction.
              P_MODE DEFAULT 'N' OBLIGATORY,
    *    Check box used to test the input file.
              P_TEST AS CHECKBOX DEFAULT 'X',
    *    Parameter holding Filename for holding Input File Errors
              P_IPERR LIKE RLGRAP-FILENAME
                      OBLIGATORY
                      LOWER CASE
                      DEFAULT 'C:\'
                      MODIF ID G1,
              P_IPERR1 LIKE RLGRAP-FILENAME
                     OBLIGATORY
                     LOWER CASE
                     DEFAULT '/celestica/interface/corp/in/work/047_Err.txt'
                     MODIF ID G2.
    SELECTION-SCREEN END OF BLOCK B2.
    *        AT Selection Screen  Events                                  *
    *  Loop the screen to activate relative paths
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF RB_SERVE = C_TRUE AND SCREEN-GROUP1 = 'G1'.
          SCREEN-OUTPUT = 0.
          SCREEN-ACTIVE = 0.
          SCREEN-INPUT = 0.
        ELSEIF RB_LOCAL = C_TRUE AND SCREEN-GROUP1 = 'G2'.
          SCREEN-OUTPUT = 0.
          SCREEN-ACTIVE = 0.
          SCREEN-INPUT = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    AT SELECTION-SCREEN ON BLOCK B2.
    *  Checking Access Authorization for the user
      CALL FUNCTION 'ZU_DATA_ACCESS_AUTH_CHECK'
           EXPORTING
                ACTVT        = C_16
                P_BUKRS      = P_BUKRS
           TABLES
                S_WERKS      = S_WERKS
                S_EKORG      = S_EKORG
           EXCEPTIONS
                BUKRS_FAILED = 1
                VKORG_FAILED = 2
                VTWEG_FAILED = 3
                EKORG_FAILED = 4
                WERKS_FAILED = 5
                LGNUM_FAILED = 6
                OTHERS       = 7.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    AT SELECTION-SCREEN ON P_BUKRS.
      IF NOT P_BUKRS IS INITIAL.
        SELECT SINGLE BUKRS INTO T001
                            FROM T001
                            WHERE BUKRS EQ P_BUKRS.
        IF SY-SUBRC NE 0.
          MESSAGE I000 WITH TEXT-089.
          STOP.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    * Search Help to select Input File path.
      PERFORM GET_FILE_NAME USING P_FILE.
    * Check for the existence of the file.
      IF RB_LOCAL EQ C_TRUE.
        CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
             EXPORTING
                  FNAME          = P_FILE
             IMPORTING
                  EXIST          = V_EXIST
                  ISDIR          = V_ISDIR
             EXCEPTIONS
                  FILEINFO_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.
        IF V_ISDIR IS INITIAL.
          IF V_EXIST IS INITIAL.
            MESSAGE I000 WITH TEXT-018.
            STOP.
          ENDIF.
        ELSEIF V_ISDIR EQ C_TRUE.
          MESSAGE I000 WITH TEXT-068.
          STOP.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_IPERR.
    * Search Help to select Input Error File path.
      PERFORM GET_FILE_NAME USING P_IPERR.
    AT SELECTION-SCREEN.
    * Validate Transaction Mode
      IF  P_MODE <> C_BACKGROUND AND
          P_MODE <> C_FOREGROUND AND
          P_MODE <> C_ERRORS.
        MESSAGE I000 WITH TEXT-034.
        STOP.
      ENDIF.
    START-OF-SELECTION.
    * Get the Input File Data
      V_FILENAME = P_FILE.
      PERFORM UPLOAD_FLATFILE_DATA TABLES I_RECORD
                                   USING V_FILENAME.
    * Sorting the data by all fields
      SORT I_RECORD.
    * Ensuring the padding of the empty spaces before the vendor No
      CLEAR WA_RECORD.
      LOOP AT I_RECORD INTO WA_RECORD.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
                  INPUT  = WA_RECORD-LIFNR
             IMPORTING
                  OUTPUT = WA_RECORD-LIFNR.
        MODIFY I_RECORD FROM WA_RECORD
                        INDEX SY-TABIX
                        TRANSPORTING LIFNR.
        CLEAR WA_RECORD.
      ENDLOOP.
    * Input file validation
      PERFORM VALIDATE_FLATFILE_DATA.
      IF P_TEST = C_TRUE.
        IF I_ERR_REC[] IS INITIAL.
          MESSAGE I000 WITH TEXT-032.
          STOP.
        ELSE.
    *  Display all the error records at the input level.
          PERFORM DISPLAY_INPERR_RECORDS.
    *  Download Error File
          PERFORM DOWNLOAD_ERROR_FILE.
        ENDIF.
      ELSE.
    * Build BDC Data
        PERFORM BUILD_BDC_DATA.
    * Download Error File
        PERFORM DOWNLOAD_ERROR_FILE.
    * Display the status report.
        PERFORM DISPLAY_PROCESSED_RECORDS.
      ENDIF.
    END-OF-SELECTION.
      REFRESH:  I_RECORD,
                I_ERR_REC,
                I_LOEKZ,
                I_MATNR,
                I_ZMVXREF,
                I_LFA1,
                I_T024E,
                I_FIELDCAT,
                I_LISTHEADER,
                I_ALV_EVENT,
                I_SORT,
                I_BDCDATA,
                I_MESSTAB,
                I_STR1.
      FREE: I_RECORD,
            I_ERR_REC,
            I_LOEKZ,
            I_MATNR,
            I_ZMVXREF,
            I_LFA1,
            I_T024E,
            I_FIELDCAT,
            I_LISTHEADER,
            I_ALV_EVENT,
            I_SORT,
            I_BDCDATA,
            I_MESSTAB,
            I_STR1.
    *&      Form  GET_file_name
    *       Fetches the file and path from the presentation system
    *  -->  p1        Path along with the file name
    FORM GET_FILE_NAME USING L_FILE LIKE RLGRAP-FILENAME.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                MASK             = ',*.TXT,*.txt.'
                MODE             = 'O'
                TITLE            = TEXT-011
           IMPORTING
                FILENAME         = L_FILE
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      CASE SY-SUBRC.
        WHEN 1.
          MESSAGE I000 WITH TEXT-084.
          STOP.
        WHEN 2.
          MESSAGE I000 WITH TEXT-085.
          STOP.
        WHEN 3.
          MESSAGE I000 WITH TEXT-086.
          STOP.
        WHEN 4.
          MESSAGE I000 WITH TEXT-087.
          STOP.
      ENDCASE.
    ENDFORM.                    " GET_file_name
    *&      Form  upload_flatfile_data
    *       Uploading data from Flat File
    FORM UPLOAD_FLATFILE_DATA
                          TABLES I_L_RECORD STRUCTURE WA_RECORD
                          USING L_FILENAME TYPE STRING.
      DATA WA_L_RECORD TYPE T_RECORD.
    * Upload the Flat file data
      IF RB_LOCAL EQ C_TRUE. "File is on the Local System
        CALL FUNCTION 'GUI_UPLOAD'
             EXPORTING
                  FILENAME                = L_FILENAME
                  FILETYPE                = 'ASC'
                  HAS_FIELD_SEPARATOR     = 'X'
             TABLES
                  DATA_TAB                = I_L_RECORD
             EXCEPTIONS
                  FILE_OPEN_ERROR         = 1
                  FILE_READ_ERROR         = 2
                  NO_BATCH                = 3
                  GUI_REFUSE_FILETRANSFER = 4
                  INVALID_TYPE            = 5
                  NO_AUTHORITY            = 6
                  UNKNOWN_ERROR           = 7
                  BAD_DATA_FORMAT         = 8
                  HEADER_NOT_ALLOWED      = 9
                  SEPARATOR_NOT_ALLOWED   = 10
                  HEADER_TOO_LONG         = 11
                  UNKNOWN_DP_ERROR        = 12
                  ACCESS_DENIED           = 13
                  DP_OUT_OF_MEMORY        = 14
                  DISK_FULL               = 15
                  DP_TIMEOUT              = 16
                  OTHERS                  = 17.
        CASE SY-SUBRC.
          WHEN 0.
            DESCRIBE TABLE I_L_RECORD LINES V_LINE.
            IF V_LINE EQ 0.
              MESSAGE I000 WITH TEXT-065.
              STOP.
            ENDIF.
          WHEN 1.
            MESSAGE I000 WITH TEXT-068.
            STOP.
          WHEN 2.
            MESSAGE I000 WITH TEXT-069.
            STOP.
          WHEN 3.
            MESSAGE I000 WITH TEXT-070.
            STOP.
          WHEN 4.
            MESSAGE I000 WITH TEXT-071.
            STOP.
          WHEN 5.
            MESSAGE I000 WITH TEXT-072.
            STOP.
          WHEN 6.
            MESSAGE I000 WITH TEXT-073.
            STOP.
          WHEN 7.
            MESSAGE I000 WITH TEXT-074.
            STOP.
          WHEN 8.
            MESSAGE I000 WITH TEXT-075.
            STOP.
          WHEN 9.
            MESSAGE I000 WITH TEXT-076.
            STOP.
          WHEN 10.
            MESSAGE I000 WITH TEXT-077.
            STOP.
          WHEN 11.
            MESSAGE I000 WITH TEXT-078.
            STOP.
          WHEN 12.
            MESSAGE I000 WITH TEXT-079.
            STOP.
          WHEN 13.
            MESSAGE I000 WITH TEXT-080.
            STOP.
          WHEN 14.
            MESSAGE I000 WITH TEXT-081.
            STOP.
          WHEN 15.
            MESSAGE I000 WITH TEXT-082.
            STOP.
          WHEN 16.
            MESSAGE I000 WITH TEXT-083.
            STOP.
        ENDCASE.
        CLEAR V_LINE.
      ELSEIF RB_SERVE EQ C_TRUE. "File is on the Application Server
        P_MODE = C_BACKGROUND.
        OPEN DATASET P_FILE1 FOR INPUT IN TEXT MODE.
        CHECK SY-SUBRC EQ C_SUCCESS.
        CLEAR WA_STR1.
        DO.
          READ DATASET P_FILE1 INTO WA_STR1.
          IF SY-SUBRC <> 0.      " NE SUCCESS.
            EXIT.
          ELSEIF SY-SUBRC EQ C_SUCCESS.
            APPEND WA_STR1 TO I_STR1.
            CLEAR WA_STR1.
          ENDIF.                  " ENDIF on SY-SUBRC 0 Check.
        ENDDO.                    " ENDDO
        DELETE I_STR1 WHERE SLINE EQ ' '.
        DESCRIBE TABLE I_STR1 LINES V_LINE.
        IF V_LINE EQ 0.
          MESSAGE S000 WITH TEXT-065.
          STOP.
        ENDIF.
        LOOP AT I_STR1 INTO WA_STR1.
          CLEAR: WA_L_RECORD.
          SPLIT WA_STR1-SLINE AT V_STR
          INTO WA_L_RECORD-LIFNR
               WA_L_RECORD-EVART
               WA_L_RECORD-EKORG
               WA_L_RECORD-EKGRP
               WA_L_RECORD-WERKS
               WA_L_RECORD-LGORT
               WA_L_RECORD-KDATB
               WA_L_RECORD-KDATE
               WA_L_RECORD-ZTERM
               WA_L_RECORD-KTWRT
               WA_L_RECORD-EPSTP
               WA_L_RECORD-EMATN
               WA_L_RECORD-KTMNG
               WA_L_RECORD-NETPR
               WA_L_RECORD-PEINH
               WA_L_RECORD-BPRME
               WA_L_RECORD-IDNLF
               WA_L_RECORD-WEBRE
               WA_L_RECORD-MEPRF
               WA_L_RECORD-LTEX1
               WA_L_RECORD-DATAB
               WA_L_RECORD-DATBI
               WA_L_RECORD-KSCHL
               WA_L_RECORD-KBETR
               WA_L_RECORD-KONWA
               WA_L_RECORD-KPEIN
               WA_L_RECORD-KMEIN
               WA_L_RECORD-KSTBM
               WA_L_RECORD-KBETR_01
               WA_L_RECORD-DEL_FLAG
               WA_L_RECORD-ERR_MSG.
          APPEND WA_L_RECORD TO I_L_RECORD.
          CLEAR: WA_L_RECORD,
                  WA_STR1.
        ENDLOOP.
        REFRESH I_STR1.
        CLOSE DATASET P_FILE1.
      ENDIF.
    ENDFORM.
    *&      Form  BDC_DYNPRO
    *       Data populated into i_bdcdata table for program
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR WA_BDCDATA.
      WA_BDCDATA-PROGRAM  = PROGRAM.
      WA_BDCDATA-DYNPRO   = DYNPRO.
      WA_BDCDATA-DYNBEGIN = C_TRUE.
      APPEND WA_BDCDATA TO I_BDCDATA.
    ENDFORM.
    *&      Form  BDC_FIELD
    *       Data populated into i_bdcdata table for fields
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR WA_BDCDATA.
      WA_BDCDATA-FNAM = FNAM.
      WA_BDCDATA-FVAL = FVAL.
      APPEND WA_BDCDATA TO I_BDCDATA.
    ENDFORM.
    *&      Form  convert_date
    *       Converting the data from the file format to mm/dd/yyyy format
    *      <--P_wa_record_kdatb  Source Date
    *      <--p_l_conv_date      Target Date
    FORM CONVERT_DATE USING L_DATE
                            L_TAR_DATE.
      CONCATENATE L_DATE+0(2)
                  L_DATE+3(2)
                  L_DATE+6(4)
                  INTO L_TAR_DATE.
    ENDFORM.                    " convert_date
    *&      Form  validate_flatfile_data
    *       Validating the input file
    FORM VALIDATE_FLATFILE_DATA.
      DATA: L_TODAY LIKE SY-DATUM,
            L_STARTDATE_C LIKE SY-DATUM,
            L_ENDDATE_C LIKE SY-DATUM,
            L_ENDDATE_C1 LIKE SY-DATUM,
            L_STARTDATE_C1 LIKE SY-DATUM,
            L_STARTDATE(8),
            L_ENDDATE(8).
    * Fetch indicator for all records on the material, plant & storage
    * location combination.
      IF NOT I_RECORD[] IS INITIAL.
        REFRESH I_LOEKZ.
        SELECT EMATN            " Material Number
               WERKS            " Plant
               LGORT            " Storage Location
               BSTYP            " Purchasing Document Category
               LOEKZ            " Deletion indicator
          INTO TABLE I_LOEKZ
          FROM EKPO
          FOR ALL ENTRIES IN I_RECORD
          WHERE EMATN = I_RECORD-EMATN
            AND WERKS = I_RECORD-WERKS
            AND LGORT = I_RECORD-LGORT
            AND BSTYP = C_BSTYP
            AND LOEKZ = C_LOEKZ_MARKED.
        IF SY-SUBRC EQ 0.
          SORT I_LOEKZ BY EMATN WERKS LGORT BSTYP LOEKZ.
        ENDIF.
    * Fetching Plants for all entries in the selection screen
        REFRESH I_T001W.
        SELECT WERKS  "Plant
            INTO TABLE I_T001W
            FROM T001W
            WHERE WERKS IN S_WERKS.
        IF SY-SUBRC EQ 0.
          SORT I_T001W BY WERKS.
        ENDIF.
    * Fetching materials for the plants listed in flat file
        REFRESH I_MATNR.
        SELECT MATNR          " Material Number
          INTO TABLE I_MATNR
          FROM MARC
          FOR ALL ENTRIES IN I_RECORD
          WHERE WERKS = I_RECORD-WERKS.
        IF SY-SUBRC EQ 0.
          SORT I_MATNR BY MATNR.
        ENDIF.
    * Fetching Company Codes for repective Purchase Organizations
        REFRESH I_T024E.
        SELECT EKORG       "  Purchase Organization
               BUKRS       "  Company Code
            INTO TABLE I_T024E
            FROM T024E
            WHERE EKORG IN S_EKORG.
        IF SY-SUBRC EQ 0.
          SORT I_T024E BY EKORG.
        ENDIF.
    * Fetching SAP Data using Legacy Data.
        REFRESH I_ZMVXREF.
        SELECT D_ALTKN
               D_BUKRS
               M_ALTKN
            INTO TABLE I_ZMVXREF
            FROM ZMVXREF
            FOR ALL ENTRIES IN I_RECORD
            WHERE D_ALTKN = I_RECORD-LIFNR.
        IF SY-SUBRC EQ 0.
          SORT I_ZMVXREF BY D_ALTKN D_BUKRS.
        ENDIF.
    * Fetching Vendors from LFA1
        IF NOT I_ZMVXREF[] IS INITIAL.
          REFRESH I_LFA1.
          SELECT LIFNR
             INTO TABLE I_LFA1
             FROM LFA1
             FOR ALL ENTRIES IN I_ZMVXREF
             WHERE LIFNR = I_ZMVXREF-M_ALTKN.
          IF SY-SUBRC EQ 0.
            SORT I_LFA1 BY LIFNR.
          ENDIF.
        ENDIF.
    * Start Validating the flat file
        CLEAR: WA_RECORD,
               WA_T024E,
               WA_ZMVXREF,
               WA_LFA1,
               WA_LOEKZ,
               WA_MATNR.
        LOOP AT I_RECORD INTO WA_RECORD.
          L_TODAY = SY-DATUM.
          L_STARTDATE = WA_RECORD-KDATB.
          L_ENDDATE = WA_RECORD-KDATE.
          IF WA_RECORD-DEL_FLAG IS INITIAL.
            READ TABLE I_T001W INTO WA_T001W
                               WITH KEY WERKS = WA_RECORD-WERKS
                               BINARY SEARCH.
            IF SY-SUBRC EQ 0.
    *   Cross-Reference check performed for the given Vendors
              READ TABLE I_T024E INTO WA_T024E
                                 WITH KEY EKORG = WA_RECORD-EKORG
                                 BINARY SEARCH.
              IF SY-SUBRC NE 0.
                V_CROSS_REFERENCE_ERROR = C_VEN_ERR3.
              ELSE.
                READ TABLE I_ZMVXREF INTO WA_ZMVXREF
                            WITH KEY D_ALTKN = WA_RECORD-LIFNR
                                     D_BUKRS = P_BUKRS
                            BINARY SEARCH.
                IF SY-SUBRC EQ 0.
                  READ TABLE I_LFA1 INTO WA_LFA1
                             WITH KEY LIFNR = WA_ZMVXREF-M_ALTKN
                             BINARY SEARCH.
                  IF SY-SUBRC EQ 0.
                    V_CROSS_REFERENCE_ERROR = C_VEN_SUCS.
                  ELSE.
                    V_CROSS_REFERENCE_ERROR = C_VEN_ERR2.
                  ENDIF.
                ELSE.
                  V_CROSS_REFERENCE_ERROR = C_VEN_ERR1.
                ENDIF.
              ENDIF.
    * Legacy Vendor could not be mapped
              IF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR1.
            V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inp.file err. occurd
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-007.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE LIFNR = WA_RECORD-LIFNR.
    * Legacy Vendor is mapped but the obtained SAP vendor doesn't exist.
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR2.
    *           Inp.file err. occurd
                V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-008.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE LIFNR = WA_RECORD-LIFNR.
    * Purchase Organization doesn't exist in T024E.
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR3.
    *             Inp.file err. occurd
                V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-014.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE EKORG = WA_RECORD-EKORG.
    * Vendor is mapped and validated successfully
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_SUCS.
    * Checking for the deletion indicator for that record
                CONCATENATE WA_RECORD-KDATB+6(4)
                            WA_RECORD-KDATB+3(2)
                            WA_RECORD-KDATB+0(2)
                            INTO
                            L_STARTDATE.
                MOVE L_STARTDATE TO L_STARTDATE_C.
                CONCATENATE WA_RECORD-KDATB+6(4)
                            WA_RECORD-KDATB+0(2)
                            WA_RECORD-KDATB+3(2)
                            INTO
                            L_STARTDATE_C1.
                CONCATENATE WA_RECORD-KDATE+6(4)
                            WA_RECORD-KDATE+3(2)
                            WA_RECORD-KDATE+0(2)
                            INTO
                            L_ENDDATE.
                MOVE L_ENDDATE TO L_ENDDATE_C.
                CONCATENATE WA_RECORD-KDATE+6(4)
                            WA_RECORD-KDATE+0(2)
                            WA_RECORD-KDATE+3(2)
                            INTO
                            L_ENDDATE_C1.
                READ TABLE I_LOEKZ INTO WA_LOEKZ WITH KEY
                                                 EMATN = WA_RECORD-EMATN
                                                 WERKS = WA_RECORD-WERKS
                                                 LGORT = WA_RECORD-LGORT
                                                 BINARY SEARCH.
                IF SY-SUBRC EQ 0.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-003.
                  WA_RECORD-DEL_FLAG = C_TRUE.    "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                                ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Purchasing Organization for Blank/Null
                ELSEIF WA_RECORD-EKORG IS INITIAL.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-010.
                  WA_RECORD-DEL_FLAG = C_TRUE.
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Plant for Blank/Null
                ELSEIF WA_RECORD-WERKS IS INITIAL.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-039.
                  WA_RECORD-DEL_FLAG = C_TRUE.
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Contract Validity Start Date
                ELSEIF L_STARTDATE_C1 GT L_TODAY.             "#EC PORTABLE
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-004.
                  WA_RECORD-DEL_FLAG = C_TRUE.      "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB.
    * Validating the Contract Validity End Date
                ELSEIF L_ENDDATE_C1 LE L_TODAY.               "#EC PORTABLE
    *             Inpfle err.ocrd
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-005.
                  WA_RECORD-DEL_FLAG = C_TRUE.    "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE.
    * Checking for Material under the Plant for Agreement Type 'WK'
                ELSEIF WA_RECORD-EVART = C_WK.
                  READ TABLE I_MATNR INTO WA_MATNR
                                     WITH KEY MATNR = WA_RECORD-EMATN
                                     BINARY SEARCH.
                  IF SY-SUBRC NE 0.
                 V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
                    WA_RECORD-ERR_MSG = TEXT-006.
                    WA_RECORD-DEL_FLAG = C_TRUE.   "marking the record
                    MODIFY I_RECORD FROM WA_RECORD
                                    TRANSPORTING DEL_FLAG
                                                 ERR_MSG
                                    WHERE LIFNR = WA_RECORD-LIFNR
                                      AND EVART = WA_RECORD-EVART
                                      AND EKORG = WA_RECORD-EKORG
                                      AND EKGRP = WA_RECORD-EKGRP
                                      AND WERKS = WA_RECORD-WERKS
                                      AND LGORT = WA_RECORD-LGORT
                                      AND KDATB = WA_RECORD-KDATB
                                      AND KDATE = WA_RECORD-KDATE
                                      AND ZTERM = WA_RECORD-ZTERM
                                      AND KTWRT = WA_RECORD-KTWRT
                                      AND EPSTP = WA_RECORD-EPSTP
                                      AND EMATN = WA_RECORD-EMATN.
                  ENDIF.
                ENDIF.  " checking of deletion indicator
              ENDIF.   " checking for success of vendor cross reference
            ELSE.
              V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
              WA_RECORD-ERR_MSG = TEXT-041.
              WA_RECORD-DEL_FLAG = C_TRUE.   "marking the record
              MODIFY I_RECORD FROM WA_RECORD
                              TRANSPORTING DEL_FLAG
                                           ERR_MSG
                              WHERE WERKS = WA_RECORD-WERKS.
            ENDIF. " Plant checked to selection screen
          ENDIF.  " the records for which del_flag is initial
          CLEAR: WA_RECORD,
                 WA_T024E,
                 WA_ZMVXREF,
                 WA_LFA1,
                 WA_LOEKZ,
                 WA_MATNR,
                 L_TODAY,
                 L_STARTDATE_C,
                 L_ENDDATE_C,
                 L_STARTDATE,
                 L_ENDDATE.
        ENDLOOP.
        LOOP AT I_RECORD INTO WA_RECORD.
          IF WA_RECORD-DEL_FLAG = C_TRUE.
            APPEND WA_RECORD TO I_ERR_REC.
            CLEAR WA_RECORD.
          ENDIF.
        ENDLOOP.
      ELSE.
        MESSAGE E000 WITH TEXT-013.  " no records in the flat file
        STOP.
      ENDIF.
    ENDFORM.                    " validate_flatfile_data
    *&      Form  DOWNLOAD_ERROR_FILE
    *       Downloads all records along with the records encountering the
    *       input file validation error
    FORM DOWNLOAD_ERROR_FILE.
      DATA L_ISDIR TYPE C.
      IF V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
        V_FILENAME = P_IPERR.
    * Check for the existence of the file.
        IF RB_LOCAL EQ C_TRUE.
          CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
               EXPORTING
                    FNAME          = P_IPERR
               IMPORTING
                    ISDIR          = L_ISDIR
               EXCEPTIONS
                    FILEINFO_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.
          IF L_ISDIR EQ C_TRUE.
            MESSAGE I000 WITH TEXT-088.
            STOP.
          ENDIF.
        ENDIF.
        IF RB_LOCAL EQ C_TRUE.
    * Download the Input Error File.
          CALL FUNCTION 'GUI_DOWNLOAD'
               EXPORTING
                    FILENAME                = V_FILENAME
                    FILETYPE                = 'ASC'
                    WRITE_FIELD_SEPARATOR   = '#'
               TABLES
                    DATA_TAB                = I_ERR_REC
               EXCEPTIONS
                    FILE_WRITE_ERROR        = 1
                    NO_BATCH                = 2
                    GUI_REFUSE_FILETRANSFER = 3
                    INVALID_TYPE            = 4
                    NO_AUTHORITY            = 5
                    UNKNOWN_ERROR           = 6
                    HEADER_NOT_ALLOWED      = 7
                    SEPARATOR_NOT_ALLOWED   = 8
                    FILESIZE_NOT_ALLOWED    = 9
                    HEADER_TOO_LONG         = 10
                    DP_ERROR_CREATE         = 11
                    DP_ERROR_SEND           = 12
                    DP_ERROR_WRITE          = 13
                    UNKNOWN_DP_ERROR        = 14
                    ACCESS_DENIED           = 15
                    DP_OUT_OF_MEMORY        = 16
                    DISK_FULL               = 17
                    DP_TIMEOUT              = 18
                    FILE_NOT_FOUND          = 19
                    DATAPROVIDER_EXCEPTION  = 20
                    CONTROL_FLUSH_ERROR     = 21
                    OTHERS                  = 22.
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
        ELSEIF RB_SERVE EQ C_TRUE.
          OPEN DATASET P_IPERR1 FOR OUTPUT IN TEXT MODE.
          CHECK SY-SUBRC EQ 0.
          CLEAR WA_ERR_REC.
          LOOP AT I_ERR_REC INTO WA_ERR_REC.
            IF WA_ERR_REC-DEL_FLAG = C_TRUE.
              TRANSFER WA_ERR_REC TO P_IPERR1.
            ENDIF.
            CLEAR WA_ERR_REC.
          ENDLOOP.
          CLOSE DATASET P_IPERR1.
        ENDIF.
      ENDIF.
    ENDFORM.                    " DOWNLOAD_ERROR_FILE
    *&      Form  BUILD_BDC_DATA
    * Populates BDC for all the fields neccessary for Open Contract Creation
    FORM BUILD_BDC_DATA.
      DATA: L_MAT_INDEX TYPE I,
            L_CON_INDEX TYPE I,
            L_SCA_INDEX TYPE I.
      CLEAR   WA_BDCDATA.
      REFRESH: I_BDCDATA,
               I_MESSTAB.
    * Processing the bdc
      CLEAR: WA_RECORD,
             WA_RECORDPREV,
             VEN_FLAG,
             MAT_FLAG.
      LOOP AT I_RECORD INTO WA_RECORD.
    *    Checks for the del_flag of the record.
        IF     WA_RECORD-DEL_FLAG EQ C_TRUE
            OR WA_RECORD-DEL_FLAG EQ C_STRUE.
          CLEAR WA_RECORD.
          CONTINUE.
        ELSE.
          IF  WA_RECORDPREV-LIFNR NE WA_RECORD-LIFNR
           OR WA_RECORDPREV-EVART NE WA_RECORD-EVART
           OR WA_RECORDPREV-EKORG NE WA_RECORD-EKORG
           OR WA_RECORDPREV-EKGRP NE WA_RECORD-EKGRP
           OR WA_RECORDPREV-WERKS NE WA_RECORD-WERKS
           OR WA_RECORDPREV-LGORT NE WA_RECORD-LGORT
           OR WA_RECORDPREV-KDATB NE WA_RECORD-KDATB
           OR WA_RECORDPREV-KDATE NE WA_RECORD-KDATE
           OR WA_RECORDPREV-ZTERM NE WA_RECORD-ZTERM
           OR WA_RECORDPREV-KTWRT NE WA_RECORD-KTWRT.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0200'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'RM06E-LGORT'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '/00'.
    *   Cross-Reference check performed for the given Vendors
            CLEAR WA_T024E.
            READ TABLE I_T024E INTO WA_T024E
                               WITH KEY EKORG = WA_RECORD-EKORG
                               BINARY SEARCH.
            IF SY-SUBRC EQ 0.
              CLEAR WA_ZMVXREF.
              READ TABLE I_ZMVXREF INTO WA_ZMVXREF
                          WITH KEY D_ALTKN = WA_RECORD-LIFNR
                                   D_BUKRS = P_BUKRS
                          BINARY SEARCH.
              IF SY-SUBRC EQ 0.
                PERFORM BDC_FIELD   USING 'EKKO-LIFNR'
                                           WA_ZMVXREF-M_ALTKN.
              ENDIF.
              CLEAR WA_ZMVXREF.
            ENDIF.
            CLEAR WA_T024E.
            PERFORM BDC_FIELD       USING 'RM06E-EVART'
                                          WA_RECORD-EVART.
            PERFORM BDC_FIELD       USING 'EKKO-EKORG'
                                          WA_RECORD-EKORG.
            PERFORM BDC_FIELD       USING 'EKKO-EKGRP'
                                          WA_RECORD-EKGRP.
            PERFORM BDC_FIELD       USING 'RM06E-WERKS'
                                          WA_RECORD-WERKS.
            PERFORM BDC_FIELD       USING 'RM06E-LGORT'
                                          WA_RECORD-LGORT.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0201'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKKO-KTWRT'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=AB'.
            PERFORM CONVERT_DATE USING WA_RECORD-KDATB V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-KDATB'
                                          V_CONV_DATE.
            PERFORM CONVERT_DATE USING WA_RECORD-KDATE V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-KDATE'
                                          V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-ZTERM'
                                          WA_RECORD-ZTERM.
            PERFORM BDC_FIELD       USING 'EKKO-KTWRT'
                                            WA_RECORD-KTWRT.
            VEN_FLAG = 1.
            L_MAT_INDEX = 1. "index for table-control of material
          ENDIF.
    *          "first check for itemline
          IF  WA_RECORDPREV-EPSTP NE WA_RECORD-EPSTP
           OR WA_RECORDPREV-EMATN NE WA_RECORD-EMATN
           OR WA_RECORDPREV-KTMNG NE WA_RECORD-KTMNG
           OR WA_RECORDPREV-NETPR NE WA_RECORD-NETPR
           OR WA_RECORDPREV-PEINH NE WA_RECORD-PEINH
           OR WA_RECORDPREV-BPRME NE WA_RECORD-BPRME
           OR WA_RECORDPREV-IDNLF NE WA_RECORD-IDNLF
           OR WA_RECORDPREV-WEBRE NE WA_RECORD-WEBRE
           OR WA_RECORDPREV-MEPRF NE WA_RECORD-MEPRF
           OR WA_RECORDPREV-LTEX1 NE WA_RECORD-LTEX1
           OR VEN_FLAG EQ 1.
            V_IND = L_MAT_INDEX.
            IF V_IND GT 1.
              V_IND = 2.
            ENDIF.
            CONCATENATE 'RM06E-EVRTP(' V_IND ')' INTO V_EVRTP1.
            CONCATENATE 'RM06E-EPSTP(' V_IND ')' INTO V_EPSTP1.
            CONCATENATE 'EKPO-EMATN(' V_IND ')' INTO V_EMATN1.
            CONCATENATE 'EKPO-KTMNG(' V_IND ')' INTO V_KTMNG1.
            CONCATENATE 'EKPO-NETPR(' V_IND ')' INTO V_NETPR1.
            CONCATENATE 'EKPO-PEINH(' V_IND ')' INTO V_PEINH1.
            CONCATENATE 'EKPO-BPRME(' V_IND ')' INTO V_BPRME1.
            CONCATENATE 'RM06E-TCSELFLAG(' V_IND ')' INTO V_TCSELFLAG1.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0220'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=NP'.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0220'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          V_EVRTP1.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=DETA'.
            PERFORM BDC_FIELD       USING V_EPSTP1
                                          WA_RECORD-EPSTP.
            PERFORM BDC_FIELD       USING V_EMATN1
                                          WA_RECORD-EMATN.
            PERFORM BDC_FIELD       USING V_KTMNG1
                                          WA_RECORD-KTMNG.
            PERFORM BDC_FIELD       USING V_NETPR1
                                          WA_RECORD-NETPR.
            PERFORM BDC_FIELD       USING V_PEINH1
                                          WA_RECORD-PEINH.
            PERFORM BDC_FIELD       USING V_BPRME1
                                          WA_RECORD-BPRME.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0211'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKPO-WEBRE'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=DETZ'.
            PERFORM BDC_FIELD       USING 'EKPO-IDNLF'
                                          WA_RECORD-IDNLF.
            TRANSLATE WA_RECORD-EVART TO UPPER CASE.
            IF WA_RECORD-EVART EQ C_WK.
              PERFORM BDC_FIELD       USING 'EKPO-WEBRE' 'X'.
            ENDIF.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0212'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKPO-MEPRF'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=TXP'.
            PERFORM BDC_FIELD       USING 'EKPO-MEPRF'
                                          WA_RECORD-MEPRF.
            IF NOT WA_RECORD-LTEX1 IS INITIAL. "NE space.
              PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0106'.
              PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                            'RM06E-SELKZ(02)'.
              PERFORM BDC_FIELD 

  • Flash Builder Design Mode Bug Workaround (!!!)

    I've been fighting this annoyance since FB4 came out, and while I still don't think that custom/embedded fonts in design view are fixed by this, I've been able to reproduce this "fix" (workaround) to get design view to show fonts/theme correctly under some very specific circumstances on two separate PCs.
    If anyone from Adobe sees this I'd like to know whether this sounds familiar or is possibly logged as a bug already somewhere in JIRA.. if not I could probably do that as long as it won't be a wasted effort.
    The problem:
    You're using a Halo theme but certain CSS settings (specifically and possibly limited to FONTS) don't work properly in design view even though they work fine in Flash.  Essentially this makes design view practically useless since choice of font family, size, and weight can effect component sizing if you aren't hard-coding component sizes (ugh)... ruining your efforts to use design view for UI design if your UI has any level of complexity (or uses absolute positioning at all).
    The specific circumstances seem to be:
    You're using the Halo theme (you have no special 'skinning' requirements and want Halo defaults w/only CSS customizations)
    You've upgraded a Flex 3 project to Flex 4 SDK (not sure if this is needed to reproduce the issue)
    Using a regular non-embedded font (embedded fonts still do crap out, but even this 'workaround' doesn't fix that problem)
    You're using swc library files such as the Swiz lib, Mate, Flexlib, etc. (I think it's ANY swc, not specific to any one)
    This may also only apply when using an "mx only" project (no Spark), since we're using Halo here
    The two part fix (as far as I can tell you need BOTH before design view works correctly):
    In .actionScriptProperties, add the following bolded line after the compiler tag like so:
      </compiler>
      <theme themeIsDefault="false" themeIsSDK="true" themeLocation="${SDK_THEMES_DIR}/frameworks/themes/Halo"/>
      <applications>
      (I think this may only apply to 'upgraded' projects, as the line does seem to be present in newly created FB4 Halo projects.  My guess is that an "upgraded" project should have such a line added, but doesn't get it due to an oversight/bug.)
    The somewhat painful, and definitely odd part.  Remove all your SWC library files from /libs.  Grab the source code for the libraries and drop them into your project's /src folder as if you'd written them yourself.  (This may require some research and knowledge on special requirements to build the libs, such as with Swiz's compiler metadata compiler settings which you need to put into your project's settings.)  After you get things set up right and the project compiles again, doing a refresh of design view should finally give you proper looking Halo controls and fonts so they look identical to the Flash runtime view.
    Why this works, I've no idea.  I suspect it has something to do with that stupid and annoying (and supposedly 'harmless') design mode warning message you get when you include a library like Swiz or Mate in your project.  (Design mode could not load xxxxxxxxxxxxx.swc. It may be incompatible with this SDK, or invalid. (DesignAssetLoader.CompleteTimeout)) - this warning doesn't break your application, people seem to think it's just a harmless warning..but is it breaking design view?
    If anyone has any idea what's going on here, why this 'fixes' the problem (a better work around), or has any other insight I'd love to hear it.  The combo of needing to do two things (in my specific case) to fix the problem really made this a ROYAL PAIN, I still can't believe I found it.

    Hi Fernando, sorry for the delayed response.  CSS Design Mode is not available for Flex 4 projects, but it is still available in Flex 3 projects.  The reason for this is that designing components in Flex 4 is often a lot different, since it relies highly on the new spark skinning architecture.  There is, however, an Appearance panel available in design view which supplies a set of the main inheriting styles. Setting these styles in the Appearance panel will result in assigning values to a global style selector.
    I hope this helps,
    Rob

Maybe you are looking for