Friday, June 6, 2008

To Delete Table Using BDC


TABLES:
dd02l,
bdcdata.
DATA:
fs_tab TYPE dd02l,
t_tab LIKE
STANDARD TABLE OF fs_tab,
t_bdcdata LIKE
STANDARD TABLE
OF bdcdata.
DATA:
t_messages LIKE
STANDARD TABLE
OF bdcmsgcoll.
DATA:
message TYPE bdcmsgcoll,
msg(72) TYPE c.

SELECT-OPTIONS: s_tab FOR dd02l-tabname.
START-OF-SELECTION.
SELECT tabname
FROM dd02l
INTO TABLE t_tab
WHERE tabname IN s_tab .
IF sy-subrc EQ 0.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-TBMA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=CHANGE_RADIO'.
PERFORM bdc_field USING 'RSRD1-TBMA'
'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL'
'TADIR'.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-TBMA_VAL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DELE'.
PERFORM bdc_field USING 'RSRD1-TBMA'
'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL'
'yit_exam1'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-TBMA_VAL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
PERFORM bdc_field USING 'RSRD1-TBMA'
'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL'
'YIT_EXAM1'.
CALL TRANSACTION 'SE11' USING t_bdcdata MODE 'N'
MESSAGES INTO t_messages.
LOOP AT t_messages INTO message.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = message-msgid
lang = 'EN'
no = message-msgnr
v1 = message-msgv1
v2 = message-msgv2
v3 = message-msgv3
v4 = message-msgv4
IMPORTING
msg = msg
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc EQ 0.
WRITE / msg.
ENDIF.
ENDLOOP.
ELSE.
WRITE: 'Not Deleted'.
ENDIF.
*---------------------------------------------------------------------*
* Form bdc_dynpro
*---------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* --> pv_prog BDC module pool
* --> pv_screen BDC Screen number
*---------------------------------------------------------------------*
FORM bdc_dynpro USING value(pv_prog)
value(pv_screen).
CLEAR bdcdata.
bdcdata-program = pv_prog.
bdcdata-dynpro = pv_screen.
bdcdata-dynbegin = 'X'.
APPEND bdcdata TO t_bdcdata.
ENDFORM. " bdc_dynpro
*---------------------------------------------------------------------*
* Form bdc_field
*---------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* --> pv_fname Field name
* --> pv_fval BDC field value
*---------------------------------------------------------------------*
FORM bdc_field USING value(pv_fname)
value(pv_fval).
CLEAR bdcdata.
bdcdata-fnam = pv_fname.
bdcdata-fval = pv_fval.
APPEND bdcdata TO t_bdcdata.
ENDFORM. " bdc_field

No comments: