Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

i want to display specific line to be color in alvlist how

Former Member
0 Kudos

i want to display specific line to be color in alvlist

i write the code as follows here document type is initial. then that line is to be

appeared as color line but problem is initially it is appeared correct later i moved to next previous screens error lines are to be colored where i have to clear

loop at it_doclist where blart eq space.

gt_layout-info_fieldname = 'COLOR_LINE'.

it_doclist-color_line = 'C600'.

modify it_doclist .

clear:it_doclist.

endloop.

please help me exactly

Thanks

Ramana reddy

5 REPLIES 5

Former Member
0 Kudos

Hi

Refer to the standard program <b>BCALV_TEST_FULLSCREEN</b>, where <b>tabcolor_lvc </b> (type lvc_t_scol), is used to set the color.

it is used as follows:

<ls_outtab>-tabcolor_lvc = lt_color.

cs_layo-ctab_fname = 'TABCOLOR_LVC'.

append lines of lt_color to <ls_outtab>-tabcolor_lvc.

Regards

Raj

Former Member
0 Kudos

hi....

x_fieldcat-emphasize = 'C500'.

try this out.

Former Member
0 Kudos

Hi Ramana,

http://www.sap-img.com/abap/line-color-in-alv-example.htm

Reward Points for helpful answers.

Regards,

Hk.

0 Kudos

Hi

Check this sample one it will definelty solve your problem

*&---------------------------------------------------------------------*
*& Report  ZALVCOLOR                                                   *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZALVCOLOR                               .

DATA : mara TYPE mara.                 " General Material Data

TYPE-POOLS: slis.                      " ALV Global types

FIELD-SYMBOLS :
  <data> TYPE table.                   " Data to display

SELECT-OPTIONS :
  s_matnr FOR mara-matnr.              " Material number

SELECTION-SCREEN :
  SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.    "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '50' OBLIGATORY.
SELECTION-SCREEN END OF LINE.

*---------------------------------------------------------------------*
INITIALIZATION.

  v_1 = 'Maximum of lines to display'.

*---------------------------------------------------------------------*
START-OF-SELECTION.

  PERFORM f_read_data.

  PERFORM f_display_data.

*---------------------------------------------------------------------*
*      Form  f_read_data
*---------------------------------------------------------------------*
FORM f_read_data.

  FIELD-SYMBOLS :
    <field>    TYPE ANY,
    <field2>   TYPE ANY,
    <header>   TYPE ANY,
    <header2>  TYPE ANY,
    <lt_data>  TYPE table.             " Data read from DB

  DATA:
    lp_struct  TYPE REF TO data,
    lp_struct2 TYPE REF TO data,
    lp_table   TYPE REF TO data,       " Pointer to dynamic table
    lp_table2  TYPE REF TO data,       " Pointer to dynamic table
    ls_lvc_cat TYPE lvc_s_fcat,
    lt_lvc_cat TYPE lvc_t_fcat.        " Field catalog

* First column
  CLEAR ls_lvc_cat.
  ls_lvc_cat-fieldname = 'MATNR'.
  ls_lvc_cat-ref_table = 'MARA'.
  APPEND ls_lvc_cat TO lt_lvc_cat.

* 2nd column
  CLEAR ls_lvc_cat.
  ls_lvc_cat-fieldname = 'MAKTX'.
  ls_lvc_cat-ref_table = 'MAKT'.
  APPEND ls_lvc_cat TO lt_lvc_cat.

* 3rd column
  CLEAR ls_lvc_cat.
  ls_lvc_cat-fieldname = 'MATKL'.
  ls_lvc_cat-ref_table = 'MARA'.
  APPEND ls_lvc_cat TO lt_lvc_cat.

* Create 1st internal table
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING it_fieldcatalog = lt_lvc_cat
    IMPORTING ep_table = lp_table.

  ASSIGN lp_table->* TO <lt_data>.

* Read data into 1st internal table
  SELECT matnr maktx matkl
    INTO TABLE <lt_data>
    FROM v_matnr
      UP TO p_max ROWS
   WHERE matnr IN s_matnr.

* Create 2nd internal table
* Checkbox
  CLEAR ls_lvc_cat.
  ls_lvc_cat-fieldname = 'CHECKBOX'.
  APPEND ls_lvc_cat TO lt_lvc_cat.

