Leave details in custom table

Hi Experts,
When employee will apply a leave through standard ess/mss package that time in SAP backend i want to store the information in custom table with PERNR BEGDA ENDDA.
How i can achive

Hi Rajneesh ,
Please check the user exit EXIT_MP200000_005
  Check the BADI's mentioned below.
PT_ABS_REQ ( Enhancement for Leave Requests )
PT_GEN_REQ
Refer the thread:
[http://wiki.sdn.sap.com/wiki/display/ERPHCM/ValidationsforESSLeaverequest]
Edited by: Prasath Arivazhagan on Apr 20, 2010 3:50 PM

Similar Messages

  • Need help in inserting line details in custom table in oaf

    Dear All,
    I have a requirement as below.
    I have a page having few LOVS and few text fields and below to that i have a table region that i am populataing from another page means i have a button to open another page from that i am passing selected rows to base page, so my base page structure looks like below:
    LOV1        TEXTFIELD1
    LOV2        TEXTFIELD2 .......SO ON
    LINE DETAILS
    LINENUM  ITEM ITEM DESC
    1             AAAA           TEST
    SO my requirement is i have a button in my base page after clicking thsi the header information should insert to a table and line information should insert into another table,
    Header information i am able to insert into table by EO based VO, but how i can insert the line data from the table region to another custom table, please help me out on ths.
    Thanks

    Hello Everyone!
    DataObject fileUploadData = (DataObject)pageContext.getNamedDataObject("UploadFile");
    String fileName = null;
    String contentType="";
    try {
    fileName = (String)fileUploadData.selectValue(null, "UPLOAD_FILE_NAME");
    System.out.println("File Name : "+fileName);
    } catch(NullPointerException ex)
    throw new OAException("Please Select a File to Upload", OAException.ERROR);
    contentType = (String)fileUploadData.selectValue(null, "UPLOAD_FILE_MIME_TYPE");
    System.out.println("contentType : "+contentType);
    System.out.println("Creating object uploadedByteStream for file name : "+fileName);
    BlobDomain uploadedByteStream = (BlobDomain)fileUploadData.selectValue(null, fileName);
    I was using the above code to load the MS Excel 2010 .xlsx file, but when i checked uploadedByteStream is returning null value.
    Could anyone let me know why is this happening because i found in my post on google the same way (Above mentioned) code has been written for loading the .xlsx file?
    Thanks & Advanced,
    CAK

  • Employee leave details tables

    I'm new to HRMS and Payroll.
    Can any one help me with the employee leave detail tables
    In which table I can find the below details in R12
    Allowed sick / vacation / comp leave for each employee?
    How many days/hours remaining in sick / vacation / comp for each employee?
    Thanks in advance.

    Leave Balance is not stored directly in tables but derived using a formula. You have to create accrual plans to create leave accrual balances. Check HRMS guide to find out how you can set up accrual plans

  • Find custom table used by  which object details

    Hi we have one custom table with only one column.This table is used for value set type 'TABLE'.
    This table was created by some one else earlier than me.In this table contract id values will be stored so that in the value set these values will be appeared as all knows.
    Now the problem is in the value set some of the values(contract ids) are missing.So i need to find out how the insertion is being done like within the package or in any form.
    I have checked in toad object_name-->used by but it shows only synonym of this object.
    Can any one suggest me how to find the insertion into this table is happening.
    Thanks

    how the values are populated into this table like one time insertion or through any procedure/function/package.If you're looking for missing data you might find DELETE access to be just as fruitful a line of investigation....
    You can find out which PL/SQL programs use the table through the _DEPENDENCIES views as Dan has demonstrated.  That will not show you any dependencies on programs which are outside of the database (client or web server apps), nor will it show you access through spontaneous SQL statements.  That's why you need proper audit in place.  Unfortunately you cannot do that retrospectively, but there is always Log Miner.
    Cheers, APC
    blog: http://radiofreetooting.blogpsot.com

  • Custom Table updation thru table control

    Hi All,
    My requirement is to update the custom table by creating a custom screen with table control,say my z table has 2 fields name1 and bukrs.
    if i enter the value in table control then i click the save icon these fields should get updated in the z table .can any one send me the piece of code for this,since i have not worked on table control i need it in detail.
    Useful answers will be rewarded....
    Thanks in Advance.....

    PROGRAM  ZSD_REBATE_MASTER MESSAGE-ID FV
             NO STANDARD PAGE HEADING.
    TABLES: KONA,
            ZSD_BILLINFO,
            ZSD_RBT_ELG_INV,
            KNVV.
    DATA: OK_CODE LIKE SY-UCOMM,
          L_CODE LIKE SY-UCOMM.
    DATA : BEGIN OF I_KNVV_DATA OCCURS 0,
           GJAHR LIKE ZSD_RBT_MAS_DATA-GJAHR,
           KNUMA LIKE ZSD_RBT_MAS_DATA-KNUMA,
           VKBUR LIKE ZSD_RBT_MAS_DATA-VKBUR,
           VKORG LIKE ZSD_RBT_MAS_DATA-VKORG,
           VTWEG LIKE ZSD_RBT_MAS_DATA-VTWEG,
           SPART LIKE ZSD_RBT_MAS_DATA-SPART,
           OTQTY LIKE ZSD_RBT_MAS_DATA-OTQTY,
           PCPDAYS LIKE ZSD_RBT_MAS_DATA-PCPDAYS,
           OTPC LIKE ZSD_RBT_MAS_DATA-OTPC,
           MATKL LIKE ZSD_RBT_MAS_DATA-MATKL,
          EBDFROM LIKE ZSD_RBT_MAS_DATA-EBDFROM,
          EBDTO LIKE ZSD_RBT_MAS_DATA-EBDTO,
           STATUS LIKE ZSD_RBT_MAS_DATA-STATUS,
         END OF I_KNVV_DATA.
    DATA : G_ANS(1), GR1, FLAG(1),LS(1).
    *&      Module  STATUS_1500  OUTPUT
          text
    MODULE STATUS_1500 OUTPUT.
      SET PF-STATUS '1500'.
      SET TITLEBAR 'HEADING_1500'.
    ENDMODULE.                 " STATUS_1500  OUTPUT
    *&      Module  USER_COMMAND_1500  INPUT
          text
    MODULE USER_COMMAND_1500 INPUT.
      OK_CODE = SY-UCOMM.
      L_CODE = OK_CODE.
      IF L_CODE = 'EXIT'.
        LEAVE PROGRAM.
      ELSEIF L_CODE = 'OK'.
        PERFORM ERROR_MESSGE.
        IF FLAG <> '1'.
          SELECT SINGLE * FROM ZSD_RBT_ELG_INV WHERE KNUMA = KONA-KNUMA.
          IF SY-SUBRC = 0.
            UPDATE ZSD_RBT_MAS_DATA SET STATUS = 'C'
                           WHERE KNUMA = KONA-KNUMA.
            COMMIT WORK.
          ENDIF.
          CALL SCREEN 1600.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " USER_COMMAND_1500  INPUT
    *&      Module  MOD_CHECK_INPUT  INPUT
          text
    MODULE MOD_CHECK_INPUT INPUT.
      SELECT SINGLE * FROM KONA WHERE KNUMA = KONA-KNUMA.
      IF SY-SUBRC <> 0.
        MESSAGE E999 WITH 'Agreement No. ' KONA-KNUMA 'does not exists'.
      ENDIF.
    ENDMODULE.                 " MOD_CHECK_INPUT  INPUT
    *&      Module  EXIT  INPUT
          text
    MODULE EXIT INPUT.
      OK_CODE = SY-UCOMM.
      L_CODE = OK_CODE.
      CLEAR OK_CODE.
      IF L_CODE = 'EXIT'.
        LEAVE PROGRAM.
      ENDIF.
    ENDMODULE.                 " EXIT  INPUT
    ***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'GRID_MAST'
    *&SPWIZARD: DEFINITION OF DDIC-TABLE
    TABLES:   ZSD_RBT_MAS_DATA.
    *&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'GRID_MAST'
    TYPES: BEGIN OF T_GRID_MAST,
             GJAHR LIKE ZSD_RBT_MAS_DATA-GJAHR,
             KNUMA LIKE ZSD_RBT_MAS_DATA-KNUMA,
             VKBUR LIKE ZSD_RBT_MAS_DATA-VKBUR,
             VKORG LIKE ZSD_RBT_MAS_DATA-VKORG,
             VTWEG LIKE ZSD_RBT_MAS_DATA-VTWEG,
             SPART LIKE ZSD_RBT_MAS_DATA-SPART,
             OTQTY LIKE ZSD_RBT_MAS_DATA-OTQTY,
             PCPDAYS LIKE ZSD_RBT_MAS_DATA-PCPDAYS,
             OTPC LIKE ZSD_RBT_MAS_DATA-OTPC,
             MATKL LIKE ZSD_RBT_MAS_DATA-MATKL,
            EBDFROM LIKE ZSD_RBT_MAS_DATA-EBDFROM,
            EBDTO LIKE ZSD_RBT_MAS_DATA-EBDTO,
             STATUS LIKE ZSD_RBT_MAS_DATA-STATUS,
           END OF T_GRID_MAST.
    *&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'GRID_MAST'
    DATA:     G_GRID_MAST_ITAB   TYPE T_GRID_MAST OCCURS 0 WITH HEADER LINE,
              G_GRID_MAST_WA     TYPE T_GRID_MAST. "work area
    DATA:     G_GRID_MAST_COPIED.           "copy flag
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'GRID_MAST' ITSELF
    CONTROLS: GRID_MAST TYPE TABLEVIEW USING SCREEN 1600.
    *&SPWIZARD: LINES OF TABLECONTROL 'GRID_MAST'
    DATA:     G_GRID_MAST_LINES  LIKE SY-LOOPC.
    DATA: L_LINE LIKE GRID_MAST-CURRENT_LINE.
    *&SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: COPY DDIC-TABLE TO ITAB
    **&      Module  GRID_INACT  OUTPUT
          text
    MODULE GRID_MAST_INIT OUTPUT.
      DATA: L_FLAG(1).
      IF G_GRID_MAST_COPIED IS INITIAL.
    *&SPWIZARD: COPY DDIC-TABLE 'ZSD_RBT_MAS_DATA'
    *&SPWIZARD: INTO INTERNAL TABLE 'g_GRID_MAST_itab'
        PERFORM GET_DATA.
        LOOP AT I_KNVV_DATA.
          G_GRID_MAST_ITAB-GJAHR = I_KNVV_DATA-GJAHR.
          G_GRID_MAST_ITAB-KNUMA = I_KNVV_DATA-KNUMA.
          G_GRID_MAST_ITAB-VKBUR = I_KNVV_DATA-VKBUR.
          G_GRID_MAST_ITAB-VKORG = I_KNVV_DATA-VKORG.
          G_GRID_MAST_ITAB-VTWEG = I_KNVV_DATA-VTWEG.
          G_GRID_MAST_ITAB-SPART = I_KNVV_DATA-SPART.
          G_GRID_MAST_ITAB-OTQTY = I_KNVV_DATA-OTQTY.
          G_GRID_MAST_ITAB-PCPDAYS = I_KNVV_DATA-PCPDAYS.
          G_GRID_MAST_ITAB-OTPC = I_KNVV_DATA-OTPC.
          G_GRID_MAST_ITAB-MATKL = I_KNVV_DATA-MATKL.
         G_GRID_MAST_ITAB-EBDFROM = I_KNVV_DATA-EBDFROM.
         G_GRID_MAST_ITAB-EBDTO = I_KNVV_DATA-EBDTO.
          G_GRID_MAST_ITAB-STATUS = I_KNVV_DATA-STATUS.
         G_GRID_MAST_ITAB-OTPC = I_KNVV_DATA-OTPC.
          APPEND G_GRID_MAST_ITAB.
        ENDLOOP.
        L_FLAG = 'X'.
        G_GRID_MAST_COPIED = 'X'.
        REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.
      ENDIF.
      IF L_FLAG IS INITIAL.
        L_LINE = GRID_MAST-CURRENT_LINE.
        IF NOT G_GRID_MAST_WA IS INITIAL.
         READ TABLE G_GRID_MAST_ITAB INDEX GRID_MAST-CURRENT_LINE.
         IF SY-SUBRC <> 0.
          MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.
          APPEND G_GRID_MAST_ITAB.
          REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.
         CLEAR G_GRID_MAST_WA.
         ENDIF.
        ENDIF.
      ELSE.
        CLEAR L_FLAG.
      ENDIF.
    ENDMODULE.                    "GRID_MAST_INIT OUTPUT
    *&SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: MOVE ITAB TO DYNPRO
    MODULE GRID_MAST_MOVE OUTPUT.
      IF NOT G_GRID_MAST_WA IS INITIAL.
        MOVE-CORRESPONDING G_GRID_MAST_WA TO ZSD_RBT_MAS_DATA.
        CLEAR G_GRID_MAST_WA.
      ENDIF.
      GRID_MAST-LINES = G_GRID_MAST_LINES + 100.
    ENDMODULE.                    "GRID_MAST_MOVE OUTPUT
    **&SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!
    **&SPWIZARD: GET LINES OF TABLECONTROL
    MODULE GRID_MAST_GET_LINES OUTPUT.
      SELECT SINGLE * FROM ZSD_RBT_ELG_INV WHERE KNUMA = KONA-KNUMA.
      IF SY-SUBRC = 0.
        UPDATE ZSD_RBT_MAS_DATA SET STATUS = 'C'
                       WHERE KNUMA = KONA-KNUMA.
        COMMIT WORK.
        IF ZSD_RBT_ELG_INV-ZFLAG = 'C'.
          LOOP AT SCREEN.
            IF SCREEN-GROUP1 = 'GR1'.
              SCREEN-INPUT = '0'.
            ENDIF.
            MODIFY SCREEN.
          ENDLOOP.
        ENDIF.
      ENDIF.
      G_GRID_MAST_LINES = SY-LOOPC.
    ENDMODULE.                    "GRID_MAST_GET_LINES OUTPUT
    *&SPWIZARD: INPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: MODIFY TABLE
    MODULE GRID_MAST_MODIFY INPUT.
      MOVE-CORRESPONDING ZSD_RBT_MAS_DATA TO G_GRID_MAST_WA.
      IF L_FLAG IS INITIAL.
        L_LINE = GRID_MAST-CURRENT_LINE.
        IF NOT G_GRID_MAST_WA IS INITIAL.
        IF L_LINE = GRID_MAST-CURRENT_LINE.
         READ TABLE G_GRID_MAST_ITAB INDEX GRID_MAST-CURRENT_LINE.
         IF SY-SUBRC = 0.
          MODIFY G_GRID_MAST_ITAB    FROM G_GRID_MAST_WA
        INDEX GRID_MAST-CURRENT_LINE.
        ELSE.
          MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.
          APPEND G_GRID_MAST_ITAB.
          REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.
        ENDIF.
        ELSE.
          MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.
          APPEND G_GRID_MAST_ITAB.
          REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.
         CLEAR G_GRID_MAST_WA.
         ENDIF.
        ENDIF.
      ELSE.
        CLEAR L_FLAG.
      ENDIF.
    MODIFY G_GRID_MAST_ITAB
       FROM G_GRID_MAST_WA
       INDEX GRID_MAST-CURRENT_LINE.
    ENDMODULE.                    "GRID_MAST_MODIFY INPUT
    *&SPWIZARD: INPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: PROCESS USER COMMAND
    MODULE GRID_MAST_USER_COMMAND INPUT.
      OK_CODE = SY-UCOMM.
      PERFORM USER_OK_TC USING    'SY-UCOMM'
                                  'G_GRID_MAST_ITAB'
                                  'FLAG'
                         CHANGING OK_CODE.
      SY-UCOMM = OK_CODE.
    ENDMODULE.                    "GRID_MAST_USER_COMMAND INPUT
    *&      Module  STATUS_1600  OUTPUT
          text
    MODULE STATUS_1600 OUTPUT.
      SET PF-STATUS 'STATUS_1600'.
      SET TITLEBAR 'HEADING_1600'.
    ENDMODULE.                 " STATUS_1600  OUTPUT
    *&      Module  USER_COMMAND_1600  INPUT
          text
    MODULE USER_COMMAND_1600 INPUT.
      CASE SY-UCOMM.
        WHEN 'CAN'.
          CLEAR: G_GRID_MAST_COPIED, G_GRID_MAST_ITAB.
          LEAVE TO SCREEN '1500'.
        WHEN 'BACK'.
          CLEAR: G_GRID_MAST_COPIED, G_GRID_MAST_ITAB.
          LEAVE TO SCREEN '1500'.
        WHEN 'EXIT'.
          LEAVE TO SCREEN '1500'.
        WHEN 'SAVE'.
        DELETE FROM ZSD_RBT_MAS_DATA WHERE KNUMA EQ KONA-KNUMA.
          PERFORM SAVE_DATA.
       WHEN 'DELE'.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_1600  INPUT
    *&      Form  FCODE_INSERT_ROW                                         *
    FORM fcode_insert_row
                  USING    P_TC_NAME           TYPE DYNFNAM
                           P_TABLE_NAME             .
    &SPWIZARD: BEGIN OF LOCAL DATA----
      DATA L_LINES_NAME       LIKE FELD-NAME.
      DATA L_SELLINE          LIKE SY-STEPL.
      DATA L_LASTLINE         TYPE I.
      DATA L_LINE             TYPE I.
      DATA L_TABLE_NAME       LIKE FELD-NAME.
      FIELD-SYMBOLS <TC>                 TYPE CXTAB_CONTROL.
      FIELD-SYMBOLS <TABLE>              TYPE STANDARD TABLE.
      FIELD-SYMBOLS <LINES>              TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
      ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc                     *
      CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
      ASSIGN (L_TABLE_NAME) TO <TABLE>.                "not headerline
    *&SPWIZARD: get looplines of TableControl                              *
      CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
      ASSIGN (L_LINES_NAME) TO <LINES>.
    *&SPWIZARD: get current line                                           *
      GET CURSOR LINE L_SELLINE.
      IF SY-SUBRC <> 0.                   " append line to table
        L_SELLINE = <TC>-LINES + 1.
    *&SPWIZARD: set top line                                               *
        IF L_SELLINE > <LINES>.
          <TC>-TOP_LINE = L_SELLINE - <LINES> + 1 .
        ELSE.
          <TC>-TOP_LINE = 1.
        ENDIF.
      ELSE.                               " insert line into table
        L_SELLINE = <TC>-TOP_LINE + L_SELLINE - 1.
        L_LASTLINE = <TC>-TOP_LINE + <LINES> - 1.
      ENDIF.
    *&SPWIZARD: set new cursor line                                        *
      L_LINE = L_SELLINE - <TC>-TOP_LINE + 1.
    *&SPWIZARD: insert initial line                                        *
      INSERT INITIAL LINE INTO <TABLE> INDEX L_SELLINE.
      <TC>-LINES = <TC>-LINES + 1.
    *&SPWIZARD: set cursor                                                 *
      SET CURSOR LINE L_LINE.
    ENDFORM.                              " FCODE_INSERT_ROW
    *&      Form  FCODE_DELETE_ROW                                         *
    FORM fcode_delete_row
                  USING    P_TC_NAME           TYPE DYNFNAM
                           P_TABLE_NAME
                           P_MARK_NAME   .
    &SPWIZARD: BEGIN OF LOCAL DATA----
      DATA L_TABLE_NAME       LIKE FELD-NAME.
      FIELD-SYMBOLS <TC>         TYPE cxtab_control.
      FIELD-SYMBOLS <TABLE>      TYPE STANDARD TABLE.
      FIELD-SYMBOLS <WA>.
      FIELD-SYMBOLS <MARK_FIELD>.
    &SPWIZARD: END OF LOCAL DATA----
      ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc                     *
      CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
      ASSIGN (L_TABLE_NAME) TO <TABLE>.                "not headerline
    *&SPWIZARD: delete marked lines                                        *
      DESCRIBE TABLE <TABLE> LINES <TC>-LINES.
      LOOP AT <TABLE> ASSIGNING <WA>.
    *&SPWIZARD: access to the component 'FLAG' of the table header         *
        ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
        IF <MARK_FIELD> = 'X'.
          DELETE <TABLE> INDEX SYST-TABIX.
          IF SY-SUBRC = 0.
            <TC>-LINES = <TC>-LINES - 1.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                              " FCODE_DELETE_ROW
    *&      Form  COMPUTE_SCROLLING_IN_TC
          text
         -->P_TC_NAME  name of tablecontrol
         -->P_OK       ok code
    FORM COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME
                                          P_OK.
    &SPWIZARD: BEGIN OF LOCAL DATA----
      DATA L_TC_NEW_TOP_LINE     TYPE I.
      DATA L_TC_NAME             LIKE FELD-NAME.
      DATA L_TC_LINES_NAME       LIKE FELD-NAME.
      DATA L_TC_FIELD_NAME       LIKE FELD-NAME.
      FIELD-SYMBOLS <TC>         TYPE cxtab_control.
      FIELD-SYMBOLS <LINES>      TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
      ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get looplines of TableControl                              *
      CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
      ASSIGN (L_TC_LINES_NAME) TO <LINES>.
    *&SPWIZARD: is no line filled?                                         *
      IF <TC>-LINES = 0.
    *&SPWIZARD: yes, ...                                                   *
        L_TC_NEW_TOP_LINE = 1.
      ELSE.
    *&SPWIZARD: no, ...                                                    *
        CALL FUNCTION 'SCROLLING_IN_TABLE'
             EXPORTING
                  ENTRY_ACT             = <TC>-TOP_LINE
                  ENTRY_FROM            = 1
                  ENTRY_TO              = <TC>-LINES
                  LAST_PAGE_FULL        = 'X'
                  LOOPS                 = <LINES>
                  OK_CODE               = P_OK
                  OVERLAPPING           = 'X'
             IMPORTING
                  ENTRY_NEW             = L_TC_NEW_TOP_LINE
             EXCEPTIONS
                 NO_ENTRY_OR_PAGE_ACT  = 01
                 NO_ENTRY_TO           = 02
                 NO_OK_CODE_OR_PAGE_GO = 03
                  OTHERS                = 0.
      ENDIF.
    *&SPWIZARD: get actual tc and column                                   *
      GET CURSOR FIELD L_TC_FIELD_NAME
                 AREA  L_TC_NAME.
      IF SYST-SUBRC = 0.
        IF L_TC_NAME = P_TC_NAME.
    *&SPWIZARD: et actual column                                           *
          SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
        ENDIF.
      ENDIF.
    *&SPWIZARD: set the new top line                                       *
      <TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
    ENDFORM.                              " COMPUTE_SCROLLING_IN_TC
    *&      Form  FCODE_TC_MARK_LINES
          marks all TableControl lines
         -->P_TC_NAME  name of tablecontrol
    FORM FCODE_TC_MARK_LINES USING P_TC_NAME
                                   P_TABLE_NAME
                                   P_MARK_NAME.
    &SPWIZARD: EGIN OF LOCAL DATA----
      DATA L_TABLE_NAME       LIKE FELD-NAME.
      FIELD-SYMBOLS <TC>         TYPE cxtab_control.
      FIELD-SYMBOLS <TABLE>      TYPE STANDARD TABLE.
      FIELD-SYMBOLS <WA>.
      FIELD-SYMBOLS <MARK_FIELD>.
    &SPWIZARD: END OF LOCAL DATA----
      ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc                     *
      CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
      ASSIGN (L_TABLE_NAME) TO <TABLE>.                "not headerline
    *&SPWIZARD: mark all filled lines                                      *
      LOOP AT <TABLE> ASSIGNING <WA>.
    *&SPWIZARD: access to the component 'FLAG' of the table header         *
        ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
        <MARK_FIELD> = 'X'.
      ENDLOOP.
    ENDFORM.                                          "fcode_tc_mark_lines
    *&      Form  FCODE_TC_DEMARK_LINES
          demarks all TableControl lines
         -->P_TC_NAME  name of tablecontrol
    FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                     P_TABLE_NAME
                                     P_MARK_NAME .
    &SPWIZARD: BEGIN OF LOCAL DATA----
      DATA L_TABLE_NAME       LIKE FELD-NAME.
      FIELD-SYMBOLS <TC>         TYPE cxtab_control.
      FIELD-SYMBOLS <TABLE>      TYPE STANDARD TABLE.
      FIELD-SYMBOLS <WA>.
      FIELD-SYMBOLS <MARK_FIELD>.
    &SPWIZARD: END OF LOCAL DATA----
      ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc                     *
      CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
      ASSIGN (L_TABLE_NAME) TO <TABLE>.                "not headerline
    *&SPWIZARD: demark all filled lines                                    *
      LOOP AT <TABLE> ASSIGNING <WA>.
    *&SPWIZARD: access to the component 'FLAG' of the table header         *
        ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
        <MARK_FIELD> = SPACE.
      ENDLOOP.
    ENDFORM.                                          "fcode_tc_mark_lines
    FORM GET_DATA...
    FORM GET_DATA.
      CLEAR : I_KNVV_DATA, ZSD_BILLINFO, G_GRID_MAST_COPIED,
      G_GRID_MAST_ITAB, ZSD_RBT_MAS_DATA, KNVV, ZSD_RBT_ELG_INV.
      REFRESH: I_KNVV_DATA, G_GRID_MAST_ITAB.
      SELECT SINGLE * FROM KONA WHERE KNUMA = KONA-KNUMA.
      IF SY-SUBRC = 0.
        SELECT * FROM ZSD_RBT_MAS_DATA
               INTO
               CORRESPONDING FIELDS OF
               TABLE I_KNVV_DATA
               WHERE KNUMA = KONA-KNUMA.
        IF SY-SUBRC <> 0.
          SELECT * INTO CORRESPONDING FIELDS OF TABLE I_KNVV_DATA
          FROM KNVV
          WHERE KUNNR = KONA-BONEM.
          SELECT SINGLE * FROM ZSD_BILLINFO WHERE KUNAG = KONA-BONEM.
          LOOP AT I_KNVV_DATA.
            SELECT SINGLE * FROM ZSD_RBT_ELG_INV
                WHERE KNUMA = KONA-KNUMA
                  AND VKORG = I_KNVV_DATA-VKORG
                  AND VTWEG = I_KNVV_DATA-VTWEG
                  AND SPART = I_KNVV_DATA-SPART.
            IF SY-SUBRC = 0.
              I_KNVV_DATA-STATUS = ZSD_RBT_ELG_INV-ZFLAG.
            ENDIF.
            I_KNVV_DATA-GJAHR = ZSD_BILLINFO-GJAHR.
            I_KNVV_DATA-KNUMA = KONA-KNUMA.
            MODIFY I_KNVV_DATA INDEX SY-TABIX.
          ENDLOOP.
        ENDIF.
      ENDIF.
    ENDFORM.                    "GET_DATA
    FORM SAVE_DATA...
    FORM SAVE_DATA.
      IF NOT G_GRID_MAST_ITAB IS INITIAL.
        CALL FUNCTION 'POPUP_TO_CONFIRM'
           EXPORTING
            TITLEBAR                    = 'Confirmation'
      DIAGNOSE_OBJECT             = ' '
       TEXT_QUESTION               = 'Do you want to save the document?'
            TEXT_BUTTON_1               = 'YES'
      ICON_BUTTON_1               = ' '
            TEXT_BUTTON_2               = 'NO'
      ICON_BUTTON_2               = ' '
             DEFAULT_BUTTON              = '1'
             DISPLAY_CANCEL_BUTTON       = ''
      USERDEFINED_F1_HELP         = ' '
      START_COLUMN                = 25
      START_ROW                   = 6
      POPUP_TYPE                  =
      IV_QUICKINFO_BUTTON_1       = ' '
      IV_QUICKINFO_BUTTON_2       = ' '
          IMPORTING
            ANSWER                      = G_ANS
    TABLES
      PARAMETER                   =
          EXCEPTIONS
            TEXT_NOT_FOUND              = 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.
        IF G_ANS = '1'.
          SELECT SINGLE * FROM ZSD_RBT_MAS_DATA
              WHERE KNUMA = KONA-KNUMA.
          IF SY-SUBRC = 0.
            LOOP AT G_GRID_MAST_ITAB.
             IF G_GRID_MAST_ITAB-OTQTY > 0.
                  I_KNVV_DATA-PCPDAYS
                  I_KNVV_DATA-OTPC
                  I_KNVV_DATA-EBDFROM
                  I_KNVV_DATA-EBDTO
              ZSD_RBT_MAS_DATA-GJAHR = G_GRID_MAST_ITAB-GJAHR.
              ZSD_RBT_MAS_DATA-KNUMA = G_GRID_MAST_ITAB-KNUMA.
              ZSD_RBT_MAS_DATA-VKBUR = G_GRID_MAST_ITAB-VKBUR.
              ZSD_RBT_MAS_DATA-VKORG = G_GRID_MAST_ITAB-VKORG.
              ZSD_RBT_MAS_DATA-VTWEG = G_GRID_MAST_ITAB-VTWEG.
              ZSD_RBT_MAS_DATA-SPART = G_GRID_MAST_ITAB-SPART.
              ZSD_RBT_MAS_DATA-MATKL = G_GRID_MAST_ITAB-MATKL.
              ZSD_RBT_MAS_DATA-OTQTY = G_GRID_MAST_ITAB-OTQTY.
              ZSD_RBT_MAS_DATA-PCPDAYS = G_GRID_MAST_ITAB-PCPDAYS.
              ZSD_RBT_MAS_DATA-OTPC = G_GRID_MAST_ITAB-OTPC.
             ZSD_RBT_MAS_DATA-EBDFROM = G_GRID_MAST_ITAB-EBDFROM.
             ZSD_RBT_MAS_DATA-EBDTO = G_GRID_MAST_ITAB-EBDTO.
              MODIFY ZSD_RBT_MAS_DATA.
              COMMIT WORK.
             ENDIF.
            ENDLOOP.
          ELSE.
            LOOP AT G_GRID_MAST_ITAB.
             IF G_GRID_MAST_ITAB-OTQTY > 0.
                  I_KNVV_DATA-PCPDAYS
                  I_KNVV_DATA-OTPC
                  I_KNVV_DATA-EBDFROM
                  I_KNVV_DATA-EBDTO
              ZSD_RBT_MAS_DATA-GJAHR = G_GRID_MAST_ITAB-GJAHR.
              ZSD_RBT_MAS_DATA-KNUMA = G_GRID_MAST_ITAB-KNUMA.
              ZSD_RBT_MAS_DATA-VKBUR = G_GRID_MAST_ITAB-VKBUR.
              ZSD_RBT_MAS_DATA-VKORG = G_GRID_MAST_ITAB-VKORG.
              ZSD_RBT_MAS_DATA-VTWEG = G_GRID_MAST_ITAB-VTWEG.
              ZSD_RBT_MAS_DATA-SPART = G_GRID_MAST_ITAB-SPART.
              ZSD_RBT_MAS_DATA-OTQTY = G_GRID_MAST_ITAB-OTQTY.
              ZSD_RBT_MAS_DATA-PCPDAYS = G_GRID_MAST_ITAB-PCPDAYS.
              ZSD_RBT_MAS_DATA-OTPC = G_GRID_MAST_ITAB-OTPC.
             ZSD_RBT_MAS_DATA-EBDFROM = G_GRID_MAST_ITAB-EBDFROM.
             ZSD_RBT_MAS_DATA-EBDTO = G_GRID_MAST_ITAB-EBDTO.
              ZSD_RBT_MAS_DATA-STATUS = G_GRID_MAST_ITAB-STATUS.
              ZSD_RBT_MAS_DATA-MATKL = G_GRID_MAST_ITAB-MATKL.
              INSERT ZSD_RBT_MAS_DATA.
              COMMIT WORK.
             ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    "SAVE_DATA
    ENDMODULE.                 " GRID_CHECK  OUTPUT

  • How to find out the user who has created  a new field in the custom table.

    How to find out the user details who has created  a new field in the custom table.
    Thanks,
    Joan

    Hi Jesudasan ,
    You can know the user details with version management.Please find the
    below procedure to know.
    Go to table->Utilities tab->version->Version management->Compare the previous one .
    Hope this solves the issue,Let me know if you have any issues.
    Thanks,
    Rajani

  • How can i create a custom table in to my banking services server

    I am having product type and account type details for those things I need to create a table
    Product Id.                 Account Type
    DP_PYGO_P     21
    DP_BASIC     25
    DP_UNLIMIT     24
    DP_ADVANTG     17
    DP_SAV                     34
    DP_TBILL                     54
    DP_USDCHQ     19
    DP_FREEDOM     52
    For the above fields how can i create a custom table into banking services server

    Transaction SE11, maybe? I don't really see the problem, unless you have never created a transparant table before...

  • Not able to insert in custom table.

    Hi All,
    I am trying to insert a row in a custom table.
    But getting the following error when the page opens up.
    oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for AllAreInOneEO.
    I am giving the details, what i have tried.
    Table
    create table apps.test_table
    PERSON_ID NUMBER(10) PRIMARY KEY,
    LAST_UPDATE_DATE DATE,
    LAST_UPDATED_BY NUMBER(15),
    LAST_UPDATE_LOGIN NUMBER(15),
    CREATED_BY NUMBER(15),
    CREATION_DATE DATE)
    AM
    package telenor.oracle.apps.ak.allareinone.server;
    import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
    // --- File generated by Oracle Business Components for Java.
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.jbo.Row;
    public class AllAreInOneAMImpl extends OAApplicationModuleImpl
    * This is the default constructor (do not remove)
    public AllAreInOneAMImpl()
    * Sample main for debugging Business Components code using the tester.
    public static void main(String[] args)
    launchTester("telenor.oracle.apps.ak.allareinone.server", "AllAreInOneAMLocal");
    * Container's getter for AllAreInOneVO1
    public AllAreInOneVOImpl getAllAreInOneVO1()
    return (AllAreInOneVOImpl)findViewObject("AllAreInOneVO1");
    public void createEmployee()
    System.out.println("3");
    OAViewObject vo = (OAViewObject)getAllAreInOneVO1();
    System.out.println("4");
    System.out.println(vo);
    System.out.println("4");
    if (!vo.isPreparedForExecution())
    System.out.println("In Exe -- Begin");
    vo.executeQuery();
    System.out.println("In Exe -- Begin");
    Row row = vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    } // end createEmployee()
    * Commits the transaction.
    public void Create()
    getTransaction().commit();
    } // end apply()
    Controller
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package telenor.oracle.apps.ak.allareinone.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.OAApplicationModule;
    * Controller for ...
    public class AllAreInOneCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    if (!pageContext.isFormSubmission())
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("createEmployee", null);
    } // end processRequest()
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am1 = pageContext.getApplicationModule(webBean);
    System.out.println("In Process Form Request");
    if (pageContext.getParameter("Create") != null)
    am1.invokeMethod("Create");
    Requesting everybody's help.
    Regards,
    Subhra

    Subhra,
    Your observation is correct. generally if you are working on a custom table or a table without the WHO columns, then you need to use your EO class as abstract.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                       

  • User exit/BADI for updating custom table in MB1B transaction-

    Dear All,
    When performing a material to material conversion in MB1B transaction for  batch managed materials,system is creating a new batch by copying the characteristics of issuing material/batch.The details of the new batch created are updated in standard batch tables(MCH1,MCHA,MCHA).
    The requirement is when the new batch is created,the batch details and characteristics has to be stamped in a custom table.
    Kindly suggest a user exit/BAIi available for updating the same in the custom table.
    Regards,
    Deepak

    Deepak, Exits for MB1B are
    MBCF0002            Customer function exit: Segment text in material doc. item
    MBCF0005            Material document item for goods receipt/issue slip
    MBCF0006            Customer function for WBS element
    MBCF0007            Customer function exit: Updating a reservation
    MBCF0009            Filling the storage location field
    MBCF0010            Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0011            Read from RESB and RKPF for print list in  MB26
    MB_CF001            Customer Function Exit in the Case of Updating a Mat. Doc.

  • BADI/User Exit for custom table update from Delivery

    Hi
    Our requirement is to update a custom table with the delivery number and other related details when the picking status is changed to "C". Kindly suggest BADI/User exit for this requirement .
    Thanks in Advance for your immediate help .

    Hi Joseph,
    See SAP Note 415716 - User exits in delivery processing. It says when you have the document number available, what is permitted, what not, ....
    I hope this helps you
    Regards
    Eduardo

  • How to get Hide/Show using details in advanced table

    Hi,
    I develeoped one custom page using advanced table region and i used detail from advanced table for getting hide/show functionaliy in one column in that table. It is showing hide/show properly..but if I click on Show it is not doing any action..pls let me need to write any code in CO for getting action..
    Thanks in advance,
    Hanimi......

    If you are using the same VO and you execute in on page load then it must populate all view attribute.
    Check in back end that is there any data in that VO attribute exists or not.
    Thanks
    --Anil                                                                                                                                                                                                                                                                                                                                                                                                               

  • JTable: Custom Table Model (pII)

    As was explained in pI, I'm creating a custom table model to overcome a few pitfalls I came across using the DefaultTableModel class, such as aligning cells, and getting certain columns to return only numeric type data. However, I've come upon a few roadblocks myself.
    How do I create each of the following methods:
    insertRow(int ow, int column)
    remove row(int row)
    addRow(Object[] rowData)Assuming that I decide to allow the user to add a column to the table, how would I create the methodaddColumn(Object columnName, Object[] columnData)And also, as I'm creating a custom table model, would I need to replicate DefaultTableModel's methods that inform the listeners that a change has been made to the table?
    Thanks!

    Thanks!
    I just got this response. Anyways, I found another solution that was, interestingly, from one of your threads written in 2005.
    This is what I did:
    // Letting the JTable know what each column stores and should return by
       // overloading the getColumnClass() method
       public Class getColumnClass(int column)
            if(recordsTable.getColumnName(column) == "Ranking")
              return Integer.class;
         /* Why do I keep ketting an IllegalArgumentException here? *
           * It keeps saying it cannot format given object as a Number */            
            else if(recordsTable.getColumnName(column) == "Price (�) ")
              return Float.class;
         else
           return getValueAt(0, column).getClass();         
       }However, another problem has arisen.
    The if method for the int column (Ranking column) works okay, and is even right-aligned. The else if arguments for the Price (�) column however is returning an IllegalArgumentException. This I just cannot figure out.
    Here's the code:package Practice;
      import java.awt.BorderLayout;
      import java.awt.Frame;
      import java.awt.Menu;
      import java.awt.MenuBar;
      import java.awt.MenuItem;
      import java.awt.MenuShortcut;
      import java.awt.event.ActionEvent;
      import java.awt.event.ActionListener;
      import java.awt.event.KeyEvent; // for MenuItem shortcuts
      import java.awt.event.WindowAdapter;
      import java.awt.event.WindowEvent;
      import java.awt.event.WindowListener;
      import javax.swing.JOptionPane;
      import javax.swing.JScrollPane; // JTable added to it, aiding flexibility
      import javax.swing.JTable; // The personally preferred GUI for this purpose
            // Provides a basic implementation of TableModel
      import javax.swing.table.DefaultTableModel;
              // This class uses Vector to store the rows and columns of data, though
              // programmer will be using LinkedLists
      import java.util.LinkedList;
      // User-defined classes
      import Practice.MusicDatabase;
      public class MusicBank extends Frame implements ActionListener
         MusicDatabase mDBase;
         Frame frame;
         String title = "",      // Frame's title
                file = "";           // pathname of the file to be opened
          // Declaring Menu and MenuItem variables
         Menu recordM; // ...
         // recordM
         MenuItem newRecordR_MI, deleteRecordR_MI;
         // Other irrelevant menus and sub items
        DefaultTableModel recordDetails;
        JTable recordsTable;
        LinkedList musicList;
        public MusicBank()
            musicList = new LinkedList();
            frame = new Frame(title);
            frame.setMenuBar(menuSystem());
            // Should user seek to close window externally
            frame.addWindowListener(new WindowAdapter()
                 public void windowClosing(WindowEvent we)
                     frame.dispose();
                     System.exit(0);
         recordDetails = new DefaultTableModel();
         // Creating the relevant columns
         recordDetails.addColumn("Title");
         recordDetails.addColumn("Identity");
         recordDetails.addColumn("Music Company");
         recordDetails.addColumn("Ranking");
         recordDetails.addColumn("Price (�) ");
         // Ensuring the table has at least one visible record (empty)
         recordDetails.addRow(populateRow("", "", "", 0, 0.00f));
         // Creating the table to display the data files (music record details)
         recordsTable = new JTable(recordDetails)
             // Letting the JTable know what each column stores and should return by
             // overloading the getColumnClass() method
            public Class getColumnClass(int column)
               if(recordsTable.getColumnName(column) == "Ranking")
                   return Integer.class;
                /* Why do I keep ketting an IllegalArgumentException here? *
                 * It keeps saying it cannot format given object as a Number */            
                else if(recordsTable.getColumnName(column) == "Price (�) ")
                    return Float.class;
                else
                    return getValueAt(0, column).getClass();         
      // Creating the menus
      public MenuBar menuSystem()
          MenuBar bar = new MenuBar();
          // Record menu and related items
          recordM = new Menu("Record");
          recordM.setShortcut(new MenuShortcut(KeyEvent.VK_R, false));        
          newRecordR_MI = new MenuItem("New record");
          newRecordR_MI.setShortcut(new MenuShortcut(KeyEvent.VK_N, false));
          deleteRecordR_MI = new MenuItem("Delete record");
          deleteRecordR_MI.setShortcut(new MenuShortcut(KeyEvent.VK_D, false));
           recordM.add(newRecordR_MI);
           recordM.addSeparator();
           recordM.add(deleteRecordR_MI);
            // Enabling menus with functionality
           newRecordR_MI.addActionListener(this);
           deleteRecordR_MI.addActionListener(this);
           // Adding menus and items to menu bar
           bar.add(recordM);
           return bar;        
      public void actionPerformed(ActionEvent ae)
          if(ae.getSource() == newRecordR_MI)
             newRecord();
          else if(ae.getSource() == deleteRecordR_MI)
             deleteRecord();       
      // Object that will be used, in conjunction with MusicDatabase's, to 
      // populate the JTable
      // A record in a JTable is equivalent to an element in a LinkedList
      public Object[] populateRow(String title, String name, String comp, int rank, float price)
          // First, update the LinkedList
          mDBase = new MusicDatabase(title, name, comp, rank, price);
          musicList.add(mDBase);
           // Then, update the table
           // As the parameters of Object tableDetails can only take a String or
           // object, rank and price will have to be cast as a String and later
           // parsed to their original form before use.
           String rankPT = ""+rank, pricePT = ""+price;        
           Object rowDetails[] = {title, name, comp, rankPT, pricePT};
           return rowDetails;
      public static void main(String args[])
          MusicBank app = new MusicBank();
           // Using the platform's L&F (if Win32,  Windows L&F; Mac OS, Mac OS L&F,
           // Sun, CDE/Motif L&F)
           // For more on this, refer to the WinHelp Java tutorial by F. Allimont
           try
               UIManager.getSystemLookAndFeelClassName();
           catch(Exception e)
               JOptionPane.showMessageDialog(app,
                    "Failed to create the Windows Look and Feel for this program",
                    "Look and Feel (L&F) error",
                    JOptionPane.ERROR_MESSAGE);
           app.frame.setSize(500, 500);
           app.frame.setVisible(true);
            // Placing frame in the centre of the screen on-loading
           app.frame.setLocationRelativeTo(null);
      // action methods per menu items
      // Also, why do I keep getting an ArrayIndexOutOfBoundsException
      // here? I do know what this exception is, and how it works, but just cannot
      // understand what is causing it
      public void newRecord()
          // Before adding a new record, check if previous record has complete
          // entries. If not, either display a message (JOptionPane) or disallow
          // request (simply do nothing)        
          // Proceed based on assesment
          if(queryState() == true)
              // Inform user that all entries need to be filled in before a new
              // record can be created
              JOptionPane.showMessageDialog(this, // current frame
                       "There are incomplete cells in the table."+
                       "\nPlease fill these in before proceeding",       // Message to user
                       "Incomplete entries",                                // Title
                       JOptionPane.ERROR_MESSAGE);                           // Relevant icon
          else
               // To ensure that both the linked list & the table are simultaneously
               // updated, JOptionPane's input dialogs are used to temporarily store
               // the data which is then inputted into both (linked list and JTable)
              String titleN, identityN, companyN; int rankN; float priceN;
              titleN = JOptionPane.showInputDialog(this, "Enter song title");
              identityN = JOptionPane.showInputDialog(this,                                      "Enter name of singer/band");
             companyN = JOptionPane.showInputDialog(this,                                 "Enter signed/unsigned company");
             rankN = Integer.parseInt( JOptionPane.showInputDialog(this,
                             "Enter rank (a number)") );
            System.out.println("\n JTable rows = "+recordDetails.getRowCount());
             // Ensuring that the chosen rank is not already entered
             /* Problem lies here */
             for(int row = 1; row <= recordDetails.getRowCount(); ++row)
                 if((recordDetails.getValueAt(row, 4)).equals(""+rankN))
                     rankN = Integer.parseInt( JOptionPane.showInputDialog(this,
                             "That number's already chosen.\nPlease enter a rank ") );
             priceN = Float.parseFloat( JOptionPane.showInputDialog(this,                                 "Finally, enter price �") );
             mDBase = new MusicDatabase(titleN, identityN, companyN, rankN, priceN);
             musicList.add(mDBase);
             recordDetails.addRow(populateRow(titleN, identityN, companyN, rankN,
         priceN));
             System.out.println("JTable rows after creation = "+
                   recordDetails.getRowCount());
         // Enabling the delete record menu item (as necessary)
         if((recordsTable.getRowCount()) > 0)
              deleteRecordR_MI.setEnabled(true);
      } // newRecord()
      public void deleteRecord()
         int selectedRow = recordsTable.getSelectedRow();
         recordDetails.removeRow(selectedRow);
          // Removing the element from the LinkedList's corresponding index
          musicList.remove(selectedRow);
          System.out.println("Existing rows = "+recordsTable.getRowCount());
           // If there are no more rows, disallow user from trying to delete rows
           if(selectedRow <= 0)
              deleteRecordR_MI.setEnabled(false);
      } // deleteRecord()
      // Method to query if all cells have changed their states (empty or not)
      public boolean queryState()
          // Obtaining number of rows
          int rows = recordDetails.getRowCount();
          int columns = recordDetails.getColumnCount();
          boolean isEmpty = false; // cell
          System.out.println("Rows = "+rows);
          System.out.println("Columns = "+columns);
          try{
              // Assessing all cells for complete entries
              // This approach is flexible, rather than hardcoding the rows available,
              // making it more reusable (assuming it will always be 5 columns)
              for (int rowIndex = 0; rowIndex<=rows; ++rowIndex)
                  if((recordDetails.getValueAt(rowIndex, 1)).equals(""))
                 isEmpty = true;
                  else if((recordDetails.getValueAt(rowIndex, 2)).equals(""))
               isEmpty = true;
                  else if((recordDetails.getValueAt(rowIndex, 3)).equals(""))
               isEmpty = true;                
                  else if((recordDetails.getValueAt(rowIndex, 4)).equals("0"))
               isEmpty = true;
                  else if((recordDetails.getValueAt(rowIndex, 5)).equals("0.00"))
               isEmpty = true;
          catch(Exception e)
             System.out.println(e.getMessage());
          return isEmpty;
      Now here is the code for the MusicDatabase class
    package Practice;
    class MusicDatabase
        private String songTitle, identity, musicCompany;
        private int rank;
        private float priceF;
        // Defining the constructor
        public MusicDatabase(String title, String name, String company,                                int rankingInt, float price)
           songTitle = title;
           identity = name;
           musicCompany = company;
           rank = rankingInt;
           priceF = price;
        } // constructor
       // Other methods
    } // class MusicDatabaseSorry, but am not sure if these codes are executable, as where I am (a general library), JVM is not on the machine I am using. (Remember, i don't have ready acess to the Internet, so I could not use my machine, nor the facilities that had the JVM - unavailable to me at the time).
    Thanks!
    Reformer...
    PS I do hope the code pasted was not too much. Kind regards....

  • Custom Oaf form inserting blank records into custom table

    Hi all,
    I have developed custom OAF form to insert vendor details mapped to custom table.
    Oaf form is working fine without giving any error.
    In back end blank records is inserting into the custom table i.e. only WHO columns (creation_Date, created_by, last_update_login etc.) values are populating correctly but the
    data which i am entering in OAF form is not populating into the table.
    Please help, tnx in advance.
    Regards,
    Mohit

    Do you have mapping of your form fields with the view object and view attribute ?

  • Fetch in a custom table - ECC 6.0

    Hi,
    There is a custom table, which has got nearly 50 lakhs entries. The report's performance was fine in 4.7 version. After SAP upgradation to ECC 6.0, the execution of the query takes more than 5 hrs, which was just 600 sec in 4.7 system. What could be the problem?
    Note: Primary key is not passed in the select query's WHERE condition.
    Thanks,
    Dhanalakshmi M S

    Hi,
    was the database been upgraded as well? Have the statistics been updated after the upgrade?
    As Thomas said, please post more details... execution plan, ST05 summary, variables, indexes, ... .
    Kind regards,
    Hermann

  • BTE for Parking a document and updating a custom table

    Hi
    I want to update a custom table whenever a new parking document got posted through FBV4. I want to use a BTE for this please advice....
    Moderator message: please do some research before asking.
    Edited by: Thomas Zloch on Mar 10, 2011 9:15 AM

    Hi Gaurav,
    First time the correct data i have entered..and pressed "Save" button it is going and updating .After that i given same priority to multiple absence types..it errored out.. till now everything is fine.. Again i changed to correct value.. and pressed "Save" button. It is error out with an error like :
    JBO-25001: Name LOCATOR_SELECT3 of object type View Row Set Iterator already exists
    Code :
    int rowCount = vo.getFetchedRowCount();
    RowSetIterator rIter1 = vo.createRowSetIterator("LOCATOR_SELECT3");
    rIter1.setRangeStart(0);
    rIter1.setRangeSize(rowCount);
    int g=0;
    rIter1.reset();
    for ( int i=0;i<rowCount;i++)
    XxchrResultSetVORowImpl row = (XxchrResultSetVORowImpl)rIter1.getRowAtRangeIndex(i);
    String priority = ((String)row.getAbsencePriority());
    System.out.println("First Priority" + priority);
    for ( int j=0;j<rowCount;j++)
    if(i==j)
    g++;
    //leave this row
    else
    XxchrResultSetVORowImpl rows = (XxchrResultSetVORowImpl)rIter1.getRowAtRangeIndex(j);
    String priority2 = ((String)rows.getAbsencePriority());
    //String priority2 = ((String)row[j].getAttribute("AbsencePriority"));
    System.out.println("Second Priority" + priority2);
    if(priority.equals(priority2))
    //that means priority is repeated
    throw new OAException("error",OAException.ERROR);
    rIter1.closeRowSetIterator();
    Serializable[] param = {Businessgroupname,Retroactivedays};
    am.invokeMethod("Apply");
    Thanks
    Preeti

