cancel
Showing results for 
Search instead for 
Did you mean: 

How to solve [2620] executor: plan operation failed;ceVerticalUnionPop::executePop:?

alexander_stettler
Participant
10,703

Hello,

I'm trying to implement an AMDP field routine but when I execute the DTP the DTP is running into an error: column store error: search table error: [2620] executor: plan operation failed;ceVerticalUnionPop::executePop: the input ... ADSO DPP02_A02 000 E RS_EXCEPTION column store error: search table error: [2620] executor: plan operation failed;ceVerticalUnionPop::executePop: the input ... 20.180.307.103.703,8218510

Does anyone of you knows what this message is saying?

The corresponding AMDP looks like the following:

  types:
    begin of TN_S_IN1,
       DF_PLNQUNT type /BI0/OIDF_PLNQUNT, " InfoObject: 0DF_PLNQUNT
       MATERIAL type /BI0/OIMATERIAL, " InfoObject: 0MATERIAL
       PLANT type /BI0/OIPLANT, " InfoObject: 0PLANT
       RECORD type C length 56,
       SQL__PROCEDURE__SOURCE__RECORD type C length 56,
    end of TN_S_IN1 .
  ...
  types:
    begin of TN_S_OUT1,
       /BIC/XPP02PVAL type /BIC/OIXPP02PVAL, " InfoObject: XPP02PVAL
       RECORD type C length 56,
       SQL__PROCEDURE__SOURCE__RECORD type C length 56,
    end of TN_S_OUT1 .
METHOD PROCEDURE BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY using /BIC/AWMM01W0100 /BI0/PPLANT.
    outtab = SELECT COALESCE ( mbew."PRICE_STD" / mbew."PRICE_UNIT" * inTab."DF_PLNQUNT", 0) as "/BIC/XPP02PVAL",
                    inTab.RECORD,
                    inTab.SQL__PROCEDURE__SOURCE__RECORD
               FROM :intab as inTab
               left outer join ( SELECT mb."MATERIAL",
                                        pl."PLANT",
                                        mb."PRICE_STD",
                                        mb."PRICE_UNIT",
                                        mb."CURRENCY",
                                        MAX(mb."FISCPER")
                                  FROM "/BIC/AWMM01W0100" as mb
                                  inner join "/BI0/PPLANT" as pl on pl."COMP_CODE" = mb."COMP_CODE"
                                  where pl."OBJVERS"  = 'A'
                                  group by mb.MATERIAL, pl."PLANT", mb.PRICE_STD, mb.PRICE_UNIT, mb.CURRENCY
                                ) as mbew on inTab."MATERIAL"   = mbew."MATERIAL"
                                         and inTab."PLANT"      = mbew."PLANT";

  errortab = select '' as "ERROR_TEXT" ,
                    '' as "SQL__PROCEDURE__SOURCE__RECORD"
             from dummy
             where dummy <> 'X';
ENDMETHOD.

If I set a break point and execute the AMDP, everything is looking fine => outtab is showing some data in the table preview within the debuger.


View Entire Topic
alexander_stettler
Participant

I've found a solution for the issue:

Transaction SM21 was showing the following log entry:

Datenbankfehler 2048 beim EXE aufgetreten
column store error: search table error: [2620] executor: plan operation failed;ceVerticalUnionPop::executePop: the input column 0BASE_UOM has a length (1972) shorter than expected (4663).

That indicates that the issue occur after the AMDP. But the root cause was indeed the result of the AMDP. After checking the entries on INTAB (117 entries) and OUTTAB (273 entries) it was clear that the issue is related to a SELECT statement that selects duplicate entries...
After adapting the SQL Script, the issue don't occur.

Nevertheless the error message is a little bit confusing! 😉

Former Member
0 Kudos

What was the change in the code you applied? Do INTAB and OUTTAB need to have the same amount of entries?

I have a similar issue (OUTTAB has less entries than INTAB), but the code was working fine for several months. Must have been a SAP note which changed the behaviour.