Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SAPSQL_ARRAY_INSERT_DUPREC in VL01n

Former Member
0 Likes
1,263

Hi all,

I had a problem with Vl01n Transaction While Creating delivery we are getting termination message

00 671: ABAP/4 processor: SAPSQL_ARRAY_INSERT_DUPREC . we changed the Number ranges . But it did not work. Is there any thing else that we need to do.

In st22 we are getting dump at

INSERT GLPCA FROM TABLE T_GLPCA .

Thanks & regards

sreehari p

1 ACCEPTED SOLUTION
Read only

former_member182371
Active Contributor
8 REPLIES 8
Read only

former_member182371
Active Contributor
Read only

former_member386202
Active Contributor
0 Likes
1,069

Hi,

Check code implemented in include exit MV45AFZZ.

Regards,

Prashant

Read only

Former Member
0 Likes
1,069

Hi Sree,

Can you paste the dump here

Read only

0 Likes
1,069
FORM INS_GLPCA                           "#EC CALLED
             TABLES P_T_TABLE
             USING  P_RECORD TYPE ANY
                    P_RENUMBER_OBJ TYPE BOOLE_D.  "#EC NEEDED

  DATA: T_GLPCA LIKE GLPCA OCCURS 0 WITH HEADER LINE.

  CLEAR T_GLPCA . REFRESH T_GLPCA .

  T_GLPCA[] = P_T_TABLE[].

  IF P_T_TABLE[] IS INITIAL.

APPEND P_RECORD TO T_GLPCA .

  ENDIF.

  IF NOT P_RENUMBER_OBJ IS INITIAL.

SORT T_GLPCA .
CALL FUNCTION 'G_ADJUST_RECORD'
     EXPORTING
          TABELLENNAME = 'GLPCA '
          RENUMBER_OBJ = 'X'
     TABLES
          TABELLE = T_GLPCA .

  ENDIF.

  GET TIME.

  T_GLPCA-CPUDT = SY-DATUM.

  T_GLPCA-CPUTM = SY-UZEIT.

  MODIFY T_GLPCA TRANSPORTING CPUDT CPUTM

               WHERE RCLNT = SY-MANDT OR RCLNT NE SY-MANDT.

  INSERT GLPCA FROM TABLE T_GLPCA .

  IF SY-SUBRC NE 0.

MESSAGE X201 WITH 'GLPCA '.
Read only

0 Likes
1,069

Hi Sree,

Thanks. But we need ST22 dump copy to analysis the issue, like where it gets and all.

Hope you understand

Read only

0 Likes
1,069

The above is copied from ST22 only.

1158 FORM INS_GLPCA                           "#EC CALLED
1159              TABLES P_T_TABLE
1160              USING  P_RECORD TYPE ANY
1161                     P_RENUMBER_OBJ TYPE BOOLE_D.  "#EC

1162   DATA: T_GLPCA LIKE GLPCA OCCURS 0 WITH HEADER LINE.

1163

1164   CLEAR T_GLPCA . REFRESH T_GLPCA .

1165   T_GLPCA[] = P_T_TABLE[].

1166   IF P_T_TABLE[] IS INITIAL.

1167 APPEND P_RECORD TO T_GLPCA .

1168   ENDIF.

1169

1170   IF NOT P_RENUMBER_OBJ IS INITIAL.

1171 SORT T_GLPCA .
1172 CALL FUNCTION 'G_ADJUST_RECORD'
1173      EXPORTING
1174           TABELLENNAME = 'GLPCA '
1175           RENUMBER_OBJ = 'X'
1176      TABLES
1177           TABELLE = T_GLPCA .

1178   ENDIF.

1179

1180   GET TIME.

1181   T_GLPCA-CPUDT = SY-DATUM.

1182   T_GLPCA-CPUTM = SY-UZEIT.

1183   MODIFY T_GLPCA TRANSPORTING CPUDT CPUTM

1184                WHERE RCLNT = SY-MANDT OR RCLNT NE SY-MANDT

>>>>>   INSERT GLPCA FROM TABLE T_GLPCA .

1186   IF SY-SUBRC NE 0.

Read only

0 Likes
1,069

Hi Sree,

While analysis the issue from your data, there is a problem with the data that going to insert the data to the table T_GLPCA.

The matter is whenever you schedule a program in background job or run the transaction code some times the update error happens in your system. in that mean time the system inserts some of the records into the table. you can get this info from the transaction code sm12 if any update errors occured or not. and also if the resources are filled in your system the error may occur you can able to check this one in sm21.

try to run the program again and check the table if any entry is there are not. Try to debug the program and found the error.

Hope this helps.

Read only

Clemenss
Active Contributor
0 Likes
1,069

Hi,

in the dump you will (probably) not see any Z programs in the 'list of active programs'. But (probably) your MV50 module pool will have some MV50AFZ* exit routines that insert the erroneous records. Update is done in Update task, check situation in USEREXIT_BEFORE_SAVE (or similar name).

Regards,

Clemens