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

invalid pointer operation

former_member612655
Participant
0 Likes
763
Hi experts,

REPORT ZEXCEL.



TYPE-POOLS: truxs.

 DATA BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

PARAMETERS: p_file TYPE  rlgrap-filename.



TYPES: BEGIN OF t_datatab,

      matnr type mara-matnr,

      bismt type mara-bismt,

      END OF t_datatab.

DATA: it_datatab type standard table of t_datatab,

      wa_datatab type t_datatab.



DATA: it_raw TYPE truxs_t_text_data.

DATA NODATA.



* At selection screen

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  CALL FUNCTION 'F4_FILENAME'

    EXPORTING

      field_name = 'P_FILE'

    IMPORTING

      file_name  = p_file.





***********************************************************************

*START-OF-SELECTION.

START-OF-SELECTION.



  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'

    EXPORTING

*     I_FIELD_SEPERATOR        =

      i_line_header            =  'X'

      i_tab_raw_data           =  it_raw       " WORK TABLE

      i_filename               =  p_file

    TABLES

      i_tab_converted_data     = it_datatab[]    "ACTUAL DATA

   EXCEPTIONS

      conversion_failed        = 1

      OTHERS                   = 2.



  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  ENDIF.





***********************************************************************

* END-OF-SELECTION.

END-OF-SELECTION.

  LOOP AT it_datatab INTO wa_datatab.

 perform bdc_dynpro      using 'SAPLMGMM' '0060'.

perform bdc_field       using 'BDC_CURSOR'

                              'RMMG1-MATNR'.

perform bdc_field       using 'BDC_OKCODE'

                              '=ENTR'.

perform bdc_field       using 'RMMG1-MATNR'

                              WA_DATATAB-MATNR.

perform bdc_dynpro      using 'SAPLMGMM' '0070'.

perform bdc_field       using 'BDC_CURSOR'

                              'MSICHTAUSW-DYTXT(01)'.

perform bdc_field       using 'BDC_OKCODE'

                              '=ENTR'.

perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'

                              'X'.

perform bdc_dynpro      using 'SAPLMGMM' '4004'.

perform bdc_field       using 'BDC_OKCODE'

                              '=BU'.

perform bdc_field       using 'BDC_CURSOR'

                              'MARA-BISMT'.

perform bdc_field       using 'MARA-BISMT'

                              WA_DATATAB-BISMT.

CALL TRANSACTION 'MM02' USING BDCDATA MODE 'A'.

REFRESH BDCDATA.

  ENDLOOP.

  FORM BDC_DYNPRO USING PROGRAM DYNPRO.

  CLEAR BDCDATA.

  BDCDATA-PROGRAM  = PROGRAM.

  BDCDATA-DYNPRO   = DYNPRO.

  BDCDATA-DYNBEGIN = 'X'.

  APPEND BDCDATA.

ENDFORM.



*----------------------------------------------------------------------*

*        Insert field                                                  *

*----------------------------------------------------------------------*

FORM BDC_FIELD USING FNAM FVAL.

  IF FVAL <> NODATA.

    CLEAR BDCDATA.

    BDCDATA-FNAM = FNAM.

    BDCDATA-FVAL = FVAL.

    APPEND BDCDATA.

  ENDIF.

ENDFORM.
when i am executing the above code error msg displayed as data not processed due to "invalid pointer 
operation" can you please help me to resolve the issue.At the same time can you please tell whether 
code is correct or not. if there is any modifications can you please mention it.
regards.
2 REPLIES 2
Read only

former_member199306
Participant
0 Likes
684

Hi,

Please record BDC again, there is some mistake in data input while recording the BDC.

Read only

ThangaPrakash
Active Contributor
684

bhavani123 A small suggestion, I could see you want to update BISMT ( Old material number ), you can make use of BAPI 'BAPI_MATERIAL_SAVEDATA', pass old material to CLIENTDATA-OLD_MAT_NO and also 'X' to CLIENTDATAX-OLD_MAT_NO