METHOD IF_UJ_CUSTOM_LOGIC~EXECUTE. DATA: LS_REC TYPE REF TO DATA, LT_FINAL TYPE REF TO DATA, ORIG_AMOUNT TYPE UJ_SIGNEDDATA. FIELD-SYMBOLS: TYPE ANY, "Dimension TYPE ANY, "Dimension TYPE ANY, "Dimension - holding the value IT is Standard TYPE ANY, TYPE STANDARD TABLE. "Create the table for collecting the new entries CREATE DATA LT_FINAL LIKE CT_DATA. ASSIGN LT_FINAL->* TO . "Creating the Line structure CREATE DATA LS_REC LIKE LINE OF CT_DATA. ASSIGN LS_REC->* TO . "Add your dimensions here ASSIGN COMPONENT 'ET_ACCOUNT' OF STRUCTURE TO . "Dimension ET_ACCOUNT is the dimension creating the BPC Model ASSIGN COMPONENT 'ET_FLOW' OF STRUCTURE TO . "Dimension ET_FLOW is the dimension creating the BPC Model ASSIGN COMPONENT 'SIGNEDDATA' OF STRUCTURE TO . "Standard "Main loop where we generate two new records based on the Context (Either based on the default entry or based on the *XDIM_MEMBERSET "We are not using , but you can use it if you want LOOP AT CT_DATA INTO . ORIG_AMOUNT = . "Keeping the original amount IF = 'PL4100'. "Checking for specific member = 'PL7200'. "Assining to a different member = ORIG_AMOUNT * '0.4'. "Changing the originating value APPEND TO . "Creating a new record with the same value as the original amount = 'PL7300'. = ORIG_AMOUNT * '0.2'. " APPEND TO . "Creating a new record with differnt value and member ENDIF. ENDLOOP. CT_DATA = . "Assigning the new records to the BPC BADI Internal Table which will write them to the Database ENDMETHOD.