Adding new columns & New dataware house Tables
Hello Gurus,
We are using OBIEE 7.9.6, with Oracle EBS OLTP. I would like to show a new colum in an existing dash board report that requires new column in datawarehouse table & staging table. I also have a requirement to add new custom datawarehouse table to create a new report. Does anyone know the step by step approach to do this with details such as BI tools that are required?
Any pointers on this is greatly appreciated!
Thanks,
Chandra
Please read this:
Oracle® Business Intelligence
Data Warehouse Administration Console User’s Guide
Version 10.1.3.4
E12652-01
Figure 8–1 Process Flow to Add New Object to Data Warehouse
Pg 59
Similar Messages
-
How to add a new column to a existing table?
Hi all,
I have requriment acc which i need toadd a new column to a exsiting table.the name of the columns is taken frm database.I.e.,
say if i have 3 names in DB name1,name2,name3
i need to add in the table these three names as columns and tat to as inputfield(tablecelleditor) .Please help me with the code, i'll give full points to everyone who gives me correct answer
Regards
Sharan and please this is Really Urgent!!! plzzzzzzzzzz
Edited by: Armin Reichert on Dec 30, 2007 7:47 PMHi,
You can add the following lines of code where-ever you want to add the table:
IWDTransparentContainer tr = (IWDTransparentContainer) viewObj.getElement("trans"); // Container where table will be added
IWDTable tab = (IWDTable) viewObj.createElement(IWDTable.class ,"Table ID");
tr.addChild(tab);
IWDNodeInfo nodeInfo = wdContext.nodeProducts().getNodeInfo();
tab.bindDataSource(nodeInfo); // datasource of your table.
// First Column
IWDTableColumn tc1 = (IWDTableColumn) viewObj.createElement(IWDTableColumn.class, "TC1");
IWDCaption cap1 = (IWDCaption) viewObj.createElement(IWDCaption.class,"cap1");
cap1.setText("Column Heading 1"); // name1 of your column
tc1.setHeader(cap1);
IWDInputField inp1 = (IWDInputField) viewObj.createElement(IWDInputField.class,"INP1");
tc1.setTableCellEditor(inp1);
IWDAttributeInfo attrInfo1 = wdContext.nodeProducts().getNodeInfo().getAttribute(IPrivateTEST.IProductsElement.PRODUCT_ID);
inp1.bindValue(attrInfo1);
tab.addColumn(tc1);
// Second Column
IWDTableColumn tc2 = (IWDTableColumn) viewObj.createElement(IWDTableColumn.class, "TC2");
IWDCaption cap2 = (IWDCaption) viewObj.createElement(IWDCaption.class,"cap2");
cap2.setText("Column Heading 2");
tc2.setHeader(cap2);
IWDInputField inp2 = (IWDInputField) viewObj.createElement(IWDInputField.class,"INP2");
tc2.setTableCellEditor(inp2);
IWDAttributeInfo attrInfo2 = wdContext.nodeProducts().getNodeInfo().getAttribute(IPrivateTEST.IProductsElement.NAME);
inp2.bindValue(attrInfo2);
tab.addColumn(tc2);
// Third Column
IWDTableColumn tc3 = (IWDTableColumn) viewObj.createElement(IWDTableColumn.class, "TC3");
IWDCaption cap3 = (IWDCaption) viewObj.createElement(IWDCaption.class,"cap3");
cap3.setText("Column Heading 3");
tc3.setHeader(cap3);
IWDInputField inp3 = (IWDInputField) viewObj.createElement(IWDInputField.class,"INP3");
tc3.setTableCellEditor(inp3);
IWDAttributeInfo attrInfo3 = wdContext.nodeProducts().getNodeInfo().getAttribute(IPrivateTEST.IProductsElement.DETAILS);
inp3.bindValue(attrInfo3);
tab.addColumn(tc3);
For any further doubts you can always come back to me.
thanks & regards,
Manoj -
How can I add a new column in compress partition table.
I have a compress partition table when I add a new column in that table it give me an error "ORA-22856: CANNOT ADD COLUMNS TO OBJECT TABLES". I had cretaed a table in this clause. How can I add a new column in compress partition table.
CREATE TABLE Employee
Empno Number,
Tr_Date Date
COMPRESS PARTITION BY RANGE (Tr_Date)
PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
PARTITION JUNK Values LESS THAN (MAXVALUE));
Note :
When I create table with this clause it will allow me to add a column.
CREATE TABLE Employee
Empno Number,
Tr_Date Date
PARTITION BY RANGE (Tr_Date)
PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
PARTITION JUNK Values LESS THAN (MAXVALUE));
But for this I have to drop and recreate the table and I dont want this becaue my table is in online state i cannot take a risk. Please give me best solution.Hi Fahed,
I guess, you are using Oracle 9i Database Release 9.2.0.2 and the Table which you need to alter is in OLTP environment where data is usually inserted using regular inserts. As a result, these tables generally do not get much benefit from using table compression. Table compression works best on read-only tables that are loaded once but read many times. Tables used in data warehousing applications, for example, are great candidates for table compression.
Reference : http://www.oracle.com/technology/oramag/oracle/04-mar/o24tech_data.html
Topic : When to Use Table Compression
Bug
Reference : http://dba.ipbhost.com/lofiversion/index.php/t147.html
BUG:<2421054>
Affects: RDBMS (9-A0)
NB: FIXED
Abstract: ENH: Allow ALTER TABLE to ADD/DROP columns for tables using COMPRESS feature
Details:
This is an enhancement to allow "ALTER TABLE" to ADD/DROP
columns for tables using the COMPRESS feature.
In 9i errors are reported for ADD/DROP but the text may
be misleading:
eg:
ADD column fails with "ORA-22856: cannot add columns to object tables"
DROP column fails with "ORA-12996: cannot drop system-generated virtual column"
Note that a table which was previously marked as compress which has
now been altered to NOCOMPRESS also signals such errors as the
underlying table could still contain COMPRESS format datablocks.
As of 10i ADD/SET UNUSED is allowed provided the ADD has no default value.
Best Regards,
Muhammad Waseem Haroon
[email protected] -
How can I add a new column to an Attachments Table
How can I add a new column to an Attachments Table??
And I want to remove the usage column also!
Thanks!I tried to remove the usage column doing this:
OAAttachmentTableBean attachTable = (OAAttachmentTableBean)webBean.findChildRecursive("attachTable");
if (attachTable != null)
attachTable.findChildRecursive("UsageTypeColumn").setRendered(false);
but I'm getting null pointer exception on "UsageTypeColumn"...
:( -
Add a new column in Agreement Items table control (ME31K/ME32K/ME33K)
Hi guys,
I have a big issue.
How can I add a new column at Agreement Items table control (ME31K/ME32K/ME33K) level.
Thanks a lot.I think i solved the problem . The single way to to that is to modify the SAP standard Screen.
-
Need to add 2 new columns to the existing table control of C223 transaction
Hi ABAP Gurus,
I have to do a screen enhancement for transaction C223.
Below is the requirement:
need to add 2 new columns to the existing table control of C223 transaction.
there is no customer exits, screen exit or user exit present for this transaction C223, i have found one enhancement spot for this transaction.
i dont have any idea how to do this in standard transaction C223, the table control in C223 saves the data to MKAL table and the table control uses the structure MKAL_EXPAND in the screen program.
i have created an append structure for the 2 fields to the standard table MKAL.
Can anyone please suggest me how this can be done in standard screen C223, will the enhancement spot can be used to do this....
please sugest...
Thanks & RegardsHi Santosh,
Thanks for the reply. I have looked into this Enhancement Spot CPFX_SCREEN_SET , inside this there is only one method INPUT_DISABLED having below parameters
IM_MKAL Importing Type MKAL Production Version
EX_MSGID Exporting Type SY-MSGID Messages, Message
EX_MSGTY Exporting Type SY-MSGTY Messages, Message
EX_MSGNO Exporting Type SY-MSGNO Messages, Message
EX_MSGV1 Exporting Type SY-MSGV1 Messages, Message
EX_MSGV2 Exporting Type SY-MSGV2 Messages, Message
EX_MSGV3 Exporting Type SY-MSGV3 Messages, Message
EX_MSGV4 Exporting Type SY-MSGV4 Messages, Message
EX_INPUT_DISABLE Exporting Type CHAR1 Display Only if X Was Set
the BADI definition present here is a SAP internal so we cant implement the BADI , but we can created a enhancement spot implementation for this. as per my understanding on this the enhancement spot is only for making the table control fields display / change . i dont think this can be used to add two new coloumns to C223 table control.
I am not sure thats why seeking your help/valuable sugestion on this.
Please provide your sugestion on this , so that i can come to conclusion on this issue.
Thanks & Regards
Siddhartha Mishra -
Adding a column to a DB table with CMP entities
Morning all.
I've been asked whether adding a column to a database table will break the CMP entity bean (EJB2) associated with the table. I suspect that it won't and that the new field will be ignored. Another developer here says that it will no longer compile (I can't see how this could be the case but still...) and I can find no evidence to either refute or corroborate either position.
Can anyone tell me for definite - if we add a column to a database table mapped to a CMP entity bean, will we HAVE to update the bean, or can we leave it ignorant of the new column?
(For the purposes of the question, please assume that the column has no constraints i.e. can be null etc.)
Thanks in advance
-- kaideejee
Message was edited by kaideejee : CMB entities? What are they? Typo fix.Well alterations(adding / removing a column) to the
table should be made available to the bean
irrespective of the persistance(CMP OR BMP) or normal
bean with your own methods that depicts the
behaviour.
reason is simple: probably bean may/may not contain
the corresponding setter or getter or finder methods
related to the ALTERED TABLE(NEW COLUMN)The reason for what is simple? Sorry I may have missed your point there. Are you saying that it's correct practice to make it available to the bean, or that it will be made available behind the scenes, subject to getters/setters being created?
Assuming we choose not to create these getters and setters (we have a horrible hybrid monster which uses stored procedures for some things and EJB for others, so it's feasible that the EJB end may not need to see some fields used by other parts) would the entity beans continue to play nicely with the database rows, or would the additional columns throw it completely?
Cheers
-- kaideejee -
Adding a new column to a big table is very slow
All,
I am trying to add a column to a table with defaul value as 0. The table has about 15M rows. The alter table statement is extermely slow.
I am using 11.1.0.7 on windows.
Thanks in advancePlease be careful when using this new 11g feature that can add columns to tables without updating each row. If you use a default value on a new not null column, update triggers that reference that column's :new value could have problems. There is a bug that has been around for at least 3 years that Oracle claims is "not a bug" that could cause problems in your triggers.
The issue is that triggers will still see null for the :new.column value even though it has a not null default. Even though you can select from the table and the results will show the default value, which it pulls from the data dictionary, the trigger cannot handle it. It appears to pull the value from the data block, not the data dictionary. So if it has never been updated, those two values will be out of synch. The fix, shown below, it to update each row.
For example, in 11.2.0.2:
1. Create a new table, insert one row, and add a new column (not null, with default value):
create table t (c1 number, c2 number);
insert into t values (1,1);
alter table t add (c3 number default 0 not null);Select from it and everything looks fine. The value for C3 is 0, my default. Perfect.
SQL> select * from t;
C1 C2 C3
1 1 0My new column C3 looks fine. Even though that row was never updated, my query pulled the default value of 0 from the data dictionary. Great!
But now add a simple trigger:
create or replace trigger t_bur_tr
before update on t for each row
begin
:new.c3 := :new.c3;
end;
/I am updating C1, one of my original columns. The trigger looks at the new value of C3 anyway, but because I am not updating it, it should equal its existing value. But this is what I get:
SQL> update t set c1 = 9999 where c1 = 1;
update t set c1 = 9999 where c1 = 1
ORA-01407: cannot update ("AMARTIN"."T"."C3") to NULL
SQL> The workaround is to update every row. (Defeating the purpose of the cool new 11g feature that can supposedly add columns without updating each row.)
SQL> update t set c3 = c3;
1 row updated
SQL> commit;
Commit complete
SQL> select * from t;
C1 C2 C3
1 1 0
SQL> update t set c1 = 9999 where c1 = 1;
1 row updated
SQL> select * from t;
C1 C2 C3
9999 1 0 Now it works as expected.
Just a heads-up on this unexpected feature. Not a bug? Sure looks like one to me.
Edit: Appears to be fixed in 11.2.0.3 -
How to add a new column to a existing table and add data to this column?
I have a table with about 10 millions row and I want to add a new column to this table, then fill this new column with prepared data.
How to do it ?
Thank youCan I use insert statement to add the data to new-added column?No.
07:19:37 oracle >create table test (x number);
Table created.
Elapsed: 00:00:03.05
07:19:53 oracle >
07:19:53 oracle >
07:19:53 oracle >insert into test values (1);
1 row created.
Elapsed: 00:00:00.00
07:20:01 oracle >insert into test values (2);
1 row created.
Elapsed: 00:00:00.00
07:20:10 oracle >insert into test values (3);
1 row created.
Elapsed: 00:00:00.00
07:20:12 oracle >
07:20:13 oracle >commit;
Commit complete.
Elapsed: 00:00:00.00
07:20:14 oracle >
07:20:19 oracle >select * from test;
X
1
2
3
Elapsed: 00:00:00.00
07:20:22 oracle >
07:20:36 oracle >alter table test add (y number);
Table altered.
Elapsed: 00:00:00.05
07:20:41 oracle >
07:20:41 oracle >
07:20:41 oracle >
07:20:41 oracle >select * from test;
X Y
1
2
3
Elapsed: 00:00:00.00
07:20:43 oracle >
07:20:44 oracle >
07:20:44 oracle >update test set y=1;
3 rows updated.
Elapsed: 00:00:00.02
07:20:52 oracle >commit;
Commit complete.
Elapsed: 00:00:00.00
07:20:56 oracle >select * from test;
X Y
1 1
2 1
3 1
Elapsed: 00:00:00.00
07:20:58 oracle >Anand -
How to create New columns for the Internal Table Dynamically?
HI Guys,
In my logic i have to create new columns depending on the logic which i am executing.
My requirement is .I have to display o/p like this
Material || Year || Period || Mix ratio || Vendor ||Mix Ratio || Vendor || Mix Ratio Vendor || Mix ratio || Vendor || Mix ratio.............................from table's CKMLMV003 and CKMLMV001.Her i have to display the o/p in the above format and i have to display Vendor and Mix Ratio for 5 columns irrespective of data .If i have more than 5 columns for any record then i have to create a New columns dynamically for Vendor and Mix ratio.If anybody want my code i can Submit But plz tell with example how to do?
<b>The O/P must be finally shown in ALV Grid</b>
Thanks,
GopiYou must create the entire internal table dynamically, you can not add columns to a statically define internal table. Here is an example of creating a dynamic internal table.
Creation of internal table dynamically based on the Date Range entered
Regards,
Rich Heilman -
Adding Specific columns of dynamic internal table row into another column
Hi Gurus,
I need to add few columns of a dynamic internal table row into another column:
Article description hy01 hy02 total
101 panza 10 12 22
102 masht 12 12 24
dynamic internal table is created and columns hy01 hy02.... can increase
How to add the the values in hy01 hy 02... into total.
Regards,
DepHi,
If you really want to have a dynamic table, then you will have to find a way to generate a whole new table, and then copy the data from the old table to the new one. There is no way to modify a type during runtime in ABAP.
Here an example how to generate a dynamic table based on another internal table, hope this will help you.
TYPE-POOLS: slis.
PARAMETERS: p_nb_hy TYPE i DEFAULT 2. "Number of new HY columns to be added
* Type ZST_T:
* matnr TYPE matnr
* maktx TYPE maktx
* hy01 TYPE i
* total TYPE i
TYPES: ty_t TYPE STANDARD TABLE OF zst_s.
PERFORM main.
*& Form main
* text
FORM main.
DATA: lt_fieldcat TYPE slis_t_fieldcat_alv,
lt_t TYPE ty_t,
lr_new_t TYPE REF TO data.
FIELD-SYMBOLS: <lt_new_t> TYPE STANDARD TABLE.
"Add some lines to LT_T just to have something to display on screen
DO 10 TIMES.
APPEND INITIAL LINE TO lt_t.
ENDDO.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZST_S'
CHANGING
ct_fieldcat = lt_fieldcat.
"Copy LT_T to LR_NEW_T
PERFORM extend_and_copy_table USING lt_t p_nb_hy CHANGING lr_new_t lt_fieldcat.
CLEAR lt_t. "Not needed anymore...
ASSIGN lr_new_t->* TO <lt_new_t>.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = lt_fieldcat
TABLES
t_outtab = <lt_new_t>.
ENDFORM. "main
*& Form extend_and_copy_table
FORM extend_and_copy_table USING ut_t TYPE STANDARD TABLE
uv_nb_hy TYPE i
CHANGING cr_t TYPE REF TO data
ct_fieldcat TYPE slis_t_fieldcat_alv
RAISING cx_sy_struct_creation cx_sy_table_creation.
DATA: lo_tabledescr TYPE REF TO cl_abap_tabledescr,
lo_structdescr TYPE REF TO cl_abap_structdescr,
lo_new_structdescr TYPE REF TO cl_abap_structdescr,
lo_new_tabledescr TYPE REF TO cl_abap_tabledescr,
lt_components TYPE cl_abap_structdescr=>component_table,
ls_component TYPE cl_abap_structdescr=>component,
lv_field_cnt TYPE numc2,
ls_fieldcat TYPE slis_fieldcat_alv,
lr_fieldcat TYPE REF TO slis_fieldcat_alv.
FIELD-SYMBOLS: <ls_old_s> TYPE ANY,
<lt_new_t> TYPE STANDARD TABLE,
<ls_new_s> TYPE ANY.
"Get the list of all components from UT_T line structure
lo_tabledescr ?= cl_abap_tabledescr=>describe_by_data( ut_t ).
lo_structdescr ?= lo_tabledescr->get_table_line_type( ).
lt_components = lo_structdescr->get_components( ).
"The new columns will be from type of column HY01
ls_component-type = lo_structdescr->get_component_type( 'HY01' ).
"The new columns will have the same fieldcat info as column HY01
READ TABLE ct_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'HY01'.
"HY<lv_field_cnt> = new field name
lv_field_cnt = uv_nb_hy + 1.
"For each new column...
DO uv_nb_hy TIMES.
"Generate the new column field name
CONCATENATE 'HY' lv_field_cnt INTO ls_component-name.
ls_fieldcat-fieldname = ls_component-name.
"Add the new field to the components of the new structure
INSERT ls_component INTO lt_components INDEX 4.
"Add the new field's fieldcat info to the fieldcat
INSERT ls_fieldcat INTO ct_fieldcat INDEX 4.
lv_field_cnt = lv_field_cnt - 1.
ENDDO.
"Adjust the COL_POS from fieldcat
LOOP AT ct_fieldcat REFERENCE INTO lr_fieldcat.
lr_fieldcat->col_pos = sy-tabix.
ENDLOOP.
"Create the new table
lo_new_structdescr = cl_abap_structdescr=>create( p_components = lt_components ).
lo_new_tabledescr = cl_abap_tabledescr=>create( p_line_type = lo_new_structdescr ).
CREATE DATA cr_t TYPE HANDLE lo_new_tabledescr.
ASSIGN cr_t->* TO <lt_new_t>.
"Copy all data from old to new table
LOOP AT ut_t ASSIGNING <ls_old_s>.
APPEND INITIAL LINE TO <lt_new_t> ASSIGNING <ls_new_s>.
MOVE-CORRESPONDING <ls_old_s> TO <ls_new_s>.
ENDLOOP.
ENDFORM. "main -
Found errors in existing report after added a column in an existing table
Hi,
I have a Table called "EMP" and a interactive report "EMP_Details".
EMP table has data and it shows in the report.
EMP_Details report has two buttons. - 1.Create - it is used while inserting a new record into the table for a new joinee
2. Get_Info - it is used in case you want to know about an employee(there is a drop down to select the name os a employee) in details.
Till now the report was working fine.
Now What I did...
1. I did some edit in the values in the EMP table.
2. I added a new column in the Table and put some value in each row. Now the table was changed and the new values and column was reflected in the table.
3. so accordingly, I added the new column in the "Process" used for inserting a new record into the table and i selected the new column from the "Select column list" for showing it in the report.
Now what happened to report
1. I am getting the report for the old employees but what i made changes in the table.. it has not been reflected in the report.
2. The new column is shown in the report but the values I have put in the table have not shown in the report.
3. While inserting the data for a new joinee, the value can not be inserted into the table at all.
Appreciate, If anyone understands my issues and give any solution.
Thanks in advance.
KuldipKuldip:
Sounds like you may have forgotten to 'Commit' your changes to the database . Go to the session where you edited the values of the EMP table and execute a 'commit'.
varad -
Adding a column in an internal table
Hi,
I want to know how to add different rows of a column in an internal table.
My code :
Declaration Part-----
types : begin of imchb,
clabs like mchb-clabs,
cumlm like mchb-cumlm,
cinsm like mchb-cinsm,
tot_val_stock type p decimals 3,
pm_percent type p decimals 6,
end of imchb.
data : int_inv type standard table of imchb with header line,
wa_inv like line of int_inv.
Then I do few calculations and display it in the column pm_percent.
Now I want to sum this column.
Summation---
loop
at int_inv into wa_inv.
at end of pm_percent.
sum.
endat.
endloop.
write :/ wa_inv-pm_percent.
However , wa_inv-pm_percent only gives me the value of the last row of the column.
Kindly suggest .Hi,
Please try this code:
loop at int_inv into wa_inv.
lv_count = lv_count + 1.
AT END OF posnr. <------- The field you want to sum..
gs_total-posnr = wa_inv-posnr.
gs_total-cov_total = lv_count.
APPEND gs_total TO gt_total.
CLEAR : gs_total,
lv_count,
wa_inv.
ENDAT.
ENDLOOP. -
Adding custom column to a Data Table (bound to database table)
Hello,
I've added an additional "Output Text" column to an existing "Data Table" component, which is pulling a database table and rendering it. It's actually called "OutputText5". What I want to do, is set the value of the "OutputText5" dynamically, depending on a Date comparison between the system date, and one of the currentRow field values, which is actually an Oracle Date data type. basically I'm trying to use the Date.after() comparison and put different content in there depending on true or false evaluation.
Seems simple enough .. but.. I'm trying to do this without using vim and JSP Beans (how I'd usually do this). I'm not experienced with JSF components and how this would be done using JSC - can I iterate over currentRow or something inside the "Page1.java" source? Is there an easy way to create dynamic value bindings like this in Data Table components in general? Maybe using expressions in "OutputText5" properties or something? I figure I should ask about doing this the easy way, before I spend lots of time and start teaching myself bad habbits.
I apologise in advance if this is a repeat post. I spent some time searching ,but came up empty handed.
Thanks in advance.
David BashamHi David,
Here's some ideas to try on:
http://swforum.sun.com/jive/thread.jspa?forumID=123&threadID=49459
hth,
v -
Shortcut object in Sunopsis- Adding one column in multiple aggregate tables
Hello,
We have a situation where we have existing aggregate tables. Now i need to add one column in common to all the aggregate tables(more than 10 aggregate tables). Is there some way out to do all at the same e.g. making some shortcut object or something else.Hi,
have you tried requesting the focus on your newly selected internal frame ?
Maybe you are looking for
-
What are the tables involved in hierarchy of cost centers?How to link them?
I want to generate the report for the GFIMs attached o the cost centers. It should be similar to the transaction OKENN . if a cost center is having an hiearchy , a cost group then will go on taking the parent node till the last node. Which are th
-
Macbook Pro Sound becomes mute after upgrading to 10.6.3
Every thing on my new MBP was working fine, till I just upgraded the firmware from the 10.6.2 to 10.6.3 Now the sound went mute. No mater what I do, it remains mute. I tried every thing, went to system preferences, tried to slide the volume slider, b
-
Edit Chart error in web application designer
Hello, Whenever I try to edit a chart in de WAD the edit popup window is empty (no edit fields). Does anyone know how to solve this error. BW is running on WAS 6.20 and I am running SAP GUI 6.40 patch 22. Kind regards, Raymond Does
-
Problem using a vector of strings as patterns to search a text file
Ideas? Goal is to use several patterns from one file to search for matches in a second file, one pattern at a time. I have added the file of patterns to a vector and created an iterator to grab each pattern successively. I also can effectively search
-
Instagram Photo Home Printing Guide
Hi all, The attached PDF's are brief guides to printing Instagram photos using the following: HP Photosmart Essentials & Photo Creations software. e-Print & Air Print on IOS Apple mobile devices I've had trouble printing Instagram photos in the past