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
-
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]
RegardsHi
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 -
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
SamSam,
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 MonteiroTry 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
KalleAfter 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 -
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
AndreasHello 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 TiwariHy,
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 -
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 pageslook 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 -
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,
ThanksHi,
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
-
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 "