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

Help In Call Method Using types Tables.

Former Member
0 Likes
450

dear gurus

im having a problem in my code please help me

TYPES: BEGIN OF itab,
          vtext TYPE tvfkt-vtext,
          fkart TYPE vbrk-fkart,
          fkdat TYPE vbrk-fkdat,
          vbeln TYPE vbrk-vbeln,
          END OF itab.

DATA:  itab1 TYPE itab OCCURS 0 WITH HEADER LINE.
  DATA:  itab2 TYPE itab OCCURS 0 WITH HEADER LINE.

SELECT *
    INTO CORRESPONDING FIELDS OF TABLE itab1
    FROM vbrk
    INNER JOIN vbrp ON vbrp~vbeln = vbrk~vbeln
    WHERE vbrk~fkart IN fkart
    AND   vbrk~fkdat IN fkdat
    AND   vbrp~vstel IN vstel
    AND   vbrk~kunag IN kunag
    AND   vbrp~matnr IN matnr.

LOOP AT itab1.
    SELECT SINGLE vtext FROM tvfkt
      INTO itab1-vtext WHERE fkart EQ itab1-fkart
      AND spras EQ 'EN'.
    IF itab1-fkart EQ 'F2'.
      CONCATENATE 'Tax' itab1-vtext INTO itab1-vtext SEPARATED BY space.
    ENDIF.
    SELECT SINGLE bstkd FROM vbkd INTO itab1-bstkd
      WHERE vbeln EQ itab1-aubel.
    SELECT SINGLE name1 FROM kna1 INTO itab1-name1 WHERE
      kunnr EQ itab1-kunag.

    MODIFY itab1.
    COLLECT itab1 INTO itab2.
    MOVE-CORRESPONDING itab1 TO itab2.
    CLEAR itab1.
  ENDLOOP.

LOOP AT itab2.

    SELECT SINGLE kbetr FROM konv INTO itab2-kbetr
    WHERE kschl EQ 'PR00'
    AND   knumv EQ itab2-knumv.

    itab2-kwert = itab2-fklmg * itab2-kbetr.
    itab2-gst   = itab2-kwert * 21 / 100.
    itab2-sed   = itab2-kwert * 1 / 100.
    itab2-gt    = itab2-kwert + itab2-gst + itab2-sed.

    MODIFY itab2.
  ENDLOOP.

CALL METHOD w_handle->insert_full
        EXPORTING
          n_vrt_keys        = 1
          n_hrz_keys        = 1
          n_att_cols        = 3
          sema              = t_sema[]
          hkey              = t_hkey[]
          vkey              = t_vkey[]
          online_text       = t_online[]
          data              = itab2   " "ITAB2" is not type-compatible with formal parameter "DATA". <- ERROR
        EXCEPTIONS
          dim_mismatch_data = 1
          dim_mismatch_sema = 2
          dim_mismatch_vkey = 3
          error_in_hkey     = 4
          error_in_sema     = 5
          inv_data_range    = 6
          error_in_vkey     = 7.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
418

Hi,

In your case, please change itab2 into itab2[].

Because you defined itab2 with header line, itab2 means header line in the method call.

Cheers,

2 REPLIES 2
Read only

Former Member
0 Likes
419

Hi,

In your case, please change itab2 into itab2[].

Because you defined itab2 with header line, itab2 means header line in the method call.

Cheers,

Read only

Former Member
0 Likes
418

Hi Saad,

Try redefininig itab2 without header line and it might work.

Regards

Srikanth M

Edited by: Srikanth Mellam on Mar 9, 2010 6:54 AM