‎2010 Aug 02 6:53 PM
Dear gurus i have done some enhancement in va05 below is my code in include program
MV75AFS0_SELEKTION_AUSFUEHRENSELECT * FROM TVGRT INTO TABLE itab_group WHERE SPRAS = sy-langu.
SELECT * FROM TVKBT INTO TABLE itab_office WHERE SPRAS = sy-langu.
CLEAR sale_orders.
LOOP AT postab ASSIGNING <wa_postab>.
AT NEW vbeln.
wa_sale_order-sign = 'I'.
wa_sale_order-option = 'EQ'.
wa_sale_order-low = <wa_postab>-vbeln.
APPEND wa_sale_order TO sale_orders.
ENDAT.
READ TABLE itab_matnr with TABLE KEY matnr = <wa_postab>-matnr TRANSPORTING NO FIELDS.
IF sy-subrc is NOT INITIAL AND <wa_postab>-matnr IS NOT INITIAL.
wa_matnr-matnr = <wa_postab>-matnr.
INSERT wa_matnr INTO TABLE itab_matnr .
CLEAR material.
material-sign = 'I'.
material-option = 'EQ'.
material-low = <wa_postab>-matnr.
APPEND material TO materials.
ENDIF.
ENDLOOP.
" IM FACING PROBLEM OVER HERE. WHEN I EXECUTE VA05 WITH DATE RANGE LIKE 01012010 TO 01082010 IT GIVE DUMP.
SELECT kdauf KDPOS sum( ERFMG ) AS ERFMG ERFME FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab_mseg
WHERE kdauf IN sale_orders[]
AND BWART = '601'
GROUP BY kdauf KDPOS ERFME.
SELECT kdauf KDPOS sum( ERFMG ) AS ERFMG ERFME FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab_mseg_reversal
WHERE kdauf IN sale_orders
AND ( BWART = '653' OR BWART = '602' )
GROUP BY kdauf KDPOS ERFME.
SELECT vbeln posnr bstdk fbuda INTO CORRESPONDING FIELDS OF TABLE itab_vbkd FROM vbkd
WHERE vbeln IN sale_orders.
SELECT vbeln posnr mwsbp FROM vbap INTO CORRESPONDING FIELDS OF TABLE itab_vbap
WHERE vbeln IN sale_orders.
SELECT matnr mara~matkl wgbez FROM mara INNER JOIN t023t ON mara~MATKL = t023t~MATKL
INTO CORRESPONDING FIELDS OF TABLE itab_mara WHERE MATNR in materials AND SPRAS = sy-langu..
LOOP AT postab ASSIGNING <wa_postab>.
CLEAR configuration.
"Query to Call function to receive size and length
SELECT SINGLE cuobj FROM vbap INTO conf WHERE vbeln = <wa_postab>-vbeln AND posnr = <wa_postab>-posnr.
" Getting Reel Size & Reel length of this item in sales order
CALL FUNCTION 'VC_I_GET_CONFIGURATION'
EXPORTING
instance = conf
TABLES
configuration = configuration
EXCEPTIONS
instance_not_found = 1
internal_error = 2
no_class_allocation = 3
instance_not_valid = 4
OTHERS = 5.
IF sy-subrc = 0.
"read value from internal table for Size
READ TABLE configuration INTO wa_config WITH KEY atnam = 'REELSIZE'.
IF sy-subrc = 0.
<wa_postab>-zzsize = wa_config-atwrt.
ENDIF.
"read value from internal table for Length
READ TABLE configuration INTO wa_config WITH KEY atnam = 'LENGTH'.
IF sy-subrc = 0.
<wa_postab>-zzlength = wa_config-atwrt.
ENDIF.
ENDIF.
READ TABLE itab_mseg WITH TABLE KEY KDAUF = <wa_postab>-vbeln KDPOS = <wa_postab>-posnr ASSIGNING <wa_mseg>.
IF sy-subrc IS INITIAL.
<wa_postab>-ZZLFIMG = <wa_mseg>-ERFMG.
ENDIF.
READ TABLE itab_mseg_reversal WITH TABLE KEY KDAUF = <wa_postab>-vbeln KDPOS = <wa_postab>-posnr ASSIGNING <wa_mseg>.
IF sy-subrc IS INITIAL.
<wa_postab>-ZZLFIMG = <wa_postab>-ZZLFIMG - <wa_mseg>-ERFMG.
<wa_postab>-ZZMEINS = <wa_mseg>-ERFME.
ENDIF.
<wa_postab>-ZZREM = <wa_postab>-KWMENG - <wa_postab>-ZZLFIMG.
READ TABLE itab_VBKD ASSIGNING <wa_vbkd> WITH TABLE KEY vbeln = <wa_postab>-vbeln posnr = <wa_postab>-posnr.
IF sy-subrc IS INITIAL.
<wa_postab>-zzbstdk = <wa_vbkd>-bstdk.
<wa_postab>-zzfbuda = <wa_vbkd>-fbuda.
ENDIF.
READ TABLE itab_vbap ASSIGNING <wa_vbap> WITH TABLE KEY vbeln = <wa_postab>-vbeln posnr = <wa_postab>-posnr.
IF sy-subrc IS INITIAL.
<wa_postab>-ZZTAX_VALUE = <wa_vbap>-mwsbp.
<wa_postab>-ZZAFTER_TAX = <wa_vbap>-mwsbp + <wa_postab>-netwr.
ENDIF.
READ TABLE itab_mara ASSIGNING <wa_mara> WITH TABLE KEY matnr = <wa_postab>-MATNR.
IF sy-subrc IS INITIAL.
<wa_postab>-ZZMATKL = <wa_mara>-matkl.
<wa_postab>-ZZWGBEZ = <wa_mara>-wgbez.
ENDIF.
READ TABLE itab_group ASSIGNING <wa_group> WITH TABLE KEY VKGRP = <wa_postab>-VKGRP.
IF sy-subrc IS INITIAL.
<wa_postab>-ZZSGD = <wa_group>-BEZEI.
ENDIF.
READ TABLE itab_office ASSIGNING <wa_office> WITH TABLE KEY VKBUR = <wa_postab>-VKBUR.
IF sy-subrc IS INITIAL.
<wa_postab>-ZZSDD = <wa_office>-BEZEI.
ENDIF.
ENDLOOP.Regards
Saad nisar
please Help
Edited by: Saad Nisar Ahmed Khatib on Aug 2, 2010 9:52 PM
‎2010 Aug 02 9:12 PM
We're not mind readers here. Nobody will be able to help you without some details of the dump.
Rob
‎2010 Aug 02 9:12 PM
We're not mind readers here. Nobody will be able to help you without some details of the dump.
Rob
‎2010 Aug 02 9:15 PM
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught
in
procedure "SELEKTION_AUSFUEHREN" "(FORM)", nor was it propagated by a RAISING
clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
The SQL statement generated from the SAP Open SQL statement violates a
restriction imposed by the underlying database system of the ABAP
system.
Possible error causes:
o The maximum size of an SQL statement was exceeded.
o The statement contains too many input variables.
o The input data requires more space than is available.
o ...
You can generally find details in the system log (SM21) and in the
developer trace of the relevant work process (ST11).
In the case of an error, current restrictions are frequently displayed
in the developer trace.Missing RAISING Clause in Interface
Program SAPMV75A
Include MV75AFS0_SELEKTION_AUSFUEHREN
Row 9
Module type (FORM)
Module Name SELEKTION_AUSFUEHREN
Trigger Location of Exception
Program SAPMV75A
Include ZVA05_CONFIGURATION_FIELDS====E
Row 63
Module type (FORM)
Module Name SELEKTION_AUSFUEHREN
‎2010 Aug 02 9:21 PM
How many entries in sale_orders[]?
There is a database limitation to the size of an SQL statement (determined bt your basis administrators). This could be the problem.
Rob
‎2010 Aug 02 9:25 PM
‎2010 Aug 02 9:56 PM
It's a database limitation so difficult to get around. When I've run into this, I've converted the SELECT to use FOR ALL ENTRIES rather than IN .
Rob
‎2010 Aug 03 6:44 AM
This is my declaration
TYPES: BEGIN OF t_matnr,
matnr TYPE matnr,
END OF t_matnr.
TYPES: BEGIN OF t_mat_group,
matnr TYPE matnr,
MATKL TYPE MATKL,
WGBEZ TYPE WGBEZ,
END OF t_mat_group.
FIELD-SYMBOLS: <wa_postab> LIKE LINE OF POSTAB, <wa_mseg> TYPE mseg, <wa_vbkd> TYPE vbkd, <wa_vbap> TYPE vbap, <wa_mara> TYPE t_mat_group,
<wa_group> TYPE TVGRT, <wa_office> TYPE TVKBT.
DATA: conf LIKE vbap-cuobj, configuration TYPE TABLE OF conf_out,
wa_config TYPE conf_out.
DATA: itab_mseg TYPE HASHED TABLE OF mseg WITH UNIQUE KEY KDAUF KDPOS,
itab_mseg_reversal TYPE HASHED TABLE OF mseg WITH UNIQUE KEY KDAUF KDPOS,
sale_orders TYPE RANGE OF mseg-kdauf,
wa_sale_order like LINE OF sale_orders,
materials TYPE RANGE OF mseg-matnr, material like LINE OF materials,
itab_matnr TYPE HASHED TABLE OF t_matnr WITH UNIQUE KEY matnr, wa_matnr TYPE t_matnr,
temp_ERFMG TYPE ERFMG,
itab_vbkd TYPE HASHED TABLE OF vbkd WITH UNIQUE KEY vbeln posnr,
itab_vbap TYPE HASHED TABLE OF vbap WITH UNIQUE KEY vbeln posnr,
itab_mara TYPE HASHED TABLE OF t_mat_group WITH UNIQUE KEY matnr,
itab_group TYPE HASHED TABLE OF TVGRT WITH UNIQUE KEY VKGRP,
itab_office TYPE HASHED TABLE OF TVKBT WITH UNIQUE KEY VKBUR.