* Table color
  CLEAR ls_lvc_cat.
  ls_lvc_cat-fieldname = 'TABCOLOR'.
  ls_lvc_cat-ref_table = 'CALENDAR_TYPE'.
  ls_lvc_cat-ref_field = 'COLTAB'.
  APPEND ls_lvc_cat TO lt_lvc_cat.

* Create 2nd internal table
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING it_fieldcatalog = lt_lvc_cat
    IMPORTING ep_table = lp_table2.

  ASSIGN lp_table2->* TO <data>.

* Create structure = structure of the 1st internal table
  CREATE DATA lp_struct LIKE LINE OF <lt_data>.
  ASSIGN lp_struct->* TO <header>.

* Create structure = structure of the 2nd internal table
  CREATE DATA lp_struct2 LIKE LINE OF <data>.
  ASSIGN lp_struct2->* TO <header2>.

* Move data from 1st internal table --> 2nd internal table
  LOOP AT <lt_data> ASSIGNING <header>.

    DESCRIBE TABLE lt_lvc_cat.
    CLEAR <header2>.

*   Fill the internal to display <data>
    DO sy-tfill TIMES.
      READ TABLE lt_lvc_cat INTO ls_lvc_cat INDEX sy-index.
*     For each field of lt_lvc_cat.
      ASSIGN COMPONENT ls_lvc_cat-fieldname OF STRUCTURE <header>
                    TO <field>.
      IF sy-subrc NE 0. EXIT .ENDIF.
      ASSIGN COMPONENT ls_lvc_cat-fieldname OF STRUCTURE <header2>
                    TO <field2>.
      IF sy-subrc NE 0. EXIT .ENDIF.
      <field2> = <field>.
    ENDDO.

*   Modify color
    ASSIGN COMPONENT 'TABCOLOR' OF STRUCTURE <header2>
                  TO <field2>.
    IF sy-subrc EQ 0.
      PERFORM f_modify_color USING 'MAKTX' <field2>.
      PERFORM f_modify_color USING 'MATKL' <field2>.
    ENDIF.

    APPEND <header2> TO <data> .
  ENDLOOP.

ENDFORM.                    " f_read_data
*---------------------------------------------------------------------*
*      Form  F_DISPLAY_DATA
*---------------------------------------------------------------------*
FORM f_display_data.

* Macro definition
  DEFINE m_sort.
    add 1 to ls_sort-spos.
    ls_sort-fieldname = &1.
    ls_sort-down      = 'X'.
    append ls_sort to lt_sort.
  END-OF-DEFINITION.

  DATA:
    ls_layout   TYPE slis_layout_alv,
    lt_sort     TYPE slis_t_sortinfo_alv,
    ls_sort     TYPE slis_sortinfo_alv,
    ls_fieldcat TYPE slis_fieldcat_alv,
    lt_fieldcat TYPE slis_t_fieldcat_alv.  " Field catalog

* Build Fieldcatalog - First column
  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname   = 'MATNR'.
  ls_fieldcat-ref_tabname = 'MARA'.
  ls_fieldcat-key  = 'X'.
  APPEND ls_fieldcat TO lt_fieldcat.

* Build Fieldcatalog - 2nd column
  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname   = 'MAKTX'.
  ls_fieldcat-ref_tabname = 'MAKT'.
  APPEND ls_fieldcat TO lt_fieldcat.

* Build Fieldcatalog - 3rd column
  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname   = 'MATKL'.
  ls_fieldcat-ref_tabname = 'MARA'.
  APPEND ls_fieldcat TO lt_fieldcat.

* Layout
  ls_layout-zebra = 'X'.
  ls_layout-colwidth_optimize = 'X'.
  ls_layout-box_fieldname = 'CHECKBOX'.
  ls_layout-coltab_fieldname = 'TABCOLOR'.

  m_sort 'MATNR'.                      " Sort by creation date

* Display data
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            is_layout   = ls_layout
            it_fieldcat = lt_fieldcat
            it_sort     = lt_sort
       TABLES
            t_outtab    = <data>.

