Forms 5 Open API Problem

How can the displayed text of an existing Graphics Text
(Boilerplate) be modified with Open API functions?
All(?) properties of all Forms objects can be modified with
function calls similar to the calls in the example below. Just
this one seems impossible.
(See Forms builder help topic "Open API, creating module")
Code fragment:
/* create a Graphics Object */
status = d2fgracr_Create( pd2fctx , pd2fcnv,
&pd2fgra, (text*) "MYTEXT" );
/* set Graphics type to TEXT */
status = d2fgras_graphics_typ(pd2fctx,pd2fgra,D2FC_GRTY_TEXT);
/* set displayed text to "TEXT1" */
status = d2fgras_gra_text(pd2fctx,pd2fgra,(text*) "TEXT1");
/* Modify "TEXT1" to "TEXT2" */
status = d2fgras_gra_text(pd2fctx,pd2fgra,(text*) "TEXT2");
/* Check value; ought to be "TEXT2" */
status = d2fgrag_gra_text(pd2fctx,pd2fgra,&tex);
printf("%s",tex); /* prints TEXT1 !!!????*/
null

I checked PATH environment variable and it already contains path having Forms DLLs in it.
After that I deinstalled Oracle 9 database from computer and tried again to start my program.
Now it works but I don't know why it was having trouble creating context with d2fctxcr_Create when database was installed on computer.
Anyway, I might need database in the future so I would like that it coexists peacefully on my computer with Oracle Designer. How can I achieve that? Tnx in advance.

