自开发理财思想

每年年底还在为没钱而发愁吗?

推荐一个个人理财思想:每天存一笔钱,这笔钱从每年的一月一号开始,十二月三十一号截止,每天存入的金额随机(存入必须为整数,起始为一元人民币),但不能与天数重复,而且每天存的钱只能比前一天多。

这样坚持一年以后,你的可用闲置资金至少会有六万多块,拿着六万多块可以为次年投资,理财,反正有钱在手,想做什么都不难。

下面个人的初级ABAP代码如下:

后续借用接口Webservices/ ODATA / RFC / PI 等(json/xml)可结合用户推送终端系统,提醒用户每日定额存钱,用户必须年底才能一次性提出(涉及到的财务复利,非法集资问题暂不讨论,若需联系,请左边QQ交谈)。

需要准备工资卡和另外一张空的银行卡

下面只讨论代码层次的思想:

  1 *&---------------------------------------------------------------------*
  2 *& Report  ZCHENH073
  3 *&
  4 *&---------------------------------------------------------------------*
  5 *&
  6 *&
  7 *&---------------------------------------------------------------------*
  8 
  9 REPORT zchenh073.
 10 * 每天存一笔钱,这笔钱从每年的一月一号开始,十二月三十一号截止,
 11 * 要求:金额随机(必须为整数,起止为一元人民币),但不能与天数重复,每天存的钱只能比前一天多,到年底至少会有六万多块
 12 
 13 DATA:BEGIN OF gt_data OCCURS 0,
 14           exception,
 15           day TYPE i,       " 天数
 16           datum TYPE sy-datum,
 17           dmbtr TYPE dmbtr, " 金额
 18           msg(255),
 19         END OF gt_data.
 20 
 21 PARAMETERS:p_date TYPE sy-datum DEFAULT sy-datum.
 22 
 23 START-OF-SELECTION.
 24   
 25   PERFORM frm_full_data.
 26   PERFORM frm_show_data.
 27 *&---------------------------------------------------------------------*
 28 *&      Form  FRM_FULL_DATA
 29 *&---------------------------------------------------------------------*
 30 *       text
 31 *----------------------------------------------------------------------*
 32 *  -->  p1        text
 33 *  <--  p2        text
 34 *----------------------------------------------------------------------*
 35 FORM frm_full_data .
 36   DATA:lv_datum TYPE sy-datum,
 37        lv_flag,
 38        lv_count TYPE sy-index VALUE 365.
 39   lv_datum+0(4) = p_date+0(4).
 40   lv_datum+4(4) = '0229'.
 41 *  闰年判断标志
 42   CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
 43     EXPORTING
 44       date                      = lv_datum
 45     EXCEPTIONS
 46       plausibility_check_failed = 1
 47       OTHERS                    = 2.
 48   IF sy-subrc EQ 0. "如果返回非0,则日期不合法
 49     lv_count = 366.
 50   ENDIF.
 51 
 52   lv_datum+0(4) = lv_datum+0(4) - 1.
 53   lv_datum+4(4) = '1231'.
 54 
 55   DO lv_count TIMES.
 56     CLEAR:gt_data.
 57     gt_data-day = sy-index.
 58     gt_data-datum = lv_datum + sy-index.
 59     gt_data-dmbtr = sy-index.
 60 
 61     IF  gt_data-dmbtr > 300.
 62       gt_data-exception = 1. " 存钱压力极大
 63     ELSEIF  gt_data-dmbtr > 200."存钱压力不大
 64       gt_data-exception = 2.
 65     ELSE.
 66       gt_data-exception = 3." 没有压力
 67     ENDIF.
 68     IF gt_data-datum EQ p_date.
 69       DATA:lv_dbmtr TYPE string.
 70       lv_dbmtr = gt_data-dmbtr.
 71       CONCATENATE '您今日需要存入' lv_dbmtr  ''
 72              INTO gt_data-msg.
 73     ENDIF.
 74 
 75     APPEND gt_data.
 76   ENDDO.
 77 ENDFORM.                    " FRM_FULL_DATA
 78 
 79 *&---------------------------------------------------------------------*
 80 *&      Form  frm_show_data
 81 *&---------------------------------------------------------------------*
 82 *       text
 83 *----------------------------------------------------------------------*
 84 FORM frm_show_data .
 85   DATA: fieldcat        TYPE lvc_t_fcat WITH HEADER LINE,
 86         l_grid_settings TYPE lvc_s_glay,
 87         layout          TYPE lvc_s_layo,
 88         lv_title        TYPE lvc_title.
 89   PERFORM frm_build_fieldcat TABLES fieldcat.
 90   lv_title = '存钱推送提醒'.
 91   layout-excp_fname = 'EXCEPTION'.
 92   layout-zebra = 'X'.
 93   layout-cwidth_opt = 'X'.
 94   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
 95     EXPORTING
 96       i_callback_program          = sy-repid
 97       is_layout_lvc               = layout
 98       it_fieldcat_lvc             = fieldcat[]
 99       i_callback_user_command     = 'USER_COMMAND'
