每年年底还在为没钱而发愁吗?
推荐一个个人理财思想:每天存一笔钱,这笔钱从每年的一月一号开始,十二月三十一号截止,每天存入的金额随机(存入必须为整数,起始为一元人民币),但不能与天数重复,而且每天存的钱只能比前一天多。
这样坚持一年以后,你的可用闲置资金至少会有六万多块,拿着六万多块可以为次年投资,理财,反正有钱在手,想做什么都不难。
下面个人的初级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.每日存钱推送提醒: