Meaning and coherence between DEBESTA_BWPROT[/E/H] Tables

Hey together,
DataSource 0UC_SALES_STATS_01 and related Extractor are working with the help of three tables. I still have some problems to understand them completly. My view and open question on them are as follows:
1.) DBESTA_BWPROT
DBESTA_BWPROT is an index table which holds relevant reconciliation keys for extraction. If a key is closed the next export to
BW will bring him to BW. If a key in the table isn't closed BW will be unable to import depending data.
Is this right? When is the table filled with data?
2.) DBESTA_BWPROTE
If data couldn't be exported although the related reconciliation key is closed, ít is stored in BWPROTE until the error is solved.
The next delta load will catch the data?
3.) DBESTA_BWPROTH
The table contains informations about historical data. If data could have been exported, it can be found in this table.
I don't think that my assumption for that is correct, particulary with regard to the field BWSS_STATU in BWPROTH. But which data is stored in this table?
Thanks a lot for your help.

Hi,
As for as i see
DBESTA_BWPROTH  This table holds the below information (data)
Road request date
Duration of the extraction
Number of successfully loaded billing and invoicing documents
Number of canceled extractions of invoicing documents
Below table is the Index table (which not holds the Actual data ) it behaves differently based on the extraction type .
Full Upload:
All documents with a closed a reconciliation key are extracted in accordance with the selection. Use the full upload to extract all existing documents after connection of the DataSource.
Documents with an open reconciliation key are saved in index table DBESTA_BWPROT for later processing.
Initial Upload:
All closed reconciliation keys in index table DBESTA_BWPROT are processed according to the initial selection and the associated documents are extracted. You should perform the initialization after the full upload, using the same selection. The initial run only extracts data if in the mean time associated reconciliation keys were closed between the full and initial upload, or if there are new documents.
Delta Upload:
All closed reconciliation keys are processed in accordance with the initial selections and the corresponding documents are extracted. This normally concerns new documents in productive operation.
Also check the below tables wich holds actuall data about the datasource
EVER
ADRC
EVER
EANL
ERCH
ERDK
EHAU
ERCHZ
ERDZ
For more Information check the below link.
http://help.sap.com/saphelp_tm60/helpdata/en/87/c299397f3d11d5b3430050dadf08a4/frameset.htm
Regards,
Satya

