Implementing DIR API functionalites using IP/BPM.

Hi all,
As we know, implementing DIR API in either 7.0 or 7.1 is very efficient way to create or to modify bulk of configuration objects. In order to do so, there can be many options, such as Java Application, Webdynpro, just to name a few.
But, instead of above solutions, if we develop an IP/BPM in XI will it makes some sense? An integration process, that will calls respective J2EE services, for instance, CommunicationChannelService, ChangeList Service, etc. and perform required task.
Regards,
FF

Hi,
When you have to change any objects you should create a  change list and then use the change option on the communication channel wsdl.
Or try to see [Making Mass Configurations in the Integration Directory using Directory API; or [https://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/109a3b6e-1c37-2b10-9388-c12d328b658c]
Regards
Daniel Graversen
[http://www.figaf.com]

Similar Messages

  • Understanding of DIR API

    Hi All,
    It is really a good experience to implement/use of DIR API concept in PI 7.0. With the help of the enhanced feature I created 80 File channels with all mandatory parameters in less than 30 seconds.
    But still I'm have not came across any DIR API classes or interfaces documentation which tells how to change the created CC. I mean which class do I use to change the created channel, what is the interface or class name for reading open change list and so on.
    If there is any link that tells what class on interface is/are used for implementing DIR API then please share that link.
    Currently, I imported configuration objects in Quality and I want to change File CC parameters (like FTP server name, fileName, directory etc). So in this case, first I have to read the open change list and then I have to change all/required File channels using interface programming. Please share your input if you already implemented such case.
    In advance, immense thank for yours appropriate replies.
    Regards,
    Farooq
    Edited by: Farooq Farooqui on Jul 28, 2009 1:23 PM
    Edited by: Farooq Farooqui on Jul 28, 2009 1:24 PM

    Hi,
    When you have to change any objects you should create a  change list and then use the change option on the communication channel wsdl.
    Or try to see [Making Mass Configurations in the Integration Directory using Directory API; or [https://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/109a3b6e-1c37-2b10-9388-c12d328b658c]
    Regards
    Daniel Graversen
    [http://www.figaf.com]

  • Based from my code, how do I implement an ALV grid using OO concept...

    Hello experts,
    I am currently practicing ABAP Objects and I would like to use alv in my report. Now, How can I implement ALV in my report in the simplest way possible. Sample codes will be highly appreciated. Thanks guys and take care!
    REPORT  z_aris_oo_practice_9
            NO STANDARD PAGE HEADING
            LINE-SIZE 0
            LINE-COUNT 0.
    TABLES: spfli.
    Selection screen
    SELECTION-SCREEN BEGIN OF BLOCK box1 WITH FRAME.
    SELECTION-SCREEN BEGIN OF BLOCK box2 WITH FRAME.
    PARAMETERS: p_carrid TYPE spfli-carrid,
                p_connid TYPE spfli-connid.
    SELECTION-SCREEN END OF BLOCK box2.
    SELECTION-SCREEN BEGIN OF BLOCK box3 WITH FRAME.
    PARAMETERS: p_sumdis AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK box3.
    SELECTION-SCREEN END OF BLOCK box1.
          INTERFACE status
    INTERFACE status.
      METHODS write.
    ENDINTERFACE.                    "status
          CLASS main DEFINITION
    CLASS main DEFINITION.
      PUBLIC SECTION.
        INTERFACES status.
        METHODS: get_data,
                 combine_data.
        CLASS-DATA: counter TYPE i.
      PRIVATE SECTION.
        TYPES: BEGIN OF t_spfli,
             carrid    TYPE spfli-carrid,
             connid    TYPE spfli-connid,
             countryfr TYPE spfli-countryfr,
             cityfrom  TYPE spfli-cityfrom,
             airpfrom  TYPE spfli-airpfrom,
             countryto TYPE spfli-countryto,
             cityto    TYPE spfli-cityto,
             airpto    TYPE spfli-airpto,
             fltime    TYPE spfli-fltime,
             deptime   TYPE spfli-deptime,
             arrtime   TYPE spfli-arrtime,
            END OF t_spfli.
        DATA: it_spfli        TYPE STANDARD TABLE OF t_spfli.
    ENDCLASS.                    "main DEFINITION
          CLASS main IMPLEMENTATION
    CLASS main IMPLEMENTATION.
      METHOD status~write.
        WRITE: / 'The number of records is:', counter.
      ENDMETHOD.                    "status~write
      METHOD get_data.
        SELECT carrid   connid   countryfr
               cityfrom airpfrom countryto
               cityto   airpto   fltime
               deptime  arrtime
        FROM spfli
        INTO TABLE it_spfli
        WHERE carrid = p_carrid.
      ENDMETHOD.                    "get_data
      METHOD combine_data.
        FIELD-SYMBOLS: <fs_spfli> LIKE LINE OF it_spfli.
        LOOP AT it_spfli ASSIGNING <fs_spfli>.
          ADD 1 TO counter.
          WRITE: / <fs_spfli>-carrid,
                   <fs_spfli>-connid,
                   <fs_spfli>-countryfr,
                   <fs_spfli>-cityfrom,
                   <fs_spfli>-airpfrom,
                   <fs_spfli>-countryto,
                   <fs_spfli>-cityto,
                   <fs_spfli>-airpto,
                   <fs_spfli>-fltime,
                   <fs_spfli>-deptime,
                   <fs_spfli>-arrtime.
        ENDLOOP.
      ENDMETHOD.                    "show_data
    ENDCLASS.                    "main IMPLEMENTATION
    START-OF-SELECTION.
      DATA: main TYPE REF TO main,
            status TYPE REF TO status.
      CREATE OBJECT main.
      CALL METHOD main->get_data.
      CALL METHOD main->combine_data.
      CALL METHOD main->status~write.

    Hi,
    Check this example..., In this i implemented so many functionalities like top_of_page, drop_down at cell level etc.., also Check the programs BCALVEDIT also
    Just check it.
    REPORT  ZTEST_ALV_OO    MESSAGE-ID ZZ                           .
    DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.
    DATA: L_VALID TYPE C,
          V_FLAG,
          V_DATA_CHANGE,
          V_ROW TYPE LVC_S_ROW,
          V_COLUMN TYPE LVC_S_COL,
          V_ROW_NUM TYPE LVC_S_ROID.
    DATA: IT_ROW_NO TYPE LVC_T_ROID,
          X_ROW_NO TYPE LVC_S_ROID.
    DATA:BEGIN OF  ITAB OCCURS 0,
         VBELN LIKE LIKP-VBELN,
         POSNR LIKE LIPS-POSNR,
         CELLCOLOR TYPE LVC_T_SCOL, "required for color
         DROP(10),
         check,
         END OF ITAB.
    "The Below Definitions Must.....
    DATA:
    * Reference to document
           DG_DYNDOC_ID       TYPE REF TO CL_DD_DOCUMENT,
    * Reference to split container
           DG_SPLITTER          TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
    * Reference to grid container
           DG_PARENT_GRID     TYPE REF TO CL_GUI_CONTAINER,
    * Reference to html container
           DG_HTML_CNTRL        TYPE REF TO CL_GUI_HTML_VIEWER,
    * Reference to html container
           DG_PARENT_HTML     TYPE REF TO CL_GUI_CONTAINER.
    "up to here
    *       CLASS lcl_event_handler DEFINITION
    CLASS LCL_EVENT_HANDLER DEFINITION .
      PUBLIC SECTION .
        METHODS:
    **Hot spot Handler
        HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
                          IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,
    **Double Click Handler
        HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
                                         IMPORTING E_ROW E_COLUMN ES_ROW_NO,
        TOP_OF_PAGE FOR EVENT TOP_OF_PAGE              "event handler
                             OF CL_GUI_ALV_GRID
                             IMPORTING E_DYNDOC_ID.
    *        END_OF_LIST FOR EVENT end_of_list              "event handler
    *                         OF CL_GUI_ALV_GRID
    *                         IMPORTING E_DYNDOC_ID.
    ENDCLASS.                    "lcl_event_handler DEFINITION
    *       CLASS lcl_event_handler IMPLEMENTATION
    CLASS LCL_EVENT_HANDLER IMPLEMENTATION.
    *Handle Hotspot Click
      METHOD HANDLE_HOTSPOT_CLICK .
        CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
        V_ROW  = E_ROW_ID.
        V_COLUMN = E_COLUMN_ID.
        V_ROW_NUM = ES_ROW_NO.
    *    MESSAGE I000 WITH V_ROW 'clicked'.
        CLEAR IT_ROW_NO[].
        X_ROW_NO-ROW_ID = V_ROW.
        APPEND X_ROW_NO TO IT_ROW_NO .
        CALL METHOD G_GRID->SET_SELECTED_ROWS
          EXPORTING
            IT_ROW_NO = IT_ROW_NO.
      ENDMETHOD.                    "lcl_event_handler
    *Handle Double Click
      METHOD  HANDLE_DOUBLE_CLICK.
        CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
        V_ROW  = E_ROW.
        V_COLUMN = E_COLUMN.
        V_ROW_NUM = ES_ROW_NO.
        IF E_COLUMN = 'VBELN'.
          SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
          CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
        ENDIF.
        IF E_COLUMN = 'POSNR'.
          SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
          CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN."
        ENDIF.
      ENDMETHOD.                    "handle_double_click
    *  METHOD END_OF_LIST.                   "implementation
    ** Top-of-page event
    *    PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.
    *  ENDMETHOD.                            "top_of_page
        METHOD TOP_OF_PAGE.                   "implementation
    * Top-of-page event
        PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.
      ENDMETHOD.                            "top_of_page
    ENDCLASS.                    "LCL_EVENT_HANDLER IMPLEMENTATION
    *&             Global Definitions
    DATA:      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Container1
                G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler
    DATA: OK_CODE LIKE SY-UCOMM,
          SAVE_OK LIKE SY-UCOMM,
          G_CONTAINER1 TYPE SCRFNAME VALUE 'TEST',
          GS_LAYOUT TYPE LVC_S_LAYO.
    data: v_lines type i.
    data: v_line(3) type c.
    *- Fieldcatalog for First and second Report
    DATA: IT_FIELDCAT  TYPE  LVC_T_FCAT,
          X_FIELDCAT TYPE LVC_S_FCAT,
          LS_VARI  TYPE DISVARIANT.
    *                START-OF_SELECTION
    START-OF-SELECTION.
      SELECT VBELN
             POSNR
             FROM LIPS
             UP TO 20 ROWS
             INTO CORRESPONDING FIELDS OF TABLE ITAB.
    describe table itab lines v_lines.
    END-OF-SELECTION.
      IF NOT ITAB[] IS INITIAL.
        CALL SCREEN 100.
      ELSE.
        MESSAGE I002 WITH 'NO DATA FOR THE SELECTION'(004).
      ENDIF.
    *&      Form  CREATE_AND_INIT_ALV
    *       text
    FORM CREATE_AND_INIT_ALV .
      DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.
      "attention.....from here
      "split your container here...into two parts
      "create the container
      CREATE OBJECT G_CUSTOM_CONTAINER
               EXPORTING CONTAINER_NAME = G_CONTAINER1.
      "this is for top of page
    * Create TOP-Document
      CREATE OBJECT DG_DYNDOC_ID
                       EXPORTING STYLE = 'ALV_GRID'.
    * Create Splitter for custom_container
      CREATE OBJECT DG_SPLITTER
                 EXPORTING PARENT  = G_CUSTOM_CONTAINER
                           ROWS    = 2
                           COLUMNS = 1.
    * Split the custom_container to two containers and move the reference
    * to receiving containers g_parent_html and g_parent_grid
      "i am allocating the space for grid and top of page
      CALL METHOD DG_SPLITTER->GET_CONTAINER
        EXPORTING
          ROW       = 1
          COLUMN    = 1
        RECEIVING
          CONTAINER = DG_PARENT_HTML.
      CALL METHOD DG_SPLITTER->GET_CONTAINER
        EXPORTING
          ROW       = 2
          COLUMN    = 1
        RECEIVING
          CONTAINER = DG_PARENT_GRID.
    *  CALL METHOD DG_SPLITTER->GET_CONTAINER
    *    EXPORTING
    *      ROW       = 2
    *      COLUMN    = 1
    *    RECEIVING
    *      CONTAINER = DG_PARENT_HTML.
    *  CALL METHOD DG_SPLITTER->GET_CONTAINER
    *    EXPORTING
    *      ROW       = 1
    *      COLUMN    = 1
    *    RECEIVING
    *      CONTAINER = DG_PARENT_GRID.
      "you can set the height of it
    * Set height for g_parent_html
      CALL METHOD DG_SPLITTER->SET_ROW_HEIGHT
        EXPORTING
          ID     = 1
          HEIGHT = 5.
      "from here as usual..you need to specify parent as splitter part
      "which we alloted for grid
      CREATE OBJECT G_GRID
             EXPORTING I_PARENT = DG_PARENT_GRID.
    * Set a titlebar for the grid control
      CLEAR GS_LAYOUT.
      GS_LAYOUT-GRID_TITLE = TEXT-003.
      GS_LAYOUT-ZEBRA = SPACE.
      GS_LAYOUT-CWIDTH_OPT = 'X'.
      GS_LAYOUT-NO_ROWMARK = 'X'.
      GS_LAYOUT-CTAB_FNAME = 'CELLCOLOR'.
      CALL METHOD G_GRID->REGISTER_EDIT_EVENT
        EXPORTING
          I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.
      CREATE OBJECT G_HANDLER.
      SET HANDLER G_HANDLER->HANDLE_DOUBLE_CLICK FOR G_GRID.
      SET HANDLER G_HANDLER->HANDLE_HOTSPOT_CLICK FOR G_GRID.
    *  SET HANDLER G_HANDLER->END_OF_LIST FOR G_GRID.
      SET HANDLER G_HANDLER->TOP_OF_PAGE FOR G_GRID.
      DATA: LS_CELLCOLOR TYPE LVC_S_SCOL. "required for color
      DATA: L_INDEX TYPE SY-TABIX.
      "Here i am changing the color of line 1,5,10...
      "so you can change the color of font conditionally
      LOOP AT ITAB.
        L_INDEX = SY-TABIX.
        IF L_INDEX = 1 OR L_INDEX = 5 OR L_INDEX = 10.
          LS_CELLCOLOR-FNAME = 'VBELN'.
          LS_CELLCOLOR-COLOR-COL = '6'.
          LS_CELLCOLOR-COLOR-INT = '0'.
          LS_CELLCOLOR-COLOR-INV = '1'.
          APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
          MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
          LS_CELLCOLOR-FNAME = 'POSNR'.
          LS_CELLCOLOR-COLOR-COL = '6'.
          LS_CELLCOLOR-COLOR-INT = '0'.
          LS_CELLCOLOR-COLOR-INV = '1'.
          APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
          MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
        ENDIF.
      ENDLOOP.
    * setting focus for created grid control
      CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
        EXPORTING
          CONTROL = G_GRID.
    * Build fieldcat and set editable for date and reason code
    * edit enabled. Assign a handle for the dropdown listbox.
      PERFORM BUILD_FIELDCAT.
      PERFORM  SET_DRDN_TABLE.
    * Optionally restrict generic functions to 'change only'.
    *   (The user shall not be able to add new lines).
      PERFORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE.
    **Vaiant to save the layout
      LS_VARI-REPORT      = SY-REPID.
      LS_VARI-HANDLE      = SPACE.
      LS_VARI-LOG_GROUP   = SPACE.
      LS_VARI-USERNAME    = SPACE.
      LS_VARI-VARIANT     = SPACE.
      LS_VARI-TEXT        = SPACE.
      LS_VARI-DEPENDVARS  = SPACE.
    **Calling the Method for ALV output
      CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          IT_TOOLBAR_EXCLUDING = LT_EXCLUDE
          IS_VARIANT           = LS_VARI
          IS_LAYOUT            = GS_LAYOUT
          I_SAVE               = 'A'
        CHANGING
          IT_FIELDCATALOG      = IT_FIELDCAT
          IT_OUTTAB            = ITAB[].
      "do these..{
    * Initializing document
      CALL METHOD DG_DYNDOC_ID->INITIALIZE_DOCUMENT.
    * Processing events
      CALL METHOD G_GRID->LIST_PROCESSING_EVENTS
        EXPORTING
          I_EVENT_NAME = 'TOP_OF_PAGE'
          I_DYNDOC_ID  = DG_DYNDOC_ID.
      "end }
    * Set editable cells to ready for input initially
      CALL METHOD G_GRID->SET_READY_FOR_INPUT
        EXPORTING
          I_READY_FOR_INPUT = 1.
    ENDFORM.                               "CREATE_AND_INIT_ALV
    *&      Form  EXCLUDE_TB_FUNCTIONS
    *       text
    *      -->PT_EXCLUDE text
    FORM EXCLUDE_TB_FUNCTIONS CHANGING PT_EXCLUDE TYPE UI_FUNCTIONS.
    * Only allow to change data not to create new entries (exclude
    * generic functions).
      DATA LS_EXCLUDE TYPE UI_FUNC.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO.
      APPEND LS_EXCLUDE TO PT_EXCLUDE.
    ENDFORM.                               " EXCLUDE_TB_FUNCTIONS
    *&      Form  build_fieldcat
    *       Fieldcatalog
    FORM BUILD_FIELDCAT .
      DATA: L_POS TYPE I.
      L_POS = L_POS + 1.
      X_FIELDCAT-SCRTEXT_M = 'Check'.
      X_FIELDCAT-FIELDNAME = 'CHECK'.
      X_FIELDCAT-TABNAME = 'IT_FINAL'.
      X_FIELDCAT-COL_POS    = L_POS.
      X_FIELDCAT-CHECKbox   = 'X'.
        X_FIELDCAT-EDIT = 'X'.
      X_FIELDCAT-OUTPUTLEN = '1'.
      APPEND X_FIELDCAT TO IT_FIELDCAT.
      CLEAR X_FIELDCAT.
      L_POS = L_POS + 1.
      X_FIELDCAT-SCRTEXT_M = 'Delivery'(024).
      X_FIELDCAT-FIELDNAME = 'VBELN'.
      X_FIELDCAT-TABNAME = 'IT_FINAL'.
      X_FIELDCAT-COL_POS    = L_POS.
      X_FIELDCAT-NO_ZERO    = 'X'.
      X_FIELDCAT-OUTPUTLEN = '10'.
      X_FIELDCAT-HOTSPOT = 'X'.
      APPEND X_FIELDCAT TO IT_FIELDCAT.
      CLEAR X_FIELDCAT.
      L_POS = L_POS + 1.
      X_FIELDCAT-SCRTEXT_M = 'Item'(025).
      X_FIELDCAT-FIELDNAME = 'POSNR'.
      X_FIELDCAT-TABNAME = 'IT_FINAL'.
      X_FIELDCAT-COL_POS    = L_POS.
      X_FIELDCAT-OUTPUTLEN = '5'.
      APPEND X_FIELDCAT TO IT_FIELDCAT.
      CLEAR X_FIELDCAT.
      L_POS = L_POS + 1.
      X_FIELDCAT-SCRTEXT_M = 'Drop'(025).
      X_FIELDCAT-FIELDNAME = 'DROP'.
      X_FIELDCAT-TABNAME = 'IT_FINAL'.
      X_FIELDCAT-COL_POS    = L_POS.
      X_FIELDCAT-OUTPUTLEN = '5'.
      X_FIELDCAT-EDIT = 'X'.
      X_FIELDCAT-DRDN_HNDL = '1'.
      X_FIELDCAT-DRDN_ALIAS = 'X'.
      APPEND X_FIELDCAT TO IT_FIELDCAT.
      CLEAR X_FIELDCAT.
    ENDFORM.                    " build_fieldcat
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR 'MAIN100'.
      IF G_CUSTOM_CONTAINER IS INITIAL.
    **Initializing the grid and calling the fm to Display the O/P
        PERFORM CREATE_AND_INIT_ALV.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE USER_COMMAND_0100 INPUT.
      CASE SY-UCOMM.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  SET_DRDN_TABLE
    *       text
    FORM SET_DRDN_TABLE.
      DATA:LT_DRAL TYPE LVC_T_DRAL,
            LS_DRAL TYPE LVC_S_DRAL.
      LOOP AT ITAB .
    * First listbox (handle '1').
        IF SY-INDEX = 1.
          LS_DRAL-HANDLE = '1'.
          LS_DRAL-VALUE =  ' '.
          LS_DRAL-INT_VALUE =  ' '.
        ELSE.
          LS_DRAL-HANDLE = '1'.
          LS_DRAL-VALUE =  ITAB-POSNR.
          LS_DRAL-INT_VALUE =  ITAB-POSNR.
        ENDIF.
        APPEND LS_DRAL TO LT_DRAL.
      ENDLOOP.
    **Setting the Drop down table for Reason Code
      CALL METHOD G_GRID->SET_DROP_DOWN_TABLE
        EXPORTING
          IT_DROP_DOWN_ALIAS = LT_DRAL.
    ENDFORM.                               " set_drdn_table
    *&      Form  EVENT_TOP_OF_PAGE
    *       text
    *      -->DG_DYNDOC_ID  text
    FORM EVENT_TOP_OF_PAGE USING   DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
      "this is more clear.....check it
      "first add text, then pass it to comentry write fm
      DATA : DL_TEXT(255) TYPE C.  "Text
    * Populating header to top-of-page
      CALL METHOD DG_DYNDOC_ID->ADD_TEXT
        EXPORTING
          TEXT      = 'Test Report'
          SAP_STYLE = CL_DD_AREA=>HEADING.
    * Add new-line
      CALL METHOD DG_DYNDOC_ID->NEW_LINE.
      CLEAR : DL_TEXT.
    * Move program ID
      CONCATENATE 'Program Name :' SY-REPID
             INTO DL_TEXT SEPARATED BY SPACE.
    * Add Program Name to Document
      PERFORM ADD_TEXT USING DL_TEXT.
    * Add new-line
      CALL METHOD DG_DYNDOC_ID->NEW_LINE.
      CLEAR : DL_TEXT.
    * Move User ID
      CONCATENATE 'User ID :' SY-UNAME INTO DL_TEXT SEPARATED BY SPACE
    * Add User ID to Document
      PERFORM ADD_TEXT USING DL_TEXT.
    * Add new-line
      CALL METHOD DG_DYNDOC_ID->NEW_LINE.
      CLEAR : DL_TEXT.
    * Move count (no of records).
      move v_lines to v_line.
      CONCATENATE 'No of records :' v_line INTO DL_TEXT SEPARATED BY SPACE.
    * Add Client to Document
      PERFORM ADD_TEXT USING DL_TEXT.
    * Add new-line
      CALL METHOD DG_DYNDOC_ID->NEW_LINE.
      CLEAR : DL_TEXT.
    * Move date
      WRITE SY-DATUM TO DL_TEXT.
      CONCATENATE 'Date :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.
    * Add Date to Document
      PERFORM ADD_TEXT USING DL_TEXT.
    * Add new-line
      CALL METHOD DG_DYNDOC_ID->NEW_LINE.
      CLEAR : DL_TEXT.
    * Move time
      WRITE SY-UZEIT TO DL_TEXT.
      CONCATENATE 'Time :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.
    * Add Time to Document
      PERFORM ADD_TEXT USING DL_TEXT.
    * Add new-line
      CALL METHOD DG_DYNDOC_ID->NEW_LINE.
    * Populating data to html control
      PERFORM HTML.
    ENDFORM.                    " EVENT_TOP_OF_PAGE
    *&      Form  ADD_TEXT
    *       To add Text
    FORM ADD_TEXT USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.
    * Adding text
      CALL METHOD DG_DYNDOC_ID->ADD_TEXT
        EXPORTING
          TEXT         = P_TEXT
          SAP_EMPHASIS = CL_DD_AREA=>HEADING.
    ENDFORM.                    " ADD_TEXT
    *&      Form  HTML
    *       text
    FORM HTML.
      DATA : DL_LENGTH  TYPE I,                           " Length
             DL_BACKGROUND_ID TYPE SDYDO_KEY VALUE SPACE. " Background_id
    * Creating html control
      IF DG_HTML_CNTRL IS INITIAL.
        CREATE OBJECT DG_HTML_CNTRL
             EXPORTING
                  PARENT    = DG_PARENT_HTML.
      ENDIF.
    * Reuse_alv_grid_commentary_set
      CALL FUNCTION 'REUSE_ALV_GRID_COMMENTARY_SET'
        EXPORTING
          DOCUMENT = DG_DYNDOC_ID
          BOTTOM   = SPACE
        IMPORTING
          LENGTH   = DL_LENGTH.
    * Get TOP->HTML_TABLE ready
      CALL METHOD DG_DYNDOC_ID->MERGE_DOCUMENT.
    * Set wallpaper
      CALL METHOD DG_DYNDOC_ID->SET_DOCUMENT_BACKGROUND
        EXPORTING
          PICTURE_ID = DL_BACKGROUND_ID.
    * Connect TOP document to HTML-Control
      DG_DYNDOC_ID->HTML_CONTROL = DG_HTML_CNTRL.
    * Display TOP document
      CALL METHOD DG_DYNDOC_ID->DISPLAY_DOCUMENT
        EXPORTING
          REUSE_CONTROL      = 'X'
          PARENT             = DG_PARENT_HTML
        EXCEPTIONS
          HTML_DISPLAY_ERROR = 1.
      IF SY-SUBRC NE 0.
        MESSAGE I999 WITH 'Error in displaying top-of-page'(036).
      ENDIF.
    ENDFORM.                    " HTML
    Regards
    vijay

  • Which API can use to save PDF document with Adobe Reader 9?

    Hello,
        which API can use to save PDF document with Adobe Reader 9? It is said that "CosDocSaveWithParams" can't be used.
    thanks!
    jimmy

    Unless the PDF file is "READER ENABLED for SAVE" (see the adobe product pages on LiveCycle Reader extensions server)
    You are not able to call a Save at all, if the document is reader enabled then you need to use the JavaScript call to save the document,
    As you appear to be wanting to do this in a plug-in you would need to call the script from a plug-in, this can be done using the AFExecuteThisScript () function call.
    Please note that this does will fail if the document is not reader enabled for save and you need to include the Forms HFT in your plug-in,
    This plug-in would also have to be approved by Adobe to be used with the reader and as you are implementing a function that is available in the full Acrobat product this may not be a straight forward approval.
    HTH
    Malky

  • Implementing an API in ColdFusion

    I need to implement an API that would allow a membership
    website
    written in CF to share data with a CRM database I use.
    The company makes available some API Sample implementations
    in asp, java, javascript, perl, php, & python - along
    with documentation.
    The company that wrote the CF membership site is not
    interested in
    doing any programming/support for this project.
    Not knowing anything about CF personally, can anyone tell me
    if
    this it possible, and if it is difficult?
    If it is possible, is there a place I can contact a CF
    programmer who
    would know how to do this?
    Thanks so much,
    Dave

    If the API is already written in ASP, then I am sure it is
    possible in ColdFusion.
    You may want to look into Rent a Coder to find a programmer (
    http://www.rentacoder.com)

  • Any document on naming conventions to be used in BPM?

    Hi All,
    Is there any document available which specifies the standard naming conventions to be used in BPM? Please respond, if there is any.
    Regards.
    Rajat

    Hi,
    you would need to put string constants in a file ending with .properties. From out of your application you replace all string constants with calls to a ResourceBundle class you'd have to instantiate for the .properties file.
    ResourceBundles use a certain namin convention combining an arbitrary name with a locale such as _de for a german system for instance.
    See the API docs at http://java.sun.com/j2se/1.4/docs/api/java/util/ResourceBundle.html
    You can see an open source example of an application running in different locales at http://www.lightdev.com/dev/sh.htm
    HTH
    Ulrich

  • Dir API - Web services Time out

    Hi All,
    I am using Dir API web services to make some mass updates to Config objects. I have developed a client in Java and was able to access/edit the ID objects. The problem I am facing is since the number of objects in the change list is huge ( >1000),  the web services time out.
    I tried to set the time out parameter for the web service call using
    context.put(BindingProviderProperties.REQUEST_TIMEOUT, 600*1000);
    also,
    context.put("com.sun.xml.ws.connect.timeout", 600*1000);
    context.put("com.sun.xml.ws.request.timeout", 600*1000);
    None of them seem to have any impact.
    Any ideas what is the correct way to adjust this time out behaviour?
    Thanks
    Jai

    Hi RK,
    Thanks for that. I am not looking at changing the time outs at Server. I am just interested in changing the time outs for the request I make from the client. The point is I do not want to impact any other services running in the server.
    In WS Navigator, it seems possible to change the time out value using Invocation parameters. (Did not try this yet!!)
    So it must be possible to set the time out for the request from the client.
    Thanks
    Jai
    Edited by: Jaishankar on Aug 25, 2011 2:49 PM

  • What is the best API to use for developing 3D applications is it LWJGL, JOGL or JavaFX?

    Iam an Oracle certified Java Programmer. I recently completed my Bachelor's looking to start my career in 3d game development. But I was confused what API to use. As LWJGL, JOGL or JavaFX these three things have there own advantages. Which one I need to pick as start.

    Such beautiful and professional mockups. Which quite contradicts this:
    As a newbie to JavaFX and rusty with Java in general, what is the best way to build my skeleton so that it can accomplish all 4 of my statesYou say that as if you want to believe there is some "novice" way of going about implementing such a professional looking piece of software. But you know just as well as I do that when your knowledge and skill level is low, you're only going to be able to achieve a dinky looking approximation of what you want to achieve and you're likely going to exceed whatever budget you have.
    You have to keep working on your skill level first. You have such a wonderful mockup - I would do the same with your application. Create a mockup skeleton and keep tinkering with it until it looks like something you want to achieve. Don't create a full blown version, start with a simple test version. One step at a time, the thing to focus on is to not lose your grip on it. Make sure you make it work and you understand how and why it works. When you know the how and why, you're ready to do the thing for real. You're not going to learn that in a forum I'm afraid, it is going to be a couple of weeks of effort likely because you really do have to scratch that rust off of your Java knowledge first.

  • Any Public API's used for Punch Machine in OTL

    Hi,
    Could you let me know if there are any Public API's used for Punch Machine in OTL
    Thanks.

    Could you let me know if there are any Public API's used for Punch Machine in OTLPlease see these docs.
    Would like Punch In or Out Time to be Used to Worked Day Determination. [ID 1350155.1]
    Oracle Time and Labor (OTL) Implementation and User Guide, Release 12 [ID 1070930.1]
    Thanks,
    Hussein

  • What are the common APIs we use in oracle interface

    What are the common APIs we use in oracle interface,and any APIs are there for validation Of data During Tranfer to interface table.
    How to find Api s in oracle applications in Individual modules

    For 11i, all public APIS are listed at http://irep.oracle.com
    For R12, use the "Integration Repository" responsibility in your R12 instance to list the APIs available in that instance
    HTH
    Srini

  • Implement row-level security using Oracleu2019s Virtual Private Databases (VPD)

    Environment: Business Objects XI R2; Oracle 10g
    Functional Requirement:
    Implement row-level security using Oracleu2019s Virtual Private Databases (VPD) technology. The restriction is that the Business Objects Universe connection should use a generic/u201Capplicationu201D database user account. This will allow the organization to avoid the situation where the Business Objects password and the Oracle password need to be kept in synch.
    What do we need from the Business Objects support team?
    1.     Review the 2 attempted solutions that we have tried to implement
    2.     Propose solutions/answers to open questions for each of the attempted solutions
    3.     Propose any alternate solution that will help us implement the Function Requirement stated above
    Attempted Solution 1: Connection String uses Oracle Proxy User
    The connection string that is specified in the Universe is the following:
    app_user[end_user]/app_user_pwdarrobaDatabase.WORLD
    app_user = generic application user
    end_user = the oracle account of the end user which is set using arrobaVariable('BOUSER') app_user_pwd = password of the generic application user
    We have tried and implemented this in our test environment. However, we have some questions and concerns around how the connections are reused in a connection pool environment.
    Open Question for Solution 1:
    i. What happens when multiple proxy users try to connect on at the same time?  Business Objects shares the generic app_user connect string.  However, every user that logs on will have their own unique proxy user credentials.  Will there be any contention involved?  If so, what kind of errors can we expect?
    ii. If a user logs on using his credentials (proxy user), and business objects opens up a connection to the database using that user's credentials (as the proxy user but logging in through the generic app user). Then the user exits out --> based on our test today, it seems like the database connection remains open.  In that case, if another user logs on similarly with their credentials, will business objects simply assign the first users connection to that second user?  If so, then our security will not work.  Is there a way that Business Objects can somehow ensure that everytime we close a report, the connection is also terminated both at the BO and DB levels?
    iii. Our 3rd question is general high level -> How connection pooling works in general and how it is implemented in BO, i.e. how are new connections assigned, how are they recycled, how are they closed, etc.
    Attempted Solution 2: Using the ConnectInit parameter
    Reading through a couple of the Business Objects documents, it states that u201CUsing the ConnectInit parameter it is possible to send commands to the database when opening the session which can be used to set database specific parameters used for optimization.u201D
    Therefore, we tried to set the parameter in the Universe using several different options:
    ConnectInit = BEGIN SYSTEM.prc_logon('arrobaVARIABLE('BOUSER')'); COMMIT; END; ConnectInit = BEGIN DBMS_SESSION.SET_IDENTIFIER('arrobaVariable('BOUSER')'); COMMIT; END;
    Neither of the above iterations or any variation of that seemed to work. It seems that the variable is not being set or being u201Cexecutedu201D on the database.
    One of the Business Objects documents had stated that Patch ID 38, 977, 350 must be installed in our BO environments. We have verified that this patch has been applied on our system.
    Open Questions for Solution 2:
    How do we get the parameter ConnectInit to work? i.e. what is the proper syntax to enter and what other things do we need to check to get this to work.
    Note: Arroba word is being used instead of the symbol in order to avoid following error message:
    We are sorry but your message can not be posted since you have included an email address. Please remove the email address and re-post.

    the connectinit setting should look something like this:
    declare a date; begin vpd_setup('@VARIABLE('BOUSER')'); Commit; end;
    The vpd_setup procedure (in Oracle) should look like this:
    CREATE OR REPLACE procedure vpd_setup (p_user varchar)IS
    BEGIN
      DBMS_SESSION.set_vpd( 'SESSION_VALUES', 'USERID', p_user );
    END vpd_setup;
    Then you can retrieve the value of the context variable in your vpd functions
    and set the vpd.

  • How to implement row level security using external tables

    Hi All Gurus/ Masters,
    I want to implement row level security using external tables, as I'm not sure how to implement that. and I'm aware of using it by RPD level authentication.
    I can use a filter condition in my user level so that he can access his data only.
    But when i have 4 tables in external tables
    users
    groups
    usergroups
    webgrups
    Then in which table I need to give the filter conditions..
    Pl let me know this ...

    You pull the Group into a repository variable using a session variable init block, then reference that variable in the data filters either in the LTS directly or in the security management as Filters. You reference it with the syntax VALUEOF("NQ_SESSION.Variable Name")
    Hope this helps

  • Implement Parent child Relationship using SSIS

    Could you please suggest the best way which should not impact the performance of data loading, to implement parent child relationship using SSIS.
    We have a flat file RECON80.dat which need to be loaded into the database into 2 tables.
    Parent Table JobMaster  and Child Table RECON80 .
    In the flat file we have a fields Jobphase which will get inserted in JobMaster table and the remaning details like EIN, DATE etc will get inserted in RECON80 table.
    The Parent table JobMaster has JobId as an identity column which is the Pk of the table and it will get inserted into the child table i.e RECON80 JobId as FK of the child tale.
    Please suggest the best possible way to achieve it.

    Hi SubhadipRoy, I think you might need to create a procedure for this task.
    Because in SSIS, we cannot directly get the Identity ID.
    As my experience, there were serveral ways to do. But all are workaround.
    So, My suggestion is.
    In SSIS:
    1. Create a DataFlow
    2. Drag a flat source and load the data from dat file
    3. Create a procedure which receive the parameter from your data of each row.
    4. Drag a OLEDBCommand to the Panel and Invoke the Procedure also don't forget to pass all your rows to the Procedure in OLEDBCommand control.
    5. In Procedure, after insert 1 row you could get the Identity ID throuth SCOPE_IDENTITY()
    That's it, hope it works for you even this may not the efficency way.
    Althrough, I expect someone can give the best way if there is.

  • How to start to work on MDM JAVA API by using webdynpro for java

    Hi all
    I have basic idea on MDM business package thru portal by using standard iViews.
    now i am planning to work on MDM JAVA APIs by using Webdynpro for Java as UI.
    1) can you please share the required documents on the same. how to start working on this by using MDM JAVA APIs in webdynpro for java
    2) what are the JARs files are required and how to integrate those jar files into webdynpro for java application.
    3)  is there any SDN help on MDM JAVA API with webdynpro for java? . can you please send the link on the same.
    4) can you please help by providing sample code on how to use JAVA APIs for retrieving,deleting,inserting and Updating the data in the database.
    if anybody helps on the same then it is the great help to me.
    points are always rewardable...
    Regards
    Suresh babu

    Hi Suresh,
    You can have the MDM JAVA API javadocs from the link
    http://help.sap.com/javadocs/MDM/SP06P2/index.html
    There you can see a package named com.sap.mdm.examples.The classes in it contains some examples using which you can start understanding the code.
    You need to have MDM JAR files for it. And these JAR files to be used at build time can be added to the project thru :-
    Right click on project-> properties->Java Build Path - > Add external JARs
    At run time you can add them the reference in
    Right click on project-> properties->web dynpro references->library reference.
    Thanks
    Namrata

  • How to implement for sap system use HADR

    hi expert ,
           i am a newbie to sap basis, we have a requirement that do HA for our sap using HADR,i want know if there are some good sulotion for my scenario。
       our scenaro is we have two window 2008 sever host,one host  has a sap system and we want the sap db2 database as a primary,and the other host also has a same the system which is restore from the previous sap system which we implement by system copy using database restore not migration。i want know as our secanrio could i achive SAP application HA by HADR,if we donu2018t have  HA  software  like MSCS。whether we must manual monitor the primary sap   when it stop because any issue like hardware failed and then manual start the other sap system in the other host?
      our two sap system have different sap profile beacause the hostname are different.
    our aim is when one of our host can't use we can immediate start the other sap system in the other host, the less the change the better the solution .
    is it possible?
    thanx very much,
    best regards.

    hi paul ,
        thanx for your information,i have already read the inforamtion about sg247363 once-over and SAMP。 but unfortunately we have a different situation,we only have two windows servers and must installed windows server 2008 OS because some reasons。we also don't have have other host to install sap。as this situation,how could we implement HA beacuse we also don't have shared disk。the window server are isolation。
    i  also read some pdf which download from sdn , in the book the HA is  implemneted as the sap application has a separate host and has two host for DB2 database using HADR,the HA is rely the cluster software 。in this situation the sap application also need HA to avoid single point failure。
        as the limited i have said above, is it possible to do HA by MSCS ,can any body tell me if the MSCS is free to install in OS windows 2008? if we can't use it  free,have any other solution?in the worst , we must manual monitor the application and when a sap application or database can't work ,we want to restart the other sap which in the other host,we need the database synchronization between two database which using HADR。is it possible ?if it do, whether there are some additional setup for sap application because the two sap application have different sap profile name(a sap is a system copy from the other by database restore)。
        any reply will be appreciated。

Maybe you are looking for

  • Text wrap in anchored objects

    In order to place text boxes relative to the spine, I have placed them as anchored objects. But now, these text frames do not respect text wrap setting from objects outside of the anchored object. I have made sure that ignore text wrap in text frame

  • Finder Issues - List View, etc

    I have been having some increasing issue with Finder (Won't close, etc). For instance, Finder will not LIST VIEW files that are in the Documents folder (on the computer) Only icon or column view. It will list view items on an external drive. I tried

  • Adding user defined field in print layout design of Bill of matrial Report

    I want to add "Drawing No" which is user defined field in Bill of Material report need immediate help .

  • Case of the missing fault report....

    I placed a fault report on the bt website over the holidays, (details of the fault are below)...However on returning to my bt account to check if the fault is being looked at the whole report has disappeared from my account! [quote]Thanks for your em

  • Help with downloading pages

    My entire site is saved in my computer, but one page was deleted while editing. How can I redownload that page and put it back in the files that I have saved in my computer of the entire site? Thanx