How to filter messages in XI (IE) using Payload value
Hi XI/PI experts,
I just would like to ask if there is a way in filtering messages using only a value in the payload?
In SAP R/3 system, we can use we09 for searching. In XI, do we have any transaction that can substitute the transaction we09?
This is because, when a message is coming from JMS or File adapter, there is no means of filtering it via IDoc number. We can only filter it using sxi_monitor (via Interface/Receiver/Sender). However, if I am looking for a particular Order/delivery, it is hard to find this because I have to open one by one the messages and then look into the payload.
I hope there is an easier way to filter messages per field value.
Thanks in advance.
Hy Mary !
One solution is using TRex to index the XML messages processed by XI, like mentioned in the above messages, and another way is to write a ABAP program to make this work.
You can find a sample ABAP code to do this at this link:
http://209.85.215.104/search?q=cache:JOwoNxe-F-0J:searchsap.techtarget.com/tip/0,289483,sid21_gci1273424,00.html+IF_XMS_MESSAGE&hl=pt-BR&ct=clnk&cd=3&gl=br
It´s very useful. I did take this sample and did make some adjustements(add more filtering parameters, etc) and created another program, that will be used in the customer where I´m working now. I think that this solution is not so fast than using the indexes of TRex but, it works well, and doesn´t require license nor server/infrastructure to install a TRex. Maybe you have to consider TRex, if the message processing volume at your site is very big, something like more than 50.000 messages/hour.
I hope that this link helps you !
Best regards,
Wilson
Similar Messages
-
How to view messages from another iPhone using your apple Id
How to view messages from another iPhone using your apple Id
Sign into iMessage using the same ID (in Settings>Messages>Send & Receive). The other phone should then see your messages too.
-
How to Send message to MQ without using JMS Receiver Adapter
Hi Frnds,
Actually i am working one File to JMS scenario,I have to send message to MQ,What are the different ways we can send message to MQ without using JMS Adapter.
Regards,
RajHi Ramesh,
Thanks for your replay,could you please eloborate how to integrate that one with XI,and how to use in XI?
regards,
raj -
How to filter a get-adcomputer command using a text/csv file and output to a CSV
OK, so I'm in the process of trying to get a Windows 7 refresh completed for a large client... I had the bright idea to use AD to find what computers are listed as XP, and determine our progress using that. Well, I run get-adcomputer, and it returns
the results... a whole lot of results that really aren't active anymore. I obtained a list of systems that have been disposed of, holding for disposal, etc... now my problem is I can't quite figure out how to get that list to be used to exclude those
computers from the results... I execute my script, it runs, but it seems to get stuck in a loop... I'm sure I'm missing something VERY basic, but I can't figure it out. This is the first time I've ever attempted to use the get-content commandlet, so
again, I'm sure I'm doing something stupid.
Any help will be greatly appreciated!
import-module ActiveDirectory
$exclude = get-content c:\scripts\excludes.csv
ForEach ($entry in $Exclude)
$Excl = "*$entry*"
get-adcomputer -filter {Name -notlike $excl} | select Name,operatingsystem
} Export-CSV c:\scripts\xpfil.csvOK, this one with a little tweaking on my excludes.txt worked... I'd really like to know what the
?{$a -notcontains $_.name}
is doing... Step through it if you can... that way next time I'm not beating my head against this same rather solid wall!
? is an alias for Where-Object. I avoid using aliases in posts, as they usually confuse people.
The concept is that you're reading your exclude list into a variable and then verifying that the variable doesn't contain the computer name that you're currently processing in the pipeline. In my case, I'm running each object through a ForEach-Object loop.
Make sense?
Don't retire TechNet! -
(Don't give up yet - 12,830+ strong and growing) -
How to filter by manager's name using selection screen
Hi all,
I am trying to modify the report to filter data from the report based on the manger name given in selection screen. As the manger's name was given in selection screen.. records have to come only of the employee how were working under that entered manager name.
I am unable to follow this code to modify.. where to add select criteria to filter... please make modify to my code..
I am pasting my code here, Can any one kindly help for this scenario.
TABLES: PA0001, "HR Master Record: Infotype 0001 (Org. Assignment),
PA0002,
P0000,
PA9001,
PA0007,
HRP1001, "Infotype 1001 DB Table
PA0034. "HR Master Record: Infotype 0034 (Corporate Function)
*Internal table for holding output data
DATA: IT_PA0002 LIKE PA0002 OCCURS 100 WITH HEADER LINE,
IT_PA9001 LIKE PA9001 OCCURS 100 WITH HEADER LINE,
IT_PA0007 LIKE PA0007 OCCURS 100 WITH HEADER LINE,
IT_PA0034 LIKE PA0034 OCCURS 100 WITH HEADER LINE.
DATA: IT_RET LIKE BAPIRET2,
IT_ACT LIKE BAPI_SWHACTOR OCCURS 0,
IT_STR LIKE BAPI_STRUC OCCURS 0,
IT_ORG LIKE BAPI_OBJEC OCCURS 0,
IT_POS LIKE BAPI_OBJEC OCCURS 0,
IT_SUP LIKE BAPI_OBJEC OCCURS 0,
IT_FCAT LIKE BAPI_HRAQFIELDDESCRIPTION OCCURS 0,
IT_FDAT LIKE BAPI_HRFIELDDATA OCCURS 0,
IT_ORGS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
IT_POSS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
IT_SUPR TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
V_DATE TYPE SY-DATUM,
IT_T500P LIKE T500P OCCURS 0 WITH HEADER LINE,
IT_TT500P LIKE T500P OCCURS 0 WITH HEADER LINE,
IT_T001P LIKE T001P OCCURS 0 WITH HEADER LINE .
DATA: IT_PA0001 LIKE PA0001 OCCURS 100 WITH HEADER LINE,
P_ENDDA LIKE sy-datum.
DATA: Begin of I_HRE,
pernr like pa0001-pernr, "Emp Number
nachn like pa0002-nachn, "Last Name
vorna like pa0002-vorna, "First Name
plans like BAPI_OBJEC-LONG_TEXT, "Position
div_text like pa9001-div_text,
kztim like ZKZTIM_VAUES-name,
stext like T591S-STEXT, "Corporate function text
werks like BAPI_OBJEC-LONG_TEXT,
btrtl like pa0001-btrtl,
orgeh like BAPI_OBJEC-LONG_TEXT,
kostl like pa0001-kostl,
mstbr like pa0001-mstbr, "Supervisor
End of I_HRE.
DATA: I_HR like I_HRE occurs 100 with header line.
DATA: V_PLANS LIKE PA0001-PLANS,
V_EMP LIKE PA0001-PERNR,
V_KOSTL LIKE PA0001-KOSTL,
V_SUPER LIKE BAPI_OBJEC-LONG_TEXT,
V_EMP_POS LIKE BAPI_OBJEC-LONG_TEXT,
V_SUPER_POS LIKE BAPI_OBJEC-LONG_TEXT,
V_HEADER TYPE N VALUE 1,
V_COUNTER TYPE N VALUE 1,
EMP_INDICATOR TYPE N,
V_ORGEH LIKE BAPI_OBJEC-LONG_TEXT,
V_WERKS LIKE BAPI_OBJEC-LONG_TEXT,
V_KZTIM LIKE ZKZTIM_VAUES-NAME,
V_STEXT LIKE T591S-STEXT.
DATA: v_file TYPE string, "Detail Filename
v_filerecord(1000),
f_filerecord(1000),
drive(3),
mstbr like pa0001-mstbr, "Supervisor
count type n value 0.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_PERNR FOR P0000-PERNR,
S_WERKS FOR PA0001-WERKS,
S_BTRTL FOR PA0001-BTRTL,
S_PERSG FOR PA0001-PERSG,
S_ORGEH FOR PA0001-ORGEH,
S_DIV FOR PA9001-DIV_CODE,
S_KZTIM FOR PA0007-KZTIM,
S_sname for pa0001-sname, " this is to enter name
" as manager name
S_FUNKT FOR PA0034-FUNKT.
SELECTION-SCREEN END OF BLOCK SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION1 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_BEGDA LIKE SY-DATUM DEFAULT sy-datum.
* P_ENDDA LIKE SY-DATUM DEFAULT '99991231'.
SELECTION-SCREEN END OF BLOCK SELECTION1.
START-OF-SELECTION.
if P_BEGDA is initial.
p_begda = sy-datum.
endif.
if P_ENDDA is initial.
p_endda = sy-datum.
endif.
if S_PERSG is initial.
* S_PERSG-SIGN = 'I'.
* S_PERSG-OPTION = 'EQ'.
* S_PERSG-LOW = '1'.
* APPEND S_PERSG.
* S_PERSG-SIGN = 'I'.
* S_PERSG-OPTION = 'EQ'.
* S_PERSG-LOW = '6'.
* APPEND S_PERSG.
S_PERSG-SIGN = 'I'.
S_PERSG-OPTION = 'NE'.
S_PERSG-LOW = '5'.
APPEND S_PERSG.
endif.
SELECT * FROM PA0001 into IT_PA0001
WHERE PERNR IN S_PERNR
AND WERKS IN S_WERKS
AND BTRTL IN S_BTRTL
AND PERSG IN S_PERSG
AND ORGEH IN S_ORGEH
AND BEGDA LE P_BEGDA
AND ENDDA GE P_ENDDA.
APPEND IT_PA0001.
ENDSELECT.
IF not S_DIV[] is initial.
SELECT * FROM PA9001 into IT_PA9001
WHERE DIV_CODE IN S_DIV.
APPEND IT_PA9001.
ENDSELECT.
ENDIF.
IF not S_KZTIM[] is initial.
SELECT * FROM PA0007 into IT_PA0007
WHERE KZTIM IN S_KZTIM.
APPEND IT_PA0007.
ENDSELECT.
ENDIF.
IF not S_FUNKT[] is initial.
SELECT * FROM PA0034 into IT_PA0034
WHERE FUNKT IN S_FUNKT.
APPEND IT_PA0034.
ENDSELECT.
ENDIF.
SORT IT_PA0001 by SNAME.
LOOP AT IT_PA0001.
IF not S_DIV[] is initial.
READ TABLE IT_PA9001 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
IF not S_KZTIM[] is initial.
READ TABLE IT_PA0007 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
IF not S_FUNKT[] is initial.
READ TABLE IT_PA0034 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
V_COUNTER = 1.
V_EMP = IT_PA0001-PERNR.
V_KOSTL = IT_PA0001-KOSTL.
* WRITE: (10) V_EMP, (20) PA0002-NACHN, (20) PA0002-VORNA.
WRITE: / SY-VLINE. " Left border
WHILE V_EMP NE ''.
PERFORM GET_SUPER CHANGING V_EMP V_SUPER
V_EMP_POS.
if v_emp ne ''.
select single * into it_pa0002 from pa0002
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
IF V_HEADER = 1.
PERFORM HEADING.
V_HEADER = 0.
ENDIF.
WRITE: (10) V_EMP, (17) IT_PA0002-NACHN
,(17) IT_PA0002-VORNA, (40) V_EMP_POS.
move v_emp to i_hr-pernr.
move IT_PA0002-NACHN to i_hr-nachn.
move IT_PA0002-VORNA to i_hr-vorna.
move V_EMP_POS to i_hr-plans.
EMP_INDICATOR = V_COUNTER.
IF V_COUNTER = 1.
select single * into it_pa9001 from pa9001
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
select single * into it_pa0007 from pa0007
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
PERFORM GET_KZTIM_TEXT CHANGING it_pa0007-kztim V_KZTIM.
select single * into it_pa0034 from pa0034
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
PERFORM GET_FUNKT_TEXT CHANGING it_pa0034-funkt v_stext.
write: (8) IT_PA9001-DIV_CODE, (17) V_KZTIM,
(25) V_STEXT.
move IT_PA9001-DIV_CODE to i_hr-div_text.
move v_KZTIM to i_hr-kztim.
ENDIF.
IF V_COUNTER = 0.
WRITE: (1) '|'.
ENDIF.
IF V_COUNTER = 1.
PERFORM GET_NAMES.
WRITE: (20) V_WERKS, (5) IT_PA0001-BTRTL
,(20) V_ORGEH,(11) V_KOSTL, (3) '|'.
V_COUNTER = 0.
move V_WERKS to i_hr-werks.
move IT_PA0001-BTRTL to i_hr-btrtl.
move V_ORGEH to i_hr-orgeh.
move V_KOSTL to i_hr-kostl.
ENDIF.
clear it_pa0002.
refresh it_pa0002.
endif.
V_EMP = V_SUPER.
move V_SUPER to i_hr-mstbr.
if EMP_INDICATOR EQ 1.
append i_hr.
endif.
clear i_hr.
ENDWHILE.
NEW-LINE.
CLEAR : V_KZTIM, it_pa9001, it_PA0007.
ENDLOOP.
* Check if its a background Job
IF SY-BATCH NE SPACE.
perform write_file. "Output File
ENDIF.
ULINE.
*& Form GET_SUPER
* This subroutine takes the position number and get the position
* number that it reports to and then who is holding that position and
* then the name of the person who is holding that position in order to
* provide the supervisors name for the person in that position.
* --> p1 text
* <-- p2 text
FORM GET_SUPER CHANGING EMP_SUB EMP_SUPER
EMP_SUB_POS .
DATA: v_reporto like hrp1001-varyf value space,
v_holder like hrp1001-varyf value space,
v_filled like hrp1001-varyf value space,
v_otype like hrp1001-otype value space,
v_objid like hrp1001-objid value space.
CLEAR: v_reporto, v_holder, v_filled, v_otype, v_objid,
EMP_SUB_POS.
Select single plans
into v_plans
from pa0001
where pernr = emp_sub
and begda LE p_begda
and endda GE p_endda.
CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
EXPORTING
PLVAR = '01'
OTYPE = 'S'
OBJID = v_PLANS
KEYDATE = SY-DATUM
SCENARIO = ' '
* EVALPATH = 0
EVALDEPTH = 0
IMPORTING
RETURN = IT_RET
TABLES
* ACTORTAB = IT_ACT
* STRUCTURALDATA = IT_STR
OBJECTSDATA = IT_SUP
* FIELDCATALOGUE = IT_FCAT
* FIELDDATA = IT_FDAT
IF SY-SUBRC EQ 0.
READ TABLE IT_SUP INTO IT_SUPR
WITH KEY PLAN_VERS = '01'
OBJECTTYPE = 'S'
OBJECT_ID = v_PLANS.
IF SY-SUBRC EQ 0.
MOVE IT_SUPR-LONG_TEXT TO EMP_SUB_POS.
ENDIF.
ENDIF.
Select Single varyf
into v_reporto
from hrp1001
where otype = 'S'
and objid = v_plans
and rsign = 'A'
and relat = '002'
and begda LE p_begda
and endda GE p_endda.
if sy-subrc = 0.
move v_reporto+0(1) to v_otype.
move v_reporto+2(8) to v_objid.
Select single varyf
into v_holder
from hrp1001
where otype = v_otype
and objid = v_objid
and rsign = 'A'
and relat = '008'
and begda LE p_begda
and endda GE p_endda.
if sy-subrc = 0.
move v_holder+0(1) to v_otype.
move v_holder+2(8) to v_objid.
EMP_SUPER = v_objid.
IF EMP_SUB = EMP_SUPER.
EMP_SUPER = ''.
ENDIF.
* Select single varyf
* into v_filled
* from hrp1001
* where otype = v_otype
* and objid = v_objid
* and rsign = 'A'
* and relat = '209'.
* if sy-subrc = 0.
* CLEAR: IT_RET, IT_ACT, IT_STR, IT_FCAT, IT_FDAT,
* IT_SUP, IT_SUPR.
* REFRESH: IT_POSS.
* move v_filled+0(2) to v_otype.
* move v_filled+2(8) to v_objid.
* CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
* EXPORTING
* PLVAR = '01'
* OTYPE = v_otype
* OBJID = v_objid
* KEYDATE = V_DATE
* SCENARIO = ' '
** EVALPATH = 0
* EVALDEPTH = 0
* IMPORTING
* RETURN = IT_RET
* TABLES
** ACTORTAB = IT_ACT
** STRUCTURALDATA = IT_STR
* OBJECTSDATA = IT_SUP
** FIELDCATALOGUE = IT_FCAT
** FIELDDATA = IT_FDAT
* IF SY-SUBRC EQ 0.
* READ TABLE IT_SUP INTO IT_SUPR
* WITH KEY PLAN_VERS = '01'
* OBJECTTYPE = v_otype
* OBJECT_ID = v_objid.
* IF SY-SUBRC EQ 0.
* MOVE IT_SUPR-LONG_TEXT TO EMP_SUPER.
* ENDIF.
* ENDIF.
* endif.
endif.
endif.
if sy-subrc <> 0.
EMP_SUPER = ''.
endif.
ENDFORM. " GET_SUPER
*& Form HEADING
* text
* --> p1 text
* <-- p2 text
FORM HEADING .
FORMAT INTENSIFIED OFF. " Remove any INTENSIFIED
FORMAT COLOR COL_HEADING INTENSIFIED." Title color
WRITE: (10) 'Employee', (17) 'Last Name'
,(17) 'First Name', (40) 'Position'
,(8) 'Division', (17) 'Management Type'
,(25) 'Corporate Function'
,(20) 'Personnel Area', (5) 'PSA'
,(20) 'Org. Unit',(11) 'Cost Center',(3) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
ULINE . " Line below titles
NEW-LINE.
WRITE: / SY-VLINE. " Left border
FORMAT COLOR OFF.
ENDFORM. " HEADING
*& Form GET_NAMES
* text
* --> p1 text
* <-- p2 text
FORM GET_NAMES .
CLEAR: IT_RET, IT_ACT, IT_STR, IT_ORG, IT_POS, IT_FCAT, IT_FDAT,
IT_ORGS, IT_POSS, V_ORGEH, V_WERKS.
REFRESH: IT_ORGS, IT_POSS.
MOVE SY-DATUM TO V_DATE.
CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
EXPORTING
PLVAR = '01'
OTYPE = 'O '
OBJID = IT_PA0001-ORGEH
KEYDATE = V_DATE
SCENARIO = ' '
* SCENARIO = 'MDT1'
* EVALPATH = '0 '
EVALDEPTH = 0
IMPORTING
RETURN = IT_RET
TABLES
* ACTORTAB = IT_ACT
* STRUCTURALDATA = IT_STR
OBJECTSDATA = IT_ORG
* FIELDCATALOGUE = IT_FCAT
* FIELDDATA = IT_FDAT
IF SY-SUBRC EQ 0.
READ TABLE IT_ORG INTO IT_ORGS
WITH KEY PLAN_VERS = '01'
OBJECTTYPE = 'O '
OBJECT_ID = IT_PA0001-ORGEH.
IF SY-SUBRC EQ 0.
MOVE IT_ORGS-LONG_TEXT TO V_ORGEH.
ENDIF.
ENDIF.
CALL FUNCTION 'HR_TMW_READ_T500P'
EXPORTING
PERSA = IT_PA0001-WERKS
IMPORTING
W500P = IT_T500P
EXCEPTIONS
NO_ENTRY_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC EQ 0.
MOVE IT_T500P-NAME1 TO V_WERKS.
CLEAR: IT_T500P.
REFRESH: IT_T500P.
ENDIF.
* CALL FUNCTION 'HR_TMW_READ_T001P'
* EXPORTING
* PERSA = PA0001-WERKS
* BTRTL = PA0001-BTRTL
* IMPORTING
* W001P = IT_T001P
* EXCEPTIONS
* NO_ENTRY_FOUND = 1
* OTHERS = 2.
* IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
* IF SY-SUBRC EQ 0.
* MOVE IT_T001P-BTEXT TO IT_HRR05-BTRTL.
* ENDIF.
ENDFORM. " GET_NAMES
*& Form GET_KZTIM_TEXT
* text
* <--P_V_EMP text
* <--P_V_KZTIM text
FORM GET_KZTIM_TEXT CHANGING P_KZTIM_ID
P_KZTIM.
select single NAME into P_KZTIM from ZKZTIM_VAUES
where TYPE eq P_KZTIM_ID.
ENDFORM. " GET_KZTIM_TEXT
*& Form GET_FUNKT_TEXT
* text
* <--P_V_EMP text
* <--P_V_KZTIM text
FORM GET_FUNKT_TEXT CHANGING P_FUNKT_ID
P_STEXT.
select single STEXT into P_STEXT from T591S
where SPRSL eq 'EN' and
INFTY eq '0034' and
SUBTY eq P_FUNKT_ID.
ENDFORM. " GET_KZTIM_TEXT
*& Form write_file
* text
* --> p1 text
* <-- p2 text
FORM write_file .
* Checking the System ID
if sy-sysid = 'RD1'.
drive = 'D:\'.
else.
drive = 'M:\'.
endif.
* concatenate drive sy-sysid
* '\Output\Reports\HR\HR_Public\Emp_Hierarchy'
* sy-datum
* '.xls' into v_file.
concatenate drive sy-sysid
'\Output\Reports\HR\HR_Public\Emp_Hierarchy.xls'
into v_file.
OPEN DATASET v_file FOR OUTPUT in text mode encoding default.
concatenate 'Employee'
'Last Name'
'First Name'
'Position'
'Division'
'Management Type'
'Corporate Function'
'Personnel Area '
'PSA'
'Org. Unit'
'Cost Center'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
into v_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
transfer v_filerecord to v_file. "Writing to file
clear v_filerecord.
loop at IT_PA0001.
do.
if count eq 0.
read table i_hr with key pernr = IT_PA0001-pernr.
concatenate i_hr-pernr
i_hr-nachn
i_hr-vorna
i_hr-plans
i_hr-div_text
i_hr-kztim
i_hr-stext
i_hr-werks
i_hr-btrtl
i_hr-orgeh
i_hr-kostl
into v_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
mstbr = i_hr-mstbr.
count = count + 1.
else.
read table i_hr with key pernr = mstbr.
concatenate v_filerecord
i_hr-pernr
i_hr-nachn
i_hr-vorna
i_hr-plans
into f_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
v_filerecord = f_filerecord.
mstbr = i_hr-mstbr.
clear i_hr.
endif.
if mstbr eq space.
exit.
endif.
enddo.
transfer v_filerecord to v_file. "Writing to file
clear: v_filerecord, f_filerecord, count.
endloop.
CLOSE DATASET v_file.
ENDFORM. " write_file
Edited by: Surender Batlanki on Feb 20, 2008 7:50 AM
Edited by: Surender Batlanki on Feb 20, 2008 7:59 AM
Edited by: Surender Batlanki on Feb 20, 2008 8:12 AM
Edited by: Surender Batlanki on Feb 20, 2008 3:16 PM
Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AMHi Surender,
In the Perform GET_SUPER, you are getting manager's OBJID. Use this OBJID and from PA0001 get Manger's name.
While passing data to output table, filter that table by Manager's name and then pass output table for display.
Hope this helps u.
<REMOVED BY MODERATOR>
Regards,
Preeti
Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AM -
How to filter based on two keywords (using And)?
Something that seems so simple but I just can't figure it out.
I've added keywords to a lot of my photos. Now I want to find all the keywords that match multiple pictures -- like with Snow AND Tree.
When I select multiple keywords using shift, it builds a filter Snow OR Tree instead of what I want, Snow AND Tree.
How do I build up a filter based on multiple keywords with AND logic?
And along the same train of thought, I imagine someday I might want to even build on this and say Nature is synonymous with Tree or Lake... and then build a filter based on Nature AND Snow. Is this possible?
Sorry for such an obvious question and thanks in advance.
Love Lightroom so far, in the 2 days I've played with it and see it as finally being a way to quickly and easily organize and manage my photos.
RonFor NOT it works if you do the following:
1. Select keyword (e.g foo) to find photos with just that keyword
2. Ctrl + A to select all
3. Go to All Photogrpahs in the Library (selection will be maintained)
4. Go to Edit -> Invert Selection
This should leave you with all photos without 'foo'.
Works for me (Windows XP).
Andy. -
How to Read Message from JMS Queue using Business Service(ALSB3.0)
Hi,
My Project Set up is as follows(using ALSB3.0).
1>One Proxy Service with transport as HTTP.
2>The Proxy service is calling another Business Service.
3>The Business Service has transport layer as JMS.
So here the business service is posting Request Message into the JMS queue.
I want at the same time it(The Business Service) should listen to another queue and from there it should read Response Message and forward back to the caller proxy service.
Can any one help me regarding this...
Thanks in advance...
DebaHi ,
Problem in : Reading / writing messages to the JMS Queue -
I am stuck with the same problem and I am not able to proceed futher, Can you please help me out in sending an example of how to do right configurations in ALSB and on the server. I read the documentation but still I dont see messages in the queues.
please help me out. can you post a small sample example
thanks
adi -
How to read message from Active MQ using OSB
Hi All
I want to read from Active MQ ( situated on another server) using OSB (11g). My condition is
Active MQ---> OSB---> DB Tables
I know how to use BPEL to do this but I need to use OSB to do this. Client which puts data to Active MQ also puts data ( like eventtype)to its header and on basis of header(eventtype) I need to route the message to proper tables. Please let me know how can I do this and if any step by step info is available for this ( I checked on many blogs but couldn't find any).
Thanks very much
Regards
GauravDid you try creating a MQ transport proxy service in OSB -
http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15866/mq.htm#BGEFJHAF
Regards,
Anuj -
How to send message to a queue using JMS adapter
Hi,
I need to send messages to the default queue(demoQueue) available in the server using a JMS adapter in a BPEL process.
I tried doing the same by using an invoke activity that invokes the JMS adapter service to send the message to the queue. I deployed this process in the server and gave an input to send it to the queue. The prcoess executed without any errors in the BPEL console.
I am also using Hermes v1.0 to monitor the queue but it says that it dint receive any messages in the queue to read.
I am sorry that i have restrictions from the client that i can't post the code here. Please let me know if anyone has got any solution or if you know any other way of doing the same.
Thank you
Message was edited by: prince
the_princeYou can use the following procedure :
DBMS_AQ.ENQUEUE (
queue_name IN VARCHAR2,
enqueue_options IN enqueue_options_t,
message_properties IN message_properties_t,
payload IN "<ADT_1>",
msgid OUT RAW); -
How to archive messages in Mail when using Gmail?
I'm quite happy with the new look they've given Mail in OSX Lion and I was thrilled to see the Archive button, as I'm a Gmail user. But, as you might now, that Archive button does not move messages to "All Mail" as Gmail would. Instead it creates a new IMAP folder, which is then created in your Gmail account which is not what we are after. On my iPhone, moving the message to the "All Mail" folder does the trick, however I just tried that in Lion's Mail and it seems to work (from a Mail perspective) but once I go into Gmail (web) the messages are still there in the inbox. I guess that Gmail does not move them as the messages are already in the All Mail folder. I know it is not (at the moment) possible to modify how the "Archive" button works, but does anyone know if I can at least move the messages into the "All Mail" folder? I was doing it in Snow Leopard and it worked just fine.
Make sure you have Auto-Expunge turned on in your GMail settings under 'Forwarding and POP/IMAP'. I had the same issue, and turning this on did the trick.
-
BPS - How to filter a BPS layout based on keyfigure value.
Hi Gurus,
I am in a requirement to display a BPS layout based on a keyfigure value. Basically filter based on a keyfigure value. I don't want to display any records which contains a value of '0' in a particular keyfigure. Is this possible in BPS.
Thanks,
Mohanthanks guys for your response.
The macro is not going to help me because the number of records from the database fetch is going to be more than 15000 and the valid records are only around 100. And since BPS cannot display more than 9999 records this would be a problem. This is my assumption. Let me try this out and see how BPS responses.
I tried using the exit function to delete the records from buffer with the condition if the keyfigure is 0 but the other keyfigures values are affect due to this. Meaning BPS keeps track of the changed records and changes the other keyfigure value to 0.
e.g. I have 2 keyfigure, A and B. A is the keyfigure where I check the value for 0 and B is the keyfigure with a non-zero value say $10. And in the exit before processing I have 10 records out of which 2 records are having value 0 for the A keyfigure and 8 records are having value as 1 for the A KeyFigure. And B keyfigure is having $10 for all the records. Based on the condition I delete off the 2 records from memory. SEM keeps track of this change and when you press on the save button in planning layout, the value for the B keyfigure are changed from $10 to $ -10 and saved to the database, I don't want this change in value to B keyfigure happening. So any other work arounds....
Thanks,
Mohan -
How to Populate a drop down list using the values of a text field?
Hi,
I wanted to Populate the items of my drop down list according to the value entered in the textfield above it?
also the value of list remains consistent in other rows also where i am using the drop down list field.
Please Try to help me in this query.
Thanks in Advance!!!
I am using Javascript in adobe version ES 8.2.Part II:
If you have other items for your droplist(s) that are to appear in addition to the "variable language" entered by a user you can add that to the script. For example in addition to the Party1 and Party2 name appearing in my droplist I also want the list to have an option for a user to select: The parties jointly. I add this to the script:
this.addItem(Party1.rawValue);
this.addItem(Party2.rawValue);
this.addItem ("The parties jointly");
If you have trouble making it work, post a bit of your actual form requirements. -
How to filter emails using sender email adapter
Hi,
Does any one know how to filter emails of mail server using Sender email adapter(POP3 protocol ) in PI .
To make it more clear let us assume that there are 10 emails in the email server then 3 emails should be fetched for Interface A , 3 emails Should be fetched for Interface B and remaining 4 emails should be ignored and left in the email server as it is , the reason for this is that it is not related with the Interface A or Interface B. Any suggestion or solution will be much appreciated.
Thanks & Regards
PrabhatHi,
I guess you didnt get my requirement clearly. My requirement is how to filter emails from email server using sender Email adapter in POP3 protocl and pass it to relevant Interface.
For ex: suppose email no.1 is related to Interface A then it should go to Interface A
or email no. 2 is related to Interface B then it should go to Interface B
or if email no. 3 is junk mail then it should avoid deleting that email and leave that email as it is
The problem/challenge here is that email adapter of Interface A or B reads it first and deletes the email message so it is not available for the Interface A or B.
So I just want that sender email adapter should filter it before deleting email from the email server.
Can you provide some solution for this?
Thanks & Regards
Prabhat -
How to receive message from queue based on JMSPriority
Hi all,
I want to receive message from Receive Message From Queue based on JMSPrirority.
I am able to send message to queue using Send Message To Queue component with specifying Priority value as Five(Liternal value).
Now, when I am trying to receive message from Queue by specifying JMSPriority='Five'; in Message selector, it is not working.
But, when I use JMSPriority is not null in Message selector, I am able to receive message.
How to receive message from queue by specifying exact value of JMSPriority.
Please suggest.Hi WASIL,
I tried with captial FIVE and it is not working.
I tried also like operator and the standard example doesn't recieve messages based on priority.
I am experiecing below error:
Caused by: javax.jms.InvalidSelectorException: The selector is invalid: JMSPriority LIKE '%FIVE%';
at com.adobe.livecycle.jms.QueueMessageReceiver.receiveMessageFromQueueWithPropertiesNoWait( QueueMessageReceiver.java:206)
at com.adobe.livecycle.jms.JMSService.receiveMessageFromQueue(JMSService.java:413)
at sun.reflect.GeneratedMethodAccessor1017.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
... 135 more
Caused by: javax.jms.InvalidSelectorException: The selector is invalid: JMSPriority LIKE '%FIVE%';
at org.jboss.jms.server.selector.Selector.<init>(Selector.java:107)
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegateInternal(Server SessionEndpoint.java:2103)
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegate(ServerSessionE ndpoint.java:277)
at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advise d$SessionAdvised$createConsumerDelegate$aop(SessionAdvised.java:94)
at org.jboss.jms.server.endpoint.advised.SessionAdvised$createConsumerDelegate_8721389917985 689973.invokeTarget(SessionAdvised$createConsumerDelegate_8721389917985689973.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.server.container.SecurityAspect.handleCreateConsumerDelegate(SecurityAspect .java:124)
at sun.reflect.GeneratedMethodAccessor389.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:122)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.server.endpoint.advised.SessionAdvised.createConsumerDelegate(SessionAdvise d.java)
at org.jboss.jms.wireformat.SessionCreateConsumerDelegateRequest.serverInvoke(SessionCreateC onsumerDelegateRequest.java:100)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandle r.java:165)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791 )
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:216)
at org.jboss.remoting.Client.invoke(Client.java:2034)
at org.jboss.remoting.Client.invoke(Client.java:877)
at org.jboss.remoting.Client.invoke(Client.java:865)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
at org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientS essionDelegate$createConsumerDelegate$aop(ClientSessionDelegate.java:267)
at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_87213899179856 89973.invokeTarget(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.client.container.StateCreationAspect.handleCreateConsumerDelegate(StateCrea tionAspect.java:136)
at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect_z_handleCreateCon sumerDelegate_930384804.invoke(StateCreationAspect_z_handleCreateConsumerDelegate_93038480 4.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.container.ConsumerAspect.handleCreateConsumerDelegate(ConsumerAspect .java:76)
at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleCreateConsumer Delegate_930384804.invoke(ConsumerAspect_z_handleCreateConsumerDelegate_930384804.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.j ava:92)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:172)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.delegate.ClientSessionDelegate.createConsumerDelegate(ClientSessionD elegate.java)
at org.jboss.jms.client.JBossSession.createConsumer(JBossSession.java:237)
at org.jboss.jms.client.JBossSession.createConsumer(JBossSession.java:220)
at org.jboss.jms.client.JBossSession.createReceiver(JBossSession.java:396)
at com.adobe.livecycle.jms.QueueMessageReceiver.receiveMessageFromQueueWithPropertiesNoWait( QueueMessageReceiver.java:198)
... 140 more
Please suggest -
Q? how to change filename of receiver adapter includeing payload attribute?
hi all.
our scenario is IDOC - XI - FILE.
IDOC is standard type .xml"
Despite of searching help library, just read about how to change using payload value.
How to change the filename using payload attribute?
Message was edited by: ChangSeop SongHi,
You can create the file name dynamically from the payload of the receiver adapter as follows.
From the requirement you have stated, you want your file to be named as,
TPSDLS<shipmentid>.
For this, in the reciver file adapter, give your filename as <b>TPSDLS%var%</b> and under variable name substitution,
<b>var</b> --> <b>payload:IDOCTYPE,1,Shipments,1,ShipmentID,1</b>
here, var acts as your variable name and it first looks for IDOCTYPE and its first occurence, shipment and its first occurence and finally, shipmentID and its first occurence. There by generating the filename dynamically.
For more info on this, check the topic <b>variable substitution</b> under this link.
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
hope this helps,
let me know if you have any clarification,
regards,
bhavesh
Maybe you are looking for
-
Different b/w index rebuild and index rebuild online
hi..guys could u plz tel me difference between index rebuild and index rebuild online
-
Automount afp volume home stipulated in Directory mapping
Hi I have a strange setup here which I'm puzzling over to get working. I have a number of computers configured to search an LDAP server on our network for their user account. Within the mappings of that LDAP in Directory services I have set the users
-
How to display xml code in page?
Hi, I have a string which content is a xml file, I want to display the content of string in xml mode, such like dispalying a xml file in IE browser. How to do it? Thanks a lot!
-
AQ: What is Best Practice ?
I have a pilot project about to trial messaging to achieve application integration. We are going with AQ to pilot the message layer and use JMS for the API. What is the recommended way to architect AQ given we have multiple databases, across a number
-
I've just followed this tutorial that scrolls horizontally through a sequences of images and works beautifully for me. (View Tutorial) However, the tutorial has 5 navigation buttons and I would only like to have 2 – a forward and back button. How can