09-09-2015 7:56 AM
Hi expert,
i have issue in new implementation FAGL_MIG_ADJ_ACCIT.
in this badi i want to change segment according to Bukrs and gsber .
in IT_ACCIT_EX table this are available but i am getting error to read this table.
i want to read ACCIT str filed of this table.
09-09-2015 8:01 AM
Please share your code along with error you are getting.
Regards
Mehwish
09-09-2015 8:01 AM
Please share your code along with error you are getting.
Regards
Mehwish
09-09-2015 9:51 AM
method IF_EX_FAGL_MIG_ADJ_ACCIT~ADJUST_ACCIT.
BREAK-POINT.
data: lv_segment type zsub_pcseg-segment.
DATA: wa_accit_asgmt TYPE FAGL_S_MIG_BADI_ASGMT.
data : wa_ACCIT_EX type IT_ACCIT_EX.
loop at IT_ACCIT_EX into wa_ACCIT_EX.
select single segment
from ZSUB_PCSEG into lv_segment
where bukrs = wa_ACCIT_EX-BUKRS and gsber = wa_ACCIT_EX-gsber.
READ TABLE CT_ACCIT_ASGMT INTO wa_accit_asgmt with key posnr = wa_ACCIT_EX-posnr
gsber = wa_ACCIT_EX-gsber.
if sy-subrc = 0.
wa_accit_asgmt-SEGMENT = lv_segment.
clear lv_segment.
MODIFY CT_ACCIT_ASGMT FROM wa_accit_asgmt.
ENDLOOP.
09-09-2015 10:50 AM
hi Suresh,
Try with below code :-
method IF_EX_FAGL_MIG_ADJ_ACCIT~ADJUST_ACCIT.
BREAK-POINT.
data: lv_segment type zsub_pcseg-segment.
DATA: wa_accit_asgmt TYPE FAGL_S_MIG_BADI_ASGMT.
data : wa_ACCIT_EX type IT_ACCIT_EX.
loop at IT_ACCIT_EX into wa_ACCIT_EX.
select single segment
from ZSUB_PCSEG into lv_segment
where bukrs = wa_ACCIT_EX-accit-BUKRS and gsber = wa_ACCIT_EX-accit-gsber.
READ TABLE CT_ACCIT_ASGMT INTO wa_accit_asgmt with key
posnr = wa_ACCIT_EX-accit-posnr
gsber = wa_ACCIT_EX-accit-gsber.
if sy-subrc = 0.
wa_accit_asgmt-SEGMENT = lv_segment.
clear lv_segment.
MODIFY CT_ACCIT_ASGMT FROM wa_accit_asgmt.
endif.
ENDLOOP.
endmethod.
thanks
-Learner
09-09-2015 12:34 PM
09-09-2015 1:01 PM
Hi,
Try,
FIELD-SYMBOLS:
<fs_accit> TYPE ANY,
<fval> TYPE ANY,
<fs_ct_accit> LIKE LINE OF CT_ACCIT_ASGMT.
loop at it_accit_ex ASSIGNING <fs_accit>.
ASSIGN COMPONENT 'GSBER' OF STRUCTURE <fs_Accit> to <fval>.
IF <fval> IS ASSIGNED.
select single segment
from ZSUB_PCSEG into lv_segment
where bukrs = wa_ACCIT_EX-BUKRS and gsber = <fval>.
READ TABLE CT_ACCIT_ASGMT ASSIGNING <fs_ct_accit> with key gsber = <fval>.
IF sy-subrc IS INITIAL.
<fs_ct_accit>-SEGMENT = lv_segment.
ENDIF.
ENDIF.
ENDLOOP.
Hope it helpful,
Regards,
Venkat.
09-09-2015 2:16 PM
Hi Suresh,
Comment Below :
*data : wa_ACCIT_EX type IT_ACCIT_EX.
Replace with
data : wa_ACCIT_EX like line of IT_ACCIT_EX.
Thanks
-Learner
09-09-2015 2:39 PM
Hi
The import paramter IT_ACCIT_EX is defined like GLT0_ACCIT_EX_TAB: it's a type table based on structure glt0_accit_ex
so your workarea has to be defined like glt0_accit_ex
GLT0_ACCIT_EX_TAB and glt0_accit_ex belong to type pool GLT0, so
data : wa_ACCIT_EX type glt0_accit_ex.
Max