Filtering the data in BAPI
Hi,
we are using bapi_PRODORDCONF_GETDETAIL to fetch some data in a transaction. For this we have to use a condition that it should display records only from plant 1000. for this I'm trying to use genericfilterandsort action filter the results. But the problem is that when I'm trying to map it to output of repeater or the bapi output, The filter columns are not being displayed. I've tried to link also, but its of no use. I've tried conditional statement too... but din't work either.... can anyone help in this scenario???
thanks
Huh
Well, would any of these 2 ideas help to get ur required result -
1> In the SAP System, with help of ABAP (if u know, otherwise let some ABAPer do)develope a new FM (Function Module) which will call the FM <b>BAPI_PRODORDCONF_GETDETAIL</b> to get required order details on plant selection, where plant selection will be created as an input parameter for that newly developed FM.
Then in BLS, use that new FM as RFC which in turn has a request item as Plant, which will be passed as input parameter and get response from RFC. that will be ur expected result.
2> Just use <b>BAPI_PRODORDCONF_GETDETAIL</b> as RFC in BLS using JCO Interface Action to get the result of all order details. Then loop this result using Action <b>Repeater</b> with item of the table which returns all the details as XPath Target of Repeater (in Configure Object). In this loop, use <b>Conditional</b> Action to check the transaction input parameter (plant) with the plant item in the Repeater, Then use <b>Row</b> Action to append the satisfied items from Repeater to the XML Document (it must be defined initially with required column names to be displayed as output in the BLS)
Regards
Som
Similar Messages
-
Problem in alv grid display (it is not filtering the data in print preview)
Hi Every One,
Its very urgent for me to deliver this report ....
I applied sort criteria on my final internal table which is pupulated and then i passed to the function module...
when i execute the program it is showing me the perfect output..when i take a print preview it is not filtering the data instead it is showing me the normal uotput i.e..,without sort criteria...
here is the code plz go thru it and tell me were i am doing wrong...
i thank u one and all ...and plz debub the code on the system and let me know....
REPORT tracking-quotation NO STANDARD PAGE HEADING MESSAGE-ID zrv_message LINE-COUNT 65 LINE-SIZE 110.
Includes
This include contains declarations
INCLUDE ZMM_TRACKING_QUOTATION_T.
This include contains code for the performs
INCLUDE ZMM_TRACKING_QUOTATION_F.
AT SELECTION SCREEN *
AT SELECTION-SCREEN.
This perform will validate the fields
PERFORM f_validate_sel_screen.
Start-Of-Selection
START-OF-SELECTION.
This perform will read the values from the database.
PERFORM selection.
This perform will build the field catalogue
PERFORM f_build_catalogue.
This perform will build the sort
PERFORM f_event_sort.
This perform will build the layout
PERFORM f_build_layout.
This perform will build the event
PERFORM f_event_build.
This perform will build the comment
PERFORM f_comment_build.
This perform will display the list
PERFORM f_list_display.
End-Of-Selection
END-OF-SELECTION.
*& Include ZMM_TRACKING_QUOTATION_T *
T a b l e s D e c l a r a t i o n s *
TABLES: eban,
ebkn,
ekko,
eket,
lfa1,
ekpo.
Selection Screen Declaration
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-100.
SELECT-OPTIONS: bednr FOR eban-bednr,
ps_psp FOR ebkn-ps_psp_pnr,
kostl FOR ebkn-kostl,
erdat FOR ebkn-erdat.
SELECTION-SCREEN END OF BLOCK b1.
Type Pools D e c l a r a t i o n s *
TYPE-POOLS: slis.
V a r i a b l e s *
DATA : rt_fieldcat TYPE slis_t_fieldcat_alv,
i_layout TYPE slis_layout_alv,
i_event TYPE slis_t_event,
i_listheader TYPE slis_t_listheader,
l_sort TYPE slis_t_sortinfo_alv,
wa_sort TYPE slis_sortinfo_alv.
I n t e r n a l T a b l e s *
DATA: BEGIN OF i_final_tab OCCURS 0,
name1 LIKE lfa1-name1,
banfn LIKE eban-banfn,
badat LIKE eban-badat,
bnfpo LIKE eban-bnfpo,
txz01 LIKE eban-txz01,
menge LIKE eban-menge,
bednr LIKE eban-bednr,
frgdt LIKE eban-frgdt,
lfdat LIKE eban-lfdat,
ps_psp_pnr LIKE ebkn-ps_psp_pnr,
bwbdt LIKE ekko-bwbdt,
aedat LIKE ekko-aedat,
lifnr LIKE ekko-lifnr,
ihran LIKE ekko-ihran,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
plifz LIKE ekpo-plifz,
eindt LIKE eket-eindt,
END OF i_final_tab.
DATA: BEGIN OF itab OCCURS 0,
name1 LIKE lfa1-name1,
banfn LIKE eban-banfn,
badat LIKE eban-badat,
bnfpo LIKE eban-bnfpo,
txz01 LIKE eban-txz01,
menge(17),
bednr LIKE eban-bednr,
frgdt LIKE eban-frgdt,
lfdat LIKE eban-lfdat,
ps_psp_pnr LIKE ebkn-ps_psp_pnr,
bwbdt LIKE ekko-bwbdt,
aedat LIKE ekko-aedat,
lifnr LIKE ekko-lifnr,
ihran LIKE ekko-ihran,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
plifz LIKE ekpo-plifz,
eindt LIKE eket-eindt,
END OF itab.
*& Include ZMM_TRACKING_QUOTATION_F *
**& Form FIELDCAT_INIT
text
-->P_GT_FIELDCAT[] text
FORM f_build_catalogue.
DATA : ls_fieldcat TYPE slis_fieldcat_alv.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BANFN'.
ls_fieldcat-tabname = 'itab'.
ls_fieldcat-seltext_m = 'PR Number'.
ls_fieldcat-ref_tabname = 'EBAN'.
ls_fieldcat-fix_column = ''.
ls_fieldcat-emphasize = ''.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'BNFPO'.
ls_fieldcat-ref_tabname = 'EBAN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'BADAT'.
ls_fieldcat-ref_tabname = 'EBAN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'TXZ01'.
ls_fieldcat-ref_tabname = 'EBAN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'MENGE'.
ls_fieldcat-ref_tabname = 'ITAB'.
ls_fieldcat-seltext_l = 'Quantity'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'PS_PSP_PNR'.
ls_fieldcat-ref_tabname = 'EBKN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'BEDNR'.
ls_fieldcat-ref_tabname = 'EBAN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'FRGDT'.
ls_fieldcat-ref_tabname = 'EBAN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'LFDAT'.
ls_fieldcat-ref_tabname = 'EBAN'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'EBELN'.
ls_fieldcat-ref_tabname = 'EKPO'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'EBELP'.
ls_fieldcat-ref_tabname = 'EKPO'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'AEDAT'.
ls_fieldcat-ref_tabname = 'EKKO'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-ref_tabname = 'EKKO'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-ref_tabname = 'LFA1'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'IHRAN'.
ls_fieldcat-ref_tabname = 'EKKO'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'EINDT'.
ls_fieldcat-ref_tabname = 'EKET'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ITAB'.
ls_fieldcat-fieldname = 'PLIFZ'.
ls_fieldcat-ref_tabname = 'EKPO'.
APPEND ls_fieldcat TO rt_fieldcat.
ENDFORM. " FIELDCAT_INIT
*& Form selection
text
--> p1 text
<-- p2 text
FORM selection .
SELECT
lfa1~name1
eban~banfn
eban~badat
eban~bnfpo
eban~txz01
eban~menge
eban~bednr
eban~frgdt
eban~lfdat
ebkn~ps_psp_pnr
ekko~bwbdt
ekko~aedat
ekko~lifnr
ekko~ihran
ekpo~ebeln
ekpo~ebelp
ekpo~plifz
eket~eindt
FROM lfa1 INNER JOIN ekko ON ( lfa1lifnr = ekkolifnr )
INNER JOIN ekpo ON ( ekkoebeln = ekpoebeln )
INNER JOIN eket ON ( ekpoebeln = eketebeln
AND
ekpoebelp = eketebelp )
INNER JOIN eban ON ( ebanbanfn = eketbanfn
AND
ebanbnfpo = eketbnfpo )
INNER JOIN ebkn ON ( ebanbanfn = ebknbanfn
AND
ebanbnfpo = ebknbnfpo )
INTO TABLE i_final_tab WHERE eban~bednr IN bednr AND
ebkn~ps_psp_pnr IN ps_psp AND
ebkn~kostl IN kostl AND
ebkn~erdat IN erdat AND
ekko~bstyp <> 'F'.
LOOP AT i_final_tab.
itab-name1 = i_final_tab-name1.
itab-banfn = i_final_tab-banfn.
itab-badat = i_final_tab-badat.
itab-bnfpo = i_final_tab-bnfpo.
itab-txz01 = i_final_tab-txz01.
itab-menge = i_final_tab-menge.
itab-bednr = i_final_tab-bednr.
itab-frgdt = i_final_tab-frgdt.
itab-lfdat = i_final_tab-lfdat.
itab-ps_psp_pnr = i_final_tab-ps_psp_pnr.
itab-aedat = i_final_tab-aedat.
itab-lifnr = i_final_tab-lifnr.
itab-ihran = i_final_tab-ihran.
itab-ebeln = i_final_tab-ebeln.
itab-ebelp = i_final_tab-ebelp.
itab-plifz = i_final_tab-plifz.
itab-eindt = i_final_tab-eindt.
APPEND itab.
CLEAR itab.
ENDLOOP.
ENDFORM. " selection
*& Form f_event_build
text
--> p1 text
<-- p2 text
FORM f_event_build .
DATA wa_event TYPE slis_alv_event.
CLEAR: wa_event,
i_event.
*read event top-of-page
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = i_event.
IF sy-subrc <> 0.
ENDIF.
*Prepare event table
READ TABLE i_event WITH KEY name = 'TOP_OF_PAGE' INTO wa_event.
IF sy-subrc EQ 0.
MOVE 'TOP_OF_PAGE' TO wa_event-form.
APPEND wa_event TO i_event.
ENDIF.
ENDFORM. " f_event_build
*& Form f_comment_build
text
--> p1 text
<-- p2 text
FORM f_comment_build .
DATA: wa_listheader TYPE slis_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'H'.
wa_listheader-info = 'Tracking Of Quotation For Purchase Requisition'.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = 'SMS-DEMAG Pvt. Ltd.'.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = 'R1- Nehru Enclave'.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = 'New Delhi - '.
APPEND wa_listheader TO i_listheader.
ENDFORM. " f_comment_build
*& Form f_build_layout
text
--> p1 text
<-- p2 text
FORM f_build_layout .
CLEAR i_layout.
i_layout-colwidth_optimize = 'X'.
i_layout-zebra = 'X'.
i_layout-totals_text = 'Total'.
ENDFORM. " f_build_layout
*& Form f_list_display
text
--> p1 text
<-- p2 text
FORM f_list_display .
*sort itab by name1
banfn
badat
bnfpo
txz01
menge
bednr
frgdt
lfdat
ps_psp_pnr
bwbdt
aedat
lifnr
ihran
ebeln
ebelp
plifz
eindt.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = i_layout
it_fieldcat = rt_fieldcat
it_events = i_event
it_sort = l_sort
TABLES
t_outtab = itab.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " f_list_display
*& Form TOP_OF_PAGE
text
--> p1 text
<-- p2 text
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_listheader
i_logo = 'ENJOYSAP_LOGO'.
ENDFORM. "TOP_OF_PAGE
*& Form f_event_sort
text
--> p1 text
<-- p2 text
FORM f_event_sort .
wa_sort-spos = 1.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'BANFN'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
CLEAR WA_SORT.
wa_sort-spos = 5.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'MENGE'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 2.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'BNFPO'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 3.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'BADAT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 4.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'TXZ01'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 7.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'BEDNR'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 6.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'PS_PSP_PNR'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 8.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'FRGDT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 9.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-fieldname = 'LFDAT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 10.
wa_sort-fieldname = 'EBELN'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 11.
wa_sort-fieldname = 'EBELP'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 12.
wa_sort-fieldname = 'AEDAT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 13.
wa_sort-fieldname = 'LIFNR'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 14.
wa_sort-fieldname = 'NAME1'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 15.
wa_sort-fieldname = 'IHRAN'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-up = 'X'.
wa_sort-tabname = 'i_final_tab'.
wa_sort-spos = 16.
wa_sort-fieldname = 'EINDT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
*sort l_sort by spos.
CLEAR wa_sort.
wa_sort-spos = 1.
wa_sort-fieldname = 'BANFN'.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
wa_sort-spos = 5.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'MENGE'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-spos = 2.
wa_sort-fieldname = 'BNFPO'.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
wa_sort-spos = 3.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'BADAT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 4.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'TXZ01'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 7.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'BEDNR'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 6.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'PS_PSP_PNR'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 8.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'FRGDT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
wa_sort-spos = 9.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-fieldname = 'LFDAT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-spos = 10.
wa_sort-fieldname = 'EBELN'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-spos = 11.
wa_sort-fieldname = 'EBELP'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-spos = 12.
wa_sort-fieldname = 'AEDAT'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-spos = 13.
wa_sort-fieldname = 'LIFNR'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-spos = 14.
wa_sort-fieldname = 'NAME1'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-down = 'X'.
wa_sort-tabname = 'itab'.
wa_sort-spos = 15.
wa_sort-fieldname = 'IHRAN'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
CLEAR wa_sort.
wa_sort-spos = 16.
wa_sort-fieldname = 'EINDT'.
wa_sort-tabname = 'itab'.
wa_sort-down = 'X'.
wa_sort-subtot = ' '.
APPEND wa_sort TO l_sort.
*CLEAR WA_SORT.
*sort l_sort by spos.
ENDFORM. " f_event_sort
*& Form f_validate_sel_screen
text
--> p1 text
<-- p2 text
FORM f_validate_sel_screen .
*Tracking number
SELECT SINGLE * FROM eban WHERE bednr IN bednr.
IF sy-subrc NE 0.
MESSAGE e013.
ENDIF.
*Wbs Element
SELECT SINGLE * FROM ebkn WHERE ps_psp_pnr IN ps_psp.
IF sy-subrc NE 0.
MESSAGE e014.
ENDIF.
*Cost center
SELECT SINGLE * FROM ebkn WHERE kostl IN kostl.
IF sy-subrc NE 0.
MESSAGE e015.
ENDIF.
*Date
SELECT SINGLE * FROM ebkn WHERE erdat IN erdat.
IF sy-subrc NE 0.
MESSAGE e012.
ENDIF.
ENDFORM. " f_validate_sel_screenHey Ravi,
As you said it is urgent to deliver the report, i will suggest you temporary solution while i debug the program.
In the FM "REUSE_ALV_GRID_DISPLAY", use layout to generate your sorted report for now as shown following:
<b>DATA: G_VARIANT LIKE DISVARIANT.</b>
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = RT_FIELDCAT
IT_EVENTS = I_EVENT
IT_SORT = L_SORT
<b>is_variant = g_variant</b>
TABLES
T_OUTTAB = ITAB.
IF SY-SUBRC <> 0.
ENDIF.
Where g_variant is your custom layout which you will make as default for output.
Hope this helps and let me know if you need more details.
In the mean time, i will look in to the program.
Regards,
Vicky
PS: Award points if helpful -
Filtered the data to get only one data per day
Hi,
From the excel file below I have Power (from Hg Lamp) vs date.
I would like to filtered the data to have only one data per day. So when there are many data for one day, I want the data with Max Power (and delete the others).
In the test vi below I filtered data by compared the data 1 by 1. So I reduced the number of data but I still have date with many data.
I would like to count the number of data per days and keep the data with max power, but I don't know how to do it.
If you have any ideas...
Thanks
Geof
Attachments:
Test.xls 227 KB
Test.vi 48 KBI did it
Thanks
Attachments:
Test.vi 48 KB -
Excel download is not filtering the data
I create Pivot table and a detailed table. In interactive mode if i click on pivot table, the table below filters the data accordingly and shows only the selected data related fields in the table. This is how i want. But when i filter and then download it in excel, the excel file is saved with complete data with out filter. How can i make it download filtered data as in interactive mode?
Make sure, that the columns you are using in Prompts are filtered in your reports using 'ISPROMPTED'. make sure you use same columns in both the places.
-Suman -
Can anyone pls. help me : facing problem while fetching the data from BAPI
Hi all,
we have installed xMII in a new server. In this new server I am trying to fetch data from a BAPI & write it into a file thru a transaction, but i cant see the data in the tracer, & neither is the file created. But with the same configuration & connection am able to get the data in the old server. Can anyone pls. tell me wat could be the problem?? or is there anything else that we might have forgotten while installing xMII in the new server.
ur help would be greatly appreciated.
Thanks,
Sushma.Hi Ravi,
no am not able to see the table structure also. This is what it is showing in the tracer :
[INFO ]: Execution Started At: 17:24:17
[DEBUG]: 00000.03100 Begin Transaction 'TMP99A51958-5BAE-CDE0-0DB5-A3A8C72BC297'
[DEBUG]: 00000.03100 Begin Sequence Sequence : ()
[DEBUG]: 00000.03100 Begin Action SAPJCOInterface_0 : (SAP JCO Interface)
[DEBUG]: 00006.43700 Connection Took 6406 mS
[DEBUG]: 00009.82800 Function Creation Took 3391 mS
[DEBUG]: 00010.25000 Execution Took 422 mS
[DEBUG]: 00010.25000 End Action SAPJCOInterface_0 : (SAP JCO Interface)
[DEBUG]: 00010.25000 Begin Sequence Sequence_0 : ()
[DEBUG]: 00010.25000 Begin Action Repeater_0 : (Repeater)
[DEBUG]: 00010.26600 End Action Repeater_0 : (Repeater)
[DEBUG]: 00010.26600 End Sequence Sequence_0 : ()
[DEBUG]: 00010.26600 End Sequence Sequence : ()
[DEBUG]: 00010.26600 End Transaction 'TMP99A51958-5BAE-CDE0-0DB5-A3A8C72BC297'
[INFO ]: Execution Completed At: 17:24:28 Elapsed Time was 10235 mS
I doubt the repeater is not working, becoz i checked the JCO connection & thats fine..
Thanks,
Sushma. -
hi,
i am new for bapi , can anyone tell me how to upload data using bapi with example?
plz tell how to find bapi & how to use in coding to upload the data?Hi ,
To find Bapi There a tcode Bapi which will take you to bapi Explorer From there you can find required
the Bapi Function Module and its Documentation .
[ www.sap-img.com/abap/bapi-step-by-step-guidance.htm ]
[http://www.sappro.com/tag.cfm?session=&tag=bapi%20programming]
[https://wiki.sdn.sap.com/wiki/display/Snippets/SalesordercreationusingBAPI]
Regards
Nilesh -
Upload the data using BAPI in LSMW
Hi
I want to upload the data using the BAPI in LSMW,but i dont know what value should be passed in
1- Business Object
2- Method
fields.
Ex- Suppose i want to upload the Material Master Data then what should be the value of these two fields.
Thanks
Mrutyunjaya TripathyHi
Sorry to say that i am little bit confuse with your answer
1-The business object already contains some object name wheather i have to give object names or different,As you have mentioned to give the tcode than what tcode that would be
2-If i am giving any internal table name in the method field it is giving me error because this field is related to the business object field
Thanks
Tripathy m -
Pivot table that uses a Stored Procedure parameter and filters the data based on it
Hello, my 1st post. I am lost. Please help.
I am trying to create an Excel Pivot Table that has data that comes from an ODC but needs to be filtered based on a parameter from a Stored Procedure. This involves Project Server. I need to filter the results based on the RBS value of the logged
in user. My Stored Procedure can return the RBS as long as the ResourceNTAccount value is given. I cant figure out how to tie this all together.Hi,
Based on your description,I think this issue should be more related to Programming/coding, you can sumbit a new case to MSDN forum.
As I'm not quite formular with Project Server, all I can tell you is that it is easy to running a Stored Procedure within Excel, however, if you have to pass dynamic parameters you’ll have to turn to VBA.For detailed information,please refer
to:
http://blogs.office.com/2010/06/07/running-a-sql-stored-procedure-from-excel-no-vba/
Wind Zhang
TechNet Community Support -
Dashboard prompt is not filtering the data
Hi Experts,
I have created a report and placed it in the dashboard.
When I filtered data by prompts it is givng the entire data instead of filtered data.Make sure, that the columns you are using in Prompts are filtered in your reports using 'ISPROMPTED'. make sure you use same columns in both the places.
-Suman -
How to retrieve the data from SAP-BAPI by using VB Code
Hi ,
I am new to BAPI.
V have created an application in Visual Basic with the following fields
EmpNo , EmpName, Addr1, Addr2, City and Phone (Only for Test)
We have written the code for SAVING the data into SAP. Already we have
constructed a table with the respective fields in SAP.
For that we ourself created our own BAPI Structure / Function Group /
Function Module/ Business Object - RELEASED related elements.
1)Established the connection successfully.
2)Stored the data into SAP Successfully and v r in need of
3)HOW TO RETRIEVE THE DATA FROM SAP (USING GETLIST.....GETDETAIL....)
Following is the code :
'BAPI Structure : ZBAPIEMP
'Function Group : ZBAPIEMP
'Function Module : ZBAPI_EMP_CREATEFROMDATA
'Business Object : ZBAPIEMP
'Function Module : ZBAPI_EMP_GETLIST
Dim bapictrl As Object
Dim oconnection As Object
Dim boEmp As Object
Dim oZEmp_Header As Object
Dim oImpStruct As Object
Dim oExpStruct As Object
Dim oreturn As Object
Dim x As String
Private Sub Form_Load()
Set bapictrl = CreateObject("SAP.BAPI.1")
Set oconnection = bapictrl.Connection
oconnection.logon
Set boEmp = bapictrl.GetSAPObject("ZBAPIEMP")
Set oZEmp_Header = bapictrl.DimAs(boEmp, "CreateFromData", "EmployeeHeader")
Set oImpStruct = bapictrl.DimAs(boEmp, "GetList", "EmployeeDispStruct")
End Sub
Private Sub cmdSave_Click()
oZEmp_Header.Value("EMPNO") = txtEmpNo.Text
oZEmp_Header.Value("EMPNAME") = txtEmpName.Text
oZEmp_Header.Value("ADDR1") = txtAddr1.Text
oZEmp_Header.Value("ADDR2") = txtAddr2.Text
oZEmp_Header.Value("CITY") = txtCity.Text
oZEmp_Header.Value("PHONE") = txtPhone.Text
boEmp.CreateFromData EmployeeHeader:=oZEmp_Header, Return:=oreturn
x = oreturn.Value("Message")
If x = "" Then
MsgBox "Transaction Completed!..."
Else
MsgBox x
End If
End Sub
Private Sub cmdView_Click()
End Sub
COULD ANYBODY GUIDE ME, HOW TO RETRIEVE THE DATA FROM BAPI, FOR THE WRITTEN CODE.I didn't seen any other answers but here's how it's been done previously in our organization for a custom BAPI. In this example, we give material and language to return the part description. It's not specific to your project but may give you ideas..
-Tim
Option Compare Database
Dim SAPLOGIN As Boolean
Dim FunctionCtrl As Object
Dim SapConnection As Object
Sub SAPLOGOUT()
On Error GoTo LogoutFehler
SapConnection.logoff
SAPLOGIN = False
Exit Sub
LogoutFehler:
If Err.Number = 91 Then
Exit Sub
Else
MsgBox Err.Description, vbCritical, "Fehler-Nr." & CStr(Err.Number) & " bei SAP-Logout"
End If
End Sub
Function SAPLOG() As Boolean
'Verbindungsobjekt setzen (Property von FunctionCtrl)
Set FunctionCtrl = CreateObject("SAP.Functions")
Set SapConnection = FunctionCtrl.Connection
'Logon mit Initialwerten
SapConnection.Client = "010"
SapConnection.Language = "EN"
SapConnection.System = "PR1"
SapConnection.SystemNumber = "00"
'SapConnection.Password = ""
SapConnection.GroupName = "PR1"
SapConnection.HostName = "168.9.25.120"
SapConnection.MessageServer = "168.9.25.120"
If SapConnection.Logon(0, False) <> True Then 'Logon mit Dialog
Set SapConnection = Nothing
DoCmd.Hourglass False
MsgBox "No connection to SAP R/3 !"
SAPLOGIN = False
SAPLOG = False
Exit Function
End If
SAPLOG = True
End Function
Function MatDescr(MatNr As String)
Dim func1 As Object
Dim row As Object, X As Integer, ErsteNr As String
Dim DatensatzZähler As Long
Dim RowField(1 To 50, 0 To 1) As String, RowLine As Long
If Not SAPLOGIN Then
If Not SAPLOG() Then
MsgBox "No connection to SAP !", 16
SAPLOGOUT
Exit Function
End If
End If
' Instanziieren des Function-Objektes
Set func1 = FunctionCtrl.Add("Z_BAPI_READ_MAKT")
' Export-Paramter definieren
func1.exports("MATNR") = MatNr
func1.exports("SPRAS") = "EN"
DoEvents
If Not func1.call Then
If func1.exception <> "" Then
MsgBox "Communication Error with RFC " & func1.exception
End If
DoCmd.Hourglass False
SAPLOGOUT
Exit Function
Else
MatDescr = func1.imports("MAKTX")
End If
If MatDescr = "" Then
MatDescr = "PART NO. NOT FOUND"
End If
End Function -
How to measure voltage changes using a NI-9219 with strain gauges and use the data in labview
I am updating an old LabView/Data Acquisition system that uses strain gauges to measure two forces (normal and axial) as well as two moments (Pitch and Roll). I am having trouble reading the voltage changes over my strain gauges using my NI-9219 as well as filtering the data with both a lowpass and smoothing filter. The program attached has the project and should have all the sub-vi's used in the program. This program was written on LabView version 8.5 and is being updated to a 2013 version of LabView. Also, the hardware previously used was a combination of a NI SCB-68 and NI USB-6251. If anyone could help me it would be greatly appreciated!
Attachments:
New SSWT.zip 751 KBHi Coffeyfj,
Did you ever had this set up working? The first thing that I would do as I mentioned in the previous comment would be to use one of the LabVIEW examples. I recommended to you using the (strain - Continuous Input.vi). If you can read any voltage changes with the example vi, then we will know the problem we are having is in your code. If you cannot read any voltage changes using the example I mentioned, we can start trouble shooting the hardware connections. Are you connecting the excitation voltage? If yes, Are you making the right connections. Please refer to page 19 of the following document (half and full bridge modes)
NI 9219 Operating Instructions and Specifications - February 2009
http://digital.ni.com/manuals.nsf/websearch/4197ED4BD126E0B486257546005851CA
Regards,
William Fernandez
Applications Engineer
National Instruments -
Not able to get the Qualification data from BAPI
Hi all,
I am using a BAPI (BAPI_JOBREQUIRE_GETLIST) to get the qualifiaction data for requirement profile. It's working fine earlier but I did not get the qualification data from this BAPI, although the data is there in DB against this requirement profile.
Can someone suggest me why I am getting this issue. I have looked into SDN and in BAPI documentation and found as below:
"You require authorization (structural authorization) to read the Requirements subprofile."
I am having the same User ID as I had before (when I getting back the correct data), so I don't think it should be authorization issue.
Can someone help me out in this issue please.
Thanks,
Sanket SethiHi Shiva,
It does not going to these includes at all. Message comes out with successfully done. The BApi is calling RHPP_COMMON_QUALI_READ inside, but this will not return any data. But if will call any qualification object ID, this BAPI will come up with data.
So the QP type LO profile will not come up with any kind of data, but if we pass the OTYPE as Q and pass any Qualification object ID then the data will be returned.
Is there any relationship or some other thing is missing? Any idea.
Thanks,
Sanket Sethi -
Create a Purchase order using the BAPI using the data in the XML file.
Hello Gurus,
here is the scenario can anyone help me how to proceed explaining the procedure?
Create a Purchase order using the BAPI using the data in the XML file.
comprehensive explanations are appreciated.
thanks in advance.hi,
first use fm "bapi_po_create".
then use fm "BAPI_ACC_GL_POSTING_POST"
The demo environment was made with real business scenario in mind, but following subjects need to be addressed in a live implementation:
No exceptions and error handling is implemented, except the order rejection (e.g. partly delivery);
In Navision both XML Ports and the XML DOM has been used to integrate with SAP XI, because XML ports has some drawbacks regarding to Namespaces in XML Documents (mandatory in SAP XI);
A minimum of SAP and Navision customization is required to implement this solution. (e.g. user exit in SAP, Navision XML DOM). -
How to upload the data to 'abzu' transaction using bapi
Hi Experts ,
I need to upload the data to the (asset write up ) transaction 'abzu' and please help me inthis regard
i found some bapi's like below
BAPI_FIXEDASSET_CHANGE Changes an Asset
BAPI_FIXEDASSET_CREATE Creates an Asset
BAPI_FIXEDASSET_CREATE1 Creates an Asset
BAPI_FIXEDASSET_GETDETAIL Display Detailed Information on a Fixed Asset
BAPI_FIXEDASSET_GETLIST Information on Selected Assets
BAPI_FIXEDASSET_OVRTAKE_CREATE BAPI for Legacy Data Transfer
BAPI_FIXEDASSET_TEST BAPI for Legacy Data Transfer
i tried with this bapies but unable to do the transfer the data ,
please help me ,
which is the exactly suitable bapi for uploading the data to 'abzu' transaction
i apriciate you advanced ,
please give me the exactly solution for this ,
Regards.,Hi Experts ,
I need to upload the data to the (asset write up ) transaction 'abzu' and please help me inthis regard
i found some bapi's like below
BAPI_FIXEDASSET_CHANGE Changes an Asset
BAPI_FIXEDASSET_CREATE Creates an Asset
BAPI_FIXEDASSET_CREATE1 Creates an Asset
BAPI_FIXEDASSET_GETDETAIL Display Detailed Information on a Fixed Asset
BAPI_FIXEDASSET_GETLIST Information on Selected Assets
BAPI_FIXEDASSET_OVRTAKE_CREATE BAPI for Legacy Data Transfer
BAPI_FIXEDASSET_TEST BAPI for Legacy Data Transfer
i tried with this bapies but unable to do the transfer the data ,
please help me ,
which is the exactly suitable bapi for uploading the data to 'abzu' transaction
i apriciate you advanced ,
please give me the exactly solution for this ,
Regards., -
Filtering XML records while bursting - processing only a subset of the data
Hi
I'm attempting to filter the records in my XML data while bursting, so that depending on the value of a data element, the entire record is either skipped or included in the burst output.
I only want a subset of the XML output to be included in the burst output.
I've tried applying a filter at the select stage -
<xapi:request select="/AR_INVOICE/LIST_EMAIL_HEAD/EMAIL_HEAD{EMAIL_IND!=''}">
This removes all the records where 'EMAIL_IND' is not null - i.e. there is an email address to send to,
but instead of giving me multiple emails, one for each /AR_INVOICE/LIST_EMAIL_HEAD/EMAIL_HEAD,
I get just one mail address that contains all of the data for the records that have email addresses.
I also tried putting a filter on the template
<xapi:template type="rtf" locale="" location="xdo://AR.XXARINVEMAILDUMMY.en.00/?getSource=true" translation="" filter="{EMAIL_IND!=''}" />
i.e. having only one template and filtering as shown, but this has no effect.
Note: I had to change the square brackets - '[' to curly brackets '{' to get the examples to show.
Any ideas?
Thanks in advance.
MikeHi
I worked out a way to conditionally use ony a number of the data records in the bursting process - discarding the others.
In EBS, I generate a set of data in a a data-definition template that contains entries for some people who require email delivery, and some who require printed output.
In the concurrent programme, I specify an output rtf template that has a filter in it to print only the records for those who don't need emails.
(don't you just love the way that the designers call both the data definition and the output definition - TEPLATES - not confusing at all.....)
This step generates a sinlge sorted pdf file that is printed)
Then came the tricky part to send emails only to those who need them- using the bursting engine - to the other set of people - but to "cleanly" dispose of the records for the people who do not want emails.
What is not clear in any of the documentation at all is that the XMLPublisher bursting engine MUST handle ALL the records that it receives in the XML input.
If you specify a filter on the output template in the bursting control file, that excludes some records (those not needing the email) the bursting engine doesn't know what do with the remaining records.
Enter stage left - multiple delivery methods.
I simply defined another delivery method sample template with a filter including only those records for people who do NOT need emails - type filesystem - and routed the output to the /tmp directory - the trash.
The lesson(s) to be learnt
1) The bursting engine needs to have instructions to handle ALL the XML data that is fed to it.
2) You can define as many output documents and delivery methods as you like - putting filters on each delivery method as you like - BUT ALL XML RECORDS MUST be provided for.
3) XML records that are not required in one output / bursting stream can be handled in another - and trashed in the /tmp - or other - area.
The full bursting control file is shown below
1) First define the two delivery methods
2) Then define the two "documents" - using filters - using the two delivery methods.
Hope this helps others wanting to do similary things
Mike
<?xml version="1.0" encoding="UTF-8"?>
<xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
<xapi:request select="/AR_INVOICE/LIST_EMAIL_HEAD/EMAIL_HEAD">
----- Define the two delivery methods - first the "email"---------
<xapi:delivery>
<xapi:email server="10.1.1.2" port="25"
from="${EM_DOC_EMAIL_ADDRESS}" reply-to ="${EM_COLLECTOR_EMAIL_ADDRESS}">
<xapi:message id="email" to="[email protected]"
attachment="true" subject="${EM_OPERATING_UNIT} invoice for ${EM_CUSTOMER_NAME}">
Please review the attached invoice - terms are ${EM_TERMS}
This will be sent to collector email ${EM_COLLECTOR_EMAIL_ADDRESS} and customer email ${EM_DOC_EMAIL_ADDRESS}
</xapi:message>
</xapi:email>
------ Second - the "null" - type filesystem ----------------
<xapi:filesystem id="null" output="/tmp/xmlp_null_${EM_CUSTOMER_NAME}" />
</xapi:delivery>
------Then define the first document using the"email" delivery -------------
<xapi:document output-type="pdf" delivery="email">
<xapi:template type="rtf" locale=""
location="xdo://AR.XXARINVEMAILDUMMY.en.00/?getSource=true" translation="" filter=".//EMAIL_HEAD[EM_DOC_EMAIL_ADDRESS!='NO_EMAIL']">
</xapi:template>
</xapi:document>
------ Then define the other document using the "null" delivery --------------
<xapi:document output-type="pdf" delivery="null">
<xapi:template type="rtf" locale=""
location="xdo://AR.XXARINVEMAILDUMMY.en.00/?getSource=true" translation="" filter=".//EMAIL_HEAD[EM_DOC_EMAIL_ADDRESS='NO_EMAIL']">
</xapi:template>
</xapi:document>
</xapi:request>
</xapi:requestset>
Maybe you are looking for
-
I can perform a basic log in on iTunes. I can authorize my laptop. But when I click the Account link and re-enter my password, iTunes won't accept it. I tried to access my Account page on my friend's desktop -which wasn't even authorized- and I got i
-
How to find out How many rows and coloumn exists in the Excel sheet at run
hai gurus, iam uploading excel to application sever,. when i used gui_upload the data is non-readable. so.. i used alsm_excel_to_int fm .but the problem is user can upload any type of Excel to Application so i need to know the total no of ro
-
Not fair, not fair! It's not fair!
Mark (Finnern) !!!!! - You've scheduled my session in the same slot as Ed's. But I'm going to Ed's!!! Anyone who's not going either thinks he/she knows more than Ed (doubtful) or is from the "dark side" (Java-side). So I guess I won't be giving my se
-
Hi, You can visit http://brandy.pararuk.com and see just 15 flying comets animated with KineticJS library. When I run it (viewing Windows Task Manager) I see that firefox.exe consumes 100Mb of memory every second up to full avaliable memory and hangs
-
OS 10.6 on mac mini 2.1 (2009 model)
I have an installation disc for OSX v.10.6 (snow leopard) made specifically, as it says on the disc itself, for the mac mini. Currently, I have OSX v.10.5.8, a 2GHz Intel Core 2 Duo processor, 2 GB 667 MHz DDR2 SDRAM memory. I have more than enough s