How to add a report into the tree??

Hi all,
Pls help me add a report into the tree same as standard report that we can click icon on tree to run.
Thank you!

Hi,
use FM HR_ALV_HIERSEQ_LIST_DISPLAY
there are 2 internal table , one for header and one for detail
below is code for reference
REPORT zinsd_quot_cont.
TYPES : BEGIN OF ty_vbak,
vbeln TYPE vbeln_va,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
spart TYPE spart,
vkbur TYPE vkbur,
vkgrp TYPE vkgrp,
angdt TYPE angdt_v,
bnddt TYPE bnddt,
kunnr TYPE kunnr,
kwmeng TYPE kwmeng,
meins TYPE meins,
kunwe TYPE kunnr,
name1 TYPE name1_gp ,
name2 TYPE name1_gp ,
sel(1),
expand(1),
salesdocument TYPE bapivbeln-vbeln,
message TYPE bapi_msg,
END OF ty_vbak.
DATA : w_vbak TYPE ty_vbak,
t_vbak TYPE TABLE OF ty_vbak.
DATA : w_update TYPE ty_vbak,
t_update TYPE TABLE OF ty_vbak.
TYPES : BEGIN OF ty_kna1,
kunnr TYPE kunnr,
name1 TYPE name1_gp ,
END OF ty_kna1.
DATA : w_kna1 TYPE ty_kna1,
t_kna1 TYPE TABLE OF ty_kna1.
TYPES : BEGIN OF ty_vbap,
vbeln TYPE vbeln_va,
posnr TYPE posnr_va,
matnr TYPE matnr,
matkl TYPE matkl,
werks TYPE werks_ext,
kwmeng TYPE kwmeng,
meins TYPE meins,
mvgr5 TYPE mvgr5,
maktx TYPE maktx,
END OF ty_vbap.
DATA : w_vbap TYPE ty_vbap,
t_vbap TYPE TABLE OF ty_vbap.
TYPES : BEGIN OF ty_makt,
matnr TYPE matnr,
maktx TYPE maktx,
END OF ty_makt.
DATA : w_makt TYPE ty_makt,
t_makt TYPE TABLE OF ty_makt.
TYPES : BEGIN OF ty_sum,
vbeln TYPE vbeln_va,
kwmeng TYPE kwmeng,
END OF ty_sum.
DATA : w_sum TYPE ty_sum,
t_sum TYPE TABLE OF ty_sum.
TYPES : BEGIN OF ty_vbpa,
vbeln TYPE vbeln,
posnr TYPE posnr,
parvw TYPE parvw,
kunnr TYPE kunnr,
END OF ty_vbpa.
DATA : w_vbpa TYPE ty_vbpa,
t_vbpa TYPE TABLE OF ty_vbpa.
TYPES : BEGIN OF ty_vbup,
vbeln TYPE vbeln,
posnr TYPE posnr ,
gbsta TYPE gbsta ,
END OF ty_vbup.
DATA : w_vbup TYPE ty_vbup,
t_vbup TYPE TABLE OF ty_vbup.
TYPE-POOLS slis.
DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv,
w_fieldcatalog TYPE slis_fieldcat_alv,
w_layout TYPE slis_layout_alv,
gs_keyinfo TYPE slis_keyinfo_alv.
DATA: g_tabname_header TYPE slis_tabname,
g_tabname_item TYPE slis_tabname.
data definition
Batchinputdata of single transaction
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
messages of call transaction
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
DATA : g_lines TYPE i.
*Selection Screen
TABLES : vbak,vbap.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.
SELECT-OPTIONS s_vkorg FOR vbak-vkorg. " Sales Org
SELECT-OPTIONS s_vtweg FOR vbak-vtweg. " Dist Channel
SELECT-OPTIONS s_spart FOR vbak-spart. " Division
SELECT-OPTIONS s_vkbur FOR vbak-vkbur. " Sales Off
SELECT-OPTIONS s_vkgrp FOR vbak-vkgrp. " Sales Grp
SELECT-OPTIONS s_matkl FOR vbap-matkl. " Mat Grp
SELECT-OPTIONS s_werks FOR vbap-werks. " Plant
SELECT-OPTIONS s_period FOR vbak-angdt. " Sales Off
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
PERFORM f_getdata.
PERFORM f_initdata.
END-OF-SELECTION.
PERFORM f_createalv.
PERFORM f_dispalv.
*& Form f_getdata
text
--> p1 text
<-- p2 text
FORM f_getdata .
*Sales Header
SELECT
vbeln
vkorg
vtweg
spart
vkbur
vkgrp
angdt
bnddt
kunnr
INTO TABLE t_vbak
FROM vbak
WHERE
vkorg IN s_vkorg " Sales Org
AND vtweg IN s_vtweg " Dist Channel
AND spart IN s_spart " Division
AND vkbur IN s_vkbur " Sales Off
AND vkgrp IN s_vkgrp " Sales Grp
AND angdt IN s_period
AND bnddt IN s_period
AND auart = 'ZQMO'
AND vbtyp = 'B'.
*CUST NAME
SELECT
kunnr
name1
INTO TABLE t_kna1
FROM kna1
FOR ALL ENTRIES IN t_vbak
WHERE
kunnr = t_vbak-kunnr
*Sales Item
SELECT
vbeln
posnr
matnr
matkl
werks
kwmeng
meins
mvgr5
INTO TABLE t_vbap
FROM vbap
FOR ALL ENTRIES IN t_vbak
WHERE
vbeln = t_vbak-vbeln
AND matkl IN s_matkl " Mat Grp
AND werks IN s_werks " Plant
*Partners
SELECT
vbeln
posnr
parvw
kunnr
INTO TABLE t_vbpa
FROM vbpa
FOR ALL ENTRIES IN t_vbak
WHERE
vbeln = t_vbak-vbeln.
IF t_vbpa[] IS NOT INITIAL.
SELECT
kunnr
name1
APPENDING TABLE t_kna1
FROM kna1
FOR ALL ENTRIES IN t_vbpa
WHERE
kunnr = t_vbpa-kunnr
ENDIF.
*Status - Sales Doc
SELECT
vbeln
posnr
gbsta
INTO TABLE t_vbup
FROM vbup
FOR ALL ENTRIES IN t_vbap
WHERE
vbeln = t_vbap-vbeln
AND posnr = t_vbap-posnr
AND gbsta NE 'C'.
SELECT
matnr
maktx
INTO TABLE t_makt
FROM makt
FOR ALL ENTRIES IN t_vbap
WHERE
matnr = t_vbap-matnr
AND spras = 'E'.
ENDFORM. " f_getdata
*& Form f_initdata
text
--> p1 text
<-- p2 text
FORM f_initdata .
SORT t_vbap BY vbeln DESCENDING.
*delete all closed stat items
LOOP AT t_vbap INTO w_vbap.
READ TABLE t_vbup INTO w_vbup
WITH KEY
vbeln = w_vbap-vbeln
posnr = w_vbap-posnr.
IF sy-subrc <> 0.
DELETE t_vbap.
CONTINUE.
ELSE.
READ TABLE t_makt INTO w_makt
WITH
KEY matnr = w_vbap-matnr.
IF sy-subrc = 0.
w_vbap-maktx = w_makt-maktx.
MODIFY t_vbap FROM w_vbap.
ENDIF.
ENDIF.
ENDLOOP.
*find the total quantity
LOOP AT t_vbap INTO w_vbap.
w_sum-vbeln = w_vbap-vbeln.
w_sum-kwmeng = w_vbap-kwmeng.
COLLECT w_sum INTO t_sum.
CLEAR w_sum.
ENDLOOP.
*populate header
LOOP AT t_vbak INTO w_vbak.
Quantity - Total
READ TABLE t_sum INTO w_sum
WITH KEY
vbeln = w_vbak-vbeln.
IF sy-subrc = 0.
w_vbak-kwmeng = w_sum-kwmeng.
ELSE.
CLEAR w_vbak-kwmeng.
ENDIF.
UoM
READ TABLE t_vbap INTO w_vbap
WITH KEY
vbeln = w_vbak-vbeln.
IF sy-subrc = 0.
w_vbak-meins = w_vbap-meins.
ELSE.
CLEAR w_vbak-meins.
ENDIF.
Partner
READ TABLE t_vbpa INTO w_vbpa
WITH KEY
vbeln = w_vbak-vbeln
parvw = 'WE'.
IF sy-subrc = 0.
w_vbak-kunwe = w_vbpa-kunnr.
ELSE.
CLEAR w_vbak-kunwe.
ENDIF.
SHIP TO PARTY NAME
READ TABLE t_kna1 INTO w_kna1
WITH KEY
kunnr = w_vbak-kunwe.
IF sy-subrc = 0.
w_vbak-name2 = w_kna1-name1.
ENDIF.
CUST NAM - SOLD TO PARTY
READ TABLE t_kna1 INTO w_kna1
WITH KEY
kunnr = w_vbak-kunnr.
IF sy-subrc = 0.
w_vbak-name1 = w_kna1-name1.
ENDIF.
MODIFY t_vbak FROM w_vbak.
ENDLOOP.
DELETE t_vbak WHERE kwmeng IS INITIAL.
SORT t_vbak BY vbeln DESCENDING.
SORT t_vbap BY vbeln DESCENDING posnr ASCENDING.
ENDFORM. " f_initdata
*& Form f_createalv
Create Field Cat.
--> p1 text
<-- p2 text
FORM f_createalv .
g_tabname_header = 't_vbak'.
g_tabname_item = 't_vbap' .
CLEAR gs_keyinfo.
gs_keyinfo-header01 = 'VBELN'.
gs_keyinfo-item01 = 'VBELN'.
*VBAK
w_fieldcatalog-fieldname = 'VBELN'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Sales Document'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'VKORG'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Sales Org'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'VTWEG'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Dist Channel'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'SPART'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Division'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'VKBUR'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Sales Office'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'VKGRP'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Sales GRP'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'KUNNR'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Sold to Party'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'NAME1'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-outputlen = 35.
w_fieldcatalog-seltext_l = 'Sold to Party Code - Name'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'KUNWE'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Ship to Party'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'NAME2'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Ship Party Code - Name'.
w_fieldcatalog-outputlen = 35.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'KWMENG'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Quantity'.
w_fieldcatalog-outputlen = 25.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MEINS'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'UoM'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'SALESDOCUMENT'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Document'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MESSAGE'.
w_fieldcatalog-tabname = 't_vbak'.
w_fieldcatalog-seltext_l = 'Log'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
*VBAP
w_fieldcatalog-fieldname = 'POSNR'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'POS'.
w_fieldcatalog-outputlen = 6.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MATNR'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'Material'.
w_fieldcatalog-outputlen = 18.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MAKTX'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'Material Desc'.
w_fieldcatalog-outputlen = 40.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MATKL'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'Material Grp'.
w_fieldcatalog-outputlen = 9.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MVGR5'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'MCNO'.
w_fieldcatalog-outputlen = 4.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'WERKS'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'Plant'.
w_fieldcatalog-outputlen = 91.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'KWMENG'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'Quantity'.
w_fieldcatalog-outputlen = 25.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
w_fieldcatalog-fieldname = 'MEINS'.
w_fieldcatalog-tabname = 't_vbap'.
w_fieldcatalog-seltext_l = 'UoM'.
APPEND w_fieldcatalog TO t_fieldcatalog.
CLEAR: w_fieldcatalog.
LAYOUT
w_layout-colwidth_optimize = 'X'.
w_layout-zebra = 'X'.
w_layout-expand_fieldname = 'EXPAND'.
w_layout-box_fieldname = 'SEL'.
w_layout-box_tabname = 't_vbak'.
ENDFORM. " f_createalv
*& Form f_dispalv
Call ALV
--> p1 text
<-- p2 text
FORM f_dispalv .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
is_layout = w_layout
it_fieldcat = t_fieldcatalog
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
i_tabname_header = g_tabname_header
i_tabname_item = g_tabname_item
is_keyinfo = gs_keyinfo
TABLES
t_outtab_header = t_vbak
t_outtab_item = t_vbap
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " f_dispalv
*& Form set_pf_status
PF stat
-->RT_EXTAB text
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZINSD_QUOT_CONT_ST'.
ENDFORM. "set_pf_status
*& Form user_command
Process List UCOMM
-->R_UCOMM text
-->RS_SELFIELD text
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
REFRESH t_update.
IF r_ucomm = 'EXIT'.
LEAVE PROGRAM.
ENDIF.
IF r_ucomm = 'EXECUTE'.
LOOP AT t_vbak INTO w_update
WHERE
sel = 'X'
AND salesdocument = ' '.
APPEND w_update TO t_update.
ENDLOOP.
IF t_update[] IS NOT INITIAL.
LOOP AT t_update INTO w_update.
PERFORM f_bapi_contract_createfromdata USING w_update.
PERFORM f_bdc_contract_from_quotation.
MODIFY t_update FROM w_update.
ENDLOOP.
ELSE.
ENDIF.
PERFORM f_dispalv.
ENDIF.
IF r_ucomm = '&IC1'.
IF rs_selfield-sel_tab_field = 't_vbak-VBELN'.
SET PARAMETER ID 'AGN' FIELD rs_selfield-value.
CALL TRANSACTION 'VA23' AND SKIP FIRST SCREEN.
ENDIF.
IF rs_selfield-sel_tab_field = 't_vbak-SALESDOCUMENT' AND
rs_selfield-value NE ' '.
SET PARAMETER ID 'KTN' FIELD rs_selfield-value.
CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDFORM. "user_command
*& Form F_BAPI_CONTRACT_CREATEFROMDATA
BAPI CALL
-->P_W_UPDATE text
FORM f_bapi_contract_createfromdata USING p_w_update STRUCTURE w_update .
DATA : w_contract_header_in TYPE bapisdhd1 ,
w_contract_header_inx TYPE bapisdhd1x ,
t_contract_items_in TYPE TABLE OF bapisditm WITH HEADER LINE,
t_contract_items_inx TYPE TABLE OF bapisditmx WITH HEADER LINE,
t_contract_partners TYPE TABLE OF bapiparnr WITH HEADER LINE,
t_return TYPE TABLE OF bapiret2 WITH HEADER LINE.
CLEAR : w_contract_header_in,
w_contract_header_inx.
REFRESH : t_contract_items_in,
t_contract_items_inx,
t_contract_partners,
t_return.
w_contract_header_in-doc_type = 'ZCNT'.
w_contract_header_in-sales_org = p_w_update-vkorg.
w_contract_header_in-distr_chan = p_w_update-vtweg.
w_contract_header_in-division = p_w_update-spart.
w_contract_header_in-ct_valid_f = p_w_update-angdt.
w_contract_header_in-ct_valid_t = p_w_update-bnddt.
w_contract_header_inx-doc_type = 'X'.
w_contract_header_inx-sales_org = 'X'.
w_contract_header_inx-distr_chan = 'X'.
w_contract_header_inx-division = 'X'.
w_contract_header_inx-ct_valid_f = 'X'.
w_contract_header_inx-ct_valid_t = 'X'.
LOOP AT t_vbap INTO w_vbap
WHERE
vbeln = p_w_update-vbeln.
t_contract_items_in-material = w_vbap-matnr.
t_contract_items_in-plant = w_vbap-werks.
t_contract_items_in-target_qty = w_vbap-kwmeng.
t_contract_items_in-target_qu = w_vbap-meins.
t_contract_items_in-ref_doc = w_vbap-vbeln.
t_contract_items_in-ref_doc_it = w_vbap-posnr.
t_contract_items_in-ref_doc_ca = 'B'.
t_contract_items_in-prc_group5 = w_vbap-mvgr5.
t_contract_items_inx-material = 'X'.
t_contract_items_inx-plant = 'X'.
t_contract_items_inx-target_qty = 'X'.
t_contract_items_inx-target_qu = 'X'.
t_contract_items_inx-ref_doc = 'X'.
t_contract_items_inx-ref_doc_it = 'X'.
t_contract_items_inx-ref_doc_ca = 'X'.
t_contract_items_inx-prc_group5 = 'X'.
APPEND t_contract_items_in.
APPEND t_contract_items_inx.
ENDLOOP.
LOOP AT t_vbpa INTO w_vbpa
WHERE
vbeln = p_w_update-vbeln.
AND posnr = w_vbap-posnr.
t_contract_partners-partn_role = w_vbpa-parvw.
t_contract_partners-partn_numb = w_vbpa-kunnr.
t_contract_partners-itm_number = w_vbpa-posnr.
APPEND t_contract_partners.
ENDLOOP.
CALL FUNCTION 'BAPI_CONTRACT_CREATEFROMDATA'
EXPORTING
SALESDOCUMENTIN =
contract_header_in = w_contract_header_in
contract_header_inx = w_contract_header_inx
SENDER =
BINARY_RELATIONSHIPTYPE = ' '
INT_NUMBER_ASSIGNMENT = ' '
BEHAVE_WHEN_ERROR = ' '
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
salesdocument = p_w_update-salesdocument
TABLES
return = t_return
contract_items_in = t_contract_items_in
contract_items_inx = t_contract_items_inx
contract_partners = t_contract_partners
CONTRACT_CONDITIONS_IN =
CONTRACT_CONDITIONS_INX =
CONTRACT_CFGS_REF =
CONTRACT_CFGS_INST =
CONTRACT_CFGS_PART_OF =
CONTRACT_CFGS_VALUE =
CONTRACT_CFGS_BLOB =
CONTRACT_CFGS_VK =
CONTRACT_CFGS_REFINST =
CONTRACT_DATA_IN =
CONTRACT_DATA_INX =
CONTRACT_TEXT =
CONTRACT_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
IF p_w_update-salesdocument NE ' ' .
p_w_update-message = 'SUCCESS'.
ELSE.
READ TABLE t_return INDEX 1.
p_w_update-message = t_return-message.
ENDIF.
READ TABLE t_vbak INTO w_vbak
WITH KEY
vbeln = p_w_update-vbeln.
IF sy-subrc = 0.
MODIFY t_vbak INDEX sy-tabix FROM p_w_update .
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDFORM. " F_BAPI_CONTRACT_CREATEFROMDATA
*& Form f_bdc_contract_from_Quotation
BAPI CALL
-->P_W_UPDATE text
FORM f_bdc_contract_from_quotation.
DATA : l_date TYPE char10.
REFRESH : messtab, bdcdata.
CLEAR : messtab, bdcdata.
PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=COPY'.
PERFORM bdc_field USING 'VBAK-AUART'
'ZCNT'.
PERFORM bdc_dynpro USING 'SAPLV45C' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=RANG'.
PERFORM bdc_dynpro USING 'SAPLV45C' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UEBR'.
PERFORM bdc_field USING 'LV45C-VBELN'
w_update-vbeln.
PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SICH'.
IF NOT w_update-angdt IS INITIAL.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
date_internal = w_update-angdt
IMPORTING
date_external = l_date
EXCEPTIONS
date_internal_is_invalid = 1
OTHERS = 2.
PERFORM bdc_field USING 'VBAK-GUEBG'
l_date.
ENDIF.
IF NOT w_update-bnddt IS INITIAL.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
date_internal = w_update-bnddt
IMPORTING
date_external = l_date
EXCEPTIONS
date_internal_is_invalid = 1
OTHERS = 2.
PERFORM bdc_field USING 'VBAK-GUEEN'
l_date.
ENDIF.
CALL TRANSACTION 'VA41' USING bdcdata
MODE 'E'
UPDATE 'S'
MESSAGES INTO messtab.
break abap.
READ TABLE messtab WITH KEY msgid = 'V1'
msgnr = '311'.
IF sy-subrc EQ 0.
w_update-message = 'SUCCESS'.
w_update-salesdocument = messtab-msgv2.
ELSE.
READ TABLE messtab WITH KEY msgtyp = 'E'.
IF sy-subrc EQ 0.
DATA : l_info TYPE einfo.
CLEAR l_info.
l_info-msgid = messtab-msgid.
l_info-msgty = messtab-msgtyp.
l_info-msgno = messtab-msgnr.
l_info-msgv1 = messtab-msgv1.
l_info-msgv2 = messtab-msgv2.
l_info-msgv3 = messtab-msgv3.
l_info-msgv4 = messtab-msgv4.
CALL FUNCTION 'MESSAGE_GET_TEXT'
EXPORTING
ieinfo = l_info
ilangu = sy-langu
IMPORTING
etext = w_update-message
EXCEPTIONS
no_t100_found = 1
OTHERS = 2.
ENDIF.
ENDIF.
READ TABLE t_vbak INTO w_vbak WITH KEY vbeln = w_update-vbeln.
IF sy-subrc = 0.
MODIFY t_vbak INDEX sy-tabix FROM w_update transporting message
salesdocument.
ENDIF.
ENDFORM. " f_bdc_contract_from_Quotation
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "bdc_dynpro
Insert field *
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "bdc_field
Also, check the following:
http://www.sapdevelopment.co.uk/reporting/alv/alvtree.htm
You can get help as programs also.
hope this helps.
cheers,
Hema.

