In [2]:
from adabas.api import *
from adabas.datamap import *
a=Adabas(rbl=256,fbl=64,sbl=32,vbl=128,ibl=0)
a.cb.dbid=12              
a.cb.fnr=11

In [24]:
a.cb.isn=0
try:
    for c in xrange(10):
        a.fb.value='AQC,002,B.'
        a.readByIsn(getnext=1)
        if a.rb.value:
            aqc=int(a.rb.value.encode('hex') )
            a.fb.value='ARL1,002,B.'
            a.get(isn=a.cb.isn)
            aql=int(a.rb.value.encode('hex') )
            exec ("row = Datamap('Rows', {})".format("String('ar{}', {l})," * aqc).format(*range(1,aqc+1), l=aql))
            print '{:08} - occurs {} times'.format(a.cb.isn, aqc)
            row.buffer = a.rb
            a.fb.value='AR1-{}.'.format(int(aqc)) 
            a.get(isn=a.cb.isn)
            print eval("'{:08} {}'.format({})".format(a.cb.isn, '- {} ' * aqc, ('row.ar{}, '* aqc).format(*range(1,aqc+1))))
            
except DataEnd:
    print 'acabou'


---------------------------------------------------------------------------
DatabaseError                             Traceback (most recent call last)
<ipython-input-24-c616506226ee> in <module>()
      3     for c in xrange(10):
      4         a.fb.value='AQC,002,B.'
----> 5         a.readByIsn(getnext=1)
      6         if a.rb.value:
      7             aqc=int(a.rb.value.encode('hex') )

C:\Python27\Lib\site-packages\adabas\api.pyc in readByIsn(self, getnext)
    830         self.cb.op1=' '
    831         self.cb.op2='I'
--> 832         self.call()
    833 
    834     def readphysical(self, hold=0, wait=0):

C:\Python27\Lib\site-packages\adabas\api.pyc in call(self)
    488                   adaerror.rsptext(self.cb.rsp, self.sub1, self.sub2,
    489                     cmd=self.cb.cmd, subcmd1=self.cb.op1, subcmd2=self.cb.op2),
--> 490                   self)
    491 
    492 

DatabaseError: ('Adabas Response 148 sub=1034,0 X040A,0000 : Adabas is not active', <adabas.api.Adabas object at 0x000000000499E630>)

In [10]:
a.cb.isn=201
a.fb.value='ARL1,2,B.'
a.get(isn=201)
a.rb.value.encode('hex')


Out[10]:
'03'

In [ ]:


In [ ]:
print '{} - {}'.format(a.rb.value[:8], 
                           date.fromordinal(int(a.rb.value[10:])-364))

In [ ]:
data =date(1956,06,24)
toord = data.toordinal()
toord

In [ ]:
datan =date(1955,06,26)
toordn = datan.toordinal()
toordn

In [ ]:
toord - toordn

In [ ]:
datetime.datetime.toordinal(datetime.datetime.today())

In [ ]:
datetime.datetime.date(736487)