Especificaciones de las funciones del API

Inicio  Anterior  Siguiente

Funciones generales

LONG EXPORTA BdcCodificacion ( VOID );

Propósito

Indica si la base de datos utiliza un modelo de codificación dependiente o independiente del número y valor de los parámetros.

Valor devuelto

Devolverá ‘0’ si la codificación sigue un modelo dependiente (al ‘estilo’ FIEBDC-3/95), y ‘1’ si sigue un modelo independiente.

Funciones referentes al paramétrico global

Accesibles en cualquier momento

Obtención de sus parámetros

LONG EXPORTA BdcGloParNumero ( VOID );

Propósito

Obtener el número de parámetros de concepto paramétrico global.

Valor devuelto

Devuelve el número de parámetros. En caso de error, la función devuelve -1. Para obtener más información sobre el error producido, llame a la función BdcGloError().

LONG EXPORTA BdcGloOpcNumero ( LONG par // número de parámetro del concepto );

Propósito

Obtiene el número de opciones de que consta el parámetro ‘par’.

Parámetros

par:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de parámetros del concepto paramétrico global.

Valor devuelto

Devuelve el número de opciones del parámetro ‘par’. En caso de producirse un error, devuelve -1. Para obtener más información sobre el error producido, llame a la función BdcGloError().

LPCSTR EXPORTA BdcGloParRotulo ( LONG par // número de parámetro del concepto );

Propósito

Obtiene el rótulo que identifica el parámetro ‘par’ del concepto.

Parámetros

par:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de parámetros del concepto paramétrico global.

Valor devuelto

Devuelve el rótulo que identifica el parámetro ‘par’ del concepto, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcGloError().

LPCSTR EXPORTA BdcGloOpcRotulo ( LONG par, // número de parámetro del concepto LONG opc // número de la opción del parámetro );

Propósito

Obtiene el rótulo que identifica la opción ‘opc’ del parámetro ‘par’ del concepto.

Parámetros

par:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de parámetros del concepto paramétrico global.

opc:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de opciones que posee el parámetro ‘par’ del concepto paramétrico global.

Valor devuelto

Devuelve el rótulo que identifica la opción ‘opc’ del parámetro ‘par’ del concepto, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcGloError().

Mensajes / Códigos de error

BOOL EXPORTA BdcGloError ( LPCSTR *err // mensaje de error devuelto );

Propósito

Obtiene el tipo de error producido. Una vez leído, se inicializa el código de error.

Parámetros

err:Puntero a un puntero constante ‘far’ a una cadena de caracteres. En él se almacena el mensaje de error referente al error producido. La función es responsable de asignar memoria al puntero. Si no existe un mensaje definido para el error existente, ‘*err’ apuntará a la cadena vacía “”.

Valor devuelto

Devuelve el código de error producido. Vea al final el apartado ‘Códigos de los mensajes de error’ para más información.

Asignación de opciones a los parámetros

BOOL EXPORTA BdcGloCalcula ( LPLONG opcl, // lista de opciones de los parámetros );

Propósito

Asigna los valores de los parámetros del concepto paramétrico global..

Parámetros

opcl:Puntero a un array de LONGs con las opciones que se desea fijar a cada parámetro. Las opciones se numeran empezando por cero.

Valor devuelto

Devuelve ‘0’ si se ejecuta correctamente. En caso de error, devuelve ‘-1’. Para obtener más información sobre el error producido, llame a la función BdcGloError().

Funciones referentes al resto de paramétricos

Accesibles en cualquier momento

Lectura de un concepto paramétrico

HANDLE EXPORTA BdcLee ( LPCSTR cod // código del concepto );

Propósito

Lee el concepto paramétrico identificado por ‘cod’.

Parámetros

cod:Puntero constante ‘far’ a una cadena de caracteres con el código del concepto paramétrico a leer. Si se utiliza un modelo de codificación dependiente, se asume que dicho código tenga 7 caracteres y que el séptimo sea ‘$’. Dentro del código, los caracteres pueden ser cualesquiera salvo el 0x00 (que indica el final del código).

Valor devuelto

Si la función encuentra el paramétrico, retorna un HANDLE distinto de cero. En caso de error, o si no existe el paramétrico, la función devuelve cero.

Lectura de un concepto paramétrico a partir del código completo del derivado

HANDLE EXPORTA BdcDecodifica ( LPCSTR cod, // código completo del derivado paramétrico LPLONG opcl // puntero al espacio de memoria a ); // rellenar con las opciones

Propósito

Lee el concepto paramétrico al que pertenece el concepto de código ‘cod’. El HANDLE y las opciones ‘opcl’ devueltas se pueden utilizar directamente en una llamada a BdcCalcula().

Parámetros

cod:Puntero constante ‘far’ a una cadena de caracteres con el código del concepto del que se desea obtener el concepto paramétrico a la que pertenece. Dentro del código, los caracteres pueden ser cualesquiera salvo el 0x00 (que indica el final del código).

opcl:Puntero a un array de LONGs en el que la función devolverá las opciones a las que corresponda el derivado paramétrico. El array debe estar previamente dimensionado con al menos el número de parámetros del concepto. Las opciones se numeran empezando por cero.

Valor devuelto

Si la función encuentra el paramétrico, retorna un HANDLE distinto de cero. En caso de error, o si no existe ninguna concepto paramétrico del que el concepto ‘cod’ es derivado, la función devuelve cero.

Mensajes / códigos de error

BOOL EXPORTA BdcError ( HANDLE h, // identificador del concepto LPCSTR *err // mensaje de error devuelto );

Propósito

Obtiene tipo de error producido.

Parámetros

h:Identificador (HANDLE) del concepto, que debe ser obtenido en una llamada anterior a la función BdcLee().

err:Puntero a un puntero constante ‘far’ a una cadena de caracteres. En él se almacena el mensaje de error referente al error producido. La función es responsable de asignar memoria al puntero. Si no existe un mensaje definido para el error existente, ‘*err’ apuntará a la cadena vacía “”.

Valor devuelto

Devuelve el código de error producido. Vea al final el apartado ‘Códigos de los mensajes de error’ para más información.

Accesibles después de BdcLee

Obtención de sus parámetros

LONG EXPORTA BdcParNumero ( HANDLE h // identificador del concepto );

Propósito

Obtiene el número de parámetros de concepto paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el número de parámetros. En caso de error, la función devuelve -1. Para obtener más información sobre el error producido, llame a la función BdcError().

LONG EXPORTA BdcOpcNumero ( HANDLE h, // identificador del concepto LONG par // número de parámetro del concepto );

Propósito

Obtiene el número de opciones de que consta el parámetro ‘par’.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

par:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de parámetros del concepto.

Valor devuelto

Devuelve el número de opciones del parámetro ‘par’. En caso de producirse un error, la función devuelve -1. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcParRotulo ( HANDLE h, // identificador del concepto LONG par // número de parámetro del concepto );

Propósito

Obtiene el rótulo que identifica el parámetro ‘par’ del concepto.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

par:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de parámetros del concepto.

Valor devuelto

Devuelve el rótulo que identifica el parámetro ‘par’ del concepto, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcOpcRotulo ( HANDLE h, // identificador del concepto LONG par, // número de parámetro del concepto LONG opc // número de la opción del parámetro );

Propósito

Obtiene rótulo que identifica la opción ‘opc’ del parámetro ‘par’ del concepto.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

par:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de parámetros del concepto.

opc:Número del parámetro. Debe ser un valor entre ‘0’ y ‘n-1’, siendo ‘n’ el número de opciones que posee el parámetro ‘par’ del concepto.

Valor devuelto

Devuelve el rótulo que identifica la opción ‘opc’ del parámetro ‘par’ del concepto, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

Obtención de un comentario

LPCSTR EXPORTA BdcComentario ( HANDLE h, // identificador del concepto );

Propósito

Obtiene un texto de comentario del concepto paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el comentario del concepto, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

Asignación de opciones de los parámetros y validación o cálculo del derivado

BOOL EXPORTA BdcValida ( HANDLE h, // identificador del concepto LPLONG opcl, // lista de opciones de los parámetros );

Propósito

Averigua si una determinada combinación paramétrica es correcta o no.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

opcl:Puntero a un array de LONGs con las opciones que se desea fijar a cada parámetro. Las opciones se numeran empezando por cero.

Valor devuelto

Devuelve ‘0’ si la combinación es correcta. En caso contrario, devuelve ‘-1’. Para obtener más información sobre el error producido, llame a la función BdcError().

BOOL EXPORTA BdcCalcula ( HANDLE h, // identificador del concepto LPLONG opcl, // lista de opciones de los parámetros );

Propósito

Calcula los datos correspondientes a un derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

opcl:Puntero a un array de LONGs con las opciones que se desea fijar a cada parámetro. Las opciones se numeran empezando por cero.

Valor devuelto

Devuelve ‘0’ si se ejecuta correctamente. En caso de error, o de que la combinación no sea correcta, devuelve ‘-1’. Para obtener más información sobre el error producido, llame a la función BdcError().

Liberación de memoria

BOOL EXPORTA BdcCierra ( HANDLE h // identificador del concepto );

Propósito

Cierra el concepto paramétrico y libera la memoria asignada.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve ‘0’ si realiza la operación correctamente. En caso de error, la función devuelve ‘-1’. Para obtener más información sobre el error producido, llame a la función BdcError().

Accesibles después de BdcCalcula

Obtención del derivado paramétrico

LONG EXPORTA BdcDesNumero ( HANDLE h // identificador del concepto );

Propósito

Obtiene el número de conceptos en los que se descompone el derivado paramétrico. Es posible que un mismo concepto paramétrico posea derivados simples y compuestos.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el número de elementos de su descomposición. En caso de error, la función devuelve ‘-1’. Un valor de cero indicará que el concepto no tiene descomposición. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcDesCodigo ( HANDLE h, // identificador del concepto LONG des // número del elemento de la descomposición );

Propósito

Obtiene el código del elemento número ‘des’ en el que se descompone el derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

des:Número del elemento de la descomposición del concepto. Los elementos se numeran empezando por cero.

Valor devuelto

Devuelve el código del elemento número ‘des’ en el que se descompone el derivado paramétrico, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

BOOL EXPORTA BdcRendimiento ( HANDLE h, // identificador del concepto LONG des, // número del elemento de la descomposición double FAR *ren // rendimiento a obtener );

Propósito

Obtiene el rendimiento del elemento número ‘des’ en el que se descompone el derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

des:Número del elemento de la descomposición del concepto. Los elementos se numeran empezando por cero.

*ren:Puntero en el que devolver el rendimiento deseado. El rendimiento puede ser positivo, cero o negativo.

Valor devuelto

Devuelve ‘0’ si se ejecuta correctamente. En caso de error, el rendimiento se asigna a cero y la función devuelve ‘-1’. Para obtener más información sobre el error producido, llame a la función BdcError().

BOOL EXPORTA BdcPrecio ( HANDLE h, // identificador del concepto double FAR *pre // precio unitario a devolver );

Propósito

Obtiene el precio unitario en el caso de que el derivado paramétrico sea un simple. Es posible que un mismo concepto paramétrico tenga como derivados tanto simples como compuestos.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

*pre:Puntero en el que devolver el precio unitario. Dicho precio puede ser positivo, cero o negativo.

Valor devuelto

Devuelve ‘0’ si se ejecuta correctamente. En caso de error, el precio se asigna a cero y la función devuelve ‘-1’. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcCodigo ( HANDLE h // identificador del concepto );

Propósito

Obtiene el código del concepto.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el código del concepto, como puntero constante ‘far’ a una cadena de caracteres. Si se ha calculado un derivado paramétrico (se ha llamado a BdcCalcula), este código será el del derivado paramétrico. En caso contrario, será el código del concepto paramétrico. La propia función es responsable de asignar memoria al puntero. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcResumen ( HANDLE h // identificador del concepto );

Propósito

Obtiene el texto resumido del derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el texto resumido del derivado paramétrico, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. Si no existe definido un texto resumido, la función devuelve la cadena vacía “”. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcTexto ( HANDLE h // identificador del concepto );

Propósito

Obtiene el texto completo de descripción del derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el texto completo de descripción del derivado paramétrico, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. Si no existe definido un texto completo de descripción, la función devuelve la cadena vacía “”. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcPliego ( HANDLE h // identificador del concepto );

Propósito

Obtiene el texto del pliego del derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve el texto del pliego del derivado paramétrico, como puntero constante ‘far’ a una cadena de caracteres. La propia función es responsable de asignar memoria al puntero. Si no existe definido un texto de pliego, la función devuelve la cadena vacía “”.. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

LPCSTR EXPORTA BdcClaves ( HANDLE h // identificador del concepto );

Propósito

Obtiene las claves de tesauro del derivado paramétrico.

Parámetros

h:Identificador (HANDLE) del concepto paramétrico, que debe ser obtenido en una llamada anterior a la función BdcLee().

Valor devuelto

Devuelve las claves de tesauro del derivado paramétrico, como puntero constante ‘far’ a una cadena de caracteres, con el mismo formato que el registro ‘~A’, es decir, ‘{CLAVE_TESAURO\}’. La propia función es responsable de asignar memoria al puntero. Si no existen definidas claves del tesauro, la función devuelve la cadena vacía “”. En caso de error, la función devuelve NULL. Para obtener más información sobre el error producido, llame a la función BdcError().

MENSAJES DE ERROR

Los códigos de error se almacenan en un LONG (entero de 32 bits) de manera que cada error corresponde a un bit. De esta forma, es posible definir hasta 32 códigos de error que pueden producirse de forma aislada o conjunta. Las llamadas a las funciones BdcGloError() y BdcError() eliminan los códigos de error producidos anteriormente. Por ejemplo, para saber si un determinado error se ha producido con el concepto ‘Concepto’, se debe utilizar la sintaxis

const char *Mensaje; BOOL cod_err = BdcError ((HANDLE)Concepto, &Mensaje); if (cod_err & BDCERR_BASE_DATOS) { // Se ha producido el error ‘BDCERR_BASE_DATOS’ ... }

Códigos de los mensajes de error

BDCERR_CORRECTO No hay error.
BDCERR_BASE_DATOS Existe un mensaje de error. Es el caso en el que la definición paramétrica se indica una combinación inválida y se devuelve un mensaje de error explicativo.
BDCERR_PARAMETRO Se pasó a BdcCalcula o BdcGloCalcula un parámetro inexistente.
BDCERR_OPCION Se pasó a BdcCalcula o BdcGloCalcula una opción inexistente.
BDCERR_MAX_OPCIONESSe definieron más de 62 opciones en un determinado parámetro.
BDCERR_NO_LEIDOSe intentó utilizar BdcCalcula() antes que BdcLee().
BDCERR_NO_CALCULADO Se intentó acceder a datos de un derivado paramétrico antes de utilizar BdcCalcula().
BDCERR_DESCOMPOSICION Se intentó acceder a un elemento de la descomposición inexistente.
BDCERR_SIN_CODIGO No existe código definido.
BDCERR_SIN_MEMORIA Memoria insuficiente.
BDCERR_CONCEPTO_NULO Se pasó un HANDLE nulo.