Maybe you are looking for

  • Empty rows, Columns  in EPM reports

    Thru the EPM new report creation ICON,  I am selecting rows and columns to create new report. I am selecting nearly 20 accounts in account selection most of them are parent account. However while displaying the report inbetween some of the accounts I

  • BAPI_MATERIAL_MAINTAINDATA_RT problem

    Hi experts. I am trying to change some material parameters. It's MARC-MINBE and MARC-MABST. For this I am using BAPI_MATERIAL_MAINTAINDATA_RT with appropriate parameters. Unfortunatelly there is an error message: 537. In SLG1 I have some messages: -

  • Interactive Street Map in Flash

    Hi all, I'm trying to design an interactive street map for my website and I would like to do it in Flash. Ideally I would love to have it looking something like this; http://www.skiptonweb.co.uk/flashmap/flashmap.htm Can anyone point me in the right

  • TS4036 on iCloud I get The last backup could not be completed?  I have 4gb of space

    Hi trying to back up my stuff on icloud.  I can do it on the computer but it will not let me on my iphone. i have 4GB space, so thats not the problem. it says - The last backup could not be completed. any ideas? thanks

  • Mail not responding after update to 10.10.3

    I am having problems with the mail and its not responding? any ideas? I tried deleting com.apple.mail.savedState method and it didn't work at all.