Decimals Error
I post one document in f-02 the amount value 2000/- if i display document the system showing 200.000 even i check user settings in su3 two decimal places it is showing again same problem & Country settings also i Have Check the error Here their is no problem if i restart the sap the same problem it is showing
Hi,
Try giving 2 decimal places in the T-code OY04, but be cautions as its a cross-client setting.
VK.
Similar Messages
-
Errori convenrsioni in decimali per euro
Buongiorno. Ho notato che quando si converte un file da pdf in excel, le cifre vengono sempre espresse in migliaia e questo crea problemi con i decimali (dell'euro), dal momento che quando si cerca di mettere la virgola al posto del punto (es. 17.50 - cambiandolo in 17,50), la formattazione dei numeri salta completamente. Qualcuno ha la soluzione? La faccenda mi frena un po' nell'abbonamento al servizio.
Grazie, luca -
Error trying to change the value property of a cell with decimals
This is a script question.
I’m using a system defaulting to Spanish, so the decimal delimiter is the comma.
During a script I need to change the property value of a cell multiplying it by -1. As an example, I want to change 1,25 into -1,25.
This is how try to do it:
tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
set selection range to first cell
set mi_cell to (value of first cell of selection range) * -1
set value of first cell of selection range to mi_cell
end tell
The expected result is wrong provided that the original value of the cell has decimal value. Otherwise is correct.
See examples of what happen after running this piece of the script:
1,25 becomes -125,00 instead of -1,25
6,00 becomes -6,00 (in this case is correct)
Does anybody know how to solve this problem?
Thanks in advance.
RatzThis was described here in several scripts.
Before setting the value of a cell to a number or a date, the value must be coerced to a string.
It's the only way available to take care of localization features.
Your script must be
tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
set selection range to first cell
set mi_cell to (value of first cell of selection range) * -1
set value of first cell of selection range to mi_cell as text
end tell
or better
tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
set mi_cell to (value of first cell) * -1
set value of first cell to mi_cell as text
end tell
CAUTION : don't code
tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
set mi_cell to -(value of first cell)
set value of first cell to mi_cell as text
end tell
which is supposed to do the same but would return the opposite of *_the integer value_* of the cell.
Yvan KOENIG (VALLAURIS, France) dimanche 13 février 2011 16:06:39 -
Error con decimales al passar a excel
Ples admin remove this post
Hola.
Revisa que en la instalación del Office estén instaldos todos los componentes posibles:
- Herramientas VBA, complementos, etc.
Luego intenta eliminar las carpetas temporales de la cuenta de usuario:
- Cerrar todas las apicaciones.
- Ejecutar-> %temp% -> borrar todas las carpetas.
Abrir SB1 y probar de nuevo.
Nos cuenta cómo le va.
Saludos. -
Error while defining afield in Structure
Hi All..
I want to define a field MENGE ( Quantity and the lenght should be 8 and should hold 3 Decimals).
Hence i opted for a Data element CATSXT_DEFLT which is having QUAN, Length-8 and Decimal-3.
But while activating the structure, the system is prompting Error message as follow...
Diagnosis
You must specify reference tables and reference fields for fields containing currency amounts or quantity data. You have specified either only the reference field or the reference table and have not maintained either entry.
Procedure
Add the missing entry. You can do this with the single field maintenance function of the table.
Please Help me, as it is very urgent....hi,
try to find out a field in table
having this 'CATSXT_DEFLT' type.
then in the structure.
declare like this.
<b>tables : table_name
MENGE like table_name-field_name.</b>
do this.
<b>tables : TCATX_COMPONENTS.
data : begin of ..
MENGE like TCATX_COMPONENTS-DEFLT,
endof ..</b>
rgds
anver
pls mark hlpful answers
Message was edited by: Anversha s -
error analysis as in ST22 TRANSACTION:
AN EXCEPTION OCCURED THE EXCEPTION ASSIGNED TO CLASS CX_SY_CONVERSION_NO_NUMBER WAS NOT CAUGHT WHICH LED TO AN ERROR. THE REASON FOR THIS EXCEPTION IS :
THE PROGRAM TRIED TO INTERPRET VALUE ':4' AS NUMBER SINCE THE VALUE CONTRAVENES THE CORRECT NUMBER FORMAT THIS WAS NOT POSSIBLE.
ATTACHED IS MY PROGRAM
REPORT ZVXR0303
LINE-COUNT 60(3)
LINE-SIZE 132
MESSAGE-ID VN.
Tables: VBEP, VBAP, NAST.
DATA: BEGIN OF HEADER,
ORDER(15) VALUE 'ORDER',
LINE(5) VALUE 'LINE',
MATERIAL(14) VALUE 'MATERIAL',
DUE(15) VALUE 'DUE (MAD)',
CREATED(10) VALUE 'CREATED',
QTY(10) VALUE 'QUANTITY',
KEY(5) VALUE 'KEY',
TYPE(5) VALUE 'TYPE',
END OF HEADER.
DATA: Begin of IDAT OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
werks LIKE VBAP-WERKS,
cuobj LIKE vbap-CUOBJ,
MBDAT LIKE vbep-mbdat,
ERDAT LIKE VBAP-ERDAT,
MATNR LIKE VBAP-MATNR,
KWMENG LIKE VBAP-KWMENG,
QTY TYPE I,
END of IDAT.
class cl_abap_char_utilities definition load.
constants: tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
DATA: t_record(1000) TYPE C.
DATA: C_KWMENG(20) TYPE C.
data: OUTFILE(50) value '/usr/users/ftpsapfi/locks_540318'.
DATA: BEGIN OF TKOMCON OCCURS 50.
INCLUDE STRUCTURE CONF_OUT.
DATA: END OF TKOMCON.
DATA: iKEY TYPE I,
offset TYPE I,
KeyTypeLOC TYPE I,
KeyNumberLOC TYPE I,
type(15) TYPE C.
select-options: sVBELN FOR VBEP-VBELN obligatory,
sMAD FOR VBEP-MBDAT obligatory,
sERDAT FOR VBAP-ERDAT,
sMATNR FOR VBAP-MATNR,
sWERKS FOR VBAP-WERKS,
sKWMENG FOR VBAP-KWMENG.
SELECT
vbap~vbeln
vbap~POSNR
vbap~werks
vbap~cuobj
VBEP~MBDAT
VBAP~ERDAT
VBAP~MATNR
VBAP~KWMENG
INTO CORRESPONDING FIELDS of IDAT
FROM ( VBEP INNER JOIN VBAP ON vbepvbeln = vbapvbeln
AND vbepposnr = vbapposnr )
WHERE BMENG > 0
AND vbep~MBDAT IN sMAD
AND VBEP~VBELN in sVBELN
AND VBAP~werks IN sWERKS
AND VBAP~ERDAT IN sERDAT
AND VBAP~MATNR IN sMATNR
AND VBAP~KWMENG IN sKWMENG
AND VBAP~ABGRU = SPACE.
APPEND IDAT.
ENDSELECT.
PERFORM TOP-OF-PAGE.
if sy-batch = 'x'.
OPEN DATASET OUTFILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
TRANSFER t_record TO OUTFILE.
endif.
IF SY-SUBRC = 0.
LOOP at IDAT.
write IDAT-KWMENG DECIMALS 0 TO C_KWMENG.
REFRESH TKOMCON.
CALL FUNCTION 'VC_I_GET_CONFIGURATION'
EXPORTING
INSTANCE = idat-cuobj
LANGUAGE = NAST-SPRAS
TABLES
CONFIGURATION = TKOMCON
EXCEPTIONS
OTHERS = 4.
LOOP AT TKOMCON
WHERE ATNAM = 'S_SK_SPEC_KEY' OR ATNAM = 'S_MK_SPEC_KEY'
OR ATNAM = 'S_SK_CONSC_KEY' OR ATNAM = 'S_MK_CONSC_KEY'.
IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
KeyTYPELOC = 0.
keynumberloc = 2.
TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
PERFORM OUT-OF-RANGE-FOUND.
ENDIF.
ENDIF.
Else.
Offset = 0.
DO.
IF offset <= 9.
offset = offset + 1.
If TKOMCON-ATWRT+Offset(1) = ':'.
KeyTypeLOC = Offset + 1.
KeyNumberLOC = Offset + 3.
EXIT.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
IDAT-KWMENG = TKOMCON-ATWRT(3).
PERFORM OUT-OF-RANGE-FOUND.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
CLOSE DATASET OUTFILE.
FORM OUT-OF-RANGE-FOUND *
FORM OUT-OF-RANGE-FOUND.
WRITE: / IDAT-VBELN.
WRITE: 10 IDAT-POSNR.
WRITE: 20 IDAT-MATNR.
WRITE: 35 IDAT-MBDAT.
WRITE: 50 IDAT-ERDAT.
WRITE: 65(3) IDAT-KWMENG DECIMALS 0.
WRITE: 75 TKOMCON-ATWRT+KeyTypeLOC(6).
IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
WRITE: 85 'Consecutive'.
ELSE.
WRITE: 85 'Specific'.
ENDIF.
IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
TYPE = 'Consecutive'.
ELSE.
TYPE = 'Specific'.
ENDIF.
* PREPARING A RECORD TO BE SENT TO FILE
CONCATENATE
IDAT-VBELN
IDAT-POSNR
IDAT-MATNR
IDAT-MBDAT
IDAT-ERDAT
C_KWMENG
TKOMCON-ATWRT+KeyTypeLOC(6)
TYPE
INTO t_record SEPARATED BY tab.
if sy-batch = 'x'.
TRANSFER t_record TO OUTFILE.
endif.
ENDFORM.
FORM TOP-OF-PAGE *
FORM TOP-OF-PAGE.
WRITE: / 'ORDER'.
WRITE: 10 'LINE'.
WRITE: 20 'MATERIAL'.
WRITE: 35 'DUE (MAD)'.
WRITE: 50 'CREATED'.
WRITE: 65 'QTY'.
WRITE: 75 'KEY'.
WRITE: 85 'TYPE'.
PREPARING A RECORD TO BE SENT TO FILE
CONCATENATE
header-ORDER
header-LINE
header-MATERIAL
header-DUE
header-CREATED
header-QTY
header-KEY
header-TYPE
INTO t_record SEPARATED BY tab.
ENDFORM.
THIS IS WORKING FINE WITH DIFFERENT RANGES BUT WHEN I USE RANGE
Sales Order 1250000 TO 2250000
MAD 01/18/2005 TO 03/02/2005
Material LOCK9250FR TO LOCK9250XF
PLANT 4500
IT GIVES THE RUNTIME ERROR I MENTIONED ABOVE
ANY HELP WOULD BE GREATLY APPRECIATED
THANKS.HI ROB YOUR REPLY LOOKS TO BE VERY CLOSE OTHER GUYS SAID IT MIGHT BE PROBLEM WITH VARIABLE C_KWMENG BUT I REMOVED THAT PIECE OF CODE WITH C_KWMENG BUT STILL I WAS GETTING THE ERROR ATTACHED IS THE COMPLETE ERROR DETAILS FROM ST22
Runtime Errors CONVT_NO_NUMBER
Exception CX_SY_CONVERSION_NO_NUMBER
Occurred on 09/29/2005 at 14:33:21
Unable to interpret "04:" as a number.
What happened?
Error in ABAP application program.
The current ABAP program "ZVXR0303" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
Error analysis
An exception occurred. This exception will be dealt with in more detail
below. The exception, assigned to the class 'CX_SY_CONVERSION_NO_NUMBER', was
not caught, which
led to a runtime error. The reason for this exception is:
The program attempted to interpret the value "04:" as a number, but
since the value contravenes the rules for correct number formats,
this was not possible.
How to correct the error
Integers are represented in ABAP using a sequence of digits and, in some
cases, a preceding sign.
The system offers the following options for displaying floating point
numbers:
[mantissa]E[sign][exponent]
[whole number part].[fractional part]
e.g. -12E+34, +12E-34, 12E34, 12.34
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"CONVT_NO_NUMBER" CX_SY_CONVERSION_NO_NUMBERC
"ZVXR0303" or "ZVXR0303"
"START-OF-SELECTION"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "620"
Application server....... "grrsap54"
Network address.......... "10.80.96.102"
Operating system......... "HP-UX"
Release.................. "B.11.11"
Hardware type............ "9000/800"
Character length......... 8 Bits
Pointer length........... 64 Bits
Work process number...... 3
Short dump setting....... "full"
Database server.......... "grrsap54"
Database type............ "ORACLE"
Database name............ "D01"
Database owner........... "SAPR3"
Character set............ "en_US.iso88591"
SAP kernel............... "640"
Created on............... "Aug 28 2005 20:25:49"
Created in............... "HP-UX B.11.00 A 9000/800"
Database version......... "OCI_920 "
Patch level.............. "88"
Patch text............... " "
Supported environment....
Database................. "ORACLE 8.1.7.., ORACLE 9.2.0.., ORACLE
10.1.0.."
SAP database version..... "640"
Operating system......... "HP-UX B.11"
User, transaction...
Client.............. 050
User................ "NSHAKER"
Language key........ "E"
Transaction......... "SE38 "
Program............. "ZVXR0303"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where terminated
The termination occurred in the ABAP program "ZVXR0303" in
"START-OF-SELECTION".
The main program was "ZVXR0303 ".
The termination occurred in line 156 of the source code of the (Include)
program "ZVXR0303"
of the source code of program "ZVXR0303" (when calling the editor 1560).
Source code extract
Caution: Program has changed
Caution: At time of termination, Active source code no longer available
001260 ? TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
001270 ? IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
001280 ? iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
001290 ?
001300 ? IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
001310 ? OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
001320 ? PERFORM OUT-OF-RANGE-FOUND.
001330 ? ENDIF.
001340 ? ENDIF.
001350 ? Else.
001360 ? Offset = 0.
001370 ? DO.
001380 ? IF offset <= 9.
001390 ? offset = offset + 1.
001400 ? If TKOMCON-ATWRT+Offset(1) = ':'.
001410 ? KeyTypeLOC = Offset + 1.
001420 ? KeyNumberLOC = Offset + 3.
001430 ? EXIT.
001440 ? ENDIF.
001450 ? ELSE.
001460 ? EXIT.
001470 ? ENDIF.
001480 ? ENDDO.
001490 ?
001500 ? TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
001510 ?
001520 ? IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
001530 ? iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
001540 ? IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
001550 ? OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
? IDAT-KWMENG = TKOMCON-ATWRT(3).
001570 ? PERFORM OUT-OF-RANGE-FOUND.
001580 ? ENDIF.
001590 ? ENDIF.
001600 ? ENDIF.
001610 ? ENDLOOP.
001620 ? ENDLOOP.
001630 ? ENDIF.
001640 ? CLOSE DATASET OUTFILE.
001650 ?
001660 ? *----
001670 ? * FORM OUT-OF-RANGE-FOUND *
001680 ? *----
001690 ? * ........ *
001700 ? *----
001710 ? FORM OUT-OF-RANGE-FOUND.
001720 ?
001730 ? WRITE: / IDAT-VBELN.
001740 ? WRITE: 10 IDAT-POSNR.
001750 ? WRITE: 20 IDAT-MATNR.
Contents of system fields
SY field contents..................... SY field contents.....................
SY-SUBRC 0 SY-INDEX 44
SY-TABIX 7 SY-DBCNT 1
SY-FDPOS 4 SY-LSIND 0
SY-PAGNO 2 SY-LINNO 18
SY-COLNO 94 SY-PFKEY
SY-UCOMM SY-TITLE Out of Range Keys
SY-MSGTY I SY-MSGID SF
SY-MSGNO 616 SY-MSGV1
SY-MSGV2 SY-MSGV3
SY-MSGV4
Active calls / events
No.... Type........ Name..........................
Program
Include Line
Class
1 EVENT START-OF-SELECTION
ZVXR0303
ZVXR0303 156
Chosen variables
1 EVENT START-OF-SELECTION
ZVXR0303
ZVXR0303 156
%_SPACE
2
0
SY-REPID ZVXR0303
5555333322222222222222222222222222222222
A682030300000000000000000000000000000000
TKOMCON-ATWRT 04:XF1260
333543333222222222222222222222
04A861260000000000000000000000
KEYNUMBERLOC 5
0000
0005
SYST-REPID ZVXR0303
5555333322222222222222222222222222222222
A682030300000000000000000000000000000000
SY-LDBPG SAPDB__S
5454455522222222222222222222222222222222
31042FF300000000000000000000000000000000
IKEY 1260
000E
004C
KEYTYPELOC 3
0000
0003
SY ###,####################################
0002000000000001000000000000000000000000
000C00020007000E00000001000A000000000000
... + 40 ###########^###<########################
0000000000050003000100080000000000000009
00010004000E000C000200040000000000000000
... + 80 ########################################
0000000000000000000000000000000000000000
0000000000000000000A00000000000000000000
... + 120 #######################################_
0000000000000000000000000000000000010005
00000000000000000000000000000000000A000F
... + 160 ############ÿÿ¹°XC############# E2 X1
000000000000FFBB540000000000000222432253
0000000A0000FF90830040000C0000C000520081
... + 200 000 ####__S 050
3332222222220000555222222222222222223332
0000000000000000FF3000000000000000000500
... + 240 00
222223322222222
000000000000000
SVBELN IBT00012500000002250000
44533333333333333333333
92400012500000002250000
IDAT-KWMENG ########
00000000
0000000C
TKOMCON-ATWRT+0(3) 04:
333
04A
SYST ###,####################################
0002000000000001000000000000000000000000
000C00020007000E00000001000A000000000000
... + 40 ###########^###<########################
0000000000050003000100080000000000000009
00010004000E000C000200040000000000000000
... + 80 ########################################
0000000000000000000000000000000000000000
0000000000000000000A00000000000000000000
... + 120 #######################################_
0000000000000000000000000000000000010005
00000000000000000000000000000000000A000F
... + 160 ############ÿÿ¹°XC############# E2 X1
000000000000FFBB540000000000000222432253
0000000A0000FF90830040000C0000C000520081
... + 200 000 ####__S 050
3332222222220000555222222222222222223332
0000000000000000FF3000000000000000000500
... + 240 00
222223322222222
000000000000000
OUTFILE /usr/users/ftpsapfi/locks_540318
2777277677267776766266667533333322222222
F532F53523F64031069FCF3B3F54031800000000
... + 40
2222222222
0000000000
Application Calls
No dump information available
Application Information
No dump information available
Internal notes
The termination occurred in the function "ab_Move" of the SAP
Basis System, specifically in line 529 of the module
"//bas/640_REL/src/krn/runt/abmove1.c#6".
The internal operation just processed is "MOVE".
The internal session was started at 20050929142552.
Active calls in SAP kernel
( 0) 0x4000000001751924 CTrcStack2 + 0x2bc dw.sapD01_DVEBMGS00
( 1) 0x4000000001751658 CTrcStack + 0x18 dw.sapD01_DVEBMGS00
( 2) 0x4000000001db7478 rabax_CStackSave__Fv + 0x100 dw.sapD01_DVEBMGS00
( 3) 0x4000000001dc3abc ab_rabax + 0x1e1c dw.sapD01_DVEBMGS00
( 4) 0x4000000001b44cb4 ab_cnverr__FiPcPCvN21T2 + 0x18c dw.sapD01_DVEBMGS00
( 5) 0x40000000016c96f8 ab_Move + 0x1910 dw.sapD01_DVEBMGS00
( 6) 0x40000000016d4434 ab_jmove__Fv + 0x384 dw.sapD01_DVEBMGS00
( 7) 0x4000000001022348 ab_extri__Fv + 0x17a0 dw.sapD01_DVEBMGS00
( 8) 0x4000000001726dc8 ab_xevent__FPCc + 0x38 dw.sapD01_DVEBMGS00
( 9) 0x40000000019f7efc ab_trigg__Fv + 0x94 dw.sapD01_DVEBMGS00
(10) 0x40000000019dc9ec ab_run + 0xc4 dw.sapD01_DVEBMGS00
(11) 0x4000000000f65e0c N_ab_run + 0x14 dw.sapD01_DVEBMGS00
(12) 0x4000000000f5fa88 dynpmcal + 0x198 dw.sapD01_DVEBMGS00
(13) 0x4000000000f5d500 dynppai0 + 0x830 dw.sapD01_DVEBMGS00
(14) 0x4000000000f5b8b4 dynprctl + 0x43c dw.sapD01_DVEBMGS00
(15) 0x4000000000f56728 dynpen00 + 0x2118 dw.sapD01_DVEBMGS00
(16) 0x400000000102f1b4 Thdynpen00 + 0x69c dw.sapD01_DVEBMGS00
(17) 0x400000000102e1e4 TskhLoop + 0x523c dw.sapD01_DVEBMGS00
(18) 0x4000000001022f50 tskhstart + 0x1e0 dw.sapD01_DVEBMGS00
(19) 0x4000000000dce3c4 DpMain + 0x484 dw.sapD01_DVEBMGS00
(20) 0x40000000022784cc nlsui_main + 0x14 dw.sapD01_DVEBMGS00
(21) 0x4000000000a39534 main + 0x14 dw.sapD01_DVEBMGS00
(22) 0xc00000000000a588 $START$ + 0xa0 /usr/lib/pa20_64/dld.sl
List of ABAP programs affected
Type Program Gen. Date Time Load Size
Prg ZVXR0303 09/29/2005 14:25:42 39936
Prg SAPMSSY0 05/01/2005 00:21:19 66560
Prg SAPMSSYD 06/05/2002 17:09:33 16384
Prg SAPFSYSCALLS 02/14/2002 14:22:47 6144
Prg RSDBRUNT 06/13/2004 00:43:20 226304
Typ RSSCR / / : m:15 5120
Prg RSDBSPBL 01/07/2003 18:47:02 59392
Prg SAPDB__S 02/14/2002 14:22:47 15360
Typ VARID 05/12/1997 16:51:30 4096
Prg %_CSYDB0 02/14/2002 14:22:46 28672
Prg RSDBSPVA 09/06/2005 22:54:22 112640
Prg SAPLSVAR 09/06/2005 22:57:28 625664
Typ VARIS 05/12/1997 15:27:21 2048
Typ RSVAMEMKEY 05/07/1997 13:07:49 2048
Prg RSDBSPMC 06/05/2002 17:09:26 66560
Typ DDSHDESCR 09/03/1997 03:05:16 3072
Typ SPPARAMS 05/07/1997 13:10:38 2048
Typ SPPARAMS 05/07/1997 13:10:38 2048
Typ RSSELINT 04/04/1995 16:12:37 2048
Prg SAPLICON 03/12/2004 06:57:52 23552
Prg %_CICON 02/14/2002 14:22:46 65536
Prg SAPLSABE 02/14/2002 14:22:47 11264
Prg SAPLSECU 05/23/2005 14:04:05 64512
Typ RSSUBINFO 10/14/1999 22:01:03 3072
Prg %_CRSDS 02/14/2002 14:22:46 8192
Typ RSDSEXPR 08/20/1998 10:57:18 2048
Prg SAPLDSYA 02/14/2002 14:22:47 39936
Prg SAPFSDS1 01/07/2003 18:32:17 47104
Typ TDCLD 11/02/1998 09:51:35 5120
Prg SAPLSDOD 04/30/2005 22:53:50 39936
Typ DOKIL 05/12/1997 16:46:17 3072
Prg SAPCNVE 02/14/2002 14:22:47 6144
Prg SAPLLANG 02/14/2002 14:22:47 8192
Typ T002 02/14/1998 10:24:58 2048
Typ RSEXFCODE 08/13/1997 12:52:57 1024
Prg SAPFSPOR 03/13/2004 19:20:44 12288
Prg SAPLOMCV 05/01/2005 00:14:10 16384
Prg CL_EXITHANDLER================CP 06/13/2004 00:40:58 26624
Prg SAPLSEXV 09/06/2005 22:55:26 107520
Prg CL_BADI_FLT_DATA_TRANS_AND_DB=CP 05/01/2005 00:21:35 33792
Typ SXS_ATTR 08/20/2001 12:23:27 4096
Typ V_EXT_ACT 11/09/2000 14:27:05 2048
Typ SXC_EXIT 11/09/2000 14:23:43 2048
Prg CL_EX_BADI_MATN1==============CP 05/01/2005 00:14:04 22528
Prg IF_EX_BADI_MATN1==============IP 06/13/2004 00:48:55 4096
Typ TMCNV 02/24/1999 03:33:25 3072
Prg SAPLSCNT 02/14/2002 14:22:47 24576
Typ DYCBOX 08/20/1998 11:16:53 2048
Prg SAPLSVSM 01/07/2003 18:35:45 22528
Prg SAPLSGUI 01/09/2003 17:15:12 31744
Prg SAPLSTTM 05/01/2005 00:24:04 75776
Prg SAPLSBDC 05/23/2005 14:05:19 38912
Prg CL_DATAPROVIDER===============CP 02/14/2002 14:22:46 40960
Prg %_CCNTL 02/14/2002 14:22:46 13312
Typ OBJ_RECORD 02/14/1998 08:30:43 2048
Prg SAPLSTUP 05/23/2005 14:03:46 65536
Prg SAPLCNDP 05/23/2005 14:05:47 167936
Prg SAPFGUICNTL 01/09/2003 17:18:52 20480
Prg SAPLOLEA 05/23/2005 14:03:56 79872
Prg SAPLSFES 09/06/2005 22:53:55 191488
Prg SAPLSPLUGIN 02/14/2002 14:22:48 6144
Typ ARFCRDATA 11/09/2000 14:04:16 6144
Prg SAPLGRFC 02/14/2002 14:22:47 13312
Typ SWCBCONT 11/15/2000 17:55:11 3072
Typ OLE_VERBS 04/04/1995 16:02:20 2048
Typ OLE_PA 04/04/1995 16:02:19 2048
Prg SAPSHDTV 03/12/2004 06:40:27 28672
Typ SSCRTEXTS 09/03/1997 03:12:33 3072
Typ SSCRFIELDS 05/13/1997 12:54:26 4096
Prg CL_GUI_PROPS_CONSUMER=========CP 01/07/2003 18:26:56 26624
Prg SAPLTHFB 09/06/2005 22:52:48 306176
Prg CL_DYNAMIC_GUI_EXTENSIONS=====CP 02/14/2002 14:22:46 33792
Prg CL_GUI_DATAMANAGER============CP 05/01/2005 00:20:36 70656
Prg CL_ABAP_CHAR_UTILITIES========CP 05/01/2005 00:14:49 11264
Prg RSDBSPVD 05/01/2005 00:15:44 73728
Typ RVARI 03/30/1998 09:40:50 4096
Typ RSVARIVDAT 04/04/1995 16:12:54 2048
Typ VBEP 01/27/2003 16:50:17 10240
Typ VBAP 09/15/2005 11:15:36 44032
Prg SAPLCEI0 09/22/2005 14:34:40 936960
Typ API_VALUE 02/20/1998 08:46:47 2048
Prg SAPLCUEV 06/07/2001 18:26:56 10240
Prg SAPLSUNI 06/13/2004 00:42:30 131072
Typ TFDIR 07/29/1998 19:49:08 3072
Prg %_CIBCO2 03/13/2004 14:32:13 12288
Typ IBINCOM 06/01/1999 11:56:27 3072
Typ IBINCONF 06/01/1999 11:56:27 2048
Typ IBSTCONF 06/01/1999 11:56:28 1024
Prg SAPLCUCB 05/23/2005 15:20:17 192512
Typ TCUIBSPECIAL 06/07/2001 17:50:37 1024
Prg %_CIBXX 03/13/2004 14:38:45 49152
Typ BAL_S_MSG 12/04/2000 13:04:01 6144
Prg CX_CBASE_ERROR================CP 01/27/2003 16:58:10 10240
Typ SCX_SRCPOS 11/09/2000 14:12:15 2048
Typ BAL_S_CONT 11/02/1998 09:43:07 2048
Typ BAL_S_PARM 12/04/2000 12:45:14 3072
Typ BAL_S_CLBK 11/02/1998 09:43:07 2048
Prg CX_STATIC_CHECK===============CP 02/14/2002 14:22:47 8192
Prg CX_ROOT=======================CP 02/14/2002 14:22:47 9216
Prg CL_CBASE======================CP 05/23/2005 15:19:44 87040
Typ T371G 04/29/1998 10:42:48 2048
Prg SAPLIBCO 03/13/2004 15:32:40 269312
Prg %_CIBCO 03/13/2004 14:38:45 11264
Prg SAPLIBXX 03/13/2004 14:38:46 11264
Prg SAPLIBIBF 03/13/2004 14:38:46 179200
Prg %_CIBIB 03/13/2004 14:38:45 18432
Prg SAPLIBINF 06/12/2004 22:20:22 415744
Prg %_CIBIN 03/13/2004 15:32:40 48128
Prg CL_IBASE_STRUC================CP 06/07/2001 19:59:10 106496
Prg %_CIBST 03/13/2004 14:38:45 37888
Prg CL_IBASE_STRUC_BUF============CP 06/07/2001 19:59:10 89088
Prg CL_IBASE_STRUC_STAT===========CP 06/07/2001 19:59:10 8192
Prg CL_IBASE_STRUC_BUF_IBSTREF====CP 06/07/2001 19:59:10 35840
Prg %_CIBCO1 03/13/2004 14:38:45 14336
Typ IBINVAL 09/18/2001 10:02:52 2048
Prg SAPLIBCU 03/13/2004 14:38:46 12288
Prg SAPLIBCUT 06/07/2001 18:27:19 12288
Typ T371B 05/14/1998 22:58:43 2048
Typ V_IBINR 03/13/2004 15:32:40 5120
Typ V_IBINR_CM 03/13/2004 15:32:40 5120
Prg CL_IBASE_SERVICE==============CP 06/07/2001 19:59:10 13312
Prg CL_IBASE_T371D_BUF============CP 06/07/2001 19:59:10 12288
Typ T371D 08/27/1999 18:19:44 2048
Prg CL_IBASE_R3_MATERIAL==========CP 05/23/2005 15:08:24 59392
Typ MARA 05/23/2005 15:08:18 22528
Typ MAKT 08/28/1997 08:52:19 2048
Typ ICON 01/03/1996 15:34:02 3072
Prg CL_ABAP_TYPEDESCR=============CP 05/01/2005 00:20:10 21504
Prg CL_ABAP_ELEMDESCR=============CP 05/01/2005 00:20:33 20480
Prg CL_ABAP_DATADESCR=============CP 03/12/2004 07:16:33 14336
Prg CL_ABAP_REFDESCR==============CP 03/12/2004 07:17:23 16384
Prg CL_ABAP_STRUCTDESCR===========CP 05/01/2005 00:20:33 20480
Prg CL_ABAP_COMPLEXDESCR==========CP 03/12/2004 07:16:33 13312
Prg CL_ABAP_TABLEDESCR============CP 03/12/2004 07:17:23 17408
Prg CL_ABAP_CLASSDESCR============CP 03/12/2004 07:17:23 23552
Prg CL_ABAP_OBJECTDESCR===========CP 03/12/2004 07:17:23 25600
Prg CL_ABAP_INTFDESCR=============CP 03/12/2004 07:16:33 19456
Prg CL_ABAP_SOFT_REFERENCE========CP 03/29/2001 16:42:12 7168
Prg CL_ABAP_REFERENCE=============CP 02/14/2002 14:22:46 6144
Prg IF_EX_CM_BADI_VERSION=========IP 01/07/2002 16:09:04 3072
Prg %_CABAP 01/07/2003 18:31:23 23552
Typ SXS_INTER 11/30/1998 15:55:16 2048
Prg CL_EX_CM_BADI_VERSION=========CP 05/01/2005 00:14:04 13312
Prg %_CSXRT 06/13/2004 00:40:55 11264
Prg CL_EXIT_MASTER================CP 06/13/2004 00:40:58 13312
Typ V_EXT_IMP 11/09/2000 14:27:05 2048
Typ V_EXT_IMP 11/09/2000 14:27:05 2048
Typ SXC_IMPSWH 11/09/2000 14:23:44 2048
Prg CL_IM_CM_BADI_VERSION_DEF=====CP 04/17/2002 11:01:00 6144
Prg SAPLASTAT_TRIG 02/14/2002 14:22:47 11264
Typ ASTAT_TYP2 11/10/1998 05:35:18 2048
Prg IF_CM_BASELINE================IP 05/23/2005 15:08:24 9216
Prg IF_IBASE_IBOF_TREE_OBJECT=====IP 05/23/2005 15:08:24 5120
Prg IF_IBASE_INSTALL==============IP 06/07/2001 20:08:54 4096
Prg IF_IBASE_MATERIAL=============IP 06/07/2001 20:08:54 3072
Prg IF_IBASE_OBJECT===============IP 06/07/2001 20:08:54 4096
Prg SAPLBOMA 02/14/2002 14:15:40 10240
Typ IONRA 03/12/2004 02:09:40 23552
Typ IBIBCOM 08/30/2001 17:56:57 4096
Typ IBIB 03/13/2004 14:32:13 5120
Prg CL_IBASE_STRUC_SERVICE========CP 06/07/2001 19:59:10 17408
Prg CL_CU_CBASE_ENQUEUE_CORE======CP 06/07/2001 19:58:59 11264
Prg CL_CU_CBASE_ENQUEUE===========CP 06/07/2001 19:58:59 16384
Typ T371F 06/01/1999 12:00:49 2048
Typ V_IBIN_SYVAL 03/13/2004 15:32:41 4096
Typ IBIN 09/18/2001 10:02:52 6144
Typ IBINOWN 02/01/2000 14:56:07 2048
Prg CL_IBASE_T371F_BUF============CP 06/07/2001 19:59:11 8192
Prg CL_IBASE_STRUC_FILT_02========CP 06/07/2001 19:59:10 11264
Prg CL_IBASE_STRUC_FILT===========CP 06/07/2001 19:59:10 10240
Typ IBST 09/18/2001 10:02:52 4096
Typ IBST 09/18/2001 10:02:52 4096
Typ IBSTREF 04/15/1998 00:20:43 2048
Typ IBSTREF 04/15/1998 00:20:43 2048
Prg IF_CBASE_E====================IP 06/07/2001 20:08:25 3072
Prg %_CCXTAB 02/14/2002 14:22:46 6144
Prg SAPLCUCQ 09/15/2005 11:15:38 79872
Typ CUCO 09/18/2001 10:02:34 18432
Typ CUCO_OBJ 09/18/2001 10:02:34 18432
Prg SAPLCLCA 09/06/2005 23:33:29 68608
Typ TCLA 03/13/2004 14:10:20 5120
Typ TCLAO 08/13/1997 13:57:22 4096
Prg SAPLCUOB 05/23/2005 14:31:35 31744
Typ INOB 09/03/1997 03:20:02 4096
Prg SAPLCLSE 05/23/2005 14:32:26 167936
Prg %_CCC01 05/01/2005 00:34:57 53248
Typ TABLEKEY 07/06/1998 21:01:06 2048
Typ KSSK 09/18/2001 10:02:58 3072
Prg SAPLCLEF -
Buen día chicos,
tengo un problema en una bd en 8.8 pl 18 en la que se está reconciliando un pago con una factura. El pago tiene la caracteristica de ser en USD y aplicar para varias facturas, esta ultima factura con la que se está reconciliando corresponde al monto pero si hay una diferencia de decimales de tal forma que aparece en la ventana de reconciliación IMPORTE DEL PAGO 4804.72, SALDO VENCIDO 299.38 Y SALDO A RECONCILIAR 299.28. EN LOS IMPORTES DE LA FACTURA 299.28 SALDO VENCIDO 299.28 Y SALDO A RECONCILIAR 299.28. Como verán hay unadiferencia en los saldos vencdidos de 10 centavos. a un cuando la cantidad a reconciliar da cero.
he consultado varias notas en sap, aunque no aplican para la version 8.8, porque los parches que salieron para 2007 no aplican aqui, tambien he corrido queries para escalarlo y no arrojan resultados.
LAS NOTAS DE SAP QUE HE CONSULTADO SON LAS SIGUIENTES
1252327 Error: Reconciliation Amount must be less than the Balance
Última modificación 05.10.2008 Área de aplicación: SBO-BK-IN-PMT
2 . 1131218 Error Msg: Reconciliation amount must be less than balance
Última modificación 16.01.2008 Área de aplicación: SBO-BK-IN-PMT
3 . 1537383 Error when trying to cancel manual reconciliation
Última modificación 08.12.2010 Área de aplicación: SBO-BK-RC-MAN
4 . 1531014 Incorrect Applied Amount for an Invoice
Última modificación 19.11.2010 Área de aplicación: SBO-BK-IN-PMT
5 . 1369267 Negative BP Balance
Última modificación 21.03.2010 Área de aplicación: SBO-FIN
6 . 1335130 Invoice with linked Down Payment Invoice after upgrade
Última modificación 17.11.2009 Área de aplicación: SBO-PUR-INV
7 . 1337153 Can not add payments for invoices with several installments
Última modificación 10.11.2009 Área de aplicación: SBO-BK
8 . 1290054 IRU Epsilon: Link Invoice to Payment application error
Última modificación 10.07.2009 Área de aplicación: SBO-ADM-UT-IAT
9 . 1318821 Handling Internal Reconciliation Mismatch of Decimal Places
Última modificación 02.04.2009 Área de aplicación: SBO-BK-RC-MAN
10 . 1291561 Can't create payment for A/P invoice
Última modificación 07.01.2009
Alguien sabe cual es la forma correcta de manejar este incidente para lograr la reconciliación?
Agradezco de antemano su apoyo.
saludos cordiales.OK, entonces no podras crear la reconciliacion asi, porque los saldos vencidos no son iguales.
Te recomiendo.
1) Crear un asiento en el diario por el ajuste (solo si el monto es inmaterial)
2) Aplicar al menor valor entre los montos reconciliados, el mismo importe de su valor. A que me refiero si uno tiene un saldo vencido de 300,10 y el otro uno de 400,10, aplicar solo una reconciliarion de 300,10, asi el de 400,10 te quedara con un saldo pendiente de 100.
Slds -
Start Routine code error of Perform routine 9998
Hi,
I have install standard and then migrate to 7.0 all the flow of modeling.
but after loading data in PSA, while activation i will found following problem (error in routine).
In PERFORM or CALL FUNCTION ROUTINE_9998, the actual parameter SOURCE_PACKAGE is incompatible with the formal parameter DATA_PACKAGE.
please suggest me.PROGRAM trans_routine.
CLASS routine DEFINITION
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
Available information: Refer to methods of
interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr.
Rule specific types
TYPES:
BEGIN OF tys_SC_1,
InfoObject: 0MPOINT Measuring point.
MPOINT TYPE /BI0/OIMPOINT,
InfoObject: 0MDOC Measurement Document.
MDOC TYPE /BI0/OIMDOC,
InfoObject: 0MPOBJ Object Number of Measuring Point Object.
MPOBJ TYPE /BI0/OIMPOBJ,
InfoObject: 0MPTYP Type of Measuring Point.
MPTYP TYPE /BI0/OIMPTYP,
InfoObject: 0PSORT Position Number of Measuring Point in Object (
*Sort Field).
PSORT TYPE /BI0/OIPSORT,
InfoObject: 0ASSEMBLY Assembly.
ASSEMBLY TYPE /BI0/OIASSEMBLY,
InfoObject: 0ATINN Internal Characteristic Number.
ATINN TYPE /BI0/OIATINN,
InfoObject: 0MDATE Date of Measurement.
MDATE TYPE /BI0/OIMDATE,
InfoObject: 0TIME Time.
TIME TYPE /BI0/OITIME,
InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
DESIRSI TYPE /BI0/OIDESIRSI,
InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
TVIND TYPE /BI0/OITVIND,
InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
MRMINI TYPE /BI0/OIMRMINI,
InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
*ing in SI Unit.
MRMINSI TYPE /BI0/OIMRMINSI,
InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
MRMAXI TYPE /BI0/OIMRMAXI,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
CJUMPSI TYPE /BI0/OICJUMPSI,
InfoObject: 0PYEARSI Annual Performance in SI Unit.
PYEARSI TYPE /BI0/OIPYEARSI,
InfoObject: 0CREATED_BY Created By.
CREATED_BY TYPE /BI0/OICREATED_BY,
InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
*it.
READSI TYPE /BI0/OIREADSI,
InfoObject: 0READEU Measured Value in Document Entry Unit.
READEU TYPE /BI0/OIREADEU,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
InfoObject: 0CNTRRSI Counter Reading in SI Unit.
CNTRRSI TYPE /BI0/OICNTRRSI,
InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
CDIFFSI TYPE /BI0/OICDIFFSI,
InfoObject: 0CAT_TYPE Catalog.
CAT_TYPE TYPE /BI0/OICAT_TYPE,
InfoObject: 0CAT_GROUP Code group.
CAT_GROUP TYPE /BI0/OICAT_GROUP,
InfoObject: 0FI_STATUS Processing Status.
FI_STATUS TYPE /BI0/OIFI_STATUS,
InfoObject: 0DIM_ID Dimension Key.
DIM_ID TYPE /BI0/OIDIM_ID,
InfoObject: 0CNTIND Measuring Point is Counter.
CNTIND TYPE /BI0/OICNTIND,
InfoObject: 0EQUIPMENT Equipment Number.
EQUIPMENT TYPE /BI0/OIEQUIPMENT,
InfoObject: 0FUNCT_LOC Functional Location.
FUNCT_LOC TYPE /BI0/OIFUNCT_LOC,
InfoObject: 0CAT_CODE Code.
CAT_CODE TYPE /BI0/OICAT_CODE,
InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
*ing in SI Unit.
MRMAXSI TYPE /BI0/OIMRMAXSI,
InfoObject: 0DOCAF Measurement Document Included for Associated T
*ask.
DOCAF TYPE /BI0/OIDOCAF,
InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
RECORDMODE TYPE RODMUPDMOD,
InfoObject: ZSTEXT Object Number Text.
/BIC/ZSTEXT TYPE /BIC/OIZSTEXT,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1.
TYPES:
tyt_SC_1 TYPE STANDARD TABLE OF tys_SC_1
WITH NON-UNIQUE DEFAULT KEY.
$$ begin of global - insert your declaration only below this line -
... "insert your code here
$$ end of global - insert your declaration only before this line -
METHODS
start_routine
IMPORTING
request type rsrequest
datapackid type rsdatapid
EXPORTING
monitor type rstr_ty_t_monitors
CHANGING
SOURCE_PACKAGE type tyt_SC_1
RAISING
cx_rsrout_abort.
METHODS
inverse_start_routine
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
i_r_selset_outbound TYPE REF TO cl_rsmds_set
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO cl_rsmds_universe
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO cl_rsmds_set
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
$$ begin of 2nd part global - insert your code only below this line *
TYPES:
BEGIN OF tys_SC_1_full,
InfoObject: 0MPOINT Measuring point.
MPOINT TYPE /BI0/OIMPOINT,
InfoObject: 0MDOC Measurement Document.
MDOC TYPE /BI0/OIMDOC,
InfoObject: 0MPOBJ Object Number of Measuring Point Object.
MPOBJ TYPE /BI0/OIMPOBJ,
InfoObject: 0MPTYP Type of Measuring Point.
MPTYP TYPE /BI0/OIMPTYP,
InfoObject: 0PSORT Position Number of Measuring Point in Object (
*Sort Field).
PSORT TYPE /BI0/OIPSORT,
InfoObject: 0ASSEMBLY Assembly.
ASSEMBLY TYPE /BI0/OIASSEMBLY,
InfoObject: 0ATINN Internal Characteristic Number.
ATINN TYPE /BI0/OIATINN,
InfoObject: 0MDATE Date of Measurement.
MDATE TYPE /BI0/OIMDATE,
InfoObject: 0TIME Time.
TIME TYPE /BI0/OITIME,
InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
DESIRSI TYPE /BI0/OIDESIRSI,
InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
TVIND TYPE /BI0/OITVIND,
InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
MRMINI TYPE /BI0/OIMRMINI,
InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
*ing in SI Unit.
MRMINSI TYPE /BI0/OIMRMINSI,
InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
MRMAXI TYPE /BI0/OIMRMAXI,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
CJUMPSI TYPE /BI0/OICJUMPSI,
InfoObject: 0PYEARSI Annual Performance in SI Unit.
PYEARSI TYPE /BI0/OIPYEARSI,
InfoObject: 0CREATED_BY Created By.
CREATED_BY TYPE /BI0/OICREATED_BY,
InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
*it.
READSI TYPE /BI0/OIREADSI,
InfoObject: 0READEU Measured Value in Document Entry Unit.
READEU TYPE /BI0/OIREADEU,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
InfoObject: 0CNTRRSI Counter Reading in SI Unit.
CNTRRSI TYPE /BI0/OICNTRRSI,
InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
CDIFFSI TYPE /BI0/OICDIFFSI,
InfoObject: 0CAT_TYPE Catalog.
CAT_TYPE TYPE /BI0/OICAT_TYPE,
InfoObject: 0CAT_GROUP Code group.
CAT_GROUP TYPE /BI0/OICAT_GROUP,
InfoObject: 0FI_STATUS Processing Status.
FI_STATUS TYPE /BI0/OIFI_STATUS,
InfoObject: 0DIM_ID Dimension Key.
DIM_ID TYPE /BI0/OIDIM_ID,
InfoObject: 0CNTIND Measuring Point is Counter.
CNTIND TYPE /BI0/OICNTIND,
InfoObject: 0EQUIPMENT Equipment Number.
EQUIPMENT TYPE /BI0/OIEQUIPMENT,
InfoObject: 0FUNCT_LOC Functional Location.
FUNCT_LOC TYPE /BI0/OIFUNCT_LOC,
InfoObject: 0CAT_CODE Code.
CAT_CODE TYPE /BI0/OICAT_CODE,
InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
*ing in SI Unit.
MRMAXSI TYPE /BI0/OIMRMAXSI,
InfoObject: 0DOCAF Measurement Document Included for Associated T
*ask.
DOCAF TYPE /BI0/OIDOCAF,
InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
RECORDMODE TYPE RODMUPDMOD,
Field: RECNO Data record number.
RECNO TYPE RSARECORD,
END OF tys_SC_1_full.
TYPES:
tyt_SC_1_full TYPE STANDARD TABLE OF tys_SC_1_full
WITH NON-UNIQUE DEFAULT KEY.
TYPES:
BEGIN OF tys_TG_1_full,
Field: SID Master data ID.
SID TYPE RSSID,
Field: DATAPAKID Data packet number.
DATAPAKID TYPE RSDATAPID,
Field: RECORD Data record number.
RECORD TYPE RSARECORD,
InfoObject: 0MPOINT Measuring point.
MPOINT TYPE /BI0/OIMPOINT,
InfoObject: 0MDOC Measurement Document.
MDOC TYPE /BI0/OIMDOC,
InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
*ing in SI Unit.
MRMINSI TYPE /BI0/OIMRMINSI,
InfoObject: 0FI_STATUS Processing Status.
FI_STATUS TYPE /BI0/OIFI_STATUS,
InfoObject: 0DIM_ID Dimension Key.
DIM_ID TYPE /BI0/OIDIM_ID,
InfoObject: 0CNTIND Measuring Point is Counter.
CNTIND TYPE /BI0/OICNTIND,
InfoObject: 0EQUIPMENT Equipment Number.
EQUIPMENT TYPE /BI0/OIEQUIPMENT,
InfoObject: 0FUNCT_LOC Functional Location.
FUNCT_LOC TYPE /BI0/OIFUNCT_LOC,
InfoObject: 0CAT_CODE Code.
CAT_CODE TYPE /BI0/OICAT_CODE,
InfoObject: 0CAT_TYPE Catalog.
CAT_TYPE TYPE /BI0/OICAT_TYPE,
InfoObject: 0CAT_GROUP Code group.
CAT_GROUP TYPE /BI0/OICAT_GROUP,
InfoObject: 0CREATED_BY Created By.
CREATED_BY TYPE /BI0/OICREATED_BY,
InfoObject: 0MPOBJ Object Number of Measuring Point Object.
MPOBJ TYPE /BI0/OIMPOBJ,
InfoObject: 0READEU Measured Value in Document Entry Unit.
READEU TYPE /BI0/OIREADEU,
InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
CJUMPSI TYPE /BI0/OICJUMPSI,
InfoObject: 0PYEARSI Annual Performance in SI Unit.
PYEARSI TYPE /BI0/OIPYEARSI,
InfoObject: 0PSORT Position Number of Measuring Point in Object (
*Sort Field).
PSORT TYPE /BI0/OIPSORT,
InfoObject: 0ASSEMBLY Assembly.
ASSEMBLY TYPE /BI0/OIASSEMBLY,
InfoObject: 0ATINN Internal Characteristic Number.
ATINN TYPE /BI0/OIATINN,
InfoObject: 0MDATE Date of Measurement.
MDATE TYPE /BI0/OIMDATE,
InfoObject: 0TIME Time.
TIME TYPE /BI0/OITIME,
InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
TVIND TYPE /BI0/OITVIND,
InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
MRMINI TYPE /BI0/OIMRMINI,
InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
DESIRSI TYPE /BI0/OIDESIRSI,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0DESIREU Target Value for Measuring Point in Document
Entry Unit.
DESIREU TYPE /BI0/OIDESIREU,
InfoObject: 0CNTRRSI Counter Reading in SI Unit.
CNTRRSI TYPE /BI0/OICNTRRSI,
InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
CDIFFSI TYPE /BI0/OICDIFFSI,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
InfoObject: 0MRMINEU Lower Meas. Limit or Min. Total Counter Read
*ing Document UoM.
MRMINEU TYPE /BI0/OIMRMINEU,
InfoObject: 0MRMAXEU Upper Meas. Limit or Max. Total Counter Read
*ing in Doc. M.U..
MRMAXEU TYPE /BI0/OIMRMAXEU,
InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
MRMAXI TYPE /BI0/OIMRMAXI,
InfoObject: 0CNTRREU Counter Reading in Document Entry Unit.
CNTRREU TYPE /BI0/OICNTRREU,
InfoObject: 0CDIFFEU Counter Reading Difference in Document Entry
Unit.
CDIFFEU TYPE /BI0/OICDIFFEU,
InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
RECORDMODE TYPE RODMUPDMOD,
InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
*ing in SI Unit.
MRMAXSI TYPE /BI0/OIMRMAXSI,
InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
*it.
READSI TYPE /BI0/OIREADSI,
END OF tys_TG_1_full.
TYPES:
BEGIN OF tys_SC_1__RULE_34,
InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
DESIRSI TYPE /BI0/OIDESIRSI,
InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
TVIND TYPE /BI0/OITVIND,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1__RULE_34.
TYPES:
BEGIN OF tys_SC_1__RULE_35,
InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
MRMINI TYPE /BI0/OIMRMINI,
InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
*ing in SI Unit.
MRMINSI TYPE /BI0/OIMRMINSI,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1__RULE_35.
TYPES:
BEGIN OF tys_SC_1__RULE_36,
InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
MRMAXI TYPE /BI0/OIMRMAXI,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
*ing in SI Unit.
MRMAXSI TYPE /BI0/OIMRMAXSI,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1__RULE_36.
TYPES:
BEGIN OF tys_SC_1__RULE_37,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
InfoObject: 0CNTRRSI Counter Reading in SI Unit.
CNTRRSI TYPE /BI0/OICNTRRSI,
InfoObject: 0CNTIND Measuring Point is Counter.
CNTIND TYPE /BI0/OICNTIND,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1__RULE_37.
TYPES:
BEGIN OF tys_SC_1__RULE_38,
InfoObject: 0SIUNIT SI unit.
SIUNIT TYPE /BI0/OISIUNIT,
InfoObject: 0RECDU Unit of Measurement for Document Entry.
RECDU TYPE /BI0/OIRECDU,
InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
CDIFFSI TYPE /BI0/OICDIFFSI,
InfoObject: 0CNTIND Measuring Point is Counter.
CNTIND TYPE /BI0/OICNTIND,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1__RULE_38.
Additional types for start routine interface
TYPES:
data_package_structure type tys_SC_1_full.
Additional declaration for update rule interface
DATA:
MONITOR type standard table of rsmonitor WITH HEADER LINE,
MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
RECORD_NO LIKE SY-TABIX,
RECORD_ALL LIKE SY-TABIX,
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
global definitions from update rules
TABLES: ...
DATA: ...
*******DATA: G_T_0EQUIPMENT TYPE STANDARD TABLE OF /BI0/MEQUIPMENT.
data: lt_data type ref to data.
data: ls_data type ref to data.
field-symbols: <G_T_0EQUIPMENT> type standard table.
field-symbols: <G_S_0EQUIPMENT> type any.
field-symbols: <FUNCT_LOC> type any.
field-symbols: <DATEFROM> type any.
field-symbols: <DATETO> type any.
constants: c_tabname type rstlogotab value '/BI0/MEQUIPMENT'.
*& Form routine_9998
text
-->DATA_PACKAGE text
-->ABORT text
-->RAISING text
-->CX_SY_ARITHMETIC_ERROR text
-->CX_SY_CONVERSION_ERROR text
FORM routine_9998
TABLES DATA_PACKAGE TYPE tyt_SC_1_full
CHANGING
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
to make monitor entries
In this start routine missing functional location for
an equipment is added to a Data Package record, if it is available
in the master data of the equipment
create data lt_data type table of (c_tabname).
assign lt_data->* to <G_T_0EQUIPMENT>.
create data ls_data type (c_tabname).
assign ls_data->* to <G_S_0EQUIPMENT>.
assign component 'FUNCT_LOC' of structure <G_S_0EQUIPMENT> to
<FUNCT_LOC>.
assign component 'DATE_FROM' of structure <G_S_0EQUIPMENT> to
<DATEFROM>.
assign component 'DATE_TO' of structure <G_S_0EQUIPMENT> to
<DATETO>.
CALL FUNCTION 'RSAU_READ_MASTER_DATA'
EXPORTING
I_IOBJNM = '0EQUIPMENT'
I_FLG_WHOLE_TABLE = 'X'
IMPORTING
E_TABLE = <G_T_0EQUIPMENT>
EXCEPTIONS
READ_ERROR = 1
NO_SUCH_ATTRIBUTE = 2
WRONG_IMPORT_PARAMETERS = 3
CHAVL_NOT_FOUND = 4
OTHERS = 5.
CASE SY-SUBRC.
WHEN 0.
LOOP AT <G_T_0EQUIPMENT> INTO <G_S_0EQUIPMENT>.
IF <FUNCT_LOC> IS INITIAL.
DELETE <G_T_0EQUIPMENT>.
ENDIF.
master data collected and condensed
ENDLOOP.
LOOP AT DATA_PACKAGE.
IF ( DATA_PACKAGE-FUNCT_LOC IS INITIAL ) AND
( DATA_PACKAGE-EQUIPMENT IS NOT INITIAL ).
READ TABLE <G_T_0EQUIPMENT> WITH KEY
('EQUIPMENT') = DATA_PACKAGE-EQUIPMENT INTO <G_S_0EQUIPMENT>
IF SY-SUBRC = 0.
IF ( DATA_PACKAGE-MDATE >= <DATEFROM> )
AND ( DATA_PACKAGE-MDATE <= <DATETO> ).
record for equipment exists and valid
DATA_PACKAGE-FUNCT_LOC = <FUNCT_LOC>.
MODIFY DATA_PACKAGE.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
WHEN 4.
master data is not (yet) loaded
WHEN OTHERS.
problem occured, output as warning
MONITOR-MSGID = SY-MSGID.
MONITOR-MSGTY = 'W'.
MONITOR-MSGNO = SY-MSGNO.
MONITOR-MSGV1 = SY-MSGV1.
MONITOR-MSGV2 = SY-MSGV2.
MONITOR-MSGV3 = SY-MSGV3.
MONITOR-MSGV4 = SY-MSGV4.
APPEND MONITOR.
ENDCASE.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_9998
*& Form routine_0001
text
-->COMM_STRUCTURE text
-->RESULT text
-->RETURNCODE text
-->ABORT text
-->RAISING text
-->CX_SY_ARITHMETIC_ERROR text
-->CX_SY_CONVERSION_ERROR text
FORM routine_0001
USING
COMM_STRUCTURE type tys_SC_1__RULE_34
CHANGING
RESULT TYPE tys_TG_1_full-DESIREU
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
CLEAR RESULT.
IF COMM_STRUCTURE-TVIND = 'X'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = COMM_STRUCTURE-DESIRSI
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
UNIT_IN = COMM_STRUCTURE-SIUNIT
UNIT_OUT = COMM_STRUCTURE-RECDU
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
OUTPUT = RESULT
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MONITOR-MSGID = SY-MSGID.
MONITOR-MSGTY = 'W'.
MONITOR-MSGNO = SY-MSGNO.
MONITOR-MSGV1 = SY-MSGV1.
MONITOR-MSGV2 = SY-MSGV2.
MONITOR-MSGV3 = SY-MSGV3.
MONITOR-MSGV4 = SY-MSGV4.
APPEND MONITOR.
ENDIF.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0001
*& Form routine_0002
text
-->COMM_STRUCTURE text
-->RESULT text
-->RETURNCODE text
-->ABORT text
-->RAISING text
-->CX_SY_ARITHMETIC_ERROR text
-->CX_SY_CONVERSION_ERROR text
FORM routine_0002
USING
COMM_STRUCTURE type tys_SC_1__RULE_35
CHANGING
RESULT TYPE tys_TG_1_full-MRMINEU
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
CLEAR RESULT.
IF COMM_STRUCTURE-MRMINI = 'X'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = COMM_STRUCTURE-MRMINSI
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
UNIT_IN = COMM_STRUCTURE-SIUNIT
UNIT_OUT = COMM_STRUCTURE-RECDU
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
OUTPUT = RESULT
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MONITOR-MSGID = SY-MSGID.
MONITOR-MSGTY = 'W'.
MONITOR-MSGNO = SY-MSGNO.
MONITOR-MSGV1 = SY-MSGV1.
MONITOR-MSGV2 = SY-MSGV2.
MONITOR-MSGV3 = SY-MSGV3.
MONITOR-MSGV4 = SY-MSGV4.
APPEND MONITOR.
ENDIF.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0002
*& Form routine_0003
text
-->COMM_STRUCTURE text
-->RESULT text
-->RETURNCODE text
-->ABORT text
-->RAISING text
-->CX_SY_ARITHMETIC_ERROR text
-->CX_SY_CONVERSION_ERROR text
FORM routine_0003
USING
COMM_STRUCTURE type tys_SC_1__RULE_36
CHANGING
RESULT TYPE tys_TG_1_full-MRMAXEU
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
CLEAR RESULT.
IF COMM_STRUCTURE-MRMAXI = 'X'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = COMM_STRUCTURE-MRMAXSI
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
UNIT_IN = COMM_STRUCTURE-SIUNIT
UNIT_OUT = COMM_STRUCTURE-RECDU
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
OUTPUT = RESULT
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MONITOR-MSGID = SY-MSGID.
MONITOR-MSGTY = 'W'.
MONITOR-MSGNO = SY-MSGNO.
MONITOR-MSGV1 = SY-MSGV1.
MONITOR-MSGV2 = SY-MSGV2.
MONITOR-MSGV3 = SY-MSGV3.
MONITOR-MSGV4 = SY-MSGV4.
APPEND MONITOR.
ENDIF.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0003
*& Form routine_0004
text
-->COMM_STRUCTURE text
-->RESULT text
-->RETURNCODE text
-->ABORT text
-->RAISING text
-->CX_SY_ARITHMETIC_ERROR text
-->CX_SY_CONVERSION_ERROR text
FORM routine_0004
USING
COMM_STRUCTURE type tys_SC_1__RULE_37
CHANGING
RESULT TYPE tys_TG_1_full-CNTRREU
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
CLEAR RESULT.
IF COMM_STRUCTURE-CNTIND = 'X'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = COMM_STRUCTURE-CNTRRSI
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
UNIT_IN = COMM_STRUCTURE-SIUNIT
UNIT_OUT = COMM_STRUCTURE-RECDU
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
OUTPUT = RESULT
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MONITOR-MSGID = SY-MSGID.
MONITOR-MSGTY = 'W'.
MONITOR-MSGNO = SY-MSGNO.
MONITOR-MSGV1 = SY-MSGV1.
MONITOR-MSGV2 = SY-MSGV2.
MONITOR-MSGV3 = SY-MSGV3.
MONITOR-MSGV4 = SY-MSGV4.
APPEND MONITOR.
ENDIF.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0004
*& Form routine_0005
text
-->COMM_STRUCTURE text
-->RESULT text
-->RETURNCODE text
-->ABORT text
-->RAISING text
-->CX_SY_ARITHMETIC_ERROR text
-->CX_SY_CONVERSION_ERROR text
FORM routine_0005
USING
COMM_STRUCTURE type tys_SC_1__RULE_38
CHANGING
RESULT TYPE tys_TG_1_full-CDIFFEU
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
CLEAR RESULT.
IF COMM_STRUCTURE-CNTIND = 'X'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = COMM_STRUCTURE-CDIFFSI
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
UNIT_IN = COMM_STRUCTURE-SIUNIT
UNIT_OUT = COMM_STRUCTURE-RECDU
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
OUTPUT = RESULT
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MONITOR-MSGID = SY-MSGID.
MONITOR-MSGTY = 'W'.
MONITOR-MSGNO = SY-MSGNO.
MONITOR-MSGV1 = SY-MSGV1.
MONITOR-MSGV2 = SY-MSGV2.
MONITOR-MSGV3 = SY-MSGV3.
MONITOR-MSGV4 = SY-MSGV4.
APPEND MONITOR.
ENDIF.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0005
TYPES: BEGIN OF TY_/BI0/PMPOINT,
MPOINT TYPE /BI0/PMPOINT-MPOINT,
MRNGU TYPE /BI0/PMPOINT-MRNGU,
END of TY_/BI0/PMPOINT.
DATA: /BI0/PMPOINT_TEMP TYPE STANDARD TABLE OF
TY_/BI0/PMPOINT,
W_/BI0/PMPOINT_TEMP like line of /BI0/PMPOINT_TEMP.
$$ end of 2nd part global - insert your code only before this line *
CLASS routine IMPLEMENTATION
CLASS lcl_transform IMPLEMENTATION.
Method start_routine
Calculation of source package via start routine
<-> source package
METHOD start_routine.
*=== Segments ===
FIELD-SYMBOLS:
<SOURCE_FIELDS> TYPE tys_SC_1.
DATA:
MONITOR_REC TYPE rstmonitor.
*$*$ begin of routine - insert your code only below this line *-*
Data:
l_subrc type sy-tabix,
l_abort type sy-tabix,
ls_monitor TYPE rsmonitor,
ls_monitor_recno TYPE rsmonitors.
REFRESH:
MONITOR,
MONITOR_RECNO.
Runtime attributs
SOURCE_SYSTEM = p_r_request->get_logsys( ).
Migrated update rule call
Perform routine_9998
TABLES
SOURCE_PACKAGE
CHANGING
l_abort.
*-- Convert Messages in Transformation format
LOOP AT MONITOR_RECNO INTO ls_monitor_recno.
move-CORRESPONDING ls_monitor_recno to MONITOR_REC.
append monitor_rec to MONITOR.
ENDLOOP.
LOOP AT MONITOR INTO ls_monitor.
move-CORRESPONDING ls_monitor to MONITOR_REC.
append monitor_rec to MONITOR.
ENDLOOP.
IF l_abort <> 0.
RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
ENDIF.
$$ end of routine - insert your code only before this line -
ENDMETHOD. "start_routine
Method inverse_start_routine
This subroutine needs to be implemented only for direct access
(for better performance) and for the Report/Report Interface
(drill through).
The inverse routine should transform a projection and
a selection for the target to a projection and a selection
for the source, respectively.
If the implementation remains empty all fields are filled and
all values are selected.
METHOD inverse_start_routine.
$$ begin of inverse routine - insert your code only below this line-
... "insert your code here
$$ end of inverse routine - insert your code only before this line -
ENDMETHOD. "inverse_start_routine
ENDCLASS. "routine IMPLEMENTATION -
Dump Msg
With ABAP/4 Open SQL array select, the output table is too small.
What happened?
Error in ABAP application program.
The current ABAP program "ZFLEXI" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
My logic is :
*& Report : ZDLYDSPHNEW *
*& Purpose : Daily Godown dispatches with condition valu details *
REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
MESSAGE-ID SK .
TYPE-POOLS: SLIS,ABAP.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
TABLES : VBRK, "Billing document header detail
VBRP, "Billing document item details
MAKT, "Material Description
BHDGD,
MARA, "Material Master
KNA1, "Customer Master Table
TSPA,
J_1IEXCHDR.
FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
<DYN_WA>,
<DYN_FIELD>.
DATA: DY_TABLE TYPE REF TO DATA,
DY_LINE TYPE REF TO DATA,
XFC TYPE LVC_S_FCAT,
IFC TYPE LVC_T_FCAT,
DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
DATA: P_TABLE(30) TYPE C VALUE 'VBRK'.
Selection Screen Started
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
S_SPART FOR VBRK-SPART OBLIGATORY,
S_VBELN FOR VBRK-VBELN,
S_KUNAG FOR VBRK-KUNAG,
S_FKART FOR VBRK-FKART,
S_WERKS FOR VBRP-WERKS," obligatory,
S_VKBUR FOR VBRP-VKBUR,
S_VKORG FOR VBRK-VKORG OBLIGATORY,
S_VKGRP FOR VBRP-VKGRP, " sales group
S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
SELECTION-SCREEN END OF BLOCK B_1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B_2.
START-OF-SELECTION.
PERFORM GET_FIELDS.
PERFORM GET_STRUCTURE.
PERFORM NEW_DYNAMIC_TABLE.
PERFORM GET_OUTPUT_DATA.
PERFORM OUTPUT_WRITE.
PERFORM GENERATE_OUTPUT.
*& Form NEW_DYNAMIC_TABLE
text
--> p1 text
<-- p2 text
FORM NEW_DYNAMIC_TABLE .
Create dynamic internal table and assign to FS
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IFC
IMPORTING
EP_TABLE = DY_TABLE.
ASSIGN DY_TABLE->* TO <DYN_TABLE>.
Create dynamic work area and assign to FS
CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
ASSIGN DY_LINE->* TO <DYN_WA>.
PERFORM ASSIGN_VALUES-SELECTED.
ENDFORM. " NEW_DYNAMIC_TABLE
*& Form GENERATE_OUTPUT
text
--> p1 text
<-- p2 text
FORM GENERATE_OUTPUT .
ENDFORM. " GENERATE_OUTPUT
*& Form GET_BILLING_HEADER
text
--> p1 text
<-- p2 text
FORM GET_BILLING_HEADER .
SELECT * INTO CORRESPONDING FIELDS OF TABLE I_VBRK
FROM VBRK
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
LOOP AT I_VBRK.
ASSIGN I_VBRK TO <HEADER>.
ASSIGN I_VBRK TO <DATA_TAB>.
ASSIGN I_VBRK TO <F>.
CASE TITEL-FELDNAME.
WHEN OTHERS.
READ TABLE G_T_TEXTS_ALL
WITH KEY TABNAME = TITEL-TABNAME
FIELDNAME = TITEL-FIELD
INTO G_S_TEXT.
DATEN-DATEN = <HEADER>.
DATEN-DATEN = <DATAIN>.
MOVE-CORRESPONDING <HEADER> TO DATEN.
CLEAR DATEN-DATEN.
if titel-tabname+0(5) = 'VBRK'.
ASSIGN (TITEL-FELDNAME) TO <HEADER>.
DATEN-DATEN = <HEADER>.
ENDIF.
ENDCASE.
DATEN-ZEILE = ZEILE.
APPEND DATEN.
ENDLOOP.
ENDFORM. " GET_BILLING_HEADER
*& Form GET_STRUCTURE
text
--> p1 text
<-- p2 text
FORM GET_STRUCTURE .
DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
XDETAILS TYPE ABAP_COMPDESCR.
DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
Get the structure of the table.
REF_TABLE_DES ?=
CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
IDETAILS[] = REF_TABLE_DES->COMPONENTS.
LOOP AT IDETAILS INTO XDETAILS.
CLEAR XFC.
XFC-FIELDNAME = XDETAILS-NAME .
XFC-DATATYPE = XDETAILS-TYPE_KIND.
XFC-INTTYPE = XDETAILS-TYPE_KIND.
XFC-INTLEN = XDETAILS-LENGTH.
XFC-DECIMALS = XDETAILS-DECIMALS.
APPEND XFC TO IFC.
ENDLOOP.
ENDFORM. " GET_STRUCTURE
*& Form GET_OUTPUT_DATA
text
--> p1 text
<-- p2 text
FORM GET_OUTPUT_DATA .
Select Data from table.
SELECT * INTO TABLE <DYN_TABLE>
FROM ( VBRK )
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
ENDFORM. " GET_OUTPUT_DATA
*& Form OUTPUT_WRITE
text
--> p1 text
<-- p2 text
FORM OUTPUT_WRITE .
LOOP AT <DYN_TABLE> INTO <DYN_WA>.
DO.
ASSIGN COMPONENT SY-INDEX
OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
IF SY-SUBRC EQ 0.
EXIT.
ENDIF.
IF SY-INDEX = 1.
WRITE:/ <DYN_FIELD>.
ELSE.
WRITE: <DYN_FIELD>.
ENDIF.
ENDDO.
ENDLOOP.
ENDFORM. " OUTPUT_WRITE
Edited by: ABHUT on May 27, 2008 11:34 AMDump Msg
With ABAP/4 Open SQL array select, the output table is too small.
What happened?
Error in ABAP application program.
The current ABAP program "ZFLEXI" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
My logic is :
*& Report : ZDLYDSPHNEW *
*& Purpose : Daily Godown dispatches with condition valu details *
REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
MESSAGE-ID SK .
TYPE-POOLS: SLIS,ABAP.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
TABLES : VBRK, "Billing document header detail
VBRP, "Billing document item details
MAKT, "Material Description
BHDGD,
MARA, "Material Master
KNA1, "Customer Master Table
TSPA,
J_1IEXCHDR.
FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
<DYN_WA>,
<DYN_FIELD>.
DATA: DY_TABLE TYPE REF TO DATA,
DY_LINE TYPE REF TO DATA,
XFC TYPE LVC_S_FCAT,
IFC TYPE LVC_T_FCAT,
DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
DATA: P_TABLE(30) TYPE C VALUE 'VBRK'.
Selection Screen Started
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
S_SPART FOR VBRK-SPART OBLIGATORY,
S_VBELN FOR VBRK-VBELN,
S_KUNAG FOR VBRK-KUNAG,
S_FKART FOR VBRK-FKART,
S_WERKS FOR VBRP-WERKS," obligatory,
S_VKBUR FOR VBRP-VKBUR,
S_VKORG FOR VBRK-VKORG OBLIGATORY,
S_VKGRP FOR VBRP-VKGRP, " sales group
S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
SELECTION-SCREEN END OF BLOCK B_1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B_2.
START-OF-SELECTION.
PERFORM GET_FIELDS.
PERFORM GET_STRUCTURE.
PERFORM NEW_DYNAMIC_TABLE.
PERFORM GET_OUTPUT_DATA.
PERFORM OUTPUT_WRITE.
PERFORM GENERATE_OUTPUT.
*& Form NEW_DYNAMIC_TABLE
text
--> p1 text
<-- p2 text
FORM NEW_DYNAMIC_TABLE .
Create dynamic internal table and assign to FS
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IFC
IMPORTING
EP_TABLE = DY_TABLE.
ASSIGN DY_TABLE->* TO <DYN_TABLE>.
Create dynamic work area and assign to FS
CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
ASSIGN DY_LINE->* TO <DYN_WA>.
PERFORM ASSIGN_VALUES-SELECTED.
ENDFORM. " NEW_DYNAMIC_TABLE
*& Form GENERATE_OUTPUT
text
--> p1 text
<-- p2 text
FORM GENERATE_OUTPUT .
ENDFORM. " GENERATE_OUTPUT
*& Form GET_STRUCTURE
text
--> p1 text
<-- p2 text
FORM GET_STRUCTURE .
DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
XDETAILS TYPE ABAP_COMPDESCR.
DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
Get the structure of the table.
REF_TABLE_DES ?=
CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
IDETAILS[] = REF_TABLE_DES->COMPONENTS.
LOOP AT IDETAILS INTO XDETAILS.
CLEAR XFC.
XFC-FIELDNAME = XDETAILS-NAME .
XFC-DATATYPE = XDETAILS-TYPE_KIND.
XFC-INTTYPE = XDETAILS-TYPE_KIND.
XFC-INTLEN = XDETAILS-LENGTH.
XFC-DECIMALS = XDETAILS-DECIMALS.
APPEND XFC TO IFC.
ENDLOOP.
ENDFORM. " GET_STRUCTURE
*& Form GET_OUTPUT_DATA
text
--> p1 text
<-- p2 text
FORM GET_OUTPUT_DATA .
Select Data from table.
SELECT * INTO TABLE <DYN_TABLE>
FROM ( VBRK )
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
ENDFORM. " GET_OUTPUT_DATA
*& Form OUTPUT_WRITE
text
--> p1 text
<-- p2 text
FORM OUTPUT_WRITE .
LOOP AT <DYN_TABLE> INTO <DYN_WA>.
DO.
ASSIGN COMPONENT SY-INDEX
OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
IF SY-SUBRC EQ 0.
EXIT.
ENDIF.
IF SY-INDEX = 1.
WRITE:/ <DYN_FIELD>.
ELSE.
WRITE: <DYN_FIELD>.
ENDIF.
ENDDO.
ENDLOOP.
ENDFORM. " OUTPUT_WRITE
Edited by: ABHUT on May 27, 2008 11:34 AM -
hi,
i HAD MADE A REPORET IN which i havce to display the bolck stock ,it is giving runtime error as i had added 1 more table,plzz help me out as it is really urgent to me. here is d code:-
*& Report ZDEMO_SMARTFORM_COPY
REPORT ZDEMO_SMARTFORM_COPY.
TABLES: MCHB,MARA,T001W.
DATA: BEGIN OF ITAB OCCURS 0,
ITEMID LIKE MARD-MATNR,
SPEME LIKE MARD-SPEME,
WERKS LIKE MARD-SPEME,
LGORT LIKE MARD-LGORT,
NTGEW LIKE MARA-NTGEW,
MEINS LIKE MARA-MEINS,
GEWEI LIKE MARA-GEWEI,
CHARG LIKE MCHB-CHARG,
WTKG LIKE MARA-NTGEW,
STOCK TYPE P LENGTH 10 DECIMALS 3,
DESC LIKE MAKT-MAKTX,
TOTWT LIKE MARD-SPEME,
WT TYPE P LENGTH 12 DECIMALS 3,
END OF ITAB.
ITEMID LIKE MCHB-MATNR,
CSPEM LIKE MCHB-CSPEM,
CHARG LIKE MCHB-CHARG,
WERKS LIKE MCHB-WERKS,
*PARAMETERS : PLANT LIKE MCHB-WERKS OBLIGATORY.
PARAMETERS : PLANT LIKE MARD-WERKS OBLIGATORY.
DATA : DESC LIKE MAKT-MAKTX.
SELECT AMATNR ASPEME AWERKS ALGORT BNTGEW BMEINS BGEWEI CCHARG FROM MARD AS A
INNER JOIN MARA AS B ON BMATNR = AMATNR
INNER JOIN MCHB AS C ON CMATNR = AMATNR
INTO TABLE ITAB WHERE AWERKS = PLANT AND ASPEME > 0.
SELECT AMATNR ACSPEM ACHARG AWERKS BNTGEW BMEINS B~GEWEI FROM MCHB AS A
INNER JOIN MARA AS B ON BMATNR = AMATNR
INTO TABLE ITAB WHERE AWERKS = PLANT AND ACSPEM > 0.
WRITE: / 'ITEMID DESCRIPTION STOCK.QTY BATCH NO. NETWT TOTAL.WEIGHT '.
ULINE.
LOOP AT ITAB.
IF ITAB-NTGEW <> 0 .
CALL FUNCTION 'ZGET_ITEM_WEIGHT'
EXPORTING
P_BUID = ITAB-WERKS
P_ITEMID = ITAB-ITEMID
P_QTY = ITAB-NTGEW
P_UOM = ITAB-GEWEI
P_UOM1 = 'KG'
IMPORTING
P_RETVAL = ITAB-WTKG.
ENDIF.
CONVERTING ITEM QTY IN KG
ITAB-WT = ITAB-STOCK.
IF ITAB-MEINS = 'G'.
ITAB-WT = ITAB-STOCK / 1000000.
ELSEIF ITAB-MEINS = 'KG'.
ITAB-WT = ITAB-STOCK / 1000.
ELSEIF ITAB-MEINS = 'TO'.
ITAB-WT = ITAB-STOCK * ITAB-WTKG / 1000.
ENDIF.
ITAB-TOTWT = ITAB-WTKG * ITAB-CSPEM.
ITAB-TOTWT = ITAB-WTKG * ITAB-SPEME.
SELECT SINGLE MAKTX FROM MAKT INTO DESC WHERE MATNR = ITAB-ITEMID.
WRITE:/ ITAB-ITEMID,15 DESC,50 ITAB-SPEME,ITAB-CHARG,ITAB-WTKG,ITAB-TOTWT.
MODIFY ITAB.
ENDLOOP.HI,
i had tried to ftech data from mard and it isgiving runtime error. dis is the code:-
TABLES: MCHB,MARA,MARD.
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARD-MATNR,
SPEME LIKE MARD-SPEME,
WERKS LIKE MARD-SPEME,
LGORT LIKE MARD-LGORT,
END OF ITAB.
SELECT MATNR SPEME WERKS LGORT FROM MARD INTO CORRESPONDING FIELDS OF TABLE ITAB.
LOOP AT ITAB.
WRITE:/ ITAB-MATNR,ITAB-SPEME,ITAB-WERKS,ITAB-LGORT.
ENDLOOP. -
Purchase Order Crystal Report Layout Error
The stock Crystal Report Layout for Purchase Orders is giving me the following error:
A subscript must be between 1 and the size of the array.
Details: errorKind
Error in File POR20002 {b89f97ad-bf1f-447b-8bb4-b3d2e5219269}
{3C375C81-7D37-475D-9BCB-1703CE533B65}.rpt
Error in formula N_Decimal_Places:
'// To get the length of decimals
A subscript must be between 1 and the size of the array.
Details: errorKind
I looked in the Crystal Reports Formula fields and could not find N_Decimal_Places.
Has any one else had the problem with the PO layout that comes with Business One? If so, how did you fix it?Couldn't find how to copy the PO layout over using copy express.
I did compare the RDOC fields for POR20002 in both databases and they are Identical.
In Crystal Reports, I did a formula search for N_Decimal_Places and it found nothing. Then I did a search for 'length' in all formulas and it finds length in N_Decimal_Places. When I double click on N_Decimal_Places it clears the screen and never shows the formula. This happens in both layouts for my test database and SBODemoUS.
Again, SBODemoUS works correctly and AAA_TEST give the error. -
Dump when changing the value for a field (of 13 decimals) in alv grid.
Hi Group,
Its giving a dump when user is trying to change the value.
dump description: Unable to interpret "70,000 " as a number.
what is happening here is, the original value is 50,000 and he is deleting 5 and replacing it with 7, here its throwing the dump.
If he removes the complete number 50,000 and then gives 70000 its taking the value.
I tried to use, the decimals options in alv field catalog but to no joy.
Please can you give me an advice on this.
Many Thanks.the problem is the comma in the 70,000....that's an alpha character.... Normally, we expect SAP to display numeric fields in a appropriate format, based upon their numeric type, but trying to forcibly insert '70,000' into a true numeric-type field can generate an 'unable to interpret xxx,xxxx as number' error.
You could experiment with changing your ALV column to a char17 (or appropriate width) and putting your numeric value into that to display, then converting back to type P, or other field type in the table, in a column that is not displayed, when the user changes the value.... essentially two columns, one not displayed with a routine to copy/convert the numeric field into the alpha field and the reverse when the field is changed.
But, the better solution is probably for the user to understand that they're seeing a formatted numeric field, and that they need to replace the entire value with the only possible punctuation being a decimal and (if necessary) a negative sign. -
Sales order schedule line quantities in decimals
Gurus - Required your help to resolve the following scenario.
I'm facing with the problem where schedule lines of a sales order allocated with decimal quantities even though materials with UOM as EA(Each). For example Material A of sales qty 13 has the schedule lines allocated as 11.960 and 2.040. The delivery has been created as per the schedule lines with qty 11.960 and 2.040 and it has been pick/packed and delivered to the customer. Now, while issuing goods for the delivery, received the error message as <b>"Serial number management only allows whole numbers".</b>
Can anyone provide what are the possible ways to round the delivered qty and issue the goods, when the delivery is complete?Sree - Question 1 - Why would you deliver the product and then try goods issue it (In general ;)...anyway....I know, a lot of companies do that way....
Question 2 - How much exactly did you ship out, surely must not have shipped products in decimals, since you've EACHES defined and not KGs....or LBs...
I would suggest finding out the correct quantities shipped out and then cancelling this delivery document....you can then go on to modify sales order schedule line accordingly and then process it again..."WHAT ABOUT PICK PACK DETAILS"....before cancelling this delivery doc out..capture the packing details (HUs) and then apply them to the new delivery doc... if you are using external system for packing HUs.....process the IDOC (or file etc) using the new delivery doc number....
Hope you got the direction )
Thanks
Nikhil -
Error while posting MIRO document
Dear All
When i try to post the invoice through MIRO transactions, i get short dump. I am posting this invoice with 3 decimals for example 1.235
Overflow during the arithmetical operation (type P) in program "SAPLFDMM".
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_ARITHMETIC_OVERFLOW', was not
caught in
procedure "DETERMINE_AMOUNTS" "(FORM)", nor was it propagated by a RAISING
clause.
If you have access to the SAP notes system first try searching with the
following keywords:
"COMPUTE_BCD_OVERFLOW"
"BCD_FIELD_OVERFLOW" (Until release 4.0a, this runtime error occurred at this
position)
"SAPLFDMM" or "LFDMMF00"
"DETERMINE_AMOUNTS"
Please help..Hi,
Try Changing the settings for the following
System --> User Profile --> Own Data --> Maintain User Profile
In the defaults tab change the Decimal Notation and then do the MIRO transaction.
I remember similar kind of dump which we were getting and it got resolved by changing the Default Decimal Notation..
Just try for remaining values of the decimal notations and execute the MIRO transaction..
Just try this...
Regards
Sindo Ouspeh -
Error while sending PO output through mail in PDF format - Urgent
Dear friends,
Developed program to send sapscript output through mail in pdf format, the program running properly, even function module SO_NEW_DOCUMENT_ATT_SEND_API1 returning sy-subrc 0. But the external mail is not going to user lying in SAP outbox with message <b>"Wait for communications service"</b> . SCOT is properly configured, tested mails sending through SAP office.
Find below the source code:
REPORT zmm_porder_gm
NO STANDARD PAGE HEADING.
TABLES: ekko, ekpa, t161t, t052, komv, j_1imocomp, t001, esll.
Internal Tables
DATA : txt LIKE tline-tdline, "HEADER LINE
your_ref LIKE ekko-ihrez, "your ref
our_ref LIKE ekko-unsez, "our ref
mcompname LIKE t001-butxt,
itemname LIKE ekpo-txz01,
del_text LIKE tline-tdline, "delivery text
mat_po_text LIKE tline-tdline. "material po text
DATA: g_ind TYPE i.
DATA: it_esll LIKE esll OCCURS 0 WITH HEADER LINE.
DATA: sub_packno LIKE esll-sub_packno.
DATA : po_flag(1) TYPE c.
DATA : it_erev LIKE erev OCCURS 0 WITH HEADER LINE.
DATA : nmebeln LIKE thead-tdname,
obj LIKE thead-tdname.
DATA : tline LIKE tline OCCURS 0 WITH HEADER LINE. "HEADER TEXT
DATA : it_ekko LIKE ekko OCCURS 0 WITH HEADER LINE.
DATA : it_ekpo LIKE ekpo OCCURS 0 WITH HEADER LINE.
DATA : it_zmm_porder LIKE zmm_porder OCCURS 0 WITH HEADER LINE.
DATA : it_konv LIKE konv OCCURS 0 WITH HEADER LINE.
DATA : it_konv_ftr LIKE konv OCCURS 0 WITH HEADER LINE.
DATA : it_konv_rate LIKE konv OCCURS 0 WITH HEADER LINE.
DATA : it_komv_tax LIKE komv OCCURS 0 WITH HEADER LINE. " For Tax Calculation
DATA : it_zmm_house_bank LIKE zmm_house_bank OCCURS 0 WITH HEADER LINE.
*DATA : mrate TYPE konv-kbetr VALUE 0, mrate1(15). rmoved by ganes and added following logic
DATA : mrate TYPE p VALUE 0 DECIMALS 2, mrate1(15).
DATA : mrate_gm TYPE p DECIMALS 2.
DATA : BEGIN OF it_konv1 OCCURS 0,
knumv LIKE konv-knumv,
kschl LIKE konv-kschl,
END OF it_konv1.
DATA : BEGIN OF it_t052u OCCURS 0.
INCLUDE STRUCTURE t052u.
DATA : END OF it_t052u.
DATA : mpay_terms LIKE t052u-text1.
DATA : mwaers LIKE konv-waers.
DATA : BEGIN OF xt052 OCCURS 0.
INCLUDE STRUCTURE t052.
DATA : END OF xt052.
DATA : it_t16ct LIKE t16ct OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF ztext OCCURS 0.
INCLUDE STRUCTURE ttext.
DATA : END OF ztext.
DATA : it_t001 LIKE t001 OCCURS 0 WITH HEADER LINE.
DATA : mtext(15) TYPE c.
DATA : it_adrc LIKE adrc OCCURS 0 WITH HEADER LINE.
DATA : it_adrc_ven LIKE adrc OCCURS 0 WITH HEADER LINE.
DATA : it_adrc_plt LIKE adrc OCCURS 0 WITH HEADER LINE.
DATA : it_makt LIKE makt OCCURS 0 WITH HEADER LINE.
DATA : it_eket LIKE eket OCCURS 0 WITH HEADER LINE. " Schedulling
DATA : it_eikp LIKE eikp OCCURS 0 WITH HEADER LINE. " Export
DATA : it_t001w LIKE t001w OCCURS 0 WITH HEADER LINE.
DATA : it_t685t LIKE t685t OCCURS 0 WITH HEADER LINE.
DATA : it_t618t LIKE t618t OCCURS 0 WITH HEADER LINE.
DATA : it_t685t_ftr LIKE t685t OCCURS 0 WITH HEADER LINE.
DATA : it_lfa1 LIKE lfa1 OCCURS 0 WITH HEADER LINE.
DATA : it_bapi_mltx_ga LIKE bapi_mltx_ga OCCURS 0 WITH HEADER LINE. "Material long text
DATA : mfirst TYPE i VALUE 0,
mpay_flag(1) TYPE c VALUE 'X',
mwerks LIKE t001w-werks,
msr TYPE i VALUE 0,
l_rate TYPE p DECIMALS 2 VALUE 0,
l_amt TYPE p DECIMALS 2 VALUE 0,
mflag(1) TYPE c,
mlctr TYPE i VALUE 0,
mfamt TYPE p DECIMALS 2 VALUE 0,
mcfamt(15) TYPE c,
mfword(100) TYPE c,
mkschl LIKE konv-kschl,
mchgamt TYPE p DECIMALS 2 VALUE 0,
mkbetr TYPE p DECIMALS 2 VALUE 0,
mkwert TYPE p DECIMALS 2 VALUE 0.
DATA : j_1iexcd TYPE j_1imocomp-j_1iexcd,
j_1icstno TYPE j_1imocomp-j_1icstno,
j_1ilstno TYPE j_1imocomp-j_1ilstno.
DATA : mjmop_r TYPE p DECIMALS 2 VALUE 0,
mjmoq_r TYPE p DECIMALS 2 VALUE 0,
mjecs_r TYPE p DECIMALS 2 VALUE 0,
mjvcs_r TYPE p DECIMALS 2 VALUE 0,
mjvrd_r TYPE p DECIMALS 2 VALUE 0,
mjsep_r TYPE p DECIMALS 2 VALUE 0.
DATA : mjmop_a TYPE p DECIMALS 2 VALUE 0,
mjmoq_a TYPE p DECIMALS 2 VALUE 0,
mjecs_a TYPE p DECIMALS 2 VALUE 0,
mjvcs_a TYPE p DECIMALS 2 VALUE 0,
mjvrd_a TYPE p DECIMALS 2 VALUE 0,
mjsep_a TYPE p DECIMALS 2 VALUE 0.
DATA : mtitle LIKE t161t-batxt.
DATA : no_ammend(10),request_by(50),ver_txt(100),ver_reason(100),stext(200).
begin of Email data declarations**************
DATA: BEGIN OF otf OCCURS 0.
INCLUDE STRUCTURE itcoo .
DATA: END OF otf.
DATA: itcpo LIKE itcpo.
DATA: itcpp LIKE itcpp.
DATA: it_docs TYPE STANDARD TABLE OF docs,
v_bin_filesize TYPE i,
it_lines TYPE STANDARD TABLE OF tline,
wa_lines TYPE tline.
DATA : i_pdf LIKE tline OCCURS 1000 WITH HEADER LINE,
v_pdf_bytecount TYPE i,
v_pdf_spoolid TYPE tsp01-rqident,
v_otf_pagecount TYPE i,
v_btc_jobname TYPE tbtcjob-jobname,
v_btc_jobcount TYPE tbtcjob-jobcount.
DATA: objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE.
DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
DATA: objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
DATA: reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
DATA: doc_chng LIKE sodocchgi1.
DATA: tab_lines LIKE sy-tabix.
DATA: vafilename(100) VALUE 'po_output.pdf'.
DATA: jobdata TYPE sxjobdata.
DATA arc_params TYPE arc_params.
DATA print_params TYPE pri_params.
DATA g_send_prog TYPE syrepid VALUE 'ZVF03_TEST_PROG'.
DATA immediate TYPE btcchar1.
DATA: i_jobname TYPE tbtcp-jobname,
i_jobcount TYPE tbtcp-jobcount,
i_jobstepcount TYPE tbtcp-stepcount.
DATA recipient_obj LIKE swotobjid.
CONSTANTS: sx_true TYPE sx_boolean VALUE 'X'.
TABLES: tbtcp.
end of Email data declarations**************
SELECTION-SCREEN : BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : mebeln FOR ekko-ebeln OBLIGATORY . " 75
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 12.
SELECTION-SCREEN COMMENT (20) text-b01.
PARAMETERS: b1 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK block1.
SELECTION-SCREEN: BEGIN OF SCREEN 200 TITLE text-001 AS WINDOW.
PARAMETERS : p_email TYPE ad_smtpadr. "E-Mail Address
SELECTION-SCREEN: END OF SCREEN 200.
INITIALIZATION.
SET PF-STATUS 'ZMMPORD_STAT'.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'EMAIL'.
PERFORM zemail.
WHEN '&IC1'.
PERFORM load_data.
PERFORM process.
IF NOT p_email IS INITIAL.
PERFORM send_mail.
ENDIF.
ENDCASE.
*START-OF-SELECTION.
PERFORM load_data.
PERFORM process.
FORM load_data .
DATA : gindex LIKE sy-tabix.
SELECT * FROM t16ct INTO TABLE it_t16ct WHERE spras = 'EN'.
SELECT * FROM ekko INTO TABLE it_ekko WHERE ebeln IN mebeln.
IF sy-subrc EQ 0.
SELECT * FROM erev INTO CORRESPONDING FIELDS OF TABLE it_erev FOR ALL ENTRIES IN it_ekko
WHERE edokn = it_ekko-ebeln AND rscod <> '' .
SORT it_erev BY edokn revno DESCENDING.
LOOP AT it_ekko.
IF NOT ( it_ekko-frgke EQ 'O' OR it_ekko-frgke EQ '0' ) .
MESSAGE e000(zsd) WITH 'Purchase Order is not Realeased'.
ENDIF.
ENDLOOP.
SELECT * FROM ekpo INTO TABLE it_ekpo WHERE ebeln IN mebeln.
IF sy-subrc EQ 0.
SELECT * INTO TABLE it_makt
FROM makt
FOR ALL ENTRIES IN it_ekpo
WHERE matnr EQ it_ekpo-matnr.
SELECT * INTO TABLE it_lfa1
FROM lfa1
FOR ALL ENTRIES IN it_ekko
WHERE lifnr EQ it_ekko-lifnr.
ENDIF.
SELECT *
INTO TABLE it_t052u
FROM t052u
FOR ALL ENTRIES IN it_ekko
WHERE zterm EQ it_ekko-zterm
AND spras EQ 'EN'.
IF sy-subrc EQ 0.
SORT it_t052u BY zterm.
ENDIF.
SELECT * FROM eket INTO TABLE it_eket WHERE ebeln IN mebeln.
IF sy-subrc EQ 0.
SORT it_eket BY ebeln ebelp.
ENDIF.
SELECT *
INTO TABLE it_eikp
FROM eikp
FOR ALL ENTRIES IN it_ekko
WHERE exnum EQ it_ekko-exnum.
IF sy-subrc EQ 0.
SORT it_eikp BY exnum.
SELECT *
INTO TABLE it_t618t
FROM t618t
FOR ALL ENTRIES IN it_eikp
WHERE expvz EQ it_eikp-expvz
AND spras EQ 'E'
AND land1 EQ 'IN'.
IF sy-subrc EQ 0.
SORT it_t618t BY expvz.
ENDIF.
ENDIF.
REFRESH : it_zmm_porder.
CLEAR : it_zmm_porder.
SELECT * INTO TABLE it_zmm_porder
FROM zmm_porder
WHERE flag EQ 'L'.
IF sy-subrc EQ 0.
SORT it_zmm_porder BY kschl.
ENDIF.
SELECT * FROM konv INTO TABLE it_konv
FOR ALL ENTRIES IN it_ekko
WHERE knumv = it_ekko-knumv
AND kwert NE 0.
LOOP AT it_konv.
gindex = sy-tabix.
READ TABLE it_zmm_porder WITH KEY kschl = it_konv-kschl BINARY SEARCH.
IF sy-subrc NE 0.
DELETE it_konv INDEX gindex.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0.
SORT it_konv BY knumv kherk kschl.
ENDIF.
REFRESH : it_zmm_porder.
CLEAR : it_zmm_porder.
SELECT * INTO TABLE it_zmm_porder
FROM zmm_porder
WHERE flag EQ 'F'.
IF sy-subrc EQ 0.
SORT it_zmm_porder BY kschl.
ENDIF.
SELECT * INTO TABLE IT_KONV_FTR FROM KONV
FOR ALL ENTRIES IN IT_EKKO
WHERE KNUMV = IT_EKKO-KNUMV
AND ( KSCHL = 'ZIN1'
OR KSCHL = 'ZIN2'
OR KSCHL = 'ZINS'
OR KSCHL = 'ZPF1'
OR KSCHL = 'ZPF2'
OR KSCHL = 'ZPF3'
OR KSCHL = 'ZPKG'
OR KSCHL = 'ZPKF'
OR KSCHL = 'FRA1'
OR KSCHL = 'FRB1'
OR KSCHL = 'FRC1'
OR KSCHL = 'FRD1'
OR KSCHL = 'FRD2'
OR KSCHL = 'FRD3'
OR KSCHL = 'FRD4'
OR KSCHL = 'FRD5'
*****Added one condition type below ZFBC as on 05.06.2007 :Rajiv as per mail of Sadiq via mathew sir(RTDK906646)
OR KSCHL = 'ZFBC' )
AND KWERT NE 0
AND KPOSN GT '000000'.
AND ( KRECH = 'B' " RTDK906167
OR KRECH = 'A' ).
SELECT * INTO TABLE it_konv_ftr FROM konv
FOR ALL ENTRIES IN it_ekko
WHERE knumv = it_ekko-knumv
AND kwert NE 0
AND kposn GT '000000'.
LOOP AT it_konv_ftr.
gindex = sy-tabix.
READ TABLE it_zmm_porder WITH KEY kschl = it_konv_ftr-kschl BINARY SEARCH.
IF sy-subrc NE 0.
DELETE it_konv_ftr INDEX gindex.
ENDIF.
ENDLOOP.
IF it_konv_ftr[] IS NOT INITIAL.
SORT it_konv_ftr BY knumv kschl.
ENDIF.
SELECT KNUMV KSCHL INTO CORRESPONDING FIELDS OF TABLE IT_KONV1 FROM KONV
FOR ALL ENTRIES IN IT_EKKO
WHERE KNUMV = IT_EKKO-KNUMV
and kherk = 'D'
AND ( KSCHL = 'ZIN1'
OR KSCHL = 'ZIN2'
OR KSCHL = 'ZINS'
OR KSCHL = 'ZPF1'
OR KSCHL = 'ZPF2'
OR KSCHL = 'ZPF3'
OR KSCHL = 'ZPKG'
OR KSCHL = 'ZPKF'
OR KSCHL = 'FRA1'
OR KSCHL = 'FRB1'
OR KSCHL = 'FRC1'
OR KSCHL = 'FRD1'
OR KSCHL = 'FRD2'
OR KSCHL = 'FRD3'
OR KSCHL = 'FRD4'
OR KSCHL = 'FRD5'
*****Added one condition type below ZFBC as on 05.06.2007 :Rajiv as per mail of Sadiq via mathew sir(RTDK906646)
OR KSCHL = 'ZFBC' )
AND KWERT NE 0.
AND ( KRECH = 'B' RTDK906167
OR KRECH = 'A' ).
SELECT knumv kschl INTO CORRESPONDING FIELDS OF TABLE it_konv1 FROM konv
FOR ALL ENTRIES IN it_ekko
WHERE knumv = it_ekko-knumv
AND kwert NE 0.
DELETE ADJACENT DUPLICATES FROM it_konv1 COMPARING knumv kschl.
LOOP AT it_konv1.
gindex = sy-tabix.
READ TABLE it_zmm_porder WITH KEY kschl = it_konv1-kschl BINARY SEARCH.
IF sy-subrc NE 0.
DELETE it_konv1 INDEX gindex.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0.
SORT it_konv1 BY knumv kschl.
ENDIF.
SELECT * INTO TABLE it_t685t
FROM t685t
FOR ALL ENTRIES IN it_konv
WHERE kschl EQ it_konv-kschl
AND kappl EQ it_konv-kappl
AND spras EQ 'E'.
SELECT * INTO TABLE it_t685t_ftr
FROM t685t
FOR ALL ENTRIES IN it_konv_ftr
WHERE kschl EQ it_konv_ftr-kschl
AND kappl EQ it_konv_ftr-kappl
AND spras EQ 'E'.
it_t685t_ftr-kschl = 'JVCS'.
it_t685t_ftr-vtext = 'IN CST in vat'.
APPEND it_t685t_ftr.
SELECT * INTO TABLE it_zmm_house_bank
FROM zmm_house_bank
WHERE ebeln IN mebeln.
ELSE.
MESSAGE e899(mm) WITH 'Data not found for selection criteria...'.
ENDIF.
ENDFORM. " Load_data
FORM process .
DATA : mctr TYPE i VALUE 1.
DATA : gindex LIKE sy-tabix.
DATA : mline(75) TYPE c.
DATA : mlifn2 LIKE ekpa-lifn2.
DATA : mv_name LIKE lfa1-name1,
madrnr LIKE lfa1-adrnr.
CLEAR itcpo.
itcpo-tdgetotf = 'X'.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = 'ZMM_PORDER'
language = sy-langu
OPTIONS = itcpo
dialog = ' '
EXCEPTIONS
OTHERS = 1.
LOOP AT it_ekko.
CALL FUNCTION 'START_FORM'
EXPORTING
form = 'ZMM_PORDER'.
SELECT SINGLE *
FROM t001
INTO it_t001
WHERE bukrs EQ it_ekko-bukrs.
mcompname = it_t001-butxt.
TRANSLATE mcompname TO UPPER CASE.
Document Type
SELECT SINGLE batxt
INTO mtitle
FROM t161t
WHERE bstyp EQ 'F'
AND spras EQ 'E'
AND bsart EQ it_ekko-bsart.
REFRESH it_adrc.
SELECT SINGLE werks
INTO mwerks
FROM ekpo
WHERE ebeln EQ it_ekko-ebeln.
SELECT SINGLE *
INTO it_t001w
FROM t001w
WHERE werks EQ mwerks.
REFRESH it_adrc.
SELECT SINGLE *
INTO it_adrc_plt
FROM adrc
WHERE addrnumber EQ it_t001w-adrnr.
REFRESH : xt052.
mfamt = 0.
msr = 0.
in 500c this statement failed.
SELECT SINGLE * FROM T052 INTO XT052 WHERE ZTERM = IT_EKKO-ZTERM.
CALL FUNCTION 'FI_TEXT_ZTERM'
EXPORTING
I_T052 = XT052
TABLES
T_ZTEXT = ZTEXT.
As per Preeti... Shipment address should be shown on top as purchase order company address. 27.04.
PERFORM writeform USING 'PLANT' 'PLANT'.
SELECT SINGLE name1 adrnr
INTO (mv_name,madrnr)
FROM lfa1
WHERE lifnr EQ it_ekko-lifnr.
REFRESH it_adrc[].
CLEAR it_adrc[].
FREE it_adrc[].
SELECT SINGLE *
INTO it_adrc_ven
FROM adrc
WHERE addrnumber EQ madrnr.
READ TABLE it_lfa1 WITH KEY lifnr = it_ekko-lifnr.
PERFORM writeform USING 'VENDOR' 'VENDOR'.
Shipment
SELECT SINGLE werks
INTO mwerks
FROM ekpo
WHERE ebeln EQ it_ekko-ebeln.
up to 1 rows.
SELECT SINGLE *
INTO it_t001w
FROM t001w
WHERE werks EQ mwerks.
SELECT SINGLE j_1iexcd j_1icstno j_1ilstno
INTO (j_1iexcd,j_1icstno,j_1ilstno)
FROM j_1imocomp
WHERE werks = mwerks.
REFRESH it_adrc.
SELECT SINGLE *
INTO it_adrc
FROM adrc
WHERE addrnumber EQ it_t001w-adrnr.
PERFORM writeform USING 'SHIPMNT' 'SHIPMNT'.
READ TABLE it_eikp WITH KEY exnum = it_ekko-exnum.
IF sy-subrc EQ 0.
READ TABLE it_t618t WITH KEY expvz = it_eikp-expvz.
ENDIF.
your_ref = it_ekko-ihrez.
our_ref = it_ekko-unsez.
READ TABLE it_erev WITH KEY edokn = it_ekko-ebeln.
IF sy-subrc = 0.
no_ammend = it_erev-revno.
request_by = it_erev-crnam.
ver_txt = it_erev-txz01.
READ TABLE it_t16ct WITH KEY rscod = it_erev-rscod.
IF sy-subrc = 0.
ver_reason = it_t16ct-rstxt.
ELSE.
ver_reason = ''.
ENDIF.
ELSE.
no_ammend = ''.
request_by = ''.
ver_txt = ''.
ver_reason = ''.
ENDIF.
PERFORM writeform USING 'PO_INFO' 'PO_INFO'.
IF it_zmm_house_bank[] IS NOT INITIAL.
READ TABLE it_zmm_house_bank INDEX 1.
PERFORM writeform USING 'BANKDTL' 'BANKDTL'.
ENDIF.
PERFORM writeform USING 'HDR_INFO' 'HDR_INFO'.
PERFORM writeform USING 'BRK_TTL' 'MAIN'.
msr = 1.
mlctr = 1.
*added by ganesh to prevent deleted items to appear in print out
LOOP AT IT_EKPO WHERE EBELN EQ IT_EKKO-EBELN.
LOOP AT it_ekpo WHERE ebeln EQ it_ekko-ebeln AND loekz NE 'L'.
*end of change
CLEAR: mrate, mrate1.
SELECT * FROM konv INTO TABLE it_konv_rate
WHERE knumv EQ it_ekko-knumv
AND kposn EQ it_ekpo-ebelp
AND ( kschl EQ 'PBXX' OR kschl EQ 'PB00' OR kschl EQ 'P001' ).
LOOP AT it_konv_rate.
IF it_konv_rate-kpein > 0. " added by ganesh as per sudhir 12.10.2007
mrate_gm = it_konv_rate-kbetr / it_konv_rate-kpein.
mrate = mrate + mrate_gm. " added by ganesh as per sudhir 12.10.2007
ELSE.
mrate = mrate + it_konv_rate-kbetr.
ENDIF.
IF it_konv_rate-waers IS NOT INITIAL.
mwaers = it_konv_rate-waers.
ENDIF.
ENDLOOP.
For Japanies Yen "RTDK906759
IF it_ekko-waers = 'JPY'.
mrate = mrate * 100.
ENDIF.
End for japanies Yen
mrate1 = mrate.
End rate
mfirst = 0.
MFAMT = MFAMT + ( IT_EKPO-NETPR * IT_EKPO-MENGE ).
mfamt = mfamt + ( mrate * it_ekpo-menge ).
PERFORM get_mat_long_text.
DATA: lt_ctr TYPE i VALUE 0,lt_ctr1 TYPE i, lt_count TYPE i VALUE 0. " Long text counter
DESCRIBE TABLE it_bapi_mltx_ga LINES lt_count.
CLEAR it_bapi_mltx_ga.
*Added by Rajiv 10.05.2007 Read and if condition RTDK906165
READ TABLE it_konv WITH KEY knumv = it_ekko-knumv
kposn = it_ekpo-ebelp.
mkbetr = 0.
mkwert = 0.
IF sy-subrc EQ 0.
LOOP AT it_konv WHERE knumv EQ it_ekko-knumv
AND kposn EQ it_ekpo-ebelp.
IF it_konv-krech EQ 'A'.
mkbetr = it_konv-kbetr / 10.
ELSE.
mkbetr = it_konv-kbetr.
ENDIF.
For Japanies Yen "RTDK906759
IF it_ekko-waers = 'JPY'.
mkbetr = mkbetr * 100.
ENDIF.
End for japaies Yen
IF mkbetr LT '0'.
mkbetr = mkbetr * ( -1 ).
ENDIF.
mkwert = it_konv-kwert.
For Japanies Yen "RTDK906759
IF it_ekko-waers = 'JPY'.
mkwert = mkwert * 100.
ENDIF.
End for japaies Yen
mfamt = mfamt + mkwert.
IF mkwert LT '0'.
mkwert = mkwert * ( -1 ).
ENDIF.
IF it_ekpo-matnr IS INITIAL.
itemname = it_ekpo-txz01.
ELSE.
READ TABLE it_makt WITH KEY matnr = it_ekpo-matnr.
itemname = it_makt-maktx.
ENDIF.
READ TABLE it_t685t WITH KEY kschl = it_konv-kschl BINARY SEARCH.
READ TABLE it_eket WITH KEY ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp BINARY SEARCH.
IF mfirst EQ 0.
PERFORM writeform USING 'BRK_INFO' 'MAIN'.
mfirst = 1.
ELSE.
ADD 1 TO lt_ctr.
CLEAR it_bapi_mltx_ga.
READ TABLE it_bapi_mltx_ga INDEX lt_ctr. "For long text
IF sy-subrc NE 0.
CLEAR it_bapi_mltx_ga.
ENDIF.
PERFORM writeform USING 'BRK_INFO1' 'MAIN'.
ENDIF.
mlctr = mlctr + 1.
ENDLOOP. " it_konv.
ELSE.
IF it_ekpo-matnr IS INITIAL.
itemname = it_ekpo-txz01.
ELSE.
READ TABLE it_makt WITH KEY matnr = it_ekpo-matnr.
itemname = it_makt-maktx.
ENDIF.
READ TABLE IT_T685T WITH KEY KSCHL = IT_KONV-KSCHL BINARY SEARCH.
READ TABLE it_eket WITH KEY ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp BINARY SEARCH.
mfirst = 0.
IF mfirst EQ 0.
PERFORM writeform USING 'BRK_INFO' 'MAIN'.
mfirst = 1.
ELSE.
ADD 1 TO lt_ctr.
CLEAR it_bapi_mltx_ga.
READ TABLE it_bapi_mltx_ga INDEX lt_ctr. "For long text
IF sy-subrc NE 0.CLEAR it_bapi_mltx_ga.ENDIF.
PERFORM writeform USING 'BRK_INFO1' 'MAIN'.
ENDIF.
ENDIF.
*Commented by rajiv 10.05.2007 used this code in above condition.
added by ganesh on 260407 to print record
if it_konv is initial.
READ TABLE IT_MAKT WITH KEY MATNR = IT_EKPO-MATNR.
READ TABLE IT_T685T WITH KEY KSCHL = IT_KONV-KSCHL BINARY SEARCH.
READ TABLE IT_EKET WITH KEY EBELN = IT_EKPO-EBELN
EBELP = IT_EKPO-EBELP BINARY SEARCH.
mFirst = 0.
if mFirst eq 0.
PERFORM WRITEFORM USING 'BRK_INFO' 'MAIN'.
mFirst = 1.
else.
add 1 to lt_ctr.
clear it_bapi_mltx_ga.
read table IT_BAPI_MLTX_GA index lt_ctr. "For long text
if sy-subrc ne 0.clear it_bapi_mltx_ga.endif.
PERFORM WRITEFORM USING 'BRK_INFO1' 'MAIN'.
Endif.
endif.
end of change
REFRESH it_komv_tax.
PERFORM get_tax_cal USING it_ekpo-ebeln
it_ekpo-ebelp.
Changing it_komv_tax.
REFRESH : it_zmm_porder.
CLEAR : it_zmm_porder.
SELECT * INTO TABLE it_zmm_porder
FROM zmm_porder
WHERE flag EQ 'T'.
IF sy-subrc EQ 0.
SORT it_zmm_porder BY kschl.
ENDIF.
LOOP AT it_komv_tax.
gindex = sy-tabix.
READ TABLE it_zmm_porder WITH KEY kschl = it_komv_tax-kschl BINARY SEARCH.
IF sy-subrc NE 0.
DELETE it_komv_tax INDEX gindex.
ENDIF.
ENDLOOP.
LOOP AT it_komv_tax WHERE kwert IS NOT INITIAL.
IF ( IT_KOMV_TAX-KSCHL EQ 'JMOP' OR
IT_KOMV_TAX-KSCHL EQ 'JECS' OR
IT_KOMV_TAX-KSCHL EQ 'JSEP' OR
IT_KOMV_TAX-KSCHL EQ 'JMOQ' OR
IT_KOMV_TAX-KSCHL EQ 'JVCS' OR
IT_KOMV_TAX-KSCHL EQ 'JVRD' OR
IT_KOMV_TAX-KSCHL EQ 'JMIP' OR
* IT_KOMV_TAX-KSCHL EQ 'JEIP' OR
IT_KOMV_TAX-KSCHL EQ 'JSEI' OR
IT_KOMV_TAX-KSCHL EQ 'JSRT' OR
IT_KOMV_TAX-KSCHL EQ 'JEC3' OR
IT_KOMV_TAX-KSCHL EQ 'JVRN' )
AND IT_KOMV_TAX-KWERT IS NOT INITIAL.
SELECT SINGLE vtext
INTO mtext
FROM t685t
WHERE kschl EQ it_komv_tax-kschl
AND spras EQ 'E'.
l_rate = it_komv_tax-kbetr / 10.
l_amt = it_komv_tax-kwert.
For Japanies Yen "RTDK906759
IF it_ekko-waers = 'JPY'.
l_amt = l_amt * 100.
ENDIF.
End for japaies Yen
ADD l_amt TO mfamt.
IF lt_ctr LT lt_count. "Long text
ADD 1 TO lt_ctr.
READ TABLE it_bapi_mltx_ga INDEX lt_ctr.
ELSE.
CLEAR it_bapi_mltx_ga.
ENDIF.
IF l_rate EQ 0 OR l_amt EQ 0.
l_rate = ''.
l_amt = ''.
ENDIF.
PERFORM writeform USING 'TAX_LINE_ITEM' 'MAIN'.
ENDIF.
ENDLOOP.
IF lt_ctr LT lt_count.
DATA mbal_line TYPE i.
mbal_line = ( lt_count - lt_ctr ).
DO mbal_line TIMES.
ADD 1 TO lt_ctr.
READ TABLE it_bapi_mltx_ga INDEX lt_ctr.
IF sy-subrc = 0.
PERFORM writeform USING 'LTEXT' 'MAIN'.
ENDIF.
ENDDO.
ENDIF.
CONCATENATE it_ekko-ebeln it_ekpo-ebelp INTO nmebeln.
REFRESH tline.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'F04'
language = sy-langu
name = nmebeln
object = 'EKPO'
TABLES
lines = tline
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
LOOP AT tline.
IF tline-tdline IS NOT INITIAL.
del_text = tline-tdline.
ENDIF.
CONDENSE del_text.
ENDLOOP.
CONCATENATE it_ekko-ebeln it_ekpo-ebelp INTO nmebeln.
REFRESH tline.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'F03'
language = sy-langu
name = nmebeln
object = 'EKPO'
TABLES
lines = tline
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
refresh.
CLEAR : po_flag, mat_po_text.
LOOP AT tline.
IF tline-tdline IS NOT INITIAL.
MOVE tline-tdline TO mat_po_text.
CONDENSE mat_po_text.
PERFORM writeform USING 'MTRL_PO_TEXT' 'MAIN'.
po_flag = 'X'.
CLEAR : mat_po_text.
ENDIF.
ENDLOOP.
*Added lines below for Schedule delivery for line item on 09.05.2007:Rajiv
CLEAR g_ind.
READ TABLE it_eket WITH KEY ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp BINARY SEARCH.
g_ind = sy-tabix.
LOOP AT it_eket FROM g_ind.
IF it_eket-ebeln EQ it_ekpo-ebeln AND it_eket-ebelp = it_ekpo-ebelp.
PERFORM writeform USING 'SCHEDULE' 'MAIN'.
ELSE.
EXIT.
ENDIF.
ENDLOOP.
*End Addition:Rajiv
PERFORM writeform USING 'REQSLP' 'MAIN'.
mlctr = mlctr + 1.
msr = msr + 1.
CLEAR: lt_ctr, lt_ctr1.
following lines added by ganesh to add service po details as per Mr. sadiq 21.08.2007
IF it_ekpo-packno IS NOT INITIAL.
CLEAR sub_packno.
SELECT SINGLE sub_packno INTO sub_packno FROM esll WHERE packno = it_ekpo-packno.
IF sub_packno IS NOT INITIAL.
CLEAR it_esll.
REFRESH it_esll.
SELECT * FROM esll INTO CORRESPONDING FIELDS OF TABLE it_esll
WHERE packno = sub_packno.
IF sy-subrc = 0.
PERFORM writeform USING 'SERVICE_PO_TEXT' 'MAIN'.
ENDIF.
LOOP AT it_esll.
CONCATENATE sub_packno it_esll-introw INTO obj.
CALL FUNCTION 'READ_TEXT' "4500002446 C300
EXPORTING
id = 'LTXT'
language = sy-langu
name = obj
object = 'ESLL'
TABLES
lines = tline
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
CLEAR stext.
LOOP AT tline.
CONCATENATE stext tline-tdline INTO stext SEPARATED BY space.
ENDLOOP.
FREE tline.
CLEAR tline.
REFRESH tline.
PERFORM writeform USING 'SERVICE_PO' 'MAIN'.
PERFORM writeform USING 'SERVICE_TEXT' 'MAIN'.
ENDLOOP.
ENDIF.
ENDIF.
end of change
ENDLOOP. " it_ekpo.
IF mlctr < 15.
DO 5 TIMES.
PERFORM writeform USING 'LINEFEED' 'MAIN'.
ENDDO.
ENDIF.
added by ganesh for allding line before ECC No.
IF it_ekko-bsart NE 'ZIM'. " IF EXPORT NO NEED TO PRINT ECC.
PERFORM writeform USING 'LIN' 'MAIN'.
PERFORM writeform USING 'WERKS_TAX_DETAIL' 'MAIN'.
ENDIF.
end of change
MFLAG = 'Y'.
PERFORM writeform USING 'TERMS_VAL' 'MAIN'.
LOOP AT it_konv1 WHERE knumv EQ it_ekko-knumv.
mkschl = it_konv1-kschl.
mchgamt = 0.
LOOP AT it_konv_ftr WHERE knumv EQ it_konv1-knumv
AND kschl EQ mkschl.
mchgamt = mchgamt + it_konv_ftr-kwert.
ENDLOOP.
For Japanies Yen "RTDK906759
IF it_ekko-waers = 'JPY'.
mchgamt = mchgamt * 100.
ENDIF.
End for japaies Yen
mfamt = mfamt + mchgamt.
IF mchgamt LT '0'.
mchgamt = mchgamt * ( -1 ).
ENDIF.
READ TABLE it_t685t_ftr WITH KEY kschl = mkschl.
PERFORM writeform USING 'TERMS_FTR_VAL' 'MAIN'.
mlctr = mlctr + 1.
ENDLOOP.
mflag = 'T'.
CALL FUNCTION 'HR_IN_CHG_INR_WRDS'
EXPORTING
amt_in_num = mfamt
IMPORTING
amt_in_words = mfword
EXCEPTIONS
data_type_mismatch = 1
OTHERS = 2.
CONDENSE mebeln.
nmebeln = it_ekko-ebeln.
REFRESH tline.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'F01'
language = sy-langu
name = nmebeln
object = 'EKKO'
TABLES
lines = tline
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
*---- CHANGED BY MATHEW BECAUSE THIS STATMENT WORKING FINE IN 300 BUT NOT IN 500C.
LOOP AT ZTEXT.
IF ZTEXT-TEXT1 IS NOT INITIAL.
PERFORM WRITEFORM USING 'TERMS_COND_VAL_PAY' 'MAIN'.
ENDIF.
MPAY_FLAG = 'Y'.
ENDLOOP.
READ TABLE it_t052u WITH KEY zterm = it_ekko-zterm.
LOOP AT it_t052u WHERE zterm EQ it_ekko-zterm.
IF it_t052u-text1 IS NOT INITIAL.
PERFORM writeform USING 'TERMS_COND_VAL_PAY' 'MAIN'.
ENDIF.
mpay_flag = 'Y'.
ENDLOOP.
PERFORM writeform USING 'TERMS_COND_VAL' 'MAIN'.
LOOP AT tline.
IF tline-tdline IS NOT INITIAL.
PERFORM writeform USING 'TERMS_COND_VAL_HDR' 'MAIN'.
ENDIF.
CONDENSE txt.
ENDLOOP.
PERFORM writeform USING 'FTR' 'FTR_LIN3'.
PERFORM writeform USING 'FTR_LIN1' 'FTR_LIN1'.
CALL FUNCTION 'END_FORM'.
ENDLOOP. " It_ekko.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = itcpp
RDI_RESULT =
TABLES
otfdata = otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
codepage = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " Process
*& Form WRITEFORM
text
-->P_0150 text
-->P_0151 text
FORM writeform USING value(p_0150)
value(p_0151).
CALL FUNCTION 'WRITE_FORM'Hi
I think some basis related configuartions to be done
Try like this and inform me
A cyclic job runs, which processes the messages seen in the SOST queue.
Are you sure it's not the frequency of the cyclic job, rather than the
number of messages in the queue, that you are observing? In messages
that are queued and before the cyclic job runs, "wait for comm. service"
is the normal status.
If you mean that there are always 4 items queued in SOST regardless of
the cyclic send job, then I have no ideas. I would have thought there
was no way to do that.
when the send job runs it just never
picks them up & sends them, while it picks up many others. The send job
is somehow blind to these; no error message occurs. In this case, I
'delete' them from the queue (in SOST) and then 'undelete' (drop down
menu -> /Go to /Deleted Items) them and then re-queue them. THEN they
actually get picked up & sent when the next cyclic send job executes.
Regards
Pavan
Maybe you are looking for
-
Most of the music in my itunes library has a "i" before it.
My computer crashed recently and the hard drive had to be cleared. I downloaded the new itunes and now most of my music has an "i" in front of it. (music I have purchased recently does not have the i). When I try to play this music I get the error me
-
I want to purchase photoshop cs6 for Middle East (arabic , hebrew support)
hi were can i find the photoshop cs6 for Middle East to purchase on adobe.com ? i want to purchase a full version . the interface is english but it supports arabic and hebrew . thank you .
-
Message stuck in queue - Rejected by server
Okay, so I thought was being smart by trying to set up my companies email on my own. When I entered all of the information (which I made mistakes) I tried to send a test message. Of course it would not go through and was being rejected by my companie
-
I18N / Multi-language Content Support
Hi All, I have a requirement where, content needs to be published in multi-language, e.g. same News in English and Italian version. Process 1. When user login user must be able to view the content as per the profile language, e.g. same News in Englis
-
Dreamweaver CS3 template two column liquid views fine in firefox but in Iexplorer I don't get the design only code? How do I fix this?