ALV fieldname in layout list

Hi experts,
I have an ALV list, I can modify the layout. When I'm displaying I can choose which columns do I want to display. I can see the columns in a list. Is there any possibility to change the column names in the list? It takes the DDIC reference, but I don't like it, because it has another meaning in my list.

Hi,
Create your own field catlog
For example.
data:   wa_fieldcat TYPE slis_fieldcat_alv,
           it_fieldcat TYPE TABLE OF slis_fieldcat_alv
  CLEAR wa_fieldcat.
  wa_fieldcat-fieldname = 'F!'.
  wa_fieldcat-seltext_m = 'Fld1'.
  wa_fieldcat-outputlen = 10.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat
  wa_fieldcat-fieldname = 'F2'.
  wa_fieldcat-seltext_m = 'Fld2'.
  wa_fieldcat-outputlen = 10.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat
in this way add all your flds to fld catlog.
Remember the fld name must be the same as of your internal table that is passing to the function module,othewise the values are not coming in the that column.
Thanks & Regards,
Anagha Deshmukh

Similar Messages

  • Download alv report using layout variant in background

    Hi All,
    I want to download an Alv report using layout varaint in background job.
    can any one please help me.
    i.e...
    I am facing a problem in downloading a text file to the Application server.
    My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.
    Will rewards to helpfull ans
    regards
    Chetan

    hey seshu,
    I am facing a problem in downloading a text file to the Application server.
    My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.

  • h:messages layout="list" ... but no list

    Hi
    I want to display all form error messages at once as a list
    so I have <h:messages layout="list"> at the top of my form.
    According to docs layout attribute is explained as:
    The type of layout markup to use when rendering error messages. Valid values are "table" (an HTML table) and "list" (an HTML list). If not specified, the default value is "list".
    When I look at the HTML source, there is no list produced..
    no UL with LIs.....
    Any idea?

    Just to add some more info regarding this issue:
    1. if you dont specifgy the layout it uses table and renders correctly.
    Hi
    I want to display all form error messages at once as
    a list
    so I have <h:messages layout="list"> at
    the top of my form.
    According to docs layout attribute is
    explained as:
    The type of layout markup to use when rendering error
    messages. Valid values are "table" (an HTML table)
    and "list" (an HTML list). If not specified, the
    default value is "list".
    When I look at the HTML source, there is no list
    produced..
    no UL with LIs.....
    Any idea?

  • h:messages layout="list"  -- Not rendering as a list

    Hi all,
    I'm trying to use <h:messages layout="list"/> in order to display my error messages as a list on the screen, but what I get are my 2 error messages one after the other, no delimiter and on the same line as this:
    Please select a template.Please selecte the time.
    I didn't see that bug in the JSF bug database, does anyone know if it's taken in care?
    Thanks!
    P.S. I am using the latest version of JSF.

    I've entered this as a bug.
    -roger

  • ALV issue: when save list using Local File command will get run time error!

    help!!!!
    report list using ALV method when to save this list using Local File.
    i will get GETWA_NOT_ASSIGNED run time error information.
    how resolve it?
    source code :
    REPORT   ZIFT0103.
    TABLES :  MARA,MARC,CDHDR,CDPOS,MAKT.
    ******DEVK909212****************
    ****&#21033;&#29992;&#24037;&#21378;&#26469;&#21306;&#20998;&#19981;&#21516;&#30340;SERVER&#30340;FTP ADDRESS ,user ,PASSWORD
    DATA: FTP_WERKS LIKE MARC-WERKS.
    ********&#23450;&#20041;&#19968;&#20010;RANGE&#29992;&#26469;&#25235;&#21462;MARC&#30340;&#20449;&#24687;
    RANGES:R_MATNR FOR MARA-MATNR OCCURS 0.
    ********&#23450;&#20041;&#19968;&#20010;INTERNAL TABLE &#26469;&#25235;&#21462;MARC &#30340;&#20449;&#24687;
    DATA:BEGIN OF IT_MARC OCCURS 0,
          MATNR LIKE MARC-MATNR,
          WERKS LIKE MARC-WERKS,
          USERNAME TYPE CDHDR-USERNAME,
         UDATE    TYPE CDHDR-UDATE,
         FLAG_UI TYPE C,
         END OF IT_MARC.
    *******&#23450;&#20041;&#23384;&#25918;&#21271;&#20140;&#30340;&#25968;&#25454;&#30340;&#21464;&#37327;
    DATA : BEGIN OF FTP_BEIJING OCCURS 0 ,
                  MATNR(25) ,
                  MATNR1(25) ,
                  MAKTX(30) ,
           END OF FTP_BEIJING .
    ******&#23450;&#20041;&#31119;&#28165;&#30340;&#25968;&#25454;&#21464;&#37327;
    DATA : BEGIN OF FTP_FUQING OCCURS 0 ,
                  MATNR(25) ,
                  MATNR1(25) ,
                  MAKTX(30) ,
           END OF FTP_FUQING .
    *******DEVK909212*****************
    DATA : BEGIN OF FTP_ITEMDOC1 OCCURS 0 ,
                  MATNR(25) ,
                  MAKTX(30) ,
           END OF FTP_ITEMDOC1 .
    DATA : BEGIN OF FTP_ITEMDOC OCCURS 0 ,
                  MATNR(25) ,
                  MATNR1(25) ,
                  MAKTX(30) ,
           END OF FTP_ITEMDOC .
    DATA: WA_ZMSGTA TYPE ZMSGTA ,
          l_ersda  like MARA-ERSDA .
    ***********DEVK909553********************
    ****&#29992;&#26469;&#20915;&#23450;&#25191;&#34892;FTP&#36824;&#26159;&#26174;&#31034;LIST**********
    DATA:g_tcode_flag.
    ***********DEVK909553********************
    Error message process ******************************
    DEFINE EXPLAIN_MSG.
       break soe_richard.
      CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
        EXPORTING
          ID                = &1   "SY-MSGID
          NUMBER            = &2   "SY-MSGNO
          LANGUAGE          = SY-LANGU
          TEXTFORMAT        = &3
          LINKPATTERN       =
          MESSAGE_V1        = &4                                "SY-MSGV1
          MESSAGE_V2        = &5                                "SY-MSGV2
          MESSAGE_V3        = &6                                "SY-MSGV3
          MESSAGE_V4        = &7                                "SY-MSGV4
        IMPORTING
          MESSAGE           = &8   "WA_ZMSGTA-MSE1
          RETURN            =
        TABLES
          TEXT              =
    END-OF-DEFINITION.
    DEFINE ERROR_MSG_UPDATA.
      CALL FUNCTION 'ZINSERT_MSG'  "IN UPDATE TASK
        EXPORTING
          XZMSGTA      = &1    "WA_ZMSGTA
        EXCEPTIONS
          UPDATE_ERROR = 1
          OTHERS       = 2.
    END-OF-DEFINITION.
    IF SY-TCODE = 'ZIFT103' .
      g_tcode_flag = 'L'.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          PERCENTAGE = 0
          TEXT       = '&#35831;&#32784;&#24515;&#31561;&#20505;,&#31995;&#32479;&#27491;&#22312;&#25235;&#25968;&#25454;'.
    ENDIF.
    l_ersda = sy-datum - 1 .  "&#21462;&#21069;&#19968;&#22825;&#20135;&#29983;&#30340;&#29289;&#26009;&#21495;&#30721;&#12290;
    DATA:BEGIN OF it_change OCCURS 0,
         OBJECTID TYPE CDHDR-OBJECTID,
         USERNAME TYPE CDHDR-USERNAME,
         UDATE    TYPE CDHDR-UDATE,
         TABKEY   TYPE CDPOS-TABKEY,
         END OF it_change.
    DATA:BEGIN OF it_cDhdr OCCURS 0,
         OBJECTID type CDHDR-OBJECTID,
         CHANGENR TYPE CDHDR-CHANGENR,
         USERNAME TYPE CDHDR-USERNAME,
         UDATE    TYPE CDHDR-UDATE,
         END OF it_cdhdr.
    DATA:search_len TYPE I.
    DATA:BEGIN of it_insert OCCURS 0,
         MATNR TYPE MARA-MATNR,
         WERKS TYPE MARC-WERKS,
         END OF it_insert.
    DATA:BEGIN OF it_MAKT OCCURS 0,
         MATNR TYPE MAKT-MATNR,
         MAKTX TYPE MAKT-MAKTX,
         END OF it_makt.
    DATA IT_MARA TYPE TABLE OF MARA WITH HEADER LINE.
    DATA:BEGIN OF IT_OUT OCCURS 0,
         MATNR TYPE MARA-MATNR,
         WERKS TYPE MARC-WERKS,
         MTART TYPE MARA-MTART,
         MEINS TYPE MARA-MEINS,
         MATKL TYPE MARA-MATKL,
         MAKTX TYPE MAKT-MAKTX,
         PSTAT TYPE MARA-PSTAT,
         BRGEW TYPE MARA-BRGEW,
         NTGEW TYPE MARA-NTGEW,
         GEWEI TYPE MARA-GEWEI,
         FERTH TYPE MARA-FERTH,
         KZUMW TYPE MARA-KZUMW,
         ERNAM TYPE MARA-ERNAM,
         ERSDA TYPE MARA-ERSDA,
         END OF IT_OUT.
    *-- DECLARE DATA FOR ALV
    TYPE-POOLS: slis.
    DATA  : g_variant LIKE disvariant,
            g_save(1) TYPE c,
            g_exit(1) TYPE c,
            gx_variant LIKE disvariant.
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, "
          gt_events   TYPE slis_t_event,
          gt_list_top_of_page TYPE slis_t_listheader,
          gs_print TYPE slis_print_alv,
          gs_layout         TYPE slis_layout_alv .
    ******&#21482;&#33021;&#25235;&#20986;&#31995;&#32479;&#26377;&#20570;&#26356;&#25913;&#30340;&#25968;&#25454;***************
    ******&#32780;&#31532;&#19968;&#27425;INSERT MARA&#30340;&#25968;&#25454;&#25235;&#19981;&#20986;&#26469;********
    START-OF-SELECTION.
    SELECT AOBJECTID AUSERNAME AUDATE BTABKEY
    INTO TABLE it_change
    FROM ( CDPOS AS B INNER JOIN CDHDR AS A ON
         AOBJECTCLAS = BOBJECTCLAS AND
         AOBJECTID   = BOBJECTID   AND
         ACHANGENR   = BCHANGENR )
    WHERE A~OBJECTCLAS = 'MATERIAL'
    AND   A~UDATE = l_ersda
    AND   B~TABNAME = 'MARC'
    AND   B~CHNGIND = 'I'.
    LOOP AT it_change.
       search_len = STRLEN( it_change-TABKEY ).
       search_len = search_len - 4.
       IF search_len > 0.
         IT_MARC-WERKS = it_change-TABKEY+search_len(4).
       ENDIF.
       IT_MARC-MATNR = it_change-objectid+0(18).
       IT_MARC-USERNAME = it_change-username.
       IT_MARC-UDATE    = It_change-udate.
       IT_MARC-FLAG_UI  = 'U'.
       APPEND IT_MARC.
       CLEAR IT_MARC.
       CLEAR R_MATNR.
       R_MATNR-SIGN = 'I'.
       R_MATNR-OPTION = 'EQ'.
       R_MATNR-LOW = IT_MARC-MATNR.
       APPEND R_MATNR.
    ENDLOOP.
    ****CDPOS is Cluster TABLE &#25152;&#20197;&#27809;&#26377;&#21150;&#27861;&#29992;INNER JOIN******
      SELECT OBJECTID CHANGENR USERNAME UDATE
      INTO TABLE it_cdhdr
      FROM CDHDR
      WHERE OBJECTCLAS = 'MATERIAL'
      AND   UDATE = l_ersda.
    AND   TCODE = 'MM02'.
      LOOP AT IT_cdhdr.
        SELECT * FROM CDPOS
        WHERE OBJECTCLAS = 'MATERIAL'
        AND   OBJECTID  = IT_CDHDR-OBJECTID
        AND   CHANGENR  = IT_CDHDR-CHANGENR
        AND   TABNAME   = 'MARC'
        AND   CHNGIND = 'I'.
          search_len = STRLEN( CDPOS-TABKEY ).
          search_len = search_len - 4.
          IF search_len > 0.
            IT_MARC-WERKS = CDPOS-TABKEY+search_len(4).
          ENDIF.
          IT_MARC-MATNR = IT_cdhdr-objectid+0(18).
          IT_MARC-USERNAME = IT_cdhdr-username.
          IT_MARC-UDATE    = IT_cdhdr-udate.
          IT_MARC-FLAG_UI  = 'U'.
          APPEND IT_MARC.
         CLEAR IT_MARC.
          CLEAR R_MATNR.
          R_MATNR-SIGN = 'I'.
          R_MATNR-OPTION = 'EQ'.
          R_MATNR-LOW = IT_MARC-MATNR.
          APPEND R_MATNR.
          CLEAR IT_MARC.
        ENDSELECT.
      ENDLOOP.
      IF g_tcode_flag = 'L'.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
            PERCENTAGE = 20
            TEXT       = '&#22788;&#29702;&#22909;&#24403;&#22825;CHANGE&#30340;&#25968;&#25454;'.
      ENDIF.
    *******&#25235;&#24403;&#22825;&#20570;&#20102;INSERT&#30340;&#25968;&#25454;*************
    *******&#19981;&#38656;&#35201;***********************
    SELECT BMATNR BWERKS INTO TABLE IT_INSERT
    FROM MARC AS B JOIN MARA AS A
    ON   AMATNR = BMATNR
    WHERE A~ERSDA = l_ersda.
    LOOP AT IT_INSERT.
       IT_MARC-MATNR = IT_INSERT-MATNR.
       IT_MARC-WERKS = IT_INSERT-WERKS.
       IT_MARC-FLAG_UI = 'I'.
       APPEND IT_MARC.
       CLEAR IT_MARC.
       CLEAR R_MATNR.
       R_MATNR-SIGN = 'I'.
       R_MATNR-OPTION = 'EQ'.
       R_MATNR-LOW = IT_MARC-MATNR.
       APPEND R_MATNR.
    ENDLOOP.
    IF g_tcode_flag = 'L'.
       CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
           PERCENTAGE = 40
           TEXT       = '&#22788;&#29702;&#22909;&#24403;&#22825;INSERT&#30340;&#25968;&#25454;'.
    ENDIF.
      IF g_tcode_flag = 'L'.
        PERFORM get_MAKTX.
        PERFORM get_mara.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
            PERCENTAGE = 100
            TEXT       = '&#22788;&#29702;&#22909;&#25968;&#25454;,&#24182;&#24320;&#22987;&#26174;&#31034;&#25968;&#25454;'.
        PERFORM do_data.
        PERFORM display_alv.
      ELSE.
        PERFORM get_MAKTX.
        PERFORM do_ftp.
      ENDIF.
    *&      Form  get_marktx
          text
    FORM get_maktx.
      SELECT MATNR MAKTX INTO TABLE IT_MAKT FROM MAKT
      WHERE MATNR IN R_MATNR AND SPRAS = '1'.
    ENDFORM.                    "get_marktx
    *&      Form  get_mara
          text
    FORM get_mara.
      SELECT * INTO TABLE it_mara FROM MARA
      WHERE MATNR IN R_MATNR.
    ENDFORM.                    "get_mara
    *&      Form  do_data
          text
    FORM do_data.
      SORT IT_MARC BY MATNR WERKS.
      DELETE ADJACENT DUPLICATES FROM IT_MARC COMPARING MATNR WERKS.
      LOOP AT IT_MARC.
        CLEAR IT_MAKT.
        CLEAR IT_MARA.
        READ TABLE IT_MAKT WITH KEY MATNR = IT_MARC-MATNR.
        READ TABLE IT_MARA WITH KEY MATNR = IT_MARC-MATNR.
        MOVE-CORRESPONDING IT_MARA TO IT_OUT.
        IT_OUT-MAKTX = IT_MAKT-MAKTX.
        IT_OUT-WERKS = IT_MARC-WERKS.
        IF IT_MARC-FLAG_UI = 'U'.
          IT_OUT-ERNAM = IT_MARC-USERNAME.
        ENDIF.
        APPEND IT_OUT.
        CLEAR IT_OUT.
      ENDLOOP.
    ENDFORM.                    "do_data
    *SELECT AMATNR BMAKTX INTO CORRESPONDING
    *FIELDS OF FTP_ITEMDOC1 FROM MARA AS A JOIN MAKT AS B
    *ON AMATNR = BMATNR WHERE A~ERSDA = l_ersda
    *AND B~SPRAS = '1' . "&#20195;&#34920;&#20026;&#20013;&#25991;&#35828;&#26126;&#12290;
    APPEND FTP_ITEMDOC1.
    *******DEVK909212****************
    *******&#28155;&#21152;RANGE*****************
    CLEAR R_MATNR.
    R_MATNR-SIGN = 'I'.
    R_MATNR-OPTION = 'EQ'.
    R_MATNR-LOW = FTP_ITEMDOC1-MATNR.
    APPEND R_MATNR.
    CLEAR  FTP_ITEMDOC1.
    *******DEVK909212****************
    *ENDSELECT.
    *******DEVK909212****************
    ****get WERKS information from MARC*******
    *SELECT MATNR WERKS INTO TABLE IT_MARC
    *FROM MARC
    *WHERE MATNR IN R_MATNR.
    *******DEVK909212****************
    ******DEVK909212****************
    **MARK**************************
    *LOOP AT FTP_ITEMDOC1 .
    MOVE : FTP_ITEMDOC1-MATNR TO FTP_ITEMDOC-MATNR,
            FTP_ITEMDOC1-MATNR TO FTP_ITEMDOC-MATNR1,
            FTP_ITEMDOC1-MAKTX TO FTP_ITEMDOC-MAKTX.
    APPEND FTP_ITEMDOC.
    CLEAR FTP_ITEMDOC.
    *ENDLOOP.
    ******DEVK909212****************
    ******DEVK909212***********************************
    **&#26681;&#25454;IT_MARC&#20013;&#20449;&#24687;&#65292;&#24448;&#21271;&#20140;&#21644;&#31119;&#28165;&#30340;TABLE&#20889;&#25968;&#25454;*****
    FORM do_ftp.
      LOOP AT IT_MARC.
    ***&#31119;&#28165;&#30340;
        IF IT_MARC-WERKS = '1010' OR IT_MARC-WERKS = '1020'
           OR IT_MARC-WERKS = '1023' .
         READ TABLE FTP_ITEMDOC1 WITH KEY MATNR = IT_MARC-MATNR.
         MOVE : FTP_ITEMDOC1-MATNR TO FTP_FUQING-MATNR,
            FTP_ITEMDOC1-MATNR TO FTP_FUQING-MATNR1,
            FTP_ITEMDOC1-MAKTX TO FTP_FUQING-MAKTX.
          CLEAR IT_MAKT.
          READ TABLE IT_MAKT WITH KEY = IT_MARC-MATNR.
          MOVE : IT_MARC-MATNR TO FTP_FUQING-MATNR,
             IT_MARC-MATNR TO FTP_FUQING-MATNR1,
             IT_MAKT-MAKTX TO FTP_FUQING-MAKTX.
          APPEND FTP_FUQING.
          CLEAR FTP_FUQING.
        ENDIF.
    ***&#21271;&#20140;&#30340;
        IF IT_MARC-WERKS = '1041' OR IT_MARC-WERKS = '1042'.
         READ TABLE FTP_ITEMDOC1 WITH KEY MATNR = IT_MARC-MATNR.
         MOVE : FTP_ITEMDOC1-MATNR TO FTP_BEIJING-MATNR,
            FTP_ITEMDOC1-MATNR TO FTP_BEIJING-MATNR1,
            FTP_ITEMDOC1-MAKTX TO FTP_BEIJING-MAKTX.
          CLEAR IT_MAKT.
          READ TABLE IT_MAKT WITH KEY = IT_MARC-MATNR.
          MOVE : IT_MARC-MATNR TO FTP_BEIJING-MATNR,
                 IT_MARC-MATNR TO FTP_BEIJING-MATNR1,
                 IT_MAKT-MAKTX TO FTP_BEIJING-MAKTX.
          APPEND FTP_BEIJING.
          CLEAR FTP_BEIJING.
        ENDIF.
      ENDLOOP.
    ****&#28165;&#26970;&#37325;&#22797;&#30340;&#25968;&#25454;**********
      SORT FTP_FUQING.
      DELETE ADJACENT DUPLICATES FROM FTP_FUQING.
      SORT FTP_BEIJING.
      DELETE ADJACENT DUPLICATES FROM FTP_BEIJING.
    ***&#20256;&#36865;&#25968;&#25454;********
      REFRESH FTP_ITEMDOC.
      FTP_ITEMDOC[] = FTP_FUQING[].
      FTP_WERKS = '1010'.
      PERFORM ftp_work.
      REFRESH FTP_ITEMDOC.
      FTP_ITEMDOC[] = FTP_BEIJING[].
      FTP_WERKS = '1041'.
      PERFORM ftp_work.
    ******DEVK909212***********************************
    ENDFORM.                    "do_ftp
    *&      Form  ftp_work
         &#25226;&#20197;&#21069;FTP&#30340;&#24037;&#20316;&#20570;&#19968;&#20010;FORM
    *******DEVK909212**************************
    FORM ftp_work.
    *******DEVK909212**************************
      CHECK FTP_ITEMDOC[] IS NOT INITIAL.
    FTP function *****************************************************
      DATA : HDL TYPE I,
             L_SLEN TYPE I ,
             ERROR,
             KEY TYPE I VALUE 26101957,
             DEST TYPE RFCDES-RFCDEST VALUE 'SAPFTPA'.
      DATA: FTP_RESULT TYPE TABLE OF TEXT.
      DATA: P_FILE TYPE RLGRAP-FILENAME.
      DATA: L_USER(16) TYPE C VALUE 'SFIS',
            L_PWD(16) TYPE C VALUE 'SFIS',
            L_HOST(16) TYPE C VALUE '172.16.31.17'.
    *******DEVK909212**************************
    *****&#26681;&#25454;&#19981;&#21516;&#30340;&#24037;&#21378;&#26469;&#25235;FTP&#30340;&#20449;&#24687;
      CALL FUNCTION 'Z_FTP_SFIS'
        EXPORTING
          BLART = 'S'
          WERKS = FTP_WERKS
        IMPORTING
          HOST  = L_HOST
          USER1 = L_USER
          PASS1 = L_PWD.
    *******DEVK909212**************************
      CONCATENATE l_ersda '.KP' INTO P_FILE.
      SET EXTENDED CHECK OFF.
      ERROR = 0.
      CHECK HDL IS INITIAL.
    Connect to server
      L_SLEN = STRLEN( L_PWD ).
      CALL FUNCTION 'HTTP_SCRAMBLE'
        EXPORTING
          SOURCE      = L_PWD
          SOURCELEN   = L_SLEN
          KEY         = KEY
        IMPORTING
          DESTINATION = L_PWD.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
       EXPORTING
         TEXT = 'Connect to FTP Server'.
      CALL FUNCTION 'FTP_CONNECT'
        EXPORTING
          USER            = L_USER
          PASSWORD        = L_PWD
          HOST            = L_HOST
          RFC_DESTINATION = DEST
        IMPORTING
          HANDLE          = HDL
        EXCEPTIONS
          NOT_CONNECTED   = 1
          OTHERS          = 2.
      IF SY-SUBRC <> 0.
        MOVE: 'B' TO WA_ZMSGTA-BLART,
              l_ersda  TO WA_ZMSGTA-REFNUMBER,
              SY-MSGTY TO WA_ZMSGTA-MSGTY,
              'MARA' TO WA_ZMSGTA-TBMA_VAL.
        EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
                    SY-MSGV4 WA_ZMSGTA-MSE1.
        ERROR_MSG_UPDATA WA_ZMSGTA.
        EXIT.
      ENDIF.
      CALL FUNCTION 'FTP_COMMAND'
        EXPORTING
          HANDLE        = HDL
          COMMAND       = 'ascii'
        TABLES
          DATA          = FTP_RESULT
        EXCEPTIONS
          TCPIP_ERROR   = 1
          COMMAND_ERROR = 2
          DATA_ERROR    = 3.
      IF SY-SUBRC <> 0.
        EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
                    SY-MSGV4 WA_ZMSGTA-MSE1.
        MOVE: 'B' TO WA_ZMSGTA-BLART,
              l_ersda  TO WA_ZMSGTA-REFNUMBER,
              SY-MSGTY TO WA_ZMSGTA-MSGTY,
              'MARA' TO WA_ZMSGTA-TBMA_VAL.
        ERROR_MSG_UPDATA WA_ZMSGTA.
        EXIT.
      ENDIF.
      CALL FUNCTION 'FTP_R3_TO_SERVER'
        EXPORTING
          HANDLE         = HDL
          FNAME          = P_FILE
          CHARACTER_MODE = 'X'
        TABLES
          TEXT           = FTP_ITEMDOC
        EXCEPTIONS
          TCPIP_ERROR    = 1
          COMMAND_ERROR  = 2
          DATA_ERROR     = 3
          OTHERS         = 4.
      IF SY-SUBRC <> 0.
        EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
                    SY-MSGV4 WA_ZMSGTA-MSE1.
        MOVE: 'B' TO WA_ZMSGTA-BLART,
              l_ersda  TO WA_ZMSGTA-REFNUMBER,
              SY-MSGTY TO WA_ZMSGTA-MSGTY,
              'MARA' TO WA_ZMSGTA-TBMA_VAL.
        ERROR_MSG_UPDATA WA_ZMSGTA.
        EXIT.
      ENDIF.
    *******DEVK909212**************************
    *******CLOSE FTP******************
      CHECK NOT HDL IS INITIAL.
      CALL FUNCTION 'FTP_DISCONNECT'
        EXPORTING
          HANDLE = HDL.
      CALL FUNCTION 'RFC_CONNECTION_CLOSE'
        EXPORTING
          DESTINATION = DEST
        EXCEPTIONS
          OTHERS      = 1.
      CLEAR HDL.
    ENDFORM.                    "ftp_work
    *******DEVK909212**************************
    FORM DISPLAY_ALV .
    *-- PREPARE ALV DATA
      PERFORM EVENTTAB_BUILD USING GT_EVENTS[].
      PERFORM COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
    *-- LAYOUT SETTING
      PERFORM PREPARE_ALV_FIELD USING GT_FIELDCAT[].
    *-- ALV DISPLAY
      PERFORM CALL_REUSE_ALV_GRID_DISPLAY.
    ENDFORM.                    " display_alv
    *&      Form  eventtab_build
          text
         -->P_GT_EVENTS[]  text
    FORM EVENTTAB_BUILD USING PT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = PT_EVENTS.
      READ TABLE PT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        LS_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY PT_EVENTS FROM LS_EVENT INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                    " eventtab_build
    *&      Form  comment_build
          text
         -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM COMMENT_BUILD  USING PT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER,
            L_DATE(30),
            l_v_BWKEY like T001W-BWKEY,  "Valuation area
            l_v_BUKRS like T001K-BUKRS.  "Firm/Company
    Listen&#57692;erschrift: Typ H
    CLEAR LS_LINE.
    LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
    select single BWKEY
       into l_v_BWKEY
       from t001w
       where WERKS IN s_WERKS.
    select single BUKRS
       into l_v_BUKRS
       from t001k
       where BWKEY = l_v_BWKEY.
    SELECT SINGLE butxt INTO LS_LINE-INFO
        FROM t001
       WHERE bukrs = l_v_BUKRS.
    APPEND LS_LINE TO PT_TOP_OF_PAGE.
    Kopfinfo: Typ S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#25253;&#34920;&#21517;&#31216;&#65306;'.
      LS_LINE-INFO = SY-TITLE.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#25171;&#21360;&#26085;&#26399;&#65306;'.
      WRITE SY-DATUM TO LS_LINE-INFO.
    ls_line-info = sy-datum.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#25171;&#21360;&#26178;&#38291;&#65306;'.
      WRITE SY-UZEIT TO LS_LINE-INFO.
    ls_line-info = sy-uzeit.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#20351;&#29992;&#32773;&#65306;'.
      LS_LINE-INFO = SY-UNAME.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
    ENDFORM.                    " comment_build
    *&      Form  prepare_alv_field
          text
         -->P_GT_FIELDCAT[]  text
    FORM PREPARE_ALV_FIELD USING P_FIELDCAT TYPE  SLIS_T_FIELDCAT_ALV.
      DATA: LS_LINE TYPE  SLIS_FIELDCAT_ALV.
    *-- DEFINE MARCO
      DEFINE APPEND_ALV_FIELD.
        CLEAR LS_LINE.
        LS_LINE-FIELDNAME = &1.
        LS_LINE-TABNAME = &2.
        LS_LINE-REPTEXT_DDIC = &3.
        LS_LINE-SELTEXT_L = &3.
        LS_LINE-SELTEXT_M = &3.
        LS_LINE-SELTEXT_S = &3.
        LS_LINE-QFIELDNAME = &4.
        LS_LINE-QTABNAME = &5.
        LS_LINE-NO_OUT    = &6.
        LS_LINE-NO_ZERO   = &7.
        LS_LINE-OUTPUTLEN = &8.
        APPEND LS_LINE TO P_FIELDCAT.
      END-OF-DEFINITION.
      APPEND_ALV_FIELD: 'MATNR' 'IT_OUT' '&#26009;&#21495;'
                      'O' 'X' ''.
      APPEND_ALV_FIELD: 'WERKS' 'IT_OUT' '&#24037;&#21378;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MTART' 'IT_OUT' 'MTyp'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MEINS' 'IT_OUT' 'BUn'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MATKL' 'IT_OUT' '&#29289;&#26009;&#32452;\&#20998;&#32676;&#30721;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MATKX' 'IT_OUT' '&#29289;&#26009;&#25551;&#36848;'
                        'O' 'X' ''.
      APPEND_ALV_FIELD: 'PSTAT' 'IT_OUT' '&#32500;&#25252;&#29366;&#24577;'
                        'O' 'X' ''.
      APPEND_ALV_FIELD: 'BRGEW' 'IT_OUT' '&#27611;&#37325;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'NTGEW' 'IT_OUT' '&#20928;&#37325;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'GEWEI' 'IT_OUT' 'WUn'
                      'O' 'X' ''.
      APPEND_ALV_FIELD: 'FERTH' 'IT_OUT' '&#23545;&#22806;&#26426;&#31181;&#21517;'
                     'O' 'X' ''.
      APPEND_ALV_FIELD: 'KZUMW' 'IT_OUT' '&#39640;&#20851;&#31246;&#26631;&#35782;'
                   'O' 'X' ''.
      APPEND_ALV_FIELD: 'ERNAM' 'IT_OUT' '&#21019;&#24314;&#32773;'
                 'O' 'X' ''.
      APPEND_ALV_FIELD: 'ERSDA' 'IT_OUT' '&#21019;&#24314;&#26085;&#26399;'
              'O' 'X' ''.
    ENDFORM.                    " prepare_alv_field
    *&      Form  call_reuse_alv_grid_display
          text
    -->  p1        text
    <--  p2        text
    FORM CALL_REUSE_ALV_GRID_DISPLAY .
      gs_layout-f2code              = 'DISPLAY'.
      gs_print-no_print_listinfos   = 'X'.
      gs_layout-colwidth_optimize   = 'X'.       "&#21015;&#23485;&#24230;&#33258;&#21160;&#26681;&#25454;&#20869;&#23481;&#20248;&#21270;
    gs_layout-f2code              = '&ETA'.    "double check&#24377;&#20986;&#35814;&#32454;&#20449;&#24687;
      gs_layout-zebra               = 'X'.       "&#28165;&#21333;&#26465;&#32441;&#26174;&#31034;
      gs_layout-no_vline            = ''.        "&#26159;&#21542;&#26174;&#31034;&#21015;&#38388;&#38548;&#32447;
      gs_layout-box_fieldname       = ''.        "&#26159;&#21542;&#26174;&#31034;checkbox
      gs_layout-confirmation_prompt = ''.        "&#25512;&#20986;&#28165;&#21333;&#26159;&#21542;&#25552;&#31034;
      gs_layout-detail_titlebar     = '&#35814;&#32454;&#20449;&#24687;'."&#35814;&#32454;&#28165;&#21333;&#30340;&#26631;&#39064;
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM                = SY-CPROG
          I_BACKGROUND_ID                   = 'ALV_BACKGROUND'
         I_CALLBACK_PF_STATUS_SET          = 'ALV_PF_STATUS'
         I_CALLBACK_USER_COMMAND           = 'ALV_USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = GT_LIST_TOP_OF_PAGE[]
          IT_FIELDCAT                       = GT_FIELDCAT[]
          IT_EVENTS                         = GT_EVENTS[]
          I_STRUCTURE_NAME                  = 'IT_OUT'
          I_SAVE                            = 'A'
          IS_LAYOUT                         = GS_LAYOUT
          IS_PRINT                          = GS_PRINT
        TABLES
          T_OUTTAB                          = IT_OUT
        EXCEPTIONS
          PROGRAM_ERROR                     = 1
          OTHERS                            = 2
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " call_reuse_alv_grid_display
    *&      Form  PREPARE_ALV_FIELD
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.                    "TOP_OF_PAGE

    Hi,
    Please check your field catalog and refer field names once again.
    Check spelling, or Check strucutre properly.
    There are something wrong in your catalog definition
    aRs.

  • ALV USING FM (layout)

    what is the purpose ''slis_layout_alv".Please explain briefly  and with sample code.

    Hi,
    SLIS_LAYOUT_ALV is a structure which contains
    -->slis_layout_main.
    -->slis_layout_alv_spec.
    structures.
    Actually these structure contains the formatting options of the ALV Display
    Again slis_layout_alv_spec. include contains
    -->slis_layout_alv_spec0.
    -->slis_layout_alv_spec1
    includes.
    In slis_layout_alv_spec0 we contain the following fields
    no_col                   head no headings
    no_hotspot                headings not as hotspot
    zebra                      striped pattern
    no_vline                   columns separated by space
    no_hline                  rows separated by space
    cell_merge                 not suppress field replication
    edit                        for grid only
    edit_mode                  or grid only
    numc_sum                 totals for NUMC-Fields possib.
    no_input                  only display fields
    f2code                    sy-ucomm,  
    reprep                     report report interface active
    no_keyfix                   do not fix keycolumns
    expand_all                  Expand all positions
    no_author                  No standard authority check
    def_status                 default status  space or 'A'
    item_text                   Text for item button
    countfname
    slis_layout_alv_spec1 contains
    no_sumchoice                    no choice for summing up
    no_totalline(                       no total line
    no_subchoice                     no choice for subtotals
    no_subtotals                     no subtotals possible
    no_unit_splitting                no sep. tot.lines by inh.units
    totals_before_items            diplay totals before the items
    totals_only                         show only totals
    totals_text                          text for 1st col. in total line
    subtotals_text                     text for 1st col. in subtotals
    Actually these structure contains the formatting options of the ALV Display
    report zbnstest.
    * TABLES AND DATA DECLARATION.
    *TABLES: mara,makt.",marc.
    data syrepid like sy-repid.
    data sydatum(10). " LIKE sy-datum.
    data sypagno(3) type n.
    * WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
    * GROUP (TYPE-POOLS--------->SLIS)
    type-pools : slis.
    * INTERNAL TABLE DECLARATION.
    * INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
    data: begin of t_mara occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    mtart like mara-mtart,
    matkl like mara-matkl,
    end of t_mara.
    * INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
    data : begin of t_marc occurs 0,
    matnr like mara-matnr,
    werks like marc-werks,
    minbe like marc-minbe.
    data: end of t_marc.
    * INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
    data : begin of t_makt occurs 0,
    matnr like mara-matnr,
    maktx like makt-maktx,
    spras like makt-spras,
    end of t_makt.
    * INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
    data: begin of itab1 occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    maktx like makt-maktx,
    spras like makt-spras,
    werks like marc-werks,
    minbe like marc-minbe,
    end of itab1.
    * THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
    * AND THE LAYOUT FOR THE ALV.
    * HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
    * WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
    * OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
    * THIS IS DONE TO MAKE THE CODE SIMPLER.
    * OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
    * PROGRAMS.
    * IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
    * MORE TABLES AND CREATE A STRUCTURE
    * IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
    * LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
    fieldlayout type slis_layout_alv.
    * DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
    * TOP-OF-PAGE ETC.
    data : eventstab type slis_t_event with header line.
    * DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
    data : heading type slis_t_listheader with header line.
    data : heading1 type slis_t_listheader with header line.
    data : heading2 type slis_t_listheader with header line.
    data : heading3 type slis_t_listheader with header line.
    data : heading4 type slis_t_listheader with header line.
    data : heading5 type slis_t_listheader with header line.
    data : heading6 type slis_t_listheader with header line.
    data : heading7 type slis_t_listheader with header line.
    data : heading8 type slis_t_listheader with header line.
    * STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
    data : colorstruct type slis_coltypes.
    * INITIALIZATION. *
    initialization.
    syrepid = sy-repid.
    sypagno = sy-pagno.
    clear fieldcatalog.
    * START-OF-SELECTION. *
    start-of-selection.
    * SUBROUTINE TO POPULATE THE COLORSTRUCT
    perform fill_colorstruct using colorstruct.
    * SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
    perform populate_fieldcatalog.
    * SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
    * INTERNAL TABLE.
    perform selectdata_and_sort.
    * SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
    perform populate_layout using fieldlayout.
    * SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
    perform merge_fieldcatalog.
    * SUBROUTINE TO POPULATE THE EVENTSTAB.
    perform fill_eventstab tables eventstab.
    * SUBROUTINE TO POPULATE THE HEADING TABLES.
    perform fill_headingtable tables heading using 'HEADING'.
    perform fill_headingtable tables heading1 using 'HEADING1'.
    perform fill_headingtable tables heading2 using 'HEADING2'.
    perform fill_headingtable tables heading3 using 'HEADING3'.
    perform fill_headingtable tables heading4 using 'HEADING4'.
    perform fill_headingtable tables heading5 using 'HEADING5'.
    perform fill_headingtable tables heading6 using 'HEADING6'.
    perform fill_headingtable tables heading7 using 'HEADING7'.
    perform fill_headingtable tables heading8 using 'HEADING8'.
    * SUBROUTINE TO DISPLAY THE LIST.
    perform display_alv_list.
    * FORMS
    * IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
    * OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
    * COLUMN JUSTIFICATION.
    form populate_fieldcatalog.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATNR' 'X' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MEINS' ' '.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MAKTX' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MTART' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATKL' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'SPRAS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'WERKS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MINBE' ' ' .
    endform. " POPULATE_FIELDCATALOG
    * FORM FILL_FIELDS_OF_FIELDCATALOG *
    * --> FIELDCATALOG *
    * --> P_TABNAME *
    * --> P_FIELDNAME *
    * --> P_KEY *
    * --> P_KEY *
    form fill_fields_of_fieldcatalog tables fieldcatalog
    structure fieldcatalog
    using p_tabname
    p_fieldname
    p_key.
    * p_no_out.
    fieldcatalog-tabname = p_tabname.
    fieldcatalog-fieldname = p_fieldname.
    fieldcatalog-key = p_key.
    fieldcatalog-emphasize = '1234'.
    *fieldcatalog-no_out = p_no_out.
    append fieldcatalog.
    endform. " FILL_FIELDSOFFIELDCATALOG
    * FORM POPULATE_LAYOUT *
    * --> FIELDLAYOUT *
    form populate_layout using fieldlayout type slis_layout_alv.
    fieldlayout-f2code = '&ETA' .
    fieldlayout-zebra = 'X'.
    * FOR THE WINDOW TITLE.
    fieldlayout-window_titlebar = 'ALV with Events'.
    fieldlayout-colwidth_optimize = 'X'.
    fieldlayout-no_vline = ' '.
    *fieldlayout-no_input = 'X'.
    fieldlayout-confirmation_prompt = ''.
    fieldlayout-key_hotspot = 'X'.
    * This removes the column headings if the flag is set to 'X'
    fieldlayout-no_colhead = ' '.
    *fieldlayout-hotspot_fieldname = 'MAKTX'.
    fieldlayout-detail_popup = 'X'.
    * fieldlayout-coltab_fieldname = 'X'.
    endform. " POPULATE_LAYOUT
    * FORM SELECTDATA_AND_SORT *
    form selectdata_and_sort.
    select matnr meins mtart matkl from mara
    into corresponding fields of t_mara
    up to 500 rows .
    select matnr maktx spras from makt
    into corresponding fields of t_makt
    where matnr = t_mara-matnr and
    spras = sy-langu.
    select matnr werks minbe from marc
    into corresponding fields of t_marc
    where matnr = t_mara-matnr.
    append t_marc.
    endselect.
    append t_makt.
    endselect.
    append t_mara.
    endselect.
    perform populate_itab1.
    sort itab1 by matnr.
    endform. " SELECTDATA_AND_SORT
    * FORM MERGE_FIELDCATALOG *
    form merge_fieldcatalog.
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    exporting
    i_program_name = syrepid
    i_internal_tabname = 'ITAB1'
    * i_structure_name = 'COLORSTRUCT'
    * I_CLIENT_NEVER_DISPLAY = 'X'
    i_inclname = syrepid
    changing
    ct_fieldcat = fieldcatalog[]
    exceptions
    inconsistent_interface = 1
    program_error = 2
    others = 3.
    endform. " MERGE_FIELDCATALOG
    * IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
    * FOLLOWS:-
    * i_callback_program --> CALLING PROGRAM NAME
    * i_structure_name --> STRUCTURE NAME.
    * is_layout --> LAYOUT NAME.
    * it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
    form display_alv_list.
    call function 'REUSE_ALV_LIST_DISPLAY'
    exporting
    * I_INTERFACE_CHECK = ' '
    i_callback_program = syrepid
    * I_CALLBACK_PF_STATUS_SET = ' '
    * I_CALLBACK_USER_COMMAND = ' '
    i_structure_name = 'ITAB1'
    is_layout = fieldlayout
    it_fieldcat = fieldcatalog[]
    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    * IT_SORT =
    * IT_FILTER =
    * IS_SEL_HIDE =
    * I_DEFAULT = 'X'
    * THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
    * TOOL BAR
    i_save = 'A'
    * IS_VARIANT = ' '
    it_events = eventstab[]
    * IT_EVENT_EXIT =
    * IS_PRINT =
    * I_SCREEN_START_COLUMN = 0
    * I_SCREEN_START_LINE = 0
    * I_SCREEN_END_COLUMN = 0
    * I_SCREEN_END_LINE = 0
    * IMPORTING
    * E_EXIT_CAUSED_BY_CALLER =
    * ES_EXIT_CAUSED_BY_USER =
    tables
    t_outtab = itab1
    exceptions
    program_error = 1
    others = 2.
    endform. " DISPLAY_ALV_LIST
    *& Form POPULATE_ITAB1
    * text
    * --> p1 text
    * <-- p2 text
    form populate_itab1.
    loop at t_mara.
    loop at t_makt where matnr = t_mara-matnr.
    loop at t_marc where matnr = t_mara-matnr.
    move-corresponding t_mara to itab1.
    move-corresponding t_makt to itab1.
    move-corresponding t_marc to itab1.
    append itab1.
    endloop.
    endloop.
    endloop.
    endform. " POPULATE_ITAB1
    *& Form FILL_EVENTSTAB
    * text
    * -->P_EVENTSTAB text *
    form fill_eventstab tables p_eventstab structure eventstab.
    * WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
    * INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
    * AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
    * EVENTS NAME.
    call function 'REUSE_ALV_EVENTS_GET'
    exporting
    i_list_type = 0
    importing
    et_events = p_eventstab[]
    exceptions
    list_type_wrong = 1
    others = 2.
    * BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
    * THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
    * WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
    * FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
    * IS DYNAMICALY CALLED.
    read table p_eventstab with key name = slis_ev_top_of_page.
    if sy-subrc = 0 .
    move 'TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_coverpage.
    if sy-subrc = 0 .
    move 'TOP_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_coverpage .
    if sy-subrc = 0 .
    move 'END_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_top_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_end_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_list_modify.
    if sy-subrc = 0 .
    move 'LIST_MODIFY' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_list.
    if sy-subrc = 0 .
    move 'TOP_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_page.
    if sy-subrc = 0 .
    move 'END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_list .
    if sy-subrc = 0 .
    move 'END_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    endform. " FILL_EVENTSTAB
    *& Form FILL_HEADINGTABLE
    * text
    * -->P_HEADING text *
    form fill_headingtable tables p_heading structure heading
    using tablename.
    case tablename.
    when 'HEADING'.
    p_heading-typ = 'H'.
    concatenate
    ' REPORT NAME:-' syrepid
    ' ABB Industry Pte Ltd' into p_heading-info.
    append p_heading.
    write sy-datum using edit mask '__/__/____' to sydatum.
    concatenate
    ' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
    into p_heading-info.
    append p_heading.
    when 'HEADING1'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING2'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING3'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
    append p_heading.
    when 'HEADING4'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-END-OF-PAGE'.
    append p_heading.
    * WHEN 'HEADING5'.
    * P_HEADING-TYP = 'H'.
    * P_HEADING-INFO = 'LIST-MODIFY'.
    * APPEND P_HEADING.
    when 'HEADING6'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-PAGE'.
    append p_heading.
    when 'HEADING7'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-LIST'.
    append p_heading.
    when 'HEADING8'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-LIST'.
    append p_heading.
    endcase.
    endform. " FILL_HEADINGTABLE
    * FORM TOP_OF_PAGE *
    form top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading[]
    exceptions
    others = 1.
    endform.
    *& Form FILL_COLORSTRUCT
    * text
    * -->P_COLORSTRUCT text *
    form fill_colorstruct using p_colorstruct type slis_coltypes .
    p_colorstruct-heacolfir-col = 6.
    p_colorstruct-heacolfir-int = 1.
    p_colorstruct-heacolfir-inv = 1.
    endform. " FILL_COLORSTRUCT
    * FORM TOP_OF_COVERPAGE *
    form top_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading1[]
    exceptions
    others = 1.
    endform.
    * FORM END_OF_COVERPAGE *
    form end_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading2[]
    exceptions
    others = 1.
    endform.
    * FORM FOREIGN_TOP_OF_PAGE *
    form foreign_top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading3[]
    exceptions
    others = 1.
    endform.
    * FORM FOREIGN_END_OF_PAGE *
    form foreign_end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading4[]
    exceptions
    others = 1.
    endform.
    * FORM LIST_MODIFY *
    *FORM LIST_MODIFY.
    * CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    * EXPORTING
    * IT_LIST_COMMENTARY = HEADING5[]
    * EXCEPTIONS
    * OTHERS = 1.
    *ENDFORM.
    * FORM END_OF_PAGE *
    form end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading6[]
    exceptions
    others = 1.
    endform.
    * FORM END_OF_LIST *
    form end_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading7[]
    exceptions
    others = 1.
    endform.
    * FORM TOP_OF_LIST *
    form top_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading8[]
    exceptions
    others = 1.
    endform.
    reward if helpful
    raam

  • Alv using class In list format

    Hi,
    I am using a method set_table_for_first_display in class cl_gui_alv_grid to display ALV. but by default the output appears in grid format, I want to change the output in LIST format.
    What can I do to change the output in list format.
    Kind Regards,
    Abhishek.

    try this.... this is an example code.... don't use set_table_for_first_display rather use CL_SALV_TABLE and execute the below code
    *& Report  ZAMIT_TEST
    REPORT  zamit_test  MESSAGE-ID z_zzz_ca_messages.
    * constants for icons
    TYPE-POOLS: icon, col.
    * type for internal table
    TYPES: BEGIN OF x_sflight.
    *       selfld TYPE char1.
            INCLUDE STRUCTURE sflight.
    TYPES: seatsfree TYPE sflight-seatsocc,
           usage TYPE n,                    " exception
           icon_future TYPE icon-id,        " icon for future / past
           line_counter TYPE i,             " line counter
           it_colors TYPE lvc_t_scol, " internal tab for cell color info
    END OF x_sflight.
    * Internal table
    DATA: i_sflight  TYPE STANDARD TABLE OF x_sflight,
          wa_sflight TYPE x_sflight,
          wa_colors  TYPE lvc_s_scol,
          list_display TYPE sap_bool,
          vref_cont    TYPE REF TO cl_gui_custom_container,
          vref_alv     TYPE REF TO cl_salv_table,      " ALV instance
          oref_error   TYPE REF TO cx_salv_error,      " Error instance
          l_text_alv_e TYPE string,
          ok_code      TYPE syucomm.
    SELECT-OPTIONS: so_car FOR wa_sflight-carrid MEMORY ID car,
                    so_con FOR wa_sflight-connid.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK alv WITH FRAME TITLE text-alv.
    PARAMETERS: pa_full RADIOBUTTON GROUP alvd DEFAULT 'X',
                pa_cont RADIOBUTTON GROUP alvd,
                pa_list RADIOBUTTON GROUP alvd.
    SELECTION-SCREEN END OF BLOCK alv.
    PARAMETERS: p_layout TYPE slis_vari.
    *       CLASS lcl_handler DEFINITION
    CLASS lcl_handler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
        on_added_function FOR EVENT added_function OF cl_salv_events_table
                IMPORTING e_salv_function, " type salv_de_function
        on_double_click FOR EVENT double_click OF cl_salv_events_table
                IMPORTING row,   " type salv_de_row = int4
        on_link_click FOR EVENT link_click OF cl_salv_events_table
                IMPORTING row    " type salv_de_row = int4
                          column." type salv_de_column = char(30)
    ENDCLASS. "lcl_handler definition
    * CLASS lcl_handler IMPLEMENTATION
    CLASS lcl_handler IMPLEMENTATION.
      METHOD on_added_function.
        DATA: l_oref_columns TYPE REF TO cl_salv_columns_table,
              l_oref_column  TYPE REF TO cl_salv_column_table,
              l_oref_column1 TYPE REF TO cl_salv_column,
              l_except1      TYPE REF TO cx_salv_not_found,   "Exception
              l_text1        TYPE string,                     "Exception msg
              l_lvc_s_colo TYPE lvc_s_colo.
        CASE e_salv_function.
          WHEN 'REORDER'.
    * get the COLUMNS object
            l_oref_columns = vref_alv->get_columns( ).
    * positions: (MANDT column + 3 key colums)
            l_oref_columns->set_column_position( columnname = 'SEATSOCC'
                                                 position = 5 ).
            l_oref_columns->set_column_position( columnname = 'SEATSOCC_B'
                                                 position = 6 ).
            l_oref_columns->set_column_position( columnname = 'SEATSOCC_F'
                                                 position = 7 ).
    *       prepare color info
    *       column SEATSOCC
            TRY.
                CALL METHOD l_oref_columns->get_column
                  EXPORTING
                    columnname = 'SEATSOCC'
                  RECEIVING
                    value      = l_oref_column1.
              CATCH cx_salv_not_found INTO l_except1.
                l_text1 = l_except1->get_text( ).
                MESSAGE i000 WITH l_text1.
                LEAVE LIST-PROCESSING.
            ENDTRY.
            l_oref_column ?= l_oref_column1.
            l_oref_column->set_color( value = l_lvc_s_colo ).
    *       column SEATSOCC_B
            TRY.
                CALL METHOD l_oref_columns->get_column
                  EXPORTING
                    columnname = 'SEATSOCC_B'
                  RECEIVING
                    value      = l_oref_column1.
              CATCH cx_salv_not_found INTO l_except1.
                l_text1 = l_except1->get_text( ).
                MESSAGE i000 WITH l_text1.
                LEAVE LIST-PROCESSING.
            ENDTRY.
            l_oref_column ?= l_oref_column1.
            l_oref_column->set_color( value = l_lvc_s_colo ).
    *       column SEATSOCC_F
            TRY.
                CALL METHOD l_oref_columns->get_column
                  EXPORTING
                    columnname = 'SEATSOCC_F'
                  RECEIVING
                    value      = l_oref_column1.
              CATCH cx_salv_not_found INTO l_except1.
                l_text1 = l_except1->get_text( ).
                MESSAGE i000 WITH l_text1.
                LEAVE LIST-PROCESSING.
            ENDTRY.
            l_oref_column ?= l_oref_column1.
            l_oref_column->set_color( value = l_lvc_s_colo ).
        ENDCASE.
      ENDMETHOD. "on_added_function
      METHOD on_double_click.
        DATA: message_text(70),
              lc_seatsfree_e(10),
              lc_seatsfree_b(10),
              lc_seatsfree_f(10).
        READ TABLE i_sflight INTO wa_sflight INDEX row.
        CHECK sy-subrc EQ 0.
        lc_seatsfree_e = wa_sflight-seatsmax - wa_sflight-seatsocc.
        lc_seatsfree_b = wa_sflight-seatsmax_b - wa_sflight-seatsocc_b.
        lc_seatsfree_f = wa_sflight-seatsmax_f - wa_sflight-seatsocc_f.
        CONCATENATE 'FREE SEATS:'(frs) 'ECONOMY:'(eco) lc_seatsfree_e
        'BUSINESS'(bus) lc_seatsfree_b 'FIRST'(fst) lc_seatsfree_f
                        INTO message_text SEPARATED BY space.
        MESSAGE message_text TYPE 'I'.
      ENDMETHOD. "on_double_click
      METHOD on_link_click.
        DATA: lc_carrname TYPE scarr-carrname,
        lc_currcode TYPE scarr-currcode,
        message_text(70).
        READ TABLE i_sflight INTO wa_sflight INDEX row.
        CHECK sy-subrc EQ 0.
        CASE column.
          WHEN 'CARRID'.
            SELECT SINGLE carrname currcode
            INTO (lc_carrname, lc_currcode)
            FROM scarr
            WHERE carrid = wa_sflight-carrid.
            IF sy-subrc EQ 0.
              CONCATENATE 'AIRLINE:'(air) wa_sflight-carrid
              'NAME:'(nme) lc_carrname
              'CURRENCY:' lc_currcode
              INTO message_text
              SEPARATED BY space.
              MESSAGE message_text TYPE 'I'.
            ENDIF.
          WHEN 'SELFLD'.
            MESSAGE i000 with 'Checkbox Clicked'.
        ENDCASE.
      ENDMETHOD. "on_link_click
    ENDCLASS. "lcl_handler IMPLEMENTATION
    START-OF-SELECTION.
    * retrieve data into internal table
      SELECT * FROM sflight
      INTO CORRESPONDING FIELDS OF TABLE i_sflight
      WHERE carrid IN so_car
      AND connid IN so_con.
    END-OF-SELECTION.
    * fill additional data fields
      LOOP AT i_sflight INTO wa_sflight.
    * seats free
        wa_sflight-seatsfree =
        wa_sflight-seatsmax + wa_sflight-seatsmax_b
        + wa_sflight-seatsmax_f
        - wa_sflight-seatsocc - wa_sflight-seatsocc_b
        - wa_sflight-seatsocc_f.
    * usage (exception light)
        IF wa_sflight-seatsfree = 0.
          wa_sflight-usage = '1'.
        ELSEIF wa_sflight-seatsfree <= 20.
          wa_sflight-usage = '2'.
        ELSE.
          wa_sflight-usage = '3'.
        ENDIF.
    * icon "in the future/not in the future"
        IF wa_sflight-fldate > sy-datum.
          wa_sflight-icon_future = icon_positive.
        ELSE.
          wa_sflight-icon_future = icon_negative.
        ENDIF.
    * cell colors
    * single cell if planetype is 747-400
        IF wa_sflight-planetype = '747-400'.
          CLEAR wa_colors.
          wa_colors-fname = 'PLANETYPE'.
          wa_colors-color-col = col_positive.
          wa_colors-color-int = 1.
          APPEND wa_colors TO wa_sflight-it_colors.
        ENDIF.
    * whole line if seatsfree gt 200
        IF wa_sflight-seatsfree >= 200.
          CLEAR wa_colors.
          wa_colors-color-col = col_heading.
          wa_colors-color-int = 1.
          APPEND wa_colors TO wa_sflight-it_colors.
        ENDIF.
        MODIFY i_sflight
        FROM wa_sflight
             TRANSPORTING
        seatsfree
        usage
        icon_future
        it_colors.
      ENDLOOP.
      CASE 'X'.
        WHEN pa_full OR pa_list.
          IF pa_list IS NOT INITIAL.
            list_display = if_salv_c_bool_sap=>true.
          ELSE.
            list_display = if_salv_c_bool_sap=>false.
          ENDIF.
          TRY.
              CALL METHOD cl_salv_table=>factory
                EXPORTING
                  list_display = list_display
                IMPORTING
                  r_salv_table = vref_alv
                CHANGING
                  t_table      = i_sflight.
            CATCH cx_salv_msg INTO oref_error.
              l_text_alv_e = oref_error->get_text( ).
              MESSAGE i000 WITH l_text_alv_e.
              LEAVE LIST-PROCESSING.
          ENDTRY.
    * define settings
          PERFORM define_settings USING vref_alv.
    * display ALV
          vref_alv->display( ).
        WHEN pa_cont.
          CALL SCREEN 100.
      ENDCASE.
    *&      Form  define_settings
    *       text
    *      -->P_ALV      ALV object
    FORM define_settings USING p_alv TYPE REF TO cl_salv_table.
      PERFORM: sub_set_display    USING p_alv,
               sub_set_columns    USING p_alv,
               sub_set_sorts      USING p_alv,
               sub_set_aggregs    USING p_alv,
               sub_set_selections USING p_alv,
               sub_set_layout     USING p_alv,
               sub_set_functions  USING p_alv,
               sub_set_events     USING p_alv,
               sub_set_header     USING p_alv.
    ENDFORM. " define_settings
    *& Form sub_set_display
    * set general display attributs
    * -->P_ALV ALV object
    FORM sub_set_display USING p_alv TYPE REF TO cl_salv_table.
      DATA: lr_display TYPE REF TO cl_salv_display_settings,
            l_title TYPE lvc_title.
    * get display settings object
      lr_display = p_alv->get_display_settings( ).
    * set header
      l_title = text-ttl.
      lr_display->set_list_header( value = text-ttl ).
    * set horizontal lines off
      lr_display->set_horizontal_lines( value = ' '  ).
    * set striped pattern
      lr_display->set_striped_pattern( value = 'X' ).
    ENDFORM. " sub_set_display
    *&      Form  sub_set_columns
    *       text
    *      -->P_ALV      text
    FORM sub_set_columns USING p_alv TYPE REF TO cl_salv_table.
      DATA: l_oref_columns TYPE REF TO cl_salv_columns_table,
            l_oref_column  TYPE REF TO cl_salv_column_table,
            l_oref_column1 TYPE REF TO cl_salv_column,
            l_except1      TYPE REF TO cx_salv_not_found,   "Exception
            l_except2      TYPE REF TO cx_salv_data_error,  "Exception
            l_text1        TYPE string,                     "Exception msg
            l_scrtext_s    TYPE scrtext_s,
            l_scrtext_m    TYPE scrtext_m,
            l_scrtext_l    TYPE scrtext_l,
            l_lvc_tip      TYPE lvc_tip,     " for tooltip
            l_pos          TYPE i,           " column position
            l_lvc_s_colo   TYPE lvc_s_colo.  " column color
      l_oref_columns = p_alv->get_columns( ).   " get columns object
    * set exception column
      TRY.
          CALL METHOD l_oref_columns->set_exception_column
            EXPORTING
              value = 'USAGE'.
        CATCH cx_salv_data_error INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
    * set count column
      TRY.
          CALL METHOD l_oref_columns->set_count_column
            EXPORTING
              value = 'LINE_COUNTER'.
        CATCH cx_salv_data_error INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
    * set cell colors / line colors column
      TRY.
          CALL METHOD l_oref_columns->set_color_column
            EXPORTING
              value = 'IT_COLORS'.
        CATCH cx_salv_data_error INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
    * column ICON_FUTURE
      TRY.
          CALL METHOD l_oref_columns->get_column
            EXPORTING
              columnname = 'ICON_FUTURE'
            RECEIVING
              value      = l_oref_column1.
        CATCH cx_salv_not_found INTO l_except1.
          l_text1 = l_except1->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
      l_oref_column ?= l_oref_column1.
      l_oref_column->set_icon( ).
      l_scrtext_s = text-fut.
      l_oref_column->set_short_text( value = l_scrtext_s ).
      l_oref_column->set_row( value = 2 ).
    * Column SEATSFREE
      TRY.
          CALL METHOD l_oref_columns->get_column
            EXPORTING
              columnname = 'SEATSFREE'
            RECEIVING
              value      = l_oref_column1.
        CATCH cx_salv_not_found INTO l_except1.
          l_text1 = l_except1->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
      l_oref_column ?= l_oref_column1.
    * set color to COL_GROUP
      l_lvc_s_colo-col = col_group.
      l_lvc_s_colo-int = 1.
      l_oref_column->set_color( value = l_lvc_s_colo ).
    ** Column SELFLD
    *  TRY.
    *      CALL METHOD l_oref_columns->get_column
    *        EXPORTING
    *          columnname = 'SELFLD'
    *        RECEIVING
    *          value      = l_oref_column1.
    *    CATCH cx_salv_not_found INTO l_except1.
    *      l_text1 = l_except1->get_text( ).
    *      MESSAGE i000 WITH l_text1.
    *      LEAVE LIST-PROCESSING.
    *  ENDTRY.
    *  l_oref_column ?= l_oref_column1.
    ** set color to COL_GROUP
    *  if pa_list = 'X'.
    *  l_oref_column->set_cell_type( value =
    *                               if_salv_c_cell_type=>CHECKBOX ).
    *  ELSEIF pa_full = 'X'.
    *    l_oref_column->set_cell_type( value =
    *                               if_salv_c_cell_type=>CHECKBOX_HOTSPOT ).
    *  endif.
    ENDFORM.                    "sub_set_columns
    *& Form sub_set_sorts
    * -->P_ALV text
    FORM sub_set_sorts USING p_alv TYPE REF TO cl_salv_table.
      DATA: l_oref_sorts TYPE REF TO cl_salv_sorts,
            l_except1      TYPE REF TO cx_salv_not_found,   "Exception
            l_except2      TYPE REF TO cx_salv_existing,    "Exception
            l_except3      TYPE REF TO cx_salv_data_error,  "Exception
            l_text1        TYPE string.                     "Exception msg
    * get the SORTS object
      l_oref_sorts = p_alv->get_sorts( ).
    * add sorts
      TRY.
          CALL METHOD l_oref_sorts->add_sort
            EXPORTING
              columnname = 'CARRID'
              position   = 1.
        CATCH cx_salv_not_found INTO l_except1.
          l_text1 = l_except1->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_existing  INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_data_error INTO l_except3.
          l_text1 = l_except3->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
      TRY.
          CALL METHOD l_oref_sorts->add_sort
            EXPORTING
              columnname = 'CONNID'
              position   = 2
              subtotal   = if_salv_c_bool_sap=>true.
        CATCH cx_salv_not_found INTO l_except1.
          l_text1 = l_except1->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_existing  INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_data_error INTO l_except3.
          l_text1 = l_except3->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
      TRY.
          CALL METHOD l_oref_sorts->add_sort
            EXPORTING
              columnname = 'FLDATE'
              position   = 3.
        CATCH cx_salv_not_found INTO l_except1.
          l_text1 = l_except1->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_existing  INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_data_error INTO l_except3.
          l_text1 = l_except3->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
    ENDFORM. " sub_set_sorts
    *& Form sub_set_aggregs
    * -->P_ALV text
    FORM sub_set_aggregs USING p_alv TYPE REF TO cl_salv_table.
      DATA: l_oref_aggregs TYPE REF TO cl_salv_aggregations,
            l_except1      TYPE REF TO cx_salv_data_error,  "Exception
            l_except2      TYPE REF TO cx_salv_not_found,   "Exception
            l_except3      TYPE REF TO cx_salv_existing,    "Exception
            l_text1        TYPE string.                     "Exception msg
      l_oref_aggregs = p_alv->get_aggregations( ).
      TRY.
          CALL METHOD l_oref_aggregs->add_aggregation
            EXPORTING
              columnname  = 'SEATSFREE'
              aggregation = if_salv_c_aggregation=>total.
        CATCH cx_salv_data_error INTO l_except1.
          l_text1 = l_except1->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_not_found  INTO l_except2.
          l_text1 = l_except2->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
        CATCH cx_salv_existing   INTO l_except3.
          l_text1 = l_except3->get_text( ).
          MESSAGE i000 WITH l_text1.
          LEAVE LIST-PROCESSING.
      ENDTRY.
    ENDFORM. " sub_set_aggregs
    *& Form sub_set_selections
    * -->P_ALV text
    FORM sub_set_selections USING p_alv TYPE REF TO cl_salv_table.
      DATA: lr_selections TYPE REF TO cl_salv_selections.
    * get the SELECTIONS object
      lr_selections = p_alv->get_selections( ).
    * set the selection mode
      lr_selections->set_selection_mode(
                     value = if_salv_c_selection_mode=>cell ).
    ENDFORM. " sub_set_selections
    *& Form sub_set_layout
    * -->P_ALV text
    FORM sub_set_layout USING p_alv TYPE REF TO cl_salv_table.
      DATA: lr_layout TYPE REF TO cl_salv_layout,
      ls_key TYPE salv_s_layout_key.
    * get the LAYOUT object
      lr_layout = p_alv->get_layout( ).
    * set the layout key
      ls_key-report = sy-cprog.
      lr_layout->set_key( value = ls_key ).
    * set save restriction
    * (restriction "none" is intended,
    * so we may use the default)
      lr_layout->set_save_restriction(
    * VALUE = IF_SALV_C_LAYOUT=>RESTRICT_NONE
    * allow setting a default layout
      lr_layout->set_default( value = 'X' ).
    * set initial layout
      lr_layout->set_initial_layout( value = p_layout ).
    ENDFORM. " sub_set_layout
    *& Form sub_set_functions
    * -->P_ALV text
    FORM sub_set_functions USING p_alv TYPE REF TO cl_salv_table.
      DATA: lr_functions TYPE REF TO cl_salv_functions_list,
            l_except1    TYPE REF TO cx_salv_existing,
            l_except2    TYPE REF TO cx_salv_wrong_call,
            l_text1      TYPE string,
    * help variables for method call ADD_FUNCTION
            l_icon       TYPE string,
            l_text       TYPE string,
            l_tooltip    TYPE string.
    IF pa_full = 'X' or pa_list = 'X'.
      p_alv->set_screen_status( pfstatus = 'SALV_TABLE_STANDARD'
                                report = sy-repid
                           set_functions = p_alv->c_functions_all ).
    ENDIF.
    * get the FUNCTIONS object
      lr_functions = p_alv->get_functions( ).
    * offer all generic functions
      lr_functions->set_all( value = if_salv_c_bool_sap=>true ).
    * subtract average
      lr_functions->set_aggregation_average(
                        value = if_salv_c_bool_sap=>false ).
    * subtract all export functions
      lr_functions->set_group_export(
                        value = if_salv_c_bool_sap=>false ).
    * enable exort to local file
      lr_functions->set_export_localfile(
                        value = if_salv_c_bool_sap=>true ).
    * subtract transfer to lotus
      lr_functions->set_view_lotus(
                        value = if_salv_c_bool_sap=>false ).
    * customer defined function:
    * display occupied seats columns most left
    * and highlight them
    *  IF pa_cont = 'X'.
    *    l_icon = icon_insert_row.
    *    l_text = text-tot.
    *    l_tooltip = text-ttt.
    *    TRY.
    *        CALL METHOD lr_functions->add_function
    *          EXPORTING
    *            name     = 'REORDER'
    *            icon     = l_icon
    *            text     = l_text
    *            tooltip  = l_tooltip
    *     position = if_salv_c_function_position=>right_of_salv_functions.
    *      CATCH cx_salv_existing   INTO l_except1.
    *        l_text1 = l_except1->get_text( ).
    *        MESSAGE i000 WITH l_text1.
    *        LEAVE LIST-PROCESSING.
    *      CATCH cx_salv_wrong_call INTO l_except2.
    *        l_text1 = l_except2->get_text( ).
    *        MESSAGE i000 WITH l_text1.
    *        LEAVE LIST-PROCESSING.
    *    ENDTRY.
    *  ENDIF.
    ENDFORM. " sub_set_functions
    *& Form sub_set_events
    * text
    * -->P_ALV text
    FORM sub_set_events USING p_alv TYPE REF TO cl_salv_table.
      DATA: lr_event TYPE REF TO cl_salv_events_table.
    * get the EVENT object
      lr_event = p_alv->get_event( ).
      SET HANDLER :
      lcl_handler=>on_added_function FOR lr_event,
      lcl_handler=>on_double_click   FOR lr_event,
      lcl_handler=>on_link_click     FOR lr_event.
    ENDFORM. " sub_set_events
    *& Form sub_set_header
    * -->P_ALV text
    FORM sub_set_header
    USING p_alv TYPE REF TO cl_salv_table.
      DATA: lr_grid TYPE REF TO cl_salv_form_layout_grid.
    * 1st step: create the grid object
      CREATE OBJECT lr_grid.
    * 2nd step: add some text items
      lr_grid->create_header_information( row = 1  column = 1
                             text = 'Flight List Grp ##'(fll) ).
      lr_grid->create_text( row = 2  column = 1
                             text = 'Please check utilization'(uti) ).
    * 3rd step: declare grid as header of list
      p_alv->set_top_of_list( value = lr_grid ).
    ENDFORM. " sub_set_header
    *& Module STATUS_0100 OUTPUT
    * text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SALV_TABLE_STANDARD'.
      SET TITLEBAR 'T100'.
    ENDMODULE. " STATUS_0100 OUTPUT
    *& Module create_control OUTPUT
    * text
    MODULE create_control OUTPUT.
      IF vref_cont IS NOT BOUND.
    * create container control
    * and link it to the dynpro
        CREATE OBJECT vref_cont
        EXPORTING
          container_name = 'MY_CONTAINER'
        EXCEPTIONS
          OTHERS = 1.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Error when creating the container object'.
        ENDIF.
    * create ALV and
    * link it to the container control
        TRY.
            cl_salv_table=>factory(
            EXPORTING
              r_container = vref_cont
            IMPORTING
              r_salv_table = vref_alv
            CHANGING
              t_table = i_sflight ).
          CATCH cx_salv_msg INTO oref_error.
            l_text_alv_e = oref_error->get_text( ).
            MESSAGE i000 WITH l_text_alv_e.
            LEAVE LIST-PROCESSING.
        ENDTRY.
    * display ALV
        vref_alv->display( ).
      ENDIF.
    ENDMODULE. " create_control OUTPUT
    *& Module USER_COMMAND_0100 INPUT
    * text
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
          SET SCREEN 0.
      ENDCASE.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *&      Module  exit  INPUT
    *       text
    MODULE exit INPUT.
      SET SCREEN 0.
    ENDMODULE.                 " exit  INPUT

  • Downloading ALV Report using Layout Variant

    I want to download an Alv grid report output using layout varaint to Presentation server and also wants to mail to user .
    i.e...
    I am facing a problem in downloading and in sending mail.
    My requirement is, user  will choose  layout variant
    As per Variant chosen, i have to download that alv grid output to presentation server and also to mail.
    These download and mail sending options is in selction screen
    Will rewards to helpfull ans

    Hello,
    Do like this.
    FORM DOWNLOAD_FILE TABLES P_T_LISTE STRUCTURE G_T_LISTE.
      G_R_DISP_VARIANT-REPORT = SY-REPID.
      G_R_DISP_VARIANT-VARIANT = PA_VAR.
      CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
           EXPORTING
                I_DIALOG            = 'N'
                I_USER_SPECIFIC     = 'A'
                I_DEFAULT           = 'X'
                IT_DEFAULT_FIELDCAT = G_T_FIELDCAT
                I_LAYOUT            = G_R_LAYOUT
           IMPORTING
                ET_FIELDCAT         = G_T_FIELDCAT
                ES_LAYOUT           = G_R_LAYOUT
           CHANGING
                CS_VARIANT          = G_R_DISP_VARIANT
           EXCEPTIONS
                ERROR_MESSAGE       = 4
                OTHERS              = 4.
      LOOP AT G_T_FIELDCAT INTO G_R_FIELDCAT WHERE NO_OUT NE 'X'
                                               AND TECH IS INITIAL
                                               AND FIELDNAME NE 'ICON'.
        MOVE-CORRESPONDING G_R_FIELDCAT TO IS_FIELDCAT.
        IS_FIELDCAT-FIELDNAME = G_R_FIELDCAT-FIELDNAME.
        IS_FIELDCAT-INTTYPE   = G_R_FIELDCAT-INTTYPE.
        IS_FIELDCAT-OUTPUTLEN = G_R_FIELDCAT-OUTPUTLEN.
        IS_FIELDCAT-REF_FIELD = G_R_FIELDCAT-FIELDNAME.
        IS_FIELDCAT-REF_TABLE = G_R_FIELDCAT-REF_TABNAME.
        APPEND IS_FIELDCAT TO IT_FIELDCAT.
      ENDLOOP.
      DATA: WA_LISTE LIKE P_T_LISTE.
      CLEAR:IT_OUTTAB.
      REFRESH: IT_OUTTAB.
      LOOP AT P_T_LISTE INTO WA_LISTE.
        WA_OUTTAB-PSPID = WA_LISTE-PSPID .
        WA_OUTTAB-POSID = WA_LISTE-POSID.
        WA_OUTTAB-POST1 = WA_LISTE-POST1.
        WA_OUTTAB-STTXT_INT = WA_LISTE-STTXT_INT.
        WA_OUTTAB-STTXT_EXT = WA_LISTE-STTXT_EXT.
        APPEND WA_OUTTAB TO IT_OUTTAB.
      ENDLOOP.
    **dynamic table creation for data
      ASSIGN LT_DATA TO <FS_DATA>.
    * Create a new Table
      CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
      EXPORTING
            IT_FIELDCATALOG = IT_FIELDCAT
      IMPORTING
            EP_TABLE = <FS_DATA>
      EXCEPTIONS
          GENERATE_SUBPOOL_DIR_FULL = 1
          OTHERS                    = 2.
      IF SY-SUBRC = 0.
        ASSIGN <FS_DATA>->* TO <FS_1>.
        CREATE DATA NEW_LINE LIKE LINE OF <FS_1>.
    *** A field-symbol to access that work area
        ASSIGN NEW_LINE->*  TO <FS_2>.
    **MOVE DATA
        LOOP AT IT_OUTTAB INTO WA_OUTTAB.
          CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
               EXPORTING
                    INPUT  = WA_OUTTAB-PSPID
               IMPORTING
                    OUTPUT = WA_OUTTAB-PSPID.
          CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
               EXPORTING
                    INPUT  = WA_OUTTAB-POSID
               IMPORTING
                    OUTPUT = WA_OUTTAB-POSID.
          LOOP AT G_T_FIELDCAT INTO G_R_FIELDCAT
                              WHERE NO_OUT IS INITIAL
                                AND TECH IS INITIAL.
            ASSIGN COMPONENT G_R_FIELDCAT-FIELDNAME OF STRUCTURE
                                                    WA_OUTTAB TO <FS_5>.
            ASSIGN COMPONENT G_R_FIELDCAT-FIELDNAME OF STRUCTURE
                                                    <FS_2> TO <FS_3>.
            <FS_3> = <FS_5>.
          ENDLOOP.
          INSERT <FS_2> INTO TABLE <FS_1>.
        ENDLOOP.
      ELSE.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE.
      IF SY-SUBRC EQ 0.
        LOOP AT <FS_1> ASSIGNING <FS_2>.
          TRANSFER  <FS_2> TO P_FILE.
        ENDLOOP.
      ELSE.
        MESSAGE E041(S9) WITH P_FILE.
      ENDIF.
      CLOSE DATASET P_FILE.
    ENDFORM.                    " download_file
    * 002 vsm1kor 13.06.06 - en
    Regards,
    Vasanth

  • IN ALV Report 'SAVE LAYOUT' option missing

    Dear All,
                 I have created one report in ALV GRID using ABAP OBJECTS(Using class CL_GUI_CUSTOM_CONTAINER and
    CL_GUI_ALV_GRID).But in output when i click on change layout option i am not getting SAVE layout option.
    I have already passed I_SAVE parameter = 'A' while calling metod SET_TABLE_FOR_FIRST_DISPLAY. But i didnt worked.
               Please do needful.
    Regards,
    Mayank

    Hi,
    You can manage display variants by using parameters, “is_variant” and “i_save” of “set_table_for_first_display”. Here are options for variant handling. <structure_name> is the variant-defining structure of type “DISVARIANT”. The field “report” in this structure should contain the value of “sy-repid.”
    Hope this helps. Reward points if helpful.
    Thanks,
    Balaji

  • ALV Grid save layout

    Hi all,
    in a programm there is a ALV grid of type cl_gui_alv_grid.
    When I run the programm, I can change the layout (hide columns etc) but I can't
    save the changes I make. What do I have to do to activate the saving of the layout?
    Which field do I have to set to activate it or what can already be set which disables the showing of the save possibility?
    Greetings Fred.

    Hi Fred
    U need to transfer the name of the report and the user to the grid class in order to allow to save the layout:
    DATA: LT_VARIANT  TYPE DISVARIANT.
    LT_VARIANT-REPORT   = SY-REPID.
    LT_VARIANT-USERNAME = SY-UNAME.
    CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
           EXPORTING
                     IS_VARIANT                      = LT_VARIANT
                     I_SAVE                             = 'A'
                     IS_LAYOUT                       = LT_LAYOUT
                     IT_TOOLBAR_EXCLUDING = GT_NO_CODES
           CHANGING 
                     IT_OUTTAB                  = T_OUTPUT
                     IT_FIELDCATALOG      = GT_FIELDCAT.
    The user has to have the authorizations to manage the layout.
    Max

  • ALV report - SAving layout

    Hi,
    I have created an ALV report using the class CL_GUI_ALV_GRID. The report has a toolbar which allows the layout of the report to be changed. But, it doesn't have any provision to save layouts. How do I enable this functionality?
    Any help would be appreciated.
    Thanks,
    Divyaman

    Hi,
    while calling method grid1->set_table_for_first_display
    pass parameter i_save = 'A'.
    CALL METHOD grid1->set_table_for_first_display
        EXPORTING
          i_structure_name = 'ZCA0FCSTFTOP'
          is_layout        = grid_layout
          is_variant       = s_variant
          i_save           = 'A'
        CHANGING
          it_outtab        = t_zca0fcstftop
          it_fieldcatalog  = fieldcat.
    regards,
    vikas.
    plz reward if helpful...

  • ALV report - copy layout to another user

    Hello,
    I have a question about ALV reports.
    In ALV we have option to select layout and save it by user-specific.
    How to copy this layout to another user?
    Is there some function/Bapi?
    Thanks in advance,
    Michal

    Hi Michael,
    Here are the steps I documented for managing this procedure:
    First Step is to READ the Layout into the Program
         The parameters for the layout can be found in table LTDX
    Goto SE37 and enter: LT_DBDATA_READ_FROM_LTDX
    When (READ) you will input information for the following parameters:
    Report Name
    Handle
    Log Group
    User
    Variant
    Type
    An example is shown below:
    <screen shots didn't load in my response> email if you'd like the document with screen shots>
    Execute.
    Now our next step is to WRITE the information from the program into table: LTDX
    While at the Function Builder Screen enter the new function module: LT_DBDATA_WRITE_TO_LTDX
    When you (WRITE) you will input information for the following parameters:
    Report Name
    Handle
    Log Group
    User
    Variant
    Type
    When completed, your input screen for (WRITE) should look like the screen below:
      <screen shots didn't load in my response> email if you'd like the document with screen shots>
    IMPORTANT     When entering information for IS_VARKEY, remember to use the u201Cnew useru201D ID
    When entering information for IS_VARIANT, remember to enter information exactly as found in table LTDX and remember that the parameter:  DEPENDVARS may be needed to complete your entry
    Now Execute the Function Module.  When completed go to table: LTDX and confirm that your new entry has been added.
    Pre Checklist:
    1.)     Capture entries (users) you want to copy from table: LTDX
    2.)     Make sure you have access to execute function modules/eCATT scripts
    3.)     Make sure you have table display access (needed to find and validate updates)
    If you'd like the documentation with screen shots please reply with your email address.
    Cheers,
    Robert

  • ALV  Report Changed  Layout Cannot be saved .

    IN an ALV report if i changed the layout with selected fields .i cannot save it
    the save button on standard toll bar is disiabled
    as well as menu items to save the laout ...
    i can only chane the layout..
    ..please guide me in how to allow the end user to save the layout .....

    hi Vijay,
    when you call the ALV FM, beware of importing paramter i_save:
      CALL FUNCTION 'REUSE_ALV_...
       i_save                            = 'A'
    hope this helps
    ec

  • Error while downloading ALV grid o/p list  into local file

    Hello friends,
       I have developed an ALV report and desplaying it using
    'REUSE_ALV_GRID_DISPLAY, function module .While downloading the output list into excel format I am geeting an error "The current statement only supports character-type data objects.
    Error Analysis-
    In statement
       "STRLEN( obj )..."
    the argument "obj" can only take a character-type data object.
    In this case, the operand "obj" has the non-character type "P".
      I have set the import parameter i_save values as 'A'
    But still not able to download and facing the same error.
    Please help me out ....
    Thanking you....
    Regards,
    Rajesh Akarte
    Message was edited by:
            Rajesh Akarte

    Hi,
      following is the dump code..Is there any problem due to date and currency fields..?
    Error in ABAP application program.
    The current ABAP program "SAPLKKBL " had to be terminated because one of the
    statements could not be executed.
    038350       endif.
    038360       gs_out-hlplen = strlen( gs_out-hlpchar ).
    038370     elseif gs_fc-tech_form = 11.                              "INS TECH
    038380   *   Min. Ausgabelänge für ein Datum ist immer 8
    038390       if gs_fc-datatype = 'DATS'.                             "INS TECH
    038400         gs_out-hlplen = 8.                                    "INS TECH
    038410   *    Min. Ausgabelänge für eine Uhrzeit ist immer 6
    038420       elseif gs_fc-datatype = 'TIMS'.                         "INS TECH
    038430         gs_out-hlplen = 6.                                    "INS TECH
    038440       endif.                                                  "INS TECH
    038450     elseif gs_fc-tech_form = 1 or gs_fc-tech_form = 90.
    038460   *   Überführung int. in ext. Format via Konvertierungsexit
    038470       if not gs_fc-convexit is initial or                     "INS TECH
    038480          not gs_fc-inttype ca 'CN'.
    038490   *   elseif not gs_fc-convexit is initial.            "DEL TECH11
    038500         write Y9CK034230

  • Is it possible to create the ALV output with dropdown list for the columns

    Hi forum experts,
                              Could the ALV output contain the dropdown list for the column names? if yes, then how we can acheive this to happen.
    Thanks in advance,
    Regards,
    Samad.
    Edited by: Samad arif on Aug 21, 2009 4:40 PM

    Hi Arif,
    Yes we can .FOr the codding check the article,
    [dropdowns in ALV|https://wiki.sdn.sap.com/wiki/display/Snippets/DropdownsinALV]
    regards,
    Archana
    Edited by: Archana Kumari on Aug 21, 2009 1:22 PM

Maybe you are looking for

  • How to install wireless on a Satellite 5200-903?

    Due to a very bad virus I recovered Windows on a Satellite 5200-903 of a friendly businessman. But back home he saw: no wireless LAN could be used... It seems, that cause the WLAN-switch was "off" no WLAN-driver was installed/recovered... Now he want

  • Order invoices by vendor

    I am trying to get a result in XML Publisher, just like Reports does. I am trying to get my datatemplate the right way. this is the thing: In Reports i create multiple queries and bind them by "WHERE vendorid = :vendor_id1". This way my XML result lo

  • FRAME FITTING BUG? Indesign CC

    I think this has been covered before for Indesign CS 6. (Re: Indesign CS6 Frame Fitting Options bug?) I have this same bug in CC. We have recently moved from 5.5 to CC and it's causing a major issue. I do comic strip and multiple place comic strip pa

  • Using HashMaps from another class

    I'm trying to use a HashMap to store a person with a given Id. When i create a HashMap as part of a main method and use the put method on that HashMap everything goes fine ie: Map myMap = new HashMap(); Person james = new Person)("James", "Smith"); m

  • Calling JNI from within a ejb

    Hi, I'm trying to call a native method from a EJBean class,using iPlanet App Server, after deployment, when i run, I'm getting the following error, "com.netscape.server.eb.UncheckedException: java.lang.Error thrown by impl nextgensecurity.NgtnSecurit