Very urgent(Queues blocked in R/3)
I have checked in sm50,smq1 and r3am1.There are no queues that have been blocked in CRM.
But when i checked in R/3 ,I found in SmQ1 that 3000 queues have blocked .So there no flow of data from r/3 to crm.
So please help me how to resolve this problem.
This is very urgent.
regards,
Mdahv.
Hi
Possible error situation: A business object has been changed in a CRM Server Application, but the
change (delta load) is not received in SAP R/3.
In case of errors or missing data updates in the target system, you may perform the following steps:
Check Display BDoc Messages including the middleware trace information
Check the outbound queue
Check the table BDOC_TRACK in SAP R/3 (shows information on the data handling of the SAP R/3
application)
Check the outbound queue of SAP R/3
Check the inbound queue of the CRM System
Furthermore, verify the RFC destination and the logical system assigned to your site (in the Admin
Console) and the CRM Middleware parameter settings in the CRM System and SAP R/3 (for example,
CRMRFCPAR).
Cheers
Message was edited by: Natarajan
Similar Messages
-
Personnel Data Iview Error (It's very Urgent)
Hi All,
Personal Data
Critical Error
A critical error has occured. Processing of the service had to be terminated. Unsaved data has been lost.
Please contact your system administrator.
failed to create or init instance of model 'com.sap.xss.hr.per.in.pdata.model.HRXSS_PER_P0002_IN' in scope APPLICATION_SCOPE with instanceId 'null'
Caused by: com.sap.tc.webdynpro.progmodel.model.api.WDModelException: failed to create instance of model 'com.sap.xss.hr.per.in.pdata.model.HRXSS_PER_P0002_IN'
at com.sap.tc.webdynpro.progmodel.model.api.WDModelFactory.getNewModelInstance(WDModelFactory.java:392)
at com.sap.tc.webdynpro.progmodel.model.api.WDModelFactory.getOrCreateModelInstanceFromScopeMaintainer(WDModelFactory.java:329)
... 65 more
Caused by: com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: no jcoMetadata found for RFC function 'HRXSS_PER_GET_F4_P0002_IN'! Please verify, that your model is consistent with the ABAP backend: 'EC6'.
Hi Please help me to solve this error it's very urgent ?
thanks and regards,
Phanikumar.Hi Ashutosh Gulkhobre,
I coppied the dump from the ST22.
Now please tell me solution fro this error ?
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED_NO
Exception CX_SY_REF_IS_INITIAL
Date and Time 27.06.2007 09:54:55
Short text
Access via 'NULL' object reference not possible.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLHRXSS_PER_MAC" had to be terminated because it
has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
caught in
procedure "HRXSS_PER_CLEANUP" "(FUNCTION)", nor was it propagated by a RAISING
clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component.
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.
How to correct the error
Probably the only way to eliminate the error is to correct the program.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"OBJECTS_OBJREF_NOT_ASSIGNED_NO" "CX_SY_REF_IS_INITIAL"
"SAPLHRXSS_PER_MAC" or "LHRXSS_PER_MACU04"
"HRXSS_PER_CLEANUP"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
The exception must either be prevented, caught within proedure
"HRXSS_PER_CLEANUP" "(FUNCTION)", or its possible occurrence must be declared
in the
RAISING clause of the procedure.
To prevent the exception, note the following:
System environment
SAP-Release 700
Application server... "ptgsap10"
Network address...... "192.168.1.18"
Operating system..... "Windows NT"
Release.............. "5.2"
Hardware type........ "2x Intel 80686"
Character length.... 16 Bits
Pointer length....... 32 Bits
Work process number.. 0
Shortdump setting.... "full"
Database server... "PTGSAP10"
Database type..... "ORACLE"
Database name..... "EC6"
Database user ID.. "SAPSR3"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Aug 29 2006 00:18:21"
create on........ "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
Database version. "OCI_10201_SHARE (10.2.0.1.0) "
Patch level. 75
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
Memory consumption
Roll.... 8176
EM...... 2090448
Heap.... 0
Page.... 0
MM Used. 1208256
MM Free. 880672
User and Transaction
Client.............. 001
User................ "ESS_USER1"
Language Key........ "E"
Transaction......... " "
Program............. "SAPLHRXSS_PER_MAC"
Screen.............. "SAPMSSY1 3004"
Screen Line......... 2
Information on caller of Remote Function Call (RFC):
System.............. "########"
Database Release.... 645
Kernel Release...... 700
Connection Type..... "E" (2=R/2, 3=ABAP System, E=Ext., R=Reg. Ext.)
Call Type........... "synchron and non-transactional (emode 0, imode 0)"
Inbound TID.........." "
Inbound Queue Name..." "
Outbound TID........." "
Outbound Queue Name.." "
Client.............. "###"
User................ "############"
Transaction......... " "
Call Program........." "
Function Module..... "HRXSS_PER_CLEANUP"
Call Destination.... "ptgsap10_EC6_10"
Source Server....... "EPSAND1"
Source IP Address... "192.168.1.36"
Additional information on RFC logon:
Trusted Relationship " "
Logon Return Code... 0
Trusted Return Code. 0
Note: For releases < 4.0, information on the RFC caller are often
only partially available.
Information on where terminated
Termination occurred in the ABAP program "SAPLHRXSS_PER_MAC" - in
"HRXSS_PER_CLEANUP".
The main program was "SAPMSSY1 ".
In the source code you have the termination point in line 13
of the (Include) program "LHRXSS_PER_MACU04".
The termination is caused because exception "CX_SY_REF_IS_INITIAL" occurred in
procedure "HRXSS_PER_CLEANUP" "(FUNCTION)", but it was neither handled locally
nor declared
in the RAISING clause of its signature.
The procedure is in program "SAPLHRXSS_PER_MAC "; its source code begins in
line
1 of the (Include program "LHRXSS_PER_MACU04 ".
Source Code Extract
Line SourceCde
1 FUNCTION hrxss_per_cleanup.
2 *"----
3 ""Local interface:
4 *" EXPORTING
5 *" VALUE(MESSAGES) TYPE BAPIRETTAB
6 *"----
7
8 * CALL METHOD mac_adapter->cleanup
9 * IMPORTING
10 * messages = messages.
11
12 * TRY.
>>>>> CALL METHOD xss_adapter->cleanup
14 .
15 * CATCH CX_HRPA_VIOLATED_ASSERTION .
16 * ENDTRY.
17 IF NOT xss_adapter2 IS INITIAL.
18 CALL METHOD xss_adapter2->cleanup.
19 ENDIF.
20
21 ENDFUNCTION.
Contents of system fields
Name Val.
SY-SUBRC 0
SY-INDEX 2
SY-TABIX 13
SY-DBCNT 30
SY-FDPOS 0
SY-LSIND 0
SY-PAGNO 0
SY-LINNO 1
SY-COLNO 1
SY-PFKEY
SY-UCOMM
SY-TITLE CPIC and RFC Control
SY-MSGTY
SY-MSGID
SY-MSGNO 000
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
SY-MODNO 0
SY-DATUM 20070627
SY-UZEIT 095455
SY-XPROG SAPLHRXSS_PER_MAC
SY-XFORM HRXSS_PER_CLEANUP
Active Calls/Events
No. Ty. Program Include Line
Name
4 FUNCTION SAPLHRXSS_PER_MAC LHRXSS_PER_MACU04 13
HRXSS_PER_CLEANUP
3 FORM SAPLHRXSS_PER_MAC LHRXSS_PER_MACU04 1
HRXSS_PER_CLEANUP
2 FORM SAPMSSY1 SAPMSSY1 85
REMOTE_FUNCTION_CALL
1 MODULE (PBO) SAPMSSY1 SAPMSSY1 30
%_RFC_START
Chosen variables
Name
Val.
No. 4 Ty. FUNCTION
Name HRXSS_PER_CLEANUP
MESSAGES
Table[initial]
SY-XFORM
HRXSS_PER_CLEANUP
455555545544444552222222222222
82833F052F3C51E500000000000000
000000000000000000000000000000
000000000000000000000000000000
%_DUMMY$$
2222
0000
0000
0000
XSS_ADAPTER2
F0000000
F0000000
No. 3 Ty. FORM
Name HRXSS_PER_CLEANUP
SYST-REPID
SAPLHRXSS_PER_MAC
5454455555545544422222222222222222222222
310C82833F052FD1300000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
%_%_MESSAGES
Table[initial]
No. 2 Ty. FORM
Name REMOTE_FUNCTION_CALL
%_DUMMY$$
2222
0000
0000
0000
SY-REPID
SAPMSSY1
5454555322222222222222222222222222222222
310D339100000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
SYST-REPID
SAPMSSY1
5454555322222222222222222222222222222222
310D339100000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
HEADER
000000000000
000000000000
TYPE
3
0000
3000
SY-XPROG
SAPLHRXSS_PER_MAC
5454455555545544422222222222222222222222
310C82833F052FD1300000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
%_ARCHIVE
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
RC
0
0000
0000
SY-XFORM
HRXSS_PER_CLEANUP
455555545544444552222222222222
82833F052F3C51E500000000000000
000000000000000000000000000000
000000000000000000000000000000
%_SPACE
2
0
0
0
No. 1 Ty. MODULE (PBO)
Name %_RFC_START
%_PRINT
000 0###
2222333222222222222222222222222222222222222222222222222222222222222222222222222222222222223000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
RFCTYPE_INTERNAL
3
0000
3000
Internal notes
The termination was triggered in function "method_call_iref"
of the SAP kernel, in line 2203 of the module
"//bas/700_REL/src/krn/runt/abmethod.c#7".
The internal operation just processed is "METH".
Internal mode was started at 20070627095455.
Active Calls in SAP Kernel
Lines of C Stack in Kernel (Structure Differs on Each Platform)
SAP (R) - R/3(TM) Callstack, Version 1.0
Copyright (C) SAP AG. All rights reserved.
Callstack without Exception:
App : disp+work.EXE (pid=24080)
When : 6/27/2007 9:54:55.565
Threads : 2
Computer Name : PTGSAP10
User Name : SAPServiceEC6
Number of Processors: 2
Processor Type: x86 Family 6 Model 11 Stepping 1
Windows Version : 5.2 Current Build: 3790
State Dump for Thread Id 6cd0
eax=000a7358 ebx=00000464 ecx=00000248 edx=00000000 esi=00000464 edi=00000000
eip=7c82ed54 esp=0549c640 ebp=0549c6b0 iopl=0 nv up ei ng nz ac po cy
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00200297
function : KiFastSystemCallRet
7c82ed54 c3 ret
7c82ed55 8da42400000000 lea esp,[esp] ss:0549c640=7c822124
7c82ed5c 8d642400 lea esp,[esp] ss:27f2ac53=????????
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0549c6b0 77e6ba12 00000464 0001d4c0 00000000 0549c6e8 ntdll!KiFastSystemCallRet
0549c6c4 0101f939 00000464 0001d4c0 00000001 7c38b5c8 kernel32!WaitForSingleObject
0549c6e8 005641c2 005641fb 7c38b5c8 7c38b5c8 7c38b5c8 disp+work!NTDebugProcess [ntstcdbg.c (501)]
0549c6ec 005641fb 7c38b5c8 7c38b5c8 7c38b5c8 01d87888 disp+work!NTStack [dptstack.c (1367)]
0549c708 0056422f 7c38b5c8 00000000 0085f2b9 7c38b5c8 disp+work!CTrcStack2 [dptstack.c (352)]
0549c714 0085f2b9 7c38b5c8 00000000 005f0059 00300030 disp+work!CTrcStack [dptstack.c (182)]
0549c738 008626fb 3ccf0c10 00008006 00000000 00660bd8 disp+work!rabax_CStackSave [abrabax.c (7020)
0549cfe0 0067f9fc 01285324 012852e4 0000089b 2054de20 disp+work!ab_rabax [abrabax.c (1243)]
0549d010 006914a8 00000003 3cda5308 00000000 0549d078 disp+work!method_call_iref [abmethod.c (2203
0549d078 007c8d1e 00000000 3cda5308 0549d1c4 3cda67e8 disp+work!ab_extri [abextri.c (552)]
0549d08c 008433d6 00000000 3cda6768 0059fdb0 3cda64b4 disp+work!ab_xevent [abrunt1.c (281)]
0549d098 0059fdb0 3cda64b4 00000008 3cda6768 00000000 disp+work!ab_dstep [abdynpro.c (491)]
0549d1c4 005a2ae2 3cda5308 3cda5308 0549fd04 005a2654 disp+work!dynpmcal [dymainstp.c (2394)]
0549d1d4 005a2654 3cda5308 3cda5308 00000003 0549fd04 disp+work!dynppbo0 [dymainstp.c (542)]
0549d1f0 00577116 3cda5308 00000004 00000000 0000001a disp+work!dynprctl [dymainstp.c (359)]
0549fd04 004741c6 0000001a 00000001 00000001 0049792f disp+work!dynpen00 [dymain.c (1464)]
0549fd14 0049792f 00000004 00000000 00000003 00000002 disp+work!Thdynpen00 [thxxhead.c (4683)]
0549fee0 00497ead 00000001 00000000 00000000 00430000 disp+work!TskhLoop [thxxhead.c (4395)]
0549ff00 004214f1 00000000 00000000 7ffd5000 0549ff60 disp+work!ThStart [thxxhead.c (1153)]
0549ff14 00401080 00000003 056368d8 00000001 00000000 disp+work!DpMain [dpxxdisp.c (1119)]
0549ff60 011bf720 00000003 056368d8 056378c8 01c05000 disp+work!nlsui_main [thxxanf.c (82)]
0549ffc0 77e523cd 00000000 00000000 7ffd5000 80938fd6 disp+work!wmainCRTStartup [crtexe.c (395)]
0549fff0 00000000 011bf5dd 00000000 00905a4d 00000003 kernel32!IsProcessorFeaturePresent
State Dump for Thread Id 6408
eax=00000001 ebx=00000103 ecx=0770fee8 edx=7c82ed54 esi=00000000 edi=00000000
eip=7c82ed54 esp=0770fec0 ebp=0770ff04 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
function : KiFastSystemCallRet
7c82ed54 c3 ret
7c82ed55 8da42400000000 lea esp,[esp] ss:0770fec0=7c821514
7c82ed5c 8d642400 lea esp,[esp] ss:2a19e4d3=????????
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0770ff04 0110e0b7 000006e0 00000000 00000000 059ca9d8 ntdll!KiFastSystemCallRet
0770ff84 7c349565 00000000 00000000 00000000 0563a508 disp+work!SigIMsgFunc [signt.c (594)]
0770ffb8 77e66063 0563a508 00000000 00000000 0563a508 MSVCR71!endthreadex
0770ffec 00000000 7c3494f6 0563a508 00000000 00000000 kernel32!GetModuleFileNameA
List of ABAP programs affected
Index Typ Program Group Date Time Size Lang.
0 Prg SAPMSSY1 0 11.04.2005 09:27:15 21504 E
1 Prg SAPLHRXSS_SER_AUTHORITHY_CHECK 1 13.02.2005 19:00:30 16384 E
2 Prg SAPLASTAT_TRIG 2 09.09.2004 14:18:33 13312 E
3 Typ ASTAT_TYP2 0 10.11.1998 05:35:18 2048
4 Typ ASTAT_TYP1 0 30.11.1998 15:54:16 2048
5 Prg SAPLSAUTHTRACE 5 07.03.2005 08:51:05 57344 E
6 Typ USOBHASH 0 02.07.2003 13:15:24 3072
7 Prg SAPLSECH 7 05.07.2005 13:10:18 26624 E
8 Typ CVERS 0 09.11.2000 14:05:49 2048
9 Prg SAPLHRXSS_PER_MAC 9 10.02.2004 14:21:15 49152 E
10 Prg CX_SY_REF_IS_INITIAL==========CP 10 05.07.2005 13:10:16 10240 E
11 Typ SCX_SRCPOS 0 18.05.2004 14:07:11 2048
12 Prg CX_DYNAMIC_CHECK==============CP 12 05.07.2005 13:10:16 10240 E
13 Prg CX_ROOT=======================CP 13 05.07.2005 13:10:16 11264 E
14 Prg CX_NO_CHECK===================CP 14 05.07.2005 13:10:16 10240 E
15 Prg CX_SY_NO_HANDLER==============CP 15 05.07.2005 13:10:16 10240 E
16 Typ SYST 0 09.09.2004 14:18:12 31744
Directory of Application Tables
Name Date Time Lngth
Val.
Program SAPMSSY1
SYST . . : : 00004612
\0\0\0\0\x000D\0\x000F\0\0\0\0\0\0\0\0\0\0\0\0\0\x001E\0\0
ABAP Control Blocks (CONT)
Index Name Fl PAR0 PAR1 PAR2 PAR3 PAR4 PAR5 PAR6 Source Code Line
246 FUNC 03 0020 LHRXSS_PER_MACU03 1
247 PAR2 02 0000 001B C000 LHRXSS_PER_MACU03 1
249 FUNC 13 0003 LHRXSS_PER_MACU03 1
250 PAR2 01 0000 0011 C001 LHRXSS_PER_MACU03 1
252 FUNC FF 0000 LHRXSS_PER_MACU03 1
253 ENDF 00 0000 LHRXSS_PER_MACU03 1
254 -
00 0000 LHRXSS_PER_MACU03 1
255 STCK 02 C001 LHRXSS_PER_MACU03 1
256 CPOP 00 0000 LHRXSS_PER_MACU03 1
257 -
00 0000 LHRXSS_PER_MACU03 1
258 FUNP 3E 0000 0011 8000 0000 8000 0000 0000 LHRXSS_PER_MACU04 1
262 FUNP 80 0000 0000 0000 0000 0000 0000 0000 LHRXSS_PER_MACU04 1
>>>>> METH 03 0000 0000 8006 0000 0000 0000 0000 LHRXSS_PER_MACU04 13
270 PAR2 00 0000 0001 0000 LHRXSS_PER_MACU04 13
272 CMPS 20 024B 001B 001B LHRXSS_PER_MACU04 17
274 BRAF 05 0007 LHRXSS_PER_MACU04 17
275 METH 03 0000 0001 8006 0000 0000 0000 0000 LHRXSS_PER_MACU04 18
279 PAR2 00 0000 0001 0000 LHRXSS_PER_MACU04 18
281 FUNE 00 0000 LHRXSS_PER_MACU04 21
282 -
00 0000 LHRXSS_PER_MACU04 21
Thanks and Regards,
Phanikumar -
How to write code for this logic, plz help me very urgent
Hi All,
i am new to sap-abap, i got this work and i m working on this can any body help me in writing code, plz help me, this is very very urgent.
here i m giving my logic, can anybody send me the code related to this logic.
this is very urgent .
this program o/p should be in ALV format and need to create one commond 'SAVE" on this o/t list if user clicks save processedon and processedby fields in ZFIBUE should be updated automatically.
i am creating one custom table zfibue having fields: (serialno, bukrs, matnr,prdha,hkont,gsber,wrbtr,budat, credate, cretime,processed, processedon, processedby,mapped)
fields of zfibue:
serailno = numc
bukrs = char
matnr = char
prdha = char
hkont = char
gsber = char
wrbtr = char
budat = date
credate = date
cretime = time
processed= char
processedon = date
processedby = char
mapped = char are belongs to above type data types
and seelct-optionfields: s_bukrs for bseg-bukrs
s_hkont for bseg-hkont,
s_budat for bkpf-budat,
s_processed for zfibue-processed,
s_processedon for zfibue-processedon,
s_mapped. for zfibue-mapped
parameters: p_chk1 as checkbox,
p_chk2 as checkbox.
p_filepath type rlgrap-filename.
1.1 Validate the user inputs (S_BUKRS and S_HKONT) against respective check tables (T001 and SKB1). If the validation fails, provide respective error message. Eg: Invalid input for Company Code.
1.2 Fetch SERIALNO, BUKRS, MATNR, PRDHA, HKONT, GSBER, WRBTR, BUDAT, CREDATE, CRETIME, PROCESSED, PROCESSEDON, PROCESSEDBY, MAPPED from table ZFIBUE into internal table GT_ZFIBUE where BUKRS IN S_BUKRS, HKONT IN S_HKONT, BUDAT IN S_BUDAT, PROCESSED IN S_PROCESSED, PROCESSEDON IN S_PROCESSEDON, and MAPPED IN S_MAPPED.
1.3 If P_CHK2 = X, go to step 1.11. Else continue.
1.4 If P_CHK1 = X, continue. Else go to step 1.9
1.5 Fetch MATNR, PRDHA from MARA into GT_MARA for all entries in GT_ZFIBUE where MATNR = GT_ZFIBUE-MATNR.
1.6 Sort and delete adjacent duplicates from GT_MARA based on MATNR.
1.7 Loop through GT_ZFIBUE where PRDHA = blank.
Read Table GT_MARA based on MATNR = GT_ZFIBUE-MATNR.
IF sy-subrc = 0.
Move GT_MARA-PRDHA to GT_ZFIBUE-PRDHA.
Modify Table GT_ZFIBUE. Update Product Hierarchy
Endif.
Fetch PRDHA, GSBER from ZFIBU into GT_ZFIBU for all entries in GT_ZFIBUE where PRDHA = GT_ZFIBUE-PRDHA.
Read Table GT_ZFIBU based on PRDHA = GT_ZFIBUE-PRDHA.
IF sy-subrc = 0.
Move GT_ZFIBU-GSBER to GT_ZFIBUE-GSBER.
Move X to GT_ZFIBUE-MAPPED.
Modify Table GT_ZFIBUE.
Endif.
Endloop.
1.8 Modify database table ZFIBUE from GT_ZFIBUE.
1.9 Fill the field catalog table GT_FIELDCAT using the details of output fields listed in section Inputs/Outputs (above).
Eg: LWA_ FIELDCAT -SELTEXT_L = 'Serial Number.
LWA_ FIELDCAT -DATATYPE = NUMC.
LWA_ FIELDCAT -OUTPUTLEN = 9.
LWA_ FIELDCAT -TABNAME = 'GT_ZFIBUE'.
LWA_ FIELDCAT-FIELDNAME = 'SERIALNO'.
Append LWA_FIELDCAT to GT_FIELDCAT
Note: a) The output field GT_ZFIBUE-PROCESSED will be editable marking INPUT = X in field catalog (GT_FIELDCAT).
b) The standard ALV functionality will be used to give the user option for selecting all or blocks of entries at a time.
c) The PF-STATUS STANDARD_FULLSCREEN from function group SLVC_FULLSCREEN will be copied to the program and modified to include a SAVE button.
1.10 Call the function module REUSE_ALV_GRID_DISPLAY passing output table GT_ZFIBUE and field catalog GT_FIELDCAT. Additional parameters like I_CALLBACK_PF_STATUS_SET (= ZFIBUESTAT) and I_CALLBACK_USER_COMMAND (=HANDLE_USER_ACTION) will also be passed to handle user events. Go to 2.14.
1.11 Download the file to P_FILEPATH using function module GUI_DOWNLOAD passing GT_ZFIBUE.
1.12 Exit Program.
Logic to be implemented in routine Handle_User_Action
This routine will have the following interface:
FORM Handle_User_Action USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
ENDFORM.
Following logic will be implemented in this routine:
1. If r_ucomm = SAVE, continue. Else exit.
2. Loop through GT_ZFIBUE where SEL_ROW = X. Row is selected
a. IF GT_ZFIBUE-PROCESSED = X.
i. GT_ZFIBUE-PROCESSEDON = SY-DATUM.
ii. GT_ZFIBUE-PROCESSEDBY = SY-UNAME.
iii. MODIFY ZFIBUE FROM work area GT_ZFIBUE.
Endif.
Endloop.Hi Swathi,
If it's very very urgent then you better get on with it, don't waste time on the web. Chop chop. -
Error during GR(very very urgent)
Hi all,
i am using a developed program for GR.i used this program before.there was no error.but now i am facing error like
<b>PO ordered quqntity exceeded by 18,000 EA.</b>.i am using <b>BAPI_GOODSMVT_CREATE</b> for goods transfer.
In the selection screen, i am putting
PO number- PO1
material number- MAT
GR quantity- 18,000
delivery order-111
i want to receive the material MAT of quantity 18,000 from that PO.initially i have ordered PO quntity as 1 lakh. Till now i have received 42,000 materials,now i try to receive 18,000 materials.but it is showing this type of error.
This error is fired from the return parameter of that BAPI only.error having message class-M7 & error no-022
is comming.
i am giving my coding below.plz suggest where is the problem.it is very very urgent.recently my company has added some patches to update the SAP.is this the cause for that error.plz suggest.
any idea will be highly appreaciated.
Regards
REPORT zmui001
LINE-SIZE 140
LINE-COUNT 65
NO STANDARD PAGE HEADING.
*-- DATA DECLARATION--
*-- tables
TABLES : ekpo,
ekbe,
marv.
*--Includes
INCLUDE : <icon>. " Include for Icons
*-- Types
TYPES : BEGIN OF t_mseg,
ebeln LIKE ekko-ebeln,
name1 LIKE lfa1-name1,
lifnr LIKE lfa1-lifnr,
eknam LIKE t024-eknam,
mblnr LIKE mkpf-mblnr,
matnr LIKE ekpo-matnr,
maktx LIKE makt-maktx,
lgort LIKE mseg-lgort,
charg LIKE mseg-charg, "chg: 10/17/2005
menge LIKE mseg-menge,
budat LIKE mkpf-budat,
bldat LIKE mkpf-bldat, " chg : 08/18/2003
xblnr LIKE mkpf-xblnr,
END OF t_mseg.
DATA: BEGIN OF t_ekbe,
ebeln LIKE ekbe-ebeln,
ebelp LIKE ekbe-ebelp,
bwart LIKE ekbe-bwart,
matnr LIKE ekbe-matnr,
menge LIKE ekbe-menge,
END OF t_ekbe,
BEGIN OF t_ekpo,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
menge LIKE ekpo-menge,
END OF t_ekpo.
TYPES : BEGIN OF t_options.
INCLUDE STRUCTURE itcpo.
TYPES : END OF t_options.
*--Internal tables
DATA: BEGIN OF i_item OCCURS 50. "Create Material Document Item
INCLUDE STRUCTURE bapi2017_gm_item_create.
DATA: END OF i_item .
DATA: BEGIN OF i_return OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret2.
DATA: END OF i_return.
DATA: BEGIN OF i_part OCCURS 0, " Internal table for split data
part(20),
END OF i_part.
DATA: BEGIN OF i_return1 OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret1.
DATA: END OF i_return1.
*-- Work areas
DATA: BEGIN OF wa_header . "Material Document Header Data
INCLUDE STRUCTURE bapi2017_gm_head_01.
DATA: END OF wa_header .
DATA: BEGIN OF wa_return . "Output Structure
INCLUDE STRUCTURE bapi2017_gm_head_ret.
DATA: END OF wa_return .
*-- Work areas
DATA: wa_mseg TYPE t_mseg,
wa_ekbe LIKE t_ekbe,
wa_ekpo LIKE t_ekpo,
wa_options TYPE t_options,
i_ekbe LIKE STANDARD TABLE OF t_ekbe,
i_ekbe2 LIKE STANDARD TABLE OF t_ekbe,
i_ekpo LIKE STANDARD TABLE OF t_ekpo.
*---Variables
DATA: v_first, " variable to get first digit
v_set TYPE c,
v_found TYPE p,
v_menge TYPE p,
v_ebeln LIKE ekko-ebeln,
v_lifnr LIKE ekko-lifnr,
v_belnr LIKE ekbe-belnr,
v_postdate LIKE mkpf-budat,
v_bukrs LIKE marv-bukrs,
v_datum LIKE sy-datum,
v_lgort LIKE mard-lgort, " Stge. location
v_bwart LIKE mseg-bwart, " Movement type
v_infnr LIKE eina-infnr, " Info record no.
v_ltsnr LIKE eina-ltsnr.
*---Constants
CONSTANTS: c_comma TYPE c VALUE ',', " For splitting data at commas
c_01(2) TYPE c VALUE '01', " For movement code in Bapi
c_b TYPE c VALUE 'B', " For mvt. Indicator in Bapi
c_save(4) TYPE c VALUE 'SAVE', " For button text
c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
c_mvmt(4) TYPE c VALUE 'MVMT',
c_ok(2) TYPE c VALUE 'OK',
c_error(5) TYPE c VALUE 'Error'.
*--SELECTION SCREEN DESIGN--
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_bar(75) , " Scanned data from barcode
p_ebeln LIKE ekko-ebeln, " PO number
p_matnr LIKE ekpo-matnr, " Material number
p_menge LIKE ekpo-menge, " Quantity
p_lifnr LIKE ekko-lifnr, " Vendor code
p_frbnr LIKE mkpf-frbnr, " Reference doc for goods mvt
p_status(5) TYPE c.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN PUSHBUTTON 15(10) v_save USER-COMMAND mvmt.
SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
INITIALIZATION -
INITIALIZATION.
v_save = c_save .
v_clear = c_clear.
*--AT SELECTION_SCREEN--
AT SELECTION-SCREEN .
IF sy-ucomm = c_clear.
PERFORM f_clear.
ELSE.
IF sy-ucomm <> c_mvmt.
if not sy-tabix is initial and sy-ucomm <> c_mvmt.
*--- Extracting the data by splitting the scanned values.
PERFORM f_get_split_data.
*--- Validating the input data.
PERFORM f_check_inputs.
ELSE .
*--- Validating the input data.
PERFORM f_check_inputs.
*-- Determining the posting date and period check.
PERFORM f_get_posting_date.
*---Post goods movement
PERFORM f_post_receipt.
ENDIF.
ENDIF.
SUBROUTINES *
*& Form f_check_inputs
Validating the input parameters
FORM f_check_inputs.
*-- Validating material no.
SELECT SINGLE matnr INTO p_matnr
FROM mara
WHERE matnr = p_matnr.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Material no.'.
ENDIF.
*-- Validating JHT reference no.
SELECT SINGLE ebeln
lifnr
bukrs
INTO (p_ebeln, v_lifnr , v_bukrs)
FROM ekko
where unsez = p_unsez. chg:07072003
WHERE ebeln = p_ebeln.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Purchase order no.'.
ENDIF.
*-- Validating material po combination
SELECT SINGLE *
FROM ekpo
WHERE ebeln = p_ebeln
AND matnr = p_matnr.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Purchase order no.' ' and Material no.'.
ENDIF.
*--- Checking for DO entry . (chng : 30/06/2003)
IF p_frbnr IS INITIAL.
MESSAGE e018(m7) WITH 'Delivery no.'.
p_status = c_error.
PERFORM f_clear.
ENDIF.
*-- Validating material po do combination
SELECT SINGLE a~belnr
INTO v_belnr
FROM ekbe AS a
INNER JOIN mkpf AS b
ON abelnr = bmblnr
AND agjahr = bmjahr
WHERE a~ebeln = ekpo-ebeln
AND a~ebelp = ekpo-ebelp
AND b~xblnr = p_frbnr.
IF sy-subrc = 0.
MESSAGE e019(zm) WITH v_belnr.
p_status = c_error.
PERFORM f_clear.
ENDIF.
p_status = c_ok.
ENDFORM. " f_check_inputs
*& Form f_get_split_data
Extracting the data by splitting the Scanned data
FORM f_get_split_data.
*-- Splitting the data at commas
SPLIT p_bar AT c_comma INTO TABLE i_part.
*-- Assigning the parts to variables.
LOOP AT i_part.
v_first = i_part-part+0(1).
TRANSLATE v_first TO UPPER CASE.
CASE v_first .
WHEN 'V'.
p_lifnr = i_part-part+1(10).
WHEN 'P'.
p_matnr = i_part-part+1(18).
WHEN 'Q'.
p_menge = i_part-part+1(13).
WHEN 'K'.
p_ebeln = i_part-part+1(10).
WHEN 'D'.
p_frbnr = i_part-part+2(16).
WHEN OTHERS.
CONTINUE.
ENDCASE.
ENDLOOP.
ENDFORM. " f_get_split_data
*& Form f_get_posting_date
Determing the posting date for document
FORM f_get_posting_date.
*-- get the current period for todays date.
DATA: l_period LIKE t009b-poper.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = sy-datum
i_periv = 'K4'
IMPORTING
e_buper = l_period
E_GJAHR =
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*-- Determining whether the open period
SELECT SINGLE *
FROM marv
WHERE bukrs = v_bukrs.
IF sy-subrc = 0.
IF l_period = marv-lfmon .
v_postdate = sy-datum.
ELSE.
CALL FUNCTION 'BAPI_CCODE_GET_FIRSTDAY_PERIOD'
EXPORTING
companycodeid = v_bukrs
fiscal_period = marv-lfmon
fiscal_year = marv-lfgja
IMPORTING
first_day_of_period = v_postdate
return = i_return1.
IF NOT i_return[] IS INITIAL.
LOOP AT i_return1.
MESSAGE i016(zm) WITH i_return-message.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " f_get_posting_date
*& Form f_post_receipt
Post the goods receipt for entered data.
FORM f_post_receipt.
PERFORM f_fill_item.
PERFORM f_fill_header.
PERFORM f_execute_transfer.
PERFORM f_clear.
ENDFORM. " f_post_receipt
*& Form f_fill_item
Updating the item data for the GR
FORM f_fill_item.
Checking for IQC cycle is done here.(chng : 23/07/2003)
PERFORM f_check_iqc.
*---- Assigning movement type as per IQC cycle.(chng : 23/07/2003)
IF v_lgort IS INITIAL.
MOVE '101' TO i_item-move_type.
SELECT SINGLE lgort INTO i_item-stge_loc
FROM ekpo
where ebeln = v_ebeln and " chg :07/07/2003
WHERE ebeln = p_ebeln AND
matnr = p_matnr .
ELSE.
MOVE v_lgort TO i_item-stge_loc.
MOVE v_bwart TO i_item-move_type.
ENDIF.
MOVE p_matnr TO i_item-material.
MOVE p_menge TO i_item-entry_qnt.
move v_ebeln to i_item-po_number. " 07/07/2003
MOVE p_ebeln TO i_item-po_number.
MOVE v_lifnr TO i_item-vendor.
MOVE c_b TO i_item-mvt_ind.
select single ebelp into i_item-po_item " chg :29/07/2003
from ekpo
where ebeln = p_ebeln
and matnr = p_matnr
and elikz = ''.
SELECT ebeln
ebelp
matnr
menge
INTO CORRESPONDING FIELDS OF TABLE i_ekpo
FROM ekpo
WHERE ebeln = p_ebeln
AND matnr = p_matnr
AND loekz = '' .
SORT i_ekpo BY ebeln ebelp matnr.
LOOP AT i_ekpo INTO wa_ekpo.
IF v_found = 0.
SELECT ebeln ebelp
bwart menge
INTO CORRESPONDING FIELDS OF TABLE i_ekbe
FROM ekbe
WHERE ebeln = p_ebeln
AND ebelp = wa_ekpo-ebelp
AND matnr = p_matnr.
and elikz = '' . CHG -- 03/19/2004
IF sy-subrc = 0.
LOOP AT i_ekbe INTO wa_ekbe .
IF wa_ekbe-bwart = '101'.
v_menge = v_menge + wa_ekbe-menge.
ENDIF.
IF wa_ekbe-bwart = '102'.
v_menge = v_menge - wa_ekbe-menge.
ENDIF.
IF wa_ekbe-bwart = '122'.
v_menge = v_menge - wa_ekbe-menge.
ENDIF.
ENDLOOP.
chng: 03/19/2004 compare po qty against receipt
v_menge = v_menge + p_menge .
IF wa_ekpo-menge >= v_menge .
v_found = 1.
MOVE wa_ekpo-ebelp TO i_item-po_item.
ENDIF.
ELSE .
v_found = 1.
MOVE wa_ekpo-ebelp TO i_item-po_item.
ENDIF.
ENDIF.
CLEAR : wa_ekbe, i_ekbe, v_menge.
ENDLOOP.
IF v_found = 0 .
MESSAGE e003(zm) WITH ' delivery items'.
ENDIF.
APPEND i_item.
CLEAR : i_item, v_found .
ENDFORM. " f_fill_item
*& Form f_check_iqc
Checking the storage location for the (chng : 23/07/2003)
FORM f_check_iqc.
CALL FUNCTION 'Z_M_GET_IQC_STATUS'
EXPORTING
matnr = p_matnr
lifnr = v_lifnr
IMPORTING
lgort = v_lgort
bwart = v_bwart
ltsnr = v_ltsnr
infnr = v_infnr
EXCEPTIONS
non_iqc_vendor = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR : v_lgort , v_bwart , v_ltsnr.
ENDIF.
ENDFORM. " f_check_iqc
*& Form f_fill_header
Updating data in the header
FORM f_fill_header.
MOVE v_postdate TO wa_header-pstng_date.
MOVE sy-datum TO wa_header-doc_date.
MOVE p_frbnr TO wa_header-ref_doc_no.
ENDFORM. " f_fill_header
*& Form f_execute_transfer
Executing the goods movement.
FORM f_execute_transfer.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = wa_header
goodsmvt_code = c_01
IMPORTING
goodsmvt_headret = wa_return
TABLES
goodsmvt_item = i_item
return = i_return.
IF i_return[] IS INITIAL .
COMMIT WORK.
*--- UPdating Info record for IQC cycle ind.(chng : 23/07/2003)
IF NOT v_ltsnr IS INITIAL.
UPDATE eina SET ltsnr = v_ltsnr
WHERE infnr = v_infnr.
ENDIF.
REFRESH : i_item.
CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
MESSAGE i012(migo) WITH wa_return-mat_doc.
PERFORM f_do_print.
ELSE.
REFRESH : i_item.
CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
PERFORM write_errors.
ENDIF.
ENDFORM. " f_execute_transfer
FORM write_errors.
WRITE: 0(90) sy-uline ,
/0'|',
3 'System messages for GR posting',
90 '|',
/0(90) sy-uline .
LOOP AT i_return.
CASE i_return-type.
WHEN 'E'.
MESSAGE i016(zm) WITH i_return-message.
WHEN 'W'.
MESSAGE i017(zm) WITH i_return-message.
WHEN 'I'.
WRITE: /0'|',
icon_yellow_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE i018(zm) WITH i_return-message.
WHEN 'S'.
WRITE: /0'|',
icon_green_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE i018(zm) WITH i_return-message.
WHEN OTHERS.
WRITE: /0'|',
icon_red_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE e016(zm) WITH i_return-message.
ENDCASE.
AT LAST .
WRITE:/0(90) sy-uline .
ENDAT.
ENDLOOP.
ENDFORM. " write_errors
*& Form f_clear
Clearing the input parameters
FORM f_clear.
CLEAR : p_ebeln ,
p_bar,
p_matnr,
p_frbnr,
v_lifnr,
p_menge,
p_status.Hi all,
can anyone suggest any idea?
Regrds
pabitra -
Very urgent --pls help Report Painter Problem,
Hi to all,
I have created 5 operating expenses report by cost centres through report painter. some for full period , some for actual and sone for budget.
Under one set of that cost centre reports I have many subsets under which there are cost centre groups and then the cost centres.
I want to add one more set to existing set. I have added the set and set contains one cost centre group and their are also cost centres under it.
The table which i am using for cost centre grous is GLT1 and field is RCNTR and for cost centres it is CCSS and KOSTL respectively.
In the above procedure I have two queries.
1)even after adding the set and when i try to execute the report from T- code SERP it doesnot show my created set in variation.
2)Also even if it was showing the set earlier but report was showing zero values. When i clicked on zero amount a pop up arises for plan and actual values and when i clicked on plan values it had value of Rs 255000(for cost centres). then outside why this amount doesnot appears.
PLS THIS IS VERY VERY URGENT
Regards
TANUJAI've just read this thread three times and I have absolutely no idea what you are doing, in what version, and what you are asking for help with.
Do you want to change the message type? If you do you MUST drop the queue and start over again from the beginning.
Do you want to enqueue messages?
Post your DDL and other relevant information or you are on your own. We can not guess at your issue. -
Very urgent:To find IDOC list in RSMO(BI 7.0)
Hi all,
Its very urgent to know,for a particular load IDOCs used to run to process the data&dialogs,in 3.5 we used to get the IDOCs list in RSMO screen itself,but in 7.0 is not having that options,please tell me for a particular load where we can find list of IDOCs?
Regards,
GTR.Hi,
This info may be helpful.
Transact RFC error
tRFC Error - status running Yellow for long time (Transact RFC will be enabled in Status tab in RSMO).
Step 1: Goto Details, Status get the IDoc number,and go to BD87 in R/3,place the cursor in the RED IDoc entroes in tRFC
queue thats under outbound processing and click on display the IDOC which is on the menu bar.
Step 2: In the next screen click on Display tRFC calls (will take you to SM58 particular TRFC call)
place the cursor on the particular Transaction ID and go to EDIT in the menu bar --> press 'Execute LUW'
(Display tRFC calls (will take you to SM58 particular TRFC call) ---> select the TrasnID ---> EDIT ---> Execute LUW)
Rather than going to SM58 and executing LUW directly it is safer to go through BD87 giving the IDOC name as it will take you
to the particular TRFC request for that Idoc.
OR
Go into the JOB Overview of the Load there you should be able to find the Data Package ID.
(For this in RSMO Screen> Environment> there is a option for Job overview.)
This Data Package TID is Transaction ID in SM58.
OR
SM58 > Give * / user name or background (Aleremote) user name and execute.It will show you all the pending TRFC with
Transaction ID.
In the Status Text column you can see two status
Transation Recorded and Transaction Executing
Don't disturb, if the status is second one Transaction Executing. If the status is first one (Transation Recorded) manually
execute the "Execute LUWs"
OR
Directly go to SM58 > Give * / user name or background (Aleremote) user name and execute. It will show TRFCs to be executed
for that user. Find the particular TRFC (SM37 > Req name > TID from data packet with sysfail).select the TrasnID (SM58) --->
EDIT ---> Execute LUW
Also
Check Note 561880 - Requests hang because IDocs are not processed.
thanks,
JituK -
Please check my code where i am wrong ,-very urgent please
Hi ,
i am getting all values execpt the values from table t685 , kolnr and kotabnr and i am using three selects and moving the values in it_output_report.
this is very urgent
REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE 225.
D A T A *
INCLUDE zmaster_condition_top.
S E L E C T I O N S *
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
SELECT-OPTIONS: s_kvewe FOR t683s-kvewe,
s_kappl FOR t683s-kappl,
s_kalsm FOR t683s-kalsm,
s_kschl FOR t683s-kschl,
s_kabnr FOR t682i-kotabnr.
SELECTION-SCREEN END OF BLOCK b01.
*SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
*PARAMETERS: p_vari LIKE disvariant-variant.
*SELECTION-SCREEN END OF BLOCK b4.
**SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
*SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
*SELECTION-SCREEN END OF BLOCK b02.
A T S E L E C T I O N - S C R E E N *
M A I N P R O G R A M *
START-OF-SELECTION.
*Initializing the local tables.
CLEAR:it_t682i,it_t683s,it_t685,it_output_report.
REFRESH:it_t682i,it_t683s,it_t685,it_output_report.
*Selection of data from pricing procedure tables using a join.
*SELECT Akvewe Akappl Akalsm Astunr A~zaehk
Akschl Bkolnr Bkotabnr Ckozgf
INTO TABLE it_output_report
FROM t683s as A
JOIN t682i as B
ON Akvewe eq Bkvewe and
Akappl eq Bkappl
JOIN t685 as C
ON Bkvewe eq Ckvewe and
Bkappl eq Ckappl and
Bkozgf eq Ckozgf
WHERE A~KVEWE = 'B' and
A~KAPPL = 'V1' .
A~KALSM IN S_KALSM and
A~KSCHL IN S_KSCHL and
B~KOTABNR IN S_KABNR.
*Selection of data from pricing procedure tables
*SELECT * FROM t683s APPENDING CORRESPONDING FIELDS OF TABLE it_t683s
WHERE kvewe = 'B'
and kappl = 'V1'.
SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
INTO TABLE it_t682i
WHERE kvewe = 'B'
AND kappl = 'V1'.
SELECT kvewe kappl kalsm stunr zaehk kschl FROM t683s
INTO TABLE it_t683s
WHERE kvewe = 'B'
AND kappl = 'V1'
AND kalsm IN s_kalsm.
*SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
and KSCHL in S_KSCHL
AND KOZGF in s_kabnr.
SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
and KSCHL in S_KSCHL
AND KOZGF in s_kabnr.
*clear it_t685.
*loop at it_t685.
it_output_report-kschl = it_t685-kschl.
it_output_report-kozgf = it_t685-kozgf.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
*endloop.
clear it_t683s.
loop at it_t683s.
it_output_report-kvewe = it_t683s-kvewe.
it_output_report-kappl = it_t683s-kappl.
it_output_report-kalsm = it_t683s-kalsm.
it_output_report-stunr = it_t683s-stunr.
it_output_report-zaehk = it_t683s-zaehk.
it_output_report-kschl = it_t683s-kschl.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
APPEND IT_OUTPUT_REPORT.
clear it_output_report.
*loop at it_t685.
it_output_report-kschl = it_t685-kschl.
it_output_report-kozgf = it_t685-kozgf.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
endloop.
*MOVE : it_t683s-kvewe TO it_output_report-kvewe.
E N D - O F - S E L E C T I O N
END-OF-SELECTION.
*Output to a list
FORMAT COLOR 2 .
WRITE:/2 'Usage',09 'App',17 'Proced',24 'Step',
37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
97 'AccSeqNum',108 'ConTable'.
WRITE:/1(225) sy-uline.
loop at it_output_report.
WRITE:/ it_output_report-kvewe UNDER 'Usage',
it_output_report-kappl UNDER 'App',
it_output_report-kalsm UNDER 'Procedure',
it_output_report-stunr UNDER 'Step',
it_output_report-zaehk UNDER 'Counter',
it_output_report-kschl UNDER 'CondType',
it_output_report- UNDER 'Description',
it_output_report-kozgf UNDER 'AccSeq',
it_output_report-kolnr UNDER 'AccSeqNum',
it_output_report-kotabnr UNDER 'ConTable'.
it_output_report- UNDER 'SalesOrg',
it_output_report- UNDER 'DocType'.
it_output_report- UNDER 'Customer'.
endloop.
INCLUDE ZMASTER_CONDITION_TOP *
*Table declaration
Tables:T682I,
T683S,
T685,
NACH,
B005.
*Data declaration for internal tables
DATA:Begin of it_output_report occurs 0,
KVEWE LIKE T683S-KVEWE, "Usage of the condtion table
KAPPL LIKE T683S-KAPPL, "Application
KALSM LIKE T683S-KALSM, "Procedure for pricing
STUNR LIKE T683S-STUNR, "step number
ZAEHK LIKE T683S-ZAEHK, "condition counter
KSCHL LIKE T683S-KSCHL, "condition type
KOZGF LIKE T685-KOZGF, "Access sequence
KOLNR LIKE T682I-kOLNR, "Access sequence number
KOTABNR LIKE T682I-KOTABNR, "Condition Table
End of it_output_report.
DATA: BEGIN OF IT_T683S OCCURS 10 ,
KVEWE LIKE T683S-KVEWE, "Usage of the condtion table
KAPPL LIKE T683S-KAPPL, "Application
KALSM LIKE T683S-KALSM, "Procedure for pricing
STUNR LIKE T683S-STUNR, "step number
ZAEHK LIKE T683S-ZAEHK, "condition counter
KSCHL LIKE T683S-KSCHL,
KOZGF LIKE T685-KOZGF, "condition type
END OF IT_T683S.
DATA: BEGIN OF IT_T685 OCCURS 10,
kvewe like t685-kvewe,
kappl like t685-kappl,
KSCHL LIKE T685-KSCHL,
KOZGF LIKE T685-KOZGF, "Access sequence
END OF IT_T685 .
DATA: BEGIN OF IT_T682I OCCURS 0,
KVEWE LIKE T682I-KVEWE,
KAPPL LIKE T682I-KAPPL,
KOZGF LIKE T682I-KOZGF, "Access sequence
KOLNR LIKE T682I-kOLNR, "Access sequence number
KOTABNR LIKE T682I-KOTABNR, "Condition TableHi,
I think may be you should check with T682I-KOZGF(Access sequence) instead of T682I-KOTABNR(Condition table).
In select-options declare like
s_KOZGF FOR t682i-KOZGF
SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
and KSCHL in S_KSCHL
AND KOZGF in s_KOZGF. //change s_kabnr to s_kozgf
Thanks,
Veni. -
Message Queue Blocking / MSGMNI Setting
Hi All,
Firstly, many thanks to all that can assists. I am currently getting Message Queue
Blocking messages in my ULOG files in my Tuxedo Application. (Tux ver 7.1 in Unix).
I am not sure what is causing this, but started to look into the Tux Config (UBB.MP)
and System message queue setting. Detailed as follows:
1)
Listed below is the system message queue setting:
set msgsys:msginfo_msgmni=2000
set msgsys:msginfo_msgmax=128000
set msgsys:msginfo_msgmnb=100000
set msgsys:msginfo_msgssz=256
set msgsys:msginfo_msgseg=25088
set msgsys:msginfo_msgtql=1550
set msgsys:msginfo_msgmap=1000
According to the BEA site, the MSGMNI is determined by this formula:
MSGMNI = MAXACCESSERS + 7 + (no. of servers with REPLYQ) + (no. MSSQ sets) - (no.
of servers with MSSQ sets)
The following is my current Tux. Config (UBB.MP) is set as :
- MAXACCESSERS = 2300
- Each servers (4 types in total) has its own REPLYQ and RQADDR.
- The same type of servers are set the same across 4 application servers.
Hence, my MSGMNI should be a minimum 2339 (ie. MSGMNI = 2300 + 16 + 16 - 0 = 2339).
But my current MSGMNI is 2000.
Would this contribute to my Message Queue Blocking?
Is my understanding correct and is this something I should change to avoid Message
Queue Blocking? Any helps and advice is much appreciated.Malcolm,
Your information and explanations behind these error messages are very useful.
It allow me to further understand Tuxedo internal processing and at the same time
give me a chance to start analysing these fields.
I am reluctant to ask further questions at the mean time. I will use your suggestions
as a starting point.
I will certainly keep you posted of the outcome when I have made the changes in
my UBB config and machine parameters.
Many thanks with your help/explanations Malcolm. It helps alot!
Cheers.
David.
"Malcolm Freeman" <[email protected]> wrote:
>
Hi David,
The MSGTQL reference you give (Solution S-00488) refers to the BEA MessageQ
product
and is not relevant to Tuxedo.
The error messages indicate that the queue buildup is probably due to
a restartable
server failing. What happens is this:
When a restartable server fails its IPC queue remains in place and continues
to
receive messages (which will be processed when the server restarts).
Depending
on the time taken to restart, the queue could become full and unable
to receive
any more messages, and this is probably why you got the message CMDTUX_CAT:1380
indicating that the BRIDGE process was unable to put a message on the
server's
queue.
A server is only restarted when the BBL does a SANITYSCAN check. If,
for example,
your SANITYSCAN interval is 300 seconds and your server fails immediately
after
the previous scan, then there will be a delay of almost 5 minutes before
the failure
is detected and the server restarted - plenty of time for the queue to
fill up.
There are a few things you could do:
The key thing would be to find out why the server is failing, and fix
the problem.
If this is not possible immediately, consider some of the other ideas
below.
Have several servers form an MSSQ to service this queue; then if one
fails the
others will continue processing the messages while the failed server
restarts
(this assumes, of course, that your application does not require the
messages
to be processed in strict order through the server).
Reduce the SANITYSCAN interval (but don't make it too small). This would
reduce
the average time taken to restart the server.
Increase the size of the IPC queue (MSGMNB) so that it can hold more
messages.
I'm not sure why you got a LIBTUX_CAT:1485 message, but this could be
due to a
BRIDGE failure as a result of the congestion.
The NETLOAD parameter would reduce the number of messages going to the
remote
machine, but only if the local machine offers the same service. If the
remote
machine is the only source of the service then NETLOAD will have no effect.
I
recommend you do a search of this newsgroup for postings on "load balancing"
there's some good stuff which will explain how load balancing works.
Depending how things go, it might not be a bad idea to open a case with
BEA Support
and ask for guidance (remember to submit your ubbconfig (or preferably
do a tmunloadcf)
together with the complete ULOGs from both the master and the slave machine).
Hope this helps some.
Regards,
Malcolm.
"Dave" <[email protected]> wrote:
Hi Malcolm,
Thank you for your reply. Interesting point you have made about theMSGTQL
value.
Based on your suggestion I went hunting around the BEA site and found
the following
snipplet:
"- The MSGTQL parameter must be set to a value greater than or
equal to the MSGMNI setting."
(http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_solution&answerpage=solution&page=msq/S-00488.htm)
If the above point is valid, then my MSGTQL is definitely way too low.
IF this
be the case, would you know of a method to work out what my MSGTQL bytes
value
should be?
Additionally, I have looked at other parameters which I could tune,and
would
adding a NETLOAD parameter in the *MACHINES section will reduce remote
servers
call? Which potentially, maybe reduce message queue blocking?
FYI:
The error messages I am seeing in my ULOG file are:
"LIBTUX_CAT: 1477 : ERROR .SysServerDied
LIBTUX_CAT: 1476 : ERROR: .SysServerRestarting"
Which then leads to message queue blocking
"CMDTUX_CAT: 1380 : ERROR: Message queue blocking prevented delivery,
Qaddr=..."
and potentially "LIBTUX_CAT: 1485 .SysNetworkDropped."
Many Thanks. Hope to hear from you (Malcolm) or other parties out there
that can
assists.
Thanks.
David -
Okay, here's my three cents worth,
Are you using Forte "Keep Alive" settings? If yes, you may simply have a
time-out.
While a partition is waiting for a reply from a database, it blocks and
won't respond
to anything, including pings to check if it's still alive. So, if the query
takes longer to
complete than the time-out period of the communication manager, then you
will
loose the connection to the partition.
-----Original Message-----
From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
Sent: Sunday, February 13, 2000 11:39 AM
To: 'Babu Raj'; kamranaminyahoo.com
Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
handle La rge array properly
Hi,
This sounds almost identical to a problem we have experienced.
If it is the same problem it is because you have compiled a back-end
load-balanced partition, but NOT the router that manages it.
With such a configuration, attempts to send greater than a few thousand
rows
will fail - and it doesn't seem to matter what you set -fm to.
You don't see the problem running distributed from your workspace because
everything is interpreted.
So just compile the router and try again.
Hope this helps.
George Aberdour
(George.Aberdourdet.nsw.edu.au)
-----Original Message-----
From: Babu Raj [mailto:ibcsmartboyyahoo.com]
Sent: Saturday, 12 February 2000 7:24
To: kamranaminyahoo.com
Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
Large array properly
Hi All,
Have anyone experienced problem of retrieving
more than 1500 records from the database table, into
the object.
I use dynamic SQL statement, and populating Array
object from the DBDataSet. When it runs from my
workspace distributed, it works fine. But, when I make
deployment, and install on the test bed, I face
Network connection failure from the client machine. It
looks like, server read the data from the Database,
and while packaging it, to send it across to the
client, server seems to run out ouf memory or couldn't
maintain the connection with the client. I tried to
set -fm flag on that partition, and separately setting
FORTE_GC_SPECIAL too, but still no luck.
we have increased, the rollback segment size on
Oracle too, but still no luck.
Appreciate, your suggestions, if you can,
Thank you,
Babu
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comOkay, here's my three cents worth,
Are you using Forte "Keep Alive" settings? If yes, you may simply have a
time-out.
While a partition is waiting for a reply from a database, it blocks and
won't respond
to anything, including pings to check if it's still alive. So, if the query
takes longer to
complete than the time-out period of the communication manager, then you
will
loose the connection to the partition.
-----Original Message-----
From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
Sent: Sunday, February 13, 2000 11:39 AM
To: 'Babu Raj'; kamranaminyahoo.com
Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
handle La rge array properly
Hi,
This sounds almost identical to a problem we have experienced.
If it is the same problem it is because you have compiled a back-end
load-balanced partition, but NOT the router that manages it.
With such a configuration, attempts to send greater than a few thousand
rows
will fail - and it doesn't seem to matter what you set -fm to.
You don't see the problem running distributed from your workspace because
everything is interpreted.
So just compile the router and try again.
Hope this helps.
George Aberdour
(George.Aberdourdet.nsw.edu.au)
-----Original Message-----
From: Babu Raj [mailto:ibcsmartboyyahoo.com]
Sent: Saturday, 12 February 2000 7:24
To: kamranaminyahoo.com
Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
Large array properly
Hi All,
Have anyone experienced problem of retrieving
more than 1500 records from the database table, into
the object.
I use dynamic SQL statement, and populating Array
object from the DBDataSet. When it runs from my
workspace distributed, it works fine. But, when I make
deployment, and install on the test bed, I face
Network connection failure from the client machine. It
looks like, server read the data from the Database,
and while packaging it, to send it across to the
client, server seems to run out ouf memory or couldn't
maintain the connection with the client. I tried to
set -fm flag on that partition, and separately setting
FORTE_GC_SPECIAL too, but still no luck.
we have increased, the rollback segment size on
Oracle too, but still no luck.
Appreciate, your suggestions, if you can,
Thank you,
Babu
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Very Urgent Pls help : Change of payload type to user-defined types
Hello Experts
I was using sys.xml_type as payload type in my queue table creation.
consider xml message
<order>
<id>1</id>
<load rerer="mq" erere='gg" > </load>
</order>
This i inserted into queue table using enqueue process.
this is done.
BUT NOW My manager wants to change the payload type.
he created a type
create or replace type systype as object (msg varchar2(4000));
Now payload type of queue table is changed to
PayloadType==>aq.systype.
Pls help me how can i insert xml messages into this queue table.
This is very urgent. Pls help me
SI've just read this thread three times and I have absolutely no idea what you are doing, in what version, and what you are asking for help with.
Do you want to change the message type? If you do you MUST drop the queue and start over again from the beginning.
Do you want to enqueue messages?
Post your DDL and other relevant information or you are on your own. We can not guess at your issue. -
Very urgent please ----repetting values in the output
I am getting values for acc seq access seq number and codndition table repeting values as in the output of the report, please have a look in my code and please do respond immediatley.
regards always, below is my code and output
REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE 225.
D A T A *
INCLUDE zmaster_condition_top.
S E L E C T I O N S *
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
SELECT-OPTIONS: s_kvewe FOR t683s-kvewe,
s_kappl FOR t683s-kappl,
s_kalsm FOR t683s-kalsm,
s_kschl FOR t683s-kschl,
s_kabnr FOR t682i-kotabnr,
s_kozgf FOR t682i-kozgf.
SELECTION-SCREEN END OF BLOCK b01.
*SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
*PARAMETERS: p_vari LIKE disvariant-variant.
*SELECTION-SCREEN END OF BLOCK b4.
**SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
*SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
*SELECTION-SCREEN END OF BLOCK b02.
A T S E L E C T I O N - S C R E E N *
M A I N P R O G R A M *
START-OF-SELECTION.
*Initializing the local tables.
CLEAR:it_t682i,it_t683s,it_t685.
REFRESH:it_t682i,it_t683s,it_t685.
clear it_output_report.
refresh it_output_report.
*Selection of data from pricing procedure tables
SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
INTO TABLE it_t682i
WHERE kvewe = 'B'
AND kappl = 'V1'.
SELECT kvewe kappl kalsm stunr zaehk kschl FROM t683s
INTO TABLE it_t683s
WHERE kvewe = 'B'
AND kappl = 'V1'
and kschl in s_kschl
AND kalsm IN s_kalsm.
sort it_t683s by kvewe kappl.
DELETE adjacent duplicates FROM
it_t683s .
SELECT kvewe kappl kschl kozgf FROM t685
INTO TABLE it_t685
WHERE kvewe = 'B'
AND kappl = 'V1'
AND kschl IN s_kschl
AND kozgf IN s_kozgf.
LOOP AT it_t683s.
it_output_report-kvewe = it_t683s-kvewe.
it_output_report-kappl = it_t683s-kappl.
it_output_report-kalsm = it_t683s-kalsm.
it_output_report-stunr = it_t683s-stunr.
it_output_report-zaehk = it_t683s-zaehk.
it_output_report-kschl = it_t683s-kschl.
SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
INTO TABLE it_t682i
WHERE kvewe = it_t683s-kvewe
AND kappl = it_t683s-kappl
and kozgf in s_kozgf
and kotabnr in s_kabnr.
clear it_t682i.
loop at it_t682i.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
APPEND it_output_report.
CLEAR it_output_report.
endloop.
APPEND it_output_report.
ENDLOOP.
E N D - O F - S E L E C T I O N
END-OF-SELECTION.
*Output to a list
FORMAT COLOR 2 .
WRITE:/2 'Usage',09 'App',17 'Proced',24 'Step',
37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
97 'AccSeqNum',108 'ConTable'.
WRITE:/1(225) sy-uline.
LOOP AT it_output_report.
WRITE:/ it_output_report-kvewe UNDER 'Usage',
it_output_report-kappl UNDER 'App',
it_output_report-kalsm UNDER 'Procedure',
it_output_report-stunr UNDER 'Step',
it_output_report-zaehk UNDER 'Counter',
it_output_report-kschl UNDER 'CondType',
it_output_report- UNDER 'Description',
it_output_report-kozgf UNDER 'AccSeq',
it_output_report-kolnr UNDER 'AccSeqNum',
it_output_report-kotabnr UNDER 'ConTable'.
it_output_report- UNDER 'SalesOrg',
it_output_report- UNDER 'DocType'.
it_output_report- UNDER 'Customer'.
ENDLOOP.
output of the report:
Usage App Proced Step Counter CondType AccSeq AccqNum ConTable
B V1 V10000 220 00 ZCR1 Z200 05 511
B V1 V10000 220 01 ZRAS Z200 05 511
B V1 V10000 225 00 ZTPT Z200 05 511
B V1 V10000 230 00 ZOP4 Z200 05 511
B V1 V10001 010 01 RD03 Z200 05 511
B V1 V10002 010 00 ZREP Z200 05 511
B V1 V10000 200 00 ZOP3 z200 05 511
B V1 V10000 130 00 ZOC3 z200 05 511i would like to thanks you for your valuable help.
i am still getting repeated values for access seq , access number and cond table,last three columns in the output, pls see as it it is very urgent...
here is the code:
REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE 225.
D A T A *
INCLUDE zmaster_condition_top.
S E L E C T I O N S *
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
SELECT-OPTIONS: s_kvewe FOR t683s-kvewe,
s_kappl FOR t683s-kappl,
s_kalsm FOR t683s-kalsm,
s_kschl FOR t683s-kschl,
s_kabnr FOR t682i-kotabnr.
s_kozgf FOR t682i-kozgf.
SELECTION-SCREEN END OF BLOCK b01.
*SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
*PARAMETERS: p_vari LIKE disvariant-variant.
*SELECTION-SCREEN END OF BLOCK b4.
**SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
*SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
*SELECTION-SCREEN END OF BLOCK b02.
A T S E L E C T I O N - S C R E E N *
M A I N P R O G R A M *
START-OF-SELECTION.
*Initializing the local tables.
CLEAR:it_t682i,it_t683s,it_t685.
REFRESH:it_t682i,it_t683s,it_t685.
REFRESH it_output_report.
SELECT kvewe kappl kalsm stunr zaehk kschl FROM t683s
INTO TABLE it_t683s
WHERE kvewe IN s_kvewe
AND kappl IN s_kappl
AND kalsm IN s_kalsm
AND kschl IN s_kschl.
*delete adjacent duplicates from it_t683s comparing
kvewe kappl kschl.
SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
INTO TABLE it_t682i
FOR ALL ENTRIES IN it_t683s
WHERE kvewe = it_t683s-kvewe
AND kappl = it_t683s-kappl
AND kozgf IN s_kozgf
AND kotabnr IN s_kabnr.
LOOP AT it_t683s.
it_output_report-kvewe = it_t683s-kvewe.
it_output_report-kappl = it_t683s-kappl.
it_output_report-kalsm = it_t683s-kalsm.
it_output_report-stunr = it_t683s-stunr.
it_output_report-zaehk = it_t683s-zaehk.
it_output_report-kschl = it_t683s-kschl.
move-corresponding it_t683s to it_output_report.
sort it_t683s.
sort it_t682i.
READ TABLE it_T682i with KEY KVEWE = it_T683s-KVEWE
kappl = it_t683s-kappl.
LOOP AT it_T682i WHERE KVEWE = it_T683s-KVEWE
AND kappl = it_t683s-kappl.
AND kotabnr IN s_kabnr.
IF SY-SUBRC EQ 0.
move-corresponding it_T682i to it_output_report.
it_output_report-kozgf = it_t682i-kozgf.
it_output_report-kolnr = it_t682i-kolnr.
it_output_report-kotabnr = it_t682i-kotabnr.
ENDIF.
APPEND it_output_report.
ENDLOOP.
*DATA TAB(4).
*DATA VKORG LIKE TAB-VKORG.
*CONCATENATE it_t683s-kvewe it_t682i-kotabnr INTO TAB .
*SELECT SINGLE VKORG INTO VKORG FROM TAB WHERE
KSCHL = 'ZRC1'.
E N D - O F - S E L E C T I O N
END-OF-SELECTION.
*Output to a list
FORMAT COLOR 2 .
WRITE:/2 'Usage',09 'App',15 'Proced',24 'Step',
37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
97 'AccSeqNum',108 'ConTable'.
WRITE:/1(225) sy-uline.
LOOP AT it_output_report.
WRITE:/ it_output_report-kvewe UNDER 'Usage',
it_output_report-kappl UNDER 'App',
it_output_report-kalsm UNDER 'Proced',
it_output_report-stunr UNDER 'Step',
it_output_report-zaehk UNDER 'Counter',
it_output_report-kschl UNDER 'CondType',
it_output_report- UNDER 'Description',
it_output_report-kozgf UNDER 'AccSeq',
it_output_report-kolnr UNDER 'AccSeqNum',
it_output_report-kotabnr UNDER 'ConTable'.
it_output_report- UNDER 'SalesOrg',
it_output_report- UNDER 'DocType'.
it_output_report- UNDER 'Customer'.
here is the output:
Report to list out all Condition Records for Output and Pricing.
Usage App Proced Step Counter CondType AccSeq AccSeqNum ConTable
B V1 V05000 010 01 AF00 Z001 05 551
B V1 V05000 020 02 MAIL Z001 05 551
B V1 V05000 030 01 ESYM Z001 05 551
B V1 V06000 010 01 AN00 Z001 05 551
B V1 V06000 020 02 MAIL Z001 05 551 -
could u plz explain how to populate the data into the final internal table in this program.
i need how to add this all select statement into one final internal table
plz provide me
i am using ALVgrid repors
could u plz explain clearly with comments
very urgent
TABLES: eban, "Purchase Requisition
ekko, "Purchasing Document Header
mereq3328, "Purchase Requisition: Contact
cdpos, "Change document items
cdhdr, "Change document header
dd04t. "R/3 DD: Data element texts
TYPE-POOLS: slis.
TYPES :
*declaration of type for internal table to be passed in ALV report as
*internal table.
BEGIN OF typ_req1,
statu TYPE eban-statu, "Processing status of purchase requisition
banpr TYPE eban-banpr, "Requisition Processing State
bsart TYPE eban-bsart, "Purchase requisition document type
banfn TYPE eban-banfn, "Purchase requisition number
bnfpo TYPE eban-bnfpo, "Item number of purchase requisition
ebeln TYPE eban-ebeln, "Purchase order number
ebelp TYPE eban-ebelp, "Purchase order item number
matnr TYPE eban-matnr, "Material Number
txz01 TYPE eban-txz01, "Short text
creator_name TYPE mereq3328-creator_name, "Creator
afnam TYPE eban-afnam, "Name of requisitioner/requester
lifnr TYPE eban-lifnr, "Desired vendor
flief TYPE eban-flief, "Fixed Vendor
ekgrp TYPE ekko-ekgrp, "Purchasing Group
tabkey TYPE cdpos-tabkey, "Item Number
ddtext TYPE dd04t-ddtext, "Short Text
chngind TYPE cdpos-chngind, "Action
value_new TYPE cdpos-value_new, "New Value
value_old TYPE cdpos-value_old, "Old Value
username TYPE cdhdr-username, "Name
udate TYPE cdhdr-udate, "Date
utime TYPE cdhdr-utime, "Time
changenr TYPE cdhdr-changenr, "Doc Number
tcod TYPE cdhdr-tcode, "Transaction Code
END OF typ_req1,
Type declaration for EBAN table fields
BEGIN OF typ_eban,
statu TYPE eban-statu, "Processing status of purchase requisition
banpr TYPE eban-banpr, "Requisition Processing State
bsart TYPE eban-bsart, "Purchase requisition document type
banfn TYPE eban-banfn, "Purchase requisition number
bnfpo TYPE eban-bnfpo, "Item number of purchase requisition
ebeln TYPE eban-ebeln, "Purchase order number
ebelp TYPE eban-ebelp, "Purchase order item number
matnr TYPE eban-matnr, "Material Number
txz01 TYPE eban-txz01, "Short text
afnam TYPE eban-afnam, "Name of requisitioner/requester
lifnr TYPE eban-lifnr, "Desired vendor
flief TYPE eban-flief, "Fixed Vendor
END OF typ_eban,
Type declaration for ekko table fields
BEGIN OF typ_ekko,
ekgrp TYPE ekko-ekgrp, "Purchasing Group
END OF typ_ekko,
Type declaration for cdpos table fields
BEGIN OF typ_cdpos,
fname TYPE cdpos-fname,
changenr TYPE cdpos-changenr, "Doc Number
objectclas TYPE cdpos-objectclas, "Object class
objectid TYPE cdpos-objectid, "Object value
tabkey TYPE cdpos-tabkey, "Item Number
chngind TYPE cdpos-chngind, "Action
value_new TYPE cdpos-value_new, "New Value
value_old TYPE cdpos-value_old, "Old Value
CHNGIND type cdpos-CHNGIND
END OF typ_cdpos,
Type declaration for cdhdr table fields
BEGIN OF typ_cdhdr,
objectclas TYPE cdhdr-objectclas, "Object class
objectid TYPE cdhdr-objectid, "Object value
username TYPE cdhdr-username, "Name
udate TYPE cdhdr-udate, "Date
utime TYPE cdhdr-utime, "Time
changenr TYPE cdhdr-changenr, "Doc Number
tcod TYPE cdhdr-tcode, "Transaction Code
change_ind TYPE cdhdr-change_ind,
objectid1(10) TYPE c,
END OF typ_cdhdr,
Type declaration for dd04t table fields
BEGIN OF typ_dd04t,
ddtext TYPE dd04t-ddtext, "Short Text
END OF typ_dd04t,
Type declaration for dd04t table fields
BEGIN OF typ_mereq3328,
creator_name TYPE mereq3328-creator_name, "Creator
END OF typ_mereq3328.
*& delcaratilon of internal table *
DATA:
Internal table for final internal table
it_req1 TYPE STANDARD TABLE OF typ_req1,
Internal table for eban table
it_eban TYPE STANDARD TABLE OF typ_eban,
Internal table for ekko table
it_ekko TYPE STANDARD TABLE OF typ_ekko,
Internal table for cdpos table
it_cdpos TYPE STANDARD TABLE OF typ_cdpos,
Internal table for cdhdr table
it_cdhdr TYPE STANDARD TABLE OF typ_cdhdr,
Internal table for cdhdr1 table
it_dd04t TYPE STANDARD TABLE OF typ_dd04t,
Internal table for mereq3328 table
it_mereq3328 TYPE STANDARD TABLE OF typ_mereq3328,
Internal table for ALV Field Catalog
it_fieldcat_alv TYPE slis_t_fieldcat_alv,
Internal table for ALV Event
it_events TYPE slis_t_event.
*& Declaration of Work Area
work area for final internal table
wa_req1 TYPE typ_req1,
work area for eban table
wa_eban TYPE typ_eban,
work area for ekko table
wa_ekko TYPE typ_ekko,
work area for cdpos table
wa_cdpos TYPE typ_cdpos,
work area for cdhdr table
wa_cdhdr TYPE typ_cdhdr,
work area for dd04t table
wa_dd04t TYPE typ_dd04t,
work area for mereq3328 table
wa_mereq3328 TYPE typ_mereq3328.
Declaration of work area for Field Catalog
wa_fieldcat TYPE slis_fieldcat_alv,
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_bsart FOR eban-bsart OBLIGATORY
DEFAULT 'znb1' TO 'znb2', "Purchase requisition document type
s_banfn FOR eban-banfn, "Req Number
s_bnfpo FOR eban-bnfpo, "Req Item Number
s_ebeln FOR eban-ebeln, "Purchase Order Number
s_ebelp FOR eban-ebelp, "Purchase Order Item Number
s_matnr FOR eban-matnr. "Material Number
PARAMETER: p_txz01 TYPE eban-txz01. "Short text
SELECT-OPTIONS: s_creat FOR mereq3328-creator_name, "Creator
s_afnam FOR eban-afnam, "Requester
s_lifnr FOR eban-lifnr, "Desired vendor
s_flief FOR eban-flief. "Fixed Vendor
SELECTION-SCREEN END OF BLOCK b.
SELECT objectclas
objectid
changenr
username
udate
utime
tcode
change_ind FROM cdhdr
INTO TABLE it_cdhdr
WHERE objectclas = 'BANF'
AND udate = sy-datum .
SELECT objectclas
objectid
changenr
chngind
tabkey
value_new
value_old
FROM cdpos INTO TABLE it_cdpos
FOR ALL ENTRIES IN it_cdhdr
WHERE changenr EQ it_cdhdr-changenr AND
chngind EQ it_cdhdr-change_ind AND
objectclas EQ it_cdhdr-objectclas AND
objectid EQ it_cdhdr-objectid.
IF NOT it_cdhdr[] IS INITIAL.
SELECT banfn
bnfpo
bsart
statu
afnam
txz01
matnr
lifnr
ebeln
ebelp
banpr
FROM eban INTO TABLE it_eban
WHERE "banfn = it_cdhdr-objectid
banfn IN s_banfn
AND bnfpo IN s_bnfpo
AND bsart IN s_bsart
AND matnr IN s_matnr
AND lifnr IN s_lifnr
AND flief IN s_flief.
ENDIF.
IF NOT it_cdpos[] IS INITIAL.
SELECT rollname
ddtext
FROM dd04t INTO TABLE it_dd04t
FOR ALL ENTRIES IN it_cdpos
WHERE rollname = it_cdpos-fname.hi rajeshreddy,
create one global internal table for the all output fields,
then move all these fields into this global internal table and pass into your gird FM.
i.e. see the below code for reference ,
loop at <itab> into <wa>.
read table <itab1> into <wa1> with key <keyfield> = <wa-field>.
if sy-subrc = 0.
move-correspondig <wa1> to <globalwa>.
move-correspondig <wa> to <globalwa>.
endif.
then read another <itab2> into <wa2> with key <keyfield> = <wa-field>.
if sy-subrc = 0.
move-correspondig <wa2> to <globalwa>.
endif.
endloop.
like this u can move all output fields into one global internal table but u should have relation among all the internal tables.
reward points if helpful,
regards,
seshu. -
CODING EXAMPLE - LAYOUT ALV - ( very urgent )
Could any body please give me the coding example
where slis_layout_alv is used ? Please treat this as very urgent.
Yours sincerely,
SAURAV LAHIRYHi Saurav,
Please check this code.
REPORT y56098rdup_list
NO STANDARD PAGE HEADING LINE-SIZE 240 LINE-COUNT 65(8) .
Declartion of Tables.
TABLES: ztril_logtable,zreasoncodes,zsdcustxref, usr21, adrp.
TABLES-POOLS
TYPE-POOLS: slis.
Internal tables declarations.
Declaration of output internal table
DATA: BEGIN OF tb_output OCCURS 0,
user_id TYPE xubname, " Requestor ID
role TYPE zrole, "Role
kunnr TYPE kunnr , "Customer Number 1
customer_name TYPE name1, "Customer Name
stras TYPE stras_gp, "Street Address
ort01 TYPE city, "City
regio TYPE regio, "State
pstlz TYPE pstlz, "Postal Code
land1 TYPE land1_gp, "COUNTRY CODE
po_box TYPE ad_pobx, "PO Box Number
tril_po_postal TYPE zpobox_postal, "PO BOX Postal Code
tril_err_msg TYPE zerr_message, "Error Message
reason_type TYPE zreason_type, "Reason Type
reason_code TYPE zreason_code, "Reason Code
perc_prob TYPE zprobability , "Probability Percentage
pattern_number TYPE z_pattern_no, "Match Pattern Number
country_code TYPE land1, "COUNTRY CODE
user_id_name(92) TYPE c, "UserID + Fast Name + Last Name
zlkunnr LIKE zsdcustxref-zlkunnr, "Legacy Customer NO
saplegcustno(20) TYPE c, "SAP + Legacy Customer No
reason_desc LIKE zreasoncodes-reason_desc, "Reason Description
saplegcustno1(20) TYPE c,
END OF tb_output.
Declation of work area.
DATA: wa_output LIKE tb_output.
Declaration of Internal Table.
DATA: tb_fill_output LIKE tb_output OCCURS 0 WITH HEADER LINE,
wa_fill_output LIKE tb_fill_output.
Declaration of internal table for ZREASONCODES
DATA: BEGIN OF tb_reasoncodes OCCURS 0.
INCLUDE STRUCTURE zreasoncodes.
DATA: END OF tb_reasoncodes.
DATA: wa_reasoncodes LIKE tb_reasoncodes.
Declaration of internal table ZSDCUTXREF.
DATA: BEGIN OF tb_zsdcustxref OCCURS 0,
zlkunnr LIKE zsdcustxref-zlkunnr, " Legacy Customer No
zlsourc LIKE zsdcustxref-zlsourc, " Legacy customer source code
kunnr LIKE zsdcustxref-kunnr, " Customer No
END OF tb_zsdcustxref.
Declation of work area.
DATA: wa_zsdcustxref LIKE tb_zsdcustxref.
Declaration of internal table for USR21.
DATA: BEGIN OF tb_usr21 OCCURS 0,
bname LIKE usr21-bname, " USER NAME IN USER MASTER RECORD
persnumber LIKE usr21-persnumber, " PERSON NUMBER
name_first LIKE adrp-name_first, " FIRST NAME
name_last LIKE adrp-name_last, " LAST NAME
END OF tb_usr21.
Declation of work area.
DATA: wa_usr21 LIKE tb_usr21.
Declaration of internal table for ADRP.
DATA: BEGIN OF tb_adrp OCCURS 0,
persnumber LIKE adrp-persnumber, " PERSON NUMBER
name_first LIKE adrp-name_first, " FIRST NAME
name_last LIKE adrp-name_last, " LAST NAME
END OF tb_adrp.
DATA: wa_adrp LIKE tb_adrp.
Declaration for fieldcatalog
DATA: tb_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
Declaration for events
DATA: tb_events TYPE slis_t_event,
wa_event TYPE slis_alv_event.
Declaration for Layout
DATA: tb_layout TYPE slis_layout_alv,
wb_layout TYPE slis_layout_alv.
DATA: wa_line TYPE slis_listheader,
tb_list_header TYPE slis_t_listheader.
DATA: g_date1(40) TYPE c,
g_date2(40) TYPE c,
g_date3(80) TYPE c.
Declaration for Selection Screen Fields
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_userid FOR ztril_logtable-user_id, "Requestor ID
s_r_type FOR zreasoncodes-reason_type, " Reason Type
s_r_code FOR zreasoncodes-reason_code
MATCHCODE OBJECT zr_code. " Reason Code
PARAMETERS : p_frmdat LIKE ztril_logtable-curr_date OBLIGATORY, " from date
p_to_dat LIKE ztril_logtable-curr_date OBLIGATORY. " to date
SELECTION-SCREEN: END OF BLOCK b1.
Declaration for Varialbes
DATA: g_sc_no(20) TYPE c, " To combine the SAP & Legacy Customer No
g_user_name(92) TYPE c. " To concatnate the Userid and User Name.
DATA : tb_repid LIKE trdir-name.
tb_repid = 'Y56098RDUP_LIST'.
*tb-repid type sy-repid.
DATA: BEGIN OF tb_user OCCURS 0,
user_id LIKE ztril_logtable-user_id,
END OF tb_user.
To get the P_USERID F4 Functionality for LOW and HIGH.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_userid-low.
SELECT user_id FROM ztril_logtable INTO TABLE tb_user.
SORT tb_user.
DELETE ADJACENT DUPLICATES FROM tb_user.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'S_USERID'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_USERID'
value_org = 'S'
TABLES
value_tab = tb_user
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE e210(zsd).
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_userid-high.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'S_USERID'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_USERID'
value_org = 'S'
TABLES
value_tab = tb_user
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE e210(zsd).
ENDIF.
At selection screen event.
AT SELECTION-SCREEN.
Validation of User_id(USER_ID) & Reason Type(REASON_CODE)
PERFORM checking_user_id.
Validation of Reason type from the table ZREASONCODES
PERFORM check_reasontype.
Validation of Reason code from the table ZREASONCODES
PERFORM check_reasoncode.
Validation for checking From-Date
PERFORM checking_from_date.
Validation for checking To-Date
PERFORM checking_to_date.
Start of selection event.
START-OF-SELECTION.
REFRESH data & clear data.
PERFORM refresh_tables.
Get ZTRIL_LOGTABLE Data.
PERFORM get_tril_logtable.
Get data from ZREASONCODE.
PERFORM get_reasoncode_data.
Get the data Customer No from ZSDCUSTREF based on ZTRIL_LOGTABLE-KUNNR
PERFORM get_sdcustrefdata.
Get the data First Name and Last Name
PERFORM get_data_from_usr21_adrp.
Updateing the output internal table i.e. IT_OUTPUT data
PERFORM fill_output_data.
Displaying output data with two different Rows.
PERFORM output_data.
Populate the field catelog.
PERFORM build_fieldcatlog.
Declartion Events.
PERFORM event_call.
Top of page Information
PERFORM top_of_page.
Declation of Layout
PERFORM layout USING tb_layout.
To get the Output Format( Simple List/ ALV )
PERFORM grid_display.
*& Form get_tril_logtable
To get the data from table ztril_logtable
FORM get_tril_logtable.
REFRESH: tb_output.
Reading data from the table ZTRIL_LOGTABLE
SELECT user_id
role "Role
kunnr "Customer Number 1
customer_name "Customer Name
stras "Street Address
ort01 "City
regio "State
pstlz "Postal Code
land1 "COUNTRY CODE
po_box "PO Box Number
tril_po_postal "PO BOX Postal Code
tril_err_msg "Error Message
reason_type "Reason Type
reason_code "Reason Code
perc_prob
pattern_number
FROM ztril_logtable INTO
CORRESPONDING FIELDS OF
TABLE tb_output
WHERE
( curr_date GE p_frmdat AND curr_date LE p_to_dat )
( curr_date BETWEEN p_frmdat AND p_to_dat )
AND
user_id IN s_userid
AND reason_code IN s_r_code
AND reason_type IN s_r_type.
IF sy-subrc NE 0.
MESSAGE i202(zsd).
ENDIF.
ENDFORM. " get_tril_logtable
*& Form get_reasoncode_data
To get the Reason code and Reason type
FORM get_reasoncode_data .
checking internal table initial data.
IF NOT tb_output[] IS INITIAL.
SELECT reason_type
reason_code
reason_desc
FROM zreasoncodes
INTO CORRESPONDING FIELDS OF TABLE tb_reasoncodes
WHERE reason_type IN s_r_type
AND reason_code IN s_r_code.
ENDIF.
ENDFORM. " get_reasoncode_data
*& Form get_sdcustrefdata
To get the legasy customer number data
FORM get_sdcustrefdata .
IF NOT tb_output[] IS INITIAL.
SELECT zlkunnr " Legacy Customer No
zlsourc " Legacy customer source code
kunnr " Customer No
FROM zsdcustxref INTO TABLE tb_zsdcustxref
FOR ALL ENTRIES IN tb_output
WHERE kunnr EQ tb_output-kunnr.
ENDIF.
ENDFORM. " get_sdcustrefdata
*& Form fill_output_data
To get the final data into the Internal Table
FORM fill_output_data .
IF NOT tb_output[] IS INITIAL.
SORT tb_output BY role user_id.
LOOP AT tb_output INTO wa_output.
READ TABLE tb_reasoncodes INTO wa_reasoncodes
WITH KEY
reason_type = wa_output-reason_type
reason_code = wa_output-reason_code BINARY SEARCH.
IF sy-subrc EQ 0.
wa_output-reason_desc = wa_reasoncodes-reason_desc.
CLEAR wa_reasoncodes.
ENDIF.
READ TABLE tb_zsdcustxref INTO wa_zsdcustxref
WITH KEY
kunnr = wa_output-kunnr.
IF sy-subrc EQ 0.
CONCATENATE wa_zsdcustxref-zlkunnr
wa_zsdcustxref-zlsourc
INTO
g_sc_no SEPARATED BY ' - '.
wa_output-saplegcustno1 = wa_zsdcustxref-zlkunnr.
wa_output-saplegcustno1 = g_sc_no.
ELSE.
wa_output-saplegcustno = wa_output-kunnr.
CLEAR: wa_reasoncodes,g_sc_no.
ENDIF.
READ TABLE tb_usr21 INTO wa_usr21 WITH KEY bname = wa_output-user_id.
IF sy-subrc EQ 0.
CONCATENATE wa_usr21-bname
CONCATENATE wa_usr21-name_first
wa_usr21-name_last
INTO
g_user_name SEPARATED BY space.
wa_output-user_id_name = g_user_name.
ENDIF.
MODIFY tb_output FROM wa_output
TRANSPORTING
reason_desc
saplegcustno
user_id_name
saplegcustno1.
CLEAR: g_user_name,wa_usr21, wa_adrp.
ENDLOOP.
ENDIF.
ENDFORM. " fill_output_data
*& Form get_data_from_USR21_ADRP
To get the first name and last name from ADRP table
FORM get_data_from_usr21_adrp .
IF NOT tb_output[] IS INITIAL.
SELECT bname
persnumber
FROM usr21
INTO CORRESPONDING FIELDS OF TABLE tb_usr21
FOR ALL ENTRIES IN tb_output
WHERE bname EQ tb_output-user_id.
IF NOT tb_usr21[] IS INITIAL.
SELECT persnumber
name_first
name_last
FROM adrp INTO TABLE tb_adrp
FOR ALL ENTRIES IN tb_usr21
WHERE persnumber EQ tb_usr21-persnumber.
ENDIF.
ENDIF.
LOOP AT tb_usr21 INTO wa_usr21.
READ TABLE tb_adrp INTO wa_adrp WITH KEY persnumber = wa_usr21-persnumber.
IF sy-subrc EQ 0.
wa_usr21-name_first = wa_adrp-name_first.
wa_usr21-name_last = wa_adrp-name_last.
CLEAR wa_adrp.
MODIFY tb_usr21 FROM wa_usr21 TRANSPORTING name_first name_last.
ENDIF.
ENDLOOP.
ENDFORM. " get_data_from_USR21_ADRP
*& Form build_fieldcatlog
It is used to build the fieldcatlog
FORM build_fieldcatlog .
wa_fieldcat-col_pos = 1.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'USER_ID'.
wa_fieldcat-seltext_l = 'Requestor ID'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 2.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'USER_ID_NAME'.
wa_fieldcat-seltext_l = 'Requestor Name'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 3.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'SAPLEGCUSTNO'.
wa_fieldcat-seltext_l = 'SAP & Legacy Customer No'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 4.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'CUSTOMER_NAME'.
wa_fieldcat-seltext_m = 'Customer Name'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 5.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'STRAS'.
wa_fieldcat-seltext_m = 'Street Address'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 6.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'ORT01'.
wa_fieldcat-seltext_m = 'City'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 7.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'REGIO'.
wa_fieldcat-seltext_m = 'State'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 8.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'PSTLZ'.
wa_fieldcat-seltext_m = 'Postal Code'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 9.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'LAND1'.
wa_fieldcat-seltext_m = 'Country Code'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 10.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'PO_BOX'.
wa_fieldcat-seltext_m = 'PO BOX NO'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 11.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'TRIL_PO_POSTAL'.
wa_fieldcat-seltext_m = 'PO Box Postal Code'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 12.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'REASON_TYPE'.
wa_fieldcat-seltext_m = 'Reason Type'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 13.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'REASON_CODE'.
wa_fieldcat-seltext_m = 'Reason Code'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 14.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'REASON_DESC'.
wa_fieldcat-seltext_m = 'Reason Description'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 15.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'PERC_PROB'.
wa_fieldcat-seltext_m = 'TOP %'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 16.
wa_fieldcat-tabname = 'TB_FILL_DATA'.
wa_fieldcat-fieldname = 'PATTERN_NUMBER'.
wa_fieldcat-seltext_m = 'Match Pattern'.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-datatype = 'N'.
APPEND wa_fieldcat TO tb_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " build_fieldcatlog
*& Form event_call
It is used to call the events
FORM event_call .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = tb_events
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " event_call
*& Form grid_display
To display the output in ALV Grid format
FORM grid_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = tb_repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = wb_layout
it_fieldcat = tb_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = tb_events
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = tb_output
t_outtab = tb_fill_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " grid_display
*& Form top_of_page
It is used to display the Top-of-page
FORM top_of_page .
CLEAR: wa_line, tb_list_header[].
wa_line-typ = 'H'.
wa_line-info = 'Duplicates Ignored by Requestor Report'.
APPEND wa_line TO tb_list_header.
CLEAR wa_line.
wa_line-typ = 'S'.
WRITE p_frmdat TO g_date1 DD/MM/YY.
WRITE p_to_dat TO g_date2 DD/MM/YY.
CONCATENATE 'From Date : ' g_date1 ' To Date : ' g_date2
INTO g_date3 SEPARATED BY space .
wa_line-info = g_date3.
APPEND wa_line TO tb_list_header.
CLEAR wa_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = tb_list_header.
i_logo =
I_END_OF_LIST_GRID =
ENDFORM. " top_of_page
*& Form layout
It is used to display the output layout
FORM layout USING p_tb_layout.
tb_layout-detail_popup = 'X'.
tb_layout-colwidth_optimize = 'X'.
ENDFORM. " layout
*& Form refresh_tables
TO Refresh the internal table workarea
FORM refresh_tables .
REFRESH: tb_output, tb_reasoncodes, tb_zsdcustxref, tb_usr21, tb_fill_output.
CLEAR: wa_output, wa_reasoncodes, wa_zsdcustxref, wa_usr21, wa_fill_output.
ENDFORM. " refresh_tables
*& Form SET_PF_STATUS
It is used to populate the PF_STATUS
FORM set_pf_status USING tb_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTANDARD'.
ENDFORM. " SET_PF_STATUS
*& Form USER_COMMAND
To avoid the shortdump of ALV Report
FORM user_command USING rf_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
ENDFORM. "user_command
*& Form check_reasoncode
Checking Reason Code
FORM check_reasoncode .
IF NOT s_r_type IS INITIAL.
SELECT SINGLE reason_code FROM zreasoncodes INTO s_r_code
WHERE reason_type IN s_r_type
AND reason_code IN s_r_code.
IF sy-subrc NE 0.
SET CURSOR FIELD 'S_R_CODE-LOW'.
MESSAGE e204(zsd).
ELSEIF s_r_code = 'TP'.
MESSAGE e208(zsd).
ENDIF.
ENDIF.
ENDFORM. " check_reasoncode
*& Form check_reasontype
Checking Reason Type
FORM check_reasontype .
IF s_r_type-low = 'TP' OR
s_r_type-high = 'TP'.
MESSAGE e208(zsd).
ENDIF.
SELECT SINGLE reason_type FROM zreasoncodes INTO s_r_type
WHERE reason_type IN s_r_type.
IF sy-subrc NE 0.
MESSAGE e201(zsd).
ENDIF.
ENDFORM. " check_reasontype
*& Form checking_From_date
Checking From Date
FORM checking_from_date .
SELECT SINGLE
curr_date
FROM ztril_logtable
INTO ztril_logtable-curr_date
WHERE curr_date EQ p_frmdat.
IF sy-subrc NE 0.
MESSAGE e205(zsd).
ENDIF.
ENDFORM. " checking_From_date
*& Form checking_To_date
Checking To_date
FORM checking_to_date .
SELECT SINGLE
curr_date
FROM ztril_logtable
INTO ztril_logtable-curr_date
WHERE curr_date EQ p_to_dat.
IF sy-subrc NE 0.
MESSAGE e206(zsd).
elseif p_frmdat lt p_to_dat.
Message e209(zsd).
ELSEIF p_frmdat GT p_to_dat.
MESSAGE e207(zsd).
ENDIF.
ENDFORM. " checking_To_date
*& Form checking_user_id
text
FORM checking_user_id .
SELECT SINGLE user_id
FROM ztril_logtable
INTO s_userid
WHERE user_id IN s_userid.
IF sy-subrc NE 0.
MESSAGE e200(zsd).
ENDIF.
ENDFORM. " checking_user_id
*& Form output_data
To print the Legacy customer No and SAP no into two different rows.*
FORM output_data .
LOOP AT tb_output INTO wa_output.
wa_fill_output-user_id = wa_output-user_id.
wa_fill_output-role = wa_output-role.
wa_fill_output-saplegcustno = wa_output-kunnr.
wa_fill_output-user_id_name = wa_output-user_id_name.
wa_fill_output-customer_name = wa_output-customer_name.
wa_fill_output-stras = wa_output-stras.
wa_fill_output-ort01 = wa_output-ort01.
wa_fill_output-regio = wa_output-regio.
wa_fill_output-pstlz = wa_output-pstlz.
wa_fill_output-land1 = wa_output-land1.
wa_fill_output-po_box = wa_output-po_box.
wa_fill_output-tril_po_postal = wa_output-tril_po_postal.
wa_fill_output-tril_err_msg = wa_output-tril_err_msg.
wa_fill_output-reason_type = wa_output-reason_type.
wa_fill_output-reason_code = wa_output-reason_code.
wa_fill_output-country_code = wa_output-country_code.
wa_fill_output-reason_desc = wa_output-reason_desc.
wa_fill_output-pattern_number = wa_output-pattern_number.
wa_fill_output-perc_prob = wa_output-perc_prob.
CLEAR: wa_output-user_id,
wa_output-role,
wa_output-kunnr,
wa_output-user_id_name,
wa_output-stras,
wa_output-ort01,
wa_output-regio,
wa_output-pstlz,
wa_output-land1,
wa_output-po_box,
wa_output-tril_po_postal,
wa_output-tril_err_msg,
wa_output-reason_type,
wa_output-reason_code,
wa_output-country_code,
wa_output-reason_desc,
wa_output-customer_name,
wa_output-pattern_number,
wa_output-perc_prob.
APPEND wa_fill_output TO tb_fill_output.
IF NOT wa_output-saplegcustno1 IS INITIAL.
CLEAR: wa_fill_output-user_id,
wa_fill_output-role,
wa_fill_output-kunnr,
wa_fill_output-user_id_name,
wa_fill_output-stras,
wa_fill_output-ort01,
wa_fill_output-regio,
wa_fill_output-pstlz,
wa_fill_output-land1,
wa_fill_output-po_box,
wa_fill_output-tril_po_postal,
wa_fill_output-tril_err_msg,
wa_fill_output-reason_type,
wa_fill_output-reason_code,
wa_fill_output-country_code,
wa_fill_output-reason_desc,
wa_fill_output-customer_name,
wa_fill_output-pattern_number,
wa_fill_output-perc_prob.
wa_fill_output-saplegcustno = wa_output-saplegcustno1.
APPEND wa_fill_output TO tb_fill_output.
CLEAR: wa_output.
ENDIF.
ENDLOOP.
ENDFORM. " output_data -
.SysMachineMsgq: message queue blocking
Hi,
I am getting the following error message:
064222.hostname!TMSYSEVT.14351.3071440608.0: WARN: .SysMachineMsgq: hostname message queue blocking
Is there anyway to pinpoint exactly which application and or which service is causing the blocking?
Thank you,
IvanIvan,
You can look in the userlog for a "LIBTUX_CAT:672 ERROR: Message operation
failed because the message queue or the system is full" message. That will
tell you the process in which the msgsnd() failed, although it will not tell
you the specific queue that was full. If the queue full condition is not
something transient, you can use the "ipcs -q -a" command to examine the
number of bytes currently on each queue on the machine.
If you need to automate the process of searching the ULOG, the T_ULOG class
in TM_MIB(5) can be used.
The event message for the SysMachineMsgq event deliberatly contains very few
details, since the process where msgsnd() failed uses a message to inform
the event server of the failure and if a message queue is full, then there
might be a problem with sending a large message to the TMSYSEVT server.
(There is a check to prevent looping if the message send to TMSYSEVT fails.)
Ed
<Ivan Novick> wrote in message news:[email protected]..
Hi,
I am getting the following error message:
064222.hostname!TMSYSEVT.14351.3071440608.0: WARN: .SysMachineMsgq:
hostname message queue blocking
Is there anyway to pinpoint exactly which application and or which service
is causing the blocking?
Thank you,
Ivan -
Error while opening a module. plz help me, very urgent.
when i try to open a module, the following error message appears on my screen.
" no j2ee component found in d:\krisp\programs\servlets".
i've installed bea in c: drive and my servlet program is in d: drive.
plz help me, it's very urgent.Can you provide some more information? What were you doing when this happened?
Can you post the entire error message?
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/
Maybe you are looking for
-
In my company, I used FF for sometime now. I had some problem in the beginning, but using the proxy IP and Domain\Username + Password I was able to navigate. Ever since I tried FF4.x and FF5.x... I started to receive the following message: The proxy
-
Where can I get my questions about JMX answered?
Where can I get my questions about JMX answered? In the Jungle Mix of the World Wild Web, where are the dwellings of the JMX denizens? It recently came to my attention that the answer to that simple question may not be obvious... I hope the informati
-
ADF query panel with table, adding new search fields dynamically
I am a beginner very new to ADF world. I have a ADF query panel with table which has its source from a ViewCriteria. I need to add a new search field on the form dynamically based on the user's need. Assume I am using a Employee table and I have sear
-
IPod touch 4th Gen will not update or restore
I've been trying to update my IPod Touch via iTunes and now it is stuck in restore mode. You got to update and download the software but it doesn't install and keeps taking you back to restore but it just downloads the software update again etc etc.
-
Live view doesn't correctly pass URL parameters from HTML docs?
Running into something that I wonder if anyone else has seen. I've created a site in DW CS5 with a local testing server (XAMPP on Win7), and if I use LiveView to view an HTML page that has a link to a PHP page that includes a URL parameter, the para