* this goes at the spot where the new * plan was identified PERFORM bdc_dynpro USING 'SAPMP50A' '1000'. PERFORM bdc_field USING 'BDC_OKCODE' '=COP'. PERFORM bdc_field USING 'RP50G-TIMR6' 'X'. PERFORM bdc_field USING 'BDC_CURSOR' 'RP50G-PERNR'. PERFORM bdc_field USING 'RP50G-PERNR' pa0171-pernr. * arrange date value as expected in PA30 tval(2) = sel_date+4(2). tval+2(2) = sel_date+6(2). tval+4(4) = sel_date(4). PERFORM bdc_field USING 'RP50G-BEGDA' tval. PERFORM bdc_field USING 'RP50G-CHOIC' '167'. PERFORM bdc_field USING 'RP50G-SUBTY' t_health-plan_type. PERFORM bdc_dynpro USING 'MP016700' '2000'. PERFORM bdc_field USING 'BDC_OKCODE' '=UPD'. PERFORM bdc_field USING 'BDC_CURSOR' 'P0167-BPLAN'. PERFORM bdc_field USING 'P0167-BPLAN' new_bplan. PERFORM bdc_field USING 'P0167-BOPTI' new_bopti. PERFORM bdc_field USING 'P0167-DEPCV' new_depcv. PERFORM bdc_transaction USING 'PA30'. … * this goes at the end of the program CALL FUNCTION 'BDC_CLOSE_GROUP'. … * these are the subroutines FORM bdc_field USING fnam fval. CLEAR bdcdata. bdcdata-fnam = fnam. bdcdata-fval = fval. APPEND bdcdata. ENDFORM. FORM bdc_dynpro USING program dynpro. CLEAR bdcdata. bdcdata-program = program. bdcdata-dynpro = dynpro. bdcdata-dynbegin = 'X'. APPEND bdcdata. ENDFORM. FORM bdc_transaction USING tcode. CALL FUNCTION 'BDC_INSERT' EXPORTING tcode = tcode TABLES dynprotab = bdcdata. REFRESH bdcdata. ENDFORM.