-
Customization Guide
1
-
Contents
5
-
Contents v
7
-
Contents vii
9
-
Contents ix
11
-
Contents xi
13
-
Contents xiii
15
-
Contents xv
17
-
What this book is about
19
-
Who this book is for
19
-
How to use this book
19
-
Notes on terminology
19
-
Summary of changes
21
-
2 Customization Guide
24
-
Register conventions
25
-
Using CICS services
26
-
Using channels and containers
27
-
Assembler programs and LEASM
28
-
EDF and global user exits
28
-
The global work area
28
-
Making trace entries
28
-
DFHUEPAR standard parameters
29
-
8 Customization Guide
30
-
Returning values to CICS
32
-
Errors in user exit programs
34
-
Making programs threadsafe
36
-
The DFH$PCPI program
38
-
Sample program definitions
39
-
DFH$WBPI
42
-
20 Customization Guide
42
-
DFH$WBEX
43
-
DFH$WBX1
43
-
DFH$WBX2
44
-
22 Customization Guide
44
-
24 Customization Guide
46
-
26 Customization Guide
48
-
28 Customization Guide
50
-
30 Customization Guide
52
-
Exit XAKUSER
54
-
Exit XAPADMGR
55
-
Sample exit program, DFH$APAD
56
-
Sample program, DFH$BMXT
57
-
Exit XBMIN
57
-
Exit XBMOUT
57
-
36 Customization Guide
58
-
Programming the XBMIN exit
59
-
Bridge facility exit XFAINTU
60
-
40 Customization Guide
62
-
Exit XDTRD
63
-
42 Customization Guide
64
-
Exit XDTAD
65
-
Exit XDTLC
66
-
Exit XXDFB
68
-
Exit XXDTO
68
-
Exit XDSBWT
69
-
Exit XDSAWT
70
-
Exit XDLIPRE
71
-
50 Customization Guide
72
-
Exit XDLIPOST
73
-
52 Customization Guide
74
-
Exit XDUREQ
75
-
54 Customization Guide
76
-
Exit XDUREQC
78
-
58 Customization Guide
80
-
Exit XDUCLSE
81
-
Exit XDUOUT
81
-
Exit XNQEREQ
82
-
Exit XNQEREQC
83
-
62 Customization Guide
84
-
64 Customization Guide
86
-
Arg1 RESOURCE DATA-AREA input
87
-
Arg2 LENGTH BIN(15) input
87
-
Arg3 MAXLIFETIME CVDA input
87
-
Sample exit program, DFH$XNQE
88
-
The command parameter list
90
-
Bypassing commands
91
-
Exit XEIIN
91
-
Exit XEISPIN
92
-
Exit XEIOUT
93
-
Exit XEISPOUT
93
-
72 Customization Guide
94
-
XFCFROUT
95
-
Exit XFCFRIN
96
-
76 Customization Guide
98
-
78 Customization Guide
100
-
Exit XFCFROUT
102
-
82 Customization Guide
104
-
84 Customization Guide
106
-
Important
108
-
88 Customization Guide
110
-
90 Customization Guide
112
-
Modifying the EID
114
-
Use of the parameter UEPFSHIP
116
-
Exit XFCREQ
117
-
Exit XFCREQC
118
-
Example program
120
-
98 Customization Guide
120
-
Exit XFCAREQ
121
-
Exit XFCAREQC
122
-
102 Customization Guide
124
-
104 Customization Guide
126
-
106 Customization Guide
128
-
108 Customization Guide
130
-
Modifying user arguments
133
-
Exit XFCSREQ
134
-
114 Customization Guide
136
-
Exit XFCSREQC
138
-
118 Customization Guide
140
-
120 Customization Guide
142
-
122 Customization Guide
144
-
Exit XFCVSDS
145
-
124 Customization Guide
146
-
Order of invocation
148
-
Enabling the exit programs
148
-
128 Customization Guide
150
-
130 Customization Guide
152
-
132 Customization Guide
154
-
134 Customization Guide
156
-
136 Customization Guide
158
-
The XISCONA exit
160
-
140 Customization Guide
162
-
The XISLCLQ exit
163
-
142 Customization Guide
164
-
Exit XICREQ
165
-
Exit XICEXP
166
-
XICEREQC
167
-
Exit XICEREQ
168
-
Exit XICERES
170
-
Exit XICEREQC
171
-
150 Customization Guide
172
-
ADDRD Seconds
173
-
152 Customization Guide
174
-
154 Customization Guide
176
-
156 Customization Guide
178
-
158 Customization Guide
180
-
160 Customization Guide
182
-
162 Customization Guide
184
-
Exit XLDLOAD
185
-
Exit XLDELETE
185
-
164 Customization Guide
186
-
Exit XLGSTRM
188
-
Message domain exit XMEOUT
190
-
Exit XMEOUT
191
-
170 Customization Guide
192
-
Monitoring domain exit XMNOUT
194
-
Table 7
195
-
Record type value Meaning
195
-
Pipeline domain exits
196
-
XPCREQ, XPCERES, and XPCREQC
197
-
176 Customization Guide
198
-
178 Customization Guide
200
-
180 Customization Guide
202
-
182 Customization Guide
204
-
184 Customization Guide
206
-
Exit XPCFTCH
208
-
Exit XPCHAIR
210
-
BASSM 15,0
211
-
USING *,15
211
-
Exit XPCTA
212
-
Exit XPCABND
214
-
Exit XRMIIN
215
-
Exit XRMIOUT
216
-
Exit XRSINDI
218
-
198 Customization Guide
220
-
Exit XSNON
221
-
Exit XSNOFF
222
-
Exit XSNEX
223
-
Statistics domain exit XSTOUT
224
-
204 Customization Guide
226
-
Exit XSTERM
228
-
XTSPTOUT
229
-
Exit XTSQROUT
230
-
Exit XTSPTIN
232
-
Exit XTSPTOUT
233
-
XTSEREQC
234
-
Exit XTSEREQ
235
-
Exit XTSEREQC
236
-
216 Customization Guide
238
-
218 Customization Guide
240
-
220 Customization Guide
242
-
Exit XALCAID
243
-
222 Customization Guide
244
-
Exit XTCIN
245
-
Exit XTCOUT
245
-
Exit XTCATT
246
-
The exits
247
-
Exit XALTENF
248
-
Exit XICTENF
250
-
DFHXTENF
252
-
Exit XXMATT
254
-
Exit XTDREQ
256
-
Exit XTDIN
256
-
Exit XTDOUT
257
-
XTDEREQC
258
-
Exit XTDEREQ
259
-
Exit XTDEREQC
260
-
240 Customization Guide
262
-
242 Customization Guide
264
-
244 Customization Guide
266
-
Coding the exit programs
267
-
Exit XRCINIT
268
-
Exit XRCINPT
268
-
Exit XZCATT
269
-
Exit XZCIN
270
-
Exit XZCOUT
270
-
Exit XZCOUT1
271
-
250 Customization Guide
272
-
252 Customization Guide
274
-
254 Customization Guide
276
-
256 Customization Guide
278
-
Exit XISQUE
280
-
260 Customization Guide
282
-
Statistics fields in DFHISRDS
283
-
Using IPCONN statistics
284
-
262 Customization Guide
284
-
Exit XXRSTAT
286
-
266 Customization Guide
288
-
THE ADAPTER
290
-
The stub program
291
-
270 Customization Guide
292
-
Threadsafe restrictions
294
-
User exit parameter lists
295
-
DFHUEPAR
296
-
276 Customization Guide
298
-
278 Customization Guide
300
-
Caller parameter lists
301
-
280 Customization Guide
302
-
282 Customization Guide
304
-
284 Customization Guide
306
-
286 Customization Guide
308
-
The schedule flag word
309
-
Saving CICS registers
310
-
Addressing-mode implications
311
-
Purging tasks
312
-
USING DFHUEPAR,1
313
-
MVC DFHEICAP,=X’80000000’
313
-
Work areas
314
-
The local work area
315
-
Return codes
316
-
Limitations
317
-
296 Customization Guide
318
-
Resynchronization
319
-
300 Customization Guide
322
-
Administering the adapter
324
-
The administration routines
326
-
Overview of the XPI
327
-
306 Customization Guide
328
-
Making an XPI call
330
-
310 Customization Guide
332
-
XPI register usage
334
-
The XPI copy books
335
-
314 Customization Guide
336
-
316 Customization Guide
338
-
318 Customization Guide
340
-
XPI syntax
341
-
320 Customization Guide
342
-
The BIND_LDAP call
343
-
322 Customization Guide
344
-
The END_BROWSE_RESULTS call
345
-
The FLUSH_LDAP_CACHE call
345
-
The FREE_SEARCH_RESULTS call
346
-
The GET_ATTRIBUTE_VALUE call
347
-
The GET_NEXT_ATTRIBUTE call
348
-
The GET_NEXT_ENTRY call
349
-
The SEARCH_LDAP call
350
-
The START_BROWSE_RESULTS call
351
-
The UNBIND_LDAP call
352
-
Dispatcher XPI functions
353
-
332 Customization Guide
354
-
The ADD_SUSPEND call
356
-
The SUSPEND call
357
-
336 Customization Guide
358
-
338 Customization Guide
360
-
The RESUME call
361
-
The DELETE_SUSPEND call
362
-
The WAIT_MVS call
362
-
WAIT_MVS
363
-
342 Customization Guide
364
-
The CHANGE_PRIORITY call
366
-
Dump control XPI functions
367
-
The SYSTEM_DUMP call
367
-
346 Customization Guide
368
-
The TRANSACTION_DUMP call
369
-
348 Customization Guide
370
-
Enqueue domain XPI functions
371
-
The ENQUEUE function
371
-
The DEQUEUE function
372
-
Kernel domain XPI functions
373
-
Loader XPI functions
374
-
The DEFINE_PROGRAM call
375
-
354 Customization Guide
376
-
RESPONSE REASON
377
-
EXCEPTION CATALOG_ERROR
377
-
The ACQUIRE_PROGRAM call
378
-
The RELEASE_PROGRAM call
380
-
The DELETE_PROGRAM call
381
-
Log manager XPI functions
382
-
The INQUIRE_PARAMETERS call
382
-
The SET_PARAMETERS call
383
-
Monitoring XPI functions
383
-
The MONITOR call
384
-
364 Customization Guide
386
-
INQUIRE_MONITORING_DATA
387
-
INQUIRE_MONITORING_DATA:
387
-
The INQUIRE_PROGRAM call
388
-
368 Customization Guide
390
-
370 Customization Guide
392
-
372 Customization Guide
394
-
INQUIRE_CURRENT_PROGRAM
395
-
374 Customization Guide
396
-
The SET_PROGRAM call
397
-
SET_PROGRAM
398
-
378 Customization Guide
400
-
The START_BROWSE_PROGRAM call
401
-
The GET_NEXT_PROGRAM call
402
-
The END_BROWSE_PROGRAM call
403
-
The INQUIRE_AUTOINSTALL call
404
-
The SET_AUTOINSTALL call
404
-
SET_AUTOINSTALL
405
-
The INQ_APPLICATION_DATA call
406
-
The INQUIRE_SYSTEM call
408
-
[TIMEOFDAY(name4
409
-
RESPONSE (name1
409
-
REASON (name1
409
-
388 Customization Guide
410
-
390 Customization Guide
412
-
The SET_SYSTEM call
413
-
Storage control XPI functions
414
-
The GETMAIN call
414
-
394 Customization Guide
416
-
The FREEMAIN call
417
-
The INQUIRE_ACCESS call
417
-
INQUIRE_ELEMENT_LENGTH
418
-
INQUIRE_ELEMENT_LENGTH:
419
-
INQUIRE_SHORT_ON_STORAGE
419
-
The INQUIRE_TASK_STORAGE call
420
-
The SWITCH_SUBSPACE call
421
-
Trace control XPI function
421
-
The TRACE_PUT call
422
-
The INQUIRE_CONTEXT call
423
-
402 Customization Guide
424
-
The INQUIRE_DTRTRAN call
425
-
The INQUIRE_MXT call
425
-
404 Customization Guide
426
-
The INQUIRE_TCLASS call
427
-
The INQUIRE_TRANDEF call
428
-
408 Customization Guide
430
-
410 Customization Guide
432
-
412 Customization Guide
434
-
The INQUIRE_TRANSACTION call
436
-
416 Customization Guide
438
-
The SET_TRANSACTION call
440
-
User journaling XPI function
441
-
The WRITE_JOURNAL_DATA call
441
-
WRITE_JOURNAL DATA
442
-
422 Customization Guide
444
-
424 Customization Guide
446
-
First-phase PLT programs
447
-
Second phase PLT programs
448
-
Writing shutdown programs
450
-
First phase PLT programs
450
-
Storage keys for PLT programs
452
-
432 Customization Guide
454
-
434 Customization Guide
456
-
436 Customization Guide
458
-
438 Customization Guide
460
-
440 Customization Guide
462
-
442 Customization Guide
464
-
444 Customization Guide
466
-
446 Customization Guide
468
-
448 Customization Guide
470
-
Terminal control program
472
-
Terminal error program
472
-
The communication area
473
-
TEP error table header (TETH)
474
-
TEP default table
475
-
Entry and initialization
476
-
Error processor selection
476
-
Error processing execution
476
-
General exit
477
-
Common subroutines
477
-
456 Customization Guide
478
-
458 Customization Guide
480
-
DFHTEPM TYPE=USTOR
481
-
DFHTEPM TYPE=USTOREND
481
-
460 Customization Guide
482
-
462 Customization Guide
484
-
DFHTEPM macro examples
485
-
464 Customization Guide
486
-
466 Customization Guide
488
-
468 Customization Guide
490
-
470 Customization Guide
492
-
472 Customization Guide
494
-
increased by
495
-
24 in TACLE
495
-
46, 48 in TACLE
495
-
474 Customization Guide
496
-
476 Customization Guide
498
-
478 Customization Guide
500
-
480 Customization Guide
502
-
An overview of writing a NEP
503
-
The default NEP
504
-
The sample NEP
504
-
Coding the sample NEP
505
-
484 Customization Guide
506
-
Multiple NEPs
507
-
486 Customization Guide
508
-
488 Customization Guide
510
-
490 Customization Guide
512
-
492 Customization Guide
514
-
494 Customization Guide
516
-
XRF parameters (TWAXRNOT)
517
-
The sample node error program
518
-
Entry section
519
-
Routing mechanism
519
-
Node error table
519
-
Optional common subroutines
520
-
DFHSNEP TYPE=USTOR
521
-
500 Customization Guide
522
-
502 Customization Guide
524
-
504 Customization Guide
526
-
Entry and addressability
528
-
Coding for session failures
529
-
Writing multiple NEPs
530
-
DFHZNEPI macros
530
-
510 Customization Guide
532
-
DFHZC0120 DFHZC0124
533
-
DFHZC0121 DFHZC0129
533
-
DFHZC0122 DFHZC0130
533
-
DFHZC0123
533
-
Changing the recovery message
534
-
514 Customization Guide
536
-
516 Customization Guide
538
-
Coding entries for MTS
539
-
518 Customization Guide
540
-
Returning information to CICS
542
-
Setting the TERMINAL name
544
-
524 Customization Guide
546
-
Testing and debugging
548
-
Assembler language
550
-
530 Customization Guide
552
-
532 Customization Guide
554
-
534 Customization Guide
556
-
Leaving it all to CICS
557
-
536 Customization Guide
558
-
540 Customization Guide
562
-
542 Customization Guide
564
-
Benefits of autoinstall
566
-
Requirements for autoinstall
566
-
Recovery and restart
567
-
546 Customization Guide
568
-
548 Customization Guide
570
-
550 Customization Guide
572
-
Resource definitions
573
-
552 Customization Guide
574
-
556 Customization Guide
578
-
CICS-generated aliases
582
-
562 Customization Guide
584
-
564 Customization Guide
586
-
566 Customization Guide
588
-
Autoinstall models
589
-
Terminal identifiers
589
-
Why override TERMIDs?
590
-
570 Customization Guide
592
-
572 Customization Guide
594
-
574 Customization Guide
596
-
576 Customization Guide
598
-
578 Customization Guide
600
-
Autoinstall model definitions
602
-
System autoinstall
603
-
Saving in virtual storage
603
-
Faster startup times
604
-
584 Customization Guide
606
-
586 Customization Guide
608
-
Resource definition
609
-
588 Customization Guide
610
-
Dynamic transactions
612
-
Route selection
613
-
Notification
613
-
Route selection error
613
-
Transaction abend
613
-
592 Customization Guide
614
-
Changing the program name
615
-
594 Customization Guide
616
-
Monitoring the output TIOA
618
-
Unit of work considerations
619
-
598 Customization Guide
620
-
Changing the transaction ID
622
-
Special case—care!
623
-
602 Customization Guide
624
-
604 Customization Guide
626
-
606 Customization Guide
628
-
Routing by user ID
629
-
610 Customization Guide
632
-
612 Customization Guide
634
-
614 Customization Guide
636
-
616 Customization Guide
638
-
618 Customization Guide
640
-
620 Customization Guide
642
-
622 Customization Guide
644
-
624 Customization Guide
646
-
Routing BTS activities
647
-
626 Customization Guide
648
-
628 Customization Guide
650
-
Logical EJB/CORBA server
651
-
Local and remote clients
652
-
632 Customization Guide
654
-
634 Customization Guide
656
-
636 Customization Guide
658
-
638 Customization Guide
660
-
640 Customization Guide
662
-
642 Customization Guide
664
-
648 Customization Guide
670
-
650 Customization Guide
672
-
652 Customization Guide
674
-
654 Customization Guide
676
-
656 Customization Guide
678
-
658 Customization Guide
680
-
660 Customization Guide
682
-
662 Customization Guide
684
-
664 Customization Guide
686
-
The sample programs
687
-
DFHXOPUS
687
-
DFHEBURM
688
-
668 Customization Guide
690
-
670 Customization Guide
692
-
672 Customization Guide
694
-
674 Customization Guide
696
-
676 Customization Guide
698
-
678 Customization Guide
700
-
680 Customization Guide
702
-
Event codes
703
-
The EJB event sample program
704
-
684 Customization Guide
706
-
DFHAPXPO
707
-
Defining run-time options
707
-
686 Customization Guide
708
-
688 Customization Guide
710
-
The display function
712
-
The restart-in-place function
713
-
692 Customization Guide
714
-
694 Customization Guide
716
-
The DFHWOSM macros
717
-
The DFHWOSM tokens
717
-
DFHWOSM FUNC=BUILD macro
718
-
DFHWOSM FUNC=CLOSE macro
718
-
DFHWOSM FUNC=DSECT macro
719
-
DFHWOSM FUNC=JJC macro
719
-
DFHWOSM FUNC={JJS
719
-
DFHWOSM FUNC=OPEN macro
720
-
DFHWOSM FUNC=OSCMD macro
721
-
DFHWOSM FUNC=READ macro
721
-
700 Customization Guide
722
-
702 Customization Guide
724
-
DFHWOSM FUNC=TERM macro
725
-
704 Customization Guide
726
-
Loop or wait detection
727
-
706 Customization Guide
728
-
708 Customization Guide
730
-
The CICS log manager
731
-
Log stream storage
731
-
710 Customization Guide
732
-
Primary storage
733
-
Tertiary storage
733
-
Secondary storage
733
-
SMF records
734
-
714 Customization Guide
736
-
X’0001’ Start of run record
737
-
X’0002’ Any other record
737
-
Start-of-run record
738
-
Format of caller data
738
-
Variable length
739
-
Fixedlength
739
-
Variablelength
740
-
Fixed length
741
-
720 Customization Guide
742
-
FLJB_GENERAL_DATA
743
-
FLJB_WRITE_DELETE_DATA
743
-
Fixedlength Variable length
743
-
Base key Pathkey
743
-
File-close record types
744
-
FLJB_TUR_BASE_CI_SIZE
747
-
Terminal control prefix data
748
-
FEPI prefix data
749
-
728 Customization Guide
750
-
Not presented unless the
752
-
Format of journal record
753
-
732 Customization Guide
754
-
13 4 4 4
755
-
Variable
756
-
FEPI, and terminal control
757
-
736 Customization Guide
758
-
The SMF block header
760
-
24244422211 442222
761
-
The CICS product section
762
-
The CICS data section
764
-
Chapter 28. CICS monitoring
765
-
744 Customization Guide
766
-
746 Customization Guide
768
-
DFHMCT TYPE=EMP
770
-
DFHMCT TYPE=RECORD
770
-
Example 3: Updating user data
771
-
SMF SMF Product CICS Data
772
-
Header Section Section
772
-
DFHMNSMF
773
-
752 Customization Guide
774
-
CICS data section
776
-
756 Customization Guide
778
-
758 Customization Guide
780
-
760 Customization Guide
782
-
Performance data sections
783
-
762 Customization Guide
784
-
values for their
785
-
Field connectors
785
-
SMF SMF Product Exception
786
-
Header Section Data Section
786
-
766 Customization Guide
788
-
to ID data
789
-
to File data
789
-
to TSQueue data
789
-
768 Customization Guide
790
-
Background information
791
-
Resetting statistics counters
792
-
772 Customization Guide
794
-
CICS statistics data section
795
-
774 Customization Guide
796
-
776 Customization Guide
798
-
778 Customization Guide
800
-
780 Customization Guide
802
-
782 Customization Guide
804
-
784 Customization Guide
806
-
786 Customization Guide
808
-
788 Customization Guide
810
-
The MVS router
811
-
The MVS router exit
811
-
The MVS router parameter list
812
-
Router exit return codes
812
-
792 Customization Guide
814
-
794 Customization Guide
816
-
CICS security control points
818
-
798 Customization Guide
820
-
INCLUDE SYSLIB(DFHXSEAI)
821
-
INCLUDE SYSLIB(DFHEAI)
821
-
ENTRY verify-program
821
-
*ASM XOPTS(NOPROLOG,NOEPILOG)
821
-
800 Customization Guide
822
-
802 Customization Guide
824
-
What the sample program does
825
-
804 Customization Guide
826
-
806 Customization Guide
828
-
808 Customization Guide
830
-
COMMAREA(CEDAPARM)
831
-
810 Customization Guide
832
-
812 Customization Guide
834
-
An overview of DFHCSDUP
835
-
The EXTRACT command
836
-
The sample EXTRACT programs
838
-
The DB2 formatting program
840
-
An assembler-language version
842
-
Entry parameters for DFHCSDUP
844
-
824 Customization Guide
846
-
The initialization exit
847
-
The get-command exit
847
-
The extract exit
848
-
The put-message exit
849
-
The termination exit
850
-
The sample program, DFH$CUS1
851
-
830 Customization Guide
852
-
Part 9. Appendixes
853
-
832 Customization Guide
854
-
01..0011
855
-
834 Customization Guide
856
-
VTAM MODEENT macro operands
857
-
836 Customization Guide
858
-
838 Customization Guide
860
-
840 Customization Guide
862
-
842 Customization Guide
864
-
844 Customization Guide
866
-
846 Customization Guide
868
-
848 Customization Guide
870
-
850 Customization Guide
872
-
852 Customization Guide
874
-
854 Customization Guide
876
-
856 Customization Guide
878
-
858 Customization Guide
880
-
860 Customization Guide
882
-
862 Customization Guide
884
-
864 Customization Guide
886
-
866 Customization Guide
888
-
868 Customization Guide
890
-
870 Customization Guide
892
-
KEY OF RECORD
893
-
0000000000000000
893
-
872 Customization Guide
894
-
874 Customization Guide
896
-
Using the XZCIN exit
897
-
Using DFHTCTxx
897
-
876 Customization Guide
898
-
878 Customization Guide
900
-
880 Customization Guide
902
-
882 Customization Guide
904
-
884 Customization Guide
906
-
886 Customization Guide
908
-
888 Customization Guide
910
-
890 Customization Guide
912
-
892 Customization Guide
914
-
894 Customization Guide
916
-
Bibliography
917
-
896 Customization Guide
918
-
Other CICS books
919
-
Books from related libraries
919
-
MVS books
919
-
VTAM books
920
-
Other related books
920
-
Bibliography 899
921
-
900 Customization Guide
922
-
Accessibility
923
-
902 Customization Guide
924
-
Special characters
925
-
Numerics
925
-
904 Customization Guide
926
-
Index 905
927
-
906 Customization Guide
928
-
Index 907
929
-
908 Customization Guide
930
-
Index 909
931
-
910 Customization Guide
932
-
Index 911
933
-
912 Customization Guide
934
-
Index 913
935
-
914 Customization Guide
936
-
Index 915
937
-
916 Customization Guide
938
-
Index 917
939
-
918 Customization Guide
940
-
Index 919
941
-
920 Customization Guide
942
-
Index 921
943
-
922 Customization Guide
944
-
924 Customization Guide
946
-
Trademarks
947
-
926 Customization Guide
948
-
SC34-6814-04
950
-
Product Number: 5655-M15
952
Kommentare zu diesen Handbüchern