How to add 3rd child in simple tree.
Dear All
I have been able to add root, child1 and child2 using class CL_GUI_SIMPLE_TREE.
But when i try to add the child3, it gives an error 'Invalid access to database interface'. Please do let me know if there is any constraint in using CL_GUI_SIMPLE_TREE.
Dear Walter
Please find below the code.
SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT.
IF CUST_CONTAINER IS INITIAL.
CREATE OBJECT CUST_CONTAINER EXPORTING CONTAINER_NAME = 'CCPAR'.
CREATE OBJECT EASY_SPLITTER EXPORTING PARENT = CUST_CONTAINER
ORIENTATION = 1.
CONTAINER1 = EASY_SPLITTER->TOP_LEFT_CONTAINER.
CONTAINER2 = EASY_SPLITTER->BOTTOM_RIGHT_CONTAINER.
CREATE OBJECT ALV EXPORTING I_PARENT = CONTAINER2.
CREATE OBJECT TREE EXPORTING PARENT = CONTAINER1
NODE_SELECTION_MODE = CL_GUI_SIMPLE_TREE=>NODE_SEL_MODE_SINGLE.
EVENT-EVENTID = CL_GUI_SIMPLE_TREE=>EVENTID_NODE_DOUBLE_CLICK.
EVENT-APPL_EVENT = 'X'. " process PAI if event occurs
APPEND EVENT TO EVENTS.
CALL METHOD TREE->SET_REGISTERED_EVENTS EXPORTING EVENTS = EVENTS.
IF APPLICATION IS INITIAL.
CREATE OBJECT APPLICATION.
SET HANDLER APPLICATION->HANDLE_DOUBLE_CLICK FOR TREE.
ENDIF.
PERFORM BUILD_TABLE USING NODE_TABLE.
CALL METHOD TREE->ADD_NODES
EXPORTING
TABLE_STRUCTURE_NAME = 'MTREESNODE'
NODE_TABLE = NODE_TABLE
EXCEPTIONS
FAILED = 1
ERROR_IN_NODE_TABLE = 2
DP_ERROR = 3
TABLE_STRUCTURE_NAME_NOT_FOUND = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF.
ENDIF.
FORM BUILD_TABLE USING P_NODE_TABLE TYPE NODE_TABLE_TYPE.
DATA: L_CARRTEXT TYPE TM_NODETXT,
L_CONNTEXT TYPE TM_NODETXT,
L_FLTEXT TYPE TM_NODETXT.
DATA : NODE TYPE MTREESNODE.
SORT IT_SFLIGHT BY CARRID CONNID FLDATE.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
AT FIRST.
NODE-NODE_KEY = 'Root'. "#EC NOTEXT
" Key of the node
CLEAR NODE-RELATKEY. " Special case: A root node has no parent
CLEAR NODE-RELATSHIP. " node.
NODE-HIDDEN = ' '. " The node is visible,
NODE-DISABLED = ' '. " selectable,
NODE-ISFOLDER = 'X'. " a folder.
CLEAR NODE-N_IMAGE. " Folder-/ Leaf-Symbol in state "closed":
" use default.
CLEAR NODE-EXP_IMAGE. " Folder-/ Leaf-Symbol in state "open":
" use default
CLEAR NODE-EXPANDER. " see below.
NODE-TEXT = 'CARRID'.
APPEND NODE TO NODE_TABLE.
ENDAT.
AT NEW CARRID.
Node with key 'Child1'
NODE-NODE_KEY = WA_SFLIGHT-CARRID. "#EC NOTEXT
" Key of the node
" Node is inserted as child of the node with key 'Root'.
NODE-RELATKEY = 'Root'.
NODE-RELATSHIP = CL_GUI_SIMPLE_TREE=>RELAT_LAST_CHILD.
NODE-HIDDEN = ' '.
NODE-DISABLED = ' '.
NODE-ISFOLDER = 'X'.
CLEAR NODE-N_IMAGE.
CLEAR NODE-EXP_IMAGE.
NODE-EXPANDER = ' '. " The node is marked with a '+', although
" it has no children. When the user clicks on the
" + to open the node, the event
" expand_no_children is fired. The programmer can
" add the children of the
" node within the event handler of the
" expand_no_children event
" (see method handle_expand_no_children
" of class lcl_application)
NODE-TEXT = WA_SFLIGHT-CARRID.
APPEND NODE TO NODE_TABLE.
ENDAT.
AT NEW CONNID.
Node with key 'Child2'
NODE-NODE_KEY = WA_SFLIGHT-CONNID. "#EC NOTEXT
" Key of the node
" Node is inserted as child of the node with key 'Root'.
NODE-RELATKEY = WA_SFLIGHT-CARRID.
NODE-RELATSHIP = CL_GUI_SIMPLE_TREE=>RELAT_LAST_CHILD.
NODE-HIDDEN = ' '.
NODE-DISABLED = ' '.
NODE-ISFOLDER = 'X'.
CLEAR NODE-N_IMAGE.
CLEAR NODE-EXP_IMAGE.
NODE-EXPANDER = ' '. " The node is marked with a '+', although
" it has no children. When the user clicks on the
" + to open the node, the event
" expand_no_children is fired. The programmer can
" add the children of the
" node within the event handler of the
" expand_no_children event
" (see method handle_expand_no_children
" of class lcl_application)
NODE-TEXT = WA_SFLIGHT-CONNID.
APPEND NODE TO NODE_TABLE.
ENDAT.
Node with key 'Child3'
NODE-NODE_KEY = WA_SFLIGHT-FLDATE. "#EC NOTEXT
" Key of the node
" Node is inserted as child of the node with key 'Root'.
NODE-RELATKEY = WA_SFLIGHT-CONNID.
NODE-RELATSHIP = CL_GUI_SIMPLE_TREE=>RELAT_LAST_CHILD.
NODE-HIDDEN = ' '.
NODE-DISABLED = ' '.
NODE-ISFOLDER = ' '.
CLEAR NODE-N_IMAGE.
CLEAR NODE-EXP_IMAGE.
NODE-EXPANDER = ' '. " The node is marked with a '+', although
" it has no children. When the user clicks on the
" + to open the node, the event
" expand_no_children is fired. The programmer can
" add the children of the
" node within the event handler of the
" expand_no_children event
" (see method handle_expand_no_children
" of class lcl_application)
NODE-TEXT = WA_SFLIGHT-FLDATE.
APPEND NODE TO NODE_TABLE.
ENDLOOP.
Message was edited by:
Madhu Shankar Nair
Similar Messages
-
How to add multiple child dialog in a singel page of dialog in ms crm2013
Hi All,
How to add multiple child dialogs in a page in dialog in online MS CRM 2013. I am able to add dialogs one at the end of the page. I am not able to add single / multiple dialogs in between the page.
As per my requirement there is multiple conditions , based on the outcome of condition respective child dialogs need to be linked in a page. Any solution ?
Thanks
Shankar.BHi,
As far as I know this is not possible with OOTB Dialoge in the current version. However there are 3rd party tools like TK Dialogs which provide this feature. Here is the link for the tool and few comparison as to when
to use OOTB v/s TK Dialog.
http://www.teamknowledge.co.uk/microsoft-crm.php
http://garethtuckercrm.com/2012/07/11/tk-dialogs-vs-microsoft-crm-dialogs/
Hope this helps.
Minal Dahiya
blog : http://minaldahiya.blogspot.com.au/
If this post answers your question, please click "Mark As Answer" on the post and "Vote as Helpful" -
How to add keyboard control on our tree.
hi,
any body can kindly tell me that how can we add keyboard control on out tree widget.
I am also anxious to know that when I compiled and loaded the PnlTreeView sample in Debug mode, keyboard control on this panel was also not working fine, it worked sometime and not on the other.
Can anybody help me for the above 2 questions.There's no calendar control per-se, but you have an option - create an HTML image-map prompt - that should work....the only problem would be making it dynamic, but I'm sure you can create a big image map
-
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. -
How to call an event from simple tree menu
I have a simple tree menu that when I click on a menu item,
id like a picture or other data to appear on the right side of the
page.
Thank you in advance,
JimThe reason why it becomes zero when you press stop is that you selected the control to get the default value in the event structure if it's not connected. You can fix it by connecting it like I did in the first picture.
To make it stop when you press the stop button you have to connect one stop button to the loop exit terminal. The reason for the sequence structure that I added is to make sure that the loop exits the first time you press the stop button, try removing it and you'll see what I mean.
You have one additional problem. You rely on the x+1 output of the sub vi as an input for the next iteration. However, that is not reliable since if you can the subvi from somewhere else it might mess up the count. You're better of using a shift register and passing in the last value to the subvi in each iteration.
Attachments:
1.png 9 KB
2.png 10 KB -
How to add vertical scrollbar to a tree region
Hi,
I have a page containing two regions. The first is a tree region displayed on the left hand side of the page. The second is form region displayed to the right of the tree, showing details relating to the selected node from the tree.
How can I add a vertical scrollbar to the tree, so that I can I browse all nodes in the tree without affecting the position of the form? Currently, if my tree extends beyond the height of the page I have to use the page vertical scrollbar to view the bottom of the tree. This obviously means that the form is no longer in view.
Thanks
Andrew.Hi Andrew,
You can't add a scrollbar directly to the region's contents, but you can wrap the contents within a DIV tag.
In the Region Header add in:
<DIV style="height:500px; overflow:auto">
In the Region Footer add in:
</DIV>
Obviously, change the height value to suit your needs.
Regards
Andy -
How to add a child at the top of the z-order(above a mobile textinput field)?
We posted a problem yesterday with PopupManager where in a mobile app, we experience some strange problems, and have had to make our own modal Alert panel to solve the problem.
The problem now is that if the alert panel is displayed over a TextInput field(mobile android app), the text in the textinput shows through the Alert panel, and is obviusly higher up in the z-order than our alert panel.
The alert panel was added as a child of the main app window, and is as far as we can tell the top level component.
Since the PopupManager does not have this problem, there must be a way to add our panel so it is displayed over the mobile textinput field.
Is there any way to accomplish this?
Thanks,
Bob
EDTHi Bob,
I'd recommend posting for suggestion in the mobile development forum, but if you do suspect this is a bug please go ahead and open a new report at bugbase.adobe.com and include sample code so we can see what's going on.
Thanks,
Chris -
How to create a Child node in Tree object
Hi All,
I have a thought to create a tree with a child object, that the child can able to create through by right click the parent tree having the options to create or delete the child objects.Please Suggest me if there is an possible way.
Thanks
GopinathLook at sample programm BCALV_TREE_DEMO,
and especially at the methods ADD_NODE or DELETE_SUBTREE of class CL_GUI_ALV_TREE.
For implementing the context menu, consider event ITEM_CONTEXT_MENU_REQUEST.
Regards,
Ulrich -
How to add new criteria in simple search region ?
Hi,
I have been trying to add a new criteria for simple search in a seeded oaf page and facing some issue. I have successfully created the criteria field but unable to filter the search using the new criteria item. Kindly help so that i can proceed.
Thanks,Hi,
I have been trying to add a new criteria for simple search in a seeded oaf page and facing some issue. I have successfully created the criteria field but unable to filter the search using the new criteria item. Kindly help so that i can proceed.
Thanks, -
How to add 3rd party plugins to premiere pro cc 2014
I have some plugins that I have installed in Premiere Pro cc and I upgraded to CC2014, and I need to get the plugins into the new software, How do I do this through Extension Manager
If these plugins are ZXP files, you can install them with Exension Manager CC. If not, you have to copy them to the appropriate folder manually.
-
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
SenthilUse 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 child node in Tree table programmetically
Jdev Version 11.1.1.4.0.
I have created tree table programmetically in bean.
I have to add child node to tree table component on button click event on page.
Please let me know how to do this in bean.
Regards,
KiranHow are you creating the tree pro-grammatically?
If you are adding a new node to underlying data structure and refresh the tree - the tree will get updated with the new data.
Thanks,
Navaneeth -
How to let add external apps for simple users?
How to let add external apps for simple users? Simple users don't have login server administer rights, so how can they add external apps for their use?
...Edit External applications portlet sais:
Error: An unexpected error occurred: User-Defined Exception (WWC-43000)
:((( -
How to add an itunes gift card to your account using a 3rd Gen itouch
Does anybody know how to add an itunes girt card to your account using a ipod touch 3rd gen
You can redeem iTunes Store gift cards, gift certificates, or other promotional codes to make purchases. When you’re signed in to your account, your remaining store credit appears with your account information at the bottom of most iTunes Store screens.
Enter a redemption code: Tap Music, then tap Redeem at the bottom of the screen and follow the onscreen instructions. -
How to add an issue if you are a responsible manager of a child wbs ?
How to add an issue if you are a responsible manager of a child wbs ? I have some projects with lots of child WBS and these child WBS is managed by others project managers (or others responsible managers), different responsible manager from the project. I'd like the others responsible managers could add/edit/delete issues in their WBS's. How to do that ?
Hi Yves
try to type at the end of your query the following
select cardcode,cardname,balance from ocrd
for browse
and execute it again
Edited by: Fasolis Vasilios on Nov 30, 2011 12:10 PM
Maybe you are looking for
-
Cant log in to reinstall OSX and support is not accepting chat
Any suggestions? I am promted for an Apple ID, then are told the ID has not been used at an app store. It is an operating system. Not an app.
-
Unscheduled additional backups in Windows Server 2012 R2 Essentials
I have a strange problem since upgrading to Windows Server 2012 R2 Essentials. My server is on a lightly used Home network which I run for two periods totalling 8 hours each day. Whenever the server is re-started it immediately begins a Server Backup
-
Manual calendar migration Mavericks?
I upgraded to Mavericks from Snow Leopard, but things were slow and also decided to add an SSD to my iMac and do a clean install of Mavericks. All went well, but I forgot to export calendar. I found my calendars on time machine (an older backup) loca
-
Concatenate text to field value in report header
I'm trying to concatenate text to field value in a textbox in the report header but am getting an error. Here's how I'm doing it: =First(Fields!Pp_Name.Value, "dsProspect") & "Prospect" and the error says the report definition is invalid. An unexpe
-
Can I use WNT UNC for file url crawling
If I set up a Mapped Drive on Windows NT (e.g., E), I can specify and crawl a file URL that has been entered like file:///E:/folder. The problem is that the Mapped Drive is only available while I am logged onto the PC. What I need to be able to do is