cancel
Showing results for 
Search instead for 
Did you mean: 

shide some search criteria in Shopping Cart Status

matthias_kasig2
Participant
0 Kudos

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

Accepted Solutions (0)

Answers (5)

Answers (5)

matthias_kasig2
Participant
0 Kudos

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

Former Member
0 Kudos

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

matthias_kasig2
Participant
0 Kudos

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

Former Member
0 Kudos

Hi

Yes it is possible. What all fields have you made invisible in the Screen variant ?

Please update.

Please reward suitable points, incase it suits your requirements.

Regards

- Atul

matthias_kasig2
Participant
0 Kudos

Hi Atul,

so far I have set fields:

GV_TEXT_ITEM_NAME

GS_SEARCH_FIELD-ITEM

to invisible.

How do I go on from here?

thanx for more help, matthias

Former Member
0 Kudos

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

matthias_kasig2
Participant
0 Kudos

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

Former Member
0 Kudos

Hi

<u>The screen number to be used here is <b>4001</b>

The program name to be used here is <b>SAPLBBP_PDH_SEARCH</b>

The standard variant to be used here is <b>BBP_SEARCH_SC</b></u>

Hope this will help.

Please reward suitable points, incase it suits your requirements.

Regards

- Atul

matthias_kasig2
Participant
0 Kudos

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

Former Member
0 Kudos

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

matthias_kasig2
Participant
0 Kudos

Hi,

seems you're in a rush - ok - yes as per my last message I have created a test Zscreenvariant.

But when based on program SAPLBBP_PDH_SEARCH dynpro 4001 and not on SAPLBBP_PDH_SEARCH dynpro 1000, I can't access the desired fields...

seems I need to go for a modification...

regards, matthias

Former Member
0 Kudos

Hi

Yes, incase the fields are not visible in BBPSC04 screen, then yes go for modifications.

But I don't know why you created the copy of 100 screen ?

I am still thinking of any other alternatives.

Regards

- Atul

matthias_kasig2
Participant
0 Kudos

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

Former Member
0 Kudos

Hi

I am not sure. But i have managed to complete a similar requirement earlier, long time back.

I will keep you posted once i get further details.

Regards

- Atul

Former Member
0 Kudos

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

Former Member
0 Kudos

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

matthias_kasig2
Participant
0 Kudos

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

Former Member
0 Kudos

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