Display results 4 elements per line

Hi
I would like to display my results for a field in my report this way:
a; b; c; d
e; e; f; g
h; i; j; k
the results of the field come from a query
Does anyone know how to do it ?
thanks

go to repeating frame and set thr print direction to 'Across/Down'

Similar Messages

  • BTE 1650 LINE ITEM DISPLAY: Add to data per line - possible solution

    Hello,
    I would like to populate field payment order (Pymt.order) in custom transaction FBL5N
    I have read that it should be doable using BTE 1650 LINE ITEM DISPLAY: Add to data per line but I am not sure if 1650 is correct one and if its proper solution for this purpose.
    Could you please advice?
    Thank you in advance!
    Michal

    i have the same problem , i used BTE and the fields appear but without data . which table or code i will use to in FM to display data in transaction.
    thanks all for help

  • TSQL XML query Results tab: elements crammed together as single line

    Are the elements in a TSQL "FOR XML..." query rendered by default as a single line (wrapped-around)?(i have a screen shot but i am not allowed to post it here until my acct is 'verified').
    When i run
    SELECT    
       c.CustomerID AS '@CustomerID',
       (SELECT
           oh.SalesOrderID, oh.Status
        FROM
           Sales.SalesOrderHeader oh
        WHERE
           c.CustomerID = oh.CustomerID
        FOR XML PATH('Order'), TYPE) AS Orders
    FROM
       Sales.Customer c
    WHERE
       EXISTS (SELECT * FROM Sales.SalesOrderHeader soh WHERE c.CustomerID = soh.CustomerID)
    FOR XML PATH ('Customer'), ROOT ('Customers')
    this is what i get:
    <Customers><Customer CustomerID="11000"><Orders><Order><SalesOrderID>43793</SalesOrderID><Status>5</Status></Order><Order><SalesOrderID>51522</SalesOrderID><Status>5</Status></Order><Order><SalesOrderID>57418</SalesOrderID><Status>5</Status></Order></Order
    tus>5</Status></Order></Orders></Customer><Customer CustomerID="11008"><Orders><Order><SalesOrderID>43826</SalesOrderID><Status>5</Status></Order><Order><SalesOrderID>51282</SalesOrderID><Status>5</Status></Order><Order><SalesOrderID>53765</SalesOrderID><S
    rderID>
    Why aren't the results with XML elements nicely ordered, one element per line?
        <Customer CustomerID="11000">
            <Orders>
                <Order>
                    <SalesOrderID>43793</SalesOrderID>.....

    Where are you viewing the result? In SQL Management studio the result will be shown as link which when you click will show XML elements ordered nicely
    I've shown some examples here
    http://visakhm.blogspot.in/2014/05/t-sql-tips-fun-with-for-xml-path.html
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • 10 numbers per line, how to?

    Ok I got this program that chooses up to 30 numbers randomly and then displays them in a random order ten from greatest to least, it does this twice. I just can't figure out how to display only 10 numbers per line. Can someone help?
    import java.io.*;
    import java.util.*;
    class APISortMain {
    public static void display(int[] a, int size){
    for(int i=0; i<size; i++){
    System.out.print(a[i]+"\t");
    System.out.println();
    System.out.println();
    public static void main(String args[]) throws IOException {
    Random r = new Random();
         //Arrays A = new Arrays();
    int[] able = new int[500];
    int amount = 50+r.nextInt(30);
    for(int i=0; i<amount; i++){
    able[i] = 1000+r.nextInt(5000);
    System.out.println("Data unordered");
    display(able, amount);
    System.out.println("Data ordered");
    Arrays.sort(able, 0, amount);
    display(able, amount);
    amount = 50+r.nextInt(30);
    for(int i=0; i<amount; i++){
    able[i] = 1000+r.nextInt(5000);
    System.out.println("Data unordered");
    display(able, amount);
    System.out.println("Data ordered");
    Arrays.sort(able, 0, amount);
    display(able, amount);
    }

    System.out.print("1");
    System.out.println("2");
    System.out.print("3");Do you know what the difference between print() and println() is?

  • Text per line in a billing plan

    Hi,
    Apparently SAP doesn't support the input of a note (text) per line in a billing plan.
    I found a userexit called "USEREXIT_MOVE_FIELD_TO_FPLT" in the include "RV60FUS1" (program "SAPLV60F"). As i understand it right this userexit enables the creation of a new field in the table "FPLT" (billing plan : Dates).
    Hence my questions :
    Is it possible to create a new field for adding text comments in this table ?
    This new field will this be displayed automatically on the billing plan screen ?
    If not, is it possible without modifications to the standards to display this field in the  billing plan screen ?
    any help would be most welcome.
    with regards

    Bogo wrote:
    One of our family members has deceased. I need to remove a line in our family plan. The line that needs to be removed is the primary line. That needs to be reassigned to a different line.
    Sorry to hear about your loss. 
    You will need to call customer service for this.  Canceling a line can not be done online and they should be able to help reassigning the primary line. (Dial *611 from your mobile device or (800) 922-0204)
    Good luck

  • Scripts : want to display the text in one line

    Dear Friends,
    i want to dispaly the below text in one line,but its displaying in next line.
    ITEM   MATERIAL  DESCRIPTION ORDERQTY  UNIT PricePerUnit NETVALUE
    i am using the following code
    IL           <K>Item,,Material,,Description ,,  Order qty.  ,,Unit   ,,    Price per unit   ,, Net value </>
    Thanks & Regards
    Shaik

    Hello Hussain,
    Remove the TAB Spacing ',,'. Instead u give the Space.
    Reduce the length of fonts.
    These are the ways to display the text in a line.
    If useful reward points.
    Regards,
    Vasanth

  • Crystal Report Takes very long time to display results

    Dear All,
    I am new to Crystal reports. We have installed Crystal report developer 2008 SP3 on Windows7 Service pack 1. We are creating reports from SAP ECC 6 EHP 4 Ready in Crystal Reports. The problem we are facing is that every report which we have developed in Crtystal reports is taking around 1 to 2 hours to display results. the reports are pertaining to only one day or one month data. we have also switch off "Verify On First Refresh", "Verify Stored Procedures On First Refresh", "Verify Database" and  we are also not saving data on report level as per the threads which are already posted in the forum pertaining to our problem.
    You are requested to kindly guide me how I can improve the performance of our crystal reports.
    Regards,
    Danish.

    You select expert formula says enough. It would appear that little or no data filtering is being carried out on the database server. Thus all records will be returned to Crystal and then filtered locally.
    You need to try and incorporate the logic of formula  {@Form_PeriodCvn} into the select expert. Or build a view/stored procedure which returns a value compatible with your filtering requirements.
    What is contents of formula  {@Form_PeriodCvn}
    Ian

  • Idoc per line item in SO

    Hi
    I have configured output type at the line item level for Sales orders. When I have save a sales document, the ORDERS05 Idoc type is triggered. It contains segments for all the line items.
    Can we have the Idoc generated with only line item, for which the output type is created, even if the Sales Order has n number of Items?

    Hi,
    What I want is to get the net value that is displayed in the conditions tab of VA01/VA02
    before saving the sales orders. Is there a way to do that or an FM that computes for the
    net value per line item.Thank you!

  • After displaying result of report, my report goes back to source code edito

    Hello experts,
    I am currently having a big problem with my report. Here is the problem, after displaying the
    result(write), when I press BACK button it is not going back to my selection-screen which is the
    usual for reports. Now, what happens is that it goes back to the source code or worse, to the main menu of SAP.
    What I want to do is that when I press BACK button it should go to either selection-screen 500 or
    selection-screen 1500.
    Here's a rough flow of what is happening in my report:
    start report -> fetch records based on user input -> display results(not in ALV) ->
    after displaying report, click 'BACK' button -> it goes back to source code
    Now, here's what I want to do:
    start report -> fetch records based on user input -> display results(not in ALV) ->
    after displaying report, click 'BACK' button -> go back to either selection-screen 500 or 1500
    or call again the transaction of my report.
    Help would be greatly appreciated here.

    Hi guys,
    Thanks again for the quick replies.Here is the source code:
    REPORT zdealer_contacts NO STANDARD PAGE HEADING
                            LINE-COUNT 0
                            LINE-SIZE 255
                            MESSAGE-ID zz.
    TYPE-POOLS: slis.
    Data Dictionary Tables
    TABLES: zts0001,
            zsoemailid,
            kna1,
            zts_stpgeoloc.
    Includes
    *INCLUDE zun_globe_header.       " Globe Telecom Report Header
    Structures, internal tables and data declarations
    TYPES: BEGIN OF t_upload,
            kunnr LIKE zts0001-kunnr,
            zaddress(100),
            zcperson(30),
            zcnumber(18),
           END OF t_upload.
    TYPES: BEGIN OF t_error,
            kunnr LIKE zts0001-kunnr,
            zaddress(100),
            zcperson(30),
            zcnumber(18),
           END OF t_error.
    TYPES: BEGIN OF t_kna1,
            name1 LIKE kna1-name1,
           END OF t_kna1.
    TYPES: BEGIN OF t_zts0001,
            kunnr      LIKE zts0001-kunnr,
            cdseq      LIKE zts0001-cdseq,
            zaddress   LIKE zts0001-zaddress,
            zcperson   LIKE zts0001-zcperson,
            zcnumber   LIKE zts0001-zcnumber,
            zactivated LIKE zts0001-zactivated,
            name1      LIKE kna1-name1,
           END OF t_zts0001.
    DATA: it_upload  TYPE STANDARD TABLE OF t_upload  WITH HEADER LINE,
          it_error   TYPE STANDARD TABLE OF t_error   WITH HEADER LINE,
          it_kna1    TYPE STANDARD TABLE OF t_kna1    WITH HEADER LINE,
          it_zts0001 TYPE STANDARD TABLE OF t_zts0001 WITH HEADER LINE.
    DATA: it_ztstemp LIKE zts0001 OCCURS 100 WITH HEADER LINE,
          it_ztstemp_gloc LIKE zts_stpgeoloc OCCURS 100 WITH HEADER LINE.
    *AVH - start of insertion - 04/18/06
    FIELD-SYMBOLS: <fs_zts0001> LIKE LINE OF it_zts0001.
    **ALV Declarations
    DATA:   gt_fieldcat         TYPE slis_t_fieldcat_alv,
            g_repid             LIKE sy-repid,
            gs_layout           TYPE slis_layout_alv,
            gt_list_top_of_page TYPE slis_t_listheader,
            gt_events           TYPE slis_t_event WITH HEADER LINE,
            gt_print            TYPE slis_print_alv.
    CONSTANTS: gc_top  TYPE slis_formname  VALUE 'TOP_OF_PAGE',
               gc_topsum  TYPE slis_formname  VALUE 'TOP_OF_LIST',
               gc_ucomm  TYPE slis_formname  VALUE 'USER_COMMAND'.
    *AVH - end of insertion
    Variables
    DATA: v_kunnr LIKE zts0001-kunnr,
          v_title(100) TYPE c,
          gc_kunnr(06) TYPE c,
          v_compflag(1) TYPE c,
          v_flag(1).
    Selection Screen
    *AVH - start of modification - 06/27/06
    *if user is controller, selection-screen 500 will be called else,
    *selection-scren 1500 will be called.
    *selection-screen for controllers
    SELECTION-SCREEN BEGIN OF SCREEN 500.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: pr_upld RADIOBUTTON GROUP grp2 USER-COMMAND ucomm1.
    SELECTION-SCREEN COMMENT 2(20) text-007 FOR FIELD pr_upld.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 03(15) text-a11 FOR FIELD p_flnme.
    PARAMETERS: p_flnme LIKE rlgrap-filename DEFAULT 'C:\'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: pr_list1 RADIOBUTTON GROUP grp2.
    SELECTION-SCREEN COMMENT 2(7) text-003 FOR FIELD pr_list1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN END OF SCREEN 500.
    *selection-screen for non-controllers.
    SELECTION-SCREEN BEGIN OF SCREEN 1500.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(22) text-002 FOR FIELD p_dcode.
    PARAMETERS: p_dcode LIKE vbak-kunnr,
                p_name1 LIKE kna1-name1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: pr_list2 RADIOBUTTON GROUP grp USER-COMMAND ucomm2.
    SELECTION-SCREEN COMMENT 2(7) text-003 FOR FIELD pr_list2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: pr_add  RADIOBUTTON GROUP grp.
    SELECTION-SCREEN COMMENT 2(3) text-005 FOR FIELD pr_add.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: pr_edit RADIOBUTTON GROUP grp.
    SELECTION-SCREEN COMMENT 2(4) text-006 FOR FIELD pr_edit.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 03(20) text-a12 FOR FIELD p_code.
    PARAMETERS: p_code LIKE zts0001-cdseq.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN END OF SCREEN 1500.
    INITIALIZATION.
      SELECT SINGLE kunnr comp_flag INTO (gc_kunnr,v_compflag)
        FROM zsoemailid
       WHERE bname = sy-uname.
      IF sy-subrc <> 0.
        MESSAGE i000 WITH
             'You are not authorised to use this transaction'.
        LEAVE PROGRAM.
      ENDIF.
      IF v_compflag = 'X'.
        CALL SCREEN 500.
      ELSE.
        CALL SCREEN 1500.
      ENDIF.
    *AVH - end of modification
    AT SELECTION-SCREEN OUTPUT.
      PERFORM authority_check.
    added by derick 050125
    **-changed by weng rulloda 06012005
    *AVH - start of insertion - 05/22/06
    *no need to get value of kunnr from global memory
    *since gc_kunnr would be filled via the select statement below
    GET PARAMETER ID 'KUN' FIELD gc_kunnr.
    *AVH - end of insertion
      p_dcode = gc_kunnr.
    *AVH - start of insertion - 05/22/06
    **fetch the respective description of dealer based from p_dcode
    **and put in parameter p_name1
      SELECT SINGLE name1 FROM kna1
      INTO p_name1
      WHERE kunnr = p_dcode.
    *AVH - end of insertion
    *AVH - start of insertion - 05/22/06
    **selection-screen parameters is based if user is controller or not.
    **created new selection-screen conditions based from orig. code
      v_kunnr = gc_kunnr.
      LOOP AT SCREEN.
        IF screen-name      =  'P_DCODE'.
          screen-input      =  '0'.
          screen-output     =  '1'.
          MODIFY SCREEN.
        ELSEIF screen-name  =  'P_NAME1'.
          screen-input      =  '0'.
          screen-output     =  '1'.
          MODIFY SCREEN.
        ELSEIF screen-name  =  'P_CODE'.
          screen-input      =  '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
      IF pr_list2 = 'X' OR pr_add = 'X'.
        LOOP AT SCREEN.
          IF screen-name   =  'P_CODE'.
            screen-input   =  '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ELSEIF pr_edit = 'X'.
        LOOP AT SCREEN.
          IF screen-name   =  'P_CODE'.
            screen-input  =  '1'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
      IF pr_list1   = 'X'.
        LOOP AT SCREEN.
          IF screen-name   = 'P_FLNME'.
            screen-input  = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
    *AVH - end of modification
    AT SELECTION-SCREEN.
    CHECK sy-ucomm = 'UCOMM1' OR sy-ucomm = 'UCOMM2'.
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_flnme.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_flnme.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                mask             = ',.,..'
                mode             = 'O'
                title            = 'File Selection'
           IMPORTING
                filename         = p_flnme
           EXCEPTIONS
                inv_winsys       = 1
                no_batch         = 2
                selection_cancel = 3
                selection_error  = 4
                OTHERS           = 5.
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_code.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_code.
      DATA : BEGIN OF itab_list OCCURS 0,
              kunnr LIKE zts0001-kunnr,
              cdseq LIKE zts0001-cdseq,
              zaddress LIKE zts0001-zaddress,
              zcperson LIKE zts0001-zcperson,
              zcnumber LIKE zts0001-zcnumber,
             END OF itab_list.
      DATA: tab_fields LIKE dfies      OCCURS 0 WITH HEADER LINE,
            tab_valuetab(100) TYPE c   OCCURS 0 WITH HEADER LINE.
      DATA: tab_dynnr TYPE sy-dynnr.
      DATA: BEGIN OF tab_return_tab OCCURS 0.
              INCLUDE STRUCTURE ddshretval.
      DATA: END OF tab_return_tab.
      DATA: progname LIKE sy-repid.
      CLEAR: tab_valuetab[], tab_fields[].
      SELECT kunnr cdseq zaddress zcperson zcnumber
        INTO CORRESPONDING FIELDS OF TABLE itab_list
        FROM zts0001
        WHERE kunnr = v_kunnr.
      tab_dynnr = sy-dynnr.
      tab_fields-tabname = 'ZTS0001'.
      tab_fields-fieldname = 'KUNNR'.
      APPEND tab_fields.
      tab_dynnr = sy-dynnr.
      tab_fields-tabname = 'ZTS0001'.
      tab_fields-fieldname = 'CDSEQ'.
      APPEND tab_fields.
      tab_fields-tabname = 'ZTS0001'.
      tab_fields-fieldname = 'ZADDRESS'.
      APPEND tab_fields.
      tab_fields-tabname = 'ZTS0001'.
      tab_fields-fieldname = 'ZCPERSON'.
      APPEND tab_fields.
      tab_fields-tabname = 'ZTS0001'.
      tab_fields-fieldname = 'ZCNUMBER'.
      APPEND tab_fields.
      LOOP AT itab_list.
        tab_valuetab = itab_list-kunnr.
        APPEND tab_valuetab.
        tab_valuetab = itab_list-cdseq.
        APPEND tab_valuetab.
        tab_valuetab = itab_list-zaddress.
        APPEND tab_valuetab.
        tab_valuetab = itab_list-zcperson.
        APPEND tab_valuetab.
        tab_valuetab = itab_list-zcnumber.
        APPEND tab_valuetab.
      ENDLOOP.
      progname = sy-repid.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
           EXPORTING
                retfield    = 'CDSEQ'
                dynpprog    = progname
                dynpnr      = '1000'
                dynprofield = 'P_CODE'
           TABLES
                value_tab   = tab_valuetab
                field_tab   = tab_fields
                return_tab  = tab_return_tab
           EXCEPTIONS
                OTHERS      = 0.
    START-OF-SELECTION.
      IF pr_edit = 'X' AND p_code IS INITIAL.
        MESSAGE i008 WITH 'Please specify a ship-to code.'.
         LEAVE TO TRANSACTION 'ZDCONTACT'.
      ENDIF.
      PERFORM get_data.
      IF pr_upld = 'X'.
        PERFORM upload_file.
      ELSEIF pr_add = 'X'.
        PERFORM add_record.
      ELSEIF pr_edit = 'X'.
        PERFORM edit_record.
      ELSEIF pr_list1 = 'X' OR pr_list2 = 'X'.
        PERFORM display_alv.
      ENDIF.
    END-OF-SELECTION.
    based from ALV PF-STATUS
      IF sy-ucomm = '&F03'.                  "BACK
       LEAVE TO TRANSACTION 'ZDCONTACT'.
      ELSEIF sy-ucomm = '&F15'.              "EXIT
       LEAVE TO TRANSACTION 'ZDCONTACT'.
      ELSEIF sy-ucomm = '&F12'.              "CANCEL
       LEAVE TO TRANSACTION 'ZDCONTACT'.
      ENDIF.
    *&      Form  authority_check
    FORM authority_check.
      CALL FUNCTION 'AUTHORITY_CHECK'
           EXPORTING
                field1              = 'TCD' "MDM
                object              = 'S_TCODE'
                user                = sy-uname
                value1              = 'ZMEN'
               VALUE3              = '01' MDM
           EXCEPTIONS
                user_dont_exist     = 1
                user_is_authorized  = 2
                user_not_authorized = 3
                user_is_locked      = 4
                OTHERS              = 5.
      IF sy-subrc NE 2.
    **-added by weng 04/28/2006
    **-if user is not authorized to use dealer portal check if he is
    **-  authorized to use the tcode ZDCONTACT
        CALL FUNCTION 'AUTHORITY_CHECK'
             EXPORTING
                  field1              = 'TCD' "MDM
                  object              = 'S_TCODE'
                  user                = sy-uname
                  value1              = 'ZDCONTACT'
               VALUE3              = '01' MDM
             EXCEPTIONS
                  user_dont_exist     = 1
                  user_is_authorized  = 2
                  user_not_authorized = 3
                  user_is_locked      = 4
                  OTHERS              = 5.
    **-weng
        IF sy-subrc NE 2.
          MESSAGE i000 WITH
            'You are not authorised to use this transaction'.
          LEAVE PROGRAM.
        ENDIF.
      ENDIF.
    ENDFORM.                    " AUTHORITY_CHECK
    *&      Form  get_data
    FORM get_data.
    *AVH - start of insertion - 04/19/06
    **records selected from table zts0001 that has been marked as
    **activated will be fetched otherwise, ignore.
      IF v_kunnr IS INITIAL.
        SELECT * INTO CORRESPONDING FIELDS OF TABLE it_zts0001
          FROM zts0001.
      ELSEIF v_compflag = 'X'.
        SELECT * INTO CORRESPONDING FIELDS OF TABLE it_zts0001
           FROM zts0001.
      ELSE.
        SELECT * INTO CORRESPONDING FIELDS OF TABLE it_zts0001
           FROM zts0001
           WHERE kunnr = v_kunnr.
      ENDIF.
    *AVH - start of insertion - 05/24/06
    **fetch name based from kunnr and put in itab
      LOOP AT it_zts0001 ASSIGNING <fs_zts0001>.
        SELECT SINGLE name1 FROM kna1
        INTO <fs_zts0001>-name1
        WHERE kunnr = <fs_zts0001>-kunnr.
      ENDLOOP.
    *AVH - end of insertion
    ENDFORM.                    " get_data
    *&      Form  Upload_file
    FORM upload_file.
      DATA: lv_seq(5) TYPE n,
            lv_ctr(5) TYPE c,
            lv_kunnr LIKE it_upload-kunnr.
      v_title = 'Upload from File'.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                filename = p_flnme
                filetype = 'DAT'
           TABLES
                data_tab = it_upload
           EXCEPTIONS
                OTHERS   = 1.
      IF sy-subrc <> 0.
        MESSAGE i008 WITH 'File does not exist.'.
        IF v_compflag IS INITIAL.
          LEAVE TO TRANSACTION 'ZDCONTACT'.
        ELSE.
          LEAVE TO TRANSACTION 'ZDCONTACT'.
        ENDIF.
      ENDIF.
      CHECK sy-subrc EQ 0.
      DELETE it_upload
        WHERE zaddress EQ space
          AND zcperson EQ space
          AND zcnumber EQ space.
      SORT it_zts0001 BY kunnr ASCENDING cdseq DESCENDING.
      SORT it_upload BY kunnr ASCENDING.
      LOOP AT it_upload.
        lv_kunnr = it_upload-kunnr.
        AT NEW kunnr.
    AVH - start of insertion - 06/30/06
          SELECT SINGLE kunnr FROM zsoemailid
          INTO lv_kunnr
          WHERE kunnr = it_upload-kunnr.
    if it_upload-kunnr is not found in table ZSOEMAILID, it will
    not be included in the upload.
          IF sy-subrc <> 0.
            DELETE it_upload.
            CLEAR it_upload.
            CONTINUE.
          ENDIF.
    AVH - end of insertion
          READ TABLE it_zts0001 WITH KEY kunnr = lv_kunnr.
          IF sy-subrc EQ 0.
            lv_seq = it_zts0001-cdseq.
          ELSE.
            CLEAR lv_seq.
          ENDIF.
        ENDAT.
        IF it_upload-zaddress IS INITIAL.
          MOVE-CORRESPONDING it_upload TO it_error.
          APPEND it_error.
          CLEAR it_error.
        ELSE.
          REPLACE '"' WITH '' INTO it_upload-zaddress.
          REPLACE '"' WITH '' INTO it_upload-zaddress.
          REPLACE '"' WITH '' INTO it_upload-zcperson.
          REPLACE '"' WITH '' INTO it_upload-zcperson.
          CONDENSE it_upload-zaddress.
          CONDENSE it_upload-zcperson
          ADD 1 TO lv_seq.
          MOVE: it_upload-kunnr    TO it_ztstemp-kunnr,
                lv_seq             TO it_ztstemp-cdseq,
                it_upload-zaddress TO it_ztstemp-zaddress,
                it_upload-zcperson TO it_ztstemp-zcperson,
                it_upload-zcnumber TO it_ztstemp-zcnumber,
                'X'                TO it_ztstemp-zactivated,
                sy-uname           TO it_ztstemp-zcreated_by,
                sy-datum           TO it_ztstemp-zchanged_date.
          MOVE-CORRESPONDING it_ztstemp TO it_ztstemp_gloc.
          APPEND: it_ztstemp, it_ztstemp_gloc.
          CLEAR: it_ztstemp, it_ztstemp_gloc.
        ENDIF.
      ENDLOOP.
      IF NOT it_ztstemp[] IS INITIAL.
        INSERT zts0001 FROM TABLE it_ztstemp.
        INSERT zts_stpgeoloc FROM TABLE it_ztstemp_gloc.
        WRITE:/ 'List of Records Uploaded.' COLOR 1 INTENSIFIED ON.
        FORMAT COLOR 1 INTENSIFIED OFF.
        WRITE:/(020) 'Dealer Code' CENTERED,
               (007) 'Code'         CENTERED,
               (100) 'Address',
               (030) 'Contact Person' CENTERED,
               (018) 'Contact Number' CENTERED.
        FORMAT COLOR OFF.
        WRITE:/(179) sy-uline.
        DESCRIBE TABLE it_ztstemp LINES lv_ctr.
        SORT it_ztstemp BY kunnr cdseq.
        LOOP AT it_ztstemp.
          WRITE:/(020) it_ztstemp-kunnr,
                 (007) it_ztstemp-cdseq,
                 (100) it_ztstemp-zaddress,
                 (030) it_ztstemp-zcperson,
                 (018) it_ztstemp-zcnumber.
        ENDLOOP.
        SKIP 1.
        WRITE:/ 'TOTAL :', lv_ctr.
      ENDIF.
      IF NOT it_error[] IS INITIAL.
        SKIP 2.
        FORMAT COLOR 1 INTENSIFIED OFF.
        WRITE:/(020) 'Dealer Code' CENTERED,
               (030) 'Contact Person' CENTERED,
               (018) 'Contact Number' CENTERED.
        FORMAT COLOR OFF.
        WRITE:/(070) sy-uline.
        DESCRIBE TABLE it_error LINES lv_ctr.
        SORT it_error BY kunnr zcperson.
        LOOP AT it_error.
          WRITE:/ 'With No Address.' COLOR 6 INTENSIFIED ON.
          WRITE:/(020) it_error-kunnr,
                 (030) it_error-zcperson,
                 (018) it_error-zcnumber.
        ENDLOOP.
        SKIP 1.
        WRITE:/ 'TOTAL :', lv_ctr.
      ENDIF.
    ENDFORM.                    " Upload_file
    *&      Form  add_record
    FORM add_record.
      v_title = ''.
      IF NOT v_kunnr IS INITIAL.
        SUBMIT zdealer_contacts_add_edit AND RETURN
                                         WITH p_kunnr = v_kunnr
                                         WITH p_name1 = p_name1  "AVH
                                         WITH p_cdseq = space
                                         WITH p_flag = 'A'
                                         WITH p_addr = it_zts0001-zaddress
                                         WITH p_pers = it_zts0001-zcperson
                                         WITH p_numb = it_zts0001-zcnumber
                                         VIA SELECTION-SCREEN.
      ENDIF.
        LEAVE TO TRANSACTION 'ZDCONTACT'.
    ENDFORM.                    " add_record
    *&      Form  edit_record
    FORM edit_record.
      v_title = ''.
      READ TABLE it_zts0001 WITH KEY kunnr = v_kunnr
                                     cdseq = p_code.
      IF sy-subrc EQ 0.
        SUBMIT zdealer_contacts_add_edit AND RETURN
                                         WITH p_kunnr = v_kunnr
                                         WITH p_name1 = p_name1  "AVH
                                         WITH p_cdseq = p_code
                                         WITH p_flag = 'E'
                                         WITH p_addr = it_zts0001-zaddress
                                         WITH p_pers = it_zts0001-zcperson
                                         WITH p_numb = it_zts0001-zcnumber
                                         WITH v_controller = v_compflag
                                         VIA SELECTION-SCREEN.
      ELSE.
        MESSAGE i008 WITH 'No record found.'.
        CALL TRANSACTION 'ZDCONTACT'.
      ENDIF.
        LEAVE TO TRANSACTION 'ZDCONTACT'.
    ENDFORM.                    " edit_record
    *&      Form  display_records
    *FORM display_records.
    IF NOT it_zts0001[] IS INITIAL.
       v_title = 'List of Dealer Contacts'.
       FORMAT COLOR 1 INTENSIFIED OFF.
       WRITE:/(020) 'Customer Number' CENTERED,
              (007) 'Code' CENTERED,
              (100) 'Address',
              (030) 'Contact Person' CENTERED,
              (018) 'Contact Number' CENTERED.
       FORMAT COLOR OFF.
       WRITE:/(179) sy-uline.
       SORT it_zts0001 BY kunnr cdseq.
       LOOP AT it_zts0001.
         WRITE:/(020) it_zts0001-kunnr,
                (007) it_zts0001-cdseq,
                (100) it_zts0001-zaddress,
                (030) it_zts0001-zcperson,
                (018) it_zts0001-zcnumber.
       ENDLOOP.
    ELSE.
       MESSAGE i008 WITH 'No records to display.'.
    ENDIF.
    *ENDFORM.                    " display_records
    *&      Form  display_alv
    FORM display_alv.
      SORT it_zts0001 BY kunnr cdseq.
      PERFORM f_build_layout USING gs_layout.
      PERFORM f_init_fieldcat USING gt_fieldcat[].
      PERFORM f_init_events USING 'BACK' gt_events[].
      g_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program      = g_repid
                i_callback_top_of_page  = 'TOP_OF_PAGE'
                i_callback_user_command = 'USER_COMMAND'
                is_layout               = gs_layout
                it_fieldcat             = gt_fieldcat[]
                it_events               = gt_events[]
                i_save                  = 'X'
               it_sort                 = gt_sort
           TABLES
                t_outtab                = it_zts0001[]
           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.                    " DISPLAY_ALV
          FORM top_of_page                                          *
    FORM top_of_page.
    *ALV Header declarations
      DATA: t_header TYPE slis_t_listheader,
            wa_header TYPE slis_listheader,
            t_line LIKE wa_header-info,
            lv_title(60),
            lv_user(60),
            lv_date(10),
            lv_time(10),
            lv_time_n_date(30),
            lv_dcode_n_name(150),
            lv_dlr_n_desc(100),
            ld_lines TYPE i,
            ld_linesc(10) TYPE c.
    Title
      CLEAR: lv_title, wa_header.
      MOVE sy-title TO lv_title.
      wa_header-typ  = 'H'.
      wa_header-info = lv_title.
      APPEND wa_header TO t_header.
      CLEAR wa_header.
    User
      CLEAR: lv_user, wa_header.
      CONCATENATE: 'Generated by:' sy-uname
                   INTO lv_user SEPARATED BY space.
      wa_header-typ  =  'A'.
      wa_header-info =  lv_user.
      APPEND wa_header TO t_header.
      CLEAR wa_header.
    *Date and time
      CLEAR: lv_date, lv_time.
      WRITE: sy-datum TO lv_date MM/DD/YYYY,
             sy-uzeit TO lv_time USING EDIT MASK '__:__:__'.
      CONCATENATE: 'Generated on:' lv_date lv_time
        INTO lv_time_n_date SEPARATED BY space.
      wa_header-typ  = 'A'.
      wa_header-info =  lv_time_n_date.
      APPEND wa_header TO t_header.
      CLEAR wa_header.
      IF NOT v_kunnr IS INITIAL AND v_compflag IS INITIAL.
    *Dealer code and name
        CONCATENATE: 'Dealer:' p_dcode p_name1
          INTO lv_dcode_n_name SEPARATED BY space.
        wa_header-typ  =  'A'.
        wa_header-info =  lv_dcode_n_name.
        APPEND wa_header TO t_header.
        CLEAR wa_header.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = t_header.
    ENDFORM.                    " TOP_OF_PAGE
          FORM f_build_layout                                           *
    -->  %LAYOUT                                                       *
    FORM f_build_layout USING %layout TYPE slis_layout_alv.
      %layout-zebra             = 'X'.
      %layout-colwidth_optimize = 'X'.
    ENDFORM.                    " F_BUILD_LAYOUT
          FORM f_init_fieldcat                                          *
    -->  %FIELDCAT                                                     *
    FORM f_init_fieldcat USING %fieldcat TYPE slis_t_fieldcat_alv.
      DATA: lc_fieldcat TYPE slis_fieldcat_alv.
      CLEAR lc_fieldcat.
      DEFINE m_field.
        add 1 to lc_fieldcat-col_pos.
        lc_fieldcat-fieldname   = &1.
        lc_fieldcat-outputlen   = &2.
        lc_fieldcat-seltext_l   = &3.
        lc_fieldcat-do_sum      = &4.
        lc_fieldcat-inttype     = &5.
        lc_fieldcat-hotspot     = &6.
        lc_fieldcat-fix_column  = &7.
        lc_fieldcat-ddictxt     = 'L'.
        lc_fieldcat-no_zero     = 'X'.
        append lc_fieldcat to %fieldcat.
      END-OF-DEFINITION.
      IF v_kunnr IS INITIAL.
        m_field 'KUNNR' '5' 'Dealer Code'            ''  ''  '' ''.
      ENDIF.
      IF v_compflag = 'X'.
        m_field 'KUNNR' '5' 'Dealer Code'        ''  ''  '' ''.
      ENDIF.
      IF v_compflag = 'X'.
        m_field 'NAME1'    '40' 'Dealer Name'        ''  ''  '' ''.
      ENDIF.
      m_field 'CDSEQ' '05' 'Ship-To Code'            ''  ''  '' ''.
      m_field 'ZADDRESS' '100' 'Address'             ''  ''  '' ''.
      m_field 'ZCPERSON' '30' 'Contact Person'       ''  ''  '' ''.
      m_field 'ZCNUMBER' '18' 'Contact Number'       ''  ''  '' ''.
      IF v_kunnr IS INITIAL.
        m_field 'NAME1'    '40' 'Dealer Name'        ''  ''  '' ''.
      ENDIF.
      m_field 'ZACTIVATED' '1' 'Activated'           ''  ''  '' ''.
    ENDFORM.                    " f_init_fieldcat
          FORM f_init_events                                            *
    -->  P_TYPE                                                        *
    -->  %EVENTS                                                       *
    FORM f_init_events USING p_type CHANGING %events TYPE slis_t_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type     = 0
           IMPORTING
                et_events       = %events
           EXCEPTIONS
                list_type_wrong = 1
                OTHERS          = 2.
      IF sy-subrc = 0.
        PERFORM f_build_events USING: slis_ev_user_command.
       IF p_type = 'TOP'.
         PERFORM f_build_events USING: gc_top.
       ELSEIF p_type = 'SUM'.
         PERFORM f_build_events_sum USING: gc_topsum.
       ENDIF.
      ELSE.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " F_INIT_EVENTS
          FORM user_command                                             *
    -->  P_UCOMM                                                       *
    -->  P_SELFIELD                                                    *
    FORM user_command USING p_ucomm LIKE sy-ucomm
                            p_selfield TYPE slis_selfield.
      CASE p_ucomm.
        WHEN 'E'.
          CALL SELECTION-SCREEN 500.
      ENDCASE.
    ENDFORM.
          FORM f_build_events                                           *
    -->  %EVENT                                                        *
    FORM f_build_events USING %event.
      READ TABLE gt_events WITH KEY name = %event.
      IF sy-subrc = 0.
        MOVE: %event TO gt_events-form.
        MOVE 'USER_COMMAND' TO gt_events-form.
        MODIFY gt_events INDEX sy-tabix.
      ENDIF.
    ENDFORM.                    " F_BUILD_EVENTS

  • Display number of entries per sort order

    G'day all.
    Does anybody know how I can display number of entries per sort order in
    ALV grid.
    i.e. ABC 2000
    2000
    2000
    3 (entries) 6000
    DEF 1000
    HIJ 2000
    2 (Entries) 3000
    5 (Total Entries) 9000

    Hi,
    The way I did it I used "AT END OF " statement and added my amount to a
    variable and then move my variable in work area and then modified your
    internal table from work area transporting that field or depending on
    your requirement that you need to add a separate line for totals append
    the internal table which you are going to use it for first display. Then
    after the set_table_for_first_display I added the alv_build_sort
    criteria. And call method alv_list->set_sort_criteria exporting the
    internal table i_sort.
    Cheers,
    Chaitanya

  • List-processing: limitations to 255 chars per line?

    Hi,
    check the sample code below and if possible, execute it in some of your systems:
    start-of-code
    REPORT  ZISM_TEST52 LINE-SIZE 300.
    DATA:
      line(300) TYPE c.
    WRITE '0123456789' TO line+250(10).
    WRITE: / 'From variable', /.
    WRITE  line.
    WRITE: / 'Directly to the list', /.
    WRITE AT 251 '0123456789'.
    end-of-code
    As you can see from the execution, when writing something into the char variable (in this case line), and try to put it into your screen, there is a limitation - only the first 255 characters of the variable take place in the resulted list. But, if you write directly into the list, this limitation is missing.
    My question is closely related to this limitation:
    Is there a possibility to avoid this limitation while putting something into the variable, and after that writing it to the list?
    Situation is: I have quite complex report to rewrite (with several lists, and complex header texts for each list), which uses this technique - write to internal table, after that loop at the table and use simple write statement. I would like to save my effort and time and to use a a possibility to write variables longer than 255 chars to the list - if there is any.
    So? Is there such a possibility?
    Any help would be highly appreciated.
    Many thanks in advance.
    Regards,
    Ivaylo Mutafchiev

    HI Ivaylo
    Below is from documenation:
    Creates a report with col columns per line.
    If the LINE-SIZE specification is missing, the line length corresponds to the current screen width. The system field SY-LINSZ contains the current line size for generating lists. The maximum width of a list is 1023 characters. You should keep lists to the minimum possible size to improve useability and performance (recommendation: LINE-SIZE < 132). For very wide lists (LINE-SIZE > 255), you should consult the notes for using LINE-SIZE
    greater than 255.
    Notes
    The specified LINE-SIZE must not appear in quotation marks.
    If the you want the report list (i.e. the output) to be printable, do not define a LINE-SIZE with a value greater than 132 because most printers cannot handle wider lists. <b>You cannot print lists wider than 255 characters at all using the standard print functions.</b> To print the contents of the lists, you need to write a special print routine that arranges the data in shorter lines (for example, using the PRINT ON addition in the NEW-PAGE statement.
    At the beginning of a new list level, you can set a fixed line width for the level using the ... LINE SIZE addition to the NEW-PAGE statement.
    Maybe the highlighted portion might be one reason for this behaviour.
    Kind Regards
    Eswar

  • Display a text with many lines

    is within WD UI Element availablw where by I can display a text with many lines ?
    Regards
    Marco M

    Hi,
    TextEdit uielement is available, which is like a text area; user can enter free text in para's,multiple lines ,etc.
    Steps:
    Like any other uielement, right click and insert the textedit uielement on your view.
    Create an attribute 'CA_TEXT'  type string and bind it with the value property of your text edit. 
    Change the cols and row property to adjust your text edit width and height.
    Use the following code to read the contents entered in the test edit,
    Data: l_elem type ref to if_wd_context_element.
    Data: l_text type string.
    l_elem = wd_context->get_element( ).
    l_elem->get_attribute( exporting name = 'CA_TEXT'
    importing value = l_text }. "l_text will now have  the contents of your text edit.
    Regards,
    Radhika.

  • Assets per line item

    Hi All,
    In SRM 4.0 we are able to create any no of assets for a particular line item. In SRM 7.0, i am able to create only one asset per line item in the SC as the standard code is making the quantity field get defaulted to one only.
    If i change it in debugging, i am able to create any no of assets but i am not able to see all the created assets on the screen only the first asset is getting displayed .... do any one have any idea????

    Hi Lokesh,
    I've tested this in our system with Cost Center assignement, splitting cost center assignment over two cost centers. This didn't work also, probably the exact same behaviour as with your Asset situation.
    Good news: This isn't your fault my SRM 7.0 SP05 system is having the same issues you're talking about.
    Bad news: SAP Customer Message or maybe an OSS Note is available on this, but i doubt it, i've already seen a lot of notes but havn't seen any covering this.
    Found 1 note you could take a look at: Note 1417829 - Multiple account assignment shopping carts end up in error. This note does not cover my extended-classic system situation though, i'll check this one out again when we upgraded SP's: No hurry on this one for me.
    Kind regards,
    Tim

  • Managing Per Line Unblocking (*82) in Contacts

    After many years of waiting on Apple, and then my contract upgrade date, I now have an iPhone on VZW.  I'm fairly familiar with iOS from my iPod touch, but have a question on the phone side.
    I've got "Per Line Blocking" turned on to try to prevent my Caller ID being displayed[1].  So I want to set up various Contacts in the iPhone so that calls to them get unblocked.  This requires pre-pending *82 to their number.   I've also found that to match many incoming calls and texts, I need to have the +1 int'l dialing prefix before their number in Contacts.  On my previous feature phone, I didn't need the +1 and could put *82### ### #### into the contact and things just worked (except I'd have to edit it out to start a new text exchange).
    So I'm wondering how *82 and +1 are going to interact in the iPhone.  Am I going to need multiple entries (one with *82 and one with +1) for each number in Contacts to pull this off, or can I just have *82+1 ### ### #####?  If multiple entries, is there a way to make sure that *82 is used for outgoing calls with the minimal fuss (i.e. does having it first in the list work?).  Anybody have experience with this? 
    Also does turning off "International Assist" change the solution? Do you get good incoming matches with just a ten digit number in the Contacts?
    And it should be fun to see how this mess interacts with Ford SYNC, but I'll cross that bridge later.
    Thanks,
    -2x4
    [1]I know about the exceptions and hacks.

    While your suggestion may work for outgoing calls, it does not match incoming calls and SMS.  Apparently the iPhone is very literal in it's matching.  For example, I must have an only 10 digit entry in contacts to match another VZW caller so that a name is displayed rather than a number.  But a friend who is an ATT wireless customer has to have the +1 in front of the 10 digit entry to match.  From other Internet forums, it seems some carriers may even just send 7 digits in the Caller ID.  However none will match with *82 in the entry.  Seems like until Apple makes some improvements I'm stuck with two entries if I want to apply *82 to outgoing calls.
    As far as interacting with Ford SYNC.  If I label the two entries as "Mobile" for one contact, it needs to prompt me for which one when I make an outgoing call.  I haven't tried it yet, but I think the solution there is to have the *82 version marked with the correct designation and the "matching" version labeled something unused, like "Other".
    International Assist is a setting for the iPhone's Phone App.  As I understand it, it is supposed to automatically decide if the International dialing prefix is needed for outgoing calls when you travel abroad.  I expect the *82 prefix may confuse it, but I haven't any empirical evidence yet. 
    -2x4

  • How can I sum all the amount per line?

    HI,
    How can I sum all the amount per line?
    EXAMPLE:
    [code]
                                             TOTAL:
    1,000         2,000     5,200            $8,200
      400         1,200     6,000             7,600
    [/code]
    THANKS!!

    If you are sure of the number of columns that you are gonna get then you can add them to a variable and display.
    total = itab-col1 + itab-col2 + itab-col3.
    If you dunno how many columns will come , you have to use field symbols.
    Say the datatabse table has 16 columns which will contain your price and you have to calculate the sum of all those , then assign them to field symbols and calculate.
    Have a look at the following code.
    FORM GET_VALUES_FROM_COSS .
      FIELD-SYMBOLS: <FS1> TYPE ANY.
      DATA: V_COMPONENT1 TYPE I.
      V_COMPONENT1=31.  " your field of table from which amount field starts
    Cumulate the posting values of all the 16 period buckets as to get
    total production order cost. This is to handle the partial posting of
    production order values in different periods.
      DO 16 TIMES.
        ADD 1 TO: V_COMPONENT1.
        ASSIGN COMPONENT V_COMPONENT1 OF STRUCTURE COSS TO <FS1>.
        IF COSS-WRTTP EQ '05' AND COSS-KSTAR EQ C_KSTAR1.
          ADD <FS1> TO I_FINAL-PL_LABCOST.
        ELSEIF COSS-WRTTP EQ '04' AND COSS-KSTAR EQ C_KSTAR1.
          ADD <FS1> TO I_FINAL-ACT_LABCOST.
        ELSEIF COSS-WRTTP EQ '05' AND COSS-KSTAR EQ C_KSTAR2.
          ADD <FS1> TO I_FINAL-PL_MATCOST.
        ELSEIF COSS-WRTTP EQ '04' AND COSS-KSTAR EQ C_KSTAR2.
          ADD <FS1> TO I_FINAL-ACT_MATCOST.
        ELSEIF COSS-WRTTP EQ '05' AND COSS-KSTAR EQ C_KSTAR3.
          ADD <FS1> TO I_FINAL-PL_OPCOST.
        ELSEIF COSS-WRTTP EQ '04' AND COSS-KSTAR EQ C_KSTAR3.
          ADD <FS1> TO I_FINAL-ACT_OPCOST.
        ELSEIF COSS-WRTTP EQ '05' AND COSS-KSTAR EQ C_KSTAR4.
          ADD <FS1> TO I_FINAL-PL_FACCOST.
        ELSEIF COSS-WRTTP EQ '04' AND COSS-KSTAR EQ C_KSTAR4.
          ADD <FS1> TO I_FINAL-ACT_FACCOST.
        ELSEIF COSS-WRTTP EQ '05' AND COSS-KSTAR EQ C_KSTAR5.
          ADD <FS1> TO I_FINAL-PL_LABCOST.
        ELSEIF COSS-WRTTP EQ '04' AND COSS-KSTAR EQ C_KSTAR5.
          ADD <FS1> TO I_FINAL-ACT_LABCOST.
        ELSEIF COSS-WRTTP EQ '05'.
          ADD <FS1> TO I_FINAL-OTHER_PL_COST.
        ELSEIF COSS-WRTTP EQ '04'.
          ADD <FS1> TO I_FINAL-OTHER_ACT_COST.
        ENDIF.
      ENDDO.
    ENDFORM.                    " GET_VALUES_FROM_COSS
    Let us know if u need more inputs

Maybe you are looking for