Similar Messages

  • How to add a report into the SAP-SCRIPT .using PERFORM ......ENDPERFORM

    My question is that How to add a report into the SAP-SCRIPT .
    by using PERFORM ......ENDPERFORM
    I don't know how to used it .

    Hi Sandeep,
    Please check this link
    http://help.sap.com/saphelp_40b/helpdata/en/d1/803279454211d189710000e8322d00/content.htm
    http://www.allinterview.com/showanswers/37425.html
    Calling ABAP Subroutines: PERFORM
    You can use the PERFORM command to call an ABAP subroutine (form) from any program, subject to the normal ABAP runtime authorization checking. You can use such calls to subroutines for carrying out calculations, for obtaining data from the database that is needed at display or print time, for formatting data, and so on.
    PERFORM commands, like all control commands, are executed when a document is formatted for display or printing. Communication between a subroutine that you call and the document is by way of symbols whose values are set in the subroutine.
    Syntax in a form window:
    /: PERFORM <form> IN PROGRAM <prog>
    /: USING &INVAR1&
    /: USING &INVAR2&
    /: CHANGING &OUTVAR1&
    /: CHANGING &OUTVAR2&
    /: ENDPERFORM
    INVAR1 and INVAR2 are variable symbols and may be of any of the four SAPscript symbol types.
    OUTVAR1 and OUTVAR2 are local text symbols and must therefore be character strings.
    The ABAP subroutine called via the command line stated above must be defined in the ABAP report prog as follows:
    FORM <form> TABLES IN_TAB STRUCTURE ITCSY
    OUT_TAB STRUCTURE ITCSY.
    ENDFORM.
    The values of the SAPscript symbols passed with /: USING... are now stored in the internal table IN_TAB . Note that the system passes the values as character string to the subroutine, since the field Feld VALUE in structure ITCSY has the domain TDSYMVALUE (CHAR 80). See the example below on how to access the variables.
    The internal table OUT_TAB contains names and values of the CHANGING parameters in the PERFORM statement. These parameters are local text symbols, that is, character fields. See the example below on how to return the variables within the subroutine.
    From within a SAPscript form, a subroutine GET_BARCODE in the ABAP program QCJPERFO is called. Then the simple barcode contained there (u2018First pageu2019, u2018Next pageu2019, u2018Last pageu2019) is printed as local variable symbol.
    Definition in the SAPscript form:
    /: PERFORM GET_BARCODE IN PROGRAM QCJPERFO
    /: USING &PAGE&
    /: USING &NEXTPAGE&
    /: CHANGING &BARCODE&
    /: ENDPERFORM
    / &BARCODE&
    Coding of the calling ABAP program:
    REPORT QCJPERFO.
    FORM GET_BARCODE TABLES IN_PAR STUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
    DATA: PAGNUM LIKE SY-TABIX, "page number
    NEXTPAGE LIKE SY-TABIX. "number of next page
    READ TABLE IN_PAR WITH KEY u2018PAGEu2019.
    CHECK SY-SUBRC = 0.
    PAGNUM = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY u2018NEXTPAGEu2019.
    CHECK SY-SUBRC = 0.
    NEXTPAGE = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY u2018BARCODEu2019.
    CHECK SY-SUBRC = 0.
    IF PAGNUM = 1.
    OUT_PAR-VALUE = u2018|u2019. "First page
    ELSE.
    OUT_PAR-VALUE = u2018||u2019. "Next page
    ENDIF.
    IF NEXTPAGE = 0.
    OUT_PAR-VALUE+2 = u2018Lu2019. "Flag: last page
    ENDIF.
    MODIFY OUT_PAR INDEX SY-TABIX.
    ENDFORM.
    Best regards,
    raam

  • How to add an item into the Newsstand

    How to add an item into the Newsstand.  Please do NOT reply using  "tech-language." Use standard- normal everyday English. Thanks,
    Don Otlin
    Franklin Square, NY

    Open Newsstand. Tap on the "Store" button in the upper right. Any newspaper or magazine you download from the store will appear in Newsstand.

  • How to  include a report  into the  SAP-SCRIPT

    plz tell me 
    How to  include a report  into the  SAP-SCRIPT
    ASAP

    creat a z report like this....................
    REPORT  zmmgl_picklist1.
    TABLES : likp,ltap,ltak.
    data : lv_NUM1 type c .
    data : lv_NUM type c.
    *&      Form  get_data1
          text
         -->IN_DATA    text
         -->OUT_DATA   text
    FORM get_data1 TABLES in_data STRUCTURE  itcsy
                         out_data STRUCTURE itcsy.
    READ TABLE in_data WITH KEY name = 'LTAP-VBELN'.
    lv_NUM = lv_NUM1 + 1.
    out_data-name = 'lv_NUM'.
      out_data-value = lv_NUM .
    APPEND out_data.
    endform.
    *&      Form  get_data
          This form is to read  details from  LIKP    *
         -->IN_DATA    text
         -->OUT_DATA   text
    FORM get_data TABLES in_data STRUCTURE  itcsy
                         out_data STRUCTURE itcsy.
      READ TABLE in_data WITH KEY name = 'LTAK-VBELN'.
      Select single bldat from likp into likp-bldat where lgnum = ltap-lgnum.
      out_data-name = 'LIKP-BLDAT'.
      out_data-value = likp-bldat.
      APPEND out_data.
       READ TABLE in_data WITH KEY name = 'LTAK-VBELN'.
      Select single vstel from likp into likp-vstel where lgnum = ltak-lgnum .
      out_data-name = 'LIKP-VSTEL'.
      out_data-value = likp-vstel.
      APPEND out_data.
    READ TABLE in_data WITH KEY name = 'LTAK-VBELN'.
      Select single kunnr from likp into likp-kunnr where lgnum = ltap-lgnum.
      out_data-name = 'LIKP-KUNNR'.
      out_data-value = likp-kunnr.
      APPEND out_data.
    ENDFORM.                    "get_data.
    after this go to the script editor......
    /: perform get_data in program zmmgl_picklist1.
    /: using &ltap-vbeln&                 (Reference field.this field          should be there in both program and script.....)
    /:changing &likp-bldat&         
    /:changing &likp-vstel&
    /:changing &likp-kunnr&
    \[removed by moderator\]
    Regards
    Anbu
    Edited by: Jan Stallkamp on Jun 10, 2008 2:26 PM

  • How to add one column into the t.code: cat2

    Hi
    I am userexits
    here i want to add one column into the t.code: cat2 at particular location, and that added field have to display the data what i am selcting in that transaction.
    how to do this...
    thankx

    hi,
        CATS0005           
        CATS0007           
        CATS0009        
        CATS0010        
        CATS0012.
        Go through the documentations of above Enhancements to solve ur problem. I am not able to understand ur exact requirement. that is y i gave some more Enhancements.

  • How to integrate BW reports into the Portal ???

    Hi all,
      I need to integrate the BW (3.5) Reports into the Portal. If any one has good documents could you please pass it to my e-mail id: [email protected]
    Thanks in advance.

    Hi Venkat,
    Integration of BW Components into the Portal
    http://help.sap.com/saphelp_nw04/helpdata/en/a8/37e1082163c54abce581a54d6b771a/frameset.htm
    Configuration for the Integration of SAP BW and SAP EP
    http://help.sap.com/saphelp_nw04/helpdata/en/2f/741a403233dd5fe10000000a155106/frameset.htm
    How to Integrate BW Web Applications into EP 5.0
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/af073962-0b01-0010-f7a4-f4c1023ed0a4
    Keys for Integrating SAP BW 3.5 and SAP Enterprise Portal 6.0
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6b1472a7-0301-0010-64bd-dc96509db6f7
    Enterprise Portal Integration into BW(e-class)
    https://media.sdn.sap.com/eclasses/ebw201/main.htm
    Hope this helps.
    Regards
    Hari

  • How to add audio SFX into the "stock" FCPX efx library / browser?

    I have some new SFX to compliment third-party visual transitions / efx. How can I add them to my FCPX sfx library (in the effects browser)?
    BACKGROUND:
    I realized I could drag the folder (with the new SFX) into the efx browser window. However, the SFX files only stay there as "pointers" to the same folder--the one recently "dragged" into the browser. (If the folder gets trashed or moved, FCPX can't access the files.)
    QUESTION:
    How may I drag these files (new SFX folder) to the same place the "stock" FCPX SFX are located? ...thus showing up as "permanent" EFX available to me in the browser. (I could not find the "stock" FCPX files on my HD)
    Any suggestions?

    the 'original' sfx are located
    ~/Library/Audio/Apple Loops/Apple/Final Cut Pro Sound Effects/(foldername)
    and as .caf
    made a quick test:
    converted a mp3 into 48kHz.aiff and re-named the suffix to .caf
    dropped into above location >> working and NO link
    its icon is not as others, so just fumbling the suffix is maybe not lege artis - but working
    found here
    http://forums.macrumors.com/showthread.php?t=335683
    some advice, using terminal commands - I'm too shy testing that.-

  • How to add another serve into the cluster without updating the tangosol xml

    Currently we have two servers in the cluster and incase want to expand it further, add the entry in tangosol-coherence-override.xml.
    What i am looking for is coherence providing kind of API using which I can tell it that here is the new/latest list of servers in the cluster. If there is a change then the cluster should be able to accommodate accordingly.
    More of a dynamic self expansion and reduction ability of the Coherence cluster based on the published information.
    Thanks
    Edited by: user11224268 on Jun 2, 2009 7:40 PM

    Hi,
    I do not think this is presently feasible. I have filed COH-2374 for tracking purposes requesting an implementation of the host-filter element for the authorized-hosts for cluster-config similar to the host-filter element for authorized-hosts for tcp-acceptor. This would enable the specification of a Filter implementation that would be used to determine if a host should be allowed to join the cluster.
    Regards,
    Harv

  • How to add a report to HR Report tree

    Hello Friends,
                         I need to add a report to HR Report tree.
    Guide me how to do it.
    Cheers
    Senthil

    Use transaction SE43 and SE43N.
    Check this threads
    How to add a report into the tree??
    Adding report/program to Report Tree
    Manoj.

  • How to add additional field into output table for RFIDYYWT(Generic Withholding Tax Reporting)

    Hi Experts,
    How to add additional field into output table VENDORS/WH TAX TYPES AND CODES in RFIDYYWT(Generic Withholding Tax Reporting).
    I have no idea how to start with, please give some advice.
    Thanks!
    Ice

    Dear Ice,
    Use Append structure, see given link:
    https://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eb61446011d189700000e8322d00/content.htm
    Regards,
    Abbas.

  • How can i add Custom fields into the

    Dear Experts
    We have Ecc6.0 system,
    How can i add Custom fields into the Infotype Screen(PA30),i heard that we do it by PM01 Tcode.
    But in PM01 i am unable to find the enhance infotype tab.
    How can i do it ....pls help.....
    Regards
    Sajid

    Hi,
    Do it thru the third tab : Single Screen.
    There write down the infotype number (e.g. 0022) and say generate objects.
    Regards,
    Dilek

  • Integrating crystal report into the visual studio standard edition IDE

    I have visual studio 2005 standard edition. I need to upgrade some asp.net reports that were done using visual studio 2003.
    I have just install Crystal Reports XI developer edition version 11.0.0.1282.  How can I integrate Crystal into the Visual Studio 2005 IDE?

    Hi
    I would like to inform you that VS 2005 is only compatible with CR XI R2 and CR 2008.
    Have look in supported platform guide:
    https://websmp105.sap-ag.de/bosap-support
    You need to upgrade CRXI to CRXIR2 then try to solve this issue.
    To download the CR XI R2 follow the instructions given below:-
    Crystal Reports XI is installed on your computer. You need to manually uninstall Crystal Reports XI for one of the following reasons:
    u2022 To verify that all Crystal Reports XI components have been completely removed prior to installing a later version of Crystal Reports.
    u2022 To remove the remaining Crystal Reports XI components that have not been removed using the 'Add/Remove Programs' command (Start > Settings > Control Panel).
    u2022 To remove the remaining Crystal Reports XI components that have not been removed using the Setup.exe file from Crystal Reports XI installation CD.
    How do you manually uninstall Crystal Reports XI?
    Resolution
    Before getting started, uninstall Crystal Reports XI by launching the Setup.exe file from the installation CD or by using the 'Add/Remove Programs' command. If either of these methods fails to remove all Crystal Reports directories, files and registry keys, then continue with the resolution of this article.
    ==========
    WARNING:
    This resolution can be applied if Crystal Reports XI is the only software installed on the computer that uses the Business Objects directories, files and registry keys.
    For example, Crystal Analysis, Crystal Enterprise and BusinessObjects Enterprise XI are applications that may share the same directories, files and registry keys.
    Removing these directories, files and registry keys may cause other software to function incorrectly.
    ==========
    1. To manually uninstall Crystal Reports XI, delete the following directories:
    u2022 C:\Program Files\Common Files\Business Objects\3.0
    u2022 C:\Program Files\Business Objects
    ====================
    NOTE:
    Do not remove the directory C:\Program Files\Common Files\Business Objects\3.0 if you have BusinessObjects Enterprise XI or Crystal Reports Server XI installed. These files are shared by both applications and removal of these files will cause Business ObjectsEnterprise XI and Crystal Reports Server XI to function incorrectly.
    ====================
    2. Delete the following registry keys:
    ====================
    WARNING:
    The following resolution involves editing the registry. Using the Registry Editor incorrectly can cause serious problems that may require you to reinstall the Microsoft Windows operating system. Use the Registry Editor at your own risk.
    HELP:
    For information on how to edit the registry key, view the 'Changing Keys And Values' online Help topic in the Registry Editor (Regedit.exe).
    RECOMMENDATION:
    It is strongly recommended that you make a backup copy of the registry files (System.dat and User.dat on Win9x computers) before you edit the registry.
    ====================
    u2022 HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects
    u2022 HKEY_CURRENT_USER\Software\Business Objects
    u2022 HKEY_USERS\S-#-#-##-...-####\Software\Business Objects
    (The number signs (#) represent a series of numbers that are different on each computer.)
    ====================
    NOTE:
    After making changes to the registry, restart the affected service or application as required.
    After deleting the CR XI from the system install the CR XI R2 full build and provide the same key as you provided in CR XI.
    URL to download CR XI R2 is: - http://resources.businessobjects.com/support/additional_downloads/service_packs/crystal_reports_en.asp#CRXIR2
    Click on
    Service Pack 2 - Full build  - ZIP - 1.03 GB - released April 2007
    I would suggest to use the latest service pack of CR XI R2 i.e. Service Pack 4.
    to download SP4 click [here|http://resources.businessobjects.com/support/additional_downloads/service_packs/crystal_reports_en.asp#CRXIR2].
    Note:- before installing SP4 - you must have installed CR XI R2 SP2
    Hope this helps!!
    Regards,

  • How to add log messages in the sever/webui objects?

    Hi,
    I am new to the OA Framework.
    Can any one share any information in how to add log messages in the sever/webui objects?
    What are the beans I need to use to show in the diagnostic page?
    Can I get sample code for this log staments?
    Thanks in advance,
    Padma

    Hello. This forum is for reporting problems with the published Oracle documentation. You have a better change of getting a reply if you post your question on the Database - General forum.
    Regards,
    Diana

  • How to copy a report into my namespace

    how to copy a report into my namespace as said in this blog....
    /people/michal.krawczyk2/blog/2005/11/09/xi-restarting-successfully-processed-messages

    how to copy it my namespace
    I didn't get what exactly you mean?
    If you run any interface you will find its details in SXMB_MONI.
    This report will pickup the data from Moni and resend the message. So its not Interface specific.
    You copy the report from SE38 and try.
    Gaurav Jain
    Reward Points if answer is helpful

  • How to Add  3 queries in the same work book?

    Hi Gurus,
    Can any one tell How to Add  3 queries in the same work book?
    Example, daily report,Monhly and yearly reports for sales should be in the same workbook.
    Please help me if any one have a pointer or a how to doc if available.
    <<Text removed>>
    Thanks
    James
    Edited by: Matt on Apr 26, 2010 9:36 AM

    Hi James,
    According to BI 7.0 Version
    Steps of creating workbook and to insert more than one query in a workbook.
    When you run a query and it opens in Bex Analyzer you can click the save button and pick "Save as Workbook".
    Once you save it as a workbook Click on the "Design Mode" button in the Bex toolbar (looks like an A).
    Click in the sheet where you want the new query to go, click the "Analysis Grid" button. It will add the analysis grid to your new sheet.
    Right click on the Analysis grid and go to properties.
    Click on button to change data provider and select the query you want to attach.
    Exit design mode and you should be all set.

Maybe you are looking for