100       i_callback_pf_status_set    = 'SET_PF_STATUS'
101 *     i_callback_html_top_of_page = 'TOP_OF_PAGE' "调用TOP_OF_PAGE FORM
102       i_grid_settings             = l_grid_settings
103       i_grid_title                = lv_title
104       i_save                      = 'U'
105 *     IT_EVENTS                   = GT_EVENTS[]
106     TABLES
107       t_outtab                    = gt_data[]
108     EXCEPTIONS
109       program_error               = 1
110       OTHERS                      = 2.
111 ENDFORM.                    " FRM_SHOW_DATA
112 
113 *&---------------------------------------------------------------------*
114 *&      Form  frm_build_fieldcat
115 *&---------------------------------------------------------------------*
116 *       text
117 *----------------------------------------------------------------------*
118 *      -->FIELDCAT   text
119 *----------------------------------------------------------------------*
120 FORM frm_build_fieldcat  TABLES fieldcat.
121   DATA: lt_fieldcat TYPE lvc_t_fcat WITH HEADER LINE.
122   DEFINE add2fc.
123     lt_fieldcat-fieldname = &1.
124     lt_fieldcat-scrtext_l = &2.
125     lt_fieldcat-edit = &3.
126     lt_fieldcat-checkbox = &4.
127     lt_fieldcat-ref_table = &5.
128     lt_fieldcat-ref_field = &6.
129     lt_fieldcat-no_zero = 'X'.
130     lt_fieldcat-fix_column = &7.
131     lt_fieldcat-hotspot = &8.
132     lt_fieldcat-outputlen = 100.
133     append lt_fieldcat.
134     clear lt_fieldcat.
135   END-OF-DEFINITION.
136   add2fc:
137   'DAY' '天数' '' '' '' '' 'X' '',
138   'DATUM' '存钱日期' '' '' '' '' 'X' '',
139   'DMBTR' '存钱金额' '' '' '' '' 'X' '',
140   'MSG' '消息' '' '' '' '' 'X' ''.
141   fieldcat[] = lt_fieldcat[].
142 
143 ENDFORM.                    " FRM_BUILD_FIELDCAT
144 
145 *&---------------------------------------------------------------------*
146 *&      Form  set_pf_status
147 *&---------------------------------------------------------------------*
148 *       text
149 *----------------------------------------------------------------------*
150 *      -->RT_EXTAB   text
151 *----------------------------------------------------------------------*
152 FORM set_pf_status USING rt_extab TYPE slis_t_extab.
153   SET PF-STATUS 'ZCHENH073'.
154 ENDFORM.                    "set_pf_status
155 
156 *&---------------------------------------------------------------------*
157 *&      Form  user_command
158 *&---------------------------------------------------------------------*
159 *       text
160 *----------------------------------------------------------------------*
161 *      -->R_UCOMM      text
162 *      -->RS_SELFIELD  text
163 *----------------------------------------------------------------------*
164 FORM user_command  USING r_ucomm LIKE sy-ucomm
165       rs_selfield TYPE slis_selfield.
166   CASE r_ucomm.
167     WHEN '&F03' OR '&F15' OR '&F12'.
168       SET SCREEN 0.
169       LEAVE SCREEN.
170     WHEN OTHERS.
171   ENDCASE.
172   rs_selfield-refresh = 'X'.
173 ENDFORM.                    "frm_user_command_ALL

预览效果如下图:
1.选择日期:

2.每日存钱推送提醒:

 

欢迎访问我的博客! http://www.cnblogs.com/1187163927ch/
原文地址:https://www.cnblogs.com/1187163927ch/p/10336874.html