2008 Aug 11 1:06 PM
Hi Friends,
i am uploading the data from falt file into 2 database tables.
tables are : t604t , t604.
but only t604t one dbase table is updating not second.(t604)
NOTE :
in configuartion side the database tables are updating fine.
from program side .. only one database table was updated.
here is the code pls :
TABLES : t604t , t604.
*data it_t604t like t604t occurs 0 with header line.
DATA : BEGIN OF it_t604t OCCURS 0,
spras LIKE t604t-spras,
land1 LIKE t604t-land1,
stawn LIKE t604t-stawn,
text1 LIKE t604t-text1,
text2 LIKE t604t-text2,
text3 LIKE t604t-text3,
text4 LIKE t604t-text4,
text5 LIKE t604t-text5,
text6 LIKE t604t-text6,
text7 LIKE t604t-text7,
END OF it_t604t.
DATA : t_t604t TYPE STANDARD TABLE OF t604T.
DATA : wa_t604t TYPE t604T.
DATA dir2 TYPE string.
SELECTION-SCREEN
----
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS : dir1 LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK a.
**----
*
AT SELECTION-SCREEN
----
*-- Validate file Paths
AT SELECTION-SCREEN.
PERFORM validate_file_path.
----
Value Request Functionality on Selection Screen
----
*--F4 Functionality
*--for file on the PC
AT SELECTION-SCREEN ON VALUE-REQUEST FOR dir1.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = '*.txt'
CHANGING
file_name = dir1
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
&----
*& Form validate_file_path
&----
text
----
--> p1 text
<-- p2 text
----
FORM validate_file_path.
*--Presentation Server File Path
IF dir1 IS INITIAL.
MESSAGE e006 WITH text-002.
ENDIF.
ENDFORM. " validate_file_path
START-OF-SELECTION.
*select * from t604t into table it_t604t.
dir2 = dir1.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = dir2
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = it_t604t
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sy-subrc = 0.
LOOP AT it_t604t .
CLEAR wa_t604t.
wa_t604t-mandt = sy-mandt.
WA_t604t-spras = IT_T604T-SPRAS.
wa_t604t-land1 = it_t604t-land1.
wa_t604t-stawn = it_t604t-stawn.
wa_t604t-text1 = it_t604t-text1.
wa_t604t-text2 = it_t604t-text2.
wa_t604t-text3 = it_t604t-text3.
wa_t604t-text4 = it_t604t-text4.
wa_t604t-text5 = it_t604t-text5.
wa_t604t-text6 = it_t604t-text6.
wa_t604t-text7 = it_t604t-text7.
APPEND wa_t604t TO t_t604t.
CLEAR it_t604t.
ENDLOOP.
INSERT t604T CLIENT SPECIFIED FROM TABLE t_t604t.
ELSE.
MESSAGE e006 WITH text-003.
endif.
i want update the data into t604 aslo
pls give me the logic ..
regards,
Hi,
In the INSERT statement you are using CLIENT SPECIFIED bur no where you are giving the client No.
Thats why you are getting short dump.
Change the code like this-
INSERT t604t CLIENT SPECIFIED FROM TABLE t_t604t where MANDT = 'client No'.
try this , in client no mention the client for which you are inserting data or Rather Do not mention CLIENT SPECIFIED.
Like this
INSERT t604t FROM TABLE t_t604t.
You can try either way.
Regards,
Sujit
2008 Aug 11 1:13 PM
Hello Venu,
I couldn't find the insert statement on t604 anywhere in ur program. Please check once.
Regards,
Subbu
2008 Aug 11 1:53 PM
Hi Subba reddy,
thnx for your reply..
when i am uploading multiple records and insert into table
the program is giving short dump.
using this insert stmt :
INSERT t604t CLIENT SPECIFIED FROM TABLE t_t604t.
so how toi avoid the DUMP PLS when uploading multiple records.
help me.
regards,
2008 Aug 11 2:04 PM
Hi,
In the INSERT statement you are using CLIENT SPECIFIED bur no where you are giving the client No.
Thats why you are getting short dump.
Change the code like this-
INSERT t604t CLIENT SPECIFIED FROM TABLE t_t604t where MANDT = 'client No'.
try this , in client no mention the client for which you are inserting data or Rather Do not mention CLIENT SPECIFIED.
Like this
INSERT t604t FROM TABLE t_t604t.
You can try either way.
Regards,
Sujit
2020 Oct 27 1:41 PM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |