09-24-2010 5:19 PM
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
09-27-2010 2: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