f_retrieve_dw.srf 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. $PBExportHeader$f_retrieve_dw.srf
  2. global type f_retrieve_dw from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_retrieve_dw (datawindow arg_dw, s_rpt_print_msg arg_print_msg)
  6. end prototypes
  7. global function integer f_retrieve_dw (datawindow arg_dw, s_rpt_print_msg arg_print_msg);//dw_retrieve
  8. Int i = 0
  9. CHOOSE CASE arg_print_msg.retr_pram_falg
  10. CASE -1
  11. arg_dw.Retrieve()
  12. CASE 0 //SHARE DATAWINDOW
  13. DATAWINDOW LS_DW
  14. LS_DW = arg_print_msg.SHARE_DW
  15. LS_DW.ShareData(arg_dw)
  16. CASE 1 //ONE STRING PRAM
  17. arg_dw.Retrieve(arg_print_msg.retr_pramstr)
  18. CASE 2 //ONE NUMBER PRAM
  19. arg_dw.Retrieve(arg_print_msg.retr_pramnmb)
  20. //retrieveid = arg_print_msg.retr_pramnmb
  21. CASE 3 //ONE DATE PRAM
  22. arg_dw.Retrieve(arg_print_msg.retr_pramfd)
  23. CASE 4 //TWO DATE PRAM
  24. arg_dw.Retrieve(arg_print_msg.retr_pramfd,arg_print_msg.retr_pramed)
  25. CASE 5 //TWO NUMBER PRAM
  26. arg_dw.Retrieve(arg_print_msg.retr_pramnmb,arg_print_msg.b_long)
  27. CASE 6 //TWO DATETIME PRAM
  28. arg_dw.Retrieve(arg_print_msg.retr_pramfdt,arg_print_msg.retr_pramedt)
  29. CASE 11 //scid string
  30. arg_dw.Retrieve(arg_print_msg.retr_scid,arg_print_msg.retr_pramstr)
  31. CASE 12 //scid long
  32. arg_dw.Retrieve(arg_print_msg.retr_scid,arg_print_msg.retr_pramnmb)
  33. CASE 13 //scid long and TWO NUMBER PRAM
  34. arg_dw.Retrieve(arg_print_msg.retr_scid,arg_print_msg.retr_pramnmb,arg_print_msg.b_long)
  35. CASE 14 //ONE NUMBER PRAM and ONE STRING PRAM
  36. arg_dw.Retrieve(arg_print_msg.retr_pramnmb,arg_print_msg.retr_pramstr)
  37. CASE 15 //scid long and TWO NUMBER PRAM and null_row
  38. i = 1
  39. DO WHILE arg_print_msg.printrow * i < arg_print_msg.rowcnt
  40. i++
  41. LOOP
  42. arg_print_msg.nullrow = arg_print_msg.printrow * i - arg_print_msg.rowcnt
  43. arg_dw.Retrieve(arg_print_msg.retr_scid,arg_print_msg.retr_pramnmb,arg_print_msg.printrow,arg_print_msg.nullrow)
  44. CASE ELSE
  45. arg_dw.Retrieve()
  46. END CHOOSE
  47. IF arg_print_msg.retr_pram_falg <> 0 THEN
  48. arg_dw.SetFilter(arg_print_msg.FILTER_STRING)
  49. arg_dw.Filter()
  50. END IF
  51. RETURN 0
  52. end function