Skip to Content
avatar image
Former Member

BAPI_BUS1077_CHANGE failling for identifier long texts

Hi,

I am facing a typical problem with the Lonag Texts of the Identifiers.

The problem arises when I want to modify an Identifier (Chemical Name) from a small text (<= 132 characters) to a Long Text (>132 characters). But it works fine when either creating a new identifier, or changing a small text to another small text, or changing a long text to another long text, or changing a long text to a small text.

The code I am using is below:

CALL FUNCTION 'BAPI_BUS1077_CHANGE'
    EXPORTING
      FLG_HEADER                     = 'X'
      flg_ident                      = 'X'
      flg_ident_longtext             = 'X'
    TABLES
      return                         = i_bapiret2
      sub_header                     = i_bapi1077rh
      ident_header                   = i_bapi1077ri2
      ident_headerx                  = i_bapisubrix2
      ident_longtext                 = i_bapi1077il
      ident_longtextx                = i_bapisubilx.

* Tables for the Long Text:
  w_bapi1077il-ref_recnri = w_bapi1077ri-record_no.
  w_bapi1077il-text_line  = p_ident.
  APPEND w_bapi1077il TO i_bapi1077il.

  w_bapisubilx-ref_recnri = 'X'.
  w_bapisubilx-text_line  = 'X'.
  APPEND w_bapisubilx TO i_bapisubilx.

The BAPI_BUS1077_CHANGE is returning the below errors:

At least one error occurred during processing

No values are available for the key specified

At least one lock error occurred during processing

Thanks,

Ipsita

Please use code tags.

Edited by: Rob Burbank on Sep 24, 2010 12:37 PM

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Sep 27, 2010 at 01:51 PM

    Hi Everyone,

    I was really stuck by the above mentioned issue. I get rid of it by my continious re-thinking.

    I am giving the solution, it might help anyone facing the simmilar problem.

    In case of creating the 'Long Text' for any identifier in EHS, the BAPI_BUS1077_CREATE needs to be used for the below 2 situations:

    1. Identifier does not exists at all.

    2. Identifier exists, but with a small text (<=132 characters).

    In the 2nd case, I assumed that I need to use BAPI_BUS1077_CHANGE, as the identifier already exists, but it was returning error, as the Long text was not existing.

    Thanks,

    Ipsita

    Add comment
    10|10000 characters needed characters exceeded