Skip to Content
avatar image
Former Member

BW endroutine

Hi ABAP experts

I wrote this endroutine, a lookup from a DSO into an infocube.

syntax checks says: E:"WA" cannot be converted to the line type of "ITAB".

What's wrong?

Thanks for any help.

Regards

Thomas

TYPES : BEGIN OF CFM,
CFM_SEC_ID TYPE /BI0/OICFM_SEC_ID,
COMP_CODE TYPE /BI0/OICOMP_CODE,
CALDAY TYPE /BI0/OICALDAY,
FS_BDATE TYPE /BI0/OIFS_BDATE,
END OF CFM.

DATA: ITAB_TARGET TYPE STANDARD TABLE OF _TY_S_TG_1.
DATA : ICOUNT TYPE RSARECORD.
DATA: ITAB TYPE TABLE OF CFM, WA type TABLE OF CFM.


IF NOT RESULT_PACKAGE[] IS INITIAL.

SELECT CFM_SEC_ID COMP_CODE CALDAY FS_BDATE
FROM /BIC/AZXYZ_O0100 INTO CORRESPONDING FIELDS OF TABLE ITAB
FOR ALL ENTRIES IN RESULT_PACKAGE WHERE
CFM_SEC_ID EQ RESULT_PACKAGE-CFM_SEC_ID
AND COMP_CODE EQ RESULT_PACKAGE-COMP_CODE AND
CALDAY EQ RESULT_PACKAGE-CALDAY.

IF SY-SUBRC EQ 0.
SORT ITAB BY CFM_SEC_ID COMP_CODE.
ENDIF.

LOOP AT RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.


READ TABLE ITAB INTO WA
WITH KEY CFM_SEC_ID = <result_fields>-CFM_SEC_ID.
COMP_CODE = <result_fields>-COMP_CODE.
CALDAY = <result_fields>-CALDAY.

IF SY-SUBRC EQ 0.
<RESULT_FIELDS>-FS_BDATE = WA-FS_BDATE.
ENDIF.


APPEND <RESULT_FIELDS> TO ITAB_TARGET.
ENDLOOP.
REFRESH RESULT_PACKAGE.
RESULT_PACKAGE[] = ITAB_TARGET[].
ENDIF.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Best Answer
    Sep 09, 2014 at 06:46 AM

    Hi thomas,

    Your syntax is incorrect it should be 'wa type cfm' in the declaration instead of WA type TABLE OF CFM

    regards,

    Aarif

    Add comment
    10|10000 characters needed characters exceeded

    • Hi thomas,

      READ TABLE ITAB INTO WA

      WITH KEY CFM_SEC_ID = <result_fields>-CFM_SEC_ID.

      COMP_CODE = <result_fields>-COMP_CODE.

      CALDAY = <result_fields>-CALDAY.


      Please remove a full stop after '<result_fields>-CFM_SEC_ID.' and <result_fields>-COMP_CODE. there should be only full stop at the end because read is one statement so it should be like this


      READ TABLE ITAB INTO WA

      WITH KEY CFM_SEC_ID = <result_fields>-CFM_SEC_ID

      COMP_CODE = <result_fields>-COMP_CODE

      CALDAY = <result_fields>-CALDAY.


      just copy paste this code it will work.