- to close all SAP GUI windows at once: choose "Exit SAP Logon". Warning: this will really close every window without asking. So if you are editing a program and haven't saved, you will lose your work.
- you have a good overview of your SAP GUI windows grouped by system
data: gt_mytree type snodetext occurs 0, gw_mytree type snodetext. gw_mytree-name = 'Verwendungsnachweis'(001). gw_mytree-tlevel = 1. APPEND gw_mytree TO gt_mytree.* ... * Create the whole tree here by filling gt_mytree * ...
CALL FUNCTION 'RS_TREE_CONSTRUCT' TABLES nodetab = gt_mytree EXCEPTIONS tree_failure = 1 id_not_found = 2 wrong_relationship = 3 OTHERS = 4. CALL FUNCTION 'RS_TREE_LIST_DISPLAY'.
data: xt_path type EFKKPATH occurs 0 with header line, iekun TYPE line of ISU01_EKUN_TAB occurs 0 with header line, ifkkvkp like FKKVKP1 occurs 0 with header line, iever like ever occurs 0 with header line, ieanl like v_eanl occurs 0 with header line. refresh xt_path. xt_path-tabfrom = 'EKUN'. xt_path-tabto = 'FKKVKP'. append xt_path. xt_path-tabfrom = 'FKKVKP'. xt_path-tabto = 'EVER'. append xt_path. xt_path-tabfrom = 'EVER'. xt_path-tabto = 'EANL'. append xt_path. iekun-partner = your business partner. append iekun. CALL FUNCTION 'ISU_STRUCTURE_READ' EXPORTING X_AB = sy-datum X_BIS = sy-datum TABLES XT_PATH = xt_path T_EANL = ieanl T_EKUN = iekun T_EVER = iever T_FKKVKP = ifkkvkp EXCEPTIONS PATH_INVALID = 1 DATE_INVALID = 2 SELECTION_FAILED = 3 OTHERS = 4.Table connections also work the other way (e.g. from installation to BP). Check the possible connections in the source code of the FM. Form INIT_ALL, lines starting with MAC_LINK_APP.
- Copy Report BCCIIXMLT1
- (you can change the way of filling internal table xml_table if necessary)
- you don't need the part between
*-- render the DOM back into an output stream/internal tableand
*-- print the whole DOM tree as a list...Comment it out or simply delete it
- Rename form print_node to your liking e.g. process_node
- In your new form you need three extra variables:
data: attribs type ref to IF_IXML_NAMED_NODE_MAP, attrib_node type ref to IF_IXML_NODE, attrib_value type string.
- After the lines:
when if_ixml_node=>co_node_element. string = pNode->get_name( ).Insert:
attribs = pNode->get_attributes( ). clear attrib_value. case string. when ''. "put your XML tag name here attrib_node = attribs->get_named_item(name = '' ). "put your XML attribute name here attrib_value = attrib_node->get_value( ).
- replace the write statements to whatever you need
Voila! That's it! It did work for me. (In my case the part of the program:
when if_ixml_node=>co_node_text.has been never reached.)
Recently I found some BAPIs for changing IS-U master data. Here you are:
- BAPI_ISUPARTNER_CHANGE - Business Partner
- BAPI_ISUACCOUNT_CHANGE - Contract Account
- BAPI_ISUCONTRCT_CHANGEFROMDATA - Contract: well this one is a little tricky. Even some common fields are not included in the standard interface, you have to use EXTENSIONIN. Make sure you name the fields of your new append to BAPI_TE_EVER as in table EVER or else they won't be transferred.
- BAPI_FUNCLOC_CHANGE - Device location
- BAPI_EQUI_CHANGE - Equipment
I tried them all, they seem to work, but remember: I have only changed one single field with them - no complex operations.
Always put an 'X' into the corresponding field of the import parameter DATA_...X you want to change.