0% found this document useful (0 votes)
371 views14 pages

Only Implementing Custom Logic in BADI

This document outlines four scenarios for implementing business logic in a BADI (Business Add-In): 1. Implementing custom logic only in a BADI 2. Combining business fields and custom fields via a BADI 3. Modifying only business fields via a BADI 4. Implementing a BADI but with no additional logic

Uploaded by

saivenkateswar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
371 views14 pages

Only Implementing Custom Logic in BADI

This document outlines four scenarios for implementing business logic in a BADI (Business Add-In): 1. Implementing custom logic only in a BADI 2. Combining business fields and custom fields via a BADI 3. Modifying only business fields via a BADI 4. Implementing a BADI but with no additional logic

Uploaded by

saivenkateswar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

1.

Only implementing Custom logic in BADI


Implementation logic

DATA: ls_message LIKE LINE OF messages.

DATA: ls_acct LIKE LINE OF purchaserequisitionitemaccchng .

FIELD-SYMBOLS: <ls_acct> LIKE LINE OF purchaserequisitionitemaccchng .

DATA ls_msg LIKE LINE OF messages.

CONSTANTS: c_10 TYPE n LENGTH 5 VALUE '00010',

c_blk TYPE c VALUE 'L'.

purchaserequisitionitemchange-yy1_yy1_ext_field1_pri = 'From Badi'.


Only Custom fields scenario as reported by customer

DATA: ls_message LIKE LINE OF messages.

DATA: ls_acct LIKE LINE OF purchaserequisitionitemaccchng .

FIELD-SYMBOLS: <ls_acct> LIKE LINE OF purchaserequisitionitemaccchng .

DATA ls_msg LIKE LINE OF messages.

CONSTANTS: c_10 TYPE n LENGTH 5 VALUE '00010',

c_blk TYPE c VALUE 'L'.

IF purchaserequisitionitem-purchaserequisitionitem NE c_10 AND

purchaserequisitionitem-isdeleted EQ space.
SELECT SINGLE * INTO @data(ls_pr) FROM i_purchaserequisitionitemapi01

WHERE purchaserequisition EQ @purchaserequisition-purchaserequisition

AND purchaserequisitionitem EQ @c_10.

IF sy-subrc EQ 0.

IF purchaserequisitionitemchange-yy1_yy1_ext_field1_pri IS INITIAL.

purchaserequisitionitemchange-yy1_yy1_ext_field1_pri = ls_pr-yy1_yy1_ext_field1_pri.

ENDIF.

else.

IF purchaserequisitionitem-purchaserequisitionitem NE c_10.

CLEAR: purchaserequisitionitemchange-yy1_yy1_ext_field1_pri.

ENDIF.

ENDIF.
2. Combination of Business fields and Custom Fields
via BADI
DATA: ls_message LIKE LINE OF messages.
DATA: ls_acct LIKE LINE OF purchaserequisitionitemaccchng .
FIELD-SYMBOLS: <ls_acct> LIKE LINE OF purchaserequisitionitemaccchng .

DATA ls_msg LIKE LINE OF messages.


CONSTANTS: c_10 TYPE n LENGTH 5 VALUE '00010',
c_blk TYPE c VALUE 'L'.
purchaserequisitionitemchange-purchaserequisitionitemtext = 'ITEMBADI'.
purchaserequisitionitemchange-DELIVERYDATE = '20201205'.

IF purchaserequisitionitem-purchaserequisitionitem NE c_10 AND


purchaserequisitionitem-isdeleted EQ space.

SELECT SINGLE * INTO @data(ls_pr) FROM i_purchaserequisitionitemapi01


WHERE purchaserequisition EQ @purchaserequisition-purchaserequisition
AND purchaserequisitionitem EQ @c_10.

IF sy-subrc EQ 0.

IF purchaserequisitionitemchange-yy1_yy1_ext_field1_pri IS INITIAL.
purchaserequisitionitemchange-yy1_yy1_ext_field1_pri = ls_pr-yy1_yy1_ext_field1_pri.
ENDIF.
else.
IF purchaserequisitionitem-purchaserequisitionitem NE c_10.
CLEAR: purchaserequisitionitemchange-yy1_yy1_ext_field1_pri.
ENDIF.
ENDIF.
ENDIF.
3. Only Business Field modify via BADI

DATA: ls_message LIKE LINE OF messages.

DATA: ls_acct LIKE LINE OF purchaserequisitionitemaccchng .

FIELD-SYMBOLS: <ls_acct> LIKE LINE OF purchaserequisitionitemaccchng .

DATA ls_msg LIKE LINE OF messages.

CONSTANTS: c_10 TYPE n LENGTH 5 VALUE '00010',

c_blk TYPE c VALUE 'L'.

purchaserequisitionitemchange-purchaserequisitionitemtext = 'ITEMBADI'.

purchaserequisitionitemchange-DELIVERYDATE = '20211205'.
4. BADI implemented but no Logic
DATA: ls_message LIKE LINE OF messages.
DATA: ls_acct LIKE LINE OF purchaserequisitionitemaccchng .
FIELD-SYMBOLS: <ls_acct> LIKE LINE OF purchaserequisitionitemaccchng .

DATA ls_msg LIKE LINE OF messages.


CONSTANTS: c_10 TYPE n LENGTH 5 VALUE '00010',
c_blk TYPE c VALUE 'L'.

* purchaserequisitionitemchange-purchaserequisitionitemtext = 'ITEMBADI'.
* purchaserequisitionitemchange-DELIVERYDATE = '20211205'.

You might also like