Hide Statement support Deep Structure

Hi
would Hide Statement support Deep Structure?
Regards
Kumar
Moderator message: please search for available information before asking, do not ask interview questions.
locked by: Thomas Zloch on Sep 22, 2010 2:57 PM

Hi,
1) Yes..Hide supports deep structures..Example mentioned below..ALso the hidden values are not stored in the tables..I believe it will be stored in a memory..
DATA: BEGIN OF wa,
       material TYPE mara,
      END OF wa.
wa-material-matnr = 'MATERIAL1'.
WRITE: wa-material-matnr.
HIDE wa-material-matnr.
CLEAR:wa-material-matnr.
AT LINE-SELECTION.
  WRITE: / wa-material-matnr.
  CLEAR: wa-material-matnr.
2) You cannot directly use INCLUDE statement like you do it in sap script..
Instead you can call the FM READ_TEXT to get the text and print..
Thanks,
Naren

Similar Messages

  • How to use hide statement

    hi experts,
                  I am working with interactive report using hide statement.for thr first time it is working properly but the next time it is not working properly.Hope some clear statement has to be given ..
    Please give some simple progarm for interactiev report in list using hide statement.
    regards,
    mani

    HIDE dobj.
    Effect
    This statement stores the content of a variable dobj together with the current list line whose line number is contained in sy-linno in the hide area of the current list level. The data type of the variables dobj must be flat and no field symbols can be specified that point to rows of internal tables, and no class attributes can be specified. The stored values can be read as follows:
    For each user action in a displayed screen list that leads to a list result, all the row values stored using HIDE - that is, the row on which the screen cursor is positioned at the time of the event - are assigned to the respective variables.
    If a list row of an arbitrary list level is read or modified using the statements READ LINE or MODIFY LINE, all the values of this row stored using HIDE are assigned to the respective variables.
    Notes
    The HIDE statement works independently of whether the list cursor was set. In particular, variables for empty list rows can be stored - that is, rows in which the list cursor was positioned using statements like SKIP.
    The HIDE statement should be executed immediately at the statement that has set the list cursor in the row.
    Outside of classes, prior to release 7.0, for dobj constants and literals could still be specified. However, it was not possible to read them at list events and in the READ LINE statement.
    Example
    Storing square numbers and cubic numbers for a list of numbers. The example shows that arbitrary variables can be stored independently of row content. In the real situation, one would more likely store only the number and execute the calculation, when required, in the the event block for AT LINE-SELECTION.
    REPORT ...
    DATA: square TYPE i,
    cube TYPE i.
    START-OF-SELECTION.
    FORMAT HOTSPOT.
    DO 10 TIMES.
    square = sy-index ** 2.
    cube = sy-index ** 3.
    WRITE / sy-index.
    HIDE: square, cube.
    ENDDO.
    AT LINE-SELECTION.
    WRITE: square, cube.
    HIDE f.
    The contents of f related to the current output line are stored. If this line is selected, f is filled automatically with the stored value.
    The selection can be made using:
    AT LINE-SELECTION
    AT PFx
    AT USER-COMMAND
    READ LINE
    You do not have to output the field with WRITE in order to be able to store its value.
    The HIDE statement does not support structures that contain tables (deep structures).
    System fields that are particularly useful in interactive reporting are listed in the system fields for lists documentation.
    You cannot save lines or components of lines of an internal table that is addressed using a field symbol to the HIDE area. (Compare the ASSIGNING addition to the READ and LOOP statements). Assign the contents of the line or component to a global variable and save this instead.
    You can only write variables to the HIDEarea.
    In ABAP Objects, the following statements acause an error message:
    CONSTANTS f.
    HIDE: '...', f.
    Correct syntax:
    DATA: f1, f2.
    HIDE: f1, f2.
    Cause:
    Interactive list events cause the fields hidden by the HIDE command to be overwritten with values in the HIDE area, which means that they must be changeable.n.
    Reward points if useful.

  • [ECC6] Inserting data from internal table (deep structure) into db table

    Hi experts,
    I have a problem when inserting data from IT using deep structure into a database table. Please help:
    I have one database table with 2 columns ZTest (col1, col2). Col1 is key.
    In my program I have a deep structure t_screen using table type lvc_t_scol:
    In 4.6c systems, the INSERT statement works well but it does not work in ECC6 systems.
    DATA: BEGIN OF t_screen OCCURS 0,
            rec_count(3) TYPE n,
            col1 LIKE ZTest-col1,
            col2 LIKE ZTest-col2.
    DATA: ct TYPE lvc_t_scol.
    DATA: END   OF t_screen.
    t_screen-col1 = 'test1'.
    t_screen-col2 = 'test1'.
    APPEND t_screen.
    t_screen-col1 = 'test2'.
    t_screen-col2 = 'test2'.
    APPEND t_screen.
    INSERT ZTest FROM TABLE t_screen ACCEPTING DUPLICATE KEYS.
    Currently I have an idea using a temporary internal table with the same structure as ZTest. Use MOVE-CORRESPONDING statement to move data from t_screen table to temporary table before inserting --> It worked. But do you have any ideas without using temporary table?

    Hi
    There are a large number of stataments couldn't be supported in unicode system and so it doesn't allow to do it in ECC 6.
    U need to delete the deep structure from your defination:
    DATA: BEGIN OF t_screen OCCURS 0,
            rec_count(3) TYPE n,
            col1 LIKE ZTest-col1,
            col2 LIKE ZTest-col2.
    DATA: ct TYPE lvc_t_scol. "<-------- Error is here
    DATA: END   OF t_screen.
    So u need to use a structure like this to update your table:
    DATA: BEGIN OF T_ZTEST OCCURS 0,
            rec_count(3) TYPE n,
            col1 LIKE ZTest-col1,
            col2 LIKE ZTest-col2.
    DATA: END   OFT_ZTEST.
    Max

  • Doubt in Deep Structure???

    HI
    THIS ARIJIT
    CAN ANYONE TELL ME THE
    1)IS MODULE POLL & DIALOG PROGRAM ARE SAME??
    2) WHAT IS DEEP STRUCTURE??IS HIDE SUPPORT THAT??
    I WILL REWARD BY POINT..

    Hi Arijit Paul,
    Flat structures contain only fields of the elementary types C, N, D, T, F, I, P, and X, or structures containing these types.
    Deep structures contain strings, internal tables and field or object references in addition to the elementary types.
    Nested structures are structures that contain substructures as components.
    Non-nested structures are structures that do not contain any substructures.
    Regards,
    Clemens

  • Creating an XML From a Deep Structure  using XSL Transformation

    Hi ABAPers,
    I have a requirement to use XSL Transformations on an ABAP deep type structure.
    Currently i have an API that fills in this deep structure and by using CALL TRANSFORMATION ID.... i will get the BIG XML having having 100s of nodes . But actualy form the deep structure i need only some NODES (say 50)... So i tried writing an XSLT
    in the transaction STRANS.. but on using this TRANSFORMATION which i wrote i am getting an error messgae like INVALID XML...
    Am i going in right track or is there a good solution...
    My sample transformation is as below...
    <xsl:transform version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:strip-space elements="*"/>
    <xsl:template match="/">
    <xsl:value-of select="DATA/NODE_ELEMENTS/UUID_KEY/UUID"/>
    <xsl:value-of select="DATA/NODE_ELEMENTS/SEMANTICAL_NAME"/>
    <xsl:value-of select="DATA/NODE_ELEMENTS/STRUCT_CAT"/>
    <xsl:value-of select="DATA/NODE_ELEMENTS/USAGE_CAT"/>
    <xsl:value-of select="DATA/NODE_ELEMENTS/RESTRICTED_IND"/>
    <xsl:value-of select="VALUES/DATA/NODE_ID"/>.
    </xsl:template>
    </xsl:transform>
    Please help me in solving this issue....
    Thanks,
    Linda.

    Hi Linda,
        I am replying based on your sample code.
       Try the below following suggestions.
       here 'GRPHDR' is the node where I am selecting the data.
               IGRPHDR is the name of the reference.
    First calling the transformation in you program.
    TYPES: BEGIN OF tl_hdr,
               msgid(20)    TYPE c,
                 END OF tl_hdr.
    DATA : t_hdr           TYPE STANDARD TABLE OF tl_hdr.
      GET REFERENCE OF t_hdr INTO l_result_xml-value.
        l_result_xml-name = 'IGRPHDR'.
        APPEND l_result_xml TO t_result_xml.
       TRY.
            CALL TRANSFORMATION yfi_xml_read
            SOURCE XML it_xml_data
            RESULT (t_result_xml).
          CATCH cx_root INTO l_rif_ex.
            l_var_text = l_rif_ex->get_text( ).
            l_bapiret-type = 'E'.
            l_bapiret-message = l_var_text.
            APPEND l_bapiret TO errormsgs.
            EXIT.
        ENDTRY.
    in XSL transformation
       First write a block of statement to specify from which node you are taking the data.
       No matter it is a node or sub-node.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output encoding="iso-8859-1" indent="yes" method="xml" version="1.0"/>
      <xsl:strip-space elements="*"/>
    <xsl:template match="/">
          <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
          <asx:values>
            <IGRPHDR>  " reference name of internal table
              <xsl:apply-templates select="//GrpHdr"/>
            </IGRPHDR>
      </asx:values>
        </asx:abap>
    </xsl:template>
    Next select the data from the nodes under the nodes specified in the transformation.
    here msgid is the field i am selecting for value.
    <xsl:template match="GrpHdr">
        <item>
          <MSGID>  " field in the internal table t_hdr where data has to go
            <xsl:value-of select="MsgId"/>
          </MSGID>
        </item>
      </xsl:template>
    reply back if further clarification is needed.
    Thanks and regards,
    Kannan N

  • Problem with HIDE statement

    Hi All,
    i have been working with an interactive report. while coding for the event AT LINE SELECTION i have used HIDE statement to capture the contents of the row on which click either on basic or secondary list. but the hide statment is not capturing the content of the record which i click. i have debugged the program, when the cursor comes to HIDE statement it is passing into some standard programs and still it is not holding the contents of the record on which i click.
    below is the coding, can anyone let me know where the coding went wrong.
    TABLES: VBAK,                       " Sales Document: Header Data
            VBAP,                       " Sales Document: Item Data
            VBKD,                       " Sales Document: Business Data
            VBEP.                       " Sales Document: Schedule Line Data
    TYPES BEGIN OF TY_VBAK.
            INCLUDE STRUCTURE VBAK.
    TYPES END OF TY_VBAK.
    TYPES BEGIN OF TY_VBAP.
            INCLUDE STRUCTURE VBAP.
    TYPES END OF TY_VBAP.
    TYPES BEGIN OF TY_VBKD.
            INCLUDE STRUCTURE VBKD.
    TYPES END OF TY_VBKD.
    TYPES BEGIN OF TY_VBEP.
            INCLUDE STRUCTURE VBEP.
    TYPES END OF TY_VBEP.
    DATA: IT_VBAK TYPE STANDARD TABLE OF TY_VBAK,
          WA_VBAK TYPE TY_VBAK,
          IT_VBAP TYPE STANDARD TABLE OF TY_VBAP,
          WA_VBAP TYPE TY_VBAP,
          IT_VBKD TYPE STANDARD TABLE OF TY_VBKD,
          WA_VBKD TYPE TY_VBKD,
          IT_VBEP TYPE STANDARD TABLE OF TY_VBEP,
          WA_VBEP TYPE TY_VBEP.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
      SELECT-OPTIONS: S_VKORG FOR VBAK-VKORG,             " SALES ORGANIZATION
                      S_VTWEG FOR VBAK-VTWEG,             " DISTRIBUTION CHANNEL
                      S_SPART FOR VBAK-SPART,             " DIVISION
                      S_ERDAT FOR VBAK-ERDAT.             " OBJECT CREATED DATE
      PARAMETERS: P_ERNAM TYPE VBAK-ERNAM.                " OBJECT CREATED PERSON
    SELECTION-SCREEN END OF BLOCK B1.
    TOP-OF-PAGE.
      WRITE:/ 'THIS IS SALES DOCUMENT HEADER DATA'.
    TOP-OF-PAGE DURING LINE-SELECTION.
    IF SY-LSIND EQ 1.
      WRITE:/ 'THIS IS SALES DOCUMENT ITEM DETAILS'.
    ELSEIF SY-LSIND EQ 2.
      WRITE:/ 'THIS IS SALES DOCUMENT BUSINESS DATA'.
    ELSE.
      WRITE:/ 'THIS IS SALES DOCUMENT SCHEDULING LINE DATA'.
    ENDIF.
    START-OF-SELECTION.
    SELECT *
            FROM VBAK
            INTO TABLE IT_VBAK
            WHERE VKORG IN S_VKORG
            AND   VTWEG IN S_VTWEG
            AND   SPART IN S_SPART
            AND   ERDAT IN S_ERDAT
            AND   ERNAM EQ P_ERNAM.
      LOOP AT IT_VBAK INTO WA_VBAK.
    WRITE:/ WA_VBAK-VBELN HOTSPOT, WA_VBAK-ERNAM, WA_VBAK-VBTYP, WA_VBAK-AUART,
                WA_VBAK-SUBMI, WA_VBAK-VKORG, WA_VBAK-VTWEG, WA_VBAK-VKGRP,
                WA_VBAK-VKBUR, WA_VBAK-KNUMV, WA_VBAK-KTEXT, WA_VBAK-BSTNK,
                WA_VBAK-BSARK, WA_VBAK-BSTZD, WA_VBAK-KUNNR, WA_VBAK-KOSTL.
      HIDE: WA_VBAK-VBELN.
      ENDLOOP.
    AT LINE-SELECTION.
    IF SY-LSIND EQ 1.
        IF NOT IT_VBAK IS INITIAL.
        SELECT *
                FROM VBAP
                INTO TABLE IT_VBAP
                WHERE VBELN EQ WA_VBAK-VBELN.
      ENDIF.
      LOOP AT IT_VBAP INTO WA_VBAP.
    WRITE:/ WA_VBAP-VBELN HOTSPOT, WA_VBAP-POSNR, WA_VBAP-MATNR, WA_VBAP-MATWA,
                WA_VBAP-PMATN, WA_VBAP-CHARG, WA_VBAP-MATKL, WA_VBAP-ARKTX,
                WA_VBAP-PRODH, WA_VBAP-ZWERT, WA_VBAP-ZMENG, WA_VBAP-MEINS,
                WA_VBAP-ABDAT, WA_VBAP-ABSFZ, WA_VBAP-KDMAT, WA_VBAP-KBVER.
        HIDE: WA_VBAP-VBELN.
      ENDLOOP.
    ENDIF.
    IF SY-LSIND EQ 2.
      IF NOT IT_VBAP IS INITIAL.
        SELECT *
                FROM VBKD
                INTO TABLE IT_VBKD
                WHERE VBELN EQ WA_VBAP-VBELN.
      ENDIF.
      LOOP AT IT_VBKD INTO WA_VBKD.
    WRITE:/ WA_VBKD-VBELN HOTSPOT, WA_VBKD-POSNR, WA_VBKD-KONDA, WA_VBKD-KDGRP,
                  WA_VBKD-BZIRK, WA_VBKD-PLTYP, WA_VBKD-INCO2, WA_VBKD-KURRF,
                  WA_VBKD-VALDT, WA_VBKD-PRSDT, WA_VBKD-FKDAT, WA_VBKD-STCUR,
                  WA_VBKD-FPLNR, WA_VBKD-BSTDK, WA_VBKD-AKWAE, WA_VBKD-AKPRZ.
        HIDE: WA_VBKD-VBELN.
      ENDLOOP.
    ENDIF.
    IF SY-LSIND EQ 3.
      IF NOT IT_VBKD IS INITIAL.
        SELECT *
                FROM VBEP
                INTO TABLE IT_VBEP
                WHERE VBELN EQ WA_VBKD-VBELN.
      ENDIF.
      LOOP AT IT_VBEP INTO WA_VBEP.
    WRITE:/ WA_VBEP-VBELN HOTSPOT, WA_VBEP-POSNR, WA_VBEP-ETENR, WA_VBEP-ETTYP,
                  WA_VBEP-EDATU, WA_VBEP-EZEIT, WA_VBEP-WMENG, WA_VBEP-BMENG,
                  WA_VBEP-LMENG, WA_VBEP-MEINS, WA_VBEP-BDDAT, WA_VBEP-BDART,
                  WA_VBEP-VBELE, WA_VBEP-POSNE, WA_VBEP-ETENE, WA_VBEP-BSART.
      ENDLOOP.
    ENDIF.
    in the output iam getting the basic list and the subsequent secondary lists but in the secondary lists iam having the data of the last record of the basic list.
    let me know why the HIDE statement is not getting triggered.
    Thanks,
    BJR.

    Hi,
    Hide statement stores according to sy-linno.
    The Problem is with the empty fields in your Work area. When they are empty it goes for next line and 'write:/' statement will not trigger next line . so, the next work area prints on the same sy-lino which is already reserved for previous one .
    You can read Documentation in that
    HIDE <f>.
    This statement places the contents of the variable <f>
    for the current output line (system field SY-LINNO) into the HIDE area.
    The variable <f> must not necessarily appear on the current line.
    To make your program more readable,
    always place the HIDE statement directly after the output statement
    for the variable <f> or after the last output statement for the current line.
    You can try this piece of code for your understanding,
    DATA:
      w_hide LIKE sy-index.
      DO 20 TIMES.
       w_hide = sy-index.
        WRITE w_hide.
        NEW-LINE.
        HIDE w_hide.
      ENDDO.
    AT LINE-SELECTION.
      IF sy-lsind = 1.
        WRITE w_hide.
      ENDIF.
    Hope you understand.
    Regards,
    Raghava Channooru

  • Can we create a deep structure in RFC?

    Hi,
    My requirement is to create an RFC which has 3 output tables. out of which 1 table contains deep structure, but SAP is not allowing me to create an RFC with deep structure. Message shows only flat structures support in RFC. can any one tell is there any limitation of creating a deep structure in RFC?
    Thanks,
    Kumar.

    Instead of a deep structure, you can define another internal table in your signature which will hold all of the data for all of th records of the other internal table,  you just need a key value from the other internal table to be able to map which records go with what record in the original internal table.  Does this make sense?
    Regards,
    Rich Heilman

  • Declaring deep structures in OOP

    Hello experts,
    I would like to ask for your help in solving a problem, i'm currently stuck at this and can't proceed with the requirement.
    I would like to declare a deep structure in a table and was able to come up with this in procedural programming:
    tables: zsd_output_net.
    data: begin of t_table_structure occurs 0.
              include structure zsd_output_net.
    data end of t_table_structure.
    types: begin of t_output_all,
                  bukrs type anla-bukrs,
                  out_table like t_table_structure occurs 0,
    end of t_output_all.
    data: gt_output_all type standard table of t_output_all with header line,
          wa_out_table like line of t_table_structure.
    This worked and I was able to append entries to table out_table. However, I'm having trouble translating this to OOP since OOP does not support declaration with "OCCURS".
    Here's what I came up in OOP:
    data: begin of t_table_structure.
               include structure zsd_output_net.
    data end of t_table_structure.
    types: begin of t_inner_table,
                in_table like t_table_structure,
    end of t_inner_table.
    types: begin of t_output_all,
                bukrs type anla-bukrs,
                out_table type t_inner_table initial size 1,
               end of t_output_all.
    data: gt_output_all type standard table of t_output_all,
          wa_output_all type t_output_all,
          gt_inner_table type standard table of t_inner_table,
          wa_inner_table type t_inner_table,
          wa_out_table like t_table_structure.
    This did not work because out_table just became a structure and not a table in a table. What should I do so that I would get the same effect as with structural programming?

    what I came up in OOP:
    data: begin of t_table_structure.
    include structure zsd_output_net.
    data end of t_table_structure.
    types: begin of t_inner_table,
    in_table like t_table_structure,
    end of t_inner_table.
    data :gt_inner_table type standard table of t_inner_table,
            wa_inner_table type t_inner_table.
    types: begin of t_output_all,
    bukrs type anla-bukrs,
    out_table type gt_inner_table ,
    end of t_output_all.
    data: gt_output_all type standard table of t_output_all,
    wa_output_all type t_output_all,
    wa_out_table like t_table_structure.

  • Problem with deep structure in OO Context

    Dear All
    As we know deep structures with occurs 0 cannot be declared in Object Oriented context (will give a syntax error). Can some1 please suggest a workaround. I need to declare the following structure in a BADI implementation. But it is a deep structure & gives a syntax error.
    BEGIN OF WI
    OCCURS 0,
    MINDX LIKE SY-INDEX, "Index Merkmal
    WINDX LIKE SY-INDEX, "Index in Datentabelle
    WSELE TYPE C, "Kz. selektiert
    WOHNE TYPE C, "Kz. ohne Wertedefinition
    WWERT TYPE C, "Kz. weitere Werte vorhanden
    ATSON TYPE C, "Kz. Sonderwerte erlaubt
    ESWRT TYPE C, "Kz. Eingeschränkter Wertebereich
    SSTRG TYPE C, "Kz. Stringsuche
    STATU TYPE C, "Status
    ATWRT LIKE CAWN-ATWRT, "Wert sprachneutral
    ATFLV LIKE CAWN-ATFLV, "intern von
    ATFLB LIKE CAWN-ATFLB, "intern bis
    ATAWE LIKE CAWN-ATAWE, "abw. Einheit
    ATAW1 LIKE CAWN-ATAW1, "abw. Einheit bis
    ATCOD LIKE CAWN-ATCOD, "Operator-Ident.
    ATTLV LIKE CAWN-ATTLV, "Toleranz von
    X TYPE C,
    ATTLB LIKE CAWN-ATTLB, "Toleranz bis
    ATPRZ LIKE CAWN-ATPRZ, "Angabe in %
    ATINC LIKE CAWN-ATINC, "Schrittweite
    ATAUT LIKE AUSP-ATAUT, "Author
    WSDEF LIKE CAWN-ATSTD, "Kz. Std.-Wert
    ATZHL LIKE AUSP-ATZHL, "Zähler AUSP
    TXTNR LIKE CAWN-TXTNR, "Text-Nr.
    WTZHL LIKE CAWN-ATZHL, "Zähler CAWN
    AENNR LIKE CAWN-AENNR, "Änderungsnr.
    DATUV LIKE CAWN-DATUV, "Datum von aus Änderungsnr.
    ATZHH LIKE CAWN-ATZHH, "Hierarchie: ATZHL des Parent
    ATWHI LIKE CAWN-ATWHI, "Hierarchie: ATZHL ist Parent
    ATVPL LIKE CAWN-ATVPL, "Kz. Vorplanung
    NATWRT LIKE CAWN-ATWRT, "Sprachneutraler Wert
    CATWRT LIKE CAWN-ATWRT, "CHAR-Wert in DDB
    CATFLV LIKE CAWN-ATFLV, "NONCHAR-Wert in DDB
    KNOBJ LIKE CAWN-KNOBJ, "Beziehungswissen
    KNPRE TYPE C, "KNART: Precondition
    KNACT TYPE C, "KNART: Action
    KNPRO TYPE C, "KNART: Procedure
    VL TYPE VALUE_DESCRIPTION OCCURS 5,
        est_atwrt like ausp-atwrt,      "Eingabestring    (für EH&S) 4.0c
    END   OF WI.
    Help needed urgently!!
    Regards
    Sudhir

    Declare TYPES statement.
    types: BEGIN OF WI,
    MINDX LIKE SY-INDEX, "Index Merkmal
    WINDX LIKE SY-INDEX, "Index in Datentabelle
    WSELE TYPE C, "Kz. selektiert
    WOHNE TYPE C, "Kz. ohne Wertedefinition
    WWERT TYPE C, "Kz. weitere Werte vorhanden
    ATSON TYPE C, "Kz. Sonderwerte erlaubt
    ESWRT TYPE C, "Kz. Eingeschränkter Wertebereich
    SSTRG TYPE C, "Kz. Stringsuche
    STATU TYPE C, "Status
    ATWRT LIKE CAWN-ATWRT, "Wert sprachneutral
    ATFLV LIKE CAWN-ATFLV, "intern von
    ATFLB LIKE CAWN-ATFLB, "intern bis
    ATAWE LIKE CAWN-ATAWE, "abw. Einheit
    ATAW1 LIKE CAWN-ATAW1, "abw. Einheit bis
    ATCOD LIKE CAWN-ATCOD, "Operator-Ident.
    ATTLV LIKE CAWN-ATTLV, "Toleranz von
    X TYPE C,
    ATTLB LIKE CAWN-ATTLB, "Toleranz bis
    ATPRZ LIKE CAWN-ATPRZ, "Angabe in %
    ATINC LIKE CAWN-ATINC, "Schrittweite
    ATAUT LIKE AUSP-ATAUT, "Author
    WSDEF LIKE CAWN-ATSTD, "Kz. Std.-Wert
    ATZHL LIKE AUSP-ATZHL, "Zähler AUSP
    TXTNR LIKE CAWN-TXTNR, "Text-Nr.
    WTZHL LIKE CAWN-ATZHL, "Zähler CAWN
    AENNR LIKE CAWN-AENNR, "Änderungsnr.
    DATUV LIKE CAWN-DATUV, "Datum von aus Änderungsnr.
    ATZHH LIKE CAWN-ATZHH, "Hierarchie: ATZHL des Parent
    ATWHI LIKE CAWN-ATWHI, "Hierarchie: ATZHL ist Parent
    ATVPL LIKE CAWN-ATVPL, "Kz. Vorplanung
    NATWRT LIKE CAWN-ATWRT, "Sprachneutraler Wert
    CATWRT LIKE CAWN-ATWRT, "CHAR-Wert in DDB
    CATFLV LIKE CAWN-ATFLV, "NONCHAR-Wert in DDB
    KNOBJ LIKE CAWN-KNOBJ, "Beziehungswissen
    KNPRE TYPE C, "KNART: Precondition
    KNACT TYPE C, "KNART: Action
    KNPRO TYPE C, "KNART: Procedure
    VL TYPE table of VALUE_DESCRIPTION,est_atwrt like ausp-atwrt, "Eingabestring (für EH&S) 4.0c
    END OF WI.
    types: t_wi type standard table of wi.
    data: wa type wi,
            t_itab type t_wi.

  • How can i map a file with different structures to several deep structures?

    Hey experts,
    here is my situation. I have to build a file2file scenario. The file has a flat structure without any separators. Depending on the value of the keyfield, i have to determinate, which kind of structure in the current sequence there is. Like i wrote, there isn't any fieldseparator, but for every possible structure (overall 4 types) i know the type by the length of every field in the structure.
    My task is:
    1. Read the file into PI and transform to XML
    2. Map the flat structure depending on the keyvalue to the deep structure
    3. Transform several fields in the different structures like the requirement
    4. Write back the file via FTP as the same flat structure as before
    Do you have any approach to solve the item number 2 (the other steps are clear for me)?
    Do i need several mapping-programs? If so, how can i determinate the right mapping-program, deping on the keyvalue?
    Thanks in advance
    Tobi

    Here the inbound payload:
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_MULTI_TYPES xmlns:ns="namespace">
    - <VORSATZ>
      <ZSATA>0</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZLIEF>T</ZLIEF>
      <START>20080905</START>
      <ZFILL />
      <ZENDE>E</ZENDE>
      </VORSATZ>
    - <KOPFSATZ>
      <ZSATA>1</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <BUDAT>20080904</BUDAT>
      <BLDAT>20080904</BLDAT>
      <XBLNR />
      <WAERS />
      <HWAE2>EUR</HWAE2>
      <HWAE3 />
      <KURS2>000000000</KURS2>
      <KURS3>000000000</KURS3>
      <BKTXT />
      <ZFILK />
      <ZENDE>E</ZENDE>
      </KOPFSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>001</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>30611102</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000057576</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>009</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000021070</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AA</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000009796</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4027V63RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <NACHSATZ>
      <ZSATA>9</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZZSOL>000000000359502</ZZSOL>
      <ZZHAB>000000000359502</ZZHAB>
      <ZZBEL>0000001</ZZBEL>
      <ZZPOS>000000010</ZZPOS>
      <ZFILN />
      <ZENDE>E</ZENDE>
      </NACHSATZ>
    - <VORSATZ>
      <ZSATA>0</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZLIEF>T</ZLIEF>
      <START>20080905</START>
      <ZFILL />
      <ZENDE>E</ZENDE>
      </VORSATZ>
    - <KOPFSATZ>
      <ZSATA>1</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <BUDAT>20080904</BUDAT>
      <BLDAT>20080904</BLDAT>
      <XBLNR />
      <WAERS />
      <HWAE2>EUR</HWAE2>
      <HWAE3 />
      <KURS2>000000000</KURS2>
      <KURS3>000000000</KURS3>
      <BKTXT />
      <ZFILK />
      <ZENDE>E</ZENDE>
      </KOPFSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>001</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>30611102</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000057576</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>009</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000021070</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AA</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000009796</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4027V63RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <NACHSATZ>
      <ZSATA>9</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZZSOL>000000000359502</ZZSOL>
      <ZZHAB>000000000359502</ZZHAB>
      <ZZBEL>0000001</ZZBEL>
      <ZZPOS>000000010</ZZPOS>
      <ZFILN />
      <ZENDE>E</ZENDE>
      </NACHSATZ>
      </ns:MT_MULTI_TYPES>
    And here the outbound payload:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_MULTI_TYPES xmlns:ns0="namespace">
    - <VORSATZ>
      <ZSATA>0</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZLIEF>T</ZLIEF>
      <START>20080905</START>
      <ZFILL />
      <ZENDE>E</ZENDE>
      </VORSATZ>
    - <VORSATZ>
      <ZSATA>0</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZLIEF>T</ZLIEF>
      <START>20080905</START>
      <ZFILL />
      <ZENDE>E</ZENDE>
      </VORSATZ>
    - <KOPFSATZ>
      <ZSATA>1</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <BUDAT>20080904</BUDAT>
      <BLDAT>20080904</BLDAT>
      <XBLNR />
      <WAERS />
      <HWAE2>EUR</HWAE2>
      <HWAE3 />
      <KURS2>000000000</KURS2>
      <KURS3>000000000</KURS3>
      <BKTXT />
      <ZFILK />
      <ZENDE>E</ZENDE>
      </KOPFSATZ>
    - <KOPFSATZ>
      <ZSATA>1</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>000</BUZEI>
      <BUDAT>20080904</BUDAT>
      <BLDAT>20080904</BLDAT>
      <XBLNR />
      <WAERS />
      <HWAE2>EUR</HWAE2>
      <HWAE3 />
      <KURS2>000000000</KURS2>
      <KURS3>000000000</KURS3>
      <BKTXT />
      <ZFILK />
      <ZENDE>E</ZENDE>
      </KOPFSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>001</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>30611102</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000057576</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>009</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000021070</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AA</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000009796</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4027V63RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>001</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>30611102</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000057576</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>009</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AB</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000021070</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4025V64RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <POSITIONSSATZ>
      <ZSATA>4</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <KOART>S</KOART>
      <SHKZG>S</SHKZG>
      <NEWKO>20519109</NEWKO>
      <GSBER>17AA</GSBER>
      <ZUBUK />
      <VBUND />
      <WRBTR>0000000000000</WRBTR>
      <ZBTR1>0000000009796</ZBTR1>
      <ZBTR2>0000000000000</ZBTR2>
      <ZSTEU />
      <VALUT>20080904</VALUT>
      <KOSTL />
      <AUFNR />
      <ZUONR>X4027V63RE460XXXXX</ZUONR>
      <SGTXT>REX</SGTXT>
      <BEWAR />
      <ZFPOS />
      <ZENDE>E</ZENDE>
      </POSITIONSSATZ>
    - <NACHSATZ>
      <ZSATA>9</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZZSOL>000000000359502</ZZSOL>
      <ZZHAB>000000000359502</ZZHAB>
      <ZZBEL>0000001</ZZBEL>
      <ZZPOS>000000010</ZZPOS>
      <ZFILN />
      <ZENDE>E</ZENDE>
      </NACHSATZ>
    - <NACHSATZ>
      <ZSATA>9</ZSATA>
      <MANDT>001</MANDT>
      <BUKRS>0560</BUKRS>
      <BLART>8F</BLART>
      <BELNR>1816008128</BELNR>
      <BUZEI>010</BUZEI>
      <ERDAT>20080905</ERDAT>
      <UZEIT>000549</UZEIT>
      <ZPROG>PGRR3010</ZPROG>
      <ZZSOL>000000000359502</ZZSOL>
      <ZZHAB>000000000359502</ZZHAB>
      <ZZBEL>0000001</ZZBEL>
      <ZZPOS>000000010</ZZPOS>
      <ZFILN />
      <ZENDE>E</ZENDE>
      </NACHSATZ>
      </ns0:MT_MULTI_TYPES>

  • Create a deep structure for dynamic internal table

    Hi All,
    I am creating a dynamic table using method cl_alv_table_create=>create_dynamic_table.
    The normal structure gets created. but now I want to creat a Deep structure for having information of colors also for each column. So I want to add a COLTAB type LVC_T_SCOL for colors information .
    How should I create this using above method?
    Rgds,
    Madhuri

    I created a zcelltab structure as below. But while creating dynamic internal table, I received the error  with
    'Type "ZCELLTAB" is unknown 68 ZCELLTAB-CELLTAB
    Here is the code.
    DATA: BEGIN OF ZCELLTAB,
             CELLTAB LIKE LVC_S_STYL,
         END OF ZCELLTAB.
    FIELD-SYMBOLS <T_CELLTAB> TYPE LVC_T_STYL.
    DATA : LT_CELLTAB TYPE LVC_T_STYL.
    DATA:  WA_CELLTAB TYPE LINE OF LVC_T_STYL.
    DATA: GT_FCAT1 TYPE LVC_T_FCAT,
               GW_FCAT1 TYPE LVC_S_FCAT,
                GT_FCAT2 TYPE LVC_T_FCAT,
                GW_FCAT2  TYPE LVC_S_FCAT.
    After filling the FCAT1, I added the field in FCAT2  like below
      GT_FCAT2[ ] = GT_FCAT1[ ].
      G_TABIX = G_TABIX + 1.
      GW_FCAT2-INTTYPE = 'C'.
      MOVE G_TABIX TO GW_FCAT2-COL_POS.
      GW_FCAT2-OUTPUTLEN = '10'.
      GW_FCAT2-FIELDNAME = 'T_CELLTAB'.
      GW_FCAT2-TABNAME = 'ZCELLTAB'.
      GW_FCAT2-REF_FIELD = 'CELLTAB'.
      GW_FCAT2-REF_TABLE = 'ZCELLTAB'.
      APPEND GW_FCAT2 TO GT_FCAT2
      CLEAR GW_FCAT2.
    While calling the below method, the error with
    CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
         EXPORTING
          IT_FIELDCATALOG = GT_FCAT2
        IMPORTING
          EP_TABLE        = GT_REQ.
      ASSIGN GT_REQ->* TO <F_TAB>.
      CREATE DATA GWA_REQ LIKE LINE OF <F_TAB>.
      ASSIGN GWA_REQ->* TO <F_WA>.
    LOOP AT ITAB.
    ASSIGN COMPONENT 'MATNR'  OF STRUCTURE <F_WA> TO <F_VAL>
    <F_VAL> = ITAB-MATNR.
    IF ITAB-MATNR IS INITIAL.
    ASSIGN COMPONENT 'T_CELLTAB' OF STRUCTURE <F_WA> TO <T_CELLTAB>
            CLEAR WA_CELLTAB.
            WA_CELLTAB-FIELDNAME = 'MATNR'.
            WA_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
            INSERT WA_CELLTAB INTO TABLE <T_CELLTAB>.
    ENDIF.
    APPEND <F_WA> TO <F_TAB>
    ENDLOOP.
    CALL METHOD GR_GRID->SET_TABLE_FOR_FIRST_DISPLAY
            EXPORTING
              I_CONSISTENCY_CHECK  = G_CONSISTENCY_CHECK
              IT_TOOLBAR_EXCLUDING = G_EXCLUDE
              I_SAVE               = G_SAVE
           I_DEFAULT            = 'X'
              IS_LAYOUT            = G_LAYOUT
            CHANGING
              IT_OUTTAB            = <F_TAB>
              IT_FIELDCATALOG      = F_CAT1.
    Please let me know where I was wrong.
    Should I remove the T_CELLTAB as the field name is not mentioned in the structure 'ZCELLTAB'.
    Thanks,
    Kumar.
    Edited by: venn e on May 7, 2010 4:10 PM

  • Regarding creation of dynamic deep structure

    Hi all,
    I have to construct the dynamic deep structure.
    for example,
    With the help of information about address and t_table, i have to create the deep structure on runtime.
    In one case i need to create the deep strcuture with address alone and in another case i need to create the deep structure with address and t_table.
    DATA : begin of address ,
        address type string ,
        end of address.
    data : begin of t_tab  ,
      name(10) type c,
      age type i,
      address like address,
      end of t_tab,
      t_table like Table of t_tab.
    data: BEGIN OF wa_vig,
       details1 like address,
       details2 like t_table,
       END OF wa_vig.
    data: BEGIN OF wa_vig,
       details1 like address,
       END OF wa_vig.
    Please guide me, how should i acheive this with the help of dynamic declarion .
    regards
    Vignesh

    Hi All,
    I will be happy if i can acheive this using RTTS concept.
    Regards
    Vignesh

  • How can i point to a specific field in DEEP structure and populate it?

    Hello,
    I have declared a internal table as below,
    DATA: BEGIN OF wa_data,
                  vkorg TYPE vkorg
                  vtweg TYPE vtweg
                  spartTYPE spart
                  field_name TYPE CHAR30
                   value TYPE CHAR50
                END OF wa_data
    DATA: ls_data TYPE wa_data,
                lt_data TYPE STANDARD TABLE OF wa_data.
    The lt_data is populated as below,
    VKORG-------VTWEG-------SPART-------FIELD_NAME-------VALUE
    1000-----------10-------------01------------KALKS---------------ZP00 "Pricing procedure
    1000-----------10-------------01------------ZTERM---------------15 days "Payment terms
    1000-----------10-------------01------------MAHNA---------------09 "Dunning
    Fine.
    Now, i have a DEEP DEEP DEEP structure as belowm
    DATA: ls_deep TYPE cmds_ei_extern. "Pls. see this deep structure 'cmds_ei_extern' in SAP DDIC / SE11
    This deep structure is part of Customer master creation. Now, i would like to POPULATE this deep structure from my lt_data itab DYNAMICALLy, i mean, with out mentioning the field names (like, ZTERM, KALKS, MAHNA etc etc), bcz its these i am pulling this lt_data from a custom table, so going further business may also ADD a new record / field like BUSAB (Accouting clerk) with a value of AL (Allen Christi), hence i want to hv dynamic and its less tediuos also bcz,
    We can LOOP lt_data INTO ls_data (for example, the ls_data-field_name = KALKS)
    Now, point the KALKS in the deep deep deep structure and populate it with a value of ls_data-value (= 15 days)
    ENDLLOOP.
    Pls. let me know How can i do this, i guess, we need to use field symbols, pls. let me know the code to achieve my requirement
    Thank you

    Hi,
    Please refer below code.This will populate field kunnr of the deep structure. Once you select the data as per your requirement,you can write similar code to populate rest of the fields in the deep strucure.
    TYPES : BEGIN OF ty_data,
                 kunnr TYPE kunnr,
                 END OF ty_data.
    FIELD-SYMBOLS : <lfs_cmds_ei_header>   TYPE cmds_ei_header,
                    <lfs_cmds_ei_instance>              TYPE cmds_ei_instance,
                    <lfs_kunnr>                                   TYPE kunnr.
    DATA:  lfs_cmds_ei_extern  TYPE cmds_ei_extern,
                 lr_dytable                  TYPE REF TO data,
                 lr_dytable_wa           TYPE REF TO data,
                 lt_data                       TYPE STANDARD TABLE of ty_data ,
                 wa_data                   TYPE ty_data.
      SELECT kunnr
      FROM yalb_kunde
      UP TO 1 ROWS
      INTO TABLE lt_data.
      IF sy-subrc = 0.
        LOOP AT lt_data INTO lwa_data.
          ASSIGN COMPONENT 'HEADER' OF STRUCTURE lfs_cmds_ei_extern TO <lfs_cmds_ei_header>.
          IF sy-subrc = 0.
            ASSIGN COMPONENT 'OBJECT_INSTANCE' OF STRUCTURE <lfs_cmds_ei_header> TO <lfs_cmds_ei_instance>.
            IF sy-subrc = 0.
              ASSIGN COMPONENT 'KUNNR' OF STRUCTURE <lfs_cmds_ei_instance> TO <lfs_kunnr>.
              IF sy-subrc = 0.
                <lfs_kunnr> = lwa_data-kunnr.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    Thanks,
    Priya

  • Disable or Hide Online Support menu option from: Reader, Acrobat Standard and Pro XI 11.0.2

    Hi,
    I'm trying to make a custom installation for 3 applications: Adobe Reader XI 11.0.2, Acrobat Std. and Pro XI 11.0.2  and most of the options that I wanted to hide are done with the Customization Wizard but I can't hide Online Support. I didn't found yet any FeatureLockDown for this option so far. So our users can still use the Online Support options.
    Notice that I tried to drop a script into: C:\Program Files (x86)\Adobe\Reader 11.0\Reader\Javascripts   but when you 1st open the application it has a delay and somehow you still can access it. But if you try to open it again the menu is hidden.
    //HideMenu.js
    //Help - Online Support
    app.hideMenuItem("OnlineSupport");
    But a FeatureLockDown on HKLM hive will be the best way to disable this option as users don't have access to this registry hive and some advanced users with more rights could be able to delete the .js file if they know where it is saved.
    I will appreaciate your help to get this FeatureLockDown option if it exists or an alternative way.
    Thanks as usual and Kind regards everyone.
    Derspinne.

    Moved to Enterprise Deployment (Acrobat and Reader)

  • Reciever file adapter configuration for Deep structure

    Hi Experts,
                     I have a idoc to file scenario in which i used a data type for file in below format:
    DT_Test
    -->Recordset(0.unbounded)
    >E21DPU1(0.unbounded)
    >field1
    >field2
    >E21DPU5(0.unbounded)
    >filed 3
    >filed 4
    >E21DP03(0.unbounded)
    >filed 5
    >filed 6
    Here DT_test is datatype name,Recordset is a structure name which contain E21DPU1, E21DPU5,E21DPO3 stucture inside it.Now,E21DPU5 and E21DPO3 structures are under E21DPU1.
    I am confused in creating content conversion parameters i.e what we have to mention in Recordset Stucture .
    I used E21DPU1,,E21DPU5,,E21DP03,* .should it work for deep structure.
    Thanks
    Deepak

    Hi,
    file adapter does not handle 2 level deep structures
    the easiest way to do it now is to go for abap or java mapping
    and create a line for each of the output lines and handle this in the file adapter
    so like <line> </line>
    <line>E21DPU1(0.unbounded) with fields </line>
    <line>E21DPU5(0.unbounded) with fields </line>
    <line> etc. </line>
    Regards,
    Michal Krawczyk

Maybe you are looking for