Passing data between two canvases

Canvas A is a data entry form where users enter group number, paid from date and paid to date(static data).
Then they select from 1 to 30 reports(dynamic data) they want about the group.
Canvas B has a spread sheet appearance where the static data and the dynamic data is displayed for
verification of correctness before running the reports. The static and dynamic data for each report is
displayed one line per report. Canvas B updates a report database so the reports can be run at a scheduled
time other than the middle of the day.
If the user selects reports 1, 5, 11, 19, and 35 on A, I want the 5 reports lines on B to be the first 5 lines
instead of being tied to a specific line on B, i.e. report 5 options show up in the order selected instead of
always being on line 5 of B.
I tried to program loading canvas B like I do on the mainframe using a loop and an index number:
PROCEDURE PRC_BUILD_CANVASB IS
     loop_counter Number(2);
BEGIN
loop_counter := 1;
IF :CHK_REPORT1 = 'Y' THEN
:CHK_RUN(loop_counter) := 'Y';
:TXT_REQ_REPORT_ID(loop_counter) := 'Report 1';
:TXT_REQ_GRP_FROM(loop_counter) := :TXT_BGN_FROM||:TXT_BGS_FROM;
:TXT_REQ_PAID_FROM(loop_counter) := :TXT_PAID_FROM;
:TXT_REQ_PAID_TO(loop_counter) := :TXT_PAID_TO;           
loop_counter := loop_counter + 1;
END IF;                    
IF :CHK_REPORT2 = 'Y' THEN
:CHK_RUN(loop_counter) := 'Y';
:TXT_REQ_REPORT_ID(loop_counter) := 'Report 2';
:TXT_REQ_GRP_FROM(loop_counter) := :TXT_BGN_FROM||:TXT_BGS_FROM;
:TXT_REQ_PAID_FROM(loop_counter) := :TXT_PAID_FROM;
:TXT_REQ_PAID_TO(loop_counter) := :TXT_PAID_TO;           
loop_counter := loop_counter + 1;
END IF;                    
IF :CHK_REPORT3 = 'Y' THEN
:CHK_RUN(loop_counter) := 'Y';
:TXT_REQ_REPORT_ID(loop_counter) := 'Report 3';
:TXT_REQ_GRP_FROM(loop_counter) := :TXT_BGN_FROM||:TXT_BGS_FROM;
:TXT_REQ_PAID_FROM(loop_counter) := :TXT_PAID_FROM;
:TXT_REQ_PAID_TO(loop_counter) := :TXT_PAID_TO;           
loop_counter := loop_counter + 1;
END IF;
END;
I keep getting an error: Error 49 bad bind variable :CHK_RUN(loop_counter) . I tried preferencing the :CHK_RUN with
the block name and got the same error.
Any suggestions.
Bob

You cannot access a block's record by entering the record number behind the
items. Instead, you have to create / go to your record and then manipulate the
data of the currenr record. E.G.:
go_block('B');
clear_block;
if :A.check1 = 'Y' then
:b.report := 'something';
create_record; -- Jumps to next record for next if-then
end if;
if :A.check2 = 'Y' then
:b.report := 'some other thing';
create_record; -- Jumps to next record for next if-then
end if;
first_record;

