viernes, 3 de octubre de 2014

Secuencia de base de datos desde un opcode

A veces se necesita generar números consecutivos (por ejemplo números de factura electrónica) dentro de un opcode, para lo cual se pueden utilizar las secuencias de base de datos. Para esto solamente de debe utilizar el opcode PCM_OP_SEARCH y el resultado del search será en valor devuelto por la secuencia.

Input flist:
0 PIN_FLD_POID           POID [0] 0.0.0.1 /search -1 0
0 PIN_FLD_TEMPLATE        STR [0] "select sequence_name.nextval from /account where F1 = V1 "
0 PIN_FLD_FLAGS           INT [0] 255
0 PIN_FLD_ARGS          ARRAY [1] allocated 20, used 1
1       PIN_FLD_POID       POID [0] 0.0.0.1 /account 1 0
0 PIN_FLD_RESULTS       ARRAY [0] allocated 20, used 8
1       PIN_FLD_AMOUNT     DECIMAL [0] 0

Output flist:
0 PIN_FLD_POID           POID [0] 0.0.0.1 /search -1 0
0 PIN_FLD_RESULTS       ARRAY [0] allocated 20, used 1
1     PIN_FLD_AMOUNT       DECIMAL [1] 13204 

Martin Falconi

No hay comentarios.:

Publicar un comentario