Dynamically disclose ShowDetail component

I want to disclose a ShowDetail component based on some conditions of table, which is inside the showdetail.
<af:showdeail disclosed=#{backingBean.firstMethod}>
<af:table>
<af:column>
<af:outputText styleClass = "#{backingBean.secondMethod[row]}"/>
The second backing bean method will return a string as css style class based on the table's row data. Then first Method in showDetail will check if the style class exists, if yes, will show the table.
The problem is if disclosed property of showDetail is false. The second method (for table) never gets called because the table is hiding. If I set the disclose property to true, the second method gets called successfully, but the first method never gets called.
Thanks a lot!

Hi,
when a component has the style class set then you already passed the JSF invoke application phase and no more listener code is executed. Instead of looking at the component style class property I would look at the same condition that sets the style class property. You can access the selected table row from a selection listener and then determine the table row value to in the same listener set the disclose state
Frank

Similar Messages

  • Dynamic disclosing showdetail component in oracle adf

    In my menu I have showdetail components. My problem is that on opening second showdetail, the first opened showdetail should be disclosed automatically.

    Oh, sorry I was budy and I did not read it. Did you manage to do it or you still need an asnwer?

  • Disclosing a selected af:showDetail component under an af:iterator

    Hi
    I am facing a problem with <af:showDetail> component. I am trying to generate multiple <af:showDetail> components under an <af:iterator> as shown below:
    <af:iterator var="row" value="#{mybean.list}">
    <af:showDetail disclosedText="Show" undisclosedText="Hide" disclosed="#{row.bool}">
    </af:showDetail>
    </af:iterator>
    "mybean" is an instance of managed bean "MyBean" configured in faces-config.xml. "mybean.list" returns a list of objects of a class "MyBeanInner". "MyBeanInner" is a public inner class of "MyBean".
    I am trying to control the disclosure of <af:showDetail> component using the boolean value "bool" set in "MyBeanInner". Through this, I want a specific <af:showDetail> component to disclose itself, but this is not happening.
    Another interesting fact is that, if I bind the "disclosed" attribute to a property in "MyBean" it works fine.
    Can any one explain this behavior? Is there a work around?
    Thanks and Regards
    Prashant

    Hi Frank,
    Thanks for the reply. You have rightly identified that inner class is not being instantiated.
    Another point I missed was that - All properties other than "diclosed" in <af:showDetail> like "value", "disclosedText", "undisclosedText" work fine when they are bound to "MyBeanInner" inner class properties. Why is it that only "disclosed" property does not work? Is it something to do with ADF phases?
    Could you elaborate on the solution you proposed. Where should I provide the getter and how will its signature look like? Currently, I have provided the setters and getters for the properties in the inner class.
    Thanks and Regards
    Prashant

  • ShowDetail component...

    Hi,
    I am working on developing similar look alike of showDetail component in adf, i have looked into the code of adf and i am implementing the same way the adf has, but the problem i am facing here is i am getting the all the components rendered twice on the page, but when i try to collapse the section, it collapses only one set of components, meaning which are actually embedded inside my "div" tag. i am not sure why i am getting second set of components on the page, i think these are displayed as i have actually written on the xhtml page. i am not sure how i can make like only one set of components render.
    here is the sample code snippet:
    if(disclosedBool)
    encodeAllChildren(context, panelComponent);
    Thanks a lot....

    Hi,
    - create a managed bean that exposes a boolean variable
    - put this bean into a scope larger than request
    - reference the boolean variable from the showDetail disclosed property on all components
    - when the button is clicked (or link) set the variable to false or true
    Frank

  • Creating a application dynamically for a component

    Hi,
    Does any one know how to create an application dynamically for a component, so without using SE80?
    I already found class cl_wdy_md_application, but I do not know if this is the right direction. Maybe somebode already solved this issue.
    Regards,
    Remco

    Hi Thomas,
    In SRM it is possible to call own made webdynpro components and fill them with data, and then process these data into a new shopping card. This can be done by filling a so called HOOK_URL. In SRM you have to do customizing and fill in the URL to be used of the WebDynpro application. So far, still no problems.
    I have built a component by which an user can fill several Z tables and then he can display a form he has made by himself (a so called free order form). So the component will check all Z tables, and generate in one view, the context dynamically as also the layout dynamically. In all Z tables one field has been used as one of the keyfields and that is free order form name and this is also a parameter of the application so that this application knows which data to get from the Z tables to generate a form.
    And because it is possible to generate more then one forms, I have create per form 1 application with the specific parameter, and this URL can be entered in the customizing of SRM.
    This application creation I did myself, but now I want to accomplish, when the user creates a new form by filling specific tabels via webdynpro, that he can generate the application by himself.
    Maybe I can create a FM/BAPI for the BDC recording and then call this from my web dynpro application as there is no API.
    Do you maybe have another solution?
    Regards,
    Remco

  • Dynamically removing a component button...

    Sorry if this question sounds stupid/easy, but I'm blanking.
    How do I use AS to dynamically remove a component button that was
    dragged out onto the stage?...
    Thanks!...

    quote:
    Originally posted by:
    kglad
    you caused that problem by doing something to the button's
    bounding box and/or loading your finalexam.swf into another swf.
    I don't know what I would have done to the bounding box. I
    just put the component on the stage and changed the theme color of
    it - that's all...
    As far as the final exam loading into another .swf, that's
    true. There's one "main" .swf that is the basic navigational shell
    for the course (the top/bottom of the course). Then all the "pages"
    of the course load into the big main window of the navigational
    shell...
    ...would that be what's causing it? How come? Is there a way
    to fix it???

  • Dynamic creation of component

    Hi ,
    I try to create a component in DC B from DC A.For this I use the method
    wdThis.wdGetObjectComponentUsage().createComponent(componentName, dc);
    where componentName = path of the webdynpro component
    eg:com.sap.a1s.reui.plugins.fdt.expressions.decisiontable.ExDecisionTable
    dc=<vendor name>/<dc name>
    sap.com/a1s/reui/plugins/fdtexpr
    But I keep getting the runtime error
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to create deployable object 'sap.com/a1s/reui/plugins/fdtexpr' since it is not a Web Dynpro object
    I also tried using
    sap.com/a1s~reui/plugins/fdtexpr
    But get the same error.
    can anyone please help regarding how to get the DC name ?
    Regards
    Sourav

    hi Saurav,
    I think problem is web dynpro framework is not getting deployable object,
    just give try to,
    sap.com/a1s~fdtexpr
    not sure but just a try, also check if this link is of any help
    View Methods / Dynamic component creation
    regards
    Message was edited by:
            Abhijeet

  • Dynamic objects in component

    I be trying insert dynamic objects in my JSF component by JavaScript,
    but it don't see this objects in the Servlet.
    for e.g., i have a datatable with 3 rows(from Database), each row with a
    input text(HTML), and insert a dynamic input text(HTML) in my structure(4 rows),
    after execute submit to a ActionListener, the input text included in the
    fourth row dont exists in the Collection return by JSF.
    How can i get the fourth object value?

    Simply you can't.
    JavaScript can't affect the structure of the JSF component tree.

  • Dynamic navigation to Component of IBase

    Hi Team,
    The requirement is need to navigate to Component Of IBase from our custom view.
    By using the Search Query we are able to get the collection IBComponent.
    How can i proceed with the dynamic navigation in my hyperlink event.
    In the SPRO settings the object details of IBMAIN has not been maintained.
    Kindly share your thoughts.
    Thanks,
    Ravi

      HI Ravi,
    Try to use below logic in Event handler of hyperlink.
    data:  lv_descriptor_object  TYPE REF TO if_bol_bo_property_access,
            lr_navigation         TYPE REF TO if_crm_ui_navigation_service,
            lr_data_collection    TYPE REF TO if_bol_bo_col,
    lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
      CALL METHOD cl_crm_ui_descriptor_obj_srv=>create_ui_object_based
      EXPORTING
        iv_ui_object_type   = 'IB150_IBASE'
        iv_ui_object_action = 'B'
        RECEIVING
        rr_result           = lv_descriptor_object.
       IF lv_descriptor_object IS BOUND.
        CREATE OBJECT lr_data_collection TYPE cl_crm_bol_bo_col.
       lr_query = cl_crm_bol_query_service=>get_instance(
            iv_query_name = 'IBIBaseToIBase' ).
            REFRESH it_parms.
            wa_parms-name = 'IBASE'.
            wa_parms-VALUE = lv_ibase.(Your ibase iD)
            APPEND wa_parms TO it_parms.
    *Add the selection parameters
            CALL METHOD lr_query->set_query_parameters
            EXPORTING
              it_parameters = it_parms.
    *Get the result list
            lr_result = lr_query->get_query_result( ).
    *Get the first object(entity) in the result list
            lr_entity ?= lr_result->get_first( ).
            CHECK lr_entity IS BOUND.
            lr_data_collection->add( lr_entity ).
            lr_data_collection->insert( iv_bo = lv_descriptor_object
            iv_index = 1 ).
            IF lr_navigation->is_dynamic_nav_supported( ir_descriptor_object = lv_descriptor_object ) = abap_true.
              lr_navigation->navigate_dynamically( lr_data_collection ).
            ENDIF.

  • Assigning part of a string dynamically to a component of a structure

    Hello,
    I want to take part of a string
    example: value = string+10(7)
    and assign this value to a structure. But I only have the fieldnames of the structure. I need something like the following
    Assign value TO COMPONENT (fieldname) of structure
    Thanks.
    Regards, Lars.

    do you have a set structure name you're dealing with or is that dynamic?
    If it's the first scenario and, say, you were dealing with mara and field matnr you could do this:
    data l_string.
    field-symbols <field> type any.
    l_string = in_string+10(18).
    assign l_string to <field> casting type matnr.
    (or assign l_string to <field> casting like mara-matnr).
    now <field> is a 'matnr' type field.
    If it's more complex please give some more info as I'm sure what you want can be done.

  • Dynamical changing HtmlInputText component style on failed validation...

    ...but once validation passes the modified style isn't reset...and when navigating away from the page and then back again, the component will still have the modified style.
    this is for JSF1.1 because i understand JSF1.2 has a errorStyle property.
    I understand once first entry the components are rendered and then stored in a component tree for subsequent display, but because i have dynamical changed the style property it seems to be stored in the component tree.
    here is snippets of my code
    JSP page
    <h:inputText id="textName" styleClass="inputText" *validator="#{fieldValidators.validateText}"* value="#{customer.name}" required="true">
    <f:validateLength minimum="1" maximum="40"></f:validateLength>
    </h:inputText>
    _FieldValidators class_
    public void validateText(FacesContext context, UIComponent toValidate, Object value)
    ((UIInput)toValidate).setValid(false);
    *((HtmlInputText)toValidate).setStyleClass("inputText inputValidationError");*
    FacesMessage message = new FacesMessage(errorMessage);
    context.addMessage(toValidate.getClientId(context), message);
    the style class +inputValidationError+ sets the outline of the input type to be red. so input components highlight in red when validation fails.
    so to recap my issue, when the failed validation is corrected, the component still has the +inputValidationError+ style applied, and when navigating away from the page and back to it +inputValidationError+ still is in its style, so still appears with the red border.
    any help or recommendations would be really welcome.
    thanks.

    Implement a PhaseListener which listens on the afterPhase of the RENDER_RESPONSE and get the clientId of all components which have a validation error by FacesContext#getClientIdsWithMessages() and put it in a HashSet or so. Then iterate recursively over all children of UIViewRoot and if it is an instance of UIInput, then (re)set the styleclass accordingly based on the presence of its clientId in the HashSet created before.

  • Issue in Dynamic Structure and Component Program

    Hi,
      I have a requirement of creating an inbound idoc program and populating dynamic structures. The program for the dynamic structure creation is as follows: ( I have been referencing Heilmans Blog ): The part for the inbound idoc creation works fine. The data will come in a flat file with Table name and 15 characterstcis. The table name is known at runtime. I need to create the dynamic table, find out the components and then populate the custom table with the dynamically created structures.
    Custom table: 4 components
    Internal table from file: 15 components with value.
    There could be more than one table in the flat file and not all components or char in the flat file is mapped to the table. I would need some expertise in coding the OO part of the program.
    Any inputs will be apprciated:
    <removed 6845 lines of code (forum software cut off at this point, there was more!) - did you actually expect anyone to read that? Also, please use code tags (the "<>" icon on the toolbar)>
    Edited by: Mike Pokraka on Aug 3, 2008 6:15 PM

    Hi,
    The program works fine fo creating inbound idocs. It is the dynamic structure population that seems to be the problem mentioned earlier: Here is the code:
    *& Report  /FACTGLB/GTDMI_VARTAB_IDOCS02                               *
    PROGRAM DESCRIPTION: Variant Table and Content Upload Interface.
              DEVELOPER: Aveek Ghose
          CREATION DATE: 2008-04-18
             RDD NUMBER: DCDD027
    TRANSPORT NUMBER(S): RD2K902769
    *-- REVISION HISTORY -
              DEVELOPER:
           DATE APPLIED: YYYY-MM-DD
             SCR NUMBER: <Scope Change Request ID>
             RDD NUMBER: <Toolset Object ID>
    TRANSPORT NUMBER(S):
            DESCRIPTION:
    REPORT  ZGTDMI_VARTAB_IDOCS_DYNAMIC
            NO STANDARD PAGE HEADING
            LINE-SIZE   150
            LINE-COUNT  55
            MESSAGE-ID  zfactglb.
    **Include for Global Data Declaration
    *INCLUDE /FACTGLB/GTDMI_VARTAB_TOP02.
    **Include for Selection Screen
    *INCLUDE /FACTGLB/GTDMI_VARTAB_SEL02.
    **Include for Sub Routines
    *INCLUDE /FACTGLB/GTDMI_VARTAB_FORMS02.
    *&  Include           /FACTGLB/GTDMI_VARTAB_TOP02                      *
    *&  Include           /FACTGLB/GTDMI_VARTAB_TOP02                      *
    *&  Include           /FACTGLB/GTDMI_VARTAB_TOP
    *&  Include           /FACTGLB/GTDMI_VARTAB_TOP
    PROGRAM DESCRIPTION: Variant Table and Content Upload Interface.
              DEVELOPER: Aveek Ghose
          CREATION DATE: 2008-04-18
             RDD NUMBER: DCDD027
    TRANSPORT NUMBER(S): RD2K902769
    *-- REVISION HISTORY -
              DEVELOPER:
           DATE APPLIED: YYYY-MM-DD
             SCR NUMBER: <Scope Change Request ID>
             RDD NUMBER: <Toolset Object ID>
    TRANSPORT NUMBER(S):
            DESCRIPTION:
    TYPE POOLS
    *Type declaration for ALV display
    TYPE-POOLS : slis.
    Include .
    type-pools: col,                                            "#EC *
                icon,                                           "#EC *
                sym,                                            "#EC *
                abap.                                           "#EC *
    Target structure definitions
    tables:
      E1CUVTM,                                                  "#EC *
      E1DATEM,                                                  "#EC *
      E1CUV1M,                                                  "#EC *
      edp21,                                                    "#EC *
      edi_dc40,                                                 "#EC *
      edi_dd40,                                                 "#EC *
      edi_ds40.                                                 "#EC *
    GLOBAL TYPES
    TYPES : BEGIN OF ty_vartab.
            include structure E1CUVTM.
    TYPES:  END OF ty_vartab.
    TYPES : BEGIN OF ty_vartabdate.
            INCLUDE STRUCTURE E1DATEM.
    TYPES : END OF ty_vartabdate.
    *Structure for data retreived
    TYPES : BEGIN OF ty_vardetails.
            INCLUDE STRUCTURE E1CUV1M.
    TYPES : END OF ty_vardetails.
    *Structure for data retreived from table tabinput.
    TYPES : BEGIN OF ty_tabinput,
              lines type string,
            END OF ty_tabinput.
    *Structure for data retreived from Table dsn_input.
    TYPES : BEGIN OF ty_dsninput,                               "#EC *
              LINE(101) type c,
            END OF ty_dsninput.
    *Structure for data retreived from Table dsn_input.
    TYPES : BEGIN OF ty_newinput,                               "#EC *
              LINE(101) type c,
              flag(1) type c,
            END OF ty_newinput.
    *Structure for keeping the values of all the custom tables
    TYPES : BEGIN OF ty_custom_tabs,
              matnr   TYPE matnr,    "Material Number
              werks   TYPE werks_d,  "Plant
              lgort   TYPE lgort_d,  "Storage Location
              qunty   TYPE P DECIMALS 2, "Standard Order Quantity
              det_loc TYPE CHAR6, "Detail Location
              class   TYPE CHAR2,   "Class
              rate    TYPE P DECIMALS 2,    "Rate
            END OF ty_custom_tabs.
    *Type declared for the internal table and work area which will store
    *fields for error log
    TYPES : BEGIN OF ty_error_log,
              matnr TYPE matnr,       "Material Number
              mtart TYPE mtart,       "Material Type
              sel_data TYPE char10,   "No of selectyed data
            END OF ty_error_log.
    *Structure for keeping the output data
    TYPES : BEGIN OF ty_final,
              VTNAM(018) type C,
              CHAR1(030) type C,
              CHAR2(030) type C,
              CHAR3(030) type C,
              CHAR4(030) type C,
              CHAR5(030) type C,
              CHAR6(030) type C,
              CHAR7(030) type C,
              CHAR8(030) type C,
              CHAR9(030) type C,
              CHAR10(030) type C,
              CHAR11(030) type C,
              CHAR12(030) type C,
              CHAR13(030) type C,
              CHAR14(030) type C,
              CHAR15(030) type C,
              FLAG(001) type C,
            END OF ty_final.
    TYPES: begin of TY_CONTENTHD,
              VTNAM(018) type C,
              FLAG(001) type C,
      end of TY_CONTENTHD.
    TYPES: begin of TY_CONTENT,
              VTNAM(018) type C,
              CHAR1(030) type C,
              CHAR2(030) type C,
              CHAR3(030) type C,
              CHAR4(030) type C,
              CHAR5(030) type C,
              CHAR6(030) type C,
              CHAR7(030) type C,
              CHAR8(030) type C,
              CHAR9(030) type C,
              CHAR10(030) type C,
              CHAR11(030) type C,
              CHAR12(030) type C,
              CHAR13(030) type C,
              CHAR14(030) type C,
              CHAR15(030) type C,
              FLAG(001) type C.
    TYPES: end of TY_CONTENT.
    TYPES: BEGIN OF TY_E1CUVTM,
              MSGFN       TYPE MSGFN,
              VAR_TAB       TYPE APITABL,
              STATUS       TYPE RCUTBST,
              VTGROUP       TYPE RCUTBGR,
              AUTHSTRUC       TYPE RCUTBBE,
              AUTHENTRY       TYPE RCUFNBI,
              FLDELETE       TYPE FLLKENZ,
              DBTABNAME       TYPE TABNAME16,
              DBCONACTIVE TYPE DBCON_ACTI,
              PRESDEC       TYPE VTDCT,
           END OF TY_E1CUVTM.
    TYPES: BEGIN OF TY_E1CUV1M,
              MSGFN     TYPE MSGFN,
              VTLINENO     TYPE VTLINENO,
              VTCHARACT     TYPE ATNAM,
              ATWRT     TYPE ATWRT,
              ATFLV     TYPE ATFLV,
              ATAWE     TYPE MSEHI,
              ATFLB     TYPE ATFLB,
              ATAW1     TYPE MSEHI,
              ATCOD     TYPE ATCOD,
              ATTLV     TYPE ATTLV,
              ATTLB     TYPE ATTLB,
              ATPRZ     TYPE ATPRZ,
              ATINC     TYPE ATINC,
              VTLINENO5     TYPE VTLINENO5,
           END OF TY_E1CUV1M.
    TYPES: BEGIN OF TY_E1DATEM,
              MSGFN       TYPE MSGFN,
              KEY_DATE       TYPE SYDATUM,
              AENNR       TYPE AENNR,
              EFFECTIVITY TYPE      CC_MTEFF,
           END OF TY_E1DATEM.
    TYPES: BEGIN OF ty_vtnam,
             vtint TYPE vtint,  " Internal number of variant table
             vtnam TYPE vtnam,  " Name of variant table
             error  TYPE char1,  " Indicates error in data format
             reas   TYPE char50, " Reason for failure
           END OF ty_vtnam.
    Get data type for characteristic
    TYPES: BEGIN OF ty_cabn,
            atinn  TYPE atinn,       "Internal characteristic
            atnam  TYPE atnam,       "Characteristic Name
            atfor  TYPE atfor,       "Data type of characteristic
            atson  TYPE atson,       "Indicator: Additional Values
            atprt  TYPE atprt,       "Check table
            atprr  TYPE atprr,       "Name of Check Report Program
            atprf  TYPE atprf,       "Function Module for Checking Values
            anzdz  TYPE anzdz,       "Number of Decimal Places
            check  TYPE char1,       "Indicates check required or not
           END OF ty_cabn.
    Get field names of variant table
    TYPES: BEGIN OF ty_cuvtab_fld,
             vtint TYPE vtint,   " Internal number of variant table
             atinn TYPE atinn,   " Internal characteristic
             vtpos TYPE vtpos,   " Item number of characteristic in variant
             exist TYPE char1,   " X Indictaes characteristic is part of fil
           END OF ty_cuvtab_fld.
    Store all data in internal table
    TYPES: BEGIN OF ty_file,
              vtnam TYPE vtnam,
              char1 TYPE atwrt,
              char2 TYPE atwrt,
              char3 TYPE atwrt,
              char4 TYPE atwrt,
              char5 TYPE atwrt,
              char6 TYPE atwrt,
              char7 TYPE atwrt,
              char8 TYPE atwrt,
              char9 TYPE atwrt,
              char10 TYPE atwrt,
              char11 TYPE atwrt,
              char12 TYPE atwrt,
              char13 TYPE atwrt,
              char14 TYPE atwrt,
              char15 TYPE atwrt,
              flag   TYPE char1,
              error  TYPE char50,
           END OF ty_file.
    To check for duplicates
    TYPES: BEGIN OF ty_dupl,
              vtnam TYPE vtnam,
              char1 TYPE atwrt,
              char2 TYPE atwrt,
              char3 TYPE atwrt,
              char4 TYPE atwrt,
              char5 TYPE atwrt,
              char6 TYPE atwrt,
              char7 TYPE atwrt,
              char8 TYPE atwrt,
              char9 TYPE atwrt,
              char10 TYPE atwrt,
              char11 TYPE atwrt,
              char12 TYPE atwrt,
              char13 TYPE atwrt,
              char14 TYPE atwrt,
              char15 TYPE atwrt,
              slnid  TYPE  slnid,
            END OF ty_dupl.
    Get previously loaded characteristic values for internal table (CHAR)
    TYPES: BEGIN OF ty_cuvtab_valc,
            vtint  TYPE  vtint,   " Internal number of variant table
            slnid  TYPE  slnid,   " Key for value combination in variant tab
            atinn  TYPE  atinn,   " Internal characteristic
            valc   TYPE  atwrt,   " Characteristic Value
          END OF ty_cuvtab_valc.
    Get previously loaded characteristic values for internal table (NUM)
    TYPES: BEGIN OF ty_cuvtab_valn,
            vtint  TYPE  vtint,      " Internal number of variant table
            slnid  TYPE  slnid,      " Key for value combination in variant tab
            atinn  TYPE  atinn,      " Internal characteristic
            val_from  TYPE  atflv,   " Internal floating point from
           END OF ty_cuvtab_valn.
    Store column positions of characteristics
    TYPES: BEGIN OF ty_col_pos,
             vtint  TYPE vtint,   " Internal number of variant table
             vtnam  TYPE vtnam,   " Variant table name
             atinn  TYPE atinn,   "Internal characteristic
             atnam  TYPE atnam,   "Characteristic Name
             field  TYPE fieldname,   "Field name
             req    TYPE char1,       " Required or not
             vtpos  TYPE vtpos,       " Item number of characteristics
           END OF ty_col_pos.
    Store valid values for characteristics
    TYPES: BEGIN OF ty_cawn,
              atinn TYPE atinn,   " Internal characteristic
              atzhl TYPE atzhl,   " Int counter
              atwrt TYPE atwrt,   " Characteristic Value
              atflv TYPE atflv,   " Internal floating point from
              lkenz TYPE lkenz,   " Deletion indicator
          END OF ty_cawn.
    Store error messages for individual lines
    TYPES: BEGIN OF ty_error,
             vtnam  TYPE vtnam,       " Variant table name
             fname  TYPE fieldname,   " Fieldname
             atnam  TYPE atnam,       " Characteristic name
             atwrt  TYPE atwrt,       " Characteristic value
             row    TYPE char5,       " Row id
          END OF ty_error.
    Begin TPR# 4618
    To store unique number for variant
    TYPES: BEGIN OF ty_vnt_ma,
            vtnam     TYPE vtnam,
            unique_no TYPE ZGTDM_UNQN,
            no_chr    TYPE ZGTDM_NO_CHR,
          END OF ty_vnt_ma.
    To find out concatenated number for
    TYPES: BEGIN OF ty_split,
            f1 TYPE char6,
          END OF ty_split.
    TYPES: BEGIN OF ty_charval,
            char TYPE char30,
          END OF ty_charval.
    TYPES: BEGIN OF TY_DATA,
           name TYPE string,
           value(15) type c,
          END OF TY_DATA.
    DATA: I_DATATAB TYPE STANDARD TABLE OF TY_DATA.
    TYPES:
      TUMLS_MESSTYPE type /SAPDMC/LS_MESSTYPE,
      TUMLS_MESSTYPETXT type EDI_TEXT60,
      TUMLS_MESSCODE type EDIPMESCOD.
    TYPES:
      TUMLS_TABNAME TYPE TABNAME,                               "#EC *
      TUMLS_SEGMENT TYPE TABNAME.                               "#EC *
    TYPES:
      TUMLS_PATHFILE TYPE /SAPDMC/LS_FILENAME,
      TUMLS_FILENAME TYPE /SAPDMC/LS_FILENAME,
      TUMLS_FILETEXT TYPE /SAPDMC/LS_FILETEXT.
    TYPES:
      BEGIN OF type_errorline,
         msgty type SYMSGTY,
         id type SYMSGID,
         msgno type symsgno,
         par1 type symsgv,
         par2 type symsgv,
         par3 type symsgv,
         par4 type symsgv,
      END OF type_errorline.
    TYPES:
      type_errortab TYPE SORTED TABLE
                    OF type_errorline
                    WITH NON-UNIQUE KEY id msgno par1 par2 par3 par4.
    DATA:
        LV_INDEX TYPE SY-INDEX,
        LV_INDEX2 TYPE SYINDEX,
        LV_TABLE1 TYPE REF TO DATA,
        LV_TABLE2 TYPE REF TO DATA,
        LV_TABLE3 TYPE REF TO DATA,
        LV_TABLE4 TYPE REF TO DATA,
        LV_LINE1  TYPE REF TO DATA,
        LV_LINE2  TYPE REF TO DATA,
        LV_LINE3  TYPE REF TO DATA,
        LV_LINE4  TYPE REF TO DATA,
        LV_OFFSET1 TYPE SYTABIX,
        ST_IS_LAYOUT_ALV TYPE SLIS_LAYOUT_ALV,
        L_IT_FCATLOG_ALV TYPE SLIS_T_FIELDCAT_ALV,
        L_IT_FLDCAT TYPE LVC_T_FCAT.
    GLOBAL INTERNAL TABLES
    DATA : i_newinput TYPE STANDARD TABLE OF ty_newinput INITIAL SIZE 0."#EC *
    DATA : i_contentheader1 TYPE STANDARD TABLE OF ty_contenthd INITIAL SIZE 0."#EC *
    DATA : i_contenttab1 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *
    DATA : i_contenttab2 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *
    DATA : i_contenttab3 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *
    DATA : i_contenttab4 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *
    DATA : i_E1CUV1M TYPE STANDARD TABLE OF E1CUV1M INITIAL SIZE 0."#EC *
    DATA : i_errortab TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *
    GLOBAL WORK AREAS
    **Internal Table for the structure TY_T001L
    DATA : wa_vartab TYPE ty_vartab.                            "#EC *
    DATA : wa_vartabdate TYPE ty_vartabdate.                    "#EC *
    DATA : wa_vardetails TYPE ty_vardetails.                    "#EC *
    DATA : wa_tabinput TYPE ty_tabinput.                        "#EC *
    DATA : wa_dsninput TYPE ty_dsninput.                        "#EC *
    DATA : wa_newinput TYPE ty_newinput.                        "#EC *
    DATA : wa_gnewinput TYPE ty_newinput.                       "#EC *
    DATA : wa_ginput_data TYPE ty_newinput.                     "#EC *
    DATA : wa_final TYPE ty_final.                              "#EC *
    DATA : wa_content TYPE ty_content.                          "#EC *
    DATA : wa_contenthd TYPE ty_contenthd.                      "#EC *
    DATA : wa_contentheader type ty_contenthd.                  "#EC *
    DATA : wa_contenttab TYPE ty_content.                       "#EC *
    DATA : wa_content1 TYPE ty_content.                         "#EC *
    DATA : wa_contenthd1 TYPE ty_contenthd.                     "#EC *
    DATA : wa_contentheader1 type ty_contenthd.                 "#EC *
    DATA : wa_contenttab1 TYPE ty_content.                      "#EC *
    DATA : wa_contenttab2 TYPE ty_content.                      "#EC *'
    DATA : wa_contenttab3 TYPE ty_content.                      "#EC *
    DATA : wa_contenttab4 TYPE ty_content.                      "#EC *
    DATA : wa_E1CUVTM TYPE E1CUVTM.                             "#EC *
    DATA : wa_E1CUV1M TYPE E1CUV1M.                             "#EC *
    DATA : wa_E1DATEM TYPE E1DATEM.                             "#EC *
    DATA : wa_error_tab TYPE solisti1.                          "#EC *
    INTERNAL TABLES AND WORK AREAS FOR BDC
    *Internal Table to store the data to display the error message
    DATA : i_errormsg TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *
    *Internal Table to store the data to display the error message
    DATA : i_error TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *
    DATA : itab_error TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *
    **Work area to store the data to display the error message
    DATA : wa_errormsg TYPE solisti1.                           "#EC *
    **Internal table which will store data for the error log
    DATA:i_error_log TYPE STANDARD TABLE OF ty_error_log INITIAL SIZE 0."#EC *
    GLOBAL VARIABLES
    DATA:  G_FILE TYPE string.                                  "#EC *
    DATA : g_ctr_input_recs(5) type c.                          "#EC *
    DATA:  g_ctr_output_recs(5) type p.                         "#EC *
    data : g_msg(100) type c.                                   "#EC *
    data:  g_struct_file TYPE string.                           "#EC *
    data:  g_login type FILEINTERN.                             "#EC *
    data:  g_phyin type string.                                 "#EC *
    DATA:  g_lprnt type RSPOPSHORT.                             "#EC *
    DATA:  g_FNAME1 TYPE STRING.                                "#EC *
    DATA : g_repid TYPE repid,                                  "#EC *
           g_exit(1) TYPE C,                                    "#EC *
           gx_variant  type disvariant.                         "#EC *
    DATA : g_lines    TYPE i .                                  "#EC *
    data : g_save(1) type c.                                    "#EC *
    DATA : g_splid     TYPE rspoid .                            "#EC *
    data:  p_login type FILEINTERN.                             "#EC *
    data:  p_phyin type string.                                 "#EC *
    DATA:
      go_table         TYPE REF TO cl_salv_table,
      go_sdescr        TYPE REF TO cl_abap_structdescr,
      go_tdescr        TYPE REF TO cl_abap_tabledescr,
      gdo_data         TYPE REF TO data,
      gdo_handle       TYPE REF TO data,
      gs_comp          TYPE abap_componentdescr,
      gt_components    TYPE abap_component_tab.
    FIELD-SYMBOLS:
           TYPE table.
    GLOBAL CONSTANTS
    CONSTANTS c_msgar   TYPE rslgarea   VALUE 'F8'.             "#EC *
    CONSTANTS c_msgid   TYPE rslgsubid  VALUE 'E'.              "#EC *
    CONSTANTS c_urgnc   TYPE char04     VALUE 'HIGH'.           "#EC *
    CONSTANTS C_X(1)       TYPE C          VALUE 'X'.           "#EC *
    CONSTANTS C_Y(1)       TYPE C          VALUE 'Y'.           "#EC *
    CONSTANTS C_Z(1)       TYPE C          VALUE 'Z'.           "#EC *
    CONSTANTS C_E(1)       TYPE C          VALUE 'E'.           "#EC *
    CONSTANTS C_SAP(3)     TYPE C          VALUE 'SAP'.         "#EC *
    CONSTANTS C_MOD(3)     TYPE C          VALUE 'MOD'.         "#EC *
    CONSTANTS C_MD1(3)     TYPE C          VALUE 'MD1'.         "#EC *
    CONSTANTS C_MD2(3)     TYPE C          VALUE 'MD2'.         "#EC *
    CONSTANTS C_MD3(3)     TYPE C          VALUE 'MD3'.         "#EC *
    constants:   c_000001(6)  type c value '000001',            "#EC *
                 c_e1cuv1m(7) type c value 'E1CUV1M',           "#EC *
                 c_02(2)  type c value '02',                    "#EC *
                 c_009(3)   type c value '009',                 "#EC *
                 c_0001(4) type c value '0001'.                 "#EC *
    constants:  c_e1datem(7) type c value 'E1DATEM'.            "#EC *
    constants:  c_e1cuvtm(7) type c value 'E1CUVTM'.            "#EC *
    GLOBAL INTERNAL TABLES FOR ALV DISPLAY
    *Internal tables for ALV Field cat
    DATA :
    i_fieldcat_ov  TYPE STANDARD TABLE OF slis_fieldcat_alv INITIAL SIZE 0,"#EC *
    i_fieldcat_dtl TYPE STANDARD TABLE OF slis_fieldcat_alv INITIAL SIZE 0,"#EC *
    i_fieldcat_ov1 TYPE lvc_t_fcat,                             "#EC *
    i_events       TYPE slis_t_event.                           "#EC *
    GLOBAL WORK AREAS FOR ALV DISPLAY
    *Work area for ALV Field layout
    DATA : wa_layout TYPE slis_layout_alv.                      "#EC *
    *Work area for Field Cat. Table
    DATA : wa_fieldcat TYPE slis_fieldcat_alv.                  "#EC *
    GLOBAL VARIABLES FOR ALV DISPLAY
    DATA : g_event  TYPE slis_t_event.                          "#EC *
    DATA : g_top_of_page TYPE slis_t_listheader.                "#EC *
    DATA : g_ok_code     TYPE char4.                            "#EC *
    DATA : g_variant     type disvariant.                       "#EC *
    GLOBAL CONSTANTS FOR ALV DISPLAY
    BAL handling
    data: iv_log_handle type BALLOGHNDL.                        "#EC *
    data: is_log_header type bal_s_log.                         "#EC *
    data: iv_object     type bal_s_log-object    value 'CAPI'.  "#EC *
    data: iv_subobject  type bal_s_log-subobject value 'CAPI_LOG'."#EC *
    data: iv_tcode      type bal_s_log-altcode   value 'SE38'.  "#EC *
    *MOD-005
    RANGES:
        R_MESTYP FOR EDIDC-MESTYP,                              "#EC *
        R_CREDAT FOR EDIDC-CREDAT,                                  "#EC *
        R_CRETIM FOR EDIDC-CRETIM,                              "#EC *
        R_SNDPRT FOR EDIDC-SNDPRT,                              "#EC *
        R_SNDPRN FOR EDIDC-SNDPRN.                              "#EC *
    DATA:
        L_MESSTYPE TYPE TUMLS_MESSTYPE.                         "#EC *
    *MOD-005
    data:        p_sndprn TYPE EDI_SNDPRN,                      "#EC *
                 p_sndprt TYPE EDI_SNDPRT,                      "#EC *
                 p_sndpor TYPE EDI_SNDPOR.                      "#EC *
    data:        p_rcvprn TYPE EDI_RCVPRN,                      "#EC *
                 p_rcvprt TYPE EDI_RCVPRT,                      "#EC *
                 p_rcvpor TYPE EDI_RCVPOR.                      "#EC *
    data:
      init_E1CUVTM type E1CUVTM,                                "#EC *
      prev_E1CUVTM type E1CUVTM,                                "#EC *
      init_E1DATEM type E1DATEM,                                "#EC *
      prev_E1DATEM type E1DATEM,                                "#EC *
      init_E1CUV1M type E1CUV1M,                                "#EC *
      prev_E1CUV1M type E1CUV1M.                                "#EC *
    Source structure definitions
    data:
      begin of LSMW_TAB_CONTENT,                                "#EC *
        VTNAM(018) type C,
        CHAR1(030) type C,
        CHAR2(030) type C,
        CHAR3(030) type C,
        CHAR4(030) type C,
        CHAR5(030) type C,
        CHAR6(030) type C,
        CHAR7(030) type C,
        CHAR8(030) type C,
        CHAR9(030) type C,
        CHAR10(030) type C,
        CHAR11(030) type C,
        CHAR12(030) type C,
        CHAR13(030) type C,
        CHAR14(030) type C,
        CHAR15(030) type C,
        FLAG(001) type C,
      end of LSMW_TAB_CONTENT.
    Counters
    data:
      g_cnt_VAR_TAB  type i,                                    "#EC *
      g_cnt_TAB_CONTENT  type i.                                "#EC *
    Counter ct_xxxxxxxxxx: number of transferred records
    data:
      ct_edi_dc40 type i,                                       "#EC *
      cs_edi_dc40 type i,                                       "#EC *
      ct_E1CUVTM  type i,                                       "#EC *
      cs_E1CUVTM  type i,                                       "#EC *
      ct_E1DATEM  type i,                                       "#EC *
      cs_E1DATEM  type i,                                       "#EC *
      ct_E1CUV1M  type i,                                       "#EC *
      cs_E1CUV1M  type i.                                       "#EC *
    Global data definitions and data declarations
    DATA: wa_cabn TYPE ty_cabn,
          wa_cawn TYPE ty_cawn,
          wa_file TYPE ty_file,
          wa_vtnam TYPE ty_vtnam,
          wa_cuvtab_fld TYPE ty_cuvtab_fld,
          wa_cuvtab_valn TYPE ty_cuvtab_valn,
          wa_cuvtab_valc TYPE ty_cuvtab_valc,
          wa_col_pos     TYPE ty_col_pos,
          wa_error       TYPE ty_error,
          wa_dupl        TYPE ty_dupl,
          wa_dupl_file   TYPE ty_dupl.
    DATA: wa_vnt_ma TYPE ty_vnt_ma,
          wa_split  TYPE ty_split.
    DATA: wa_charval TYPE ty_charval.                           "#EC *
    Internal table
    DATA: i_cabn        TYPE STANDARD TABLE OF ty_cabn,         "#EC *
          i_cabn_temp   TYPE STANDARD TABLE OF ty_cabn,         "#EC *
          i_cabn_atinn  TYPE STANDARD TABLE OF ty_cabn,         "#EC *
          i_file        TYPE STANDARD TABLE OF ty_file,         "#EC *
          i_file_tmp    TYPE STANDARD TABLE OF ty_file,         "#EC *
          i_vtnam       TYPE STANDARD TABLE OF ty_vtnam,        "#EC *
          i_cuvtab      TYPE STANDARD TABLE OF ty_vtnam,        "#EC *
          i_cuvtab_fld  TYPE STANDARD TABLE OF ty_cuvtab_fld,   "#EC *
          i_cuvtab_valn TYPE STANDARD TABLE OF ty_cuvtab_valn,  "#EC *
          i_cuvtab_valc TYPE STANDARD TABLE OF ty_cuvtab_valc,  "#EC *
          i_col_pos     TYPE STANDARD TABLE OF ty_col_pos,      "#EC *
          i_cawn        TYPE STANDARD TABLE OF ty_cawn,         "#EC *
          i_cawn_n      TYPE STANDARD TABLE OF ty_cawn,         "#EC *
          i_cawn_c      TYPE STANDARD TABLE OF ty_cawn,         "#EC *
          i_cawn_i      TYPE STANDARD TABLE OF ty_cawn,         "#EC *
          i_cuv_error   TYPE STANDARD TABLE OF ty_vtnam,        "#EC *
          i_dupl        TYPE STANDARD TABLE OF ty_dupl.         "#EC *
    DATA: i_vnt_ma TYPE STANDARD TABLE OF ty_vnt_ma,            "#EC *
          i_split  TYPE STANDARD TABLE OF ty_split.             "#EC *
    DATA: i_dupl_file TYPE STANDARD TABLE OF ty_dupl.           "#EC *
    DATA: i_charval TYPE STANDARD TABLE OF ty_charval.          "#EC *
    Constants
    CONSTANTS: c_char TYPE atfor VALUE 'CHAR',                  "#EC *
               c_date TYPE atfor VALUE 'DATE',                  "#EC *
               c_time TYPE atfor VALUE 'TIME',                  "#EC *
               c_varcond TYPE atnam VALUE 'Z_VARCOND'.          "#EC *
    Field Symbols
    FIELD-SYMBOLS:  TYPE ANY.
    Variables
    DATA: g_raw(500)  TYPE c,                                   "#EC *
          g_invalid   TYPE char1,                               "#EC *
          g_error     TYPE char1,                               "#EC *
          g_message   TYPE char50,                              "#EC *
          g_slnid_c    TYPE slnid,                              "#EC *
          g_slnid_n    TYPE slnid,                              "#EC *
          g_row        TYPE char5.                              "#EC *
    DATA: g_varcond TYPE varcond, "Variant condition "#EC NEEDED
          g_split_var TYPE i.                                   "#EC *
    Types: begin of ty_charname,
             name type atnam,
           end of ty_charname.
    data: wa_charname type ty_charname,                         "#EC *
          i_charname type standard table of ty_charname.        "#EC *
    data: cnt_i type i,                                         "#EC *
          g_tabix type char10.                                  "#EC *
    Types: begin of ty_itab_zedidc40.
            include structure edi_dc40.
    TYPES:       end of ty_itab_zedidc40.
    Types: begin of ty_itab_zedidd40.
            include structure edi_dd40.
    TYPES: end of ty_itab_zedidd40.
    DATA: itab_zedidc40 type standard table of
                      ty_itab_zedidc40 initial size 0.          "#EC *
    DATA: itab_zedidd40 type standard table of
                      ty_itab_zedidd40 initial size 0.          "#EC *
    DATA: wa_itab_zedidc40 type ty_itab_zedidc40.
    DATA: wa_itab_zedidd40 type ty_itab_zedidd40.
    *MOD-009
    data: itab_ze1cuvtm type e1cuvtm,                           "#EC *
          itab_ze1datem type e1datem,                           "#EC *
          itab_ze1cuv1m type e1cuv1m.                           "#EC *
    data: wdocnum(16) type n value 0.                           "#EC *
    data: wsegnum(6)  type n value 0.                           "#EC *
    data: witemno(10) type n value 0.                           "#EC *
    data: witemno_new(10)  type n value 0.                      "#EC *
    data: witemno_gst(10)  type n value 0.                      "#EC *
    data: witemno_qst(10)  type n value 0.                      "#EC *
    TYPES: BEGIN OF ty_input_data1,                             "#EC *
              line(560) type c,
              flag(1) type c,
           END OF ty_input_data1.
    DATA: i_input_data type standard table of
                      ty_input_data1 initial size 0. "with header line.
    DATA: i_input_data1 type standard table of
                      ty_input_data1 initial size 0. "with header line.
    DATA: wa_input_data type ty_input_data1.                    "#EC *
    DATA: g_cnt_input_recs type i.                              "#EC *
    DATA: g_flg_error type c.                                   "#EC *
    DATA: l_lines type i.                                       "#EC *
    DATA: l_tabix type i.                                       "#EC *
    DATA: wa_input_data1 type ty_input_data1.                   "#EC *
    DATA: FILE TYPE STRING.
    Fields that are made available to the user:
    DATA:
      g_cnt_records_read TYPE i,                                "#EC *
      g_cnt_records_transferred TYPE i,                         "#EC *
      g_cnt_transactions_read TYPE i,                           "#EC *
      g_cnt_transactions_transferred TYPE i,                    "#EC *
      g_cnt_idocs_package TYPE i.                               "#EC *
    data: v_log_handle type balloghndl.                         "#EC *
    DATA: gt_curr_edi_dc40 TYPE STANDARD TABLE OF edi_dc40 initial size 0."#EC *
    DATA: gt_curr_edi_dd40 TYPE STANDARD TABLE OF edi_dd40 initial size 0."#EC *
    DATA: wa_curr_edi_dc40 TYPE edi_dc40.                       "#EC *
    DATA: wa_curr_edi_dd40 TYPE edi_dd40.                       "#EC *
    internal table for error messages during conversion
    DATA: g_error_tab TYPE type_errortab,                       "#EC *
          wa_errortab TYPE type_errorline.                      "#EC *
    DATA:  g_edidd_segnam type EDI4SEGNAM,                      "#EC *
           g_edidd_hlevel type EDI4HLEVEC.                      "#EC *
    DATA: g_segnum(6) TYPE n.
    DATA: g_objecttype(2) type C.
    DATA: P_FNAME(128) TYPE C VALUE '/usr/sap/trans/vartabheader'. " MODIF ID MD1 OBLIGATORY.
    DATA: P_FNAME1(128) TYPE C VALUE '/usr/sap/trans/vartabcontent'. " MODIF ID MD1 OBLIGATORY.
    DATA: alv_fldcat TYPE slis_t_fieldcat_alv,
          it_fldcat TYPE lvc_t_fcat.
    field-symbols: .
    data: dy_table type ref to data,
          dy_line  type ref to data,
          xfc type lvc_s_fcat,
          ifc type lvc_t_fcat.
    data: l_wa_data TYPE TY_CONTENT,
          itab_data TYPE standard table of TY_CONTENT.
    DECLARATION FOR SELECTION SCREEN
    *selection-screen skip 1.
    *For all the input field entries
    SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.
    *Parameter for Input File Name:
    PARAMETERS:   p_inpt   TYPE RLGRAP-FILENAME MODIF ID MOD . " Presentation server File Variant table
    PARAMETERS:   p_inpt1  TYPE RLGRAP-FILENAME MODIF ID MOD . " Presentation server File variant Content
    SELECTION-SCREEN END OF BLOCK bl1.
    IDoc creation
    selection-screen begin of block idocpars
                     with frame title text-006.
    parameters:
       p_trfcpt as checkbox default C_X MODIF ID MD3,
       p_packge(5) type n default 1 MODIF ID MD3.
    selection-screen end of block idocpars.
    SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-032.
    Radio Buttons :
    parameters:
      rb_apsrv RADIOBUTTON GROUP RB1 DEFAULT 'X' USER-COMMAND UCOM,
      rb_convt RADIOBUTTON GROUP RB1,
      rb_idoc RADIOBUTTON GROUP RB1,
      rb_proc RADIOBUTTON GROUP RB1.
    SELECTION-SCREEN END OF BLOCK bl3.
    INITIALIZATION
    INITIALIZATION.
    Check selection-screen entries *
    *AT SELECTION-SCREEN.
    PERFORM sub_get_physical_file USING p_fpath p_fname.
    PERFORM sub_get_physical_file1 USING p_fpath1 p_fname1.
    AT SELECTION SCREEN
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
    PERFORM sub_get_file. " CHANGING p_fname.         "#EC *
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname1.
    PERFORM sub_get_file1. " CHANGING p_fname1.       "#EC *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INPT.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          STATIC        = C_X
        CHANGING
          FILE_NAME     = P_INPT
        EXCEPTIONS
          MASK_TOO_LONG = 1
          OTHERS        = 2.
      IF SY-SUBRC <> 0.
        MESSAGE e241.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INPT1.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          STATIC        = C_X
        CHANGING
          FILE_NAME     = P_INPT1
        EXCEPTIONS
          MASK_TOO_LONG = 1
          OTHERS        = 2.
      IF SY-SUBRC <> 0.
        MESSAGE e241.
      ENDIF.
    At Selection Screen Output
    AT SELECTION-SCREEN OUTPUT.
    IF rb_apsrv = 'X'.
       LOOP AT SCREEN.
         IF SCREEN-GROUP1 = c_mod.
           SCREEN-INPUT = 0.
         ENDIF.
         IF SCREEN-GROUP1 = c_md2.
           SCREEN-INPUT = 0.
         ENDIF.
         IF SCREEN-GROUP1 = c_md3.
           SCREEN-INPUT = 0.
         ENDIF.
         MODIFY SCREEN.
       ENDLOOP.
    endif.
    IF rb_apsrv = 'X'.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = c_md1.
          SCREEN-INPUT = 0.
        ENDIF.
        IF SCREEN-GROUP1 = c_md2.
          SCREEN-INPUT = 0.
        ENDIF.
        IF SCREEN-GROUP1 = c_md3.
          SCREEN-INPUT = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    endif.
    START-OF-SELECTION
    START-OF-SELECTION.
    *Subroutines for start of selection event
      PERFORM sub_start_selection.
      IF rb_apsrv = 'X'.
        PERFORM sub_upload_data_app.
        MESSAGE i256.
        LEAVE LIST-PROCESSING.
        EXIT.
      ELSE.
        PERFORM sub_upload_data.
      ENDIF.
    PERFORM sub_upload_data.
    Get characteristic details
      PERFORM sub_get_cabn.
    Get value for characteristics
      PERFORM sub_get_cawn.
      perform sub_convert_transaction.
    END-OF-SELECTION.
    END OF SELECTION
    *MOD-012
    Final message
      perform sub_final_message_idoc.
    Display errorneous variant tables.
      perform sub_display_variant.
    Display lines with incorrect data
      perform sub_display_errorlines.
    *Subroutines for end of selection event
      PERFORM sub_end_selection.
      perform sub_clear_source_tables.
    *MOD-012
    *&  Include           /FACTGLB/GTDMI_VARTAB_FORMS02                    *
    *&  Include           /FACTGLB/GTDMI_VARTAB_FORMS02                    *

  • Dynamic switch of component configuration

    Hello all,
    In my webdynpro application i select a list of addresses. Dependent on selected address i would like to show an address with predefined component configuration.
    Selection of addresses and show of an address are implemented in two components but in one application. I have definied configurations for each adress type.
    Is it possible to switch the component configuration at runtime?
    Or i must create two applications and after selection of an address start the second application with an application configuration?
    Thanks
    Regards
    Paul

    hi
    good
    go through this link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b0446f5c-fcb9-2910-e082-88becbe3ddc9
    thanks
    mrutyun^

  • Can we dynamically modify the Component Hierarchy?

    Is it possible to modify the component hierarchy in JSF when making an Ajax call to the server for information?
    I am interested in using Ajax with JSF to update the UI incrementally as needed.
    As an example, imagine a phone book which starts with a list of names. When one clicks on a name, Ajax is used to get the data for that name (i.e., address, phone numbers, etc), and the data is then returned to the client and inserted into the DOM in the client browser under the approprtiate user. This information could be editable. Clearly, as part of this process, I would like the component hierarchy in JSF updated with the new data, also.
    I konw that we could do a complete postback of the entire page plus the new data, and then diff it out on the client (as per the methods outlined by Jacobi and Fallows in Pro JSF and Ajax: Building Rich Internet Components). However, I am wondering if it is possible to update the Component Hierarchy with the new components associated with the new data during the Ajax call, so that we can focus our Ajax request on the needed data only, rather than having to regenerate the entire page.

    Hi wua22,
    For my case, I found that if an attribute called "userPassword" is added in the Schema Manager, after running the above codes which I quoted, it seems that nothing changes since next time when you log on, it can only be authenticated using the old password. However, in this case, actually, the change was made in the ADDED attribute, "userPassword". You'll find where the change made if you have the admin right to check the properties of the users' account using ConsoleOne (or similar tools).
    In addtion, for the exception I encountered in my case, I found that everythings go normally if that ADDED attribute "userPassword" is deleted. So, this time, it's the setting in my LDAP server which caused the problem, but not the programming error.
    BTW, someone suggested that using UnicodePwd attribute, instead of the userPassword for updating one's password. This UnicodePwd attribute is unicode converted. I've not tried on that actually, but will at a later time.
    Hope that helps to you.
    Regards,
    Mercury

  • Dynamically refresh jspx component(i.e af:outputText) based on Java

    Scenario : To update my marquee OutputText value based on Table value change
    I have a requirement like, based on db table value change one of my component has to be refreshed from my server program(i.e java).
    I got the event using DataUpdateEventListener from DB that some changed has been occurred on my table, and the value is set to true on my java class...
    Problem
    Using that true value i have to get the component(i.e af:outputText) from jspx (note: which is not in the region) and refresh the component so that my output value will be updated.
    Any one of you have any idea abut this problem please suggest
    Thanks in advance
    Karthik

    Check my blog http://tompeez.wordpress.com/2013/03/24/jdeveloper-11-1-1-6-0-self-closing-popup/ which shows how to use a poll component on a page. As the use case is to only call hte bean methos once you have to change the implementation in a way that you don't reset the timeout, but leave is as is so that the poll listener is called periodically.
    Timo
    Edited by: Timo Hahn on 13.05.2013 09:23
    I found this video from Shay Shmeltzer showing how to use the poll component: https://blogs.oracle.com/shay/entry/using_the_afpoll_to_refresh_pa