ENDFORM.                               " F_DISPLAY_DATA
*---------------------------------------------------------------------*
*      Form  F_modify_color
*---------------------------------------------------------------------*
FORM f_modify_color USING u_fieldname TYPE lvc_fname
                          ut_tabcolor TYPE table.

  DATA:
    l_rnd_value TYPE datatype-integer2,
    ls_tabcolor TYPE lvc_s_scol.

* Random value
  CALL FUNCTION 'RANDOM_I2'
       EXPORTING
            rnd_min   = 0
            rnd_max   = 3
       IMPORTING
            rnd_value = l_rnd_value.

  CLEAR ls_tabcolor.
  ls_tabcolor-fname = u_fieldname.

  CASE l_rnd_value.
    WHEN 0.
      ls_tabcolor-color-col = 1.       " Blue.
      ls_tabcolor-color-int = 0.
      ls_tabcolor-color-inv = 0.
    WHEN 1.
      ls_tabcolor-color-col = 3.       " Yellow.
      ls_tabcolor-color-int = 0.
      ls_tabcolor-color-inv = 0.
    WHEN 2.
      ls_tabcolor-color-col = 5.       " Green.
      ls_tabcolor-color-int = 0.
      ls_tabcolor-color-inv = 0.
    WHEN 3.
      ls_tabcolor-color-col = 6.       " Red.
      ls_tabcolor-color-int = 0.
      ls_tabcolor-color-inv = 0.
  ENDCASE.

  INSERT ls_tabcolor INTO TABLE ut_tabcolor.

ENDFORM.                               " F_MODIFY_COLOR

Reward all helpfull answers

Regards

Pavan

kesavadas_thekkillath
Active Contributor
0 Kudos

u r requiremnt is not clear...but any how check this code....

it has a form for assigning colors....

rewardif useful

REPORT zppb001_prd_posting_upload

NO STANDARD PAGE HEADING LINE-SIZE 255

MESSAGE-ID zpp.

******************

INCLUDE bdcrecx1.

******************

TYPE-POOLS :slis.

DATA: wk_success(5) TYPE c, "To store the successfull Hits

wk_failure(5) TYPE c, "To store the failed Hits

l_mstring(600), "To store Message texts

t_date TYPE zservice_date,"To store Uploaded Date

wk_lines(5) TYPE c, "To store No of Records

lines(5) TYPE c, "To store No of Records

wk_len(150) TYPE c, "To store File path

wk_alp TYPE i, "To store path length

lent TYPE i, "To store path length

b(4). "To store File extension

DATA: alvfld TYPE slis_t_fieldcat_alv WITH HEADER LINE,

v_events TYPE slis_t_event WITH HEADER LINE,

wk_events LIKE LINE OF v_events,

it_list_comments TYPE slis_t_listheader,

wk_list_comments LIKE LINE OF it_list_comments,

wk_layout TYPE slis_layout_alv.

CONSTANTS: c_formname_top_of_page TYPE slis_formname

VALUE 'F_TOP_OF_PAGE'.

--


TO STORE FINAL DATA TO BE POSTED--

      • Generated data section with specific formatting - DO NOT CHANGE ***

DATA: BEGIN OF record OCCURS 0,

budat_002(010),

bktxt_004(025),

matnr_005(018),

werks_006(004),

alort_007(004),

erfmg_008(017),

END OF record.

      • End generated data section ***

----


DATA: BEGIN OF messages OCCURS 0, "TO STORE FINAL STATUS DISPLAY

budat_002(010),

bktxt_004(025),

matnr_005(018),

maktx TYPE makt-maktx,

werks_006(004),

alort_007(004),

erfmg_008(017),

msg_e(400),

msg_s(600),

msgtyp TYPE c,

line_color(4),

END OF messages.

DATA: BEGIN OF st_record1 ,

matnr_005(018),

werks_006(004),

budat_002(010),

bktxt_004(025),

erfmg_007(017),

erfmg_008(017),

alort_007(004),

END OF st_record1.

DEFINE alv_macro.

move : &1 to alvfld-col_pos,

&2 to alvfld-fieldname,

&3 to alvfld-seltext_m.

if &2 = 'MATNR_005' or &2 = 'MAKTX'.

alvfld-fix_column = 'X'.

endif.

append alvfld.clear alvfld.

END-OF-DEFINITION.