Similar Messages

  • How to pass data between two internal sessions using ABAP memory?

    Hi,
    How to pass data between two internal sessions using ABAP memory?
    It would be fine if you could explain with an example.
    And also let me clear about the data passing between two main sessions and two external sessions with specific examples.
    Thanks.

    Hi ,
      check the example.
    Reading Data Objects from Memory
    To read data objects from ABAP memory into an ABAP program, use the following statement:
    Syntax
    IMPORT <f1> [TO <g 1>] <f 2> [TO <g 2>] ... FROM MEMORY ID <key>.
    This statement reads the data objects specified in the list from a cluster in memory. If you do not use the TO <g i > option, the data object <f i > in memory is assigned to the data object in the program with the same name. If you do use the option, the data object <f i > is read from memory into the field <g i >. The name <key> identifies the cluster in memory. It may be up to 32 characters long.
    You do not have to read all of the objects stored under a particular name <key>. You can restrict the number of objects by specifying their names. If the memory does not contain any objects under the name <key>, SY-SUBRC is set to 4. If, on the other hand, there is a data cluster in memory with the name <key>, SY-SUBRC is always 0, regardless of whether it contained the data object <f i >. If the cluster does not contain the data object <f i >, the target field remains unchanged.
    In this statement, the system does not check whether the structure of the object in memory is compatible with the structure into which you are reading it. The data is transported bit by bit. If the structures are incompatible, the data in the target field may be incorrect.
    PROGRAM SAPMZTS1.
    DATA TEXT1(10) VALUE 'Exporting'.
    DATA ITAB LIKE SBOOK OCCURS 10 WITH HEADER LINE.
    DO 5 TIMES.
      ITAB-BOOKID = 100 + SY-INDEX.
      APPEND ITAB.
    ENDDO.
    EXPORT TEXT1
           TEXT2 FROM 'Literal'
      TO MEMORY ID 'text'.
    EXPORT ITAB
      TO MEMORY ID 'table'.
    SUBMIT SAPMZTS2 AND RETURN.
    SUBMIT SAPMZTS3.
    The first part of this program is the same as the example in the section Saving Data Objects in Memory. In the example, the programs SAPMZTS1 and SAPMZTS2 are called using SUBMIT. You can create and maintain the programs called using the SUBMIT statement by double-clicking their names in the statement. For further information about the SUBMIT statement, refer to Calling Executable Programs (Reports)
    Example for SAPMZTS2:
    PROGRAM SAPMZTS2.
    DATA: TEXT1(10),
          TEXT3 LIKE TEXT1 VALUE 'Initial'.
    IMPORT TEXT3 FROM MEMORY ID 'text'.
    WRITE: / SY-SUBRC, TEXT3.
    IMPORT TEXT2 TO TEXT1 FROM MEMORY ID 'text'.
    WRITE: / SY-SUBRC, TEXT1.
    Example for SAPMZTS3:
    PROGRAM SAPMZTS3.
    DATA JTAB LIKE SBOOK OCCURS 10 WITH HEADER LINE.
    IMPORT ITAB TO JTAB FROM MEMORY ID 'table'.
    LOOP AT JTAB.
      WRITE / JTAB-BOOKID.
    ENDLOOP.
    The output is displayed on two successive screens. It looks like this:
    and
    The program SAPMZTS2 attempts to read a data object TEXT3 from the data cluster "text", which does not exist. TEXT3 therefore remains unchanged. The existing data object TEXT2 is placed in TEXT1. In both cases, SY-SUBRC is 0, since the cluster "text" contains data.
    The program SAPMZTS3 reads the internal table ITAB from the cluster "table" into the internal table JTAB. Both tables have the same structure, namely that of the ABAP Dictionary table SBOOK.
    Pls. reward if useful.....

  • Hide values in URL, passing data between two webdynpro(ABAP) applications.

    Hi
       When transferring the data between two webdynpro applications,  How to hide the values in URL.
    Example : First application is using for login
                    Second application is for some transactional screens.
    Based on first application login data second application should trigger. When passing the user id and password thru URL every one can see the user name and password at internet explorer, so how to hide that user name and password in URL.
    Thanks
    Murali Papana.

    Hi Lekha,
        Thanks for your reply, but I could not find parameter like visibility, andi found HAS_TOOLBAR but no use.
    I set it like
    CALL METHOD lo_window_manager->CREATE_EXTERNAL_WINDOW
      EXPORTING
        URL            = 'http://*****:8000/sap/bc/webdynpro/sap/Y1app1/?sap-language=EN&sap-client=200&sap-user=1104&sap-password=abcd'
        MODAL          = ABAP_FALSE
        HAS_MENUBAR    = ABAP_TRUE
        IS_RESIZABLE   = ABAP_TRUE
        HAS_SCROLLBARS = ABAP_TRUE
        HAS_STATUSBAR  = ABAP_TRUE
        HAS_TOOLBAR    = ABAP_FALSE
        HAS_LOCATION   = ABAP_TRUE
      RECEIVING
        WINDOW         = lo_window.
    Thanks
    Murali Papana.

  • Sharing data between two canvases on the same form ?

    Hello,
    I have one form with two canvases and two data blocks.
    Datablock A and datablock B are same tables.
    The reason I split is so I can have a search field on canvas A, then after executing the query, I want to populate canvas B.
    I'm having trouble sharing the data across both data blocks.
    Note: I set up a relation in datablock B to correspond with A, and I've chosen field name "Horse" to be my master and detail item.
    "When-button-pressed-trigger" --> Here is part of my code after the user presses the "Search" button (in datablock A).
         execute_query;
         SHOW_VIEW('CANVAS_HORSE');
         HIDE_VIEW('CANVAS_SEARCH');
         :fox_horse.horse := :fox_horse1.horse     ;                         GO_BLOCK('FOX_HORSE');
    When I go back to my "FOX_Horse" datablock, why is the :fox_horse.horse field the only one populated? I though by creating a relation btwn the two blocks they would syncronize automatically ?
    Any advice ?
    Thanks,
    Bob

    Alex,
    I have tried your suggestion, yet I'm still having a problem once I issue my execute_query command.
    In my Search button I have this code:
    BEGIN
    :fox_horse1.horse := :fox_horse.horse;
    GO_BLOCK('FOX_HORSE1');               
    execute_query;
    END;
    Note that FOX_HORSE is NOT a database block (as you suggested), but FOX_HORSE1 is a database block.
    So when I click on the "Search" button I can see the :fox_horse1.horse field getting populated immediately, but then the system asks me if I want to save changes. When I say NO, the actual data block portion of my screen just defaults to the first record, so my exec_query show no effect at all.
    What am I doing wrong in my search button trigger ?
    Thanks so much for your advice,
    Bob

  • Pass data between two views

    Hi experts,
    i want to pass data from a view to an other one, i am filling a structure, and want get it into another view,
    is there a way to handl this.
    Best Regards
    Tomas

    Hi,
    I am not getting your exact requirement but to pass data from one view to another try the following steps.
    1. Suppose view1 is the view where you will take data from user through i/p fields and display it in view2 through text view.
    2. First create context node with required attributes in component controller then map it to context of view1.
    3. Map the attributes to the i/p fields of the view.
    4. Then if you want to go to view2 on button click then create an event in onAction property of button.
    5. Create OutBound plug in view1 and InBound plug in view2.
    6. In enent handler method of the button write the fire method.
         eg.  wd_this->fire_to_view2_plg(  ).
    7. In windows embed both the views and create navigation link for OutBound plug of view1.
    8. To display the values in view2 first map the node from component controller to context of the view2.
    9. Now map the attribues of the node to the Text Views or i/p fields where you want to diplay the values.
       Automatically values will appear in view2.

  • Technique to pass data between two databases

    I am developing a web application with an offline client.
    for offline client am using embedded mysql using mysql-je http://mysql-je.sourceforge.net/
    for online ie for overall application( server ) am using mysql 5.0.
    i want to update data from client to server and also from server to client .
    pls tell me is how i can implements this ?...
    Message was edited by:
    vp_anil

    The other reply is about connectivity only. If you have connectivity then it isn't relevant. If you don't then you can't do anything.
    So ignoring that....
    >
    pls tell me is how i can implements this ?...It depends on your data.
    Basically you can have the following data problems
    A. Add rows
    B. Delete rows
    C. Modify rows
    You can also have two directions
    1. Client to main database.
    2. Client from main database.
    In terms of solution.
    - Decide direction.
    - Add rows - use a creation time stamp. Get last update timestamp then moving anything newer.
    - Delete rows. Harder than add because either you have to keep a record of deleted entries or you have to compare the entire existing set and look for holes. Once you find existing entries then delete them.
    - Modify. Much harder and it depends on the data. It should also be considered whether manual verification is required. For instance can the customer address (stored in the database) be updated both on the clien and the main database? If yes then which one is right? What if the address was updated in both places and then a day later the phone number was updated? Two changes and maybe one is right in one place and one is right in the other. A replay log might help here but maybe not.

  • OBIEE 11G - Issue passing parameters between two reports

    Hi folks,
    I am struggling to pass parameters between two reports in OBIEE 11G.
    My first report contains the following columns: Rolling Year Type (VCHAR), Year(VCHAR), Month(VCHAR), Cost(Double).
    My second report contains the following columns: Rolling Year Type(VCHAR), Year(VCHAR), Month(VCHAR), Category(VCHAR), Cost(Double).
    My requirement is to pass the Rolling Year Type, Year and Month values from report 1 to report 2.
    On the Month column properties of report 1, I have created an Action Link called 'Drill to Category'. I have clicked on 'Navigate to BI Content' and selected Report 2.
    Then on Report 2, I have included three filters: Rolling Year Type is prompted, Year is prompted, Month is promted.
    When I run the report I always get the following error:
    The specified criteria didn't result in any data. This is often caused by applying filters and/or selections that are too restrictive or that contain incorrect values. Please check your Analysis Filters and try again. The filters currently being applied are shown below.
    When I check the cursor cache, the filter values are correct. Does anybody have any idea why Report 2 does not display?
    When I remove the Month filter, the report works correctly.
    I have since changed the third filter to be Month No and although Report 2 does display, it does not pick up the filter on the Month No.
    I initially thought this may have been a caching issue and so I have disabled BI Server Cache but this does not fix my problem.
    This was never an issue on OBIEE 10G as I found it very easy to navigate between two requests.
    Has anyone else experienced problems with passing parameters between two request in 11G?
    Any help appreciated.
    Thanks
    Gavin

    Hi,
    I once tried this kind of requirement(with dashboard prompts though) and hit at similar issue. I later found out that the problem is with the space in the parameter values. Can you please let me know, if the same is the case with you?
    Suppose the parameter passed is "Jan 2010", but the report on the destination takes the value as "Jan" & "2010". Yes, it kind of split the parameter value to two based on space. I think we can notice the filters the destination report got, by enabling filter view.
    In this case, since you pass only value at a time, could you try placing the parameter value anyway in double quotes? I think the Server then will understand it as one value.
    Thank you,
    Dhar

  • Sharing data between two separate user sessions

    Hi all!
    I have been trawling my brain for a solution to this - any help will be appreciated!
    I would like to create a single instance of a class but share that instance over more than one user session (two separate users but both running concurrently).
    Just as you can pass data between sessions using ABAP memory - I would like to pass data (specifically an object reference) between two separate users that could even be logged in to two separate application servers...
    Even a mini Client/server solution would suffice but I cannot figure one out!
    Is this possible?
    Many thanks for your thoughts in advance...
    N

    Hello N K,
    sorry thats not possible. Sharing a data item / object instance requires at least a common physical memory. As this is not guaranteed between different app. server this is technical not possible.
    With release 640 ABAP offers the new feature Shared Objects. These mechanism allows access by different users and some propagation to differnt servers.There is an interesting article on the ABAP SDN homepage
    https://www.sdn.sap.com/sdn/developerareas/abap.sdn
    For relases below more or less the database is the only chance to store data accross application servers (known to me). One exception might be the ENQUEUES which might (mis)used to store some Flags.
    Kind Regards
    Klaus
    Link to Shared Objects PDF
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/shared objects in abap

  • How can I get extract the data between two cursors on an XY graph

    How can I get extract the data between two cursors on an XY graph

    Well, you say xy graph, so this might be a more complicated problem.
    For a waveform graph it's trivial. Simply get the two cursor indices (property: cursor index) and apply them to array subset of the data. Is that all you need?
    Here's how the above code would look like. using cursor.index instead of cursor.x elimnates the need to include scaling information.
    For an xy graph, there could be multiple segments (e.g. imagine a spiral that passes the desired x range multiple times from both sides). This would neeed significantly more code for a general solution.
    Message Edited by altenbach on 11-24-2009 07:53 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    cursorsubset.png ‏17 KB

  • Performace tuning: how to pass data between different batch job programs?

    Hi everyone,
        now i have one problem about performance tuning using threading in SAP programs: split one big program into two programs - one is main program and the other is sub program. using batch jobs, we can submit multi jobs of sub program at the same time.
        does anybody know how to pass data between different batch jobs? I don't want to use temp files. can ABAP memory can implement this?
        thanks!

    Wei,
    Yes we can transfer the data by using
    SAP Memory OR ABAP Memory.
    Ex:  V_count TYPE i.
      V_count = 100.
    LOOP AT  itab.
    IF v_count EQ 25.
    Here For every batch job
      EXPORT data TO MEMORY ID 'ABC'
       Function module
        JOB_OPEN
       JOB_SUBMIT
       JOB_CLOSE.
      ENDIF.
    ENDLOOP .
    IN your 2nd program.
    INITIALIZATION.
    IMPORT data FROM MEMORY IF 'ABC'.
    FREE memory if .---When you free the memory you will get recent data.
    Don't forget to reward if useful.

  • SAP threading-how to pass data between different batch job programs?

    Hi everyone,
        now i have one problem about performance tuning using threading in SAP programs: split one big program into two programs - one is main program and the other is sub program. using batch jobs, we can submit multi jobs of sub program at the same time.
        does anybody know how to pass data between different batch jobs? I don't want to use temp files. can ABAP memory can implement this?
        thanks!

    Passing Data Between Programs
    [http://help.sap.com/saphelp_47x200/helpdata/en/9f/db9df735c111d1829f0000e829fbfe/frameset.htm|http://help.sap.com/saphelp_47x200/helpdata/en/9f/db9df735c111d1829f0000e829fbfe/frameset.htm]

  • Carrying data between two webdynpro programs.

    Dear Experts,
    Consider the scenario and please give the solution.
    I waant to design a re-imbersment form, in ESS, where a employee submits a claim form, after which a workflow is triggerred in RFC givin mail to the approver. Then the approver logs in with his id in the ESS. He gets the same screen but without some buttons and  with some buttons to approve the request.
    My question is how to trigger this eventing. How to pass data between these two webdynpro programs written for employee and the approver, and howw to trigger the event as whent the employee submits the form only after that the screen is visible to the approver.

    Hi Vineet,
    Here is what I will do for this problem:
    1) There will be only one application for employee and approver. Based on the role, we can hide/show the relevant buttons to both of them.
    2) I am not sure if you are using CAF Layer. If you are using you can use the Local Persistancy feature to store the data temporarily there and only after approval the data gets posted into SAP.
    However, if you are not using the CAF Layer, I suppose you will have to create some temporary tables to store the data once the employee submits the application. This should also generate some unique request ID.
    3) Once the employee submits the application, you need to configure to send the alert to the approver via mail or in SAP UWL. The mail and UWL should contain link to the same application with the some unique request ID. When you read the tables second time with the request ID and the role approver you should show the user approval buttons.
    Thats what I can think of at a very high level.
    Regards,
    Shubham

  • How to pass Parameters between two forms

    im trying to do this but i could not find any way for this.
    can any one help me how can i pass parameters between two forms
    in forms4.5. any help will be appreciated
    thanks.
    null

    Global variables can be used, but you can do what the online help
    says ...
    Parameters are passed to called forms by means of a parameter
    list. A parameter list is a named programmatic construct that is
    simply a list of parameter names (called keys) and their values.
    You can pass parameter values to forms invoked by the built-in
    subprograms CALL_FORM, OPEN_FORM, and NEW_FORM. In addition, you
    can pass parameter values to other Oracle tools with the
    RUN_PRODUCT procedure.
    A parameter you include in a parameter list can be either a text
    parameter or a data parameter. The parameter type determines how
    its value is interpreted.
    Text Parameters The value of a text parameter being passed to a
    called product is a CHAR string that can represent the following:
    n a user-defined form parameter defined in a form invoked
    by the CALL_FORM, OPEN_FORM, or NEW_FORM built-in subprograms
    n a command line or user-defined parameter for a product
    invoked with the RUN_PRODUCT built-in subprogram
    Data Parameters The value of a data parameter being passed to a
    called product is always the name of a record group defined in
    the current form. (A record group is a data structure that
    stores records derived from a query or through programmatic
    assignment.) Data parameters are used to pass data to products
    invoked with the RUN_PRODUCT built-in subprogram. You cannot
    pass data parameters to forms.
    The following table shows the structure of a parameter list that
    contains four parameters:
    Key Paramtype Value
    CITY Text_Parameter 'BOGOTA'
    CATEGORY Text_Parameter 'EXPORTS'
    MULTIPLIER Text_Parameter '.0275'
    NEW_DATA Data_Parameter 'RECORD_GROUP8'
    arun reddy (guest) wrote:
    : im trying to do this but i could not find any way for this.
    : can any one help me how can i pass parameters between two forms
    : in forms4.5. any help will be appreciated
    : thanks.
    null

  • How to share the data between two or more frames

    How to share the data between two or more frames based on the database relationship in JDeveloper?

    You can pass data between frames by passing it as parameters.
    That is when you are invoking another frame, pass your data as arguments through the constructor to that frame .
    You can also achieve this through static or public methods, but static variables as we know is not suggested which might occupy more memory space.
    Regards,
    Srinivasan AShwath
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by [email protected]:
    How to share the data between two or more frames based on the database relationship in JDeveloper? <HR></BLOCKQUOTE>
    null

  • How to pass parameters between two xterm windows?

    Hi,
    I would like to know how to pass parameters between two xterm windows where there are two independence processes running on them respectively ? Would appreciate if any one out there can advise me . Thanks.

    Global variables can be used, but you can do what the online help
    says ...
    Parameters are passed to called forms by means of a parameter
    list. A parameter list is a named programmatic construct that is
    simply a list of parameter names (called keys) and their values.
    You can pass parameter values to forms invoked by the built-in
    subprograms CALL_FORM, OPEN_FORM, and NEW_FORM. In addition, you
    can pass parameter values to other Oracle tools with the
    RUN_PRODUCT procedure.
    A parameter you include in a parameter list can be either a text
    parameter or a data parameter. The parameter type determines how
    its value is interpreted.
    Text Parameters The value of a text parameter being passed to a
    called product is a CHAR string that can represent the following:
    n a user-defined form parameter defined in a form invoked
    by the CALL_FORM, OPEN_FORM, or NEW_FORM built-in subprograms
    n a command line or user-defined parameter for a product
    invoked with the RUN_PRODUCT built-in subprogram
    Data Parameters The value of a data parameter being passed to a
    called product is always the name of a record group defined in
    the current form. (A record group is a data structure that
    stores records derived from a query or through programmatic
    assignment.) Data parameters are used to pass data to products
    invoked with the RUN_PRODUCT built-in subprogram. You cannot
    pass data parameters to forms.
    The following table shows the structure of a parameter list that
    contains four parameters:
    Key Paramtype Value
    CITY Text_Parameter 'BOGOTA'
    CATEGORY Text_Parameter 'EXPORTS'
    MULTIPLIER Text_Parameter '.0275'
    NEW_DATA Data_Parameter 'RECORD_GROUP8'
    arun reddy (guest) wrote:
    : im trying to do this but i could not find any way for this.
    : can any one help me how can i pass parameters between two forms
    : in forms4.5. any help will be appreciated
    : thanks.
    null

Maybe you are looking for

  • Iphone 4s battery draining fast

    I recently updated my iphone to software IOS 8, however my phone heats up very hot and the battery does not last more than 6 hours, even when fully charged beforehand. I have followed all of the guides online on how to reduce your battery usage, but

  • Error while creating AR Invoice from Sales order

    Hi All, I have created a sales order ,when i try to create AR Invoice through Copy To option i am getting an error Business partner of copied down payment document must be the same as business partner of target document Please help me to solve this i

  • Non Drop frame capture causing out of sync clip?

    Hi, All, I've been having trouble with sync issues on an hour long tape capture. The material was captured from a Canon consumer DV cam (z80) using firewire into my powerbook g4. (The material on the dv tape was originally recorded in Video 8mm and t

  • How to detect Non-English characters

    I have a report containing Korean language and English in a single column. My requirement is to detect the Korean language and pass it to the place holder column and detect English language and pass it to other place holder column. Please help me guy

  • How can I get Connection(Database Connection)on my backing bean

    hello guys! How can I get the Database Connection on my managed bean? I want to use this connection for my reports. thanks a lot! alvin