‎2022 Sep 20 9:13 AM
Hello expert, I am creating one amdp to fetch data from BSID by using apply_filter keyword but it is throwing an exception given below
"Error when executing the database procedure "ZCL_OPEN_INV_AMDP=>GET_OPEN_INV". SQL error: "260". SQL message: "invalid column name: "SAPFS1"."ZCL_OPEN_INV_AMDP=>GET_OPEN_INV#stb2#20220920010950": line 14 col 3 (at pos 295), "SAPFS1"."ZCL_OPEN_INV_AMDP=>GE"
Please help asap
Thanks in advance
Code:-
CLASS zcl_open DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
*Marker interface for Database Procedures
INTERFACES if_amdp_marker_hdb.
*Structure
TYPES : BEGIN OF ty_bsid,
mandt TYPE mandt,
bukrs TYPE bukrs,
gjahr TYPE gjahr,
belnr TYPE belnr_d,
buzei TYPE buzei,
bldat TYPE bldat,
shkzg TYPE shkzg,
wrbtr TYPE wrbtr,
zfbdt TYPE dzfbdt,
zterm TYPE dzterm,
zbd1t TYPE dzbd1t,
zbd2t TYPE dzbd2t,
zbd3t TYPE dzbd3t,
rebzg TYPE rebzg,
rebzt TYPE rebzt,
END OF ty_bsid,
tt_bsid TYPE STANDARD TABLE OF ty_bsid.
CLASS-METHODS get_open_inv
IMPORTING
VALUE(imp_filt) TYPE string
EXPORTING
VALUE(et_open_inv) TYPE tt_bsid
RAISING
cx_amdp_execution_error.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_open IMPLEMENTATION.
METHOD get_open_inv BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY USING BSID.
et_result = APPLY_FILTER (BSID, :imp_filt);
et_open_inv = SELECT a.mandt,
a.bukrs,
a.gjahr,
a.belnr,
a.buzei,
a.bldat,
a.shkzg,
a.wrbtr,
a.zfbdt,
a.zterm,
a.zbd1t,
a.zbd2t,
a.zbd3t,
a.rebzg,
a.rebzt
FROM :et_result as a
WHERE a.mandt = SESSION_context('CLIENT')
AND a.shkzg = 'S';
ENDMETHOD.
ENDCLASS.