Module pool help needed

Please use a more informative subject in future
hi Experts
In my module pool program i having a list box in a modeled dialog box . if the list box is left empty it will give an error message .after pressing the enter buttton the list box gets disable . in which i want enable after pressing enter . how can i achive it .
regards
chinnaiya
Edited by: Matt on Apr 27, 2009 10:27 AM

HI,
Do the following to solve your problem.
In the screen flow logic after "process after input" write the following:
CHAIN.
FIELD fieldname MODULE chk-fieldname.
ENDCHAIN.
Now create a module chk-fieldname in F01 and write your code there.
So now even if there is an error also your field will not be disabled.
Hope this helps you.
Thanks,
Sri...

Similar Messages

  • Module Pool help req??

    hi
    Can we make a redio button in the Module pool progm as a default while in the screen painter?
    plz tell me,i don't know how to do it?
    regds
    vipin

    Hi,
    Use control bar in the left side  of the painter window and after that give the fucntion code for the radiobutton.
    While creating the screen,u give the function code for the radio button ...
    In the PAI of that screen.
    If sy-ucomm = 'Fcode of that radio bbutton'.
    loop at screen.
    if screen-name = 'xyz'.(give all the screen names which u want to activate)
    screen-active = '1'.
    modify screen.
    endif.
    endloop.
    endif.
    In the Screen Painter, you can assign a function code (up to 20 characters long) to checkboxes and radio buttons.
    Checkboxes and radio buttons without a function code behave like normal input/output fields. Clicking the object changes the contents of the field, but does not trigger the PAI event. (Clicking a pushbutton, on the other hand, always triggers the PAI event, even if it has an empty function code.)
    When a function code is assigned to a checkbox or radio button, clicking it not only changes the field contents, but also triggers the PAI event and places the function code in the OK CODE field. For further information, refer to Evaluating Function Codes.
    While it is possible to assign an individual function code to each checkbox, you can only assign one function code to all of the radio buttons in a group. When you assign a function code to a radio button in the Screen Painter, the system automatically applies the same function code to all of the other radio buttons in the group.
    You can use checkboxes and radio buttons with function codes as follows:
    ·        For processing parts of screens (context-sensitive processing). For example, only when a radio button or checkbox is selected is particular data read and placed in the corresponding input/output fields.
    ·        You can fill fields with patterns depending on checkboxes or radio buttons. A typical example would be formatting settings for letters. The input fields can all be processed separately, but it is possible to fill all input fields simultaneously and consistently by choosing a pattern.
    ·        You can control dynamic screen modifications directly using checkboxes or radio buttons. For example, you can make sure that an input/output field cannot accept input until the user selects a radio button.
    As when you create pushbuttons, you should ensure when you assign function codes to checkboxes and radio buttons that they do not coincide with function codes from the GUI status.
    PROGRAM demo_dynpro_check_radio.
    DATA: radio1(1) TYPE c, radio2(1) TYPE c, radio3(1) TYPE c,
          field1(10) TYPE c, field2(10) TYPE c, field3(10) TYPE c,
          box TYPE c.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    CALL SCREEN 100.
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'RADIO'.
          IF radio1 = 'X'.
            field1 = 'Selected!'.
            CLEAR: field2, field3.
          ELSEIF radio2 = 'X'.
            field2 = 'Selected!'.
            CLEAR: field1, field3.
          ELSEIF radio3 = 'X'.
            field3 = 'Selected!'.
            CLEAR: field1, field2.
          ENDIF.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.
    Thanks,
    Sakthi C
    Message was edited by:
            Sakthi Saravanan C

  • SAP PS Module Report, Help needed for the Right Logic.

    Hi,
             I have to develop a  PS module Report . This spec of this  report is when you enter , project # , month , date , proj type it should  display all the projects  and only the billing levels  with  different  fiels  like ITD cost, ITD sales, ytd cost,  sales,  awards  etc etc.
    Right now  Iam getting the O/P : in the  following manner, There are many fields  I am just showing the desired ones which have to be changed.
    Proj,           Title,         award,    ITDsales,         ITD cost ,    ytd sales,   ytd costs,
    14148,       New prj       123        --                   ---                    -
    14148-B01,  bill1          -
                234           -
                       456                -
    14148-B02,  bill2          -
                789          -
                       123                -
    14148.001    wbs1        -
             123                     -
                     456
    14148.001    wbs2        -
              567                    -
                     890
    But   for me  the desired output must be only for  project  and the billing levels. It shouldn’t be for WBS elements  xxxx.001  and xxxx.002.
    Desired  output:
    Proj,           Title,         award,    ITDsales,   ITD cost ,       ytd sales,      ytd costs,
    14148,       New prj       123        --               690                 -
                   1346
    14148-B01,  bill1          -
             234                -
                       456             -
    14148-B02,  bill2          -
             789                -
                      123              -
    The ITD costs  and YTD costs must be added   123 + 567 = 690 and
                                                                                 456+890 = 1346.
    And these values must come   on the project level.
    P.S:  I can restrict the values  for wbs elements  , means I can filter them at PRPS table  by giving prps-stufe LE ‘2’.  Then I wont get the wbs level, But I want the values of these to be added up and then show it on the project level.
    Please  go through  this code and let me  know where exactly I need to put the right logic  to work in the desired manner.
    Thanks   in advance
    Dan
    Code Below************************
    [code]TABLES: PROJ,                "Project Definition
            PRPS,                "WBS Elements
            prhi,
            CEPC,                " Profit Center w/ Group Head info
            BPGE,                "Plans (12, 13, etc.)
            COSP,                "Primary   Cost Element (Bill Sales, DPC)
            COSS,                "Secondary Cost Element (Shrd Sls,Sal,etc)
            COSB,                "Results Analysis Cost Elements (Unbil Sls)
            COOI,                "Commitments management: Line items
            JEST,                "Project Status
            TCJ04,               "Person Responsible for Project
            zpclasses,           "Project classes.
    New Added
            CRCO,            " Assignment of Work Center to Cost Center
            CRHD.            " Work Center Header
    Record Layout of extracted data
    TYPES: BEGIN OF EXDEF,       "Data definition of extract data
           X_BU(2)     TYPE C,   "Business Unit
           X_CNTR(10)  TYPE C,   " Profit Center
           X_PROJ(24)  TYPE C,   "Project def (Prj)
           X_CREP(30)  TYPE C,   "Contract Rep.
           X_BDREP(25) TYPE C,   "BD Rep. name
           X_GRPH(15)  TYPE C,   "Tech Rep employee name
           X_ACTREP(15)  TYPE C,  "Acct Rep employee name
           X_PMGR(15)  TYPE C,   "PM employee name
           X_TTLE(35)  TYPE C,   "Title
           X_CLNT(20)  TYPE C,   "Client
           X_POCN(20)  TYPE C,   "Prime Contract Number
           X_TYPE(13)  TYPE C,   "Order Type Sarnoff
           X_OPEN(10)  TYPE C,   "Open Date
           X_CLOSE(10) TYPE C,   "Close Date
           X_CGT(4)    TYPE C,   "CO, GV, TC
           X_DISTR(2)  TYPE C,   "Distribution Channel
           X_CONTR(6)  TYPE C,   "Percentage contribution
           X_AWRD(14)  TYPE C,   "Award        (Plan 11)
           X_P12R(14)  TYPE C,   "Auth Revenue (Plan 12 @ Rev)
           X_P12C(14)  TYPE C,   "Auth Cost    (Plan 12 @ Cost)
           X_P13R(14)  TYPE C,   "Auth Revenue (Plan 13 @ Rev)
           X_P13C(14)  TYPE C,   "Auth Cost    (Plan 13 @ Cost)
           X_ITDS(14)  TYPE C,   "ITD Sales
           X_ITDC(14)  TYPE C,   "ITD Costs
           X_YTDS(14)  TYPE C,   "YTD Sales
           X_YTDC(14)  TYPE C,   "YTD Costs
           X_MTHS(14)  TYPE C,   "Current Month Sales
           X_MTHC(14)  TYPE C,   "Current Month Costs
           X_ITDB(14)  TYPE C,   "ITD Billed Sales
           X_YTDB(14)  TYPE C,   "YTD Billed Sales
           X_MTHB(14)  TYPE C,   "Current Month Billed Sales
           X_COMM(14)  TYPE C,   "Commitments
           X_STAT(6)   TYPE C,   "Active or Inactive (REL, TECO, or CLSD)
           X_ZPROJCLASS(12),
           X_MTHIC(14) TYPE C,   "Current Month Incremental Costs
           X_YTDIC(14) TYPE C,   "YTD Incremental Costs
           X_ITDIC(14) TYPE C,   "ITD Incremental Costs
           X_ZSCURVE(10) TYPE C, "S-CURVE  Status
    New Added
           X_CM_COST(20) TYPE C,
           X_AM_COST(20) TYPE C,
           X_TL_COST(20) TYPE C,
           X_KP_COST(20) TYPE C,
           X_PM_COST(20) TYPE C,
    END OF EXDEF.
    Data declarations
    FIELD-SYMBOLS <MNT> .
    DATA: ETAB  TYPE  EXDEF   OCCURS 100  WITH  HEADER LINE.
    DATA:  X1_PM_COST(20) TYPE C,
           X1_TL_COST(20) TYPE C,
           X1_AM_COST(20) TYPE C,
           X1_CM_COST(20) TYPE C,
           X1_KP_COST(20) TYPE C.
    DATA: KOKRS_FIXED      LIKE PROJ-VKOKR VALUE 'DSRC',  "Controlling Area
          TOTAL_AWARD      LIKE BPGE-WTGES,
          TOTAL_AUTHR12    LIKE BPGE-WTGES,
          TOTAL_AUTHC12    LIKE BPGE-WTGES,
          TOTAL_AUTHR13    LIKE BPGE-WTGES,
          TOTAL_AUTHC13    LIKE BPGE-WTGES,
          TOTAL_ITDSALES   LIKE BPGE-WTGES,
          TOTAL_ITDCOSTS   LIKE BPGE-WTGES,
          TOTAL_ITDICOSTS  LIKE BPGE-WTGES,
          TOTAL_YTDSALES   LIKE BPGE-WTGES,
          TOTAL_YTDCOSTS   LIKE BPGE-WTGES,
          TOTAL_YTDICOSTS  LIKE BPGE-WTGES,
          TOTAL_MTHSALES   LIKE BPGE-WTGES,
          TOTAL_MTHCOSTS   LIKE BPGE-WTGES,
          TOTAL_MTHICOSTS  LIKE BPGE-WTGES,
          TOTAL_ITDBILLED  LIKE BPGE-WTGES,
          TOTAL_YTDBILLED  LIKE BPGE-WTGES,
          TOTAL_MTHBILLED  LIKE BPGE-WTGES,
          TOTAL_COMMITMENT LIKE COOI-WTGBTR,
          HOLD_PRART       LIKE PRPS-PRART,
          COUNT_PROJECTS   TYPE I,
          MNT_INDX(20)     TYPE C,
          HLD_INDX(3)      TYPE N,
          YYYY_MM(10)      TYPE C,
          TEMP-DATE(8)     TYPE C.
    Selection Screen
    SELECTION-SCREEN SKIP 3.
    SELECTION-SCREEN BEGIN OF BLOCK XEXTRPM WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 2.
    PARAMETERS MONTH(2)  TYPE  N   OBLIGATORY.
    PARAMETERS YEAR(4)   TYPE  N   OBLIGATORY.
    SELECT-OPTIONS: EXTRPRJ  FOR PROJ-PSPID.     " Range of Projects
    SELECT-OPTIONS: EXTRTYP  FOR PRPS-PRART.  "Project Types (CO,GV,etc.*)
    SELECT-OPTIONS: EXTRPCTR FOR PROJ-PRCTR.     " Range of Profit centers
    SELECTION-SCREEN SKIP 2.
    PARAMETERS: OPT1 RADIOBUTTON GROUP OPTN,
                OPT2 RADIOBUTTON GROUP OPTN DEFAULT 'X'.
    select-options : s_pc for proj-zprojclass.   "project class
    SELECTION-SCREEN END OF BLOCK XEXTRPM.
    Select Tables
    START-OF-SELECTION.
    write: / 'Sales data (Unshared) extracted on: ', sy-datum.
    uline.
      CLEAR:  COUNT_PROJECTS,
              TOTAL_AWARD,
              TOTAL_AUTHR12,
              TOTAL_AUTHC12,
              TOTAL_AUTHR13,
              TOTAL_AUTHC13,
              TOTAL_ITDSALES,
              TOTAL_ITDCOSTS,
              TOTAL_YTDSALES,
              TOTAL_YTDCOSTS,
              TOTAL_MTHSALES,
              TOTAL_MTHCOSTS,
              TOTAL_ITDBILLED,
              TOTAL_YTDBILLED,
              TOTAL_MTHBILLED,
              TOTAL_COMMITMENT,
              ETAB.
    PROJ Table                                          Project Definition
      SELECT  * FROM PROJ                   "Project Definition
           WHERE PSPID IN EXTRPRJ AND      " Range of Project Numbers
              PRCTR IN EXTRPCTR and        " Range of Profit center
                zprojclass in s_pc.     "project class
    SELECT * FROM PRPS WHERE           "WBS Elements
                  PRART IN EXTRTYP         " Range of Proj.Types (CO,GV,TC..
                 and PSPHI = PROJ-PSPNR.
        HOLD_PRART   = '  '.               "clears project type
        CLEAR ETAB.
        ETAB-X_PROJ  = PRPS-POSID.
        ETAB-X_BU    = PRPS-PRCTR(2).      "Business Unit
        ETAB-X_PMGR = PROJ-VERNA.          "Project Manager
        IF PRPS-PRCTR(2) = '01'.
         ETAB-X_CNTR  = PRPS-PRCTR.         " Profit Center
         CONCATENATE SPACE PRPS-PRCTR INTO ETAB-X_CNTR SEPARATED BY SPACE.
        ELSE.
          ETAB-X_CNTR  = PRPS-PRCTR.         " Profit Center
        ENDIF.
         ETAB-X_TTLE  = PRPS-POST1.         "Title
        CLEAR  TEMP-DATE.
        TEMP-DATE    = PROJ-PLFAZ.         "Project planned start date
        CONCATENATE  TEMP-DATE4(2)  '/' TEMP-DATE6(2) '/'
                     TEMP-DATE+0(4)  INTO  ETAB-X_OPEN.
        TEMP-DATE    = PROJ-PLSEZ.         "Project planned finish date
        CONCATENATE  TEMP-DATE4(2)  '/' TEMP-DATE6(2) '/'
                     TEMP-DATE+0(4)  INTO  ETAB-X_CLOSE.
    Tech Lead
    will comment below
        SELECT SINGLE VERNA FROM TCJ04     "Tech Lead name from TCJ04
               INTO  (ETAB-X_GRPH) WHERE  VERNR = PROJ-ZGRPHD.
    End Of Tech Lead
    Account Manager
        SELECT SINGLE VERNA FROM TCJ04  "Acct Manager from TCJ04
               INTO  (ETAB-X_BDREP) WHERE  VERNR = PROJ-ZBUSDEV.
    ******End Of Account Manager
    Key Personnel
        SELECT SINGLE VERNA FROM TCJ04     "Account Rep name from TCJ04
               INTO  (ETAB-X_ACTREP) WHERE  VERNR = PROJ-ZRESPDIR.
    ********End of Key Personnel
    **Contract Manager
        SELECT SINGLE VERNA FROM TCJ04     "Contract Rep name from TCJ04
               INTO  (ETAB-X_CREP) WHERE  VERNR = PROJ-ZCNTREP.
    End of Contract Manager
    PRPS Table                            WBS's attached to the Project
       SELECT * FROM PRPS WHERE           "WBS Elements
                 PRART IN EXTRTYP         "Range of Proj.Types (CO,GV,TC..
                 AND PSPHI = PROJ-PSPNR.
                order by posid stufe.    "Sort by WBS & Level (needed?)
    get info from level 1 of the WBS
         IF PRPS-STUFE EQ 1.              "top-level WBS element
            HOLD_PRART  = PRPS-PRART.      "save project type for later
            ETAB-X_STAT = '????'.          "set ? as the default status
    get Status for level 1
            SELECT * FROM JEST             "use JEST to determine Status
               WHERE OBJNR =  PRPS-OBJNR
                 AND INACT EQ SPACE.       "space denotes an active status
               CASE JEST-STAT.             "find the system status (Ixxx)
                    WHEN 'I0001'.
                         ETAB-X_STAT = 'CRTD'.    "Created
                    WHEN 'I0002'.
                         ETAB-X_STAT = 'REL'.     "Released
                    WHEN 'I0045'.
                         ETAB-X_STAT = 'TECO'.    "Technically Complete
                    WHEN 'I0046'.
                         ETAB-X_STAT = 'CLSD'.    "Closed
               ENDCASE.
            ENDSELECT.
    Select only active projects (ie; those not with TECO or CLSD)
            IF  OPT2 EQ 'X'
               AND  ( ETAB-X_STAT EQ  'TECO'
                  OR  ETAB-X_STAT EQ  'CLSD' ).
                   EXIT.
            ENDIF.
    *comment Contract Rep and Proj man because we get them from PROJ now
           etab-x_crep   = prps-zzcont.     "Contract Rep.
           etab-x_pmgr   = prps-verna.      "Program Manager Name
            ETAB-X_CLNT   = PRPS-ZZMANDT.    "Client Name
            ETAB-X_CGT    = PRPS-PRART.      "CO, GV, TC, etc
            ETAB-X_DISTR  = PRPS-ZZVTWEG.    "Distrib Channel (ie; GP, etc.)
            ETAB-X_CONTR  = PRPS-USR04.      "Contribution %
            ETAB-X_POCN   = PRPS-ZZPOCN.     "Contract Number
            ETAB-X_TYPE   = PRPS-ZZORDT.     "Order Type Sarnoff
    Award and Authorization (Revenue & Cost)
            SELECT * FROM BPGE
               WHERE OBJNR   = PRPS-OBJNR
                 AND LEDNR   = '0001'        "Budget / Planning Ledger
                 AND TRGKZ   = 'N'           "Object indicator
                 AND WRTTP   = '01'          "Value Type
                 AND ( VERSN = '011'         "011 = Award
                    OR VERSN = '012'         "012 = Billing Authorization
                    OR VERSN = '013' ).      "013 = RA Authorization
                                             "010 = Funding Authorization
    Award                                                        Plan 11
              IF BPGE-VERSN = '011'.         "Plan 11 = Award
                CASE BPGE-VORGA.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_AWRD = ETAB-X_AWRD + BPGE-WTGES.
                ENDCASE.
              ENDIF.
        IF prps-stufe eq '2'.
    Authorization (Revenue & Cost plan 12)                       Plan 12
              IF BPGE-VERSN = '012'.         "Plan 12 = RA Authorization
                CASE BPGE-VORGA.
                  WHEN 'KSTR'.               "KSTR = Revenue level
                    ETAB-X_P12R = ETAB-X_P12R - BPGE-WTGES.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_P12C = ETAB-X_P12C + BPGE-WTGES.
                ENDCASE.
              ENDIF.
    Authorization (Revenue & Cost plan 13)                       Plan 13
              IF BPGE-VERSN = '013'.         "Plan 13 = RA Authorization
                CASE BPGE-VORGA.
                  WHEN 'KSTR'.               "KSTR = Revenue level
                    ETAB-X_P13R = ETAB-X_P13R - BPGE-WTGES.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_P13C = ETAB-X_P13C + BPGE-WTGES.
                ENDCASE.
              ENDIF.
        endif.
            ENDSELECT.                     "BPGE
      ENDIF.      "end of if prps-stufe eq 1. top-level WBS element
    COSP Table (External Postings)                     Awards
    COSP Table (External Postings)                     Billed Sales
    COSP Table (External Postings)                     DPC's & Legacy Load
            SELECT * FROM COSP
               WHERE OBJNR = PRPS-OBJNR    AND
                     GJAHR LE YEAR
             AND (
                 ( kstar = '0000400999'   and        "old CE for Award $
                   ( KSTAR BETWEEN '0000400990' AND '0000400999' AND
                     VERSN = '011'              AND    "11 = Award
                     WRTTP = '01' )                    "01 = Planned
              OR ( ( KSTAR BETWEEN '0000400001' AND '0000400989' OR
                     KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                     WRTTP = '04' )                    "04 = Actuals
              OR ( ( KSTAR BETWEEN '0000998001' AND '0000998010' OR
                     KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
                     WRTTP = '04' )                    "04 = Actuals
    *------- Awards
           if cosp-kstar = '0000400999' and          "old 400999 = Awards
             IF COSP-KSTAR BETWEEN '0000400990' AND '0000400999' AND
                COSP-VERSN = '011'              AND    "11 = Award
                COSP-WRTTP = '01'.                     "01 = Planned
               IF YEAR       = COSP-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSP-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_AWRD = ETAB-X_AWRD + <MNT>.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSP-GJAHR.
                   ETAB-X_AWRD = ETAB-X_AWRD +
                                 COSP-WKG001 + COSP-WKG002 +
                                 COSP-WKG003 + COSP-WKG004 +
                                 COSP-WKG005 + COSP-WKG006 +
                                 COSP-WKG007 + COSP-WKG008 +
                                 COSP-WKG009 + COSP-WKG010 +
                                 COSP-WKG011 + COSP-WKG012 +
                                 COSP-WKG013 + COSP-WKG014 +
                                 COSP-WKG015 + COSP-WKG016.
               ELSE.
                 EXIT.
               ENDIF.
             ENDIF.
    *------- Billed Sales
             IF ( COSP-KSTAR BETWEEN '0000400001' AND '0000400989' OR
                  COSP-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                  COSP-WRTTP = '04'.
                                     "0000999001 = ITD Sales
                                     "0000999003 = ITD Billed Revenue
                IF YEAR = COSP-GJAHR.
                  DO.
                   IF SY-INDEX LE MONTH.
                      MOVE SY-INDEX TO HLD_INDX.
                      MNT_INDX =  'COSP-WKGXXX'.
                      REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                      ASSIGN  (MNT_INDX) TO <MNT>.
                      ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
                      ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
                      IF SY-INDEX = MONTH.
                         ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
                      ENDIF.
                   ELSE.
                      EXIT.
                   ENDIF.
                  ENDDO.
                ELSEIF YEAR > COSP-GJAHR.
                  ETAB-X_ITDB = ETAB-X_ITDB -
                             COSP-WKG001 - COSP-WKG002 -
                             COSP-WKG003 - COSP-WKG004 -
                             COSP-WKG005 - COSP-WKG006 -
                             COSP-WKG007 - COSP-WKG008 -
                             COSP-WKG009 - COSP-WKG010 -
                             COSP-WKG011 - COSP-WKG012 -
                             COSP-WKG013 - COSP-WKG014 -
                             COSP-WKG015 - COSP-WKG016.
                ELSE.
                  EXIT.
                ENDIF.
             ENDIF.
    *------- DPC's & Legacy Load
             IF ( COSP-KSTAR BETWEEN '0000998001' AND '0000998010' OR
                  COSP-KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
                  COSP-WRTTP = '04'.
               IF YEAR = COSP-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSP-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDC  = ETAB-X_ITDC  + <MNT>.
                        ETAB-X_YTDC  = ETAB-X_YTDC  + <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHC  = ETAB-X_MTHC  + <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSP-GJAHR.
                   ETAB-X_ITDC = ETAB-X_ITDC +
                                 COSP-WKG001 + COSP-WKG002 +
                                 COSP-WKG003 + COSP-WKG004 +
                                 COSP-WKG005 + COSP-WKG006 +
                                 COSP-WKG007 + COSP-WKG008 +
                                 COSP-WKG009 + COSP-WKG010 +
                                 COSP-WKG011 + COSP-WKG012 +
                                 COSP-WKG013 + COSP-WKG014 +
                                 COSP-WKG015 + COSP-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
           ENDSELECT.
    COOI Table (Commitments)              commitments for the WBS elements
           SELECT  * FROM COOI
             WHERE OBJNR =  PRPS-OBJNR.
               ETAB-X_COMM = ETAB-X_COMM + COOI-WTGBTR.
           ENDSELECT.
    COSS Table (External Postings)                    G&A on Commitments
    COSS Table (External Postings)                    Shared Billed Sales
    COSS Table (External Postings)                    Shared DPC's
    COSS Table (External Postings)                    Salary,ESE,OH, & G&A
           SELECT  *   FROM  COSS
             WHERE
              ( OBJNR =  PRPS-OBJNR AND
                WRTTP =  '22' )                         "G&A on Commitments
                    OR
              ( OBJNR =  PRPS-OBJNR AND
                GJAHR LE YEAR       AND
                WRTTP = '04'        AND                 "04 = Actuals
                   (                                   "Shared Billed Sales
                     (   KSTAR BETWEEN '0000400001' AND '0000400989' OR
                         KSTAR BETWEEN '0000999001' AND '0000999003' )
                     OR                                "Shared DPC's
                     (   KSTAR BETWEEN '0000600001' AND '0000601999' )
                     OR                                "Salary,ESE,OH, & G&A
                     ( ( KSTAR BETWEEN '0000001000' AND '0000001999'  OR
                         KSTAR BETWEEN '0000002100' AND '0000002199'  OR
                         KSTAR BETWEEN '0000002500' AND '0000002599'  OR
                         KSTAR BETWEEN '0000002800' AND '0000002899' ) )
                  and  parob not like 'PR%' ) "commented out on 4/19/2000
    *------- G&A on Commitments    (NOTE: data is always as of the RUN date)
             IF  COSS-WRTTP = '22'.
                   ETAB-X_COMM = ETAB-X_COMM +
                                 COSS-WKG001 + COSS-WKG002 +
                                 COSS-WKG003 + COSS-WKG004 +
                                 COSS-WKG005 + COSS-WKG006 +
                                 COSS-WKG007 + COSS-WKG008 +
                                 COSS-WKG009 + COSS-WKG010 +
                                 COSS-WKG011 + COSS-WKG012 +
                                 COSS-WKG013 + COSS-WKG014 +
                                 COSS-WKG015 + COSS-WKG016.
             ENDIF.
    *------- Shared Billed Sales
             IF ( COSS-KSTAR BETWEEN '0000400001' AND '0000400989' OR
                  COSS-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                  COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSS-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
                        ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                 ETAB-X_ITDB = ETAB-X_ITDB -
                               COSS-WKG001 - COSS-WKG002 -
                               COSS-WKG003 - COSS-WKG004 -
                               COSS-WKG005 - COSS-WKG006 -
                               COSS-WKG007 - COSS-WKG008 -
                               COSS-WKG009 - COSS-WKG010 -
                               COSS-WKG011 - COSS-WKG012 -
                               COSS-WKG013 - COSS-WKG014 -
                               COSS-WKG015 - COSS-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
    *------- Shared DPC's
             IF COSS-KSTAR BETWEEN '0000600001' AND '0000601999' AND
                COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSS-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDC  = ETAB-X_ITDC  + <MNT>.
                        ETAB-X_YTDC  = ETAB-X_YTDC  + <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHC  = ETAB-X_MTHC  + <MNT>.
                       ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                   ETAB-X_ITDC = ETAB-X_ITDC +
                                 COSS-WKG001 + COSS-WKG002 +
                                 COSS-WKG003 + COSS-WKG004 +
                                 COSS-WKG005 + COSS-WKG006 +
                                 COSS-WKG007 + COSS-WKG008 +
                                 COSS-WKG009 + COSS-WKG010 +
                                 COSS-WKG011 + COSS-WKG012 +
                                 COSS-WKG013 + COSS-WKG014 +
                                 COSS-WKG015 + COSS-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
    *------- Salary,ESE,OH,& G&A
             IF ( COSS-KSTAR BETWEEN '0000001000' AND '0000001999'  OR
                  COSS-KSTAR BETWEEN '0000002100' AND '0000002199'  OR
                  COSS-KSTAR BETWEEN '0000002500' AND '0000002599'  OR
                  COSS-KSTAR BETWEEN '0000002800' AND '0000002899' ) AND
                  COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                   IF SY-INDEX LE MONTH.
                      MOVE SY-INDEX TO HLD_INDX.
                      MNT_INDX =  'COSS-WKGXXX'.
                      REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                      ASSIGN  (MNT_INDX) TO <MNT>.
                      ETAB-X_ITDC = ETAB-X_ITDC + <MNT>.
                      ETAB-X_YTDC = ETAB-X_YTDC + <MNT>.
                      IF SY-INDEX = MONTH.
                          ETAB-X_MTHC = ETAB-X_MTHC + <MNT>.
                      ENDIF.
                   ELSE.
                      EXIT.
                   ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                 ETAB-X_ITDC = ETAB-X_ITDC +
                               COSS-WKG001 + COSS-WKG002 +
                               COSS-WKG003 + COSS-WKG004 +
                               COSS-WKG005 + COSS-WKG006 +
                               COSS-WKG007 + COSS-WKG008 +
                               COSS-WKG009 + COSS-WKG010 +
                               COSS-WKG011 + COSS-WKG012 +
                               COSS-WKG013 + COSS-WKG014 +
                               COSS-WKG015 + COSS-WKG016.
               ELSE.
                 EXIT.
                ENDIF.
             ENDIF.
            ENDSELECT.
    COSB Table (Results from running RA)                    Unbilled Sales
            SELECT * FROM COSB
               WHERE OBJNR = PRPS-OBJNR
                 AND KSTAR BETWEEN '0000003004' AND '0000003005'
                                   "0000003004 = Unbilled Revenue
                                   "0000003005 = Unearned Revenue
                 AND GJAHR LE YEAR
                 AND WRTTP = '32'.                    "32 = Results Analysis
               IF YEAR = COSB-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSB-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDS = ETAB-X_ITDS - <MNT>.
                        ETAB-X_YTDS = ETAB-X_YTDS - <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHS = ETAB-X_MTHS - <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSB-GJAHR.
                 ETAB-X_ITDS = ETAB-X_ITDS -
                               COSB-WKG001 - COSB-WKG002 -
                               COSB-WKG003 - COSB-WKG004 -
                               COSB-WKG005 - COSB-WKG006 -
                               COSB-WKG007 - COSB-WKG008 -
                               COSB-WKG009 - COSB-WKG010 -
                               COSB-WKG011 - COSB-WKG012 -
                               COSB-WKG013 - COSB-WKG014 -
                               COSB-WKG015 - COSB-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
            ENDSELECT.
      ENDSELECT.               "End of WBS records (from PRPS) for project
    Get Total Sales by adding Billed Sales to Unbilled Sales.
       ETAB-X_ITDS  =  ETAB-X_ITDS  +  ETAB-X_ITDB.
       ETAB-X_YTDS  =  ETAB-X_YTDS  +  ETAB-X_YTDB.
       ETAB-X_MTHS  =  ETAB-X_MTHS  +  ETAB-X_MTHB.
       IF  HOLD_PRART IN EXTRTYP.   "Matches the user requested project type
         IF  OPT1 EQ 'X' OR         "All projects
           ( OPT2 EQ 'X' AND        "Only active projects
             ETAB-X_STAT NE  'TECO' AND
             ETAB-X_STAT NE  'CLSD' ).
               TOTAL_AWARD      = TOTAL_AWARD      + ETAB-X_AWRD.
               TOTAL_AUTHR12    =   TOTAL_AUTHR12    + ETAB-X_P12R .
              TOTAL_AUTHC12    = TOTAL_AUTHC12    + ETAB-X_P12C.
               TOTAL_AUTHR13    = TOTAL_AUTHR13    + ETAB-X_P13R.
               TOTAL_AUTHC13    = TOTAL_AUTHC13    + ETAB-X_P13C.
               TOTAL_ITDSALES   = TOTAL_ITDSALES   + ETAB-X_ITDS.
               TOTAL_ITDCOSTS   = TOTAL_ITDCOSTS   + ETAB-X_ITDC.
               TOTAL_YTDSALES   = TOTAL_YTDSALES   + ETAB-X_YTDS.
               TOTAL_YTDCOSTS   = TOTAL_YTDCOSTS   + ETAB-X_YTDC.
               TOTAL_MTHSALES   = TOTAL_MTHSALES   + ETAB-X_MTHS.
               TOTAL_MTHCOSTS   = TOTAL_MTHCOSTS   + ETAB-X_MTHC.
               TOTAL_ITDBILLED  = TOTAL_ITDBILLED  + ETAB-X_ITDB.
               TOTAL_YTDBILLED  = TOTAL_YTDBILLED  + ETAB-X_YTDB.
               TOTAL_MTHBILLED  = TOTAL_MTHBILLED  + ETAB-X_MTHB.
               TOTAL_COMMITMENT = TOTAL_COMMITMENT + ETAB-X_COMM.
               PERFORM SHIFT_SIGN.
               APPEND  ETAB.              "Write data to internal table
               CLEAR   ETAB.
               COUNT_PROJECTS = COUNT_PROJECTS + 1. "Count # of Projects
         ENDIF.
       ENDIF.
       ENDSELECT.
    ENDSELECT.                          "End of Projects from PROJ table
      PERFORM GRAND_TOTALS.
      SORT  ETAB  BY  X_BU X_PROJ.
      ETAB-X_BU    = 'BU'.
      ETAB-X_CNTR  = 'PrftCntr'.
      ETAB-X_PROJ  = 'Proj'.
      ETAB-X_CREP  = 'Contract Mgr'.
      ETAB-X_BDREP = 'Account Mgr'.
      ETAB-X_GRPH  = 'Technical Lead'.
      ETAB-X_ACTREP = 'Key Person1'.
      ETAB-X_PMGR  = 'Program Mgr'.
      ETAB-X_TTLE  = 'Title'.
      ETAB-X_CLNT  = 'Client'.
      ETAB-X_POCN  = 'Contract #'.
      ETAB-X_TYPE  = 'Type'.
      ETAB-X_OPEN  = 'Open'.
      ETAB-X_CLOSE = 'Close'.
      ETAB-X_CGT   = 'CGT'.
      ETAB-X_DISTR = 'DC'.
      ETAB-X_CONTR = 'Contr%'.
      ETAB-X_AWRD  = 'Award'.
      ETAB-X_P12R  = 'Auth12 Sales'.
      ETAB-X_P12C  = 'Auth12 Cost'.
      ETAB-X_P13R  = 'Auth13 Sales'.
      ETAB-X_P13C  = 'Auth13 Cost'.
      ETAB-X_ITDS  = 'ITD Sales'.
      ETAB-X_ITDC  = 'ITD Costs'.
      ETAB-X_YTDS  = 'YTD Sales'.
      ETAB-X_YTDC  = 'YTD Costs'.
      ETAB-X_MTHS  = 'Mth Sales'.
      ETAB-X_MTHC  = 'Mth Costs'.
      ETAB-X_ITDB  = 'ITD Billed'.
      ETAB-X_YTDB  = 'YTD Billed'.
      ETAB-X_MTHB  = 'Mth Billed'.
      ETAB-X_COMM  = 'Commitments'.
      ETAB-X_STAT  = 'Status'.
      INSERT ETAB  INDEX 1.    "Write a report header line to internal table
      CLEAR  ETAB.
    CALL FUNCTION 'Z_RH_START_EXCEL_DATA_OLE'
        EXPORTING
           data_name = 'C:\WINNT\Profiles\cbraswell\Desktop\TestTemp.xlt'
             DATA_NAME          = 'ZSales.XLS'
             DATA_PATH_FLAG     = 'W'
             DATA_TYPE          = 'DAT'
             DATA_BIN_FILE_SIZE = 'ZSales'
             CHART_TITLE        = 'ZSales'
             CHART_TYPE         = 2
             CATEGORY_TITLE     = 'ZSales'
             VALUE_TITLE        = 'ZSales'
             DATA_XTOP_COR      = 0
             DATA_YTOP_COR      = 0
             DATA_XBOT_COR      = 0
             DATA_YBOT_COR      = 0
             CATEGORY_XTOP_COR  = 0
             CATEGORY_YTOP_COR  = 0
             CATEGORY_XBOT_COR  = 0
             CATEGORY_YBOT_COR  = 0
         TABLES
              DATA_TAB           =    ETAB
         EXCEPTIONS
              NO_BATCH           = 1
              DOWNLOAD_ERROR     = 2
              INVALID_TYPE       = 3
              INTERNAL_ERROR     = 4
              NO_OLE_SUPPORT     = 5
              OLE_FILE_ERROR     = 6
              OLE_ERROR          = 7
              NO_DATA            = 8
              COORDINATE_ERROR   = 9
              OTHERS             = 10.
    Negative # sign in the front of number for downloading to Excel
    FORM  SHIFT_SIGN.
      IF ETAB-X_AWRD CA '-'.    SHIFT ETAB-X_AWRD RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P12R CA '-'.    SHIFT ETAB-X_P12R RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P12C CA '-'.    SHIFT ETAB-X_P12C RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P13R CA '-'.    SHIFT ETAB-X_P13R RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P13C CA '-'.    SHIFT ETAB-X_P13C RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_ITDS CA '-'.    SHIFT ETAB-X_ITDS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_ITDIC CA '-'.   SHIFT ETAB-X_ITDIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_ITDC CA '-'.    SHIFT ETAB-X_ITDC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDS CA '-'.    SHIFT ETAB-X_YTDS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDC CA '-'.    SHIFT ETAB-X_YTDC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDIC CA '-'.   SHIFT ETAB-X_YTDIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_MTHS CA '-'.    SHIFT ETAB-X_MTHS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHC CA '-'.    SHIFT ETAB-X_MTHC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHIC CA '-'.   SHIFT ETAB-X_MTHIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_ITDB CA '-'.    SHIFT ETAB-X_ITDB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDB CA '-'.    SHIFT ETAB-X_YTDB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHB CA '-'.    SHIFT ETAB-X_MTHB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_COMM CA '-'.    SHIFT ETAB-X_COMM RIGHT CIRCULAR.     ENDIF.
    ENDFORM.
    FORM  GRAND_TOTALS.
    SKIP 1.    .
    WRITE: / '----
    WRITE: / 'System ID                  = ', SY-SYSID,
           / 'Client                     = ', SY-MANDT,
           / 'User                       = ', SY-UNAME,
           / 'Date of data extract       = ', SY-DATUM ,
           / 'Number of Projects          =           ',   COUNT_PROJECTS,
           / 'total Award      (Plan 11)  = ', TOTAL_AWARD,
           / 'total Auth Sales

    Hi all,
        Iam really waiting for someone to see and  get the logic right  for this code.Iam completely stuck up.  i need ur help
    Thanks

  • Connection Pooling Help Needed

    Greetings.
    I am trying to get a database connection in Websphere 5.0 (running on Redhat Adv. Server) and my connection times are very, very slow. Below is the code to get the connection:
    Properties parms = new Properties();
    parms.setProperty(Context.INITIAL_CONTEXT_FACTORY,
    "com.ibm.websphere.naming.WsnInitialContextFactory");
    // Create the Initial Naming Context
    Context ctx = new InitialContext(parms);
    DataSource ds = (DataSource) ctx.lookup("jdbc/customer");
    Connection con = ds.getConnection();
    Here is the setup for the database connection within the Websphere Admin Console to an Oracle 8i database:
    Implementation: oracle.jdbc.pool.ConnectionPoolDataSource
    JNDI Name: jdbc/customer
    Statement Cache Size: 10
    Data source helper class name: com.ibm.websphere.rsadapter.OracleDataStoreHelper
    Connection Timeout: 1800
    Maximum Connections: 30
    Minimum Connections: 10
    Reap Time: 180
    Unused Timeout: 1800
    Aged Timeout: 0
    Purge Policy: Entire Pool
    We CAN connect to the database. We CAN run SQL statements and stored procedures just fine. Everything with the database is working correctly. ok, so here is the problem... The statement: Connection con = ds.getConnection(); Takes a long time. 3+ seconds. Every time. No Matter what the load is. We need to get this time down significantly. It's killing our web services.
    Using JMeter, We have tested it using a single thread and up to 50 concurrent threads and it all runs the same. 3+ seconds. We actually changed the code to create a database connection just using JDBC with no JNDI lookup and it runs at the same speed. It is almost as if the connection pool is not working correctly.
    So then we looked to see if we were ever getting the same connection twice, but when we printed out the object references, it looks like the connection is a brand new connection EVERY time because the object references are different. Please see the partial log file I have included below.
    Right now, our theory is that the connection pool is just getting us a new connection every time without reusing existing connections. We have played with all the settings on minimum connections, maximum connections, and everything else and nothing seems to help.
    Thank you to anyone that might be able to help us.
    Stephen
    Log File:
    ----- getDatabaseConnection() ------
    ERROR - 1 - Connection is com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@7aac74cd
    ERROR -
    ----- getDatabaseConnection() ------
    1066140699427Using existing ds
    getting datasource took 0 milliseconds to complete.
    getting connection took 3733 milliseconds to complete.
    getDatabaseConnection took 3733 milliseconds to complete.
    ----- getDatabaseConnection() ------
    ERROR - 1 - Connection is com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@7580f4cd
    ERROR -
    ----- getDatabaseConnection() ------
    1066140699707Using existing ds
    getting datasource took 0 milliseconds to complete.
    getting connection took 3454 milliseconds to complete.
    getDatabaseConnection took 3454 milliseconds to complete.
    ----- getDatabaseConnection() ------
    ERROR - 1 - Connection is com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@5b2b4cd
    ERROR -
    ----- getDatabaseConnection() ------
    1066140700199Using existing ds
    getting datasource took 0 milliseconds to complete.
    getting connection took 2965 milliseconds to complete.
    getDatabaseConnection took 2965 milliseconds to complete.
    ----- getDatabaseConnection() ------
    ERROR - 1 - Connection is com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@2301b4ce
    ERROR -
    ----- getDatabaseConnection() ------
    1066140699752Using existing ds
    getting datasource took 0 milliseconds to complete.
    getting connection took 3417 milliseconds to complete.
    getDatabaseConnection took 3417 milliseconds to complete.

    The problem might be the version of Driver Class you use... If you use Oracle 9x, u need to have new version of classes12.jar/zip. Do check it out.

  • Problem clonning dynamic pool, help needed

    Hi, again I am having problems ...
    I manage to successfully import a winxp vm and convert it to template,
    I then went to the pool tab,created a new pool, added the template and
    configured the cloning to automatic, min 1, max 3 machines (I am still in testing
    mode)
    the problem is that when the vdi is trying to clone the machines, this is
    what I get:
         Cloning Desktop Dyn-pool-VM-01      Dyn-pool      11:41:18      11:42:33      Job Failed
    the error:
    Error cloning: No suitable hosts to start a desktop for Desktop Provider xvmhost.
    the desktop provider seems to be ok:
    xvmhost - Sun xVM VirtualBox Desktop Provider Summary
    Status: OK
    Pools: Dyn-pool
    Hosts:      
    CPU Usage:2%
    Total Memory:3.87 GB
    Memory Usage:95%
    Storage:      
    Number of Storages: 1
    Total Capacity:75.30 GB
    Usage:25%
    the host appears enabled in the host tab, but when I go to the template, nothing
    appears next the the host: parameter, is that ok?
    General Information
    Machine State: Powered Off
    Desktop State:Template
    User: -
    Assignment Type: -
    Guest Operating System
    Operating System: Microsoft Windows XP
    IP Address: -
    Template: -
    Desktop Provider Resources
    Host:
    Storage: inglaterra
    ZFS Volume:rpool/edd4470e-e8eb-4e11-9ee1-f6fd2607c83b
    what am I doing wrong or what am I missing? I did not find references to this
    in the wiki page ... if there are, plz provide me with the link(s)
    thanks in advance
    -Oswaldo

    this is the output from vmstat just before enabling the auto clone for the pool,
    dont know if this is usefull....
    root [ ~ ]# vmstat 5
    kthr memory page disk faults cpu
    r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs us sy id
    0 0 0 17438080 610716 2 20 0 0 0 0 1 -0 -0 0 2 617 549 358 0 0 100
    0 0 0 17297396 384496 3 11 0 0 0 0 0 0 0 0 0 454 177 211 0 0 100
    0 0 0 17297300 384460 0 0 0 0 0 0 0 0 0 0 0 470 144 219 0 0 100
    0 0 0 17297268 384432 0 1 0 0 0 0 0 0 0 0 0 850 1859 1000 0 0 99
    0 0 0 17297148 384312 0 0 0 0 0 0 0 0 0 0 0 709 1280 736 0 0 100
    0 0 0 17297148 384312 0 0 0 0 0 0 0 0 0 0 2 503 169 265 0 0 100
    0 0 0 17297132 384304 0 0 0 0 0 0 0 0 0 0 0 712 1272 736 0 0 100
    0 0 0 17297132 384304 0 0 0 0 0 0 0 0 0 0 0 451 168 208 0 0 100
    0 0 0 17297132 384296 0 0 0 0 0 0 0 0 0 0 0 831 1830 993 0 0 99
    0 0 0 17297132 384296 0 0 0 0 0 0 0 0 0 0 0 470 165 216 0 0 100
    0 0 0 17297120 384288 0 0 0 0 0 0 0 0 0 0 0 705 1290 735 0 0 100
    0 0 0 17297116 384288 0 0 0 0 0 0 0 0 0 0 2 503 166 263 0 0 100
    0 0 0 17297116 384284 0 0 0 0 0 0 0 0 0 0 0 845 1843 1010 0 0 99
    0 0 0 17297116 384280 0 0 0 0 0 0 0 0 0 0 0 451 168 208 0 0 100
    0 0 0 17297116 384280 0 0 0 0 0 0 0 0 0 0 0 471 145 220 0 0 100
    0 0 0 17297100 384268 0 1 0 0 0 0 0 0 0 0 0 712 1295 737 0 0 100
    0 0 0 17297100 384260 0 0 0 0 0 0 0 0 0 0 0 573 716 470 0 0 100
    0 0 0 17297100 384260 0 0 0 0 0 0 0 0 0 0 2 503 165 263 0 0 100
    kthr memory page disk faults cpu
    r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs us sy id
    0 0 0 17297100 384260 0 0 0 0 0 0 0 0 0 0 0 467 144 214 0 0 100
    0 0 0 17297100 384260 0 0 0 0 0 0 0 0 0 0 0 451 235 243 0 0 100
    0 0 0 17297100 384260 9 79 0 0 0 0 0 0 0 0 0 591 734 481 0 0 100
    0 0 0 17295868 384140 0 27 0 0 0 0 0 0 0 0 0 1013 2667 1377 0 0 99
    0 0 0 17295048 384064 0 0 0 0 0 0 0 0 0 0 0 450 151 206 0 0 100
    0 0 0 17295044 384060 0 0 0 0 0 0 0 0 0 0 2 746 1297 784 0 0 100
    0 0 0 17295032 384052 0 0 0 0 0 0 0 0 0 0 0 595 711 478 0 0 100
    0 0 0 17295032 384048 0 0 0 0 0 0 0 0 0 0 0 699 1296 736 0 0 100
    0 0 0 17295032 384048 0 0 0 0 0 0 0 0 0 0 0 472 145 221 0 0 100
    0 0 0 17295032 384048 0 0 0 0 0 0 0 0 0 0 0 469 174 217 0 0 100
    0 0 0 17294844 383796 0 44 0 0 0 0 0 0 0 0 0 848 1855 1007 0 0 99
    0 0 0 17294796 383732 0 0 0 0 0 0 0 0 0 0 2 502 168 262 0 0 100
    0 0 0 17294796 383728 0 1 0 0 0 0 0 0 0 0 0 715 1273 738 0 0 100
    0 0 0 17294784 383716 0 0 0 0 0 0 0 0 0 0 0 451 169 209 0 0 100
    and this is the status while cloning:
    Hosts:      
    CPU Usage:1%
    Total Memory:3.87 GB
    Memory Usage:90%
    root [ ~ ]# prtdiag -v|head -20
    System Configuration: Sun Microsystems Sun Fire X4200 Server
    BIOS Configuration: American Megatrends Inc. 080010 01/31/2006
    BMC Configuration: IPMI 2.0 (KCS: Keyboard Controller Style)
    ==== Processor Sockets ====================================
    Version Location Tag
    Dual Core AMD Opteron(tm) Processor 280 SE H0
    Dual Core AMD Opteron(tm) Processor 280 SE H1
    Dual Core AMD Opteron(tm) Processor 280 SE H2
    Dual Core AMD Opteron(tm) Processor 280 SE H3
    ==== Memory Device Sockets ================================
    Type Status Set Device Locator Bank Locator
    DDR in use 0 H0_DIMM0 BANK0
    DDR in use 0 H0_DIMM1 BANK1
    unknown empty 0 H0_DIMM2 BANK2

  • Num ranges in module pool prog

    Hi all,
    i want to maintain a  number range for my custom screen.
    whenever i enter data in to the custom screen and press SAVE,it should create a automatic number and tht should b saved in the concern ZTABLE.
    this screen belongs to Production Planning.
    am maintaining this generated number as primary key in the ZTABLE.
    any help will b rewarded with maximum points...
    thanQ

    Hello,
    (a) We need to create number ranges in transaction SNRO
    (b) Enter the number range object name and press CREATE.
    (c) Enter the description, Long text and Number Length domain andWarning %(when you are about to expire the number range a warning must be given eg:if the range is 1 to 100 and 90 is created we need to be notified that 90 is over and only 10 are remaining ..accordingly we should reset the number range or do other necessary actions..eg:10% => when it reaches 90 in number range of 1 to 100 message is displayed)
    enter Number length domain..which is the length of the range eg:if we put "NUM10" as the domain(check in se11->domain->num10) we can declare an interval with 1 to maximum of 9999999999 or less than that according to our requirement
    (d) Press SAVE
    (e)Now click on u201CNumber Rangesu201D button on the application toolbar
    (f) Click on u201CChange Intervalsu201D.
    (g)  Click on u201CInsert Intervalu201D.
    (h) enter the range which needs to be created eg:1 to 100
    Click u201CInsertu201D and then SAVE. The number range object is generated
    in the program we can use the function module, NUMBER_GET_NEXT, to get the next number of any number range object. 
    Also keep in mind that number range NUMBER_GET_NEXT be called on the click of that 'SAVE' button just before updating the Ztable .incase we have any errors in the module pool we need not worry about accidently creating numbers... if the code is wriiten in 'SAVE' action after complete requirement checks the issue will no occur
    Regards
    Byju

  • How to display a screen as Popup Dialog box in Module Pool

    Hi All,
    I have a requirement to display a popup dialoge box into module pool.
    i need to display a screen as a popup on the current screen on a button click.I have developed a screen and in atribute tab i have defined the screen type as modal dialog box but  it is displaying previous screen screen is hide i want to display on the same screen as a popup.
    Thanks
    Narendra

    Hi Narendra,
    Try to trigger the popup once it is done with the previous action might be anything.
    i have shown one sample code where after i click on save button when the data is saved successfully
    after that it has to trigger me a popup asking for conformation for the next action.
    A small piece of code
    INSERT INTO ZORMD1 VALUES WA_ZORMD1.
        IF SY-SUBRC = 0.
          G_LOCAL1 = 0.
          MESSAGE S000.  " Data saved successfully and immediately call the popup
    CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
            EXPORTING
      DEFAULTOPTION  = 'Y'
    TEXTLINE1 = 'SUCCESSFULLY SAVED'
              TITEL = 'POPUP FOR conformation'
             START_COLUMN         = 25
             START_ROW            = 10
            CANCEL_DISPLAY       = 'X'
           IMPORTING
    ANSWER  = G_PRINT
    IF G_PRINT = 'J'.
    PERFORM PRINT_OUT.
    ENDIF.
    Do the modification according to your requirement.
    Cheers!!
    VEnk@

  • Expose module pool application to ITS with HTML Images

    I am facing issue while exposing my module pool application to ITS.
    I have splitting container and HTML images in Tab strip. When I expose same to ITS, Its not displaying any HTML image tab however its displaying rest of screen element. I have to show the screen in ITS as it is in module pool. help me to resolve if anyone faced same kind of issue.

    As mentioned in the Thread, use the Syntax
    SET Pf-STATUS 'STATUS' excluding itab
    Example:
    data: BEGIN OF MTAB_UCOMM_EXCLUDE OCCURS 0,
            VALUE(4) TYPE C,
          END OF MTAB_UCOMM.
    AT USER-COMMAND.
      PERFORM SET_PF_STATUS. ...
    FORM SET_PF_STATUS *
    Set up the menus/buttons for the report *
    FORM SET_PF_STATUS.
      CLEAR MTAB_UCOMM_EXCLUDE.
      REFRESH MTAB_UCOMM_EXCLUDE.
      CASE MI_CURRENT_PAGE.
        WHEN 1.
    *-- Do not want any pushbuttons that point to items to the right
    *-- since the list is at its rightmost position
        MTAB_UCOMM_EXCLUDE-UCOMM = 'FRST'.
        APPEND MTAB_UCOMM_EXCLUDE.
        MTAB_UCOMM_EXCLUDE-UCOMM = 'PREV'.
        APPEND MTAB_UCOMM_EXCLUDE.
      WHEN MI_TOTAL_PAGES.
    *-- Do not want any pushbuttons that point to items to the left
    *-- since the list is at its leftmost position
        MTAB_UCOMM_EXCLUDE-UCOMM = 'LAST'.
        APPEND MTAB_UCOMM_EXCLUDE.
        MTAB_UCOMM_EXCLUDE-UCOMM = 'NEXT'.
        APPEND MTAB_UCOMM_EXCLUDE.
      WHEN OTHERS.
    *-- Want all pushbuttons to appear on any other page
      ENDCASE.
      SET PF-STATUS 'MAIN' EXCLUDING MTAB_UCOMM_EXCLUDE.
    ENDFORM. " SET_PF_STATUS
    Hope this helps
    Vinodh Balakrishnan

  • Help needed for checkbox in module pool

    Hi experts,
    My requirement is i have 8 machines. i want to have a check box for each machine and when i select a specific machine by checking it, it should store data in my ztable as that specific machine name or it should show a flag or mark on each field selected inside my ztable.
    I am confused in the logic to enter in my module pool program. please help.

    see this :
    Create CheckBox in Module pool and update the Databas once i hit the enter
    Also please search before you post

  • Need help in module Pool programming.

    Dear gurus
    I'm stuck in a step of Module Pool program
    Steps i used for enhancement in XK01.
    1)  i appended a structure in table LFA1 having two fields A and B.
    2)  then i went to IMG-> Logistic -> Business Partner-> Vendor -> Adoption of Customer's Own Master Data Fields -> Prepare     Modification-Free Enhancement of Vendor Master Record ( Here i created my screen group Z1 without Function Code.
    3) then i created below module pool program. of screen 9999 and in layout i added to fields to display A and B which i appended.
    PROGRAM  ZSNAK_XK01.
    TABLES: lfa1.
    module status_9999 output.
    endmodule.                 " status_9999  OUTPUT
    module user_command_9999 input.
    endmodule.
    4) After this i wen to  IMG-> Logistic -> Business Partner-> Vendor -> Adoption of Customer's Own Master Data Fields ->
        Business Add-In: Processing of Master Data Enhancements ( Here  i created my implementation on method  CHECK_ADD_ON_ACTIVE  and added this code
    if i_screen_group eq 'Z1'.
    e_add_on_active = 'X'.
    endif.
    5) then i went to   IMG-> Logistic -> Business Partner-> Vendor -> Adoption of Customer's Own Master Data Fields ->
       Business Add-In: Customer Subscreens. and created my implementation on method GET_TAXI_SCREEN where i have written this code.
    e_screen = '9999'.
      e_program = 'ZSNAK_XK01'.
      e_headerscreen_layout = ''.
    After activation when i execute t-code XK01 i see my button there after INFORMATION BUTTON when i click on it i get following error.
    Incorrect screen type: Screen is incorrectly defined or used.
      The attribute screen type with the values 'Normal Screen' and
      'Subscreen' determines the use of the screen. If a normal screen is used
       as subscreen or vice versa, an error occurs.
      The screen "ZSNAK_XK01" 9999 has, in this respect, an inappropriate screen
       type.
    Please guide me
    Regards
    Saad Nisar.

    I think you have defined the screen 9999 as normal screen. go to attributes tab of the screen and make it as "subscreen' (radio button) and activate

  • Need help in Module pool

    Hi Friends,
              Can anyone give me the idea for creating module pool using 3 to 4 database tables.

    a module pool program can be ceated using <u><i><b>se 80 - object avigator.</b></i></u>
    select program in the drop-down box..
    enter a program name and press enter key...
    right click on the program name  (object name)
    save the object in ur own package...
    u can also create include callled TOPinclude- to globalise all the data used in the program...
    choose create ---> choose SCREENS ..
    goto layout and set the layout of the screen...
    use screen PBO - Process before output modules...
    (PBO occurs before user interaction)
    and PAI - Process after input modules for module pool programming..
    (PAI occurs after user interaction)
    double click on modules..
    declare structures for using different internal tables and work areas for different database tables .
    let us have a a structure called struct_tables
    having fields from VBAK  and KNA1  such as NAME1, STRAS, ORT01, PSTLZ,
    TELF1 BY INNER JOINING VBAK AND KNA1 TABLES BASED UPON KUNNR AS  KEY FIELD AND HAVING SALES DOCUMENT NUMBER 'VBELN' AS INPUT BY THE USER .
    statement :
    SELECT NAME1
                 STRAS
                 ORT01
                  PSTLZ
                   TELF1
                   VBELN
                   KUNNR
    FROM VBAK   INNER JOIN KNA1   ON
    VBAKKUNNR = KNA1KUNNR .
    and then u can also write the sselected fields in a table control wizard...
    thus u can perform module pool programming using 3-4 database tables.

  • Need Help for Module Pool

    hello friends
    i m new in ABAP
    i had designed database and now i want to enter the data through module pool so please guide me about the module pool and insert condition how could i do that
    Do post friends...................
    Waiting for ure precious suggestions
    With Best Regards
    Ruby

    Create Table Control screen in Module Pool
    · Step 1 (Create new structure for table control)
    Type is name of structure (ZTC_EKKO) and press create
    · Step 2 (Create Program)
    Goto transaction SE80(Object Navigator) -> Repository Browser -> Program.
    Enter your program name, please ensure that is begins with SAPMZ…… as this is a module pool (dialog program).
    Press enter to create, and press yes!
    Ensure that you create a top include, and press Enter.
    Accept the name created for the top include.
    Press Enter.
    Create Table Control
    · Step 1 (Create new structure for table control)
    Type is name of structure (ZTC_EKKO) and press create
    Enter the fields that you want to display in the table control. Example uses fields from EKKO.
    Now save and activate it!
    · Step 2 (Create Program)
    Goto transaction SE80(Object Navigator) -> Repository Browser -> Program.
    Enter your program name, please ensure that is begins with SAPMZ…… as this is a module pool (dialog program).
    Press enter to create, and press yes!
    Ensure that you create a top include, and press Enter.
    Accept the name created for the top include.
    Press Enter.
    Press Save
    · Step 3 (Create TOP include)
    Double click on the top include and enter following ABAP code:
    Tables: ZTC_EKKO.
    controls: tc100 type tableview using screen 100.
    data: ok_code type sy-ucomm.
    data: it_ekko type standard
    table of ZTC_EKKO initial size 0,
    wa_ekko type ZTC_EKKO.
    data: ok_code type sy-ucomm.
    · Step 4 (Create screen)
    Right click the program to create a screen 100 for the dialog. Enter Short description, set screen type to Normal and enter 0 or blank into Next screen. Then move to Element List tab and enter the OK code as OK_CODE (i.e. the same as what you declared in the top include with data: ok_code type sy-ucomm).
    · Step 5 (Create table control)
    Press the Layout button to bring up the screen painter editor.
    Press table control button and drag it on to the screen, enter the name of table control created in TOP include (TC100). Now press the yellow button for attributes and set the table control as below options
    Create Table Control
    · Step 1 (Create new structure for table control)
    Type is name of structure (ZTC_EKKO) and press create
    Enter the fields that you want to display in the table control. Example uses fields from EKKO.
    Now save and activate it!
    · Step 2 (Create Program)
    Goto transaction SE80(Object Navigator) -> Repository Browser -> Program.
    Enter your program name, please ensure that is begins with SAPMZ…… as this is a module pool (dialog program).
    Press enter to create, and press yes!
    Ensure that you create a top include, and press Enter.
    Accept the name created for the top include.
    Press Enter.
    Press Save
    · Step 3 (Create TOP include)
    Double click on the top include and enter following ABAP code:
    Tables: ZTC_EKKO.
    controls: tc100 type tableview using screen 100.
    data: ok_code type sy-ucomm.
    data: it_ekko type standard
               table of ZTC_EKKO initial size 0,
            wa_ekko type ZTC_EKKO.
    data: ok_code type sy-ucomm.
             Press Save and Activate
    · Step 4 (Create screen)
    Right click the program to create a screen 100 for the dialog. Enter Short description, set screen type to Normal and enter 0 or blank into Next screen. Then move to Element List tab and enter the OK code as OK_CODE (i.e. the same as what you declared in the top include with data: ok_code type sy-ucomm).
    · Step 5 (Create table control)
    Press the Layout button to bring up the screen painter editor.
    Press table control button and drag it on to the screen, enter the name of table control created in TOP include (TC100). Now press the yellow button for attributes and set the table control as below options
    · Step 6 (Populate table control )
    Press the orange button (Fields). On the next screen enter ZTC_EKKO and press the ‘Get from Dict’ button. Select the fields you want (all) and press enter. Now drag them onto your Table Control.
    Below is the result, there will been syntax errors if we check now! So Save and go back
    into the flow logic tab.
    · Step 7 (Create flow control )
    Within the flow logic of screen 100 and create two modules, one to select the data from the database and the other to move the selected fields into the table control. Also insert the two loop statements to populate and retrieve the lines of the table control.
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
      module data_retrieval.
      loop at it_ekko into wa_ekko with control TC100.
        module populate_screen.
      endloop.
    PROCESS AFTER INPUT.
      loop at it_ekko.
      endloop.
    MODULE USER_COMMAND_0100.
    Double click the module data_retrieval to create and click yes to get past the popup. Ensure that a new include is created to hold all the PBO modules (default). Press enter.
    Select 10 rows of data from the EKKO table and load into the internal table it_ekko. Go back to the flow logic to load this data into the Table Control.
    ***INCLUDE MZ_TCONTROL_DATA_RETRIEVALO01 .
    *&      Module  data_retrieval  OUTPUT
          text
    MODULE data_retrieval OUTPUT.
    select data from ekko table
      SELECT ebeln bukrs bstyp bsart
             bsakz loekz statu aedat
       UP TO 10 ROWS
        FROM ekko
        INTO CORRESPONDING FIELDS OF TABLE it_ekko.
    ENDMODULE.                 " data_retrieval  OUTPUT
    Double click the module populate_screen to create. Now move the values in this loop from the wa_ekko into the Table Control with the move-corresponding statement.
    MODULE populate_screen OUTPUT.
        DATA: ld_line TYPE i.
    *   Set which line of table is a top of displayed table control
        IF sy-stepl = 1.
          tc100-lines =
            tc100-top_line + sy-loopc - 1.
        ENDIF.
    *   move fields from work area to scrren fields
        MOVE-CORRESPONDING wa_ekko TO ztc_ekko.
      ENDMODULE.                 "
    populate_screen  OUTPUT
    · Step 8 (Create transaction )
    Now create a transaction to test the table control program. Right click the Program and select create-> transaction.
    · Step 9 (Execute transaction )
    Execute transaction ZTC
    please see the link for screen shots of the dailog module
    http://www.sapdevelopment.co.uk/dialog/tabcontrol/tc_basic.htm
    reward  points if it is usefull ....
    Girish

  • F4 help for a field in module pool

    Hello Experts,
    I need to provide f4 help on field sales office(VKBUR) in my module pool program.
    I have searched forums about it. but all forum contains either doc. no or customers etc.
    these field are directly available on table, so very easy to find.
    But for sales office, how can i provide f4 help. there is no straight entries in tables like for this company code this sales office.
    so its getting difficult for me to provide help.
    so if anybody know the solution plz help, and if anyone know table where all sales offices are stored, i will be thankful.
    Thanks,
    Amar

    Hi amar_war,
    use screen painter to edit the screen layout where the field VKBUR is on. Double click the field to get the details screen. Here you can attach a search help to the field.
    H_TVBUR has no more parameters, it will display a list of al sales offices with description text
    H_TVBVK will also show the sales group, if VKGRP is a screen field, it will restrict the result list automatically on matching VKGRP.
    H_TVKBZ has also VKORG VTWEG SPART - it will take those values from screen if filled.
    If you are not satisfied with the results, you can easily create your own search help using own selection method and own search help exits if required.
    Try standard search help for standard field first.
    You can create a copy of VKBUR as ZVKBUR and attach search help there, you can create your own screen structure and attach the search help there - 50 ways to get your search help...
    Regards,
    Clemens

  • Calling search helps dynamically in module pool program

    Hi Experts,
    I have created two search helps. I need to call these search helps in my module pool program dynamically for a single field (i.e ZMATNR).
    you might be known... if it is a single search help, we can assign that in field attributes.
    But here... I need to call different search helps for a single field based on the condition.
    Pls help me.
    Thanks
    Raghu

    Hi,
    Use the below function module and  pass the search help created in search help field according to the condition.
    Process on Value-request.
    if condition = A.
    call function " F4IF_FIELD_VALUE_REQUEST"
    TABNAME           =                                                         
    FIELDNAME        =                                                       
    SEARCHHELP     =  "Mention search help created                                                          
    Elseif  Conditon =B.
    call function " F4IF_FIELD_VALUE_REQUEST"
    TABNAME           =                                                         
    FIELDNAME        =                                                       
    SEARCHHELP     =  "Mention search help created      
    Endif.
    Regards,
    Prabhudas

  • Search Help For a Field in Module Pool Programming

    Hi,
    I have a field called status in Module Pool for which i need to write a search help.
    This is the piece of code i have written.
    TYPES: BEGIN OF ty_status,
             stat type i,
             status type string,
        END OF ty_status.
      DATA: lt_emp_status TYPE STANDARD TABLE OF ty_status,
            lw_emp_status TYPE ty_status.
      REFRESH lt_emp_status.
      lw_emp_status-stat = '1'.
      lw_emp_status-status = 'Draft'.
      APPEND lw_emp_status TO lt_emp_status.
      CLEAR lw_emp_status.
      lw_emp_status-stat = '2'.
      lw_emp_status-status = 'Employee Review'.
      APPEND lw_emp_status TO lt_emp_status.
      CLEAR lw_emp_status.
      REFRESH lt_emp_status.
       CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'STATUS'
          value_org       = 'S'
        TABLES
          value_tab       = lt_emp_status
          return_tab      = t_return
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc = 0.
        READ TABLE t_return INDEX 1.
        MOVE t_return-fieldval TO LV_EMP_status.
      ENDIF.
    But i am getting the following error.
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_ASSIGN_CAST_ILLEGAL_CAST', was
      not caught in
    procedure "F4IF_INT_TABLE_VALUE_REQUEST" "(FUNCTION)", nor was it propagated by
      a RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    The error occurred at a statement of the form
       ASSIGN f TO <fs> CASTING.
       ASSIGN f TO <fs> CASTING TYPE t.
    or
       ASSIGN f TO <fs> CASTING LIKE f1.
    or
       at table statements with the addition
       ASSIGNING <fs> CASTING.
    The following error causes are possible:
    1. The type of field f or the target type determined by <fs>, t or f1
    contains data references, object references, strings or internal tables
    as components.
    Could some one help me how to resolve this issue.
    Thanks in advance.

    Hi,
    Please see this sample code below:
    *To fetch the classification data on the sel screen
    DATA: BEGIN OF IT_KLAH OCCURS 0,
          CLINT TYPE CLINT,
          CLASS TYPE KLASSE_D,
          END OF IT_KLAH.
      SELECT CLINT CLASS FROM KLAH UP TO 500 ROWS
      INTO TABLE IT_KLAH.
      IF SY-SUBRC <> 0 .
        MESSAGE TEXT-006 TYPE 'E'.
      ELSE.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
    DDIC_STRUCTURE = ' '
        RETFIELD = 'CLASS'
    PVALKEY = ' '
        DYNPPROG = SY-REPID
        DYNPNR = SY-DYNNR
        DYNPROFIELD = 'p_s_clascn_low'      "i had to put the f4 help on the selection screen's select option low value,
                                                                     "here basically you have to give the internal table name inside quotes in which
                                                                     "you want to retrieve your data
        VALUE_ORG = 'S'
        DISPLAY = ' '
        TABLES
        VALUE_TAB = IT_KLAH.
      ENDIF.
    Hope it helps,
    Regards,
    Mansi

Maybe you are looking for