Header & Detail Screens

Dear Friends,
I have developed two dialog-screens:one for header information & another one for the detail part.
After filling the Header Screen the screen navigates to the Detail Screen. After filling the Detail Screen I navigates back to the Header screen to finally save the transaction.
My requirement is that unless I fill-in some specific fields in the detail screen, I shouldn't be able to save the transaction on the header screen.
Any clue how to go about it?
Regards,
Alok.

Hi,
you select mandatory in the attributes of the field in the header screen.
or you check in your program saying
if fld1ne ' '.
save
endif.
Thanks

Similar Messages

  • Use of revision no,revision date field in bom header details screen

    Hi all,
    Please let me know use of revision no,revision date field(customer fields tab) in bom header details screen.I tried with F1 ,no information.
    Thanks
    Sukumar

    Dear,
    In standard SAP in BOM header overview there are 4 tabs.
    Quants/Long text.
    Further Data
    Admin Data
    Doc Assignment.
    I think Customer fields tab may be customized based on client's requirement.
    I Know about revision level. It Identifies the change status of a material.
    The revision level can be uniquely assigned to changes made using a change number.
    Hope this helps. Correct me if i my understanding of the problem is  wrong.
    Thanks and Regds
    Sridhara K N

  • Total column not changed between header & detailed screen

    I have a report with header data contains contracts information and detailed data contains orders, debit credit memo related to the contracts.  I write the report using CL_SALV_TABLE to display  contract value, usage  in full ALV_GRID. When I double click on a contract line, it will go to the second screen to show all orders related to that contract.  The second screen with orders information will be in a screen on a container with all standard function ( Export list to Excel, Word format etc..), sort, total and sub total) and a push button to go back to first screen.
      The report works fine but when I am on the second screen, I total and sub total the amount on that screen in order to check with total value in header record and it total up correctly by currency.
    But when I go back to the first screen, select a different contract record,  double click on the line to get to the order info screen,  all order data display correctly except that the total column still show amount from the previous detailed screen.  If I select the column again and click the total, it will total correctly.   I did refresh the data in the screen before go back to first screen but it does not solve the problem.
    DOES ANYONE HAVE A SIMILAR SYMPTON LIKE THIS? 
    Thanks for your advice.
    On the order detailed screen, I create a container with screen 100 and write PAI, PBO like this:
    Screen 100:
    process before output.
      module status_0100.
      module load_data_to_control.   "Load usage data to screen
    process after input.
    module user_command_0100.
    module status_0100 output.
      set pf-status 'PF100'.
      set titlebar 'T100'.
    endmodule.  
    module load_data_to_control output.
      if gr_cont is not bound.
        create object gr_cont
          exporting
            container_name = 'CONTAINER_100'
          exceptions
            others         = 1.
        if  sy-subrc <> 0.
          message a052(zvn) with
          ' No container object found'.
        endif.
        try.
            cl_salv_table=>factory(
            exporting
         list_display   = list_display
              r_container = gr_cont
          container_name =
            importing
              r_salv_table = gr_alv_2
            changing
              t_table = gt_orders
          catch cx_salv_msg into gr_error.
        endtry.
        perform set_functions.        " Set all standard function in screen 100
        perform set_column_order using gr_alv_2.       "Set column format, display
        perform handle_events.                       "Register events for selection mode & user commands
         Display order screen 0100
        gr_alv_2->display( ).
      else.
        gr_alv_2->refresh( ).
    endif.
    module user_command_0100 input.
      data: wa_d type gt_dtab,
            ls_contract type vbeln,
            ls_order    type vbeln,
            ls_invoice  type vbeln,
            ls_belnr type belnr_d,
            ls_row   type char10.
      data: l_text type char128.
        case  sy-ucomm.
        when 'RETURN' or 'BACK' or 'EXIT' or 'CANCEL'.
    *... refresh the table in order to see the new data
          gr_alv_2->refresh( ).
          leave to screen 0.
        when others.
      endcase.
    endmodule.                 " USER_COMMAND_0100  INPUT

    Hi ,
    When you are using the CL_SALV_TABLE, what is the use of screen 100. Better populate the evnts table in CL_SALV_TABLE
    Cheers
    Pavan

  • Refreshing Header & Detail part in Screen

    Dear Friends,
    I've been facing the following two problems in the diaog program that I am developing:
    In my screen I have header & detail portions. The header part contains fields e.g. contract no., transporter code, Date effective from, Date effective upto etc. that I pick up from transparent tables. To display the detail part I am using a table control that gets populated from internal table. Now when I save, the data gets saved successfully (both header & detail) and subsequently I am clearing the screen also but still I am not able to enter a  new entry.There is no alternative other than to come out of the program & executing it once again.
    Further if I change any entry in the header part (containing only fields) and save that updation doesn't get saved  i.e.next time also it shows the previous values while in the detail part (table-control) the updation gets saved.
    Waiting for your invaluable inputs..
    Regards,
    Alok.

    Hi Alok,
    Seems in your program.. After change in details part... while saving the modules written in PBO are retriving old values.
    Please put some flag in PBO which will control it's execution. Ie. at 1st time when u fetch the data. It will set as "X' then for every next time when u change data in details... It will not fetch data. It will accept your own data in header.
    Darshan

  • Screen variants for Header details info

    Hello Experts,
    I have a requirement to use Screen variants for the header related details to default values in FB50 and use Account assignment template for line item related details.
    We can create the screen variants in FB50 by right click on "screen variants for item" folder and select Create Screen variants in Screen variants. Even if i follow the alternate path to create screen variants in SHD0, and add it in the Tree of FB50, i still am not able to get the header details after choosing the created screen variant.
    Can someone help me to achieve defaulting the header information in FB50 using screen variant and tell me how can we use account assignment template after defaulting the header data?
    Thanks,
    Sindhu
    Edited by: SindhuSSwamy on Dec 22, 2009 2:55 AM

    Hi Bill,
    Yes, There are ways to disable these links. Since, You are in SRM40 (Think There is SRM40/EBP(SRM Server 50)only), you should be able to use BADU BBP_SC_MODIFY_UI to hide them which is simple.
    Regarding Ship-to/Performance Location, Use Doc Change BADI to read storage location address and pass it onto Ship-to/Performance Location. We have done many times in the past.
    SAP standard screen variants for the Shopping view is very limited. But, you can develop you own screen variants in SHDO and use Screen Variant BADI to trigger your customs.  We had used this and is pretty good. No hassle of HTML changes / maintaining them every upgrade. 
    Thanks,
    Jay

  • Adding new fields in Item details screen in VA01 tcode

    Hi all,
    My requirement is to add custom fields in 'Additional Data B' tab of VA01 transaction.
    That is, after entering the material and quantity, if i double click tat material, it goes to item details screen. In taht, 'Additional data B' tab is there with no fields.
    Now i want to add fields in that.. Is it possible?
    Is there any exit for adding custom fields under that tab?
    Pls tell me the procedure..
    Regards,
    Shanthi

    The process for Additional Data B, whether header or item level, is simple... 
    First, add the data elements to VBAK (header) or VBAP (item), in a customizing append.  The accepted practice is to name your fields beginning ZZ, with the appropriate or custom data element/domain.
    Then on Additional Data B screens, already named in this thread, create whatever is needed.  For instance, you might want to add a subscreen that contains a group of fields with the DDIC-specific captions.
    If you simply need a field, you can place the field (like VBAK-ZZMYFIELD).   SAP will then manage updates to the database for you....no need to do anything to see that the data gets copied into the tables.
    In one instance, I saw a pushbutton added that resulted in calls to screens with table controls, etc., essentially an entire subsystem called by pressing that button....

  • In BDC VA02 i am uploading header details in BILLING PLAN tab.

    Hi Friends,
    In BDC VA02 i am uploading header details in BILLING PLAN tab.
    I am having sales order no in flat file.
    While i am clicking BILLING PLAN tab its showing 1 POPUP screen for Milestobe For billing plan (INPUT AS NETWORK NO).
    Some sales order nos this popup is not coming.
    How to code this bdc?

    CLOSED

  • Operation number not holding in Operation details screen for WM6.2

    Hi Experts,
    I have added custom statuses to operation object in WM6.2. When I am editing the operation,Operation number is displaying in operation details screen header.But when trying to execute custom statuses, the operation number is not holding in Operation tile view header as in the below screen snap.
    Thanks in advance.Kindly suggest.
    Thanks & Regards,
    Sravanthi Polu

    Hi sravanthi,
    Just make sure that when you are editing operation object for custom statuses change you are editing same object that you are seeing in operation details screen.
    I think this problem is due to different/stale operation object that is being edited for when you are calling Operation Edit Transaction for change status for (custom statuses).
    I recommend to check your Target for Button , Action and Edit Transaction for this (is it same operation object that is being seen on detail screen/being edited for).
    Regards,
    AK

  • Metadata property as Details Property in Details Screen

    Hi,
    is there any way (java class) to display a metadata property as a details property in a details screen (I think the default details area is overview_description).
    Thanks in advance.
    Regards
    Ray

    Hi,
    you can create a class that extends AbstractResourceDetailsProperties and renders a metadata property, similiar to the standard ModifiedDetailsProperty, for example, that renders the Modified Property.
    For example if I have a property named Customer I would create a class called CustomerDetailsProperty something like this:
    public class CustomerDetailsProperty extends AbstractResourceDetailsProperties {
         public CustomerDetailsProperty() {
         public boolean isPropertyAvailable(IResource resource) {
              com.sapportals.wcm.repository.IProperty tempProperty = null;
              try {
                   if (getPropertyName() != null)
                        tempProperty = resource.getProperty(getPropertyName());
              } catch (ResourceException rEx) {
                   log.errorT("Could not check property availability for resource < "
                             + resource
                             + " > "
                             + LoggingFormatter.extractCallstack(rEx));
                   return false;
              return tempProperty != null;
         public Component renderDetailsProperty(IResource resource) {
              try {
                   com.sapportals.wcm.repository.IProperty customerProp = null;
                   com.sapportals.wcm.repository.IProperty tempProperty = null;
                   if (getPropertyName() != null) {
                        tempProperty = resource.getProperty(getPropertyName());
                        customerProp =     resource.getProperty(PropertyName.getPN("http://sapportals.com/xmlns/cm", "Customer"));
                   if (tempProperty != null) {
                        String header =     getPropertyLabel(tempProperty, resource.getContext());
                        GridLayout grid = new GridLayout();
                        grid.addComponent(1, 1,     renderShortDateProperty(tempProperty, resource));
                        if (customerProp != null) {
                             Component customer = PropertyRenderUtil.renderProperty(customerProp , resource,     0);
                             Link userLink = null;
                             if (customer instanceof Link) {
                                  userLink = (Link) customer;
                                  userLink.setLinkDesign(LinkDesign.RESULT);
                                  grid.addComponent(2, 1, userLink);
                                  grid.getCell(2, 1).setWidth(";padding-bottom:3px;");
                             } else {
                                  grid.addComponent(2, 1, customer);
                                  grid.getCell(2, 1).setWidth(";padding-bottom:3px;");
                        return render(header, grid);
                   } else {
                        return null;
              } catch (WcmException wcmEx) {
                   log.errorT(
                        "Could not render lock property for resource < "
                             + resource
                             + " > "
                             + LoggingFormatter.extractCallstack(wcmEx));
              return null;
         public IResourceDetailsProperty getNewInstance(int priority) {
              CustomerDetailsProperty detailsProperty = new CustomerDetailsProperty();
              detailsProperty.setPriority(priority);
              return detailsProperty;
         public IPropertyName getPropertyName() {
              try {
                   return PropertyName.getPN("http://sapportals.com/xmlns/cm", "Customer");
              } catch (ResourceException e) {
                   e.printStackTrace();
                   return null;
         static Class _mthclass$(String x0) {
              try {
                   return Class.forName(x0);
              } catch (ClassNotFoundException x1) {
                   throw new NoClassDefFoundError(x1.getMessage());
         private static Location log =
              Location.getLocation((com.mycompny.CustomerDetailsProperty.class).getName());
    Best regards,
    Avishai Zamir

  • Regarding Updating Shipment Header Details in VT02N tcode

    Hi all,
    I have created a dialog program, inwhich iam populating shipment related details.
    1st Screen: Selection screen fields:
    billing Doc
    Billing date
    2nd Screen: Based on Billing Document number and date, i have to fetch Shipment details using Table Control like:
    shipment number,        Output only
    Forwarding Agent,      input/Output both -
    editable
    Shipment start Date,    input/Output both -
    editable
    Container id.                input/Output both -
    editable
    and i have created a button as "Update VT02N" on second screen.
    When we choose Columns in table control and click on "Update VT02N", then it should trigger VT02N transaction and update the shipment details with following fields:
    1. Forwarding agent
    2. Container id
    3. Shipment start Date.
    So i waht to know any BAPI available to update Shipment Header details in VT02N tcode.
    I have tried: BAPI_SHIPMENT_CHANGE -
    NOT WORKING PROPERLY.
                        SD_SHIPMENT_SAVE -
    NOT  WORKING.
    IF ANY BODY HAS SOME SOLUTION, PL SUGGEST WITH STEPS.
    HELPFUL ANSWERS -
    BETTER POINTS...
    Regards,
    Vamsy

    Hi,
    Have you called the BAPI_TRANSACTION_COMMIT after executing BAPI_SHIPMENT_CHANGE , even then if it is not working
    you can check the FM  SD_SHIPMENT_HEADER_CHANGE.
    Thanks.

  • Strategy for implementing drpdownlistbykey in header / detail relationship

    Quite often I have header details relationships that I want to display.  The volumes of data are typically small, so rather than make multiple trips to the database I choose to load all the data into context during the init routine.  Implementing an efficient way to dispay this data and keep the header details relationship syncronized on the screen is where I am looking for suggestions.
    A good example would be selecting a user from a list and displaying details of that user in a series of text views.
    Currently to implement this, I load all the user detail into separate elements within a node. Simultaniously I load a value set with key information which is then used by a drop down list.   A series of text views are bound to attributes in the context outside the detail node.  These attributes contain the currently selected user detail information.  When a user is selected from the drop down list, the select event fires, and a search is performed of all the detail node elements for that key.  Once found, the user detail information is copied from the appropriate element to the corresponding 'current value' attributes.
    This process seems a bit cumbersome to me.  I am wondering if there are more efficient ways to manage this routine scenario.  Possibly there is a way of binding the text views directly to the attributes in the detail node and switching the element that is currently displayed?  I am just not aware of any way to do that.
    Any suggestions would be greatly appreciated
    -Sheldon

    Say you have a context node "Users", cardinality 0:N, with attributes like "Name" etc.
    Use a DropDown<b>ByIndex</b> element, bind property "texts" to attribute "Name". Assign an empty action to the "onSelect" event.
    Create a form for the details, bind the contained InputField, TextView, whatever to the attributes inside node "Users".
    Then you can select a user from the dropdown list (which displays the user names) and the detail form automatically displays the data of the (lead-)selected context element.
    Armin

  • Post-generating 3-level master-detail-detail screens

    Hi all,
    for a consulting project, I had to create several three-level master-detail screens using JHeadstart. For the JHS demo app, this would mean for example that a location page contained a list of departments at the location and underneath it a list of employees working at the currently selected department.
    From what I have learned so far using JHS, this is not supported by the wizards and should be done by post-generation changes. This forum has a few topics mentioning the problem and possible solutions, but most of the time just fragments of the complete solution/approach. As I had to create several of these 3-level detail screens, I tried to uniformly document them, providing the 7-step guide as outlined below. I only started working with JHS recently, so please let me know where I take a long way round or where my approach is not appropriate at all :o)
    NOTE1: Terminology-wise, for the example given above, I will call the departments the 2nd level detail and employees the 3rd level detail, while locations are the first level masters. I hope this is not too confusing ;o)
    NOTE2: the example code is not guaranteed to work with the JHSdemo. I just changed the names of variables and classes from my own application to the familiar entities of the demo.
    STEP 1: Generate plain MD screens for the first and second level entities (table-form) using the JHS application generator and make sure all generated features you want in your page are OK. Afterwards, switch off the UIX generation in your application structure file. If you want multiple entities at the third detail level,
    STEP 2: Add the functional contents of the generated 3rd level detail UIX page to the main master UIX page, right underneath the 2nd level detail-table but still inside the <header> entity of this 2nd level detail. (I'm not too sure whether this really matters, but at least the indentation looks nice). What I call "functional contents" is the <header> entity containing the 3rd level detail table.
    STEP 3: Edit the java file of the 3rd level view object, adding a variable storing the identifier (primary key) of the currently selected 2nd level detail row. If you haven't used the java file before, generate it by doubleclicking the view object and checking the generate view object box in the Java screen.
    private String $selectedDeptID;
    public void setSelectedDeptID(String id) {
    $selectedDeptID = id;
    STEP 4: Edit the java file of your application module (in the model layer) and add a method for updating the view objects search queries like the example below:
    public void updateEmployeeView(String deptID) {
    // fetch the view object instance
    EmployeeViewImpl view = (EmployeeViewImpl)this.getEmployeeView1();
    // register the currently selected departments ID
    view.setSelectedDeptID(deptID);
    // re-execute the view objects query
    view.executeQuery();
    // reset the selected ID
    view.setSelectedDeptID(null);
    STEP 5: Create a java class for handling the event when a user selects a different 2nd level detail row.
    package view;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import oracle.adf.controller.struts.actions.DataActionContext;
    import oracle.adf.model.BindingContext;
    import oracle.adf.model.bc4j.DCJboDataControl;
    import oracle.adf.model.binding.DCDataControl;
    import oracle.adf.model.binding.DCUtil;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.servlet.event.PageEvent;
    import oracle.cabo.servlet.ui.data.PageEventFlattenedDataSet;
    import oracle.cabo.ui.data.DataObject;
    import oracle.cabo.ui.data.DataSet;
    import oracle.cabo.ui.beans.table.SelectionUtils;
    import oracle.jbo.ApplicationModule;
    * USER-DEFINED EVENT-HANDLING CLASS
    * this class is triggered after the user selects another row in the Department
    * table/form in the Locations.uix screen. It derives the ID (pk) of the
    * selected row and launches the AppModule method to update the view objects
    * select queries with the selected DeptID.
    public class RowSelector
    * private variable holding the name of the DataControl module for this
    * Application Module
    private static final String DATACONTROLNAME = "AppModule" + "DataControl";
    * private variable holding the name of the table/form object in the uix page
    * from which we want to derive the selected row data.
    private static final String TABLEFORMNAME = "DepartmentsView2";
    * private variable holding the name of the form field holding the database
    * ID (pk) of a row in the ${TABLEFORMNAME} table/form
    private static final String IDFIELDNAME = "Dept_ID";
    * This method fetches the ID of the user-selected row in the DepartmentsView2
    * table/form in the Locations.uix form.
    * Afterwards, it fires the ApplicationModule method for updating the view objects
    public static EventResult doSelectionEvent(BajaContext bc, Page page, PageEvent event)
    try {
    // create a new FlattenedDataSet for the table name
    DataSet tableInputs = new PageEventFlattenedDataSet(event, TABLEFORMNAME);
    // fetch the UI table index from the DataSet (NOT the pk from the db)
    int index = SelectionUtils.getSelectedIndex(tableInputs);
    // fetch the DataObject representing all the input elements on the current table row.
    DataObject row = tableInputs.getItem(index);
    // fetch the value of the input field holding the ID (pk) of the selected department row
    Object value = row.selectValue(null, IDFIELDNAME);
    if (value != null) {
    // tell the AppModule to update the appropriate view object(s)
    getAppModuleImpl(bc.getServletRequest()).updateEmployeeView(value);
    // quick and dirty exception handling. not too many exceptions possible due to
    // hard-coded field/table/module names. anyway, taking no action at all is not
    // that bad an option for a demo ;o)
    } catch (Exception e)
    e.printStackTrace();
    return null;
    * method for fetching the active Application Module
    public static AppModuleImpl getAppModuleImpl(HttpServletRequest request)
    BindingContext ctx = DCUtil.getBindingContext(request);
    DCDataControl dc = ctx.findDataControl(DATACONTROLNAME);
    AppModuleImpl service = (AppModuleImpl)dc.getDataProvider();
    return service;
    STEP 6: Override the executeQueryForCollection method in your view object java file to make sure it uses the selected 2nd level detail rows ID for the bound variable specifying the 3rd level select query. Otherwise, the select query for the 3rd level detail set appears to use the ID of the first 2nd level detail row selected for the currently selected 1st level master. In the example below, no other bound variables are used in the view object, otherwise, the indexing might have to be adjusted.
    protected void executeQueryForCollection(Object qc, Object params[], int noUserParams) {
    if ($selectedDeptID != null) params[0] = $uur;
    super.executeQueryForCollection(qc, params, noUserParams);
    STEP 7: In the Locations.uix page, set a primaryClientAction for the radio select input in the 2nd level detail screen. This action should fire an event (fe 'userChoseDepartment') and refresh the 3rd level detail tables using the partial refresh options in the primaryClientAction dialog window. Afterwards, add an event handler to the bottom of your Locations.uix page, linking the event specified before to the doSelectionEvent in the RowSelector class.
    So, that's how it worked for me. I hope it does the same for you and please do post any comments or remarks if problems arise or simplifications are possible. The more remarks or bugs appear in the above code, the more the JHS team is hinted to enable auto-generated 3rd level detail screens :-D
    Cheers,
    benjamin

    Benjamin,
    Thank you for sharing your expreinces with us!
    A few remarks:
    1. With JHeadstart 10.1.2.1 you can generate unlimited master-detail levels in the same page when using UIX and table-layout for the detail groups This feature is implemented usin g UIX table detail disclosure: when you click on the "show" link in a row in of the level 2 detail table, you will see in the detail disclosure area the level 3 detail table.
    There is a screen shot of this feature in the JHeadstart Developers Guide for 10.1.2.1, chapter 3, section "Creating Table Pages". You can now download the dev guide from the JHeadstart Product Center:
    http://www.oracle.com/technology/consulting/9iservices/jheadstart.html
    2. You have a lot of steps related to synchronizing the level 3 ViewObject with the level 2 ViewObject. You can leave all this work to ADF Business Components, by adding the l;evel 3 ViewObject as a nested usage to the level 2 ViewObject in your application module data model.
    Ths would save you the work you aredoing in steps 3 to 6.
    Steven Davelaar,
    JHeadstart Team.

  • Error after creating a new item in 'Case Worker'-- 'Agent Dashboard'-- 'Task Details' screen

    In 'Case Worker'-->'Agent Dashboard'--> 'Task Details' screen, I have created a item named 'YEARS' using 'Create Item' in 'Personalize Page' screen. It is not going to tasks page and giving error as "
    oracle.apps.fnd.framework.OAException: No entities found, entityMaps not defined for attachment item (YEARS)." How can I remove this field now..

    Please see the suggested solutions in the following docs.
    Entity Maps Not Defined For Attachment Error When Selecting A Deliverable (Doc ID 358385.1)
    Corrupt Personalization - No Entities Found Entitymaps Not Defined For Attachment Item (Doc ID 1085011.1)
    R12:Supplier Page Unexpected Error: 'No Entities Found EntityMaps not Defined for Attachment Item' (Doc ID 1361320.1
    Geography Hierarchy No Entities Found, EntityMaps Not Defined For Attachment Item (Doc ID 831088.1)
    Depot Repair Bulk Receiving Error: "No entities found, entityMaps not defined for attachment item" (Doc ID 1357977.1)
    Thanks,
    Hussein

  • Issue in displaying header details in ALV report

    Hi,
    I have used slis_t_listheader and REUSE_ALV_COMMENTARY_WRITE to display the header details in ALV report.I want the details to be displayed as below.
    Requester : ----------------------                                                                               Page: 1
    Program: -----------------------                                                                                Date:---------
                                                                     Title of Report
    But when I use the structure slis_t_listheader to display the header details,all the fields are coming one below the other.
    How can I get the fields as shown in the above format
    Edited by: Abaper12345 on Jun 25, 2009 7:54 AM

    Hi,
    Go through following code... its showing the data exactly the way you want....
    REPORT  TEST3.
    TYPE-POOLS:slis.
    TABLES:MARA.
    *Type Declaration
    TYPES:BEGIN OF t_mara,
          matnr TYPE mara-matnr,
          ersda TYPE mara-ersda,
          ernam TYPE mara-ernam,
          END OF t_mara.
    *Internal Table
    data:it_mara type standard table of t_mara.
    *Work Area
    data:wa_mara type t_mara.
    DATA:i_repid TYPE sy-repid .
    i_repid = sy-repid.
    *Declaration for field catalog
    DATA : fcat TYPE slis_t_fieldcat_alv,
           wa_fcat TYPE slis_fieldcat_alv.
    *Declaration for Layout
    data : WA_LAYOUT type SLIS_LAYOUT_ALV.
    *Initializing ColumnWidth_Optimize For Layout
      WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    START-OF-SELECTION
    START-OF-SELECTION.
    *Fetching data into internal tables
      PERFORM get_data.
    *Buil Fieldcatalog
      PERFORM build_fcat.
    *Display ALV Report
      PERFORM alv_display.
    *Build Fieldcat
    FORM build_fcat .
      wa_fcat-tabname = 'IT_MARA'.
      wa_fcat-fieldname = 'MATNR'.
      wa_fcat-inttype = 'C'.
      wa_fcat-seltext_m = 'Material Number'.
      wa_fcat-outputlen = 25.
      wa_fcat-col_pos = 1.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      wa_fcat-tabname = 'IT_MARA'.
      wa_fcat-fieldname = 'ERSDA'.
      wa_fcat-inttype = 'C'.
      wa_fcat-seltext_m = 'Date'.
      wa_fcat-outputlen = 25.
      wa_fcat-col_pos = 1.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      wa_fcat-tabname = 'IT_MARA'.
      wa_fcat-fieldname = 'ERNAM'.
      wa_fcat-inttype = 'C'.
      wa_fcat-seltext_m = 'User'.
      wa_fcat-outputlen = 25.
      wa_fcat-col_pos = 1.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      endform.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    form GET_DATA .
    select matnr ersda ernam from mara into table it_mara.
    endform.                    " GET_DATA
    *&      Form  ALV_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    form ALV_DISPLAY .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = i_repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
       I_CALLBACK_HTML_TOP_OF_PAGE       = 'HTML_TOP_OF_PAGE'
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = fcat
      TABLES
        t_outtab                          = it_mara
    EXCEPTIONS
       PROGRAM_ERROR                     = 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.
    endform.                    " ALV_DISPLAY
    *&      Form  html_top_of_page " I_CALLBACK_HTML_TOP_OF_PAGE  "
    FORM html_top_of_page USING document TYPE REF TO cl_dd_document.
    CALL METHOD document->add_text
      EXPORTING
        text          = 'Program'
        sap_color     = document->list_group
        sap_fontstyle = document->standard
       sap_emphasis  = document->strong.
    CALL METHOD document->new_line
      EXPORTING
        repeat = 1
    CALL METHOD document->add_text
      EXPORTING
        text          = 'Requester'
        sap_color     = document->list_group
        sap_fontstyle = document->standard
       sap_emphasis  = document->strong.
    CALL METHOD document->new_line
      EXPORTING
        repeat = 1
    CALL METHOD document->add_gap
      EXPORTING
         width      = 125
    CALL METHOD document->add_text
      EXPORTING
        text          = 'This Is Test Data'
        sap_color     = document->list_group
       sap_fontsize  = document->LARGE
       sap_fontstyle = document->standard
       sap_emphasis  = document->strong.
    ENDFORM.                    "HTML_TOP_OF_PAGE
    Thanks & Regards
    Ashu SIngh

  • How to prevent error message for material description in MDG material detail screen, when user click on check action

    Dear Experts,
    I have a requirement for making material description as non mandetory in change request view of mdg material screen.
    I have done that using field usage in get data method of feeder classes, but still message is displaying.
    This message 'Material description is mandatory is displaying with check action only, but not with save or submit after i anhance field property as not mandetory.
    How to prevent error message for material description in MDG material detail screen, when user click on check action.
    Thanks
    Sukumar

    Hello Sukumar
    In IMG activity "Configure Properties of Change Request Step", you can completely deactivate the reuse area checks (but will then loose all other checks of the backend business logic as well).
    You can also set the error severity of the checks from Error to Warning (per CR type, not per check).
    Or you provide a default value for the material description, e.g. by implementing the BAdI USMD_RULE_SERVICE.
    Regards, Ingo Bruß

Maybe you are looking for

  • ITunes won't start up, no error message, appears in task manager

    Hi, I have been running this system since quite a while and haven't had problems with iTunes for a while. I updated to the recent version not to long ago and it worked then once or twice, I even bought a game for the iPod (Tetris)... Now iTunes doesn

  • From Photoshop CS3 to Suite Production Premium CS4 - order failed

    Hello, I have a little problem with buying a product from Adobe. I have Photoshop CS3 and I want to buy CS4 Suite Production Premium. When I search for this product and check the upgrade options it says that I can upgrade from my Photoshop CS3 versio

  • Multiple pre-orders on a single receipt?

    First time that I've pre-ordered multiple games at the same time.  I thought the cashier would ring them seperately, since they are for different systems and different release dates.  Instead, they were all rung on a single receipt in a single transa

  • Maintaining process code in EWM via a program or FM

    Hi All, Is there any program or function module which can be used to update/maintain the process codes in EWM. Process codes are maintained in table - /SCDL/DB_PRCODES and can be maintained on screen via /n/SCWM/PRDI or /n/SCWM/PRDO. The requirement

  • Black line appearing when using Magic Bullet

    I have installed the latest Magic Bullet suite and it all works fine within Premiere, except when I apply a Look. In the Looks Builder the image looks fine. However, when I go back to Premiere a black line appears on the left hand side of the image.