Thursday, March 29, 2012

DuplicateRowCheck


Function DuplicateRowCheck();
     Local Rowset &rsLNRow1,&rsSerialrset1;
         Local number &k, &L,&SEQ1;
         Local string &M, &P;
         &rsLNRow1 = GetLevel0()(1).GetRowset(Scroll.RMA_LINE);    
         For &SEQ1 = 1 To &rsLNRow1.ActiveRowCount
            &rsSerialrset1 = &rsLNRow1.GetRow(&SEQ1).GetRowset(Scroll.RMA_SERIAL_LOT);         
            For &k = 1 To &rsSerialrset1.ActiveRowCount              
               &M =&rsSerialrset1.GetRow(&k).RMA_SERIAL_LOT.SERIAL_ID.Value;              
               For &L = &k + 1 To &rsSerialrset1.ActiveRowCount                 
                 &P = &rsSerialrset1.GetRow(&L).RMA_SERIAL_LOT.SERIAL_ID.Value;
                  If &M = &P Then
                    Error MsgGet(100000, 0, "Duplicate Serial_id in Rownumbers:[ " | &M | " ] and [ " | &P | " ] ");
                  End-If;             
               End-For;             
            End-For;          
         End-For;   
 End-Function;

firstdaythismonth, lastdaythismonth, firstdayprevmonth, lastdayprevmonth,days_of_prevmonth

DAYS_OF_PREVMONTH

SELECT Trunc(SYSDATE, 'MM')                            firstdaythismonth,
       Last_day(Trunc(SYSDATE))                        lastdaythismonth,
       Trunc(Trunc(SYSDATE, 'MM') - 1, 'MM')           firstdayprevmonth,
       Last_day(Trunc(Trunc(SYSDATE, 'MM') - 1, 'MM')) lastdayprevmonth,
       Extract(DAY FROM Last_day(Trunc(Trunc(SYSDATE, 'MM') - 1, 'MM')))
                                                       days_of_prevmonth
FROM   dual; 

LeapYear SQL


SELECT CASE
         WHEN (SELECT Extract(DAY FROM Last_day(To_date('0201'
                                                        ||Extract(YEAR FROM
                                                                  SYSDATE),
                                                       'mmddyyyy')))
               FROM   dual) = '29' THEN 'LeapYear'
         ELSE 'Not A Leap Year'
       END
FROM   dual