Rounding in ABAP
How can i round off a value in ABAP Program and use it for further calculation
Option
... ROUND r
Effect
Scaled output of a field of type P.
The decimal point is first moved r places to the left ( r > 0) or to the right ( r < 0); this is the same as dividing with the appropriate exponent 10** r. The value determined in this way is output with the valid number of digits before and after the decimal point. If the decimal point is moved to the left, the number is rounded.
For further information about the interaction between the formatting options CURRENCY and DECIMALS, see the notes below.
Example
Effect of different ROUND specifications:
DATA: X TYPE P DECIMALS 2 VALUE '12493.97'.
WRITE: /X ROUND -2, "output: 1,249,397.00
/X ROUND 0, "output: 12,493.97
/X ROUND 2, "output: 124.94
/X ROUND 5, "output: 0.12
reward points to all helpful answers
kiran.M
Similar Messages
-
Creating ABAP proxy on a 6.2 system
I've been trying to get my head round how ABAP proxies work, and I've got as far as realising I need to create an ABAP proxy on a system running WAS 6.2.
The problem is that it doesn't seem to work - although SPROXY appears to be ok, there is apparently no way it can connnect to the Integration repository. Digging around in the code seems to reveal that it's somewhat out of date - it constructs the wrong url to get at the IFR for a start.
Is there something that's supposed to be installed so that SPROXY can communicate with the IFR on our XI system?Hi,
have u applied,
1) APPINT 200_620 patch
2) WebAs 6.20 kernel patch level 1253
Also u should configure ur SAP System to communicate with XI server.Check the followign program to test if your SAP system is configured preperly to connect to XI Server...?
1.Check/maintain with report: SPROX_CHECK_IFR_ADDRESS
2.Check with report SPROX_CHECK_HTTP_COMMUNICATION
3.Check with report SPROX_CHECK_IFR_RESPONSE
4.Check with report SPROX_CHECK_IFR_CONNECTION
By the way u can refer to the weblog.. creating ABAP Client Proxies in WebAs6.40 system.
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
Cheers,
Siva Maranani. -
How to round the fractional values in Abap webdynpro?
Hi Experts,
I have designed a screen in which I have a field called ANZHL(which is numberic field of infotype14) It is a fractional digits which needs to be rounded when it comes to display in my webdynpro application?
Here is my code .........
How to round the ANZHL field ?
**if start and end dates are changed then delete the old and insert the new else just mmodify the record
if ws_0014_temp-begda ne ws_edit-begda or ws_0014_temp-endda ne ws_edit-endda.
call function 'HR_INFOTYPE_OPERATION'
exporting
infty = '0014'
number = wd_this->w_pernr
subtype = ws_0014_temp-subty
objectid = ws_0014_temp-objps
lockindicator = ws_0014_temp-sprps
validityend = ws_0014_temp-endda
validitybegin = ws_0014_temp-begda
recordnumber = ws_0014_temp-seqnr
record = ws_0014_temp
operation = 'DEL'
nocommit = 'X'
importing
return = w_bapireturn.
" key = w_bapireturn.
if w_bapireturn-type ca 'EA'.
r_bapireturn = w_bapireturn.
return.
endif.
ws_0014 = ws_0014_temp.
ws_0014-endda = ws_edit-endda.
ws_0014-begda = ws_edit-begda.
ws_0014-anzhl = ws_edit-anzhl.
call function 'HR_INFOTYPE_OPERATION'
exporting
infty = '0014'
number = wd_this->w_pernr
subtype = ws_0014-subty
objectid = ws_0014-objps
lockindicator = ws_0014-sprps
validityend = ws_0014-endda
validitybegin = ws_0014-begda
recordnumber = ws_0014-seqnr
record = ws_0014
operation = 'INSS'
nocommit = 'X'
importing
return = w_bapireturn.
" key = w_bapireturn.
if w_bapireturn-type ca 'EA'.
r_bapireturn = w_bapireturn.
return.
endif.
else.
ws_0014 = ws_0014_temp.
ws_0014-anzhl = ws_edit-anzhl.
Edited by: Dharani us on Oct 8, 2009 10:15 AMHi,
For that attribute, you want to display the decimal values or what.
Regards,
Lekha. -
Rounding of a field in Internal table
Hi ,
I have a quantity field(menge) in an internal table( i_tab) . In a loop at the internal table(i_tab) , I want to round off the quantity to x decimal places . 'x' will be different for each record , depending on some logic.
Through what syntax do I achieve this ?
Regards,
SujataHI,
Using the write statment, you can write the addition DECIMALS d
<b>Effect</b>
d specifies the number of decimal places for a number field (type I , P or F ) in d . If this value is smaller than the number of decimal places in the number, the number is rounded. If the value is greater, the number is padded with zeros.
Since accuracy with floating point arithmetic is up to about 15 decimal places (see ABAP/4 number types ), up to 17 digits are output with floating point numbers (type F ). (In some circumstances, 17 digits are needed to differentiate between two neighboring floating point numbers.) If the output length is not sufficient, as many decimal places as possible are output. Negative DECIMALS specifications are treated as DECIMALS 0 .
<b>Example</b>
Effect of different DECIMALS specifications:
DATA: X TYPE P DECIMALS 3 VALUE '1.267',
Y TYPE F VALUE '125.456E2'.
WRITE: /X DECIMALS 0, "output: 1
/X DECIMALS 2, "output: 1.27
/X DECIMALS 5, "output: 1.26700
/Y DECIMALS 1, "output: 1.3E+04
/Y DECIMALS 5, "output: 1.25456E+04
/Y DECIMALS 20. "output: 1.25456000000000E+04
<b>and also you can use ROUND</b>
<b>Effect</b>
Scaled output of a field of type P .
The decimal point is first moved r places to the left ( r > 0) or to the right ( r < 0); this is the same as dividing with the appropriate exponent 10** r . The value determined in this way is output with the valid number of digits before and after the decimal point. If the decimal point is moved to the left, the number is rounded.
For further information about the interaction between the formatting options CURRENCY and DECIMALS , see the notes below.
&ABAP-EXAMPLE& Effect of different ROUND specifications:
DATA: X TYPE P DECIMALS 2 VALUE '12493.97'.
WRITE: /X ROUND -2, "output: 1,249,397.00
/X ROUND 0, "output: 12,493,97
/X ROUND 2, "output: 124.94
/X ROUND 5, "output: 0.12
So, in your Loop, use the WRITE TO statment to move the internal table data with the perfect decimal places for each single field in the loop
Regards
Sudheer -
Hi Experts,
I have a requirement to print: "Page XX of XX" in my ABAP List report (this report is meant to be printed).
For Current Page, I know that the system field is SY-PAGNO. But I can't find the field for Total Page. Is there anyway to print this (Total Page) since it means that we have to predict how long the report will be before we WRITE anything?
Thanks a lot,
SamIn the first statement of ur report u'll have to reserve some lines for footer as follows:
REPORT <prg name> LINE-COUNT 25(2).
here ur list will display 23 lines of data and then 2 lines are reserved for footer.
This means that in each page u can display 23 lines of text. Now depending on number of entries in your internal table which contains data to be displayed, we can calculate the number of pages required to print the total output.
E.g: I have 62 records in my internal table, so to get the total number of pages use the following logic:
(U can find out the number of recs in internal table dynamically using DESCRIBE stmt)
62/23 = 2.69
Round the result to the next integer using CEIL , so the next interger is 3.
So ur total number of pages is 3. And u now the current page number by sy-pagno.
Hope this solves ur problem. -
Hi All,
Im installing EHP6 on windows server 2008 r2 (VM ware 10). After getting past my initial problems, im stuck on step 21/29.
Create Instance. Im getting the attached error.
I can make out from this file that it is network related issue, but cannot find a solution to this. Can anybody please help me out?
Here are my trace files :
1. dev_disp:
trc file: "dev_disp", trc level: 1, release: "720"
sysno 00
sid IDS
systemid 562 (PC with Windows NT)
relno 7200
patchlevel 0
patchno 100
intno 20020600
make multithreaded, Unicode, 64 bit, optimized
profile \\VINEETABAP\sapmnt\IDS\SYS\profile\IDS_DVEBMGS00_VINEETABAP
pid 4508
kernel runs with dp version 131000(ext=118000) (@(#) DPLIB-INT-VERSION-131000-UC)
length of sys_adm_ext is 588 bytes
*** SWITCH TRC-HIDE on ***
***LOG Q00=> DpSapEnvInit, DPStart (00 4508) [dpxxdisp.c 1287]
shared lib "dw_xml.dll" version 100 successfully loaded
shared lib "dw_xtc.dll" version 100 successfully loaded
shared lib "dw_stl.dll" version 100 successfully loaded
shared lib "dw_gui.dll" version 100 successfully loaded
shared lib "dw_mdm.dll" version 100 successfully loaded
shared lib "dw_rndrt.dll" version 100 successfully loaded
shared lib "dw_abp.dll" version 100 successfully loaded
shared lib "dw_sym.dll" version 100 successfully loaded
shared lib "dw_aci.dll" version 100 successfully loaded
rdisp/softcancel_sequence : -> 0,5,-1
use internal message server connection to port 3900
rdisp/dynamic_wp_check : 1
rdisp/calculateLoadAverage : 1
Sun Aug 24 11:27:37 2014
*** ERROR => NiHLGetHostName: NiPGetHostByAddr failed (rc=-1) [nixxhl.cpp 495]
*** WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 6 seconds
***LOG GZZ=> 1 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c 6404]
MtxInit: 30000 0 0
DpSysAdmExtInit: ABAP is active
DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
DpIPCInit2: write dp-profile-values into sys_adm_ext
DpIPCInit2: start server >VINEETABAP_IDS_00 <
DpShMCreate: sizeof(wp_adm) 43024 (2264)
DpShMCreate: sizeof(tm_adm) 5517056 (27448)
DpShMCreate: sizeof(wp_ca_adm) 64000 (64)
DpShMCreate: sizeof(appc_ca_adm) 64000 (64)
DpCommTableSize: max/headSize/ftSize/tableSize=500/16/584064/584080
DpShMCreate: sizeof(comm_adm) 584080 (1144)
DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
DpShMCreate: sizeof(slock_adm) 0 (104)
DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
DpShMCreate: sizeof(file_adm) 0 (80)
DpShMCreate: sizeof(vmc_adm) 0 (2152)
DpShMCreate: sizeof(wall_adm) (41664/36752/64/192)
DpShMCreate: sizeof(gw_adm) 48
DpShMCreate: sizeof(j2ee_adm) 3952
DpShMCreate: SHM_DP_ADM_KEY (addr: 000000000F7D0050, size: 6368736)
DpShMCreate: allocated sys_adm at 000000000F7D0060
DpShMCreate: allocated wp_adm_list at 000000000F7D3040
DpShMCreate: allocated wp_adm at 000000000F7D3230
DpShMCreate: allocated tm_adm_list at 000000000F7DDA50
DpShMCreate: allocated tm_adm at 000000000F7DDAA0
DpShMCreate: allocated wp_ca_adm at 000000000FD209B0
DpShMCreate: allocated appc_ca_adm at 000000000FD303C0
DpShMCreate: allocated comm_adm at 000000000FD3FDD0
DpShMCreate: system runs without slock table
DpShMCreate: system runs without file table
DpShMCreate: allocated vmc_adm_list at 000000000FDCE770
DpShMCreate: system runs without vmc_adm
DpShMCreate: allocated gw_adm at 000000000FDCE820
DpShMCreate: allocated j2ee_adm at 000000000FDCE860
DpShMCreate: allocated ca_info at 000000000FDCF7E0
DpShMCreate: allocated wall_adm at 000000000FDCF870
DpCommAttachTable: attached comm table (header=000000000FD3FDD0/ft=000000000FD3FDE0)
DpSysAdmIntInit: initialize sys_adm
rdisp/test_roll : roll strategy is DP_NORMAL_ROLL
dia token check not active (10 token)
MBUF state OFF
DpCommInitTable: init table for 500 entries
DpRqQInit: keep protect_queue / slots_per_queue 0 / 2001 in sys_adm
rdisp/queue_size_check_value : -> on,50,30,40,500,50,500,80
EmInit: MmSetImplementation( 2 ).
MM global diagnostic options set: 0
<ES> client 0 initializing ....
<ES> InitFreeList
<ES> block size is 4096 kByte.
<ES> Info: em/initial_size_MB( 2047MB) not multiple of em/blocksize_KB( 4096KB)
<ES> Info: em/initial_size_MB rounded up to 2048MB
Sun Aug 24 11:27:38 2014
Using implementation view
<EsNT> Using memory model view.
<EsNT> Memory Reset disabled as NT default
<ES> 511 blocks reserved for free list.
ES initialized.
mm.dump: set maximum dump mem to 96 MB
DpVmcSetActive: set vmc state DP_VMC_NOT_ACTIVE
MPI: dynamic quotas disabled.
MPI init: pipes=4000 buffers=1279 reserved=383 quota=10%
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG CPS=> DpLoopInit, ICU ( 4.0.1 4.0.1 5.1) [dpxxdisp.c 1673]
Sun Aug 24 11:27:43 2014
*** ERROR => MsIAttachEx: NiBufConnect to VINEETABAP/3900 failed (rc=NIECONN_PENDING) [msxxi.c 718]
***LOG Q0L=> DpLoopInit, nomscon () [dpxxdisp.c 1774]
Sun Aug 24 11:27:58 2014
CCMS uses Shared Memory Key 73 for monitoring.
CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
Sun Aug 24 11:27:59 2014
CCMS: Initalized shared memory of size 60000000 for monitoring segment.
CCMS: Checking Downtime Configuration of Monitoring Segment.
Sun Aug 24 11:28:00 2014
CCMS: start to initalize 3.X shared alert area (first segment).
DpAppcBlksLow: max appc blocks in queue is 500 (50 %)
DpWpBlksLow: max wp blocks in queue is 800 (80 %)
Sun Aug 24 11:28:37 2014
*** ERROR => MsIAttachEx: NiBufConnect to VINEETABAP/3900 failed (rc=NIECONN_PENDING) [msxxi.c 718]
*** ERROR => DpHdlDeadWp: W0 (pid 5580) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W1 (pid 5328) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W2 (pid 4940) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W3 (pid 5824) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W4 (pid 2700) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W5 (pid 4052) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W6 (pid 5148) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W7 (pid 5932) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W8 (pid 4540) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W9 (pid 5616) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W10 (pid 3076) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W11 (pid 4592) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W12 (pid 164) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W13 (pid 1988) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W14 (pid 5400) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W15 (pid 5916) died (severity=0, status=0) [dpxxwp.c 1522]
*** ERROR => DpHdlDeadWp: W16 (pid 5464) died (severity=0, status=0) [dpxxwp.c 1522]
*** DP_FATAL_ERROR => DpWPCheck: no more work processes
*** DISPATCHER EMERGENCY SHUTDOWN ***
increase tracelevel of WPs
NiWait: sleep (10000ms) ...
NiISelect: timeout 10000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:47 2014
NiISelect: TIMEOUT occured (10000ms)
dump system status
Workprocess Table (long) Sun Aug 24 05:58:47 2014
========================
No Type Pid Status Cause Start Rstr Err Sem Time Program Cl User Action Table
0 DIA -1 Ended no no 1 0 0 NO_ACTION
1 DIA -1 Ended no no 1 0 0 NO_ACTION
2 DIA -1 Ended no no 1 0 0 NO_ACTION
3 DIA -1 Ended no no 1 0 0 NO_ACTION
4 DIA -1 Ended no no 1 0 0 NO_ACTION
5 DIA -1 Ended no no 1 0 0 NO_ACTION
6 DIA -1 Ended no no 1 0 0 NO_ACTION
7 DIA -1 Ended no no 1 0 0 NO_ACTION
8 DIA -1 Ended no no 1 0 0 NO_ACTION
9 DIA -1 Ended no no 1 0 0 NO_ACTION
10 UPD -1 Ended no no 1 0 0 NO_ACTION
11 ENQ -1 Ended no no 1 0 0 NO_ACTION
12 BTC -1 Ended no no 1 0 0 NO_ACTION
13 BTC -1 Ended no no 1 0 0 NO_ACTION
14 BTC -1 Ended no no 1 0 0 NO_ACTION
15 SPO -1 Ended no no 1 0 0 NO_ACTION
16 UP2 -1 Ended no no 1 0 0 NO_ACTION
Dispatcher Queue Statistics Sun Aug 24 05:58:47 2014
===========================
+------+--------+--------+--------+------------+------------+
| Typ | now | high | max | writes | reads |
+------+--------+--------+--------+------------+------------+
| NOWP | 0 | 2 | 2000 | 5 | 5 |
+------+--------+--------+--------+------------+------------+
| DIA | 2 | 2 | 2000 | 2 | 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 5
wake_evt_udp_now 0
wake events total 5, udp 4 ( 80%), shm 1 ( 20%)
since last update total 5, udp 4 ( 80%), shm 1 ( 20%)
DpGetLoadAverage: la1[1] = 0.000000 / -1.000000 %
DpGetLoadAverage: la5[1] = 0.000000 / -1.000000 %
DpGetLoadAverage: la15[1] = 0.011111 / -1.000000 %
Dispatcher Load Statistics
+------+---------+---------+---------+
| Typ | LA1 | LA5 | LA15 |
+------+---------+---------+---------+
| DIA | 0.000 | 0.000 | 0.011 |
+------+---------+---------+---------+
DpGetLoadAverage: la1[2] = 0.000000 / -1.000000 %
DpGetLoadAverage: la5[2] = 0.000000 / -1.000000 %
DpGetLoadAverage: la15[2] = 0.000000 / -1.000000 %
| UPD | 0.000 | 0.000 | 0.000 |
+------+---------+---------+---------+
DpGetLoadAverage: la1[3] = 0.000000 / -1.000000 %
DpGetLoadAverage: la5[3] = 0.000000 / -1.000000 %
DpGetLoadAverage: la15[3] = 0.000000 / -1.000000 %
| ENQ | 0.000 | 0.000 | 0.000 |
+------+---------+---------+---------+
DpGetLoadAverage: la1[4] = 0.000000 / -1.000000 %
DpGetLoadAverage: la5[4] = 0.000000 / -1.000000 %
DpGetLoadAverage: la15[4] = 0.000000 / -1.000000 %
| BTC | 0.000 | 0.000 | 0.000 |
+------+---------+---------+---------+
DpGetLoadAverage: la1[5] = 0.000000 / -1.000000 %
DpGetLoadAverage: la5[5] = 0.000000 / -1.000000 %
DpGetLoadAverage: la15[5] = 0.000000 / -1.000000 %
| SPO | 0.000 | 0.000 | 0.000 |
+------+---------+---------+---------+
DpGetLoadAverage: la1[6] = 0.000000 / -1.000000 %
DpGetLoadAverage: la5[6] = 0.000000 / -1.000000 %
DpGetLoadAverage: la15[6] = 0.000000 / -1.000000 %
| UP2 | 0.000 | 0.000 | 0.000 |
+------+---------+---------+---------+
Dump of tm_adm structure: Sun Aug 24 05:58:47 2014
=========================
Term uid man user term lastop mod wp ta a/i (modes)
RM-T19, U20, , , 11:28:00, M0, W-1, , 1/0
Workprocess Comm. Area Blocks Sun Aug 24 05:58:47 2014
=============================
Slots: 1000, Used: 0, Max: 0
+------+--------------+----------+-------------+
| id | owner | pid | eyecatcher |
+------+--------------+----------+-------------+
NiWait: sleep (5000ms) ...
NiISelect: timeout 5000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:52 2014
NiISelect: TIMEOUT occured (5000ms)
DpHalt: shutdown server >VINEETABAP_IDS_00 < (normal)
DpJ2eeDisableRestart
DpHalt: 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
DpHalt: stop work processes
DpHalt: stop gateway
killing process (1192) (SOFT_KILL)
*** ERROR => DpProcKill: kill failed [dpntdisp.c 397]
DpHalt: stop icman
killing process (4164) (SOFT_KILL)
DpHalt: terminate gui connections
send SHUTDOWN to REM TM 19
DpWpBlksLow: wp_blks_in_queue/limit/max = 0/800/1000
DpLockWpBlkEx: my wp blk start index is 0
DpLockWpBlkEx: lock wp ca_blk 0
return errno (-17) to T19
DpTmSend: errormsg without overhead: use mode 0
NiBufIAlloc: malloc NiBufadm, to 0 bytes
DpTmSend: try to send 14 bytes to T19/M0
NiBufSend starting
NiIWrite: hdl 18 sent data (wrt=14,pac=1,MESG_IO)
REL WP ca_blk 0
set status of T19 to TM_DISCONNECTED
NiBufISelUpdate: new MODE -- (r-) for hdl 18 in set0
SiSelNSet: set events of sock 428 to: ---
NiBufISelRemove: remove hdl 18 from set0
SiSelNRemove: removed sock 428 (pos=2)
SiSelNRemove: removed sock 428
NiSelIRemove: removed hdl 18
DpDelSocketInfo: del info for nihdl 18 (pos/type=2/3)
NiICloseHandle: shutdown and close hdl 18/sock 428
NiBufIClose: clear extension for hdl 18
dp_tm_adm[19].stat = DP_SLOT_FREE
DpGetSchedule: next schedule 1408859932/146000
DpGetSchedule: no schedule found
DpITmSlotRelease: release slot 19
DpListRemove: remove elem 19 from tmadm_inuse_list
DpListRemove: 19 elems in tmadm_inuse_list
DpListInsert: insert elem 19 into tmadm_free_list (at begin)
DpListInsert: 182 elems in tmadm_free_list
DpHalt: wait for end of work processes
DpHalt: wait for end of gateway
*** ERROR => [DpProcDied] Process died (PID:1192 HANDLE:1124 rc:0x1) [dpnttool2.c 147]
DpHalt: wait for end of icman
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:53 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:54 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:55 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:56 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:57 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:58 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:28:59 2014
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:4164 HANDLE:1132)
DpHalt: waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=1121
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Sun Aug 24 11:29:00 2014
NiISelect: TIMEOUT occured (1000ms)
*** ERROR => [DpProcDied] Process died (PID:4164 HANDLE:1132 rc:0x0) [dpnttool2.c 147]
DpHalt: not attached to the message server
DpHalt: cleanup EM
EsCleanup( )
EsCleanup ....
EmCleanup() -> 0
Es2Cleanup: Cleanup ES2
***LOG Q05=> DpHalt, DPStop ( 4508) [dpxxdisp.c 11252]
DpHalt: Good Bye .....I have a feeling you might have better luck posting this in the BASIS forum and not ABAP.
-
Commercial rounding for capital goods
Commercial rounding off of all duties
All the Duties are rounded up in PO & MIGO with some routing development through ABAP.
Now client requirement is that in case of capital goods
1. If suppose that in Capital Goods Cenvat is Rs. 45.00, in same year only 50% credit is available hence Rs. 22.50 i.e. after rounding off it is available to us 23.00 and in on hold account only Rs. 22.00 should be available, but present SAP system does not propose the same
2. If Value of Secondary Education Cess is Rs.1/- for capital goods then credit available in current year should be Rs.1/- & on hold account it should be Zero
Business is saying that it is statutory requirement as per Govt. Notification
How much Govt is firm on this rule & how other companies are achieving this using SAP?
Another Question is that While reversing CENVAT credit taken for capital goods without rejecting material (Only Duty reversal because credit wrongly taken)
We have to pass Excise JV through J1iH & reverse 100 % duty. STD procedure is that we have to transfer 50 % duty from Hold account to the RG23 C part 2 then reverse 100 % duty
But business is saying that it is wrong practice & against excise law .In this case how to handle CENVAT on Hold Account.
( I have Already used OB90 & routing Number 17 is working fine but not for above case )
Thanks
Edited by: sachin patil on Mar 10, 2009 7:00 AMDear sachin ,
As far as I see, there is no loss to the company,
1. you paid the vendor for the full excise amount
2. As a manufacturing unit you are liable to take 100% credit
3. IF you classify the material as capital goods as per your needs then take 50% now and 50% in next financial year
4. If Raw material take 100% credit
5. If the material has been mistakenly classified as C and first 50% credit availed, then to correct your operations you will have to take second 50% from J1IH then in that case you will have to clear all credit on hold from your original 50% credit entry & the J1IH entry, hence you will end up taking 100% credit.
In such conditions you can also opt for credit reversal through J1IH against the said part2 entry, & thenj create a fresh ID declaring material as raw material & take fresh 100% credit.Here also that second 50% from the on hold account would be required to be cleared.
Hope this helps,
Regards,
Akhileshwar K -
Rounding while goods receipt against outbound delivery
Hi Experts,
I have an issue regarding alternative unit of measure.
Material with base unit of measure FT,ordered unit is Meters since the alternate unit of measure has conversion factor getting decimal places while goods receipt against outbound delevry.
Is it possible to round off to nearest figure without decimals.At what level means PO,delivery,GR how we can round off.please advice with customization.
Thank you very much for your help.
Regards,
Babu
9930154536it is not possible to rounding of stock while GR through customizaton settings.
abap development is required to round off the stock. -
Change rounded quantity (VBEP-CMENG) in Sales order with FM
Hello,
In an ABAP program I want to change the rounded quantity of a scheduleline in a sales order using a function module. However with BAPI_SALES_ORDER_CHANGE or SD_SALESDOCUMENT_CHANGE in the input tables for schedulelines however the field for adjusting rounded quantity is not avalable.
Is there anybody who knows another solution to update the rounded quantity. Note i want to avoid to do a call transaction.... ))
TNXHi ..
Check your config. again or debug the routine code with your ABAPer and find the problem area.
-Maharshi -
File to Proxy Scenario using ABAP Class and DB Multi Connect
Hello Friends,
I have a scenario below and a proposed solution. I would like some input as to whether i am headed the right way.
Scenario: Thousands of records come in from the legacy accounting system. The fields of these records need to be mapped to SAP fields using cross-reference tables stored in DB2. Finally, summarize the records by deleting a few fields and feed to R/3.
Solution i proposed:
(1) File Adapter is used to send the file
(2) Although JDBC adapter comes first to mind but since i need to access the DB2 tables multiple times for each record i propose to use an ABAP class for the mapping. Within the ABAP class the intent is to open an database connection to DB2, read the relevant cross tables using native SQL and finally generate the output XML.
(3) Reciever is Proxy which feeds this generated XML to SAP for creating posting via BAPI_ACC_DOCUMENT_POST
Question: Is the above solution correct or is there a better method to implement this scenario?
Please let me know.
Thanks,
Minhaj.Looks fine. Few observations -
1. Whether it is ABAP class or Mapping in RFC lookup, you are making multiple trips to the database.
2. It looks like PI is being used only for reading the file and converting it to XML.
3. If using PI is not mandatory, then a complete ABAP class on ECC it self would be faster than swtching between PI Java, PI ABAP then round trips to DB2 finally data push to ECC.
If you could look at something like fetching all the required RFC look up data in one go and then map the fields according, might save u on processor and network resources.
VJ -
SAP Netweaver ABAP Trial - Running but Dialog Queue standstill
Dear all,
since today morning I am having troubles with the SAP Netweaver ABAP Trial version which has run now for over 6 months without any issues. The issues appeared suddenly and I didn't change anything to configuration / network. I am going through the forum now since a couple of hours and I have checked the following. I have read that the most common error is, that the log is full. Anyhow I have checked the log files.
1.) Logfiles: I can't see anything in the log file saying that something is wrong. Please find enclosed the log files DEV_DISP, DEV_W0 and DEV_MS:
DEV_DISP:
trc file: "dev_disp", trc level: 1, release: "720"
sysno 00
sid NSP
systemid 562 (PC with Windows NT)
relno 7200
patchlevel 0
patchno 201
intno 20020600
make multithreaded, Unicode, 64 bit, optimized
profile \\mwsrvsap\sapmnt\NSP\SYS\profile\NSP_DVEBMGS00_mwsrvsap
pid 3112
Sun Sep 07 12:04:00 2014
kernel runs with dp version 133000(ext=118000) (@(#) DPLIB-INT-VERSION-133000-UC)
length of sys_adm_ext is 588 bytes
*** SWITCH TRC-HIDE on ***
***LOG Q00=> DpSapEnvInit, DPStart (00 3112) [dpxxdisp.c 1315]
shared lib "dw_xml.dll" version 201 successfully loaded
shared lib "dw_xtc.dll" version 201 successfully loaded
shared lib "dw_stl.dll" version 201 successfully loaded
shared lib "dw_gui.dll" version 201 successfully loaded
shared lib "dw_mdm.dll" version 201 successfully loaded
shared lib "dw_rndrt.dll" version 201 successfully loaded
shared lib "dw_abp.dll" version 201 successfully loaded
shared lib "dw_sym.dll" version 201 successfully loaded
shared lib "dw_aci.dll" version 201 successfully loaded
rdisp/softcancel_sequence : -> 0,5,-1
use internal message server connection to port 3900
rdisp/dynamic_wp_check : 1
rdisp/calculateLoadAverage : 1
Sun Sep 07 12:04:04 2014
*** WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 4 seconds
***LOG GZZ=> 1 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c 6423]
MtxInit: 30000 0 0
DpSysAdmExtInit: ABAP is active
DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
DpIPCInit2: write dp-profile-values into sys_adm_ext
DpIPCInit2: start server >mwsrvsap_NSP_00 <
DpShMCreate: sizeof(wp_adm) 31696 (2264)
DpShMCreate: sizeof(tm_adm) 5517056 (27448)
DpShMCreate: sizeof(wp_ca_adm) 64000 (64)
DpShMCreate: sizeof(appc_ca_adm) 64000 (64)
DpCommTableSize: max/headSize/ftSize/tableSize=500/16/584064/584080
DpShMCreate: sizeof(comm_adm) 584080 (1144)
DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
DpShMCreate: sizeof(slock_adm) 0 (296)
DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
DpShMCreate: sizeof(file_adm) 0 (80)
DpShMCreate: sizeof(vmc_adm) 0 (2152)
DpShMCreate: sizeof(wall_adm) (41664/42896/64/192)
DpShMCreate: sizeof(gw_adm) 48
DpShMCreate: sizeof(j2ee_adm) 3952
DpShMCreate: SHM_DP_ADM_KEY (addr: 00000000079D0050, size: 6363600)
DpShMCreate: allocated sys_adm at 00000000079D0060
DpShMCreate: allocated wp_adm_list at 00000000079D3070
DpShMCreate: allocated wp_adm at 00000000079D3260
DpShMCreate: allocated tm_adm_list at 00000000079DAE40
DpShMCreate: allocated tm_adm at 00000000079DAE90
DpShMCreate: allocated wp_ca_adm at 0000000007F1DDA0
DpShMCreate: allocated appc_ca_adm at 0000000007F2D7B0
DpShMCreate: allocated comm_adm at 0000000007F3D1C0
DpShMCreate: system runs without slock table
DpShMCreate: system runs without file table
DpShMCreate: allocated vmc_adm_list at 0000000007FCBB60
DpShMCreate: system runs without vmc_adm
DpShMCreate: allocated gw_adm at 0000000007FCBC10
DpShMCreate: allocated j2ee_adm at 0000000007FCBC50
DpShMCreate: allocated ca_info at 0000000007FCCBD0
DpShMCreate: allocated wall_adm at 0000000007FCCC60
Sun Sep 07 12:04:05 2014
DpCommAttachTable: attached comm table (header=0000000007F3D1C0/ft=0000000007F3D1D0)
DpSysAdmIntInit: initialize sys_adm
rdisp/test_roll : roll strategy is DP_NORMAL_ROLL
dia token check not active (6 token)
MBUF state OFF
DpCommInitTable: init table for 500 entries
DpRqQInit: keep protect_queue / slots_per_queue 0 / 2001 in sys_adm
rdisp/queue_size_check_value : -> on,50,30,40,500,50,500,80
EmInit: MmSetImplementation( 2 ).
MM global diagnostic options set: 0
<ES> client 0 initializing ....
<ES> EsILock: use spinlock for locking
<ES> InitFreeList
<ES> block size is 4096 kByte.
<ES> Info: em/initial_size_MB( 8195MB) not multiple of em/blocksize_KB( 4096KB)
<ES> Info: em/initial_size_MB rounded up to 8196MB
Using implementation view
<EsNT> Using memory model view.
<EsNT> Memory Reset disabled as NT default
<ES> 2048 blocks reserved for free list.
ES initialized.
mm.dump: set maximum dump mem to 96 MB
DpVmcSetActive: set vmc state DP_VMC_NOT_ACTIVE
MPI: dynamic quotas disabled.
MPI init: pipes=4000 buffers=1279 reserved=383 quota=10%
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG CPS=> DpLoopInit, ICU ( 4.0.1 4.0.1 5.1) [dpxxdisp.c 1701]
***LOG Q0K=> DpMsAttach, mscon ( mwsrvsap) [dpxxdisp.c 12467]
MBUF state LOADING
DpStartStopMsg: send start message (myname is >mwsrvsap_NSP_00 <)
DpStartStopMsg: start msg sent
CCMS uses Shared Memory Key 73 for monitoring.
CCMS: Initalized shared memory of size 60000000 for monitoring segment.
CCMS: Checking Downtime Configuration of Monitoring Segment.
CCMS: AlMsUpload called by wp 1024.
Sun Sep 07 12:04:06 2014
CCMS: AlMsUpload successful for C:\usr\sap\NSP\DVEBMGS00\log\ALMTTREE.DAT (657 MTEs).
CCMS: start to initalize 3.X shared alert area (first segment).
DpMBufHwIdSet: set Hardware-ID
***LOG Q1C=> DpMBufHwIdSet [dpxxmbuf.c 1296]
MBUF state ACTIVE
DpWpBlksLow: max wp blocks in queue is 800 (80 %)
MBUF component UP
DpMsgProcess: 1 server in MBUF
DpAppcBlksLow: max appc blocks in queue is 500 (50 %)
DEV_W0:
trc file: "dev_w0", trc level: 1, release: "720"
* ACTIVE TRACE LEVEL 1
* ACTIVE TRACE COMPONENTS all, MJ
M sysno 00
M sid NSP
M systemid 562 (PC with Windows NT)
M relno 7200
M patchlevel 0
M patchno 201
M intno 20020600
M make multithreaded, Unicode, 64 bit, optimized
M profile \\mwsrvsap\sapmnt\NSP\SYS\profile\NSP_DVEBMGS00_mwsrvsap
M pid 3208
M
M kernel runs with dp version 133000(ext=118000) (@(#) DPLIB-INT-VERSION-133000-UC)
M length of sys_adm_ext is 588 bytes
M ***LOG Q0Q=> tskh_init, WPStart (Workp. 0 3208) [dpxxdisp.c 1377]
I MtxInit: 30000 0 0
M DpSysAdmExtCreate: ABAP is active
M DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
M DpIPCInit2: read dp-profile-values from sys_adm_ext
M DpShMCreate: sizeof(wp_adm) 31696 (2264)
M DpShMCreate: sizeof(tm_adm) 5517056 (27448)
M DpShMCreate: sizeof(wp_ca_adm) 64000 (64)
M DpShMCreate: sizeof(appc_ca_adm) 64000 (64)
M DpCommTableSize: max/headSize/ftSize/tableSize=500/16/584064/584080
M DpShMCreate: sizeof(comm_adm) 584080 (1144)
M DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
M DpShMCreate: sizeof(slock_adm) 0 (296)
M DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
M DpShMCreate: sizeof(file_adm) 0 (80)
M DpShMCreate: sizeof(vmc_adm) 0 (2152)
M DpShMCreate: sizeof(wall_adm) (41664/42896/64/192)
M DpShMCreate: sizeof(gw_adm) 48
M DpShMCreate: sizeof(j2ee_adm) 3952
M DpShMCreate: SHM_DP_ADM_KEY (addr: 00000000100C0050, size: 6363600)
M DpShMCreate: allocated sys_adm at 00000000100C0060
M DpShMCreate: allocated wp_adm_list at 00000000100C3070
M DpShMCreate: allocated wp_adm at 00000000100C3260
M DpShMCreate: allocated tm_adm_list at 00000000100CAE40
M DpShMCreate: allocated tm_adm at 00000000100CAE90
M DpShMCreate: allocated wp_ca_adm at 000000001060DDA0
M DpShMCreate: allocated appc_ca_adm at 000000001061D7B0
M DpShMCreate: allocated comm_adm at 000000001062D1C0
M DpShMCreate: system runs without slock table
M DpShMCreate: system runs without file table
M DpShMCreate: allocated vmc_adm_list at 00000000106BBB60
M DpShMCreate: system runs without vmc_adm
M DpShMCreate: allocated gw_adm at 00000000106BBC10
M DpShMCreate: allocated j2ee_adm at 00000000106BBC50
M DpShMCreate: allocated ca_info at 00000000106BCBD0
M DpShMCreate: allocated wall_adm at 00000000106BCC60
M DpCommAttachTable: attached comm table (header=000000001062D1C0/ft=000000001062D1D0)
M DpRqQInit: use protect_queue / slots_per_queue 0 / 2001 from sys_adm
M
M Sun Sep 07 12:04:06 2014
M rdisp/queue_size_check_value : -> on,50,30,40,500,50,500,80
X EmInit: MmSetImplementation( 2 ).
X MM global diagnostic options set: 0
X <ES> client 0 initializing ....
X <ES> EsILock: use spinlock for locking
X Using implementation view
X <EsNT> Using memory model view.
M <EsNT> Memory Reset disabled as NT default
X ES initialized.
X mm.dump: set maximum dump mem to 96 MB
M DpVmcSetActive: set vmc state DP_VMC_NOT_ACTIVE
M ThStart: taskhandler started
M ThInit: initializing DIA work process W0
M
M Sun Sep 07 12:04:08 2014
M ThInit: running on host mwsrvsap
M
M Sun Sep 07 12:04:10 2014
M calling db_connect ...
B Loading DB library 'C:\usr\sap\NSP\DVEBMGS00\exe\dbsdbslib.dll' ...
B Library 'C:\usr\sap\NSP\DVEBMGS00\exe\dbsdbslib.dll' loaded
B Version of 'C:\usr\sap\NSP\DVEBMGS00\exe\dbsdbslib.dll' is "720.00", patchlevel (0.201)
C
C DBSDBSLIB : version 720.00, patch 0.201 (Make PL 0.201)
C MAXDB shared library (dbsdbslib) patchlevels (last 10)
C (0.201) Take care of warnings during database connect (note 1600066)
C (0.117) Define a primary key on the temp tables for R3szchk (note 1606260)
C (0.114) Support of MaxDB 7.8 and 7.9 (note 1653058)
C (0.103) Close all lob locators at end of the transaction (note 1626591)
C (0.101) Fix for unknown table __TABLE_SIZES_ (R3szchk) (note 1619504)
C (0.098) Use filesystem counter for R3szchk (note 1606260)
C (0.092) Secondary connection to HANA (note 1481256)
C (0.089) UPDSTAT with SAPSYSTEMNAME longer as 3 characters (note 1584921)
C (0.081) No UPSERT on WBCROSSGT (note 1521468)
C (0.080) New feature batch streaming (note 1340617)
C
C
C Loading SQLDBC client runtime ...
C SQLDBC Module : C:\sapdb\clients\NSP\pgm\libSQLDBC77.dll
C SQLDBC SDK : SQLDBC.H 7.9.7 BUILD 010-123-243-190
C SQLDBC Runtime : libSQLDBC 7.9.7 BUILD 010-123-243-190
C SQLDBC client runtime is MaxDB 7.9.7.010 CL 243190
C SQLDBC supports new DECIMAL interface : 1
C SQLDBC supports VARIABLE INPUT data : 1
C SQLDBC supports VARIABLE OUTPUT data : 1
C SQLDBC supports Multiple Streams : 1
C SQLDBC supports LOB LOCATOR KEEPALIVE : 1
C SQLDBC supports LOB LOCATOR COPY : 1
C SQLDBC supports BULK SELECT with LOBS : 1
C SQLDBC supports BATCH STREAM : 1
C INFO : SQLOPT= -I 0 -t 0 -S SAPR3
C Try to connect (DEFAULT) on connection 0 ...
C Attach to SAP DB : Kernel 7.9.07 Build 010-123-243-190
C Database release is SAP DB 7.9.07.010
C INFO : Database 'NSP' instance is running on 'mwsrvsap'
C DB supports UPSERT SQL syntax : 1
C DB supports new EXPAND syntax : 1
C DB supports LOB locators : 1
C DB uses MVCC support : 0
C DB max. input host variables : 2000
C DB max. statement length : 65535
C UPSERT is disabled for : WBCROSSGT
C INFO : SAP DB Packet_Size = 131072
C INFO : SAP DB Min_Reply_Size = 4096
C INFO : SAP DB Comm_Size = 126976
C INFO : DBSL buffer size = 126976
C INFO : SAP DB MaxLocks = 300000
C INFO : Connect to DB as 'SAPNSP'
C Command info enabled
C Now I'm connected to MaxDB
C 00: mwsrvsap-NSP, since=20140907120410, ABAP= <unknown> (0)
B Connection 0 opened (DBSL handle 0)
C INFO : SAP RELEASE (DB) = 731
M ThInit: db_connect o.k.
M
M Sun Sep 07 12:04:11 2014
M ICT: exclude compression: *.zip,*.rar,*.arj,*.z,*.gz,*.tar,*.lzh,*.cab,*.hqx,*.ace,*.jar,*.ear,*.war,*.css,*.pdf,*.gzip,*.uue,*.bz2,*.iso,*.sda,*.sar,*.gif,*.png,*.swc,*.swf
DEV_MS:
trc file: "dev_ms", trc level: 1, release: "720"
[Thr 3092] Sun Sep 07 12:03:56 2014
[Thr 3092] ms/http_max_clients = 500 -> 500
[Thr 3092] MsSSetTrcLog: trc logging active, max size = 52428800 bytes
systemid 562 (PC with Windows NT)
relno 7200
patchlevel 0
patchno 101
intno 20020600
make multithreaded, Unicode, 64 bit, optimized
pid 3088
[Thr 3092] ***LOG Q01=> MsSInit, MSStart (Msg Server 1 3088) [msxxserv.c 2278]
[Thr 3092] load acl file = C:\usr\sap\NSP\SYS\global\ms_acl_info.DAT
[Thr 3092] MsGetOwnIpAddr: my host addresses are :
[Thr 3092] 1 : [10.0.0.225] mwsrvsap.local (HOSTNAME)
[Thr 3092] 2 : [127.0.0.1] mwsrvsap (LOCALHOST)
[Thr 3092] 3 : [10.10.0.10] mwsrvsap (NILIST)
[Thr 3092] MsHttpInit: full qualified hostname = mwsrvsap
[Thr 3092] HTTP logging is switch off
[Thr 3092] set HTTP state to LISTEN
[Thr 3092] *** HTTP port 8100 state LISTEN ***
[Thr 3092] *** I listen to internal port 3900 (3900) ***
[Thr 3092] *** HTTP port 8100 state LISTEN ***
[Thr 3092] CUSTOMER KEY: >V1901974459<
[Thr 3092] build version=720.2011.10.26
2.) So I installed the SAP MaxDB Database Manager in order to check the logs and do an archiving. But here seems to be the issue - I can not see the NSP Database instance (see attached screenshot). But how can this be? The log file say that the db connection is ok?
3.) What is really strange to me is the Syslog in the management console --> see log3.png. Why does it say work process in reconnect status?
Does anybody have an idea how to solve this issue? Help is really appreciated and points will be rewarded.
Best regards
MaikThank you first of all for your answer.
I tried to do so, but in the MaxDB Database Manager I can add the db instance, but I am not able to connect to it (service is running). -
ABAP/4 Keywords for all SAP R/3 Versions
Hello Experts,
Is there any DB Table available in Data Dictionary where all these ABAP/4 Keywords available; if yes do please let me know if not available then do please provide me with all ABAP/4 Keywords of all versions of SAP R/3 if possible
points will be awarded if helpful.
Thanks in AdvanceHello Arif,
There no particular table to check all the key words in ABAP.
To check system fields Go for
Se11-- SYST.
TO get the key words go to ABAPDOCU- type ur required key word in the search given in the last section.
The best option would be to debug ABAPDOCU, when you do a click on Keywords
Or Check the Pooled table : TSE05
As you must be knowing ABAPDOCU is in SABAPDOCU Package.....!!
There are a number of tables used; like ABTREE,etc !
Explore and find whether you can get some clue!
Find the keywords here...
Keywords Description
, [, ], {, } Syntax conventions, Syntax notation
*, " Comments
** Arithm. Operator: Exponentiation (COMPUTE)
+, -, *, / Arithmetical operators (COMPUTE)
->, =>, ->>, ~, ?= Operators in ABAP Objects
ABS Mathematical function: Absolute amount COMPUTE)
ACOS Mathematical function: Cosine arc (COMPUTE)
ADD Add
ADD-CORRESPONDING Field string addition
ADJACENT DUPLICATES Delete duplicates from internal table (DELETE)
AND Comparison operator: and
ANY TABLE Generic table type for internal tables
APPEND Append line to internaltable
ASIN Mathematical function: Sine arc (COMPUTE)
ASSIGN Assign field symbol
AT Event, control break, field group determination
ATAN Mathematical function: Tangent arc
AUTHORITY-CHECK Check authorization
AVG Aggregate expression: Average (SELECT)
BACK Positioning in list
BETWEEN Relational operator: Between
BINARY SEARCH Binary read of internaltable (READ TABLE)
BIT-NOT Bit calculation operator: NOT (COMPUTE)
BIT-AND Bit calculation operator: AND (COMPUTE)
BIT-OR Bit calculation operator: OR (COMPUTE)
BIT-XOR Bit calculation operator: AND/OR (COMPUTE)
SET BIT Set bit of an X field
GET BIT Read bit of an X field
BLANK LINES Switch on blank lines in list
BREAK-POINT Stop processing in debug mode
C Data type for fixed-length character string
CA Contains any characters -Relational operator forstring comparison
CALL Call external component
CASE Begin case distinction
CATCH Exception handling (catch runtime errors)
CEIL Mathematical function: Smallest whole value
CENTERED Output format: Centered(WRITE)
CHECK Check condition
CHECKBOX Display as checkbox
PARAMETERS ... AS CHECKBOX on the selection screen
WRITE ... AS CHECKBOX in a list
CLASS Definition of a class
CLASS-DATA Static attributes in classes
CLASS-METHODS Static methods in classes
CLASS-EVENTS Static events in classes
CLASS-POOL Introduction for type Kprograms
CLEAR Initialize data object
CLIENT Client handling when
DELETE ... CLIENT SPECIFIED deleting from a database
EXPORT ... TO DATABASE ... CLIENT Storing a data cluster
IMPORT ... FROM DATABASE ... CLIENT Reading a data cluster
EXPORT ... TO SHARED BUFFER ... CLIENT Storing a data cluster
IMPORT ... FROM SHARED BUFFER ... CLIENT Reading a data cluster
INSERT ... CLIENT SPECIFIED inserting into a database
MODIFY ... CLIENT SPECIFIED Insert/Modify in database(s)
SELECT ... CLIENT SPECIFIED reading from a database
UPDATE ... CLIENT SPECIFIED updating a database
CLOSE Close file/cursor
CN Contains Not Only - Relational operator for character comparison:
CNT Field groups: Number ofdifferent values
CO Contains Only - Relational operator for character comparison:
CODE PAGE Character set
TRANSLATE ... FROM/TOCODE PAGE Translate character codes
COLLECT Internal table: Add entries
COLOR Output format: Color (FORMAT)
COMMENT Comment on selection screen
SELECTION-SCREEN COMMENT Generate comment
COMMIT Close processing unit
COMMUNICATION Data exchange
COMPUTE Perform calculations
CONCATENATE Concatenate character fields
CONDENSE Condense character fields
CONSTANTS Defing constants
CONTEXTS Communicate contexts
CONTINUE Exit current loop pass
CONTROLS Define controls for visualization
CONVERT Convert fields
COS Mathematical function: Cosine (COMPUTE)
COSH Mathematical function: Hyperbola cosine (COMPUTE)
COUNT Aggregate expression: Count (SELECT)
COUNTRY Set country ID (SET)
CP Relational operator forcharacter comparison:
DATABASE Contains Pattern
CREATE Generate an object or data object
CS Contains character - Relational operator forcharacter comparison
CURRENCY Output format: Correct format for currency (WRITE)
CURSOR Cursor
CLOSE Close database cursor
FETCH NEXT CURSOR Read lines with a database cursor
GET CURSOR FIELD Get field name
OPEN CURSOR Open database cursor
SET CURSOR Position cursor
CUSTOMER-FUNCTION Call customer enhancement
DATA Define data
DATABASE Data cluster
DELETE FROM DATABASE Delete from a database table
EXPORT ... TO DATABASE Store in a databasetable
IMPORT ... FROM DATABASE Read from a database table
DATASET Sequential file
CLOSE DATASET Close file
DELETE DATASET Delete file
EXPORT ... TO DATASET Store data cluster in file
IMPORT ... FROM DATASET Read data cluster from file
OPEN DATASET Open file Open file
READ DATASET Read from a file
TRANSFER Output to a file
DECIMALS Output format: Places after the decimal point - (WRITE)
DEFINE Define macro
DELETE Delete from tables or from objects
DEMAND Request information from a context
DESCRIBE Determine attributes ofdata objects
DIALOG Call a dialog module (CALL)
DISTINCT Duplicates
SELECT DISTINCT Selection set without duplicates
AVG( DISTINCT ... ) Average without duplicates (SELECT)
COUNT( DISTINCT ... ) Sequential file
MAX( DISTINCT ... ) Maximum without duplicates (SELECT)
MIN( DISTINCT ... ) Minimum without duplicates (SELECT)
SUM( DISTINCT ... ) Sum without duplicates (SELECT)
DIV Arithmetic operator: Whole number division
DIVIDE Divide
DIVIDE-CORRESPONDINGField string division Field string division
DO Loop
DYNPRO Screen Screen
DELETE DYNPRO Delete Delete
EXPORT DYNPRO Export Export
GENERATE DYNPRO Generate Generate
IMPORT DYNPRO Import Import
SYNTAX-CHECK FOR DYNPRO Check Check
EDITOR-CALL Call editor
ELSE Query
ELSEIF Query
END-OF-DEFINITION End of a macro definition
END-OF-PAGE Event: End of page handling in lists
END-OF-SELECTION Event: After processingof all records in a LDB
ENDAT End of an event introduced by AT
ENDCASE End of case distinction
ENDCATCH End of exception handling
ENDDO End of a DO loop
ENDEXEC End of a Native SQL statement
ENDFORM End of a subroutine
ENDFUNCTION End of a function module
ENDIF End of a query
ENDINTERFACE End of an interface definition
ENDLOOP End of a LOOP
ENDMODULE End of a module definition
ENDON End of a conditional statement
ENDPROVIDE End of a PROVIDE loop
ENDSELECT End of a SELECT loop
ENDWHILE End of a WHILE loop
EQ Relational operator: Equals
EXEC SQL Native SQL statement
EXIT Exit loop or terminate processing
EXP Mathematical function: Exponential function
EXPONENT Output format: Exponentdisplay (WRITE)
EXPORT Export data
EXTENDED CHECK Switch extended syntax check on/off (SET)
EXTRACT Generate extract dataset
FETCH Read line from a database table
FIELD-GROUPS Define field groups
FIELD-SYMBOLS Define field symbols
FLOOR Mathematical function:Largest whole value
FORM Define subroutine
FORMAT Output format for lists
FOR UPDATE Read database table with lock (SELECT)
FRAC Mathematical function: Fraction (COMPUTE)
FREE Release resources no longer needed
FUNCTION Define function module
CALL FUNCTION Call function module
FUNCTION-POOL Introduction for type Fprograms
GE Relational operator: Greater than or equal
GENERATE Generate a program or screen
GET Event, read settings
GT Relational operator: Greater than
HASHED TABLE Table type for internalhashed tables
HEADER LINE Define an internal table with header line (DATA)
HELP-ID Help ID for F1 help
DESCRIBE FIELD ... HELP-ID Determine help ID
HELP-REQUEST Self-programmed help (F1)
PARAMETERS ... HELP-REQUEST for parameters
SELECT-OPTIONS ... HELP-REQUEST for selection options
HIDE Store line information
HOTSPOT Output format: Hotspot,interaction by simple - mouse click (FORMAT)
ICON Icons in lists
IF Query
IMPORT Import data or a screen
IN Relational operator: Selection criterion
INCLUDE Include program components
INDEX Line index in an internal table
INDEX TABLE
DELETE ... INDEX Delete line
INSERT ... INDEX Insert line
MODIFY ... INDEX Modify line
READ TABLE ... INDEX Read line
INFOTYPES Declare HR info type
INITIAL Relational operator: Initial value
INITIAL SIZE Define an internal table type (TYPES)
INITIALIZATION Event: Before display of the selection screen
INPUT Output format: Ready for input (FORMAT)
INSERT Insert into tables or objects
INTENSIFIED Output format: Intensified (FORMAT)
INTERFACE Definition of an interface
INTERFACES Class component interface
INTERFACE-POOL Introduction fortype J programs
INVERSE Output format: Inverse (FORMAT)
IS Relational operator
IS ASSIGNED Relational operator: Is the field symbol assigned?
IS INITIAL Relational operator: Initial value
IS REQUESTED Relational operator: Existence of a formal
parameter
JOIN Join (SELECT)
LANGUAGE Set language for text elements (SET)
LE Relational operator: Less than or equal
LEAVE Leave processing
LEFT-JUSTIFIED Output format: Left-justified (WRITE)
LIKE Use an existing field as areference
TYPES ... LIKE Create a type
DATA ... LIKE Create a field
LINE Line in a list
MODIFY LINE Modify line
READ LINE Read line
LINE-COUNT Number of lines per page (NEW-PAGE)
LINE-SIZE Line size (NEW-PAGE)
LIST-PROCESSING List processing (LEAVE)
LOAD Load program componentsin internal table
LOAD-OF-PROGRAM Execution at load time
LOCAL Rescue actual parameters of a subroutine
LOCAL COPY Assign local copy to a field symbol
LOCALE Set text environment (SET)
SET LOCALE Set text environment
GET LOCALE Determine text environment
LOG Mathematical function: Natural logarithm (COMPUTE)
Logical condition
SELECT ... WHERE when reading database tables
UPDATE ... WHERE when changing database tables
DELETE ... WHERE when deleting fromdatabase tables
SELECT ... FROM ... ON when reading usinga join
LOG10 Mathematical function: Base 10 logarithm (COMPUTE)
LOOP Loop
LT Relational operator: Less than
M Relational operator: Byte contains zeros and ones
MARGIN List output: Distance from edge (SET)
MATCHCODE Matchcode handling
PARAMETERS ... MATCHCODE for parameters
SELECT-OPTIONS ... MATCHCODE for selection options
MAX Aggregate expression: Maximum (SELECT)
MEMORY ABAP/4 memory
EXPORT ... TO MEMORY Roll out data to memory
IMPORT ... FROM MEMORY Restore data from memory
MESSAGE Output message
MESSAGE-ID Specify message class (REPORT)
METHOD Definition of a method
METHODS Class component method
MIN Aggregate expression: Minimum (SELECT)
MOD Arithmetic operator: Remainder after division
(COMPUTE)
MODIFY Modify tables or objects
MODULE Flow logic: Module
MOVE Assignment
MOVE-CORRESPONDING Component-by-component assignment
MULTIPLY Multiply
MULTIPLY-CORRESPONDING Field string multiplication
NA Relational operator forcharacter comparison:
Contains not any characters
NE Relational operator: Not equal
NEW-LINE List processing: New line
NEW-PAGE List processing: New page
NODES Interface work area forlogical databases
NO-GAP Output format: Leave nogaps (WRITE)
NO-HEADING Display no column headers (NEW-PAGE)
NO-SCROLLING Do not scroll line (NEW-LINE)
NO-SIGN Output format: No preceding signs (WRITE)
NO-TITLE Do not display standardpage header (NEW-PAGE)
NO-ZERO Output format: No leading zeros (WRITE)
NON-UNIQUE Defines an
TYPES internal table type
DATA internal table object
NP Relational operator forcharacter comparison:
Does not contain pattern
NS Relational operator forcharacter comparison:
Does not contain character
O Relational operator: Byte positions occupied by1
OBJECT External object
CREATE OBJECT Generate
FREE OBJECT Release
OCCURS Defines an
TYPES internal table type
DATA internal table object
ON CHANGE Control break
OPEN Open file/cursor
OR Relational operator: OR
ORDER BY Sort table rows (SELECT)
OVERLAY Overlay character fields
PACK Conversion
PARAMETER Parameter in global SAP memory
GET Read parameter
SET Set parameter
PARAMETERS Define report parameters
PERFORM Execute subroutine
PF-STATUS Set GUI status
POSITION List processing: Defineoutput position
PRINT Print formatting (NEW-PAGE)
PRINT-CONTROL Define print format
PRIVATE Class area not visible from outside
PROGRAM Introduction for type Mand S programs
LEAVE PROGRAM Leave program
PROPERTY Object property
GET PROPERTY Get property
SET PROPERTY Set property
PROVIDE Internal tables: Interval-related processing
PUT Trigger event
RADIOBUTTON Radio button (PARAMETERS)
RAISE Raise exceptions and events
RAISING Raise error message in function module
RANGES Define internal table for selection criterion
READ Read tables or objects
RECEIVE Receive results (RFC)
REFRESH Delete internal table
REFRESH CONTROL Initialize control
REJECT Do not process current database line further
REPLACE Replace characters
REPORT Introduction for type 1programs
DELETE REPORT Delete program
EDITOR-CALL FOR REPORT Call ABAP program editor
INSERT REPORT Insert program in library
READ REPORT Read program
RESERVE List processing: Conditional new page
RESET Output format: Reset all formats (FORMAT)
RIGHT-JUSTIFIED Output format: Right justified (WRITE)
ROLLBACK Roll back database changes
ROUND Output format: Scaled (WRITE)
RTTI Runtime type identification
RUN TIME ANALYZER Activate/Deactivate runtime analysis (SET)
SCAN Analyze ABAP/4 source code
SCREEN Screen
CALL SCREEN Call screen
SET SCREEN Set next screen
LEAVE SCREEN Leave screen
LEAVE TO SCREEN Branch to a screen
LOOP AT SCREEN Loop through screen fields
MODIFY SCREEN Modify screen fields
SCROLL List processing: Scroll
SCROLL-BOUNDARY List processing: Fix lead columns (SET)
SEARCH Find character
SELECT Read database table
SELECT-OPTIONS Define selection criterion
SELECTION-SCREEN Design selection screen
AT SELECTION-SCREENEvent: After editing ofselection screen
SHARED BUFFER Cross-transaction application buffer
DELETE FROM SHARED BUFFER delete from application buffer
EXPORT ... TO SHARED BUFFER Store data in application buffer
IMPORT ... FROM SHARED BUFFER Read data from application buffer
SELECTION-TABLE Selection table (SUBMIT)
SET Set different processing parameters
SHIFT Move character
SIGN Mathematical function: Sign (COMPUTE)
SIN Mathematical function: Sine (COMPUTE)
SINGLE Select single record (SELECT)
SINH Mathematical function: Hyperbola sine (COMPUTE)
SKIP List processing: Outputblank line
SORT Sort internal table or extract dataset
SORTED TABLE Table type for internaltables that are always kept
SPLIT Split character fields
SQRT Mathematical function: Square root (COMPUTE)
STANDARD TABLE Table type for standardinternal tables
START-OF-SELECTION Event: Before first access to LDB
STATICS Define static data
STOP Stop data selection (LDB)
STRING Data type for variable-length character sequence
STRLEN Character function: Current length (COMPUTE)
STRUCTURE Data structure
INCLUDE STRUCTURE Use structure
SUBMIT Program call
SUBTRACT Subtract
SUBTRACT-CORRESPONDING Field string subtraction
SUM Calculate control total
SELECT ... SUM Aggregate expression: Total
SUPPLY Supply context key fields
SUPPRESS DIALOG Suppress dialog
SYMBOL Output as symbol (WRITE)
SYNTAX-CHECK Syntax check for programs and screens
SYNTAX-TRACE Syntax check log
SYSTEM-CALL Call to various system services
SYSTEM-EXCEPTIONS Catch runtime errors (CATCH)
TABLE LINE Unstructured lines in internal tables
TABLE_LINE Unstructured lines in internal tables
TABLES Declare database table
TABLE Set or array operations for database tables
DELETE ... FROM TABLE Delete block of lines
INSERT ... FROM TABLE Insert block of lines
MODIFY ... FROM TABLE Insert/update block of lines
UPDATE ... FROM TABLE Update block of lines
SELECT ... INTO TABLE Copy block of lines to internal table
TAN Mathematical function: Tangent (COMPUTE)
TANH Mathematical function: Hyperbola tangent (COMPUTE)
TEXT Locale-specific
CONVERT TEXT Set format
SORT itab AS TEXT Sort an internal table
SORT AS TEXT Sort an extract dataset
TEXTPOOL Text elements
DELETE TEXTPOOL Delete
INSERT TEXTPOOL Insert
READ TEXTPOOL Read
TIME Time measurement
GET RUN TIME Get runtime
GET TIME Get time
SET RUN TIME ANALYZER Switch runtime analysison/off
TIME STAMP Time stamp
GET TIME STAMP Get time stamp
CONVERT TIME STAMP Convert time stamps to date/time
WRITE f TIME ZONE Output of time stamps to lists
TITLEBAR Set screen title (SET)
TOP-OF-PAGE Event: Top of page handling in lists
TRANSACTION SAP transaction
CALL TRANSACTION Call
LEAVE TO TRANSACTION Leave to
TRANSFER Output to file
TRANSLATE Character conversion incharacter fields
TRANSPORTING Selective field transport
MODIFY ... TRANSPORTING Modify lines of an internal table
READ ... TRANSPORTING Read lines of an internal table
LOOP ... TRANSPORTING Loop through an internal table
TRUNC Mathematical function: Whole number part (COMPUTE)
TYPE Define a type
TYPES ... TYPE Define a type
DATA ... TYPE Define a field
TYPE-POOL Introduction for type Tprograms
TYPE-POOLS Include type group
TYPES Define types
ULINE List processing: Underscore
UNDER Output format: One under the other (WRITE)
UNIQUE Define an
TYPES internal table type
DATA internal table object
UNIT Output format: Unit (WRITE)
UNPACK Conversion
UPDATE Update database table
USER-COMMAND List processing: Execute command immediately (SET)
USING Use parameter or format
USING Parameter of a subroutine
USING EDIT MASK Output format: Use template (WRITE)
VALUE-REQUEST Self-programmed value help(F4)
PARAMETERS ... VALUE-REQUEST for parameters
SELECT-OPTIONS ... VALUE-REQUEST for selection options
WHEN Case distinction
SELECT ... WHERE when reading from databasetables
UPDATE ... WHERE when changing database tables
DELETE ... WHERE when deleting database tables
LOOP AT ... WHERE when looping at internal tables
DELETE ... WHERE when deleting from internal tables
WHILE Loop
WINDOW List processing: Outputin window
WITH-TITLE Output standard page header (NEW-PAGE)
WORK Processing unit
COMMIT WORK Close unit
ROLLBACK WORK Close unit, but undo changes
WRITE List processing: Output
WRITE TO Correct type output in a variable
X Data type for fixed-length byte sequence
XSTRING Data type for variable-length byte sequence
Z Relational bit operator: Bit positions occupiedby
Regards
Sasidhar Reddy Matli. -
Documentation of the interaction of components in ABAP - applications
Hello,
I am developing on an ERP 6.0 system with ABAP , ABAP-OO, business objects, workflow.
Now there are a lot of different components used, i.e. function modules, classes, business objects, dynpros.
I am looking for a way to document how all these components interact.
Ok, you can use PowerPoint to draw charts or use excel-tables, but these means aren't integrated into SAP.
So it is only a matter of time when the documents will be old and no longer up to date.
How do you make such documentation, is the visual composer a possible tool?
Best would be a tool, that offers the possibility to model the interactions in advance.
Has anyone an idea?
thanks in advance,
DirkHello Dirk
At the SDN day prior to the TechEd 2008 in Berlin I asked the people from SAP in the closing session "Latest and Greatest in ABAP" about round-trip engineering (ABAP class -> UML -> ABAP class).
They are about to integrate UML diagram generation from ABAP classes into NetWeaver (perhaps in 7.20).
For anything else you may have a look at package SEST, e.g.
- report SAPRSEUH (call fm RS_SOURCE_STRUCTURE)
- fm RS_CALL_HIERARCHY
- fm RS_PROGRAM_TABLES
Regards
Uwe -
How to synchronize concurrent access to static data in ABAP Objects
Hi,
1) First of all I mwould like to know the scope of static (class-data) data of an ABAP Objects Class: If changing a static data variable is that change visible to all concurrent processes in the same Application Server?
2) If that is the case. How can concurrent access to such data (that can be shared between many processes) be controlled. In C one could use semaphores and in Java Synchronized methods and the monitor concept. But what controls are available in ABAP for controlling concurrent access to in-memory data?
Many thanks for your help!
Regards,
ChristianHello Christian
Here is an example that shows that the static attributes of a class are not shared between two reports that are linked via SUBMIT statement.
*& Report ZUS_SDN_OO_STATIC_ATTRIBUTES
REPORT zus_sdn_oo_static_attributes.
DATA:
gt_list TYPE STANDARD TABLE OF abaplist,
go_static TYPE REF TO zcl_sdn_static_attributes.
<i>* CONSTRUCTOR method of class ZCL_SDN_STATIC_ATTRIBUTES:
**METHOD constructor.
*** define local data
** DATA:
** ld_msg TYPE bapi_msg.
** ADD id_count TO md_count.
**ENDMETHOD.
* Static public attribute MD_COUNT (type i), initial value = 1</i>
PARAMETERS:
p_called(1) TYPE c DEFAULT ' ' NO-DISPLAY.
START-OF-SELECTION.
<b>* Initial state of static attribute:
* zcl_sdn_static_attributes=>md_count = 0</b>
syst-index = 0.
WRITE: / syst-index, '. object: static counter=',
zcl_sdn_static_attributes=>md_count.
DO 5 TIMES.
<b>* Every time sy-index is added to md_count</b>
CREATE OBJECT go_static
EXPORTING
id_count = syst-index.
WRITE: / syst-index, '. object: static counter=',
zcl_sdn_static_attributes=>md_count.
<b>* After the 3rd round we start the report again (via SUBMIT)
* and return the result via list memory.
* If the value of the static attribute is not reset we would
* start with initial value of md_count = 7 (1+1+2+3).</b>
IF ( p_called = ' ' AND
syst-index = 3 ).
SUBMIT zus_sdn_oo_static_attributes EXPORTING LIST TO MEMORY
WITH p_called = 'X'
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = gt_list
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'DISPLAY_LIST'
* EXPORTING
* FULLSCREEN =
* CALLER_HANDLES_EVENTS =
* STARTING_X = 10
* STARTING_Y = 10
* ENDING_X = 60
* ENDING_Y = 20
* IMPORTING
* USER_COMMAND =
TABLES
listobject = gt_list
EXCEPTIONS
empty_list = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDDO.
<b>* Result: in the 2nd run of the report (via SUBMIT) we get
* the same values for the static counter.</b>
END-OF-SELECTION.
Regards
Uwe -
Hello Everybody
what is the difference between pack and floating point datatypes, i ABAP Objects book, there is mentioned that if you are concious about accuracy then use pack datatype, otherwise use floating point. i write a program
data p1 type p.
p = 3 / 4.
write p. the result of this statement is 0,75
data f1 type f.
f1 = 3 / 4.
write f1 and the result of this is statement is 7,5000000E
so when we use pack number and what floating point give me example in detail and clear
Thanks
RaiHi,
This is taken from ABAP Help Documentation.
ABAP contains a range of built-in elementary data types: Character (text), Numerical character (number string), Date, Time Integer, Floating point number, Packed number, and HeX code). Some of these data types are fully types (D, T, I, F), others (C, N, P, X) are generic, in the sense that you must provide further type information (length, for type p also the number of decimal places) when you create the data object .
The value range of type P fields depends on their length and the number of decimal places. P fields can be 1 to 16 bytes long, with two decimal digits packed into each byte, and one decimal digit and the sign packed into the last byte. There can be up to 14 decimal places. Auxiliary fields for intermediate results are always 16 bytes long and can thus hold up to 31 decimal digits. To ensure that the decimal point is correctly calculated, you should always set the program attribute "fixed point arithmetic". Otherwise, all numbers are specified as integers and all intermediate results for the next integer are rounded. If "fixed point arithmetic" is not set, the decimal places defined for the number only appear when outputting with WRITE.
Fixed point arithmetic is decimal arithmetic and is similar to using a pocket calculator or calculating with paper and pencil.
Type P is typically used for sizes, lengths, weights and sums of money.
Rule: If you want to calculate "down to the last penny", you should use the type P.
Type F values range from /- 2.2250738585072014E-308 to 1.7976931348623157E308, as well as the number 0, with an accuracy of at least 15 decimal places.
You cannot enter floating point numbers directly in your programs. Instead, you must use text literals that can be interpreted as floating point numbers. You may use the following formats:
Decimal numbers with or without sign, with or without decimal point. The form <mantissa> E<exponent>, where the mantissa is a decimal. The exponent may be specified either with or without sign. You may also use spaces before or after the number. Examples of text literals with "floating point numbers":
'1', '-12.34567', '-765E-04', '1234E5', '12E34', '+12.3E-4', '1E160'.
Use floating point arithmetic if you need a very large value range or you are making decimal calculations, but be aware of the following features of floating point arithmetic.
Internally, the exponent and the mantissa of floating point numbers are stored separately, each in two parts. This can lead to unexpected results, despite the high degree of intrinsic accuracy. These occur mainly when performing conversions from and to type F.
For example, the number 1.5 can be represented exactly in this notation, since 1.5 = 120 + 12**(-1), but the number 0.15 can only be represented approximately by the number 0,14999999999999999. If you round 0.15 up to 1 valid digit, the result is 0.1 rather than 0.2 as you would expect. On the other hand, the number 1.5E-12 is represented by the number 1.5000000000000001E-12, which would be rounded to 2E-12.
Another example which actually occurred is the calculation of 7.27% of 73050 to an accuracy of 2 decimal places. The intermediate result 5.3107349999999997E+03, since the correct result, 5310.735, cannot be represented exactly in two parts with 53 bits. (If the hardware cannot represent a real number exactly, it uses the next representable floating point number. After rounding, you therefore get 5310.73 rather than 5310.74 as you would expect.
The ABAP runtime system calculates commercially and not "numerically" like the underlying machine arithmetic. According to the rounding algorithm of the latter, the end digit 5 must always be rounded to the nearest even number (not the next largest number), i.e. from 2.5 to 2, 3.5 to 4.
You should also note that multiplication using powers of 10 (positive or negative), is not an exact operation. For example, although 100.5 can be represented exactly in two parts, after the operation
F = F / 100 * 100
F has the value 100.49999999999999.
As well as rounding errors, the restricted number of decimal places for the mantissa can lead to the loss of trailing digits. For example, 1 - 1.0000000000000001 results in zero.
This means that you cannot rely on the last digits in floating point arithmetic. In particular, you should not usually test two floating point numbers for equality; instead, you should check whether the relative difference abs((a - b)/a) is less than a predefined limit, e.g. 10**(-7).
Check this link also.
http://www.sapgenie.com/abap/example_code.htm
Maybe you are looking for
-
How do I make a genius bar appointment?
Bought new iPhone 6 that should arrive around Dec. 5th. I don't have the serial number yet (bought from carrier) but wanted to make a genius bar appointment to transfer info from old to new iPhone. Can I make an appointment without having a serial
-
While creating the UDF in the Marketing Document ERRor
Dear to ALL Please give me some solution to the my problem My problem is While i am creating the UDF in the marketing document I am getting the error message 131-183 could not able to create the data base. Any one can help me out releated to this pro
-
My computer blew up...how do i re download my photoshop update?
Downloaded an update to my cs5 for latest edition of photoshop then SpyHunter 4 ate my computer...where can I re download the update?
-
Power Cord for EN489AA Docking Station
I've lost the power cord for docking station EN489AA, and need to order a new one, but can't find the part number online. Can anyone help? Thanks.
-
Mapping middle key to command in a form
hii, please help me to map middle key in handset to a specified command added in a form?