Standalone Program for Accessing MDM Table

Hi,
  I am trying access to MDM table using standalone java program but it is giving error. Is it possible?
If it is possible means tell me the steps or post sample codes.
Thanks in advance
Regards
Suresh

Hello:
I have a piece of code here, even tough I believe it would be easier if you could explain a little more about your problem.
First I create properties for connection. I'm using strings however this can be done also setting properties directly:
String server = "MDMServer";
int port  = 2005;
String user = "admin";
String password = "thePassword";
String language = "Spanish [MX]"; // languaje and local you want to use
// THen you choose the region and attempt to login. Please note that even tough I choose region US, I log as a MX user, as provided by the language property
CatalogData mdmBridge = new CatalogData();     
mdmBridge.SetCodeRegion("English [US]");          mdmBridge.Login(server,port,user,password,language);
// also note that the catalogData object is the main entrance, now create an array for MDMTables:
CMTableInfoArray tables = null;
// and attempt to get them:
AttributeInfoArray fields = mdmBridge.GetLinkedAttributesForTaxonomy("Categories",6,false);
System.out.println("Counts: " + fields.GetCount());
// Traverse:
for (int i = 0; i < fields.GetCount(); i++)
     AttributeInfo att = fields.GetAttributeInfoAt(i);
     System.out.println("NAME: " + att.GetName());
// In this case I'm getting a taxonomy table, such as "Categories". However you could use any other type of tables. Finally I get the contents of this table:
// Attempt to get the categories               A2iStringArray array = new A2iStringArray();
               array.Add("Filter");
