How to expdp table with a BLOB field when table is larger than UNDO tbs?
We have a 4-node RAC instance and are at 11.1. We have a 100 gig schema with a few hundred tables. One table contains about 80 gig of data. the table has pictures in it (BLOB column). Our 4 node RAC has 4 12 gig undo tablespaces.
We run out of undo when export a schema or just this table due to the size of the table.
According to metalink note ID 1086414.1 this can happen on fragmented tables. According to segment advisor, we are all good and not fragmented at all.
I also followed the troubleshooting advice in ID 833635.1 and ID 846079.1, but everything turned out ok.
LOBs and ORA-01555 troubleshooting [ID 846079.1]
Export Fails With ORA-02354 ORA-01555 ORA-22924 and How To Confirm LOB Segment Corruption Using Export Utility? [ID 833635.1]
initially we tried just to export it without special parameters.
expdp MY_SCHEMA/********@RACINSTANC DUMPFILE=MYFILE.dmp PARALLEL=8 directory=DATA_PUMP_DIR SCHEMAS=MY_SCHEMA
ORA-31693: Table data object "MY_SCHEMA"."BIGLOBTABLE" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-01555: snapshot too old: rollback segment number 71 with name "_SYSSMU71_1268406335$" too small
then tried to export just the table into 8 files of 8G each (the failing table is about 90% of the schema size)
expdp MY_SCHEMA/******@RACINSTANCE DUMPFILE=MYFILE_%U.dmp PARALLEL=8 FILESIZE=8G directory=DATA_PUMP_DIR INCLUDE=TABLE:\"IN ('BIGLOBTABLE') \"
ORA-31693: Table data object "MY_SCHEMA"."BIGLOBTABLE" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-01555: snapshot too old: rollback segment number 71 with name "_SYSSMU71_1268406335$" too small
We eventually resorted to exporting chunks out of the table by using the QUERY parameter
QUERY=BIGLOBTABLE:"WHERE BIGLOBTABLEPK > 1 AND BIGLOBTABLEPK <=100000"
and that worked but it is a kludge.
Since we will have to export this again down the road I was wondering if there is an easier way to export.
Any suggestions are appreciated.
Note that undo data for LOB is not stored in UNDO tablespace but in LOB segments. So I am not sure ORA-1555 is directly linked to LOB data.
What is your undo_retention parameter ?
How long does EXPDP run before getting ORA-1555 ?
You could try to increase undo_retention parameter to avoid ORA-1555.
Are you running Entreprise Edition ? If yes, trying to transport the tablespace storing the table could be a solution.
Similar Messages
-
MD form with a blob field on the detail
Hi,
I created a master detail form, my detail form is based on a table with a blob field.
I got the following error message when I hit 'OK' on the form to finish creation.
"Exception from wwv_generate_component.build_procedure (WWV-01821)
Error creating module: ORA-01403: no data found (WWV-16042)".
Why?
BTW, I can create a form based on a table with blob field without any problem, but not a master detail form.
Thanks;
Kelly.Kelly,
Please provide more details and/or send the URL/login info directly to me.
Thanks,
Dmitry -
How to create a table with datatype blob and insert a pdf file (ravi)
how to create a table with datatype blob and insert a pdf file,
give me the explain asap
1.create the table?
2.insert the pdffiles into tables?
3.how to view the files?
Thanks & Regards
ravikumar.k
Edited by: 895044 on Dec 5, 2011 2:55 AM895044 wrote:
how to create a table with datatype blob and insert a pdf file,
give me the explain asapPerhaps you should read...
{message:id=9360002}
especially point 2.
We're not just sitting here waiting to answer your question as quickly as possible for you. -
How to fill internal table with selection screen field.
Hi all,
i am new to sap . pls tell me how to fill internal table with selection screen field.Hi,
Please see the example below:-
I have used both select-options and parameter on the selection-screen.
Understand the same.
* type declaration
TYPES: BEGIN OF t_matnr,
matnr TYPE matnr,
END OF t_matnr,
BEGIN OF t_vbeln,
vbeln TYPE vbeln,
END OF t_vbeln.
* internal table declaration
DATA : it_mara TYPE STANDARD TABLE OF t_matnr,
it_vbeln TYPE STANDARD TABLE OF t_vbeln.
* workarea declaration
DATA : wa_mara TYPE t_matnr,
wa_vbeln TYPE t_vbeln.
* selection-screen field
SELECTION-SCREEN: BEGIN OF BLOCK b1.
PARAMETERS : p_matnr TYPE matnr.
SELECT-OPTIONS : s_vbeln FOR wa_vbeln-vbeln.
SELECTION-SCREEN: END OF BLOCK b1.
START-OF-SELECTION.
* I am adding parameter value to my internal table
wa_mara-matnr = p_matnr.
APPEND wa_mara TO it_mara.
* I am adding select-options value to an internal table
LOOP AT s_vbeln.
wa_vbeln-vbeln = s_vbeln-low.
APPEND wa_vbeln TO it_vbeln.
ENDLOOP.
Regards,
Ankur Parab -
Importing a table with a BLOB column is taking too long
I am importing a user schema from 9i (9.2.0.6) database to 10g (10.2.1.0) database. One of the large tables (millions of records) with a BLOB column is taking too long to import (more that 24 hours). I have tried all the tricks I know to speed up the import. Here are some of the setting:
1 - set buffer to 500 Mb
2 - pre-created the table and turned off logging
3 - set indexes=N
4 - set constraints=N
5 - I have 10 online redo logs with 200 MB each
6 - Even turned off logging at the database level with disablelogging = true
It is still taking too long loading the table with the BLOB column. The BLOB field contains PDF files.
For your info:
Computer: Sun v490 with 16 CPUs, solaris 10
memory: 10 Gigabytes
SGA: 4 GigabytesLegatti,
I have feedback=10000. However by monitoring the import, I know that its loading average of 130 records per minute. Which is very slow considering that the table contains close to two millions records.
Thanks for your reply. -
R4 EA: Error loading a table with an XMLTYPE field
When I try to view the data in a table with an XMLTYPE field I get the following error in R4 EA Version 4.0.0.12 Build MAIN-12-27. This works in 2.2 and 3.0.
oracle.sqldeveloper.migration.application
Error: Resource not found: ${SCRATCH_COMMAND_ICON}.
Double clicking on the error opens the EXTENSION.XML file and shows this line:
<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
<!-- Add registry here if required -->
<triggers xmlns:c="http://xmlns.oracle.com/ide/customization">
<actions xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension">
<action id="MigrationProject.ApplicationScan">
<properties>
<property name="Name">${APPSCAN_TITLE}</property>
<property name="MnemonicKey">${APPSCAN_TITLE2}</property>
<property name="SmallIcon">res:${SCRATCH_COMMAND_ICON}</property>
</properties>
</action>
</actions>
The table has the following definition:
ID NUMBER(38,0) No
WS_DATA XMLTYPE Yes
WS_SNAPSHOT_ID NUMBER(38,0) No
Any help would be greatly appreaciated. We have to upgrade to 4.0 because our security team will no longer allow Java 6 on any server or workstation.
Thanks,
SteveHi Steve
Still no response?
I am having same issue when querying a table with XMLTYPE.
How is your XMLTYPE stored in the DB, as a CLOB or as a BINARY XML?
Regards,
Shaun -
How to create Search Help for a field in Table control !!
Hello Friends,
I like to know - How to create Search Help for a field in Table control. Is it possible, if it is please share ur knowledge, I wud be happy if U provide some source code example for this.
Thanks,
SenthilCheck the sample code:
*& Include ZSRO_MPRN_SEARCH *
MODULE PSTLZ_F4 INPUT
MODULE pstlz_f4 INPUT.
reading post code
DATA: stepl TYPE systepl,
stepl_index TYPE systepl.
CLEAR: stepl, stepl_index.
CLEAR: lt_returntab,lt_dynpfields,i_mprn1.
REFRESH: lt_returntab,lt_dynpfields,i_mprn1.
lt_dynpfields-fieldname = 'I_MPRN-POST_CODE'.
lt_dynpfields-stepl = stepl.
APPEND lt_dynpfields. CLEAR lt_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = c_x
determine_loop_index = c_x
TABLES
dynpfields = lt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE lt_dynpfields INDEX 1.
ENDIF.
ws_outcode = lt_dynpfields-fieldvalue.
stepl_index = lt_dynpfields-stepl.
REPLACE '*' WITH ' ' INTO lt_dynpfields-fieldvalue.
IF NOT lt_dynpfields-fieldvalue IS INITIAL.
MOVE lt_dynpfields-fieldvalue TO ws_outcode.
ws_len = STRLEN( lt_dynpfields-fieldvalue ).
IF ws_len GE 7.
ws_len = ws_len - 3.
ws_icode = ws_code+ws_len(3).
lt_dynpfields-fieldvalue = lt_dynpfields-fieldvalue+0(ws_len).
CONCATENATE lt_dynpfields-fieldvalue '%'
INTO ws_outcode.
CONDENSE lt_dynpfields-fieldvalue.
REPLACE ws_icode WITH ' ' INTO lt_dynpfields-fieldvalue.
ELSE.
CONCATENATE lt_dynpfields-fieldvalue+0(4) '%'
INTO ws_outcode.
ENDIF.
ws_ocode = ws_code+0(3).
ENDIF.
reading MPRN
CLEAR: lt_returntab,lt_dnpfields,i_mprn1.
REFRESH: lt_returntab,lt_dnpfields,i_mprn1.
lt_dnpfields-fieldname = 'I_MPRN-MPRN'.
lt_dnpfields-stepl = stepl_index.
APPEND lt_dnpfields. CLEAR lt_dnpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = lt_dnpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE lt_dnpfields INDEX 1.
ENDIF.
MPRN blank and Post code exist
IF lt_dnpfields-fieldvalue IS INITIAL.
IF NOT lt_dynpfields-fieldvalue IS INITIAL.
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1
WHERE outcode LIKE ws_outcode.
ELSE.
MPRN blank and Post code blank
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1.
ENDIF.
ELSE.
MPRN exist and Post code exist
IF NOT lt_dynpfields-fieldvalue IS INITIAL.
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1
WHERE outcode LIKE ws_outcode AND
mprn EQ lt_dnpfields-fieldvalue.
ELSE.
MPRN exist and Post code blank
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1
WHERE mprn EQ lt_dnpfields-fieldvalue.
ENDIF.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MPRN'
dynpprog = sy-repid
dynpnr = sy-dynnr
window_title = 'Select MPRN'
value_org = 'S'
TABLES
value_tab = i_mprn1 "lt_mprn
return_tab = lt_returntab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE lt_returntab INDEX 1.
READ TABLE i_mprn1 WITH KEY mprn = lt_returntab-fieldval.
IF sy-subrc EQ 0.
Updating post code
CONCATENATE i_mprn1-outcode i_mprn1-incode
INTO ws_postcode
SEPARATED BY space.
MOVE ws_postcode TO i_mprn-post_code.
CLEAR : i_dnpfld,
ws_dynpfld.
REFRESH : i_dnpfld.
ws_dyname = 'ZSRO_MASTER_DATA'.
ws_dynumb = '0301'.
ws_dynpfld-fieldname ='I_MPRN-POST_CODE'.
ws_dynpfld-fieldvalue = ws_postcode .
ws_dynpfld-stepl = stepl_index.
APPEND ws_dynpfld TO i_dnpfld.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname
dynumb = ws_dynumb
TABLES
dynpfields = i_dnpfld
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
Updating MPRN
MOVE i_mprn1-mprn TO i_mprn-mprn.
CLEAR : i_dnpfld,
ws_dynpfld.
REFRESH : i_dnpfld.
ws_dyname = 'ZSRO_MASTER_DATA'.
ws_dynumb = '0301'.
ws_dynpfld-fieldname ='I_MPRN-MPRN'.
ws_dynpfld-fieldvalue = i_mprn1-mprn .
ws_dynpfld-stepl = stepl_index.
APPEND ws_dynpfld TO i_dnpfld.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname
dynumb = ws_dynumb
TABLES
dynpfields = i_dnpfld
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ELSEIF sy-subrc EQ 2.
MESSAGE s005(zspa) WITH ws_postcode .
ENDIF.
ENDMODULE. "PSTLZ_F4 INPUT
MODULE MPRN_F4 INPUT
MODULE mprn_f4 INPUT.
reading post code
DATA: stepl TYPE systepl,
stepl_index TYPE systepl.
CLEAR: stepl, stepl_index.
CLEAR: lt_returntab,lt_dynpfields,i_mprn1.
REFRESH: lt_returntab,lt_dynpfields,i_mprn1.
lt_dynpfields-fieldname = 'I_MPRN-POST_CODE'.
lt_dynpfields-stepl = stepl.
APPEND lt_dynpfields. CLEAR lt_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = c_x
determine_loop_index = c_x
TABLES
dynpfields = lt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE lt_dynpfields INDEX 1.
ENDIF.
ws_outcode = lt_dynpfields-fieldvalue.
stepl_index = lt_dynpfields-stepl.
REPLACE '*' WITH ' ' INTO lt_dynpfields-fieldvalue.
IF NOT lt_dynpfields-fieldvalue IS INITIAL.
MOVE lt_dynpfields-fieldvalue TO ws_outcode.
ws_len = STRLEN( lt_dynpfields-fieldvalue ).
IF ws_len GE 7.
ws_len = ws_len - 3.
ws_icode = ws_code+ws_len(3).
lt_dynpfields-fieldvalue = lt_dynpfields-fieldvalue+0(ws_len).
CONCATENATE lt_dynpfields-fieldvalue '%'
INTO ws_outcode.
CONDENSE lt_dynpfields-fieldvalue.
REPLACE ws_icode WITH ' ' INTO lt_dynpfields-fieldvalue.
ELSE.
CONCATENATE lt_dynpfields-fieldvalue+0(4) '%'
INTO ws_outcode.
ENDIF.
ws_ocode = ws_code+0(3).
ENDIF.
reading MPRN
CLEAR: lt_returntab,lt_dnpfields,i_mprn1.
REFRESH: lt_returntab,lt_dnpfields,i_mprn1.
lt_dnpfields-fieldname = 'I_MPRN-MPRN'.
lt_dnpfields-stepl = stepl_index.
APPEND lt_dnpfields. CLEAR lt_dnpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = lt_dnpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE lt_dnpfields INDEX 1.
ENDIF.
MPRN blank and Post code exist
IF lt_dnpfields-fieldvalue IS INITIAL.
IF NOT lt_dynpfields-fieldvalue IS INITIAL.
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1
WHERE outcode LIKE ws_outcode.
ELSE.
MPRN blank and Post code blank
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1.
ENDIF.
ELSE.
MPRN exist and Post code exist
IF NOT lt_dynpfields-fieldvalue IS INITIAL.
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1
WHERE outcode LIKE ws_outcode AND
mprn EQ lt_dnpfields-fieldvalue.
ELSE.
MPRN exist and Post code blank
SELECT mprn ser_num sub_bud bud_name del_pt_alias
bud_num dep_street prin_street dbl_dep_street
dep_locty post_town county outcode incode
lg_site_ind file_date FROM zspa_mprn INTO
CORRESPONDING FIELDS OF TABLE i_mprn1
WHERE mprn EQ lt_dnpfields-fieldvalue.
ENDIF.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MPRN'
dynpprog = sy-repid
dynpnr = sy-dynnr
window_title = 'Select MPRN'
value_org = 'S'
TABLES
value_tab = i_mprn1 "lt_mprn
return_tab = lt_returntab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE lt_returntab INDEX 1.
READ TABLE i_mprn1 WITH KEY mprn = lt_returntab-fieldval.
IF sy-subrc EQ 0.
Updating MPRN
MOVE i_mprn1-mprn TO i_mprn-mprn.
CLEAR : i_dnpfld,
ws_dynpfld.
REFRESH : i_dnpfld.
ws_dyname = 'ZSRO_MASTER_DATA'.
ws_dynumb = '0301'.
ws_dynpfld-fieldname ='I_MPRN-MPRN'.
ws_dynpfld-fieldvalue = i_mprn1-mprn .
ws_dynpfld-stepl = stepl_index.
APPEND ws_dynpfld TO i_dnpfld.
**code changed by laxman 10.08.2005
ws_dynpfld-stepl = mprn-current_line.
**code changed by laxman 10.08.2005
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname
dynumb = ws_dynumb
TABLES
dynpfields = i_dnpfld
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
Updating post code
CONCATENATE i_mprn1-outcode i_mprn1-incode
INTO ws_postcode
SEPARATED BY space.
MOVE ws_postcode TO i_mprn-post_code.
CLEAR : i_dnpfld,
ws_dynpfld.
REFRESH : i_dnpfld.
ws_dyname = 'ZSRO_MASTER_DATA'.
ws_dynumb = '0301'.
ws_dynpfld-fieldname ='I_MPRN-POST_CODE'.
ws_dynpfld-fieldvalue = ws_postcode .
ws_dynpfld-stepl = stepl_index.
APPEND ws_dynpfld TO i_dnpfld.
**code changed by laxman 10.08.2005
break gblap0.
ws_dynpfld-stepl = mprn-current_line.
LOOP AT i_mprn.
MOVE i_mprn1-mprn TO i_mprn-mprn.
MOVE ws_postcode TO i_mprn-post_code.
MODIFY i_mprn INDEX
mprn-current_line." transporting MPRN POST_CODE.
ENDLOOP.
**code changed by laxman 10.08.2005
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname
dynumb = ws_dynumb
TABLES
dynpfields = i_dnpfld
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ELSEIF sy-subrc EQ 2.
MESSAGE s006(zspa) WITH i_mprn1-mprn .
ENDIF.
ENDMODULE. "MPRN_F4 INPUT
MODULE GNTC_F4 INPUT
MODULE gntc_f4 INPUT.
DATA: BEGIN OF lt_gntc OCCURS 0,
gntc LIKE iflot-zzgntc,
END OF lt_gntc.
CLEAR: lt_returntab, lt_gntc.
REFRESH: lt_returntab, lt_gntc.
lt_gntc-gntc = 'DM'.
APPEND lt_gntc. CLEAR lt_gntc.
lt_gntc-gntc = 'NDM'.
APPEND lt_gntc. CLEAR lt_gntc.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ZZGNTC'
dynpprog = sy-repid
dynpnr = sy-dynnr
window_title = 'Select Gas Nomination Type Code'
value_org = 'S'
TABLES
value_tab = lt_gntc
return_tab = lt_returntab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE lt_returntab INDEX 1.
i_mprn-dm_ndm = lt_returntab-fieldval.
ENDIF.
ENDMODULE. "GNTC_F4 INPUT
*& Module mprn1_f4 INPUT
text
MODULE mprn1_f4 INPUT.
DATA: lt_f4 TYPE ddshretval OCCURS 0 WITH HEADER LINE,
lt_returntab1 LIKE ddshretval OCCURS 0 WITH HEADER LINE,
lt_dynpfields1 LIKE dynpread OCCURS 0 WITH HEADER LINE,
lt_dnpfields1 LIKE dynpread OCCURS 0 WITH HEADER LINE.
DATA: stepl1 TYPE systepl,
stepl_index1 TYPE systepl.
DATA : i_dnpfld1 LIKE dynpread OCCURS 0 WITH HEADER LINE,
ws_dyname1 LIKE d020s-prog,
ws_dynumb1 LIKE d020s-dnum,
ws_dynpfld1 LIKE dynpread.
CLEAR: i_dnpfld1, ws_dyname1, ws_dynumb1, ws_dynpfld1,
lt_f4, lt_returntab1,lt_dynpfields1, lt_f4,
stepl1, stepl_index1.
REFRESH: i_dnpfld1, lt_returntab1,lt_dynpfields1, lt_f4.
To Determine Steploop Index
lt_dynpfields1-fieldname = 'I_MPRN-POST_CODE'.
lt_dynpfields1-stepl = stepl1.
APPEND lt_dynpfields1. CLEAR lt_dynpfields1.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = 'X'
determine_loop_index = 'X'
TABLES
dynpfields = lt_dynpfields1
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE lt_dynpfields1 INDEX 1.
ENDIF.
stepl_index1 = lt_dynpfields1-stepl.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'IFLOT'
fieldname = 'I_MPRN-MPRN'
searchhelp = 'ZS_MPRN_PC'
dynpprog = sy-repid
dynpnr = sy-dynnr
TABLES
return_tab = lt_f4
EXCEPTIONS
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Update tablecontrol
READ TABLE lt_f4 WITH KEY fieldname = 'MPRN'.
IF sy-subrc = 0.
MOVE lt_f4-fieldval TO i_mprn-mprn.
ws_dyname1 = 'ZSRO_MASTER_DATA'.
ws_dynumb1 = '0301'.
ws_dynpfld1-fieldname ='I_MPRN-MPRN'.
ws_dynpfld1-fieldvalue = i_mprn-mprn.
ws_dynpfld1-stepl = stepl_index1.
APPEND ws_dynpfld1 TO i_dnpfld1.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname1
dynumb = ws_dynumb1
TABLES
dynpfields = i_dnpfld1
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
CLEAR : i_dnpfld1, ws_dynpfld1.
REFRESH: i_dnpfld1.
READ TABLE lt_f4 WITH KEY fieldname = 'ZZPSTLZ'.
IF sy-subrc = 0.
MOVE lt_f4-fieldval TO i_mprn-post_code.
ws_dyname1 = 'ZSRO_MASTER_DATA'.
ws_dynumb1 = '0301'.
ws_dynpfld1-fieldname ='I_MPRN-POST_CODE'.
ws_dynpfld1-fieldvalue = i_mprn-post_code.
ws_dynpfld1-stepl = stepl_index1.
APPEND ws_dynpfld1 TO i_dnpfld1.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname1
dynumb = ws_dynumb1
TABLES
dynpfields = i_dnpfld1
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDMODULE. " mprn1_f4 INPUT
*& Module pstlz1_f4 INPUT
text
MODULE pstlz1_f4 INPUT.
CLEAR: i_dnpfld1, ws_dyname1, ws_dynumb1, ws_dynpfld1,
lt_f4, lt_returntab1,lt_dynpfields1, lt_f4,
stepl1, stepl_index1.
REFRESH: i_dnpfld1, lt_returntab1,lt_dynpfields1, lt_f4.
To Determine Steploop Index
lt_dynpfields1-fieldname = 'I_MPRN-MPRN'.
lt_dynpfields1-stepl = stepl1.
APPEND lt_dynpfields1. CLEAR lt_dynpfields1.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = 'X'
determine_loop_index = 'X'
TABLES
dynpfields = lt_dynpfields1
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE lt_dynpfields1 INDEX 1.
ENDIF.
stepl_index1 = lt_dynpfields1-stepl.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'IFLOT'
fieldname = 'I_MPRN-POST_CODE'
searchhelp = 'ZS_MPRN_PC'
dynpprog = sy-repid
dynpnr = sy-dynnr
TABLES
return_tab = lt_f4
EXCEPTIONS
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Update tablecontrol
READ TABLE lt_f4 WITH KEY fieldname = 'ZZPSTLZ'.
IF sy-subrc = 0.
MOVE lt_f4-fieldval TO i_mprn-post_code.
ws_dyname1 = 'ZSRO_MASTER_DATA'.
ws_dynumb1 = '0301'.
ws_dynpfld1-fieldname ='I_MPRN-POST_CODE'.
ws_dynpfld1-fieldvalue = i_mprn-post_code.
ws_dynpfld1-stepl = stepl_index1.
APPEND ws_dynpfld1 TO i_dnpfld1.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname1
dynumb = ws_dynumb1
TABLES
dynpfields = i_dnpfld1
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
CLEAR : i_dnpfld1, ws_dynpfld1.
REFRESH: i_dnpfld1.
READ TABLE lt_f4 WITH KEY fieldname = 'MPRN'.
IF sy-subrc = 0.
MOVE lt_f4-fieldval TO i_mprn-mprn.
ws_dyname1 = 'ZSRO_MASTER_DATA'.
ws_dynumb1 = '0301'.
ws_dynpfld1-fieldname ='I_MPRN-MPRN'.
ws_dynpfld1-fieldvalue = i_mprn-mprn.
ws_dynpfld1-stepl = stepl_index1.
APPEND ws_dynpfld1 TO i_dnpfld1.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = ws_dyname1
dynumb = ws_dynumb1
TABLES
dynpfields = i_dnpfld1
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDMODULE. " pstlz1_f4 INPUT
Regards,
Prakash. -
Hi,
I have a table with many LONG fields (28). So far, everythings works fine.
However, if I add another LONG field I cannot insert a dataset anymore
(29 LONG fields).
Does there exist a MaxDB parameter or anything else I can change to make inserts possible again?
Thanks in advance
Michael
appendix:
- Create and Insert command and error message
- MaxDB version and its parameters
Create and Insert command and error message
CREATE TABLE "DBA"."AZ_Z_TEST02"
"ZTB_ID" Integer NOT NULL,
"ZTB_NAMEOFREPORT" Char (400) ASCII DEFAULT '',
"ZTB_LONG_COMMENT" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_00" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_01" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_02" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_03" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_04" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_05" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_06" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_07" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_08" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_09" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_10" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_11" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_12" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_13" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_14" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_15" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_16" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_17" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_18" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_19" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_20" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_21" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_22" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_23" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_24" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_25" LONG ASCII DEFAULT '',
"ZTB_LONG_TEXTBLOCK_26" LONG ASCII DEFAULT '',
PRIMARY KEY ("ZTB_ID")
The insert command
INSERT INTO AZ_Z_TEST02 SET ztb_id = 87
works fine. If I add the LONG field
"ZTB_LONG_TEXTBLOCK_27" LONG ASCII DEFAULT '',
the following error occurs:
Auto Commit: On, SQL Mode: Internal, Isolation Level: Committed
General error;-7032 POS(1) SQL statement not allowed for column of data type LONG
INSERT INTO AZ_Z_TEST02 SET ztb_id = 88
MaxDB version and its parameters
All db params given by
dbmcli -d myDB -u dbm,dbm param_directgetall > maxdb_params.txt
are
KERNELVERSION KERNEL 7.5.0 BUILD 026-123-094-430
INSTANCE_TYPE OLTP
MCOD NO
RESTART_SHUTDOWN MANUAL
SERVERDBFOR_SAP YES
_UNICODE NO
DEFAULT_CODE ASCII
DATE_TIME_FORMAT INTERNAL
CONTROLUSERID DBM
CONTROLPASSWORD
MAXLOGVOLUMES 10
MAXDATAVOLUMES 11
LOG_VOLUME_NAME_001 LOG_001
LOG_VOLUME_TYPE_001 F
LOG_VOLUME_SIZE_001 64000
DATA_VOLUME_NAME_0001 DAT_0001
DATA_VOLUME_TYPE_0001 F
DATA_VOLUME_SIZE_0001 64000
DATA_VOLUME_MODE_0001 NORMAL
DATA_VOLUME_GROUPS 1
LOG_BACKUP_TO_PIPE NO
MAXBACKUPDEVS 2
BACKUP_BLOCK_CNT 8
LOG_MIRRORED NO
MAXVOLUMES 22
MULTIO_BLOCK_CNT 4
DELAYLOGWRITER 0
LOG_IO_QUEUE 50
RESTARTTIME 600
MAXCPU 1
MAXUSERTASKS 50
TRANSRGNS 8
TABRGNS 8
OMSREGIONS 0
OMSRGNS 25
OMS_HEAP_LIMIT 0
OMS_HEAP_COUNT 1
OMS_HEAP_BLOCKSIZE 10000
OMS_HEAP_THRESHOLD 100
OMS_VERS_THRESHOLD 2097152
HEAP_CHECK_LEVEL 0
ROWRGNS 8
MINSERVER_DESC 16
MAXSERVERTASKS 20
_MAXTRANS 288
MAXLOCKS 2880
LOCKSUPPLY_BLOCK 100
DEADLOCK_DETECTION 4
SESSION_TIMEOUT 900
OMS_STREAM_TIMEOUT 30
REQUEST_TIMEOUT 5000
USEASYNC_IO YES
IOPROCSPER_DEV 1
IOPROCSFOR_PRIO 1
USEIOPROCS_ONLY NO
IOPROCSSWITCH 2
LRU_FOR_SCAN NO
PAGESIZE 8192
PACKETSIZE 36864
MINREPLYSIZE 4096
MBLOCKDATA_SIZE 32768
MBLOCKQUAL_SIZE 16384
MBLOCKSTACK_SIZE 16384
MBLOCKSTRAT_SIZE 8192
WORKSTACKSIZE 16384
WORKDATASIZE 8192
CATCACHE_MINSIZE 262144
CAT_CACHE_SUPPLY 1632
INIT_ALLOCATORSIZE 229376
ALLOW_MULTIPLE_SERVERTASK_UKTS NO
TASKCLUSTER01 tw;al;ut;2000sv,100bup;10ev,10gc;
TASKCLUSTER02 ti,100dw;30000us;
TASKCLUSTER03 compress
MPRGN_QUEUE YES
MPRGN_DIRTY_READ NO
MPRGN_BUSY_WAIT NO
MPDISP_LOOPS 1
MPDISP_PRIO NO
XP_MP_RGN_LOOP 0
MP_RGN_LOOP 0
MPRGN_PRIO NO
MAXRGN_REQUEST 300
PRIOBASE_U2U 100
PRIOBASE_IOC 80
PRIOBASE_RAV 80
PRIOBASE_REX 40
PRIOBASE_COM 10
PRIOFACTOR 80
DELAYCOMMIT NO
SVP1_CONV_FLUSH NO
MAXGARBAGECOLL 0
MAXTASKSTACK 1024
MAX_SERVERTASK_STACK 100
MAX_SPECIALTASK_STACK 100
DWIO_AREA_SIZE 50
DWIO_AREA_FLUSH 50
FBM_VOLUME_COMPRESSION 50
FBM_VOLUME_BALANCE 10
FBMLOW_IO_RATE 10
CACHE_SIZE 10000
DWLRU_TAIL_FLUSH 25
XP_DATA_CACHE_RGNS 0
DATACACHE_RGNS 8
XP_CONVERTER_REGIONS 0
CONVERTER_REGIONS 8
XP_MAXPAGER 0
MAXPAGER 11
SEQUENCE_CACHE 1
IDXFILELIST_SIZE 2048
SERVERDESC_CACHE 73
SERVERCMD_CACHE 21
VOLUMENO_BIT_COUNT 8
OPTIM_MAX_MERGE 500
OPTIM_INV_ONLY YES
OPTIM_CACHE NO
OPTIM_JOIN_FETCH 0
JOIN_SEARCH_LEVEL 0
JOIN_MAXTAB_LEVEL4 16
JOIN_MAXTAB_LEVEL9 5
READAHEADBLOBS 25
RUNDIRECTORY E:\_mp\u_v_dbs\EVERW_C5
_KERNELDIAGFILE knldiag
KERNELDIAGSIZE 800
_EVENTFILE knldiag.evt
_EVENTSIZE 0
_MAXEVENTTASKS 1
_MAXEVENTS 100
_KERNELTRACEFILE knltrace
TRACE_PAGES_TI 2
TRACE_PAGES_GC 0
TRACE_PAGES_LW 5
TRACE_PAGES_PG 3
TRACE_PAGES_US 10
TRACE_PAGES_UT 5
TRACE_PAGES_SV 5
TRACE_PAGES_EV 2
TRACE_PAGES_BUP 0
KERNELTRACESIZE 648
EXTERNAL_DUMP_REQUEST NO
AKDUMP_ALLOWED YES
_KERNELDUMPFILE knldump
_RTEDUMPFILE rtedump
UTILITYPROTFILE dbm.utl
UTILITY_PROTSIZE 100
BACKUPHISTFILE dbm.knl
BACKUPMED_DEF dbm.mdf
MAXMESSAGE_FILES 0
EVENTALIVE_CYCLE 0
_SHAREDDYNDATA 10280
_SHAREDDYNPOOL 3607
USE_MEM_ENHANCE NO
MEM_ENHANCE_LIMIT 0
__PARAM_CHANGED___ 0
__PARAM_VERIFIED__ 2008-05-13 13:47:17
DIAG_HISTORY_NUM 2
DIAG_HISTORY_PATH E:\_mp\u_v_dbs\EVERW_C5\DIAGHISTORY
DIAGSEM 1
SHOW_MAX_STACK_USE NO
LOG_SEGMENT_SIZE 21333
SUPPRESS_CORE YES
FORMATTING_MODE PARALLEL
FORMAT_DATAVOLUME YES
HIRES_TIMER_TYPE CPU
LOAD_BALANCING_CHK 0
LOAD_BALANCING_DIF 10
LOAD_BALANCING_EQ 5
HS_STORAGE_DLL libhsscopy
HS_SYNC_INTERVAL 50
USE_OPEN_DIRECT NO
SYMBOL_DEMANGLING NO
EXPAND_COM_TRACE NO
OPTIMIZE_OPERATOR_JOIN_COSTFUNC YES
OPTIMIZE_JOIN_PARALLEL_SERVERS 0
OPTIMIZE_JOIN_OPERATOR_SORT YES
OPTIMIZE_JOIN_OUTER YES
JOIN_OPERATOR_IMPLEMENTATION IMPROVED
JOIN_TABLEBUFFER 128
OPTIMIZE_FETCH_REVERSE YES
SET_VOLUME_LOCK YES
SHAREDSQL NO
SHAREDSQL_EXPECTEDSTATEMENTCOUNT 1500
SHAREDSQL_COMMANDCACHESIZE 32768
MEMORY_ALLOCATION_LIMIT 0
USE_SYSTEM_PAGE_CACHE YES
USE_COROUTINES YES
MIN_RETENTION_TIME 60
MAX_RETENTION_TIME 480
MAX_SINGLE_HASHTABLE_SIZE 512
MAX_HASHTABLE_MEMORY 5120
HASHED_RESULTSET NO
HASHED_RESULTSET_CACHESIZE 262144
AUTO_RECREATE_BAD_INDEXES NO
LOCAL_REDO_LOG_BUFFER_SIZE 0
FORBID_LOAD_BALANCING NO>
Lars Breddemann wrote:
> Hi Michael,
>
> this really looks like one of those "Find-the-5-errors-in-the-picture" riddles to me.
> Really.
>
> Ok, first to your question: this seems to be a bug - I could reproduce it with my 7.5. Build 48.
> Anyhow, when I use
>
> insert into "AZ_Z_TEST02" values (87,'','','','','','','','','','','','','','','',''
> ,'','','','','','','','','','','','','','','','')
>
> it works fine.
It solves my problem. Thanks a lot. -- I hardly can believe that this is all needed to solve the bug. This may be the reason why I have not given it a try.
>
Since explicitely specifying all values for an insert is a good idea anyhow (you can see directly, what value the new tupel will have), you may want to change your code to this.
>
> Now to the other errors:
> - 28 Long values per row?
> What the heck is wrong with the data design here?
> Honestly, you can save data up to 2 GB in a BLOB/CLOB.
> Currently, your data design allows 56 GB per row.
> Moreover 26 of those columns seems to belong together originally - why do you split them up at all?
>
> - The "ZTB_NAMEOFREPORT" looks like something the users see -
> still there is no unique constraint preventing that you get 10000 of reports with the same name...
You are right. This table looks a bit strange. The story behind it is: Each crystal report in the application has a few textblocks which are the same for all the e.g. persons the e.g. letter is created for. Principally, the textblocks could be directy added to the crystal report. However, as it is often the case, these textblocks may change once in a while. Thus, I put the texts of the textblock into this "strange" db table (one row for each report, one field for each textblock, the name of the report is given by "ztb_nameofreport"). And the application offers a menue by which these textblocks can be changed. Of course, the fields in the table could be of type CHAR, but LONG has the advantage that I do not have to think about the length of the field, since sometime the texts are short and sometimes they are really long.
(These texts would blow up the sql select command of the crystal report very much if they were integrated into the this select command. Thus it is realized in another way: the texts are read before the crystal report is loaded, then the texts are "given" to the crystal report (by its parameters), and finally the crystal report is loaded.)
>
- MaxDB 7.5 Build 26 ?? Where have you been the last years?
> Really - download the 7.6.03 Version [here|https://www.sdn.sap.com/irj/sdn/maxdb-downloads] from SDN and upgrade.
> With 7.6. I was not able to reproduce your issue at all.
The customer still has Win98 clients. MaxDB odbc driver 7.5.00.26 does not work for them. I got the hint to use odbc driver 7.3 (see [lists.mysql.com/maxdb/25667|lists.mysql.com/maxdb/25667]). Do MaxDB 7.6 and odbc driver 7.3 work together?
All Win98 clients may be replaced by WinXP clients in the near future. Then, an upgrade may be reasonable.
>
- Are you really putting your data into the DBA schema? Don't do that, ever.
> DBM/SUPERDBA (the sysdba-schemas) are reserved for the MaxDB system tables.
> Create a user/schema for your application data and put your tables into that.
>
> KR Lars
In the first MaxDB version I used, schemas were not available. I haven't changed it afterwards. Is there an easy way to "move an existing table into a new schema"?
Michael -
How do i expand a field in a line with 3 other fields when forms design will not allow
how do i expand a field in a line with 3 other fields when forms design will not allow it? I also want to shrink one of the fields and cannot do so.
It is possible that all there is not enough room on your line to grow the field. You can try a few things :
- Make the form width wider by dragging the right edge of the form or via the Form Setup dialog (File > Form Setup... and change the Form Width)
- You can make other field on the row narrower (if they are not already at their minimum width).
Each field type has a minimum width. What field type are you trying to make smaller?
For example : Text and Multiline can go down to a width of 30. Dropdown min width depends on the length of the long item in the dropdown list.
Hope this helps
Gen -
To find out the Table of Origin and Field in Table of Origin.
Hi Experts,
I am in the middle of completing someone else's documentation after a handover.
Here are th columns that I need to update in the documentation:
1) Field in Extraction Structure 2) Description of Field in the Extraction Structure 3) Table of Origin 4) Field in Table of Origin
Most of them are already done. There are only four tables from which all these fields originate.
Could you let me know how should I find out where a field has originated from.
Thanks in Advance.
Regards,
Chandu.Hi,
it will depend on the datasource: you'll to do the hereunder in the source system
- if LO/LIS (2LIS....) you can goto LBWE, extract structure maintenance; in the filed selection screen you'll see e.g. "MCtttt ffffff text"; usually the tttt is the table and ffffff is the field. Cross check if the field is really in the table via SE11.
- if generic, then goto RSO2 and then it will depend if it is a view/table/domain; double click on it or goto SE11; if infoset SQ01; if extract structure then you'll have to analyze the function module extractor ABAP code;
- for others it will depend....
hope this helps...
Olivier.
Message was edited by:
Olivier Cora -
I HAVE A SOURCE TABLE WITH 10 RECORDS AND TARGET TABLE 15 RECORDS. MY QUESTION IS USING WITH THE TABLE COMPARISON TRANSFORM .I WANT TO DELETE UNMATCHED RECORDS FROM THE TARGET TABLE ?? HOW IT IS ??
Hi Kishore,
First identify deleted records by selecting "Detect deleted rows from comparison table" feature in Table Comparison
Then Use Map Operation with Input row type as "delete" and output row type as "delete" to delete records from target table. -
How to put Sales employee (Splcode) Mandatory Field, when adding A/R invoice
Hi,
Kindly solve, How to put Sales employee (Splcode) Mandatory Field, when adding A/R invoice.
Regards,
Rajeev.Follow this step..
1. In SQL Server, go to the SAP B1 Database you're using.
2. then on the Object Explorer , go to Database Folder, explode the SAP DB->Programmability->Stored Procedures->SBO_SP_TransactionNotification * the only Stored Procedure that is allowed to be edited. Just right click and modify
3. Try to paste this -> and click F5
If
@object_type ='13' and @transaction_type in ('A','U')
Begin
If EXISTS
select DocEntry from ONIV
Where DocEntry = @list_of_cols_val_tab_del
and SlpCode<>'-1'
Begin
set @error_message = 'Please select the Sales Employee'
set @error = 1
END
END
Regards
Kennedy -
How do i deal with multiple iPhoto libraries when migrating to Photos
how do i deal with multiple iPhoto libraries when migrating to Photos
I would merge them before the migration. Also, spend some time doing any batch changes of names and dates beforehand too.
iPhoto Library Manager has good merge and duplicate search facilities.
http://www.fatcatsoftware.com/iplm/ -
How To Import Into A Table with Multi-Value Fields
Hello:
I have a table with a multi-value field that contains states in which a company does business. It is multi-value because there can be more than one state. I tried to import a text tab-delimited file in which the data was arranged as follows:
Field1 Tab Field 2 Tab OR, WA, CA Tab
The "State field contained the multiple entries separated by a comma (like they appear in a query of the multi-value field), but it won't accept it. Does anyone know how to import into a multi-value field?
Thanks,
Rich Locus, Logicwurks, LLCJoana:
Here's the code I used to populate a multi-value field from a parsed field. The parsing routine could be greatly improved by using the Split function, but at that time, I had not used it yet. FYI... the field name of the multi-value field in
the table was "DBAInStatesMultiValue", which you can see in the example below how it is integrated into the code.
Option Compare Database
Option Explicit
Option Base 1
Dim strInputString As String
Dim intNumberOfArrayEntries As Integer
Dim strStateArray(6) As String
' Loop Through A Table With A Multi-Value Field
' And Insert Values Into the Multi-Value Field From A
' Parsed Regular Text Field
Public Function InsertIntoMultiValueField()
Dim db As DAO.Database
' Main Recordset Contains a Multi-Value Field
Dim rsBusiness As DAO.Recordset2
' Now Define the Multi-Value Fields as a RecordSet
Dim rsDBAInStatesMultiValue As DAO.Recordset2
' The Values of the Field Are Contained in a Field Object
Dim fldDBAInStatesMultiValue As DAO.Field2
Dim i As Integer
' Open the Parent File
Set db = CurrentDb()
Set rsBusiness = db.OpenRecordset("tblBusiness")
' Set The Multi-Value Field
Set fldDBAInStatesMultiValue = rsBusiness("DBAInStatesMultiValue")
' Check to Make Sure it is Multi-Value
If Not (fldDBAInStatesMultiValue.IsComplex) Then
MsgBox ("Not A Multi-Value Field")
rsBusiness.Close
Set rsBusiness = Nothing
Set fldDBAInStatesMultiValue = Nothing
Exit Function
End If
On Error Resume Next
' Loop Through
Do While Not rsBusiness.EOF
' Parse Regular Text Field into Array For Insertion into Multi-Value
strInputString = rsBusiness!DBAInStatesText
Call ParseInputString
' If Entries Are Present, Add Them To The Multi-Value Field
If intNumberOfArrayEntries > 0 Then
Set rsDBAInStatesMultiValue = fldDBAInStatesMultiValue.Value
rsBusiness.Edit
For i = 1 To intNumberOfArrayEntries
rsDBAInStatesMultiValue.AddNew
rsDBAInStatesMultiValue("Value") = strStateArray(i)
rsDBAInStatesMultiValue.Update
Next i
rsDBAInStatesMultiValue.Close
rsBusiness.Update
End If
rsBusiness.MoveNext
Loop
On Error GoTo 0
rsBusiness.Close
Set rsBusiness = Nothing
Set rsDBAInStatesMultiValue = Nothing
End Function
Public Function ParseInputString()
Dim intLength As Integer
Dim intStartSearch As Integer
Dim intNextComma As Integer
Dim intStartOfItem As Integer
Dim intLengthOfItem As Integer
Dim strComma As String
strComma = ","
intNumberOfArrayEntries = 0
strInputString = Trim(strInputString)
intLength = Len(strInputString)
' Skip Zero Length Strings
If intLength = 0 Then
Exit Function
End If
' Strip Any Leading Comma
If Mid(strInputString, 1, 1) = "," Then
Mid(strInputString, 1, 1) = " "
strInputString = Trim(strInputString)
intLength = Len(strInputString)
If intLength = 0 Then
Exit Function
End If
End If
' Strip Any Trailing Comma
If Mid(strInputString, intLength, 1) = "," Then
Mid(strInputString, intLength, 1) = " "
strInputString = Trim(strInputString)
intLength = Len(strInputString)
If intLength = 0 Then
Exit Function
End If
End If
intStartSearch = 1
' Loop Through And Parse All the Items
Do
intNextComma = InStr(intStartSearch, strInputString, strComma)
If intNextComma <> 0 Then
intNumberOfArrayEntries = intNumberOfArrayEntries + 1
intStartOfItem = intStartSearch
intLengthOfItem = intNextComma - intStartOfItem
strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
intStartSearch = intNextComma + 1
Else
intNumberOfArrayEntries = intNumberOfArrayEntries + 1
intStartOfItem = intStartSearch
intLengthOfItem = intLength - intStartSearch + 1
strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
End If
Loop Until intNextComma = 0
End Function
Regards,
Rich Locus, Logicwurks, LLC
http://www.logicwurks.com -
How to lock the perticular record in table with some of fields
Hi,
I have one Doubt please clarify me.
How to lock the record in table with perticular fields combination please give me example of code.
Thanks,
Hari.Hi,
IT LIKE this....
This is the function mode that you have to create for locking the contents of you internal table.
CALL FUNCTION 'ENQUEUE_EZHFINDID'
EXPORTING
mode_zhfindid = 'E'
mandt = sy-mandt
ownid = w_display-ownid
X_OWNID = ' '
_SCOPE = '2'
_WAIT = ' '
_COLLECT = ' '
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
CASE sy-subrc.
WHEN 1.
w_flag_lock = c_x.
CLEAR w_okflag.
MESSAGE e265 WITH w_display-ownnum.
ENDCASE.
Jayant Sahu.
Maybe you are looking for
-
Cannot install Win7 on my Qosmio F50
HI, I hope you can help me in my problem. I have Laptop Old Qosmio F50-10G Model #. PQF55E-00V012AR. It's installed windows vista home premium. For my desired to change my OS to windows 7, I reformat it true proper installing. the problem is, It can'
-
How to boot from second hard drive in Ultra Bay
Hi all! I recently installed a SSD drive as my primary disk and mounted my old hard drive in the Ultrabay. It still has all its original partitions, which are: Windows "System Drive" Windows OS Ubuntu Windows Programs General Data I can access 1., 2.
-
I am making a slideshow so I used FCE and put about 100 photos on there with transitions, Livetype, and a HD video clip. When I rendered the project everything was pixelated and I noticed that anything I put on the timeline was just as bad.
-
Can you Copy backups to different drives
I have just bought a 2 TB drive but have an older drive that I used for backup. How can I move the older backup to the new 2TB drive?
-
How can I test the log in state from in side the Operator Interface code.
From inside LabVIEW Full OI, I want to test if the operator logged in after the IApplicationMgr Start. Right after the IApplicationMgr 'Start' I have a loop that tests the IApplicationMgr 'LoginLogoutRunning' state and waits until the LoginLogout cal