DATA : record1 LIKE TABLE OF st_record1 WITH HEADER LINE,

it_excel LIKE TABLE OF alsmex_tabline WITH HEADER LINE,

messtab1 LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,

it_acc LIKE TABLE OF record WITH HEADER LINE,

it_rej LIKE TABLE OF record WITH HEADER LINE.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.

PARAMETERS: p_file TYPE localfile OBLIGATORY .

SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

static = 'X'

CHANGING

file_name = p_file.

AT SELECTION-SCREEN ON p_file.

wk_len = p_file.

CONDENSE wk_len NO-GAPS.

lent = STRLEN( wk_len ).

wk_alp = lent - 4.

b = wk_len+wk_alp(lent).

IF ( b NE '.txt' ) AND ( b NE '.xls' ).

MESSAGE e939.

CLEAR p_file.

STOP.

ENDIF.

START-OF-SELECTION.

PERFORM upload_fun.

PERFORM open_group.

PERFORM fill_bdc_table.

PERFORM close_group.

PERFORM assign_colors.

PERFORM f_event_build.

SORT messages BY matnr_005 ASCENDING.

PERFORM assign_columns.

PERFORM count.

IF ctu = 'X'.

PERFORM alv.

ENDIF.

FREE:messages,messtab1,record1.

END-OF-SELECTION.

--


FORM UPLOAD_FUN--

FORM upload_fun.

REFRESH: record1, it_acc, it_rej, record, messages, messtab1, it_excel.

PERFORM fetch_from_flat_file.

CLEAR it_excel.

DESCRIBE TABLE it_excel.

IF sy-tfill = 0.

MESSAGE i937. STOP.

ENDIF.

LOOP AT it_excel.

CASE it_excel-col.

WHEN '0001'. MOVE: it_excel-value TO record1-matnr_005.

WHEN '0002'. MOVE: it_excel-value TO record1-werks_006.

WHEN '0003'. MOVE: it_excel-value TO record1-budat_002.

WHEN '0004'. MOVE: it_excel-value TO record1-bktxt_004.

WHEN '0005'. MOVE: it_excel-value TO record1-erfmg_007.

WHEN '0006'. MOVE: it_excel-value TO record1-erfmg_008.

WHEN '0007'. MOVE: it_excel-value TO record1-alort_007.

ENDCASE.

AT END OF row.

APPEND record1. CLEAR record1.

ENDAT.

ENDLOOP.

DELETE record1 WHERE matnr_005 EQ ' '.

--


DO NOT UPLOAD WHERE PRD QTY = 0--

DELETE record1 WHERE ( erfmg_007 = 0 OR erfmg_007 = ' ' )

AND ( erfmg_008 = 0 OR erfmg_008 = ' ' ).

DESCRIBE TABLE record1[].

IF sy-tfill > 0.

--


MOVE ACCEPTED QTY AND FETCH THE RESPECTIVE STGLOC-**

LOOP AT record1 WHERE erfmg_007 NE 0 AND erfmg_007 NE ' '.

MOVE: record1-budat_002 TO it_acc-budat_002,

record1-bktxt_004 TO it_acc-bktxt_004,

record1-matnr_005 TO it_acc-matnr_005,

record1-werks_006 TO it_acc-werks_006,

record1-erfmg_007 TO it_acc-erfmg_008.

APPEND it_acc. CLEAR: it_acc,record1.

ENDLOOP.

--


MOVE ELPRO FOR THE ACCEPTED ENTRIES--

LOOP AT it_acc.

SELECT SINGLE elpro INTO it_acc-alort_007

FROM mkal CLIENT SPECIFIED

WHERE mandt = sy-mandt

AND matnr = it_acc-matnr_005

AND werks = it_acc-werks_006.

MODIFY it_acc TRANSPORTING alort_007. CLEAR: it_acc.

ENDLOOP.

--


MOVE PRD QTY FOR REJECTED QTY--

LOOP AT record1 WHERE erfmg_008 NE 0 AND erfmg_008 NE ' '.

MOVE: record1-budat_002 TO it_rej-budat_002,

record1-bktxt_004 TO it_rej-bktxt_004,

record1-matnr_005 TO it_rej-matnr_005,

record1-werks_006 TO it_rej-werks_006,