Similar Messages

  • How do you set defaults in pages such as font and moving between cells in a table?

    How do you set defaults in Pages such as font and moving between cells in a table?

    Default layout and styles can be set by setting up a sheet with your settings and saving as a user template (File > Save As Template).  I don't know of a way to set defaults for moving between cells in a table.

  • Why there is a huge difference between a row size on a disk based table and a row size in memoptimized table of SQL 2014?

    Hi All,
    I have two table with similar structure and data, one is on disk and the other is in memory. I somehow calculated the difference between a row size of on disk and in memory table and found that the row size of in memory is 700 Bytes more than the disk based
    tables.
    aa

    As others mentioned, memory optimized tables and disk based tables have different structures in SQL Server 2014.
    For memory optimized tables, the number of indexes on table also contribute to the size. You can calculate the exact size of rows and thus the table size using the formula given in the below articles
    Table and Row Size in Memory-Optimized Tables
    Estimate the Size of a Table
    Krishnakumar S

  • The relationships and links between the various SAP database tables

    Hi Gurus,
    I am trying to learn the relationships and links between the various SAP database tables (SAP FI-AA, SAP SD, SAP MM, SAP HR and so on) for correctly extracting data from them. Especially I am expressing an interest in the SAP database tables on SAP FI-AA, SAP SD, SAP MM, SAP HR. Could somebody provide me with documentations about the relationships and links between them. I will be very grateful if somebody can provide me with links.
    Thanks and regards
    Sergey

    hi Sergey,
    try
    http://www.erpgenie.com/abap/tables.htm
    http://www.erpgenie.com/abap/tables_fi.htm
    http://abap4.tripod.com/SAP_Tables.html
    http://abap4.tripod.com/Finance_Tables.html
    http://www.auditware.co.uk/SAP/Extras/SAPTables.pdf
    hope this helps.

  • Difference between use of decision table and if/then in business rules

    Hello ,
    Could some one please explain me difference between use of decision table and if/then in business rules in short.
    - Shirish

    Hi,
    They are equivalent, pretty much what you can do with a decision table you can also do with if/then...
    However, decision tables provide automated features that can reduce the number of required rules, as compared to the if/then rules (this is called rule coalescing).
    Have a look on this document... Search for 5.1.1 What is a Decision Table?
    http://docs.oracle.com/cd/E23943_01/user.1111/e10228/decision.htm#CJHFIAHG
    Cheers,
    Vlad

  • Column maping and conversion between dissimilar tables fails.

    Hello,
    I have two Oracle databases of different versions and replicate an only schema in one direction (9.2.0.8 -> 11.2.0.3).
    An instrument of replication is GoldenGate 11.1.1.1.2_05.
    All objects of two replicating schemas are identical except one table -
    in 9.2.0.8 the table have this appearance -
    create table test.t1 add (id number, nm number);
    create index test.i_t1 on test.t1(id);however, in 11.2.0.3 -
    create table test.t11g add (id number, vch varchar2(5));
    create index test.i_t1 on test.t11g(id);and all objects, except this mentioned table in its two incarnations, are replicating successfully.
    Now about GoldenGate structure - it looks like this -
    (DB 9.2.0.8) -> (Extractor) -> (Local trail) -> (Pump) -> (Network) -> (Remote trail) -> (Replicator) -> (DB 11.2.0.3)
    I decided to make mapping and conversion at target site and, however, I have those parameters for replicator -
    --Replicat group --
    REPLICAT REP2
    --source and target definitions
    SOURCEDEFS /u01/app/oracle/product/11.1.1.1.2ogg411g/dirdef/sourcedef
    --target database login --
    USERID ogg, PASSWORD XXX
    --file for dicarded transaction --
    DISCARDFILE /u01/app/oracle/product/11.1.1.1.2ogg411g/discard/rep1_discard.txt, APPEND, MEGABYTES 10
    --ddl support
    DDL
    --Specify table mapping ---
    MAP test.t1, TARGET test.t11g, COLMAP (USEDEFAULTS, VCH=@STRNUM(NM));
    MAP test.*, TARGET test.*;
    DDLERROR 24344 DISCARD;And, of course, I have created definitions file at source site and have copied it afterwards to the target site, so parameter SOURCEDEFS reflects the reality.
    For some completeness of the picture I'll providing parameters of extractor and of pump extractor -
    --extract group--
    EXTRACT ext1
    --connection to database--
    USERID ogg, PASSWORD xxx
    EXTTRAIL /u01/app/oracle/product/11.1.1.12ogg/dirdat/ss
    SEQUENCE test.*
    --DDL support
    DDL INCLUDE MAPPED OBJNAME test.*
    --DML
    TABLE test.*;
    TABLEEXCLUDE test.DIFFTYPE;
    -- Identify the data pump group:
    EXTRACT pump11
    --connection to database--
    USERID ogg, PASSWORD xxx
    RMTHOST db-dev-2, MGRPORT 7869
    RMTTRAIL /u01/app/oracle/product/11.1.1.1.2ogg411g/dirdat/tt
    sequence test.*
    -- Allow mapping, filtering, conversion or pass data through as-is:
    PASSTHRU
    -- Specify tables to be captured:
    TABLE test.*;Before definitions file generation, at source site there was created this parameters -
    DEFSFILE /u01/app/oracle/product/11.1.1.12ogg/dirdef/sourcedef
    USERID ogg, PASSWORD xxx
    TABLE test.*;Whenever I've tried to insert a row at source site my replicator became abendon immediately and in $GG_HOME/ggserr.log there are appear those lines -
    2012-10-11 23:49:17  WARNING OGG-00869  Oracle GoldenGate Delivery for Oracle, rep2.prm:  Failed to retrieve column list handle for table TEST.T1.
    2012-10-11 23:49:17  ERROR   OGG-00199  Oracle GoldenGate Delivery for Oracle, rep2.prm:  Table TEST.T1 does not exist in target database.
    2012-10-11 23:49:17  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, rep2.prm:  PROCESS ABENDING.It seems to me that the source of the issue is in some kind of bug in GoldenGate but it would be my last resort to upgrade the system.
    This is my first steps in this area, so I would like to any help.
    Edited by: ArtemKhisamiev on 12.10.2012 0:23

    I've tried to change slightly replication params from this -
    --Replicat group --
    REPLICAT REP2
    <...>
    --Specify table mapping ---
    MAP test.t1, TARGET test.t11g, COLMAP (USEDEFAULTS, VCH=@STRNUM(NM));
    MAP test.*, TARGET test.*;
    DDLERROR 24344 DISCARD;to something like this -
    --Replicat group --
    REPLICAT REP2
      <...>
    --Specify table mapping ---
    MAP test.T1, TARGET test.T11G, COLMAP (USEDEFAULTS, VCH=@STRNUM(NM));
    MAP test.CITIES, TARGET test.CITIES;
    MAP test.COUNTRIES, TARGET test.COUNTRIES;
    MAP test.LOBEXP, TARGET test.LOBEXP;
    DDLERROR 24344 DISCARD;Now replication works. So the problem was in asterisk which of course stands for test.T1 - the table which is substituted by test.T11g in target site.
    Then, how can I exclude test.T1 from generalisation? To enumerate every table in a schema is a mad overcome, especially if the schema is really bulky of objects?
    Edited by: ArtemKhisamiev on 12.10.2012 1:38
    Edited by: ArtemKhisamiev on 12.10.2012 3:22

  • XML and XSD file to an internal table

    I had read a lot of thread  but i don't understand how to deal with xml/xsd in R3.
    I need someone that have a definite example for this escenary please.
    With OPEN DATASET took from the server XML and XSD file, and put it in two internal tables type string.
    What functions or method have to use, and how to use them, to charge the XML file in an internal table?
    This is an example of XML and XDS:
    XML
    AND CONTINUE
    Best Regards,

    I just tried to interpret your question, it was not obvious what you wanted.
    I guess what you mean is that you have defined (statically) a deep structure, and you want to decode the XML into it. That is called a transformation (transaction STRANS, statement CALL TRANSFORMATION). You have the choice between 2 transformation languages: XSLT and ST. Of course, it depends what release you are running.
    I advise you to play first with the ID transformation, to convert an ABAP deep structured data object into XML, so that you see what XML is generated, this one is called asXML. If you create your own transformation, when you call it, it will first convert automatically the data object to asXML, and the transformation has to do the rest of the job.
    You can do the opposite, i.e. converting from XML to a data object, according to the same principle (intermediate asXML).
    Well, there are lots of things to say, I recommend you to read articles and documentation on XSLT and ST (search on SDN).
    About XSD, it won't help (and I did never see any possibility to use it) to decode the XML, as you must anyway define the target data object statically (and there's no tool to generate the ABAP code of the data object definition from the XSD).
    Note that you may also use iXML libraries to parse the XML.
    Please tell us more.
    BR
    Sandra

  • Regading getting data to and forth between 2 programs through SUBMIT

    Hi All,
    I have a issue regarding fetching internal table data from one program to another.
    Actually I have <b>Main Program</b> from that through SUBMIT statement i am calling another program and executing it for every 100 records - Actually this program is having BAPI running in it, By result i will get an internal table data. Now i want to get that internal table data back into my MAIN Program so that i can use it for next process.
    <b>EXPORT & IMPORT statements are working from MAIN Program to Other Program.</b>
    <b>EXPORT & IMPORT statements are not working from Other Program[SUBMIT'ed Program] to MAIN Program.</b>
    So can anybody tell me how can i get that data in other program into MAIN Program[Back].
    Thanks in advance.
    Thanks & Regards,
    Rayeez.

    When you submit the program is then running in parallel with the program which submitted it.  There is no mechism that you are using to stop the calling program and wait for the submitted program to finish and bring back some data.   Most likly program 1 ends before program 2 is finished updating the material master. You can do this kind of thing with Function modules.   You would put your call to the submitted program inside of a function module,  then call that function module saying STARTING IN NEW TASK,  then you can wait for it to be done and get the results using the RECIEVING statement.
    Here is the F1 Help.
    +
    CALL FUNCTION
    Variant 2
    CALL FUNCTION func ...STARTING NEW TASK task name.
    Additions:
    1. ... DESTINATION dest
    2. ... DESTINATION IN GROUP group name
    3. ... DESTINATION IN GROUP DEFAULT
    4. ... PERFORMING form ON END OF TASK
    5. ... EXPORTING  p1 = f1    ... pn = fn
    6. ... TABLES     p1 = itab1 ... pn = itabn
    7. ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    Starts the function module func asynchronously ina new session. In contrast to normal function module calls, the callingprogram resumes processing as soon as the function module is started inthe target system. It does not wait until the function module hasfinished. Through CALL SCREEN,the called function module can, for example, display a screen and thusinteract with the user.
    Notes
    This variant applies only from R/3 Release 3.0, so boththe client system and the server system must have Release 3.0 orhigher.
    With this variant, the called function module must also be flagged inthe Function Builder as externally callable, even if it is executedlocally (without the addition DESTINATION).
    There can be no function call to the destination 'BACK' in thecalled function module (for more information about the destination 'BACK', see CALLFUNCTION func DESTINATION dest).
    This variant does not support the execution of externalprograms accessible via the destination of the TCP/IP type asasynchronous calls (see the Transaction Tools ¨Administration, Administration ¨ Network ¨ RFC destinations formaintaining destinations).
    You cannot display screens (screens or lists asamodal windows in RFC communication using SAP Router.
    From Release 4.0, you can check the load of each RFC destination moreclosely (in the RFC destination maintenance for an R/3 connection, choose Destination -> ARFC options). This checks whetherthe target host has sufficient resources before the function module isexecuted. If the target host is overloaded, the system delays executingthe function module. The algorithm for calculating the load on thetarget host is the same one used in an asynchronous RFC call using the DESTINATION IN GROUP addition. Note that this option can only beused with target hosts running Release 3.1H or higher. Note also thatit is the default setting.
    In principle, parallelization makes sense whenever applicationservers have the necessary resources. In this case, the applicationservers must be configured with at least 3 dialog work processes.
    A program that is run in the background and uses RFC parallelizationrequires at least 1 dialog work process per application server becausedialog processes use parallel execution.
    If the instance profile parameter 'auth/rfc_authority_check'is set (to 1), the system automatically performs an RFC authorizationcheck. The authorization check refers to the relevant function groupfor the function module to be called. If no authorization is found, aruntime error occurs. You can check the authorization in advance withthe function module AUTHORITY_CHECK_RFC. If the communication takes place in the same system with thesame user context (same client and user ID), there is no authorizationcheck. For further information, refer to the RFCAuthorization Concept.
    When you are using asynchronous RFC to implement parallel windows,all these windows are closed if the caller session is the only sessionand terminates.
    ABAP_ADDITION_1&
    ... DESTINATION dest
    Effect
    Executes the function module externally as a RemoteFunction Call (RFC); dest can be a literal or a variable.The R/3 System where the function module is executed depends on thespecified destination. Externally callable function modules must beflagged as such in the Function Builder (of the target system).
    Note
    If the destination is not explicitly specified, the systemuses the default destination 'NONE'.
    Note
    If, during a RemoteFunction Call, an error occurs in the target system, detailsof the error message are passed bac to the calling system in thefollowing system fields: SY-MSGNO, SY-MSGID, SY-MSGTY, SY-MSGV1,SY-MSGV2, SY-MSGV3, and SY-MSGV4. These fields areinitialized before every RFC. If a short dump or a type X messageoccurs, the short text of the dump is transferred to the caller, andthe contents of SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 assigned by the system.
    In RFC-enabled function modules, no ABAP statements are allowed thatwould end the RFC connection (for example, LEAVE, SUBMIT or the ANDRETURN addition).
    Note
    Note that a database commit occurs at eachRemote Function Call (RFC). Consequently, you may not use RemoteFunction Calls between pairs of statements that open and close adatabase cursor (such as SELECT ... ENDSELECT).
    Addition 2
    ... DESTINATION IN GROUP group name
    Addition 3
    ... DESTINATION IN GROUP DEFAULT
    Effect
    You use this addition to perform parallel execution offunction modules (asynchronous calls) on a predefined group of R/3System application servers.
    You use addition 2 (DESTINATION IN GROUP group name) toperform parallel execution of function modules on a predefined group ofapplication servers. To maintain the RFC groups, choose Tools ¨ Administration ¨ Administration ¨ Network ¨ RFCdestinations ¨ RFC ¨ RFC groups. The application programmer isresponsible for the availability of RFC groups in the productionsystem.
    You use addition 3 (DESTINATION IN GROUP DEFAULT) to performparallel execution of function modules (asynchronous calls) on all currently available R/3 System application servers. However,instead of this variant, you are recommended to use an RFC group withappropriate resources for parallel processing of asynchronous calls (atleast for performance reasons). Please note that the additionDESTINATION IN GROUP ' ' has the same effect as the additionDESTINATION IN GROUP DEFAULT.
    When you first call a function module with these additions, thesystem initializes the specified RFC group (provided no explicitinitialization has already been performed).
    To obtain current information about resources (that is, the number ofresources available to process function modules), you can alsoinitialize the RFC group explicitly in the program via the functionmodule SPBT_INITIALIZE. You must perform this actionbefore the first function module call.
    In both cases, the system first determines the number of currentlyavailable resources (work processes) on the available applicationservers (either a group of servers or all servers). By checking thecurrent system load of each application server, the system determineshow many work processes are available to execute asynchronous calls.
    After determining the available resources, the asynchronous call isexecuted at one of the destinations. If no resources are available atthat particular time, the system executes the exception routine RESOURCE_FAILURE (see the addition EXCEPTIONS). In thecase of an asynchronous function module call, this exception must be handled by the application program (see example).
    Parallel processing cannot take place if any of the resourcethresholds are exceeded.
    Notes
    In order to be taken into consideration for RFC parallelprocessing, an application server must have at least 3 freedialog processes.
    The system triggers the exception RESOURCE_FAILURE only forasynchronous RFCs with the additions DESTINATION IN GROUP groupname and DESTINATION IN GROUP DEFAULT.
    At present, only one RFC group per program environment issupported for parallel execution of asynchronous calls. Using both theadditions DESTINATION IN GROUP group name and DESTINATION INGROUP DEFAULT in a program is thus not allowed.
    To find out which destination was automatically selected, call thefunction module SPBT_GET_PP_DESTINATION immediately after thefunction module call with the two additions. This returns the selectedRFC destination.
    If you want to delete an application server from the list of theconfigured RFC group at runtime (for example, when the applicationserver is not accessible for technical reasons), use the functionmodule SPBT_DO_NOT_USE_SERVER.
    Addition 4
    ... PERFORMING form ON END OF TASK
    While the parameters for receiving results (i.e. IMPORTING andTABLES parameters) are specified directly as additions in thecase of "conventional" function modules (see variant 2), these arelogged in the FORM routine form when making anasynchronous call (see RECEIVE).
    Notes
    If a function module returns no result, and you are notinterested in error messages that arise when executing the functionmodule, this addition (... PERFORMING form ON END OF TASK) canbe omitted.
    If you want to handle the error messages that arise when executingthe asynchronous function module call, you must use thisaddition. Also, when receiving the results in the FORM routine(see RECEIVE), you must reactaccordingly to the system exceptions SYSTEM_FAILURE andCOMMUNICATION_FAILURE.
    With asynchronous RFC, the task name uniquely identifies theasynchronous connection and thus the context called.
    If several asynchronous function modules are executed consecutivelyto the same destination, you must assign a different task name to each.
    A calling program that starts an asynchronous RFC with PERFORMINGform ON END OF TASK cannot switch roll areas or change to aninternal session. This is because the asynchronous function module callreply cannot be passed on to the relevant program. You can perform aroll area switch with SUBMIT or CALL TRANSACTION.
    If a calling program makes asynchronous calls, finishes, and thenexpects responses, these responses cannot be delivered.
    To wait for the reply to a started asynchronous function module, usethe WAIT command with the additionPERFORMING form ON END OF TASK. Here, WAIT must be in thesame program context (session).
    Note that the execution of the asynchronous calls involves a changeof roll area. This means that the FORM routines for receivingthe external calls can be processed while you are making furtherexternal calls. This means that the developer must ensure thatthe FORM routines can be executed at any time. You cannotmake any assumptions about the processing sequence.
    Addition 5
    ... EXPORTING p1 = f1 ... pn = fn
    Effect
    EXPORTING passes values of fields and fieldstrings from the calling program to the function module. In thefunction module, the formal parameters are defined as importparameters.
    Addition 6
    ... TABLES p1 = itab1 ... pn = itabn
    Effect
    TABLES passes the contents of internal tables.
    Addition 7
    ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    While any exceptions arising in the called functionmodule are handled by the second addition (in the FORM routine),this addition can handle two special system exceptions, as withfunction module calls with the addition DESTINATION:
    SYSTEM_FAILURE
    is triggered, if a system crash occurs on the receiving side.
    COMMUNICATION_FAILURE
    is triggered if there is a connection or communication problem.
    In both cases, you can get a description of the error with theoptional addition
    ... MESSAGE msg
    Note
    In principle, you should always react to these twosystem exceptions, whether you are making an asynchronous functionmodule call or receiving results.
    Examples
    Asynchronous call to a transaction and display in a separate session.
    DATA: MSG_TEXT(80) TYPE C. "Message text
    Asynchronous call to Transaction SM59 -->
    Create a new session
    CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
      DESTINATION 'NONE'
      EXPORTING
          TCODE = 'SM59'
      EXCEPTIONS
        COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
        SYSTEM_FAILURE        = 2 MESSAGE MSG_TEXT.
      IF SY-SUBRC NE 0.
        WRITE: MSG_TEXT.
      ELSE.
        WRITE: 'O.K.'.
      ENDIF.
    Using RFC groups to parallelize function module calls (RFC parallelprocessing)
    TYPES: BEGIN OF TASKLIST_TYPE,
           TASKNAME(4) TYPE C, "Task administration
           RFCDEST LIKE RFCSI-RFCDEST
           END OF TASKLIST_TYPE.
    DATA: INFO LIKE RFCSI, C,  "Message text
          JOBS TYPE I VALUE 10,  "Number of parallel jobs
          SND_JOBS TYPE I VALUE 1,  "Sent jobs
          RCV_JOBS TYPE I VALUE 1,  "Received replies
          EXCP_FLAG(1) TYPE C,  "Number of RESOURCE_FAILUREs
          TASKNAME(4) TYPE N VALUE '0001',  "Task name administration
          TASKLIST TYPE TABLE OF TASKLIST_TYPE,
          WA_TASKLIST TYPE TASKLIST_TYPE.
    DO.
      CALL FUNCTION 'RFC_SYSTEM_INFO'
           STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT
           PERFORMING RETURN_INFO ON END OF TASK
           EXCEPTIONS
             COMMUNICATION_FAILURE = 1
             SYSTEM_FAILURE        = 2
             RESOURCE_FAILURE      = 3.
      CASE SY-SUBRC.
        WHEN 0.
    Administration of asynchronous tasks
          WA_TASKLIST-TASKNAME = TASKNAME.
          CLEAR WA_TASKLIST-RFCDEST.
          APPEND WA_TASKLIST TO TASKLIST.
          WRITE: /  'Started task: ', WA_TASKLIST-TASKNAME COLOR 2.
          TASKNAME = TASKNAME + 1.
          SND_JOBS = SND_JOBS + 1.
          JOBS     = JOBS - 1.  "Number of existing jobs
          IF JOBS = 0.
            EXIT.  "Job processing finished
          ENDIF.
        WHEN 1 OR 2.
    Handling of communication and system failure
        WHEN 3.  "No resources available at present
    Receive reply to asynchronous RFC calls
          IF EXCP_FLAG = SPACE.
             EXCP_FLAG = 'X'.
    First attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.01' SECONDS.
          ELSE.
    Second attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.1' SECONDS.
          ENDIF.
          IF SY-SUBRC = 0.
            CLEAR EXCP_FLAG.  "Reset flag
          ELSE.  "No replies
            "Endless loop handling
          ENDIF.
        ENDCASE.
    ENDDO.
    Receive remaining asynchronous replies
    WAIT UNTIL RCV_JOBS >= SND_JOBS.
    LOOP AT TASKLIST INTO WA_TASKLIST.
      WRITE:/   'Received task:', WA_TASKLIST-TASKNAME COLOR 1,
            30  'Destination: ', WA_TASKLIST-RFCDEST COLOR 1.
    ENDLOOP
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
        IMPORTING RFCSI_EXPORT = INFO
        EXCEPTIONS
          COMMUNICATION_FAILURE = 1
          SYSTEM_FAILURE        = 2.
      RCV_JOBS = RCV_JOBS + 1.  "Receiving data
        IF SY-SUBRC NE 0.
    Handling of communication and system failure
        ELSE.
          READ TABLE TASKLIST WITH KEY TASKNAME = TASKNAME
                              INTO WA_TASKLIST
          IF SY-SUBRC = 0.  "Register data
            WA_TASKLIST-RFCDEST = INFO_RFCDEST.
            MODIFY TASKLIST INDEX SY-TABIX FROM WA_TASKLIST.
          ENDIF.
        ENDIF.
    ENDFORM
    Note
    If you encounter problems, refer toTypical RFC problems and theirsolutions.
    Note
    Runtime errors:
    Note
    Runtime errors:
    CALL_FUNCTION_NO_RECEIVER:
    Data received for an unknown CPI-C connection.
    CALL_FUNCTION_DEST_TYPE:
    Destination type not allowed.
    CALL_FUNCTION_NO_DEST:
    Specified destination does not exist.
    CALL_FUNCTION_NO_LB_DEST:
    Specified destination (in load distribution mode) does not exist.
    CALL_FUNCTION_TABINFO:
    Data error (info internal table) in a Remote Function Call.
    CALL_BACK_ENTRY_NOT_FOUND:
    The called function module is not released for use in RFC.
    CALL_FUNCTION_FIELD_NOT_FOUND:
    The function parameter that you passed is not recognized on therecipient side.
    RFC_NO_AUTHORITY:
    The user does not have RFC authorization.
    CALL_FUNCTION_SINGLE_LOGIN_REJ:
    No authorization to log on as a trusted system. The error codeshave the following meanings:
    0) Valid security key but wrong logon data 1) Calling system is not a trusted system, or security key is invalid 2) User either does not have RFC authorization (authorization object S_RFCACL), or logged on as one of the protected users 'DDIC' or 'SAP*' 3) Timestamp of the logon data is invalid
    CALL_FUNCTION_DESTINATION_NO_T:
    Missing communication type (I for internal connection, 3 for R/3) in anasynchronous RFC
    CALL_FUNCTION_NOT_REMOTE:
    The function module called is not flagged as "RFC supported"
    CALL_FUNCTION_REMOTE_ERROR:
    An error occurred during the Remote Function Call. This has been loggedin the target system.
    CALL_FUNCTION_SIGNON_INCOMPL:
    The logon data for the user is incomplete.
    CALL_FUNCTION_SIGNON_INTRUDER:
    You cannot log onto a target system using an internal call.
    CALL_FUNCTION_SIGNON_INVALID:
    External RFC without a valid user name.
    CALL_FUNCTION_SIGNON_REJECTED:
    Attempt to log onto a target system without a valid user name. Theerror code can have the following meanings:
    1) Wrong password or invalid user ID
    2) User locked
    3) Too many logon attempts
    4) Error in authorization buffer (internal error)
    5) No external user check
    6) Invalid user type
    7) Validity period of user has expired
    CALL_FUNCTION_SYSCALL_ONLY:
    RFC without a valid user name only allowed when calling system functionmodules. For the meaning of the error codes, refer toCALL_FUNCTION_SINGLE_LOGIN_REJ.
    CALL_FUNCTION_TABLE_NO_MEMORY:
    No memory available for a table to be imported
    CALL_FUNCTION_TASK_IN_USE:
    Asynchronous RFC only: Task name already in use.
    CALL_FUNCTION_TASK_YET_OPEN:
    Asynchronous RFC only: The specified task is already open.
    CALL_FUNCTION_SNC_ERROR:
    Error reading the SNC information for the destination.
    CALL_RPERF_SLOGIN_READ_ERROR:
    No valid trusted system entry for the calling system.
    CALL_RPERF_SLOGIN_AUTH_ERROR:
    No trusted authorization for the RFC caller and trusted system.
    +
    Regards,
    Rich Heilman

  • MULTIPLE-ROW drag and drop between 2 ALV grids

    Hi,
    Can anybody help me with acheiving MULTIPLE-ROW drag and drop functionality between 2 ALV grids.

    hi Prakash,
    Actually I'm trying to develop multiple drag and drop between 2 ALV's. To understand the events properly, I started working on this sample program where it uses 1 ALV and splits it into 2 and uses single row drag and drop between them. Now I'm making it to work for multiple drag and drop, so that I can use it on my application. This is the code which I'm working on..
    *& Report  Z_ALV_GRID_CONTROLS_DRAG_DROP                               *
    REPORT  z_alv_grid_controls_drag_drop.
    DATA   : i_ztransactions  TYPE TABLE OF ztransactions
                                   WITH HEADER LINE.
    DATA   : i_ztransactions2 TYPE TABLE OF ztransactions
                                   WITH HEADER LINE.
    DATA   : ok_code LIKE sy-ucomm .
    DATA : mcontainer TYPE REF TO cl_gui_custom_container .
    DATA : mcontleft  TYPE REF TO cl_gui_container .
    DATA : mcontright TYPE REF TO cl_gui_container .
    DATA : msplitcont TYPE REF TO
                            cl_gui_easy_splitter_container .
    DATA : malv_left  TYPE REF TO cl_gui_alv_grid .
    DATA : malv_right TYPE REF TO cl_gui_alv_grid .
    DATA : mrow TYPE lvc_s_row .
    DATA : gt_outtab_source TYPE ztransactions.
    DATA : gt_outtab_target TYPE ztransactions.
    DATA : g_repid LIKE sy-repid.
    DATA:   gs_layout TYPE lvc_s_layo ,
            g_behaviour_alv TYPE REF TO cl_dragdrop .
    DATA : mlines TYPE i .
          CLASS lcl_dragdropobj DEFINITION
    This is the Class of Drag Drop Object .
    This Object is used as a temporary storage means
    of the information extracted with drag
    CLASS lcl_dragdropobj DEFINITION.
      PUBLIC SECTION.
        DATA: i_ztransactions  TYPE ztransactions ,
              index TYPE i ,
              original_table(5) TYPE c ,
              proceed_trans(1) TYPE c .
    ENDCLASS.                    "lcl_dragdropobj DEFINITION
    DATA : mdata TYPE REF TO lcl_dragdropobj .
          CLASS DND_TOOLS DEFINITION
    This class contains the methods responding to the
    events ONDRAG , ONDROP , ONDROPCOMPLETE
    of the ALV Grid Controls
    CLASS dnd_tools DEFINITION .
      PUBLIC SECTION .
       METHODS:handle_user_command
                               FOR EVENT user_command OF
                               cl_gui_alv_grid
                               IMPORTING
                               e_ucomm.
        METHODS : handle_drag_from_left
                             FOR EVENT ondrag OF
                              cl_gui_alv_grid
                              IMPORTING
                              e_row
                              e_dragdropobj .
        METHODS : handle_dropcomplete_from_left
                              FOR EVENT ondropcomplete  OF
                              cl_gui_alv_grid
                              IMPORTING
                              e_row
                              e_dragdropobj .
        METHODS : handle_drag_from_right
                              FOR EVENT ondrag OF
                              cl_gui_alv_grid
                              IMPORTING
                              e_row
                              e_dragdropobj .
        METHODS : handle_dropcomplete_from_right
                              FOR EVENT ondropcomplete  OF
                              cl_gui_alv_grid
                              IMPORTING
                              e_row
                              e_dragdropobj .
        METHODS : handle_drop_to_left
                              FOR EVENT ondrop OF
                              cl_gui_alv_grid
                              IMPORTING
                               e_dragdropobj .
        METHODS : handle_drop_to_right
                              FOR EVENT ondrop OF
                              cl_gui_alv_grid
                              IMPORTING
                              e_dragdropobj .
    ENDCLASS .                    "DND_TOOLS DEFINITION
          CLASS DND_TOOLS IMPLEMENTATION
    CLASS dnd_tools IMPLEMENTATION .
      METHOD handle_drag_from_left .
    METHOD handle_user_command.
       DATA: lt_rows TYPE lvc_t_row.
        DATA: lt_rows TYPE lvc_t_roid.
        DATA: lt_row TYPE lvc_s_roid.
        DATA: mdata TYPE REF TO lcl_dragdropobj .
        DATA: dragdropobj TYPE REF TO lcl_dragdropobj .
    get selected row
        CALL METHOD malv_left->get_selected_rows
          IMPORTING
            et_row_no = lt_rows.
        CALL METHOD cl_gui_cfw=>flush.
        IF sy-subrc NE 0.
    add your handling, for example
          CALL FUNCTION 'POPUP_TO_INFORM'
            EXPORTING
              titel = g_repid
              txt2  = sy-subrc
              txt1  = 'Error in Flush'(500).
        ENDIF.
        CREATE OBJECT mdata.
        LOOP AT lt_rows INTO lt_row.
         mrow = lt_row .
          READ TABLE i_ztransactions INDEX lt_row-row_id INTO
                     i_ztransactions.
          MOVE i_ztransactions TO mdata->i_ztransactions .
          MOVE lt_row-row_id TO mdata->index.
          MOVE 'LEFT' TO mdata->original_table .
          e_dragdropobj->object = mdata .
        ENDLOOP.
      ENDMETHOD.                           "handle_user_command
      METHOD handle_dropcomplete_from_left .
      NB : the following data object MDATA is local to
      the method and contains the information from the
      import parameter of the method E_DRAGDROPOBJ
        DATA : mdata TYPE REF TO lcl_dragdropobj .
        DATA: lt_rows TYPE lvc_t_roid.
        DATA: lt_row TYPE lvc_s_roid.
        CALL METHOD malv_left->get_selected_rows
          IMPORTING
            et_row_no = lt_rows.
        CALL METHOD cl_gui_cfw=>flush.
        IF sy-subrc NE 0.
    add your handling, for example
          CALL FUNCTION 'POPUP_TO_INFORM'
            EXPORTING
              titel = g_repid
              txt2  = sy-subrc
              txt1  = 'Error in Flush'(500).
        ENDIF.
        LOOP AT lt_rows INTO lt_row.
          mdata  ?= e_dragdropobj->object .
          CHECK mdata->proceed_trans = 'X' .
          mrow = mdata->index.
          DELETE i_ztransactions INDEX mrow .
          APPEND mdata->i_ztransactions TO i_ztransactions2 .
          SORT i_ztransactions2 BY kunnr belnr .
          DELETE i_ztransactions2 WHERE kunnr IS INITIAL .
          DESCRIBE TABLE i_ztransactions LINES mlines .
          IF mlines EQ 0 .
            CLEAR  i_ztransactions .
            APPEND i_ztransactions TO i_ztransactions .
          ENDIF .
        ENDLOOP.
        CALL METHOD malv_left->refresh_table_display.
        CALL METHOD malv_right->refresh_table_display.
      ENDMETHOD .                    "HANDLE_DROPCOMPLETE_FROM_LEFT
      METHOD handle_drag_from_right.
        mrow = e_row-index .
        READ TABLE i_ztransactions2 INDEX mrow INTO
                   i_ztransactions2 .
        CREATE OBJECT mdata .
        MOVE i_ztransactions2 TO mdata->i_ztransactions .
        MOVE mrow TO mdata->index .
        MOVE 'RIGHT' TO mdata->original_table .
        e_dragdropobj->object = mdata .
      ENDMETHOD .                    "HANDLE_DRAG_FROM_RIGHT
      METHOD handle_dropcomplete_from_right .
        DATA : mdata TYPE REF TO lcl_dragdropobj .
        mdata  ?= e_dragdropobj->object .
        CHECK mdata->proceed_trans = 'X' .
        mrow = mdata->index .
        DELETE i_ztransactions2 INDEX mrow .
        APPEND mdata->i_ztransactions TO i_ztransactions .
        SORT i_ztransactions BY kunnr belnr .
        DELETE i_ztransactions WHERE kunnr IS INITIAL .
        DESCRIBE TABLE i_ztransactions2 LINES mlines .
        IF mlines EQ 0 .
          CLEAR  i_ztransactions2 .
          APPEND i_ztransactions2 TO i_ztransactions2 .
        ENDIF .
        CALL METHOD malv_left->refresh_table_display.
        CALL METHOD malv_right->refresh_table_display.
      ENDMETHOD .                    "HANDLE_DROPCOMPLETE_FROM_RIGHT
      METHOD handle_drop_to_left .
        DATA : mdata TYPE REF TO lcl_dragdropobj .
        mdata  ?= e_dragdropobj->object .
        IF mdata->original_table = 'RIGHT' .
          mdata->proceed_trans = 'X' .
        ELSE .
          mdata->proceed_trans = ' ' .
        ENDIF .
        e_dragdropobj->object = mdata .
      ENDMETHOD .                    "HANDLE_DROP_TO_LEFT
      METHOD handle_drop_to_right .
        DATA : mdata TYPE REF TO lcl_dragdropobj .
        DATA: lt_rows TYPE lvc_t_roid.
        DATA: lt_row TYPE lvc_s_roid.
        CALL METHOD malv_left->get_selected_rows
          IMPORTING
            et_row_no = lt_rows.
        CALL METHOD cl_gui_cfw=>flush.
        IF sy-subrc NE 0.
    add your handling, for example
          CALL FUNCTION 'POPUP_TO_INFORM'
            EXPORTING
              titel = g_repid
              txt2  = sy-subrc
              txt1  = 'Error in Flush'(500).
        ENDIF.
        LOOP AT lt_rows INTO lt_row.
          mdata  ?= e_dragdropobj->object .
          IF mdata->original_table = 'LEFT' .
            mdata->proceed_trans = 'X' .
          ELSE .
            mdata->proceed_trans = ' ' .
          ENDIF .
          e_dragdropobj->object = mdata .
        ENDLOOP.
      ENDMETHOD .                    "HANDLE_DROP_TO_RIGHT
    ENDCLASS .                    "DND_TOOLS IMPLEMENTATION
    DATA : mlistener TYPE REF TO dnd_tools .
    ======================================================
    START OF SELECTION
    ======================================================
    START-OF-SELECTION .
      PERFORM get_data .
      CALL SCREEN 100 .
    The screen 100 has the custom control MCONTAINER and
    on the flow logic has the following modules :
    PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
      MODULE PREPARE_SCREEN .
    PROCESS AFTER INPUT.
      MODULE USER_COMMAND_0100.
    (Off course not commented out in the real flow logic)
          FORM GET_DATA                                 *
    FOR THIS EXAMPLE THE DATA SELECTION IS HARD CODED
    FORM get_data .
      CLEAR : i_ztransactions , i_ztransactions[] .
      i_ztransactions-mandt = sy-mandt .
      i_ztransactions-waers = 'EUR  ' .
      i_ztransactions-kunnr = '0000000001' .
      i_ztransactions-belnr = '0000000001' .
      i_ztransactions-bldat = '20030101' .
    i_ztransactions-dmbtr = '1000' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000002' .
      i_ztransactions-bldat = '20030202' .
    i_ztransactions-dmbtr = '1010' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000003' .
      i_ztransactions-bldat = '20030323' .
    i_ztransactions-dmbtr = '1020' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000004' .
      i_ztransactions-bldat = '20030404' .
    i_ztransactions-dmbtr = '1030' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000005' .
      i_ztransactions-bldat = '20030505' .
    i_ztransactions-dmbtr = '1040' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000006' .
      i_ztransactions-bldat = '20030606' .
    i_ztransactions-dmbtr = '1050' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000007' .
      i_ztransactions-bldat = '20030707' .
    i_ztransactions-dmbtr = '1060' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000008' .
      i_ztransactions-bldat = '20030808' .
    i_ztransactions-dmbtr = '1070' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000009' .
      i_ztransactions-bldat = '20030909' .
    i_ztransactions-dmbtr = '1080' .
      APPEND i_ztransactions .
      i_ztransactions-belnr = '0000000010' .
      i_ztransactions-bldat = '20031010' .
    i_ztransactions-dmbtr = '1090' .
      APPEND i_ztransactions .
      CLEAR : i_ztransactions2 , i_ztransactions2[] .
      APPEND i_ztransactions2 .
    ENDFORM .                    "GET_DATA
    *&      Module  STATUS_0100  OUTPUT
    The PF STATUS STATUS100 called from the module below,
    has on the Standard toolbar the buttons
    BACK , EXIT and CANCEL .
    These buttons are provided with function code = 'EXIT'
    MODULE status_0100 OUTPUT.
      SET TITLEBAR 'TITLEDRAGDROP' .
      SET PF-STATUS 'STATUS100'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
         Module  USER_COMMAND_0100  INPUT
    The following module checks the User Command and ends
    the program
    MODULE user_command_0100 INPUT.
      IF ok_code = 'EXIT' .
        CLEAR : mcontainer ,
               mcontleft  ,
               mcontright ,
               msplitcont ,
               malv_left  ,
               malv_right .
        LEAVE TO SCREEN 0  .
      ENDIF .
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  PREPARE_SCREEN  OUTPUT
    MODULE prepare_screen OUTPUT.
      IF mcontainer IS INITIAL .
        CREATE OBJECT mcontainer
                      EXPORTING
                      container_name = 'MCONTAINER' .
        CREATE OBJECT msplitcont
                      EXPORTING
                      parent = mcontainer
                      orientation = 1 .
        mcontleft = msplitcont->top_left_container .
        mcontright = msplitcont->bottom_right_container .
        CREATE OBJECT malv_left
                      EXPORTING i_parent = mcontleft .
        gs_layout-sel_mode = 'D'.
        CREATE OBJECT malv_right
                      EXPORTING i_parent = mcontright .
        gs_layout-sel_mode = 'D'.
        PERFORM set_layout_capable_of_drag_dro
                      USING 'X' 'X' .
        CALL METHOD malv_left->set_table_for_first_display
          EXPORTING
            i_structure_name = 'ZTRANSACTIONS'
            is_layout        = gs_layout
          CHANGING
            it_outtab        = i_ztransactions[].
        CALL METHOD malv_right->set_table_for_first_display
          EXPORTING
            i_structure_name = 'ZTRANSACTIONS'
            is_layout        = gs_layout
          CHANGING
            it_outtab        = i_ztransactions2[].
        CREATE OBJECT mlistener .
        CALL METHOD malv_left->set_toolbar_interactive.
        SET HANDLER mlistener->handle_drag_from_left
                    FOR malv_left .
        SET HANDLER mlistener->handle_dropcomplete_from_left
                    FOR malv_left .
        SET HANDLER mlistener->handle_drag_from_right
                    FOR malv_right.
        SET HANDLER mlistener->handle_dropcomplete_from_right
                      FOR malv_right .
        SET HANDLER mlistener->handle_drop_to_right
                     FOR malv_right .
        SET HANDLER mlistener->handle_drop_to_left
                     FOR malv_left  .
      ENDIF .
    ENDMODULE.                 " PREPARE_SCREEN  OUTPUT
          Form  SET_LAYOUT_CAPABLE_OF_DRAG_DRO
    Definition of a Drag & Drop behaviour for the ALV
    grid
    FORM set_layout_capable_of_drag_dro  USING drag drop.
      DATA : effect TYPE i ,
             handle_alv TYPE i .
      CREATE OBJECT g_behaviour_alv.
      effect = cl_dragdrop=>move + cl_dragdrop=>copy .
      CALL METHOD g_behaviour_alv->add
        EXPORTING
          flavor     = 'Line'
          dragsrc    = drag
          droptarget = drop
          effect     = effect.
      CALL METHOD g_behaviour_alv->get_handle
        IMPORTING
          handle = handle_alv.
      gs_layout-s_dragdrop-row_ddid = handle_alv.
    ENDFORM.              " SET_LAYOUT_CAPABLE_OF_DRAG_DRO

  • Can I have two or more JVMs in one mashin and switch between them?

    Hi all,
    I want to have two JVMs in one mashin and switch between them via a httpListener. If I can, could you please guide me to do it?
    Thanks in advance,
    Orod Semsarzadeh

    may be my question is not fully clear. I mean, I want to have an bottun in my JSP when I click on it, 1 thread will be created and work in another JVM.

  • Need To Create a table in Sql Server and do some culculation into the table from Oracle and Sql

    Hello All,
    I'm moving a data from Oracle to Sql Server with ETL (80 tables with data) and i want to track the number of records that i moving on the daily basis , so i need to create a table in SQL Server, wilth 4 columns , Table name, OracleRowsCount, SqlRowCount,
    and Diff(OracleRowsCount - SqlRowCount) that will tell me the each table how many rows i have in Oracle, how many rows i have in SQL after ETL load, and different between them, something like that:
    Table Name  OracleRowsCount   SqlRowCount  Diff
    Customer                150                 150            
    0
    Sales                      2000                1998          
    2
    Devisions                 5                       5             
    0
    (I can add alot of SQL Tasks and variables per each table but it not seems logicly to do that, i tryid to find a way to deal with that in vb but i didn't find)
    What the simplest way to do it ?
    Thank you
    Best Regards
    Daniel

    Hi Daniel,
    According to your description, what you want is an indicator to show whether all the rows are inserted to the destination table. To achieve your goal, you can add a Row Count Transformation following the OLE DB Destination, and redirect bad rows to the Row
    Count Transformation. This way, we can get the count of the bad rows without redirecting these rows. Since the row count value is stored in a variable, we can create another string type variable to retrieve the row count value from the variable used by the
    Row Count Transformation, and then use a Send Mail Task to send the row count value in an email message body. You can also insert the row count value to the SQL Server table through Execute SQL Task. Then, you can check whether bad rows were generated in the
    package by querying this table.  
    Regards,
    Mike Yin
    TechNet Community Support

  • How to open and navigate between human task forms in a same page?

    Hi
    I use Oracle BPM 11.1.1.5
    I have a question about taskflows in BPM Application.
    In ADF web application, I create a sipmle task flow and insert view id and bind these to jspx pages, my pages are opend in same page when
    return an outcome.
    For exapmle I have three pages like A,B,C.
    In task flow, insert three view ids and bind to A,B,C.
    My first pages is A, and when outcome is B navigate to B, when my outcome is C then navigate to C in a same page not separate pages.
    But my problem is here.. in BPM Application when create task forms, every task has a separate task flow that there exist a single view id and a wild card flow in it.
    In BPM workspace when initiate human task form is closed, I should press refresh button to see next human task form in task list table.
    I tried to create a simple task flow and insert human task forms in it and navigate between these.. but show human task form in wrong display and don`t show some component and human task payload.
    Now, my question : How to open and navigate between human task forms in a same page like software installation?

    Having a separate Data Control for each human task is normally the case. There is a way to assign multiple human tasks to a single data control (and one task flow), but I don't think that this is going to help you with what I think you're trying to do.
    If your human task is called "EmployeeDetail", then you'd use the data control associated with this for the UI pages in the task flow diagram that is associated with this human task. For example, you might have a first page that has just the basic employee information - the fields (at least the ID field) would come from the EmployeeDetail data control. When the end user clicks "Next", you might have this UI page flow to a second UI page in the task flow diagram that has the employee's address information. You might place the address fields from the EmployeeDetail data control onto this second UI page.
    You might be asking how the work item instance can automatically flow to the next interactive activity in the process while staying inside the first interactive activity's human task's task flow diagram. This is not how it works - the task flow diagram models the end user interaction while inside a single human task that is tied to a specific interactive activity in the process. If you want a the end user to be able to move the instance through multiple interactive activities in the process in one interaction, look at "Activity Guides". Activity Guides do a nice job of this.
    Dan

  • How can I set the data binding between Web Dynpro & Database table

    Dear friend,
    I am a beginner of Web Dynpro. I want to develop my simple project like these:
    1. Create my own database table via Dictionary Project such as TAB_USER and have 3 fields: USER_ID, USER_NAME, USER_POSITION and I have already deployed & archived it.
    2. Create my own Web Dynpro Project, and create the input fields as User ID, User name, User position and icon 'Save' on the selection screen and I have deployed it already.
    For the process, I want to input data at the screen and save the data in the table, please give me the guide line like these:
    1. How can I set the data binding between Web Dynpro and Database table ?
    2.  Are there any nescessary steps that I will concern for this case?
    Sorry if my question is simple, I had try  to find solution myself, but it not found
    Thanks in advances,
    SeMs

    Hi,
    You can write your own connection class for establishing the connection with DB.
    Ex:
    public class  ConnectionClass {
    static Connection con = null;
    public static Connection getConnection() {
    try{
    Context ctx = new InitialContext();
    DataSource ds = (DataSource) ctx.lookup("jdbc/TSPAGE");
    con = ds.getConnection();
    return con;
    }catch(Exception e){
    return null;
    You can place the above class file in src folder and you can use this class in webdynpro.
    You can have another UserInfo class for reading and writing the data into the DB .
    Regards, Anilkumar
    PS : Refer
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/java/simple java bean generator for database.pdf
    Message was edited by: Anilkumar Vippagunta

  • Check 2 tables(Table A and Table B) and figure out new columns present in Table A and add these new columns to Table B

    How to check 2 tables(Table A and Table B) and figure out new columns present in Table A and add these new columns to Table b.
    DDL-
    Create table A
    ( A INT,
    B INT,C VARCHAR(2)
    Create table B
    A INT,
    B INT
    Any advice on the best approach or method to achieve this.
    I understand that I need to check the schema of the columns and then do a match between 2 tables and find new columns and then alter my target table
    Mudassar

    Can you try this..
    CREATE TABLE A ( A INT, B INT, C VARCHAR(2) )
    CREATE TABLE B ( A INT, B INT )
    Declare @ColumnVar nvarchar(128),@DatatypeVar nvarchar(128)
    SELECT @ColumnVar=x.COLUMN_NAME, @DatatypeVar=x.DATA_TYPE
    FROM INFORMATION_SCHEMA.COLUMNS AS x
    WHERE TABLE_NAME = 'A'
    AND NOT EXISTS ( SELECT *
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'B'
    AND COLUMN_NAME = x.COLUMN_NAME )
    Declare @SQL VarChar(1000)
    SELECT @SQL = 'ALTER TABLE B ADD ' + @ColumnVar + ' '+ @DatatypeVar
    Exec (@SQL)
    select * from B
    Please Mark This As Answer if it helps to solve the issue
    http://stackoverflow.com/questions/2614101/alter-table-my-table-add-column-int

  • To Identify Relationship between records in a table

    Hi
    I need to write a query to identify what relationship exists between records in a table.
    For example,In our system a manager can have more than 1 subordinate as well as an employee can also have more than 1 manager.
    I need to provide the relationship for a given set of employee-ids whether it is
    1 is to 1,
    1 is to many,
    many is to 1,
    many to many.
    Employee     Relationship     Relationship Description
    John     1 is to M     Implies John is reporting to multiple managers who have only one subordinate
    Stuart     1 is to 1     Implies Stuart is reporting to only one manager who has only one subordinate
    Robert     M is to 1     Implies Robert is reporting to only one manager who has multiple subordinates
    Martha     M is to M     Implies Martha is reporting to multiple managers who have multiple subordinates
    Can you please help me with this query?
    Regards
    Kapil

    To make things simple lets assume the following table structure and data
    CREATE TABLE EMP
    ENAME VARCHAR2(10),
    MNAME VARCHAR2(10)
    Data for M:1 Relationship
    INSERT INTO EMP VALUES ('John','Linda');
    INSERT INTO EMP VALUES ('Robert','Linda');
    Data for 1:M Relationship
    INSERT INTO EMP VALUES ('Peter','Stuart');
    INSERT INTO EMP VALUES ('Peter','Linda');
    Data for 1:1 Relationship
    INSERT INTO EMP VALUES ('Mary','Tim');
    Data for M:M Relationship
    INSERT INTO EMP VALUES ('Chris','Roger');
    INSERT INTO EMP VALUES ('Tom','Roger');
    INSERT INTO EMP VALUES ('Stephen','Roger');
    INSERT INTO EMP VALUES ('Stephen','Zoe');
    Now if I search for Chris and Mary I should get the result as:-
    Chris M:M
    Mary 1:1
    Hope this clarifies ;-)

Maybe you are looking for

  • How to post Adobe Bridge Gallery to iWeb???

    Hi, I would like to know how to place an adobe bridge gallery into iweb. I want to place it on a blank page so that I can use it as the home page that I will further design around. I did find one other post, however I am not understanding the instruc

  • PivotCharts and Templates

    I am using Office 365 on a Windows 8 installation on parallels on a mac In previous versions of Excel (2007 and 2010) I could create a PivotChart, make modifications to it and save it as a template.  I could apply this template to both regular charts

  • Can i move menu items(i.e. PhotoShop) from my mac to an ipad

    i want to have menu boxes displayed on an ipad to keep my screen free of clutter, organized and to make the menus a little more ledgable.

  • How to create scroller with paging concept for mobile apps?

    Hi, I need a scroller control with Paging concept. When the user is in Landscape view, I want to load set of images as a Photo gallary. Each time the user swipes, he can go to the next image or the previous image. Each image is fully fit in the whole

  • Dates for import are all wrong

    Hiya - I have been trying to import clips made last week. The date is correct but the year is 2009. They will put themselves into a 2009 event folder with other projects in. I have tried to create a 2010 event folder and drag the project into it but