ResultSetDefinition rsd = new ResultSetDefinition("Categories");
rsd.AddField("Id");
A2iResultSet rs = mdmBridge.GetRecordsByValue(array,rsd,"Id");               
for(int i = 0; i < rs.GetRecordCount(); i++)               {
   Value v = rs.GetValueAt(i,0);
   System.out.println(v.GetStringValue());
Please review the MDM API for java for further info.
I hope that helps
Alejandro

Similar Messages

  • ITAB_NON_NUMERIC_COMPONENT" in the "generation of scrambling programs for non-cluster tables

    Dear Experts,
    We have are experiencing issues in standalone scrambling,
    we are getting error" ITAB_NON_NUMERIC_COMPONENT" in the "generation of
    scrambling programs for non-cluster tables"
    Please help with the needful
    urgently.
    Thanks

    Hello,
    Implement the following SAP note in the execution system and re-execute the     
    activity 'Generation of scrambling programs for non-cluster tables' to solve this issue.
    SAP NOTE : '1915906 - SAP LT V2 SP06: Dump during program generation'
    Regards,
    Jerrin Francis

  • BDC program for rebate with table controls

    Hi Friends,
    Iam Doing  bdc program for Rebate(TCODE VBO1) with table controls..
    can u give the solutions for table controls...
    if anybody having the code..please send me..
    Thanks & Advance,
    sampath

    hi,
    check this example it may help you.
    REPORT  ZSR_BDC_TBCTRL
            NO STANDARD PAGE HEADING LINE-SIZE 255.
    TABLES : RF02K,LFA1,LFBK.
    DATA : BEGIN OF IT_VEN OCCURS 0,
          LIFNR LIKE RF02K-LIFNR,
          KTOKK LIKE RF02K-KTOKK,
          NAME1 LIKE LFA1-NAME1,
          SORTL LIKE LFA1-SORTL,
          LAND1 LIKE LFA1-LAND1,
          SPRAS LIKE LFA1-SPRAS,
          BANKS(6) TYPE C,
          BANKL(17) TYPE C,
          BANKN(19) TYPE C,
          END OF IT_VEN.
    DATA : BEGIN OF BANKS OCCURS 0,
           BANKS LIKE LFBK-BANKS,
           END OF BANKS,
           BEGIN OF BANKL OCCURS 0,
           BANKL LIKE LFBK-BANKL,
           END OF BANKL,
           BEGIN OF BANKN OCCURS 0,
           BANKN LIKE LFBK-BANKN,
           END OF BANKN.
    DATA : FLD(20) TYPE C,
           CNT(2) TYPE N.
    DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    INCLUDE BDCRECX1.
    START-OF-SELECTION.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'Z:\sr.TXT'
       FILETYPE                      = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      TABLES
        DATA_TAB                      = IT_VEN
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    PERFORM OPEN_GROUP.
    LOOP AT IT_VEN.
        REFRESH BDCDATA.
        REFRESH : BANKS,BANKL,BANKN..
        SPLIT IT_VEN-BANKS AT ',' INTO TABLE BANKS.
        SPLIT IT_VEN-BANKL AT ',' INTO TABLE BANKL.
        SPLIT IT_VEN-BANKN AT ',' INTO TABLE BANKN.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'RF02K-KTOKK'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_FIELD       USING 'RF02K-LIFNR'
                                  IT_VEN-LIFNR.
    PERFORM BDC_FIELD       USING 'RF02K-KTOKK'
                                  IT_VEN-KTOKK.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0110'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFA1-SPRAS'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_FIELD       USING 'LFA1-NAME1'
                                  IT_VEN-NAME1.
    PERFORM BDC_FIELD       USING 'LFA1-SORTL'
                                  IT_VEN-SORTL.
    PERFORM BDC_FIELD       USING 'LFA1-LAND1'
                                  IT_VEN-LAND1.
    PERFORM BDC_FIELD       USING 'LFA1-SPRAS'
                                  IT_VEN-SPRAS.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0120'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFA1-KUNNR'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFBK-BANKN(02)'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=ENTR'.
    *perform bdc_field       using 'LFBK-BANKS(01)'
                                 'DE'.
    *perform bdc_field       using 'LFBK-BANKS(02)'
                                 'DE'.
    *perform bdc_field       using 'LFBK-BANKL(01)'
                                 '10020030'.
    *perform bdc_field       using 'LFBK-BANKL(02)'
                                 '67270003'.
    *perform bdc_field       using 'LFBK-BANKN(01)'
                                 '12345'.
    *perform bdc_field       using 'LFBK-BANKN(02)'
                                 '66666'.
    MOVE 1 TO CNT.
        LOOP AT BANKS.
          CONCATENATE 'LFBK-BANKS(' CNT ') ' INTO FLD.
          PERFORM BDC_FIELD USING FLD BANKS-BANKS.
          CNT = CNT + 1.
        ENDLOOP.
        MOVE 1 TO CNT.
        LOOP AT BANKL.
          CONCATENATE 'LFBK-BANKL(' CNT ') ' INTO FLD.
          PERFORM BDC_FIELD USING FLD BANKL-BANKL.
          CNT = CNT + 1.
        ENDLOOP.
        MOVE 1 TO CNT.
        LOOP AT BANKN.
          CONCATENATE 'LFBK-BANKN(' CNT ') ' INTO FLD.
          PERFORM BDC_FIELD USING FLD BANKN-BANKN.
          CNT = CNT + 1.
        ENDLOOP.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFBK-BANKS(01)'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=ENTR'.
    PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0300'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=YES'.
    PERFORM BDC_TRANSACTION USING 'XK01'.
    ENDLOOP.
    PERFORM CLOSE_GROUP.&----
    *& Report  ZSR_BDC_TBCTRL
    REPORT  ZSR_BDC_TBCTRL
            NO STANDARD PAGE HEADING LINE-SIZE 255.
    TABLES : RF02K,LFA1,LFBK.
    DATA : BEGIN OF IT_VEN OCCURS 0,
          LIFNR LIKE RF02K-LIFNR,
          KTOKK LIKE RF02K-KTOKK,
          NAME1 LIKE LFA1-NAME1,
          SORTL LIKE LFA1-SORTL,
          LAND1 LIKE LFA1-LAND1,
          SPRAS LIKE LFA1-SPRAS,
          BANKS(6) TYPE C,
          BANKL(17) TYPE C,
          BANKN(19) TYPE C,
          END OF IT_VEN.
    DATA : BEGIN OF BANKS OCCURS 0,
           BANKS LIKE LFBK-BANKS,
           END OF BANKS,
           BEGIN OF BANKL OCCURS 0,
           BANKL LIKE LFBK-BANKL,
           END OF BANKL,
           BEGIN OF BANKN OCCURS 0,
           BANKN LIKE LFBK-BANKN,
           END OF BANKN.
    DATA : FLD(20) TYPE C,
           CNT(2) TYPE N.
    DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    INCLUDE BDCRECX1.
    START-OF-SELECTION.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'Z:\sr.TXT'
       FILETYPE                      = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      TABLES
        DATA_TAB                      = IT_VEN
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    PERFORM OPEN_GROUP.
    LOOP AT IT_VEN.
        REFRESH BDCDATA.
        REFRESH : BANKS,BANKL,BANKN..
        SPLIT IT_VEN-BANKS AT ',' INTO TABLE BANKS.
        SPLIT IT_VEN-BANKL AT ',' INTO TABLE BANKL.
        SPLIT IT_VEN-BANKN AT ',' INTO TABLE BANKN.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'RF02K-KTOKK'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_FIELD       USING 'RF02K-LIFNR'
                                  IT_VEN-LIFNR.
    PERFORM BDC_FIELD       USING 'RF02K-KTOKK'
                                  IT_VEN-KTOKK.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0110'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFA1-SPRAS'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_FIELD       USING 'LFA1-NAME1'
                                  IT_VEN-NAME1.
    PERFORM BDC_FIELD       USING 'LFA1-SORTL'
                                  IT_VEN-SORTL.
    PERFORM BDC_FIELD       USING 'LFA1-LAND1'
                                  IT_VEN-LAND1.
    PERFORM BDC_FIELD       USING 'LFA1-SPRAS'
                                  IT_VEN-SPRAS.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0120'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFA1-KUNNR'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFBK-BANKN(02)'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=ENTR'.
    *perform bdc_field       using 'LFBK-BANKS(01)'
                                 'DE'.
    *perform bdc_field       using 'LFBK-BANKS(02)'
                                 'DE'.
    *perform bdc_field       using 'LFBK-BANKL(01)'
                                 '10020030'.
    *perform bdc_field       using 'LFBK-BANKL(02)'
                                 '67270003'.
    *perform bdc_field       using 'LFBK-BANKN(01)'
                                 '12345'.
    *perform bdc_field       using 'LFBK-BANKN(02)'
                                 '66666'.
    MOVE 1 TO CNT.
        LOOP AT BANKS.
          CONCATENATE 'LFBK-BANKS(' CNT ') ' INTO FLD.
          PERFORM BDC_FIELD USING FLD BANKS-BANKS.
          CNT = CNT + 1.
        ENDLOOP.
        MOVE 1 TO CNT.
        LOOP AT BANKL.
          CONCATENATE 'LFBK-BANKL(' CNT ') ' INTO FLD.
          PERFORM BDC_FIELD USING FLD BANKL-BANKL.
          CNT = CNT + 1.
        ENDLOOP.
        MOVE 1 TO CNT.
        LOOP AT BANKN.
          CONCATENATE 'LFBK-BANKN(' CNT ') ' INTO FLD.
          PERFORM BDC_FIELD USING FLD BANKN-BANKN.
          CNT = CNT + 1.
        ENDLOOP.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFBK-BANKS(01)'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=ENTR'.
    PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0300'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=YES'.
    PERFORM BDC_TRANSACTION USING 'XK01'.
    ENDLOOP.
    PERFORM CLOSE_GROUP.

  • Problem for Accessing the Table BDCP..CDPOS..CDHDR..

    Hi Guys,
    i have the problem of accessing the BDCP table.it is working fine in development and testing server.it is taking more time in background in Production server..can anyone help me to optimize this code and please suggest me if i can change anyof the below logic..
    Thanks a lot in advance.
    LOOP AT t_cdobjid.
        objectid-low  = t_cdobjid-cdobjid.
        objectid-sign = 'I'.
        objectid-option = 'EQ' .
        APPEND objectid.
        CLEAR  objectid.
        count = count + 1.
        IF count = 50.
          CLEAR count.
          SELECT * FROM bdcp APPENDING TABLE t_bdcp
          WHERE cretime IN r_cretime AND
                tabname = 'DMEAN' AND
                fldname = 'KEY' AND
          cdobjid IN objectid.
          CLEAR : objectid.
          REFRESH: objectid.
        ENDIF.
      ENDLOOP.
      IF NOT objectid[] IS INITIAL.
        SELECT * FROM bdcp APPENDING TABLE t_bdcp
          WHERE cretime IN r_cretime AND
                tabname = 'DMEAN' AND
                fldname = 'KEY' AND
        cdobjid IN objectid.
        CLEAR : objectid.
        REFRESH: objectid.
      ENDIF.
      IF NOT t_bdcp[] IS INITIAL.
        t_bdcp_val[] = t_bdcp[].
        DESCRIBE TABLE t_bdcp_val LINES l_lines.
        l_max = 50.
        l_mod = l_lines MOD l_max.
        IF l_mod > 0.
          l_loopcount = ( l_lines DIV l_max ) + 1.
        ELSE .
          l_loopcount = l_lines DIV l_max.
        ENDIF.
        DO l_loopcount TIMES.
          CLEAR t_bdcp_emt.
          REFRESH t_bdcp_emt.
          IF sy-index = l_loopcount.
            t_bdcp_emt[] = t_bdcp_val[].
          ELSE.
            APPEND LINES OF t_bdcp_val FROM 1 TO l_max TO t_bdcp_emt.
            DELETE t_bdcp_val FROM 1 TO l_max.
          ENDIF.
          SELECT * FROM cdpos APPENDING TABLE t_cdpos_upc
              FOR ALL ENTRIES IN t_bdcp_emt
                       WHERE
                       objectclas = 'MATERIAL' AND
                       objectid   = t_bdcp_emt-cdobjid AND
                       changenr   = t_bdcp_emt-cdchgno  AND
                       tabname IN ('DMEAN', 'MARA' ) AND
                       fname   IN ('KEY', 'EAN11' ) .
        ENDDO.
        CLEAR   : l_lines ,
                  l_mod ,
                  l_loopcount.
           IF sy-subrc EQ 0.
        IF NOT t_cdpos_upc[] IS INITIAL.
          t_cdpos_del[] = t_cdpos_upc[] .
          DELETE t_cdpos_del WHERE tabname EQ 'MARA' .
          SORT t_cdpos_del BY changenr .
          LOOP AT t_cdpos_upc .
            READ TABLE t_cdpos_del WITH KEY
                       changenr = t_cdpos_upc-changenr
                       BINARY SEARCH .
            IF sy-subrc EQ 0  AND
              t_cdpos_upc-chngind = 'U' .
              DELETE t_cdpos_upc WHERE changenr = t_cdpos_upc-changenr
                                  AND  chngind  = 'D' .
            ENDIF.
            t_upc_matnr-matnr = t_cdpos_upc-objectid .
            APPEND t_upc_matnr .
          ENDLOOP.
          SORT t_upc_matnr BY matnr .
          DELETE ADJACENT DUPLICATES FROM t_upc_matnr COMPARING matnr .
          IF NOT t_cdpos_upc[] IS INITIAL.
            t_cdpos_upc_val[] = t_cdpos_upc[].
            DESCRIBE TABLE t_cdpos_upc_val LINES l_lines.
            l_max = 50.
            l_mod = l_lines MOD l_max.
            IF l_mod > 0.
              l_loopcount = ( l_lines DIV l_max ) + 1.
            ELSE .
              l_loopcount = l_lines DIV l_max.
            ENDIF.
            DO l_loopcount TIMES.
              CLEAR t_cdpos_upc_emt.
              REFRESH t_cdpos_upc_emt.
              IF sy-index = l_loopcount.
                t_cdpos_upc_emt[] = t_cdpos_upc_val[].
              ELSE.
                APPEND LINES OF t_cdpos_upc_val FROM 1 TO l_max TO
                                                    t_cdpos_upc_emt.
                DELETE t_cdpos_upc_val FROM 1 TO l_max.
              ENDIF.
              SELECT * FROM cdhdr APPENDING TABLE it_cdhdr_upc
                               FOR ALL ENTRIES IN t_cdpos_upc_emt
                                WHERE objectclas EQ 'MATERIAL'
                               AND   objectid  = t_cdpos_upc_emt-objectid
                               AND   changenr  = t_cdpos_upc_emt-changenr.
            ENDDO.
          ENDIF.
    Prabhu

    Use the PACKAGE SIZE oprion of the SELECT statement:
    LOOP AT t_cdobjid.
      objectid-low = t_cdobjid-cdobjid.
      objectid-sign = 'I'.
      objectid-option = 'EQ' .
      APPEND objectid.
      CLEAR objectid.
    ENDLOOP.
    SELECT * FROM bdcp APPENDING TABLE t_bdcp
      PACKAGE SIZE 5000
      WHERE cretime IN r_cretim AND
            tabname = 'DMEAN'   AND
            fldname = 'KEY'     AND
            cdobjid IN objectid.
    ENDSELECT.
    IF NOT objectid[] IS INITIAL.

  • Program for deletion of table content.

    Hi,
    I have a requirement to delete the contents of table RSBERRORLOG , i cannot do it directly from table content delete option due to lack of authorisation. Is there any program that can be used for deletion of tabel contents ?
    Thanks .

    Hi,
    you can delete the RSBERRORLOG table by using the RSBM_ERRORLOG_DELETE report.
    Additional info:
    You can use the report RSB_ANALYZE_ERRORLOG to analyze which DTPs have created how many single record error messages, and to how many requests these messages are distributed. You can use the report RSBM_ERRORLOG_DELETE for single DTPs to delete the messages for requests up to a specified date.
    If numerous single record errors are frequently created for specific DTPs, you should analyze the relevant requests in more detail and, if required, eliminate the error cause (for example, adjusting the transformation routines).
    Regards
    Andreas

  • Writing a java program to access SAP tables using SAP JCO

    Hi all,
           I have a requirement where I need to access the VBAK table and get some values out of it based on a query on some of it fields. I would like to know how this can be done via a Java program by utilising the SAP JCo library. Has anyone done this before? A sample program would be very helpful.
    Thanks in advance!

    Hi SAM,
    Welcome to SDN!!!!!!
    Chk this help doc.
    http://help.sap.com/saphelp_nw04/helpdata/en/35/42e13d82fcfb34e10000000a114084/frameset.htm
    Also chk these thread.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8798be90-0201-0010-d093-85f728778d37
    Re: How to access SAP database tables with Java (Jco)
    Regards.
    Maha

  • Table control program for updating database table

    Does anybody have a sample code for a table control program which can insert/delete/update a database table?
    I mean like on the output on table control, if the user insert/delete/update the records, the corresponding records will be updated in database table also.
    Appreciate your input.
    Thanks.

    hi nuren,
    TABLES: kna1,knbk.
    DATA: v_kunnr LIKE kna1-kunnr.
    DATA: v_check TYPE c.
    DATA: BEGIN OF it_knbk OCCURS 0,
          banks LIKE knbk-banks,
          bankl LIKE knbk-bankl,
          bankn LIKE knbk-bankn,
          bkont LIKE knbk-bkont,
          koinh LIKE knbk-koinh,
          chk TYPE c,
          END OF it_knbk.
    DATA: v_ucomm TYPE sy-ucomm,
          v_dynnr TYPE sy-dynnr.
    DATA: l_index TYPE sy-index.
    data: count type i.
    CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 0200.
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'ABC'.
    SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE user_command_0100 INPUT.
      v_ucomm = sy-ucomm.
      CASE v_ucomm.
        WHEN 'DISP' OR 'CHNG'.
          IF v_kunnr <> space.
            SELECT banks
                   bankl
                   bankn
                   bkont
                   koinh
                   FROM knbk
                   INTO TABLE it_knbk
                   WHERE kunnr = v_kunnr.
            LEAVE TO SCREEN '0200'.
          ENDIF.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  MOD_KUNNR  INPUT
          text
    MODULE mod_kunnr INPUT.
      IF NOT v_kunnr IS INITIAL.
        SELECT SINGLE
               kunnr
               FROM kna1
               INTO v_kunnr
               WHERE kunnr = v_kunnr.
        IF sy-subrc <> 0.
          MESSAGE e000(zz) WITH 'INCORRECT CUSTOMER NUMBER'.
        ENDIF.
      ENDIF.
      IF v_kunnr IS INITIAL.
        MESSAGE e000(zz) WITH 'PLEASE ENTER A VALUE'.
      ENDIF.
    ENDMODULE.                 " MOD_KUNNR  INPUT
    *&      Module  STATUS_0200  OUTPUT
          text
    MODULE status_0200 OUTPUT.
      SET PF-STATUS 'ABC1'.
    SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0200  OUTPUT
    *&      Module  SCREENMOD  OUTPUT
          text
    MODULE screenmod OUTPUT.
      IF v_ucomm = 'DISP'.
        LOOP AT SCREEN.
          screen-input = 0.
          MODIFY SCREEN.
        ENDLOOP.
      ELSE."if v_UCOMM = 'CHNG'.
        LOOP AT SCREEN.
            IF screen-group1 = 'G1'.
              screen-input = 0.
            ELSE.
              screen-input = 1.
            ENDIF.
         MODIFY SCREEN.
        ENDLOOP.
    endif.
    if sy-ucomm = 'INSE'.
    loop at screen.
    IF ( tc1-current_line <> tc1-lines ).
      screen-input = 0.
    else.
    screen-input = 1.
    modify screen.
    endif.
    endloop.
    endif.
    ENDMODULE.                 " SCREENMOD  OUTPUT
    *&      Module  EXIT2  INPUT
          text
    MODULE exit2 INPUT.
      LEAVE TO SCREEN 0.
    ENDMODULE.                 " EXIT2  INPUT
    *&      Module  modify  INPUT
          text
    MODULE modify INPUT.
          IF v_check =  'X'.
            it_knbk-chk =  'X'.
            MODIFY it_knbk index tc1-current_line.
          ELSE.
            CLEAR it_knbk-chk .
         ENDIF.
    ENDMODULE.                 " modify  INPUT
    *&      Module  USER_COMMAND_0200  INPUT
          text
    MODULE user_command_0200 INPUT.
    v_ucomm = sy-ucomm.
      CASE v_ucomm.
        WHEN 'DELE'.
            DELETE it_knbk where chk eq 'X'.
            DESCRIBE TABLE it_knbk LINES tc1-lines.
        WHEN 'INSE'.
          CLEAR it_knbk.
          APPEND it_knbk.
          DESCRIBE TABLE it_knbk LINES tc1-lines.
        WHEN 'LIST'.
          LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN '0200'.
          WRITE 'Report'.
        WHEN 'BACK'.
          LEAVE TO SCREEN '0100'.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0200  INPUT
    *&      Module  validate  INPUT
          text
    module validate input.
    IF IT_KNBK IS INITIAL.
    MESSAGE E000(ZZ) WITH 'A BLANK LINE CANNOT BE SAVED'.
    ENDIF.
    endmodule.                 " validate  INPUT

  • Interface Program for maintaining a table

    Hi Experts,
    I am having a requirement,.,cud u please tell me how to proceed.
    1. We have a table and maintaining manually.
    2. we need a Interface to do it.
    3. If i create a record with " Create with a template ..user id and a date field in the table should be disabled to change and others can be changed.
    in betwen i need to check some conditions in methods .
    after checking this ..the method gives the number of records that are getting affected in the final table.
    Please let me know if some one has faced this kind of issue.
    Thanks,
    Varun

    Hi,
    generate table view. Own form routines to disable rows or setting defaults values can be added. Pelase refer to SAPDOCU:
    ABAP Workbench (BC-DWB)/ BC Extended Applications Function Library / BC Extended Applications Function Library
    for details.
    Kind regards,
    HP

  • Techniques for accessing CLUSTER tables

    Can some 1 plz tell me , How many standard methods are there to access a cluster table. I want to know each and every method with example.1 method is Logical databases , 2nd is thrugh se16. But I want to know each and every.
    My cluster tables are
    1) ZNO_CT1 having fields (mandt , roll_no , Name)
    2) ZNO_CT2 having fields (mandt , roll_no , Age)
    AND these are  assigned to the table cluster  'ZNO_CLUST'.
    ZNO_CLUST has (mandt , roll_no , pageno , timestamp , VARDATA)

    Hi,
    You can find the methods below.
    Just go thru this link-
    http://dev.mysql.com/doc/ndbapi/en/class-table.html
    Thanks
    Do reward points if useful

  • ....how to create table maintanence generator for a z table and how to use

    Hi...
    3....how to create table maintanence generator for a z table and how to use that for transfering a selected records to one server to another server.
    thanks and regards,
    k.swaminath reddy

    Hi,
    Table maintanance Generator is used to manually
    input values using transaction sm30.The Table Maintenance Generator is used to create table maintenance program to add, modify or delete records in the database table. This can be accessed using transaction SE54 or in SE11 using the menu Utilities->Table Maintenance Generator
    <b>
    Follow below steps</b>
    go to se11 check table maintanance check box under
    attributes tab
    utilities-table maintanance Generator->
    create function group and assign it under
    function group input box.
    also assign authorization group default &NC& .
    select standard recording routine radio in table
    table mainitainence generator to move table
    contents to quality and production by assigning
    it to request.
    select maintaience type as single step.
    maintainence screen as system generated numbers
    this dialog box appears when you click on create
    button
    save and activate table
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
    One step, two step in Table Maintenance Generator
    Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
    Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
    please check the link for getting information about table maintenance generator !
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=use%20of%20table%20maintenance%20generator&cat=sdn_all
    http://www.sapdevelopment.co.uk/tips/tips_tabmaint_tcode.htm
    http://www.sap-img.com/abap/create-a-table-maintance-program-for-a-z-table.htm
    Regards,
    Priyanka.

  • Is it possible to create java standalone programs with java ME 8

    Hi,
    Comparing java ME to java SE, I have the impression that midlets are similar to applets.
    When working with java SE, I usually make standalone programs.
    Now, I wonder if it is also possible to create also standalone programs for java ME, if the classes are only  using java ME API's.
    I already noticed that netbeans does not allow to build a project that does not contain a midlet, but maybe, it is possible to create a jar file
    using the javac and jar commands. Or is there a specific reason why netbeans does not allow to build a project without midlets?
    The reason for asking is, that I often make small tools in java that ae then called from a linux script. I imagine that this might be useful on the raspberry pi as well.
    Thanks in advance
    Jef

    Hi Jef -
    Comparing java ME to java SE, I have the impression that midlets are similar to applets.
    Sort of - similar life cycle methods - so conceptually, yes.
    Now, I wonder if it is also possible to create also standalone programs for java ME, if the classes are only  using java ME API's.
    In a way, yes. If you build an project, you will notice a JAD file and JAR file in the dist directory of the project.  JAD is the descriptor for a MIDlet - in mobile devices, the JAD
    file is loaded first to determine if the MIDlet has enough privileges to load and run, before the corresponding JAR file is downloaded.
    However, the JAD file can also be included in the Manifest of the JAR and the JAR copied to the embedded device manually and run there.
    I already noticed that netbeans does not allow to build a project that does not contain a midlet, but maybe, it is possible to create a jar file
    using the javac and jar commands. Or is there a specific reason why netbeans does not allow to build a project without midlets?
    You can build JAR files and include them into Java ME Embedded projects, but just like Applets, to use the Application Management System (AMS) on the Raspberry Pi, you must have a MIDlet to run.
    Perhaps you mean that you would like to launch the AMS and load a MIDlet from the command line on the Pi?
    If so, take a look at this section of the Getting Started Guide for the Raspberry Pi.
    Tom

  • Adding maintenance transaction for a Z table

    Hello All,
    Can anyone tell how to add a maintenance transaction for a Z table.
    Thanks in advance.
    Best Regards,
    Sasidhar Reddy Matli.

    Hi
    Check this:
    able maintennace generator is used to create screen to maintain values in a table. Once you create maint generator you can goto transaction SM30 and add data to table . In SAP it is more relevant to customizing data.
    Create a table maintance program for a z table :
    In transaction SE11, in the attribute tab of your z table check table maintenance check box. Go to SM30 transaction, enter the ztable name and click on maintain button. Here you can enter new entries into the ztable .
    Or
    You can create a PARAMETER TRANSACTION for the transaction for SM30 .
    Follow these steps :
    1. go to transaction SE93 , give your own transaction code say ztran_tab, for maintaining your ztable.
    2. Click on create button and check the radio button Transaction with parameters (PARAMETER TRANSACTION) and click on the tick button.
    3. In the next screen enter default values:
    transaction : SM30
    check the check box skip initial screen
    4. Scroll down you will find a table control for default values
    Name of the screen field | value
    VIEWNAME | your ztable name
    SHOW | X
    Save your work.
    Now as you have created a custom transaction for maintaining your ztable this transaction can be called from any program with CALL transaction 'XXX'.
    Regards,
    Vishwa.

  • How to access a table of SAP standard SAP method from external program

    Hi Friends,
    I have to access a table and modified it defined in a standard SAP method (PROCESS_INPUT_FILTER) of class (CL_HANDLE_MM).
    As we normaly do it in case of Standard program
    for example: ('(SAPLMEPO)ett[]') here we are accessing internal table ett defined in SAPLMEPO.
    so how we can do the same thing if some thing defined in standard SAP method.
    Pl. help.

    Thanks for the info guys, it will come in handy.
    I need to validate that a number is entered with zero or one decimal place, then make sure it is evenly
    divisible by .5 in order to test for whole or half numbers only. If not, I use an alert to
    display a message when the user leaves the field.
    If there is a better way to achieve this, I am all ears!
    Thank you for your time,
    Gary

  • What is access sequence tables and how to use them in program?

    hi all, I know a little about SD and access sequence tables, but I get a requriment like this:
    condition type is a paramater
    The condition types allowed in this report are: Note: A list of pre-defined condition types with their corresponding access sequence tables will be defined.
    How can I make it? How can I use it in program to get the price?

    Hi,
    An access sequence is a search strategy with the aid of which the SAP
    System searches for valid condition records of a certain condition type.
    For example, you can stipulate for a price that the SAP System first
    searches for a price for a specific plant, and then for a generally
    applicable price.
    For condition types for which you wish to maintain conditions with their
    own validity period, you must assign an access sequence. With this, you
    define which fields the SAP System checks in searching for a valid
    condition record.
    e.g. When you create condition record (e.g. Purchasing condition record) you enter condition type, system asks you the key combination to enter the entries. These key combinations are nothing but the access sequence. On the basis of combination of condition table it will search record. e.g. when u maintain condition record with acc seq Material/plant combination, it will transfer the same record in PO when u enter same material and plant in the PO.
    Example:
    An access sequence has been assigned to condition type PB00 so that
    prices can be maintained in purchasing info records and contracts.
    No access sequence has been assigned to condition type RC00 because it
    does not have a validity period of its own. In the standard system, it is
    always maintained simultaneously with the price and is valid for the
    period of the price.
    For more help
    http://www.sap-img.com/materials/steps-for-mm-pricing-procedures.htm
    Regards,
    Raj.

  • Maintenance view program for a table

    Hi All,
    How can i create a maintenance view program for a table. i did maintenance view in sm30 for that table. now it needs a transaction code for maintenance. can somebody help me with this.
    Thanks,
    Kiran

    Hi
    Create a new transaction Z**** linked to SM30 for that table:
    - trx SE93: while creating trx choose transaction with parameter and insert these data:
    - TRANSACTION = SM30
    - set the flag SKIP INITIAL SCREEN
    At the end of screen, section Default Value, if you want to open dialog for updating:
    NAME OF SCREEN FIELD     VALUE
    VIEWNAME                 <here insert the table name>
    UPDATE                    X
    ...for displaying:
    NAME OF SCREEN FIELD     VALUE
    VIEWNAME                 <here insert the table name>
    SHOW                      X
    Max

Maybe you are looking for

  • Client and Server in one process

    Hi all, I am trying to create a process which can act as both Client and Server. How can I do this? Thanks!

  • Using Macbook Pro - Iphone 5s is not being recognized by iTunes! Help!!

    I have a Macbook Pro and a Iphone 5s. iTunes is not recognizing my phone. How do i solve this problem? Help!

  • GROUP BY clause diff in Sybase and Oracle

    Hi, I am migrating code from Sybase to Oracle and came across a strange issue which is widely known to others :) In Sybase , one can use columns or calculations in the SELECT expressions that don't appear in the GROUP BY clause of the query. Like SEL

  • Need Description of OOPS Concept in LABVIEW

    Hi Every one. Good Morning to all. I want to learn the OOPS concepts in LabVIEW. Please can any one suggest me the links or provide me the necessary documents (like PDFs). Thanks in advance.. Regards Naresh G

  • Movies, Walkman & Album app bugs

    Android 4.3 update is really amazing but it comes with flaws that needs to be perfected. Movies app: -Sometimes sound and video is not in sync. Have to close app and start again for it to be okay. Walkman app: -Volume is really soft when compared to