How to Handle Queue Message with NO expiration
I come across a situation where i need to dequeue same message multiple times and upon reaching valid condition only i can discard the message. For this situation i can create a queue that has message expiration set to NEVER. But i didn't find the way to delete the message that has expiration NEVER.
Can anybody help me what will be the best approach to delete messages that has no expiration. My business case allow me to delete that message only after reaching a particular condition.
Regards
In what version?
SELECT * FROM v$version;
Similar Messages
-
Handling large messages with MQ JMS sender adapter
Hi.
Im having trouble handling large messages with a MQ JMS sender adapter.
The messages are around 35-40MB.
Are there any settings I can ajust to make the communication channel work?
Error message is:
A channel error occurred. The detailed error (if any) : JMS error:MQJMS2002: failed to get message from MQ queue, Linked error:MQJE001: Completion Code 2, Reason 2010, Error Code:MQJMS2002
The communication channel works fine with small messages!
Im on SAP PI 7.11, MQ Driver is version 6.
Best Regards...
PeterThe problem solved itself, when the MQ server crashed and restarted.
I did find a note that might could have been useful:
Note 1258335 - Tuning the JMS service for large messages or many consumers
A relevant post as well: http://forums.sdn.sap.com/thread.jspa?threadID=1550399 -
How do I process messages with status = "Holding"
Hi,
How do I process messages with status = "Holding" from the RWB-Message Monitoring - Adapter Engine?
I did a quick scan for records with errors in the same queue (ConversationID), but could not find any.
I tried to cancel the one with the smallest sequential number, but I got the error - "Unable to cancel 1 of 1 messages; update the status"
Please help.
Thanks
SudheerHi,
"Holding comes into play when ur scenario is having multiple inbound interfaces and you checked "Maintained order at runtime"in interface determination in ID. Suppose message will hit first inbound interface once it is successful then it will hit second inbound interface. If first inbound interface fails then most of the message will be in "Holding" status depends upon XI AF queues ID.
I did a quick scan for records with errors in the same queue (ConversationID), but could not find any.
You will not find bcoz of AE archiving settings.
Try to check the with business guys, whether they need the order of processing. If not the case try to Uncheck the box "Maintain Order at runtime".
Regards,
Rao.Mallikarjuna -
How to handle Table controls with XD01 in BDC
How to handle Table controls with XD01 in BDC - If there are more than 5/6 records in Table control. - Can any one explain it with a piece of code plz..
Thanks & Regards,
Krishna ChaitanyaHi
check this code...viz for xko1....
DATA: BEGIN OF it_xk01 OCCURS 0,
f1(1),
f2(5),
f3(5),
f4(9),
f5(9),
END OF it_xk01.
DATA: v_count(2) VALUE '00',
v_koinh(14),
v_banks(14),
v_bankn(14),
v_bankl(14),
it_bdcdata TYPE STANDARD TABLE OF bdcdata WITH HEADER LINE,
wa_ctuparams type ctu_params.
PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_f4.
START-OF-SELECTION.
PERFORM upload_data.
END-OF-SELECTION.
LOOP AT it_xk01.
IF it_xk01-f1 = 'H'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-KTOKK'
it_xk01-f2.
ENDIF.
IF it_xk01-f1 = 'N'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-PSTLZ'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_field USING 'LFA1-ANRED'
'Mr'.
PERFORM bdc_field USING 'LFA1-NAME1'
it_xk01-f2.
PERFORM bdc_field USING 'LFA1-SORTL'
it_xk01-f3.
PERFORM bdc_field USING 'LFA1-PSTLZ'
it_xk01-f4.
PERFORM bdc_field USING 'LFA1-LAND1'
it_xk01-f5.
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
ENDIF.
IF it_xk01-f1 = 'I'.
v_count = v_count + 1.
IF v_count le 5.
CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.
CONCATENATE 'LFBK-BANKS(' v_count ')' INTO v_banks.
CONCATENATE 'LFBK-BANKN(' v_count ')' INTO v_bankn.
CONCATENATE 'LFBK-BANKL(' v_count ')' INTO v_bankl.
CONDENSE v_koinh NO-GAPS.
CONDENSE v_banks NO-GAPS.
CONDENSE v_bankl NO-GAPS.
CONDENSE v_bankn NO-GAPS.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING v_banks
it_xk01-f2.
PERFORM bdc_field USING v_bankl
it_xk01-f3.
PERFORM bdc_field USING v_bankn
it_xk01-f4.
PERFORM bdc_field USING v_koinh
it_xk01-f5.
else.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
v_count = 1.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.
CONCATENATE 'LFBK-BANKS(' v_count ')' INTO v_banks.
CONCATENATE 'LFBK-BANKN(' v_count ')' INTO v_bankn.
CONCATENATE 'LFBK-BANKL(' v_count ')' INTO v_bankl.
CONDENSE v_koinh NO-GAPS.
CONDENSE v_banks NO-GAPS.
CONDENSE v_bankl NO-GAPS.
CONDENSE v_bankn NO-GAPS.
PERFORM bdc_field USING v_banks
it_xk01-f2.
PERFORM bdc_field USING v_bankl
it_xk01-f3.
PERFORM bdc_field USING v_bankn
it_xk01-f4.
PERFORM bdc_field USING v_koinh
it_xk01-f5.
ENDIF.
ENDIF.
CLEAR it_xk01.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
wa_ctuparams-DISMODE = 'A'.
wa_ctuparams-UPDMODE = 'S'.
wa_ctuparams-DEFSIZE = 'X'.
CALL TRANSACTION 'XK01' USING it_bdcdata MODE 'A'
UPDATE 'S'.
options from wa_ctuparams.
MODE 'A'
UPDATE 'S'.
*& Form upload_data
text
FORM upload_data .
DATA: lv_infile TYPE string.
lv_infile = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_infile
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = it_xk01.
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. " upload_data
*& Form get_f4
text
FORM get_f4 .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
FIELD_NAME = ' '
IMPORTING
file_name = p_file.
ENDFORM. " get_f4
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR it_bdcdata.
it_bdcdata-program = program.
it_bdcdata-dynpro = dynpro.
it_bdcdata-dynbegin = 'X'.
APPEND it_bdcdata.
ENDFORM. "BDC_DYNPRO
Insert field *
FORM bdc_field USING fnam fval.
IF FVAL <> NODATA.
CLEAR it_bdcdata.
it_bdcdata-fnam = fnam.
it_bdcdata-fval = fval.
APPEND it_bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
*H 0302
*N sdng dddsj 500020 IN
*I IN ICICI 734897597 xyz
*I IN SBH 768346687 abc
*I IN SBI 345687346 fgh
*I IN SBH 763846878 ujhgf
*I IN HSBC 797893778 fvdg
*I IN HDFC 723678638 fdgf
*I IN 4444 435645646 fgfg
*I IN 3400 763468768 gfgfg -
How to handle "xsd:anyAttributes" with jaxb
Need help for how to handling "xsd:anyAttribute" with jaxb!
Here is part of my xml schema.
<xsd:attributeGroup name="DataAttributes">
<xsd:anyAttribute namespace="##local" processContents="lax"/>
</xsd:attributeGroup>
<xsd:element name="Data">
<xsd:complexType>
<xsd:attributeGroup ref="DataAttributes"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="MA_Verify">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Data" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributeGroup ref="verifyAttributes"/>
</xsd:complexType>
</xsd:element>
I have an application which only knows the attribute names and values at runtime. (Thest attributes are string.) Therefore, I cannot define attribute names in the schema and have to use xsd:anyAttribute.
I was able to generate all jaxb code. However, the interfaces generated for Data and DataType are basically all empty. The impl classes are empty too, since no get or set methods exist for the attribute.
Some thoughts for handling this case, but do not know if it will work.
(1) write some derive classes on top of the generated jaxb classes.
(2) write customized method to handle the 'Data' element level and its attributes. Similar to parseMethod or printMethod for the javaType.
(if there is a way)
Can anyone give me suggestions, directions or an laternate way to handle the situation?
Your help will be greatly appreciated.
Ruthxsd:anyAttribute is not supported by JAXB.
http://java.sun.com/xml/jaxb/users-guide/jaxb-works.html#unsupported -
How to handle parked message in BPM?
Hi,
I have a scenario that buyer as R3 send PO(same PO number) change idoc multiple times into bpm without receiving PO change confirmation(from seller, non R3) yet, I have a loop in bpm to handle this case, the loop checks the condition whether confirmation matches change request, if not, potential loop repeats. However, if I have multiple change request(same PO number) sent from R3 to BPM, my BPM waiting for my order confirmation, then if the first order confirmation comes into BPM matches with the first change request, then I exit the loop, but I still have several change requests parked at processXXXXX yet to be processed, does anybody came into similar situations? Any good suggestions or examples?
Thanks,
MaggieHi there,
I need to correlate ChangeConfirmation to ChangeRequest with PO number, this is for the purpose of ChangeRequest waiting for Confirmation for the same PO number. However, I don't know how to handle multiple changes come into BPM without confirmation yet, my current design is that I immediately enter a loop in BPM, with condition confirmation Info doese not match change info, thus the change request is bundled with bpm process, once the porcess is finished(response match change request), the queue of my other change requests(the parked ones) now got deleted, does anybody have any good suggestions in handling multiple change request(for same PO number) in bpm? Is there a way I can force bpm to handle one request one response, throw some error message if multiple changes comes together without response yet? Anybody had encountered similar issues?
Thanks,
Magge -
How to handle EndDialog message when using Asynchronous Trigger Pattern?
I have Service A which sends a message to Service B when a update/delete/insert trigger fires. Service B dequeing logic looks like:
declare @messagebody xml
declare @messagetype nvarchar(256)
declare @cg uniqueidentifier
declare @ch uniqueidentifier
DECLARE @messages TABLE(messagetype nvarchar(256),messagebody xml)
begin try
begin transaction;
waitfor
receive top (1)
@cg = conversation_group_id,
@ch = conversation_handle,
@messagetype = message_type_name,
@messagebody = cast(message_body as xml)
from MyPolicyQueue
),TIMEOUT @receiveTimeoutMs
if @messagebody is not null
begin
insert into @messages values (@messagetype, @messagebody)
end
select * from @messages
end conversation @ch
commit
end try
ServiceB will end the conversation but afterwards, the queue now has an EndDialog message that never gets processed.
The intent is asynchronous handling of update messages with the trigger used as the event source. Service B closes the conversation but trigger does not (It would probably be a very bad thing if trigger blocked waiting for EndDialog message response).
How do you handle the EndDialog message in this scenario?
The code is based on this example.
scottA common practice is to create an activated proc on the initiator queue to close the conversation loop after the target service does it's job. This activated proc simply ends the conversation upon receipt of an EndDialog message type. If
an unexpected message type is received (including Error), the proc can end the conversation with error and perhaps log the details to a table that can be monitored for exceptions.
See Rusanu's artice for a description of this pattern:
http://rusanu.com/2006/04/06/fire-and-forget-good-for-the-military-but-not-for-service-broker-conversations/
Dan Guzman, SQL Server MVP, http://www.dbdelta.com -
How To Handle Error Message In TCD Recording?
Hi All,
I tried recording a transaction (my own transaction) by not enterring value in an obligatory field. the error message came. but when i executed the script, it showed an error. but actualy, the error message was expected right? how to handle this situation? i tried with tcd and sapgui recording. both gave almot the same result.
i am including the script which i have written.
MESSAGE ( MSG_1 ).
*TCD ( ZCUST , ZCUST_1 , ECC ).
SAPGUI ( SAP_1 , ECC ).
ENDMESSAGE ( E_MSG_1 ).
v_mno = &tfill.
v_msg = E_MSG_1[v_mno]-msgtext.
v_mtp = E_MSG_1[v_mno]-msgtyp.
If Msg Type is E *** **** It Has To Be E ****
IF ( v_mtp = 'E' and v_msg = 'Account no AC02 does not exist EXIT = X').
logtext(0,'Passed').
ELSE.
log(v_mtp).
log(v_msg).
logtext(1,'Failed').
ENDIF.
End Of The Condition For Message Type E ******I have recording messages using the TCD command.
My script (very simple):
MESSAGE ( MSG_2 ).
TCD ( ME21 , ME21_1 , R3 ).
ENDMESSAGE ( E_MSG_2 ).
In the MESSAGE command interface, I defined rules to allow several kind of messages.
Execution: 3 mesages found:
* transform PR into PO
MESSAGE MSG_2 [1,009 sec]
RULES MSG_2 = XML-DATA-01
Message MODE EXIT TYPE ID NR
[1] 'A' 'I' 06 456
[2] 'A' 'W' 'ME' 080
[3] 'A' 'E' 'ZE' 029
TCD ME21 [0,545 sec N] Target sys R3 -> ZDA010A219
S06017 Standard PO created under the number 8201075606
Tgt System Z_A219->R3->ZDA010A219 (ZDA 010 ... HP-UX ORACLE)
CALL TRANSACTION ME21 ME21_1 XML-DATA-01
03 MESSAGES FROM ME21 ME21_1 XML-DATA-01
I 06 456 Release effected with release code 00001
W ME 080 Delivery date: next workday is 02.05.2007
S 06 017 Standard PO created under the number 8201075606
ENDMESSAGE E_MSG_2 (&TFILL = 0)
As you can see, 3 messages are found but the &TFILL variable is still 0.
I guess (but cannot test yet) I would manage to record those messages using SAPGUI command.
Is there anything wrong with my script?
My SAP_BASIS component is in version 620. I'm not using the ultimate version of eCATT (no WEBDYNPRO command, etc.). Could it be an explanation?
Thank you in advance,
Olivier -
How to handle error message during PAI?
Hi Experts,
Need help here.
In my dialog screen, I have a field which is typed 'QUAN'.
In entering different format , e.g. with non numeric value or a negative value, an error message appear and it does not process the MODULES inside the chain or FIELD MODULE ON REQUEST.
Does anyone knows how to handle this kind of error. I need to display into a separate screen the errors I encountered coz I'm creating a new RF transaction.
Points will be rewarded.
Thanks in advance.Hai
in your case(RF case) it is other way...
yes you can use
field x_currency module check_currency.
in module check_currency.
you have to display errors in another screen say 200.
in that there will be 4 fields, all are display only fields.
X_MESSAGE-MSGV1 of type sy-msgv1
X_MESSAGE-MSGV2 of type sy-msgv2
X_MESSAGE-MSGV3 of type sy-msgv3
X_MESSAGE-MSGV4 of type sy-msgv4
you populate the messages with these fields and then display it in the screen.
method check_currency.
*--do all your checks here....
if error
clear x_message.
x_message-msgv1 = 'Enter Valid Employee Number'(004).
leave to screen 0200.
endif.
endif.
ENDMODULE. " VALIDATE_Currency
in screen 200 PBO you need to format the message
using the below logic.
Method for formatting the message
method message_format.
data : lt_text type table of tline, "text table
lx_text type tline. "work area
refresh lt_text.
clear lx_text.
concatenate x_message-msgv1 x_message-msgv2 into lx_text-tdline
separated by space.
append lx_text to lt_text.
clear lx_text.
concatenate x_message-msgv3 x_message-msgv4 into lx_text-tdline
separated by space.
append lx_text to lt_text.
*- formatting the message
call function 'FORMAT_TEXTLINES'
exporting
formatwidth = 20
tables
lines = lt_text
exceptions
bound_error = 1
others = 2.
clear: x_message.
*- transfer the message data to screen fields
loop at lt_text into lx_text.
if sy-tabix = 1.
x_message-msgv1 = lx_text-tdline.
elseif sy-tabix = 2.
x_message-msgv2 = lx_text-tdline.
elseif sy-tabix = 3.
x_message-msgv3 = lx_text-tdline.
elseif sy-tabix = 4.
x_message-msgv4 = lx_text-tdline.
else.
exit.
endif.
endloop.
endmethod. "message_format
Regards
Vijay -
How to handle error messages in BDC background mode
Hi experts,
I got one problem in BDC, We are uploading data throgh BDC program,that program is calling Standard Batch Input programs,
Now we got one requirement, i.e., In some special cases we have to send one message as a error message.I handled this in foreground but, how to handle this in background.Hi,
if session is being used
automatically the log will begenereated in the sm35 transaction
but if call transaction is used
put all the error messages in the applicationserver using
open data set
and after the exectionof the program in the background
you have to run another progam which reads the data stroed inthe application server
that also with open data set only...
thanks & regards,
Venkatesh -
How to send SOAP Message with attachments?
Hi All,
I am working on a SOAP to RFC Scenario With specific requirement of handling the attachment(Mainly Excel Attachments) at the Sender SOAP Adapter.
Kindly Suggest.
I found lot of theoritical stuff but no practical scenario.
Regards,
SachiHi Sachi,
To handle attachment in SOAP sender adapter first of all you will have to use the AXIS message protocol.
Then by using MessageTransformBean you can handle the attachment.
1) Check this link for the module processing sequence used to get the attachment from SOAP
SOAP Axis sender with CSV file attachment
2) Check this blog which will help you on the usage of MessageTransformBean
Solve Key Field Problem using StructPlain2XML in MessageTransformationBean!!
http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/frameset.htm
using MessageTransformBean you can handle only the text file attachments like comma separated file, pipe separated, fixed lengths etc. But if you are looking to handle a excel file you will have to use a java mapping to get the data from excel attached file. for this have a look at this following blog by Shabarish:
Excel Files - How to handle them in SAP XI/PI (The Alternatives)
Do remember to use SOAP Axis adapter and to tick the keep attachment option.
Hope this helps.
Regards,
Aravind -
How to handle HTTP Message Format
Hi All,
i have the interface like XML File(Supplier)--XI--HTTP Message Post(SRM Server)
How to handle this case and how to handle the HTTP Message formats, what Adapters and all i need to use here
Regards
Vamsicheck susma's reply
File to HTTP
File to HTTP
/people/kausik.medavarapu/blog/2005/12/29/csv-file-lookup-with-http-request-and-response-in-xi -
How to handle Queue blockage due to application error in BPM
Hi
In the integration process that i have created, there is a SyncSend(calling a webservice using SOAP adapter) Step.
Sometimes the response message from the receiver application may be a Fault message.
Whenever a fault message is sent back to integration process in XI, the message fails and the queue is blocked.
Bacause of this queue blockage , the next messages to be processed are getting blocked.
How to handle this?
Thanks
Ramdo you have configured the fault message mapping in the Operation Mapping? what error does the sxi_monitor display?
-
How to handle the messages.
Hi,
I am doing interactive report. In that how to handle the error meesages.
Regards
SrinuHI
IF YOU WANT HANDLE THE ERROE MESSAGES
*& Report ZNNR_REPORT
REPORT ZNNR_REPORT NO STANDARD PAGE HEADING <b>MESSAGE-ID ZNNR</b> LINE-SIZE 100 LINE-COUNT 65(4).
******DATA DECLARATIONS**********
DATA : BEGIN OF IT_PLANT OCCURS 0,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
EKGRP LIKE MARC-EKGRP,
END OF IT_PLANT.
DATA : BEGIN OF IT_PONO OCCURS 0,
EBELN LIKE EKKO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
END OF IT_PONO.
TABLES EKKO.
********END OF DATA DECLARATIONS*********
********SELECTION SCREEN DESIGN ***********
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
******END OF SELECTION SCREEN DESIGN****************
*********INITIALIZATION OF SELECTION SCREEN ELEMENTS.*****
INITIALIZATION.
P_WERKS = '1000'.
S_EBELN-LOW = '4500016926'.
S_EBELN-OPTION = 'EQ'.
S_EBELN-SIGN = 'I'.
APPEND S_EBELN.
CLEAR S_EBELN.
************END OF INITIALIZATION***********************
***********SCREEN MODIFICATIONS*******************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
********END OF SCREEN MODIFICATIONS*****************
***************SCREEN VALIDATIONS *****************
at selection-screen.
SELECT SINGLE *
FROM EKKO
INTO EKKO
WHERE EBELN IN S_EBELN.
IF SY-SUBRC <> 0.
SET CURSOR FIELD 'S_EBELN-LOW'.
<b>MESSAGE E999 WITH TEXT-005</b>.
ENDIF.
********end of screen validation*****************
START-OF-SELECTION.
*set pf-status '100'.
IF R1 EQ 'X'.
SELECT MATNR
WERKS
PSTAT
EKGRP
FROM MARC
INTO TABLE IT_PLANT
WHERE WERKS = P_WERKS.
LOOP AT IT_PLANT.
WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,
21 SY-VLINE , 22 IT_PLANT-WERKS COLOR COL_KEY,
27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,
43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.
ENDLOOP.
ENDIF.
IF R2 EQ 'X'.
SELECT EBELN EBELP MATNR WERKS LGORT
FROM EKPO
INTO TABLE IT_PONO
WHERE EBELN IN S_EBELN.
LOOP AT IT_PONO.
WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,
12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,
18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,
37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,
44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..
ENDLOOP.
ENDIF.
TOP-OF-PAGE.
IF R1 EQ 'X'.
*ULINE AT /1(48).
WRITE : SY-VLINE ,2 'MATERIAL NUMBER',
21 SY-VLINE , 22 'PLANT',
27 SY-VLINE , 28 'STATUS',
43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.
ULINE AT /1(48).
ENDIF.
IF R2 EQ 'X'.
WRITE : SY-VLINE , 2 'PO NUMBER',
12 SY-VLINE, 13 'ITEM',
18 SY-VLINE,19 'MATERIAL NUMBER',
37 SY-VLINE, 38 'PLANT',
44 SY-VLINE, 45 'GRUP',
49 SY-VLINE.
ULINE AT /1(50).
ENDIF.
END-OF-PAGE.
ULINE AT /1(50).
WRITE :/10 'PAGE NUMBER', SY-PAGNO.
WRITE THE CONDITION WHAT EVER YOU WANT TO CHECK AND IF THAT IS TRUE SY-SUBRC = 0 THEN NO MESS IF NE 0 THEN RAISE A ERROR MESSAGE LIKE ABOVE
REWARD IF USEFULL -
How to handle system messages neatly in ibot/dashboard reports
From time to time system based issues go wrong when running ibots based on dashboard reports - table missing etc
the error message system kicks in and inplace of a neat graph or report appears a huge system based error message with the sql used. This is not a good way to present reports to our execs. Is there a way of handling this neatly so the very technical large error can be replaced with a runtime generated message instead, something equivallent to the No Results messageHey Vasanth,
How did u handle the dump messages?
Regards
Deepa.
Maybe you are looking for
-
Client Copy SRM from prod to dev -Urgent
We have done the client copy and trying to change the logical system names. We are in the process of changing the SPRO-> Account Assignment -> Define G/L Account for Prod Cat and A/C Assignment Cat We want to change the source system but it is not en
-
How to read two more tables in smartfroms
Hi experts, I am working in smartforms, i am having sales order no, using this sales order i have get customer name. I am not familar with smart forms. How to put this logic in smartfroms . already i am having vbeln. using vbeln I have go to vbpa
-
Quick advice needed on Observer and Observable...
Ok at the moment i have about 10 sorting algorithms in 10 classes. They all extend another class which includes methods like print, randomise, user input etc etc which all sorting classes use. So basically my sorting classes only sort and nothing mor
-
Fill Olap cache distribution type
Hi, I'm trying to fill the olap cache with information broadcasting, but I cannot see option "Fill olap cache" in the distribution type. Only distribution type "broadcast E-Mail" and "Broadcast to portal" are present. I reached the broadcasting scree
-
Hi all. I have one problem with OracleCommand When I try to execute long running command, ASP.Net stoping work ocom.Parameters.Add("i_map",OracleDbType.Int32,1,System.Data.ParameterDirection.Input); ocom.ExecuteReader(); //at this staitment ASP.Net b