ABAP LOCK TABLE

hi
     i have a problem about lock table now .
     i have a program(A)  to  LOCK TABLE ZSTUDENT.
     NOW  program(A)  have  locked TABLE ZSTUDENT ,before TABLE ZSTUDENT  was unlocked, i open anther program(B) to lock TABLE ZSTUDENT,now sy-subrc mustn't be 0, now i hope the program(B) could wait until program(A)  unlock TABLE ZSTUDENT ,how should i do?
if  program(A)  lock the TABLE ZSTUDENT for 20mins,i hope program(B) could wait for 20mins.
thanks.

Hello,
Use the below function module. Then sy-subrc will not be 0 when called from program B.   
CALL FUNCTION 'ENQUEUE_E_TABLES'
      EXPORTING
        mode_rstable   = 'E'
        tabname        = <table name>
      EXCEPTIONS
        foreign_lock   = 1
        system_failure = 2
        OTHERS         = 3.
In program B, you can call this in Do - EndDo and exit when sy-subrc is 0
Regards,
Janani
Edited by: janani chakrapani on Jan 8, 2010 1:42 PM

Similar Messages

  • Abap wp table stop reason rpc when  u0131 want login as turkish

    hi gurus anyone help me ;
    abap wp table is stopped reason rpc when ı want login turkish language
    please help me ı cant solve this problem..
    trc file: "dev_w4", trc level: 1, release: "700"
    ACTIVE TRACE LEVEL           1
    ACTIVE TRACE COMPONENTS      all, MJ

    B Tue Aug 26 05:24:30 2008
    B  create_con (con_name=R/3)
    B  Loading DB library 'G:\usr\sap\SPT\DVEBMGS00\exe\dbmssslib.dll' ...
    B  Library 'G:\usr\sap\SPT\DVEBMGS00\exe\dbmssslib.dll' loaded
    B  Version of 'G:\usr\sap\SPT\DVEBMGS00\exe\dbmssslib.dll' is "700.08", patchlevel (0.109)
    B  New connection 0 created
    M sysno      00
    M sid        SPT
    M systemid   560 (PC with Windows NT)
    M relno      7000
    M patchlevel 0
    M patchno    111
    M intno      20050900
    M make:      multithreaded, ASCII, optimized
    M pid        3468
    M
    M  kernel runs with dp version 229(ext=109) (@(#) DPLIB-INT-VERSION-229)
    M  length of sys_adm_ext is 364 bytes
    M  ***LOG Q0Q=> tskh_init, WPStart (Workproc 4 3468) [dpxxdisp.c   1301]
    I  MtxInit: 30000 0 0
    M  DpSysAdmExtCreate: ABAP is active
    M  DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
    M  DpShMCreate: sizeof(wp_adm)          15440     (908)
    M  DpShMCreate: sizeof(tm_adm)          3605136     (17936)
    M  DpShMCreate: sizeof(wp_ca_adm)          18000     (60)
    M  DpShMCreate: sizeof(appc_ca_adm)     6000     (60)
    M  DpCommTableSize: max/headSize/ftSize/tableSize=500/8/528040/528048
    M  DpShMCreate: sizeof(comm_adm)          528048     (1048)
    M  DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
    M  DpShMCreate: sizeof(slock_adm)          0     (96)
    M  DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
    M  DpShMCreate: sizeof(file_adm)          0     (72)
    M  DpShMCreate: sizeof(vmc_adm)          0     (1296)
    M  DpShMCreate: sizeof(wall_adm)          (22440/34344/56/100)
    M  DpShMCreate: sizeof(gw_adm)     48
    M  DpShMCreate: SHM_DP_ADM_KEY          (addr: 064B0040, size: 4236528)
    M  DpShMCreate: allocated sys_adm at 064B0040
    M  DpShMCreate: allocated wp_adm at 064B1B30
    M  DpShMCreate: allocated tm_adm_list at 064B5780
    M  DpShMCreate: allocated tm_adm at 064B57B0
    M  DpShMCreate: allocated wp_ca_adm at 06825A40
    M  DpShMCreate: allocated appc_ca_adm at 0682A090
    M  DpShMCreate: allocated comm_adm at 0682B800
    M  DpShMCreate: system runs without slock table
    M  DpShMCreate: system runs without file table
    M  DpShMCreate: allocated vmc_adm_list at 068AC6B0
    M  DpShMCreate: allocated gw_adm at 068AC6F0
    M  DpShMCreate: system runs without vmc_adm
    M  DpShMCreate: allocated ca_info at 068AC720
    M  DpShMCreate: allocated wall_adm at 068AC728
    X  EmInit: MmSetImplementation( 2 ).
    X  MM global diagnostic options set: 0
    X  <ES> client 4 initializing ....
    X  Using implementation view
    X  <EsNT> Using memory model view.
    M  <EsNT> Memory Reset disabled as NT default
    X  ES initialized.

    M Tue Aug 26 05:24:31 2008
    M  ThInit: running on host prodeaserver

    M Tue Aug 26 05:24:32 2008
    M  calling db_connect ...
    C  Thread ID:3480
    C  Thank You for using the SLOLEDB-interface
    C  Using dynamic link library 'G:\usr\sap\SPT\DVEBMGS00\exe\dbmssslib.dll'
    C  dbmssslib.dll patch info
    C    patchlevel   0
    C    patchno      110
    C    patchcomment MSSQL: Connect error handling (1053754)
    C  np:(local) connection used on PRODEASERVER
    C  CopyLocalParameters: dbuser is 'spt'
    C  Using Provider SQLNCLI
    C  OpenOledbConnection: MARS property was set successfully.
    C  Provider Release:9.00.1399.06
    C  Using Provider SQLNCLI
    C  OpenOledbConnection: MARS property was set successfully.
    C  Cache sizes: header 52 bytes, 20000 names (26880000 bytes), 500 dynamic statements (2728000 bytes), total 29608052 bytes
    C  Using shared procedure name cache PRODEASERVER_SPTSPT_SPT_MEM initialized by another process.
    C  Connected to db server : [PRODEASERVER] server_used : [np:(local)], dbname: SPT, dbuser: spt
    C  pn_id:PRODEASERVER_SPTSPT_SPT
    C  Using MARS (on sql 9.0)
    B  Connection 0 opened (DBSL handle 0)
    B  Wp  Hdl ConName          ConId     ConState     TX  PRM RCT TIM MAX OPT Date     Time   DBHost         
    B  000 000 R/3              000000000 ACTIVE       NO  YES NO  000 255 255 20080826 052432 PRODEASERVER   

    C Tue Aug 26 05:24:33 2008
    C  The IRow interface is supported by this OLEDB provider
    M  db_connect o.k.
    M  ICT: exclude compression: .zip,.cs,.rar,.arj,.z,.gz,.tar,.lzh,.cab,.hqx,.ace,.jar,.ear,.war,.css,.pdf,.js,.gzip,.uue,.bz2,.iso,.sda,.sar,.gif

    I Tue Aug 26 05:24:43 2008
    I  MtxInit: 4 0 0
    M  SHM_PRES_BUF               (addr: 0B740040, size: 24880128)
    M  SHM_ROLL_AREA          (addr: 788A0040, size: 61440000)
    M  SHM_PAGING_AREA          (addr: 0CF00040, size: 32768000)
    M  SHM_ROLL_ADM               (addr: 08900040, size: 615040)
    M  SHM_PAGING_ADM          (addr: 089A0040, size: 525344)
    M  ThCreateNoBuffer          allocated 324144 bytes for 1000 entries at 08A30040
    M  ThCreateNoBuffer          index size: 3000 elems
    M  ThCreateVBAdm          allocated 7424 bytes (50 server) at 08A80040
    X  EmInit: MmSetImplementation( 2 ).
    X  MM global diagnostic options set: 0
    X  <ES> client 4 initializing ....
    X  Using implementation view
    X  ES initialized.
    B  db_con_shm_ini:  WP_ID = 4, WP_CNT = 17, CON_ID = -1
    B  dbtbxbuf: Buffer TABL  (addr: 613300C8, size: 101680128, end: 674284C8)
    B  dbtbxbuf: Buffer TABLP (addr: 681300C8, size: 51200000, end: 6B2040C8)
    B  dbexpbuf: Buffer EIBUF (addr: 0F9600D0, size: 4194304, end: 0FD600D0)
    B  dbexpbuf: Buffer ESM   (addr: 178200D0, size: 4194304, end: 17C200D0)
    B  dbexpbuf: Buffer CUA   (addr: 5DA800D0, size: 13312000, end: 5E7320D0)
    B  dbexpbuf: Buffer OTR   (addr: 17C300D0, size: 4194304, end: 180300D0)

    M Tue Aug 26 05:24:44 2008
    M  CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.

    S Tue Aug 26 05:24:45 2008
    S  *** init spool environment
    S  initialize debug system
    T  Stack direction is downwards.
    T  debug control: prepare exclude for printer trace
    T  new memory block 0880A8A0
    S  spool kernel/ddic check: Ok
    S  using table TSP02FX for frontend printing
    S  1 spool work process(es) found
    S  frontend print via spool service enabled
    S  printer list size is 150
    S  printer type list size is 50
    S  queue size (profile)   = 300
    S  hostspool list size = 3000
    S  option list size is 30
    S      found processing queue enabled
    S  creating spool memory service RSPO-RCLOCKS at 18040098
    S  doing lock recovery
    S  setting server cache root
    S  using server cache size 100 (prof=100)
    S  creating spool memory service RSPO-SERVERCACHE at 18040488
    S    using messages for server info
    S  size of spec char cache entry: 165020 bytes (timeout 100 sec)
    S  size of open spool request entry: 1216 bytes
    S  immediate print option for implicitely closed spool requests is disabled

    A  -PXA--
    A  PXA INITIALIZATION
    A  System page size: 4kb, total admin_size: 20176kb, dir_size: 10028kb.
    A  PXA allocated (address 182F0040, size 600000K)
    A  System name
    A  MSSQL............................SPT........PRODEASERVER.......................................
    A  is used for RFC security.
    A  Sharedbuffer token: 5341...33 (len: 111)====== 4b9d4865cf825700d91be730...
    A  abap/pxa = shared protect gen_remote
    A  PXA INITIALIZATION FINISHED
    A  -PXA--


    A Tue Aug 26 05:24:46 2008
    A  ABAP ShmAdm initialized (addr=57A1A000 leng=20955136 end=58E16000)
    A  >> Shm MMADM area (addr=57D821E0 leng=134720 end=57DA3020)
    A  >> Shm MMDAT area (addr=57DA4000 leng=17244160 end=58E16000)
    A  RFC rfc/signon_error_log = -1
    A  RFC rfc/dump_connection_info = 0
    A  RFC rfc/dump_client_info = 0
    A  RFC rfc/cp_convert/ignore_error = 1
    A  RFC rfc/cp_convert/conversion_char = 23
    A  RFC rfc/wan_compress/threshold = 251
    A  RFC rfc/recorder_pcs not set, use defaule value: 1
    A  RFC rfc/delta_trc_level not set, use default value: 0
    A  RFC rfc/no_uuid_check not set, use default value: 0
    A  RFC rfc/bc_ignore_thcmaccp_retcode not set, use default value: 0
    A  RFC Method> initialize RemObjDriver for ABAP Objects
    M  ThrCreateShObjects          allocated 17730 bytes at 08AE0040
    N  SsfSapSecin: putenv(SECUDIR=G:\usr\sap\SPT\DVEBMGS00\sec): ok

    N  =================================================
    N  === SSF INITIALIZATION:
    N  ===...SSF Security Toolkit name SAPSECULIB .
    N  ===...SSF trace level is 0 .
    N  ===...SSF library is G:\usr\sap\SPT\DVEBMGS00\exe\sapsecu.dll .
    N  ===...SSF hash algorithm is SHA1 .
    N  ===...SSF symmetric encryption algorithm is DES-CBC .

    N Tue Aug 26 05:24:47 2008
    N  ===...sucessfully completed.
    N  =================================================

    N Tue Aug 26 05:24:50 2008
    N  MskiInitLogonTicketCacheHandle: Logon Ticket cache pointer retrieved from shared memory.
    N  MskiInitLogonTicketCacheHandle: Workprocess runs with Logon Ticket cache.
    M  JrfcVmcRegisterNativesDriver o.k.
    W  =================================================
    W  === ipl_Init() called
    B    dbtran INFO (init_connection '<DEFAULT>' [MSSQL:700.08]):
    B     max_blocking_factor =  50,  max_in_blocking_factor      = 255,
    B     min_blocking_factor =   5,  min_in_blocking_factor      =  10,
    B     prefer_union_all    =   1,  prefer_join                 =   1,
    B     prefer_fix_blocking =   0,  prefer_in_itab_opt          =   0,
    B     convert AVG         =   1,  alias table FUPD            =   0,
    B     escape_as_literal   =   0,  opt GE LE to BETWEEN        =   0,
    B     select *            =0x00,  character encoding          =SBCS / []:X,
    B     use_hints           = abap->1, dbif->0x1, upto->0, rule_in->0,
    B                           rule_fae->0, concat_fae->0, concat_fae_or->0
    W    ITS Plugin: Path dw_gui
    W    ITS Plugin: Description ITS Plugin - ITS rendering DLL
    W    ITS Plugin: sizeof(SAP_UC) 1
    W    ITS Plugin: Release: 700, [7000.0.111.20050900]
    W    ITS Plugin: Int.version, [33]
    W    ITS Plugin: Feature set: [14]
    W    ===... Calling itsp_Init in external dll ===>
    W  === ipl_Init() returns 0, ITSPE_OK: OK
    W  =================================================
    E  Replication is disabled
    E  EnqCcInitialize: local lock table initialization o.k.
    E  EnqId_SuppressIpc: local EnqId initialization o.k.
    E  EnqCcInitialize: local enqueue client init o.k.

    C Tue Aug 26 05:25:58 2008
    C  The IRow interface is supported by this OLEDB provider
    M  SecAudit(RsauShmInit): WP attached to existing shared memory.
    M  SecAudit(RsauShmInit): addr of SCSA........... = 04C90040
    M  SecAudit(RsauShmInit): addr of RSAUSHM........ = 04C90490
    M  SecAudit(RsauShmInit): addr of RSAUSLOTINFO... = 04C904C8
    M  SecAudit(RsauShmInit): addr of RSAUSLOTS...... = 04C904D4

    B Tue Aug 26 05:25:59 2008
    B  dbmyclu : info : my major identification is 3232235830, minor one 400.
    B  dbmyclu : info : Time Reference is 1.12.2001 01:00:00h GMT.
    B  dbmyclu : info : my initial uuid is DD736A228835A6F18D0E0016E6DE8954.
    B  dbmyclu : info : current optimistic cluster level: 3
    B  dbmyclu : info : pessimistic reads set to 2.

    Hi apache1,
    I'm afraid that this is not enough information for people to assist in solving the problem.  When and where are you receiving this message?  If you provide more details then it will be easier for people to assist you.
    Best Regards,
    Matt

  • Enqueue Replication Server - Lock Table Size

    Note : I think I had posted it wrongly under ABAP Development, hence request moderator to kindly delete this post. Thanks
    Dear Experts,
    If Enqueue Replication server is configured, can you tell me how to check the Lock Table size value, which we set using profile parameter enque/table_size.
    If enque server is configured in the same host as CI, it can be checked using
    ST02 --> Detail Analysis Menu --> Storage --> Shared Memory Detail --> Enque Table
    As it is a Standalone Enqueue Server, I don't know where to check this value.
    Thanking you in anticipation.
    Best Regards
    L Raghunahth

    Hi
    Raghunath
    Check the following links
    http://help.sap.com/saphelp_nw2004s/helpdata/en/37/a2e3ab344411d3acb00000e83539c3/content.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/44/5efc11f3893672e10000000a114a6b/content.htm
    Regards
    Bhaskar

  • "Lock table overflow" error msg when trying to change a repot program

    hi ABAP experts,
    We are getting the following error msg
    "Lock table overflow
    Choose 'Display object' or 'Cancel'.".
    Click the question mark on the same error msg window, then the detailed error msg would like this:
    Message no. MC603
    Diagnosis
    This table overflowed when trying to enter SAP locks in the lock table.
    System Response
    The locks could not be set.
    Procedure
    Contact your system administrator. If this error occurs frequently, change the size of the profile parameter 'enque/table_size'. This parameter defines the size of the lock table in KByte.
    What would be the reason and how to resolve this problem?
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Apr 2, 2008 1:03 PM

    Hi,
    This could be bcos the lock table is getting overflowed beyond the allotted space. Check if any other program/BAPI is causing continuous creation of locks.
    To analyze choose (SM12) Extras Statistics to display the statistics. These are the statistics that have been compiled since the last time the lock server was restarted.
    Check the below link for more information on SAP Lock Concept.
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/f9813712f7434be10000009b38f8cf/content.htm
    For details on Subsequent Analysis of Lock Table Overflows, check the below links.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d3/43d2416d9c1c7be10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/f0/b57338788f4d72e10000009b38f8cf/content.htm
    Hope this helps. <REMOVED BY MODERATOR>
    Thanks,
    Balaji
    Edited by: Alvaro Tejada Galindo on Apr 2, 2008 1:03 PM

  • Lock tables when load data

    Are there any way to lock tables when i insert data with SQL*Loader? or oracle do it for me automatically??
    how can i do this?
    Thanks a lot for your help

    Are there any problem if in the middle of my load (and commits) an user update o query data ?The only problem that I see is that you may run short of undo space (rollback segment space) if your undo space is limited and the user is running a long SELECT query for example: but this problem would only trigger ORA-1555 for the SELECT query or (less likely since you have several COMMIT) ORA-16XX because load transaction would not find enough undo space.
    Data is not visible to other sessions, unless, the session which is loading data, commits it. That's the way Oracle handle the read committed isolation level for transaction.
    See http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2689
    Or what happens if when i want to insert data someone has busy the table?You will get blocked if you try to insert data that has the same primary key as a row being inserted by a concurrent transaction.

  • Xml to abap internal table by using a dynamic internal table at runtime

    Hi ,
          I have a requirement to convert xml to abap internal table . But the requirement is that i need to create internal table according to the XML .
    Ex : If my XML is :
    <?xml version="1.0" ?>
    - <flights>
    - <airline code="AA" name="American Airlines">
    - <flight number="0017">
      <from airport="JFK">NEW YORK,US</from>
      <to airport="SFO">SAN FRANCISCO,US</to>
      <departure>110000</departure>
      <arrival>140100</arrival>
      <type>Scheduled</type>
      </flight>
    - <flight number="0064">
      <from airport="SFO">SAN FRANCISCO,US</from>
      <to airport="JFK">NEW YORK,US</to>
      <departure>090000</departure>
      <arrival>172100</arrival>
      <type>Scheduled</type>
      </flight>
      </airline>
    So after conversion my abap internal table shoul have fields as :
    airline_code     Name      flight_number   from_airport    to_airport      departure         arrival      type
    and the field values should be corresponding field values .
    Thanks in advance .
    Regards .

    Hi Ujjwal,
    use
    CALL TRANSFORMATION
    Study the online documentation and if required do some search for CALL TRANSFORMATION and/or XML PARSER
    And, when coming back here with next question, tell us what searches you did with what results - please always follow the 'search before post' rule, thank you.
    Regards,
    Clemens

  • Abap wp table - there are no items to show in this view

    My apologies if I posted this in the wrong section.
    I started the system in SAPMMC Console and The ABAP WP Table don´t show any work process list and in Process List section the disp+work.EXE (Dispatcher) IS stopped.
    basically the abap WP table says there are no items to show in this view.
    as a result, i'm not able to start SAP or log in.

    I got the same problem, dispatcher status showing as stopper and remaining two are running in the process list
    here is the dev_w0 file. I got dev_w0.old also if you want i will also send. It has been more than a year i started the server. before it used to work.
    Thanks in advance
    trc file: "dev_w0", trc level: 1, release: "700"
    *  ACTIVE TRACE LEVEL           1
    *  ACTIVE TRACE COMPONENTS      all, MJ

    B Fri Jun 15 19:31:21 2012
    B  create_con (con_name=R/3)
    B  Loading DB library 'D:\usr\sap\EC6\DVEBMGS06\exe\dboraslib.dll' ...
    B  Library 'D:\usr\sap\EC6\DVEBMGS06\exe\dboraslib.dll' loaded
    B  Version of 'D:\usr\sap\EC6\DVEBMGS06\exe\dboraslib.dll' is "700.08", patchlevel (0.73)
    B  New connection 0 created
    M sysno      06
    M sid        EC6
    M systemid   560 (PC with Windows NT)
    M relno      7000
    M patchlevel 0
    M patchno    75
    M intno      20050900
    M make:      multithreaded, Unicode, optimized
    M pid        2468
    M
    M  kernel runs with dp version 217000(ext=109000) (@(#) DPLIB-INT-VERSION-217000-UC)
    M  length of sys_adm_ext is 572 bytes
    M  ***LOG Q0Q=> tskh_init, WPStart (Workproc 0 2468) [dpxxdisp.c   1299]
    I  MtxInit: 30000 0 0
    M  DpSysAdmExtCreate: ABAP is active
    M  DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
    M  DpShMCreate: sizeof(wp_adm)            18304 (1408)
    M  DpShMCreate: sizeof(tm_adm)            3994272     (19872)
    M  DpShMCreate: sizeof(wp_ca_adm)         24000 (80)
    M  DpShMCreate: sizeof(appc_ca_adm) 8000  (80)
    M  DpCommTableSize: max/headSize/ftSize/tableSize=500/8/528056/528064
    M  DpShMCreate: sizeof(comm_adm)          528064      (1048)
    M  DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
    M  DpShMCreate: sizeof(file_adm)          0     (72)
    M  DpShMCreate: sizeof(vmc_adm)           0     (1440)
    M  DpShMCreate: sizeof(wall_adm)          (38456/34360/64/184)
    M  DpShMCreate: sizeof(gw_adm)      48
    M  DpShMCreate: SHM_DP_ADM_KEY            (addr: 06640040, size: 4653368)
    M  DpShMCreate: allocated sys_adm at 06640040
    M  DpShMCreate: allocated wp_adm at 06641E40
    M  DpShMCreate: allocated tm_adm_list at 066465C0
    M  DpShMCreate: allocated tm_adm at 066465F0
    M  DpShMCreate: allocated wp_ca_adm at 06A15890
    M  DpShMCreate: allocated appc_ca_adm at 06A1B650
    M  DpShMCreate: allocated comm_adm at 06A1D590
    M  DpShMCreate: system runs without file table
    M  DpShMCreate: allocated vmc_adm_list at 06A9E450
    M  DpShMCreate: allocated gw_adm at 06A9E490
    M  DpShMCreate: system runs without vmc_adm
    M  DpShMCreate: allocated ca_info at 06A9E4C0
    M  DpShMCreate: allocated wall_adm at 06A9E4C8

    X Fri Jun 15 19:31:22 2012
    X  EmInit: MmSetImplementation( 2 ).
    X  MM global diagnostic options set: 0
    X  <ES> client 0 initializing ....
    X  Using implementation flat
    M  <EsNT> Memory Reset disabled as NT default
    X  ES initialized.

    M Fri Jun 15 19:31:23 2012
    M  ThInit: running on host visuinfoec6

    M Fri Jun 15 19:31:24 2012
    M  calling db_connect ...
    C  Prepending D:\usr\sap\EC6\DVEBMGS06\exe to Path.
    C  Oracle Client Version: '10.2.0.1.0'
    C  Client NLS settings: AMERICAN_AMERICA.UTF8
    C  Logon as OPS$-user to get SAPSR3's password
    C  Connecting as /@EC6 on connection 0 (nls_hdl 0) ... (dbsl 700 110706)
    C  Nls CharacterSet                 NationalCharSet              C      EnvHp ErrHp ErrHpBatch
    C    0 UTF8 1   06C68BC8   06C6E164 06C6D9EC
    C  Attaching to DB Server EC6 (con_hdl=0,svchp=06C6D938,svrhp=06C7F204)

    C Fri Jun 15 19:31:25 2012
    C  *** ERROR => OCI-call 'OCIServerAttach' failed: rc = 12541
    [dboci.c 4172]
    C  *** ERROR => CONNECT failed with sql error '12541'
    [dbsloci.c 10933]
    C  Try to connect with default password
    C  Connecting as SAPSR3/<pwd>@EC6 on connection 0 (nls_hdl 0) ... (dbsl 700 110706)
    C  Nls CharacterSet                 NationalCharSet              C      EnvHp ErrHp ErrHpBatch
    C    0 UTF8 1   06C68BC8   06C6E164 06C6D9EC
    C  Detaching from DB Server (con_hdl=0,svchp=06C6D938,srvhp=06C7F204)
    C  Attaching to DB Server EC6 (con_hdl=0,svchp=06C6D938,svrhp=06C7F204)

    C Fri Jun 15 19:31:26 2012
    C  *** ERROR => OCI-call 'OCIServerAttach' failed: rc = 12541
    [dboci.c 4172]
    C  *** ERROR => CONNECT failed with sql error '12541'
    [dbsloci.c    10933]
    B  ***LOG BY2=> sql error 12541  performing CON [dbsh#2 @ 1204] [dbsh    1204 ]
    B  ***LOG BY0=> ORA-12541: TNS:no listener [dbsh#2 @ 1204] [dbsh    1204 ]
    B  ***LOG BY2=> sql error 12541  performing CON [dblink#3 @ 431] [dblink  0431 ]
    B  ***LOG BY0=> ORA-12541: TNS:no listener [dblink#3 @ 431] [dblink  0431 ]
    M  ***LOG R19=> ThInit, db_connect ( DB-Connect 000256) [thxxhead.c   1411]
    M  in_ThErrHandle: 1
    M  *** ERROR => ThInit: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c 10156]

    M  Info for wp 0

    M    stat = 4
    M    reqtype = 1
    M    act_reqtype = -1
    M    rq_info = 0
    M    tid = -1
    M    mode = 255
    M    len = -1
    M    rq_id = 65535
    M    rq_source = 255
    M    last_tid = 0
    M    last_mode = 0
    M    semaphore = 0
    M    act_cs_count = 0
    M    control_flag = 0
    M    int_checked_resource(RFC) = 0
    M    ext_checked_resource(RFC) = 0
    M    int_checked_resource(HTTP) = 0
    M    ext_checked_resource(HTTP) = 0
    M    report = >                                        <
    M    action = 0
    M    tab_name = >                              <
    M    vm = V-1

    M *****************************************************************************
    M  *
    M  * LOCATION    SAP-Server visuinfoec6_EC6_06 on host visuinfoec6 (wp 0)
    M  *  ERROR ThInit: db_connect
    M  *
    M  * TIME        Fri Jun 15 19:31:26 2012
    M  * RELEASE     700
    M  * COMPONENT   Taskhandler
    M  * VERSION     1
    M  * RC          13
    M  * MODULE      thxxhead.c
    M  * LINE        10354
    M  * COUNTER     1
    M  *
    M *****************************************************************************

    M  PfStatDisconnect: disconnect statistics
    M  Entering TH_CALLHOOKS
    M  ThCallHooks: call hook >ThrSaveSPAFields< for event BEFORE_DUMP
    M  *** ERROR => ThrSaveSPAFields: no valid thr_wpadm [thxxrun1.c   720]
    M  *** ERROR => ThCallHooks: event handler ThrSaveSPAFields for event BEFORE_DUMP failed [thxxtool3.c  260]
    M  Entering ThSetStatError
    M  ThIErrHandle: do not call ThrCoreInfo (no_core_info=0, in_dynp_env=0)
    M  Entering ThReadDetachMode
    M  call ThrShutDown (1)...
    M  ***LOG Q02=> wp_halt, WPStop (Workproc 0 2468) [dpnttool.c   327]
    Thanks
    Vijaya

  • Read dimension member(master data) to ABAP internal table  in BPC 10.0 NW

    Hi all,
    I manage to read transaction data using this example [replacement for IF_UJ_MODEL~GET_APPL_DATA;
    I am now trying to read members(master data) from a dimension to a ABAP internal table but I have no idea how to.
    Can anyone advise me on how to read members(master data) from a dimension to a ABAP internal table.
    Some sample code would be really appreciated.
    Regards
    Edited by: HK Kang on Jan 3, 2012 4:26 AM

    Hi Chanaveer,
    UJD_ADMIN_RUN_OPTIMIZE can be used only for executing the FULL & LITE OPTIMIZER packages.
    Looking at the code of UJD_RUN_OPTIMIZE_PACKAGE it seems this FM can be used to trigger process chain from BW.
    Please refer below link on SDN showing how to load Master Data on FLY in SAP BPC 10.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2020b522-cdb9-2e10-a1b1-873309454fce?QuickLink=index&overridelayout=true
    Thanks,
    Rohit

  • How to create a bapi to update and add record 2 abap r3 table created by me

    i have created a abap r3 table and i now want to insert records into it through SAP netweaver(Web-Dynpro). So i need a bapi to udate and insert records in the abap r3 table.if someone can please tell me how to create the bapi..coz i handel the EP part and dont know much about abap.

    BAPIs are defined as API methods of SAP business object types.
    A BAPI is implemented as a function module, that is stored and described in the Function Builder.
    To create BAPI you are supposed to do following steps :
    1) create package in SE80.
    2) create function group in SE80.
    3) create function module in SE37(REMOTE ENABLE) & relased it .
           write your logic in that FM.
    4) Go in SWO1 to create Object type /  object name (write the program name which is SE38 program generated in background )
    5) Then go to SWO1
          Utilities -> Api methods -> ADD method
             write the name of FM which you have created & continue.
    6) select your method
      a) EDIT -> change release status -> object type -> implement
                                                                           -> released
      b) EDIT -> change release status -> object type  component-> implement
                                                                           -> released
    7) go in BAPI & you will get your BAPI.

  • Xml data to abap internal table

    I'm presently working on a interface where data in abap internal table is converted into xml format and placed in the frontend and vice versa.
    I'm through with the first part and in secodn part also I'm able to transfer the data from frontend to Document Object Model(DOM) by parsing but finally am not able to put it into an internal table.
    Please help (Urgent).
    Thanks and regards,
    S.K.Tripathy

    Hi sitakant,
    1. itab --- > xml
       xml ---> itab.
    2. This program will do both.
       (just copy paste in new program)
    3.
    REPORT abc.
    DATA
    DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
    DATA : BEGIN OF itab OCCURS 0,
    a(100) TYPE c,
    END OF itab.
    DATA: xml_out TYPE string .
    DATA : BEGIN OF upl OCCURS 0,
           f(255) TYPE c,
           END OF upl.
    DATA: xmlupl TYPE string .
    FIRST PHASE
    FIRST PHASE
    FIRST PHASE
    Fetch Data
    SELECT * FROM t001 INTO TABLE t001.
    XML
    CALL TRANSFORMATION ('ID')
    SOURCE tab = t001[]
    RESULT XML xml_out.
    Convert to TABLE
    CALL FUNCTION 'HR_EFI_CONVERT_STRING_TO_TABLE'
      EXPORTING
        i_string         = xml_out
        i_tabline_length = 100
      TABLES
        et_table         = itab.
    Download
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filetype = 'BIN'
        filename = 'd:\xx.xml'
      TABLES
        data_tab = itab.
    SECOND PHASE
    SECOND PHASE
    SECOND PHASE
    BREAK-POINT.
    REFRESH t001.
    CLEAR t001.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename = 'D:\XX.XML'
        filetype = 'BIN'
      TABLES
        data_tab = upl.
    LOOP AT upl.
      CONCATENATE xmlupl upl-f INTO xmlupl.
    ENDLOOP.
    XML
    CALL TRANSFORMATION ('ID')
    SOURCE  XML xmlupl
    RESULT tab = t001[]
    BREAK-POINT.
    regards,
    amit m.

  • XML Processing (XML file data to ABAP internal table).

    Hi,
    I have a an XML file and i need to send the data to internal table. I suppose i have written the program correctly.
    But the transformation program may not be correct.
    So can one please tell me the transformation program c o d e or guide me to write the transformation code. Below are details of XML file and my program.
    XML File
    <?xml version="1.0" encoding="UTF-8" ?>
    - <aeRequestOutputType>
    + <trackingInfo>
    + <JMSHeaders>
    - <ns:__caret_reply_caret_ZBAPI xmlns:ae="http://www.tibco.com/" xsi:type="ns:__caret_reply_caret_ZBAPI_">
    + <RETURN>
    - <T__TRADE__DATA>
    - <item>
      <BUKRS>1111</BUKRS>
      <HKONT>22222</HKONT>
      </item>
    - <item>
      <BUKRS>3333</BUKRS>
      <HKONT>44444</HKONT>
      </item>
      </T__TRADE__DATA>
      </ns:__caret_reply_caret_ZBAPI__TRADE__ACC__DOC__POST_caret_ZBAPI__TRADE__ACC__DOC__POST>
      </aeRequestOutputType>
    My Program
    REPORT  ZTEST13.
    DATA : BEGIN OF itab OCCURS 0,
              f(255) TYPE c,
         END OF itab.
    DATA : t001 TYPE TABLE OF ZTEST_ST_UB. "(structure has few variables like hkont,bukrs)
    DATA: xmlupl TYPE string .
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                       =  'c:\sap_output_xml.txt'
       FILETYPE                        = 'ASC'
      tables
        data_tab                      = itab          .
    LOOP AT itab.
    CONCATENATE xmlupl itab-f INTO xmlupl.
    ENDLOOP.
    CALL TRANSFORMATION ZTEST_ST_UB2
    SOURCE XML xmlupl
    RESULT root = t001.

    Hi,
    use class cl_xml_document and method import_from_file inorder to read the xml file to internal table.
    go trough this [LINK|http://wiki.sdn.sap.com/wiki/display/ABAP/UploadXMLfiletointernal+table] for detial code.
    Regards,
    Shanmugavel chandrasekaran

  • Xml string to abap internal  table

    HI Experts ,
    I want to parse this XML file to abap internal table ,i read as usual  the Help and i think
    that something is missing on my code.
    There is someone can help.
    The fields is type string and the value is :
    <Containers> <Container workitemid = "00000017" IsParent = "X"><Element name = "_WF" value = "USI029"/><Element name = "_WF_PRIOR" value = "5"/><Element name = "_WF_VERSION" value = "0000"/><Element name = "_WF_NESTING_LEVEL" value = ""/><Element name = "XUBNAME" value = ""/><Element name = "XUACCNT" value = ""/><Element name = "SHORTTEXT" value = ""/><Element name =
    i use the call transformation code and there i put this code:
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="XML_TAB"/>
      <tt:template>
        <Containers>
          <tt:loop name="a" ref=".XML_TAB">
            <Container>
              <tt:attribute name="Element name" value-ref="$a.name"/>
              <tt:attribute name="value" value-ref="$a.value"/>
            </Container>
          </tt:loop>
        </Containers>
      </tt:template>
    </tt:transform>
    I think that i miss something with the line :<Container workitemid = "0000007" IsParent = "X">
    the dump is:
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_ST_MATCH_ATTRIBUTE', was not
      caught and
    therefore caused a runtime error.
    The reason for the exception is:
    XML matching error
    Expected was attribute: "Elementname" [ ] Read was element-start: "Container" [
    Please help
    Regards
    Chris
    Edited by: Chris Teb on Aug 6, 2009 9:57 AM

    H Siva,
    Thanks ,
    I try exactly like u tell and i get this dump:
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_ST_MATCH_ELEMENT', was not caught
      and
    therefore caused a runtime error.
    The reason for the exception is:
    XML matching error
    Expected was element-end: "Containers" [ ] Read was element-start: "Container"
    <Containers>
        <Container>
            <tt:loop name="a" ref=".XML_TAB">
            <Element >
              <tt:attribute name="name" value-ref="$a.name"/>
              <tt:attribute name="value" value-ref="$a.value"/>
              </Element>
              </tt:loop>
            </Container>
        </Containers> ->**the dump in the debugger is here .**
      </tt:template>
    </tt:transform>
    Any Idea?
    Regards
    Chris

  • Reading XML file to ABAP internal table

    Hi all,
    Iam trying to convert a XLM file into abap internal table , am using XSLT transformation to parse the XML file and i am using "CALL METHOD cl_gui_frontend_services=>gui_upload" for reading the XML file.
    below is the XML file.
    ===========================================================================
    - <PIXBridge version="2.2" timestamp="2003-04-09T15:27:00">
    - <PIX>
      <TransactionType>605</TransactionType>
      <TransactionCode>98</TransactionCode>
      <TransactionNumber>6888965</TransactionNumber>
      <SequenceNumber>40001</SequenceNumber>
    - <SKUDefinition>
      <Company>GZL</Company>
      <Division>BMD</Division>
      <Season />
      <SeasonYear />
      <Style>ORT002A</Style>
      <StyleSuffix />
      <Color>K13</Color>
      <ColorSuffix />
      <SecDimension />
      <Quality />
      <SizeRangeCode />
      <SizeDesc>M</SizeDesc>
      <SkuID>200140577</SkuID>
      </SKUDefinition>
      </PIX>
      </PIXBridge>
    =================================================================
    and my Transformation code is as below
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output encoding="iso-8859-1" indent="yes" method="xml" version="1.0"/>
      <xsl:strip-space elements="*"/>
      <xsl:template match="/">
        <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
          <asx:values>
            <IPIX>
              <xsl:apply-templates select="//PIX"/>
            </IPIX>
          </asx:values>
        </asx:abap>
      </xsl:template>
      <xsl:template match="PIX">
        <item>
          <TRANSACTIONTYPE>
            <xsl:value-of select="TransactionType"/>
          </TRANSACTIONTYPE>
          <TRANSACTIONCODE>
            <xsl:value-of select="TransactionCode"/>
          </TRANSACTIONCODE>
          <TRANSACTIONNUMBER>
            <xsl:value-of select="TransactionNumber"/>
          </TRANSACTIONNUMBER>
          <SEQUENCENUMBER>
            <xsl:value-of select="SequenceNumber"/>
          </SEQUENCENUMBER>
          <SKUDEFINITION>
            <COMPANY>
              <xsl:value-of select="Company"/>
            </COMPANY>
            <DIVISION>
              <xsl:value-of select="Division"/>
            </DIVISION>
            <SEASON/>
            <SEASONYEAR/>
            <STYLE>
              <xsl:value-of select="Style"/>
            </STYLE>
            <STYLESUFFIX/>
            <COLOR>
            <xsl:value-of select="Color"/>
            </COLOR>
            <COLORSUFFIX/>
            <SECDIMENSION/>
            <QUANTITY/>
            <SIZERANGECODE/>
            <SIZEDESC>
              <xsl:value-of select="SizeDesc"/>
            </SIZEDESC>
            <SKUID>
              <xsl:value-of select="SkuID"/>
            </SKUID>
          </SKUDEFINITION>
          </item>
        </xsl:template>
    When i run my program i am getting the values only till the sequence number part and im not getting any values  that is read in between <SKUDEFINITION> ..... </SKUDEFINITION>
    I need help to sort this , kindly help me in this.
    regs,
    raja

    I am not able to get a clue out of that, can Get Durairaj Athavan Raja in to loop for sorting this out.
    I made changes to my transformation program , but still not getting the output of the components inside the
    <SKUDefinition> , but when i debug  the transformation i can able to see the output values for those components but when i get the values in the result table im not getting values of those components.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output encoding="iso-8859-1" indent="yes" method="xml" version="1.0"/>
      <xsl:strip-space elements="*"/>
      <xsl:template match="/">
        <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
          <asx:values>
            <IPIX>
              <xsl:apply-templates select="//PIX"/>
            </IPIX>
          </asx:values>
        </asx:abap>
      </xsl:template>
      <xsl:template match="PIX">
        <item>
          <TRANSACTIONTYPE>
            <xsl:value-of select="TransactionType"/>
          </TRANSACTIONTYPE>
          <TRANSACTIONCODE>
            <xsl:value-of select="TransactionCode"/>
          </TRANSACTIONCODE>
          <TRANSACTIONNUMBER>
            <xsl:value-of select="TransactionNumber"/>
          </TRANSACTIONNUMBER>
          <SEQUENCENUMBER>
            <xsl:value-of select="SequenceNumber"/>
          </SEQUENCENUMBER>
          <xsl:for-each select="SKUDefinition">
          <SKUDEFINITION>
          <COMPANY>
              <xsl:value-of select="Company"/>
          </COMPANY>
          <DIVISION>
              <xsl:value-of select="Division"/>
          </DIVISION>
          <SEASON/>
          <SEASONYEAR/>
          <STYLE>
            <xsl:value-of select="Style"/>
          </STYLE>
          <STYLESUFFIX/>
          <COLOR>
            <xsl:value-of select="Color"/>
          </COLOR>
          <COLORSUFFIX/>
          <SECDIMENSION/>
          <QUANTITY/>
          <SIZERANGECODE/>
          <SIZEDESC>
              <xsl:value-of select="SizeDesc"/>
          </SIZEDESC>
          <SKUID>
              <xsl:value-of select="SkuID"/>
          </SKUID>
          </SKUDEFINITION>
          </xsl:for-each>
        </item>
      </xsl:template>
    </xsl:transform>
    ==================
    Below is my main program
    ===================
    TYPE-POOLS abap.
    CONSTANTS gs_file TYPE string VALUE 'C:\XMLABAP1.xml'.
    This is the structure for the data from the XML file
    TYPES: BEGIN OF ty_text,
             TransactionType(3) type n,
             TransactionCode(2) type n,
             TransactionNumber(7) type n,
             SequenceNumber(5) type n,
             Company(3) type c,
             Division(3) type c,
             Season(3) type c,
             SeasonYear(4) type c,
             Style(8) type c,
             Color(3) type c,
             SecDimension(3) type c,
             Quality(3) type n,
             SizeRangeCode(2) type c,
             SizeDesc(1) type c,
             SkuID(10) type c,
           END OF ty_text.
    Table for the XML content
    DATA: gt_itab       TYPE STANDARD TABLE OF char2048.
    data: xmlstr        TYPE XSTRING.
    Table and work ares for the data from the XML file
    DATA: gt_person     TYPE STANDARD TABLE OF ty_text,
          gs_person     TYPE ty_text.
    Result table that contains references
    of the internal tables to be filled
    DATA: gt_result_xml TYPE abap_trans_resbind_tab,
          gs_result_xml TYPE abap_trans_resbind.
    For error handling
    DATA: gs_rif_ex     TYPE REF TO cx_root,
          gs_var_text   TYPE string.
    Get the XML file from your client
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename                = gs_file
      CHANGING
        data_tab                = gt_itab
      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
        not_supported_by_gui    = 17
        error_no_gui            = 18
        OTHERS                  = 19.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Fill the result table with a reference to the data table.
    Within the XSLT stylesheet, the data table can be accessed with
    "IPERSON".
    GET REFERENCE OF gt_person INTO gs_result_xml-value.
    gs_result_xml-name = 'IPIX'.
    APPEND gs_result_xml TO gt_result_xml.
    Perform the XSLT stylesheet
    TRY.
        CALL TRANSFORMATION ZAUM_MANH_SYNC_RPT
        SOURCE XML XMLSTR
        RESULT (gt_result_xml).
      CATCH cx_root INTO gs_rif_ex.
        gs_var_text = gs_rif_ex->get_text( ).
        MESSAGE gs_var_text TYPE 'E'.
    ENDTRY.
    Now let's see what we got from the file
    LOOP AT gt_person INTO gs_person.
    WRITE: / 'Transaction Type:', gs_person-TransactionType.
      WRITE: / 'Transaction Code :', gs_person-TransactionCode.
      WRITE: / 'Transaction Number :', gs_person-TransactionNumber.
       WRITE: / 'SequenceNumber :', gs_person-SequenceNumber.
       WRITE: / 'Company : ', gs_person-Company.
      WRITE : /.
    ENDLOOP. "gt_person.

  • To convert XML to ABAP internal table can we do it with DOM or we need XSLT

    I have a requirement where I need to collect the data from XML file into an internal table.
    I need to collect this data into an internal table as I should make use of this data and do Goods Receipt in SAP.
    My XML file is very very complex and the child nodes in my XML file may occur ones or 10 times and change dynamically.
    I want to know if XML to ABAP internal table is possible with DOM or does it need XSLT too.
    I used the blog of Robert which uses DOM, but it I am unable to collect the data in internal table. The blog explains only how to wtite the out put to screen as element and value.
    I want to know if XML to ABAP internal table is possible with DOM or do I need XSLT too? I am confused please help.
    Any help will be highly appreciated.
    Regards,
    Jessica Sam

    Hello Jessica
    Why not using the DOM itself for processing?
    Below you see the post-processing coding which I use to add the interchange control number (ICN) into an EDI message (which at this stage is still an XML-EDI stream). This is done on SAP-XI yet on the ABAP stack so you could use this approach on your R/3 system as well.
    method POSTPROCESSING.
    * Post-Processing of outbound EDI invoices & dispatch advices
      me->map_icn( ).
    endmethod.
    method MAP_ICN.
    * define local data
      DATA: lo_node       TYPE REF TO if_ixml_node,
            ld_name       TYPE string,
            ld_value      TYPE string,
            ld_error_code type MPG_ERRCODE,
    **        ld_control_number   TYPE char13,
            ld_rc         TYPE i,
            ld_msg        TYPE string.  " bapi_msg.
      DATA: ld_interface  TYPE string.
      DATA: incode TYPE REF TO if_ixml_node_collection.
      LOG-POINT ID zedi
        SUBKEY mc_subkey_method_trace.
      ld_error_code = md_clsname.
    * Get next interchange control number (ICN)
      me->md_next_number = me->get_next_number(
          id_nrobj  = me->md_nrobj   " Object (SNRO)
          id_nrnr   = me->md_nrnr ). " Number Range
      CALL METHOD zcl_edi_uk_counter=>calculate_modulo_n09
        EXPORTING
          id_input  = me->md_next_number
        receiving
          rd_output = me->md_next_number.
    * Build ICN according to naming conventions agreed with EDI customer
      me->md_icn = me->generate_icn( me->md_next_number ).
      ld_value = me->md_icn.  " type conversion to string
      CLEAR: incode,
             lo_node.
      incode  = me->mo_document->get_elements_by_tag_name( mc_d_0020 ).
      lo_node = incode->get_item( index = 0 ).
      CALL METHOD lo_node->set_value
        EXPORTING
          value = ld_value
        RECEIVING
          rval  = ld_rc.
      IF ( ld_rc NE 0 ).
        CONCATENATE 'Error [' mc_d_0020
                    ']: Method SET_VALUE (IF_IXML_NODE)'
                    INTO ld_msg.
        CONDENSE ld_msg.
        me->mif_trace->trace2( message = ld_msg ).
        RAISE EXCEPTION TYPE cx_mapping_fault
          EXPORTING
    *        textid =
    *        previous =
            error_code = ld_error_code
            error_text = ld_msg.
    **    MESSAGE ld_msg TYPE 'A'.
      ENDIF.
      CLEAR: incode,
             lo_node.
      incode  = me->mo_document->get_elements_by_tag_name( mc_d_0020_2 ).  " element for ICN
      lo_node = incode->get_item( index = 0 ).
      CALL METHOD lo_node->set_value
        EXPORTING
          value = ld_value
        RECEIVING
          rval  = ld_rc.
      IF ( ld_rc NE 0 ).
        CONCATENATE 'Error [' mc_d_0020_2
                    ']: Method SET_VALUE (IF_IXML_NODE)'
                    INTO ld_msg.
        CONDENSE ld_msg.
        me->mif_trace->trace2( message = ld_msg ).
        RAISE EXCEPTION TYPE cx_mapping_fault
          EXPORTING
    *        textid =
    *        previous =
            error_code = ld_error_code
            error_text = ld_msg.
    **    MESSAGE ld_msg TYPE 'A'.
      ENDIF.
    * define local data
      DATA: ls_record       TYPE mpp_dynamic.
      CLEAR: ls_record.
      ls_record-namespace = mc_dynamic_namespace.
      ls_record-name      = mc_icn.
      ls_record-value     = ld_value.
      mif_dynamic->add_record( ls_record ).
    endmethod.
    In your case you would need to do a DO...ENDDO loop until you parsed all required nodes.
    NOTE: ME->MO_DOCUMENT is of TYPE REF TO IF_IXML_DOCUMENT.
    Regards
       Uwe

  • Download and upload ABAP database table to presentation server and R/3

    Hi experts,
    I want to download ABAP database table (Ztable) to presentation server and again want to upload this to another R/3 server but i dont want to use any transport request. is there any possible sollution for this.
    Thanks in advance

    Hi,
    Look at this code hope this will help you to solve your problem
    REPORT y_test_559.
    Program for
    1. Downloading Data of any DB table to a tab delimited ASCII file
    2. Checking if a tab delimited ASCII file has the structure of a
       DB table and showing its contents
    3. Uploading a tab delimited ASCII file to a DB table with the same
       structure
    4. Showing the data of any DB table
    ======================================================================
    ======================================================================
    DATA DECLARATIONS
    ======================================================================
    TYPES : data_object  TYPE REF TO data.
    DATA  : itab TYPE REF TO data .
    TYPE-POOLS : slis .
    DATA  : it_fieldcat TYPE STANDARD TABLE OF slis_fieldcat_alv
            WITH HEADER LINE .
    DATA : it_fieldcatalog TYPE lvc_t_fcat .
    DATA : wa_fieldcatalog TYPE lvc_s_fcat .
    DATA : i_structure_name LIKE dd02l-tabname .
    DATA : i_callback_program LIKE sy-repid .
    DATA  : dyn_line TYPE data_object .
    FIELD-SYMBOLS : <fs_itab> TYPE  STANDARD  TABLE .
    DATA : table_name_is_valid TYPE c .
    DATA : dynamic_it_instantiated TYPE c .
    CONSTANTS buttonselected TYPE c VALUE 'X' .
    ======================================================================
    SELECTION SCREEN DEFAULT
    ======================================================================
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) t_tabl.
    PARAMETERS : tabl_nam LIKE rsrd1-tbma_val
                 MATCHCODE OBJECT dd_dbtb_16 OBLIGATORY .
                                   "Search for Database Tables is dd_dbtb_16
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) t_file.
    PARAMETERS : file_nam LIKE rlgrap-filename .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) t_down.
    PARAMETERS : p_downld RADIOBUTTON GROUP grp1
                 USER-COMMAND m_ucomm .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) t_chkf.
    PARAMETERS : p_chkfil RADIOBUTTON GROUP grp1 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) t_upld.
    PARAMETERS : p_upload RADIOBUTTON GROUP grp1 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) t_show.
    PARAMETERS : p_show_t RADIOBUTTON GROUP grp1 ."show table data
    SELECTION-SCREEN END OF LINE.
    ======================================================================
    AT SELECTION SCREEN OUTPUT
    ======================================================================
    AT SELECTION-SCREEN OUTPUT .
      PERFORM check_filename .
    ======================================================================
    AT SELECTION SCREEN ON VALUE REQUEST FOR FILENAME
    ======================================================================
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR file_nam .
      PERFORM f4_for_filename .
    ======================================================================
    Initialization .
    ======================================================================
    INITIALIZATION .
      t_tabl = 'Table Name' .
      t_file = 'File Name' .
      t_down = 'Download Table' .
      t_chkf = 'Check File to Upload' .
      t_upld = 'Upload File' .
      t_show = 'Show Table Contents' .
    ======================================================================
    START OF SELECTION
    ======================================================================
    START-OF-SELECTION .
      PERFORM check_table_name_is_valid .
    ======================================================================
    END OF SELECTION
    ======================================================================
    END-OF-SELECTION .
      IF table_name_is_valid EQ ' ' .
        MESSAGE i398(00) WITH 'INVALID TABLE NAME' .
      ELSE .
        PERFORM instantiate_dynamic_internal_t  .
        CHECK  dynamic_it_instantiated = 'X' .
        CASE buttonselected .
          WHEN p_downld .
            PERFORM select_and_download .
          WHEN p_chkfil .
            PERFORM check_file_to_upload .
          WHEN p_upload .
            PERFORM upload_from_file .
          WHEN p_show_t .
            PERFORM show_contents .
        ENDCASE .
      ENDIF .
    *&      Form  CHECK_TABLE_NAME_IS_VALID
          text
    -->  p1        text
    <--  p2        text
    FORM check_table_name_is_valid.
      DATA l_count TYPE i .
      TABLES dd02l .
      CLEAR table_name_is_valid .
      SELECT COUNT(*) INTO l_count FROM tadir
      WHERE  pgmid = 'R3TR'
      AND    object = 'TABL'
      AND    obj_name = tabl_nam .
      IF l_count EQ 1 .
        CLEAR dd02l .
        SELECT SINGLE * FROM dd02l WHERE tabname  = tabl_nam .
        IF sy-subrc EQ 0.
          IF dd02l-tabclass = 'TRANSP' .
            table_name_is_valid = 'X' .
          ENDIF .
        ENDIF.
      ENDIF .
    ENDFORM.                    " CHECK_TABLE_NAME_IS_VALID
    *&      Form  SELECT_AND_DOWNLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM select_and_download.
      CLEAR : <fs_itab> .
      SELECT * FROM (tabl_nam)
      INTO CORRESPONDING FIELDS OF TABLE <fs_itab>   .
      PERFORM check_filename.
      CALL FUNCTION 'WS_DOWNLOAD'
        EXPORTING
          filename                = file_nam
          filetype                = 'DAT'
        TABLES
          data_tab                = <fs_itab>
        EXCEPTIONS
          file_open_error         = 1
          file_write_error        = 2
          invalid_filesize        = 3
          invalid_type            = 4
          no_batch                = 5
          unknown_error           = 6
          invalid_table_width     = 7
          gui_refuse_filetransfer = 8
          customer_error          = 9
          OTHERS                  = 10.
      IF sy-subrc EQ 0.
        MESSAGE i398(00) WITH 'Table' tabl_nam
                              'successfully downloaded to '
                              file_nam .
      ENDIF.
    ENDFORM.                    " SELECT_AND_DOWNLOAD
    *&      Form  UPLOAD_FROM_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM upload_from_file.
      DATA : ans TYPE c .
      DATA : lines_of_itab TYPE i .
      DATA : l_subrc TYPE i .
      CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
        EXPORTING
          textline1 = 'Are you sure you wish to upload'
          textline2 = 'data from ASCII File to DB table '
          titel     = 'Confirmation of Data Upload'
        IMPORTING
          answer    = ans.
      IF ans = 'J' .
        PERFORM check_filename.
        CLEAR l_subrc .
        CALL FUNCTION 'WS_UPLOAD'
          EXPORTING
            filename                = file_nam
            filetype                = 'DAT'
          TABLES
            data_tab                = <fs_itab>
          EXCEPTIONS
            conversion_error        = 1
            file_open_error         = 2
            file_read_error         = 3
            invalid_type            = 4
            no_batch                = 5
            unknown_error           = 6
            invalid_table_width     = 7
            gui_refuse_filetransfer = 8
            customer_error          = 9
            OTHERS                  = 10.
        l_subrc = l_subrc  + sy-subrc .
        IF sy-subrc EQ 0.
          DESCRIBE TABLE <fs_itab> LINES lines_of_itab .
          IF lines_of_itab GT 0 .
            DELETE (tabl_nam) FROM TABLE <fs_itab> .
            COMMIT WORK .
            INSERT (tabl_nam) FROM TABLE <fs_itab> .
            l_subrc = l_subrc  + sy-subrc .
          ENDIF .
        ENDIF.
        IF  l_subrc EQ 0  .
          MESSAGE i398(00) WITH lines_of_itab
                               'Record(s) inserted in table'
                                tabl_nam .
        ELSE .
          MESSAGE i398(00) WITH
                          'Errors occurred No Records inserted in table'
                           tabl_nam .
        ENDIF .
      ENDIF .
    ENDFORM.                    " UPLOAD_FROM_FILE
    *&      Form  F4_FOR_FILENAME
          text
    -->  p1        text
    <--  p2        text
    FORM f4_for_filename.
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_path         = 'C:\'
          mask             = ',.,..'
          mode             = '0'
        IMPORTING
          filename         = file_nam
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
    ENDFORM.                    " F4_FOR_FILENAME
    *&      Form  CHECK_FILENAME
          text
    -->  p1        text
    <--  p2        text
    FORM check_filename.
      IF file_nam IS INITIAL
      AND NOT ( tabl_nam IS INITIAL  )
      AND p_show_t NE buttonselected.
        CONCATENATE 'C:\' tabl_nam  '.TXT'  INTO file_nam.
      ENDIF .
    ENDFORM.                    " CHECK_FILENAME
    *&      Form  INSTANTIATE_DYNAMIC_INTERNAL_T
          text
    -->  p1        text
    <--  p2        text
    FORM instantiate_dynamic_internal_t.
      CLEAR dynamic_it_instantiated .
    -----> Step 1 - Finding Field Names and ALV GRID Fieldcatalog
      i_structure_name =  tabl_nam .
      CLEAR it_fieldcat[] .
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = i_structure_name
        CHANGING
          ct_fieldcat            = it_fieldcat[]
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
      IF sy-subrc EQ 0.
    -----> Step 2 - Creating Field Catalog of the Object
                                                  cl_alv_table_create
        LOOP AT it_fieldcat .
          CLEAR wa_fieldcatalog .
          MOVE-CORRESPONDING it_fieldcat TO  wa_fieldcatalog .
          wa_fieldcatalog-ref_field = it_fieldcat-fieldname .
          wa_fieldcatalog-ref_table = tabl_nam .
          APPEND  wa_fieldcatalog  TO it_fieldcatalog .
        ENDLOOP .
    -----> Step 3 - Creating Internal Table Dynamicaly
        CALL METHOD cl_alv_table_create=>create_dynamic_table
          EXPORTING
            it_fieldcatalog = it_fieldcatalog
          IMPORTING
            ep_table        = itab.
        ASSIGN itab->* TO <fs_itab> .
        dynamic_it_instantiated = 'X' .
      ENDIF.
    ENDFORM.                    " INSTANTIATE_DYNAMIC_INTERNAL_T
    *&      Form  SHOW_CONTENTS
          text
    -->  p1        text
    <--  p2        text
    FORM show_contents.
      CLEAR : <fs_itab> .
      SELECT * FROM (tabl_nam)
      INTO CORRESPONDING FIELDS OF TABLE <fs_itab>   .
      i_callback_program = sy-repid .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program = i_callback_program
          it_fieldcat        = it_fieldcat[]
        TABLES
          t_outtab           = <fs_itab>
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    ENDFORM.                    " SHOW_CONTENTS
    *&      Form  CHECK_FILE_TO_UPLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM check_file_to_upload.
      PERFORM check_filename.
    CLEAR l_subrc .
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename                = file_nam
          filetype                = 'DAT'
        TABLES
          data_tab                = <fs_itab>
        EXCEPTIONS
          conversion_error        = 1
          file_open_error         = 2
          file_read_error         = 3
          invalid_type            = 4
          no_batch                = 5
          unknown_error           = 6
          invalid_table_width     = 7
          gui_refuse_filetransfer = 8
          customer_error          = 9
          OTHERS                  = 10.
    l_subrc = l_subrc  + SY-SUBRC .
      IF sy-subrc EQ 0.
        i_callback_program = sy-repid .
        CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
          EXPORTING
            i_callback_program = i_callback_program
            it_fieldcat        = it_fieldcat[]
          TABLES
            t_outtab           = <fs_itab>
          EXCEPTIONS
            program_error      = 1
            OTHERS             = 2.
      ENDIF .
    ENDFORM.                    " CHECK_FILE_TO_UPLOAD
    Thanks,
    Pramod