Maybe you are looking for

  • Value mapping in ABAP Versus ID

    Hi Gurus,   As Value mapping can be done using ABAP mapping and Also in Integration Directory... Can Any one tell me what is the exact difference Between these..... Regards, Sainath chutke

  • Syncing Skype: How does it work?

    Hey guys, I'm running Skype on my Mac, but I'm about to install Skype on my Windows 8 PC. Before I login to my Skype account on my Windows 8 PC I just wanted to know where my 'Favorite Contacts' and 'Renamed Contacts' are located. If I login on my Wi

  • Error receiver determination

    Hi, i have a problem whith the receiver determination. The receiver determination fails because the Sender Service is used in upper case by the XI. What i can't explain is, that the business system is written in lower case in the SLD and when this sy

  • Multipathing enable: migrate from netapp to hds

    Our Solaris 9 boxes have been using Netapp San (Brocade switch) We have purchased HDS SAN systems (the Virtual Storage Platform) which also use Brocade 5100 switch Have tested on test server by switching from the old Netapp San to the new HDS San and

  • I nee d help with arport extreme and gateway pc

    My house has 3 macs ( 2 g4's laptops one I mac) When I set the aiport to be password protected. my gateway lap top will not allow me to log on wirelessly. When I try to connett my computer asks foe the network key. That is wherte I get stumped. What