Similar Messages

  • Forms Open API and ActiveX

    I need to access the open api and display some of the activex related information stored in our forms. The api header files i have (6i release 2) do not have the required macro d2fitmg_activex_val_prop, which should be in the file D2FITM.H. Nor can I find D2FP_ACTIVEX_VAL_PROP. Both are descibed in the online help, but missing from the headers. I do not whether the .lib file supports it.
    Can anyone tell me what I should do? Where I can find the latest API? I downloaded Forms 6i Release 2 only yesterday, but the header files are the same.
    Thank you for your time.

    This is a bug in the documentation. The property in question is not exposed through the API.
    In the builder when you select this property within the Property inspector, the Control then pops up it's own property palette. There is no way we can do that in batch so the property is not exposed.

  • font color=red Create/Modify forms and triggers through C++ using OPEN API

    <font color=red>
    Dear brothers/sisters<font color=darkblue>
    <br><br>
    Please help us to find the linking problem.
    <br>
    We have to add PRE-FORM trigger to many FMBies. We have thousants of FMBies. So opening one by one is difficult. For this we are using OPEN API and BORLAND C++. We have coppied all header files from D:\orant\FORMS60\API.
    But there is a link error. Here is the snippet.
    <br>
    <font color=red>
    <br>#include <stdio.h>
    <br>#include <stdlib.h>
    <br>#include <malloc.h>
    <br>#include <d2fctx.h> /* Forms API context */
    <br>#include <d2ffmd.h> /* Form module header file */
    <br>int main (int argc, char *argv[])
    <br>{
    <br>d2fctxa ctx_attr;
    <br>d2fctx *ctx;
    <br>d2ffmd *form;
    <br>text *form_name;
    <br>/* Check arguments */
    <br>if ( argc != 2 )
    <br>{
    <br>fprintf(stderr, "USAGE: %s <filename>\n", argv[0]);
    <br>exit(1);
    <br>}
    <br>/* Create Forms API context */
    <br>ctx_attr.mask_d2fctxa = (ub4)0;
    <br>if ( d2fctxcr_Create(&ctx, &ctx_attr) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Error creating Forms API context\n");
    <br>exit(1);
    <br>}
    <br>/* Load the form module into memory */
    <br>if ( d2ffmdld_Load(ctx, &form, argv[1], FALSE) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Failed to load form module: %s\n", argv[1]);
    <br>exit(1);
    <br>}
    <br>/* Get the name of the form module */
    <br>if ( d2ffmdg_name(ctx, form, &form_name) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Error getting the name of the form module\n");
    <br>}
    <br>else
    <br>{
    <br>/* Print the name of the form, then free it */
    <br>printf ("The name of the form is %s\n", form_name);
    <br>free(form_name);
    <br>}
    <br>/* Destroy the in-memory form */
    <br>if ( d2ffmdde_Destroy(ctx, form) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Error destroying form module\n");
    <br>}
    <br>/* Close the API and destroy context */
    <br>d2fctxde_Destroy(ctx);
    <br>return 0;
    <br>}
    <br>
    <font color=darkblue>
    <br>
    The compilation is success. But there is a link error. Please help us to find the problem.
    <br><br>
    Here is the error Message.
    <br>
    <font color=red>
    <br>Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
    <br>FIRST.CPP:
    <br>Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
    <br>Error: Unresolved external '_d2fctxcr_Create' referenced from D:\API\FIRST.OBJ
    <br>Error: Unresolved external '_d2ffmdld_Load' referenced from D:\API\FIRST.OBJ
    <br>Error: Unresolved external '_d2ffmdgt_GetTextProp' referenced from D:\API\FIRST.OBJ
    <br>Error: Unresolved external '_d2fctxde_Destroy' referenced from D:\API\FIRST.OBJ
    <br><br>
    <font color=darkblue size=4>Could you please help us.......<br>

    <font color=red>
    Dear brothers/sisters<font color=darkblue>
    <br><br>
    Please help us to find the linking problem.
    <br>
    We have to add PRE-FORM trigger to many FMBies. We have thousants of FMBies. So opening one by one is difficult. For this we are using OPEN API and BORLAND C++. We have coppied all header files from D:\orant\FORMS60\API.
    But there is a link error. Here is the snippet.
    <br>
    <font color=red>
    <br>#include <stdio.h>
    <br>#include <stdlib.h>
    <br>#include <malloc.h>
    <br>#include <d2fctx.h> /* Forms API context */
    <br>#include <d2ffmd.h> /* Form module header file */
    <br>int main (int argc, char *argv[])
    <br>{
    <br>d2fctxa ctx_attr;
    <br>d2fctx *ctx;
    <br>d2ffmd *form;
    <br>text *form_name;
    <br>/* Check arguments */
    <br>if ( argc != 2 )
    <br>{
    <br>fprintf(stderr, "USAGE: %s <filename>\n", argv[0]);
    <br>exit(1);
    <br>}
    <br>/* Create Forms API context */
    <br>ctx_attr.mask_d2fctxa = (ub4)0;
    <br>if ( d2fctxcr_Create(&ctx, &ctx_attr) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Error creating Forms API context\n");
    <br>exit(1);
    <br>}
    <br>/* Load the form module into memory */
    <br>if ( d2ffmdld_Load(ctx, &form, argv[1], FALSE) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Failed to load form module: %s\n", argv[1]);
    <br>exit(1);
    <br>}
    <br>/* Get the name of the form module */
    <br>if ( d2ffmdg_name(ctx, form, &form_name) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Error getting the name of the form module\n");
    <br>}
    <br>else
    <br>{
    <br>/* Print the name of the form, then free it */
    <br>printf ("The name of the form is %s\n", form_name);
    <br>free(form_name);
    <br>}
    <br>/* Destroy the in-memory form */
    <br>if ( d2ffmdde_Destroy(ctx, form) != D2FS_SUCCESS )
    <br>{
    <br>fprintf(stderr, "Error destroying form module\n");
    <br>}
    <br>/* Close the API and destroy context */
    <br>d2fctxde_Destroy(ctx);
    <br>return 0;
    <br>}
    <br>
    <font color=darkblue>
    <br>
    The compilation is success. But there is a link error. Please help us to find the problem.
    <br><br>
    Here is the error Message.
    <br>
    <font color=red>
    <br>Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
    <br>FIRST.CPP:
    <br>Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
    <br>Error: Unresolved external '_d2fctxcr_Create' referenced from D:\API\FIRST.OBJ
    <br>Error: Unresolved external '_d2ffmdld_Load' referenced from D:\API\FIRST.OBJ
    <br>Error: Unresolved external '_d2ffmdgt_GetTextProp' referenced from D:\API\FIRST.OBJ
    <br>Error: Unresolved external '_d2fctxde_Destroy' referenced from D:\API\FIRST.OBJ
    <br><br>
    <font color=darkblue size=4>Could you please help us.......<br>

  • Opening User defined Fields Form via API

    Hi
    Is there a posiibility to open those user defined field - forms via API. If yes is it possible to check if it is already open?
    TIA
    Phile

    Hi,
    In your eventhandler, you can use this:
    Set oSboForm = Sbo_application.Forms.GetFormByTypeAndCount(-pval.FormType, pval.FormTypeCount)
    form and udf-form are linked through a minus sign.
    I do not know of a nice way to check if they are anebled. What I'm currently doing is running the above line of code contained in an error handler. The error handler does a sendkeys of control shift u (which enables the udf-form) and displays a message. Problem is after control shift u, screen is not yet updated so your code cannot continue immediatelly. Development knows of this problem, but I never received a promise when this will be fixed.
    Hope this helps,
    Jacques

  • Amount of forms open in the session

    Hello all,
    I would like to restrict/control the amount of forms open by the user,
    as I am using open_form.
    I have found nothing in the forms help about that, like a system variable and nothing so far on the web.
    A possible workaroung/idea could be to have a global
    that I count up on when-new-form-instance
    and count down on key-exit.
    Did someone have experience that problem ? what do you think ?
    I am using Forms 10g R2.
    Regards
    Frane
    PS : I guess an amount of 10 forms open by user, could be a good limit in order to don't get performance problem.

    Hello François,
    So far that's the only workaround that I found sor far, init the global at my starting, then count up/down.
    Do you think a limit of 10 opened forms at the same time is reasonable ?
    Thx
    Frane
    PS : btw bravo about your LAF project !!!!, it rocks the layout, I am testing it at the moment on forms migration 6i=>10g that I have to do (sad that it's not brand new appli/project to do, then layout could be really be review and defined nice from the beginning)

  • InfoPath form opens in the browser instead of InfoPath Filler when a link is clicked from the Approval Task email

    I have an admin approved InfoPath 2010 form that is web enabled. It is published to a SharePoint 2010 Forms library and an Approval Workflow is attached to it.
    The form needs to open up in the InfoPath Filler with the Workflow Task bar at the top so users can approve the task from within the form and not go to Tasks list to do so.
    Here's a problem I am experiencing: sometimes the form opens in InfoPath Filler and sometiems it opens in the browser when the link to approve the form is clicked form the email that is sent by the workflow.
    Windows 7, IE 9, MS Office 2010:
    The form opens up in InfoPath filler like it supposed to. The Workflow task bar is there for users to approve the form.
    Surface Pro with Windows 8.1, IE 11 and MS Office 2013
    The form opens up in the browser and there is no Workflow task bar at the top.
    Things that I've already looked at and tried which didn't solve the issue:
    - The forms library is exclusivly set to open documents/forms in the Client Application
    - Set the browser compatibility mode in IE 11, that doesn't work too well, because you have to do it every time you open the browser.
    - Setting browser compatility in IE 11 reintroduced another issue, of multiple login promts, which was fixed by entering the SharePoint site in question into the Trusted sites by a group policy. Adding the site to trusted sites made the forms open up in the
    browser.
    - Researched compatibility issues with InfoPath and Windows 8.1, cannot find anything.
    - Researched compatibility issues with InfoPath 2010, Windows 8.1 and SharePoint 2010, also didn't find anything.
    Can someone offer a suggestion on how to fix this problem, preferably with no code, because we are not allowed to put custom code on the server?
    I need to force InfoPath form to open in InfoPath Filler when the link to the form is clicked from the Workflow email. Also the login prompts should not pop up. Need it to work on all the platforms: Windows 7, and Surface Pro Windows 8.1.
    Thank you.

    Hi,
    Thank you for your response.
    [Steps about how to capture the capture the fiddler log]
    ===========================================
    1. Download fiddler from
    http://fiddler2.com/
    2. Install fiddler and launch fiddler.
    3. When the fiddler be launched, the log will be enabled automatically.
    4. You can click “X” to remove all the records before you reproduce the issue.
    5. If the web site has been configured to https. Please enable https option:
                 Click “Tools” -> “Fiddler Options”            
    Switch to HTTPS tab, then check “Capture HTTPS CONNECTs” and “Decrypt HTTPS traffic”.
    6. Then repro the issue.
    7. Click “File”->”Capture Traffic”, uncheck the Option “Capture Traffic” to make sure the “
    ” is not shown, that mean the logs has been stopped.
    8. Click “File”->”Save” ->”All sessions”, save the file.
    Any quesitons, please let me know.
    Best Regards,
    Dats Luo

  • Changing fields in form opened in query mode via a link from a report

    I have a summary report which allows me to access a form via a link: The form opens up with its fields populated with the corresponding record from the report.
    Can additional code be added to the after displaying page section of the form such that some of the fields can be assigned with different values from those in the original record? If so, can anyone offer some sample code for this?

    Hi,
    You can access and set the values of the columns in forms by using certain apis. All the columns in the form are available in the session which can be accessed and set.
    Sample Code
    declare
    flightno number;
    ticketno varchar2(30);
    tdate date;
    persons number;
    blk varchar2(10) := 'DEFAULT';
    begin
    flightno := p_session.get_value_as_varchar2(
    p_block_name => blk,
    p_attribute_name => 'A_FLIGHT_NO');
    ticketno := p_session.get_value_as_varchar2(
    p_block_name => blk,
    p_attribute_name => 'A_TICKET_NO');
    tdate := p_session.get_value_as_date(
    p_block_name => blk,
    p_attribute_name => 'A_TRAVEL_DATE');
    persons := p_session.get_value_as_number(
    p_block_name => blk,
    p_attribute_name => 'A_NOF_PERSONS');
    p_session.set_value(
    p_block_name => blk,
    p_attribute_name => 'A_FLIGHTNO',
    p_value => to_char(NULL)
    p_session.set_value(
    p_block_name => blk,
    p_attribute_name => 'A_TICKETNO',
    p_value => to_char(NULL)
    p_session.set_value(
    p_block_name => blk,
    p_attribute_name => 'A_TRAVEL_DATE',
    p_value => to_char(NULL)
    end;
    The above code sets and gets value of the form fields. The form field is accessed by prefixing "A" to the form column name. For example if the column name is "DEPTNO" then to access or set value to it you should refer to the session variable "A_DEPTNO".
    Thanks,
    Sharmila

  • Saved PDF form opens blank on another workstation

    I have a weird problem I have been unable to resolve. On one pc I have acrobat 6 pro. On another PC I have acrobat 7 standard and on the last pc I have acrobat 9 standard. I have a PDF form that we have been using for the last couple of years that was created in acrobat 6 pro. it is running with no security and you can saved the completed form with no problem. When I open it up on the acrobat 6 pro pc all the text i typed in in the form appears. when I open the same file on the acrobat 7 or 9 pc's the text i typed in is missing. I have been unable to find an answer to this problem and would appreciate any input anyone might have.

    No reader is not installed on any of these systems. I could not see any problems with this form either but that form I posted actually is one of the completed forms yet it too is empty. I even went to a friends location and opened it with his copy of acrobat and it to was missing all the text filled in fields.

  • Creating Modules using Open API

    Hi,
    I am trying to create Form module using Open API.
    What I would like to know is :-
    1. How to link the source file (c++) against the Open
    API library (f60d2f32.lib).
    The c++ source file, Does it have to be .c extension ?
    2. Compile the files to create an executable.
    Anyone got any idea or can point to URL where I can get more info.
    Thanks - Appreciate your help.

    This really needs to go to one of the Developer (FOrms/Reports) forums, but any interface to Forms/Reports/Etc. will need to be compiled and linked as 'C', not 'C++'.

  • Planning web form opening slow

    Hi All,
    I have a web form which consist of 12 dimensions and in the forms I have referred the stored data members. These stored data members are level zero members in hierarchy  and the form  is opening fine. When I have moved this stored data member from level zero to level five, the form is taking more time to open.
    Problem: After changing a position of the member from level zero to level five, it is taking more time to open the form. Still it is stored data member and the IDescendants have many dynamic calc members.
    Could some one explain me why it is taking more time being a stored data member. Many thanks in advance.

    If there are many dynamic calc members or a member that relies on dynamic calcs then maybe it is taking a long time to calculate them which is causing the slow performance.
    It is probably worth having a read of the following support doc for designing forms - Hyperion Planning Data Form Design Considerations (Doc ID 779502.1)
    Cheers
    John

  • Open API App (Windows based) fails to open FMB on Unix file system

    My Open API, Windows based app, can successfully open and 'get' properties of FMBs stored in the Windows file system. However, it fails to load the FMB when the FMB resides on a networked Unix server. The same FMBs on Unix can be opened by the Windows based FormBuilder (over the network). I can copy the FMB down to Windows and without re-compiling the FMB, my Open API app can 'load' the FMB and 'get' all the properties. What suggestions can you give for debugging / resolving this? I need to be able to 'Load' the FMBs (through the Open API), that reside in the Unix file system, from Windows.
    JJ

    Generally, this is why we will tell you that accessing net shares is not supported and in places where it might even be supported, we would still suggest that it is not recommended. Accessing via net shares (especially through Windows) is often problematic. There are various performance and connectivity issues that, unfortunately fool you into believing that the product you are using is flawed when the problem is really a connection issue with the share.
    In your case, because you are not exactly using an Oracle product (initially), Oracle can't offer much anyway, but I would recommend against using shares whenever possible. If you need to access a file, copy it locally first, perform whatever task on it, then return the updated file to its origin. This method protects you from things like net failure and instability as well as the performance issues associated with accessing files remotely.

  • No form opened yet

    Hello!
      I am getting the below error while executing the SAP Script.
    Normally its working fine. But if we are printing more than 32 elements, its giving the error.
    No form opened yet
    Message no. QG159
    Diagnosis
    When calling up one of the parameters FORM or LANGUAGE only blanks were transferred. A layout set has yet to be selected, whose name or language could be used as a default value.
    System Response
    This causes the program to terminate.
    Procedure
    The problem can only be rectified by a program change.
    regards
    Rajesh V

    You should debug and check exact cause of this.Cause can be due to some missing parameter value like layout name or lanuage.
    Check parameter values of open_form and write_form function module.

  • OPEN API: What do I have to do to create program units?

    What do I have to do to create program units? Which properties do I have to set?
    I have tried the following code, but it haven't
    worked. Could anybody post the example how do that.
    I use Forms 6.0 Client/Server, Windows 2000.
    Here is my code:
    // I believe, the OPEN API is loaded and
    // form is created correctly.
    // pd2fctx is an open api context; pd2ffmd is a form
    char *pu_name="TEST";
    char *pu_text="CREATE PACKAGE TEST IS\n"
    "PROCEDURE PROC1;\n"
    "END;";
    d2fpgu *obj=0;
    status=d2fpgucr_Create( pd2fctx, pd2ffmd, &obj, (text*)pu_name );
    CheckError( status, "d2fpgucr_Create fails" );
    // These lines don't set the property values, I don't know why :(
    int status=d2fobsn_SetNumProp( pd2fctx, obj, D2FP_PGU_TYP, D2FC_PGTY_PACKAGESPEC );
    CheckError( status, "d2fobsn_SetNumProp fails" );
    status=d2fobst_SetTextProp( pd2fctx, obj, D2FP_PGU_TXT, (text*)pu_text );
    CheckError( status, "d2fobst_SetTextProp fails" );
    // It shows this mistake.
    status=d2fobgn_GetNumProp( pd2fctx, obj, D2FP_PGU_TYP, & obj_type );
    status=d2fobgt_GetTextProp( pd2fctx, obj, D2FP_NAME, (text **)& obj_name );
    status=d2fobgt_GetTextProp( pd2fctx, obj, D2FP_PGU_TXT, (text **)& obj_txt );
    printf("D2FP_NAME=%s\nD2FP_PGU_TYP=%i\nD2FP_PGU_TXT=%s\n", obj_name, obj_type, obj_txt );
    // The result of execution of these lines is:
    // D2FP_NAME=TEST
    // D2FP_PGU_TYP=0
    // D2FP_PGU_TXT=(null)

    System Preferences > Keyboard
    Enable "Adjust keyboard brightness in low light"
    Adjust the slider for "Turn off when computer is not used for"
    Best.

  • Create lov using open api

    i want to create a assistant of lov using open api(code C).
    can anyone give me the steps and procedures for do this .

    This really needs to go to one of the Developer (FOrms/Reports) forums, but any interface to Forms/Reports/Etc. will need to be compiled and linked as 'C', not 'C++'.

  • OPEN API

    Please tell what is Oracle Open API, what 's the differences between Open API and OCI? If you could introduce some materials on web, it would be great.
    ge

    Hi,
    I recommend getting in touch with the tools vendor or to follow his setup instructions. If teh tool e.g. is created for an older version of Forms, then maybe an update of the tool is required.
    Frank

Maybe you are looking for