Hi ABAP Gurus,
my requirement is i have to develop report in which i need to have 2 radiobuttons if i select first radiobutton my program should run Report and if i select second radiobutton it should run va02 and make some changes (i.e, it should change delivery quantity is equal to orderquantity.
i wrote program to display the report but what i want is now i have to do recording in va02 tr.code and write the logic in my developed program.and below is my program .
TYPE-POOLS : slis.
TABLES : vbak,vbap.
TYPES : BEGIN OF t_vbak,
vbeln TYPE vbak-vbeln,
audat TYPE vbak-audat,
vbtyp TYPE vbak-vbtyp,
END OF t_vbak.
TYPES : BEGIN OF t_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
arktx TYPE vbap-arktx,
kwmeng TYPE vbap-kwmeng,
lsmeng TYPE vbap-lsmeng,
END OF t_vbap .
DATA : BEGIN OF it_final OCCURS 0,
vbeln LIKE zstru_final1-vbeln,
posnr LIKE zstru_final1-posnr,
audat LIKE zstru_final1-audat,
vbtyp LIKE zstru_final1-vbtyp,
arktx LIKE zstru_final1-arktx,
kwmeng LIKE zstru_final1-kwmeng,
lsmeng LIKE zstru_final1-lsmeng,
bal LIKE zstru_final1-bal,
END OF it_final.
DATA : it_vbak TYPE TABLE OF t_vbak,
wa_vbak TYPE t_vbak,
it_vbap TYPE TABLE OF t_vbap,
wa_vbap TYPE t_vbap.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
ls_fieldcat TYPE slis_fieldcat_alv,
ls_repid TYPE sy-repid,
gs_layout TYPE lvc_s_layo,
l_variant TYPE disvariant.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
s_audat FOR vbak-audat,
s_vbtyp FOR vbak-vbtyp.
SELECTION-SCREEN : END OF BLOCK b1.
SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: rb1 TYPE c RADIOBUTTON GROUP g1,
rb2 TYPE c RADIOBUTTON GROUP g1.
SELECTION-SCREEN : END OF BLOCK b2.
START-OF-SELECTION.
ls_repid = sy-repid.
SELECT vbeln audat vbtyp FROM vbak INTO TABLE it_vbak
WHERE vbeln IN s_vbeln
AND audat IN s_audat
AND vbtyp IN s_vbtyp.
IF it_vbak[] IS NOT INITIAL.
SELECT vbeln posnr arktx kwmeng lsmeng FROM vbap
INTO TABLE it_vbap FOR ALL ENTRIES IN it_vbak
WHERE vbeln EQ it_vbak-vbeln.
ENDIF.
LOOP AT it_vbap INTO wa_vbap.
it_final-posnr = wa_vbap-posnr.
it_final-arktx = wa_vbap-arktx.
it_final-kwmeng = wa_vbap-kwmeng.
it_final-lsmeng = wa_vbap-lsmeng.
it_final-bal = wa_vbap-kwmeng - wa_vbap-lsmeng.
READ TABLE it_vbak INTO wa_vbak
WITH KEY vbeln = wa_vbap-vbeln.
IF sy-subrc IS INITIAL.
it_final-vbeln = wa_vbak-vbeln.
it_final-audat = wa_vbak-audat.
it_final-vbtyp = wa_vbak-vbtyp.
ENDIF.
COLLECT it_final.
ENDLOOP.
IF rb1 = 'X'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = ls_repid
i_internal_tabname = 'IT_FINAL'
i_inclname = ls_repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = ls_repid
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
ENDIF.
please help me out .
thanks in advance.