Franklin Lee,

Note: This post may sound "negative" towards ARSPerl. It is not
intended to be. My understanding of ARSPerl's reach and range may be
limited as I have not seriously used it for some time now. ( FWIW: I
have moved on to the Java API. ) I do still use it some, for the tasks
that it is "best suited" for, but I have often found limits in my
abilities to use the wrapper to do "complex tasks" with ARSystem.


In general, I have often found that people that I will call "true
programmers" look at the ARS api and are left scratching their heads
over the choices that were made when the api was being laid out.

To be clear, what you think of as "inefficient" may not be as bad as
you think. (And there maybe options that ARSPerl simply does not yet
implemented, or exposed to it's users too.)

FWIW: The C and Java api's support a great deal of granularity as to
the level of details that you can get about the objects in the get*
api calls. So you do not have to get all of the field details when all
you want is the "fOption" settings for all of the fields. Yes you do
have to make a trip to the server for every field. However that is
simply because there are no advantages for the vendor (Remedy, and now
BMC Remedy) to have a single API call that returns that specific range
of details for all fields on a single Form or even "All Forms on a
server" for that matter.

I am however, unclear if the ARSPerl wrapper around the C API offers
the ability to limit the details that will be fetched for the
ars_GetField call. (It looks like there are no inputs to achieve that
goal.) For that matter I can not tell if ARSPerl has implemented the
ARGetMultipleFields API call either. The published HTML docs do not
appear to reference theARGetMultipleFields function specifically. In
fact the HTML docs give the impression that ars_GetFieldTable
specifically uses "ars_GetListField and ars_GetField". But I must add
that it is possible that the ARSPerl wrapper does include a way to
call the underpinning C ARGetMultipleFields API and it may not be
documented yet too.

You may also find that getting all details about a form will produce
the data set you need. However, you may need to walk the data returned
in ways that are not provided by the ARS API too.

The AR System is a 3 tiered system. Client, Server, and RDBMS. The
vendor has made decisions about that tasks will be done by each of
those layers for their own reasons. (And there is no written
explanation that I have ever come across.)

Often programmers expect the Server (ALA: ARS API ) to do things that
I believe were deemed to be the responsibility of the client layer.
(There are many examples, not the least common of which has to do with
desires to programmaticly dissect, construct, or manipulate ARS
objects in mass. Which are generally not implemented in the provided
clients. Even when they are simulated in the provided clients I
greatly suspect they are simply looping over the objects selected and
calling multiple single get/set/create API calls for each one.)
However, over they years as the AR System application reach and range
improved the ARGetMultiple* API calls were added to help with some
(not all) of these needs that the vendor started to face for their own
clients functionality.

Please keep in mind that while the AR System API is expose to the
customer that I have long believed that its design and purpose is very
vendor centric. The gaps may be there simply because the vendor does
not have the same needs, or they might be there to intentionally leave
gaps that make it harder for customers to totally replace the vendors
clients. ( You can reach either conclusion easily and likely can find
"evidence" to support both positions fairly easily.)

But long story short...

So as a wise teacher often says.... The rest is left to the student
(er.. Client in this case) to implement.

If you speak Java, you should will find the Java API to be more
complete. (and in theory, "supported" directly by the vendor.)

I hope some of that helps.

-- 
Carey Matthew Black
Remedy Skilled Professional (RSP)
ARS = Action Request System(Remedy)

Love, then teach
Solution = People + Process + Tools
Fast, Accurate, Cheap.... Pick two.


On Mon, Dec 1, 2008 at 2:02 PM, Franklin Lee <[EMAIL PROTECTED]> wrote:
> The getField function will get me field information on a _single_ field.
> But what if I want to get field information on _all_ the fields in a
> form at once.
>
> I could, of course, call getField multiple times, but that seems very
> inefficient.
>
> What I need is an ARSPerl version of ARGetMultipleFields. Does such an
> ARSPerl function exist?
>
>
>
> jeff murphy wrote:
>> On Dec 1, 2008, at 12:45 PM, Franklin Lee wrote:
>>
>>> I can, by querying against the field table, get field information such
>>> as fOption and default value for all the fields in a given form. To do
>>> this, I need the schema id.
>>>
>>> Is there any other way to get this information without knowing the
>>> schema id?
>>>
>>
>>
>>
>> For default value, etc, I think getField() should return that
>> information. You don't need the schema ID to use getField()
>>
>>
>> http://www.arsperl.org/manual/ds_field_hash.html
>>
>> --
>> Arsperl-users mailing list
>> Arsperl-users@arsperl.org
>> https://lists.sourceforge.net/lists/listinfo/arsperl-users

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/


--
Arsperl-users mailing list
Arsperl-users@arsperl.org
https://lists.sourceforge.net/lists/listinfo/arsperl-users

Reply via email to