cancel
Showing results for 
Search instead for 
Did you mean: 

Inserting row in DB4 From SAP / ABAP

Former Member
0 Kudos

Hi experts.

I'm facing a problem during the insertion of new rows on DB4 from data commng from SAP.

I have already configured TXN DBCO using next parameters:

AS4_HOST=XXXXXX;AS4_DB_LIBRARY=FILEAMP;AS4_QAQQINILIB=FTS000;

Using program ADBC_TEST_CONNECTION for testing is working fine.

I have created a test program for query and then insert a new row on table FTS000 but que query also workfine, it show the data that exists in the table. But when I´m trying to insert a new row it´s not working.

The error message es: An SQL error has occurred: FTS000 in FILEAMP not valid for operation. MSGID=CPF9898 Job=072969/DE1ADM/XDNDEV0000

I´m using next ABAP CODE

try.

  • S10039BD.

  • :wa_fts000-PERNR

EXEC SQL.

INSERT INTO FTS000 (PERNR, USRREG, FECREG, HORREG, BUKRS, BEGDA, ENDDA, MASSN, MASSG)

VALUES ( '00000034', 'ABAP06', '20120112', '121212', '3100', '20120130', '20120130', 'xx', 'yy' )

ENDEXEC.

catch cx_sy_native_sql_error into exc_ref.

error_text = exc_ref->get_text( ).

message error_text type 'I'.

endtry.

On DB4

5761SS1 V6R1M0 080215 Imprimir información SQL Paquete SQL QTEMP/AS4EXTRA0G 01/24/12 16:12:53 Page 001

Nombre de objeto..........QTEMP/AS4EXTRA0G

Tipo de objeto............*SQLPKG

CRTSQL***

PGM(QTEMP/AS4EXTRA0G)

SRCFILE( / )

SRCMBR( )

COMMIT(*CHG)

OPTION(*SYS *NOEXTIND *PERIOD)

TGTRLS(*PRV)

ALWCPYDTA(*OPTIMIZE)

CLOSQLCSR(*ENDPGM)

DECRESULT(31 31 0)

STATEMENT TEXT CCSID(819)

STATEMENT NAME: JFKEHDABLJAEIAAB

INSERT INTO FTS000 ( PERNR , USRREG , FECREG , HORREG , BUKRS , BEGDA , ENDDA ,

MASSN , MASSG ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? )

SQL5065 Plan de acceso no encontrado

Can any one help me about the problem.

Thanks in advanced for your help.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

I have the same problem,

please,

How do you solve the problem?

Thank you.

Regards.

Axel Matienzo.

0 Kudos

I assume that file FILEAMP/FTS000 is not journaled. The default isolation level for an INSERT operation is "WITH UR", and if the file (table) is not journaled, the operation is failing.

You can either start journaling for the file (command: STRJRNPF), or you can perform the INSERT operation without commitment control by adding "WITH NC" to the end of the statement.

Kind regards,

Christian Bartels.