How to create one master table and two detail for it
I have one table , imagine it like mastertable( empid,deptid );
and two different tables like employeetable(empid ) , departmenttable ( deptid )....
I dont have any relation on database side. I need to create view link and ı need to use only one master table for two detail tables.
How can ı manage this scenerio ?
thanks...
yes Shay ı really want to use two detail table in one UI as you suggest in your blog. But in that scenerio probably tables have link in database side with foreign key. My detail tables dont have any connection in database side with my master table. How can ı link them under one mastertableVO ?
I am really sorry about my bad explanation. I am a newbie and probably ı dont know the correct words to tell my problem.
Thanks for your time...
Similar Messages
-
How to create One Master - and 2 detail records region
Hi,
My requirement is to have three regions on a single page, one for master record and two for detail records.
Also, one detail record region needs to upload images (photos) to database.
Can some one tell me how to do this in APEX.
Thanks
AaliHi Aali, I have the same issue in a master detail form, I don't know how to upload images in the detail form, can you help me please.
Thanks and regards,
Wilson -
Creating a master table and using it to populate other tables.
Hi everyone.
I am a novice at using Numbers and I need some direction.
I am looking to create a master table with information for our summer camp. This table will include vital information such as name, address, etc. along with cabin assignments, tuitions received, and more.
We will separate this information into smaller tables that different portions of that master table for specific use. Such as: names and addresses for leaders, names and tuitions for registration, etc.
My goal is to type the information into the master table and have it update the other tables automatically. Can someone direct me how to format the master and sub tables so that this is possible?
I would greatly appreciate it and it will greatly reduce the record-keeping time for our camp.
Thank You!
RoyHi Roy,
Welcome to the Numbers discussions. You are giving us a tall order, especially when we don't know your level of experience in programming spreadsheets.
Here are a couple of basics to start the conversation...
In normal spreadsheet programming, we Pull data from one location into another, we don't Push it or Send it. This should help you to understand that the hard work is done in the sub tables, not the master.
You will use LOOKUP functions to pull the data to your sub tables. Download the Numbers User Guide and the Formulas and Functions User Guide and read up on them.
In your master table, make sure you have one column that uniquely identifies each participant so it will be easy to reference that person in your sub tables.
Regards,
Jerry -
How to find out master tables and concern child tables
Hi,
my schema contains 219 tables. I got this result by using query "selct count(*) from user_tables".
Now i need to know about master tables and concern child tables from these 219 tables.
please guide me.
Thanks and Regards,
VenkatWhat about this one!!!
select a.owner,a.table_name,a.column_name,
'------------------>' as POINTS_TO,b.owner,b.table_name,b.column_name
from dba_constraints c
join dba_cons_columns a on ( c.constraint_name = a.constraint_name and c.owner = a.owner)
join dba_cons_columns b on ( c.r_constraint_name = b.constraint_name and c.r_owner = b.owner)
where (a.table_name = '&table' and (a.owner='&owner')) -- foreign key
-- and (b.table_name = '&table' and (b.owner='&owner') ) -- source key
and ( c.constraint_type='R' )
order by a.table_namecomment and uncomment one between theese two lines to choose the direction.
(a.table_name = '&table' and (a.owner='&owner')) -- foreign key
-- and (b.table_name = '&table' and (b.owner='&owner') ) -- source keyBye Alessandro
Edited by: Alessandro Rossi on 22-ott-2008 10.40 -
How to create one soap interface with two soap action?
Hi,
I need to create one SOAP Interface with two or more webmethods (soap action), for example:
Interface: MI_Outb_User
Webmethods: createUser, searchUser, deleteUser.
Can anybody helpe me?Hi Santos,
I assume you will use one action at a time and depending upon certain condition you want to invoke the webservice and the corresponding action. If this is yes, then please check michaels reply in this thread:
How can I handle serveral soap actions
or see stefans reply:
Re: Is SOAP Adapter Action field can contain 2 or more "SOAP Actions"
If this is not, then please ignore it.
Regards,
---Satish -
How to create solved fact table and corresponding cube
Hello,
I want to create cube with solved fact table. It means, i need to feed data for higher levels of dimension also from fact table instead of aggreting from base level.
I am using star schema and AWM 10g R2 for creating cube.
If anyone knows how to do this, i would be very benificial.
Thanks
SubashI have generated parent child script using cwm2_olap_pc_transform.create_script. After running this generated script, it has created 3 table/view.
My Base Parent Child table is like this:-
drop table PARENT_CHILD;
create table PARENT_CHILD (PARENT varchar2(30), CHILD varchar2(30));
insert into PARENT_CHILD values ('Eligible', 'Compliant');
insert into PARENT_CHILD values ('Eligible', 'Non-Compliant');
insert into PARENT_CHILD values ('All', 'Eligible');
insert into PARENT_CHILD values ('All', 'Ineligible');
insert into PARENT_CHILD values (null, 'All');
After running generated script thru cwm2_olap_pc_transform.create_script, it has created :-
Table - PARENT_CHILD_SOLVED
View - PARENT_CHILD_SOLVED_view , PARENT_CHILD_view
This script also inserted data in above table/view. (5 rec in each). Table/View structure is like this:-
SQL> desc PARENT_CHILD_view
Name Null? Type
GID NUMBER
CHILD1 VARCHAR2(30)
CHILD2 VARCHAR2(30)
CHILD3 VARCHAR2(30)
Data:-
0 All Eligible Compliant
0 All Eligible Non-Compliant
1 All Eligible
1 All Ineligible
3 All
SQL> desc PARENT_CHILD_SOLVED
Name Null? Type
GID NUMBER
CHILD1 VARCHAR2(30)
CHILD2 VARCHAR2(30)
CHILD3 VARCHAR2(30)
Data:-
0 All Eligible Compliant
0 All Eligible Non-Compliant
1 All Eligible
1 All Ineligible
3 All
SQL> desc PARENT_CHILD_SOLVED_view
Name Null? Type
GID NUMBER
SHORT_DESCRIPTION VARCHAR2(30)
LONG_DESCRIPTION VARCHAR2(30)
CHILD1 VARCHAR2(30)
CHILD2 VARCHAR2(30)
CHILD3 VARCHAR2(30)
Data:-
0 Compliant Compliant All Eligible Compliant
0 Non-Compliant Non-Compliant All Eligible Non-Compliant
1 Eligible Eligible All Eligible
1 Ineligible Ineligible All Ineligible
3 All All All
I tried to create dim and cube based on this. I am not sure whether its correct or not! Though validate_dimension API call shows that it is valid.
Script for Dim:-
DECLARE
-- variable to hold error message
errtxt varchar(60);
BEGIN
-- To be on safer side just drop dimension before creating new one and catch exceptions
BEGIN
cwm2_olap_dimension.drop_dimension('APPS', 'HCP_DIM_PC');
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Dimension HCP_DIM_PC not dropped');
END;
cwm2_olap_dimension.create_dimension(
'APPS',
'HCP_DIM_PC',
'Parent Child',
NULL,
'Parent Child',
'Parent Child',
NULL);
cwm2_olap_dimension_attribute.create_dimension_attribute(
'APPS',
'HCP_DIM_PC',
'Short Description',
'Short Description',
'Short Description',
'Short Description',
TRUE);
cwm2_olap_dimension_attribute.create_dimension_attribute(
'APPS',
'HCP_DIM_PC',
'Long Description',
'Long Description',
'Long Description',
'Long Description',
TRUE);
cwm2_olap_dimension_attribute.create_dimension_attribute(
'APPS',
'HCP_DIM_PC',
'Grouping ID',
'Grouping ID',
'Grouping ID',
'Grouping ID',
TRUE);
cwm2_olap_hierarchy.create_hierarchy(
'APPS',
'HCP_DIM_PC',
'HCP_DIM_PC_HIER',
'Standard',
'Standard',
'Standard Parent Child Hierarchy',
'SOLVED LEVEL-BASED');
cwm2_olap_dimension.SET_DEFAULT_DISPLAY_HIERARCHY ('APPS', 'HCP_DIM_PC', 'HCP_DIM_PC_HIER');
cwm2_olap_level.create_level(
'APPS',
'HCP_DIM_PC',
'ALL_PARENT_LVL',
'All Parent Child',
'All Parent Child',
'All Parent Child',
'All Parent Child Level');
cwm2_olap_level_attribute.create_level_attribute(
'APPS',
'HCP_DIM_PC',
'Short Description',
'ALL_PARENT_LVL',
'Short Description',
'Short Description',
'Short Description',
'Short Description',
TRUE);
cwm2_olap_level_attribute.create_level_attribute(
'APPS',
'HCP_DIM_PC',
'Long Description',
'ALL_PARENT_LVL',
'Long Description',
'Long Description',
'Long Description',
'Long Description',
TRUE);
cwm2_olap_level_attribute.create_level_attribute(
'APPS',
'HCP_DIM_PC',
'Grouping ID',
'ALL_PARENT_LVL',
'Grouping ID',
'Grouping ID',
'Grouping ID',
'HTB Grouping ID',
TRUE);
-- Add all levels one by one to dimension hierarchy. For top most level last parameter is null.
cwm2_olap_level.add_level_to_hierarchy(
'APPS',
'HCP_DIM_PC',
'HCP_DIM_PC_HIER',
'ALL_PARENT_LVL',
NULL);
BEGIN
cwm2_olap_table_map.removemap_dimtbl_hierlevel(
'APPS',
'HCP_DIM_PC',
'HCP_DIM_PC_HIER',
'ALL_PARENT_LVL');
cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
'APPS', 'HCP_DIM_PC', 'Short Description', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Short Description');
cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
'APPS', 'HCP_DIM_PC', 'Long Description', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Long Description');
cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
'APPS', 'HCP_DIM_PC', 'Grouping ID', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Grouping ID');
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Level map for ALL_PARENT_LVL not removed');
END;
-- Map ALL_PARENT_LVL level to dimension table. Last parameter is null since it is top most level
cwm2_olap_table_map.map_dimtbl_hierlevel(
'APPS',
'HCP_DIM_PC',
'HCP_DIM_PC_HIER',
'ALL_PARENT_LVL',
'APPS',
'PARENT_CHILD_SOLVED_VIEW',
'GID',
NULL);
-- one by one map all the level attributes to respective columns in the dimension table.
cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
'APPS',
'HCP_DIM_PC',
'Short Description',
'HCP_DIM_PC_HIER',
'ALL_PARENT_LVL',
'Short Description',
'APPS',
'PARENT_CHILD_SOLVED_VIEW',
'SHORT_DESCRIPTION');
cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
'APPS',
'HCP_DIM_PC',
'Long Description',
'HCP_DIM_PC_HIER',
'ALL_PARENT_LVL',
'Long Description',
'APPS',
'PARENT_CHILD_SOLVED_VIEW',
'LONG_DESCRIPTION');
cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
'APPS',
'HCP_DIM_PC',
'Grouping ID',
'HCP_DIM_PC_HIER',
'ALL_PARENT_LVL',
'Grouping ID',
'APPS',
'PARENT_CHILD_SOLVED_VIEW',
'GID');
-- Use cwm2_olap_validate.validate_dimension to validate the dimension
cwm2_olap_validate.validate_dimension('APPS', 'HCP_DIM_PC');
cwm2_olap_metadata_refresh.mr_refresh;
-- Rollback if any exception occurs during processing this script
EXCEPTION
WHEN OTHERS THEN
cwm_utility.dump_error;
errtxt := cwm_utility.get_last_error_description;
dbms_output.put_line('ERROR: ' || errtxt);
ROLLBACK;
RAISE;
END;
Script for Cube:-
declare
HCP_time_dim number;
errtxt varchar(60);
begin
cwm_utility.collect_garbage;
begin
cwm2_olap_cube.drop_cube('APPS', 'HCP_PC_CUBE');
exception
when others then
dbms_output.put_line('No HCP_PC_CUBE to drop');
end;
begin
cwm2_olap_catalog.drop_catalog('HCP_PC_CAT');
exception
when others then
dbms_output.put_line('No HCP_PC_CAT to drop');
end;
CWM2_OLAP_CUBE.Create_Cube('APPS', 'HCP_PC_CUBE', 'Parent Child Cube', 'Parent Child Cube','Parent Child Cube');
cwm2_olap_cube.add_dimension_to_cube('APPS', 'HCP_PC_CUBE','APPS', 'HCP_DIM_PC');
cwm2_olap_measure.create_measure('APPS', 'HCP_PC_CUBE', 'HCP_PC_MEASURE', 'PC Measure','PC Measure', 'PC Measure Fact');
cwm2_olap_table_map.map_facttbl_levelkey('APPS','HCP_PC_CUBE','APPS','HCP_PC_FACT','ET', 'DIM:APPS.HCP_DIM_PC/HIER:HCP_DIM_PC_HIER/GID:GID/LVL:ALL_PARENT_LVL/COL:CHILD3;');
cwm2_olap_table_map.Map_FactTbl_Measure('APPS', 'HCP_PC_CUBE','HCP_PC_MEASURE', 'APPS', 'HCP_PC_FACT', 'MEASURE_COL', 'DIM:APPS.HCP_DIM_PC/HIER:HCP_DIM_PC_HIER/GID:GID/LVL:CHILD3/COL:SHORT_DESCRIPTION;');
cwm2_olap_catalog.create_catalog('HCP_PC_CAT', 'Parent Child Catalog');
cwm2_olap_catalog.add_catalog_entity('HCP_PC_CAT', 'APPS', 'HCP_PC_CUBE', 'HCP_PC_MEASURE');
cwm2_olap_validate.validate_cube('APPS', 'HCP_PC_CUBE','DEFAULT','YES');
cwm2_olap_metadata_refresh.mr_refresh;
exception
when others then
cwm_utility.dump_error;
errtxt := cwm_utility.get_last_error_description;
dbms_output.put_line('ERROR: ' || errtxt);
rollback;
raise;
END;
My Fact Table is :-
DROP TABLE HCP_PC_FACT CASCADE CONSTRAINT;
CREATE TABLE HCP_PC_FACT (
SHORT_DESCRIPTION VARCHAR2(30) NOT NULL,
GID NUMBER NOT NULL,
CHILD1 VARCHAR2(30) NOT NULL,
CHILD2 VARCHAR2(30) ,
CHILD3 VARCHAR2(30) ,
MEASURE_COL NUMBER NOT NULL);
Data in Fact Table:-
insert into HCP_PC_FACT values('Compliant',0,'All','Eligible','Compliant', 100);
insert into HCP_PC_FACT values('Non-Compliant',0,'All','Eligible','Non-Compliant', 200);
insert into HCP_PC_FACT values('Eligible',1,'All','Eligible',null, 300);
insert into HCP_PC_FACT values('Ineligible',1,'All','Ineligible',null, 400);
insert into HCP_PC_FACT values('All',3,'All',null,null, 500);
I am not sure how to create level, level attr, dim attr for such dim.
All CWM2 validation API shows that my all dims, cubes are valid but when I try to create presentation thru JDev it hangs after selecting Parent-Child Measure.
Any complete working exapmle will be helpful.
P.S. One more query I have can we have one solved and one un-solved dim in the same cube/measure?
regds
Prakash -
How 2 create dynamic internal table and can we pass it to gui_download FM
HI all,
How can we create a dynamic internal table?
I have a requirement where i have to create an internal table with the no. of fields depending on the selection screen values, i think tat can be possible though dynamic creation only.
How to solve this issue..?Pointers will be very much useful..
Thanks
Sunny.hi
Follow the code it will help you out....
REPORT YUSMM_TEXT2 .
*TABLES
TABLES: MARA, " General Material Data
MAKT, " Material Descriptions
T002. " Language Keys
* GLOBAL TYPE-POOL
TYPE-POOLS : SLIS.
* GLOBAL TYPES
TYPES: BEGIN OF TP_LANG ,
SPRAS LIKE T002-SPRAS,
LAISO LIKE T002-LAISO,
SRNO(3) TYPE N,
END OF TP_LANG.
TYPES: BEGIN OF TP_MATNR,
MATNR LIKE MARA-MATNR,
BEGRU LIKE MARA-BEGRU,
END OF TP_MATNR.
* DECLARATION FOR GLOBAL INTERNAL TABLES (WITH INCLUDE STRUCTURE)
DATA:GT_MAKT TYPE STANDARD TABLE OF MAKT, "Materialkurztexte,
GT_THEAD TYPE STANDARD TABLE OF THEAD, "SAPscript: Text-Header,
GT_LINETAB TYPE STANDARD TABLE OF TLINE, "SAPscript: Text-Zeilen,
GT_T002 TYPE STANDARD TABLE OF T002. "Language key
DATA: BEGIN OF GV_TEXT_OUTPUT_LINE,
MATNR LIKE MARA-MATNR,
BEGRU LIKE MARA-BEGRU,
MAKTX LIKE MAKT-MAKTX,
LTXT40(1250) TYPE C,
SRNO(3) TYPE N,
SPRAS LIKE T002-SPRAS,
END OF GV_TEXT_OUTPUT_LINE.
DATA: GT_MATNR TYPE STANDARD TABLE OF TP_MATNR,
WA_GT_MATNR TYPE TP_MATNR.
DATA: GT_LANG TYPE STANDARD TABLE OF TP_LANG,
WA_GT_LANG TYPE TP_LANG.
DATA: GT_TEXT_OUTPUT_LINE LIKE STANDARD TABLE OF GV_TEXT_OUTPUT_LINE,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GV_FIELDCAT LIKE LINE OF GT_FIELDCAT,
CT_GT_FIELDCAT_IN LIKE GV_FIELDCAT,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GV_REPID TYPE SY-REPID.
DATA: BEGIN OF GV,
FORMER_ERROR LIKE SY-MARKY, " Fehlermeldung bereits
FILE_OPEN(1), " Flag open file
REC_LENGTH TYPE I, " record length
MATNR TYPE MARA-MATNR, " material
REPID TYPE SYST-REPID,
RETCO TYPE SY-SUBRC,
END OF GV.
DATA: GV_MAKT TYPE MAKT,
GV_T002 TYPE T002,
GV_LANGU TYPE THEAD-TDSPRAS.
* DECLARATION FOR FIELD-SYMBOLS
FIELD-SYMBOLS: <FS_DATA> TYPE REF TO DATA,
<FS_DATA1> TYPE REF TO DATA,
<FS_2> TYPE STANDARD TABLE,
<FS_22> TYPE STANDARD TABLE,
<FS_1>,
<FS_11>,
<F>,
<FA>,
<LWA_LINE_WA>,
<LWA_LINE_WA1>.
DATA: IT_FLDCAT TYPE LVC_T_FCAT.
DATA: T_FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
DATA: L_LT TYPE SLIS_LAYOUT_ALV.
DATA: WA_IT_FLDCAT TYPE LVC_S_FCAT.
DATA: WA_IT_FLDCAT1 TYPE SLIS_FIELDCAT_ALV.
DATA: GP_TABLE TYPE REF TO DATA.
DATA: WA_NEWLINE TYPE REF TO DATA.
*DECLARATION FOR CONSTANTS
CONSTANTS:
BEGIN OF GC,
TDID_GRUN TYPE THEAD-TDID VALUE 'GRUN',
TDOBJECT_MAT TYPE THEAD-TDOBJECT VALUE 'MATERIAL',
ON(01) TYPE C VALUE 'X',
YES(01) TYPE C VALUE 'X',
TXT(25) TYPE C VALUE 'MATERIAL DETAILS',
MAT(25) TYPE C VALUE 'MATERIAL NUMBER',
AUT(25) TYPE C VALUE 'AUTHORIZATION GROUP',
FOUND TYPE SY-SUBRC VALUE '00', " Return-Code
RC_OK TYPE SY-SUBRC VALUE '00', " Return-Code
OFF TYPE SY-SUBRC VALUE '00', " return code
FALSE TYPE SY-SUBRC VALUE '00', " boolean
TRUE TYPE SY-SUBRC VALUE '01', " boolean
END OF GC.
* DECLARATION FOR VARIABLES
DATA: V(3) TYPE N,
STR TYPE STRING,
STR1 TYPE STRING,
V_VAR(3) TYPE N,
V_VAR1(3) TYPE N,
V_FIELDNAME(15) TYPE C,
V_CHAR(15) TYPE C,
V_LINES(3) TYPE N,
MAKTEXT LIKE MAKT-MAKTX,
LT_DATA TYPE REF TO DATA,
LT_DATA1 TYPE REF TO DATA,
LWA_LINE TYPE REF TO DATA,
LWA_LINE1 TYPE REF TO DATA.
*SELECTION-SCREEN AND PARAMETERS
SELECTION-SCREEN: BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS:
S_MATNR FOR MARA-MATNR, "MATERIAL NUMBER
S_MTART FOR MARA-MTART, "MATERIAL TEXT
S_LANG FOR MAKT-SPRAS. "LANGUAGE
PARAMETER: GP_SIZE TYPE I DEFAULT 200. "DATA LENGTH
SELECTION-SCREEN: END OF BLOCK A1.
* AT SELECTION SCREEN
AT SELECTION-SCREEN.
IF GP_SIZE < 0.
MESSAGE E002(00).
ENDIF.
IF GP_SIZE > 50000.
MESSAGE W130(26) WITH TEXT-004.
SET CURSOR FIELD 'gp_size'.
ENDIF.
* INITIALIZATION
INITIALIZATION.
GV-REPID = SY-REPID.
*START-OF-SELECTION
START-OF-SELECTION.
PERFORM GET_MARA_DATA
TABLES
GT_TEXT_OUTPUT_LINE
USING
S_MATNR[]
S_MTART[]
GP_SIZE
CHANGING
GV-RETCO
PERFORM GET_MAT_TEXT
TABLES
GT_MAKT
GT_TEXT_OUTPUT_LINE
GT_THEAD
GT_LINETAB
USING
GC
GV-RETCO
CHANGING
GV_TEXT_OUTPUT_LINE
GV_MAKT
PERFORM GET_LANG.
PERFORM DYNAMIC_TABLES.
PERFORM POPULATE_FINAL_TABLE.
PERFORM POPULATE_DYNAMIC_TABLE.
* END-OF-SELECTION
END-OF-SELECTION.
PERFORM DATA_OUTPUT.
*& Form get_mara_data
* Materialdaten lesen
* <->ct_gt_text_output_line Ausgabetabelle
* -->it_s_matnr Parameter Materialnummer
* -->it_s_mtart Parameter Materialart
* -->if_gp_size Parameter Anzahl Materialnummern
FORM GET_MARA_DATA TABLES CT_GT_TEXT_OUTPUT_LINE STRUCTURE
GV_TEXT_OUTPUT_LINE
USING IT_S_MATNR LIKE S_MATNR[]
IT_S_MTART LIKE S_MTART[]
IF_GP_SIZE
CHANGING IF_GV-RETCO. "#EC *
* MARA in die Übergabestruktur einlesen
SELECT MATNR BEGRU
FROM MARA UP TO IF_GP_SIZE ROWS
APPENDING CORRESPONDING FIELDS OF TABLE GT_MATNR
WHERE MATNR IN IT_S_MATNR
AND MTART IN IT_S_MTART.
IF_GV-RETCO = SY-SUBRC.
ENDFORM. " get_mara_data
*& Form get_mat_text
* Kurz- und Langtexte zum Material lesen
* <->ct_gt_makt Materialkurztexte
* <->ct_gt_text_output_line Ausgabetabelle
* <->ct_gt_thead Kopftabelle für ALV
* <->ct_gt_linetab Zeilentabelle für ALV
* -->if_gc Globale Konstanten
* <--cf_gv_text_output_line Struktur Ausgabetabelle
* <--cf_gv_makt Struktru Materialkurztexte
FORM GET_MAT_TEXT TABLES CT_GT_MAKT STRUCTURE MAKT
CT_GT_TEXT_OUTPUT_LINE STRUCTURE
GV_TEXT_OUTPUT_LINE
CT_GT_THEAD STRUCTURE THEAD
CT_GT_LINETAB STRUCTURE TLINE
USING
IF_GC LIKE GC
IF_GV-RETCO
CHANGING CF_GV_TEXT_OUTPUT_LINE LIKE
GV_TEXT_OUTPUT_LINE
CF_GV_MAKT LIKE GV_MAKT
DATA: STRG TYPE STRING,
STRG1(1255) TYPE C.
IF IF_GV-RETCO = IF_GC-FOUND.
* Materialkurztexte in alles Sprachen einlesen
SELECT * FROM MAKT APPENDING TABLE CT_GT_MAKT
FOR ALL ENTRIES IN GT_MATNR "ct_gt_text_output_line
WHERE MATNR = GT_MATNR-MATNR " ct_gt_text_output_line-matnr
* Kurztexte in die sprachabhängigen Felder bringen
LOOP AT GT_MATNR INTO WA_GT_MATNR.
LOOP AT CT_GT_MAKT INTO CF_GV_MAKT
WHERE MATNR = WA_GT_MATNR-MATNR.
CF_GV_TEXT_OUTPUT_LINE-MATNR = WA_GT_MATNR-MATNR.
CF_GV_TEXT_OUTPUT_LINE-BEGRU = WA_GT_MATNR-BEGRU.
CF_GV_TEXT_OUTPUT_LINE-MAKTX = CF_GV_MAKT-MAKTX.
CF_GV_TEXT_OUTPUT_LINE-SPRAS = CF_GV_MAKT-SPRAS.
* LANGTEXT
CLEAR CT_GT_THEAD[].
CT_GT_THEAD-TDOBJECT = IF_GC-TDOBJECT_MAT.
CT_GT_THEAD-TDNAME = WA_GT_MATNR-MATNR.
CT_GT_THEAD-TDID = IF_GC-TDID_GRUN.
CT_GT_THEAD-TDSPRAS = CF_GV_MAKT-SPRAS.
CALL FUNCTION 'TEXT_READ'
EXPORTING
I_HEADER = CT_GT_THEAD
I_READONLY = IF_GC-ON
IMPORTING
E_HEADER = CT_GT_THEAD
TABLES
T_LINES = CT_GT_LINETAB[]
EXCEPTIONS
NOTFOUND = 1.
IF SY-SUBRC = IF_GC-FOUND.
LOOP AT CT_GT_LINETAB.
STRG = CT_GT_LINETAB-TDLINE.
IF STRG1 <> ' '.
CONCATENATE STRG1 ';' STRG INTO STRG1.
ELSE.
STRG1 = STRG.
ENDIF.
ENDLOOP.
CF_GV_TEXT_OUTPUT_LINE-LTXT40 = STRG1.
APPEND CF_GV_TEXT_OUTPUT_LINE TO CT_GT_TEXT_OUTPUT_LINE.
CLEAR CF_GV_TEXT_OUTPUT_LINE.
STRG1 = ' '.
ELSE.
APPEND CF_GV_TEXT_OUTPUT_LINE TO CT_GT_TEXT_OUTPUT_LINE.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDFORM. " get_mat_text
*& Form data_output
* Daten mit ALV ausgeben
* <->ct_GT_FIELDCAT Feldkatalog für ALV
* <->ct_gt_text_output_line Ausgabetabelle
* -->P_GS_LAYOUT Layout für ALV
* -->if_gc Globale Konstanten
* <--cf_GV_REPID Zur Zeit aufgerufener Reportname
* <--cf_gv_fieldcat Struktur Feldkatalog
* <--cf_gv Globale Variablen
FORM DATA_OUTPUT.
PERFORM FIELDCATBUILD.
PERFORM LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GV-REPID
I_CALLBACK_PF_STATUS_SET = 'EVENT_SET_STATUS_01'
I_CALLBACK_USER_COMMAND = 'EVENT_USER_COMMAND'
IS_LAYOUT = L_LT
IT_FIELDCAT = T_FLDCAT1[]
TABLES
T_OUTTAB = <FS_2>
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> GC-FOUND.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " data_output
*& Form fieldcatbuild
* text
* --> p1 text
* <-- p2 text
FORM FIELDCATBUILD. " TABLES ct_gt_fieldcat_in STRUCTURE gv_fieldcat.
LOOP AT IT_FLDCAT INTO WA_IT_FLDCAT.
WA_IT_FLDCAT1-FIELDNAME = WA_IT_FLDCAT-FIELDNAME.
WA_IT_FLDCAT1-TABNAME = WA_IT_FLDCAT-TABNAME.
WA_IT_FLDCAT1-SELTEXT_L = WA_IT_FLDCAT-FIELDNAME.
APPEND WA_IT_FLDCAT1 TO T_FLDCAT1.
CLEAR : WA_IT_FLDCAT,WA_IT_FLDCAT1.
ENDLOOP.
ENDFORM. " fieldcatbuild
* Form event_set_status_01*
FORM EVENT_SET_STATUS_01 USING LT_EXCL TYPE SLIS_T_EXTAB.
SET PF-STATUS 'ABCD' .
ENDFORM. "EVENT_SET_STATUS_01
*& Form Name: event_user_command *
*& Form Desc: For Handling USER_COMMAND *
FORM EVENT_USER_COMMAND USING
IF_UCOMM TYPE SY-UCOMM
IS_SELFIELD TYPE SLIS_SELFIELD.
CASE IF_UCOMM.
WHEN 'DOWNLOAD'.
PERFORM POPULATE_DOWNLOAD_TABLE.
DATA: L_LENGHT TYPE I.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:data.xls'
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = 'X'
TRUNC_TRAILING_BLANKS = 'X'
DAT_MODE = 'X'
IMPORTING
FILELENGTH = L_LENGHT
TABLES
DATA_TAB = <FS_22>.
IF SY-SUBRC <> GC-FOUND.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF L_LENGHT NE GC-FOUND.
MESSAGE S398(00) WITH 'DATA downloaded to c:data.xls'.
ENDIF.
ENDCASE.
ENDFORM. "event_user_command
*& Form get_lang
* text
* --> p1 text
* <-- p2 text
FORM GET_LANG.
SELECT SPRAS
LAISO FROM T002 INTO CORRESPONDING FIELDS OF TABLE GT_LANG
WHERE SPRAS IN S_LANG.
DESCRIBE TABLE GT_LANG LINES V_LINES.
LOOP AT GT_LANG INTO WA_GT_LANG.
V = V + 1.
WA_GT_LANG-SRNO = V.
MODIFY GT_LANG FROM WA_GT_LANG TRANSPORTING SRNO.
ENDLOOP.
LOOP AT GT_LANG INTO WA_GT_LANG.
CONCATENATE 'MATEDESC-' WA_GT_LANG-LAISO INTO V_FIELDNAME.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-SELTEXT = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-INTLEN = 40.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
APPEND WA_IT_FLDCAT TO IT_FLDCAT .
CLEAR WA_GT_LANG.
ENDLOOP.
LOOP AT GT_LANG INTO WA_GT_LANG.
CONCATENATE 'BASDAT-' WA_GT_LANG-LAISO INTO V_FIELDNAME.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-INTLEN = 255.
WA_IT_FLDCAT-SELTEXT = V_FIELDNAME.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
APPEND WA_IT_FLDCAT TO IT_FLDCAT .
CLEAR WA_GT_LANG.
ENDLOOP.
V_FIELDNAME = 'MATNR'.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = 'Matnr'.
WA_IT_FLDCAT-INTLEN = 18.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
INSERT WA_IT_FLDCAT INTO IT_FLDCAT INDEX 1.
V_FIELDNAME = 'BEGRU'.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = 'BEGRU'.
WA_IT_FLDCAT-INTLEN = 4.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
INSERT WA_IT_FLDCAT INTO IT_FLDCAT INDEX 2.
ENDFORM. " get_lang
*& Form dynamic_tables
* text
* --> p1 text
* <-- p2 text
FORM DYNAMIC_TABLES.
ASSIGN LT_DATA TO <FS_DATA>.
* Creating the Dynamic Internal Table
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IT_FLDCAT " Fieldcatalogue
IMPORTING
EP_TABLE = <FS_DATA> " Dynamic Internal Table
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
OTHERS = 2.
* Assign Dyn Table To Field Sumbol
ASSIGN <FS_DATA>->* TO <FS_1>.
* Assigning the Internal Table TYPE ANY to Standard internal Table
ASSIGN <FS_1> TO <FS_2>.
* Creating a Workarea
CREATE DATA LWA_LINE LIKE LINE OF <FS_2> .
* Assigning the Content to the workares as a Pointer
ASSIGN LWA_LINE->* TO <LWA_LINE_WA>.
ENDFORM. " dynamic_tables
*& Form populate_final_table
* text
* --> p1 text
* <-- p2 text
FORM POPULATE_FINAL_TABLE.
LOOP AT GT_TEXT_OUTPUT_LINE INTO GV_TEXT_OUTPUT_LINE.
READ TABLE GT_LANG INTO WA_GT_LANG
WITH KEY SPRAS = GV_TEXT_OUTPUT_LINE-SPRAS.
IF SY-SUBRC EQ GC-FOUND.
GV_TEXT_OUTPUT_LINE-SRNO = WA_GT_LANG-SRNO.
ENDIF.
MODIFY GT_TEXT_OUTPUT_LINE FROM GV_TEXT_OUTPUT_LINE.
ENDLOOP.
ENDFORM. " populate_final_table
*& Form populate_dynamic_table
* text
* --> p1 text
* <-- p2 text
FORM POPULATE_DYNAMIC_TABLE.
DATA: INDX TYPE SY-TABIX.
LOOP AT GT_TEXT_OUTPUT_LINE INTO GV_TEXT_OUTPUT_LINE.
AT NEW MATNR.
INDX = SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-MATNR.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-BEGRU.
ENDAT.
LOOP AT GT_LANG INTO WA_GT_LANG.
IF GV_TEXT_OUTPUT_LINE-SRNO = WA_GT_LANG-SRNO.
V_VAR = GV_TEXT_OUTPUT_LINE-SRNO + 2.
ASSIGN COMPONENT V_VAR OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-MAKTX.
V_VAR = GV_TEXT_OUTPUT_LINE-SRNO + V_LINES + 2.
ASSIGN COMPONENT V_VAR OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-LTXT40.
ENDIF.
ENDLOOP.
AT END OF MATNR.
APPEND <LWA_LINE_WA> TO <FS_2>.
CLEAR <LWA_LINE_WA>.
ENDAT.
ENDLOOP.
ENDFORM. " populate_dynamic_table
*& Form LAYOUT
* text
* --> p1 text
* <-- p2 text
FORM LAYOUT.
CLEAR L_LT.
L_LT-ZEBRA = GC-YES.
L_LT-COLWIDTH_OPTIMIZE = 'X'.
L_LT-WINDOW_TITLEBAR = GC-TXT.
ENDFORM. " LAYOUT
*& Form populate_download_table
* text
* --> p1 text
* <-- p2 text
FORM POPULATE_DOWNLOAD_TABLE.
ASSIGN LT_DATA1 TO <FS_DATA1>.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IT_FLDCAT " Fieldcatalogue
IMPORTING
EP_TABLE = <FS_DATA1> " Dynamic Internal table
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
OTHERS = 2.
* Assign Dyn Table To Field Sumbol
ASSIGN <FS_DATA1>->* TO <FS_11>.
* Assigning the Internal Table TYPE ANY to Standard internal Table
ASSIGN <FS_11> TO <FS_22>.
* Creating a Workarea
CREATE DATA LWA_LINE1 LIKE LINE OF <FS_22> .
* Assigning the Content to the workares as a Pointer
ASSIGN LWA_LINE1->* TO <LWA_LINE_WA1>.
DATA: STRN1 TYPE STRING,
STRN2 TYPE STRING,
INDX TYPE SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GC-MAT.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GC-AUT.
LOOP AT GT_LANG INTO WA_GT_LANG.
V_VAR1 = WA_GT_LANG-SRNO + 2.
CONCATENATE 'MATERIALDESCRIPTION-' WA_GT_LANG-LAISO INTO STRN1.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = STRN1.
V_VAR1 = WA_GT_LANG-SRNO + V_LINES + 2.
CONCATENATE 'BASICDATA-' WA_GT_LANG-LAISO INTO STRN2.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = STRN2.
ENDLOOP.
APPEND <LWA_LINE_WA1> TO <FS_22>.
CLEAR <LWA_LINE_WA1>.
APPEND <LWA_LINE_WA1> TO <FS_22>.
V_VAR1 = 0.
LOOP AT GT_TEXT_OUTPUT_LINE INTO GV_TEXT_OUTPUT_LINE.
AT NEW MATNR.
INDX = SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GV_TEXT_OUTPUT_LINE-MATNR.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GV_TEXT_OUTPUT_LINE-BEGRU.
ENDAT.
LOOP AT GT_LANG INTO WA_GT_LANG.
IF GV_TEXT_OUTPUT_LINE-SRNO EQ WA_GT_LANG-SRNO.
V_VAR1 = GV_TEXT_OUTPUT_LINE-SRNO + 2.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GV_TEXT_OUTPUT_LINE-MAKTX.
V_VAR1 = GV_TEXT_OUTPUT_LINE-SRNO + V_LINES + 2.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
* STR = GV_TEXT_OUTPUT_LINE-LTXT40.
* SEARCH STR FOR ';'.
* DO.
* IF SY-SUBRC = 0.
* SPLIT STR AT ';' INTO STR1 STR.
* <FA> = STR1.
* APPEND <LWA_LINE_WA1> TO <FS_22>.
* SEARCH STR FOR ';'.
* CLEAR <LWA_LINE_WA1>.
* ELSE.
* EXIT.
* ENDIF.
* ENDDO.
* <FA> = STR.
* APPEND <LWA_LINE_WA1> TO <FS_22>.
<FA> = GV_TEXT_OUTPUT_LINE-LTXT40.
ENDIF.
ENDLOOP.
AT END OF MATNR.
APPEND <LWA_LINE_WA1> TO <FS_22>.
CLEAR <LWA_LINE_WA1>.
ENDAT.
ENDLOOP.
ENDFORM. " populate_download_table
thanks
Nitya -
How to create one master with more than one detail
Hi
I am using jdev 11.1.2.1.0
I want to add more than one detail view object under one master view object in application module
Please solve this asap
ThanksHi Frank
I have 5 view objects (Suppose A,B,C,D,E) and I have created view links between them like
A->B
A->C
A->D
A->E
Then I am shuttling views in Application module (In Data model Tab) to create A as master and rest as details.
But it is not creating as i want.
I add new instance of view object independently.
Please solve this
Thanks
Edited by: 7668489779 on ३० अप्रैल, २०१२ ४:०७ अपराह्न -
How to create a cluster table and cluster view?
Hi,
Can anyone guide me in creation of cluster table in general and also creation of cluster view?Hi,
check this links.
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f0b7446011d189700000e8322d00/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/d0/999246b2aa11d1a5700000e82deaaa/content.htm
Regard's
SHAIK. -
I want a JClient Form with one mater and two details
Hi,
In my JClient Form, I want to have one master view and TWO detail views. The two detail views are linked to the master view simultaniously. Can Jdeveloper do that?
and How?
StephenSure. Just define the VO's and the relations between them and afterwards develop some independant panels which describe the VO's. You can then place each panel on a single panel and organize them the way you want.
However, there isn't a way to simply generate the entire deal with a single wizard. You will have to run the wizard multiple times for each of the panels you wish to create and then manually put them together.
Hope This Helps -
How to create the custom table?
Hi, how to create the custom table and how to integrate the table with defferent R/3?
my requiremnt is i have to create the two tables and those i have to integrate with the existed R/3 and using those R/3 i have to update my custom tables .....can give me some idea?
Tks
DPkhow to create the custom table
There are two approach in creating a table.
1. Bottom-up approach
2. Top-down approach.
Both are valid and you can choose which approach is suitable for you. I always use the bottom-up approach. Here are the steps to create the tables with this approach.
1. SE11 will take you to the DDIC and enter the name of the new table to be created. Let us say Zname. Click create.
2. Enter the short discription of the table and enter the field of the table. If it is primary key and you have to check the box.
3. Enter the data element and double click it, you will be asked to save and will take you to data element discription page. Enter the short discription of the data element and enter the information of domain like the length of field and type of field.
4. If you wanted to use the existing domain then its fine, or else, you have to create one. Enter the domain name in the data element page and double click it. Page will ask to save and jump to domain creation page.
5. In the domain page, you have to save the information which you have already given in the data elements page and check it. Before going to data element page, you have to activate the domain.
6. Go to data element page and save, check and activate.
7. Go to main table page and save, check, and activate.
8. Also, you have to save the technical settings of the table.
The table is now ready for operation. You can use it in your program or you can use it to enter information.
Check table: It is the table which will have all the information about the Foreign keys which are the primary keys in the check table.
It can be created by creating the foreign key from the main table. Click foreign key in the main table and it will take you to a page which will ask for table name and field to which foreign key relation has to be associated. Enter the information and you can create the check table automatically.
SM30 is used for maintenance of the table, that is to realease the errors occured during the creation of the table.
how to integrate the table with defferent R/3
Transport the Table to the another server/client/qas/prd
Kanagaraja L -
Master advance table with two detail advanced tables
Hi All,
I have this in mind..please let me know if that is possible.
I want to have two detail advanced tables within a master advance table.
The two detail advance tables will be wrapped in a subtab layout.
My questions are:
Can a master table have two details tables?
Can a advance table have two inner advance tables?
Your help or ideas would be valuable to me.
Thank you,
ArunHi OAF Gurus
I just want to know whether this is possible or not.
I have created two view links and three view objects
Table in Table in Table
Table1--> Table2 --> Table3
One problem i am facing when i click on Show link of Table1,it displays details of Table2 and when i click Show link of Table2,it displays details of Table3.
but when i click on Hide of Table1, it says
oracle.jbo.NoDefException: JBO-25002: Definition <Table3 View Object> of type Attribute not found
Could you please anybody throw some pointers on this?
Thanks
Hitesh -
How do I create both endnotes and footnotes in same doc in Pages? I have iWork 2008. I understand how to create one or the other, but not both.
You have to select one or the other.
Try making two documents and see if you can merge the .pdfs, but their will be problems with page flow, making the pages shift. Can't see it working really.
Pages is not the only solution out there or the best for most jobs (let alone the safest). Try Word for Mac, LibreOffice (free) or any App that has the features you need.
Peter -
How can I set up a wi-fi network, using one time capsule and two airport express
how can I set up a wi-fi network, using one time capsule and two airport express ?
The time capsule is near the Mac. ok
The first Airport is on the corridor, ok, works well and the App on the iPad signals so, ok
But when I plug the next Airport on another room nearby nothing happens, and signals disconected ....
is the signal so weak that is not able to go to ono room to the other ?Well, even if you have the first express set up to extend the network, the second express can only extend from the TimeCapsule.
Maybe you got walls of sheetrook in the way, or kitchen/bathroom tiles, etc, dampening the signal rapidly. -
How do I create one Apple ID and iTunes user name and password for all of my Apple products: iPad, iPhone, and iPod plus iTunes on my PC?
Yes, I do have multiple devices and it appeared to me that every time I tried to sync or log onto iTunes, the password was incorrect. Consequently, I was and am constantly changing it. Wouldn't it be nice if Apple would simply say that you only need one Apple ID and one password regardless of the number of Apple devices you intend to sync via iTunes.
Barring the above, how about a way to merge all of the Apple IDs and passwords into one.
Maybe you are looking for
-
Why can't I see a file sent to me in acrobat
Someone has sent me a file to vote in acrobat but I cannot find it?
-
Thunar custom actions for devices?
Hi! As you might know it's possible in Thunar to add custom actions to the context menu of files/folders/... but is it also possible to add custom actions to devices like flash drives or partitions? My problem is: I got a few encrypted partitions whi
-
How do I point to the iTunes file that lists purchase history?
My iTunes library got messed up and I've been able to point back to most of my settings but do I point to the iTunes file that lists purchase history? Perhaps I'm pointing to an old iTunes library by mistake?
-
Problems with guided edit mode in PSE 13
I'm having problems with some of the guided modes in PSE 13. The simple method for changing the the depth of field does put a blur on my photos but the add focus area doesn't work- leaving my photos a blurry mess. The custom mode using the quick sel
-
Not seeing printer through airport
So here's my current setup. My Internet comes in to my DSL Modem..which is hooked up to a 4 port router. My router has two iMacss hardwired to the first two ports, and my airport is hooked up to the 3rd open port. My HP 1310 all in one is hooked up t