Templates in ABAP

Hi,
I want a brief introduction to templates in ABAP.
I need to write a template which shall generate dynamic code. I am very new to this template concept in ABAP. Could some one please provide me good documents on how to write a template in ABAP or/and provide a simple sample program?
Regards,
Ravi

following is a template for example:
@--Template for generating CDS_READ_SERVICE--
*@ DATA: LT_SEGM         TYPE SMMW_CDS_SEGM_TTYP.
*@ DATA: LT_MAPP         TYPE SMMW_CDS_MAPP_TTYP.
*@ DATA: WA_SEGM         TYPE SMMW_CDS_SEGM.
*@ DATA: WA_MAPP         TYPE SMMW_CDS_MAPP.
*@ DATA: LS_HDR          TYPE MSB_HEADER.
*@ DATA: LS_MBOINFO      TYPE SMMW_CDS_MBO_INFO.
*@ DATA: META_OBJ        TYPE SMMW_GUID.
*@ DATA: msg_strname(40) TYPE C.
*@ DATA: memodblbin(40)  TYPE C,
*@       memodbltxt(40)  TYPE C.
*@ META_OBJ = I_META_OBJECT(32).
@ get MBO structure,version and sw component name
*@  CALL FUNCTION 'MSB_GET_MBO_HEADER_INFO'
*@    EXPORTING
*@      IM_MBO_VERSION_ID        = META_OBJ
*@    IMPORTING
*@      EX_MBO_HEADER            = LS_HDR
*@    EXCEPTIONS
*@      MISSING_IMPORT_PARAMETER = 1
*@      NO_SUCH_MBO              = 2
*@      MORE_THAN_ONE_MBO        = 3
*@      OTHERS                   = 4
*@  IF SY-SUBRC <> 0.
*@    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*@         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*@  ENDIF.
@ get MBO information by calling API SMMW_CDS_GET_MBODATA
*@  CALL FUNCTION 'MMW_CDS_GET_MBODATA'
*@    EXPORTING
*@      I_MBO_TRANS                = META_OBJ
*@    IMPORTING
*@      SEGM_TAB                   = LT_SEGM
*@      MAPP_TAB                   = LT_MAPP
*@      MBO_INFO                   = LS_MBOINFO
*@    EXCEPTIONS
*@      MBO_ID_IS_INITIAL          = 1
*@      PARENT_SEGMENT_NOT_FOUND   = 2
*@      OTHERS                     = 3
*@  IF SY-SUBRC <> 0.
*@    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*@         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*@  ENDIF.
*@  msg_strname = LS_MBOINFO-MESGSTR_NAME.
*@  memodblbin  = LS_MBOINFO-BMEMTABLE_NAME.
*@  memodbltxt  = LS_MBOINFO-TMEMTABLE_NAME.
                   CDS READ SERVICE
   This method has been generated
   Never change it manually, please!!
   Transaction:  \LS_HDR-NAME\
   Template   :  \I_TEMPLATE\
   GenKey     : CDS_READ_SERVICE
   Generated on \SY-DATUM\ \SY-UZEIT\
             by \SY-UNAME\
CONSTANTS: LC_INSERT VALUE 'I',
            LC_UPDATE VALUE 'U',
            LC_DELETE VALUE 'D'.
DATA: LT_OBJ_LIST          TYPE  EXTRACTKEY_TT.
DATA: WA_OBJ_LIST          TYPE  SMMW_EXTRACTKEY.
DATA: LV_COUNT             TYPE  INT4.
DATA: RECORDS_NOT_FOUND    TYPE  BOOL VALUE ' '.
CONSTANTS: lv_sendbits(32) TYPE x VALUE
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'.
*@  IF LS_HDR IS NOT INITIAL.
  DATA: MBO_STR TYPE \msg_strname\.
*@   IF LT_SEGM IS NOT INITIAL.
*@    LOOP AT LT_SEGM INTO WA_SEGM.
declaring tables and workareas for segment : \WA_SEGM-SEGM_NAME\
  DATA: LT_T\WA_SEGM-TABLENAME\  TYPE TABLE OF \WA_SEGM-TABLENAME\.
  DATA: WA_T\WA_SEGM-TABLENAME\  TYPE          \WA_SEGM-TABLENAME\.
  DATA: WA_S\WA_SEGM-GEN_NUM\  TYPE          \WA_SEGM-SEGM_STR\.
*@    ENDLOOP.
copy the extract key table to a local internal table.
  LT_OBJ_LIST[] = OBJ_LIST[].
  IF LT_OBJ_LIST IS INITIAL.
*...handle log here........
    EXIT.
  ELSE.
sort the table to delete adjacent duplicate entries
    SORT LT_OBJ_LIST BY EXTRACTKEY.
delete the duplicate entries from the table before processing
    DELETE ADJACENT DUPLICATES
      FROM LT_OBJ_LIST
      COMPARING EXTRACTKEY.
    DESCRIBE TABLE LT_OBJ_LIST LINES LV_COUNT.
    IF task EQ LC_DELETE OR task EQ LC_UPDATE.
      IF LV_COUNT GT 1.
*.....bulk message is only for task 'I' not for task 'U' or 'D'.
*.....Hadle log here.....
        OBJ_MISS[] = LT_OBJ_LIST[].
        EXIT.
      ENDIF.
    ENDIF.
    IF TASK EQ LC_DELETE.
prepare MBO message for the Extract keys whose task is DELETE
*@    LOOP AT LT_SEGM INTO WA_SEGM WHERE HIERARCHY EQ 1.
@   if the segment is root segment only.
      LOOP AT LT_OBJ_LIST INTO WA_OBJ_LIST.
         WA_S\WA_SEGM-GEN_NUM\-TASK = TASK.
         WA_S\WA_SEGM-GEN_NUM\-\WA_SEGM-KEYFIELD\ =
           WA_OBJ_LIST-EXTRACTKEY.
         WA_S\WA_SEGM-GEN_NUM\-EXTRACTKEY =
           WA_OBJ_LIST-EXTRACTKEY.
         APPEND WA_S\WA_SEGM-GEN_NUM\ TO MBO_STR-\WA_SEGM-SEGM_NAME\.
      ENDLOOP.
*@    ENDLOOP.
task is not 'D'.
    ELSE.
*@    SORT LT_SEGM BY HIERARCHY.
*@    LOOP AT LT_SEGM INTO WA_SEGM.
select statement to fill segment: \WA_SEGM-SEGM_NAME\
*@     IF WA_SEGM-HIERARCHY NE 1.
     IF RECORDS_NOT_FOUND IS INITIAL.
*@     ELSE.
       DESCRIBE TABLE LT_OBJ_LIST LINES LV_COUNT.
*@     ENDIF.
       SELECT * INTO TABLE LT_T\WA_SEGM-TABLENAME\
       FROM \WA_SEGM-TABLENAME\
       FOR ALL ENTRIES IN LT_OBJ_LIST
@    For root segment compare extractkey with synckey
*@     IF WA_SEGM-HIERARCHY = 1.
       WHERE \WA_SEGM-KEYFIELD\ = LT_OBJ_LIST-EXTRACTKEY.
@    For other than root segments compare extractkey with
@    extractkey only.
*@     ELSE.
       WHERE EXTRACTKEY = LT_OBJ_LIST-EXTRACTKEY.
*@     ENDIF.
*@     IF WA_SEGM-HIERARCHY = 1.
       IF SY-SUBRC <> 0.
   all the extractkeys are invalid hence send all to OBJ_MISS.
         OBJ_MISS[] = LT_OBJ_LIST[].
         RECORDS_NOT_FOUND = 'X'.
       ELSEIF LV_COUNT NE SY-DBCNT.
   Not all the keys are invalid.atleast one key is invalid.
*@     LOOP AT LT_MAPP INTO WA_MAPP
*@       WHERE SEGM_NAME = WA_SEGM-SEGM_NAME AND IS_SYNCKEY EQ 'X'.
          LOOP AT LT_OBJ_LIST INTO WA_OBJ_LIST.
           READ TABLE LT_T\WA_SEGM-TABLENAME\
           WITH KEY \WA_MAPP-SFLD_NAME\ = WA_OBJ_LIST-EXTRACTKEY
           TRANSPORTING NO FIELDS.
*@     ENDLOOP.
           IF SY-SUBRC <> 0.
            APPEND WA_OBJ_LIST TO OBJ_MISS.
           ENDIF.
         ENDLOOP.
       ENDIF.
*@     ENDIF.
   process all the records to set the value for task field.
       IF LT_T\WA_SEGM-TABLENAME\ IS NOT INITIAL.
         IF task EQ LC_UPDATE.
           WA_S\WA_SEGM-GEN_NUM\-SENDBITS = lv_sendbits.
         ENDIF.
         WA_S\WA_SEGM-GEN_NUM\-TASK = TASK.
         LOOP AT LT_T\WA_SEGM-TABLENAME\ INTO WA_T\WA_SEGM-TABLENAME\.
          move-corresponding WA_T\WA_SEGM-TABLENAME\
             to WA_S\WA_SEGM-GEN_NUM\.
*@       LOOP AT LT_MAPP INTO WA_MAPP
*@         WHERE SEGM_NAME = WA_SEGM-SEGM_NAME AND IS_MEMO NE SPACE.
          IF wa_t\wa_segm-tablename\-\wa_mapp-sfld_name\ IS NOT INITIAL.
*@        IF WA_MAPP-IS_MEMO EQ 'T'.
    select the text memo content from the db table
            SELECT SINGLE CONTENT
            FROM \memodbltxt\
            INTO WA_S\WA_SEGM-GEN_NUM\-\WA_MAPP-SFLD_NAME\
            WHERE tablename = '\WA_SEGM-TABLENAME\' AND
               tablekey = WA_T\WA_SEGM-TABLENAME\-\WA_SEGM-KEYFIELD\ AND
               tablefield = '\WA_MAPP-SFLD_NAME\'.
*@        ELSEIF WA_MAPP-IS_MEMO EQ 'B'.
    select the binary memo content from the db table
            SELECT SINGLE CONTENT
            FROM \memodblbin\
            INTO WA_S\WA_SEGM-GEN_NUM\-\WA_MAPP-SFLD_NAME\
            WHERE tablename = '\WA_SEGM-TABLENAME\' AND
               tablekey = WA_T\WA_SEGM-TABLENAME\-\WA_SEGM-KEYFIELD\ AND
               tablefield = '\WA_MAPP-SFLD_NAME\'.
*@        ENDIF.
          ENDIF.
*@       ENDLOOP.
          APPEND WA_S\WA_SEGM-GEN_NUM\ TO MBO_STR-\WA_SEGM-SEGM_NAME\.
         ENDLOOP.
       ENDIF.   " table LT_T\WA_SEGM-TABLENAME\ not initial.
*@     IF WA_SEGM-HIERARCHY NE 1.
      ENDIF.
*@     ENDIF.
*@    ENDLOOP.
    ENDIF.
  ENDIF.   " Object list not initial.
*@    LOOP AT LT_SEGM INTO WA_SEGM WHERE HIERARCHY EQ 1.
  IF MBO_STR-\WA_SEGM-SEGM_NAME\ IS NOT INITIAL.
    MBO_MESSAGE = MBO_STR.
  Filling Header of the MBO message if it is not empty.
    DESCRIBE TABLE MBO_STR-\WA_SEGM-SEGM_NAME\ LINES LV_COUNT.
*@    ENDLOOP.
    CALL FUNCTION 'SYSTEM_UUID_C_CREATE'
         IMPORTING
           uuid = MBO_COMM_HEADER-MESSAGE_ID.
    MBO_COMM_HEADER-SWCV_NAME    = '\LS_HDR-SWCV_NAME\'.
    MBO_COMM_HEADER-VERSION      = '\LS_HDR-VERSION\'.
    MBO_COMM_HEADER-MBO_NAME     = '\LS_HDR-NAME\'.
   GET TIME STAMP FIELD MBO_COMM_HEADER-SEND_TSTMP.
  This vale SEND_TSTMP filling involves some problem...
    MBO_COMM_HEADER-SEND_USR     = SY-UNAME.
    IF LV_COUNT EQ 1.
      MBO_COMM_HEADER-MESSAGE_TYPE = 'I'.
      READ TABLE OBJ_LIST INDEX 1 INTO WA_OBJ_LIST.
      IF SY-SUBRC = 0.
       MBO_COMM_HEADER-EXTRACT_KEY = WA_OBJ_LIST-EXTRACTKEY.
      ENDIF.
    ELSE.
      MBO_COMM_HEADER-MESSAGE_TYPE = 'B'.
    ENDIF.
  ENDIF.
*@   ENDIF.
*@  ENDIF.
I dont understand the notation *@ here...
Why is it used??
Regards,
Ravi

