on 03-01-2007 4:40 PM
Hi SDN,
we are on SRM 5.0, WAS 700.
On the page Shopping Cart Status we want to hide search criteria like "Item Description".
For this task I had a look at template SAPLBBP_PDH_SEARCH 1000. It contains the correct fields.
For Example:
<input type="text" id="`fieldname`" name="GS_SEARCH_FIELD-ITEM_NAME" value="`MaskSpecialChar(GS_SEARCH_FIELD-ITEM_NAME.value)`" maxlength="040" size="020">
Even if I put html-comments <!-- --> around it, the input field remains on the webpage...
I also tried an enhancement in the appropriate dynpro, which is
1000 in function group BBP_PDH_SEARCH.
Here in PBO MODULE screen_1000_modify I activated the enhancement for the form screen_1000_modify like this:
loop at screen.
if screen-name = 'GS_SEARCH_FIELD-DESKTOP_FUNCTION'
or screen-name = 'GS_SEARCH_FIELD-CATEGORY_GUID'
or screen-name = 'GS_SEARCH_FIELD-REF_OBJECT_ID'
or screen-name = 'GS_SEARCH_FIELD-ITEM_NAME'.
clear: screen-INPUT,
screen-OUTPUT,
screen-ACTIVE.
screen-INVISIBLE = 1.
modify screen.
endif.
endloop.
Even though I see in the debugger, that the program does the loop, still the fields remain on the webpage.
what else can I check?
kind regards, matthias
Modification in include:
LBBP_PDH_SEARCHF12
in form internet_display_to_web:
FORM internet_display_to_web .
DATA: lv_index TYPE i,
ls_sel_search_field_control TYPE bbps_sel_search_field_control.
CLEAR lv_index.
SORT gt_sel_search_field_control BY internet_display.
LOOP AT gt_sel_search_field_control INTO ls_sel_search_field_control
WHERE display_flag EQ gc_yes AND
*{ REPLACE EBTK901193 1
*\ internet_display NE space.
internet_display NE space AND
Rolle weg
FIELD_NAME NE 'DESKTOP_FUNCTION' AND
Nummer der Bestellung weg
FIELD_NAME NE 'REF_OBJECT_ID'.
Produktkategorie weg
FIELD_NAME NE 'CATEGORY' AND
FIELD_NAME NE 'CATEGORY_GUID'.
*} REPLACE
ADD 1 TO lv_index.
field-set 'SELECT_FIELDS-NAME' lv_index
ls_sel_search_field_control-field_name.
field-set 'SELECT_FIELDS-SORT' lv_index
ls_sel_search_field_control-internet_display.
ENDLOOP.
ENDFORM. " internet_display_to_web
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
<b>Using transaction SHD0 in SRM system, you can afind all the available screen variants available.</b>
There are only 2 screen variants available with the Internet Service - BBPSC01 are
Variant Short text Program ScNo
BBP_SC Shopping Cart Item Overview SAPLBBP_SC_UI_ITS 0120
BBP_SC_SERVICE SAPLBBP_SC_UI_ITS 0120
-
BBPSC01 - Internet Service
-
Screen Description
-
120 Item Overview
300 Shopping Cart Item: Basic Data
<u>BBP_SCREENVARIANT BADI is applicable for the Standard screen variant 0120 which is provided in SHD0 Transaction by default.
See BADI Documenttaion in SE18 Transaction.</u>
<b>Incase you want some thing else, which this BADI cannot handle, then we have to go for Modification of the Internet Service - BBPSC01 using transaction SE80 for the Template 300 in this case.</b>
Let me know your views.
Hope this will help.
Please reward suitable points.
Regards
- Atul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Atul,
thanks for your help. I already reset my changes to the html templates and also to the enhacements of dynpro 1000 of function group: bbp_pdh_search and had a look at the screenvariants.
I am trying TA SHD0. I entred Transaction Code BBPSC04 (Shopping Cart Status)
It seems that none of the BADI variants apply to my problem. I need to change the search input fields.
I tried the predelivered screen_variant bbp_search_sc and bbp_sc.
The fields, which I need to hide can't be accessed here...
Can you check, if you think it is possible to hide eg field: Item Description of page Shopping Cart Status? and if so, how do you do it? It is the first field of the search criteria...
IN SHD0 I tried to enter Transactioncode BBPSC04. Program SAPLBBP_PDH_SEARCH
Dynpro 1000
Then I can access eg the field SAPLBBP_PDH_SEARCH, which is the input-field for Item Description in the search criteria, which is field: GS_SEARCH_FIELD-ITEM_NAME
But then again, I am not using a predelivered screenvariant, and I assume, I can't use my own screenvariant in the BADI. Correct me if I am wrong, please.
kind regards, matthias
Hi
<b>Please try making the following fields invisible for the custom screen variant created in BBPSC04 Transaction, using SHD0 Transaction.</b>
GS_SCR_ITMOVR_H-DESC
GS_SCR_ITMOVR_H-OBJE
GS_SCR_ITMOVR_H-SUBT
GS_SCR_ITMOVR-LINES_
GS_SCR_ITMOVR_H-PROC
GS_SCR_ITMOVR_H-TOTA
GS_SCR_ITMOVR_H-TOTA
GS_SCR_ITMOVR_H-LINE
Hope this will help.
Please reward suitable points, incase it suits your requirements.
Regards
- Atul
Hi Atul,
I can't find the fields you mention.
I set up in SHD0 a screenvariant with the name:
ZSEARCH_STATUS_01.
It is for program:
SAPLBBP_PDH_SEARCH
Dynpro: 1000
I can access the following fields there:
GV_SUBSCR_TITLE
GV_CRIT_MULTISEL
Mehrfachselektion (Drucktaste)
Wählen Sie aus
GV_ACTION
Start (Drucktaste)
Suche im Archiv (Drucktaste)
GV_TEXT_SC_NAME
GS_SEARCH_FIELD-SC_N
GV_ADDITIONAL_CRITER
GV_EXTENDED_CRITERIA
GV_TEXT_ITEM_NAME
GS_SEARCH_FIELD-ITEM
GV_TEXT_SELECTION_DA
GS_SEARCH_FIELD-SELE
GV_SELECTION_DATE_DE
GS_SEARCH_FIELD-CREA
GS_SEARCH_FIELD-CREA
GV_TEXT_PRODUCT
GV_SEARCH_FIELD_PROD
GS_SEARCH_FIELD-PROD
GV_TEXT_CATEGORY
GS_SEARCH_FIELD-CATE
GS_SEARCH_FIELD-CATE
GV_CATEGORY_TEXT
GV_TEXT_CTR_HDR_NUMB
GS_SEARCH_FIELD-CTR_
GS_SEARCH_FIELD-CTR_
GV_TEXT_OBJECT_ID
GV_SEARCH_FIELD_OBJE
GV_TEXT_OBJECT_NAME
GS_SEARCH_FIELD-OBJE
GV_TEXT_REF_OBJECT_I
GS_SEARCH_FIELD-REF_
GV_TEXT_REF_OBJECT_N
GS_SEARCH_FIELD-REF_
GV_TEXT_VENDOR
GS_SEARCH_FIELD-VEND
GV_VENDOR_NAME
GS_SEARCH_FIELD-VEND
GV_TEXT_REQUESTOR
GS_SEARCH_FIELD-REQU
GV_REQUESTOR_NAME
GS_SEARCH_FIELD-REQU
GV_TEXT_RECIPIENT
GS_SEARCH_FIELD-RECI
GV_RECIPIENT_NAME
GS_SEARCH_FIELD-RECI
GV_TEXT_DESVENDOR
GS_SEARCH_FIELD-DESV
GV_DESVENDOR_NAME
GS_SEARCH_FIELD-DESV
GV_TEXT_LOCATION
GS_SEARCH_FIELD-LOCA
GV_LOCATION_NAME
GS_SEARCH_FIELD-LOCA
GV_TEXT_BILLFROM
GS_SEARCH_FIELD-BILL
GV_BILLFROM_NAME
GS_SEARCH_FIELD-BILL
GV_TEXT_DESKTOP_FUNC
GS_SEARCH_FIELD-DESK
GV_TEXT_REF_DOC_NO
GV_SEARCH_FIELD_REF_
GV_TEXT_STATUS
GS_SEARCH_FIELD-STAT
GV_TEXT_SUBTYPE
GS_SEARCH_FIELD-SUBT
GV_TEXT_PARTNER_PROD
GS_SEARCH_FIELD-PART
GV_TEXT_LOGICAL_SYST
GS_SEARCH_FIELD-LOGI
GV_TEXT_EXT_DEMID
GS_SEARCH_FIELD-EXT_
GV_TEXT_PURCH_GRP
GV_SEARCH_FIELD_PURC
GV_TEXT_PURCH_ORG
GV_SEARCH_FIELD_PURC
GV_TEXT_DEADLINE_DAT
GS_SEARCH_FIELD-DEAD
GV_DEADLINE_DATE_DES
GV_TEXT_START_DATE
GS_SEARCH_FIELD-STAR
GV_START_DATE_DESCR
GV_TEXT_ACC_CAT
GS_SEARCH_FIELD-ACC_
GV_TEXT_ACC_STR
GS_SEARCH_FIELD-ACC_
GV_TEXT_DELIVERY_DAT
GS_SEARCH_FIELD-DELI
GV_TEXT_DELIVERY_DAT
GS_SEARCH_FIELD-DELI
GV_TEXT_COMPANY
GV_SEARCH_FIELD_COMP
GV_TEXT_SUBSTITUTE
GS_SEARCH_FIELD-SUBS
GV_TEXT_WITH_CLOSED
GS_SEARCH_FIELD-WITH
GV_TEXT_STATUS_MIXED
GS_SEARCH_FIELD-STAT
GV_STATUS_MIXED_DESC
GV_TEXT_INCOMPLETE
GS_SEARCH_FIELD-INCO
GV_TEXT_TEMPLATE_ONL
GS_SEARCH_FIELD-TEMP
GV_TEXT_TREX
GS_SEARCH_FIELD-TREX
GV_TEXT_PROCESS_TYPE
GS_SEARCH_FIELD-PROC
GV_TEXT_BIDDER_GUID
GS_SEARCH_FIELD-BIDD
GV_TEXT_CONTACT_GUID
GS_SEARCH_FIELD-CONT
GV_TEXT_CREATOR
GS_SEARCH_FIELD-CREA
GV_TEXT_WITH_VERSION
GS_SEARCH_FIELD-WITH
GV_TEXT_MY_COMPANY
GS_SEARCH_FIELD-MY_C
GV_TEXT_CONTRACT_HIE
GS_SEARCH_FIELD-CONT
GV_TEXT_WITH_HIERARC
GS_SEARCH_FIELD-WITH
GV_TEXT_EXCEPTION_ST
GS_SEARCH_FIELD-EXCE
GV_TEXT_PROCESSED_BY
GS_SEARCH_FIELD-PROC
GV_TEXT_GROSS_AMOUNT
GV_TEXT_POSTING_DATE
GS_SEARCH_FIELD-POST
GV_TEXT_POSTING_DATE
GS_SEARCH_FIELD-POST
but not the fields you talk about. Still I do not know how to use my screenvariant ZSEARCH_STATUS_01 for the web-display...
kind regards, matthias
Hi Atul,
just for testing purpose I implemented the BADI with a copy of bbp_search_sc screenvariant, like u said for screen 4001. Debugging I can see that my z-variant is valid.
I implemented this:
METHOD if_ex_bbp_screenvariant~get_screenvariant_search.
IF sy-uname = 'KASIGMAT'.
ev_scvariant = 'ZBBP_SEARCH_SC'.
ENDIF.
ENDMETHOD.
ok - but still I don't know how to access, the fields I want to hide, which are Item description and role eg.
If I eg hide status, I can see, that in the found Shopping Carts the status disappears. But I want to manipulate the search criteria... like technical names:
GS_SEARCH_FIELD-ITEM_NAME (Description)or
GS_SEARCH_FIELD-DESKTOP_FUNCTION (role)
maybe we almost got it...
kind regards, matthias
Hi
<u>For the BADI - BBP_SCREENVARIANT, you need to create a Z Implementation
and inside the method,
Method GET_SCREENVARIANT_SEARCH
you need to do the releavnt code.
Method GET_SCREENVARIANT_SEARCH
-> Item overview for creating/displaying/processing/status of a shopping cart: Screen variant BBP_SC</u>
<b><u>I hope you must have created the Screen variant 'Zvariant' by now.</u></b>
<b>Here is the code.</b>
Method IF_EX_BBP_SCREENVARIANT~GET_SCREENVARIANT_SC.
IF iv_progname EQ 'SAPLBBP_PDH_SEARCH'
AND iv_dynnr EQ '4100'
AND flt_val EQ 'BUS2121'.
IF iv_scvariant EQ 'BBP_SEARCH_SC'.
ev_scvariant = 'Zvariant'. <<-- your custom variant name here
ENDIF.
ENDIF.
ENDMETHOD.
Note -> See BADI Documenttaion in SE18 Transaction.
Incase you want some thing else, which this BADI cannot handle, then we have to go for Modification of the Internet Service - BBPSC01 using transaction SE80.
Hope this will help.
Please reward suitable points, incase it suits your requirements.
Regards
- Atul
Hi Atul,
I created a zvariant for screen 4001 like you said - also in the debugger I can see that sy-dynnr is 4001. But the fields I'd like to hide are located on "subscreen" 1000 (not 100 by the way). In the variant for 4001 I can't access the fields for the search criteria Item descriton and role...
that is why I was aiming at 1000...
kind regards, matthias
Hi
I recommend you to avoid HTML Template changes.
Please use the BADI - BBP_SCREEN_VARIANT using SE18 Transaction.
*----
*
Read the documentation of the BADI - BBP_SCREENVARIANT in transaction SE18.
Here is the documenattion.
BBP_SCREENVARIANT
____________________________________________________
Short Text
Determine Screen Variants
Use
In this BAdI you can change the screen variant that controls the display of the item overviews and search results. As default, the following screen variants are called up:
· Item data overview in the invoice without purchase order reference: Screen variant BBP_IV_NON_PO
Method GET_SCREENVARIANT_INV
· Item data overview in the invoice with purchase order reference: Screen variant BBP_IV
Method GET_SCREENVARIANT_INV
· Item data overview in the confirmation: Screen variant BBP_CF
Method GET_SCREENVARIANT_CONF
· Item data overview in the confirmation for time recording: Screen variant BBP_CF_TIMEREC
Method GET_SCREENVARIANT_CONF
· Item data overview in the purchase order: Screen variant BBP_PO
Method GET_SCREENVARIANT_PO
· Item overview for contracts: Screen variant BBP_CTR_ITEMLIST
Method GET_SCREENVARIANT_CTR
· Item overview for contract selection: Screen variant BBP_CTR_ITEM_SELLIST
Method GET_SCREENVARIANT_CTR
· Search results for creating an invoice and/or confirmation: Screen variant BBP_SEARCH_PO
Method GET_SCREENVARIANT_SEARCH
· Search results for creating a purchase order: Screen variant BBP_SEARCH_SC
Method GET_SCREENVARIANT_SEARCH
· Search results for displaying/changing an invoice: Screen variant BBP_CHANGE_IV
Method GET_SCREENVARIANT_SEARCH
· Search results for displaying/changing a confirmation: Screen variant BBP_CHANGE_CF
Method GET_SCREENVARIANT_SEARCH
· Item overview for creating/displaying/processing/status of a shopping cart: Screen variant BBP_SC
Method GET_SCREENVARIANT_SC
· Worklist for Sourcing: Screen variant BBP_SOCO_WL
Method GET_SCREENVARIANT_SOCO
· Work area in Sourcing: Screen variant BBP_SOCO_GA
Method GET_SCREENVARIANT_SOCO
Activities
If you wish to hide or show fields, proceed as follows:
1. Determine the screen variant, for example, BBP_IV, using the list above.
2. Copy this screen variant, for example, in ZZ_BBP_IV_1, in Transaction SHD0.
3. Change the new screen variant as required. Note that you can only change the display properties for fields of table controls. You can switch the display on and off (column Invisible in Transaction SHD0). You can recognize the fields of a table control because they have a 1 on the right side of the first column. In addition, the heading for this area contains (Table CTRL.
4. Implement the appropriate method (see the list above). Fill the export parameter EV_SCVARIANT with the new screen variant.
You can create multiple screen variants for a screen and then select these in the BAdI depending on the user or on other criteria.
Incase, you still need any other clues, let me know.
Hope this will help.
Please reward suitable points.
Regards
- Atul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
SAP never recommends for HTML Template changes using SE80 Transaction.
Avoid HTML templates, if possible.
Please undo the changes in HTML Template.
I recommend you go for Screen variants. We have done a similar requirement in our previous SRM Implementation.
Anyways, I can share the code details with you.
Hope this will help.
Please reward full points, incase it suits your requirements.
Regards
- Atul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
ok - I can hide input fields now.
I did an html comment around:
but I have to exclude the
`elseif(fieldname == "GS_SEARCH_FIELD-ITEM_NAME");`
part. Then the input field disappears.
But now the label, like: Item Description remains and is wrapped in this piece of code:
`if(j == 4 || GV_ADDITIONAL_CRITERIA.value == "X" || SELECT_FIELDS-NAME.dim < 4);
if(numberOfFields == 4 || j == SELECT_FIELDS-NAME.dim);
TR();
repeat with k from 1 to numberOfFields;
TD(class="label",nowrap="X");
fieldlabel = fieldlabelTab[k];
fieldname = fieldnameTab[k];
if(fieldname == "GS_SEARCH_FIELD-CATEGORY");
fieldname = "GS_SEARCH_FIELD-CATEGORY_GUID" ;
end; `
<label for="`fieldname`">
`if(^fieldlabel.label != "");
^fieldlabel.label;
elseif(^fieldlabel.value != "");
^fieldlabel.value;
else;
fieldlabel;
end;`
</label>
`TD(class="space");`
`end;
TR();
There are 4 Fileds and 4 labels - if I remove the input field, the Label remains. In the html business loop there is this:
numberOfFields == 4
can't I somehow ask for the value of the ^fieldlabel.label != "" ???
thanx 4 help,
matthias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
<b>Create a screen variant using transaction - SHD0 and then disable the Item description field from display there.</b>
<u>Please create a Screen variant 'Zvariant'.</u>
Here is the BADI Implementation code.
Method IF_EX_BBP_SCREENVARIANT~GET_SCREENVARIANT_SC.
IF iv_progname EQ 'SAPLBBP_SC_UI_ITS'
AND iv_dynnr EQ '0120'
AND flt_val EQ c_fltval.
IF iv_scvariant EQ 'BBP_SC'.
ev_scvariant = 'Zvariant'.
ENDIF.
ENDIF.
ENDMETHOD.
Hope this will help.
Please reward suitable points.
Regards
- Atul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.