record1-erfmg_008 TO it_rej-erfmg_008,

record1-alort_007 TO it_rej-alort_007.

APPEND it_rej. CLEAR: it_rej, record1.

ENDLOOP.

--


MOVE ACCEPTED AND REJECTED READINGS TO FINAL TABLE

APPEND LINES OF it_acc TO record. APPEND LINES OF it_rej TO record.

FREE : it_rej, it_acc, record1.

ELSE.

MESSAGE i937.

STOP.

ENDIF.

ENDFORM. " UPLOAD_FUN

--


FORM fill_bdc_table--

FORM fill_bdc_table.

IF NOT record[] IS INITIAL.

LOOP AT record.

PERFORM bdc_dynpro USING 'SAPLBARM' '0800'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RM61B-BKTXT'.

PERFORM bdc_field USING 'BDC_OKCODE' '=ISTDA'.

PERFORM bdc_field USING 'RM61B-BUDAT' record-budat_002.

PERFORM bdc_field USING 'RM61B-BKTXT' record-bktxt_004.

PERFORM bdc_field USING 'RM61B-MATNR' record-matnr_005.

PERFORM bdc_field USING 'RM61B-WERKS' record-werks_006.

PERFORM bdc_field USING 'RM61B-ALORT' record-alort_007.

PERFORM bdc_field USING 'RM61B-ERFMG' record-erfmg_008.

PERFORM bdc_dynpro USING 'SAPLCOWB' '0130'.

PERFORM bdc_field USING 'BDC_OKCODE' '=WEIT'.

PERFORM bdc_field USING 'BDC_CURSOR' 'G_COWB_HEADER-MNGTXT'.

PERFORM bdc_transaction USING 'MFBF'.

CLEAR messtab.

messtab1[] = messtab[].

LOOP AT messtab1 WHERE msgtyp = 'S' OR msgtyp = 'E'.

SELECT SINGLE * FROM t100 WHERE sprsl = messtab1-msgspra

AND arbgb = messtab1-msgid

AND msgnr = messtab1-msgnr.

IF sy-subrc = 0.

l_mstring = t100-text.

PERFORM store_messages.

CLEAR l_mstring.

ENDIF.

ENDLOOP.

MOVE-CORRESPONDING record TO messages.

SELECT SINGLE maktx INTO messages-maktx FROM makt CLIENT SPECIFIED

WHERE mandt = sy-mandt

AND matnr = messages-matnr_005

AND spras = 'EN'.

APPEND messages.

CLEAR: messages, messtab1. REFRESH messtab1.

ENDLOOP.

ENDIF.

ENDFORM. "fill_bdc_table

--


FORM assign_columns--

FORM assign_columns .

REFRESH alvfld.

alv_macro '1' 'MATNR_005' 'PART NO'.

alv_macro '2' 'MAKTX' 'DESCRIPTION'.

alv_macro '3' 'WERKS_006' 'PLANT'.

alv_macro '4' 'BUDAT_002' 'POSTING DATE'.

alv_macro '5' 'BKTXT_004' 'SHIFT'.

alv_macro '6' 'ERFMG_008' 'QUANTITY'.

alv_macro '7' 'ALORT_007' 'STGLOC'.

alv_macro '8' 'MSG_E' 'ERRORS DUE TO'.

alv_macro '9' 'MSG_S' 'STATUS'.

ENDFORM. " assign_columns

--


FORM f_event_build--

FORM f_event_build .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = v_events[].

READ TABLE v_events WITH KEY name = slis_ev_top_of_page

INTO wk_events.

wk_layout-info_fieldname = 'LINE_COLOR'.

wk_layout-colwidth_optimize = 'X'.

IF sy-subrc = 0.

MOVE c_formname_top_of_page TO wk_events-form.

MODIFY v_events FROM wk_events INDEX sy-tabix.

ENDIF.

ENDFORM. " f_event_build

--


FORM f_top_of_page--

FORM f_top_of_page.

WRITE sy-datum TO t_date.

CLEAR: it_list_comments[].

wk_list_comments-typ = 'H'. "H=Header, S=Selection, A=Action

wk_list_comments-key = ''.

CONCATENATE 'UPLOADED STATUS FOR PRODUCTION POSTING ON - ' t_date INTO