Similar Messages

  • KT TEMPLATE for ABAP

    Hi All
    I am also looking for a template for Knowledge Transition for a support project, which contains the various activities involved in it along with relative levels of KT needed.
    if any of u have KT Template for ABAP. kindly mail me. Any help would be appreciated.
    My mail id is: [email protected]
    Regards

    Hi
    I saw ur posting during my search for similar (KT) template
    If u have got any template kindly mail me at [email protected]
    regards
    sada

  • Template and ABAP code

    Hi ppl,
    I am a bit confused.If i have to make some field to only 'display'(so that the user has no choice to edit),how can i do it?
    -Who provides these templates??These templates that we publish are written in ABAP,right?
    -Can we create our own templates and publish??
    **When they say,change the template or change the ABAP code..what does it mean?Because to check the templates we goto SE80 and to change the code/add a field/edit a field--we go to SE11.Please let me know the link between SE11 and SE80 or the difference.
    Many Thanks
    Sam

    Sam,
    Before changing a template please go through following,it may resolve your issue -
    In this BAdI you can change the screen variant that controls the display of the item overviews and search results. As default, the following screen variants are called up:
    · Item data overview in the invoice without purchase order reference: Screen variant BBP_IV_NON_PO
    Method GET_SCREENVARIANT_INV
    · Item data overview in the invoice with purchase order reference: Screen variant BBP_IV
    Method GET_SCREENVARIANT_INV
    · Item data overview in the confirmation: Screen variant BBP_CF
    Method GET_SCREENVARIANT_CONF
    · Item data overview in the confirmation for time recording: Screen variant BBP_CF_TIMEREC
    Method GET_SCREENVARIANT_CONF
    · Item data overview in the purchase order: Screen variant BBP_PO
    Method GET_SCREENVARIANT_PO
    · Item overview for contracts: Screen variant BBP_CTR_ITEMLIST
    Method GET_SCREENVARIANT_CTR
    · Item overview for contract selection: Screen variant BBP_CTR_ITEM_SELLIST
    Method GET_SCREENVARIANT_CTR
    · Search results for creating an invoice and/or confirmation: Screen variant BBP_SEARCH_PO
    Method GET_SCREENVARIANT_SEARCH
    · Search results for creating a purchase order: Screen variant BBP_SEARCH_SC
    Method GET_SCREENVARIANT_SEARCH
    · Search results for displaying/changing an invoice: Screen variant BBP_CHANGE_IV
    Method GET_SCREENVARIANT_SEARCH
    · Search results for displaying/changing a confirmation: Screen variant BBP_CHANGE_CF
    Method GET_SCREENVARIANT_SEARCH
    · Item overview for creating/displaying/processing/status of a shopping cart: Screen variant BBP_SC
    Method GET_SCREENVARIANT_SC
    · Worklist for Sourcing: Screen variant BBP_SOCO_WL
    Method GET_SCREENVARIANT_SOCO
    · Work area in Sourcing: Screen variant BBP_SOCO_GA
    Method GET_SCREENVARIANT_SOCO
    Activities
    If you wish to hide or show fields, proceed as follows: 
    1. Determine the screen variant, for example, BBP_IV, using the list above.
    2. Copy this screen variant, for example, in ZZ_BBP_IV_1, in Transaction SHD0.
    3. Change the new screen variant as required. Note that you can only change the display properties for fields of table controls. You can switch the display on and off (column Invisible in Transaction SHD0). You can recognize the fields of a table control because they have a 1 on the right side of the first column. In addition, the heading for this area contains (Table CTRL.
    4. Implement the appropriate method (see the list above). Fill the export parameter EV_SCVARIANT with the new screen variant.
    You can create multiple screen variants for a screen and then select these in the BAdI depending on the user or on other criteria.
    Thanks and Warm Regards.
    Pras

  • Fill MS Word Document Template from ABAP

    Hello friends.
    I have a problem here, i wonder if you can help me. Here's my scenario...
    I have a MS Word template Document, like say a letter, with bookmarks on it. These bookmarks are the actual fields to be filled.
    What i would like to do is have an ABAP program that reads data from SAP and opens the template and fills the bookmarks with the information retrieved. Basicallyis one thing like we do with Mail Merge in MS Word.
    Does anyone have any idea of how to make this?
    Thank you
    Ricardo Monteiro

    Try this:
    method insert_text_at_bookmark.
    *--- check if bookmark exists
        get property of gs_actdoc 'Bookmarks' = gs_bookmarks.
        call method of gs_bookmarks 'Exists'
          exporting
            #1 = '<<your_bookmark_name>>'.
        if sy-subrc = 0.
    *--- getting handle for bookmarks
          get property of gs_actdoc 'Bookmarks' = gs_bookmarks
            exporting
              #1 = '<<your_bookmark_name>>'.
    *--- getting handle for range of bookmark
          get property of gs_bookmarks 'Range' = gs_range.
    *--- insert text at bookmark
          call method of gs_range 'InsertAfter'
            exporting
              #1 = '<<your_text_at_bookmark>>'.
    endmethod.
    All you have to give to the method is the name of the bookmark in MS word and the text you want to print. I specially take a internal table of two fields (name and value) and fill it in another method and pass it to this method.
    Harry

  • How do i create a header template for ABAP programs?

    Hi all.
    Need a little bit of help here. When you create a new program you get a template with space for comments at the top of the program and basic stuff. If I want to change this template to add areas that we want to have comments on for every program we make at work. How do I do that?
    Instead of :
    I want to have in a way similar to this:
    *     Author:                         *
    *     Function:                    *
    And so on…
    I want the words to be there when our developers creates the program.
    How can I do that?
    BR
    Kalle

    After I create a new report program, I delete everything but the REPORT line.  I then put this code in for my skeleton.
    * Created By:            Walter Industries (Paul Chapman)
    * Created On:            02/29/2008
    * Tran Code:             ZLMxx
    * Program Name:          YPTC_REPORT_SKELETON        " replace New Progam Name herer
    * Program Descr:         Configurable Leads Data Query
    *                         Modification Log
    * Programmer   :Issue:   Date   : Chg Req. : Description
    * Paul Chapman :00000:02/29/2008:DEVK000000:New Program
    REPORT yptc_report_skeleton MESSAGE-ID zleads_msg.      " replace New Progam Name herer
    *_________________________________________________ Tables
    TABLES: zpca, cepc, zlmlead.
    *_________________________________________________ Constants
    CONSTANTS:
      line_length      TYPE i VALUE 100,
      c_tab            TYPE x VALUE 9,                          " x'09'
      c_crlf           TYPE x VALUE 3338.  " x'ODOA'
    *_________________________________________________ Types
    TYPES: BEGIN OF scr_text_line,
             line(line_length) TYPE c,
           END OF scr_text_line.
    *_________________________________________________ DATA
    DATA:
      curr_screen_tab(4) TYPE n.
    *_________________________________________________ ALV Area
    *_________________________________________________ Ranges
    RANGES:
      r_branch       FOR zpca-branch.
    *_________________________________________________ Selection Screen
    SELECTION-SCREEN:
      BEGIN OF TABBED BLOCK tabs FOR 36 LINES,
        TAB (20) tab1   USER-COMMAND push1 DEFAULT SCREEN 1010,
        TAB (20) tab2   USER-COMMAND push2 DEFAULT SCREEN 1020,
      END OF BLOCK tabs.
    * Tab1 Options            S E L E C T I O N    S C R E E N S    Tab 01 *
    SELECTION-SCREEN BEGIN OF SCREEN 1010 AS SUBSCREEN.
    SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:
       sdiv      FOR cepc-prctr MATCHCODE OBJECT zdivjwh,
       ssbrch    FOR zlmlead-branch.
    SELECTION-SCREEN: END OF BLOCK blk1.
    SELECTION-SCREEN: BEGIN OF BLOCK bl10 WITH FRAME TITLE text-010.
    PARAMETERS:
      cparm1   AS CHECKBOX USER-COMMAND sel,
      cparm2   AS CHECKBOX USER-COMMAND sel,
      cparm3   AS CHECKBOX USER-COMMAND sel,
      cparm4   AS CHECKBOX USER-COMMAND sel,
      cparm5   AS CHECKBOX USER-COMMAND sel.
    SELECTION-SCREEN: END OF BLOCK bl10.
    SELECTION-SCREEN END OF SCREEN 1010.
    * Tab 2 Options            S E L E C T I O N    S C R E E N S   Tab 02 *
    SELECTION-SCREEN BEGIN OF SCREEN 1020 AS SUBSCREEN.
    SELECTION-SCREEN: BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
    SELECT-OPTIONS:
       sctype      FOR zlmlead-ctype,
       sprfcnt     FOR zlmlead-prefcont.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(25)   text-201.
    SELECTION-SCREEN POSITION 30.
    PARAMETERS:  rb_opt1 RADIOBUTTON GROUP gr20.
    SELECTION-SCREEN COMMENT 34(03)  text-991. " Yes
    SELECTION-SCREEN POSITION 40.
    PARAMETERS:  rb_opt2 RADIOBUTTON GROUP gr20.
    SELECTION-SCREEN COMMENT 44(03)  text-992. " No
    SELECTION-SCREEN POSITION 50.
    PARAMETERS:  rb_opt3 RADIOBUTTON GROUP gr20.
    SELECTION-SCREEN COMMENT 54(06)  text-993. " Either
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK blk2.
    SELECTION-SCREEN: BEGIN OF BLOCK bl20 WITH FRAME TITLE text-020.
    PARAMETERS:
      cb_opt1   AS CHECKBOX,
      cb_opt2   AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN: END OF BLOCK bl20.
    SELECTION-SCREEN END OF SCREEN 1020.
    *____________________________________________ Screen Actions
    AT SELECTION-SCREEN OUTPUT.
      PERFORM what_tab_am_i_on.
      CASE curr_screen_tab.
        WHEN '1010'.                                            " Tab 1
        WHEN '1020'.                                            " Tab 2
        WHEN OTHERS.
      ENDCASE.
      PERFORM tab_hide_unhide.
    *___________________________________________  Initialization
    INITIALIZATION.
    * Tab Text
      tab1  = 'Tab 1'.
      tab2  = 'Tab 2'.
    *_________________________________________________ Load of Program
    LOAD-OF-PROGRAM.
    *_________________________________________________ Start of Selection
    START-OF-SELECTION.
      PERFORM set_up_branch_range.
    *_________________________________________________ End of Selection
    END-OF-SELECTION.
    *&      Form  what_tab_am_i_on
    FORM what_tab_am_i_on.
      LOOP AT SCREEN.
        IF     screen-name CS 'BLOCK_1010'.
          curr_screen_tab = '1010'.
        ELSEIF screen-name CS 'BLOCK_1020'.
          curr_screen_tab = '1020'.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " what_tab_am_i_on
    *&      Form  tab_hide_unhide
    FORM tab_hide_unhide.
      LOOP AT SCREEN.
        CHECK screen-group3 = 'TAB'.
        CASE screen-name.
          WHEN 'TAB1'.
    *        IF
    *          screen-active = 1.
    *          screen-required = 1.
    *          screen-input = 1.
    *          screen-output = 1.
    *          screen-intensified = 1.
    *          screen-invisible = 1.
    *        ELSE.
    *          screen-active = 0.
    *          screen-required = 0.
    *          screen-input = 0.
    *          screen-output = 0.
    *          screen-intensified = 0.
    *          screen-invisible = 0.
    *        ENDIF.
          WHEN 'TAB2'.
    *        IF
    *          screen-active = 1.
    *        ELSE.
    *          screen-active = 0.
    *        ENDIF.
        ENDCASE.
        MODIFY SCREEN.
      ENDLOOP.
    ENDFORM.                    " tab_hide_unhide
    *&      Form  set_up_branch_range
    FORM set_up_branch_range.
      r_branch[]  = ssbrch[].
      CHECK NOT sdiv  IS INITIAL.
      r_branch     = 'IEQ'.
      SELECT branch INTO r_branch-low
        FROM zpca
        WHERE region = 'JWHCO'
          AND division IN sdiv.
        APPEND r_branch.
      ENDSELECT.
      SORT r_branch.
      DELETE ADJACENT DUPLICATES FROM r_branch.
    ENDFORM.                    " set_up_branch_range

  • Template for ABAP programs

    Hi all.
    I've implemnted the following soultion for our SAP system.
    Go to TCODE CMOD,
    Create a new Project like ZSE38 as follows.
    Check the 'Enhancements Assignments' Radio button, click create and add SEUED001 ( for Editor )
    now SAVE, click on Components and select the User Exit that you want to use.
    EXIT_SAPLS38E_001 <-- this is a function module.
    inside this FM there is an INCLUDE program ZXSEUU08.
    double click on it, when a warning message appears in the status bar below press ENTER
    to create the program.
    write the code you want inside this program. or add the following code.
    code
    DATA: it_code(256) TYPE c OCCURS 0.
    DATA: wa_code like line of it_code.
    DATA: it_new_code(256) TYPE c OCCURS 0.
    DATA: lv_linecount TYPE i.
    IF OPERATION = 'EDIT'.
    read report program into it_code.
    DESCRIBE TABLE it_code LINES lv_linecount.
    IF lv_linecount LE 10.
    read table it_code into wa_code index 5.
    if wa_code(9) '*& Author'.
    read table it_code into wa_code index 1.
    append wa_code to it_new_code.
    read table it_code into wa_code index 2.
    append wa_code to it_new_code.
    read table it_code into wa_code index 3.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*&---------------------------------------------------------------------*'.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*& Author :'.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*& Date :' .
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*& Purpose :'.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*&---------------------------------------------------------------------*'.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*& Date Changed by Tag Description'.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*&'.
    append wa_code to it_new_code.
    clear wa_code.
    wa_code = '*&---------------------------------------------------------------------*'.
    append wa_code to it_new_code.
    data: lv_firstline type i.
    loop at it_code into wa_code from 4 to 8.
    if wa_code = ''.
    lv_firstline = sy-tabix.
    endif.
    endloop.
    loop at it_code into wa_code from lv_firstline.
    append wa_code to it_new_code.
    endloop.
    insert report program from it_new_code.
    ENDIF.
    ENDIF.
    ENDIF.
    [/code]
    After this, activate the include program.
    then go back to CMOD transaction and activate the PROJECT that you've just created.
    and you're ready to go........
    Everything is working fine except that i do not want this template to be implemented when I do an include.
    What changes do i need to do?
    BR
    Andreas

    Hello Andreas
    I the same include that you are creating your template(ZXSEUU08) check to see what type of program you are working with.
    * Check to make sure program is type 1 before inserting template.
    select single * from trdir where name = program.
    check: sy-subrc = 0.
    if trdir-subc = '1'
    ... some code here - only executed if program is type 1 (executeable)....
    endif.
    Of course you can excldue incldudes by checking for subc = 'I'.
    Regards
    Greg Kern

  • How to create statement templates in ABAP?

    In ABAP editor, when I go to pattern-> Other pattern and specify zpattern, then the following statements should be inserted in my code
    Changed by .......:  Your Name
    Date..............:       Current Date
    Requested By......:
    Reference Document:  SR......
    Description.......:  .................................................
    Basically, my question is how do I create zpattern and insert these statements?

    Hi
    check out this link it has a example
    for Dynamic Patterns
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci1086690,00.html
    if you want to create a new patter n
    SE38-> Name of the program-> change/Display->UTILITIES>
    MORE UTILITIES-->EDIT PATTERN>CREATE PATTERN
    And define your pattern style
    Regards
    Pavan
    Edited by: Pavan Bhamidipati on Jul 16, 2008 8:25 AM

  • Connection Refused Error while running AS ABAP Initial Load

    All,
    I've never connected SAP NW IdM to an actual SAP system before, and I feel like I'm missing some obvious step of configuration, but I can't figure out what.
    We are in the process of trying provision user accounts to our SAP ABAP systems. My first step was to try to read all of the existing accounts from the ABAP system:
    Our Basis team created me a Communication user with the proper authorizations (I ensured that the authorizations included in SAP_BC_SEC_IDM_COMMUNICATION)
    I created a repository using the SAP NewWeaver AS ABAP (Specific Application Server) Repository Template (No CUA, No SNC) using that user's credentials
    I then used the Job Wizard and used the job template AS ABAP - Initial Load, specifying my repository above.
    When I run the job I get the following:
    Initializing SAP connection with parameters:
    com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server failed Connect_PM MSHOST=<IPADDRESS>, R3NAME=<SID>, GROUP=PUBLIC LOCATION CPIC (TCP/IP) on local host ERROR partner not reached (host <IPADDRESS>, service sapms<SID>) TIME Wed Jun 01 13:54:36 201 RELEASE 640 COMPONENT NI (network interface) VERSION 37 RC -10 MODULE nixxi_r.cpp LINE 8840 DETAIL NiPConnect2 SYSTEM CALL SiPeekPendConn ERRNO 10061 ERRNO TEXT WSAECONNREFUSED: Connection refused COUNTER 1
    Error Init failed
    I'm running SAP NW IdM 7.1 SP5 on Windows Server 2003 with MSSQL 2005. The ABAP server is on a UNIX box with an Oracle 10.2 dB.
    Is there additional configuration that needs to take place on the ABAP side to accept the connection?
    I've tried to find documentation on this, but have been unsuccessful. If someone could point me to the correct documents, or at least point me in the right direction for troubleshooting, it would be greatly appreciated.

    Ankur,
    Looks like the endpoint URL of the webservice is not updated and still pointing to the localhost. Try changing it to http://<ip_addres_of_your_server>:7101..... and see if it works fine then.
    -Arun

  • Changing default heading in the Abap report

    Hi experts,
    How can I change the default comment lines in the ABAP report heading. Currently in our system it is as below..
    *& Report  ZFI_TEST_REPORT
    I want it into my custom.

    hi,
    you can do that using Patterns
    check below link hoe to create pattern 
    How to create statement templates in ABAP?
    regards
    Deepak.

  • Can we hide the field in Shopping Cart of SRM

    Hi..
    Can we hide the field in Shopping Cart of SRM??
    I have to hide some of the fields from SRM shopping cart screen. is it possible to hide the fields??
    Please suggest me
    Thanks.
    Regards,
    Manoj Tiwari

    Hy,
    For screen variants, just go to transaction SHD0.
    The only screen variants available in SRM 4.0 are:
    Item data overview in an invoice without purchase order reference: BBP_IV_NON_PO
    Item data overview in the invoice with purchase order reference: BBP_IV
    Item data overview in the confirmation: BBP_CF
    Item data overview in the confirmation for time recording: BBP_CF_TIMEREC
    Item data overview in the purchase order: BBP_PO;
    Item data overview for contracts: BBP_CTR_ITEMLIST
    Item data overview for selection of contracts: BBP_CTR_ITEM_SELLIST
    Search results for entering an invoice and/or confirmation: BBP_SEARCH_PO
    Search results for entering a purchase order: BBP_SEARCH_SC
    Search results for displaying/processing an invoice: BBP_CHANGE_IV
    Search results for displaying/processing a confirmation: BBP_CHANGE_CF
    Search results for entering/displaying/processing/status of a shopping cart: BBP_SC;
    Worklist for Sourcing: BBP_SOCO_WL
    Work area in Sourcing: BBP_SOCO_GA
    This is very light, and most of the SRM project have to make Templates, or ABAP screens repairs, to Hide/Show fields.
    Regards.
    Vadim

  • Dispatcher Error

    Hi,
    I've installed SAPNW7.0ABAPTrialSP12. I get an error during the installation, and uninstall this by the uninstall instructions (start.htm - last slide). When I try to install it again, the installation time was too quickly and searching in SDN forums I found the solution that was to delete Installshield folder from my Commom Files folder. After this, I've installed again and the instalation time was up to 1 hour (normal time). Then I tried to up my server several times, so I've opened my services file and look that some entries is missing (I think that my error is caused by this).
    My machine:
    Windows XP SP2
    MacBook Black - 2GHZ Core 2 Duo - 1GB RAM - 30GB free space
    Loopback Adapter is installed and configured to DHCP and fixed IP with 10.10.0.10 value (by SAP instructions)
    Hostname: brmb2000
    Host file have an entry: 10.10.0.10 brmb2000
    My services file:
    # Copyright (c) 1993-1999 Microsoft Corp.
    # This file contains port numbers for well-known services defined by IANA
    # Format:
    # <service name>  <port number>/<protocol>  [aliases...]   [#<comment>]
    echo                7/tcp
    echo                7/udp
    discard             9/tcp    sink null
    discard             9/udp    sink null
    systat             11/tcp    users                  #Active users
    systat             11/tcp    users                  #Active users
    daytime            13/tcp
    daytime            13/udp
    qotd               17/tcp    quote                  #Quote of the day
    qotd               17/udp    quote                  #Quote of the day
    chargen            19/tcp    ttytst source          #Character generator
    chargen            19/udp    ttytst source          #Character generator
    ftp-data           20/tcp                           #FTP, data
    ftp                21/tcp                           #FTP. control
    telnet             23/tcp
    smtp               25/tcp    mail                   #Simple Mail Transfer Protocol
    time               37/tcp    timserver
    time               37/udp    timserver
    rlp                39/udp    resource               #Resource Location Protocol
    nameserver         42/tcp    name                   #Host Name Server
    nameserver         42/udp    name                   #Host Name Server
    nicname            43/tcp    whois
    domain             53/tcp                           #Domain Name Server
    domain             53/udp                           #Domain Name Server
    bootps             67/udp    dhcps                  #Bootstrap Protocol Server
    bootpc             68/udp    dhcpc                  #Bootstrap Protocol Client
    tftp               69/udp                           #Trivial File Transfer
    gopher             70/tcp
    finger             79/tcp
    http               80/tcp    www www-http           #World Wide Web
    kerberos           88/tcp    krb5 kerberos-sec      #Kerberos
    kerberos           88/udp    krb5 kerberos-sec      #Kerberos
    hostname          101/tcp    hostnames              #NIC Host Name Server
    iso-tsap          102/tcp                           #ISO-TSAP Class 0
    rtelnet           107/tcp                           #Remote Telnet Service
    pop2              109/tcp    postoffice             #Post Office Protocol - Version 2
    pop3              110/tcp                           #Post Office Protocol - Version 3
    sunrpc            111/tcp    rpcbind portmap        #SUN Remote Procedure Call
    sunrpc            111/udp    rpcbind portmap        #SUN Remote Procedure Call
    auth              113/tcp    ident tap              #Identification Protocol
    uucp-path         117/tcp
    nntp              119/tcp    usenet                 #Network News Transfer Protocol
    ntp               123/udp                           #Network Time Protocol
    epmap             135/tcp    loc-srv                #DCE endpoint resolution
    epmap             135/udp    loc-srv                #DCE endpoint resolution
    netbios-ns        137/tcp    nbname                 #NETBIOS Name Service
    netbios-ns        137/udp    nbname                 #NETBIOS Name Service
    netbios-dgm       138/udp    nbdatagram             #NETBIOS Datagram Service
    netbios-ssn       139/tcp    nbsession              #NETBIOS Session Service
    imap              143/tcp    imap4                  #Internet Message Access Protocol
    pcmail-srv        158/tcp                           #PCMail Server
    snmp              161/udp                           #SNMP
    snmptrap          162/udp    snmp-trap              #SNMP trap
    print-srv         170/tcp                           #Network PostScript
    bgp               179/tcp                           #Border Gateway Protocol
    irc               194/tcp                           #Internet Relay Chat Protocol       
    ipx               213/udp                           #IPX over IP
    ldap              389/tcp                           #Lightweight Directory Access Protocol
    https             443/tcp    MCom
    https             443/udp    MCom
    microsoft-ds      445/tcp
    microsoft-ds      445/udp
    kpasswd           464/tcp                           # Kerberos (v5)
    kpasswd           464/udp                           # Kerberos (v5)
    isakmp            500/udp    ike                    #Internet Key Exchange
    exec              512/tcp                           #Remote Process Execution
    biff              512/udp    comsat
    login             513/tcp                           #Remote Login
    who               513/udp    whod
    cmd               514/tcp    shell
    syslog            514/udp
    printer           515/tcp    spooler
    talk              517/udp
    ntalk             518/udp
    efs               520/tcp                           #Extended File Name Server
    router            520/udp    route routed
    timed             525/udp    timeserver
    tempo             526/tcp    newdate
    courier           530/tcp    rpc
    conference        531/tcp    chat
    netnews           532/tcp    readnews
    netwall           533/udp                           #For emergency broadcasts
    uucp              540/tcp    uucpd
    klogin            543/tcp                           #Kerberos login
    kshell            544/tcp    krcmd                  #Kerberos remote shell
    new-rwho          550/udp    new-who
    remotefs          556/tcp    rfs rfs_server
    rmonitor          560/udp    rmonitord
    monitor           561/udp
    ldaps             636/tcp    sldap                  #LDAP over TLS/SSL
    doom              666/tcp                           #Doom Id Software
    doom              666/udp                           #Doom Id Software
    kerberos-adm      749/tcp                           #Kerberos administration
    kerberos-adm      749/udp                           #Kerberos administration
    kerberos-iv       750/udp                           #Kerberos version IV
    kpop             1109/tcp                           #Kerberos POP
    phone            1167/udp                           #Conference calling
    ms-sql-s         1433/tcp                           #Microsoft-SQL-Server
    ms-sql-s         1433/udp                           #Microsoft-SQL-Server
    ms-sql-m         1434/tcp                           #Microsoft-SQL-Monitor
    ms-sql-m         1434/udp                           #Microsoft-SQL-Monitor               
    wins             1512/tcp                           #Microsoft Windows Internet Name Service
    wins             1512/udp                           #Microsoft Windows Internet Name Service
    ingreslock       1524/tcp    ingres
    l2tp             1701/udp                           #Layer Two Tunneling Protocol
    pptp             1723/tcp                           #Point-to-point tunnelling protocol
    radius           1812/udp                           #RADIUS authentication protocol
    radacct          1813/udp                           #RADIUS accounting protocol
    nfsd             2049/udp    nfs                    #NFS server
    knetd            2053/tcp                           #Kerberos de-multiplexor
    man              9535/tcp                           #Remote Man Server
    #sapdp01  3201/tcp
    #sapmsBC1      3602/tcp
    #sapmsBC2        3600/tcp
    #sapmsBC3      3600/tcp
    #sapmsCR1         3671/tcp
    #sapmsCR2         3672/tcp
    #sapmsCR3         3673/tcp
    #sapmsCR4         3671/tcp
    sapmsNSP      3600/tcp
    sql6           7210/tcp
    sapdbni72          7269/tcp
    sql30           7200/tcp # SAP DB
    vmake           7792/tcp # SAP DB
    sapdp00 3200/tcp
    Follow the developer trace of disp+work.exe that is stopping after few seconds:
    trc file: "dev_disp", trc level: 1, release: "700"
    sysno      00
    sid        NSP
    systemid   560 (PC with Windows NT)
    relno      7000
    patchlevel 0
    patchno    95
    intno      20050900
    make:      multithreaded, ASCII, optimized
    pid        1820
    Wed Oct 10 09:57:21 2007
    kernel runs with dp version 224(ext=109) (@(#) DPLIB-INT-VERSION-224)
    length of sys_adm_ext is 360 bytes
    *** SWITCH TRC-HIDE on ***
    ***LOG Q00=> DpSapEnvInit, DPStart (00 1820) [dpxxdisp.c   1239]
         shared lib "dw_xml.dll" version 95 successfully loaded
         shared lib "dw_xtc.dll" version 95 successfully loaded
         shared lib "dw_stl.dll" version 95 successfully loaded
         shared lib "dw_gui.dll" version 95 successfully loaded
         shared lib "dw_mdm.dll" version 95 successfully loaded
    rdisp/softcancel_sequence :  -> 0,5,-1
    use internal message server connection to port 3900
    *** ERROR => DpNetCheck: NiServToNo(sapgw00) failed (rc=-3) [dpxxtool2.c  5217]
    Wed Oct 10 09:57:31 2007
    *** WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 10 seconds
    ***LOG GZZ=> 2 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c  5355]
    MtxInit: 30000 0 0
    DpSysAdmExtInit: ABAP is active
    DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
    DpIPCInit2: start server >brmb2000_NSP_00                         <
    DpShMCreate: sizeof(wp_adm)          6328     (904)
    DpShMCreate: sizeof(tm_adm)          3605136     (17936)
    DpShMCreate: sizeof(wp_ca_adm)          1200     (60)
    DpShMCreate: sizeof(appc_ca_adm)     1200     (60)
    DpCommTableSize: max/headSize/ftSize/tableSize=500/8/528040/528048
    DpShMCreate: sizeof(comm_adm)          528048     (1048)
    DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
    DpShMCreate: sizeof(slock_adm)          0     (96)
    DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
    DpShMCreate: sizeof(file_adm)          0     (72)
    DpShMCreate: sizeof(vmc_adm)          0     (1280)
    DpShMCreate: sizeof(wall_adm)          (22440/34344/56/100)
    DpShMCreate: sizeof(gw_adm)     48
    DpShMCreate: SHM_DP_ADM_KEY          (addr: 05A20040, size: 4205552)
    DpShMCreate: allocated sys_adm at 05A20040
    DpShMCreate: allocated wp_adm at 05A21A28
    DpShMCreate: allocated tm_adm_list at 05A232E0
    DpShMCreate: allocated tm_adm at 05A23310
    DpShMCreate: allocated wp_ca_adm at 05D935A0
    DpShMCreate: allocated appc_ca_adm at 05D93A50
    DpShMCreate: allocated comm_adm at 05D93F00
    DpShMCreate: system runs without slock table
    DpShMCreate: system runs without file table
    DpShMCreate: allocated vmc_adm_list at 05E14DB0
    DpShMCreate: allocated gw_adm at 05E14DF0
    DpShMCreate: system runs without vmc_adm
    DpShMCreate: allocated ca_info at 05E14E20
    DpShMCreate: allocated wall_adm at 05E14E28
    MBUF state OFF
    DpCommInitTable: init table for 500 entries
    EmInit: MmSetImplementation( 2 ).
    MM global diagnostic options set: 0
    <ES> client 0 initializing ....
    <ES> InitFreeList
    <ES> block size is 1024 kByte.
    Using implementation view
    <EsNT> Memory Reset disabled as NT default
    <ES> 127 blocks reserved for free list.
    ES initialized.
    Wed Oct 10 09:57:32 2007
    rdisp/http_min_wait_dia_wp : 1 -> 1
    ***LOG Q0K=> DpMsAttach, mscon ( brmb2000) [dpxxdisp.c   11663]
    DpStartStopMsg: send start message (myname is >brmb2000_NSP_00                         <)
    DpStartStopMsg: start msg sent
    CCMS: alert/MONI_SEGM_SIZE = 0   monitoring and alerting switched off.
    DpMsgAdmin: Set release to 7000, patchlevel 0
    MBUF state PREPARED
    MBUF component UP
    DpMBufHwIdSet: set Hardware-ID
    ***LOG Q1C=> DpMBufHwIdSet [dpxxmbuf.c   1050]
    DpMsgAdmin: Set patchno for this platform to 95
    Release check o.K.
    Wed Oct 10 09:58:12 2007
    *** ERROR => W0 (pid 2232) died [dpxxdisp.c   14318]
    *** ERROR => W1 (pid 1320) died [dpxxdisp.c   14318]
    *** ERROR => W2 (pid 3068) died [dpxxdisp.c   14318]
    my types changed after wp death/restart 0x9f --> 0x9e
    *** ERROR => W3 (pid 3168) died [dpxxdisp.c   14318]
    my types changed after wp death/restart 0x9e --> 0x9c
    *** ERROR => W4 (pid 1596) died [dpxxdisp.c   14318]
    my types changed after wp death/restart 0x9c --> 0x98
    *** ERROR => W5 (pid 3196) died [dpxxdisp.c   14318]
    my types changed after wp death/restart 0x98 --> 0x90
    *** ERROR => W6 (pid 3160) died [dpxxdisp.c   14318]
    my types changed after wp death/restart 0x90 --> 0x80
    *** DP_FATAL_ERROR => DpWPCheck: no more work processes
    *** DISPATCHER EMERGENCY SHUTDOWN ***
    increase tracelevel of WPs
    NiWait: sleep (10000ms) ...
    NiISelect: timeout 10000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:22 2007
    NiISelect: TIMEOUT occured (10000ms)
    dump system status
    Workprocess Table (long)               Wed Oct 10 12:58:22 2007
    ========================
    No Ty. Pid      Status  Cause Start Err Sem CPU    Time  Program  Cl  User         Action                    Table
    0 DIA     2232 Ended         no      1   0             0                                                             
    1 DIA     1320 Ended         no      1   0             0                                                             
    2 DIA     3068 Ended         no      1   0             0                                                             
    3 UPD     3168 Ended         no      1   0             0                                                             
    4 ENQ     1596 Ended         no      1   0             0                                                             
    5 BTC     3196 Ended         no      1   0             0                                                             
    6 SPO     3160 Ended         no      1   0             0                                                             
    Dispatcher Queue Statistics               Wed Oct 10 12:58:22 2007
    ===========================
    +------+--------+--------+--------+--------+--------+
    |  Typ |    now |   high |    max | writes |  reads |
    +------+--------+--------+--------+--------+--------+
    | NOWP |      0 |      2 |   2000 |      5 |      5 |
    +------+--------+--------+--------+--------+--------+
    |  DIA |      4 |      4 |   2000 |      4 |      0 |
    +------+--------+--------+--------+--------+--------+
    |  UPD |      0 |      0 |   2000 |      0 |      0 |
    +------+--------+--------+--------+--------+--------+
    |  ENQ |      0 |      0 |   2000 |      0 |      0 |
    +------+--------+--------+--------+--------+--------+
    |  BTC |      0 |      0 |   2000 |      0 |      0 |
    +------+--------+--------+--------+--------+--------+
    |  SPO |      0 |      0 |   2000 |      0 |      0 |
    +------+--------+--------+--------+--------+--------+
    |  UP2 |      0 |      0 |   2000 |      0 |      0 |
    +------+--------+--------+--------+--------+--------+
    max_rq_id          10
    wake_evt_udp_now     0
    wake events           total     6,  udp     6 (100%),  shm     0 (  0%)
    since last update     total     6,  udp     6 (100%),  shm     0 (  0%)
    Dump of tm_adm structure:               Wed Oct 10 12:58:22 2007
    =========================
    Term    uid  man user    term   lastop  mod wp  ta   a/i (modes)
    Workprocess Comm. Area Blocks               Wed Oct 10 12:58:22 2007
    =============================
    Slots: 20, Used: 1, Max: 0
    +------+--------------+----------+-------------+
    |   id | owner        |   pid    | eyecatcher  |
    +------+--------------+----------+-------------+
    |    0 | DISPATCHER   |       -1 | *WPCAAD000* |
    NiWait: sleep (5000ms) ...
    NiISelect: timeout 5000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:27 2007
    NiISelect: TIMEOUT occured (5000ms)
    DpHalt: shutdown server >brmb2000_NSP_00                         < (normal)
    DpJ2eeDisableRestart
    DpModState: buffer in state MBUF_PREPARED
    NiBufSend starting
    NiIWrite: hdl 2 sent data (wrt=110,pac=1,MESG_IO)
    MsINiWrite: sent 110 bytes
    MsIModState: change state to SHUTDOWN
    DpModState: change server state from STARTING to SHUTDOWN
    Switch off Shared memory profiling
    ShmProtect( 57, 3 )
    ShmProtect(SHM_PROFILE, SHM_PROT_RW
    ShmProtect( 57, 1 )
    ShmProtect(SHM_PROFILE, SHM_PROT_RD
    DpWakeUpWps: wake up all wp's
    Stop work processes
    Stop gateway
    killing process (2888) (SOFT_KILL)
    *** ERROR => DpProcKill: kill failed [dpntdisp.c   371]
    Stop icman
    killing process (2868) (SOFT_KILL)
    Terminate gui connections
    wait for end of work processes
    wait for end of gateway
    [DpProcDied] Process died  (PID:2888  HANDLE:1600)
    wait for end of icman
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:28 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:29 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:30 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:31 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:32 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:33 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:34 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:35 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:36 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:37 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:38 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process lives  (PID:2868  HANDLE:1616)
    waiting for termination of icman ...
    NiWait: sleep (1000ms) ...
    NiISelect: timeout 1000ms
    NiISelect: maximum fd=1637
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Oct 10 09:58:39 2007
    NiISelect: TIMEOUT occured (1000ms)
    [DpProcDied] Process died  (PID:2868  HANDLE:1616)
    DpStartStopMsg: send stop message (myname is >brmb2000_NSP_00                         <)
    NiIMyHostName: hostname = 'brmb2000'
    AdGetSelfIdentRecord: >                                                                           <
    AdCvtRecToExt: opcode 60 (AD_SELFIDENT), ser 0, ex 0, errno 0
    AdCvtRecToExt: opcode 4 (AD_STARTSTOP), ser 0, ex 0, errno 0
    DpConvertRequest: net size = 189 bytes
    NiBufSend starting
    NiIWrite: hdl 2 sent data (wrt=562,pac=1,MESG_IO)
    MsINiWrite: sent 562 bytes
    send msg (len 110+452) to name                    -, type 4, key -
    DpStartStopMsg: stop msg sent
    NiIRead: hdl 2 received data (rcd=274,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=274
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 274 bytes
    MSG received, len 110+164, flag 1, from MSG_SERVER          , typ 0, key -
    DpHalt: received 164 bytes from message server
    NiIRead: hdl 2 received data (rcd=274,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=274
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 274 bytes
    MSG received, len 110+164, flag 1, from MSG_SERVER          , typ 0, key -
    DpHalt: received 164 bytes from message server
    NiIRead: hdl 2 received data (rcd=274,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=274
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 274 bytes
    MSG received, len 110+164, flag 1, from MSG_SERVER          , typ 0, key -
    DpHalt: received 164 bytes from message server
    NiIRead: hdl 2 received data (rcd=274,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=274
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 274 bytes
    MSG received, len 110+164, flag 1, from MSG_SERVER          , typ 0, key -
    DpHalt: received 164 bytes from message server
    NiIRead: hdl 2 received data (rcd=274,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=274
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 274 bytes
    MSG received, len 110+164, flag 1, from MSG_SERVER          , typ 0, key -
    DpHalt: received 164 bytes from message server
    NiIRead: hdl 2 received data (rcd=274,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=274
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 274 bytes
    MSG received, len 110+164, flag 1, from MSG_SERVER          , typ 0, key -
    DpHalt: received 164 bytes from message server
    NiIRead: hdl 2 recv would block (errno=EAGAIN)
    NiIRead: read for hdl 2 timed out (0ms)
    DpHalt: no more messages from the message server
    DpHalt: send keepalive to synchronize with the message server
    NiBufSend starting
    NiIWrite: hdl 2 sent data (wrt=114,pac=1,MESG_IO)
    MsINiWrite: sent 114 bytes
    send msg (len 110+4) to name           MSG_SERVER, type 0, key -
    MsSndName: MS_NOOP ok
    Send 4 bytes to MSG_SERVER
    NiIRead: hdl 2 recv would block (errno=EAGAIN)
    NiIPeek: peek successful for hdl 2 (r)
    NiIRead: hdl 2 received data (rcd=114,pac=1,MESG_IO)
    NiBufIIn: NIBUF len=114
    NiBufIIn: packet complete for hdl 2
    NiBufReceive starting
    MsINiRead: received 114 bytes
    MSG received, len 110+4, flag 3, from MSG_SERVER          , typ 0, key -
    Received 4 bytes from MSG_SERVER                             
    Received opcode MS_NOOP from msg_server, reply MSOP_OK
    MsOpReceive: ok
    MsSendKeepalive : keepalive sent to message server
    NiIRead: hdl 2 recv would block (errno=EAGAIN)
    Wed Oct 10 09:58:40 2007
    NiIPeek: peek for hdl 2 timed out (r; 1000ms)
    NiIRead: read for hdl 2 timed out (1000ms)
    DpHalt: no more messages from the message server
    DpHalt: sync with message server o.k.
    detach from message server
    ***LOG Q0M=> DpMsDetach, ms_detach () [dpxxdisp.c   11976]
    NiBufSend starting
    NiIWrite: hdl 2 sent data (wrt=110,pac=1,MESG_IO)
    MsINiWrite: sent 110 bytes
    MsIDetach: send logout to msg_server
    MsIDetach: call exit function
    DpMsShutdownHook called
    NiBufISelUpdate: new MODE -- (r-) for hdl 2 in set0
    SiSelNSet: set events of sock 1564 to: ---
    NiBufISelRemove: remove hdl 2 from set0
    SiSelNRemove: removed sock 1564 (pos=2)
    SiSelNRemove: removed sock 1564
    NiSelIRemove: removed hdl 2
    MBUF state OFF
    AdGetSelfIdentRecord: >                                                                           <
    AdCvtRecToExt: opcode 60 (AD_SELFIDENT), ser 0, ex 0, errno 0
    AdCvtRecToExt: opcode 40 (AD_MSBUF), ser 0, ex 0, errno 0
    AdCvtRecToExt: opcode 40 (AD_MSBUF), ser 0, ex 0, errno 0
    blks_in_queue/wp_ca_blk_no/wp_max_no = 1/20/7
    LOCK WP ca_blk 1
    make DISP owner of wp_ca_blk 1
    DpRqPutIntoQueue: put request into queue (reqtype 1, prio LOW, rq_id 13)
    MBUF component DOWN
    NiICloseHandle: shutdown and close hdl 2 / sock 1564
    NiBufIClose: clear extension for hdl 2
    MsIDetach: detach MS-system
    cleanup EM
    EsCleanup ....
    EmCleanup() -> 0
    Es2Cleanup: Cleanup ES2
    ***LOG Q05=> DpHalt, DPStop ( 1820) [dpxxdisp.c   10333]
    Good Bye .....

    <b>DEFAULT.PFL</b>
    [code]
    Template for ABAP DEFAULT.PFL
    SAPDBHOST = brmb2000
    SAPSYSTEMNAME = NSP
    SAPGLOBALHOST = brmb2000
    dbms/dbadminurl = http://brmb2000:9999/webdbm?Server=brmb2000&Database=NSP&User=control
    rdisp/bufrefmode = sendoff,exeoff
    SAP Messaging Service for ABAP
    rdisp/mshost = brmb2000
    rdisp/msserv = sapmsNSP
    rdisp/msserv_internal = 3900
    login/system_client = 000
    [/code]
    <b>NSP_DVEBMGS00_BRMB2000</b>
    [code]
    Template for ABAP SID_INSTANCE_HOST
    SAPSYSTEMNAME = NSP
    SAPGLOBALHOST = brmb2000
    SAPSYSTEM = 00
    INSTANCE_NAME = DVEBMGS00
    DIR_EXECUTABLE = C:\SAP\NSP\SYS\exe\run
    DIR_CT_RUN = C:\SAP\NSP\SYS\exe\run
    Instance runs without sapmnt saploc shares
    DIR_INSTANCE = C:\SAP\NSP\DVEBMGS00
    DIR_INSTALL = C:\SAP\NSP\SYS
    DIR_HOME = $(DIR_INSTANCE)\work
    DIR_GLOBAL = C:\SAP\NSP\SYS\global
    PHYS_MEMSIZE = 128
    rdisp/wp_no_dia = 3
    rdisp/wp_no_btc = 1
    icm/server_port_0 = PROT=HTTP,PORT=80$$
    SAP Messaging Service parameters are set in the DEFAULT.PFL
    ms/server_port_0 = PROT=HTTP,PORT=81$$
    rdisp/wp_no_enq = 1
    rdisp/wp_no_vb = 1
    rdisp/wp_no_spo = 1
    rdisp/enqname = brmb2000_NSP_00
    rdisp/myname = brmb2000_NSP_00
    abap/buffersize = 100000
    alert/MONI_SEGM_SIZE = 0
    enque/table_size = 2000
    rspo/local_print/method = 2
    rsdb/ntab/entrycount = 5000
    rsdb/ntab/ftabsize = 3000
    rsdb/ntab/sntabsize = 100
    rsdb/ntab/irbdsize = 1000
    rsdb/cua/buffersize = 500
    rsdb/obj/buffersize = 2048
    rsdb/obj/max_objects = 500
    rsdb/otr/buffersize_kb = 1000
    rsts/ccc/cachesize = 6000000
    rtbb/buffer_length = 500
    rtbb/max_tables = 50
    sap/bufdir_entries = 200
    zcsa/installed_languages = ED
    zcsa/presentation_buffer_area = 350000
    zcsa/calendar_area = 300000
    zcsa/table_buffer_area = 3000000
    zcsa/db_max_buftab = 500
    ztta/roll_area = 1000000
    ztta/diag_area = 128000
    ztta/dynpro_area = 150000
    ztta/cua_area = 250000
    rdisp/PG_SHM = 100
    rdisp/ROLL_SHM = 100
    rdisp/autoabaptime = 0
    rdisp/bufrefmode = sendoff,exeoff
    rdisp/wp_ca_blk_no = 20
    rdisp/appc_ca_blk_no = 20
    rdisp/max_wprun_time = 300
    icm/min_threads = 5
    icm/max_threads = 10
    icm/max_conn = 20
    icm/host_name_full = localhost
    mpi/total_size_MB = 10
    auth/new_buffering = 1
    sapgui/user_scripting = TRUE
    ssf/name = SAPSECULIB
    ssf/ssfapi_lib = $(DIR_CT_RUN)\sapsecu.dll
    sec/libsapsecu = $(DIR_CT_RUN)\sapsecu.dll
    login/create_sso2_ticket = 2
    login/accept_sso2_ticket = 1
    login/ticket_only_to_host = 1
    rsdb/dbid = NSP
    dbs/ada/schema = SAPNSP
    [/code]
    <b>START_DVEBMGS00_BRMB2000</b>
    [code]
    Template for ABAP START_INSTANCE_HOST
    SAPSYSTEMNAME = NSP
    SAPGLOBALHOST = brmb2000
    SAPSYSTEM = 00
    INSTANCE_NAME = DVEBMGS00
    DIR_PROFILE = C:\SAP\NSP\SYS\profile
    DIR_EXECUTABLE = C:\SAP\NSP\SYS\exe\run
    DIR_CT_RUN = C:\SAP\NSP\SYS\exe\run
    Instance runs without sapmnt saploc shares
    DIR_INSTANCE = C:\SAP\NSP\DVEBMGS00
    DIR_INSTALL = C:\SAP\NSP\SYS
    DIR_HOME = $(DIR_INSTANCE)\work
    DIR_GLOBAL = C:\SAP\NSP\SYS\global
    PF = $(DIRPROFILE)\NSP_DVEBMGS00_brmb2000
    Start ABAP database
    DB = $(DIRCT_RUN)\strdbs.cmd
    Start_Program_00 = immediate $(_DB) NSP
    Start SAP messaging service
    MS = $(DIREXECUTABLE)\msg_server$(FT_EXE)
    Start_Program_01 = local $(_MS) pf=$(_PF)
    Start application server
    DW = $(DIREXECUTABLE)\disp+work$(FT_EXE)
    Start_Program_02 = local $(_DW) pf=$(_PF)
    Start internet graphics server
    #_IG = $(DIR_EXECUTABLE)\igswd$(FT_EXE)
    #Start_Program_03 = local $(_IG) -mode=profile pf=$(_PF)
    rsdb/dbid = NSP
    dbs/ada/schema = SAPNSP
    [/code]
    <b>START_DVEBMGS00_BRMB2000.0</b>
    [code]# Template for ABAP START_INSTANCE_HOST
    SAPSYSTEMNAME = NSP
    SAPGLOBALHOST = brmb2000
    SAPSYSTEM = 00
    INSTANCE_NAME = DVEBMGS00
    DIR_PROFILE = C:\SAP\NSP\SYS\profile
    DIR_EXECUTABLE = C:\SAP\NSP\SYS\exe\run
    DIR_CT_RUN = C:\SAP\NSP\SYS\exe\run
    Instance runs without sapmnt saploc shares
    DIR_INSTANCE = C:\SAP\NSP\DVEBMGS00
    DIR_INSTALL = C:\SAP\NSP\SYS
    DIR_HOME = $(DIR_INSTANCE)\work
    DIR_GLOBAL = C:\SAP\NSP\SYS\global
    PF = $(DIRPROFILE)\NSP_DVEBMGS00_brmb2000
    Start ABAP database
    DB = $(DIRCT_RUN)\strdbs.cmd
    Start_Program_00 = immediate $(_DB) NSP
    Start SAP messaging service
    MS = $(DIREXECUTABLE)\msg_server$(FT_EXE)
    Start_Program_01 = local $(_MS) pf=$(_PF)
    Start application server
    DW = $(DIREXECUTABLE)\disp+work$(FT_EXE)
    Start_Program_02 = local $(_DW) pf=$(_PF)
    Start internet graphics server
    #_IG = $(DIR_EXECUTABLE)\igswd$(FT_EXE)
    #Start_Program_03 = local $(_IG) -mode=profile pf=$(_PF)
    rsdb/dbid = NSP
    dbs/ada/schema = SAPNSP
    [/code]
    <b>Services</b>
    [code]
    Copyright (c) 1993-1999 Microsoft Corp.
    This file contains port numbers for well-known services defined by IANA
    Format:
    <service name>  <port number>/<protocol>  [aliases...]   [#<comment>]
    echo                7/tcp
    echo                7/udp
    discard             9/tcp    sink null
    discard             9/udp    sink null
    systat             11/tcp    users                  #Active users
    systat             11/tcp    users                  #Active users
    daytime            13/tcp
    daytime            13/udp
    qotd               17/tcp    quote                  #Quote of the day
    qotd               17/udp    quote                  #Quote of the day
    chargen            19/tcp    ttytst source          #Character generator
    chargen            19/udp    ttytst source          #Character generator
    ftp-data           20/tcp                           #FTP, data
    ftp                21/tcp                           #FTP. control
    telnet             23/tcp
    smtp               25/tcp    mail                   #Simple Mail Transfer Protocol
    time               37/tcp    timserver
    time               37/udp    timserver
    rlp                39/udp    resource               #Resource Location Protocol
    nameserver         42/tcp    name                   #Host Name Server
    nameserver         42/udp    name                   #Host Name Server
    nicname            43/tcp    whois
    domain             53/tcp                           #Domain Name Server
    domain             53/udp                           #Domain Name Server
    bootps             67/udp    dhcps                  #Bootstrap Protocol Server
    bootpc             68/udp    dhcpc                  #Bootstrap Protocol Client
    tftp               69/udp                           #Trivial File Transfer
    gopher             70/tcp
    finger             79/tcp
    http               80/tcp    www www-http           #World Wide Web
    kerberos           88/tcp    krb5 kerberos-sec      #Kerberos
    kerberos           88/udp    krb5 kerberos-sec      #Kerberos
    hostname          101/tcp    hostnames              #NIC Host Name Server
    iso-tsap          102/tcp                           #ISO-TSAP Class 0
    rtelnet           107/tcp                           #Remote Telnet Service
    pop2              109/tcp    postoffice             #Post Office Protocol - Version 2
    pop3              110/tcp                           #Post Office Protocol - Version 3
    sunrpc            111/tcp    rpcbind portmap        #SUN Remote Procedure Call
    sunrpc            111/udp    rpcbind portmap        #SUN Remote Procedure Call
    auth              113/tcp    ident tap              #Identification Protocol
    uucp-path         117/tcp
    nntp              119/tcp    usenet                 #Network News Transfer Protocol
    ntp               123/udp                           #Network Time Protocol
    epmap             135/tcp    loc-srv                #DCE endpoint resolution
    epmap             135/udp    loc-srv                #DCE endpoint resolution
    netbios-ns        137/tcp    nbname                 #NETBIOS Name Service
    netbios-ns        137/udp    nbname                 #NETBIOS Name Service
    netbios-dgm       138/udp    nbdatagram             #NETBIOS Datagram Service
    netbios-ssn       139/tcp    nbsession              #NETBIOS Session Service
    imap              143/tcp    imap4                  #Internet Message Access Protocol
    pcmail-srv        158/tcp                           #PCMail Server
    snmp              161/udp                           #SNMP
    snmptrap          162/udp    snmp-trap              #SNMP trap
    print-srv         170/tcp                           #Network PostScript
    bgp               179/tcp                           #Border Gateway Protocol
    irc               194/tcp                           #Internet Relay Chat Protocol       
    ipx               213/udp                           #IPX over IP
    ldap              389/tcp                           #Lightweight Directory Access Protocol
    https             443/tcp    MCom
    https             443/udp    MCom
    microsoft-ds      445/tcp
    microsoft-ds      445/udp
    kpasswd           464/tcp                           # Kerberos (v5)
    kpasswd           464/udp                           # Kerberos (v5)
    isakmp            500/udp    ike                    #Internet Key Exchange
    exec              512/tcp                           #Remote Process Execution
    biff              512/udp    comsat
    login             513/tcp                           #Remote Login
    who               513/udp    whod
    cmd               514/tcp    shell
    syslog            514/udp
    printer           515/tcp    spooler
    talk              517/udp
    ntalk             518/udp
    efs               520/tcp                           #Extended File Name Server
    router            520/udp    route routed
    timed             525/udp    timeserver
    tempo             526/tcp    newdate
    courier           530/tcp    rpc
    conference        531/tcp    chat
    netnews           532/tcp    readnews
    netwall           533/udp                           #For emergency broadcasts
    uucp              540/tcp    uucpd
    klogin            543/tcp                           #Kerberos login
    kshell            544/tcp    krcmd                  #Kerberos remote shell
    new-rwho          550/udp    new-who
    remotefs          556/tcp    rfs rfs_server
    rmonitor          560/udp    rmonitord
    monitor           561/udp
    ldaps             636/tcp    sldap                  #LDAP over TLS/SSL
    doom              666/tcp                           #Doom Id Software
    doom              666/udp                           #Doom Id Software
    kerberos-adm      749/tcp                           #Kerberos administration
    kerberos-adm      749/udp                           #Kerberos administration
    kerberos-iv       750/udp                           #Kerberos version IV
    kpop             1109/tcp                           #Kerberos POP
    phone            1167/udp                           #Conference calling
    ms-sql-s         1433/tcp                           #Microsoft-SQL-Server
    ms-sql-s         1433/udp                           #Microsoft-SQL-Server
    ms-sql-m         1434/tcp                           #Microsoft-SQL-Monitor
    ms-sql-m         1434/udp                           #Microsoft-SQL-Monitor               
    wins             1512/tcp                           #Microsoft Windows Internet Name Service
    wins             1512/udp                           #Microsoft Windows Internet Name Service
    ingreslock       1524/tcp    ingres
    l2tp             1701/udp                           #Layer Two Tunneling Protocol
    pptp             1723/tcp                           #Point-to-point tunnelling protocol
    radius           1812/udp                           #RADIUS authentication protocol
    radacct          1813/udp                           #RADIUS accounting protocol
    nfsd             2049/udp    nfs                    #NFS server
    knetd            2053/tcp                           #Kerberos de-multiplexor
    man              9535/tcp                           #Remote Man Server
    #sapdp01  3201/tcp
    #sapmsBC1      3602/tcp
    #sapmsBC2        3600/tcp
    #sapmsBC3      3600/tcp
    #sapmsCR1         3671/tcp
    #sapmsCR2         3672/tcp
    #sapmsCR3         3673/tcp
    #sapmsCR4         3671/tcp
    sapmsNSP      3600/tcp
    sql6           7210/tcp
    sapdbni72          7269/tcp
    sql30           7200/tcp # SAP DB
    vmake           7792/tcp # SAP DB
    sapdp00 3200/tcp
    sapgw00     3300/tcp[/code]

  • Basis System: 2 possible network problems detected - check tracefile

    Hi Experts,
    I have installed a a Netweaver 7.01 when i start the server throught MMC
    first the dispatcher show the message as unable to reach teh message server
    but where as message server is running successfully.
    after few seconds it shows the status Stopped
    Below is my trace please help me to solve this issue.
    Thanks,
    Veeru.
    trc file: "dev_disp", trc level: 1, release: "700"
    sysno      00
    sid        NSP
    systemid   560 (PC with Windows NT)
    relno      7000
    patchlevel 0
    patchno    95
    intno      20050900
    make:      multithreaded, ASCII, optimized
    pid        3892
    Wed Jan 14 05:46:37 2009
    kernel runs with dp version 224(ext=109) (@(#) DPLIB-INT-VERSION-224)
    length of sys_adm_ext is 360 bytes
    SWITCH TRC-HIDE on ***
    ***LOG Q00=> DpSapEnvInit, DPStart (00 3892) [dpxxdisp.c   1239]
         shared lib "dw_xml.dll" version 95 successfully loaded
         shared lib "dw_xtc.dll" version 95 successfully loaded
         shared lib "dw_stl.dll" version 95 successfully loaded
         shared lib "dw_gui.dll" version 95 successfully loaded
         shared lib "dw_mdm.dll" version 95 successfully loaded
    rdisp/softcancel_sequence :  -> 0,5,-1
    use internal message server connection to port 3900
    Wed Jan 14 05:46:39 2009
    WARNING => DpNetCheck: NiHostToAddr(www.doesnotexist0121.qqq.nxst) took 2 seconds
    Wed Jan 14 05:46:44 2009
    WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 5 seconds
    ***LOG GZZ=> 2 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c  5355]
    MtxInit: 30000 0 0
    DpSysAdmExtInit: ABAP is active
    DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
    DpIPCInit2: start server >Veeru_NSP_00                            <
    DpShMCreate: sizeof(wp_adm)          6328     (904)
    DpShMCreate: sizeof(tm_adm)          3605136     (17936)
    DpShMCreate: sizeof(wp_ca_adm)          1200     (60)
    DpShMCreate: sizeof(appc_ca_adm)     1200     (60)
    DpCommTableSize: max/headSize/ftSize/tableSize=500/8/528040/528048
    DpShMCreate: sizeof(comm_adm)          528048     (1048)
    DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
    DpShMCreate: sizeof(slock_adm)          0     (96)
    DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
    DpShMCreate: sizeof(file_adm)          0     (72)
    DpShMCreate: sizeof(vmc_adm)          0     (1280)
    DpShMCreate: sizeof(wall_adm)          (22440/34344/56/100)
    DpShMCreate: sizeof(gw_adm)     48
    DpShMCreate: SHM_DP_ADM_KEY          (addr: 04ED0040, size: 4205552)
    DpShMCreate: allocated sys_adm at 04ED0040
    DpShMCreate: allocated wp_adm at 04ED1A28
    DpShMCreate: allocated tm_adm_list at 04ED32E0
    DpShMCreate: allocated tm_adm at 04ED3310
    DpShMCreate: allocated wp_ca_adm at 052435A0
    DpShMCreate: allocated appc_ca_adm at 05243A50
    DpShMCreate: allocated comm_adm at 05243F00
    DpShMCreate: system runs without slock table
    DpShMCreate: system runs without file table
    DpShMCreate: allocated vmc_adm_list at 052C4DB0
    DpShMCreate: allocated gw_adm at 052C4DF0
    DpShMCreate: system runs without vmc_adm
    DpShMCreate: allocated ca_info at 052C4E20
    DpShMCreate: allocated wall_adm at 052C4E28
    MBUF state OFF
    DpCommInitTable: init table for 500 entries
    Wed Jan 14 05:46:50 2009
    EmInit: MmSetImplementation( 2 ).
    MM global diagnostic options set: 0
    <ES> client 0 initializing ....
    <ES> InitFreeList
    <ES> block size is 1024 kByte.
    Using implementation view
    <EsNT> Memory Reset disabled as NT default
    ERROR => <EsNT> NTGetBaseAddress failed, no free region [esnti.c      1450]
    Error 15 while initializing OS dependent part.
    ERROR => DpEmInit: EmInit (1) [dpxxdisp.c   9556]
    ERROR => DpMemInit: DpEmInit (-1) [dpxxdisp.c   9485]
    DP_FATAL_ERROR => DpSapEnvInit: DpMemInit
    DISPATCHER EMERGENCY SHUTDOWN ***
    increase tracelevel of WPs
    NiWait: sleep (10000ms) ...
    NiISelect: timeout 10000ms
    NiISelect: maximum fd=1
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Jan 14 05:47:00 2009
    NiISelect: TIMEOUT occured (10000ms)
    dump system status
    Workprocess Table (long)               Tue Jan 13 21:47:00 2009
    ========================
    No Ty. Pid      Status  Cause Start Err Sem CPU    Time  Program  Cl  User         Action                    Table
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    0 ?         -1 Free          no      0   0             0                                                             
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    1 ?         -1 Free          no      0   0             0                                                             
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    2 ?         -1 Free          no      0   0             0                                                             
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    3 ?         -1 Free          no      0   0             0                                                             
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    4 ?         -1 Free          no      0   0             0                                                             
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    5 ?         -1 Free          no      0   0             0                                                             
    ERROR => DpRqTxt: bad rqtype -1 [dpxxrq.c     785]
    6 ?         -1 Free          no      0   0             0                                                             
    Dispatcher Queue Statistics               Tue Jan 13 21:47:00 2009
    ===========================
    --------++++--
    +
    Typ
    now
    high
    max
    writes
    reads
    --------++++--
    +
    NOWP
    0
    0
    2000
    0
    0
    --------++++--
    +
    DIA
    0
    0
    2000
    0
    0
    --------++++--
    +
    UPD
    0
    0
    2000
    0
    0
    --------++++--
    +
    ENQ
    0
    0
    2000
    0
    0
    --------++++--
    +
    BTC
    0
    0
    2000
    0
    0
    --------++++--
    +
    SPO
    0
    0
    2000
    0
    0
    --------++++--
    +
    UP2
    0
    0
    2000
    0
    0
    --------++++--
    +
    max_rq_id          0
    wake_evt_udp_now     0
    wake events           total     0,  udp     0 (  0%),  shm     0 (  0%)
    since last update     total     0,  udp     0 (  0%),  shm     0 (  0%)
    Dump of tm_adm structure:               Tue Jan 13 21:47:00 2009
    =========================
    Term    uid  man user    term   lastop  mod wp  ta   a/i (modes)
    Workprocess Comm. Area Blocks               Tue Jan 13 21:47:00 2009
    =============================
    Slots: 20, Used: 0, Max: 0
    --------++--
    +
    id
    owner
    pid
    eyecatcher
    --------++--
    +
    NiWait: sleep (5000ms) ...
    NiISelect: timeout 5000ms
    NiISelect: maximum fd=1
    NiISelect: read-mask is NULL
    NiISelect: write-mask is NULL
    Wed Jan 14 05:47:05 2009
    NiISelect: TIMEOUT occured (5000ms)
    DpHalt: shutdown server >Veeru_NSP_00                            < (normal)
    DpJ2eeDisableRestart
    Switch off Shared memory profiling
    ShmProtect( 57, 3 )
    ShmProtect(SHM_PROFILE, SHM_PROT_RW
    ShmProtect( 57, 1 )
    ShmProtect(SHM_PROFILE, SHM_PROT_RD
    DpWakeUpWps: wake up all wp's
    Stop work processes
    Terminate gui connections
    wait for end of work processes
    not attached to the message server
    cleanup EM
    EsCleanup ....
    EmCleanup() -> 0
    Es2Cleanup: Cleanup ES2
    Wed Jan 14 05:47:06 2009
    ***LOG Q05=> DpHalt, DPStop ( 3892) [dpxxdisp.c   10333]
    Good Bye .....

    Hi Eric,
    Actually in my NSP_DVEBMS00_VEERU thePHYS_MEMSIZE  is set to 128
    So.....
    Do i need to change in the here below file.....:
    If yes wht shall i change it to ?
    Template for ABAP SID_INSTANCE_HOST
    SAPSYSTEMNAME = NSP
    SAPGLOBALHOST = Veeru
    SAPSYSTEM = 00
    INSTANCE_NAME = DVEBMGS00
    DIR_EXECUTABLE = C:\SAP\NSP\SYS\exe\run
    DIR_CT_RUN = C:\SAP\NSP\SYS\exe\run
    Instance runs without sapmnt saploc shares
    DIR_INSTANCE = C:\SAP\NSP\DVEBMGS00
    DIR_INSTALL = C:\SAP\NSP\SYS
    DIR_HOME = $(DIR_INSTANCE)\work
    DIR_GLOBAL = C:\SAP\NSP\SYS\global
    PHYS_MEMSIZE = 128
    rdisp/wp_no_dia = 3
    rdisp/wp_no_btc = 1
    icm/server_port_0 = PROT=HTTP,PORT=80$$
    SAP Messaging Service parameters are set in the DEFAULT.PFL
    ms/server_port_0 = PROT=HTTP,PORT=81$$
    rdisp/wp_no_enq = 1
    rdisp/wp_no_vb = 1
    rdisp/wp_no_spo = 1
    rdisp/enqname = Veeru_NSP_00
    rdisp/myname = Veeru_NSP_00
    abap/buffersize = 100000
    alert/MONI_SEGM_SIZE = 0
    enque/table_size = 2000
    rspo/local_print/method = 2
    rsdb/ntab/entrycount = 5000
    rsdb/ntab/ftabsize = 3000
    rsdb/ntab/sntabsize = 100
    rsdb/ntab/irbdsize = 1000
    rsdb/cua/buffersize = 500
    rsdb/obj/buffersize = 2048
    rsdb/obj/max_objects = 500
    rsdb/otr/buffersize_kb = 1000
    rsts/ccc/cachesize = 6000000
    rtbb/buffer_length = 500
    rtbb/max_tables = 50
    sap/bufdir_entries = 200
    zcsa/installed_languages = ED
    zcsa/presentation_buffer_area = 350000
    zcsa/calendar_area = 300000
    zcsa/table_buffer_area = 3000000
    zcsa/db_max_buftab = 500
    ztta/roll_area = 1000000
    ztta/diag_area = 128000
    ztta/dynpro_area = 150000
    ztta/cua_area = 250000
    rdisp/PG_SHM = 100
    rdisp/ROLL_SHM = 100
    rdisp/autoabaptime = 0
    rdisp/bufrefmode = sendoff,exeoff
    rdisp/wp_ca_blk_no = 20
    rdisp/appc_ca_blk_no = 20
    rdisp/max_wprun_time = 300
    icm/min_threads = 5
    icm/max_threads = 10
    icm/max_conn = 20
    icm/host_name_full = localhost
    mpi/total_size_MB = 10
    auth/new_buffering = 1
    sapgui/user_scripting = TRUE
    ssf/name = SAPSECULIB
    ssf/ssfapi_lib = $(DIR_CT_RUN)\sapsecu.dll
    sec/libsapsecu = $(DIR_CT_RUN)\sapsecu.dll
    login/create_sso2_ticket = 2
    login/accept_sso2_ticket = 1
    login/ticket_only_to_host = 1
    rsdb/dbid = NSP
    dbs/ada/schema = SAPNSP

  • Does any one know how to change internet services in R/3

    Dear SDN,
      I am using 2 internet servicess with ITS.  PZ07 and PZ14.  Does anyone know of a how-to or other documentation on:
    a.  Copying the SAP version to a customer version i.e.ZPZ07
    b.  Changing what fields appear on what pages.
    c.  Changing the flow of the pages

    look here for R/3 > 6.20
    http://help.sap.com/saphelp_nw04/helpdata/en/4f/2e6a52c3cdc44d83169b181a9c62ba/frameset.htm
    a. you need access to the filesystem. Simply copy ITS templates and ABAP function modules.
    I dont know about the SAP@WebStudio, but it shoudl be also possible to use this for ITS templates.
    b. Its like HTML use <!-- comments --> to remove fields, if you want to add fields you should eb familiar with ITS
    c. this depneds if you use "ITS flow logic" or dynpro for flow control.
    BR,
    Oliver

  • WAD copy

    Hi all,
    how to copy a default template
    using abap program rs_template_maintain,
    where is it saved, where can i look at
    and also where are the default templates
    BC templates stored can i see them in metadata
    repository,
    Thanks

    Hi,
    Please don't post the same question again without closing out your previous post:
    to copy standard web template

  • Example of correct BAPI_BUS1077_CREATE call

    Hi!
    Does anybody know how to create a hazard calling this bapi ? I've tried several combinations but it always returns me several errors, for example, not enough parameters, required fields not filled,...
    If anybody could give me an example of its call (e.g. for the first level) i would appreciate it so much.
    Thanks!!
    Regards,
    Diana.

    *& Report  RC1_1077_BAPI_EXAMPLE_CHANGE
    *& On the one hand, this Report is an automatic test for the BAPI- functions.
    *& It performs different methods to create, edit and delete specifications and
    *& shows on a list, if any errors occured by performing the BAPI-functions.
    *& On the other hand, this report can be used as reference-code and tutorial for using
    *& the BAPI-functions.
    *& The here tested BAPI-functions are:
    *& Function                      Short description
    *& BAPI_BUS1077_CREATE           Creates a new specification or a property of an existing one
    *& BAPI_BUS1077_CHANGE           Changes properties of an existing specification
    *& BAPI_BUS1077_DELETE           Deletes a specification or single properties
    *& BAPI_TRANSACTION_COMMIT       Commits the work
    *& BAPI_BUS1077_SAVEFROMBUFFER   Clears locks and saves data from buffer to dictionary
    *& BAPI_BUS1077_GETDETAIL        Reads properties of existing specifications
    *& The following methods are relevant for you, if you need some information how to use
    *& these functions(detailed information about methods in their definitions):
    *& Method                        Short description                                        Used BAPI- functions
    *& class_setup                   Creates the two Test- specifications                     BAPI_BUS1077_CREATE; BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& class_teardown                Deletes the two Test- specifications                     BAPI_BUS1077_DELETE; BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_subheader         Changes data in the substance-header                     BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_comp              Changes the first component in the property              BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_ident             Changes the first identifier of a specification          BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_ident_usage       Changes the identifier usage of a specification          BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_prop_ftext        Changes the property ftext & longtext of a specification BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_prop_usage        Changes the first property usage of a specification      BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_ident_longtext    Changes the identifier longtext of a specification       BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_read_usage_filter        Assures that the usage filter is working properly        BAPI_BUS1077_GETDETAIL
    *& test_ref_subs                 Assure that specification referencescan be created       BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CREATE; BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_comp              Changes the first component in a property                BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_assessment        Changes the assessment of a value assignment             BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_change_prop_data         Changes the property data of a value assignment          BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_CHANGE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& test_del_ref                  Deletes all references of a specification                BAPI_BUS1077_GETDETAIL; BAPI_BUS1077_DELETE;  BAPI_TRANSACTION_COMMIT; BAPI_BUS1077_SAVEFROMBUFFER
    *& The following methods are "help- methods" with different functionalities:
    *& Method                        Short Description
    *& set_dis_tab                   Adds one row the the displayed error-table
    *& get_dis_tab                   Gets an error-table
    *& set_dis_wa                    Fills one row of an error-table
    *& set_dis_wa                    Gets one row of an error-table
    *& get_random_matnr              Gets a random matnr from dictionary
    *& get_random_source             Gets a random source from dictionary
    *& get_random_phrase             Gets a random source from dictionary (from given phrase selection set)
    *& write_table_to_list           Writes one table to display to list
    *& Important variables:
    *& Variable                      Short Description
    *& l_return_tab                  Table for the errors to occure in BAPI-functions
    *& l_dis_tab                     Error-table with data to display
    *&                               Fields: function, function-description, error-description, edited specification
    *& l_spec_key                    ID of the edited specification.
    *& !!! helpfull technical information for BAPI usage !!!
    *& Use F1-help for additional information.
    The field "format_flag" in table "bapi1077df" exists not in every system
    if the field doent exist, just delete the lines wich specify this data
    BAPI strctures for specification- data:
    additional information for function modules: addinf
    return table (errors):                       bapiret2
    specification header:                        bapi1077rh
    identifier header:                           bapi1077ri
    identifier Longtexts:                        bapi1077il
    sublist assignments:                         bapi1077rl
    property header:                             bapi1077vh
    property usage:                              bapi1077du
    property values:                             bapi1077va
    property assessments:                        bapi1077dr
    property components:                         bapi1077vp
    property data:                               bapi1077pr
    property freetexts:                          bapi1077df
    property longtexts:                          bapi1077fl
    property source:                             bapi1077ds
    Used BAPI- Functions (examples):
    All the tables for the data to set have to be prepared like
    in the used methods.
      Create new specification:
       CALL FUNCTION 'BAPI_BUS1077_CREATE'
         EXPORTING
           key_date                = addinf-valdat
           change_number           = addinf-aennr
           flg_header              = 'X'
           flg_ident               = 'X'
           flg_ident_longtext      = 'X'
           flg_ident_sublist       = 'X'
           flg_prop_usage          = 'X'
           flg_prop_header         = 'X'                          " These Flags specify the data to be edited
           flg_prop                = 'X'
           flg_prop_rel            = 'X'
           flg_prop_comp           = 'X'
           flg_prop_data           = 'X'
           flg_prop_ftext          = 'X'
           flg_prop_ftext_longtext = 'X'
         TABLES
           return                  = l_return_tab                " This table contains possible errors to occure
           sub_header              = l_sub_header_tab
           ident_header            = l_ident_header_tab
           ident_longtext          = l_ident_longtext_tab
           ident_sublist           = l_ident_sublist_tab
           prop_usage              = l_prop_usage_tab
           prop_header             = l_prop_header_tab            " These tables contain the data to set
           prop_val                = l_prop_val_tab
           prop_reliability        = l_prop_assess_tab
           prop_component          = l_prop_component_tab
           prop_data               = l_prop_data_tab
           prop_ftext              = l_prop_ftext_tab
           prop_ftext_longtext     = l_prop_ftext_longtext_tab.
        The following function works the same way:
        BAPI_BUS1077_DELETE (delete specification or single data from specification)
        Change specification data:
        CALL FUNCTION 'BAPI_BUS1077_CHANGE'
          EXPORTING
            flg_ident_usage = 'X'                                   " data to be changed
          TABLES
            return          = l_return_tab
            sub_header      = l_sub_header_tab
            ident_header    = l_ident_header_tab
            prop_usage      = l_prop_usage_tab                      " table with changed data
            prop_usagex     = l_prop_usagex_tab.                    " table to specifiy wich fields are changed
        After all these functions, the follwing two functions have
        to be executed to commit the work and write the data from
        the buffer to the dictionary (for details have a look at the used methods below):
        BAPI_TRANSACTION_COMMIT(always set the wait-flag!)
        BAPI_BUS1077_SAVEFROMBUFFER
        Exceptions are the following functions to read data from specifications
        and check if a specification exists.
        These functions usually stand alone without "commit" and "save":
        Get specification details:
        CALL FUNCTION 'BAPI_BUS1077_GETDETAIL'
          EXPORTING
            key_date        = addinf-valdat
            change_number   = addinf-aennr
            flg_header      = 'X'
            flg_ident       = 'X'
            flg_ident_usage = 'X'
            scenario        = '1'                   "specifies the way, the data are read (F1-help for details)
          TABLES
            return          = l_return_tab
            sub_header      = l_sub_header_tab
            ident_header    = l_ident_header_tab
            prop_usage      = l_prop_usage_tab.
        Check if a specification exists:
        CALL FUNCTION 'BAPI_BUS1077_EXISTENCECHECK'
          EXPORTING
            substanceid = l_spec_key                "The spec-Key, that is searched for
            key_date    = addinf-valdat
          TABLES
            return      = l_return_tab.
      Helpful methods:
      set_dis_tab:        Fills the error-table to display for each test-method
      get_random_matnr:   Selects a random material-id from the dictionary, to work with
      get_random_source:  Selects a random source-id.
      get_random_phrase:  Selects a random phrase from given selection-set
    report  rc1_1077_bapi_example_change.
    include cbui09.
    type-pools: espap.
    *&  Include           L1077P01
    *&  Include           LC1F2P03
    *&  EHS ABAP UNIT TEMPLATE BACKUP
    The methods with be called in this order:
    class_setup
        test1
        test2
    class_teardown
    *&       Class (Definition) lcl_aunit_template
           Template for ABAP Unit
    class lcl_bus1077_change_test definition.
      type-pools: espph.
      public section.
        class-methods:
        creates the two test-specifications with properties
          class_setup,
        deletes the two specifications
          class_teardown,
          test_change_comp,
    This test changes the first component in the property
    "Exact composition based on compound"
    Prerequisites: Created specification which
    has this property set. The test fails if the component's data
    was not changed properly.
    List of properties that are changed:
    COMPCAT     = 'EMULSIFIER'.
    OPLOWLIMIT  = '>'.
    LOW_LIMIT   = '0.15'.
    OPUPPLIMIT  = '<='.
    UPP_LIMIT   = '0.88'.
    AVG_VAL     = '0.88'.
    EXPONENT    = 'PPM'.
          test_change_ident,
    This test changes the first identifier of a specification
    Prerequisites: Created specification which
    has this property set. The test fails if the identifier
    was not changed properly.
    List of properties that are changed:
    ID_TYPE     = 'FRM'.
    ID_CATEGRY  = 'RAT'.
    LANGU       = 'E'.
    IDENTIFIER  = 'H2SO4'.
          test_change_ident_longtext,
    This test changes the identifier longtext of a specification
    Prerequisites: Created specification which
    has this property set. The test fails if the identifier longtext
    was not changed properly.
    List of properties that are changed:
    Four lines of the identifier longtext are changed:
      TEXT_LINE   = 'Changed long text for ABAP Unit (LINE 1).'.
      TEXT_LINE   = 'Changed long text for ABAP Unit (LINE 2).'.
      TEXT_LINE   = 'Changed long text for ABAP Unit (LINE 3).'.
      TEXT_LINE   = 'Changed long text for ABAP Unit (LINE 4).'.
          test_change_ident_usage,
    This test changes the identifier usage of a specification
    Prerequisites: Created specification which
    has this property set. The test fails if the identifier usage
    was not changed properly.
    List of properties that are changed:
    RATING      = 'PUBLIC'.
    VAL_AREA    = 'REG_WORLD'.
    EXCL_IND    = FALSE.
    ACT_IND     = TRUE.
          test_change_prop_usage,
    This test changes the first property usage of a specification
    Prerequisites: Created specification which
    has this property set. The test fails if the property usage
    was not changed properly.
    List of properties that are changed:
    RATING      = 'PUBLIC'.
    VAL_AREA    = 'REG_WORLD'.
    EXCL_IND    = FALSE.
    ACT_IND     = TRUE.
          test_change_subheader,
    This test changes the sub header of a specification
    Prerequisites: Created specification which
    has this property set. The test fails if the sub header
    was not changed properly.
    List of properties that are changed:
       SUBAUTHGRP = 'ALL'.
       NOTE = 'Changed note!'.
       SUBCHARACT = 'SUB_NOPOLY'.
          test_ref_subs,
    This test's purpose is to assure that specification references
    can be created successfully.
    Scenario:
    1. Create 2 specifications(one with property values set, the other without)
    2. Create a reference from the second spec to the first
    3. Verify that the specifications have at least one property which
    is the same - this will assure that the reference has been
    created successfully
    result: l_dis_tab_9
          test_change_prop_ftext,
    This test changes the property ftext & longtext of a specification
    Prerequisites: Created specification which
    has these properties set. The test fails if the UD longtext
    was not changed properly.
    List of properties that are changed:
    User defined text:
      USRDFNDTXT  = 'Changed user-defined text for ABAP Unit (LINE 1).'.
      FORMAT_FLAG = TRUE.
      UD_TXTTYPE  = 'RM'. " Remark
      LANGU       = 'EN'.
      LONG_TEXT   = TRUE.
    Four lines of the UD longtext are changed:
      TEXT_LINE   = 'Changed user-defined long text for ABAP Unit (LINE 1).'.
      TEXT_LINE   = 'Changed user-defined long text for ABAP Unit (LINE 2).'.
      TEXT_LINE   = 'Changed user-defined long text for ABAP Unit (LINE 3).'.
      TEXT_LINE   = 'Changed user-defined long text for ABAP Unit (LINE 4).'.
          test_change_assessment,
    This test changes the assessment of a value assignment
    Prerequisites: Created specification which:
    - Has the predefined dafault property set. The test fails if the property assessment
      don't change properly.
    - List of properties that are changed:
        ASSESSMENT = '2'.
          test_change_prop_data,
    This test changes the property data of a value assignment
    Prerequisites: Created specification which:
    - Has the predefined dafault property set. The test fails if the
    property data doesn't change properly.
    - Changed data:
        CHAR_VALUE  = <random phrase>.
       test_read_usage_filter,
    This test assures that the usage filter is working properly
    Prerequisites: Created specification which:
    - Has property usage set to PUBLIC/EU or PUBLIC/REG_WORLD.
    This test has two scenarios:
    1-st:
          Read the value assignments with filter which should not find
          any value assignments matching the criteria.
          Criteria: INTERNAL/REG_WORLD
    2-nd:
          Read the value assignments with filter which should find
          one value assignment matching the criteria.
          Criteria: PUBLIC/ES
       test_del_ref,
    This test deletes all references of a specification
    methods to edit the displayed table from l_return_tab
          set_dis_tab
            importing
              i_table      type bapiret2_t
              i_wa         type bapiret2
              i_meth       type c
              i_tab_flg    type c
              i_func       type c
              i_func_desc  type c
              i_spec_key   type c,
          get_dis_tab
            exporting
               e_dis_tab    type standard table,
          set_dis_wa
            importing
              i_meth_wa             type c
              i_func_wa             type c
              i_func_desc_wa        type c
              i_error_desc_wa       type c
              i_spec_key_wa         type c,
          get_dis_wa
            exporting
              e_meth_wa             type c
              e_func_wa             type c
              e_func_desc_wa        type c
              e_error_desc_wa       type c
              e_spec_key_wa         type c,
        Gets matnumber of a random Matrial in DIC-Table "MAKT"
          get_random_matnr
            exporting
              e_mat_nr        type c,
        Text of random source
          get_random_source
            exporting
              e_source        type c,
        Random Phrase-text for given phrase selection set
          get_random_phrase
            importing
              i_phrase_sel_set type c
            exporting
              e_phrase_id    type c,
          write_table_to_list
            importing
              i_method  type c
              i_dis_tab type standard table.
      private section.
      Class DATA:
        class-data: sub_header_tab type standard table of bapi1077rh,
                    sub_header_wa  like line of sub_header_tab.
        class-data: spec_key like sub_header_wa-substance,
                    spec_key_pre like sub_header_wa-substance.
        class-data  va_recn type eserecn.
        class-data: addinf type rcgaddinf.
        class-data: scenario type bapistdtyp-scenario.
        class-data: error_occured type i.
        class-data: int_error_occured type i.
        class-data: error_message2 type bapi_msg.
        class-data: error_type type bapi_mtype.
        class-data: error_section(100) type c.
      Internal table, for displayed information
        types:
          begin of l_dis_rec,
            meth(32)        type c,
            func(32)        type c,
            func_desc(64)   type c,
            error_desc(64)  type c,
            spec_key(12)    type c,
          end of l_dis_rec,
          l_dis_type type l_dis_rec.
        class-data:
          l_dis_tab  type table of l_dis_type,
          l_dis_wa     like line of l_dis_tab.
    endclass.                    "lcl_BUS1077_change_test  DEFINITIO
    *&       Global Data
    types:
          begin of lg_dis_rec,
            meth(32)        type c,
            func(32)        type c,
            func_desc(64)   type c,
            error_desc(64)  type c,
            spec_key(12)    type c,
          end of lg_dis_rec,
          lg_dis_type type lg_dis_rec.
    data:
      lg_dis_tab  type table of lg_dis_type,
      lg_dis_wa   like line of lg_dis_tab.
    Data for Dynpro
    data:
      ok_code like sy-ucomm,
    ALV-Grid for method test_cr_all_spec_dtls_bylrs
      g_container_1 type scrfname value 'BCALV_GRID_BAPI_EXPL',
      grid1  type ref to cl_gui_alv_grid,
      g_custom_container type ref to cl_gui_custom_container,
      lg_fcat_tab type lvc_t_fcat,
      lg_fcat_wa  like line of  lg_fcat_tab.
    *&       Prepare field catalogue for ALV-grids
    lg_fcat_wa-fieldname = 'METH'.
    lg_fcat_wa-inttype   = 'C'.
    lg_fcat_wa-outputlen = '32'.
    lg_fcat_wa-coltext   = text-007.
    lg_fcat_wa-seltext   = text-007.
    append lg_fcat_wa to lg_fcat_tab.
    lg_fcat_wa-fieldname = 'FUNC'.
    lg_fcat_wa-inttype   = 'C'.
    lg_fcat_wa-outputlen = '32'.
    lg_fcat_wa-coltext   = text-008.
    lg_fcat_wa-seltext   = text-008.
    append lg_fcat_wa to lg_fcat_tab.
    lg_fcat_wa-fieldname = 'FUNC_DESC'.
    lg_fcat_wa-inttype   = 'C'.
    lg_fcat_wa-outputlen = '64'.
    lg_fcat_wa-coltext   = text-009.
    lg_fcat_wa-seltext   = text-009.
    append lg_fcat_wa to lg_fcat_tab.
    lg_fcat_wa-fieldname = 'ERROR_DESC'.
    lg_fcat_wa-inttype   = 'C'.
    lg_fcat_wa-outputlen = '64'.
    lg_fcat_wa-coltext   = text-010.
    lg_fcat_wa-seltext   = text-010.
    append lg_fcat_wa to lg_fcat_tab.
    lg_fcat_wa-fieldname = 'SPEC_KEY'.
    lg_fcat_wa-inttype   = 'C'.
    lg_fcat_wa-outputlen = '12'.
    lg_fcat_wa-coltext   = text-011.
    lg_fcat_wa-seltext   = text-011.
    append lg_fcat_wa to lg_fcat_tab.
    *&       Execute methods and write result to list
    Execute methods...
    lcl_bus1077_change_test=>class_setup( ).
    lcl_bus1077_change_test=>test_change_subheader( ).
    lcl_bus1077_change_test=>test_change_ident( ).
    lcl_bus1077_change_test=>test_change_ident_usage( ).
    lcl_bus1077_change_test=>test_change_prop_ftext( ).
    lcl_bus1077_change_test=>test_change_prop_usage( ).
    lcl_bus1077_change_test=>test_change_ident_longtext( ).
    lcl_bus1077_change_test=>test_read_usage_filter( ).
    lcl_bus1077_change_test=>test_ref_subs( ).
    lcl_bus1077_change_test=>test_change_comp( ).
    lcl_bus1077_change_test=>test_change_assessment( ).
    lcl_bus1077_change_test=>test_change_prop_data( ).
    lcl_bus1077_change_test=>test_del_ref( ).
    lcl_bus1077_change_test=>class_teardown( ).
    ...get tables to display...
    lcl_bus1077_change_test=>get_dis_tab( importing e_dis_tab = lg_dis_tab ).
    *...and call Dynpro
    call screen 100.
    *&       Class (Definition) aunit_template
    class lcl_bus1077_change_test implementation.
      method class_setup.
    this method is called only once before all test methods
      Local DATA:
        data: addinf type rcgaddinf.
        data: l_sub_header_tab type standard table of bapi1077rh,
              l_sub_header_wa  like line of l_sub_header_tab,
              l_sub_header_pre_wa  like line of l_sub_header_tab.
        data: l_spec_key like l_sub_header_wa-substance,
              l_spec_key_pre like l_sub_header_wa-substance,
              l_spec_recn like l_sub_header_wa-record_no.
        data: l_ident_header_tab type standard table of bapi1077ri,
              l_ident_header_wa  like line of l_ident_header_tab.
        data: l_ident_recn like l_ident_header_wa-record_no.
        data: l_ident_longtext_tab type standard table of  bapi1077il,
              l_ident_longtext_wa like line of l_ident_longtext_tab.
        data: l_ident_sublist_tab type standard table of bapi1077rl,
              l_ident_sublist_wa like line of l_ident_sublist_tab.
        data: l_prop_usage_tab type standard table of bapi1077du,
              l_prop_usage_wa like line of l_prop_usage_tab.
        data: l_prop_usage_buf1 like l_prop_usage_wa,
              l_prop_usage_buf2 like l_prop_usage_wa.
        data: l_prop_header_tab type standard table of bapi1077vh,
              l_prop_header_wa  like line of l_prop_header_tab.
        data: l_prop_subchacat like l_prop_header_wa-subchacat.
        data: l_prop_val_tab type standard table of bapi1077va,
              l_prop_val_wa  like line of l_prop_val_tab.
        data  l_prop_val_recn like l_prop_val_wa-record_no.
        data: l_prop_assess_tab type standard table of bapi1077dr,
              l_prop_assess_wa like line of l_prop_assess_tab.
        data: l_prop_component_tab type standard table of bapi1077vp,
              l_prop_component_wa  like line of l_prop_component_tab.
        data: l_prop_data_tab type standard table of bapi1077pr,
              l_prop_data_wa  like line of l_prop_data_tab.
        data: l_prop_ftext_tab type standard table of bapi1077df,
              l_prop_ftext_wa like line of l_prop_ftext_tab.
        data  l_prop_ftext_recn like l_prop_ftext_wa-record_no.
        data: l_prop_ftext_longtext_tab type standard table of bapi1077fl,
              l_prop_ftext_longtext_wa like line of l_prop_ftext_longtext_tab.
        data: l_prop_source_tab type standard table of bapi1077ds,
              l_prop_source_wa like line of l_prop_source_tab.
        data: l_return_tab type standard table of bapiret2,
              l_return_wa  like line of l_return_tab.
        data: l_scenario type bapistdtyp-scenario.
        data: l_phrase_id(30)   type c,
              l_source_id(10) type c.
      1.1.  create a new SPECIFICATION HEADER (pre) & verify the creation
      prepare the a SPECIFICATION HEAD
        refresh l_sub_header_tab.
        clear l_sub_header_wa.
        addinf-valdat = '20070125'.   "key date 01/25/2007
        clear addinf-aennr.           "change number
        l_sub_header_wa-primarykey = 1. "int. key
        l_sub_header_wa-flgprimkey = true.
        l_sub_header_wa-subcategry = 'REAL_SUB'. "spec. category
        l_sub_header_wa-subauthgrp = 'ALL'.      "spec. auth. group
        append l_sub_header_wa to l_sub_header_tab.
      call the BAPI function module to create specification
        call function 'BAPI_BUS1077_CREATE'
          exporting
            key_date      = addinf-valdat
            change_number = addinf-aennr
            flg_header    = true
          tables
            return        = l_return_tab
            sub_header    = l_sub_header_tab.
      If errors occured, write them into l_dis_tab
        call method set_dis_tab
          exporting
            i_table     = l_return_tab
            i_wa        = l_return_wa
            i_meth      = 'class_setup'
            i_tab_flg   = true
            i_func      = 'BAPI_BUS1077_CREATE'
            i_func_desc = text-000
            i_spec_key  = l_sub_header_wa-substance.
      commit work
        clear l_return_wa.
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait   = true
          importing
            return = l_return_wa.
      If errors occured, write them into l_dis_tab
        call method set_dis_tab
          exporting
            i_table     = l_return_tab
            i_wa        = l_return_wa
            i_meth      = 'class_setup'
            i_tab_flg   = false
            i_func      = 'BAPI_TRANSACTION_COMMIT'
            i_func_desc = text-001
            i_spec_key  = l_sub_header_wa-substance.
      remove locks (according to note 732628)
        refresh l_return_tab.
        call function 'BAPI_BUS1077_SAVEFROMBUFFER'
          exporting
            flg_luw_close_for_bapi = true
          tables
            return                 = l_return_tab.
      If errors occured, write them into l_dis_tab
        call method set_dis_tab
          exporting
            i_table     = l_return_tab
            i_wa        = l_return_wa
            i_meth      = 'class_setup'
            i_tab_flg   = true
            i_func      = 'BAPI_BUS1077_SAVEFROMBUFFER'
            i_func_desc = text-002
            i_spec_key  = l_sub_header_wa-substance.
      prepare L_SUB_HEADER_TAB for BAPI_BUS1077_GETDETAIL
        read table l_sub_header_tab
             into l_sub_header_wa
             index 1
             transporting substance.
        l_spec_key_pre = l_sub_header_wa-substance.
        refresh l_sub_header_tab.
        clear l_sub_header_wa.
        l_sub_header_wa-substance = l_spec_key_pre.
        append l_sub_header_wa to l_sub_header_tab.
      set scenario
        add espap_scenario-header_disp to l_scenario.
      call the BAPI function module
        refresh l_return_tab.
        call function 'BAPI_BUS1077_GETDETAIL'
          exporting
            scenario      = l_scenario
            key_date      = addinf-valdat
            change_number = addinf-aennr
            flg_header    = true
          tables
            return        = l_return_tab
            sub_header    = l_sub_header_tab.
      clear buffer
        refresh l_return_tab.
        call function 'BAPI_BUS1077_CLEARBUFFER'
          tables
            return = l_return_tab.
      If errors occured, write them into l_dis_tab
        call method set_dis_tab
          exporting
            i_table     = l_return_tab
            i_wa        = l_return_wa
            i_meth      = 'class_setup'
            i_tab_flg   = true
            i_func      = 'BAPI_BUS1077_GETDETAIL'
            i_func_desc = text-003
            i_spec_key  = l_sub_header_wa-substance.
      read the newly cretated SUB. RECORD NUMBER
        read table l_sub_header_tab
          into l_sub_header_wa
          index 1
          transporting  record_no
                        substance.
        l_spec_recn = l_sub_header_wa-record_no.
        spec_key_pre = l_sub_header_wa-substance.
      2.1.  Prepare all specification detail data for new creation
      prepare the new SPECIFICATION HEADER
        refresh: l_sub_header_tab.
        clear l_sub_header_wa.
        addinf-valdat = '20070125'.   "key date 01/25/2007
        clear addinf-aennr.           "change number
        l_sub_header_wa-primarykey = 2. "int. key
        l_sub_header_wa-flgprimkey = true.
        l_sub_header_wa-subcategry = 'LIST_SUB'. "spec. category
        l_sub_header_wa-subauthgrp = 'ALL'.      "spec. auth. group
        append l_sub_header_wa to l_sub_header_tab.
      prepare the new IDENTIFIER HEADER
        refresh: l_ident_header_tab.
        clear l_ident_header_wa.
        l_ident_header_wa-primarykey  = 21. "int. key
        l_ident_header_wa-flgprimkey  = true.
        l_ident_header_wa-foreignkey  = l_sub_header_wa-primarykey.
        l_ident_header_wa-flgfrgnkey  = l_sub_header_wa-flgprimkey.
        l_ident_header_wa-id_type     = 'NAM'.  "ident.'s type
        l_ident_header_wa-id_categry  = 'PROD'. "ident.'s category
        l_ident_header_wa-langu       = 'E'.    "ident.'s language
        l_ident_header_wa-identifier  = 'Test for ABAP Unit'.   "#EC *
        append l_ident_header_wa to l_ident_header_tab.
        l_ident_header_wa-long_text   = true.
      prepare the IDENTIFIER LONGTEXT
        refresh: l_ident_longtext_tab.
        clear l_ident_longtext_wa.
        l_ident_longtext_wa-primarykey  = 211. "int. key
        l_ident_longtext_wa-flgprimkey  = true.
        l_ident_longtext_wa-foreignkey  = l_ident_header_wa-primarykey.
        l_ident_longtext_wa-flgfrgnkey  = l_ident_header_wa-flgprimkey.
        l_ident_longtext_wa-text_line   = 'Test long text for ABAP Unit (LINE 1).'. "#EC NOTEXT
        l_ident_longtext_wa-format_col  = '*'.
        l_ident_longtext_wa-loglockmod  = true.
        append l_ident_longtext_wa to l_ident_longtext_tab.
        l_ident_longtext_wa-primarykey  = 212. "int. key
        l_ident_longtext_wa-text_line   = 'Test long text for ABAP Unit (LINE 2).'. "#EC NOTEXT
        append l_ident_longtext_wa to l_ident_longtext_tab.
        l_ident_longtext_wa-primarykey  = 213. "int. key
        l_ident_longtext_wa-text_line   = 'Test long text for ABAP Unit (LINE 3).'. "#EC NOTEXT
        append l_ident_longtext_wa to l_ident_longtext_tab.
        l_ident_longtext_wa-primarykey  = 214. "int. key
        l_ident_longtext_wa-text_line   = 'Test long text for ABAP Unit (LINE 4).'. "#EC NOTEXT
        append l_ident_longtext_wa to l_ident_longtext_tab.
      prepare the IDENTIFIER SUBLIST
        refresh: l_ident_sublist_tab.
        clear l_ident_sublist_wa.
        l_ident_sublist_wa-primarykey  = 215. "int. key
        l_ident_sublist_wa-flgprimkey  = true.
        l_ident_sublist_wa-foreignkey  = l_ident_header_wa-primarykey.
        l_ident_sublist_wa-flgfrgnkey  = l_ident_header_wa-flgprimkey.
        l_ident_sublist_wa-valid_from  = '20070125'. "date 01/25/2007
        l_ident_sublist_wa-valid_to    = '20080125'. "date 01/25/2008
        l_ident_sublist_wa-sublist     = 'EINECS'.
        append l_ident_sublist_wa to l_ident_sublist_tab.
      prepare the IDENTIFIER USAGE
        refresh: l_prop_usage_tab.
        clear l_prop_usage_wa.
        l_prop_usage_wa-primarykey  = 216. "int. key
        l_prop_usage_wa-flgprimkey  = true.
        l_prop_usage_wa-foreignkey  = l_ident_header_wa-primarykey.
        l_prop_usage_wa-flgfrgnkey  = l_ident_header_wa-flgprimkey.
        l_prop_usage_wa-mastertabl  = 'ESTRI'.
        l_prop_usage_wa-rating      = 'PUBLIC'.
        l_prop_usage_wa-val_area    = 'REG_EU'.
        l_prop_usage_wa-excl_ind    = false.
        l_prop_usage_wa-act_ind     = true.
        append l_prop_usage_wa to l_prop_usage_tab.
      prepare the PROPERTY HEADER
        refresh: l_prop_header_tab.
        clear l_prop_header_wa.
        l_prop_header_wa-primarykey  = 22. "int. key
        l_prop_header_wa-flgprimkey  = true.
        l_prop_header_wa-foreignkey  = l_sub_header_wa-primarykey.
        l_prop_header_wa-flgfrgnkey  = l_sub_header_wa-flgprimkey.
        l_prop_header_wa-subchacat   = 'SAP_EHS_1012_015'. "Chemical Characterization
        append l_prop_header_wa to l_prop_header_tab.
      prepare the VALUE tab
        refresh: l_prop_val_tab.
        clear l_prop_val_wa.
        l_prop_val_wa-primarykey  = 221.
        l_prop_val_wa-flgprimkey  = true.
        l_prop_val_wa-foreignkey  = l_prop_header_wa-primarykey.
        l_prop_val_wa-flgfrgnkey  = l_prop_header_wa-flgprimkey.
        l_prop_val_wa-sequence    = 1.
        append l_prop_val_wa to l_prop_val_tab.
      prepare the VALUE ASSIGNMENT ASSESSMENT tab
        refresh: l_prop_assess_tab.
        clear l_prop_assess_wa.
        l_prop_assess_wa-primarykey  = 2211.
        l_prop_assess_wa-flgprimkey  = true.
        l_prop_assess_wa-foreignkey  = l_prop_val_wa-primarykey.
        l_prop_assess_wa-flgfrgnkey  = l_prop_val_wa-flgprimkey.
        l_prop_assess_wa-assessment  = '1'.
        append l_prop_assess_wa to l_prop_assess_tab.
      Get random phrase-text
        call method get_random_phrase
          exporting
            i_phrase_sel_set = 'SAP_EHS_1012_015_REMARK'
          importing
            e_phrase_id      = l_phrase_id.
      prepare the VALUE ASSIGNMENT DATA tab
        refresh: l_prop_data_tab.
        clear l_prop_data_wa.
        l_prop_data_wa-primarykey  = 2212.
        l_prop_data_wa-flgprimkey  = true.
        l_prop_data_wa-foreignkey  = l_prop_val_wa-primarykey.
        l_prop_data_wa-flgfrgnkey  = l_prop_val_wa-flgprimkey.
        l_prop_data_wa-char_value  = l_phrase_id.
        l_prop_data_wa-name_char    = 'SAP_EHS_1012_015_REMARK'. "Chemical Characterization
        l_prop_data_wa-oper_inc    = 0.
        append l_prop_data_wa to l_prop_data_tab.
      prepare the VALUE ASSIGNMENT COMPONENT tab
        refresh: l_prop_component_tab.
        clear l_prop_component_wa.
        l_prop_component_wa-primarykey  = 2213.
        l_prop_component_wa-flgprimkey  = true.
        l_prop_component_wa-foreignkey  = l_prop_val_wa-primarykey.
        l_prop_component_wa-flgfrgnkey  = l_prop_val_wa-flgprimkey.
        l_prop_component_wa-comproot    = l_spec_recn.
        l_prop_component_wa-compcat     = 'ACT_AGENT'.
        l_prop_component_wa-sequence    = 1.
        l_prop_component_wa-oplowlimit  = '>'.
        l_prop_component_wa-low_limit   = '0.55'.
        l_prop_component_wa-opupplimit  = '<='.
        l_prop_component_wa-upp_limit   = '0.88'.
        l_prop_component_wa-avg_val     = '0.88

Maybe you are looking for

  • Labels in script

    Hi experts,   I am facing  a problem in script Where labels in at line itmes not printed but the data correpondinmg to the line item gets printed . i have checked the print program and sub routine program  every thing seems to be fine . while debuggi

  • Referrals without host:port in LDAP url

    Hi, I have a data tree I want to replicate. The only way I can do it is to chop the tree out into different branches but I would like to keep a virtual tree for the applications that are currently working against my directory. I've created some new d

  • How can I import photos from iPhoto into a power point presentation

    I would like to take a group of photos from iphoto and import them into a power point(for mac) presentation- the PP for windows allows you to take a large number of pics and make a "photo album presentation" but can figure how to do it in Mac.

  • Where is safari download for 10.2.8?

    I have looked high and low and can't find a link to download safari only without the 10.2.8 update. Does it exist?

  • Adobe flash media live encoder not connecting to my server?

    Hi all,      I am working on streaming programs through "Adobe flash Media Live encoder" in my website.The steps that i done for streaming is     * Installed Adobe flash media live encoder     * In the FMS URL entered as  " rtmp://myserver ip/live "