How to handle the end makes arriving in OWB

Hello everyone

I have a table of facts related to a dimension with SCD type2. My problem comes when I files in fact arrive late (a few documents that belong to the past are coming now and I have to connect them to records in dimension to this date in the past). I created a card and fill in the ACTIVE_DATE field in effect at the relevant date (INFO_DATE). The query that is generated from this map is like this:

SELECT * s "STG" JOIN "DIM" d

"" "ON s." CRNC_CD "= d." DETAIL_BUSINESS ".

WHERE

(d."DIMENSION_KEY" (= d."DETAIL_PK") AND (d."DETAIL_PK" IS NOT NULL) AND

(

( d." Correspondents' is null) OR

( d." ("" "" ' Correspondents' IS NOT NULL AND s."INFO_DATE" BETWEEN d. "EFFECTIVE_DATE" AND d. ' correspondents ' )

)

Let's say we have an element with 2 revisions in my dimension table:

CORRESPONDENTS

EFFECTIVE_DATE

CRNC_CD

29 SEP-14

JUNE 10, 14

02

NULL VALUE

29 SEP-14

02

Now, if a recording made happen with his return date to the "request" 28-SEP-14, in the foregoing conditions highlighted are correct and the two dimension rows are returned, which isn't what I want. How can I handle this?

What I did as a solution was to modify the generated code and run this as a package, instead of executing the plan:

SELECT * s "STG" JOIN "DIM" d

"" "ON s." CRNC_CD "= d." DETAIL_BUSINESS ".

WHERE

(d."DIMENSION_KEY" (= d."DETAIL_PK") AND (d."DETAIL_PK" IS NOT NULL) AND

(

( d." (' ' ' Correspondents' IS NULL AND s.' INFO_DATE ' > = d. "EFFECTIVE_DATE") OR

( d." (' "'" ' Correspondents' IS NOT NULL AND s."INFO_DATE" BETWEEN d. "EFFECTIVE_DATE" AND d. "CORRESPONDENTS")

)

Tags: Business Intelligence

Similar Questions

  • How to handle the case of zero insert line?

    11.2.0.2, I want to insert into a table and you want to handle the case where the zero line is inserted. I use the following code and hope an exception is caught and let me have the chance to do something
    set serveroutput on
    begin
    insert into his2051 select * from his2051  where today not in ( select distinct today from his2051 );
     EXCEPTION
        WHEN NO_DATA_FOUND THEN
            DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND exception ' );       
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('OTHERS exception ' );       
    end;
    The block runs OK, but not seen release. How to handle the case of insertion of line 0?

    This will do what you want:

    set serveroutput on
    begin
    insert into his2051 select * from his2051  where today not in ( select distinct today from his2051 );
     if SQL%ROWCOUNT = 0 THEN
            DBMS_OUTPUT.PUT_LINE('%rowcount must be  [' || SQL%ROWCOUNT || '].' );
            DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND - but won't cause an exception ' );
     END IF;
     EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('OTHERS exception ' );
    end;
    
  • Portege M400-S4031: how to change the end of the pen?

    I have a Portege M400-S4031.
    How to change the end of the pen?

    Hello

    I put t know if you hear this part but check this page:
    http://www3.shopping.com/xPO-5PK_TABLET_PEN_REPLACEMENT_NIBS_AND_NIB_PULLER

    I studied in this forum and bingo! I found this very same topic:
    http://forums.computers.Toshiba-Europe.com/forums/thread.jspa?threadID=16807&MessageID=61264

    I hope that helps!

  • How to handle the onTriggered many ActionItem created dynamically

    Hi, I created the ActionItem dynamically using (loop)

    because data is from webservice

    How to handle the onTrigerred?

    If my code is like this:

    for (int i = 0; i)< alist.count();="">

    {

    My page page * = iRoot-->findChild ("SpecificObject");
    ActionItem * action = ActionItem::create () .title (aList [i] .name);

    bool res = QObject::connect (action, SIGNAL (triggered ()), this, SLOT (handleAction (())); what I'm confused because I don't know what action is triggered
    Q_ASSERT (res);
    Q_UNUSED (res);

    my page-> addAction (action, ActionBarPlacement:efault);

    }

    MyClass::handleAction() Sub

    {

    aFunction(); This parameter of function required of aList, said user.user aList [i]

    }

    Do I need to create handleAction() as well as added actionItem SLOT

    But I don't know how much action added because it is dynamic server

    Thank you

    There are a few options:

    Create a single location and connect all the signals. You can then call sender() into the slot to retrieve the object that sent the signal and go from there. You can also use a QSignalMap that maps each signal to a value and send this value to a single location. You can also use QSignalMap::sender() to get the sender object.

    I used the QSignalMap to do something similar for handling created dynamically successfully drop-down lists.

  • How to enable the end user determine the type of sort?

    Helllo all,.

    I use APEX 4.2.2. Oracle 11.2.0.3.

    In a classic Rerpot (line custom model), how to allow the end user to determine the type of sorting?

    I use decoding to select the column that the sort is done, but how to determine: Asc / Desc?

    order by decode(:P2_SORT, 'PRICE', v.PRICE, 'PROP_SIZE', v.PROP_SIZE , 'BEDS' , v.BEDS , 'AREA' , v.AREA) 
    

    Kind regards

    One way may be to use a second element which maintain the sort order. Lets call it P2_ASCDESC.

    Your order by condition might look like this:

    order by decode(:P2_ASCDESC,'ASC', decode(:P2_SORT, 'PRICE', v.PRICE, 'PROP_SIZE', v.PROP_SIZE , 'BEDS' , v.BEDS , 'AREA' , v.AREA), null) asc
            ,decode(:P2_ASCDESC,'DESC', decode(:P2_SORT, 'PRICE', v.PRICE, 'PROP_SIZE', v.PROP_SIZE , 'BEDS' , v.BEDS , 'AREA' , v.AREA), null) desc
    

    I don't like this solution, since you réimplémentez one of the nicer features that apex was already out of the box. Better would be to stick to a classic report template and allow the standard user-defined sort order. Why do you think that you need your own non-standard solution?

  • How to catch the end of an external task?

    Hello

    How to catch the end of an external task?
    OS: Windows 2003
    DB: 10.2.0.1

    The code I wrote will run forever:
    declare
       d date;
       n number;
       -- and more
    begin
        d := sysdate;
        dbms_scheduler.create_job(
          job_name => c_job,
          job_type => 'executable',
          number_of_arguments  => 14,
          job_action => c_cmd,
          enabled => false,
          auto_drop => true
        );
        dbms_scheduler.set_job_argument_value(c_job,1,'/c');
        dbms_scheduler.set_job_argument_value(c_job,2,c_command);
        dbms_scheduler.set_job_argument_value(c_job,3,c_pw);
        dbms_scheduler.set_job_argument_value(c_job,4,c_pw_val);
        dbms_scheduler.set_job_argument_value(c_job,5,c_port);
        dbms_scheduler.set_job_argument_value(c_job,6,c_port_val);
        dbms_scheduler.set_job_argument_value(c_job,7,c_key);
        dbms_scheduler.set_job_argument_value(c_job,8,c_key_val);
        dbms_scheduler.set_job_argument_value(c_job,9,c_agent);
        dbms_scheduler.set_job_argument_value(c_job,10,c_batch);
        dbms_scheduler.set_job_argument_value(c_job,11,c_source);
        dbms_scheduler.set_job_argument_value(c_job,12,c_dest);
        dbms_scheduler.set_job_argument_value(c_job,13,c_log);
        dbms_scheduler.set_job_argument_value(c_job,14,c_yes);
        dbms_scheduler.enable(c_job);
     
        -- Job started, waiting...
        loop
          select count(1)
          into n
          from user_scheduler_job_run_details t
          where job_name = c_job and
                t.log_date >= d;
          exit when n > 0;
          dbms_lock.sleep(1);
        end loop;
     
    end;
    The work ends in fact, user_scheduler_job_run_details is updated (if you run the select statement in the loop in another session, it returns 1), but the selection running into the loop will always return 0.
    Any help is appreciated.

    Kind regards
    Lmocsi

    Hello

    It's strange, maybe you can try to use the timestamp type rather type date and with the help of an offset in the case where the work already finished for example d = systimestamp - second interval '1'

    Another thing to watch is if you compare the dates in the same time zone, otherwise you must ensure that all sessions use the same time zone (setting the default_timezone attribute Planner can help).

    Hope this helps,
    Ravi.

  • How to handle the larger size than the movie disc?

    I couldn't see a razor tool, or something like that in yet that I can use to cut the video if it is larger that the DVD could hold.  What could I do if I am OK to remove some content in order to fit into the drive?

    Thank you!

    How to cut the timeline?  This is the part that I don't understand.

    I don't know that you can. And if you can, I'm not saying that it is a bad idea.

    Drag the end to the beginning. This makes it shorter.

    Drag the beginning to the end; then drag the element remaining in the beginning (do not leave any space empty).

  • How to handle the no_data_found exception

    Hi all

    How to treat no_data_found exception in the procedure. I created a procedure with the cursor, the cursor loop and passing the value to the select statement (in the where clause). It works fine if the select statement returns one other wise he throws exception no_data_found, but I want to continue execution after the statement select returns no ecor. Please let me know how to handle this.


    Thank you and best regards,
    Rajasekhar

    Hello
    Assuming it's the syntax of your procedure:

    create or replace procedure XXXXXX as
    .
    .
    
    .
    .
    
    for cur_rec in 
    loop
    .
    .
    .
    
    .
    .
    .
    begin
    
    exception
    when no_data_found then
    
    end;
    .
    .
    
    .
    .
    end loop;
    .
    .
    end procedure;
    
  • How to handle the null value

    Hi all

    Can someone tell me how to handle null.

    I have a radio button, I need to capture the worth and inspiring I have a search criterion.

    If I select the radio button without problem. If I did not choose the option button it gives me the error.

    OAMessageRadioButtonBean var1 = (OAMessageRadioButtonBean) webBean.findChildRecursive ("job");
    If (var1! = null)
    {
    S1 = var1.getValue (pageContext) m:System.NET.SocketAddress.ToString ();
    }

    Please suggest.

    Kind regards

    Sangu

    S1 = (String) var1. GetValue (PageContext);

  • Inactive Contacts - how you handle the?

    We currently have XXX, XXX (there is no way I'm telling you, in fact) of contacts in Eloqua, which is not just whatever be done in a VERY long time. We have recently acquired another company who does not use Eloqua and working on their integration in our system. Now I'm sure that like Eloqua me just buy more space, I work on a project to clean up the deadbeats and leave room for shiny new customers. The program that we run has three points of contact, and if a customer engages in any of the steps they got out the program and will be left in the system. In the last step we let them know that if we do not hear back from them within 10 days, we will assume that they are super busy and we will remove them from our database. Also, we are ignoring those who joined in the last 12 months, because they can always be interested in reading some of our materials and have not gotten yet around him.

    This seems to be an Amir of a program and will surely cause our stats boost then because we send is more people that never open anything.

    How you handle these kinds of people? Do you agree with our approach?

    Absolutely!  It is a perfect process.  In my life earlier as someone who was directly in the marketing of opps, we did this process manually about every 3 months.  Automating this process with a campaign and send to the PB to automatically remove contact looks a perfect nurture automated.

    You can even include the verbiage in the last email, if they "do not" provide this mail they will be removed from the system.

  • How to handle the task of automation without connection SGD-Automation

    Hello

    I have created an Automation task, the task performs the work, but after completing the work, I need to connect SGD-automation user and update the status of the task to move to the next step. How to avoid manual handling in the task of automation? How to do the task to go to the next manual task without connection with CMS-automation.


    Kind regards
    Marg

    In your Xquery use the syntax "context: completeTaskOnExit ($context, $exitStatus).

    Set these two variables ($context, $exitStatus) according to your required exit status.

    Hope this has helped.

    Thank you

  • How to accept the end user license agreement in adobe reader?

    I've just updated the OS on my iMac from OS to OS 10.9.4 10.6.8. Safari has been updated to version 7.0.5. When I try to open a pdf file in Safari, I get a notice that:

    Before display PDF documents in the browser, you must launch Adobe Reader and accept the end user license agreement, and then quit and relaunch the browser.

    I was not able to find a way to accept the end user license agreement. How can I do that.

    Can I open a PDF in Chrome without any problem.

    Thank you

    Don Monroe

    I've solved this by removing Adobe Reader and re - download. Thank you.

    Don

  • How to move the ends of the lines slanted towards the limits of the purge

    Hi all

    I developed a script that deletes the page elements to the purge. To achieve this, that I collect all the elements of the page (with the exception of text blocks) located partially on the editing table, create a temporary mask and 'trim' with subtraction of Pathfinder function. However, this approach does not work with graphic lines so I'm trying to move the ends of the lines to the limits of the substantive area lost. (I guess these are simple straight lines consisting of two end points).

    screengrab.png

    I knew how to deal with orthogonal lines - it's pretty easy:

    if (theItem.constructor.name == "GraphicLine" && theItem.paths.length === 1) {
         path = theItem.paths[0];
         if (path.pathPoints.length === 2) {
              ep = path.entirePath;
              w = ep[1][0]-ep[0][0];
              h = ep[1][1]-ep[0 ][1];
              
              if (w > h) {
                   newEp = [ [ spreadWithBleedBounds[1], ep[0][1] ], [ spreadWithBleedBounds[3], ep[1][1] ] ];
                   path.entirePath = newEp;
              }
              else if (h > w) {
                   newEp = [ [ ep[0][0], spreadWithBleedBounds[0] ], [ ep[1][0], spreadWithBleedBounds[2] ] ];
                   path.entirePath = newEp;
              }
         }
    }
    

    This moves A1 - A2, B1 , B2, C1 , C2, D1 to D2.

    But how to treat skewed lines? How to calculate the coordinates of the point E2 and F2? Y at - it a magic formula? Or can someone point me to the right direction: for example a book to read?

    I assume this has something to do with geometry/trigonometry, but I haven't studied this kind of things at school. (I graduated from an art school - designed to draw naked models instead).

    If someone will answer my question, please do it on basic level since I'm a total noob in the present.

    Here's the script:

    if (Number(String(app.version).split(".")[0]) == 7) ErrorExit("This script can't work with InDesign CS5 so far.", true);
    
    var doc = app.activeDocument;
    var spreadBounds, spreadWithBleedBounds, gPartiallyOutOfSpreadItems;
    var ungroupErrors = 0;
    
    var originalHorUnits =  doc.viewPreferences.horizontalMeasurementUnits;
    var originalVerUnits =  doc.viewPreferences.verticalMeasurementUnits;
    doc.viewPreferences.horizontalMeasurementUnits = doc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.INCHES;
    doc.viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin;
    doc.zeroPoint = [0, 0];
    
    if (doc.layers.itemByName("Temporary Layer") == null ) {
         var tempLayer = doc.layers.add({name:"Temporary Layer"});
    }
    else {
         var tempLayer = doc.layers.itemByName("Temporary Layer");
    }
    
    UngroupAllGroups(doc.groups);
    
    DeleteObjectsOnPasteboard();
    ProcessSpreads(doc.spreads);
    ProcessSpreads(doc.masterSpreads);
    
    tempLayer.remove();
    
    doc.viewPreferences.horizontalMeasurementUnits = originalHorUnits;
    doc.viewPreferences.verticalMeasurementUnits = originalVerUnits;
    
    var msg = (ungroupErrors > 0) ? " Failed to ungroup " + ungroupErrors + " groups since they are too large." : "";
    alert("Done." + msg, "Trim Pages Script");
    
    //================================== FUNCTONS ===========================================
    function ProcessSpreads(spreads) {
         var spread, path, ep, w, h;
         for (var s = 0; s < spreads.length; s++) {
              spread = spreads[s];
              spreadBounds = GetSpreadBound(spread, false);
              spreadWithBleedBounds = GetSpreadBound(spread, true);
              
              gPartiallyOutOfSpreadItems = GetPartiallyOutOfSpreadItems(spread);
              
              var theItem, theMask, newItem;
              for (var i = gPartiallyOutOfSpreadItems.length-1; i >= 0; i--) {
                   theItem = gPartiallyOutOfSpreadItems[i];
                   if (theItem.constructor.name == "GraphicLine" && theItem.paths.length === 1) {
                        path = theItem.paths[0];
                        if (path.pathPoints.length === 2) {
                             ep = path.entirePath;
                             w = ep[1][0]-ep[0][0];
                             h = ep[1][1]-ep[0 ][1];
                             
                             if (w > h) {
                                  newEp = [ [ spreadWithBleedBounds[1], ep[0][1] ], [ spreadWithBleedBounds[3], ep[1][1] ] ];
                                  path.entirePath = newEp;
                             }
                             else if (h > w) {
                                  newEp = [ [ ep[0][0], spreadWithBleedBounds[0] ], [ ep[1][0], spreadWithBleedBounds[2] ] ];
                                  path.entirePath = newEp;
                             }
                        }
                   }
                   else {
                        theMask = CreateMask(spread);
                        try {
                             newItem = theMask.subtractPath(theItem);
                        }
                        catch (err) {
                             $.writeln("2 - " + err);
                             theMask.remove();
                        }
                   }
              }
         }
    }
    //--------------------------------------------------------------------------------------------------------------
    function IsPartiallyOutOfSpread(pageItem) {
         var result = false;
         if (pageItem.constructor.name == "TextFrame" ||
              pageItem.constructor.name == "Group" ||
              pageItem.parent.constructor.name == "Group")
         {
              return result;
         }
    
         var visBounds = pageItem.visibleBounds;
         if (visBounds[0] < spreadBounds[0] && visBounds[2] > spreadBounds[0] ||
              visBounds[1] < spreadBounds[1] && visBounds[3] > spreadBounds[1] ||
              visBounds[2] > spreadBounds[2] && visBounds[0] < spreadBounds[2] ||
              visBounds[3] > spreadBounds[3] && visBounds[1] < spreadBounds[3]  ) {
              result = true;
         }
         return result;
    }
    //--------------------------------------------------------------------------------------------------------------
    function GetSpreadBound(spread, bleed) { // including bleed -boolean
         if (bleed == undefined) bleed = false;
         
         with (doc.documentPreferences) {
              var topBleed = documentBleedTopOffset
              var leftBleed = documentBleedInsideOrLeftOffset;
              var bottomBleed = documentBleedBottomOffset;
              var rightBleed = documentBleedOutsideOrRightOffset;
         }
    
         var bFirst = spread.pages.item(0).bounds; // bounds of the first page
         var bLast = spread.pages.item(-1).bounds; // bounds of the last page
         return [     ((bleed) ? bFirst[0]-topBleed : bFirst[0]), 
                        ((bleed) ? bFirst[1]-leftBleed : bFirst[1]), 
                        ((bleed) ? bLast[2]+bottomBleed : bFirst[2]), 
                        ((bleed) ? bLast[3]+rightBleed : bLast[3])
                        ];
    }
    //--------------------------------------------------------------------------------------------------------------
    function CreateMask(spread) {
         var unitValue = new UnitValue (app.pasteboardPreferences.minimumSpaceAboveAndBelow, "mm");
         var unitValueAsInch = unitValue.as("in");
         var outerRectangleBounds = [spreadWithBleedBounds[0]-unitValueAsInch, 
                                                                spreadWithBleedBounds[1]-8.07, 
                                                                spreadWithBleedBounds[2]+unitValueAsInch, 
                                                                spreadWithBleedBounds[3]+8.07
                                                                ]; 
    
         var outerRectangle = spread.rectangles.add(tempLayer, undefined, undefined, {geometricBounds:outerRectangleBounds});
         var innerRectangle = spread.rectangles.add(tempLayer, undefined, undefined, {geometricBounds:spreadWithBleedBounds, fillColor:doc.swatches.item("Black"), fillTint:30});
         var mask = outerRectangle.excludeOverlapPath(innerRectangle);
         return mask;
    }
    //--------------------------------------------------------------------------------------------------------------
    function GetPartiallyOutOfSpreadItems(spread) {
         var allPageItems = spread.allPageItems;
         var partiallyOutOfSpreadItems = [];
         var currentItem;
         
         for (var i = 0; i < allPageItems.length; i++) {
              currentItem = allPageItems[i];
              if (IsPartiallyOutOfSpread(currentItem)) partiallyOutOfSpreadItems.push(currentItem);
         }
         
         return partiallyOutOfSpreadItems;
    }
    //--------------------------------------------------------------------------------------------------------------
    function DeleteObjectsOnPasteboard() {
         var objs = app.documents[0].pageItems.everyItem().getElements();
         while (obj=objs.pop()) {
              try {
                   if(obj.parent instanceof Spread || obj.parent instanceof MasterSpread){ obj.remove() }
              }
              catch(err) {
                   //$.writeln("2 - " + err);
              }
         }
    }
    //--------------------------------------------------------------------------------------------------------------
    function ErrorExit(myMessage, myIcon) {
         alert(myMessage, "Trim Pages Script", myIcon);
         exit();
    }
    //--------------------------------------------------------------------------------------------------------------
    function UngroupAllGroups(groups) {
         for (var i = groups.length-1; i >= 0; i--) {
              var gr = groups[i];
              if (gr.groups.length > 0) {
                   var subGroups = [];
                   for (var j = gr.groups.length-1; j >= 0; j--) {
                        subGroups.push(gr.groups[j].id);
                   }                    
                   try {
                        gr.ungroup();
                   }
                   catch(err) {
                        //$.writeln("1 - " + err);
                        ungroupErrors++;
                   }
              
                   for (var k = subGroups.length-1; k >= 0; k--) {
                        try {
                             doc.groups.itemByID(subGroups[k]).ungroup();
                        }
                        catch(err) {
                             //$.writeln("2 - " + err);
                             ungroupErrors++;
                        }
                   }
              }
              else {
                   try {
                        gr.ungroup();
                   }
                   catch(err) {
                        //$.writeln("1 - " + err);
                        ungroupErrors++;
                   }
              }
         }     
    }
    //--------------------------------------------------------------------------------------------------------------

    Thanks in advance.

    Kasyan

    Hi Kasyan!

    I was not trying to integrate this into your script, so you may need to adjust a little. The trick is to define a function that detects the point of intersection of two lines - and, of course, you must call it for lines that will not fail to cross the border of the page! (Otherwise, it would simply expand * any * the line upward and on the border.)

    I think it would be wise to predict a small mistake for lines that seem to run "up to" the edge of the page - I tested a line for 'x '.<= 0"="" on="" a="" line="" that="" appeared="" to="" start="" on="" 0;="" the="" control="" panel="" told="" me="" so.="" however,="" i="" didn't="" type="" that="" 0="" in;="" i="" dragged="" the="" line="" to="" the="" edge.="" apparently,="" it="" was="" *not*="" at="" precisely="" "0mm",="" but="" something="" like="" "0.001mm",="" because="" the="" script="" simply="" didn't="" "see"="" the="">

    My function comes from this page: http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/ and I did not test it does of orthogonal lines

    (but of course, you could add this in exceptional cases), and it's my script extending the line, with a small wrapper to configure things.

    The function tests * any * tail against * any * other line, so if we meet the page bounding box, I get the intersection with the purge of the side area where it crosses the bbox page.

    line = app.selection[0];
    // pg size in "regular" [y1,x1, y2,x2] format
    pagebbox = [0,0, app.activeDocument.documentPreferences.pageHeight,app.activeDocument.documentPreferences.pageWidth ];
    bleedDist = 5; //
    bleedbbox = [ pagebbox[0] - bleedDist, pagebbox[1] - bleedDist, pagebbox[2] + bleedDist, pagebbox[3] + bleedDist ];
    pt1 = line.paths[0].pathPoints[0].anchor;
    pt2 = line.paths[0].pathPoints.lastItem().anchor;
    // Start point:
    if (pt1[0] <= pagebbox[1] || pt1[0] >= pagebbox[3] ||
     pt1[1] <= pagebbox[0] || pt1[1] >= pagebbox[2])
    {
     if (pt1[0] <= pagebbox[1])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[1], bleedbbox[2] ] ] );
    
     if (pt1[0] >= pagebbox[3])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[3], bleedbbox[0]], [bleedbbox[3], bleedbbox[2] ] ] );
    
     if (pt1[1] <= pagebbox[0])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[3], bleedbbox[0] ] ] );
     if (pt1[1] >= pagebbox[2])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[2]], [bleedbbox[3], bleedbbox[2] ] ] );
     line.paths[0].pathPoints[0].anchor = intersectPt;
    }
    // End point:
    if (pt2[0] <= pagebbox[1] || pt2[0] >= pagebbox[3] ||
     pt2[1] <= pagebbox[0] || pt2[1] >= pagebbox[2])
    {
     if (pt2[0] <= pagebbox[1])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[1], bleedbbox[2] ] ] );
    
     if (pt2[0] >= pagebbox[3])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[3], bleedbbox[0]], [bleedbbox[3], bleedbbox[2] ] ] );
    
     if (pt2[1] <= pagebbox[0])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[3], bleedbbox[0] ] ] );
     if (pt2[1] >= pagebbox[2])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[2]], [bleedbbox[3], bleedbbox[2] ] ] );
     line.paths[0].pathPoints.lastItem().anchor = intersectPt;
    }
    
    function IntersectionPt (ln1, ln2)
    {
     var ua;
     var x1 = ln1[0][0], x2 = ln1[1][0], x3 = ln2[0][0], x4 = ln2[1][0];
     var y1 = ln1[0][1], y2 = ln1[1][1], y3 = ln2[0][1], y4 = ln2[1][1];
     ua = ((x4 - x3)*(y1 - y3) - (y4 - y3)*(x1 - x3))/((y4 - y3)*(x2 - x1) - (x4 - x3)*(y2 - y1));
    
     return [ x1 + ua*(x2-x1), y1 + ua*(y2-y1) ];
    }
    
  • How to have the end of the open index swf page?

    I have an index of 1 minute short films page. When a visitor clicks on one, the film opens on its own page and plays. At the end of the film, I would take the visitor to the index page where they can choose another. How can I configure so that 'at the end of swf movie, open index.html'? Thank you.

    No problem! Good luck with the project!

  • How can change the end of thick disk when a virtual machine has been placed on the disk?

    After you have moved the virtual computer to another stage, chose the thin disk bad. Now, the virtual machine cannot start. the error message says that it must be thick for clustering. So, I need to change it back if possible. Then I moved it back and thick chosed. But, after that, I got a same error. So, after you move, the atatuse disk was not be changed. Is it a way not both directions? How can change the staus thin to thick?

    Thank you!

    George

    Hello George,.

    You can also convert virtual disks in eagerzeroedthick from the command line.

    vmkfstools-j VMname.vmdk allows to convert a thin disk in eagerzeroedthick

    vmkfstools k VMname.vmdk that will do it on a thick disk

    It can also work for a thin disk, click with the right button on the vmdk in browser data store, and then click 'inflate '.

    André

Maybe you are looking for

  • e-mail header

    How can I remove the address header that appears under display the Inbox, and just above the email being viewedHeader, subject, and on the far right, the time of e-mail and other button optionsThe header takes up valuable space to read e-mails

  • windows 8.1 help cannot "send link by e-mail" on explore

    I had a Windows 7 and could "send link or page" email when on a Web page. It won't highlight on the 8.1 windows computer I have now. I used to use windows live mail but now switched to Thunderbird. I use internet explore browser. I don't know that it

  • How to uninstall software distribution service 3.0

    HOW TO UNINSTALL software distribution service 3.0

  • 7210 duplex upside down in Vista

    Hello I installed the Vista driver on my new laptop for the Officejet 7210, but regardless of the settings, I can not double-sided print with both sides in the same way to the top. So if you turn the page as a book the second page is backwards. Works

  • Storage groups

    Hello At the start of SAN in UCS, what is the best practice when creating the storage groups in the drive Bay? For example, VMware: is it best practice to have a storage group for each ESXi and add its own ESXi Boot LUN (id = 0) and the necessary VM