Identifying Saturday and Sunday from calender dates
Hi all,
i have a table with all the date of year from 200 to till date.
now i want to identify all those dates from this table which are saturdays and sundays,
how can i do this?
please advice...
thanks.
Depends on what the nls_territory parameter is set to:
alter session set nls_territory='UNITED KINGDOM';
select to_char(sysdate, 'd', 'nls_date_language=american') monday,
to_char(sysdate -1, 'd', 'nls_date_language=american') sunday
from dual;
M S
1 7
alter session set nls_territory='AMERICA'
select to_char(sysdate, 'd', 'nls_date_language=american') monday,
to_char(sysdate -1, 'd', 'nls_date_language=american') sunday
from dual;
M S
2 1Edited by: Boneist on 06-Jul-2009 12:01
BluShadow is too fast for me!
Similar Messages
-
How do you knock off bank holidays, saturdays and sundays for pay dates
Hi, there,
For simplicity, lets not go a far as bank holidays, at least I want to be able to run a job not using the DBMS.jobs package but on a trigger.
I want payments to go through at least on the 28th day of every month but it might fall on a weekend.
1* SELECT TO_CHAR(TRUNC(SYSDATE, 'MM')+27) FROM DUAL
SQL> /
TO_CHAR(T
28-APR-06
Do you think it can be done to push payment to the next working day if it falls on a weekend.
What do you think is best practise.
Contributions will be highly appreciated.
This is for learning purposes
cube60.Hi Jameel and others,
I am trying to insert a paymentdate in a monthly_payment table, but would like it to fall on a work day and not a weekend.
Jameel's last post based on a CASE select statement was very useful in helping me out. I have been trying to transform that CASE statement into a function or a procedure. This function or procedure would be fired by a trigger when the date columns need to be filled when updating other columns in the same table using a call procedure.
More or less, this function is meant to fill in just a column in a row or rows of data when the other columns are about to be updated using another procedure.
Am i right with using a function in this situation?
see below for my errors:
SQL> create or replace function paymentdate
2 is
3 return v_date date;
4 Begin
5
6 select to_char(trunc(sysdate,'MM')+27,'Day') into v_date from dual;
7
8 if (v_date) ='sat' then
9 insert into contract_staff_pay (paymentdate) values (v_date + 2);
10 end if;
11
12 if (v_date) ='sun' then
13 insert into contract_staff_pay (paymentdate) values (v_date + 1);
14 else
15 insert into contract_staff_pay (paymentdate) values (v_date);
16 end if;
17 end;
18 /
Warning: Function created with compilation errors.
SQL> show err;
Errors for FUNCTION PAYMENTDATE:
LINE/COL ERROR
2/1 PLS-00103: Encountered the symbol "IS" when expecting one of the
following:
( return compress compiled wrapped
Many thanks in advance.
cube60 -
Billing date is for Monday for the orders created on Saturday and Sunday
Hi Friends,
I have an issue,that for the orders that are created on weekdays, the Billing date is for the same day.
But for the orders that are created on Saturday and Sunday,the Billing date is being determined automatically for Monday.
The goods are service material and ther is no delivery being created for these goods.Still the requested delivery date is being determined for Monday for the weekend orders.
Any idea where i can check these settings or which program or userexit can be looked into for this.
Thanks in advance...
Sultan KhanHi,
How about using BBP_DOC_CHANGE_BADI ?
Regards,
Masa -
Schedule line delivery date on saturday and sunday its confirm for monday
HI Experts
in cash sales process or normal OR also when i create sales order monday its work fine system take todays (current date) as delivery date and i can do delivery on same date
but if i create sales order on saturday system take coming monday as delivery date and give goods confirmation on monday date but iif i change manually system allow me to change the date for saturday and i can do delivery but i want it system should take delivery date as saturday (same date only )
because in my client there is no holiday all 365 as working day
in VOV8 its blank no lead time
factory calendor and logistic i define as all 7 days as working day
and sales org and plant i assign calendor
Please guide me where i miss and how can i solve this issue
thanks in advanceHi,
Check "OVLY" and "OVLZ" and If the sceduling is active for he shipping point /sales document type. Check "OVXD" and see If the Loading time/ Pick/pack time is determined from it. If they are getting determined from shipping point check the shipping point calender in "SCAL" .If it has saturday and sunday as holidays ,then you may have to change them. And check If the customer has goods recieving hours assigned to him (In customer master unloading point). If he has only 5 working days and If he accepts only goods at 8 am in the morining then system would propose like this.Kindly please let me know If you need any more Information on this.
Regards
Ram Pedarla -
Hi All,
I have a simple query which is below:-
Declare @reportdate date
set @reportdate= (DATEADD(dd,-5,getdate()))
select * from dbo.Table
where date IN (@reportdate)
I need this query to pull the data for the last 3rd business day .So lets say today is monday then i need the data for last week wednesday which is 3 business days back from monday, if today is a tuesday it would be for last thursday ( as 3 business days for
tuesday would be thursday). But if today is wednesday then i need to be last 3rd business day which is last friday and i also need to get the data for saturday and sunday.
Can someone please help me how cani change my filter to do this?
Please let me know if i am still unclear.
ThanksHi SqlDev12,
Based on my understanding on your requirement, you can reference the below sample.
CREATE TABLE BusinessTable
Bdate DATE,
Wd VARCHAR(10)
;WITH Cte(DT,WD) AS
SELECT CAST('20150401' AS DATE),DATENAME(WEEKDAY,CAST('20150401' AS DATE))
UNION ALL
SELECT DATEADD(DAY,1,DT),DATENAME(WEEKDAY,DATEADD(DAY,1,DT)) FROM Cte
WHERE DT<GETDATE()
INSERT INTO BusinessTable SELECT * FROM Cte
SELECT * FROM BusinessTable
SET DATEFIRST 7 -- Set Sunday as the first day of a week
DECLARE @givenDay DATE ='20150415' --Wednesday
SELECT * FROM BusinessTable
WHERE Bdate BETWEEN
--For Monday and Sunday, select last wednesday
(CASE WHEN DATEPART(WEEKDAY,@givenDay) IN(1,2) THEN DATEADD(DAY,2,DATEADD(WEEK,DATEDIFF(WEEK,0,@givenDay)-1,0))
--For Tuesday and Wednesday, last week's Thursday and Friday
WHEN DATEPART(WEEKDAY,@givenDay) IN(3,4) THEN DATEADD(DAY,-5,@givenDay)
--For Thursday and Friday, current week's Monday and Tuesday
WHEN DATEPART(WEEKDAY,@givenDay) IN(5,6) THEN DATEADD(DAY,-3,@givenDay)
--For Saturday, current week's Wednesday
ELSE DATEADD(DAY,2,DATEADD(WEEK,DATEDIFF(WEEK,0,@givenDay),0)) END)
AND
(CASE WHEN DATEPART(WEEKDAY,@givenDay) IN(1,2) THEN DATEADD(DAY,2,DATEADD(WEEK,DATEDIFF(WEEK,0,@givenDay)-1,0))
WHEN DATEPART(WEEKDAY,@givenDay) IN(3) THEN DATEADD(DAY,-5,@givenDay)
WHEN DATEPART(WEEKDAY,@givenDay) IN(4) THEN DATEADD(DAY,-3,@givenDay)
WHEN DATEPART(WEEKDAY,@givenDay) IN(5,6) THEN DATEADD(DAY,-3,@givenDay)
ELSE DATEADD(DAY,2,DATEADD(WEEK,DATEDIFF(WEEK,0,@givenDay),0)) END)
DROP TABLE BusinessTable
If you have any feedback on our support, you can click
here.
Eric Zhang
TechNet Community Support -
Get a saturday and sunday dates
HI,
i need a days which are sunday and saturday, when i given a range of period i want to get days which are saturday and sunday within that range.
if any fm just suggest me.
Tahnks a lot.Hi,
Please find below an example on how to get the Weekend in shorttext, the dates and the total of weekend for the input date. I used only the FM ''DAY_ATTRIBUTES_GET'' . Please reward if you found useful. Thanks
REPORT zastest.
Data Declaration
TABLES : scal.
DATA : itab TYPE TABLE OF casdayattr,
wa_itab LIKE LINE OF itab.
DATA : l_line TYPE i,
l_wkend TYPE i.
Selection Screen
SELECT-OPTIONS p_date FOR scal-date.
START-OF-SELECTION.
CLEAR : l_wkend.
CALL FUNCTION 'DAY_ATTRIBUTES_GET'
EXPORTING
FACTORY_CALENDAR = ' '
HOLIDAY_CALENDAR = ' '
date_from = p_date-low
date_to = p_date-high
language = sy-langu
NON_ISO = ' '
IMPORTING
YEAR_OF_VALID_FROM =
YEAR_OF_VALID_TO =
RETURNCODE =
TABLES
day_attributes = itab
EXCEPTIONS
FACTORY_CALENDAR_NOT_FOUND = 1
HOLIDAY_CALENDAR_NOT_FOUND = 2
date_has_invalid_format = 3
date_inconsistency = 4
OTHERS = 5
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '3'.
WRITE : 'Date has Invalid Format'.
when '4'.
WRITE : 'Date Inconsistency'.
WHEN '5'.
WRITE : 'Other exceptions'.
ENDCASE.
ELSE.
DESCRIBE TABLE itab LINES l_line.
IF l_line GT 0.
LOOP AT itab INTO wa_itab.
WRITE : / wa_itab-day_string.
CASE wa_itab-weekday.
WHEN '6'. l_wkend = l_wkend + 1.
WHEN '7'. l_wkend = l_wkend + 1.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
WRITE : / 'l_wkend - ', l_wkend.
ENDIF.
ENDIF.
END-OF-SELECTION.
Regards,
Loo -
Calender form - hiding weekends Saturday and Sunday
I have a Calendar page and I want it to only show business days, hiding the weekends. I found some code that halfway worked in this thread:
https://forums.oracle.com/thread/684334
But as it's old, I figured I would start another as the code isn't working entirely. I placed it in the header region of the Calendar and it works when you initially open the page, but if you click the [Monthly] button, Saturday and Sunday re-appear until you refresh the page.
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$tblRows = $('table.t13Calendar tr');
$tblRows.each(function() {
$tblDatas = $(this).children('td, th');
$tblDatas.eq(0).remove();
$tblDatas.eq(6).remove();
//]]>
</script>When you click the buttons the Calendar code changes with a PPR (Partial Page Refresh) thus HTML is all new and different. The code only runs once (on document ready)
So... add a Dynamic action that runs After Refresh of your region and runs the code (minus the script, the CDATA and the document .ready).
$tblRows = $('table.t13Calendar tr');
$tblRows.each(function() {
$tblDatas = $(this).children('td, th');
$tblDatas.eq(0).remove();
$tblDatas.eq(6).remove();
I'm surprised it works because it has the t13Calendar class in there, that's theme specific, you must be using the same theme.
Thanks
-Jorge
http://rimblas.com/blog/ -
How to exclude 'Saturday' and 'sunday' In APEX 4.1 count(*)
Hi everyone am using APEX 4.1,
The Leave_transaction Table has the following Fields,
1.Leave_id
2.Emp_name
3.From_date
4.To_date
5.Remaining_days
The Emp_Master Table has the following columns,
1.Emp_id
2.Emp_Name
3.Remaining_days
select count(*) into days from (select dt
from(
select to_date(:p1_from_date, 'DD-Mon-YYYY') + rownum -1 dt
from dual
connect by level <= to_date(:p1_to_date, 'DD-Mon-YYYY') - to_date(:p1_from_date, 'DD-Mon-YYYY') + 1)
where to_char(dt,'fmday') not in ('sunday','saturday') dual;
If the Dates is between from_date and To_date comes in Saturday and sunday , it should exclude and return the count(*) remaining dates,
For example,
If the From_date is 04-may-2012'
and To_date is 08-may-2012,
Here the dates 5th may and 6th may are "saturday" and "sunday"
Then the remaining dates are(excluding sat,sunday and dates in holiday_table),
04-may-2012,
07-may-2012
08-may-2012.
so
count(*)
3I am using the above code but still it returning 5,
I think this
..where to_char(dt,'fmday') not in ('sunday','saturday')
code is not working.
Can anyone help me to solve my Issue.Hi theoa,
Actually this is my full code,
declare
days number(3);
ex_days emp_master.remaining_days%type;
new_rem_days emp_master.remaining_days%type;
begin
select count(*)
into days
from (select dt
from (select to_date (:p1_from_date, 'DD-Mon-YYYY',
'NLS_DATE_LANGUAGE=''english''')
+ rownum - 1 dt
from dual
connect by level <=
to_date (:p1_to_date, 'DD-Mon-YYYY',
'NLS_DATE_LANGUAGE=''english''')
- to_date (:p1_from_date, 'DD-Mon-YYYY',
'NLS_DATE_LANGUAGE=''english''')
+ 1)
where rtrim(to_char(dt,'fmDay', 'NLS_DATE_LANGUAGE=''english''')) not in
('Sunday','Saturday')
minus
(select holiday_start
from holiday_master)) dual;
apex_application.g_print_success_message := 'Hi '||:APP_USER||' '||'You are applied leave for'||' ' || days||' ' ||'days';
select remaining_days
into ex_days
from emp_master
where upper(emp_name) = upper(:APP_USER);
new_rem_days := ex_days - days;
update emp_master
set remaining_days = new_rem_days
where upper(emp_name) = upper(:APP_USER);
update leave_transaction
set remaining_days = new_rem_days
where upper(emp_name) = upper(:APP_USER)
and leave_id=
(select max(leave_id)
from leave_transaction);
end;The select statement which i mentioned above is working fine in database but not working in PAEX application. -
Plan order is considering saturday and sunday as working day.
Hi All,
I have a problem where saturday and sunday is being conidered as working day when a plan order is created (Either manually or Automatically). But in calender assigned to this plant, saturday and sunday is assigned as holiday.
But when we convert the same plan order which has Saturday as Order start, the Basic start date of production order is moved to Firday.
EG. Plan order - XXXXXX has order finish date as 22-Aug-2011. Inhouse lead time is 2 days. So system takes 20-Aug-2011 as order srat date in plan order.
But when same Plan order is converted to Production order, then the Basic order start date is moved to 18-Aug-2011 and it says that 20-Aug-2011 and 21-Aug-2011 is maked as holiday in calender.
Can some one please suggest why is plan order considering Saturday and Sunday as working day.Hi,
Check the factory calendor assigned to plant which is referenced in plan order and teh factory calendor assigned to work center which is used in elad time scheduling in production order.. are they same?
Check how they ahve maintined..? -
Calculate the number of days in a year excluding Saturday and Sunday
Hi All,
I need to get the number of days in a year excluding Saturday and Sunday for HR module and then subtract the public holidays.
Can some let me know how this needs to be done while loading data from one infocube to another.
Is there any Function module for the same so that i can write any start routines.
And also is there any table available for Tcode-SCAL with which i can write any start routines.
Kindly help me as soon as possible.
Regards,
KumarHi Harish
Refer to the screenshot for Import and Export parameters
Code
FUNCTION ZBI_FM_GET_HOLIDAYS .
*"*"Local Interface:
*" IMPORTING
*" VALUE(DATE_FROM) TYPE SCAL-DATE DEFAULT SY-DATUM
*" VALUE(DATE_TO) TYPE SCAL-DATE DEFAULT SY-DATUM
*" VALUE(FACT_CAL) TYPE SCAL-FCALID DEFAULT SPACE
*" VALUE(ONLYFACT_DAYS) TYPE CHAR1 OPTIONAL
*" EXPORTING
*" REFERENCE(HOLIDAYS) TYPE I
*" TABLES
*" DAY_ATTRIBUTES STRUCTURE CASDAYATTR
*" EXCEPTIONS
*" FACTORY_CALENDAR_NOT_FOUND
*" HOLIDAY_CALENDAR_NOT_FOUND
*" DATE_HAS_INVALID_FORMAT
*" DATE_INCONSISTENCY
DATA: LT_DAY_ATTRIBUTES TYPE TABLE OF CASDAYATTR WITH HEADER LINE.
DATA: LV_LINES TYPE SY-SUBRC.
DATA: DATE1 LIKE DATE_FROM,
DATE2 LIKE DATE_TO.
*if from date is gt to date then interchange the dates and multiply the result with -1.
IF DATE_FROM GT DATE_TO.
DATE2 = DATE_FROM.
DATE1 = DATE_TO.
ELSE.
DATE1 = DATE_FROM.
DATE2 = DATE_TO.
ENDIF.
CALL FUNCTION 'DAY_ATTRIBUTES_GET'
EXPORTING
FACTORY_CALENDAR = FACT_CAL
* HOLIDAY_CALENDAR = ' '
DATE_FROM = DATE1
DATE_TO = DATE2
LANGUAGE = SY-LANGU
* IMPORTING
* YEAR_OF_VALID_FROM =
* YEAR_OF_VALID_TO =
* RETURNCODE =
TABLES
DAY_ATTRIBUTES = LT_DAY_ATTRIBUTES
EXCEPTIONS
FACTORY_CALENDAR_NOT_FOUND = 1
HOLIDAY_CALENDAR_NOT_FOUND = 2
DATE_HAS_INVALID_FORMAT = 3
DATE_INCONSISTENCY = 4
OTHERS = 5 .
IF SY-SUBRC = 0.
IF ONLYFACT_DAYS = 'X'.
DELETE LT_DAY_ATTRIBUTES WHERE FREEDAY EQ SPACE.
ELSE.
DELETE LT_DAY_ATTRIBUTES WHERE WEEKDAY LT 6.
ENDIF.
DESCRIBE TABLE LT_DAY_ATTRIBUTES LINES LV_LINES.
HOLIDAYS = LV_LINES.
* IF DATE_FROM GT DATE_TO.
* HOLIDAYS = HOLIDAYS * -1.
* ENDIF.
ELSEIF SY-SUBRC = 1.
RAISE FACTORY_CALENDAR_NOT_FOUND.
ELSEIF SY-SUBRC = 2.
RAISE HOLIDAY_CALENDAR_NOT_FOUND.
ELSEIF SY-SUBRC = 3.
RAISE DATE_HAS_INVALID_FORMAT.
ELSEIF SY-SUBRC = 4.
RAISE DATE_INCONSISTENCY.
ENDIF.
ENDFUNCTION. -
Query to get holidays including saturday and sunday by giving month and year as input
query to get holidays including saturday and sunday by giving month and year as input.
Hi,
Create a table for holidays. You could INSERT one row for each holiday in each year, but it might be more useful if you just create 1 row for every day, with a column that tells whether that day is a holday, part of a weekend, or a work day.
See
http://forums.oracle.com/forums/message.jspa?messageID=3351081
for a user-defined function that tests if a given DATE is holiday.
You could use such a function when populating the table I mentioned earlier. -
Identifying single motor units from EMG data
I need to identify single motor units from EMG data and have been unable to find anything on the NI web site that could help. I have identified a third party program, Spike 2 from Cambridge Electronic Design (CED), that is able to do the job however I have already go a large investment in NI hardware and software and do not want to have to buy all the CED hardware. I was wondering if anyone knew if it were possible to control the spike 2 program from inside LabVIEW (in close to real time), or if there was a LabVIEW based solution that I have been unable to find.
Sorry for the confusion.
This post is regarding template matching/detection of events from a nosy analogue signal. It is a medical application, not a motor/servo application. The term �motor unit� refers to the action potentials found in electrical recordings taken from muscles (EMG). By identifying the occurrence of these events we can determine properties of the nerves controlling these muscles. However identifying these events is very difficult as the recorded signals are noisy and the shapes of these units change over time. Many researchers have attempted to design computer-based solutions to this problem but is has only been with recent improvements in computer power that a solely software based solution for real time pattern matching has been possibl
e. Although this application is specific to medical research (and electrical recordings of nervous system activity in particular) the number of research laboratories around the world attempting to perform such analysis is large enough that I though a LabVIEW base solution may exist.
Barring a LabVIEW based solution I was wondering if anyone knew if it were possible for the data to be acquired in LabVIEW then directed to Spike2 (the most common program used for this application) in almost real-time. I know I can record data in LabVIEW and save it as a text file then open it up in Spike2 but I do not know if I can stream the data into Spike2 online. Online processing of the data is necessary to determine the progress of the experiments. -
Planned Delivery Time is included Saturday. and Sunday?
Dear Guru,
Please kindly advice me about Planned Delivery Time in Days in the MRP View.
Is it include Saturday and Sunday?
If my calendar is not work on Saturday and Sunday.
Thank you very much.
SaiyaSystem calculates with help of factory calender. if you maintaned saturday and sun day as public holidays then system will not considered for planned delivery time.
-
MF50 not able to book Capacity on Saturday and Sunday
Dear Experts,
In MF50 planning table the if we book requirement on Saturday and Sunday .we are abel to book the requirement but "Not yet assigned" is gyred out system is creating a back ward scheduling to friday.
In work Centre we maintained factory calender ( all the days are working) and shift sequence.
Please let me know the settings.
Regards
SandeepHi Sandeep,
Check your setting in T-code SCAL.
I think it might be require modification in days selection for Calender creation.
if any doubt then revert back.
Regards,
Mukesh. -
Problem with ArrayLists and writing and reading from a .dat file (I think)
I'm brand new to this forum, but I'm sure hoping someone can help me with a problem I'm having with ArrayLists. This program was originally created with an array of objects that were displayed on a GUI with jtextFields, then cycling thru them via jButtons: First, Next, Previous, Last. Now I need to add the ability to modify, delete and add records. Both iterations of this program needed to write to and read from a .dat file.
It worked just like it was suppose to when I used just the array, but now I need to use a "dynamic array" that will grow or shrink as needed: i.e. an ArrayList.
When I aded the ArrayList I had the ArrayList use toArray() to fill my original array so I could continue to use all the methods I'd created for using with my array. Now I'm getting a nullPointerException every time I try to run my program, which means somewhere I'm NOT filling my array ???? But, I'm writing just fine to my .dat file, which is confusing me to no end!
It's a long program, and I apologize for the length, but here it is. There are also 2 class files, a parent and 1 child below Inventory6. This was written in NetBeans IDE 5.5.1.
Thank you in advance for any help anyone can give me!
LabyBC
package my.Inventory6;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.lang.IllegalStateException;
import java.util.NoSuchElementException;
import java.util.ArrayList;
import java.text.NumberFormat;
// Class Inventory6
public class Inventory6 extends javax.swing.JFrame {
private static InventoryPlusColor[] inventory;
private static ArrayList inList;
// create a tool that insure the specified format for a double number, when displayed
private DecimalFormat doubleFormat = new DecimalFormat( "0.00" );
private DecimalFormat singleFormat = new DecimalFormat( "0");
// the index within the array of products of the current displayed product
private int currentProductIndex;
/** Creates new form Inventory6 */
public Inventory6() {
initComponents();
currentProductIndex = 0;
} // end Inventory6()
private static InventoryPlusColor[] getInventory() {
ArrayList<InventoryPlusColor> inList = new ArrayList<InventoryPlusColor>();
inList.add(new InventoryPlusColor(1, "Couch", 3, 1250.00, "Blue"));
inList.add(new InventoryPlusColor(2, "Recliner", 10, 525.00, "Green"));
inList.add(new InventoryPlusColor(3, "Chair", 6, 125.00, "Mahogany"));
inList.add(new InventoryPlusColor(4, "Pedestal Table", 2, 4598.00, "Oak"));
inList.add(new InventoryPlusColor(5, "Sleeper Sofa", 4, 850.00, "Yellow"));
inList.add(new InventoryPlusColor(6, "Rocking Chair", 2, 459.00, "Tweed"));
inList.add(new InventoryPlusColor(7, "Couch", 4, 990.00, "Red"));
inList.add(new InventoryPlusColor(8, "Chair", 12, 54.00, "Pine"));
inList.add(new InventoryPlusColor(9, "Ottoman", 3, 110.00, "Black"));
inList.add(new InventoryPlusColor(10, "Chest of Drawers", 5, 598.00, "White"));
for (int j = 0; j < inList.size(); j++)
System.out.println(inList);
InventoryPlusColor[] inventory = (InventoryPlusColor[]) inList.toArray
(new InventoryPlusColor[inList.size()]);
return inventory;
} // end getInventory() method
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
IDNumberLbl = new javax.swing.JLabel();
IDNumberField = new javax.swing.JTextField();
prodNameLbl = new javax.swing.JLabel();
prodNameField = new javax.swing.JTextField();
colorLbl = new javax.swing.JLabel();
colorField = new javax.swing.JTextField();
unitsInStockLbl = new javax.swing.JLabel();
unitsInStockField = new javax.swing.JTextField();
unitPriceLbl = new javax.swing.JLabel();
unitPriceField = new javax.swing.JTextField();
invenValueLbl = new javax.swing.JLabel();
invenValueField = new javax.swing.JTextField();
restockingFeeLbl = new javax.swing.JLabel();
restockingFeeField = new javax.swing.JTextField();
jbtFirst = new javax.swing.JButton();
jbtNext = new javax.swing.JButton();
jbtPrevious = new javax.swing.JButton();
jbtLast = new javax.swing.JButton();
jbtAdd = new javax.swing.JButton();
jbtDelete = new javax.swing.JButton();
jbtModify = new javax.swing.JButton();
jbtSave = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
searchIDNumLbl = new javax.swing.JLabel();
searchIDNumbField = new javax.swing.JTextField();
jbtSearch = new javax.swing.JButton();
searchResults = new javax.swing.JLabel();
jbtExit = new javax.swing.JButton();
jbtExitwoSave = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Inventory Program"));
IDNumberLbl.setText("ID Number");
IDNumberField.setEditable(false);
prodNameLbl.setText("Product Name");
prodNameField.setEditable(false);
colorLbl.setText("Product Color");
colorField.setEditable(false);
colorField.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorFieldActionPerformed(evt);
unitsInStockLbl.setText("Units In Stock");
unitsInStockField.setEditable(false);
unitPriceLbl.setText("Unit Price $");
unitPriceField.setEditable(false);
invenValueLbl.setText("Inventory Value $");
invenValueField.setEditable(false);
restockingFeeLbl.setText("5% Restocking Fee $");
restockingFeeField.setEditable(false);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(unitPriceLbl)
.addComponent(unitsInStockLbl)
.addComponent(colorLbl)
.addComponent(prodNameLbl)
.addComponent(IDNumberLbl)
.addComponent(restockingFeeLbl)
.addComponent(invenValueLbl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(IDNumberField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(prodNameField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(colorField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(unitsInStockField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(unitPriceField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(restockingFeeField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(invenValueField, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE))
.addContainerGap())
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(IDNumberLbl)
.addComponent(IDNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(prodNameLbl)
.addComponent(prodNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(colorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(colorLbl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(unitsInStockField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(unitsInStockLbl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(unitPriceField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(unitPriceLbl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(restockingFeeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(restockingFeeLbl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(invenValueField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(invenValueLbl))
.addContainerGap())
jbtFirst.setText("First");
jbtFirst.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtFirstActionPerformed(evt);
jbtNext.setText("Next");
jbtNext.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtNextActionPerformed(evt);
jbtPrevious.setText("Previous");
jbtPrevious.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtPreviousActionPerformed(evt);
jbtLast.setText("Last");
jbtLast.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtLastActionPerformed(evt);
jbtAdd.setText("Add");
jbtAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtAddActionPerformed(evt);
jbtDelete.setText("Delete");
jbtModify.setText("Modify");
jbtModify.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtModifyActionPerformed(evt);
jbtSave.setText("Save");
jbtSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtSaveActionPerformed(evt);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Search by:"));
searchIDNumLbl.setText("Item Number:");
jbtSearch.setText("Search");
searchResults.setFont(new java.awt.Font("Tahoma", 1, 12));
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(searchIDNumLbl)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(259, 259, 259)
.addComponent(searchResults, javax.swing.GroupLayout.PREFERRED_SIZE, 213, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jbtSearch, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(searchIDNumbField, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(searchIDNumLbl)
.addComponent(searchIDNumbField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(searchResults, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtSearch)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
jbtExit.setText("Save and Exit");
jbtExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtExitActionPerformed(evt);
jbtExitwoSave.setText("Exit");
jbtExitwoSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtExitwoSaveActionPerformed(evt);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 248, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jbtExitwoSave, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbtExit)))
.addGroup(layout.createSequentialGroup()
.addComponent(jbtFirst)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtNext)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtPrevious)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtLast))
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jbtAdd)
.addComponent(jbtDelete)
.addComponent(jbtModify)
.addComponent(jbtSave))))
.addContainerGap())
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jbtFirst, jbtLast, jbtNext, jbtPrevious});
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jbtAdd, jbtDelete, jbtModify, jbtSave});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(jbtAdd)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtDelete)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtModify)
.addGap(39, 39, 39)
.addComponent(jbtSave))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jbtFirst)
.addComponent(jbtNext)
.addComponent(jbtPrevious)
.addComponent(jbtLast))
.addGap(15, 15, 15)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jbtExit)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtExitwoSave)))
.addContainerGap())
pack();
}// </editor-fold>
private void jbtExitwoSaveActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
private void jbtSaveActionPerformed(java.awt.event.ActionEvent evt) {
String prodNameMod, colorMod;
double unitsInStockMod, unitPriceMod;
int idNumMod;
idNumMod = Integer.parseInt(IDNumberField.getText());
prodNameMod = prodNameField.getText();
unitsInStockMod = Double.parseDouble(unitsInStockField.getText());
unitPriceMod = Double.parseDouble(unitPriceField.getText());
colorMod = colorField.getText();
if(currentProductIndex == inventory.length) {
inList.add(new InventoryPlusColor(idNumMod, prodNameMod,
unitsInStockMod, unitPriceMod, colorMod));
InventoryPlusColor[] inventory = (InventoryPlusColor[]) inList.toArray
(new InventoryPlusColor[inList.size()]);
} else {
inventory[currentProductIndex].setIDNumber(idNumMod);
inventory[currentProductIndex].setProdName(prodNameMod);
inventory[currentProductIndex].setUnitsInStock(unitsInStockMod);
inventory[currentProductIndex].setUnitPrice(unitPriceMod);
inventory[currentProductIndex].setColor(colorMod);
displayProduct(inventory[currentProductIndex]);
private static void writeInventory(InventoryPlusColor i,
DataOutputStream out) {
try {
out.writeInt(i.getIDNumber());
out.writeUTF(i.getProdName());
out.writeDouble(i.getUnitsInStock());
out.writeDouble(i.getUnitPrice());
out.writeUTF(i.getColor());
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "I/O Exception writing data",
"", JOptionPane.ERROR_MESSAGE);
System.exit(0);
} //end writeInventory()
private static DataOutputStream openOutputStream(String name) {
DataOutputStream out = null;
try {
File file = new File(name);
out =
new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(file)));
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "I/O Error", "", JOptionPane.ERROR_MESSAGE);
System.exit(0);
return out;
} // end openOutputStream()
private static void closeFile(DataOutputStream out) {
try {
out.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "I/O Exception closing file",
"", JOptionPane.ERROR_MESSAGE);
System.exit(0);
} // end closeFile()
private static DataInputStream getStream(String name) {
DataInputStream in = null;
try {
File file = new File(name);
in = new DataInputStream(
new BufferedInputStream(
new FileInputStream(file)));
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "The file doesn't exist",
"", JOptionPane.ERROR_MESSAGE);
System.exit(0);
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "I/O Error creating file",
"", JOptionPane.ERROR_MESSAGE);
System.exit(0);
return in;
private static void closeInputFile(DataInputStream in) {
try {
in.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "I/O Exception closing file",
"", JOptionPane.ERROR_MESSAGE);
System.exit(0);
} // end closeInputFile()
private double entireInventory() {
// a temporary double variable that the method will return ...
// after each product's inventory is added to it
double entireInventory = 0;
// loop to control number of products
for (int index = 0; index < inventory.length; index++) {
// add each inventory to the entire inventory
entireInventory += inventory[index].setInventoryValue();
} // end loop to control number of products
return entireInventory;
} // end method entireInventory
private void jbtLastActionPerformed(java.awt.event.ActionEvent evt) {
currentProductIndex = inventory.length-1; // move to the last product
// display the information for the last product
displayProduct(inventory[currentProductIndex]);
private void jbtPreviousActionPerformed(java.awt.event.ActionEvent evt) {
if (currentProductIndex != 0) // it's not the first product displayed
currentProductIndex -- ; // move to the previous product (decrement the current index)
} else // the first product is displayed
currentProductIndex = inventory.length-1; // move to the last product
// after the current product index is set, display the information for that product
displayProduct(inventory[currentProductIndex]);
private void jbtNextActionPerformed(java.awt.event.ActionEvent evt) {
if (currentProductIndex != inventory.length-1) // it's not the last product displayed
currentProductIndex ++ ; // move to the next product (increment the current index)
} else // the last product is displayed
currentProductIndex = 0; // move to the first product
// after the current product index is set, display the information for that product
displayProduct(inventory[currentProductIndex]);
private void jbtFirstActionPerformed(java.awt.event.ActionEvent evt) {
currentProductIndex = 0;
// display the information for the first product
displayProduct(inventory[currentProductIndex]);
private void colorFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
private void jbtModifyActionPerformed(java.awt.event.ActionEvent evt) {
prodNameField.setEditable(true);
prodNameField.setFocusable(true);
unitsInStockField.setEditable(true);
unitPriceField.setEditable(true);
private void jbtAddActionPerformed(java.awt.event.ActionEvent evt) {
IDNumberField.setText("");
IDNumberField.setEditable(true);
prodNameField.setText("");
prodNameField.setEditable(true);
colorField.setText("");
colorField.setEditable(true);
unitsInStockField.setText("");
unitsInStockField.setEditable(true);
unitPriceField.setText("");
unitPriceField.setEditable(true);
restockingFeeField.setText("");
invenValueField.setText("");
currentProductIndex = inventory.length;
private void jbtExitActionPerformed(java.awt.event.ActionEvent evt) {
DataOutputStream out = openOutputStream("inventory.dat");
for (InventoryPlusColor i : inventory)
writeInventory(i, out);
closeFile(out);
System.exit(0);
private static InventoryPlusColor readProduct(DataInputStream in) {
int idNum = 0;
String prodName = "";
double inStock = 0.0;
double pricBalusC -- The line that gives me my NullPointerException is when I call the "DisplayProduct()" method. Its a dumb question, but with NetBeans how do I find out which reference could be null? I'm not very familiar with how NetBeans works with finding out how to debug. Any help you can give me would be greatly appreciated.The IDE is com-plete-ly irrelevant. It's all about the source code.
Do you understand anyway when and why a NullPointerException is been thrown? It is a subclass of RuntimeException and those kind of exceptions are very trival and generally indicate an design/logic/thinking fault in your code.
SomeObject someObject = null; // The someObject reference is null.
someObject.doSomething(); // Invoking a reference which is null would throw NPE.
Maybe you are looking for
-
Audiobooks no longer show up as Audiobooks in my library
I purchased a few audiobooks last week, to listen to at the gym. I sync'd, and went off to the gym, to find that my audiobooks weren't on my iPhone anymore. Sigh. I get home, and notice that the "Audiobooks" category in my library doesn't show up. ..
-
Any help would be appreciated.
-
How to store as single record data coming from different ods to cube
Hi All, we have the scenario like . Same contract values are uploaded from 3 ods to cube.In the cube this information is stored as 3 different records. Is there any option having same contract no and same fiscal period values should be stored
-
How do I remove duckduckgo?
How do I remove duckduckgo?
-
THis seems to be very basic, but I want to make sure the diff between line item and header.