Maybe you are looking for

  • How to handle Import Service  PO

    Hi,     Can anybody tell me the import Service PO process with account Entries at all steps.we are using TAXINN.so what will be the tax conditions. Thanks in advance.

  • Synchronize an excel sheet between PC and iPhone.

    How can I sync an excel sheet from my pc to my iphone so that whenever I make a change in that sheet, connecting the iphone to my pc, update the copy of the sheet that is in the iphone and then have access to that sheet date the iphone without being

  • Deploying exchange portlet.

    I wanted to deploy the exchange portlet in Redhat 3.0 server AS 10g installation. I tried this with ORCLADMIN login. When tried to access this from http://mydomain:7778/exchange/providers/exchange the following error is displayed. Provider Test Page:

  • Query regarding Non-RAC to RAC Migration

    Hi, We are migrating a stand alone 11g R2 Database on Linux x86-64 systems to RAC. Should I move my database files to ASM before running rconfig, or rconfig automatically does it. Regards, Charan

  • Texts(iMessages) not syncing between iPhone and iPad. How can it be fixed?

    After installing IOS .7.2 update for version 7.0 My texts no longer sync. Happens to sent  and received. I have texts on iPad thatt didn't arrive on my iPhone and vise versa. Internet all good on both. My texts usually come in at the same time to iPh