wk_list_comments-info SEPARATED BY space.

APPEND wk_list_comments TO it_list_comments.

CLEAR wk_list_comments.

DESCRIBE TABLE messages LINES wk_lines.

lines = wk_lines.

wk_list_comments-typ = 'S'. "H=Header, S=Selection, A=Action

wk_list_comments-key = ''.

CONCATENATE 'Total No of Hits:' lines INTO wk_list_comments-info

SEPARATED BY space.

APPEND wk_list_comments TO it_list_comments.

CLEAR wk_list_comments.

wk_list_comments-typ = 'S'. "H=Header, S=Selection, A=Action

wk_list_comments-key = ''.

CONCATENATE 'Successfull Hits:' wk_success INTO

wk_list_comments-info SEPARATED BY space.

APPEND wk_list_comments TO it_list_comments.

CLEAR wk_list_comments.

wk_list_comments-typ = 'S'. "H=Header, S=Selection, A=Action

wk_list_comments-key = ''.

CONCATENATE ' Failed Hits:' ' ' wk_failure INTO

wk_list_comments-info

SEPARATED BY space.

APPEND wk_list_comments TO it_list_comments.

CLEAR wk_list_comments.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

i_logo = 'ENJOYSAP_LOGO'

it_list_commentary = it_list_comments.

ENDFORM. "F_TOP_OF_PAGE

--


FORM assign_colors--

FORM assign_colors .

LOOP AT messages.

CASE messages-msgtyp.

WHEN 'E'.

messages-line_color = 'C601'.

WHEN 'S'.

messages-line_color = 'C501'.

ENDCASE.

MODIFY messages TRANSPORTING line_color.

ENDLOOP.

ENDFORM. " assign_colors

--


FORM COUNT--

FORM count .

CLEAR: wk_failure, wk_success.

LOOP AT messages.

CASE messages-msgtyp.

WHEN 'E'.

ADD 1 TO wk_failure.

WHEN 'S'.

ADD 1 TO wk_success.

ENDCASE.

ENDLOOP.

ENDFORM. " COUNT

--


FORM ALV--

FORM alv .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = sy-repid

is_layout = wk_layout

it_fieldcat = alvfld[]

it_events = v_events[]

TABLES

t_outtab = messages

EXCEPTIONS

program_error = 1

OTHERS = 2.

ENDFORM. " ALV

--


FETCH_FROM_FLAT_FILE--

FORM fetch_from_flat_file .

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = p_file

i_begin_col = 1 "From 1st Column

i_begin_row = 2 "From 2nd row

i_end_col = 7 "Till 7th Column

i_end_row = 65000 "Till Row

TABLES

intern = it_excel

EXCEPTIONS

inconsistent_parameters = 1

upload_ole = 2

OTHERS = 3.

ENDFORM. " FETCH_FROM_FLAT_FILE

--


FORM STORE_MESSAGES--

FORM store_messages.

IF l_mstring CS '&1'.

REPLACE '&1' WITH messtab1-msgv1 INTO l_mstring.

REPLACE '&2' WITH messtab1-msgv2 INTO l_mstring.

REPLACE '&3' WITH messtab1-msgv3 INTO l_mstring.

REPLACE '&4' WITH messtab1-msgv4 INTO l_mstring.

ELSE.

REPLACE '&' WITH messtab1-msgv1 INTO l_mstring.

REPLACE '&' WITH messtab1-msgv2 INTO l_mstring.

REPLACE '&' WITH messtab1-msgv3 INTO l_mstring.

REPLACE '&' WITH messtab1-msgv4 INTO l_mstring.

ENDIF.

CONDENSE l_mstring.

IF messtab1-msgtyp = 'E'.

CONCATENATE messages-msg_s l_mstring INTO l_mstring SEPARATED BY space.

MOVE l_mstring TO messages-msg_e.

MOVE 'E' TO messages-msgtyp.

MOVE 'Document Not Posted' TO messages-msg_s.

ELSEIF messtab1-msgtyp = 'S'.

CONCATENATE messages-msg_s l_mstring INTO l_mstring SEPARATED BY space.

MOVE l_mstring TO messages-msg_s.

MOVE 'S' TO messages-msgtyp.

ENDIF.

ENDFORM. " store_messages